2017-12-29 16 views
0

나는 tensorflow를 사용하여 LSTM으로 seq2seq 모델을 구축 중입니다. 내가 사용하고있는 손실 함수는 softmax 교차 엔트로피 손실입니다. 문제는 내 입력 시퀀스에 다른 길이가 있기 때문에 그것을 덧붙였다. 모델의 출력은 [max_length, batch_size, vocab_size] 모양입니다. 0으로 채운 값이 손실에 영향을 미치지 않는 손실을 어떻게 계산합니까? tf.nn.softmax_cross_entropy_with_logits는 3 차원으로 손실을 계산할 수 있도록 축 매개 변수를 제공하지만 가중치는 제공하지 않습니다. tf.losses.softmax_cross_entropy는 가중치 매개 변수를 제공하지만 모양은 [batch_size, nclass(vocab_size)] 인 입력을 수신합니다. 도와주세요!다른 길이의 시퀀스에 대한 tensorflow 교차 엔트로피 손실

답변

1

당신은 자신의 손실 기능을 작성해야 할 것 같아요. https://danijar.com/variable-sequence-lengths-in-tensorflow/을 확인하십시오.

+0

는 너무 감사하지만 난 블로그에이 글을 읽을 : " '사실, 우리는 그들이 그래서 예측 및 목표 모두 영 벡터가 패딩 프레임에 대한 때문에 비용과 오류 기능을위한 마스킹을 할 필요가 없습니다 것입니다 완벽한 예측. " 그게 사실이야? 왜냐하면 X가 0이지만 바이어스가> 0이면 손실이 영향을받을 것이기 때문입니다. –

+0

나는 편견이나 심지어 단순한 시그 모이 드가 0이 아닌 출력을 생성한다고 동의한다. –