KalelPark's LAB

[논문 리뷰] Emerging Properties in Self-Supervised Vision Transformers 본문

Data Science/Self Supervised Learning

[논문 리뷰] Emerging Properties in Self-Supervised Vision Transformers

kalelpark 2023. 4. 22. 17:23
 

Abstract

본 논문에서는 Self-supervised Learning이, ConvNet과 비교하여, ViT에서의 두드러진 특징이 있는지 의문을 제시합니다.

ViT에 SSL을 적용함으로써, 2가지를 관찰합니다.

 

1) Supervised에서 ViT 혹은 ConvNet에서의 Semantic segmentation에 대한 정보를 남기지 않지만,
    Self-supervised Learning에서의 ViT에서는 명시적으로 남깁니다.

 

2) 이러한 feature들은 K-NN classifier에서 높은 성능을 보이며, small ViT에서의 상당한 성능을 보입니다. 또한 본 논문에서는
     Momentum Enocder, Multi-crop의 중요성을 강조합니다.

Introduction

 NLP에서 영감을 받아, VIT가 vision task에서 출현함. ViT는 ConvNet과 상당한 경쟁력을 갖지만, 명확한 이점을 제공하지 못한다는 단점이 있습니다. 그러한 이유는, ViT는 상당히 많은 dataset이 필요하고, feature들이 고유한 특징을 나타내지 못하기 때문입니다. 본 논문에서는 ViT의 성공이, Self-supervised Learning으로 설명될 수 있는지 의문을 제기합니다. 특히, ViT에 Self-supervised Learning을 사용함으로써 몇가지 흥미로운 특성을 발견합니다. 

 

1) Self-supervised ViT features는 명시적으로 scene layout을 포함하고 있으며, 객체를 잘 파악합니다.
    이러한 정보는 마지막 layer를 통하여 알 수 있습니다.

2) Self-supervised ViT features는 K-NN에서 상당한 성능을 보여줍니다.

 

본 논문의 Architecture는 Teachre network의 (standard cross-entropy loss를 사용함으로써) ouput을 예측하는 단순한 구조입니다. DINO의 방법론은 collapse를 회피하기 위해 teacher의 sharpening과 centering을 적용합니다. (predictor, advanced normalization은 효과가 없습니다.) Architecture의 수정 과 internal normalization을 적용하는 것 없이, 우리의 방법론은 유연하게 활용하는 것이 가능합니다. 

Approach

DINO의 경우, 기존의 self-supervised approaches와 같이 공유합니다. 하지만, 우리의 방법론은 distillaition과 유사하고, angle 기반입니다. 전반적인 figure와 algorithm은 다음과 같습니다. Knowledge Distillation은 student의 출력 teacher의 출력과 동일하도록 학습을 진행합니다.

저자들이 Self-supervisd Learning을 적용하는지에 대한 디테일한 부분이다. 저자들은 multi-crop strategy로 이미지의 다양한 view를 생성합니다. 이러한 데이터 set은 local view를 포함하고 있습니다. 다만, local view의 student model에만 학습하는 것이 가능하면, global view는 teacher model만을 학습합니다. 그리고, student의 표현을 teacher에 가깝게 합으로써, local-to-global을 야기합니다.

Avoiding collapse

여러, Self-supervised 방법이 contrastive loss 혹은 clustering 등 다양한 방법으로 collpase를 피하려고 한다. DINO는 여러 정규화로 안정화될 수 있지만, collapse를 피하기 위해 작동하는 것이 가능합니다. 

Implementation

Reference

https://github.com/facebookresearch/dino

 

GitHub - facebookresearch/dino: PyTorch code for Vision Transformers training with the Self-Supervised learning method DINO

PyTorch code for Vision Transformers training with the Self-Supervised learning method DINO - GitHub - facebookresearch/dino: PyTorch code for Vision Transformers training with the Self-Supervised ...

github.com

 

Comments