为什么需要激活函数 为什么需要归一化 pytorch BatchNorm2d python内置函数:enumerate用法总结


为什么需要激活函数 为什么需要归一化 pytorch BatchNorm2d python内置函数:enumerate用法总结

待办

激活函数的用途(为什么需要激活函数)?
如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层节点的输入都是上层输出的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了,那么网络的逼近能力就相当有限。正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络表达能力就更加强大(不再是输入的线性组合,而是几乎可以逼近任意函数)。
激活函数实际就是让整个网络仿真出来的模型逼近任何函数,

使用sigmod激活函数,误差会通过激活函数传递,所以要对激活函数求导,如果对于x值的激活函数导数恒为0,那么误差就不能传递。
所以需要归一化把x值的范围稳定在激活函数导数不为0的范围内才行,才能更好的进行误差传递权值更新。

torch.nn.init.kaiming_normal_(w2)


python内置函数:enumerate用法总结  
https://blog.csdn.net/IAMoldpan/article/details/78487809

**归一化batch normalization操作讲解pytorch **

https://www.cnblogs.com/yongjieShi/p/9332655.html
m = nn.BatchNorm2d(3) # bn设置的参数实际上是channel的参数

对于所有batch中的同一个channel的元素进行求均值与方差


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM