Hello Computer Vision

비전공생의 What do self-supervised ViT Learn?(2023) 논문 리뷰 본문

Self,Semi-supervised learning

비전공생의 What do self-supervised ViT Learn?(2023) 논문 리뷰

지웅쓰 2023. 5. 21. 13:31

https://arxiv.org/abs/2305.00729

 

What Do Self-Supervised Vision Transformers Learn?

We present a comparative study on how and why contrastive learning (CL) and masked image modeling (MIM) differ in their representations and in their performance of downstream tasks. In particular, we demonstrate that self-supervised Vision Transformers (Vi

arxiv.org

최근 ICLR 2023에 어셉된 논문이고 SSL분야에서의 contrastive(이하 CL), Masked image modeling(이하 MiM) 을 다룬 논문입니다. 논문 자체가 길지 않아서 핵심내용들이 축약 되있는 거 같아 빠르게 읽어보고 싶었습니다. 1저자이신 박남욱님께 허락을 받았고 다른 논문과는 달리 처음부터 끝까지 해석 위주로 한번 진행해보려고 합니다. CL, MIM 모두 ViT를 backbone으로 사용하였을 때를 비교했습니다.

 

Introduction

CL은 최근까지도 SSL 방법으로 가장 유명하다. 이 방법은 2개의 view에 대해서 invariant semantics를 배운다. 저자들은 여기서 이러한 CL방법이 "image- level" 접근방식으로 SSL을 다루고 있다고 하였다.

 

이와 반대로 MIM은 ViT를 활용하여 "token-level" 방식으로 SSL을 다루고 있다고하였다. MIM이 CL을 fine tuning 정확도 부분에서 앞질렀지만 linear probing 정확도 부분에서는 정반대라고 한다. 

 

위 이미지를 통해 CL방법은 MIM방법보다는 상대적으로 global patterns를 잘 획득하였고 이와 반대로 MIM은 mutual information이 CL보다 높았다고 한다.

 

그렇다면 우리는 SSL을 사용한다고 했을 때 어떤 방식을 사용해야 효과가 좋을까? 이러한 질문에 저자들은 답하고자 하였다.

 

how do self-attention behave?

우선 저자들은 어떠한 방식이든 모든 task에 어울리는 방식은 없다고 한다. 위 이미지를 보면 CL은 linear probing 에 MIM을 능가하며,  MIM은 fine tuning부분에서 더 뛰어난 것을 확인할 수 있다. 또한 모델 크기가 작을수록 CL이 더 좋은 것을 확인할 수 있다. 이러한 현상들이 왜 일어나는지 저자들은 self attention 중심으로 설명해보려고한다.

 

 각각의 다른 query에 대하여 attention map을 시각화 해보았을 때 CL의 경우 global relationship을 더 잘 획득한 것을 확인할 수 있다. 그러나 다른 query에 대하여 같은 attention map을 출력하는 것을 확인할 수 있는데 이러한 부분에서 우리는 다른 input에 대하여 같은 output을 내뱉는 collapse가 일어난 것을 확인할 수 있다. MIM의 경우 global한 특징 보다는 local한 특징을 잘 내뱉는 것을 확인할 수 있다. 이를 통해 CL은 이미지들간의 분류를 잘 할것이고 MIM은 local relationship을 잘 할 것이라는 것을 알 수 있다.

위 이미지는 normalized mutual information에 대해 attention에 대한 collapse 정도를 나타내는데, layer에 뒷단에서 mutual information이 MIM보다 확연히 낮은 것을 확인할 수 있다. 이를 바탕으로 저자들은 self attention의 collapse는 homogeneous distribution을 이끌어낸다고 생각합니다.

 

이에 대한 뒷받침으로 representational cosine similarity를 측정합니다.

위 이미지는 각각 다른 부분에서의 similarity를 측정한 것을 나타낸다. 살펴보자면, CL의 유사도는 레이어의 뒷단에서 MIM보다 더 높은 수치를 보여주는데 이는 CL이 상당한 homogeneity를 가지는 것을 알 수 있다. 모델이 커도 이는 완화되지 않으며 오히려 나빠지는 경향이 있다.

 

이러한 결과들을 통해 저자들은 CL의 self attention은 global patterns, object의 shape 을 capture하는데 용이하지만, collapse라는 문제가 있으며 이는 diversity of token representation을 줄인다고 한다. 결과적으로 CL은 MIM보다 linear probing에서 정확도가 높은데 이는 shape을 잘 캐치하고 이미지들간의 분류를 잘하기 때문이다. 또한 CL은 collapse를 겪기 때문에 token representation 이 풍부하지 않으며 ViT로 훈련한 CL은 네트워크의 수용성을 낭비한다고 한다. 따라서 CL은 dense prediction에 잘 맞지 않는다.

 

How are representations transformed?

여기서는 위에서 살펴본 self attention이 representation에 어떠한 영향이 있는지 살펴본다.

 

CL은 모든 token을 동일하게 변환시키며, MIM은 각각 변환시킨다.

위 이미지는 self attention을 통해 transformed된 token들을 SVD를 통해 시각화한 모습들이다. CL은 각각의 변환된 토큰들이 거의 동일한 것을 확인할 수 있고, MIM은 각각이 다른 것을 확인할 수 있다. 그럼에도 self attention이 CL에서 중요하다고 말하는데 그 이유로는 self attention이 "centers of the representation distribution" 을 옮기는데 도움을 준다고 한다.

추가적인 자료로는 각 이미지의 singular value spectra of tokens를 시각화한 자료이다(a). CL을 살펴보면 value값이 늘어나거나 줄어들지 않은 것을 확인할 수 있지만 MIM에서는 이 값이 증가하는데, 이 증가한 값은 token 들 간의 distinguish할 수 있다고 한다.

밑에 이미지에서는 이미지의 singular value spectra를 시각화한 자료이다. 위 이미지와는 다르게 CL의 이 MIM보다 큰 것을 확인할 수 있는데 CL이 image level representation을 잘하는 것이라고 판단했다.

 

저자들은 CL은 spatial dimensions에서 low frequency 를, MIM은 high frequency를 capture한다고 가설을 세운다. 그 이유는 CL은 image level global patterns 를 capture하고 MIM은 token level local patterns를 capure하기 때문이라고 한다.

이를 뒷받침 하기 위해 저자들은 푸리에분석을 통해 relative amplitude를 비교해보았다. 위 이미지를 통해 CL이 MIM보다 low frequency를 보여주는 것을 알 수 있다.

 

이러한 분석을 통해 CL은 shape에 bias가 있고 MIM은 texture 에 bias가 있다는 가정을 하였는데

AdaIN을 통해 stylized imagenet 을 사용한 결과, CL은 style 에 조금 더 강건하고 MIM은 style 에 민감하다는 결과를 얻었다.

 

Which components play an important role?

이전까지는 CL이 image level을 capure 하고 MIM이 token level을 capture한다는 사실을 계속 보여주었는데 이 장에서는 어떤 요소들이 다른 것인지 보여주려고 한다.ViT에서는 later layers는 high level information을 추출하고 early layers에서는 low level information을 추출한다고 한다. 이에 따라 저자들은 CL은 later layers, MIM은 early layers가 중요하다고 기대한다.

이를 뒷받침 하는 결과이다. MIM의 accuacy는 초반에 더 높지만 뒷단에 layer에서는 CL이 더 높은 것을 알 수 있다. 이러한 결과를 통해 CL의 정확도는 depth가 깊어질 수록 더 높아지며, MIM은 더 낮아지는 것을 알 수 있다(별로 도움이 되지 않는다).

 

이러한 문제에 대해서 explict decoder를 가진 ViT는 성능에 도움이 된다고 한다.

 왼쪽 이미지는 self attention을 보여준다. later layers 에서 MAE의 mutual information이 SimMiM보다 낮은 것을 알 수 있는데 이는 decdoer가 masked token을 neighborhood token에 기반해 reconstruct하는 것을 나타낸다.

 

Are the two methods complementar to each other?

그래서 저자들은 CL과 MIM을 결합해서 세가지 요인들을 한번 비교해보았다. 결과적으로 이렇게 혼합한 모델이 효과적이었다고 한다. CL의 가중치를 0.2로 두었을 때 0, 1로 두었을 때보다 성능이 올라갔다. 

 

Conclusion

저자들은 두 방법 각각의 단점을 보완 위해 linear combination을 했지만 더 좋은 조합 방법이 있을 것이라 생각한다. 예를 들어 CL을 마지막 layer에 적용하고 MIM을초기에 적용하는 방법들을 고려해볼 수 있다. 

 


재밌게 읽었던 논문이고 CL과 MIM을 고려할 때 주어진 task를 분석하고 어떤 것을 선택할지 두가지 방법들의 장점들을 고려하면 더 좋은 결과를 얻을 수 있을 거 같다.