最近在写两层神经网络识别手写数字问题时,一直调参发现准确率只有88%左右,但是别人的随便给几个参数都能达到95%,心态爆炸。我训练出来的神经网络都长这个样子。
image.png
这里只是输出了前面的一部分。看起来就一点不像能正确分类的样子(默默觉得88%已经是太好的结果了。。。)
后来对比cs231n的作业,发现自己的神经网络在进行learning_rate调整时,是每个iteration都进行调整了,而不是每个epoch,也就是说learning_rate到后面太小了,导致神经网络崩坏。于是我将learning_rate_decay从原来的0.95调整到0.99995后,发现训练结果好了很多,准确率直接达到了96%。当然啦,不需要调整learning_rate_decay,直接改为每个epoch调整就行了。
image.png
(至少长得不像上面那样一团噪音了。。。)
网友评论