关于神经网络训练的一些建议笔记

关于网络训练时的参考建议:

1.train loss不断下降,test loss不断下降,网络正在学习

2.train loss不断下降,test loss趋于不变,网络过拟合,需要增大数据;减小网络规模dropout;权重衰减或正则化L2等

3.train loss趋于不变,test loss趋于不变,遇到瓶颈,需要减少学习率和批处理大小

4.train loss趋于不变,test loss不断下降,数据集100%有问题

5.train loss不断上升,test loss不断上升,可能网络结构设计不当,超参设置不当,bug等

6.train loss不断上下跳动,可能学习率过大或批处理太小

7.batchnorm:如果每个batch输入的数据都具有不同的分布,会给网络的训练带来困难,数据经过一层层网络计算后,数据分布

也会发生变化,此现象称为 internal covariate shift(内部协变量漂移),之前的解决方法是:较小的学习率;小心的初始化参数;数据白化处理

internal:发生在网络内部

covariate shift:发生在输入层

让每个隐层节点的激活输入分布固定下来,这样就避免internal covariate shift

8.偏差:模型结果和实际结果的偏离程序

9.方差:模型结果围绕着实际结果波动的程度

10.偏差大:不了解数据和数据形态;增加维度,如多项式、高阶项,减少正则参数

11.方差大:波动(可能来自无关紧要的离群值)、不收敛、模型没有找到数据变换的节奏、提供的数据变化不丰富;增加样本,减少特征集合size、增大正则参数

原文地址:https://www.cnblogs.com/little-horse/p/10590830.html