(六)Normalization

(六)Normalization

why

从图中可以看出,当输入太小或者太大的时候,函数的取值随着输入的变化几乎为0。这样就会发生梯度离散的情况,因此我们很有必要把输入控制在一个小一点的区间内。所以我们通过normalization操作,把输入的值等效变换在一个小一点的区间之内。我们假设变换后的值以0为均值,以 σ \sigma σ为方差,即 N ( 0 , σ 2 ) N(0, \sigma ^2) N(0,σ2)

应用

我们可以把这种方法应用在图像领域,叫做Image Normalization。我们把输入的像素值等效缩放在[0, 1]中,我们知道在这个区间内计算能很好逼近我们的最优解,所以对我们计算十分有利。

下面我们来看四种normalization:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ethl9nFn-1644125711197)(C:\Users\ying\AppData\Roaming\Typora\typora-user-images\image-20220206131157740.png)]

这里简单介绍下,对于Batch Norm, 他会随着C的不同生成,N,H,W的均值,最后出现的就是不同C在其他三个量上的均值。

简而言之就是,随着C的不断变化,统计蓝色矩形的均值,生成的数的数量和C的值的数量一样。

下面我来看具体的计算过程:

下面是具体的Batch Normalization具体操作:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ptdLHYDF-1644125711198)(C:\Users\ying\AppData\Roaming\Typora\typora-user-images\image-20220206132931675.png)]

下面在PyTorch中进行实现:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PXGaTYnO-1644125711198)(C:\Users\ying\AppData\Roaming\Typora\typora-user-images\image-20220206133333658.png)]

从上面结果可以看出,使用Batch Normalization后收敛速度更快,并且能够得到更好的解,而且更加稳定。

ization后收敛速度更快,并且能够得到更好的解,而且更加稳定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值