1. Introduction

1. 기존 방법: RNN, LSTM, GRU

  • 언어 모델링, 기계 번역 등의 시퀀스 작업에는 주로 순환신경망(RNN), LSTM, GRU 같은 모델이 사용됨
  • 이들은 입력 시퀀스의 각 위치(position)마다 이전 정보를 활용해 계산하는 순차적 처리 방식을 가짐

2. 한계점: 병렬화 어려움

  • RNN 계열은 순서대로 계산해야 하므로 병렬 처리가 어렵고 훈련 속도가 느림
  • 시퀀스가 길어질수록 메모리 제약으로 인해 한 번에 처리할 수 있는 데이터가 제한됨
  • 계산 효율을 높이기 위한 여러 방법이 제안되었지만, 순차적 계산이라는 근본적인 한계는 여전함

3. 주목받는 해결책: 어텐션 메커니즘

  • 최근에는 어텐션(attention) 기법이 각광받고 있음
  • 입력 간의 거리와 무관하게 의존성(dependency)을 모델링할 수 있어 유용함
  • 하지만 대부분의 어텐션 기법은 여전히 RNN과 함께 사용

4. 제안: Transformer 모델

  • 이 논문에서는 RNN을 완전히 제거하고, 오직 어텐션만 사용하는 Transformer 모델을 제안함
  • 이 모델은 훨씬 더 높은 병렬 처리 가능성을 가지며, 짧은 시간 내에도 우수한 성능을 냄
    • 예: P100 GPU 8개로 12시간 훈련 → 기존 최고 성능을 넘는 번역 품질

2. Background

1. 기존 방식: CNN 기반 모델들

  • RNN 외에도 순차 계산을 줄이기 위해 Extended Neural GPU, ByteNet, ConvS2S 같은 모델들이 제안됨
  • 이들은 CNN 기반 모델로, 모든 위치에서 병렬 연산 가능
  • 하지만 입력 간 거리가 멀어질수록 계산량이 증가
    • ConvS2S: 선형 증가
    • ByteNet: 로그 증가
  • 멀리 떨어진 위치 간의 의존성 학습이 어려움

2. Transformer의 개선점

  • Transformer는 위치 간 연산 횟수를 일정하게 유지
  • 단점: 어텐션 가중치 평균화로 인해 해상도 저하
  • 해결: Multi-Head Attention으로 정보 손실 완화 (3.2절 참고)

3. Self-Attention (자기 어텐션)

  • 자기 어텐션 = 하나의 시퀀스 내에서 서로 다른 위치 간 관계를 모델링
  • 다양한 태스크에 성공적으로 사용됨
    • 예: 독해, 요약, 텍스트 추론, 문장 표현 학습 등

4. 기존 어텐션 모델들

  • End-to-End Memory Networks는 반복 어텐션을 사용하나, 여전히 순서에 기반한 구조

5. Transformer의 독창성

  • RNN도 CNN도 없이, 자기 어텐션만으로 입력과 출력 표현을 학습하는 최초의 트랜스덕션 모델
  • 이후 섹션에서 Transformer 구조와 자기 어텐션의 장점을 설명할 예정

3. Model Architecture

1. 인코더-디코더 구조

  • 대부분의 시퀀스 변환 모델은 인코더-디코더 구조를 사용함

2. 인코더 (Encoder)

  • 입력 시퀀스 (x1,...,xn)(x_1, ..., x_n)연속적인 표현 (z1,...,zn)(z_1, ..., z_n)으로 변환

3. 디코더 (Decoder)

  • 인코더가 만든 표현 zz를 기반으로 출력 시퀀스 (y1,...,ym)(y_1, ..., y_m)를 생성
  • 오토리그레시브(auto-regressive) 방식:
    • 이전에 생성한 토큰들을 다음 토큰 생성 시 입력으로 활용

