NoisyNN, Generalization Performance

在本博客中,我们一起读一下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=1Ne(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ηtE(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ηte(zμ,w)(3)

总的来说, 神经网络的输出 f(x,w)f(\bm{x,w})f(x,w)x\bm{x}xw\bm{w}w 的函数。x\bm{x}xw\bm{w}w 上的扰动会导致

  • inference阶段:输出结果的变化。
  • training 阶段:输出的变化进一步导致loss的变化,从而影响NN的训练。

本文考虑三种noise

  1. Data noise: zμ=zμ+ζ\bm{z}^\mu=\bm{z}^\mu+\bm{\zeta}zμ=zμ+ζ
    注意这里相当于是对输入输出同时加噪声,可以这么做的原因是这两部分噪声的effect可以分开。
  2. Weight noise: w=w+ξ\bm{w}=\bm{w}+\bm{\xi}w=w+ξ
    这是在weights上直接加噪声。
  3. 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}')zg^(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)=μ=1Nρ(zzμ)Pr(zμ)=N1μ=1Nρ(zzμ).(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ηtwc(u,w).

则最终 c(u,w)c(\bm{u,w})c(u,w) converges to C(w)C(\bm{w})C(w) where
C(w)=min⁡wEu[c(u,w)]=min⁡w∫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)]=wminc(u,w)g(u)du

注:Lemma 1 is subject some assumptions such as ∑tηt=∞\sum_t\eta_t=\inftytηt= and ∑tηt2<∞\sum_t \eta_t^2<\inftytηt2<.

Lemma 1 指出,如果训练数据是从一个分布 g(u)g(\bm{u})g(u) 中采样的,那么SGD最终会收敛到 c(u,w)c(\bm{u,w})c(u,w) 均值的一个最小值点处。那么,

  1. Noiseless data 满足分布 g(z)=∑μ1Nδ(z−zμ)g(\bm{z})=\sum_\mu\frac{1}{N}\delta(\bm{z}-\bm{z}^\mu)g(z)=μN1δ(zzμ), 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)
  2. 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ρ(zzμ), 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⁡-\loglog (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μρ(zzμ)dzN1μe(zμ,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值