1700538440
(9.36)
1700538441
1700538442
1700538443
其中x(k)为该层第k个神经元的原始输入数据,E[x(k)]为这一批输入数据在第k个神经元的均值,为这一批数据在第k个神经元的标准差。
1700538444
1700538445
批量归一化可以看作在每一层输入和上一层输出之间加入了一个新的计算层,对数据的分布进行额外的约束,从而增强模型的泛化能力。但是批量归一化同时也降低了模型的拟合能力,归一化之后的输入分布被强制为0均值和1标准差。以Sigmoid激活函数为例,批量归一化之后数据整体处于函数的非饱和区域,只包含线性变换,破坏了之前学习到的特征分布。为了恢复原始数据分布,具体实现中引入了变换重构以及可学习参数γ和β:
1700538446
1700538447
1700538448
,
1700538449
1700538450
(9.37)
1700538451
1700538452
其中γ(k)和β(k)分别为输入数据分布的方差和偏差。对于一般的网络,不采用批量归一化操作时,这两个参数高度依赖前面网络学习到的连接权重(对应复杂的非线性)。而在批量归一化操作中,γ和β变成了该层的学习参数,仅用两个参数就可以恢复最优的输入数据分布,与之前网络层的参数解耦,从而更加有利于优化的过程,提高模型的泛化能力。
1700538453
1700538454
完整的批量归一化网络层的前向传导过程公式如下:
1700538455
1700538456
1700538457
,
1700538458
1700538459
(9.38)
1700538460
1700538461
1700538462
,
1700538463
1700538464
(9.39)
1700538465
1700538466
1700538467
,
1700538468
1700538469
(9.40)
1700538470
1700538471
1700538472
.
1700538473
1700538474
(9.41)
1700538475
1700538476
批量归一化在卷积神经网络中应用时,需要注意卷积神经网络的参数共享机制。每一个卷积核的参数在不同位置的神经元当中是共享的,因此也应该被一起归一化。具体实现中,假设网络训练中每一批包含b个样本,由一个卷积核生成的特征图的宽高分别为w和h,则每个特征图所对应的全部神经元个数为b×w×h;利用这些神经元对应的所有输入数据,我们根据一组待学习的参数γ和β对每个输入数据进行批量归一化操作。如果有f个卷积核,就对应f个特征图和f组不同的γ和β参数。
1700538477
1700538478
1700538479
1700538480
1700538482
百面机器学习:算法工程师带你去面试 05 深度卷积神经网络
1700538483
1700538484
1700538485
1700538486
场景描述
1700538487
1700538488
卷积神经网络(Convolutional Neural Networks,CNN)也是一种前馈神经网络,其特点是每层的神经元节点只响应前一层局部区域范围内的神经元(全连接网络中每个神经元节点响应前一层的全部节点)。一个深度卷积神经网络模型通常由若干卷积层叠加若干全连接层组成,中间也包含各种非线性操作以及池化操作。卷积神经网络同样可以使用反向传播算法进行训练,相较于其他网络模型,卷积操作的参数共享特性使得需要优化的参数数目大大缩减,提高了模型的训练效率以及可扩展性。由于卷积运算主要用于处理类网格结构的数据,因此对于时间序列以及图像数据的分析与识别具有显著优势。
1700538489
[
上一页 ]
[ :1.70053844e+09 ]
[
下一页 ]