news 2026/7/26 10:27:50

nn.layernorm的认识

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
nn.layernorm的认识

LayerNorm — PyTorch 2.9 documentation

layernorm不是对通道进行归一化。而是对选定维度进行归一化。被选定的维度作为一个整体,计算出方差和均值然后进行对被选定维度进行归一化。

(整体归一化的意思就是,如果把[C, H, W]作为归一化维度,那么C*H*W 个元素来进行计算均值和方差,然后进行归一化。)

它的主要作用是将每层特征输入到激活函数之前进行标准化,使其转换为均值为0,方差为1的数据,从而避免数据落在激活函数的饱和区,减少梯度消失的问题。

LayerNorm 可以应用于神经网络的任何层,包括卷积层和循环层,通常放在激活函数之前。

Q:为什么公式是这样,而不是直接除以总和呢?

A:以前的归一化是x_i' = x_i / sum(x) ,即让所有元素综合为1.这种主要应用于生成概率分布,注意力权重等。而深度学习中的归一化,目标是为了 调整数据的整体分布,使其更加稳定(均值为0,标准差为1),其主要是为了

稳定神经网络训练、加速收敛、防止梯度问题

Q:layernorm归一化之后若不进行缩放偏移,则均值为0,标准差为1.这有什么意义呢,能确定它的范围吗?

pytorch中有个很神奇的规则就是: 如果写成layerNorm(dim) 其中dim是整数,则默认对最后一个维度进行归一化。

PyTorch 的底层规则:根据 PyTorch 的设计,当normalized_shape是一个整数时,它会被自动解释为一个仅包含该整数的列表,即normalized_shape = [dim]。这个列表指明了要对输入张量的最后len(normalized_shape)个维度进行归一化。

参考:

LayerNorm在CV与NLP中的应用与实现-CSDN博客

标准正态分布_百度百科

10分钟搞清楚为什么Transformer中使用LayerNorm而不是BatchNormNormalization技术 - 掘金

Build Better Deep Learning Models with Batch and Layer Normalization | Pinecone

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/25 13:56:15

为什么越来越多企业开始重视 SLA?

一、当 IT 成为业务基础设施,“感觉慢”已经不再是一个可接受的评价在早期阶段,企业对 IT 的期待往往很朴素:系统能用、问题有人管、出事能修好就行。但随着业务数字化程度不断提高,IT 已经从后台支持角色,逐步演变为业…

作者头像 李华
网站建设 2026/7/23 12:08:23

POD 模式深度解析:跨境电商从搬运到价值创造的转型

跨境电商领域,大量卖家陷入困境:投入大量广告获取流量,利润却被传统供应链层层吞噬,问题的根源,往往在于起点——被动接收的传统货盘,这种模式如同无形的枷锁,正通过三大陷阱限制着卖家的潜力&a…

作者头像 李华
网站建设 2026/7/27 5:03:46

PHP 8.6 新增 clamp() 函数

PHP 8.6 的 clamp() 函数可以把一个值限制在指定的最小值与最大值之间。 它的签名如下: clamp(mixed $value, mixed $min, mixed $max): mixed clamp() 接收三个参数:$value、$min、$max,然后判断 $value 是否在 $min 与 $max(包…

作者头像 李华