TL;DR
- I read this because.. : CLIP loss 관련
- task : contrastive learning -> image classification, object detection, semantic segmentation
- problem : CLIP + MAE 둘다 하고 싶당
- idea : reconsturction의 target을 pixel level이 아니라 CLIP text feature와의 cosine similiarity로 해보자! 즉 language semantic에서의 reconstruction
- input/output : {image, text} pair
- architecture : ViT-B/16과 그에 상응하는 text encoder(12 heads, 768 hid dim)
- objective : InfoNCE(i2t, t2i), KL(recontructed patch와 text feature의 cosine similiarity, original image patch와 text feature의 cosine similarity)
- baseline : CLIP, BEiT, MAE, MAE + CLIP, MAE -> CLIP, etc..
- data : LAION-20M, LAION-50M -> COCO, LVIS, ADE20K
- evaluation : ImageNet(zs, linear probing, finetuning), AP(COCO, LVIS), mIoU(ADE20K)
- result : 같은 조건 다른 objectvie 들보다 더 좋은 성능!
- contribution : contrastive loss + reconstruction loss. 두개의 이질적인 loss였는데 (하나는 vision modal에만 특화된) 얘를 잘 align을 했다? 실험을 많이 했고 writing도 잘한듯..
- etc. :
Details
Overview
Masked Visual Reconstruction in Language Semantic Space
Vision Encoder / Text Encoder는 CLIP거 사용 + reconstruction은 MAE처럼
- $f_i^k$ : original image feature
- $g_i^k$ : MAE로 reconstruct된 image patch의 feature
- $\theta$ : proejction in vision encoder
- $z_l^T$ : text embedding space에 있는(text projection 까지 한) text feature
- text feature가 일종의 “prototype"처럼 사용됨
KL divergence. $p_i^k$는 stop gradient.
최종 loss는 가중합. 2:1로 했다고
Result
- L-20M은 laion에서 20M의 sample만 봤다는 뜻
Ablation
- Table 9 : MIM -> LiT, MIM -> CLIP -> CLIP -> MIM 과 같은 two-stage보다 더 좋았다
- Table 10 : pixel level에서 하는 것보다, 그리고 language feature대신의 임의의 벡터와의 유사도로 kl divergence하는 것(high-level vision space)로 하는 것보다 성능이 더 좋았다. 유의미하게 좋넹