我对实例归一化的含义感到非常困惑,并且不确定是否可以将其用于批量大小为1的情况。我使用的是PyTorch,文档中没有任何说明要求批量大小必须大于1。
我知道对于批归一化(BatchNorm),当批量大小小于8时,性能会受到不利影响,因此这对批量大小设置了一种软限制。然而,我没有看到关于实例归一化的类似分析,现在有点困惑。如果我的批量大小为1,那么我应该移除归一化层吗?
回答:
不同归一化方法的一个良好概述可以在群归一化论文中找到。
实例归一化的总结如下:
[…] IN沿着每个样本和每个通道的(H, W)轴计算µ和σ。
均值和标准差仅在空间维度(H, W)上计算,并且与批量大小和通道无关(有N x C个不同的归一化)。因此,您可以将其用于批量大小为1的情况。