简介
网上关于BN处理的说明有很多,它的前身就是白化处理,但是白化处理需要消除特征之间的相关性(使用PCA降维,矩阵分解等),这样比较消耗时间,然后对每一维特征的样本进行归一化,就是将其映射到均值为0,标准差为1的空间上。 BN汲取了白化处理的思想,但是BN的特点是进行批量归一化,比如一个形状为[N,C,H,W]的输入数据,它针对每一维特征进行样本大小为NxHxW的归一化操作,将该维特征的样本空间进行一个标准映射。为了验证我的理解,我做了实验一下实验。
准备数据
input1: 一维特征,batch=2的tensor
input2: 一维特征,batch=2的tensor
input: 二维特征,batch=2的tensor
import numpy as np
import torch
m1 = torch.nn.BatchNorm2d(1)
m2 = torch.nn.BatchNorm2d(2)
input1 = torch.randint(5,[2,1,2,2],dtype=torch.float32)
input2 = torch.randint(5,[2,