https://arxiv.org/abs/2104.14294
Emerging Properties in Self-Supervised Vision Transformers
In this paper, we question if self-supervised learning provides new properties to Vision Transformer (ViT) that stand out compared to convolutional networks (convnets). Beyond the fact that adapting self-supervised methods to this architecture works partic
arxiv.org
CVPR 2021
self-supervised learning이 ViT에서도 적용될 수 있는지 알아보는 논문
이에 더해 두 가지 고찰
- self-supervised ViT fearutre가 image의 semantic segmentation에 대한 정보를 가지고 있는지
- 기존 supervised ViT 나 Conv는 어려움이 존재
- 이 fearutre들이 K—NN classifier로 이용될 수 있는지 ( ImageNet에 대해 78.3%달성)
이러한 방법론을 사용해 만든 모델 ⇒ DINO (no label로 self-distillation 적용)
Introduction
self-supervised ViT가 supervised ViT나 CNN에서는 나타나지 않은 두 가지 특징
- 명시적으로 장면의 레이아웃(scene layout)이나 object boundary를 포함하고 있음
- ⇒ self-attention module의 마지막 block에서 이를 확인할 수 있음
- finetuning을 하지 않고도 basic nearest neighbors classfier(K-NN)으로 잘 수행함
이러한 self-supervised approach를 통해 label 없이 knowedge distillation 가능하게됨
⇒ DINO framework
teacher network의 output predicting을 통한 self-supervised training 단순화
이 때 standard cross-entropy loss, momentum encoder 이용
Method
SSL with knowledge distillation
기본 Architecture


