수식 2에서는 y_t-1은 앞에서 만든 word, S_t hidden state, C를 받는다
미니넘 30개, 50개 sentence로 학습시킨 결과
보면, sentence가 클수록 성능이 급격히 떨어지는것을 볼수 있음.
하나의 예를 인데 영어>불어 번역인데, 앞의 sentence는 변역자체가 잘되나, 뒤문장은 잘 안되는 경우가 많이 발생되더라~란 의미.
본격적으로
attention seq2seq
위의 문제점 때문에 "attention" 개념을 도입~
위에서 언급한 seq2seq의 마지막 C를 가지고 번역(decoder)하는것이 아니라, encoder의 모든 hidden state를 이용하여 번역에 적용하여, 지금 번역하려는 target 단어와 관련이 있을 것같은 정보(encoder의 모든 hidden state중에 어떤것??)어디 인지 source 정보에서 찾아보자란것이 핵심~ > attention or align
번역과 align 개념을 동시에 학습~
여기서 annotation > 엔코더의 hidden state
encoder = 1000개 x 2 > bi-rnn
bi-directional rnn > 양방향에서 나온 정보를 각 state에서 cat한다.
https://arxiv.org/abs/1409.0473 https://www.youtube.com/watch?v=upskBSbA9cA&index=56&list=PLlMkM4tgfjnJhhd4wn5aj8fVTYJwIpWkS 참고