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
,

현재 Deep Learning에서 자연어 처리에서 시작하여 다양한 분야에서 다양하게 응용되는 Transformer Architecture를 이해하기 위해서 우선 Attention에 대한 이해가 필요합니다.

 

Attention 기법을 한줄로 설명하자면,

전체를 살펴보고, 중요한 것에만 집중해서 결과를 만들자!

위 한줄로 끝입니다.

 

 

"NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE" 논문에서 저자는 RNN Encodder-Decoder 구조를 보완하기 위해 Attention 기법을 적용시킵니다.

(논문에서 저자는 이를 RNN_search 모델이라고 명명합니다.)

※원문 : https://arxiv.org/pdf/1409.0473.pdf

 

기존 Encoder-Decoder 모델에서는 하나의 고정된 크기의 벡터로 문장을 변환하면서 정보의 손실이 생기게 되고, 이로 인해 긴 문장에서 품질이 좋지 않았습니다.

 

이를 보완하기 위해 Encoder-Decoder 구조를 기반으로 전체 문장을 참고하면서 중요한 단어에 집중 할 수 있도록 만들어 주는 Attention 기법이 등장하게된 것입니다.

 

출처 : https://arxiv.org/pdf/1409.0473.pdf (논문 원본)

 

여기서 h가 나타내는 것은 Encoder의 hidden state이고, sDecoder의 hidden state 입니다.

이 그림의 의미는 Encoder의 모든 hidden state를 참고해서 Decoder의 출력이 결정된다는 것입니다.

이 때 Decoder는 a를 통해서 점수가 매겨진 Encoder 정보를 받게 됩니다.

 

이러한 Attention 기법을 통해 긴 문장에 대해서도 높은 품질을 유지할 수 있게 되었습니다.

 

아래에 논문을 이해하는데 많은 도움이 된 링크를 하나 첨부해 드립니다.

아래 글에 정말 자세하고 친절하게 설명이 되었으니, 이 글을 읽는 분들께 더 많은 도움이 되었으면 좋겠습니다.

 

감사합니다.

 

glee1228.tistory.com/3glee1228.tistory.com/3

Posted by EnergyCastle
,