'Deeplearning'에 해당되는 글 1건

  1. 2020.10.26 [The Transformer] Attention Is All You Need 논문 간단 요약

Transformer를 한줄로 요약하면,

Attention만으로 모든 문제를 해결 할 수 있다.

이것입니다.

 

Transformer

 

논문에 나온 주요 개념들을 한번 훑어보겠습니다.

 

논문 참조

- Encoder and Decoder Stacks

"Transformer" Architecture는 기본적으로 Encoder - Decoder 구조 입니다.

단지 일반적인 RNN기반의 Encoder-Decoder 구조에서 Encoders-Decoders로 변화한 것입니다.

논무네서는 Encoder 6개 Decoder 6개를 쌓았다고 되어있습니다.

 

- Attention

논문 참조

* Scaled Dot-Product Attention

"Attention Is All You Need"

Figure 2 좌측에 나온 Scaled Dot-Product Attention은 일반적인 Dot-Product Attention에서 √dk 로 나눈것 입니다.

dk는 K벡터의 차원을 의미합니다.

Scaled Dot-Product Attention은 Q벡터(행렬)와 K벡터(행렬)를 곱하고, K벡터의 차원의 루트값으로 스케일링하고 이를 Softmax함수를 통해 비율로 변환한뒤 V벡터(행렬)에 곱하는 것입니다.

 

* Multi-Head Attention

 Figure 2 우측의 그림에 나온 Multi Head Attention은 어텐션을 한번에 여러번 병렬적으로 취하겠다는 의미입니다.

여러번 병력적으로 진행한다는 것의 의미는 여러개의 어텐션을 이용해서 문장을 다양한 시각으로 분석하겠다는 것입니다.

 

* Positional Encoding

Transformer는 no recurrence and no convolution입니다.

따라서, 모델에게 위치에 대한 정보를 주입해 주어야합니다.

위 식에서, pos는 단어가 가지는 위치, i는 그 단어 임베딩 벡터 내부의 인덱스를 의미합니다.

i가 짝수일 때는 sin함수를, 홀수 일 때는 cos함수를 사용합니다.

논문에서는 훈련중에 나타나는 더 긴 시퀀스 길이에 대한 추론을 가능하게 하기 때문에 sinusoidal 함수(sin, cos)을 사용했다고 합니다.

Posted by EnergyCastle
,