Batch Normalization:Accelerating Deep Network Training by Reducing Internal Concariate Shift《》

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift BackgroundCovariance shift ——when the input distribution to a learning system changes, it is said to experience covariance shift.当这种现象发生在多层神经网络之间时,即前面层参数的改变,使得后面层的输入分布发生改变时,就叫Internal covariance shif 阅读详情

internal covariate shift:
由于训练过程中网络参数的变化,导致网络内部激活层分布的变化。
这种思想的由来:
1,统计机器学习中有一个经典的假设:训练数据和测试数据是满足相同分布的。covariate shift:训练集的样本数据分布变化时,训练得到的模型无法很好的Generalization。
2,在神经网络中的各输出层可以作为下一层的输入层,也就是输出层可以作为训练数据,但每一层所指的label不变,所以如果各输出层如果分布不一样,就可以当作是covariate shift。

Introduce
1,介绍了SGD的优缺点,优点比如mini-batch,简单有效之类的。缺点,调参困难,特别是学习率和初始值。参数小的波动会扩大影响整个网络,特别是网络很深的时候。接着通过F2(F1(u,θ1),θ2)F_2(F_1(u,\theta_1),\theta_2)F2​(F1​(u,θ1​),θ2​)说明,如果输入输出的分布相同,θ2\theta_2θ2​就无需调整去补偿x的分布的变化。也是ICS的思想
2,通过sigmod函数的分析,得到当|x|增大时,会导致导数的值趋于0,从而使得x陷入饱和区域,梯度消失。这里也提出另外一些工作比如relu,xavier的初始化。
3,提出ICS,并大致介绍了batch normalization的优点,后文会具体介绍。

Towards Reducing ICS
引入的思想:1,降低ICS。 2,当输入white时,网络训练的收敛速度变快。
大致介绍了在中心化的过程中(不包括除以方差),bias项的改变对中心化后的x没有影响。也就是说x^=x−E(x)x=u+b\hat{x} = x - E(x)\\ x= u + bx^=x−E(x)x=u+b与b无关。因此不需要添加b。又通过矩阵Conv[x]=E[xxT]−E[x]E[x]TConv[x] = E[xx^T] - E[x]E[x]^TConv[x]=E[xxT]−E[x]E[x]T标准化Conv−1/2(x−E(x))Conv^{-1/2}(x-E(x))Conv−1/2(x−E(x))x是层输入,Conv[x]是协方差矩阵,可以看出全维度的normalization的计算量非常大。

Normalzation via Mini-Batch Statistics
这部分反而是最简单的,作者对normalization进行了两个优化
1、由于全维度的normalization计算量太大,对每个特征维度分别进行normalization。比如有d个维度的输入x=(x(1)...,x(d))x = (x^{(1)} ...,x^{(d)})x=(x(1)...,x(d))
x^(k)=x(k)−E(x(k))Var[x(k)]\hat{x}^{(k)} = \frac{x^{(k)} - E(x^{(k)})}{\sqrt{Var[x^{(k)}]}}x^(k)=Var[x(k)]​x(k)−E(x(k))​
作者提出简单的normalization可能会改变层中输入的表达,所以引入γk,βk\gamma_k,\beta_kγk​,βk​,当γk=x(k)\gamma_{{k}} = \sqrt{x^{(k)}}γk​=x(k)​ β(k)=E(x(k))\beta^{(k)} = E(x^{(k)})β(k)=E(x(k))时,还原原始的输入值。
2、由于对整个训练集进行normalization计算量太大(主要是后续的batch normalization的backwards),在SGD中又使用了mini-batch,刚好对mini-batch中的数据进行normalization。

在这里插入图片描述
文中通过进一步的梯度推导公式,也说明了该函数可微分,可以进行backwards。
公式具体如下:
在这里插入图片描述
然后是它在测试集上的应用。测试集中使用的方差是方差的无偏估计(无偏估计指的是估计量的数学期望等于被估计参数)
在这里插入图片描述
对于cnn,文中将cnn中的每个特征图当成一个神经元,因此在使用Batch Normalization,mini-batch size 的大小就是:mpq,于是对于每个特征图都只有一对可学习参数:γ、β。说白了吧,这就是相当于求取所有样本所对应的一个特征图的所有神经元的平均值、方差,然后对这个特征图神经元做归一化。
batch normalization 允许使用更大的学习率,在一般情况下当学习率增大时,w变化的范围变大,会导致w的范围变大,从而在正向传播时,每一层的输出范围会变大,在反向传播时,可以大概知道对w求导的导数,与层输出相关,会导致反向传播的值很大,学习率又偏大,就可能导致梯度爆炸。
在这里插入图片描述

而当进行正则化之后,每一层的输出范围确定。W较大,BN()反向传播的梯度反而减小,有利于遏制梯度爆炸

优点:
1,有效遏制了梯度消失和梯度爆炸。
2,解决了internal covariate shift的问题,将训练集和测试集强行拉到标准正态分布。

衍生的优点:
1,训练更快,优点(1,2)
2,容忍更高的学习率 优点(2)
3,让权重更容易初始化 优点(2)
4. 可支持更多的激活函数 优点(2)
5. 简化创建深层的神经网络

