データが前処理及び標準化の最も一般的な方法は、補正データの中心位置に対応する中心は、実装は、平均特徴0を得るために、最終的に各対応する特徴寸法の平均値を減算し、その、非常に簡単であり、中心です。データは平均ゼロになった後の標準化は、異なる機能を有効にするために、非常に簡単である標準正規分布の標準偏差を割ることによって近似することができる、同じサイズの寸法を有し、それはまた、最大値と最小値に変換に基づくことができます - 1〜1。
2015この紙提示方法ので、標準正規分布に従う、一言で言えば、それは正規のネットワークの各レイヤのための出力行われ、標準化ので、ネットワーク層を承認また、標準正規分布を入力し、それが収束までより良いトレーニング、高速化することができます。
pytorchに標準の独自のバッチでは達成できない、そこに内蔵された機能を達成するために、このような二次元BatchNorm2d(AS)
# 使用批标准化
class conv_bn_net(nn.Module):
def __init__(self):
super(conv_bn_net, self).__init__()
self.stage1 = nn.Sequential(
nn.Conv2d(1, 6, 3, padding=1),
nn.BatchNorm2d(6),
nn.ReLU(True),
nn.MaxPool2d(2, 2),
nn.Conv2d(6, 16, 5),
nn.BatchNorm2d(16),
nn.ReLU(True),
nn.MaxPool2d(2, 2)
)
self.classfy = nn.Linear(400, 10)
def forward(self, x):
x = self.stage1(x)
x = x.view(x.shape[0], -1)
x = self.classfy(x)
return x