序言
深度学习作为机器学习领域的前沿技术,其核心目标在于通过构建复杂的神经网络模型来学习和理解数据的内在规律。然而,随着模型复杂度的增加,过拟合问题日益凸显,即模型在训练数据上表现优异,但在未见过的数据上泛化能力较差。为了有效缓解这一问题,正则化技术应运而生,其中范数惩罚作为一种重要的约束手段,在深度学习中发挥着关键作用。
作为约束的范数惩罚
- 考虑通过参数范数正则化的代价函数: J ~ ( θ ; X , y ) = J ( θ ; X , y ) + α Ω ( θ ) —公式1 \tilde{J}(\boldsymbol{\theta};\boldsymbol{X},\boldsymbol{y})=J(\boldsymbol{\theta};\boldsymbol{X},\boldsymbol{y})+\alpha\Omega(\boldsymbol{\theta})\quad\textbf{\footnotesize{---公式1}} J~(θ;X,y)=J(θ;X,y)+αΩ(θ)—公式1
- 回顾应用数学与机器学习基础 - 数值计算篇,我们可以构造一个广义 Lagrange \text{Lagrange} Lagrange函数来最小化受约束的函数,即在原始目标函数加上一系列惩罚项。
- 每个惩罚项是一个系数之间的乘积,称为 Karush-Kuhn-Tucker \text{Karush-Kuhn-Tucker} Karush-Kuhn-Tucker(KKT)乘子,以及一个表示约束是否满足的函数。
- 如果我们想约束 Ω ( θ ) \Omega(\boldsymbol{\theta}) Ω(θ)小于某个常数 k k k,我们可以构建广义 Lagrange \text{Lagrange} Lagrange函数:
L ( θ , α ; X , y ) = J ( θ ; X , y ) + α ( Ω ( θ ) − k ) —公式2 \mathcal{L}(\boldsymbol{\theta},\alpha;\boldsymbol{X},\boldsymbol{y})=J(\boldsymbol{\theta};\boldsymbol{X},\boldsymbol{y})+\alpha(\Omega(\boldsymbol{\theta})-k)\quad\textbf{\footnotesize{---公式2}} L(θ,α;X,y)=J(θ;X,y)+α(Ω(θ)−k)—公式2 - 这个约束问题的解由下式给出: θ ∗ = arg min θ max α , α > 0 L ( θ , α ) —公式3 \boldsymbol{\theta}^\ast=\argmin\limits_{\boldsymbol{\theta}}\max\limits_{\alpha,\alpha>0}\mathcal{L}(\boldsymbol{\theta},\alpha)\quad\textbf{\footnotesize{---公式3}} θ∗=θargminα,α>0maxL(θ,α)—公式3
- 如应用数学与机器学习基础 - 数值计算篇中描述,解决这个问题需要同时改变 θ \boldsymbol{\theta} θ和 α \alpha α。
- 在数值计算之线性最小二乘实例篇给出了一个带 L 2 L^2 L2约束的线性回归实例。
- 许多不同的优化过程是可能的,有些可能会利用梯度下降而其他可能使用梯度为 0 0 0的解析解,
- 但在所有程序中 α \alpha α在 Ω ( θ ) > k \Omega(\boldsymbol{\theta})>k Ω(θ)>k时必须增加
- 在 Ω ( θ ) < k \Omega(\boldsymbol{\theta})<k Ω(θ)<k时必须减小。
- 所有正的 α \alpha α鼓励 Ω ( θ ) \Omega(\boldsymbol{\theta}) Ω(θ)收缩。
- 最佳值 α ∗ \alpha^\ast α∗也将鼓励 Ω ( θ ) \Omega(\boldsymbol{\theta}) Ω(θ)收缩,但不会如 Ω ( θ ) \Omega(\boldsymbol{\theta}) Ω(θ)小于 k k k时那么强烈。
- 为了洞察约束的影响,我们可以固定 α ∗ \alpha^\ast α∗,把这个问题看成只是跟 θ \boldsymbol{\theta} θ有关的函数: θ ∗ = arg min θ L ( θ , α ∗ ) = arg min θ J ( θ ; X , y ) + α ∗ Ω ( θ ) —公式4 \boldsymbol{\theta}^\ast=\argmin\limits_{\boldsymbol{\theta}}\mathcal{L}(\boldsymbol{\theta},\alpha^\ast)=\argmin\limits_{\boldsymbol{\theta}} J(\boldsymbol{\theta};\boldsymbol{X},\boldsymbol{y})+\alpha^\ast\Omega(\boldsymbol{\theta})\quad\textbf{\footnotesize{---公式4}} θ∗=θargminL(θ,α∗)=θargminJ(θ;X,y)+α∗Ω(θ)—公式4
- 这和最小化 J ~ \tilde{J} J~的正则化训练问题是完全一样的。因此,我们可以把参数范数惩罚看作对权重强加的约束。
- 如果 Ω \Omega Ω是 L 2 L^2 L2范数,那么权重就是被约束在一个 L 2 L^2 L2球中。
- 如果 Ω \Omega Ω是 L 1 L^1 L1范数,那么权重被约束在一个 L 1 L^1 L1范数限制的区域内。
- 通常我们不知道权重衰减系数 α ∗ \alpha^\ast α∗约束的区域大小,因为 α ∗ \alpha^\ast α∗的值不直接告诉我们 k k k的值。原则上我们可以解得 k k k,但 k k k和 α ∗ \alpha^\ast α∗之间的关系取决于 J J J的形式。
- 虽然我们不知道约束区域的确切大小,但我们可以通过增加或者减小 α \alpha α来大致扩大或收缩约束区域。
- 较大的 α \alpha α,将导致一个较小的约束区域。
- 较小的 α \alpha α,将导致一个较大的约束区域。
- 有时候,我们希望使用显式的限制,而不是惩罚。如基于梯度的优化方法所描述,我们能修改下降算法(如随机梯度下降算法),使其先计算 J ( θ ) J(\boldsymbol{\theta}) J(θ)的下降步,然后将 θ \boldsymbol{\theta} θ投影到满足 Ω ( θ ) < k \Omega(\boldsymbol{\theta})<k Ω(θ)<k的最近点。如果我们知道什么样的 k k k是合适的,而不想花时间寻找对应于此 k k k处的 α \alpha α值,这会非常有用。
- 另一个使用显式约束和重投影而不是使用惩罚强加约束的原因是惩罚可能导致非凸优化过程而陷入局部极小(对应于小的 θ \boldsymbol{\theta} θ)。
- 当训练神经网络时,这通常表现为训练带有几个“死亡单元”的神经网络。
- 这些单元不会对网络学到的函数的行为有太大贡献,因为进入或离开他们的权重都非常小。
- 当使用权重范数的惩罚训练时,即使可能通过增加权重以显著减少 J J J,这些配置也可能是局部最优的。
- 因为重投影实现的显式约束不鼓励权重接近原点,所以在这些情况下工作得更好。
- 通过重投影实现的显式约束只在权重变大并试图离开限制区域时产生作用。
- 最后,因为重投影的显式约束还对优化过程增加了一定的稳定性,所以这是另一个好处。
- 当使用较高的学习率时,很可能进入正反馈,即大的权重诱导大梯度,然后诱发权重的大更新。
- 如果这些更新持续增加权重的大小, θ \boldsymbol{\theta} θ就会迅速增大,直到离原点很远而发生溢出。
- 重投影的显式约束可以防止这种反馈环引起的权重无限制的持续增加。
- Hinton et al. (2012b) 建议结合使用约束和高学习速率,这样能更快地探索参数空间,并保持一定的稳定性。
- Hinton et al. (2012b) 尤其推荐由Srebro and Shraibman (2005) 引入的策略:约束神经网络层的权重矩阵每列的范数,而不是限制整个权重矩阵的 Frobenius \text{Frobenius} Frobenius范数。
- 分别限制每一列的范数可以防止某一隐藏单元有非常大的权重。
- 如果我们将此约束转换成 Lagrange \text{Lagrange} Lagrange函数中的一个惩罚,这将与 L2 权重衰减类似但每个隐藏单元的权重都具有单独的KKT乘子。
- 每个KKT乘子分别会被动态更新,以使每个隐藏单元服从约束。
- 在实践中,列范数的限制总是通过重投影的显式约束实现。
总结
- 范数惩罚作为深度学习中的一种正则化方法,通过向目标函数中添加额外的惩罚项来限制模型参数的规模,进而控制模型的复杂度,提高模型的泛化能力。
- 具体而言,L1范数和L2范数是两种常用的范数惩罚方式。L1范数倾向于产生稀疏的权重矩阵,有助于特征选择;而L2范数则通过平滑权重,减少模型的过拟合风险。
- 此外,约束范数惩罚还通过构造拉格朗日函数,将原始问题转化为无约束优化问题,使得求解过程更加高效。
- 总之,范数惩罚作为深度学习中的一种重要约束手段,对于提升模型的泛化能力、减少过拟合具有显著效果,是深度学习研究和应用中不可或缺的一部分。
往期重要内容回顾
应用数学与机器学习基础 - 数值计算篇
应用数学与机器学习基础 - 数值计算之线性最小二乘实例篇