LSTM Decoder 모델에서 train 모델과 inference 모델 관련 질문드립니다.
388
작성한 질문수 13
# decoder 는 [h, c] 를 initial state 로 사용
decoder_inputs_ = Input(shape=(max_len_kor,), name="Decoder_Input")
# decoder word embedding 은 pre-trained vector 를 사용 않음
decoder_embedding = Embedding(num_words_kor, EMBEDDING_DIM)
decoder_inputs_x = decoder_embedding(decoder_inputs_)Q 1-1. training state에서는 위와 같이 decoder input이 한 문장의 seq를 모두 input으로 넣어주는데, 이는 teacher forcing을 위해 매 step 마다 seq 데이터(한 문장 데이터)를 input으로 모두 사용하기 때문인 것인가요?
decoder_inputs_single = Input(shape=(1,), name='Decoder_input')
x = decoder_embedding(decoder_inputs_single)Q 1-2. inference state에서는 위와 같이 input size가 1인 이유는, 매번 step마다 하나의 단어(번역할 단어=최초 <sos>, 그 후부터 이전 step의 output)만 input으로 사용하기 때문인가요?
Q2. LSTM encoder의 경우 encoder output, h, c를 최종 산출물로 리턴해주는데요. h와 c가 context vector로 decoder의 input으로 입력된다고 이해하였습니다. 그렇다면, 번역 모델에서 encoder output은 어떤 값을 갖고 있으며 어떤 용도로 사용될 수 있을까요?
감사합니다!
답변 1
1
Q1-1 답변) 네, 맞습니다. LSTM 기반의 디코더 모델에서 훈련 단계에서 전체 문장의 시퀀스를 한번에 입력으로 넣어주는 것은 "teacher forcing"을 구현하기 위함입니다.
Q1-2 답변) 네, 맞습니다. 추론(inference) 단계에서 디코더의 입력 크기가 1인 이유는 각 시간 단계에서 디코더에게 하나의 단어만 입력으로 제공하기 때문입니다. 추론 단계에서는 보통 <sos> (시작 토큰)으로 디코더를 시작하고, 디코더의 출력은 다음 시간 단계의 입력이 됩니다. 이 과정을 EOS(End of Sentence) 토큰이 출력될 때까지 또는 최대 문장 길이에 도달할 때까지 반복합니다.
Q2 답변) encoder_outputs은 LSTM 셀의 모든 시간 단계에서의 출력을 나타냅니다. 이 정보는 sequence-to-sequence 모델에서 어텐션 메커니즘(attention mechanism)을 구현할 때 사용될 수 있습니다. 어텐션 메커니즘은 디코더가 입력 시퀀스의 모든 부분에 동일한 중요도를 두는 것이 아니라, 각 시간 단계에서 중요한 부분에 '주목(attention)'을 하도록 도와줍니다. 이를 위해 encoder_outputs이 사용됩니다. Attention 을 사용하지 않는 초창기 방식의 단순 seq-to-seq 모델에서는 context vector h, c만 사용하고 encoder-output은 사용되지 않습니다. 그러나 Transformer 가 나온 이후에는 번역기에 LSTM 이 사용되지 않으므로 이런 논의가 실무적으로는 큰 도움이 되지 않을 것 같습니다.
트랜스포머 FeedForward 관련 질문
0
69
2
파라미터갯수에대한질문(030_IMDB_movie_reviews)
0
60
1
Transformer 번역기 분석 - Part1 따라치기 질문
0
69
2
Encoder-Decoder 질문 드립니다.
0
71
2
model 코드 부분을 따라하다가 전 값이 이상해서요
0
83
1
서적 추천
0
75
1
NLP와 LLM의 차이점
0
550
2
encoder-decoder model 질문입니다.
1
73
1
구글번역기에 대해서 궁금한점이 있습니다.
0
122
2
로드맵에대해서...
0
119
2
Bag of Word (BOW)와TF-IDF시 대명사인 I의행방
0
94
2
강의 교재 최신화 요청
0
142
4
self-attention에서 Wq, Wk, Wv weight matrix 학습과정 질문드립니다.
0
189
3
코랩 환경 설정할 때 질문이 있습니다.
0
248
1
transformer 훈련 마친 모델 공유 가능할까요?
0
216
2
130_Transformer.ipynb transformer.summary() 에러
0
182
2
강사님 궁금한게 있어 문의 드립니다.
0
128
1
강사님 Tensorflow 실습코드 중 궁금한 점이 있습니다.
0
124
1
패딩과 관련한 질문 드립니다.
0
171
1
Encoder Decoder 부터 Simple Chatbot까지 이상답변
0
218
1
seq2seq 모델
0
323
1
강의 내용중 질문있습니다.
0
197
1
Transformer 번역기 부분에 대해 질문 있습니다.
0
212
1
320_Custom_Sentiment_Analysis_navermovie.ipynb 실행 시 오류 납니다.
0
314
2





