본문 바로가기
AI (DeepLearning)/NLP

[자연어 처리 입문 NLP] #8 기계번역(Neural Machine Translation) - 딥러닝을 이용해 번역을 수행해보자

by Tomining 2024. 8. 30.

 Inflearn에서 NLP 강좌인 "예제로 배우는 딥러닝 자연어 처리 입문 NLP with TensorFlow - RNN부터 BERT까지" 강좌를 들으며 정리한 글입니다. 섹션3까지는 사전 준비 과정이라 별도로 정리하지 않았습니다.


기계 번역(Machine Translation) 방법론 변화

  1. 규칙 기반 기계번역 (Rule Based Machine Translation)
    • 규칙을 벗어난 번역은 대응이 어려움
    • 새로운 언어를 추가할 때마다 규칙을 새로 규정 필요
  2. 통계 기반 기계번역 (Statistical Machine Translation)
    • 통계적인 특징을 기반
    • 규칙 기반에 비해 성능은 나으나 일반화 성능이 떨어지는 문제점이 있음
  3. 신경망 기계번역 (Neural Machine Translation)
    • 딥러닝 이용
    • 예외 상황에서 안정적 처리와 높은 성능을 보임

 

seq2seq 모델

 

Encoder & Decoder

  • RNN을 이용해서 구현
    • 타겟 문장의 초기 상태값으로 소스 문장의 마지막 상태값을 사용
  • Char-RNN과 유사

 

🌟Attention

Decoding 과정에서 Encoding 과정에서 받은 단어 중에 어느 단어에 집중해야 하는지 가이드

기본 seq2seq에 추가해 성능 개선이 가능

 

Teacher Forcing

  • (이전 Output이 다음 step에서 Input이 되므로) 이전 타겟 단어가 잘못 예측된다면 이후 예측되는 단어는 잘못 예측될 확률이 높아짐
  • (Superviser Learning이라) 정답셋을 알고 있으니, 학습과정에서 Timeline에 맞는 정답셋을 이용하여 학습 과정에 도움을 줄 수 있음.