深度学习的噪声鲁棒性:权重噪声注入 推导+解析

权重噪声注入是深度学习中的一种正则化技术,通过在权重上添加随机扰动来防止过拟合。本文详细证明了权重噪声注入的代价函数等价于非权重注入的代价函数加上一个参数正则项,这个正则项鼓励参数进入梯度更小的区域,增强了模型对小扰动的鲁棒性。噪声方差的大小直接影响正则化效果,噪声越大,正则化作用越强。权重噪声注入在简单的线性模型中可能无效,因为其正则化项在梯度下降中不起作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 概述

在深度学习中,可以在输入、权重和输出中注入噪声,已达到不同的目的。

  • 输入噪声注入:将噪声作用于输入的数据集,是一种数据增强的方法。
  • 权重噪声注入:将噪声作用于权重,相当于在非权重噪声注入的代价函数上加入正则项,其作用为防止过拟合,且缩小扰动对模型预测结果的影响。目前权重噪声注入主要用于RNN。
  • 输出噪声注入:大多数数据集的 yyy 标签都有一定的错误,对标签上的噪声进行显式建模能够更好的最大化 log⁡p(y∣x)\log p(y \mid \boldsymbol{x})logp(yx)

2. 权重噪声注入

下证:权重噪声注入的带价函数等于非权重注入的代价函数加上一个参数正则项。

假设有一个无噪声注入的深度前馈网络:Pmokd (y∣x⃗;θ⃗)=N(y;f(x⃗;θ⃗),I) P_{\text {mokd }}(y \mid \vec{x} ; \vec{\theta})=N(y ; f(\vec{x} ; \vec{\theta}), I) Pmokd (yx;θ)=N(y;f(x;θ),I)则其交叉熵代价函数为J(θ⃗)=−Ex→,y∼p^data log⁡pmodel (y∣x→;θ⃗)=12Ex→,y∼p^deta ∥y−f(x→;θ⃗)∥2 J(\vec{\theta})=-\mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}} \log p_{\text {model }}(y \mid \overrightarrow{\mathbf{x}} ; \vec{\theta})=\frac{1}{2} \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {deta }}}\|y-f(\overrightarrow{\mathbf{x}} ; \vec{\theta})\|^{2} J(θ)=Ex,yp^data logpmodel (yx;θ)=21Ex,yp^deta yf(x;θ)2
其中x→,y∼p^data \overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}x,yp^data 表示 x→,y\overrightarrow{\mathbf{x}}, yx,y 服从 p^data \hat{p}_{\text {data }}p^data 分布,Ex→,y∼p^data \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}}Ex,yp^data  表求关于p^data \hat{p}_{\text {data }}p^data 求期望。

