批归一化优点:
-
使学习快速进行(能够使用较大的学习率)
-
降低模型对初始值的敏感性
-
从一定程度上抑制过拟合
过程推导:
这是利用paddelpaddel对二维输入数据的实现:
对于激活函数的介绍:sigmoid所引起梯度消失的解释
对sigmoid求导:
我们知道对所有的输入数据,sigmoid都会将其放缩到0-1之间,对于隐藏层节点各sigmoid导数如图所示:
即对隐藏层各节点的输出值只有在-5到5之间时,sigmoid导数才会有值且变化陡峭,当然除输入输出节点外,其他节点都会被sigmoid缩放在0-1之间,这就会令sigmoid导数趋近在0.2到0.25之间,如图
通过上式,我们也可以知道sigmoid导数最大值为0.25。这就导致每次反向传播,梯度都会以高于4倍的速度衰减,经过多层传播梯度自然接近于零。
ReLU函数则不会造成梯度消失,因为其本身特性,对小于零采取不激活处理,大于0则取其本身,这可以将梯度完整传播。
丢弃法(paddel):随机丢弃一些神经元,令其无法向后传输,从而防止过拟合。
训练时由于部分神经元被随机丢弃了,输出数据的总大小会变小。比如:计算其L1L1L1范数会比不使用Dropout时变小,但是预测时却没有丢弃神经元,这将导致训练和预测时数据的分布不一样。为解决问题,paddel给出两种办法:
paddelpaddel实现dropout:
可以看到有些节点归零。
LeNet-5:
输入图片是灰度图,所以开始的输入通道为1,最后全连接输出的10个数据对应着识别图片类别的10种类别,比如0-9的数字,可以再通过softmax函数激活为是某种类别的概率。第二层卷积层是输入图片卷积六个卷积核形成6个输出通道,尺寸变为28x28。再经过Relu激活后给到池化层,这里采用MaxPool池化,尺寸变为14x14。第二次卷积,是卷积16个5x5的卷积核,在此处是通过对S2 的特征图特殊组合计算得到的16个特征图,并不是按照常规的卷积规则。特殊规则如下:
再经过池化得到5x5的特征图,再经过C5卷积层后通道数变为120,特征尺寸变为1x1(二维)。
转变为二维数据传递给全连接神经网络。之后便是全连接神经网络对数据的训练,最后对数字的过程图大概为:
参考:(3条消息) 详解深度学习之经典网络架构(一):LeNet_chenyuping666的博客-CSDN博客
(3条消息) 为什么sigmoid会造成梯度消失?_outsider0007的博客-CSDN博客_sigmoid梯度消失