深度学习 改善训练效果的方法 overfitting改善方法

过拟合的实质就是对training date中的数据的自我特征做了高权重保留,导致对testing data验证中的结果不理想,如下示意图所示:


常见的解决方案

choosing proper loss

在选择Softmax作为output layer的时候选择cross entropy作为loss function,选择square时的评价函数平缓,无法评价输出结果利弊。


mini-batch

过小的batch ,一次epoch运行多次,可以减少局部特征的干扰


new activation function

不同深度可以得到不同的结果,过深的layers会导致overfitting,多试试。


adaptice learnign rate

最简单的方法是随着epochs减少learnign rates,原因是在最开始,我们预期离dest较远,随着epochs,离dest越近,所以适当减低leatring rate。


momentum

根据动能和势能的转换关系得到,

  一般,神经网络在更新权值时,采用如下公式:

                                                       w = w - learning_rate * dw

        引入momentum后,采用如下公式:

                                                       v = mu * v - learning_rate * dw

                                                       w = w + v

        其中,v初始化为0,mu是设定的一个超变量,最常见的设定值是0.9。可以这样理解上式:如果上次的momentum()与这次的

负梯度方向是相同的,那这次下降的幅度就会加大,从而加速收敛。tensorflow中已经提供了Adam优化函数了。


early stop

检测training & tesitng 的loss 曲线


dropout

在maxout中效果佳,dropout rate随着epoch降低。


weight decay

traning date在input前就可以做些权重比值,对背景干扰赋予低系数。

你可能感兴趣的:(互联网)