Lipschitz Constraint in Deep Learning

本文探讨了深度学习中稳健模型的概念,重点讲解了L约束如何影响模型的稳定性和泛化能力。通过分析神经网络中的L约束,介绍了F范数、谱范数以及它们在正则化中的应用,包括L2正则化、谱正则化和谱归一化,以降低模型对输入扰动的敏感性。

1. “稳健”模型:满足L约束

(1)对于参数扰动的稳定性

如模型f_{w+\bigtriangleup w}(x)f_{w}(x)是否有相近的效果。

(2)对于输入扰动的稳定性

f_{w}(x+\bigtriangleup x)f_{w}(x)是否有相近的效果。

2. L约束:

\left \| x_{1}-x_{2} \right \|\rightarrow 0\left \| f_{w}(x_1)-f_{w}(x_2) \right \|\rightarrow 0

存在某个常数C(与参数有关,与输入无关),使下式恒成立

\left \| f_{w}(x_1)-f_{w}(x_2) \right \|\leqslant C(w)·\left \| x_1-x_2 \right \|

其中,C(w)越小越好,意味着对输入扰动越不敏感。

3. 神经网络中的L约束:

单层全连接f(Wx+b)f为激活函数,W,b为参数矩阵(向量),则

\left \| f(Wx_1+b)-f(Wx_2+b)) \right \|\leqslant C(W,b)·\left \| x_1-x_2 \right \|

x_1,x_2充分接近,则

\left \| f(Wx_1+b)-f(Wx_2+b)) \right \|\approx \left \| \frac{\partial f}{\partial x}W(x_1-x_2) \right \|\leqslant C(W,b)·\left \| x_1-x_2 \right \|

由于现有激活函数如sigmoid,relu等满足“导数有上下界”,则\partial f/\partial x(每个元素)的绝对值都不超过某个常数,则

\left \| W(x_1-x_2) \right \|\leqslant C\left \| x_1-x_2 \right \|

希望C尽可能小,从而给参数带来一个正则化项C^2

4. 矩阵范数:

F范数(Frobenius Norm):(又称L2范数)——deep中常用的L2正则化就是这种。

\left \| W \right \|_{F}=\sqrt{\sum_{i,j}w_{ij}^2}

通过柯西不等式,有\left \| Wx \right \|\leqslant \left \| W \right \|_F·\left \| x \right \|

谱范数(Spectral Norm):(又称2范数或谱半径)

\left \| W \right \|_2=\max_{x\neq 0}\frac{\left \| Wx \right \|}{\left \| x \right \|}=\sqrt{\lambda _{1}}\lambda_{1}A^HA(Hermite矩阵)的最大特征值

谱范数\left \| W \right \|_2等于W^TW的最大特征根(主特征根)的平方根,若W是方阵,则\left \| W \right \|_2等于W的最大的特征根的绝对值。

则:

\left \| W(x_1-x_2) \right \|\leqslant \left \| W \right \|_2·\left \| x_1-x_2 \right \|

\left \| W \right \|_F\left \| W \right \|_2提供了一个上界,\left \| W \right \|_2是最准确的C,如果不太关心精准度,则C取\left \| W \right \|_F也可以。

5. L2正则项:(L2正则化与F范数的关系)

由于谱范数暂时没有计算出来,则先计算一个更大的上界\left \| W \right \|_F,此时神经网络的loss为

loss = loss(y,f_w(x))+\lambda\left \| W \right \|_F^2=loss(y,f_w(x))+\lambda(\sum_{i,j}w_{ij}^2)

表明L2正则化使模型更好地满足L约束,降低模型对输入扰动的敏感性,增强模型的泛化性能。

6. 幂迭代求谱范数:\left \| W \right \|_2  ->求W^TW的最大特征根。

特征根求法:u\leftarrow Wvv\leftarrow W^Tu\lambda \leftarrow \left \| u \right \|/\left \| v \right \|

u\leftarrow \frac{(W^TW)u}{\left \| (W^TW)u \right \|},迭代若干次,得\left \| W \right \|_2^2\approx u^TW^TWu

等价于

v\leftarrow \frac{W^Tu}{\left \| W^Tu \right \|}u\leftarrow \frac{Wv}{\left \| Wv \right \|}\left \| W \right \|_2\approx u^TWv

即初始化u,v之后,迭代若干次得到u,v,然后带入计算得到\left \| W \right \|_2的近似值。

7. 谱正则化(Spectral Norm Regularization):

F范数是一个更粗糙的条件,更准确的范数应该为谱范数。则神经网络的loss为

loss=loss(y,f_w(x))+\lambda\left \| W \right \|_2^2

PyTorch计算谱范数代码(待续)

8. 梯度惩罚:只在局部空间生效???

\left | f(x_1)-f(x_2) \right |\leqslant \left \| x_1-x_2 \right \|,此时C=1,且\left \| f^{'}(x) \right \|=1是前述不等式的充分条件,把该项加入到网络的loss中作为惩罚项,即

loss=loss(y,f_w(x))+\lambda\left \| f^{'}(x)-1 \right \|^2

9. 谱归一化(Spectral Normalization):f中所有的参数替换为w/\left \| w \right \|_2

梯度惩罚的每个epoch的运行时间比谱归一化要长。

Reference:

https://spaces.ac.cn/archives/6051

《Spectral Norm Regularization for Improving the Generalizability of Deep Learning》

《Spectral Normalization for Generative Adversarial Networks》ICLR2018

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值