作用:神经网络对0附近的数据更敏感,但是随着网络层数的增加,特征数据会出现偏离0均值的情况,标准化可以使数据符合以0位均值,1为标准差的正太分布,把偏移的特征数据重新拉回0附近。

方法:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  标准化:使数据符合0为均值,1为标准差的分布。

  批标准差:对一小批数据(batch),做标准化处理。

  批标准化后,第K个卷积核的输出特征图中的第i个像素点的值计算过程为:

  批标准化—BN 人工智能 第1张

  批标准化—BN 人工智能 第2张 批标准化前,第K个卷积核,输出特征图中第i个像素点的值

  批标准化—BN 人工智能 第3张批标准化前,第K个卷积核,batch张输出特征中所有像素点的平均值即   像素点的数量 = batch*该层卷积核数量*每个 卷积核的输出特征图像素数量

    批标准化—BN 人工智能 第4张批标准化前,第k个卷积核,batch张输出特征中所有要素点的标准差

   批标准化—BN 人工智能 第5张

   批标准化—BN 人工智能 第6张

   BN操作将原本偏移的特征数据重新拉回到0均值,使进入激活函数的数据分布在激活函数线性区,使得输入数据的微小变化更明显的体现到激活函数的输出,提升了激活函数对输入数据的区分力

   批标准化—BN 人工智能 第7张

   但是这种简单的特征数据标准化使特征数据完全满足标准正分布,集中在激活函数的中心区域,使激活函数失去了非线性特性。

   批标准化—BN 人工智能 第8张

     因此在BN操作中为每个卷积核引入了两个可训练参数γ和β,反向传播时缩放银子γ和偏移因子β会与其他带训练参数一同被训练优化,使标准正太分布后的特征数据通过缩放因子和偏移因子优化了特征数据的宽窄和偏移量保证了网络的非线性表达力

 

   批标准化—BN 人工智能 第9张批标准化—BN 人工智能 第10张

 

   BN层位于卷积层之后,激活层之前

   批标准化—BN 人工智能 第11张

 

TF2描述:

   tf,keras.layers.BatchNormalization()

 

实例:

model = tf.keras.models.Sequential(
    Conv2D(filter=6, kernel_size=(5, 5), padding='same'),  # 卷积层
    BatchNormalization(),  # BN层
    Activation('relu'),  # 激活函数
    MaxPool2D(pool_size=(2, 2), strides=2, padding='same'),  # 池化层
    Dropout(0.2)  # dropout层
)

  

 

  

  

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