目录
理论上,只要训练样本足够多,神经网络可以拟合原始数据分布。
0.可能原因汇总
- 没有对数据进行归一化
- 忘记检查输入和输出
- 没有对数据进行预处理
- 没有对数据正则化
- 使用过大的样本
- 使用不正确的学习率
- 在输出层使用错误的激活函数
- 网络中包含坏梯度
- 初始化权重错误
- 过深的网络
- 隐藏单元数量错误
1.检查
1.1.确保:数据干净、标注正确
如:检查lable是否有错,有的时候图像类别的label设置成1,2,3正确设置应该为0,1,2。
1.2.样本的信息量太大
- 数据越多越好。
- 数据库太小一般不会带来不收敛的问题。样本少只可能带来过拟合的问题。训练误差收敛、验证误差不收敛,就是过拟合了。进行anti-overfit的方法:Dropout,增加minibatch数量,减少Fully-connect层的节点数,SGD,momentum,finetune等。
- 样本的信息量太大,导致网络不足以拟合整个样本空间,会导致不收敛。使用太大的训练样本可能会对网络在训练过程中的准确性造成负面影响,这是由于大样本会破坏梯度下降的随机性。
- 有文章说,改变图片大小可以解决收敛问题。
1.3.数据预处理
这个有点没懂。https://zhuanlan.zhihu.com/p/36369878