* 강사님의 자료는 저작권이 있기 때문에 배운 내용을 최대한 간단하게 정리하는 수준으로 작성하였습니다.
Sequence 2 Sequence
- 기존 딥러닝 모델 → 입력과 출력 차원이 모두 고정된 사이즈로 제한되는 문제 → 이를 해결하고자 함
- 모델 구조
- 인코더 + 디코더 / 내부에는 두개의 RNN 계열 모델
- 인코더로 문장 입력 → 모든 단어 정보 압축해 Context Vector로 만듬 → 이를 다시 디코더로 전송
- 문제점
- 입력데이터가 길면 정보 손실 우려 및, Gradient Vanishing 문제 존재
- 이를 해결하기 위해 Attention 개념 나옴
Attention
- 동작과정 요약
- 인코더에서 입력마다 hidden state 생성
- 디코더 출력시마다, 당시의 디코더의 hidden state와 인코더의 hidden state간 유사도 계산
- 유사도 정도를 softmax를 통해 계산
- 이를 기반으로 context vector 생성
- 모든 정보가 아닌 유사도가 높은 입력 정보를 기준으로 압축
- 이를 기반으로 디코더 출력값 계산
- 모델 구조
- 내부에 RNN 계열의 모델을 사용하는 것이 아니라, N개의 인코더와 디코더로 구성됨
- 입력
- positional encoding
- multi-head self-attention
- add & norm
- position-wise feed forward
- 출력
- masked multi-head attention
- encoder-decoder multi-head attention
* written on July 6th