AI 요약 · 영어에서 AI 번역

Attention Is All You Need

Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin

arXiv:1706.03762v7cs.CLcs.LG

TL;DR

순환 시퀀스 모델은 순차 연산이 필요하므로 학습 예제 내 병렬화가 불가능하다. Transformer는 순환과 합성곱을 어텐션으로 대체해 WMT 2014 영어-독일어 및 영어-프랑스어 번역에서 최고 수준의 성능을 달성하며, 순환 또는 합성곱 구조보다 훨씬 빠르게 학습한다.

  • 문제

    순환 시퀀스 변환 모델은 순차 연산의 제약으로 학습 예제 내 병렬화가 불가능하며, 시퀀스가 길수록 이 제약이 두드러진다.

    출처: §1 · p. 2
  • 방법

    Transformer는 순환 층이나 합성곱 층 대신 어텐션으로 시퀀스 변환을 수행한다.

    출처: §2 · p. 2, §7 · p. 10
  • 결과

    Transformer는 WMT 2014 영어-독일어 및 영어-프랑스어 번역 모두에서 최고 수준의 번역 품질을 달성하며, 순환 또는 합성곱 구조보다 훨씬 빠르게 학습한다.

    출처: §7 · p. 10
  • 시사점 및 한계

    자기 어텐션은 일정한 횟수의 순차 연산으로 모든 위치를 연결하지만, 순환 층은 O(n)회의 순차 연산이 필요하다.

    출처: §4 · p. 6

Abstract

from arXiv · show

The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train. Our model achieves 28.4 BLEU on the WMT 2014 English-to-German translation task, improving over the existing best results, including ensembles by over 2 BLEU. On the WMT 2014 English-to-French translation task, our model establishes a new single-model state-of-the-art BLEU score of 41.8 after training for 3.5 days on eight GPUs, a small fraction of the training costs of the best models from the literature. We show that the Transformer generalizes well to other tasks by applying it successfully to English constituency parsing both with large and limited training data.

1 서론

Transformer는 순환 연산을 어텐션으로 대체해 입력과 출력 사이의 전역 의존관계를 포착하며, 병렬화 가능성을 크게 높이고 번역 품질에서 새로운 최고 성능을 달성한다.

1 서론

  • 순환 모델은 은닉 상태를 순차적으로 계산하므로 개별 훈련 예제 내에서 병렬화할 수 없으며, 이는 시퀀스가 길어질수록 심각한 제약이 된다.메모리 제약으로 여러 예제를 묶는 배치 크기가 제한된다. 인수분해 기법 [21]과 조건부 연산 [32]은 효율을 높이지만, 어느 쪽도 근본적인 순차 처리 제약을 없애지는 못한다.출처: §1 · p. 2
  • 어텐션은 시퀀스 내 거리와 무관하게 의존관계를 모델링하지만 [2, 19], 일부 예외 를 제외하면 대개 순환 신경망과 결합해 사용된다.이는 순환 연산 없이 어텐션만 사용하는 구조를 제안하는 동기가 된다.출처: §1 · p. 2
  • 어텐션만 사용하는 Transformer는 병렬화 가능성을 크게 높이면서도 P100 GPU 8개로 12시간만 훈련해도 번역 품질에서 새로운 최고 성능에 도달할 수 있다.이 구조는 순환 연산을 사용하지 않고 전적으로 어텐션에 의존해 입력과 출력 사이의 전역 의존관계를 포착한다.출처: §1 · p. 2

2 배경

저자들이 아는 한, Transformer는 시퀀스에 정렬된 RNN이나 합성곱 없이 self-attention만으로 입력과 출력의 표현을 계산하는 최초의 변환 모델이다. 상수 번의 연산으로 임의의 위치들을 연결하며, Multi-Head Attention은 어텐션 가중치가 적용된 위치들을 평균화하면서 낮아지는 유효 해상도를 보완한다.

  • Transformer는 상수 번의 연산으로 임의의 위치들을 연결하지만, 거리가 멀어질수록 ConvS2S [9]의 연산 수는 선형으로, ByteNet [18]의 연산 수는 로그 규모로 증가한다.Extended Neural GPU, ByteNet [18], ConvS2S [9]는 합성곱을 사용해 입력과 출력의 각 위치에서 은닉 표현을 병렬로 계산한다. 연산 수가 거리에 따라 달라지면 장거리 의존성을 학습하기 어려워진다.출처: §2 · p. 2
  • Multi-Head Attention은 Transformer에서 어텐션 가중치가 적용된 위치들을 평균화하면서 낮아지는 유효 해상도를 보완한다.출처: §2 · p. 2
  • Self-attention은 intra-attention이라고도 하며, 한 시퀀스 내 서로 다른 위치들을 연관 지어 해당 시퀀스의 표현을 계산한다.이전에도 독해, 생성 요약, 텍스트 함의, 과제 독립적 문장 표현에서 성과를 거두었다 [4] [28] [22]. 반면 종단 간 메모리 네트워크는 시퀀스에 정렬된 순환 연산 대신 순환 어텐션을 사용하며, 간단한 언어로 된 질의응답과 언어 모델링에서 좋은 성능을 보였다 [34].출처: §2 · p. 2
  • 저자들이 아는 한, Transformer는 시퀀스에 정렬된 RNN이나 합성곱 없이 self-attention만으로 입력과 출력의 표현을 계산하는 최초의 변환 모델이다.출처: §2 · p. 2

3 모델 구조 · 3.1 인코더와 디코더 스택 · 3.2 어텐션

Transformer는 셀프 어텐션과 위치별 완전 연결 층을 쌓은 자기회귀 인코더-디코더 구조를 사용한다. 어텐션은 입력 위치들을 서로 연결하고, 디코더 위치를 인코더 출력과 연결하며, 자기회귀 생성을 유지하도록 디코더 셀프 어텐션의 범위를 제한한다.

3 모델 구조

  • Transformer는 셀프 어텐션과 위치별 완전 연결 층을 여러 층 쌓은 인코더-디코더 구조에서 출력 기호를 자기회귀적으로 생성한다 [10].인코더는 입력 기호의 표현을 연속 표현으로 매핑하고, 디코더는 이 표현과 앞서 생성한 기호들을 이용해 출력을 순차적으로 생성한다.출처: §3 · pp. 2–3

3.1 인코더와 디코더 스택

  • 동일한 인코더 층 6개는 각각 멀티 헤드 셀프 어텐션과 위치별 피드포워드 신경망을 결합한다.각 하위 층에 잔차 연결 [11]을 적용한 뒤 층 정규화 [1]를 수행해 LayerNorm(x + Sublayer(x))를 얻는다. 모든 하위 층과 임베딩 층의 출력 차원은 dmodel = 512다.출처: §3.1 · p. 3
  • 동일한 디코더 층 6개는 인코더 층 구조에 인코더 출력에 대한 어텐션을 추가하고, 잔차 연결 뒤에 층 정규화를 적용한다.마스킹된 셀프 어텐션과 한 위치씩 이동시킨 출력 임베딩을 사용해 위치 i의 예측이 i보다 작은 위치의 알려진 출력에만 의존하도록 한다.출처: §3.1 · p. 3

3.2 어텐션

  • 어텐션은 쿼리와 키-값 쌍을 값들의 가중합으로 매핑하며, 가중치는 쿼리–키 적합도로 결정된다.쿼리, 키, 값, 출력은 모두 벡터다.출처: §3.2 · pp. 3–4