knowledge distillation : student network $g_{\theta_s}$를 teacher network $g_{\theta_t}$의 output에 맞춰 학습 시키는 것
- input image x 가 주어짐P는 softmax function을 이용해 output network g를 정규화 시켜 획득여기서 $\tau_s$는 temperature parameter - knowledge distillation 논문읽어보면 무엇을 의미하는지 나옴
- output distribution을 조절한다고 생각하면 됨. 비슷한 형태로 $P_t$ 도 temperature $\tau_t$에 의해 조절됨
- $$ P_s(x)^{(t)} = {\exp(g_{\theta_s}(x)^{(i)}/\tau_s) \over \sum_{k=1}^K \exp (g_{\theta_s}(x)^{ (k)} / \tau_s)} $$
- ⇒ 두 개의 Network가 output 으로 K 차원의 확률 분포 출력 : $P_s$. $P_t$
- 얻은 확률 분포 간의 cross entropy loss 최소화하는 방향- parameter는 student network
- $$ min_{\theta_s}H(P_t(x), P_s(x)) $$
위에서 나온 식을 이용해 어떻게 self-supervised learning을 하는가
- multi crop 전략을 사용해 주어진 image에 대해 다양한 view 생성\이 set는 두 개의 global view($x_1^g, x_2^g$)와 낮은 해상도의 몇개의 local view 포함⇒ “loval-to-global” 증진..?(솔직히 무슨말인지 모르겠음)
- GPT 설명
- 로컬 뷰: 원본 이미지의 작은 부분을 나타내며, 이는 이미지의 특정 세부 사항이나 패치를 포함합니다.
- 글로벌 뷰: 원본 이미지의 더 큰 부분 또는 전체를 나타내며, 이미지의 전반적인 컨텍스트와 구조를 포함합니다.
- 학생 네트워크는 이미지의 로컬 뷰와 글로벌 뷰 모두를 받아서 처리합니다. 이를 통해 이미지의 작은 부분에서 추출한 정보와 전체 이미지에서 추출한 정보 모두를 이해하려고 합니다.
- 교사 네트워크는 오직 글로벌 뷰만을 받아 처리합니다. 이는 교사 네트워크가 전체 이미지의 상위 수준의 표현을 학습하게 만듭니다.
- 이 문장은 자기지도 학습 프레임워크 내에서 사용되는 특정 학습 기법을 설명하고 있습니다. 여기서 언급된 '로컬-투-글로벌'(local-to-global) 대응은 학생 네트워크가 이미지의 작은 부분(로컬 뷰)으로부터 전체 이미지(글로벌 뷰)의 상위 수준 특성을 학습하도록 장려하는 메커니즘을 의미합니다.
- GPT 설명
- $$ min_{\theta_s} \sum_{x \in {x_1^g, x_2^g}} \sum_{x'\in V, x'\neq x} H(P_t(x), P_s(x')) $$
- 모든 view 가 student network를 통과하지만 teacher network는 global view만 통과
- ⇒ 주어진 Image에 대해 생성된 set V
두 네트워크는 같은 architecture g를 사용하지만 Parameter set만 $\theta_s$와 $\theta_t$로 나뉨
그러나 stochastic gradient descent로는 $\theta_s$만 학습
Teacher network
기존 knowledge distillation 방식과 다르게 teacher network $g_{\theta_t}$가 초기에 주어지지 않음
⇒ student network의 과거 iteration에서 만들어짐
epoch 마다 teacher network를 고정 시키는 것이 효과가 좋았다고함
추가로 student 가중치를 그대로 teacher에게 가져가는 것은 수렴에 실패했다고 함
- EMA(exponential moving average)$$ \theta_t \larr \lambda\theta_t + (1-\lambda)\theta_s $$
- 위 수식이 update rule, $\lambda$는 cosine scheduliing에 의해 학습동안 0.996 에서 1로 증가하도록 설정
- EMA를 이용하는 momentum encoder를 이용해 student weight를 이동 시킴
teacher network가 student network보다 나은 성능을 보이고 학생 Network의 학습을 지도함
⇒ global view만 사용하고 모델 크기 자체가 크기에 그렇다고 개인적인 생각
Network architecture
- neural network g는 backbone f (ViT or ResNet)로 구성됨
- projection head $h: g = h \circ f$$l_2$ normalization과 K dimension weight normalized
- 3-layer MLP(multi-layer perceptron) 으로 구성
- 다른 architecture들과 다르게 BN(batch normalization) 사용하지 않음
- ⇒ BN-free라 함
Avoiding collapse
collapse란 주로 self-supervised learning에서 발생할 수 있는 것으로 model이 우리가 원하는 방향으로 feature를 뽑아내는 것이 아닌 다른 solution을 향해 나아가는 현상 local minimum하고 비슷한듯
따라서 collapse를 피하기 위해 self-supervised method에서 여러가지 방법을 적용하려함
이 논문의 저자들은 여러 normalization 방법으로 가능하지만
⇒ momentum teacher output의 centering 과 scharpening만으로 안정화가 가능하다고 함
Centering은 어떤 한 차원이 지배적으로 작동하는 것을 예방하지만 uniform distribution으로 collapse 가능
Sharpening은 Centering과 반대로 작동 ⇒ 이 둘을 같이 적용하여 균형을 이루고자 함
이를 통해 batch에 대한 의존도를 줄일 수 있음(….?)
- centering operation은 first-order batch statics에만 의존 하고 teacher에 bias term c 추가 가능
이 centering이 EMA를 이용해서c를 update됨, B는 배치 크기임, m은 rate parameter
$$ c \larr mc + (1 - m){1\over B}\sum_{i=1}^B g_{\theta_t}(x_i) $$
sharpening은 teacher softmax normalization에서 temperature $\tau_t$를 낮게 설정하면 됨
Implementation및 결과 내용은 논문 참고 바람
self-supervised learning이 ViT에서도 적용될 수 있는지 알아보는 논문
이에 더해 두 가지 고찰
- self-supervised ViT fearutre가 image의 semantic segmentation에 대한 정보를 가지고 있는지
- 기존 supervised ViT 나 Conv는 어려움이 존재
- 이 fearutre들이 K—NN classifier로 이용될 수 있는지 ( ImageNet에 대해 78.3%달성)
이러한 방법론을 사용해 만든 모델 ⇒ DINO (no label로 self-distillation 적용)
Introduction
self-supervised ViT가 supervised ViT나 CNN에서는 나타나지 않은 두 가지 특징
- 명시적으로 장면의 레이아웃(scene layout)이나 object boundary를 포함하고 있음
- ⇒ self-attention module의 마지막 block에서 이를 확인할 수 있음
- finetuning을 하지 않고도 basic nearest neighbors classfier(K-NN)으로 잘 수행함
이러한 self-supervised approach를 통해 label 없이 knowedge distillation 가능하게됨
⇒ DINO framework
teacher network의 output predicting을 통한 self-supervised training 단순화
이 때 standard cross-entropy loss, momentum encoder 이용
Method
SSL with knowledge distillation
기본 Architecture
knowledge distillation : student network $g_{\theta_s}$를 teacher network $g_{\theta_t}$의 output에 맞춰 학습 시키는 것
- input image x 가 주어짐P는 softmax function을 이용해 output network g를 정규화 시켜 획득여기서 $\tau_s$는 temperature parameter - knowledge distillation 논문읽어보면 무엇을 의미하는지 나옴
- output distribution을 조절한다고 생각하면 됨. 비슷한 형태로 $P_t$ 도 temperature $\tau_t$에 의해 조절됨
- $$ P_s(x)^{(t)} = {\exp(g_{\theta_s}(x)^{(i)}/\tau_s) \over \sum_{k=1}^K \exp (g_{\theta_s}(x)^{ (k)} / \tau_s)} $$
- ⇒ 두 개의 Network가 output 으로 K 차원의 확률 분포 출력 : $P_s$. $P_t$
- 얻은 확률 분포 간의 cross entropy loss 최소화하는 방향- parameter는 student network
- $$ min_{\theta_s}H(P_t(x), P_s(x)) $$
위에서 나온 식을 이용해 어떻게 self-supervised learning을 하는가
- multi crop 전략을 사용해 주어진 image에 대해 다양한 view 생성\이 set는 두 개의 global view($x_1^g, x_2^g$)와 낮은 해상도의 몇개의 local view 포함⇒ “loval-to-global” 증진..?(솔직히 무슨말인지 모르겠음)
- GPT 설명
- 로컬 뷰: 원본 이미지의 작은 부분을 나타내며, 이는 이미지의 특정 세부 사항이나 패치를 포함합니다.
- 글로벌 뷰: 원본 이미지의 더 큰 부분 또는 전체를 나타내며, 이미지의 전반적인 컨텍스트와 구조를 포함합니다.
- 학생 네트워크는 이미지의 로컬 뷰와 글로벌 뷰 모두를 받아서 처리합니다. 이를 통해 이미지의 작은 부분에서 추출한 정보와 전체 이미지에서 추출한 정보 모두를 이해하려고 합니다.
- 교사 네트워크는 오직 글로벌 뷰만을 받아 처리합니다. 이는 교사 네트워크가 전체 이미지의 상위 수준의 표현을 학습하게 만듭니다.
- 이 문장은 자기지도 학습 프레임워크 내에서 사용되는 특정 학습 기법을 설명하고 있습니다. 여기서 언급된 '로컬-투-글로벌'(local-to-global) 대응은 학생 네트워크가 이미지의 작은 부분(로컬 뷰)으로부터 전체 이미지(글로벌 뷰)의 상위 수준 특성을 학습하도록 장려하는 메커니즘을 의미합니다.
- GPT 설명
- $$ min_{\theta_s} \sum_{x \in {x_1^g, x_2^g}} \sum_{x'\in V, x'\neq x} H(P_t(x), P_s(x')) $$
- 모든 view 가 student network를 통과하지만 teacher network는 global view만 통과
- ⇒ 주어진 Image에 대해 생성된 set V
두 네트워크는 같은 architecture g를 사용하지만 Parameter set만 $\theta_s$와 $\theta_t$로 나뉨
그러나 stochastic gradient descent로는 $\theta_s$만 학습
Teacher network
기존 knowledge distillation 방식과 다르게 teacher network $g_{\theta_t}$가 초기에 주어지지 않음
⇒ student network의 과거 iteration에서 만들어짐
epoch 마다 teacher network를 고정 시키는 것이 효과가 좋았다고함
추가로 student 가중치를 그대로 teacher에게 가져가는 것은 수렴에 실패했다고 함
- EMA(exponential moving average)$$ \theta_t \larr \lambda\theta_t + (1-\lambda)\theta_s $$
- 위 수식이 update rule, $\lambda$는 cosine scheduliing에 의해 학습동안 0.996 에서 1로 증가하도록 설정
- EMA를 이용하는 momentum encoder를 이용해 student weight를 이동 시킴
teacher network가 student network보다 나은 성능을 보이고 학생 Network의 학습을 지도함
⇒ global view만 사용하고 모델 크기 자체가 크기에 그렇다고 개인적인 생각
Network architecture
- neural network g는 backbone f (ViT or ResNet)로 구성됨
- projection head $h: g = h \circ f$$l_2$ normalization과 K dimension weight normalized
- 3-layer MLP(multi-layer perceptron) 으로 구성
- 다른 architecture들과 다르게 BN(batch normalization) 사용하지 않음
- ⇒ BN-free라 함
Avoiding collapse
collapse란 주로 self-supervised learning에서 발생할 수 있는 것으로 model이 우리가 원하는 방향으로 feature를 뽑아내는 것이 아닌 다른 solution을 향해 나아가는 현상 local minimum하고 비슷한듯
따라서 collapse를 피하기 위해 self-supervised method에서 여러가지 방법을 적용하려함
이 논문의 저자들은 여러 normalization 방법으로 가능하지만
⇒ momentum teacher output의 centering 과 scharpening만으로 안정화가 가능하다고 함
Centering은 어떤 한 차원이 지배적으로 작동하는 것을 예방하지만 uniform distribution으로 collapse 가능
Sharpening은 Centering과 반대로 작동 ⇒ 이 둘을 같이 적용하여 균형을 이루고자 함
이를 통해 batch에 대한 의존도를 줄일 수 있음(….?)
- centering operation은 first-order batch statics에만 의존 하고 teacher에 bias term c 추가 가능
이 centering이 EMA를 이용해서c를 update됨, B는 배치 크기임, m은 rate parameter
$$ c \larr mc + (1 - m){1\over B}\sum_{i=1}^B g_{\theta_t}(x_i) $$
sharpening은 teacher softmax normalization에서 temperature $\tau_t$를 낮게 설정하면 됨
Implementation및 결과 내용은 논문 참고 바람
'vision' 카테고리의 다른 글
| Active Learning For Convolutional Neural Networks: A Core Set Approach(ICLR 2018) (0) | 2024.04.05 |
|---|---|
| MAE:Masked autoencoders are scalable vision learners (1) | 2024.01.11 |
| HummingBrid: Towards In-context Scene Understanding (0) | 2024.01.10 |