4. Transformer의 구조

  • Transformer는 전체적으로 인코더-디코더 아키텍처를 따름
  • 인코더와 디코더는 각각 다음으로 구성됨:
    • Stacked Self-Attention layers (쌓은 자기어텐션 층)
    • Point-wise Fully Connected layers (포인트-와이즈 완전 연결층)
  • 구조는 논문 Figure 1의 왼쪽(인코더)과 오른쪽(디코더) 부분에 시각적으로 표현되어 있음


3.1 Encoder and Decoder Stacks

3.1.1. Encoder (인코더)

  • 인코더는 N = 6개의 동일한 층으로 구성됨
  • 각 층은 2개의 서브 레이어로 구성됨:
    1. Multi-head Self-Attention
    2. Position-wise Feed-Forward Network
  • 각 서브 레이어에는 Residual ConnectionLayer Normalization 적용:
    • 출력 형식: LayerNorm(x + Sublayer(x))
  • 모든 서브 레이어 및 임베딩 레이어의 출력 차원은 d_model = 512

3.1.2. Decoder (디코더)

  • 디코더도 N = 6개의 동일한 층으로 구성됨
  • 각 층은 3개의 서브 레이어로 구성됨:
    1. Masked Multi-head Self-Attention
    2. Multi-head Attention over Encoder Output
    3. Feed-Forward Network
  • Encoder와 마찬가지로 Residual + LayerNorm 사용
  • Masked Self-Attention: 미래 위치에 접근하지 못하도록 마스킹 처리
    • i 위치의 예측은 i보다 이전 위치의 출력에만 의존 가능

3.2 Attention

어텐션(attention) 함수는 Query, Key, Value 쌍을 입력으로 받아 출력을 생성함.
출력은 각 value에 softmax로 계산한 가중치를 곱해 가중합(weighted sum) 형태로 나옴.
가중치는 query와 key 간의 호환성 점수(compatibility score)로 계산됨.

3.2.1 Scaled Dot-Product Attention

논문에서 사용하는 어텐션은 Scaled Dot-Product Attention입니다.

입력

  • Query와 Key의 차원: dkd_k
  • Value의 차원: dvd_v

계산 방법

  1. Query와 Key의 내적(dot product)을 계산
  2. 결과를 dk\sqrt{d_k}로 나눔 (스케일 조정)
  3. Softmax를 적용하여 가중치 생성
  4. 가중치를 Value에 곱해서 최종 출력 생성

수식

Attention(Q,K,V)=softmax(QKdk)V\text{Attention}(Q, K, V) = \text{softmax}\left( \frac{QK^\top}{\sqrt{d_k}} \right) V

비교: Additive Attention vs Dot-Product Attention

  • Additive Attention
    • Feed-Forward Network를 사용
    • 이론적으로는 dot-product와 복잡도가 비슷하지만 속도가 느림
  • Dot-Product Attention
    • 단순 행렬 곱으로 구현 가능
    • 빠르고 메모리 효율적
    • 하지만 dkd_k가 클 경우, softmax 입력값이 커져 gradient vanishing 문제 발생
      → 이를 막기 위해 스케일링 적용 (dk\sqrt{d_k}로 나눔)

3.2.2 Multi-Head Attention

단일 attention을 사용하는 대신, 쿼리, 키, 값을 각각 h번 선형 변환한 뒤 병렬로 attention을 수행합니다.

처리 과정

  1. Query, Key, Value를 각각 hh개의 선형 변환 (차원: dk,dk,dvd_k, d_k, d_v)
  2. 각 head에서 독립적으로 Scaled Dot-Product Attention 수행
  3. 모든 head의 출력을 연결(concatenate)
  4. 최종적으로 다시 선형 변환하여 출력 생성

수식

MultiHead(Q,K,V)=Concat(head1,,headh)WO\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \dots, \text{head}_h) W^O
where headi=Attention(QWiQ,KWiK,VWiV)\text{where head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)
  • 가중치 행렬:
    • WiQRdmodel×dkW_i^Q \in \mathbb{R}^{d_{\text{model}} \times d_k}
    • WiKRdmodel×dkW_i^K \in \mathbb{R}^{d_{\text{model}} \times d_k}
    • WiVRdmodel×dvW_i^V \in \mathbb{R}^{d_{\text{model}} \times d_v}
    • WORhdv×dmodelW^O \in \mathbb{R}^{hd_v \times d_{\text{model}}}

