1day_1paper
1day_1paper copied to clipboard
[51] Are Large-scale Datasets Necessary for Self-Supervised Pre-training? (SplitMask)
target dataset 에 맞춰서 pretraining 하는 게 더 좋은 것 같은데? 굳이 large-scale pretraining 필요 있어? 라고 주장하는 논문
실제로 MaskFeat(#73) 을 보면 Kinetic-400 에서도 비슷한 현상이 있다. ImageNet-21k pretrain 도 힘 못씀.
BEiT 방식이나 제안하는 Denoising AE 방식이 pretraining 에 효과적이라고 주장.
SplitMask
간단함.
- decoder는 2layer.
- mask 는 절반 randon 생성
- 생성한 mask 로 not mask 생성
- encoder 는 전부 통과
- decoder 2개에서 각각 recon loss
- Contrastive loss (Info NCE)
contrastive loss 는 x_a, x_b 를 각각 얻었다고 가정했을 때, 다음과 같이 정의됨
N은 negative. 같은 batch 내에서 다른 sample 들. Temperature 는 hyperparameter (== 0.2)
Stanford-Cars, ClipArt, Sketch and Paintings 와 같이 작은 set 들에 대해서는 75% masking 을 하는게 오버피팅을 막았다고 함.
Analysis
Sample Efficiency & Learning using non object-centric images
ImageNet pretrain 후 iNaturalist-2019 에 transfer learning 수행.
데이터를 줄여서 써보면서 epoch 수도 낮췄음
적은 데이터에서는 pretraining 도 overfit 하기 때문
iNaturalist-2019 set 기준 사실 5% 까지만 써도 충분하더라.
COCO 는 Imagenet 처럼 object-centric image 가 아님. COCO 수치는 DINO 나 BEiT 에서는 잘 못하더라. ~(#66 )을 같이 쓴다면?!~
BEiT 에 tokenizer 변경해 보면서 small set 성능 관찰
굳이 DALL-E tokenizer 안 써도 된다고 주장.
Experiments
사용한 데이터와 pretraining epoch들은 다음과 같음
COCO Detection & Instance Segmentation
ADE-20K
기타 small sets
필자 의견
단순 pretraining 뿐 아니라, task-wise data pretraining 이 함께 도는 모델을 연구할 필요성이 느껴짐.
Appendix
Appendix A SplitMask vs BEiT
Appendix B Encoder-Decoder vs BEiT
layer-wise feature 들에 linear probing 수행해 봄
Appendix C Overfitting during pre-training
pre-training scheme 를 맞춰본다면,
Imagenet에서 300 epoch pretraining == stanford cars 에서 45k epoch
이 맞음
근데, overfitting 이 발생해서 5k epoch 으로 만족
Appendix D Hyperparams
Have you implemented the code?
@wengdunfang Not Yet.