神经网络Batch Normalization——学习笔记
训练神经网络的过程,就是在求未知参数(权重)。让网络搭建起来,得到理想的结果。
分类-监督学习。
反向传播求权重:每一层在算偏导数。局部梯度,链式法则。
激活函数:
sigmoid仅中间段趋势良好
对复杂的神经网络(累计),会出现梯度消失、梯度爆炸
训练网络是为了求权重;
反向传播方法,更新权重;
使用的是梯度来更新,如果梯度趋近于0,
sigmoid梯度最大才0.25。
Batch Normalization
BN解决了梯度消失同时保留非线性。
ICS现象(internel shift)输入数据在每一层上分布发生了改变
神经网络初始输入要初始化,是为了落在梯度大的区间
随着网络的深入,数据落在
解决方法:移回去
一个神经网络可以解决问题最大的优势:非线性
sigmoid中,把shift移回去。中间部分类似线性了,和非线性初衷相悖。线性的网络表达能力特别差。
BN的高明之处,除了限定在一定标准差之内。拓展一下,还是以0为中心,拓宽。避免落在线性空间。
正态分布(均值影响中心位置,标准差sigma),通过控制参数来改变函数形状。
训练中直接训练BN的两个参数。
BN解决梯度消失,从而在深层网络中仍可以训练。
BN在网络中的位置:
但是层数深了还是无法避免梯度消失。
深度残差网络(Deep Residual Network )
Residual Network通过引入Skip Connection到CNN网络结构中,使得网络深度达到了千层的规模,并且其对于CNN的性能有明显的提升
参考:Skip Connection为何有效及其它 - 张俊林的博客 https://blog.csdn.net/malefactor/article/details/67637785
ζั͡ޓއ genji - 至此只为原地流浪.......