关于深度学习中的正则化

简单串一下“花书”里的正则化相关内容。本篇主要关注范数正则化,之后有机会再整理bagging、dropout和BN。

总体而言,设关于参数\(w\in\mathbb{R}^n\)的正则化项为\(\Omega(w)\),设原始损失函数为\(J(w; X, y)\),则加入正则化项后的优化目标为 \[\arg\min_{w}J(w; X, y)+\alpha\Omega(w).\] 另外假设原始损失函数对应的最优解为\(w^\ast\).

L2 norm

L2 norm,即weight decay,即Ridge regression, \[\Omega(w)=\frac{1}{2}\Vert{w}\Vert_2^2 = \frac{\alpha}{2}w^\top w.\]

单步效果上,每次更新为 \[w\gets(1-\eta\alpha)w - \nabla_w J(w; X, y),\] 其中\(\eta\)为学习率,即先将\(w\)放缩\((1-\eta\alpha)\)倍(decay),再更新梯度。

总体效果上,原始损失函数\(J\)的Hessian为\(H\),考虑二阶近似\(J\)\(w^\ast\)处展开: \[\hat{J}(w)=J(w^\ast)+\frac{1}{2}(w-w^\ast)^\top H (w-w^\ast) + o(w^2),\] 由于取得最优,一次项为0,且\(H\)正定。那么加入正则化项后的近似目标为 \[\tilde{J}(w) := J(w^\ast) + \frac{1}{2}(w-w^\ast)^\top H (w-w^\ast) + \frac{\alpha}{2}w^\top w.\]

\(H\)的特征值为\(\lambda_i\),L2找到的二阶近似最优解是 \[\tilde{w} = Q(\Lambda+\alpha I)^{-1}\Lambda Qw^\ast,\] 其中\(Q\)为特征向量矩阵。

可见\(\tilde{w}\)在第\(i\)个特征向量方向上,将\(w^\ast\)在该方向分量缩放了\(\frac{\lambda_i}{\lambda_i+\alpha}\)倍。\(\lambda_i\gg\alpha\)的特征方向上几乎不变, \(\lambda_i\ll\alpha\)的特征方向上趋向于0(但只要\(w^\ast_i\not=0\),就不会变成0)。

直观上,L2 norm对曲率(体现为Hessian的特征值大小)表现出偏好,曲率小的方向,即沿该方向移动无助于减小损失函数值的方向,\(w\)在该方向对应的分量会由于weight decay效应而衰减。大曲率方向上的衰减则小得多。

从分量角度, \[\tilde{w}_i=\frac{H_{i,i}}{H_{i,i}+\alpha}w^\ast_i,\] 可见若\(w^\ast_i\not=0\),则\(\tilde{w}_i\not=0\)

L2 norm等价于以高斯分布为先验的MAP估计。(请参考下一篇文章)

L1 norm

L1 norm,即Lasso, \[\Omega(w)=\Vert{w}\Vert_1=\sum_i{|w_i|}.\]

总体效果上,同样考虑二阶近似,正则化后的解为 \[\tilde{w}_i=\mathrm{sign}(w^\ast_i)\max\left\{|w^\ast_i|-\frac{\alpha}{H_{i,i}}, 0\right\},\] 其中\(H_{i,i}\)是Hessian的对角线元素。

可见若 \[w^\ast_i\leq\frac{\alpha}{H_{i,i}},\] 则最优 \(\tilde{w}_i\) 为0(cf. L2 norm不会强制变为0)。

否则方向不变,绝对值减少\(\frac{\alpha}{H_{i,i}}\)。这就是L1 norm导致的“稀疏性”。

L1 norm等价于以各向同的Laplace分布为先验的MAP。(请参考下一篇文章)

范数正则化项和带约束的优化之间的关联

从带约束的优化出发,假设给定一个常数\(k>0\),对范数有约束\(\Omega(w) < k\),记KKT乘子为\(\alpha\geq 0\),则构造目标函数 \[\mathcal{L}(w, \alpha; X, y)=J(w; X, y)+\alpha(\Omega(w)-k),\] 对应的无约束优化最优解为 \[w^\ast = \arg\min_{w}\max_{\alpha, \alpha\geq 0} \mathcal{L}(w, \alpha; X, y).\]

假设我们已经确定了最优解中的\(\alpha^\ast>0\),正的\(\alpha\)体现了约束的意义(如果\(\alpha=0\),则约束不起作用)。 在给定该\(\alpha^\ast\)时,优化问题转化为 \[w^\ast = \arg\min_{w}\mathcal{L}(w, \alpha^\ast; X, y) = \arg\min_{w} J(w; X, y)+\alpha^\ast\Omega(w).\] 注意\(-\alpha^\ast k\)一项因为与\(w\)无关而省略。

上式从形式上与前面讨论的带Lp范数正则化项的损失函数\(\tilde{J}(\cdot)\)完全一致,只不过在“正则化”语境下,我们预先给定了这个\(\alpha^\ast\)。也即,Lp范数正则化相当于给原问题附加了 ``\(w\)在某个半径为\(k\)的Lp-ball内" 这一约束条件,\(k\)理论上可以由损失函数\(J\)和我们给定的\(\alpha\)确定,但一般不会确切求解。只需要注意一个原则:alpha越大,对应的k越小。这是一种隐式约束。

如果需要显式约束,可以用重投影优化,即每次更新一步后,将更新后的\(w\)重新投影回约束空间内(如L2-ball)。比如要求对权重矩阵每列(i.e. 神经网络一层中的一个神经元的权重)的范数单独约束,则一般需要显式约束。

Reference

[1] Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning. MIT press, 2016.