LayerNorm的图是不是画错了

这是网上一张很流行的说明几个 Normalization 区别的图

这图出自Kaiming的文章 Group Norm

但是他这个 Layer Norm 的图是不是画错了? 我大四写毕设的时候就想问🤣🤣🤣 这都几年过去了

我觉得图应该是这样画的,相同颜色的区域做标准化

仨方块代表Batch_size = 3

每个方块内,前后向代表channel维度,左右代表宽,上下代表高

也就是同Batch, xy位置相同的特征像素,不同的channel里做标准化

接下来代码验证一下,只需要在 Channel 维度做一下标准化

python 复制代码
import torch
import torch.nn as nn

# torch.manual_seed(1107)
torch.manual_seed(1942)

# 假设x的形状是(B, W, H, C)
x = torch.rand(32, 256, 256, 128)  # 添加一个维度以匹配四维输入

m = nn.LayerNorm(128, elementwise_affine=False)
m.eval()  # 设置为评估模式

y = m(x)

# 手动计算LayerNorm
x_mean = x.mean(dim=-1, keepdim=True)
x_var = x.var(dim=-1, keepdim=True, unbiased=False)
eps = m.eps

y_manual = (x - x_mean) / ((x_var + eps).sqrt())

print("结果是否一致:", torch.allclose(y, y_manual, atol=1e-6))

(大佬们路过,教我一下🥲🥲🥲)

相关推荐
Dev7z几秒前
面向健身与康复训练的基于深度学习的人体姿态检测与动作纠正系统
人工智能·深度学习·健身·康复训练·人体姿态检测·动作纠正系统
咚咚王者几秒前
人工智能之语言领域 自然语言处理 第七章 命名实体识别
人工智能·自然语言处理
mftang几秒前
Python 位运算和list用法详解
windows·python·list
我材不敲代码2 分钟前
计算机视觉基础——opencv的基础操作
人工智能·opencv·计算机视觉
Lary_c2 分钟前
Selenium Webdriver 元素等待方式详解
python·selenium·测试工具·自动化
搬砖者(视觉算法工程师)2 分钟前
用直白语言讲透 Transformer
人工智能
VALENIAN瓦伦尼安教学设备2 分钟前
便携式蒸汽阀门漏气检测仪作用
人工智能·嵌入式硬件·算法
成都它思科技有限公司3 分钟前
语音识别错误率是多少,我们认为错误率是多少?
人工智能·语音识别
Cx330❀3 分钟前
Linux ELF格式与可执行程序加载全解析:从磁盘文件到运行进程
linux·运维·服务器·人工智能·科技
geovindu3 分钟前
python: Builder Pattern
python·设计模式·建造者模式