Seq2Seq
RNN은 출력이 바로 이전입력까지만 고려하여 정확도가 떨어지는 문제가 발생함
전체 입력 문장을 고려하지 않고 다음 문장을 생성해 내는 문제가 있음 -> Seq2Seq의 등장배경
Seq2Seq모델이란?
2개의 RNN(1D CNN도 가능)으로 구성된 모델
Seq2Seq Network이나 Encoder Decoder Network라고도 부름
Seq2Seq의 추론방식
1) 입력시퀀스 -> 상태벡터
2) 크기가 1인 목표 시퀀스로 시작함
3) 상태 벡터들과 크기가 1인 목표시퀀스를 Decoder에 넣어 다음 문자에 대한 예측치를 생성함
4) 예측치들을 사용하여 다음 문자의 표본을 뽑음(argmax 사용)
5) 목표 시퀀스에 샘플링된 문자를 붙임
6) 시퀀스 종료 문자를 생성하거나 끝 문자에 도달할 때까지 앞의 과정을 반복함
Seq2Seq의 장점
모든 입력에 해당하는 출력이 있는 단일 RNN의 시퀀스 예측과 달리
Seq2Seq모델은 시퀀스 길이와 순서를 자유롭게 하여 두 언어간의 번역과 같은 Task에 이상적임
전체 Input을 살펴본 후, 임의의 Context Vector를 출력함 -> 전체 맥락을 파악함
Seq2Seq 한계
시퀀스의 입/출력 길이에 어떠한 제약도 없다는 것은 사실이지만,
Seq2Seq모델은 LSTM의 한계와 마찬가지로 입력 문장이 매우 길면 효율적으로 학습하지 못하는 문제가 발생함
댓글 없음:
댓글 쓰기