[NLP 트렌드 공부] 신경망 기계번역 (seq2seq, Attention, Teacher Forcing) (작성중)

gromit·2022년 2월 9일
0

1. NNMT (Neural Network Machine Translation)




2. seq2seq

  • 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 다양한 분야에서 사용되는 모델입니다. 예를 들어 챗봇(Chatbot)과 기계 번역(Machine Translation)이 그러한 대표적인 예인데, 입력 시퀀스와 출력 시퀀스를 각각 질문과 대답으로 구성하면 챗봇으로 만들 수 있고, 입력 시퀀스와 출력 시퀀스를 각각 입력 문장과 번역 문장으로 만들면 번역기로 만들 수 있습니다. 그 외에도 내용 요약(Text Summarization), STT(Speech to Text) 등에서 쓰일 수 있습니다.
    (https://wikidocs.net/24996)

1. 인코더

2. 디코더

3. 생성자

  • 즉, seq2seq의 구조는 2개의 RNN구조의 결합체..! (2개에는 인코더와 디코더가 해당됨)

보완점




3. Attention

  • RNN/LSTM/GRU와 같은 시퀀셜 모델링에서는 Hidden State가 모든 정보를 담기 어려운 문제가 계속되었다. (아무리 LSTM에서 장기 의존성 문제(Long Distance에서의 Long Dependency 문제)를 일부 해결했다 할지라도)

  • 따라서, Encoder에 쿼리(Query)를 날려 필요한 정보만 찾아서 리턴하게끔 하는 Attention 매커니즘 개념이 도입됨..!

  • Attention 은 쿼리를 잘 만드는 과정을 배우는 일련의 과정..! (미분이 가능한 Key-Value Function 이다..!)




4. Input Feeding

효과

  • Teacher Forcing으로 인한 학습/추론 사이의 괴리 최소화
  • sampling 과정에서 손실되는 정보를 최소화

단점

  • 학습 시 속도의 저하 문제 (추론시에는 크게 문제가 되진 않음.)
    • 이전에는 DecoderEncoder 와 마찬가지로 모든 time-step에 대해 한번에 계산할 수 있었지만, Input Feeding에서는 Decoder의 RNN 구조에서 입력으로 이전 time-step의 결과가 필요하게 되며 ➡️ 병렬처리를 하지 못하고 순차적 계산(각 time-step 별로 계산)을 해야만 하게 됨.
profile
AI, Big Data, Industrial Engineering

0개의 댓글