Pytorch BatchNormal

BatchNormal使用原理

Pytorch BatchNorm
sigmoid函数一般会在(-4-4)的范围内,有较大变动,当超出了以后就不能很好显示,这是使用BatchNorm,将数据映射以0为均值,到(-1,1)范围内,以便于计算

Pytorch BatchNorm
当采用梯度下降时,如果由w2方向下降,很容易进行变换,但是当w1方向时,很难变换,此时可以使用batchnormal达到右图效果,这样任何方向内,梯度下降的效果都相同
Pytorch BatchNorm

代码实现

Image Normalization

Pytorch BatchNorm
eg:
Pytorch BatchNorm
将R,G,B三个求出均值std,然后使用noralization,使数据分布更加均匀,以便于找到最优解

Batch Normalization

四种Batch Normalization
Pytorch BatchNorm

eg:

Batch Norm

Pytorch BatchNorm
数据的结构:[N,C,HW]

N:图片数量 C:RGB,三种色彩 HW:像素点

对N方向(eg:6张图片),采集6张图片的784个图片像素点,求一个均值,生成维度为3的一个batch

Layer Norm

统计当前图片的数据的C和HW整体均值

Insatnce Norm

统计当前图片,当前色彩RGB下的一个像素点HW均值

处理过程

Pytorch BatchNorm
Pytorch BatchNorm
方差
Pytorch BatchNorm
统计数据
Pytorch BatchNorm
处理结果会更加接近N(0,1)的正态分布

Pytorch BatchNorm
这两个参数需要学习得到

代码实现

Pytorch BatchNorm
数据集为[100,16,784] 100个图片,16个经历过池化层的数据,784的像素

统计16个batch的batchnormal

正式写法

Pytorch BatchNorm

BatchNorm2d

Pytorch BatchNorm

全局打印

Pytorch BatchNorm

处理结果

Pytorch BatchNorm

更加便于训练,拟合训练曲线效果更好,拟合速度更快

更加容易搜索到最优解,梯度信息更加明显,参数调整更加方便

相关文章:

  • 2022-01-11
  • 2021-07-14
  • 2022-12-23
  • 2021-10-28
  • 2021-12-06
  • 2022-01-11
  • 2021-06-13
  • 2021-11-29
猜你喜欢
  • 2021-12-09
  • 2021-11-28
  • 2022-02-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-13
相关资源
相似解决方案