BN、LN、IN、GN的区别

10 篇文章 0 订阅
订阅专栏
一、Batch Normalization

       卷积神经网络的出现,网络参数量大大减低,使得几十层的深层网络成为可能。然而,在残差网络出现之前,网络的加深使得网络训练变得非常不稳定,甚至出现网络长时间不更新甚至不收敛的现象,同时网络对超参数比较敏感,超参数的微量扰动也会导致网络的训练轨迹完全改变。
       2015年,Google研究人员SergeyIoffe等提出了一种参数标准化(Normalize)的手段,并基于参数标准化设计了BatchNomalization(简写为BatchNorm,或BN)层。BN层的提出,使得网络的超参数的设定更加自由,比如更大的学习率、更随意的网络初始化等,同时网络的收敛速度更快,性能也更好。BN层提出后便广泛地应用在各种深度网络模型上,卷积层、BN层、ReLU层、池化层一度成为网络模型的标配单元块,通过堆叠ConvBN-ReLU-Pooling方式往往可以获得不错的模型性能。
       首先我们来探索,为什么需要对网络中的数据进行标准化操作?这个问题很难从理论层面解释透彻,即使是BN层的作者给出的解释也未必让所有人信服。与其纠结其缘由,不如通过具体问题来感受数据标准化后的好处。
       考虑Sigmoid激活函数和它的梯度分布,如下图10.39所示,Sigmoid函数在x∈[−2, 2] 区间的导数值在[0.1, 0.25] 区间分布;当x > 2或 x < −2 时,Sigmoid函数的导数变得很小,逼近于0,从而容易出现梯度弥散现象。为了避免因为输入较大或者较小而导致Sigmoid函数出现梯度弥散现象,将函数输入 x 标准化映射到 0 附近的一段较小区间将变得非常重要,可以从图10.39看到,通过标准化重映射后,值被映射在0附近,此处的导数值不至于过小,从而不容易出现梯度弥散现象。这是使用标准化手段受益的一个例子。
在这里插入图片描述
       我们再看另一个例子。考虑 2 个输入节点的线性模型,如图 10.40(a)所示:
                                           L L L = a = x 1 w 1 + x 2 w 2 + b x_1w1 + x_2w2 + b x1w1+x2w2+b
讨论如下 2 种输入分布下的优化问题:

i ) i) i) 输入 x 1 ∈ [ 1 , 10 ] x_1\in[1, 10] x1[1,10] x 2 ∈ [ 1 , 10 ] x_2\in[1, 10] x2[1,10]
i i ) ii) ii) 输入 x 1 ∈ [ 1 , 10 ] x_1\in[1, 10] x1[1,10] x 2 ∈ [ 100 , 1000 ] x_2\in[100, 1000] x2[100,1000]

由于模型相对简单,可以绘制出2种 x 1 x_1 x1, x 2 x_2 x2 下,函数的损失等高线图,图10.40(b)是 x 1 ∈ [ 1 , 10 ] x_1\in[1, 10] x1[1,10] x 2 ∈ [ 100 , 1000 ] x_2\in[100, 1000] x2[100,1000] 时的某条优化轨迹线示意图,图10.40©是 x 1 ∈ [ 1 , 10 ] x_1\in[1, 10] x1[1,10] x 2 ∈ [ 1 , 10 ] x_2\in[1, 10] x2[1,10]时的某条优化轨迹线示意图,图中的圆环中心即为全局极值点。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、BN、LN、IN、GN的区别

在这里插入图片描述
一、我们将输入的feature map shape 记为[N, C, H, W], N 表示batch size, C 表示通道数, H 和 W 分别表示高度和宽度, 区别:
i ) i) i) BN 是在 Batch 上,对N、H、W做归一化, BN对较小的batch size 效果不好,BN适用于固定深度的前向神经网络,如CNN,不适用与RNN。
i i ) ii) ii) LN 是在 通道方向上,对 C、H 、W做归一化, 统计每个样本的所有特征的均值和方差 ,主要对RNN效果明显。
i i i ) iii) iii) IN 是在图像像素上, 对H、W做归一化, 统计每个样本的每个通道上特征的均值和方差,用在风格化迁移。
i i i i ) iiii) iiii) GN 先将 C 通道分为若干组, 统计每个样本的通道组内的特征均值和方差

