在本博客中,我们一起读一下Guozhong An的文章: The Effects of Adding Noise During Back-propagation Training on a Generalization Performance.
I 系统模型
本文考虑一个多层神经网络 fff:
- 参数向量(包括weights和bias)是 w\bm{w}w;
- 输入是向量 x\bm{x}x;
- 输出是一个数 f(x,w)f(\bm{x,w})f(x,w).
- 训练数据 zμ=(xμ,yμ),μ=1,2,...,N\bm{z}^\mu=(\bm{x}^\mu, y^\mu), \mu=1,2,...,Nzμ=(xμ,yμ),μ=1,2,...,N.
- 给定 w\bm{w}w 时,一个训练数据的 loss e(zμ,w)e(\bm{z}^\mu, \bm{w})e(zμ,w), 整个训练集上的平均 loss
E(w)=1N∑n=1Ne(zμ,w)(1)E(\bm{w})=\frac{1}{N}\sum_{n=1}^{N}e(\bm{z}^\mu, \bm{w})\tag{1}E(w)=N1n=1∑Ne(zμ,w)(1) - Steepest/gradient descent:
wt+1=wt+Δwt=wt−ηt∇E(w)(2)\bm{w}_{t+1}=\bm{w}_{t} + \Delta\bm{w}_{t}=\bm{w}_{t} - \eta_t \nabla E(\bm{w})\tag{2}wt+1=wt+Δwt=wt−ηt∇E(w)(2) - Stochastic gradient descent (SGD):
wt+1=wt+Δwt=wt−ηt∇e(zμ,w)(3)\bm{w}_{t+1}=\bm{w}_{t} + \Delta\bm{w}_{t}=\bm{w}_{t} - \eta_t \nabla e(\bm{z}^\mu, \bm{w})\tag{3}wt+1=wt+Δwt=wt−ηt∇e(zμ,w)(3)
总的来说, 神经网络的输出 f(x,w)f(\bm{x,w})f(x,w) 是 x\bm{x}x 和 w\bm{w}w 的函数。x\bm{x}x 和 w\bm{w}w 上的扰动会导致
- inference阶段:输出结果的变化。
- training 阶段:输出的变化进一步导致loss的变化,从而影响NN的训练。
本文考虑三种noise
- Data noise: zμ=zμ+ζ\bm{z}^\mu=\bm{z}^\mu+\bm{\zeta}zμ=zμ+ζ
注意这里相当于是对输入输出同时加噪声,可以这么做的原因是这两部分噪声的effect可以分开。 - Weight noise: w=w+ξ\bm{w}=\bm{w}+\bm{\xi}w=w+ξ
这是在weights上直接加噪声。 - Langevin noise: Δw=Δw+ξ\Delta\bm{w}=\Delta\bm{w}+\bm{\xi}Δw=Δw+ξ
这是在梯度的更新方向 (gradients) 上加噪声。
II Training with data noise
本节主要的研究目标是,训练时输入输出数据上加的噪声会对训练有什么样的影响。更具体地说,对我们要minimize的目标函数 (loss function) 有什么样的改变。
A. 加噪声后数据分布的改变
给定 w\bm{w}w, 原本的网络输出是 f(zμ,w)f(\bm{z}^\mu,\bm{w})f(zμ,w), 对输入输出加噪声后网络输出是 f(zμ+ζ,w)f(\bm{z}^\mu+\bm{\zeta},\bm{w})f(zμ+ζ,w). 由于 ζ\bm{\zeta}ζ 是随机的,因此相当于我们故意增加了很多组原本数据附近的训练数据。
[假设1] 噪声 ζ\bm{\zeta}ζ follows density ρ(ζ)\rho(\bm{\zeta})ρ(ζ).
令加完噪声后的输入输出数据 z′=zμ+ζ\bm{z}'=\bm{z}^\mu+\bm{\zeta}z′=zμ+ζ, 由假设1可知 z′∼g^(z′)\bm{z}' \sim \hat{g}(\bm{z}')z′∼g^(z′) where
g^(z′)=∑μ=1Nρ(z′−zμ)Pr(zμ)=1N∑μ=1Nρ(z′−zμ).(4)\hat{g}(\bm{z}')=\sum_{\mu=1}^N \rho(\bm{z'}-\bm{z}^\mu)\Pr(\bm{z}^\mu)=\frac{1}{N}\sum_{\mu=1}^N \rho(\bm{z'}-\bm{z}^\mu).\tag{4}g^(z′)=μ=1∑Nρ(z′−zμ)Pr(zμ)=N1μ=1∑Nρ(z′−zμ).(4)
换句话说,加完噪声后 z′\bm{z}'z′ 变成了连续的,且可能由任意一个 zμ\bm{z}^\muzμ 加上噪声得到。由于 zμ\bm{z}^\muzμ 在 SGD 训练中是随机等概率选取的,我们可以得到上式.
B. 加噪声后loss函数的改变
Lemma 1 (Bottou, 1991). 假设 loss 函数 c(u,w)c(\bm{u,w})c(u,w) 是 w\bm{w}w 的连续可微分函数,而 u\bm{u}u 是从分布 g(u)g(\bm{u})g(u) 中采样出的随机向量。如果我们采用 stochastic gradient descent 更新 w\bm{w}w 来 minimize c(u,w)c(\bm{u,w})c(u,w), i.e.,
wt+1=wt−ηt∇wc(u,w).\bm{w}_{t+1}=\bm{w}_t - \eta_t\nabla_\bm{w}c(\bm{u,w}).wt+1=wt−ηt∇wc(u,w).则最终 c(u,w)c(\bm{u,w})c(u,w) converges to C(w)C(\bm{w})C(w) where
C(w)=minwEu[c(u,w)]=minw∫c(u,w)g(u)duC(\bm{w})=\min_{\bm{w}}\mathbb{E}_\bm{u}[c(\bm{u,w})]=\min_{\bm{w}}\int c(\bm{u,w})g(\bm{u}) d\bm{u}C(w)=wminEu[c(u,w)]=wmin∫c(u,w)g(u)du注:Lemma 1 is subject some assumptions such as ∑tηt=∞\sum_t\eta_t=\infty∑tηt=∞ and ∑tηt2<∞\sum_t \eta_t^2<\infty∑tηt2<∞.
Lemma 1 指出,如果训练数据是从一个分布 g(u)g(\bm{u})g(u) 中采样的,那么SGD最终会收敛到 c(u,w)c(\bm{u,w})c(u,w) 均值的一个最小值点处。那么,
- Noiseless data 满足分布 g(z)=∑μ1Nδ(z−zμ)g(\bm{z})=\sum_\mu\frac{1}{N}\delta(\bm{z}-\bm{z}^\mu)g(z)=∑μN1δ(z−zμ), SGD会最终收敛到 E(w)E(\bm{w})E(w) 的一个最小值处。
E(w)=∑μ1Ne(zμ,w).(5)E(\bm{w})=\sum_\mu\frac{1}{N}e(\bm{z}^\mu,\bm{w}).\tag{5}E(w)=μ∑N1e(zμ,w).(5) - Noisy data 满足分布 g^(z′)=1N∑μ=1Nρ(z′−zμ)\hat{g}(\bm{z}')=\frac{1}{N}\sum_{\mu=1}^N \rho(\bm{z'}-\bm{z}^\mu)g^(z′)=N1∑μ=1Nρ(z′−zμ), SGD 最终会收敛到 ε(w)\varepsilon(\bm{w})ε(w) 的一个最小值处,其中
ε(w)=∫e(z′,w)g^(z′)dz′.(6)\varepsilon(\bm{w})=\int e(\bm{z}',\bm{w})\hat{g}(\bm{z}')d\bm{z}'. \tag{6}ε(w)=∫e(z′,w)g^(z′)dz′.(6)
所以说,输入输出上的噪声使得要 minimize 的 loss 函数由 E(w)E(\bm{w})E(w) 变成了 ε(w)\varepsilon(\bm{w})ε(w).
提升网络generalizability的常用方法: Regularization
由以上结论我们可以联想到一类经常使用的提升网络generalizability的方法: regularization. 即,我们在原本 loss 函数后面加上一个惩罚项 P(w)P(\bm{w})P(w) 构成新的目标函数
C(w)=E(w)+λP(w)C(\bm{w})=E(\bm{w})+\lambda P(\bm{w})C(w)=E(w)+λP(w)
其中 λ>0\lambda>0λ>0.
Lemma 2 (Arfken, 1985). 若 P(w)=constantP(\bm{w})=\text{constant}P(w)=constant 且 constant 的值仅取决于 λ\lambdaλ not w\bm{w}w, 那么minimizing C(w)C(\bm{w})C(w) 同时也会minimize E(w)E(\bm{w})E(w).
在实际中,具体 P(w)P(\bm{w})P(w) 的形式有很多种heuristic的方法,比如
- In weight decay (Hinton 1996) and weight elimination (Weigend et al. 1991), PPP 是 NN size 的一个表征, 即我们希望模型sparse一点。
- 在一些maximum a posteriori probability 方法中,P(w)P(\bm{w})P(w) 是 −log-\log−log (a priori probability of w\bm{w}w), e.g., MacKay 1992, Nowlan and Hinton 1992.
- 在一些信息论的方法中,P(w)P(\bm{w})P(w) 是描述模型所需要的长度,e.g., Rissanen 1989, Kendall and Hall 1993.
- 其他一些work中, P(w)P(\bm{w})P(w)是一种smoothness measure.
总之,如果 P(w)P(\bm{w})P(w) 的选取与数据的产生过程相一致,往往 minimizing C(w)C(\bm{w})C(w) 会让网络有更好的 generalizability.
C. loss 函数改变了多少
为了和之前的工作联系起来,我们接下来定量的分析一下,输入输出数据上的噪声导致 loss 函数到底改变了多少,令
ε(w)=E(w)+P(w)\varepsilon(\bm{w}) = E(\bm{w}) + P(\bm{w})ε(w)=E(w)+P(w)
则,
P(w)=ε(w)−E(w)=∫e(z′,w)1N∑μρ(z′−zμ)dz′−1N∑μe(zμ,w)P(\bm{w}) = \varepsilon(\bm{w}) - E(\bm{w})=\int e(\bm{z}',\bm{w}) \frac{1}{N}\sum_\mu\rho(\bm{z}'-\bm{z}^\mu) d\bm{z}'-\frac{1}{N}\sum_\mu e(\bm{z}^\mu,\bm{w})P(w)=ε(w)−E(w)=∫e(z′,w)N1μ∑ρ(z′−zμ)dz′−N1μ∑e(zμ,

最低0.47元/天 解锁文章
6902

被折叠的 条评论
为什么被折叠?



