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.

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • @RequestBody的使用[通俗易懂]

    @RequestBody的使用[通俗易懂]提示:建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论!本文前半部分的内容都是一些基本知识常识,可选择性跳过。声明:本文是基于SpringBoot,进行的演示说明。基础知识介绍:@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBo…

  • navicat for mac激活码【中文破解版】

    (navicat for mac激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • SimpleDateFormat 常用用法[通俗易懂]

    SimpleDateFormat 常用用法[通俗易懂]1、SimpleDateFormat函数语法:G年代标志符y年M月d日h时在上午或下午(1~12)H时在一天中(0~23)m分s秒S毫秒E星期D一年

  • vue-router 报错:Navigation cancelled from“/…“ to “/…“ with a new navigation.

    vue-router 报错:Navigation cancelled from“/…“ to “/…“ with a new navigation.vue-router@3.0版本及以上回调形式已经改成promiseapi的形式了,返回的是一个promise,如果路由地址跳转相同,且没有捕获到错误,控制台始终会出现如图所示的警告(注:3.0以下版本则不会出现以下警告!!!,因路由回调问题…)*怎么解决呢?方案一:安装vue-router3.0以下版本:先卸载3.0以上版本然后再安装旧版本npminstallvue-router@2.8.0-S方案二:针对于路由跳转相同的地址添加catch捕获一下异常:this.$router.

  • 爱发php企业发卡网源码_爱发个人版自动发卡平台PHP开源源码【官方正版】

    爱发php企业发卡网源码_爱发个人版自动发卡平台PHP开源源码【官方正版】爱发个人版自动发卡平台PHP开源网站源码是我官方研发出个人版自动发卡平台系统演示站:http://ka.yc88.net备用:http://php2.a8tg.com/后台:http://php2.a8tg.com/admin.php服务器环境:PHP5.3、zend3、mysql5.1以上版本空间要支持.htaccess伪静态使用自动发卡平台禁止销售国家违规商品,被有关机关查处或接口被冻结或资金…

  • java中两个list对象取交集、差集

    java中两个list对象取交集、差集在一般操作中,对于list集合取交集、差集、并集,比较简单,网上有很多例子,如:今天我们来说一下对于两个list集合该如何取交集与并集:如下两个集合:groupEntityList、saveEntities,groupEntityList是组织集合,saveEntities是组织用户集合,即saveEntities包含groupEntityList中的数据。交集:差集:saveEntities-groupEntityList表达式中谁在前,谁就是减数。希望对大家有所帮助,我是空谷有来人,感谢

发表回复

您的电子邮箱地址不会被公开。

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