트랜스포머 추론 단계에서 질문드립니다.
529
작성한 질문수 13
predictions, _ = self.transformer([encoder_input, output], training=False)
# seq_len dimension에서 last token을 선택합니다.
predictions = predictions[:, -1:, :] # (batch_size, 1, vocab_size)
predicted_id = tf.argmax(predictions, axis=-1)트랜스포머 최종 결과값으로
batch x seq_len x vocab_size 로 단어의 갯수만큼 확률 분포를 구하는 것을 이해했습니다.
그리고 추론단계의 번역이므로 1개의 단어씩 output으로 뽑아야 한다는 것도 알겠는데요.
위 코드에서 생성을 위해 seq_len dimension에서 last token을 선택하는 이유(predictions[:, -1:, :] 부분) 는 무엇인가요?
답변 1
1
Transformer 모델에서 추론 단계는 각 시간 단계마다 새로운 토큰을 생성하고 이를 입력 시퀀스에 추가하는 방식으로 진행됩니다.
즉, 먼저 입력 시퀀스는 시작 토큰만을 가지고 있습니다. 그 다음, Transformer는 이 시작 토큰을 기반으로 첫 번째 토큰을 예측하게 됩니다. 그 후 이 예측된 토큰은 입력 시퀀스에 추가되어, 이번에는 두 개의 토큰을 가진 시퀀스를 기반으로 두 번째 토큰을 예측하게 됩니다. 이 과정이 반복되며 전체 번역문을 생성하게 됩니다.
이 때 predictions[:, -1:, :] 코드는 매 시간 단계마다 생성된 마지막 토큰 (즉, 가장 최근에 생성된 토큰)을 선택하게 됩니다. 이 토큰은 다음 시간 단계의 입력으로 사용되어, 새로운 토큰을 생성하는데 사용되게 됩니다. 이렇게 생성된 각 토큰들이 결합되어 최종 번역문을 형성하게 됩니다.
따라서 predictions[:, -1:, :]는 Transformer의 추론 과정에서 매 시간 단계마다 생성된 가장 최신의 토큰을 선택하는 코드입니다.
트랜스포머 FeedForward 관련 질문
0
73
2
파라미터갯수에대한질문(030_IMDB_movie_reviews)
0
62
1
Transformer 번역기 분석 - Part1 따라치기 질문
0
72
2
Encoder-Decoder 질문 드립니다.
0
74
2
model 코드 부분을 따라하다가 전 값이 이상해서요
0
83
1
서적 추천
0
77
1
NLP와 LLM의 차이점
0
559
2
encoder-decoder model 질문입니다.
1
74
1
구글번역기에 대해서 궁금한점이 있습니다.
0
124
2
로드맵에대해서...
0
121
2
Bag of Word (BOW)와TF-IDF시 대명사인 I의행방
0
97
2
강의 교재 최신화 요청
0
145
4
self-attention에서 Wq, Wk, Wv weight matrix 학습과정 질문드립니다.
0
190
3
코랩 환경 설정할 때 질문이 있습니다.
0
248
1
transformer 훈련 마친 모델 공유 가능할까요?
0
217
2
130_Transformer.ipynb transformer.summary() 에러
0
185
2
강사님 궁금한게 있어 문의 드립니다.
0
129
1
강사님 Tensorflow 실습코드 중 궁금한 점이 있습니다.
0
126
1
패딩과 관련한 질문 드립니다.
0
172
1
Encoder Decoder 부터 Simple Chatbot까지 이상답변
0
219
1
seq2seq 모델
0
328
1
강의 내용중 질문있습니다.
0
199
1
Transformer 번역기 부분에 대해 질문 있습니다.
0
214
1
320_Custom_Sentiment_Analysis_navermovie.ipynb 실행 시 오류 납니다.
0
317
2





