深度学习中的正则化方法

2019-07-26  本文已影响0人  晨光523152

梯度下降是一种优化技术,它通过最小化代价函数的误差而决定参数的最优值,进而提升网络的性能。尽管梯度下降是参数优化的自然选择,但它在处理高度非凸函数和搜索全局最小值时也存在很多局限性。

增加输入数据、数据增强、早停、dropout 及其变体是深度神经网络中常用的调整方法。

正则化技术

重要性:

研究者提出和开发了多种适合机器学习算法的正则化方法,如数据增强、L2 正则化(权重衰减)、L1 正则化、Dropout、Drop Connect、随机池化和早停等。

数据增强

L1和L2正则化

L1,L2正则化是最常用的正则化方法。

L1正则化后的交叉熵代价函数如下:
C = -\frac{1}{N}\sum_{j}(y_{j}lna_{j}) + (1 - y_{j})ln(1-a_{j})) + \frac{ \lambda }{N}\sum_{j} w_{j}\;\;\;\;\;\;\;\;\;\;\;(1)
或者写成:
C = -\frac{1}{N}\sum_{j}(y_{j}lna_{j} + (1 - y_{j})ln(1-a_{j})) + \frac{ \lambda }{N}||W||_{1}\;\;\;\;\;\;\;\;\;\;\;(2)

L2正则化后的交叉熵代价函数如下:
C = -\frac{1}{N}\sum_{j}(y_{j}lna_{j} + (1 - y_{j})ln(1-a_{j})) + \frac{ \lambda }{2N}\sum_{j} w_{j}^2\;\;\;\;\;\;\;\;\;\;\;(3)
或者写成:
C = -\frac{1}{N}\sum_{j}(y_{j}lna_{j} + (1 - y_{j})ln(1-a_{j})) + \frac{ \lambda }{2N}||W||_{2}^{2}\;\;\;\;\;\;\;\;\;\;\;(4)

L1正则化后的均方误差代价函数如下:
C = \frac{1}{2N}||y - a||^{2} + \frac{\lambda}{N}\sum_{j}w_{j}\;\;\;\;\;\;\;\;\;\;\;(5)
或者写成:
C = \frac{1}{2N}||y - a||^{2} + \frac{\lambda}{N}||W||_{1}\;\;\;\;\;\;\;\;\;\;\;(6)

L2正则化后的均方误差代价函数如下:
C = \frac{1}{2N}||y - a||^{2} + \frac{\lambda}{2N}||W||_{2}^{2}\;\;\;\;\;\;\;\;\;\;\;(7)

其中用C_{0}表示原始代价函数,则L1,L2正则化后的代价函数分别是:
L1:C = C_{0} + \frac{\lambda}{N}||W||_{1}\;\;\;\;\;\;\;\;\;\;\;(8)
L2:C=C_{0} + \frac{\lambda}{2N}||W||_{2}^2\;\;\;\;\;\;\;\;\;\;\;(9)
正则化的作用是让网络偏好学习更小的权重,而在其他方面保持不变;
正则化可以看成一种能够折中考虑小权重和最小化原来代价函数的方法。

例子:

考虑L2正则化:

对(9)求偏导得到:
\begin{split} \frac{\partial C}{\partial W} &= \frac{\partial C_{0}}{\partial W} + \frac{\lambda}{N}W\;\;\;\;\;\;\;\;\;\;\;(10)\\ \frac{\partial C}{\partial b} & = \frac{\partial C_{0}}{\partial b}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;(11) \end{split}
梯度下降的更新规则:
\begin{split} b\to b - \eta \frac{\partial C}{\partial b} &= b- \eta \frac{\partial C_{0}}{\partial b} \;\;\;\;\;\;\;\;\;\;\;(12)\\ W\to W - \eta \frac{\partial C}{\partial W} &= W - \eta (\frac{\partial C_{0}}{\partial W} + \frac{\lambda}{N}W) = (1 - \eta \frac{\lambda}{N})W- \eta \frac{\partial C_{0}}{\partial W} \;\;\;\;\;\;\;\;\;\;\;(13) \end{split}
从(12)可以看出,对b的更新没有改变,(13)中,1 - \eta \frac{\lambda}{N}小于1。
有时候叫做权重衰减(使得W比以前小了)。

考虑L1正则化:

对(8)求偏导得到:
\begin{split} \frac{\partial C}{\partial W} &= \frac{\partial C_{0}}{\partial W} + \frac{\lambda}{N}sgn(W)\;\;\;\;\;\;\;\;\;\;\;(14)\\ \frac{\partial C}{\partial b} &= \frac{\partial C_{0}}{\partial b}\;\;\;\;\;\;\;\;\;\;\;(15) \end{split}
梯度下降更新规则:
\begin{split} b\to b - \eta \frac{\partial C}{\partial b} &= b - \eta \frac{\partial C_{0}}{\partial b}\;\;\;\;\;\;\;\;\;\;\;(16)\\ W\to W - \eta \frac{\partial C}{\partial W} &= W - \eta (\frac{\partial C_{0}}{\partial W} + \frac{\lambda}{N}sgn(W)) \;\;\;\;\;\;\;\;\;\;\;(17) \end{split}
- 当W > 0时,经(17)更新后的W会变小
- 当W < 0时,经(17)更新后的W会变大
因此,L1正则化的效果就是让W往0靠拢,使得网络中的权重尽可能为0,也就相当于减少了网络复杂度,防止过拟合。
参考资料:
https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/chap3/c3s5ss2.html
https://www.jiqizhixin.com/articles/2017-12-20

上一篇 下一篇

猜你喜欢

热点阅读