장점

  • 여러 표현 서브스페이스로부터 서로 다른 정보를 동시에 주목(attend)
  • 단일 어텐션에서는 평균화가 다양한 정보 표현을 방해할 수 있음

논문 설정

  • h=8h = 8
  • dk=dv=dmodel/h=64d_k = d_v = d_{\text{model}} / h = 64
  • 전체 계산량은 단일 attention과 유사

3.2.3 트랜스포머에서의 멀티-헤드 어텐션 활용 방식

트랜스포머(Transformer) 모델은 멀티-헤드 어텐션(Multi-Head Attention)을 다음의 세 가지 방식으로 사용합니다:

1. 인코더-디코더 어텐션 (Encoder-Decoder Attention)

  • 이 어텐션은 디코더의 쿼리(Query)와 인코더의 키/값(Key/Value)을 사용합니다.
  • 디코더의 각 위치가 전체 입력 시퀀스의 모든 위치를 참고할 수 있도록 합니다.
  • 이는 전통적인 sequence-to-sequence(seq2seq) 모델에서 사용되는 인코더-디코더 어텐션 메커니즘을 모방한 것입니다.

2. 인코더의 자기 어텐션 (Self-Attention in Encoder)

  • 인코더 내부에서는 쿼리, 키, 값이 모두 인코더의 이전 층에서 나옵니다.
  • 인코더의 각 위치는 같은 입력 시퀀스 내의 다른 모든 위치를 참고할 수 있습니다.

3. 디코더의 자기 어텐션 (Self-Attention in Decoder)

  • 디코더 역시 자기 어텐션을 사용하지만, 미래 정보에 접근하지 못하도록 마스킹(Masking) 처리가 됩니다.
  • 이는 트랜스포머 디코더가 오토리그레시브(auto-regressive) 특성을 유지해야 하기 때문입니다.
  • 이를 위해 softmax에 들어가는 입력에서 불가능한 연결은 \infty로 설정하여 무시합니다.
  • 결과적으로 디코더의 각 위치는 자기 자신과 그 이전 위치까지만 참조할 수 있습니다.

3.3 위치별 피드포워드 네트워크 (Position-wise Feed-Forward Networks)

트랜스포머 모델의 각 인코더와 디코더 층에는 어텐션 서브레이어 외에도
위치별 피드포워드 네트워크(FFN) 가 포함되어 있습니다.

주요 특징

  • 이 네트워크는 입력 시퀀스의 각 위치에 독립적이고 동일하게 적용됩니다. (여기서 위치는 시컨스 내에서의 토큰 순서를 말합니다.)
  • 각 위치의 벡터에 대해 동일한 연산을 수행하지만, 다른 위치들과 상호작용하지 않습니다.
  • 구조는 다음과 같습니다:
    FFN(x)=max(0,xW1+b1)W2+b2\text{FFN}(x) = \max(0, xW_1 + b_1)W_2 + b_2
    → 두 개의 선형 변환 사이에 ReLU 활성화 함수가 있는 형태입니다.

구현 방식

  • 이 연산은 커널 크기 1의 컨볼루션 두 개로 이해할 수도 있습니다.
  • 각 층마다 W1,W2W_1,W_2 등의 파라미터는 다르지만, 한 층 내에서는 모든 위치에 동일하게 적용됩니다.
  • 차원 정보는 다음과 같습니다:
  • 입력/출력 차원: dmodel=512d_{model} = 512
  • 내부(hidden) 레이어 차원: dff=2048d_{ff} = 2048

이 FFN은 어텐션 레이어로부터의 출력을 비선형적으로 가공하여 더 풍부한 표현력을 제공합니다.


3.4 임베딩(Embeddings)과 소프트맥스(Softmax)

트랜스포머 모델에서는 입력과 출력을 벡터로 변환하고, 예측 결과를 확률로 바꾸는 과정을 다음과 같이 처리합니다.

1. 임베딩 (Embeddings)

  • 입력 토큰과 출력 토큰을 학습 가능한 임베딩(embedding) 을 통해 dmodeld_{model} 차원의 벡터로 변환합니다.
  • 이 과정은 기존의 다른 sequence-to-sequence 모델들과 동일하게 작동합니다.

2. 소프트맥스 (Softmax)

  • 디코더의 출력 벡터는 선형 변환(linear transformation) 을 거친 후,
    소프트맥스 함수를 통해 다음 토큰에 대한 확률 분포로 변환됩니다.
  • 이 과정은 모델이 다음에 올 토큰을 예측하기 위한 단계입니다.

3. 가중치 공유 (Weight Sharing)

  • 트랜스포머에서는 다음의 세 부분에서 같은 가중치 행렬(weight matrix) 을 공유합니다:
    • 입력 임베딩
    • 출력 임베딩
    • 소프트맥스 직전의 선형 변환
  • 가중치 공유는 모델의 파라미터 수를 줄이고 일반화 성능을 높이는 데 도움이 됩니다.

4. 임베딩 스케일링 (Embedding Scaling)

  • 임베딩 벡터에는 dmodel\sqrt{d_{\text{model}}} (예: 512\sqrt{512}) 를 곱해서 스케일을 조정합니다.
  • 이는 모델 학습 초기에 임베딩 벡터 값의 크기가 너무 작거나 커지지 않도록 방지하기 위함입니다.

요약

  • 토큰 → 벡터 (임베딩)
  • 벡터 → 확률 (선형변환 + 소프트맥스)
  • 입력/출력 임베딩과 소프트맥스 변환에서 가중치 공유
  • 임베딩에는 dmodel\sqrt{d_{\text{model}}} 을 곱해 스케일 조정

3.5 위치 인코딩(Positional Encoding)

트랜스포머 모델은 순환(Recurrence)이나 합성곱(Convolution)을 사용하지 않기 때문에, 시퀀스의 순서에 대한 정보를 명시적으로 제공해야 합니다. 이를 해결하기 위해 위치 인코딩(Positional Encoding)을 사용합니다.

1. 위치 정보의 필요성

  • 트랜스포머 모델에는 순환(Recurrence)이나 합성곱(Convolution)이 없기 때문에, 입력 시퀀스 내 각 토큰의 순서에 대한 정보를 명시적으로 제공해야 합니다.
  • 이 정보를 제공하는 방법이 위치 인코딩(Positional Encoding)입니다.

2. 위치 인코딩의 방식

  • 위치 인코딩입력 임베딩에 더해져 인코더와 디코더의 첫 번째 층에서 사용됩니다.
  • 위치 인코딩은 임베딩 차원 dmodeld_{model}과 동일한 차원을 가집니다. 따라서, 입력 임베딩위치 인코딩벡터 합산할 수 있습니다.

3. 위치 인코딩의 수학적 정의

  • 사인과 코사인 함수를 사용하여 주기적인 패턴을 생성합니다.
    각각의 차원에 대해 사인 함수코사인 함수를 사용하여 위치 정보를 표현합니다.

    PE(pos,2i)=sin(pos100002i/dmodel)PE_{(\text{pos}, 2i)} = \sin \left( \frac{\text{pos}}{10000^{2i/d_{\text{model}}}} \right)
    PE(pos,2i+1)=cos(pos100002i/dmodel)PE_{(\text{pos}, 2i+1)} = \cos \left( \frac{\text{pos}}{10000^{2i/d_{\text{model}}}} \right)
    • pospos: 위치 (토큰의 순서)
    • ii: 차원 인덱스 (만약 dmodel=512d_{model}=512이면, i{1,2,...,512}i\in\{1,2,...,512\})
    • 이 식에서 각 차원마다 사인(sin\sin) 또는 코사인(cos\cos) 함수가 적용되어 위치 인코딩을 생성합니다.
    • 주파수지수 함수로 증가하며, 2π에서 10000×2π10000 × 2π까지의 범위로 설정됩니다.