向每个权重添加一个随机扰动 ϵW∼N(ϵ;0→,ηI)\epsilon \mathbf{W} \sim \mathcal{N}(\epsilon ; \overrightarrow{\mathbf{0}}, \eta \mathbf{I})ϵWN(ϵ;0,ηI),服从均值为0,方差为 η\etaη 的正态分布。增加扰动后的模型为p~model (y∣x→;θ⃗,ϵW)=N(y;f~(x→;θ⃗,ϵW),I) \tilde{p}_{\text {model }}(y \mid \overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon \mathbf{W})=\mathcal{N}(y ; \tilde{f}(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon \mathbf{W}), \mathbf{I}) p~model (yx;θ,ϵW)=N(y;f~(x;θ,ϵW),I)
假设有 Ep(ϵW)f~(x→;θ⃗,ϵW)=f(x→;θ⃗)\mathbb{E}_{p\left(\epsilon_{\mathbf{W}}\right)} \tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)=f(\overrightarrow{\mathbf{x}} ; \vec{\theta})Ep(ϵW)f~(x;θ,ϵW)=f(x;θ),即模型加入扰动后的期望等同于原来的模型。则添加扰动后的代价函数为
J~(θ⃗)=12Ep(x→,y,ϵW)∥y−f~(x→;θ⃗,ϵW)∥2=Ep(ϵw)[12Ex→,y∼p^data ∥y−f~(x→;θ⃗,ϵW)∥2]=12Ep(ϵW)Ex→,y∼p^data [(y−f(x→;θ⃗))2+(f(x→;θ⃗)−f~(x→;θ⃗,ϵW))2+2(y−f(x→;θ⃗))(f(x→;θ⃗)−f~(x→;θ⃗,ϵW))]=12Ep(ϵW)Ex→,y∼p^data (y−f(x→;θ⃗))2+12Ep(ϵw)Ex→,y∼p^data (f(x→;θ⃗)−f~(x→;θ⃗,ϵW))2+Ex→,y∼p^data (y−f(x→;θ⃗))Ep(ϵW)(f(x→;θ⃗)−f~(x→;θ⃗,ϵW)) \begin{aligned} \tilde{J}(\vec{\theta})&=\frac{1}{2} \mathbb{E}_{p\left(\overrightarrow{\mathbf{x}}, y, \epsilon_{\mathbf{W}}\right)}\left\|y-\tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)\right\|^{2}\\ &=\mathbb{E}_{p\left(\epsilon_{\mathbf{w}}\right)}\left[\frac{1}{2} \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}}\left\|y-\tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)\right\|^{2}\right]\\ &=\frac{1}{2} \mathbb{E}_{p\left(\epsilon_{\mathbf{W}}\right)} \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}}\left[(y-f(\overrightarrow{\mathbf{x}} ; \vec{\theta}))^{2}+\left(f(\overrightarrow{\mathbf{x}} ; \vec{\theta})-\tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)\right)^{2}+\right. \left.2(y-f(\overrightarrow{\mathbf{x}} ; \vec{\theta}))\left(f(\overrightarrow{\mathbf{x}} ; \vec{\theta})-\tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)\right)\right]\\ &= \frac{1}{2} \mathbb{E}_{p(\epsilon \mathrm{W})} \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}}(y-f(\overrightarrow{\mathbf{x}} ; \vec{\theta}))^{2}+\frac{1}{2} \mathbb{E}_{p(\epsilon \mathbf{w})} \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}}\left(f(\overrightarrow{\mathbf{x}} ; \vec{\theta})-\tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)\right)^{2} \\ &\quad+\mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}}(y-f(\overrightarrow{\mathbf{x}} ; \vec{\theta})) \mathbb{E}_{p(\epsilon \mathbf{W})}\left(f(\overrightarrow{\mathbf{x}} ; \vec{\theta})-\tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)\right)\\ \end{aligned} J~(θ)=21Ep(x,y,ϵW)yf~(x;θ,ϵW)2=Ep(ϵw)[21Ex,yp^data yf~(x;θ,ϵW)2]=21Ep(ϵW)Ex,yp^data [(yf(x;θ))2+(f(x;θ)f~(x;θ,ϵW))2+2(yf(x;θ))(f(x;θ)f~(x;θ,ϵW))]=21Ep(ϵW)Ex,yp^data (yf(x;θ))2+21Ep(ϵw)Ex,yp^data (f(x;θ)f~(x;θ,ϵW))2+Ex,yp^data (yf(x;θ))Ep(ϵW)(f(x;θ)f~(x;θ,ϵW))由于函数式不含有扰动项,可以忽略计算关于扰动的期望12Ep(ϵW)Ex→,y∼p^data (y−f(x→;θ⃗))2=12Ex→,y∼p^data (y−f(x→;θ⃗))2=J(θ⃗)\frac{1}{2} \mathbb{E}_{p\left(\epsilon_{\mathbb{W}}\right)} \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}}(y-f(\overrightarrow{\mathbf{x}} ; \vec{\theta}))^{2}=\frac{1}{2} \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}}(y-f(\overrightarrow{\mathbf{x}} ; \vec{\theta}))^{2}=J(\vec{\theta})21Ep(ϵW)Ex,yp^data (yf(x;θ))2=21Ex,yp^data (yf(x;θ))2=J(θ) 由于添加扰动前后的期望值不变Ep(ϵW)(f(x→;θ⃗)−f~(x→;θ⃗,ϵW))=f(x→;θ⃗)−Ep(ϵW)f~(x→;θ⃗,ϵW)=0\mathbb{E}_{p\left(\epsilon_{\mathbf{W}}\right)}\left(f(\overrightarrow{\mathbf{x}} ; \vec{\theta})-\tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)\right)=f(\overrightarrow{\mathbf{x}} ; \vec{\theta})-\mathbb{E}_{p\left(\epsilon_{\mathbf{W}}\right)} \tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)=0Ep(ϵW)(f(x;θ)f~(x;θ,ϵW))=f(x;θ)Ep(ϵW)f~(x;θ,ϵW)=0
于是有J~(θ⃗)=J(θ⃗)+12Ep(ϵW)Ex→,y∼p^duta (f(x→;θ⃗)−f~(x→;θ⃗,ϵW))2+0 \tilde{J}(\vec{\theta})=J(\vec{\theta})+\frac{1}{2} \mathbb{E}_{p(\epsilon \mathbf{W})} \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {duta }}}\left(f(\overrightarrow{\mathbf{x}} ; \vec{\theta})-\tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)\right)^{2}+0 J~(θ)=J(θ)+21Ep(ϵW)Ex,yp^duta (f(x;θ)f~(x;θ,ϵW))2+0f~\tilde{f}f~w\mathbf{w}w 处进行一阶泰勒展开,有f~(x→;θ⃗,ϵW)=f(x→;θ⃗)+∇Wf(x→;θ⃗)TϵW \tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)=f(\overrightarrow{\mathbf{x}} ; \vec{\theta})+\nabla_{\mathbf{W}} f(\overrightarrow{\mathbf{x}} ; \vec{\theta})^{T} \epsilon_{\mathbf{W}} f~(x;θ,ϵW)=f(x;θ)+Wf(x;θ)TϵWEp(ϵW)[(f~(x→;θ⃗,ϵW)−f(x→;θ⃗))2]=Ep(ϵW)(f(x→;θ⃗)+∇Wf(x→;θ⃗)TϵW−f(x→;θ⃗))2=Ep(ϵW)(∇Wf(x→;θ⃗)TϵW)2=∥∇Wf(x→;θ⃗)∥2⋅[Ep(ϵW)(ϵW)2−(Ep(ϵW)(ϵW)⏞噪声均值为0)2]⏟噪声方差=∥∇Wf(x→;θ⃗)∥2η \begin{aligned} \mathbb{E}_{p\left(\epsilon_{\mathbf{W}}\right)}\left[\left(\tilde{f}\left(\overrightarrow{\mathbf{x}} ; \vec{\theta}, \epsilon_{\mathbf{W}}\right)-f(\overrightarrow{\mathbf{x}} ; \vec{\theta})\right)^{2}\right]&=\mathbb{E}_{p\left(\epsilon_{\mathbf{W}}\right)}\left(f(\overrightarrow{\mathbf{x}} ; \vec{\theta})+\nabla_{\mathbf{W}} f(\overrightarrow{\mathbf{x}} ; \vec{\theta})^{T} \epsilon_{\mathbf{W}}-f(\overrightarrow{\mathbf{x}} ; \vec{\theta})\right)^{2}\\ &=\mathbb{E}_{p\left(\epsilon_{\mathbf{W}}\right)}\left(\nabla_{\mathbf{W}} f(\overrightarrow{\mathbf{x}} ; \vec{\theta})^{T} \epsilon_{\mathbf{W}}\right)^{2}\\ &=\left\| \nabla_{\mathbf{W}} f(\overrightarrow{\mathbf{x}} ; \vec{\theta})\right\|^{2}\cdot\underbrace{\left[\mathbb{E}_{p\left(\epsilon_{\mathbf{W}}\right)}(\epsilon_{\mathbf{W}})^2-(\overbrace{\mathbb{E}_{p\left(\epsilon_{\mathbf{W}}\right)}(\epsilon_{\mathbf{W}})}^{\text{噪声均值为0}})^2\right]}_{\text{噪声方差}}\\ &=\left\|\nabla_{\mathbf{W}} f(\overrightarrow{\mathbf{x}} ; \vec{\theta})\right\|^{2} \eta \end{aligned} Ep(ϵW)[(f~(x;θ,ϵW)f(x;θ))2]=Ep(ϵW)(f(x;θ)+Wf(x;θ)TϵWf(x;θ))2=Ep(ϵW)(Wf(x;θ)TϵW)2=Wf(x;θ)2噪声方差Ep(ϵW)(ϵW)2(Ep(ϵW)(ϵW)噪声均值为0)2=Wf(x;θ)2η因此J~(θ⃗)=J(θ⃗)+η2Ex→,y∼p^data ∥∇Wf(x→;θ⃗)∥2 \tilde{J}(\vec{\theta})=J(\vec{\theta})+\frac{\eta}{2} \mathbb{E}_{\overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}}\left\|\nabla_{\mathbf{W}} f(\overrightarrow{\mathbf{x}} ; \vec{\theta})\right\|^{2} J~(θ)=J(θ)+2ηEx,yp^data Wf(x;θ)2其中 η\etaη 是噪声的方差

这说明,权重噪声注入的带价函数等于非权重注入的带价函数加上一个参数正则化项

  • 噪声方差 η\etaη 越大,正则化项越大
  • 正则化项为梯度的二范数,因此该正则化项将会鼓励参数进入梯度更小的区域,即代价函数平坦的区域,这也意味着最终的得到的网络对小的扰动不敏感
  • 权重噪声注入对简单的线性回归并不适用,由于简单线性回归模型 f(x→;θ⃗)=w→Tx→+bf(\overrightarrow{\mathbf{x}} ; \vec{\theta})=\overrightarrow{\mathbf{w}}^{T} \overrightarrow{\mathbf{x}}+bf(x;θ)=wTx+b 关于权重的倒数为 x→\overrightarrow{\mathbf{x}}x,只与数据集有关为常量,因此正则项在梯度下降过程中不起作用。

参考文献

Goodfellow I, Bengio Y, Courville A. Deep learning[M]. MIT press, 2016.
https://www.bookstack.cn/read/huaxiaozhuan-ai/spilt.4.d07cc9a8a1364f3d.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值