news 2026/5/12 20:39:52

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/5/12 20:39:31

计算机网络体系结构核心知识点整理

计算机网络体系结构核心知识点整理 一、互联网的基本组成 互联网本质是“边缘部分核心部分”的分层结构,两者协同实现全球数据传输: 边缘部分 定义:所有连接到互联网的终端设备(如个人电脑、手机、服务器),…

作者头像 李华
网站建设 2026/5/11 8:56:04

pythonstudy Day36

官方文档的阅读 疏锦行 import pandas as pd import numpy as npfrom sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifierfrom pdpbox import pdp import matplotlib.pyplot as plt import plotly.io as pio pio.renderers.default &qu…

作者头像 李华
网站建设 2026/5/7 22:11:24

(23)声明Bean的注解

负责声明Bean的注解,常见的包括四个: ComponentControllerServiceRepository 源码如下: package com.powernode.annotation;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.…

作者头像 李华
网站建设 2026/5/6 14:19:25

前端设计模式:详解、应用场景与核心对比

前端设计模式:详解、应用场景与核心对比 前端设计模式是解决前端开发中重复出现的问题的标准化解决方案,涵盖创建型、结构型、行为型三大类核心模式,同时包含前端特有的适配型模式(如发布-订阅、MVVM等)。本文结合前端…

作者头像 李华