4. 위치 인코딩의 선택 이유

  • 이 방식은 상대적인 위치를 학습하는 데 유리합니다. 예를 들어, PE(pos+k)PE_{(pos+k)}PE(pos)PE_{(pos)}의 선형 함수로 표현될 수 있기 때문에, 모델이 상대적 위치를 쉽게 학습할 수 있습니다. (여기서 선형은 위치 이동에 따른 변화가 예측 가능한 패턴을 따른다는 의미임, 수학적인 선형 관계를 뜻하지 않음.)
  • 또한, 이 방법은 훈련 중에 본 적 없는 긴 시퀀스에 대해서도 추정(extrapolation)이 가능하다는 장점이 있습니다.

5. 학습된 위치 인코딩과 비교

  • 다른 접근 방식으로 학습된 위치 임베딩을 사용할 수도 있지만, 실험 결과 두 방식은 거의 동일한 성능을 보였습니다.
  • 사인/코사인 방식을 선택한 이유는 더 긴 시퀀스에 대해 일반화가 가능할 것이라고 생각했기 때문입니다.

핵심 요약

  • 트랜스포머는 Recurrence나 Convolution이 없으므로 순서 정보위치 인코딩으로 추가합니다.
  • 사인과 코사인 함수로 위치 인코딩을 계산하며, 각 차원은 다른 주파수를 가집니다.
  • 이 방식은 상대적 위치를 학습하는 데 유리하며, 긴 시퀀스에 대해서도 잘 일반화됩니다.

4. 왜 Self-Attention을 사용할까?

1. 계산 복잡도:

  • Self-Attention 레이어는 각 레이어마다 일정한 계산 복잡도를 가지고 있으며, 이는 시퀀스의 길이에 관계없이 일정합니다. 하지만 Recurrent 레이어는 시퀀스의 길이가 길어질수록 O(n)O(n) (시퀀스 길이에 비례하는) 연산을 요구합니다.
  • Self-Attention은 시퀀스 길이가 dd (즉, 임베딩 차원)보다 작을 때 더 빠릅니다. 예를 들어, dd가 512일 경우, 시퀀스 길이가 짧을수록 Self-AttentionRecurrent보다 더 효율적입니다.

2. 병렬화 가능성:

  • Self-Attention은 모든 위치 간의 관계를 동시에 계산할 수 있으므로, 병렬화가 가능하여 순차적인 연산이 필요하지 않습니다. 반면 Recurrent 레이어는 시퀀스의 각 요소를 순차적으로 처리해야 하기 때문에 병렬화가 어려운 단점이 있습니다. 즉, Self-Attention은 순차적 연산이 필요하지 않아 계산 속도가 더 빠를 수 있습니다.

3. 긴 범위 의존성 학습:

  • Self-Attention은 각 위치에서 다른 모든 위치와의 관계를 계산하므로 긴 범위의 의존성을 쉽게 학습할 수 있습니다. 즉, 입력 시퀀스의 먼 위치가 출력 시퀀스에 미치는 영향을 쉽게 모델링할 수 있습니다. 반면 Recurrent 네트워크는 O(n)O(n)의 긴 경로를 거쳐야 하기 때문에, 긴 범위 의존성을 학습하는 데 어려움이 있을 수 있습니다.
  • Self-Attention은 긴 경로가 모든 위치 간에 동일한 연산으로 연결되므로, 신호가 전달되는 경로가 짧고 긴 범위 의존성을 학습하는 것이 더 쉬워집니다.

