Skip to main content

비전 트랜스포머는 왜 작동할까?

남욱 박, 송국 김의 ‘비전 트랜스포머는 어떻게 작동할까?’를 심층 분석한 글. 이 글은 AI 번역본입니다. 오역이 의심되는 부분은 댓글로 알려주세요.
Created on September 15|Last edited on September 15

목차



핵심 요약 (TL;DR)

  1. 멀티헤드 셀프 어텐션("MSA) 손실 지형을 평탄화하여 정확도뿐 아니라 일반화까지 향상시킨다. 이는 주로 장거리 의존성 때문이 아니라 데이터 특이성에 기인한다.
  2. 비전 트랜스포머(ViT)는 비볼록 손실 문제를 겪는다. 하지만 대규모 데이터셋과 손실 지형 평탄화 기법이 이 문제를 완화한다.
  3. 멀티헤드 셀프 어텐션과 컨볼루션은 상반된 거동을 보인다. 멀티헤드 셀프 어텐션(연산)은 로우패스 필터로 작동하지만, 컨볼루션(연산)은 하이패스 필터로 작동한다.
  4. 다단계 신경망은 작은 개별 모델들이 직렬로 연결된 것처럼 동작한다.
  5. 저자들은 각 스테이지의 마지막에 있는 컨볼루션 블록을 MSA 블록으로 대체한 새로운 Conv+MSA 하이브리드 모델을 제안한다.

동기

비전 분야에서 멀티헤드 셀프 어텐션(MSA)은 보편적으로 사용되고 있지만, 그 성공의 이유에 대해서는 여전히 이해가 부족하다. 일반적으로 받아들여지는 설명은 어텐션이 제공하는 유연성 덕분에 유도 편향이 약하고 장거리 의존성을 포착할 수 있다는 점이다. 그러나 비전 트랜스포머를 잘 동작시키기 위해서는 대규모 데이터셋과 매우 세심한 학습 방식이 필요하다는 관찰이 있으며, 그 결과 소규모 데이터 환경에서는 성능 저하로 이어지는 경우가 많다. ()
셀프 어텐션은 간단한 연산으로, 각 토큰(이미지의 패치, 비디오의 큐브, 스펙트로그램, 혹은 어떤 단어 표현 등)이 해당 구간의 모든 다른 토큰에 주의를 기울일 수 있게 한다. 대부분의 어텐션 변형은 다음 형태의 특수화로 볼 수 있다:
\huge

αj=softmax(x1xj,x2xj,...,xnxj)yj=i=1nαjixi\huge \begin{array}{ll} \alpha_j &= \textrm{softmax} (x_1 \cdot x_j\, , x_2 \cdot x_j \, , ...\, , x _n \cdot x_j) \\ y_j &= \displaystyle \sum_{i=1}^{n} \alpha_{ji} x_i \end{array}

가장 흔한 형태의 어텐션은 다음과 같다:
αj=softmax(Kx1QxjdK,...,KxnQxjdK)yj=i=1nαjiVxi\huge \begin{array}{ll} \alpha_j &= \textrm{softmax} \left (\frac{Kx_1 \cdot Qx_j}{\sqrt{d_K}}\, , ...\, , \frac{Kx _n \cdot Qx_j}{\sqrt{d_K}}\right) \\ y_j &= \displaystyle \sum_{i=1}^{n} \alpha_{ji} \,V\,x_i \end{array}

어디에서 K,QandVK, Q \, \textrm{and} \, V 학습된 벡터이다. 여기에서 주목할 몇 가지 핵심 사항은 다음과 같다:
  • 어텐션은 집합 연산(순열 등변)이라 전역 구조에 대한 문맥이 없다. 따라서 대부분의 트랜스포머는 표준적인 위치 정보를 주입하기 위해 포지셔널 임베딩을 사용한다. 이는 입력에 합성을 적용하고 그 결과를 다음 층으로 전달하는 합성곱과 대조적이다. 합성곱은 평행이동 불변성을 하드코딩하며, 즉 이미지의 각 패치는 동일한 가중치로 처리된다.
  • 어텐션은 전역 연산, 즉 모든 토큰으로부터 정보를 집계하는 반면, 합성곱은 국소 연산이다. CNN의 이러한 국소적 연결성은 전역 문맥의 손실로 이어질 수 있으며, 예를 들어 모양보다 질감에 기반해 분류하는 편향을 유발할 수 있다. (Tuli et al., 2021)


따라서 Vision Transformer는 합성곱이 지니는 유도 편향이 없으며, 이는 소규모 데이터 환경에서 특히 유용하다. 이를 보완하기 위해 CSAN, Swin, Twins에서는 작은 윈도우 내에서만 셀프 어텐션을 계산하는 국소 MSA 방법들을 제안했다.
이제 이 논문에서 제기된 핵심 질문들을 살펴보자.

1️⃣ 최적화를 개선하려면 MSA가 어떤 특성을 가져야 할까?

잘 알려진 대로 ViT는 CNN의 평행이동 불변성 제약을 완화하여 더 약한 유도 편향을 가진 모델이다. 그러나 이러한 약한 유도 편향이 데이터셋에 과적합하는 데 도움이 될까?
이 주장을 검증하기 위해 저자들은 테스트 데이터셋의 오류와 학습 데이터셋의 음의 로그 가능도(NLL)를 비교하는 실험을 수행했다. 아래의 실험 결과에서 보이듯이, 놀랍게도 유도 편향이 강할수록 테스트 오류와 학습 NLL이 더 낮았다.
W&B 패널 삽입
더 나아가, 서브샘플된 데이터셋에서 테스트 오류와 학습 NLL을 분석해 보면, 소규모 데이터 환경에서 ViT의 성능 저하는 과적합 때문이 아닌 것으로 보인다.
또 다른 관점은 손실 지형 관점이다. ViT의 지형은 비볼록인 반면, ResNet의 지형은 강하게(거의) 볼록에 가깝다. 이는 특히 학습 초기 단계에서 훈련을 방해한다. 저자들은 ViT는 음의 헤시안 고유값이 많이 존재하는 반면, ResNet은 소수만 존재함을 보여준다.
친절한 수학 알림: Hessian EigenvalueαSharpness of Loss Landscape\large\textrm{Hessian Eigenvalue} \,\, \alpha \,\, \textrm{Sharpness of Loss Landscape}
💡
저자들은 또한 학습 초기 단계에서 대규모 데이터셋이 음의 헤시안 고유값을 억제한다는 점을 보여준다. 따라서 대규모 데이터셋은 손실을 더 볼록하게 만들어 ViT가 강력한 표현을 학습하는 데 도움을 준다. ResNet은 작은 데이터셋에서도 손실이 이미 볼록하기 때문에 대규모 데이터셋의 이점이 크지 않다. 다음과 같은 지형 평탄화 기법은 글로벌 에버리지 풀링 (GAP), 글로벌 민 풀링 (GMP) 그리고 멀티헤드 어텐션 풀링 (MAP) 특징 맵의 지점들을 앙상블하여 지형을 매끄럽게 만들고, 그 결과 손실을 더 볼록하게 만든다.
저자들은 일반적인 통념과 달리, 장거리 의존성이 신경망 최적화를 방해한다고 주장한다. 이를 보이기 위해, 저자들은 컨볼루션과 동일한 방식으로 특징 맵을 펼친 뒤 컨볼루션 수용 영역 내의 특징 맵 지점들 사이에서만 자기어텐션을 계산하는 ConvViT를 비교했고, 5×5 커널이 3×3과 8×8보다 성능 면에서 우수함을 보여 주었다. 이는 강한 지역성 유도 편향이 계산 복잡도를 줄일 뿐 아니라 손실 지형을 더 볼록하게 만들어 최적화에도 도움이 됨을 시사한다. 다음 차트들은 이 주장을 뒷받침한다.
W&B 패널 삽입

2️⃣ 멀티헤드 셀프 어텐션은 컨볼루션처럼 동작할까?

컨볼루션은 데이터 비의존적이며 채널 특이적인 반면, 멀티헤드 셀프 어텐션은 데이터 특이적이고 채널 비의존적이다. 멀티헤드 셀프 어텐션 블록은 저역통과 필터처럼 작동하지만, 컨볼루션은 고역통과 필터처럼 작동한다. 멀티헤드 셀프 어텐션은 자기어텐션 가중치를 통해 특징 맵을 공간적으로 매끄럽게 만들며, 따라서 저자들은 MSA가 고주파 신호를 줄이는 경향이 있을 것이라고 예상했고 이후 이를 증명했다. 저자들은 비전 트랜스포머의 푸리에 변환된 특징 맵에서 상대 로그 진폭이 MSA에 의해 거의 항상 감소하는 반면, 컨볼루션에 대응되는 MLP는 이를 증가시킨다는 점을 보여 준다. 유일한 예외는 모델의 초기 단계다. 이 단계에서는 MSA가 컨볼루션처럼 동작하여 진폭을 증가시킨다. 이는 초기 단계에는 컨볼루션을, 이후 단계에는 MSA를 사용하는 하이브리드 모델을 지지하는 추가 근거가 된다.
따라서 저역 성분은 멀티헤드 셀프 어텐션에 유용하고, 고역 성분은 컨볼루션에 유용하다는 것을 추론할 수 있다.
💡
적절하게도 ViT와 ResNet은 각각 저주파 잡음과 고주파 잡음에 취약하다. 저주파 신호와 고주파 신호는 각각 이미지의 형태와 질감에 대응하며, 이는 MSA가 형태 중심적이고 Convolution은 질감 중심적이라는 점을 시사한다.
MSA는 특징 맵을 평균화하므로, 특징 맵 지점들의 분산을 감소시킨다. 이는 MSA가 특징 맵을 앙상블한다는 점을 시사한다. 다음 그림은 ViT의 MSA가 분산을 줄이는 경향이 있음을 보여 주며, 반대로 ResNet의 컨볼루션과 ViT의 MLP는 분산을 증가시킨다.
결론적으로, MSA는 특징 맵의 예측을 앙상블하지만 컨볼루션은 그렇지 않다.
💡
Park & Kim(2021)의 분석에 따르면, 특징 맵의 불확실성을 줄이면 변환된 특징 맵을 앙상블하고 안정화하여 최적화에 도움이 된다. 더 나아가 분산은 매 층(정확히는 블록)에서 누적되며, 깊이가 깊어질수록 증가하는 경향이 있고, ResNet에서는 각 스테이지의 끝에서 특징 맵 분산이 정점에 이른다. 따라서 각 스테이지의 끝에 MSA를 삽입하면 ResNet의 예측 성능을 개선할 수 있음을 시사한다.

3️⃣ 멀티헤드 셀프 어텐션과 컨볼루션을 어떻게 조화롭게 결합할 수 있을까?

이제 MSA와 컨볼루션이 상호 보완적이라는 점을 확인했으니, 두 방식의 장점을 극대화할 수 있는 설계 원칙을 살펴보자.
저자들은 특징 맵 분산의 양상이 각 스테이지마다 반복되며, 이러한 거동이 특징 맵 유사도와 병변 연구에서도 관찰된다는 점을 확인했다. CNN과 PiT, Swin 같은 다단계 ViT의 특징 맵 유사도는 블록 구조를 보이지만, Vanilla ViT는 이러한 구조가 없으므로 이 구조는 다단계 아키텍처의 고유한 특성이라고 결론지을 수 있다. 병변 연구에서 중요한 점은, 스테이지의 시작 부분에 있는 레이어를 제거했을 때가 스테이지의 끝부분 레이어를 제거했을 때보다 정확도 저하가 더 크다는 것이다. 따라서 스테이지의 끝에 가까운 MSA를 배치하면 성능 향상이 두드러질 것으로 예상된다.
위 논의를 바탕으로 저자들은 다음 원칙에 따라 설계된 새로운 모델 아키텍처인 AlterNet을 제안한다.
  1. 기본 CNN 모델의 끝부분부터 컨볼루션 블록을 MSA 블록으로 번갈아 교체하라.
  2. 추가한 MSA 블록이 예측 성능을 개선하지 못할 경우, 이전 스테이지의 끝에 위치한 컨볼루션 블록을 MSA 블록으로 교체하라.
  3. 후반 스테이지의 MSA 블록에는 더 많은 헤드와 더 높은 숨은 차원을 사용하라.

결론

이 논문에서 저자들은 Multi-Head Self-Attention(MSA)이 단순히 Convolution의 일반화가 아니라, Convolution을 보완하는 일반화된 공간적 스무딩이라는 점을 보여준다. 또한 MSA는 특징 맵의 지점을 앙상블하고 손실 지형을 평탄화함으로써 신경망이 강력한 표현을 학습하도록 돕는다. 이들의 발견을 바탕으로 제안된 AlterNet은 Convolution 블록과 MSA 블록의 아키텍처를 그대로 보존한다. Park & Kim (2021)이 지적했듯이, 단순 분류 과제에서는 글로벌 평균 풀링(GAP)이 특징 맵을 강하게 앙상블하는 경향이 있지만, 밀집 예측을 위한 신경망은 GAP을 사용하지 않는다. 따라서 저자들은 특징 맵을 앙상블하는 MSA가 밀집 예측 과제에서 성능을 크게 개선할 수 있다고 본다. 마지막으로, MSA 학습에서 강한 데이터 증강은 불확실성 보정을 해친다.
이 연구의 코드와 모든 세부 사항은 오픈 소스로 공개되었으며 훌륭한 GitHub 저장소 별 which we forked and open sourced with a W&B 구현.
이 논문을 인용하려면 다음 BibTeX을 사용해 주세요:
@inproceedings{
park2022how,
title={How Do Vision Transformers Work?},
author={Namuk Park and Songkuk Kim},
booktitle={International Conference on Learning Representations},
year={2022},
url={https://openreview.net/forum?id=D78Go4hVcxO}
}

참고 문헌



논문

동영상

  1. 

이 글은 AI로 번역되었습니다. 오역이 있다면 댓글로 알려 주세요. 원문 보고서 링크는 다음과 같습니다: 원문 보고서 보기