一种常见的处理过拟合的方法。
1.使用均方范数作为硬性限制
控制模型容量的两种方式:参数的数量、参数的选择范围。该方法是通过限制参数值的选择范围,来控制模型容量的。
m
i
n
l
(
w
,
b
)
s
.
t
.
∥
w
∥
2
≤
θ
min l(w,b) s.t. \left \| w \right \|^{2}\leq \theta
minl(w,b)s.t.∥w∥2≤θ
∥ w ∥ 2 \left \| w \right \|^{2} ∥w∥2代表权重中每一项的平方和。通常不限制偏移b,小的 θ \theta θ意味着更强的正则项。这种方法很少用,一般转化为下面这种柔性限制。
2.使用均方范数作为柔性限制
下面两个式子表示的意思是一样的。超参数
λ
\lambda
λ控制了正则项的重要程度。
λ
\lambda
λ=0:无作用;
λ
\lambda
λ趋近于无穷大,w趋近于0。
m
i
n
l
(
w
,
b
)
+
λ
2
∥
w
∥
2
min l(w,b)+\frac{\lambda }{2}\left \| w \right \|^{2}
minl(w,b)+2λ∥w∥2
3.参数更新法则
计算梯度:
∂
∂
w
(
ι
(
w
,
b
)
+
λ
2
∥
w
∥
2
)
=
∂
ι
(
w
,
b
)
∂
w
+
λ
w
\frac{\partial }{\partial w}(\iota (w,b)+\frac{\lambda }{2}\left \| w \right \|^{2})=\frac{\partial \iota (w,b)}{\partial w}+\lambda w
∂w∂(ι(w,b)+2λ∥w∥2)=∂w∂ι(w,b)+λw
时间t更新参数:
w t + 1 = w t − η ∂ ∂ w t ( ι ( w t , b ) + λ 2 ∥ w t ∥ 2 ) = ( 1 − η λ ) w t − η ∂ ι ( w t , b ) ∂ w t w_{t+1}=w_{t}-\eta \frac{\partial }{\partial w_{t}}(\iota (w_{t},b)+\frac{\lambda }{2}\left \| w_{t} \right \|^{2})=(1-\eta \lambda )w_{t}-\eta \frac{\partial \iota (w_{t},b)}{\partial w_{t}} wt+1=wt−η∂wt∂(ι(wt,b)+2λ∥wt∥2)=(1−ηλ)wt−η∂wt∂ι(wt,b)
一般来说, η λ \eta \lambda ηλ比1要小,和之前参数更新公式相比,每次更新的时候,先把当前的权重wt乘以一个小于1的数,把wt的值缩小了一点点,再沿着梯度的反方向走一点点,所以在深度学习通常叫做权重衰退。
4.意义
权重衰退通过L2正则项使得模型参数不会过大,从而控制模型复杂度。正则项权重是控制模型复杂度的超参数,一般在深度学习框架中的优化器(SGD等)中可以设置Weight Decay: λ \lambda λ的值,通常0.001,不会选到1等很大的数值。