当前位置: 首页 > news >正文

batch normalization和layer normalization区别

Normalization无非就是这样一个操作:
在这里插入图片描述
其中x是输入数据,维度为(B,T,C),其中B是batchsize,T是序列长度,C是embedding维度;括号内是标准化操作,γ和β是仿射变换参数。

BN和LN的不同,仅仅在于均值和方差的计算方式而已,下面给出计算公式:

1.Batch Normalization

在这里插入图片描述

2.Layer Normalization

在这里插入图片描述
在这里插入图片描述

可以发现,BN是对前2个维度进行统计计算,LN是对最后一个维度进行统计计算。公式很简单,怎么理解呢?

先看LN。可以理解为:对于每个样本(batch)中的每个token,都分别统计其自身所包含的所有特征维度,作为归一化的依据。在大语言模型中,输入序列的长度通常是不固定的,因此对每个 token 单独进行归一化,是一种更合理、灵活的方式。

再来看 BN,它更常用于固定长度的序列或图像任务中。以等长序列为例,BN 的归一化是对所有 batch 中相同位置(如第一个 token、第二个 token 等)上的特征维度进行统计。因此,它统计的是同一维度在不同样本、不同 token 上的分布。由于序列长度一致,数据结构规整,就不需要像 LN 那样对每个 token 单独归一化。

参考链接

https://arxiv.org/abs/2503.10622

相关文章:

  • 驱动总裁v2.19(含离线版)驱动工具软件下载及安装教程
  • Windows系统下Node.js环境部署指南:使用nvm管理多版本
  • Vmware设置静态IP和主机访问
  • 【连载10】基础智能体的进展与挑战综述-自我进化
  • 《Spring Boot实战指南:从零开始构建现代Java应用》
  • 泰迪杯特等奖案例学习资料:基于时空图卷积网络的城市排水系统水位精准重建与异常检测
  • Oracle无法正常OPEN(四)
  • 【文献阅读】中国湿地随着保护和修复的反弹
  • Mysql常用语句汇总
  • C++虚函数完全指南:从内存布局到动态多态的实现奥秘
  • AVIOContext 再学习
  • Linux之基础开发工具(yum,vim,gcc,g++)
  • C与指针5——字符串合集
  • 第二章:一致性基础 A Primer on Memory Consistency and Cache Coherence - 2nd Edition
  • 共铸价值:RWA 联合曲线价值模型,撬动现实资产生态
  • 【算法应用】基于灰狼算法优化深度信念网络回归预测(GWO-DBN)
  • 快速掌握--cursor
  • C# 编程核心:控制流与方法调用详解
  • word论文排版常见问题汇总
  • 【时间之外】官网视频风波
  • 中国证监会印发《推动公募基金高质量发展行动方案》
  • 赵乐际:深入学习贯彻习近平生态文明思想,推动森林法全面有效贯彻实施
  • 五一假期,长三角铁路张家港、台州等多个车站客发量创新高
  • 消费者在天猫一旗舰店换手机电池疑遭套路致手机损坏,平台已介入
  • 强沙尘暴压城近万名游客被困,敦煌如何用3小时跑赢12级狂风?
  • 10家A股农商行去年年报:瑞丰银行营收增速领跑,常熟银行等4家净利增速超11%