Transformer 2. Attention 매커니즘이 추가된 인코더-디코더
2022. 3. 29. 10:06ㆍSTUDY/Model
RNN based Encoder-Decoder with ATTENTION
전통적인 RNN기반의 인코더-디코더의 특징에서
" Context vector가 고정된 크기다. 따라서 긴 입력문장의 경우 모든정보 압축이 힘들다. " 라고 하였다.
해당 문제점을 보완하기 등장한 매커니즘이 Attention이다.
Attention
Attention이란
- 디코더에서 출력단어를 예측하는 매시점마다, 인코더에서의 출력결과를 다시한번 참고하는것
- 해당 시점에서 예측해야할 단어와 연관이 있는 입력단어 부분을 집중(Attention)하여 보는 것
- 내가 생각하는 표현 : 모든 관계를 파악하는것이 Attention 이다.
1:1로 element간의 관계를 확인하는 과정이 Attention에 있기 때문
Attention을 적용한 인코더-디코더 모델 특징
- 고정된 Context vector를 사용하지 않음
--> 문장 길이에 따라 Context vector가 달라진다. - 단어를 번역할때마다 동적으로 인코더 출력값에 Attention 매커니즘을 수행하여 효율적번역수행
- 여전히 RNN셀을 사용해 순차적으로 계산한다는 점에서 속도가 느리다.
물론 속도 뿐만아니라, Gradient Vanishing 문제 존재
Attention Mechanism
Attention 종류가 다양하나, 대표적인 Dot-product Attention을 설명
전체순서는 다음과같다.
- Attention score
--> Dot product를 통해 Attention score 도출 - Attention Distribution
--> Softmax 함수를 통해 구함
--> 각각의 값은 Attention weight라고 한다. - Attention Value
--> Attention weight와 인코더의 은닉상태를 가중합
--> Attention Value를 Context Vector라고 함. - 연결
--> Attention Value + 디코더의 은닉상태 - 신경망 추가
출처
'STUDY > Model' 카테고리의 다른 글
Transformer 3. Attention is all you need (0) | 2022.03.29 |
---|---|
Transformer 1. 전통적인 RNN기반 인코더-디코더 모델 (0) | 2022.03.29 |