Seq2seq pay Attention to Self Attention Part 1-2 번역 및 정리

2020. 2. 10. 18:40nlp

반응형

1) Seq2Seq Pay Attention to Self Attention: Part I

2) Seq2seq Pay Attention to Self Attention: Part 2

 

 

Seq2seq  vs.  Attention Model

- Seq2seq : 하나의 고정길이인 context vector 

 

 

- Attention Model : n개의 context vector ( n = input 문장에 사용된 총 단어의 개수)

 

 

Attention Model의 context vector 계산하는 방법

 

 

- α : attention score (단어의 중요도를 의미함)

- h : 은닉 상태 

- 모든 은닉상태 * attention score = context vector 

 

Attention score,  α 계산하는 방법 

 

- a = Alignment model

- j번째 input 단어와 i번째 output 단어가 얼마나 비슷하냐?

- h_j : Encoder의 j번째 은닉상태

- s_(i-1) : Decoder의 i 직전까지 은닉상태

 

 

Bi-directional RNN

 

 

 

 

RNN의 한계

1) 순서대로 input/output : 따라서 병렬 처리 불가능

cf. Transformer는 병렬 처리함 (한 번에 각 input 단어 넣음)

(그 대신 transformer는 단어 순서 모르니까 positional encoding 필요)

2) 긴 의존관계long-range dependencies 처리 어려움  

 

 

Transformer Model의 주요 특징

1) Self-Attention

2) Multi-headed

 

Encoder와 Decoder의 개수는 같아야 함

 

 

- Input word(source) = <Key, Value>

- output word(target) = <Query>

- Query와 각 Key들의 유사성 계산(score 'e') → 그 Key에 해당하는 각 Value들의 attention score 얻음(attention score, α) → 이 attention score와 Value 벡터를 곱하여 weighted value vector를 구함 weighted value vector를 모두 더함 → Attention/context vector (c)

 

Scaled Dot-Product Attention 

- Query와 Key 곱하기 

- 곱한 결과를 key 벡터 길이의 루트로 나누기

- softmax에 넣기 

- 그 결과는 value 벡터와 곱하기 

 

 3개의 Attention

 

 

Masked Multi-head Attention

- 'Masked' : 현재 포지션 이전 단어는 참조(attend)할 수 있지만, 이후 단어는 참조하지 X

 

반응형