3.2.1 스케일 조정 내적 어텐션

  • 스케일 조정 내적 어텐션은 쿼리–키 내적을 √dk로 나눈 뒤 softmax로 값에 가중치를 부여해, dk가 클 때 발생한다고 추정되는 작은 기울기 문제를 완화한다.쿼리와 키의 차원은 dk이고, 값의 차원은 dv다. 저자들은 큰 내적값이 softmax를 기울기가 극히 작은 영역으로 밀어 넣는다고 추정한다.출처: §3.2.1 · p. 4
  • 내적 어텐션은 최적화된 행렬 곱셈을 사용하므로 실제로는 가산 어텐션 [2]보다 빠르고 메모리 효율적이다.두 방식의 이론적 복잡도는 비슷하다. 가산 어텐션 [2]은 은닉층이 하나인 피드포워드 신경망으로 적합도를 계산한다. dk가 작을 때는 성능이 비슷하지만, dk가 클 때는 가산 어텐션이 스케일을 조정하지 않은 내적 어텐션보다 성능이 좋다 [3].출처: §3.2.1 · p. 4

3.2.2 멀티 헤드 어텐션

  • 멀티 헤드 어텐션은 서로 다른 표현 부분공간과 위치를 함께 참조해 단일 헤드의 평균화 한계를 피한다.서로 다르게 학습된 투영으로 어텐션 출력을 병렬로 구한 뒤, 이들을 이어 붙이고 다시 투영한다. 헤드 수 h = 8, dk = dv = dmodel/h = 64로 각 헤드의 차원을 줄여 전체 차원을 사용하는 단일 헤드 어텐션과 비슷한 계산 비용을 유지한다.출처: §3.2.2 · pp. 4–5

3.2.3 모델에서의 어텐션 활용

  • 인코더 셀프 어텐션은 모든 입력 위치를 참조하고, 인코더-디코더 어텐션은 인코더 출력을 조회하며, 디코더 셀프 어텐션은 미래 위치를 마스킹한다.인코더-디코더 어텐션의 쿼리는 이전 디코더 층에서, 키와 값은 인코더 출력에서 가져온다. 인코더 셀프 어텐션은 셋 모두 이전 인코더 층에서 가져온다. 디코더 마스킹은 softmax 적용 전에 허용되지 않는 연결을 −∞로 설정해 자기회귀 생성을 유지한다.출처: §3.2.3 · p. 5

3.3 위치별 피드포워드 신경망

각 인코더와 디코더 층에는 두 선형 변환 사이에 ReLU를 적용하는 위치별 피드포워드 신경망이 포함된다. 매개변수는 위치 간에 공유하지만 층마다 다르다.

3.3 위치별 피드포워드 신경망

  • 각 인코더와 디코더 층은 두 선형 변환 사이에 ReLU를 적용하는 완전연결 피드포워드 신경망으로 어텐션을 보완한다.이 신경망은 각 위치에 개별적으로 동일하게 적용된다.출처: §3.3 · p. 5
  • 선형 변환은 위치 간에 매개변수를 공유하지만 층마다 다른 매개변수를 사용하며, 이는 커널 크기 1인 합성곱 두 개와 동등하다.출처: §3.3 · p. 5
  • 입력 및 출력 차원 dmodel은 512이고, 내부 층의 차원 dff는 2048이다.출처: §3.3 · p. 5

3.4 임베딩과 Softmax

Transformer는 학습된 토큰 임베딩과 선형 변환-softmax 출력층을 사용하며, [30]과 유사하게 두 임베딩층과 softmax 이전 변환에서 하나의 가중치 행렬을 공유한다.

  • 두 임베딩층과 softmax 이전 선형 변환은 [30]과 유사하게 동일한 가중치 행렬을 공유한다.출처: §3.4 · p. 5
  • 학습된 임베딩은 입력 및 출력 토큰을 dmodel차원 벡터로 매핑하며, 임베딩 가중치에는 dmodel^0.5를 곱한다.출처: §3.4 · p. 5
  • 학습된 선형 변환에 이어 softmax를 적용해 디코더 출력을 다음 토큰의 예측 확률로 변환한다.출처: §3.4 · p. 5

