nn.BatchNorm2D() 详细解析

nn.BatchNorm2D() 详细解析

paddle.nn.BatchNorm2D(num_features, momentum=0.9, epsilon=1e-05, weight_attr=None, bias_attr=None, data_format='NCHW', name=None):

目的

加速神经网络的收敛过程以及提高训练过程中的稳定性

应用场景

通常用于解决多层神经网络中间层的协方差偏移问题(用了准没错)

行为方式

使一批(Batch)feature map满足均值为0,方差为1的分布规律。这样不仅数据分布一致,而且避免发生梯度消失。

通俗解释

类似于网络输入进行零均值化和方差归一化的操作,不过是在中间层的输入中操作而已。

参数说明

  • num_features (int) - 指明输入 Tensor 的通道数量。
  • epsilon (float, 可选) - 为了数值稳定加在分母上的值。默认值:1e-05。
  • momentum (float, 可选) - 此值用于计算 moving_meanmoving_var 。默认值:0.9。更新公式如上所示。
  • weight_attr (ParamAttr|bool, 可选) - 指定权重参数属性的对象。如果为False, 则表示

你可能感兴趣的:(人工智能,机器学习,paddle,batchNorm2D,神经网络,机器学习)