728x90
해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.
seq2seq 의 구조는 위 그림과 같다.
각 셀은 LSTM이나 GRU를 주로 사용한다. (장기 의존성 문제를 최대한 해결하고자.. 하지만 100% 해결하지는 못함.)
또한 encoder의 마지막 context vector를 decoder의 처음 context vector으로 사용한다.
위 그림에서 볼 수 있듯 학습 시에는 정답을 decoder의 입력에 넣는다. (teacher forcing이라고 부른다.)
테스트 시에는 sos토큰이 decoder에 들어가서 나오는 출력인 $y_0$을 그 다음 입력으로 사용하고 $y_0$으로부터 나오는 출력인 $y_1$을 그 다음 입력으로 사용하고.. 하는 형태이다. 이를 eos토큰이 나올 때까지 반복한다.
seq2seq도 RNN과 마찬가지로 문제점이 있다.
- 장기 의존성 문제를 겪는다. (encoder ,decoder 구조상 그럴 수 밖에 없다.)
- context vector에 마지막 단어의 정보가 가장 많이 담긴다.
728x90
'AI' 카테고리의 다른 글
[pytorch] 심층신경망 (Deep Neural Network) 예제 코드 (0) | 2024.11.19 |
---|---|
[pytorch] 선형 회귀 (Linear Regression) 예제 코드 (0) | 2024.11.19 |
RNN (Recurrent Neural Network) (0) | 2024.09.12 |
VGGnet (0) | 2024.09.12 |
Padding, Stride, Pooling (0) | 2024.09.11 |