1. 概述
在深度学习中,可以在输入、权重和输出中注入噪声,已达到不同的目的。
- 输入噪声注入:将噪声作用于输入的数据集,是一种数据增强的方法。
- 权重噪声注入:将噪声作用于权重,相当于在非权重噪声注入的代价函数上加入正则项,其作用为防止过拟合,且缩小扰动对模型预测结果的影响。目前权重噪声注入主要用于RNN。
- 输出噪声注入:大多数数据集的 yyy 标签都有一定的错误,对标签上的噪声进行显式建模能够更好的最大化 logp(y∣x)\log p(y \mid \boldsymbol{x})logp(y∣x)
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 (y∣x;θ)=N(y;f(x;θ),I)则其交叉熵代价函数为J(θ⃗)=−Ex→,y∼p^data logpmodel (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,y∼p^data logpmodel (y∣x;θ)=21Ex,y∼p^deta ∥y−f(x;θ)∥2
其中x→,y∼p^data \overrightarrow{\mathbf{x}}, y \sim \hat{p}_{\text {data }}x,y∼p^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,y∼p^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})ϵW∼N(ϵ;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 (y∣x;θ,ϵ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)∥∥∥y−f~(x;θ,ϵW)∥∥∥2=Ep(ϵw)[21Ex,y∼p^data ∥∥∥y−f~(x;θ,ϵW)∥∥∥2]=21Ep(ϵW)Ex,y∼p^data [(y−f(x;θ))2+(f(x;θ)−f~(x;θ,ϵW))2+2(y−f(x;θ))(f(x;θ)−f~(x;θ,ϵW))]=21Ep(ϵW)Ex,y∼p^data (y−f(x;θ))2+21Ep(ϵ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))由于函数式不含有扰动项,可以忽略计算关于扰动的期望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,y∼p^data (y−f(x;θ))2=21Ex,y∼p^data (y−f(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,y∼p^duta (f(x;θ)−f~(x;θ,ϵW))2+0将 f~\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ϵW则Ep(ϵ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ϵ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η因此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,y∼p^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