Emerging Properties in Self-Supervised Vision Transformers (DINO) 정리

Plato·2024년 1월 22일
0

딥러닝

목록 보기
15/21

배경지식

  • Knowledge Distillation
    • 선생 모델의 중간 계층의 feature 혹은 출력을, 학생 모델 학습 때 사용하는 방법
      • 일반적으로 선생 모델이 학생 모델 크기보다 더 큼
    • 일반적으로 아래의 손실 함수를 최소화한다
      • loss=αH(y,σ(zs,T=1))+βH(σ(zt,T=τ),σ(zs,T=τ)loss = \alpha * H(y, \sigma(z_s,T=1)) + \beta * H(\sigma(z_t,T=\tau), \sigma(z_s, T=\tau)
        • α,β,τ\alpha,\beta,\tau는 하이퍼파라미터
        • HH는 cross entropy
        • zt,zsz_t, z_s는 선생 모델과 학생 모델의 출력
        • σ(z,T)=ezi/Tjezj/T\sigma(z,T)=\frac{e^{z_i/T}}{\sum_j{e^{z_j/T}}}
          • 이는 softmax와 아주 유사함.
          • softmax 대신 위의 σ\sigma를 사용하는 이유:
            • 매우 큰 선생 모델의 출력을 softmax에 넣으면, 결과 벡터가 종종 one-hot 벡터에 가까워짐. 그렇기에 이를 그대로 사용하면, ground truth 라벨을 학습에 사용하는 것과 큰 차이가 없음. σ\sigmaTT가 커짐에 따라 분포가 덜 sharp해짐 (균등 분포에 '가까워짐').

접근법

  • 손실 함수
    • H(σ(zt,T=τ),σ(zs,T=τ))H(\sigma(z_t,T=\tau), \sigma(z_s,T=\tau))
      • zt,zsz_t,z_s는 각각 선생 모델과 학생 모델의 cls토큰에 부착한 3 layer MLP 헤드의 출력임.
  • 사전 학습 때의 입력
    • 학생 모델과 선생 모델에 다른 입력을 줌
    • 이미지를 처리하여 두 개의 "global crop"과 여러 개의 "local crop"을 확보함
      • global crop: 원본 이미지의 상당한 면적을 커버하는 crop. 이 논문에서는 2242224^2의 해상도를 가짐.
      • local crop: global crop이 아닌 crop. 96296^2의 해상도를 가짐.
    • 학생 모델은 local crop을 그리고 선생 모델은 global crop을 입력으로 받음
  • 모델 아키텍처
    • 선생 모델과 학생 모델은 동일한 아키텍처를 갖고 다른 파라미터 값을 가짐
      • 학생 모델 파라미터의 exponential moving average(EMA)를 선생 모델의 파라미터로 사용함
        • 이유 1: 선생과 학생 모델의 파라미터를 동일하게 만들었을 때 수렴하지 않음. 그렇기에 이 방법은 사용할 수 없었음.
        • 이유 2: EMA를 모델 앙상블 방법으로 사용하는 것은 일반적이고 효과가 좋은 방법임. 그렇기에, EMA를 사용하면 선생 모델이 학생 모델보다 더 나은 성능을 보이고 이는 학생 모델의 학습을 도움
        • 내가 생각하는 이유: EMA가 moving target 문제를 해결하기 때문. 선생과 학생 모델의 파라미터를 동일하게 만들었을 때 수렴하지 않은 것은, target인 선생 모델의 결과 값이 학습 동안에 크게 바뀌기 때문일 수 있음. EMA를 사용하면 선생 모델의 파라미터가 천천히 변화하기에, moving target 문제를 해결할 수 있음. 이는 DQN과 같은 강화학습 알고리즘에 사용된 아이디어임
    • 마지막 계층은, 2048 hidden dimension을 갖는 3-layer MLP. MLP의 출력을 l2l_2 normalize함.
    • 선생 모델은 마지막에 batch의 EMA를 사용해 centering함.
      • centering(gθt(x))=gθt(x)+c\text{centering}(g_{\theta_t(x)}) = g_{\theta_t(x)} + c
      • cmc+(1m)iBgθt(xi)c ← mc + (1 − m)∑_i^B g_{θ_t} (x_i)  m\text{ }m은 하이퍼 파라미터고 BB는 batch 크기
        • gθt(xi)g_{\theta_t}(x_i)의 k 번째 element (gθt(xi))k(g_{\theta_t}(x_i))_k에 더해지는 값을 ckc_k라 하자.
          임의의 두 자연수 k와 j에 대해, kjck=cjk \neq j \rarr c_k = c_j 가 거짓임에 주목하자. 각 element를 다른 값으로 더하기 때문에, centering이 분포를 바꾼다. ck=cjc_k = c_j이면 분포를 바꾸지 못한다.
        • centering을 사용한 이유: centering과 low temperature τ\tau를 같이 사용하면, 모델이 collapse 하지 않았다고 함. Collapse 하지 않는 이유로, low temperature는 dirac distribution에 가까워지도록 유도하고 centering은 균등 분포에 가까워지도록 유도하기 때문에 서로의 영향을 상쇄하여 collapse 하지 않는다고 주장. 서로를 상쇄하여 collapse 하지 않는다는 주장은, 근거를 명시할 필요가 없을 정도로 명백한 것인지 모르겠다. 필자가 이해를 못 했거나, 저자의 직관에 기반한 설명임.

특이한 내용

  • Contrastive Learning과 다르게, negative 샘플 없이 학습함. 다른 이미지에서 얻은 crop을 학습에 사용하지 않기에, 어떤 입력이든 동일한 feature에 맵핑할 거 같은데, 그런 일이 발생하지 않는 것이 인상 깊음. 다만 이게 왜 가능한 건지 이해되지 않음.

0개의 댓글