文章目录一、什么是BatchNorm1、Mini-batch是什么2、为什么需要前层作妖后层遭殃二、前向计算4步洗澡化妆流程第1步量体温批均值第2步测体胖批方差第3步洗澡标准化★核心第4步化妆仿射变换★关键三、反向传播6步梯度推导一、什么是BatchNormBatchNormBatch Normalization批标准化是2015年谷歌提出的深度学习训练加速器稳定器像给每层神经网络数据洗个标准化澡。它在mini-batch维度上强制输入特征变成均值0、方差1的乖乖分布再用可调参数γ , β \gamma,\betaγ,β让网络化妆恢复表达力完美解决前层一改参数后层全乱套的内部协变量偏移问题让深层网络从训练地狱变训练天堂 ppl-ai-file-upload.s3.amazonaws形象比喻原始数据 → [1.0, 2.0, 3.0, 100.0] # 分布畸形像醉汉 BatchNorm后 → $[-0.5, -0.3, -0.1, 1.9]$ # 标准正态像仪仗队1、Mini-batch是什么mini-batch是训练时从大数据集中随机抽取的小批量样本32、64、128等是BatchNorm统计的基础单位。张量形状( N , C , H , W ) (N,C,H,W)(N,C,H,W)N: mini-batch大小 32张图片 C: 通道数 64个特征图 H,W: 空间尺寸BatchNorm统计维度在N维度上对每个通道C统计32个样本的均值μ B \mu_BμB和方差σ B 2 \sigma_B^2σB2。2、为什么需要“前层作妖后层遭殃”第1层学聪明 → 输出分布全变 第2层懵逼你这输入啥玩意 → 重新学 第50层直接NaN训练崩BatchNorm我来管教每层输入都规规矩矩二、前向计算4步洗澡化妆流程第1步量体温批均值μ B 1 m ∑ i 1 m x i \mu_B \frac{1}{m}\sum_{i1}^m x_iμBm1i1∑mxi干啥统计32张猫图每个特征通道的平均体温去整体偏移。第2步测体胖批方差σ B 2 1 m ∑ i 1 m ( x i − μ B ) 2 \sigma_B^2 \frac{1}{m}\sum_{i1}^m (x_i - \mu_B)^2σB2m1i1∑m(xi−μB)2干啥看这批数据胖瘦程度方差大变化剧烈。第3步洗澡标准化★核心x ^ i x i − μ B σ B 2 ϵ \hat{x}_i \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 \epsilon}}x^iσB2ϵxi−μB三板斧减均值全体减肥到0除方差全体塑形到标准身材方差1防除零ϵ 10 − 5 \epsilon10^{-5}ϵ10−5第4步化妆仿射变换★关键y i γ x ^ i β y_i \gamma \hat{x}_i \betayiγx^iβ为什么需要化妆前3步把网络洗傻了没化妆场景标准化后 → [-0.3, 0.1, -1.2, 0.4] # 太规矩 ReLU([-0.3, 0.1, -1.2, 0.4]) [0, 0.1, 0, 0.4] # 表达力被锁死化妆后γ[2.1, 0.8, 0.5, 1.5], β[0.5, 0.5, 0.5, 0.5] y [-0.13, 0.58, -0.5, 1.1] # 分布自由 ReLU(y) [0, 0.58, 0, 1.1] # 网络能学复杂关系γ , β \gamma,\betaγ,β作用γ \gammaγ放大/缩小特征重要性β \betaβ调整最终分布比喻从标准化工服到个性化西装三、反向传播6步梯度推导工程神式∂ ℓ ∂ x i γ m σ B 2 ϵ [ ∂ ℓ / ∂ y i − 批均值 − x ^ i ⋅ 批协方差 ] \frac{\partial \ell}{\partial x_i} \frac{\gamma}{m\sqrt{\sigma_B^2\epsilon}} [\partial \ell/\partial y_i - \text{批均值} - \hat{x}_i \cdot \text{批协方差}]∂xi∂ℓmσB2ϵγ[∂ℓ/∂yi−批均值−x^i⋅批协方差]推导精髓每个x i x_ixi影响3条路径batch内梯度均值0方差1
【深度学习】BatchNorm详解:原理·四步·梯度推导
发布时间:2026/6/25 8:40:33
文章目录一、什么是BatchNorm1、Mini-batch是什么2、为什么需要前层作妖后层遭殃二、前向计算4步洗澡化妆流程第1步量体温批均值第2步测体胖批方差第3步洗澡标准化★核心第4步化妆仿射变换★关键三、反向传播6步梯度推导一、什么是BatchNormBatchNormBatch Normalization批标准化是2015年谷歌提出的深度学习训练加速器稳定器像给每层神经网络数据洗个标准化澡。它在mini-batch维度上强制输入特征变成均值0、方差1的乖乖分布再用可调参数γ , β \gamma,\betaγ,β让网络化妆恢复表达力完美解决前层一改参数后层全乱套的内部协变量偏移问题让深层网络从训练地狱变训练天堂 ppl-ai-file-upload.s3.amazonaws形象比喻原始数据 → [1.0, 2.0, 3.0, 100.0] # 分布畸形像醉汉 BatchNorm后 → $[-0.5, -0.3, -0.1, 1.9]$ # 标准正态像仪仗队1、Mini-batch是什么mini-batch是训练时从大数据集中随机抽取的小批量样本32、64、128等是BatchNorm统计的基础单位。张量形状( N , C , H , W ) (N,C,H,W)(N,C,H,W)N: mini-batch大小 32张图片 C: 通道数 64个特征图 H,W: 空间尺寸BatchNorm统计维度在N维度上对每个通道C统计32个样本的均值μ B \mu_BμB和方差σ B 2 \sigma_B^2σB2。2、为什么需要“前层作妖后层遭殃”第1层学聪明 → 输出分布全变 第2层懵逼你这输入啥玩意 → 重新学 第50层直接NaN训练崩BatchNorm我来管教每层输入都规规矩矩二、前向计算4步洗澡化妆流程第1步量体温批均值μ B 1 m ∑ i 1 m x i \mu_B \frac{1}{m}\sum_{i1}^m x_iμBm1i1∑mxi干啥统计32张猫图每个特征通道的平均体温去整体偏移。第2步测体胖批方差σ B 2 1 m ∑ i 1 m ( x i − μ B ) 2 \sigma_B^2 \frac{1}{m}\sum_{i1}^m (x_i - \mu_B)^2σB2m1i1∑m(xi−μB)2干啥看这批数据胖瘦程度方差大变化剧烈。第3步洗澡标准化★核心x ^ i x i − μ B σ B 2 ϵ \hat{x}_i \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 \epsilon}}x^iσB2ϵxi−μB三板斧减均值全体减肥到0除方差全体塑形到标准身材方差1防除零ϵ 10 − 5 \epsilon10^{-5}ϵ10−5第4步化妆仿射变换★关键y i γ x ^ i β y_i \gamma \hat{x}_i \betayiγx^iβ为什么需要化妆前3步把网络洗傻了没化妆场景标准化后 → [-0.3, 0.1, -1.2, 0.4] # 太规矩 ReLU([-0.3, 0.1, -1.2, 0.4]) [0, 0.1, 0, 0.4] # 表达力被锁死化妆后γ[2.1, 0.8, 0.5, 1.5], β[0.5, 0.5, 0.5, 0.5] y [-0.13, 0.58, -0.5, 1.1] # 分布自由 ReLU(y) [0, 0.58, 0, 1.1] # 网络能学复杂关系γ , β \gamma,\betaγ,β作用γ \gammaγ放大/缩小特征重要性β \betaβ调整最终分布比喻从标准化工服到个性化西装三、反向传播6步梯度推导工程神式∂ ℓ ∂ x i γ m σ B 2 ϵ [ ∂ ℓ / ∂ y i − 批均值 − x ^ i ⋅ 批协方差 ] \frac{\partial \ell}{\partial x_i} \frac{\gamma}{m\sqrt{\sigma_B^2\epsilon}} [\partial \ell/\partial y_i - \text{批均值} - \hat{x}_i \cdot \text{批协方差}]∂xi∂ℓmσB2ϵγ[∂ℓ/∂yi−批均值−x^i⋅批协方差]推导精髓每个x i x_ixi影响3条路径batch内梯度均值0方差1