文献阅读 - Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 参考文献:Ioffe S , Szegedy C . Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[J]. 2015. 摘要(Abstract) 由于训练过程中各层输入的分布随前一层参数的变化而变化,使得深度神经网络的训练变得复杂,同时也导致学习率较低、初始参... 阅读详情

相关推荐

Batch Normalization: Accelerating Deep Network Training by Reducing

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

深度学习论文--Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

本文翻译论文为深度学习经典模型之一:GoogLeNet-BN 论文链接:https://arxiv.org/abs/1502.03167v3 摘要:训练深度神经网络的难度在于:前一层网络参数的变化,导致每一层输入的分布也随之变化。通常需要设置小的学习率以及小心的初始化,因此降低了网络的学习速度,并且经常出现非线性饱和,最终导致深度网络难以训练。本文称这种现象为内部协方差偏移(internal ...

DAOCHI 4209

科技中介服务机构想要提升服务效率,需要哪些数智工具支持?.docx

科技中介服务机构想要提升服务效率,需要哪些数智工具支持?

BN——Batch Normalization:Accelerating Deep Network Training by Reducing Internal Covariate Shift

原文:https://arxiv.org/pdf/1502.03167.pdf 摘要 训练深度神经网络的复杂性在于,每层输入的分布在训练过程中会发生变化,因为前面的层的参数会发生变化。通过要求较低的学习率和仔细的参数初始化减慢了训练,并且使具有饱和非线性的模型训练起来非常困难。我们将这种现象称为内部协变量转移,并通过标准化层输入来解决这个问题。我们的方法力图使标准化成为模型架构的一部分,并为每个训练小批量数据执行标准化。批标准化使我们能够使用更高的学习率,并且不用太注意初始化。它也作为一个正则化项,在某

乐亦亦乐的博客 564

工业音频故障检测:从CNN到Transformer的技术演进

音频信号处理是工业设备预测性维护的核心技术之一,通过分析设备运行时产生的声波特征实现故障预警。传统方法依赖梅尔频率倒谱系数(MFCC)等手工特征,而深度学习技术尤其是Transformer架构,通过自注意力机制突破了CNN在跨频段特征提取上的局限。Audio Spectrogram Transformer(AST)等先进模型在工业场景中展现出91.2%的高召回率,显著优于传统方案。这种非接触式监测技术结合边缘计算优化,已成功应用于石油化工、电力能源等领域,实现提前72小时预测轴承故障,单项目可避免数百万元的

weixin_30467861的博客 328

【Milvus】实战指南:利用milvus-backup实现高效数据备份与恢复

本文详细介绍了如何利用官方工具milvus-backup为Milvus向量数据库实施高效的数据备份与恢复。文章从备份的必要性出发,逐步讲解了环境准备、配置要点、全量与按需备份操作,以及恢复数据的关键步骤和验证方法,旨在帮助用户构建可靠的数据安全防线,应对误操作或系统故障风险。

weixin_29217235的博客 132

Batch Normalization:加速神经网络训练的通用手段

本文详尽介绍了近几年在深度学习领域十分重要的“小trick,大杀器”——Batch Normalization,实际编码实现对比加入BN前后模型的性能表现差异。

hyman.lu 2930

Oracle数据库安装及配置(Oracle19c)

Windows 10安装Oracle 19c教程

weixin_69200200的博客 2万+

【论文阅读】Batch Normalization:Accelerating Deep Network Training by Reducing Internal Covariate Shift

Batch Normalization,BN-Inception

qq_34222839的博客 1315

mac搭建ios自动化环境之WebDriverAgent配置

一、WebDriverAgent 1、简单介绍: WebDriverAgent是facebook为苹果公司开发的一款自动化测试工具,github上有下载资源;另外appium安装后也会自动安装自带的WebDriverAgent;可以用自带的,也可以从github下载并替换自带的; 2、不同appium版本自带WebDriverAgent默认路径不同 1)appium 1.10.1之前版本: npm方式安装: /usr/local/lib/node_modules/appium/node_modules/a

qq_30237715的博客 2763

优化求解器性能:当分支切割算法中的gap停滞不前时如何应对

本文深入探讨了当分支切割算法求解复杂整数规划问题时,gap停滞不前的根本原因与应对策略。文章指出gap停滞源于上界(找不到更优整数解)或下界(证明过程缓慢)提升受阻,并提供了从模型改写、自定义割平面、调整搜索策略到参数调优等一系列实战方法,帮助优化工程师有效打破求解僵局,推动gap下降。

weixin_29294597的博客 381

Accelerating Deep Network Training by Reducing Internal Covariate Shift-BN归一化解读

作者:18届CYL 日期:2020-9-1 期刊:arxiv 标签: BN归一化 论文:《Batch Nomalization:Accelerating Deep Network Training by Reducing Internal Covariate Shift》 一、背景知识 1、2015年 收录在arxiv。 介绍了一种归一化方法,可以加快收敛速度,减少学习率,dropout比例这种超参数的设计。在15年之后的模型中基本都会用到。作者:Sergey loffe、Christian Szeged

appleclub666的博客 693

已解决-Parallels Desktop 16 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络

我是月球挖掘机,相信不少打工人为了尝鲜已经更新了MacOS 11 Big Sur,当然,苹果每次的系统大更新,都会给我们软件的功能无法使用惊喜,这次的也不例外。 这个问题是我在更新macOS Big Sur之后,Parallels Desktop打开虚拟机后,提示: 报错信息 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络 这是我的软件版本: 起初我以为是我的虚拟机坏了,结果重装了一遍虚拟机,没有任何用处。我开始在网上找方法,只能找到那个使用命令行打开软件的命令,除此之外没有了

月球挖掘机 5万+

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift全文翻译

Inception v2 Sergey Ioffe,Christian Szegedy Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift - 原文 论文解读 精读深度学习论文(3) Batch Normalization 0 摘要 由于训练过程中各层输入的分布...

种树最好的时间是10年前,其次是现在!!! 8702

在 ABAP 中把变量一次写对:深入理解 FINAL 内联声明与不可变变量

摘要:ABAP中的FINAL声明操作符用于定义不可变变量,强调"当前上下文中的唯一写位置",能有效防止变量被意外修改,提升代码健壮性和可读性。官方建议优先在单次赋值的场景使用FINAL替代DATA。其核心规则包括:1)写位置唯一但可多次执行(如循环内);2)不创建块级作用域;3)对引用变量仅约束引用本身而非对象内容。典型适用场景包括:结果值只读、输入快照保存和中间结果保护。例外情况如游标变量不适用,因需多次写操作。正确使用FINAL可显著降低代码维护风险。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1046

【FPGA教程案例87】加解密1——基于FPGA的AES加解密算法verilog实现

DES已走到了它生命的尽头。56比特密钥实在太小,虽然三重DES可以解决密钥长度的问题,但是DES的设计主要针对硬件实现,而今在许多领域,需要用软件方法来实现它,在这种情况下,它的效率相对较低。1997年4月15日美国国家标准和技术研究所(NIST)发起征集AES(Advanced Encryption Standard)算法的活动,并成立了AES工作组。目的是为了确定一个非保密的、公开披露的、全球免费使用的加密算法,用于保护下一世纪政府的敏感信息。这里,我们对AES的基本原理进行介绍:

FPGA/MATLAB学习教程/源码/项目合作开发 2546

Batch Nornaliation:Accelerating Deep Network Training by ReducingInternal Covariate Shift

批量归一化

weixin_44962171的博客 513

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

【问题挑战】训练深度神经网络很复杂,因为在训练过程中,随着前一层的参数变化,每一层输入的分布都会发生变化;通过较低的学习率(lr)和仔细的参数初始化来解决,但会减慢训练速度,并且经常出现非线性饱和,最终导致深度网络难以训练(如sigmoid造成梯度消失问题);【解决方法】将这种现象称为内部协方差偏移(internal covariate shift),并通过对网络层的输入进行归一化(BN)来解决这个问题。

just 454

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[翻译]Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

Batch Normalization: Accelerating Deep Network Training byReducing Internal Covariate Shift 批处理归一化:通过减少内部协变量移位来加速深度网络训练 摘要 训练深度神经网络是复杂的,因为在训练过程中,每一层的输入分布都会随着前一层参数的变化而变化。由于需要较低的学习率和小心的参数初始化,这减慢了训练的速度,并且使得训练具有饱和非线性的模型变得非常困难。我们将这种现象称为内部协变量移位,并通过规范化层输入来解.

sinat_40759442的博客 413

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

本次阅读的论文是发表《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》,这是一篇经典文章。前段时间我自己手写resnet50网络的时候,其中采用了Batch Normalization(BN),我自己当时就不太理解,踩了一些坑。关于Batch Normaliat...

Hunter的博客 1439

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

0 摘要    当前神经网络层之前的神经网络层的参数变化,会引起神经网络每一层输入数据的分布产生变化,这使得训练一个深度神经网络变得复杂。通过设置较小的学习率以及更谨慎的初始化参数减慢了训练,并且由于非线性饱和(注:如sigmoid激活函数的非线性饱和问题),训练一个深度神经网络会非常困难。这种现象被称为internal covariate shift。解决这个问题需要对输入进行标准化。本文的方法...

Jayxbx的博客 506

(11)[ICML15] Batch Norm: Accelerating Deep Network Training by Reducing Internal Covariate Shift

计划完成深度学习入门的126篇论文第十一篇,Google的Ioffe和Szegedy使用一种新的regularization方法或者说是新的initialization的方法Batch Normalization。 ABSTRACT&INTRODUCTION 摘要 由于训练过程中各层输入的分布随前一层参数的变化而变化,使得深度神经网络的训练变得复杂。这需要较低的学习率和谨慎的参数初始...

gdtop的个人笔记 805

《Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift》阅读笔记与实现

《Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift》阅读笔记

happynear的专栏 7万+
上一篇: local expansion
下一篇: Deep Layer Aggregation笔记
weeeeeida
博客等级 码龄9年 12粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值