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

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

相关推荐
CHrisFC13 小时前
环保第三方检测行业LIMS横向对比与选型指南
大数据·人工智能
阿童木写作13 小时前
Python批量翻译亚马逊商品图实战教程
开发语言·python·xcode
砚底藏山河13 小时前
多家股票数据接口对比、企业级股票数据API
java·python·金融·maven
惊讶的猫13 小时前
CLGSI
人工智能·算法·机器学习
冬奇Lab13 小时前
开源项目第167期:Buzz — Block 开源的人机协作工作空间,Agent 是成员不是 Bot
人工智能·开源·agent
Dxy123931021613 小时前
Python Socket入门学习
python
生命涌现13 小时前
生命涌现的小龙虾技能之【Human Pose Recognition Skill | 人体姿态识别技能】简介
人工智能·目标检测·计算机视觉·多模态大模型·openclaw小龙虾技能
funkygroove13 小时前
ChatGPT Business 包含 Pro 吗?两者区别一次说清
人工智能·chatgpt
神奇霸王龙13 小时前
Gemini CLI 中转站配置使用教程
人工智能·ai·ai作画·aigc·ai编程·gemini·goolge
stereohomology14 小时前
Kimi K3编程实力远超GLM5.2:一个Trae复赛证据
人工智能·大模型·对比·why不coding