【神经网络与深度学习】批标准化(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)
相关推荐
真·skysys2 小时前
On-Policy Distillation
人工智能·深度学习·机器学习
AI医影跨模态组学5 小时前
Cancer Letters(IF=10.1)中科院自动化研究所田捷等团队:整合纵向MRI与活检全切片图像用于乳腺癌新辅助治疗反应的早期预测及个体化管理
人工智能·深度学习·论文·医学·医学影像
王飞飞不会飞5 小时前
Mac 安装Hermes Agent 过程记录
运维·深度学习·机器学习
是梦终空5 小时前
计算机毕业设计271—基于python+深度学习+YOLOV7的车牌识别系统(源代码+数据库+3万字论文)
python·深度学习·opencv·yolo·毕业设计·pyqt5·车牌识别系统
沅_Yuan7 小时前
基于高斯径向基函数GRBF的多输入单输出神经网络模型【MATLAB】
神经网络·matlab·多输入单输出·rbf·高斯·grbf
金融小师妹7 小时前
多因子情景推演模型:霍尔木兹扰动下的全球资产再定价与波动率重构
深度学习·svn·逻辑回归·能源
数据门徒7 小时前
神经网络核心概念 全景梳理与关系图谱
人工智能·深度学习·神经网络
Yuanxl9038 小时前
Torchvision 0.26:深度学习视觉库全面解析
网络·人工智能·pytorch·深度学习
Narrastory8 小时前
Note:强化学习(三)
人工智能·深度学习·强化学习
思绪无限8 小时前
YOLOv5至YOLOv12升级:石头剪刀布手势识别系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·yolov12·yolo全家桶·石头剪刀布手势识别系统