Questions tagged «batch-normalization»

2
批归一化如何以及为什么使用移动平均值来跟踪模型训练的准确性?
我正在阅读批处理规范化(BN)论文(1),但不了解需要使用移动平均值来跟踪模型的准确性,即使我接受这样做是对的,我也不明白他们到底在做什么。 据我所知(我是错的),该论文提到一旦模型完成训练,它将使用人口统计数据而不是小批量统计数据。在讨论了无偏估计(对我来说是切线的,并且不理解为什么如此讨论)之后,他们说: 取而代之的是使用移动平均值,我们在模型训练时跟踪模型的准确性。 那是令我困惑的部分。他们为什么要进行移动平均以估计模型的准确性以及在哪些数据集上? 通常人们会做些什么来估计其模型的泛化,他们只是跟踪模型的验证误差(并可能尽早停止其梯度下降以进行正则化)。但是,批处理规范化似乎在做完全不同的事情。有人可以澄清什么以及为什么做不同的事情吗? 1:Ioffe S.和Szegedy C.(2015年), “批处理规范化:通过减少内部协变量偏移来加速深层网络训练”, 第32届国际机器学习会议论文集,法国里尔,2015年 。机器学习研究杂志: W&CP卷37

1
批处理规范为何具有可学习的规模和转移性?
据我了解,批处理规范将所有输入要素归一化为一层,呈单位正态分布。通过测量当前微型批次的平均值和方差来估计。N(μ=0,σ=1)N(μ=0,σ=1)\mathcal{N}(\mu=0,\sigma=1)μ,σ2μ,σ2\mu, \sigma^2 归一化后,将按比例缩放并按标量值移动输入: x^′i=γx^i+βx^i′=γx^i+β\hat{x}_i' = \gamma \hat{x}_i + \beta (如果我错了,请纠正我-这是我开始有点不确定的地方。) γγ\gamma和是标量值,每个成批处理的图层都有一对。使用backprop和SGD可以了解它们以及权重。ββ\beta 我的问题是,这些参数不是多余的吗,因为可以通过图层本身的权重以任何方式缩放和移动输入。换句话说,如果 y=Wx^′+by=Wx^′+by = W \hat{x}' + b 和 x^′=γx^+βx^′=γx^+β\hat{x}' = \gamma \hat{x} + \beta 然后 y=W′x^+b′y=W′x^+b′y = W' \hat{x} + b' 其中且。W′=WγW′=WγW' = W\gammab′=Wβ+bb′=Wβ+bb'=W\beta + b 那么将它们添加到已经能够学习规模和转移的网络的意义何在呢?还是我完全误会了事情?

1
反向传播的矩阵形式与批量归一化
批归一化已被认为可在深度神经网络中显着提高性能。互联网上的大量资料显示了如何在逐个激活的基础上实施它。我已经使用矩阵代数实现了backprop,并且考虑到我正在使用高级语言(同时依赖Rcpp(最终是GPU的)密集矩阵乘法),将所有内容剔除并采用for-loops可能会使我的代码变慢除了遭受巨大的痛苦之外 批处理归一化函数为 其中b(xp)=γ(xp−μxp)σ−1xp+βb(xp)=γ(xp−μxp)σxp−1+β b(x_p) = \gamma \left(x_p - \mu_{x_p}\right) \sigma^{-1}_{x_p} + \beta pxpxpx_p是激活之前的个节点ppp βγγ\gamma和是标量参数ββ\beta σ X p X pμxpμxp\mu_{x_p}和是均值和SD的。(请注意,通常使用方差的平方根加上一个模糊系数-假设非零元素为紧凑起见)σxpσxp\sigma_{x_p}xpxpx_p 以矩阵形式,整个层的批量归一化将为 其中b(X)=(γ⊗1p)⊙(X−μX)⊙σ−1X+(β⊗1p)b(X)=(γ⊗1p)⊙(X−μX)⊙σX−1+(β⊗1p) b(\mathbf{X}) = \left(\gamma\otimes\mathbf{1}_p\right)\odot \left(\mathbf{X} - \mu_{\mathbf{X}}\right) \odot\sigma^{-1}_{\mathbf{X}} + \left(\beta\otimes\mathbf{1}_p\right) XX\mathbf{X}是N×pN×pN\times p 1N1N\mathbf{1}_N是1的列向量 β pγγ\gamma和现在是每层归一化参数的行向量ββ\betappp σ X Ñ × p ÑμXμX\mu_{\mathbf{X}}和是矩阵,其中每一列都是列均值和标准差的向量σXσX\sigma_{\mathbf{X}}N×pN×pN \times pNNN ⊙⊗⊗\otimes是Kronecker产品,是elementwise(Hadamard)产品⊙⊙\odot ,这是一个非常简单的没有批次归一化且连续结果的单层神经网络 y=a(XΓ1)Γ2+ϵy=a(XΓ1)Γ2+ϵ y = a\left(\mathbf{X\Gamma}_1\right)\Gamma_2 + …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.