Skip to main content

[재현] 자기어텐션과 합성곱 층의 관계에 관하여

ML Reproducibility Challenge 2020 제출작입니다. Jean-Baptiste Cordonnier, Andreas Loukas, Martin Jaggi의 원논문 “On the Relationship between Self-Attention and Convolutional Layers”는 ICML 2020에 채택되었습니다. 이 글은 AI 번역 기사입니다. 오역 가능성이 있으면 댓글로 알려주세요.
Created on September 15|Last edited on September 15

재현성 요약

1 서론

2 기본 원리

3 재현성

4 계층적 어텐션

위에서 설명한 문제들을 고려할 때, 우리는 독립적인 어텐션 헤드의 과도한 표현력을 피하면서도, 계층을 거치며 입력 이미지로부터 강력한 특성을 학습하고 도출할 수 있는 방법을 제안할 필요가 있다. 이제 우리가 다음과 같이 부르는 새로운 어텐션 연산을 소개한다. 계층적 어텐션 (HA) 연산. 다음 절에서는 이 연산의 핵심 아이디어를 설명하고, 그 효과를 입증하기 위한 상세한 실험을 수행한다.

4.1 방법론

대부분의 트랜스포머 기반 방법에서는 독립적인 자기어텐션 층을 순차적으로 쌓고, 한 층의 출력을 다음 층으로 전달하여 다음과 같은 결과를 도출한다 QQ, KK , 그리고 VV 벡터이다. 이는 각 어텐션 헤드가 특정 특성에 자유롭게 주의를 기울이고 더 나은 표현을 도출할 수 있게 한다. 이러한 방법들과 달리, HA 연산은 오직 QQ 그리고 VV 벡터만을 업데이트하는 한편, the KK 각 어텐션 블록을 거쳐도 변하지 않는다. 더 나아가, 이러한 어텐션 층들 간에 가중치를 공유하여, 트랜스포머가 층을 거치며 표현을 반복적으로 정제하도록 유도한다. 이는 이전 은닉 상태를 바탕으로 층별 표현을 순차적으로 향상시키려는 점에서, 펼친 형태의 순환신경망(RNN)과 유사하다고 볼 수 있다. 이 방식은 모델이 대응되는 영역에 집중함으로써 복잡한 특성을 계층적으로 학습하도록 돕는다. KK 벡터이며, 필요한 정보를 …에서 집계하고 VV 벡터이다. 그림 6, 7은 각각 일반 어텐션과 계층적 어텐션 연산을 시각화한 것이다. 단순화를 위해, 잔차 연결, 레이어 정규화 등 트랜스포머의 전체 내부 동작은 시각화하지 않았다. 이는 매우 간단하지만 효과적인 방법으로, 다음 절에서 설명하듯 기존의 어떤 어텐션 기반 네트워크에도 쉽게 적용할 수 있다.
그림 6: 일반 어텐션(스케일드 닷 프로덕트). 각 층의 프로젝션 가중치는 서로 다르고 독립적으로 학습된다(색상 다름). QQ, KK, 그리고 VV 벡터는 각 층에서 업데이트된다.
그림 7: 계층적 어텐션(HA). 프로젝션 가중치는 모든 층에서 공유된다. Only QQ, VV 벡터는 업데이트되는 반면 KK 각 층에서 동일하게 유지된다.
앞서 언급했듯이, 최근에는 합성곱을 어텐션 층으로 대체하려는 시도가 크게 주목받고 있다. 이에 따라, 우리는 두 편의 인기 있고 유사한 논문을 선택했다 — “Exploring Self-attention for Image Recognition” [2], “이미지는 16×16개의 단어만큼의 가치가 있다: 대규모 이미지 인식을 위한 Transformer” [3], 그리고 제안한 HA 연산을 적용하여 그 효과를 입증한다. 이해를 돕기 위해 다음 하위 절에서 해당 논문들을 간략히 소개한다.

4.2 페어와이즈 및 패치와이즈 자기어텐션(SAN)

