尝试在MNIST上跑AlexNet,然而发现loss一直下降的时候,在某一时刻突然出现了nan。 在tensorboard上显示如下: 可以看到在最后面的accuarcy突然下降。一开始百思不得其解, 原因其实在于交叉熵中的 y_truth * log(y_predict) log(0) * 0的时候, 则会出现NaN, 一旦出现这个情况,网络训练结果必然完蛋
解决办法其实也很简单: 在交叉熵的公式中加入一个比较小的数: