(二)详解Pytorch中的BatchNorm模块

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

欢迎访问个人网络日志🌹🌹知行空间🌹🌹


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)+ϵ)xE(x)γ+β

如上式,x表示的是输入变量,E(x)Var(x)分别表示x的那每个特征维度在batch size上所求得的梯度及方差。 ϵ \epsilon ϵ是为了防止除以0,通常为1e-5, γ \gamma γ β \beta β是可学习的参数,在torch BatchNorm API中,可通过设置affine=True/False来设置这两个参数是固定还是可学习的。True表示可学习,False表示不可学习,默认

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值