11.29 深度学习-批量标准化

批量标准化的基本思路是在每一层的输入上执行标准化操作,并学习两个可训练的参数:缩放因子 \\lambda 偏移量 \\beta

每一层的接受数据前 给数据标准化了

标准化后的数据通常会通过可训练的参数进行缩放和平移,以恢复模型的表达能力 缩放因子和变异量课学习

## 2. 训练和推理阶段

- **训练阶段**:

在训练过程中,均值和方差是基于当前批次的数据计算得到的。

- **推理阶段**:

在推理阶段,批量标准化使用的是训练过程中计算得到的全局均值和方差,而不是当前批次的数据。这些全局均值和方差通常会被保存在模型中,用于推理时的标准化过程。

预测数据的标准化用训练数据的均值和方差 标准化

作用

缓解梯度问题

标准化处理可以防止激活值过大或过小,避免了激活函数(如 Sigmoid 或 Tanh)饱和的问题,从而缓解梯度消失或爆炸的问题

### 加速训练

由于 BN 使得每层的输入数据分布更为稳定,因此模型可以使用更高的学习率进行训练。这可以加快收敛速度,并减少训练所需的时间。

### 减少过拟合

- **类似于正则化**:虽然 BN 不是一种传统的正则化方法,但它通过对每个批次的数据进行标准化,可以起到一定的正则化作用。它通过在训练过程中引入了噪声(由于批量均值和方差的估计不完全准确),这有助于提高模型的泛化能力。

- **避免对单一数据点的过度拟合**:BN 强制模型在每个批次上进行标准化处理,减少了模型对单个训练样本的依赖。这有助于模型更好地学习到数据的整体特征,而不是对特定样本的噪声进行过度拟合。

## BatchNorm

数据在经过 BN 层之后,无论数据以前的分布是什么,都会被归一化成均值为 β,标准差为 γ 的分布。

注意:BN 层不会改变输入数据的维度,只改变输入数据的的分布. 在实际使用过程中,BN 常常和卷积神经网络结合使用,卷积层的输出结果后接 BN 层。

**API:** torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True) # affine=True 是否线性变换 是否缩放平移 是否学习缩放因子和变异量课

BatchNorm2d 适用于输入的数据为 4D,输入数据的形状 N,C,H,W 其中:N 表示批次,C 代表通道数,H 代表高度,W 代表宽度

"""

由于每次输入到网络中的时小批量的样本,我们使用指数加权平均来近似表示整体的样本的均值和方差,其更新公式如下:

```python

running_mean = momentum * running_mean + (1.0 -- momentum) * batch_mean

running_var = momentum * running_var + (1.0 -- momentum) * batch_var

```

batch_mean 和 batch_var 表示当前批次的均值和方差。而 running_mean 和 running_var 是近似的整体的均值和方差的表示。当我们进行评估时,可以使用该均值和方差对输入数据进行归一化。

"""

每次小批次的均值和方差要和上次的又关系 全局

相关推荐
朱大喜几秒前
时空指标加速:服务端滑动窗口数据聚合与前端渲染优化
人工智能
humcomm1 分钟前
Go语言在AI领域的最新进展(2026年上半年)
开发语言·人工智能·golang
杨先生哦1 分钟前
【2026 热端攻防系列 2/12】DOM 型 XSS 深度实战:AI 多态变形免杀 + 全维度防御
前端·人工智能·笔记·安全·web安全·xss
俏皮小混子2 分钟前
山东大学软件学院项目实训-创新实训-计科智伴(六)——个人博客(后端运行后真实调整)
人工智能·笔记·学习·ui
沪漂阿龙3 分钟前
Vector Store:FAISS、Chroma、Milvus、Qdrant、ES 怎么选?
人工智能·elasticsearch·架构·milvus·faiss
意图共鸣7 分钟前
意图共鸣科技《AI记忆链商业化白皮书3.0》阐述记忆共识构想:让AI记忆像普通话一样实现标准化流转
人工智能
Henry-SAP7 分钟前
SAP MRP 增强自定义业务功能解析
人工智能·sap·erp
喵叔哟7 分钟前
Week 3 --Day 5:性能优化与监控
人工智能·python·性能优化·langchain
Y学院9 分钟前
Java 智能体开发实战:从核心架构到生产级落地,告别AI调用积木式编程
java·人工智能·架构
AI专业测评10 分钟前
ai写网文工具大对比 2026新款工具横向测评
人工智能