作者MXNet (MXNet)
看板DataScience
标题Re: [徵文] Self-Normalizing Neural Networks
时间Mon Jul 9 16:53:03 2018
※ 引述《PyTorch (PY火炬)》之铭言:
: 感谢MXNet大的详细解说
: 想请教MXNet
: 我一直以来有个疑惑未明
: 就是selu是make Feed-forward great again
: 但是如果加在convolution layer也有self normalize的效果吗?
: 以这篇post的作者使用DCGAN的经验来看
: https://ajolicoeur.wordpress.com/cats/
: “All my initial attempts at generating cats in 128 x 128 with DCGAN failed.
: However, simply by replacing the batch normalizations and ReLUs with SELUs,
: I was able to get slow (6+ hours) but steady convergence with the same learning
: rates as before.
: SELUs are self-normalizing and thus remove the need for batch normalization.”
: 看似是selu也能用在convolution layer且self normalize
: 不知道数学上也能支持这件事吗?
: selu paper里的数学推导应该是在Feed-forward的前提?
简答:我看完後,认为是 support 的。
长的回答:
关於数学上假设的部分,
在论文中的第四页的这段 "Deriving the Mean and Variance Mapping Function g"
里面有提到,我们关心的是
z 的 distribution 的假设,
即 两个 layer 之间,後面的那个 layer 的 input 为
z = Wx
的 distribution。
那麽要考虑 distribution 的时候,我们根据中央极限定理,
够多 各式各样的
z 形成的 distribution 是 normal dist。
而且是以
E(z) 为中心,var 为
Var(z) 的 一个 normal dist。
那麽我们现在就来想一下
E(z)
E(z) = μ ω 这里的
ω 是 weight matrix 的 mean,
CNN 的 case 是能够被计算的,没问题。
那麽在单一一个 layer 中的参数量够大的就会越符合 normal dist。
越宽的网路越符合这个假设,
文中是提到的是一个 layer 上百个 node 以上是很常见的,
所以就当作这个假设成立。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.73.135
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1531126386.A.9BB.html
1F:推 PyTorch: 感谢详细的解说 07/10 00:10
2F:→ MXNet: 後来翻看作者给的 code 发现里就有 CNN+SELU 的 notebook 07/10 08:13
3F:推 dragon31536: tensorflow怎麽还没来? 07/10 11:50
4F:→ MXNet: XD 07/10 12:55
5F:推 YannLeCun: 推 07/25 06:55