3.5 위치 인코딩

Transformer는 순환 연산이나 합성곱 없이 시퀀스의 순서 정보를 제공하기 위해 인코더와 디코더의 입력 임베딩에 위치 인코딩을 더한다. 고정 사인파를 사용하며, 이는 학습된 위치 임베딩 [9]과 거의 동일한 성능을 보였고 더 긴 시퀀스로의 외삽도 가능하게 할 수 있다.

3.5 위치 인코딩

  • 위치 인코딩은 인코더와 디코더 스택의 최하단에서 입력 임베딩에 더해져 시퀀스의 순서 정보를 제공한다.인코딩과 임베딩의 차원은 모두 dmodel이므로 서로 더할 수 있다.출처: §3.5 · p. 6
  • 사인과 코사인 함수는 2π에서 10000 · 2π까지 등비수열을 이루는 파장을 사용해 위치를 인코딩한다.임의의 고정 오프셋 k에 대해 PE_pos+k는 PE_pos의 선형 함수다. 저자들은 이 성질이 상대 위치에 따른 어텐션을 학습하는 데 도움이 될 것으로 가정했다.출처: §3.5 · p. 6
  • 학습된 위치 임베딩 [9]과 사인파 인코딩은 거의 동일한 결과를 보였다.저자들은 학습 중 접한 시퀀스보다 더 긴 시퀀스로 외삽할 수 있을 것으로 보아 사인파를 선택했다.출처: §3.5 · p. 6

4 Self-Attention을 사용하는 이유

Self-attention은 상수 번의 순차 연산으로 모든 위치를 연결하며, 시퀀스 길이가 표현 차원보다 작을 때 순환 연산보다 계산이 빠르다. 이 절에서는 의존 경로 길이도 비교하고 해석 가능성 측면의 잠재적 이점을 살펴본다.

  • Self-attention, 순환 연산, 합성곱을 층별 계산 복잡도, 최소 순차 연산 횟수, 최대 의존 경로 길이로 비교한다.순방향·역방향 신호의 경로가 짧을수록 장거리 의존성을 학습하기 쉽다.출처: §4 · p. 6
  • 순환 연산에는 O(n)번의 순차 연산이 필요하지만 self-attention에는 상수 번이면 충분하다. 시퀀스 길이 n이 표현 차원 d보다 작으면(n < d) self-attention의 계산이 더 빠르다.기계 번역에 쓰이는 문장 표현은 대체로 n < d 조건을 만족한다.출처: §4 · pp. 6–7
  • 매우 긴 시퀀스의 계산 효율을 높이기 위해 self-attention을 크기 r의 이웃 영역으로 제한하는 방안을 제안하며, 이때 최대 경로 길이는 O(n/r)이 된다.이러한 제한적 어텐션 방식은 향후 연구 과제로 남겨 둔다.출처: §4 · p. 7
  • 모든 위치를 연결하려면 연속 합성곱 층 O(n/k)개 또는 팽창 합성곱 층 O(logk(n))개 [18]가 필요하므로 의존 경로가 길어진다.합성곱의 계산 비용은 일반적으로 순환 연산의 k배다. 분리 합성곱 [6]은 복잡도를 O(k · n · d + n · d^2)로 줄인다. k = n일 때는 self-attention과 위치별 피드포워드 층을 합친 복잡도와 같다.출처: §4 · p. 7
  • 각 어텐션 헤드는 서로 다른 과제를 학습하며, 많은 헤드가 구문·의미 구조를 반영하는 것으로 보여 해석 가능성 측면의 잠재적 이점을 시사한다.저자들은 어텐션 분포를 살펴보고 부록에 예시를 제시한다.출처: §4 · p. 7

5 학습

Transformer 학습에는 길이 기반 배치 구성, NVIDIA P100 GPU 8개, 학습률 워밍업과 감쇠를 적용한 Adam, 드롭아웃과 레이블 스무딩을 통한 정규화를 사용했다.

