Batch Norm 与 Layer Norm 比较
一.结论
- Batch Norm一般用于CV领域,而Layer Norm一般用于NLP领域
- Batch Norm需要计算全局平均,而Layer Norm不需要计算全局平均
二.Batch Norm
Batch Norm原理:

- BatchNorm把一个batch中同一通道的所有特征(如上图红色区域)视为一个分布(有几个通道就有几个分布),并将其标准化。这意味着:
- 不同图片的的同一通道的相对关系是保留的,即不同图片的同一通达的特征是可以比较的
- 同一图片的不同通道的特征则是失去了可比性
用于CV领域的解释:
有一些可解释性方面的观点认为,feature的每个通道都对应一种特征(如低维特征的颜色,纹理,亮度等,高维特征的人眼,鸟嘴特征等)。BatchNorm后不同图片的同一通道的特征是可比较的,或者说A图片的纹理特征和B图片的纹理特征是可比较的;而同一图片的不同特征则是失去了可比性,或者说A图片的纹理特征和亮度特征不可比较。这其实是很好理解的,视觉的特征是比较客观的,一张图片是否有人跟一张图片是否有狗这两种特征是独立,即同一图片的不同特征是不需要可比性;而人这种特征模式的定义其实是网络通过比较很多有人的图片,没人的图片得出的,因此不同图片的同一特征需要具有可比性。
三.Layer Norm
- Layer Norm原理:

如上图LayerNorm把一个样本的所有词义向量(如上图红色部分)视为一个分布(有几个句子就有几个分布),并将其标准化。这意味着:- 同一句子中词义向量(上图中的V1, V2, …, VL)的相对大小是保留的,或者也可以说LayerNorm不改变词义向量的方向,只改变它的模。
- 不同句子的词义向量则是失去了可比性。
- 用于NLP领域解释:
考虑两个句子,“教练,我想打篮球!” 和 “老板,我要一打包子。”。通过比较两个句子中 “打” 的词义我们可以发现,词义并非客观存在的,而是由上下文的语义决定的。因此进行标准化时不应该破坏同一句子中不同词义向量的可比性,而LayerNorm是满足这一点的,BatchNorm则是不满足这一点的。且不同句子的词义特征也不应具有可比性,LayerNorm也是能够把不同句子间的可比性消除。 - 使用方法:

