admin管理员组文章数量:1614169
论文地址:https://arxiv/pdf/1308.3432.pdf
主要内容
许多基于神经网络或深度学习的算法都是依赖于梯度的学习,为此需要平滑的网络来计算梯度,但这种想法并不正确。引入扰动可以获得估计的梯度。
像有限差分近似这种独立扰动计算低效,因此需要引入随机扰动。
那么好的梯度估计值是否可以进行计算和训练?
基于这一问题,作者讨论了四种方案:
- Noisy Rectifier
- STS Units: Stochastic Times Smooth
- Straight-Through EstimatorStraight-Through Estimator
- Conditional Computation Experiments
考虑神经元的输出
h
i
h_i
hi:
其中,
h
i
h_i
hi是确定的函数。
a
i
a_i
ai是可微的变换,
z
i
z_i
zi是噪声源。令
a
i
a_i
ai为:
其中,
x
i
x_i
xi是输入。
如果
z
i
z_i
zi是加性或乘性的噪声,梯度可以被正常的计算;但如果
z
i
z_i
zi是二元的,f的梯度几乎处处为0。为此,需要对f进行选择,使得梯度分为两个区域:等于0的不敏感区域和不等于0的敏感区域。
1.Noisy Rectifier
令不敏感状态对应于
h
i
=
0
h_i=0
hi=0:
其中,
z
i
z_i
zi为零均值噪声,来自于如下函数:
该整流器有如下性质:
因此,当
f
(
a
i
,
0
)
>
0
f(a_i,0) >0
f(ai,0)>0,神经元处于活动状态,就能被正常激活;少数情况下(负噪声很大)也会不活跃。
当
f
(
a
i
,
0
)
=
0
f(a_i,0)=0
f(ai,0)=0,神经元处于不活跃状态,但是噪声很大时也会被激活,这时如果被激活是好事,则会增加总权重使得被激活概率增加;反之,如果不是好事,则减小权重使得被激活概率减少。
但是,神经元的敏感和不敏感状态的概率是不同的(实际上可能多数情况都处于不敏感状态),为此需要一个机制使得二者概率相同,如设置阈值。
2.STS Units: Stochastic Times Smooth
STS的输出如下:
其性质和证明如下:
上述结论可推广到任意情况下的f(x)的泰勒展开:
3.Unbiased Estimator of Gradient for Stochastic Binary Neurons
过于复杂,有兴趣再看。
4.Straight-Through Estimator
其思想为通过硬阈值函数反向传播(参数为正则输出1,否则输出0)。
h
i
h_i
hi取样于:
则关于
a
i
a_i
ai的损失函数L的梯度的直通估计量为:
实验
本文标签: 论文PropagatingEstimatingGradientsComputation
版权声明:本文标题:论文总结:Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1725806936a1044152.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论