Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question : Train and Inference difference #1

Closed
linetor opened this issue Jun 22, 2017 · 2 comments
Closed

Question : Train and Inference difference #1

linetor opened this issue Jun 22, 2017 · 2 comments

Comments

@linetor
Copy link

linetor commented Jun 22, 2017

Korean Is below

Hi, I'm beginner in tensorflow. After your tutorial(https://github.com/j-min/tf_tutorial_plus/blob/master/RNN_seq2seq/contrib_seq2seq/04_AttentionWrapper.ipynb), I have a question, So I write this.

After running your tutorial, I changed data for Korean tokenizing(white space).
I think there is no difference code. But in prediction, there are big difference between train and inference.

So if you have any idea about this(I think this may be hyper-parameter or difference between TrainingHelper and GreedyEmbeddingHelper), Any Comment will be thanks

These are my hyper-parameter and examples

Hyper-parameter:
enc_vocab_size : 2126
dec_vocab_size : 105
enc_sentence_length : 115
dec_sentence_length : 116
hidden_size : 64 or 128 or enc_vocab_size
attn_size = hidden_size

example :
In Train,prediction
Input(title): 마 이 수 야 여 성 용 아 디 오 재 킷
Prediction: _GO 4 7 10 _GO _GO _GO _GO _GO _GO _GO _GO _GO _GO _GO
Target(white space index):, 4 7 10

In Inference,prediction:
Input: 마 이 수 야 여 성 용 아 디 오 재 킷
Prediction: _GO 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
Target: 4 7 10


안녕하세요 텐서플로우 초보자라 해당 tutorial 을 따라하다 궁금한점이 있어서 문의 드립니다.

해당 tutorial을 작동하고 이후 데이터를 변경하여 한글 띄워쓰기를 시도해 봤는데 코드 관련 해서는 차이점이 없는데 train 과정과 inference 과정에서 차이가 너무 나서 혹시 Hyper Parameter나 혹은 TrainingHelper 와 GreedyEmbeddingHelper 관련 차이가 있는지 문의 드립니다.

하이퍼 파라미터:
enc_vocab_size : 2126
dec_vocab_size : 105
enc_sentence_length : 115
dec_sentence_length : 116
hidden_size : 64 or 128 or enc_vocab_size
attn_size = hidden_size

Train 과정에서의 추측 :
Input: 마 이 수 야 여 성 용 아 디 오 재 킷
Prediction: _GO 4 7 10 _GO _GO _GO _GO _GO _GO _GO _GO _GO _GO _GO
Target:, 4 7 10

Inference 과정에서의 추측 :
Input: 마 이 수 야 여 성 용 아 디 오 재 킷
Prediction: _GO 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
Target: 4 7 10

@j-min
Copy link
Owner

j-min commented Jun 22, 2017

TrainingHelper는 기본적으로 정답을 입력으로 받고, GreedyEmbeddingHelper는 매 스텝마다의 출력을 다음 스텝의 입력으로 사용합니다.
사용하신 데이터를 알지 못해서 자세한 답변은 어렵지만, 보여주신 결과로는 트레이닝이 아직 덜 된 것 같습니다.
혹시 현업에 적용하실 생각이시라면 seq2seq보다는 CRF 기반의 모델을 추천드립니다.

@linetor
Copy link
Author

linetor commented Jun 22, 2017 via email

@j-min j-min closed this as completed Jun 25, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants