欢迎访问个人网络日志🌹🌹知行空间🌹🌹
0.简介
Batch Normalization在训练过程中对网络的输入输出进行归一化,可有效防止梯度爆炸和梯度消失,能加快网络的收敛速度。
y = x − E ( x ) ( V a r ( x ) + ϵ ) γ + β y = \frac{x-E(x)}{\sqrt(Var(x)+\epsilon)}\gamma+\beta y=(Var(x)+ϵ)x−E(x)γ+β
如上式,x表示的是输入变量,E(x)和Var(x)分别表示x的那每个特征维度在batch size上所求得的梯度及方差。 ϵ \epsilon ϵ是为了防止除以0,通常为1e-5, γ \gamma γ和 β \beta β是可学习的参数,在torch BatchNorm API中,可通过设置affine=True/False来设置这两个参数是固定还是可学习的。True表示可学习,False表示不可学习,默认
PyTorch中BatchNormalization层的详解与应用

本文详细介绍了PyTorch中的BatchNormalization层,包括BatchNorm1d、BatchNorm2d和BatchNorm3d的使用方法和原理。通过实例展示了如何对不同维度的数据进行归一化操作,强调了在训练神经网络时防止梯度爆炸和梯度消失的重要性。同时,解释了可学习参数γ和β的作用,并给出了计算均值和方差的过程。
最低0.47元/天 解锁文章
2197

被折叠的 条评论
为什么被折叠?



