深度学习pytorch——正则化(持续更新)

文章讨论了Sigmoid函数导致的梯度离散问题,并介绍了批量正则化(BatchNorm)及其在PyTorch中的实现,包括BN1d和BN2d的区别。同时,探讨了图像正则化方法以及LayerNorm、InstanceNorm和GroupNorm等其他标准化技术,强调了这些技术在提高模型收敛速度和性能方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于Sigmoid函数在两边存在梯度趋于零的特性,这种特性会使梯度长久得不到更新,造成梯度离散的现象,如何处理这一种现象?压缩数据使数据位于Sigmoid梯度不趋于0区间,即批量正则化(Batch Norm )(图-1)。

图-1

图像正则化(image normalization)

在均值为0时最有利于搜索最优解。深度学习中,图像的像素值位于[0, 1]区间,如何将像素值均值为0?pytorch提供了transforms.normalization()方法,将像素值正则化为正态分布N(0,1),代码演示如下:

normalize = transformers.Normalize(mean=[0.485,0.456,0.406],std=[0.229,0.224,0.225])

在这个代码中的均值mean和方差std都是经过统计而来,transforms.normalization()方法内部原理是什么?首先,将均值的三个值分别看成R G B通道,然后,将每个通道的输入值减去本通道均值,除于本通道方差,即可得到(公式-1)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值