현재 시점 기준으로 PyTorch의 Cross Entropy Loss Function의 구현이 log softmax 수식을 내장하는 방식이기 때문에 성능이 제대로 나오지 않는다는 점을 확인했습니다.
그렇기 때문에 one-hot 인코딩을 사용하지 않고, softmax를 사용하지 않아야만 정상동작한다고 합니다.
만약 softmax를 사용하는 기존 방식을 사용하려면 손실함수를 커스터마이징 해야합니다.
아래와 같이 CE 함수를 커스터마이징하면 예상했던 결과치를 볼 수 있습니다.
기존의 손실함수를 주석처리하고 아래의 함수로 교체합니다.