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))

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

相关推荐
styshoo几秒前
NVIDIA Dynamo Snapshot 介绍
人工智能
用户831455098031几秒前
如一 Agent 架构解读(一):数字分身的执行模型——Run、Turn 与四个时间尺度
人工智能
Kyops几秒前
GPT-6 把地图和交互组件带进 ChatGPT,答案终于可以直接操作了
人工智能
布吉岛的石头4 分钟前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer
OCR_133716212755 分钟前
智能交通底层逻辑:国内车牌分类规范与AI识别适配技术解析
大数据·人工智能·分类
Vincy1236 分钟前
腾讯开源 WeKnora 深度评估:3 万 Star 的 RAG 框架,你的 Milvus 能直接用吗?
人工智能
第25小时记录8 分钟前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·python
Dmz丶11 分钟前
前端转 AI 100 天 Day 18:pytest 入门——为什么你必须要写测试
python
染指111012 分钟前
140.Agent-多Agent框架-Agent执行Skills流程
数据库·人工智能·设计模式·langchain·agents
小慧姐姐呀19 分钟前
把大模型塞进桌面端:一次本地离线 AI 推理的选型与工程实践
人工智能