分类神经网络把全部的input只能分红一类的缘由/神经网络不能收敛/神经网络loss很大不降低

以前出现过两次这种状况,也就是出现这类状况,对于全部的输入,网络都只能判断成某一类,好比对于全部的输入,输出都是“猫”。仍是总结下,固然若是有幸被大佬们看到的话,但愿大佬们能给予补充。网络

作了一点实验,可是不是很是的全面,也没有考虑到每一种状况,并且对于参数的选择也比较随意。因此这个博客的结论是根据做者所采用的网络,一开始设置的超参得出的结论,仅供参考。

1、网络结构

本次实验采用的数据集是cifar-10,使用的网络架构以下,没有写初始化的部分就是没有进行初始化。架构

网络训练的源代码不过重要,想看私聊。函数

2、接下来是实验结果

全部的结果和结论都是至少跑了五次,每次1个以上epocn(个别除外)得出的观察结果,也可能会有偏差,仅供参考,表一种图片的亮度表示基本上用的是0-255,表二在以前的基础上,默认亮度表示范围是0-1,而后batch_size默认成500,实际上是由于做者比较懒,这样训练速度比较快些。学习

 

3、结论

一、若是是对于图片进行分类的话,须要把图片的像素的表示范围控制在0-1之间而不是0-255,有必定的数字图像处理基础的同窗应该明白怎么操做,这点再也不展开讲解。我的的理解是这样的,应该是对于softmax层的函数形成的,具体推导过程以后有时间再发,若是必定要用0-255表示的话,能够经过其余方式,可是感受效果至关不明显。spa

二、改变初始化的权重,我只改过方差,就好比你初始化参数的时候使用的是一个服从高斯分布的,均值为0,方差为0.1的初始化方式,方差过大可能会致使不收敛的情况发生,这时候咱们能够尝试着把方差调小(根据结果来看调小貌似比较管用)blog

三、学习率过大,这个调小点就很容易出效果,可是也不该该过于小,否则降低速度会太慢。能够每次降低10倍进行尝试。图片

四、batchsize不益太小,否则可能会出问题的ci

四、(猜想,但没遇到过),就是图片没有shuffle,也就是没有打乱。这样有多是这样的,对于最一开始训练数据的标签,所有都是猫,那么网络就可能遇到任何输入都说是猫,这样的话有可能引发这样的情况。若是shuffle打乱不充分应该也有可能引发这种情况。博客

五、不初始化权重也有可能会引发这种情况,可是亲自尝试后发如今这几回实验中并无。图像处理

六、也可能有多种操做的组合可让网络收敛,可是目前没有发现或者实验出来,能够屡次进行尝试。

七、至于采用哪一种措施可让网络的效果更好,这个就没有尝试了。