4. 긴 시퀀스를 다룰 때의 성능:

  • Self-Attention을 사용할 때, 시퀀스가 매우 길 경우 입력 시퀀스의 특정 부분만 고려하도록 제한할 수 있습니다. 예를 들어, 각 출력 위치에 대해 크기 rr의 이웃만을 고려하도록 제한하면, 경로 길이는 O(n/r)O(n/r)로 줄어들어 효율성을 개선할 수 있습니다.
  • 이 방식은 긴 시퀀스를 처리할 때 유용하지만, 더 긴 경로를 다루기 위해 추가적인 연구가 필요합니다.

5. Convolutional Layer와 비교:

  • Convolutional 레이어는 커널 크기 kknn보다 작을 때 모든 위치를 연결하지 않습니다. n/kn/k 크기의 Convolutional Layer 스택을 사용해야 모든 위치가 연결됩니다.
  • Convolutional 레이어는 Recurrent 레이어보다 비용이 더 비쌉니다.

6. 모델 해석 가능성:

  • Self-Attention모델 해석이 더 용이한 측면이 있습니다. 각 Attention Head가 특정 작업을 학습하며, 문장의 구문이나 의미와 관련된 행동을 보이는 경우가 많습니다. 이는 모델이 어떻게 작동하는지 이해하는 데 도움이 됩니다.

결론:

  • 저자는 Self-AttentionRecurrentConvolutional 레이어와 비교했을 때, 계산 효율성, 병렬화 가능성, 긴 범위 의존성 학습 측면에서 더 나은 성능을 보일 수 있다는 점을 강조하고 있습니다. 또한 Self-Attention모델 해석성에서도 장점이 있어, 자연어 처리와 같은 작업에 유리한 특성을 가질 수 있습니다.
  • 아래 그림과 같이 'making''more difficult'과 연결되는 것을 attention head들이 포착하고 있습니다. 이 관계는 5번째 인코더 레이어에서 self-attention을 통해 감지되었으며, 다양한 head들이 이를 보여줍니다. 그림은 오직 'making'에 대해 보여주며, head마다 다른 색으로 시각화되어 있습니다..


5. 결과

5.1 Maching Translation (기계 번역)

5.1.1. 영어 → 독일어 (EN-DE) 번역

  • Transformer (big) 모델이 BLEU 점수 28.4를 기록
    • 기존 최고 모델(심지어 앙상블 모델 포함)보다 2점 이상 높은 성능
  • 이 모델은 Table 2와 Table 3의 마지막 줄 설정 사용
  • 학습 시간: 3.5일, 8개의 P100 GPU 사용

요점: 단일 모델임에도 이전 모델들을 능가했고, 학습 시간도 효율적임

5.1.2. 영어 → 프랑스어 (EN-FR) 번역

  • Transformer (big) 모델이 BLEU 41.0 달성
    • 이전 단일 모델들보다 모두 더 좋음
    • 학습 비용도 이전 최고 모델의 1/4에 불과함
  • 여기선 dropout = 0.1로 설정 (독일어에서는 0.3 사용)

5.1.3. 모델 학습 방식 (기술적 디테일)

  • Base 모델:
    • 마지막 5개의 체크포인트(10분 간격)를 평균해서 최종 모델 생성
  • Big 모델:
    • 마지막 20개의 체크포인트를 평균
  • Inference 시 설정:
    • beam search 사용 (beam size=4, length penalty α=0.6)
    • 최대 출력 길이 = 입력 길이 + 50
    • 조건 충족 시 조기 종료

5.1.4. 학습 비용 계산 방식

  • 총 연산량(FLOPs)은 아래를 곱해서 계산:
    1. 학습 시간
    2. 사용된 GPU 개수
    3. GPU의 초당 부동소수점 연산 처리량

5.1.5. 결론

  • Transformer는 단일 모델임에도 불구하고 기존의 고성능 모델들을 모두 뛰어넘는 번역 성능을 달성했습니다.
  • 특히 효율성(짧은 학습 시간, 적은 계산 비용)까지 함께 갖췄다는 점에서 획기적인 모델로 인정받았습니다.
  • 이 결과는 나중에 BERT, GPT 등 많은 후속 모델들의 기반이 되는 Transformer의 혁신성을 입증하는 사례 중 하나입니다.

5.2 Ablation Study (제거 연구)

Transformer의 다양한 구성 요소를 바꿔가며 성능에 어떤 영향을 미치는지 확인

실험 설정 요약

  • Base model을 기준으로 변경
  • 평가 지표: BLEU 점수 (newstest2013)
  • beam search 사용, checkpoint averaging은 사용 안 함

5.2.1. Table 3 분석

(A) Attention Head 수 & 차원 변경 실험

  • head 수와 key/value의 차원 (dk, dv) 을 다양하게 변경했지만, 전체 계산량은 동일하게 유지
  • 결과:
    • 단일 head는 BLEU 점수가 약 0.9 낮음
    • head 수가 너무 많아도 성능 저하
  • 적절한 head 수가 중요함

(B) Key dimension (dk) 감소 실험

  • dkd_k를 줄이면 BLEU 점수 하락
  • 해석:
    • dot-product로 compatibility 계산이 쉬운 일이 아님
    • 더 정교한 방식이 도움이 될 수도 있음

(C) 모델 크기 & Dropout 실험

  • 모델의 차원을 키우면 성능이 올라감 (예상대로)
  • Dropout 사용 시 과적합 방지에 매우 유용
  • 모델이 클수록 좋지만, regularization도 중요함

(E) 포지션 인코딩 방식 실험

  • 기존의 sinusoidal 포지션 인코딩학습 가능한 임베딩으로 바꿈
  • 결과:
    • 성능 거의 동일 (BLEU 변화 없음)
  • 위치 정보 표현 방식은 크게 영향을 미치지 않음

결론 정리

요소 변경결과 요약
Attention head 수너무 적거나 많으면 성능 저하
Key dimension (dkd_k)너무 작으면 성능 저하
모델 크기클수록 좋음
Dropout성능 향상 및 과적합 방지
포지션 인코딩 방식큰 차이 없음

6. Conclusion

Transformer 모델 소개

  • Transformer전통적인 순차적 모델인 RNN이나 LSTM을 완전히 대체한 attention 기반의 첫 번째 시퀀스 변환 모델입니다.
  • 멀티 헤드 self-attention을 활용하여 인코더-디코더 구조에서 발생하는 순환 계층을 대체했습니다.

성능

  • 기계 번역 과제에서, Transformer는 기존 순환 신경망(RNN)이나 합성곱 신경망(CNN) 기반 모델보다 훨씬 빠르게 학습할 수 있습니다.
  • WMT 2014 영어-독일어(English-to-German) 및 WMT 2014 영어-프랑스어(English-to-French) 번역 과제에서 최고 성능을 기록하였으며, 특히 영어-독일어 번역에서는 모든 이전 앙상블 모델을 초과하는 성과를 달성했습니다.

향후 연구 방향

  • Attention 기반 모델의 미래에 대해 큰 기대를 가지고 있으며, 이를 다른 태스크에 적용할 계획입니다.
  • Transformer를 텍스트 이외의 입력 및 출력 모달리티(예: 이미지, 오디오, 비디오)로 확장할 계획입니다.
  • 대규모 입력 및 출력 처리를 효율적으로 하기 위해 지역 제한된 Attention 메커니즘에 대한 연구도 진행할 예정입니다.
  • 또한, 생성 과정의 순차성을 줄이는 방안을 연구 목표로 삼고 있습니다.

코드 공개

  • 본 연구에 사용된 모델 학습 및 평가 코드GitHub에서 확인할 수 있습니다.

결론

이 논문에서는 Transformer 모델이 기계 번역 분야에서 새로운 최첨단 성능을 달성했음을 강조하고 있으며, 향후 다른 도메인으로의 확장 가능성을 내포하고 있습니다. 이를 통해 attention 메커니즘의 넓은 적용 가능성효율성을 입증하였습니다.


profile
AI developer

0개의 댓글