Sequence to Sequence Learning with Neural Networks¶
- 본 논문에서는 LSTM을 활용한 효율적인 Seq2Seq 기계 번역 아키텍처를 제안한다
- Seq2Seq는 딥러닝 기반 기계 번역의 돌파구 역할을 수행했음
- Transformer가 나오기 전까지 state-of-the-art로 사용
- Seq2Seq : Encoder에서 투입된 내용이 "고정된 크기"의 vector를 지나 Decoder로 출력
- context vector가 일종의 보틀낵으로 사용됨.
1. 딥러닝 기반의 기계 번역 발전 과정¶
- 2021년 기준으로 최신 고성능 모델들은 Transformer 아키텍처를 기반으로 하고 있음
- GPT : Transformer의 디코더(Decoder) 아키텍처를 활용
- BERT : Transformer의 인코더(Encoder) 아키텍처를 활용
- 모델 발전과정 :
- RNN(1986)
- LSTM(1997)
- Seq2Seq(NIPS 2014 : 고정된 크기의 Context vector 사용)
- Attention(ICLR2015 : 해당 모델 이후부터는 입력 시퀀스 전체에서 정보를 추출하는 방향으로 발전)
- Transformer(NIPS 2017)
- GPT-1(2018)
- BERT(NAACL 2019)
- GPT-3(2020)
2.2. 통계적 언어 모델(Statistical Language Model)¶
- 전통적인 통계적 언어 모델은 카운트 기반의 접근을 사용
- "count(확률을 구하고자 하는 문장) / count(확률을 구하고자 하는 문장의 일부)" 처럼 개수를 토대로 확률을 구하는 방식
- 한계1. 단, 모든 문장에 대한 확률을 갖고 있으려면 매우 방대한 양의 데이터가 필요하다
- 한계2. 긴 문장을 처리하기가 힘들다.
- 현실적인 해결책으로 N-gram 언어 모델이 사용 : 인접한 일부 단어만 고려하는 아이디어
3. 전통적 RNN 기반의 번역¶
- 한계1 : 입력과 출력의 개수가 같다고 가정하므로 현실세계에서 사용하기 힘들다 (입력과 출력의 개수가 같아야 작동이 가능하다)
- 한계2 : 어순이 다른 단어를 번역할 경우 오작동할 수 있음.
4. RNN 기반의 Sequence to Sequence 개요¶
- 전통적인 초창기 RNN 기반의 언어 모델은 위와 같은 한계점을 지니고 있음
- 이를 해결하기 위해 인코더가 고정된 크기의 문맥 벡터(context vector)를 추출하도록 한다.
- 이후 문맥 벡터(context vector)로부터 디코더가 번역 결과를 추론한다.
- 본 Seq2Seq 논문에서는 LSTM을 이용해 문맥 벡터를 추출하여 성능을 향상시킨다.
- LSTM은 RNN보다 긴 문장을 처리하기 적합하다.
- 각 인스턴스를 번역할 때마다 hidden state를 갱신해야 했던 RNN 기반의 번역과는 다르게, Seq2Seq는 인코더의 마지막 hidden state만을 context vector로 사용한다.
- 인코더와 디코더는 비슷한 아키텍처를 갖고 있으나, 서로 다른 파라미터(가중치)를 가진다.
4.1. Seq2Seq의 성능 개선 포인트¶
- 기본적인 RNN 대신 LSTM을 사용했을 때 더 높은 정확도를 보임.
- 실제 학습 및 테스트 과정에서 입력 문장의 순서를 거꾸로 했을 때 더 높은 정확도를 보임
- Encoding 과정에서 앞에 위치한 정보가 흐려질 수 있는데, 단어의 순서를 바꿔주면 비교적 정보가 선명하게 유지되어 단어 매칭이 더욱 잘 이루어질 수 있음.
- 단, 출력 문장의 순서는 바꾸지 않음.
'전문지식 함양 > TIL' 카테고리의 다른 글
[프로그래머스 겨울방학 인공지능 과정] Transformer 이론 기초 (0) | 2022.02.21 |
---|---|
[프로그래머스 겨울방학 인공지능 과정] Neural Image Caption 이론 (0) | 2022.02.20 |
[프로그래머스 겨울방학 인공지능 과정] CNN을 활용한 풍경 이미지 분류 실습1 (0) | 2022.02.17 |
[프로그래머스 겨울방학 인공지능 과정] 자연어 처리 이론 기초1 (0) | 2022.02.14 |
[프로그래머스 겨울방학 인공지능 과정] GAN 이론 기초3 : CycleGAN (0) | 2022.02.09 |