BN层论文总结[通俗易懂]

BN层论文总结[通俗易懂]论文:BatchNormalization:AcceleratingDeepNetworkTrainingbyReducingInternalCovariateShiftMotivation题目中的InternalCovariateShift指的是在训练过程中各层输入数据的分布随前一层网络参数的变化而变化的现象,这种现象会使训练深度神经网络变得更加复杂,需要耗费更多的时…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

论文:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

Motivation
  题目中的Internal Covariate Shift指的是在训练过程中各层输入数据的分布随前一层网络参数的变化而变化的现象,这种现象会使训练深度神经网络变得更加复杂,需要耗费更多的时间和资源去调参。为了解决这个问题,文章提出了BN层。

主要内容
  本文设计了一种BN层,在每个输入层前加入一个BN层为每层的输入数据做一个改进了的归一化预处理,由于普通的归一化处理会影响网络层所学习的特征,因此BN层中引入了两个可学习的参数对归一化操作进行了改进使得网络可以恢复出原始网络所要学习的特征分布,经实验证明BN层的使用可以有效抑制Internal Covariate Shift现象。

BN层
  普通的归一化操作(Z-score标准化)归一化到均值为0方差为1的公式如下,即每个样本减去样本数据的平均值后再除以样本数据的标准差
         在这里插入图片描述
  因为这种归一化操作会使得处理过后的数据符合标准的正态分布,所以会影响网络层所学习的特征。在BN层中提出了一种对其进行改进的方法,即对进行Z-score标准化后的数据再进行一次变换,用来恢复原始所要学习的特征分布,公式如下:
          在这里插入图片描述
  其中γ和β是一对需要学习的参数。
  整个BN层的计算流程如下:
在这里插入图片描述
  文中将BN层放在激活函数之前,在训练结束时每个BN层中的γ和β的参数将不变。

原来的网络前向传导的计算公式如下,其中g为激活函数,z为网络输出。
          在这里插入图片描述
加入BN层后的网络前向传导的计算公式如下,由于归一化的作用,偏置b可以省去。
          在这里插入图片描述
测试及实验
测试时BN层使用的计算公式为
     在这里插入图片描述
在这里插入图片描述
  从实验结果可以看出,图a中有BN层的网络更快且准确率更高;图b、c中有BN层的网络分布更加平稳,有效抑制了ICS现象。
在这里插入图片描述
  文章同时还在图像分类研究中对BN层进行了实验。文中不仅仅给网络加入了BN层,还改变了以下几点:增加学习率;删除Dropout;去掉L2正则项;加快学习率衰减;删除LRN;打乱训练样本。

实验表明BN-x30的效果最好,这是一个使用了上述改变,并且加入了BN层的网络,其初始学习率为0.045.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182053.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SPSS(二)SPSS实现多因素方差分析模型(图文教程+数据集)

    SPSS(二)SPSS实现多因素方差分析模型(图文教程+数据集)SPSS(二)SPSS实现多因素方差分析模型单因素方差分析上一篇博客https://blog.csdn.net/LuYi_WeiLin/article/details/89917656已经介绍完毕这篇博客我们主要来学习多因素方差分析多因素方差分析,就是同时考虑若干个控制因素的情况下,分别分析它们的改变是否造成观察变量的显著变动(多个自变量,一个因变量)自变量类型以分类变量为主也可以…

    2022年10月21日
    2
  • 蓝桥杯单片机必备知识—–(11)EEPROM

    蓝桥杯单片机必备知识—–(11)EEPROM

    2021年4月14日
    155
  • DHCP原理及DHCP服务器的防攻击手段「建议收藏」

    DHCP原理及DHCP服务器的防攻击手段「建议收藏」一、DHCP简介1、产生背景:网络增大,手工配置存在很多问题【人员素质要求高、容易出错、灵活性差、IP地址资源利用率低、工作量大,不利于管理等】2、DHCP相对于静态手工配置的优点【效率高、灵活性强、易于管理等】二、DHCP的原理与配置(一)、DHCP的基本工作过程【发现阶段、提供阶段、请求阶段、确认阶段】如下图:【发现阶段】:在发现阶段,DHCP客户端会以广播的方式给自己所在在广播域…

    2022年6月17日
    38
  • 网络层传输层(计算机网络传输层大题)

    概述传输层的意义网络层可以把数据从一个主机传送到另一个主机,但是没有和进程建立联系。传输层就是讲进程和收到的数据联系到一起,使数据能够为应用服务所以说传输层是主机才有的层次传输层的两个协议传输层的寻址和端口端口号只用于计算机分辨本地进程,总共有2^16=65536种端口号,端口号有很多种,不能随便使用常见的应用程序端口号UDP协议UDP概述注释:因为UDP一次发送一个完整报文不会分片,所以需要应用层传输过来的数据不要太大,否则网络层分片任务就很重,但是也不能太小,不然效率较低

    2022年4月11日
    65
  • 微信小程序累计访客数怎么查_小程序独立访客uv是什么

    微信小程序累计访客数怎么查_小程序独立访客uv是什么在小程序后台查看打开这里然后在这里查看,不过是昨天的数据当天的在下一天更新也可以登录后台顶部导航栏右侧将鼠标挺方在手机查看数据上方扫二维码即可查看还有都告诉了这么多了扫一扫下方小程序码支持一下,谢谢…

    2022年9月18日
    1
  • 虚函数表详解

    虚函数表详解本文转自:https://blog.csdn.net/lihao21/article/details/50688337关键词:虚函数,虚表,虚表指针,动态绑定,多态一、概述为了实现C++的多态,C++使用了一种动态绑定的技术。这个技术的核心是虚函数表(下文简称虚表)。本文介绍虚函数表是如何实现动态绑定的。二、类的虚表每个包含了虚函数的类都包含一个虚表。我们知道,当一个类(A)继承另一个类(B)时…

    2022年7月26日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号