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

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

相关推荐
阿杰学AI2 分钟前
AI核心知识125—大语言模型之 混合专家架构(简洁且通俗易懂版)
人工智能·ai·语言模型·智能路由器·aigc·moe·混合专家架构
m0_743106463 分钟前
【浙大&南洋理工最新综述】Feed-Forward 3D Scene Modeling(一)
论文阅读·人工智能·计算机视觉·3d·几何学
m0_493934534 分钟前
Redis如何批量移动标签_利用SMOVE指令在Set之间转移数据
jvm·数据库·python
hqyjzsb5 分钟前
传统剪辑师升级AI视频生成师后接单效率与收入变化
人工智能·aigc·服务发现·音视频·学习方法·业界资讯·ai写作
星幻元宇VR5 分钟前
VR动感电动车|以沉浸体验推动交通安全科普新方式
人工智能·科技·学习·安全·生活·vr
织_网7 分钟前
SDD规范驱动开发全解析:核心理念、工作流、落地层级+多AI协同实战
人工智能·驱动开发
Shorasul9 分钟前
如何用 some 检测数组中是否存在至少一个满足条件的项
jvm·数据库·python
码农阿豪10 分钟前
中兴 F50 刷 UFI-TOOLS + cpolar:随身 WiFi 也能远程管理了
人工智能·windows·macos
2402_8548083714 分钟前
html如何修改备注
jvm·数据库·python
2401_8359568115 分钟前
Tailwind CSS如何实现文字装饰线_使用decoration系列类丰富CSS文字
jvm·数据库·python