[에 의해 도입됨2], 페어와이즈 자기어텐션은 본질적으로 자기어텐션 연산의 일반화된 표현이다. 이는 근본적으로 집합 연산이며, 특정 위치에 고정된 가중치를 부여하지 않고 순열과 기수 변화에 불변이다. 이 논문은 도트-프로덕트 어텐션보다 더 높은 표현력을 지닌 여러 페어와이즈 어텐션 변형을 제시한다. 구체적으로, 가중치 계산에서 채널 차원을 축소하지 않으며, 채널별로 특성 집계를 적응적으로 수행할 수 있도록 한다. 수학적으로는 다음과 같이 정식화할 수 있다:
yi=jϵRiα(xi,xj)β(xj)α(xi,xj)=γ(δ(xi,xj))y_i = \sum_{j \epsilon R_i}^{} \alpha(x_i, x_j) \odot \beta\left({x_j}\right) \\ \alpha(x_i, x_j) = \gamma({\delta(x_i, x_j)})

여기에서, ii 특징 벡터의 공간 인덱스이다 xix_i, δ(.)\delta(.) 은 관계 함수를 통해 다른 벡터로 사상된다 γ(.)\gamma(.)적응형 가중치 벡터 α(xi,xj)\alpha(x_i,x_j) 에서 얻은 특성 벡터를 집계하다 β(.)\beta(.)여기서 주목해야 할 중요한 점은 다음과 같다 δ\delta 와 비교했을 때 서로 다른 차원의 벡터를 생성할 수 있다 β\beta, 더 표현력 있는 가중치 구성을 가능하�� 한다.
패치 단위 자기어텐션은 쌍별 연산의 변형으로, 여기서 xix_i 특성 벡터의 패치로 대체된다 xR(i)x_{R(i)} 이로써 가중치 벡터가 패치에 포함된 모든 특성 벡터의 정보를 반영할 수 있다. 따라서 식은 다음과 같이 다시 쓸 수 있다.
yi=jϵRiα(xR(i))jβ(xj)α(xR(i))=γ(δ(xR(i))) y_i = \sum_{j \epsilon R_i}^{} \alpha(x_{R(i)})_j \odot \beta\left({x_j}\right) \\ \alpha(x_{R(i)}) = \gamma({\delta(x_{R(i)})})



4.3 비전 트랜스포머(ViT)

비전 트랜스포머 [3], 대규모 데이터로 사전 학습했을 때 합성곱에 의존할 필요가 없으며, 순수 트랜스포머가 모든 합성곱 기반 기법을 크게 능가한다는 점을 성공적으로 입증했다. 이 방법에서는 이미지를 패치로 분할한 뒤, 학습 가능한 레이어를 통해 다른 표현으로 투영하��, 앞서 설명한 표준 트랜스포머 연산 세트를 순차적으로 적용한다.

4.4 결과

우리의 직관을 검증하고 제안한 방법의 효과를 입증하기 위해, 아키텍처의 전체 구조를 변경하지 않은 채 앞서 설명한 모든 방법에 HA를 도입하였다.표 3은 각 모델과 해당 HA 변형의 정확도를 비교한다. 모든 경우에서 성능이 크게 향상되었으며(최소 5%p 상승), 동시에 매개변수 수를 거의 줄일 수 있음을 확인했다. (1/5)th(1/5)^{th} 원래 모델의 구성이다. 앞서 언급했듯이, 트랜스포머가 합성곱 기반 아키텍처와 동등한 성능을 내기 위해서는 충분한 학습이 필요하다. 대규모 데이터셋(이미지 1,400만~3억 장)으로 사전 학습하면, 트랜스포머 기반 아키텍처는 뛰어난 성능을 달성하며 데이터가 적은 과제에도 잘 전이된다 [3]. 다만, 본 보고서의 모든 실험에서는 CIFAR-10 데이터셋에서 이들 모델을 처음부터 학습하는 데에만 집중한다.