5.1 학습 데이터와 배치 구성

  • WMT 2014의 영어-독일어 문장 약 4.5백만 쌍과 영어-프랑스어 문장 36M개를 학습 데이터로 사용하고, 시퀀스 길이가 비슷한 예제끼리 배치로 묶었다.영어-독일어에는 약 37000개 토큰의 원문·번역문 공유 어휘를 사용하는 byte-pair encoding [3]을 적용했고, 영어-프랑스어에는 32000개 항목의 word-piece 어휘 [38]를 사용했다. 각 배치는 원문 토큰 약 25000개와 번역문 토큰 약 25000개로 구성했다.출처: §5.1 · p. 7

5.2 하드웨어와 학습 일정

  • 한 대의 머신에서 NVIDIA P100 GPU 8개로 기본 모델은 100,000스텝(12시간), 대형 모델은 300,000스텝(3.5일) 동안 학습했다.학습 스텝당 소요 시간은 기본 모델이 약 0.4초, 대형 모델이 약 1.0초였다.출처: §5.2 · p. 7

5.3 옵티마이저

  • Adam [20]의 학습률은 워밍업 4000스텝 동안 선형으로 증가한 뒤, 스텝 수의 제곱근의 역수에 비례해 감소하도록 설정했다.옵티마이저 매개변수는 β1 = 0.9, β2 = 0.98, ϵ = 10^-9였다.출처: §5.3 · p. 7

5.4 정규화

  • 드롭아웃 과 레이블 스무딩 [36]으로 학습을 정규화했으며, 레이블 스무딩은 perplexity를 악화시켰지만 정확도와 BLEU를 높였다.드롭아웃은 잔차 연결의 덧셈과 정규화 이전에 하위 계층 출력에 적용했고, 두 스택 모두에서 임베딩과 위치 인코딩의 합에도 적용했다. 기본 모델의 드롭아웃 비율은 0.1이었다. 레이블 스무딩 값은 0.1을 사용했다.출처: §5.4 · p. 8

6 결과

Transformer는 학습 비용을 줄이면서 영어-독일어 번역과 단일 모델 영어-프랑스어 번역에서 새로운 최고 성능을 달성하고, 영어 구문 구조 분석에도 일반화된다. 구성 요소 분석에서는 여러 어텐션 헤드, 더 큰 키 차원, 더 큰 모델, dropout의 이점이 확인되었으며, 학습형 위치 인코딩과 사인파 위치 인코딩은 비슷한 결과를 보였다.

6.1 기계 번역

  • WMT 2014 영어-독일어 번역에서 28.4 BLEU를 기록해 앙상블을 포함한 기존 최고 모델보다 2.0 BLEU 넘게 높았다.대형 모델은 P100 GPU 8대로 3.5일 동안 학습했다. 기본 모델도 경쟁 모델의 학습 비용 중 일부만으로 기존에 발표된 모든 모델과 앙상블을 능가했다.출처: §6.1 · p. 8
  • WMT 2014 영어-프랑스어 번역에서 기존 최고 성능 모델의 학습 비용 대비 1/4 미만으로 41.0 BLEU를 기록해 기존에 발표된 모든 단일 모델을 능가했다.영어-프랑스어 대형 모델은 dropout에 0.3 대신 Pdrop = 0.1을 사용했다.출처: §6.1 · p. 8

6.2 모델 변형

  • 연산량이 같을 때 단일 헤드 어텐션과 최적 설정의 성능 차이는 0.9 BLEU이며, 헤드가 너무 많아도 품질이 떨어진다.이러한 구조 변형은 체크포인트 평균화 없이 영어-독일어 개발 세트인 newstest2013에서 평가했다.출처: Table 3 · p. 9, §6.2 · p. 9
  • 어텐션 키가 작으면 품질이 떨어지고, 모델이 클수록 성능이 높으며, dropout은 과적합 방지에 도움이 된다. 학습형 위치 임베딩 [9]은 사인파 인코딩과 거의 동일한 성능을 보인다.저자들은 적합성을 판단할 때 내적보다 더 정교한 함수가 유리할 수 있다고 제안한다.출처: §6.2 · p. 9

