논문 읽기/Self-Supervised

[논문읽기] DINO(2021), Emerging Properties in Self-Supervised Vision Transformers

AI 꿈나무 2021. 8. 14. 15:56
반응형

Emerging Properties in Self-Supervised Vision Transformers

 PDFSSL, Mathilde Caron, Hugo Touvron, Ishan Misra, Herve Jegou, Julien Mairal, Piotr Bojanowski, Armand Joulin, arXiv 2021

 

Summary

 

 위 영상은 DINO의 attention map을 보여줍니다. 정확히 객체에만 attention map이 활성화되어 있어 segmentation mask처럼 보입니다. 이처럼 SSL + ViT는 CNN이나 SL ViT에서 나타나지 않는 성질인 semantic segmentation에 대한 정보를 학습할 수 있다고 말합니다. 즉, classification model은 배경 정보도 활용하여 예측을 진행하는데 DINO로 학습한 모델은 배경에 대한 의존도가 낮아진다고 해석할 수 있습니다.

 

 

 DINO는 ViT에 SSL을 적용한 논문입니다. 어떤 특징을 갖고 있는지 살펴보겠습니다. VIT 뿐만 아니라 ResNet에 DINO를 적용해도 SOTA 성능을 달성합니다.

 

 

 ViT에 SSL을 적용하는 방법은 단순히 encoder model을 vit로 사용합니다.

 

 

 DINO는 (1) Cross-entropy loss, (2) multi-crop, (3) mean teacher, (4) centering, sharpening 네 가지 요소가 핵심 아이디어라고 생각합니다.

 

(1) Cross-entropy loss

 DINO은 SSL에서 사용하는 siam network를 teacher, student 사이의 knowledge distillation으로 해석합니다. 즉, 더 성능이 좋은 teacher의 output을 student가 흉내내도록 합니다. 둘 사이의 cross entropy를 사용하여 student 모델을 학습합니다. teacher는 stop gradient를 적용합니다.

 

 

(2) multi-crop

 DINO에서 특이한 점은 하나의 이미지에 224x224 크기로 augmentation 적용한 이미지는 teacher, 96x96 image로 crop되어 augmentation을 적용한 이미지는 student로 전달합니다.

 

 teacher로 전달하는 224x224 image는 global view라고 부릅니다. 2개의 global view를 teacher로 전달합니다.

 student로 전달하는 96x96 image는 local view라고 부릅니다. 6개의 local view를 student로 전달합니다.

 

 

 

(3) mean teacher

 teacher network를 student network의 이동 평균으로 가중치를 업데이트 합니다.

 

 

 teacher network의 파라미터는 student의 평균이 되는 데 이는 앙상블한 효과를 갖습니다. 논문에서 실험 결과 teacher의 성능이 student보다 높다는 것을 보여줍니다.

 

 

(4) centering, sharpening

 ssl에서는 collapse 문제를 해결하기 위해 여러 방법을 사용합니다. collapse 문제는 입력값과 상관없이 출력값이 하나의 차원이 dominate 하거나, 모든 차원에 대하여 uniform 한 상황을 말합니다.

 

 DINO는 centering과 sharpneing 방법을 사용합니다.

 

 clustering은 teacher의 output에 평균을 뺍니다. centering은 하나의 차원이 dominate한 것을 방지하는 대신에 출력값이 uniform한 결과를 장려합니다.

 

 

 sharpening은 Cross entropy에서 softmax의 temperature를 낮은 값을 사용하는 것을 말합니다. 출력값이 uniform 분포가 아닌 sharp한 분포를 갖게 합니다.

 

 

 둘다 사용해야지 collapse 문제를 해결할 수 있습니다.

Experiment


my github

 

Seonghoon-Yu/Paper_Review_and_Implementation_in_PyTorch

공부 목적으로 논문을 리뷰하고 해당 논문 파이토치 재구현을 합니다. Contribute to Seonghoon-Yu/Paper_Review_and_Implementation_in_PyTorch development by creating an account on GitHub.

github.com

 

반응형