在迁移学习中,如果预训练模型是(或未)用标准化数据训练的,我们应该应用标准化吗?

人工智能 神经网络 训练 数据预处理 迁移学习 标准化
2021-11-10 13:01:47

假设一个人通过在 ImageNet 上训练的模型使用迁移学习。

  1. 假设用于实现预训练模型的预处理包含使用一些均值和标准差的 z 分数标准化,这是在训练数据上计算的。

    是否应该对他们的新数据应用相同的转换?他们是否应该使用自己的训练数据的平均值和标准来应用 z 分数标准化?

  2. 假设预处理现在不包含任何标准化。

    是否也应该对他们的新数据不应用标准化?还是应该应用 z 分数标准化,使用新数据的均值和标准差,并期待更好的结果?

例如,我看到由 Keras 训练的 Inception V3 模型没有使用任何标准化,我想知道在我的新数据上使用 z-score 标准化是否可以产生更好的结果。

1个回答
  1. 在使用任何预训练模型时,您应该对新数据使用相同的转换(即在 z 分数归一化的情况下使用相同的均值和标准差)。
  2. 如果预训练模型是在没有任何归一化的情况下进行训练的,那么只要输入数据的范围是固定的(8 位输入图像为 0-255),是否使用归一化都无关紧要。您可以使用具有批标准化的预训练模型来处理内部协方差偏移,因此无需对数据进行标准化。