Batch Norm 与 Layer Norm 比较
2024-08-28 07:04:27
一.结论
- 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在训练和测试都不需要计算全局平均
最新文章
- 【Spring】SpringMVC中浅析Date类型数据的传递
- windows本地script脚本恶意代码分析(带注释)
- Codeforces Round #169 (Div. 2)
- ubuntu dpkg 依赖问题处理
- 【MySQL】探究之TIMESTAMP
- 第 3 章 MySQL 存储引擎简介
- 新建搜索bar
- 转载------------------关于android的一些技巧
- linux 线程笔记
- spoj 379
- NOIP2010 引水入城
- MSSQL 多个表关联更新
- 我的第一个REST客户端程序!
- FastReport 数据过滤
- 关于.net MVC5+EF6 网站部署的问题
- 51nod_1490: 多重游戏(树上博弈)
- jquery实现简单的搜索
- python中的类机制
- Beta 冲刺 (5/7)
- 【ArcGIS】安装ArcEngine 10的顺序
热门文章
- leetcode题解#3:无重复字符的最长子串
- 利用kubernetes资源锁完成自己的HA应用
- 毕设着急了吧?Python股票数据分析,制作动态柱状图
- springboot集成redis集群
- CSS 浮动 (二)
- WannaRen来袭:螣龙安科带你盘点那些年的勒索病毒
- VT-x is not available (VERR_VMX_NO_VMX).无法打开虚拟机,无法新建64位虚拟机
- Vue生命周期和MVVM框架
- PostgreSQL下的SQL Shell(psql)工具
- nginx的高级用法