【神经网络与深度学习】批标准化(Batch Normalization)和层标准化(Layer Normalization)

引言

在深度学习中,标准化技术(Normalization)是提高神经网络训练效率和性能的重要工具。其中,批标准化(Batch Normalization, BN)和层标准化(Layer Normalization, LN)是两种常用的标准化方法。它们在归一化的维度、适用场景和计算复杂度方面各有特色。本篇内容将对这两种标准化方法进行详细对比,并进一步介绍 PyTorch 中的 nn.Sequential 模块的使用方法,以便更高效地构建神经网络。

批标准化层(Batch Normalization)和层标准化层(Layer Normalization)的区别

3.1 归一化维度

1. 批标准化(BN)

  • 操作对象:在一个批次的数据上进行归一化。

  • 归一化方法:对输入数据的每个特征维度,计算该批次内所有样本在该维度上的均值和方差,进行归一化。

  • 示例:对于形状为 (batch_size, num_features) 的输入数据,BN 对每个特征维度(num_features)上的 batch_size 个样本进行归一化。

  • 核心思想:调整每一层的输入数据分布,使其均值为 0,标准差为 1。

处理流程如下:



2. 层标准化(LN)

  • 操作对象:在单个样本的所有特征维度上进行归一化。

  • 归一化方法:对每个样本的所有特征维度计算均值和方差,进行归一化。

  • 示例:对于形状为 (batch_size, num_features) 的输入数据,LN 对每个样本的 num_features 个特征进行归一化。

  • 核心思想:专注于单个样本的特征归一化,与批次无关。

处理流程如下:


  • 缩放与偏移
    无论是 BN 还是 LN,归一化之后会添加缩放和偏移操作,目的在于为模型提供更多调整灵活性,以适应不同任务和数据集。

3.2 应用场景

1. 批标准化(BN)

  • 适用场景:卷积神经网络(CNN)和循环神经网络(RNN)。

  • 优点:加速模型收敛,提高泛化能力。

  • 局限性:对于变长序列(如 RNN 的变长句子),可能因样本长度不同而影响归一化效果。

2. 层标准化(LN)

  • 适用场景:处理变长序列数据(如自然语言处理中的 RNN 模型)。

  • 优点:不受序列长度影响,可在生成对抗网络(GAN)及 Transformer 架构中广泛应用。

3.3 计算复杂度

1. 批标准化(BN)

  • 依赖批次大小:每个批次需要计算均值和方差,批次较小时可能导致不稳定。

2. 层标准化(LN)

  • 依赖特征维度:计算复杂度较低,不受批次大小影响,计算结果更稳定。

nn.Sequential(*layers)的使用方法

  • nn.Sequential 是 PyTorch 的顺序容器,用于顺序组合多个神经网络层。通过它,可以简洁地构建模型。
python 复制代码
import torch.nn as nn

# 定义网络层
layers = []
layers.append(nn.Linear(input_dim, h_dim))
layers.append(nn.BatchNorm1d(h_dim))
layers.append(nn.SELU())
layers.append(nn.Linear(h_dim, output_dim))

# 创建顺序容器
model = nn.Sequential(*layers)

# 前向传播
output = model(input_data)
相关推荐
蹦蹦跳跳真可爱5891 小时前
Python----循环神经网络(Transformer ----注意力机制)
人工智能·深度学习·nlp·transformer·循环神经网络
千宇宙航6 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
IT古董6 小时前
【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(4)模型评价与调整(Model Evaluation & Tuning)
神经网络·机器学习·回归
onceco6 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
天水幼麟7 小时前
动手学深度学习-学习笔记(总)
笔记·深度学习·学习
天水幼麟9 小时前
动手学深度学习-学习笔记【二】(基础知识)
笔记·深度学习·学习
强哥之神12 小时前
英伟达发布 Llama Nemotron Nano 4B:专为边缘 AI 和科研任务优化的高效开源推理模型
人工智能·深度学习·语言模型·架构·llm·transformer·边缘计算
陈敬雷-充电了么-CEO兼CTO14 小时前
大模型技术原理 - 基于Transformer的预训练语言模型
人工智能·深度学习·语言模型·自然语言处理·chatgpt·aigc·transformer
旷世奇才李先生15 小时前
Pillow 安装使用教程
深度学习·microsoft·pillow
acstdm18 小时前
DAY 48 CBAM注意力
人工智能·深度学习·机器学习