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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • chmod 755 filename「建议收藏」

    chmod 755 filename「建议收藏」chmod755filenamechmod755filenameFunctionAttentionchmod755filenameFunctionTochangethelimitofyourfilesAttentionwhenyouwanttochangethelimitofadirectory,youshouldbecarefultouse‘-R’after‘chmod’,becausethetotalsub-directori

    2022年7月16日
    11
  • html右浮动代码_html+css+js

    html右浮动代码_html+css+js网上一般的网页浮动广告代码都是基于jquery的,受jiquery版本及浏览器限制,非常容易出现不兼容的情况,本站分享一段纯js网页浮动广告代码,简单兼容。html代码:javascript代码:window.onload=function(){varx=50,y=60;varxin=true,yin=true;varstep=1;vardelay=10;varobj=docu…

    2022年9月20日
    0
  • Python获取时间戳及常用的时间格式转换[通俗易懂]

    Python获取时间戳及常用的时间格式转换[通俗易懂]常用的时间格式转换:时间戳:10位13位16位ISO格式UTC时间代码如下:#!/usr/bin/envpython#coding=utf-8″””#:author:TerryLi#:url:https://blog.csdn.net/qq_42183962#:copyright:©2020-presentTerryLi#:motto:IbelievethattheGodrewardsthediligent.”””import

    2022年10月2日
    0
  • Win10图标变白纸了,恢复方法

    Win10电脑桌面图标变成白纸了,恢复步骤第一种方法(此方法失败用第二种)首先开启显示隐藏受保护的系统文件和文件夹的设置。打开计算机,单击【文件】菜单中的【更改文件夹和搜索选项】选项。切换到【查看】选项卡,在【高级设置】选择【显示隐藏的文件、文件夹和驱动器】,然后单击【确定】按钮保存设置,之后关闭。键盘按WIN+R组合键,弹出窗体里键入【%USERPROFILE%\AppData\Local】回车键确定打开的文件夹窗口删除隐藏状态的IconCache.db图标缓存文件,搞定。第二种方法

    2022年4月5日
    3.8K
  • 处理Simulink的代数环的方法为逐个添加一阶惯性环节

    处理Simulink的代数环的方法为逐个添加一阶惯性环节处理Simulink的代数环的方法为逐个添加一阶惯性环节。代数环实际上是微分方程的输入在第一步没有值,而如果串联一个积分器的话就可以有初值,从而避免。通过增加一个一个时步的惯性环节,实现在基本不改变输出的情况下避免代数环。测试是可行的。…

    2022年10月5日
    0
  • python爬取豆瓣电影榜单

    python爬取豆瓣电影榜单python爬取豆瓣电影榜单python爬取豆瓣电影榜单并保存到本地excel中,以后就不愁没片看了。目标确定我们想要抓取的电影的相关内容。抓取豆瓣top250电影的排名、电影名、评价(总结很到位)、评分、点评人数及电影的豆瓣页面。抓取各种电影类型的排行榜前100。编码省略需求到编码中间的繁文缛节,直接上手编码。(此处是最终编码)目标一使用BeautifulSoup解析页面查找元素。目标二调用接口处理返回的json数据。importrequestsimportopenpyx

    2022年5月28日
    32

发表回复

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

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