批量归一化

Batch normalization

为什么batch normalization是作用于相同特征的不同样本而不是同一样本的不同特征?不应该是不同特征的归一化吗?在图中,为什么我们使用第一行而不是第一列? 有人能帮帮我吗?

因为同一个对象的不同特征意味着不同的东西,并且根据这些值计算一些统计数据是不合逻辑的。它们可以有不同的范围、平均值、标准差等。你的一个特征可能意味着一个人的年龄,另一个特征是这个人的身高。如果您计算这些值的平均值,您将不会得到任何有意义的数字。

在经典机器学习中(尤其是在线性模型和 KNN 中),您应该规范化您的特征(即计算整个数据集上特定特征的均值和标准差,并将您的特征转换为 (X-mean(X)) /标准(X))。 Batch normalization 类似于应用于随机优化方法,如 SGD(在 mini batch 上使用全局统计没有意义,而且你希望比在第一层之前更频繁地使用 batch norm)。更多基本思想可以在 original paper

中找到