표 3: 일반 SA와 HA를 사용한 모델 간 비교. Wall time은 각 모델에 대해 300회 반복에서 측정한 평균 추론 시간(밀리초)이다.
그림 8a에서는 특정 쿼리 픽셀에 대한 어텐션 확률을 시각화했다. 모델이 쿼리 픽셀로부터 일정한 이동 거리만큼 떨어진 개별 픽셀들에 주의를 기울이며 합성곱 연산의 수용장을 재현하는 양상이 뚜렷하게 나타나, 자기어텐션과 합성곱의 관계가 선명하게 드러난다. 초기 층은 국소 패턴에 주목하는 반면, 더 깊은 층은 쿼리 픽셀로부터 더 멀리 위치한 더 큰 패턴에 집중한다. 유사하게, 그림 8b에서는 마지막 두 개 층의 어텐션 헤드가 더 이상 희소적이지 않아 더 많은 정보를 포착하는 데 도움이 된다. 따라서 이러한 시각적 타당성은 연산 자체와 성능 향상을 함께 뒷받침한다. 또한 다음 절에서 SAN과 ViT의 어텐션 확률도 시각화한다. B.7B.8 그리고 B.9B.10 (부록) 각각
(가) 주어진 쿼리 픽셀에 대한 어텐션 확률(빨간 사각형은 개구리의 머리를 가리킵니다). (나) 평균 어텐션 시각화 그림 8: 6개 층을 가진 모델의 어텐션 확률 (행렬의 행) 및 헤드 9개 (열의 열) 콘텐츠를 포함한 계층적 학습형 2D 임베딩을 사용하여
계층적 연산을 다음과 같이 요약한다:
  • 모델의 여러 층에서 가중치를 재사용하여 가중치 공유를 활성화합니다 KK 벡터와 업데이트하는 Q,VQ,V 벡터만 사용합니다. 이는 모델이 점진적으로 더 고수준의 특징을 추출하는 데 도움이 됩니다.
  • 점진적 정련 방식은 어텐션 행렬이 과도하게 표현력을 갖지 않도록 보장한다. 이로 인해 비계층적 대응 방식에 비해 성능이 크게 향상된다.
  • 모델의 전체 파라미터 수는 층의 개수와 무관하며, 이 특성 덕분에 비계층적 버전과 비교했을 때 파라미터 수를 크게 줄일 수 있다. 또한 메모리 제약을 크게 걱정하지 않고 더 깊은 모델을 설계하는 데에도 도움이 된다.
  • 모델에 필요한 것보다 많은 층을 제공하더라도, 각 층은 서로 다른 패턴에 주의를 기울이도록 학습된다. 매 층에서 새롭게 학습된 특징은 이전 층에서 학습된 특징에 더해지며, 이로써 계층적 특성이 형성된다. 테스트 이미지의 어텐션 점수를 시각화하면 이 가설을 뒷받침하는 설득력 있는 증거를 얻을 수 있다.

5 결론

참고 문헌

부록

A 하이퍼파라미터

B 어텐션 시각화

다양한 모델에서 어텐션을 시각화한 추가 예시를 제시한다.

B.1 내용 기반 학습 임베딩, 9개 헤드

B.2 콘텐츠 없이 학습된 임베딩, 9개 헤드

B.3 콘텐츠 기반 계층형 학습 임베딩, 9개 헤드

B.4 콘텐츠를 포함한 학습 임베딩, 헤드 16개

B.5 내용 없는 학습 임베딩, 헤드 16개

B.6 내용 기반 계층적 학습 임베딩, 헤드 16개

B.7 계층형 SAN 페어와이즈

B.8 계층형 SAN 패치 단위

B.9 비전 트랜스포머(ViT)

B.10 계층적 비전 트랜스포머(ViT)

C Wandb 학습 로그

모든 실험에 대한 학습 로그를 참고용으로 여기에서 제공합니다.


이 글은 AI 번역본입니다. 오역이 있을 경우 댓글로 알려주세요. 원문 보고서는 아래 링크에서 확인하실 수 있습니다: 원문 보고서 보기