四.关于计算全局平均的区别
- batch norm在测试的阶段,有可能一个一个样本进行预测,此时没有batch的概念,所以需要用训练的时候的全局平均
- layer norm在训练和测试都不需要计算全局平均
Batch Norm 与 Layer Norm 比较的更多相关文章
- Batch Norm、Layer Norm、Weight Norm与SELU
加速网络收敛——BN.LN.WN与selu 自Batch Norm出现之后,Layer Norm和Weight Norm作为Batch Norm的变体相继出现.最近又出来一个很”简单”的激活函数Sel ...
- bn两个参数的计算以及layer norm、instance norm、group norm
bn一般就在conv之后并且后面再接relu 1.如果输入feature map channel是6,bn的gamma beta个数是多少个? 6个. 2.bn的缺点: BN会受到batchsize大 ...
- Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization、Switchable Normalization比较
深度神经网络难训练一个重要的原因就是深度神经网络涉及很多层的叠加,每一层的参数变化都会导致下一层输入数据分布的变化,随着层数的增加,高层输入数据分布变化会非常剧烈,这就使得高层需要不断适应低层的参数更 ...
- Batch Normalization和Layer Normalization
Batch Normalization:对一个mini batch的样本,经过一个nueron(或filter)后生成的feature map中的所有point进行归一化.(纵向归一化) Layer ...
- NLP学习(5)----attention/ self-attention/ seq2seq/ transformer
目录: 1. 前提 2. attention (1)为什么使用attention (2)attention的定义以及四种相似度计算方式 (3)attention类型(scaled dot-produc ...
- 部分NLP工程师面试题总结
面试题 https://www.cnblogs.com/CheeseZH/p/11927577.html 其他 大数据相关面试题 https://www.cnblogs.com/CheeseZH/p/ ...
- Self-Attention 和 Transformer
1.Self-Attention 之前的RNN输入是难以并行化的,我们下一个输入可能依赖前一个输出,只有知道了前面的输出才能计算后面的输出. 于是提出了 self-attention ,但是这时候 $ ...
- Norm比较
目录 Introduction BN LN IN GN SN Conclusion Introduction 输入图像shape记为[N, C, H, W] Batch Norm是在batch上,对N ...
- norm函数的作用,matlab
格式:n=norm(A,p)功能:norm函数可计算几种不同类型的返回A中最大一列和,即max(sum(abs(A))) 2 返回A的最大奇异值,和n=norm(A)用法一样 inf 返回A中最大一行 ...
随机推荐
- bat-winget-win平台的软件包管理器
win10 1709版本以后 引入的包管理器,如果不可用 需要 更新一下 应用安装程序. winget命令的功能 常用的就 安装 卸载 更新 . 卸载 使用中如果提示 策略 不允许,可执行下面命 ...
- idea启动java Maven项目,出现" java: 程序包xxxx不存在"
解决办法如下:将idea的构建和运行托管到maven下面
- NC235250 牛可乐的翻转游戏
NC235250 牛可乐的翻转游戏 题目 题目描述 牛可乐发明了一种新型的翻转游戏! 在一个有 \(n\) 行 \(m\) 列的棋盘上,每个格子摆放有一枚棋子,每一枚棋子的颜色要么是黑色,要么是白色. ...
- mysql拆分字符串做条件查询
mysql拆分字符串作为查询条件 有个群友问一个问题 这表的ancestors列存放的是所有的祖先节点,以,分隔 例如我查询dept_id为103的所有祖先节点,现在我只有一个dept_id该怎么查 ...
- 线程池的概念&原理和线程池的代码实现
线程池:一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作, 无需反复创建线程而消耗过多资源.工作原理:可以用一张图来简洁明了说明: 合理利用线程池能够带来三个好处∶1.降低 ...
- SpringCloud Gateway微服务网关实战与源码分析-上
概述 定义 Spring Cloud Gateway 官网地址 https://spring.io/projects/spring-cloud-gateway/ 最新版本3.1.3 Spring Cl ...
- 聊聊 C++ 大一统的初始化运算符 {}
一:背景 最近发现 C++ 中的类型初始化操作,没有 {} 运算符搞不定的,蛮有意思,今天我们就来逐一列一下各自的用法以及汇编展现,本来想分为 值类型 和 引用类型 两大块,但发现在 C++ 中没这种 ...
- 水电表/压力表/传感器/流量计/行车记录仪/分贝仪等 超低功耗LCD段码液晶驱动IC-VKL076(VKL系列)SSOP28 19*4COM,工作电流约7.5微安
产品品牌:永嘉微电/VINKA 产品型号:VKL076 封装形式:SSOP28 产品年份:新年份 概述: VKL076 SSOP28是一个点阵式存储映射的LCD驱动器,可支持最大76点(19SEGx4 ...
- MPI学习笔记(二):矩阵相乘的两种实现方法
mpi矩阵乘法(C=αAB+βC) 最近领导让把之前安装的软件lapack.blas里的dgemm运算提取出来独立作为一套程序,然后把这段程序改为并行的,并测试一下进程规模扩展到128时的并行效率. ...
- 清北学堂 2020 国庆J2考前综合强化 Day7
目录 1. 题目 T1 魔力石 题目描述 Sol T2 和 题目描述 Sol T3 数对 题目描述 Sol T4 海豹王国 题目描述 Sol 考场策略 1. 题目 T1 魔力石 题目描述 题目描述 小 ...