【优化策略】解决过拟合——正则化和权重衰减

1. 概念区分:

        权重衰减等价于L2正则化,是一种常用的解决过拟合方法,正则化通过为模型损失函数添加惩罚项使得学出的模型参数比较小,通常接近于0。

       

2. L2正则化定义:

C=C_0 + \frac{\lambda }{2n}\sum_{w}w^2

C_0表示代价函数,后面表示L2正则化项,n为样本量,\lambda正则项系数,1/2是为了方便求导。

3. 权重衰减原因:

有无正则化权重更新对比, 对L2正则化后代价函数求导:

\frac{\partial C }{\partial w} = \frac{\partial C_0 }{\partial w} + \frac{\lambda }{n}w

w\rightarrow w-\eta \frac{\partial C_0 }{\partial w}-\eta\frac{\lambda}{n}w

w\rightarrow (1-\frac{\eta\lambda}{n})w-\eta \frac{\partial C_0 }{\partial w}   (公式1)

无正则化时,权重更新:

w\rightarrow w-\eta \frac{\partial C_0 }{\partial w} (公式2)

其中,\lambda ,\eta ,n分别表示正则化系数,学习率,样本量,均为正数。

L2正则化后的权重w(公式1)相比无正则化更新权重w(公式2)更小。

4. 权重衰减与过拟合关系

由以上可知L2正则化可以使权重w变小,但是如何防止过拟合。

(1)减小权重可选择范围,降低模型复杂度;

(2)一般过拟合时,拟合函数系数会比较大,因为为了拟合每个点在小范围内拟合函数会出现较大波动,即拟合函数系数会比较大,若较小拟合函数系数则会降低函数复杂性。

5. 权重衰减在深度学习模型中的使用

可以在loss上添加L2范数;

也可以在设置优化器参数中添加weight_decay:wd 参数。

在各框架中常用wd参数设置权重衰减系数;wd越大对模型拟合能力抑制越严重。

权重衰减无法提高训练精度和收敛速度,只能解决过拟合问题,如果模型本身出现欠拟合或是没有明显过拟合,使用较大wd参数可能会导致训练结果变差,因为降低了模型拟合能力。

wd通常设置为1e-3,

或是base_lr与weight_decay相差大概是两到三个数量级。例如:base_lr=0.01;weight_decay=0.0002

wd设置是一个值得思考的问题

学习资料:

李沐《动手学习深度学习》

12 权重衰退【动手学深度学习v2】_哔哩哔哩_bilibili

你可能感兴趣的:(深度学习,人工智能,深度学习)