6.3 영어 구문 구조 분석

  • WSJ 학습 문장 40K개만으로도 Berkeley-Parser 를 능가하며, 전반적인 구문 분석 결과는 Recurrent Neural Network Grammar [8]을 제외한 기존 모델보다 우수하다.dmodel = 1024인 4층 Transformer를 WSJ만으로 학습하는 설정과 약 17M개 문장 [37]을 사용하는 준지도 학습 설정에서 평가했다. 소수의 실험만으로 dropout, 학습률, 빔 크기를 선택했으며, 나머지 매개변수는 영어-독일어 기본 모델의 설정을 그대로 유지했다.출처: §6.3 · pp. 9–10, Table 4 · p. 10

7 결론

Transformer는 전적으로 어텐션에 기반한 시퀀스 변환 모델로, 순환 층을 멀티헤드 자기 어텐션으로 대체한다. 순환 또는 합성곱 구조보다 훨씬 빠르게 학습하면서도 최고 수준의 번역 성능을 달성한다.

7 결론

  • Transformer는 전적으로 어텐션에 기반한 최초의 시퀀스 변환 모델로, 순환 인코더-디코더 층을 멀티헤드 자기 어텐션으로 대체한다.출처: §7 · p. 10
  • Transformer는 WMT 2014 영어-독일어 및 영어-프랑스어 번역 모두에서 최고 수준의 성능을 달성하며, 영어-독일어 번역에서는 기존에 보고된 모든 앙상블보다 뛰어난 성능을 보인다.순환 또는 합성곱 층에 기반한 구조보다 학습 속도가 훨씬 빠르다.출처: §7 · p. 10
  • 향후 연구에서는 비텍스트 입력·출력 모달리티, 대규모 입력과 출력을 위한 국소적으로 제한된 어텐션, 순차성을 줄인 생성을 다룬다.제안된 모달리티에는 이미지, 오디오, 비디오가 포함되며, 국소적으로 제한된 어텐션으로 이를 효율적으로 처리하고자 한다.출처: §7 · p. 10

어텐션 시각화

인코더 자기 어텐션 시각화에서는 헤드들이 장거리 의존 관계를 추적하고, 조응을 해소하는 것으로 보이며, 문장 구조와 관련해 서로 다른 동작 양상을 보인다.

어텐션 시각화

  • 전체 6개 인코더 층 중 5번째 층의 여러 어텐션 헤드가 ‘making’과 ‘more difficult’를 연결하는 장거리 의존 관계를 추적한다.시각화에는 ‘making’에서 향하는 어텐션만 표시하며, 각 헤드를 서로 다른 색으로 구분한다.출처: Figure 3 · p. 13
  • 전체 6개 인코더 층 중 5번째 층의 두 어텐션 헤드는 조응 해소에 관여하는 것으로 보이며, ‘its’에서 향하는 어텐션이 특정 위치에 뚜렷하게 집중된다.시각화는 헤드 5의 전체 어텐션을 보여주고, 헤드 5와 6에서는 ‘its’에서 향하는 어텐션만 따로 표시한다.출처: Figure 4 · p. 14
  • 어텐션 헤드마다 학습된 동작 양상이 다르며, 문장 구조 관련 패턴과 조응 해소로 보이는 동작 등이 나타난다.문장 구조를 보여주는 두 예시는 전체 6개 인코더 층 중 5번째 층의 서로 다른 자기 어텐션 헤드에서 가져왔다.출처: Figure 4 · p. 14, Figure 5 · p. 15
Loading 1706.03762v7…