1. 구조
1-1. 전체 구조: 2개의 RNN
Long term dependency problem을 가지기 때문에 LSTM을 선택
1-2. Encoder: input 시퀀스를 하나의 context vector로 변환
1-3. Decoder: 디코더 - RNNLM(Recurrent Neural Network Language Model, RNNLM)
- 가변적인 길이의 데이터를 다루기 위해 사용
- 예측 과정에서 이전 시점의 출력을 현재 시점의 입력으로 함
- EOS가 아웃풋으로 나오게 되면 종료
- Training 시에는 빠른 학습을 위하여 Teacher forcing 방식 사용 (Output이 틀린 경우에 학습에 방해가 됨)
2. 한계
- 하나의 고정된 크기의 벡터에 모든 정보를 압축해서 정보 손실이 발생
- RNN의 고질적인 문제인 Vanishing Gradient 문제가 존재
- 이를 해결하기 위해 여러가지 기법을 적용
- 입력 단어를 거꾸로 입력 - 인풋의 첫 단어를 아웃풋의 첫 입력에 가장 영향력 있게 사용
- Bidirectional RNNs - 입력 단어를 정방향, 역방향 모두 사용
- Attention Mechanism
- 디코더에서 출력 단어를 예측하는 매 시점(time step)마다, 인코더에서의 전체 입력 문장을 다시 한 번 참고
- 해당 시점에서 예측해야할 단어와 연관이 있는 입력 단어 부분을 좀 더 집중(attention)해서 참고
- https://jw92.tistory.com/30
'AI' 카테고리의 다른 글
Universal Transformer (2018) (0) | 2022.09.04 |
---|---|
LLM - Transformer (2017) (0) | 2022.09.04 |
Attention Mechanism (Dot-Product Attention) (2015) (0) | 2022.09.04 |
LSTM (Long Short-Term Memory) (0) | 2022.09.04 |
RNN (Recurrent Neural Network) (0) | 2022.01.12 |