DeepNLP-models-Pytorch icon indicating copy to clipboard operation
DeepNLP-models-Pytorch copied to clipboard

08. CNN-for-Text-Classification LogSoftmax와 Cross-entropy

Open DonghyungKo opened this issue 6 years ago • 2 comments

안녕하세요

좋은 자료 공유해주셔서 정말 감사합니다. 관련 내용을 공부하면서 정말 많은 도움을 받고 있습니다.

Issue에 글을 쓰게된 이유는 다름이 아니라 08.CNN 예제에서 logsoftmax와 cross-entropy의 중복과 관련된 내용을 문의드리기 위함입니다.

CNNClassifier의 output은 모델의 출력값에 log_softmax를 취한 결과를 리턴한다고 되어 있는데요.

후에 모델의 출력 값을 pred라는 변수로 받아서, loss_function(Cross-Entropy)에 input으로 넣어주게 되는데, Pytorch의 Cross-Entropy 함수는 softmax 함수를 통과하기전 raw score의 결과를 input으로 받는다고 알고 있습니다.

따라서, 예제의 코드는 혹시 softmax가 2번 중첩되어 적용되는 것이 아닌지 궁금하여, 문의를 드리게 되었습니다.

감사합니다.

DonghyungKo avatar Dec 30 '18 05:12 DonghyungKo

7번의 MT에서도 log_softmax를 적용하고 CrossEntropyLoss에 들어가네요 저도 @DonghyungKo 님과 같은 생각입니다 softmax 적용하지 않은 값인 logit을 cross entropy loss에 넘겨주어야 하는 것 같습니다.

감사합니다

seanie12 avatar Feb 19 '19 04:02 seanie12

안녕하세요. @DonghyungKo @seanie12 님 이슈 알려주셔서 감사합니다. 현재 개인적인 이유로 이슈 대응을 못하고 있는 상황입니다. 추후 새로운 모델과 함께 버그 수정 역시 한번에 업데이트가 될 예정입니다. 감사합니다.

DSKSD avatar Feb 19 '19 05:02 DSKSD