如果把特征图比喻成一摞书,这摞书总共有 N 本,每本有 C 页,每页有 H 行,每行 有W 个字符。

  1. BN 求均值时,相当于把这些书按页码一一对应地加起来(例如第1本书第36页,第2本书第36页…),再除以每个页码下的字符总数:N×H×W,因此可以把 BN 看成求“平均书”的操作(注意这个“平均书”每页只有一个字),求标准差时也是同理。
  2. LN 求均值时,相当于把每一本书的所有字加起来,再除以这本书的字符总数:C×H×W,即求整本书的“平均字”,求标准差时也是同理。
  3. IN 求均值时,相当于把一页书中所有字加起来,再除以该页的总字数:H×W,即求每页书的“平均字”,求标准差时也是同理。
  4. GN 相当于把一本 C 页的书平均分成 G 份,每份成为有 C/G 页的小册子,求每个小册子的“平均字”和字的“标准差”。
BN的作用原理(BNLN、IN和GN
Billie使劲学的博客
06-28 2336
目录为什么引入BNBN的作用原理BN的作用 BN的不足BNLN、IN和GN之间的区别参考为加速网络的训练,在图像预处理时,我们就后对图像进行标准化操作,即image normalization,是的每张图片都能服从u均值σ标准差的分布。但是当图片输如到神经网络后,每经过一次卷积,数据就不会再服从该分布,这种现象叫做ICS(Internal Covariate Shift,内部协变量偏移),该现象会使输入分布变化,导致模型的训练困难,对深度神经网络影响极大,如左图所示,数据分布不统一,深层网络就需要去适应
BNLN、IN、GN的异同
热门推荐
hao1994121的博客
12-21 1万+
  从左到右依次是BNLN,IN,GN   众所周知,深度网络中的数据维度一般是[N, C, H, W]或者[N, H, W,C]格式,N是batch size,H/W是feature的高/宽,C是feature的channel,压缩H/W至一个维度,其三维的表示如上图,假设单个方格的长度是1,那么其表示的是[6, 6,*, * ]   上图形象的表示了四种norm的工作方式: ...
BN LN IN GN区别 各种norm区别以及详细介绍
qq_38376205的博客
10-14 1811
https://blog.csdn.net/shanglianlm/article/details/85075706
计算ln_BNLN,IN,GN都是什么?不同归一化方法的比较
weixin_42365510的博客
12-30 714
批处理归一化(BN)已经成为许多先进深度学习模型的重要组成部分,特别是在计算机视觉领域。它通过批处理中计算的平均值和方差来规范化层输入,因此得名。要使BN工作,批大小必须足够大,通常至少为32。但是,在一些情况下,我们不得不满足于小批量:当每个数据样本高度消耗内存时,例如视频或高分辨率图像当我们训练一个很大的神经网络时,它只留下很少的GPU内存来处理数据因此,我们需要BN的替代品,它能在小批量下很...
BNLN区别
天空的味道
04-25 1940
BN 针对一个batch_size中同一维度的样本在做处理。比如上图,有x1,x2,…,xR个样本,这些样本的第一个维度描述的是体重,第二个维度描述的身高,BN在所有样本的的每一个特征(比如体重维度、身高维度)上进行归一化, BN的优点:第一个优点可以解决内部协变量偏移,第二个优点就是缓解了梯度饱和问题(如果使用sigmoid函数的话),加快收敛。 BN的缺点:第一个缺点batch_size较小的时候,效果很差,因为BN就是用batch_size中样本的均值和方差去模拟全部样本的均值和方差,这个假设在
BNLN区别
进击的扛把子
04-25 1万+
BNLN区别 主要区别在于 normalization的方向不同! Batch 顾名思义是对一个batch进行操作。假设我们有 10行 3列 的数据,即我们的batchsize = 10,每一行数据有三个特征,假设这三个特征是【身高、体重、年龄】。那么BN是针对每一列(特征)进行缩放,例如算出【身高】的均值与方差,再对身高这一列的10个数据进行缩放。体重和年龄同理。这是一种“列缩放”。 而layer方向相反,它针对的是每一行进行缩放。即只看一笔数据,算出这笔所有特征的均值与方差再缩放。这是一种“行缩放”
深度学习归一化方法总结(BNLN、IN、GN)
weixin_43570470的博客
04-09 7797
一般在神经网络中会用到数据的归一化,比如在卷积层后进行归一化然后再下采样然后再激活等。目前比较受欢迎的数据归一化层有:BN(Batch Normalization),LN(Layer Normalization),IN(Instance Normalization),GN(Group Normalization)这4种。本篇文章主要是对比一下它们各自是怎么计算的。 先看对数据的归一化是这么操作的。其实就是先计算均值和方差然后再标准化即可。具体的对一个标量数据,在给定的数据集中进行标准化是按如下进行计算的:
四种归一化方法BNLN,IN,GN的比较
qq_40268255的博客
02-04 2557
1.计算方法的不同 BatchNorm:batch方向做归一化,算NHW的均值 LayerNorm:channel方向做归一化,算CHW的均值。为了能够在只有当前一个训练实例下,找到一个合理的统计范围,一个直接的想法是:把同一个卷积层作为集合,求均值和方差;对于RNN,就是把同层隐层神经元的响应值(不同时刻)作为集合,再求均值和方差。 InstanceNorm:一个channel内做归一化,算H*...
BN LN IN GN归一化操作的差异性
qq_28013751的博客
09-12 301
论文基础: 1.简述 1.1 论文链接 (1)、Batch Normalization 2015 https://arxiv.org/pdf/1502.03167.pdf (2)、Layer Normalizaiton 2016 https://arxiv.org/pdf/1607.06450v1.pdf (3)、Instance Normalization 2017 https:...
LNBN对比
m0_53675977的博客
04-01 668
的确,对于神经网络的各层输出,在经过了层内操作后,各层输出分布就会与对应的输入信号分布不同,而且差异会随着网络深度增大而加大了,但每一层所指向的Label仍然是不变的。这是通过训练数据获得的模型能够在测试集上获得好的效果的一个基本保障。2、在训练的时候,是分批量进行填入模型的,但是在预测的时候,如果只有一个样本或者很少量的样本来做inference,这个时候用BN显然偏差很大,例如在线学习场景。3、RNN是一个动态的网络,也就是size是变化的,可大可小,造成多样本维度都没法对齐,所以不适合用BN
《动手学》-BN层,BNLN区别
qq_36136196的博客
07-12 1171
目录1.理论1.1 问题引出1.2 基本定义1.3作用1.4 总结2.代码3. QA 1.理论 1.1 问题引出 批量归一化 底部就是靠近输入那一层 正向forward算出损失来,通过反向得到梯度,根据链式法则,梯度相乘,越靠近底部的变量梯度越小,导致底部层训练的慢。 1.2 基本定义 根据之前提到的将各个层的分布(均值和方差)固定,可以很大层度上将各个层的梯度固定在一个很合理的值。通过小批量的减均值除方差,将分布固定在0,1分布上。然后通过γ和β两个可学习的参数小幅移动分布。 1.3作用 最初论文
Batch Normalization详解以及BNLN区别
qq_38375203的博客
06-09 1203
最近要找工作,也是复习一下面经。之前经常看过的BN也是面试中的重中之重,记得当时面试华为诺亚方舟实验室的时候,面试官就问到了我BNLN区别,当时也仅仅是将这两者的区别说出来了,但是并没有进行扩展,现在想想也是有点后悔的(其实当时自己也不知道该扩展啥)。在今天也就做一下总结,来概括一下这两者的区别以及BN的动机原理。在机器学习领域有个非常重要的假设样本之间的独立同分布,也就是训练数据和测试数据假设是满足相同分布,这样我们通过训练数据训练模型才能够在测试数据上获得较好的效果(这个独立同分布是一个前提)。 然
归一化总结:BNLN的差别
weixin_44543648的博客
05-17 2653
参考链接:https://blog.csdn.net/qq_37541097/article/details/117653177 https://blog.csdn.net/Strive_For_Future/article/details/115220627 为什么要归一化: 在机器学习和深度学习中,有一个共识:独立同分布的数据可以简化模型的训练以及提升模型的预测能力——这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。也就是说我们在使用机器学习和深度学习的时候,会把数据尽可能的做一个独立
基础算法:BNLN算法区别
weixin_48186491的博客
10-10 1020
网址:https://blog.csdn.net/Miracle_520/article/details/105429456?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162814815816780271581681%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162814815816780271581681
深度学习中的批量归一化BN和层归一化LNBN层(Batch Normalization)和LN层(Layer Normalization)的区别
最新发布
m0_48086806的博客
08-07 6448
深度学习中的批量归一化和层归一化】BN层(Batch Normalization)和LN层(Layer Normalization)的区别
BNLN
qq_41284164的博客
09-15 854
BNLN对比 共同作用:加速网络收敛,避免梯度消失。 BN: Batch Normalization,每个batch中同一个维度每个特征做BN,如橙框所示。 LN: Layer Normalization,对一个样本不同特征做LN,如红框所示。 BN缺点: (1) BN用batch来模拟整个样本分布情况,比较依赖batchsize的大小,如果batchsize太小,则计算的均值、方差不足以代表整个数据分布。 (2)在RNN中,BN效果较差。 (ICML2020:Rethinking Batch Norma
BN&GN
weixin_33805557的博客
07-08 133
转载于:https://www.cnblogs.com/ya-cpp/p/9279239.html
(十二)BNLN
Miracle_520的博客
04-11 4974
文章目录一、基于规则的方法二、基于监督学习的方法三、Bootstrap算法四、Snowball 一、基于规则的方法 优点: 比较准确 不需要训练数据 缺点: low recall rate,(覆盖问题),覆盖范围小,很多规则人想不到 成本(人力) 规则本身难以设计(规则不冲突,规则不冗余) 二、基于监督学习的方法 定义关系类型 定义实体类型 训练数据准确 实体标记好(类型) ...
LB,BN ,IN ,GN
07-27
根据提供的引用内容,我无法确定问题的具体含义。请提供更多的上下文或者明确问题的意思,我将尽力回答。 #### 引用[.reference_title] - *1* *2* [java - How to get country code(calling code) in android? - Stack Overflow](https://blog.csdn.net/weixin_35281210/article/details/117644408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
写文章

热门文章

  • pytorch保存模型的两种方式 33023
  • torch.mul()、torch.mm()、torch.dot()和torch.mv()之间的区别 16908
  • pd.read_excel()和 pd.to_excel() 参数详解 16768
  • tomcat10 带来的报错:jakarta.servlet.ServletException: 类com.kang.servlet.HelloServlet不是Servlet 9417
  • pytorch中torch.load()的map_location参数 9262

分类专栏

  • 爬虫
  • 数据库 10篇
  • Prompt提示学习
  • NLP 4篇
  • java 2篇
  • 力扣刷题日志(中等) 10篇
  • 深度学习 10篇
  • python 14篇
  • java遇到的bug 14篇
  • pytorch 20篇
  • 力扣刷题日志(简单) 41篇
  • java基础知识 24篇
  • Git学习 4篇
  • 机器学习 1篇
  • GANS系列 8篇
  • 算子开发 1篇
  • tensorflow 1篇

最新评论

  • redis中AOF自动重写条件

    weixin_44351477: 请问触发是通过什么样的方式?怎么知道满足条件从而触发呢?

  • tomcat10 带来的报错:jakarta.servlet.ServletException: 类com.kang.servlet.HelloServlet不是Servlet

    烟凉白佰: 谢谢哥表情包表情包表情包

  • BERT详解——原理篇(组会PPT,其中大量参考李宏毅的bert课程视频)

    ﹉pursuit": 请问你有ppt了吗?可以发我一份不1520516304@qq.com

  • BN、LN、IN、GN的区别

    「已注销」: BN是在BS上,LN是在C上。。。。。。

  • 2021 CCF BDCI 全国信息检索挑战杯(CCIR-Cup) 智能人机交互自然语言理解

    甜芋糕: 您好,有个关于CCIR的问题想咨询一下,方便吗

最新文章

  • GBDT详解
  • Adaboost详解
  • 损失函数—Dice Loss: Dice Loss for Data-imbalanced NLP Tasks
2022年5篇
2021年31篇
2020年128篇

目录

目录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家玻璃钢花盆简笔画暗黑色玻璃钢花盆甘孜玻璃钢卡通雕塑品牌济源玻璃钢浮雕不锈钢镂空雕塑浦东玻璃钢动物雕塑青岛商场美陈哪家好邯郸玻璃钢仿铜雕塑小品荣昌玻璃钢仿铜雕塑玻璃钢花盆能用多少年青海公园玻璃钢雕塑定制欧式玻璃钢雕塑哪里有四川秋季商场美陈批发安徽玻璃钢园林雕塑珠三角地区玻璃钢雕塑制品厂衢州玻璃钢雕塑定制中山公仔玻璃钢雕塑郑州公园玻璃钢彩绘雕塑加工常见玻璃钢花盆哪家好玻璃钢雕塑用的玻璃纤维布玻璃钢佛像雕塑厦门玻璃钢卡通人物雕塑江苏玻璃钢雕塑摆件价钱济南玻璃钢美陈雕塑贵州玻璃钢雕塑价格多少钱赣州玻璃钢花盆花器特色玻璃钢雕塑摆件白菜玻璃钢雕塑多少钱兰州卡通玻璃钢雕塑阳江人物玻璃钢雕塑公园玻璃钢雕塑选哪家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化