[踩坑] 交叉熵损失不下降
在深度学习中,有时候会遇到各种奇奇怪怪的问题,这些问题也不容易在网上搜到解答。一些有报错的问题还好,没有报错的问题简直就是灾难。在以上图片中,可以看到dice loss有轻微下降,而ce loss几乎不动。这时候肯定是出问题了。问题在哪呢?我用的是Pytorch中的CrossEntropyLoss()函数。注意这个函数是自带softmax操作的。而我在传入网络输出前,又做了一次softmax。这样
·
在深度学习中,有时候会遇到各种奇奇怪怪的问题,这些问题也不容易在网上搜到解答。一些有报错的问题还好,没有报错的问题简直就是灾难。

在刚开始训练的时候,ce loss 是明显下降的,但训练了一段时间后,在以上图片中,可以看到dice loss有轻微下降,而ce loss几乎不动,模型还没有收敛,这时候肯定是出问题了。
问题在哪呢?
我用的是Pytorch中的CrossEntropyLoss()函数。注意这个函数是自带softmax操作的。
而我在传入网络输出前,又做了一次softmax。这样就做了两层的softmax。这就导致了交叉熵损失下降不下去,回传梯度几乎为0。
解决方法
删掉一层softmax。
更多推荐


所有评论(0)