批量标准化在测试时间内根据批次而变化

时间:2016-02-18 19:57:37

标签: machine-learning neural-network normalization conv-neural-network

假设我使用64个数据点的批量大小。在训练期间,我更新均值和方差的指数移动平均值,并在测试时间内使用这些平均值。

我有两个测试用例: (1)datapoint-A + 63其他独特的数据点, (2)datapoint-A重复64次

我期待发生的事情: 在测试期间,datapoint-A的输出对于两种情况都应该相同,因为平均均值和方差用于标准化。

我的实施中发生了什么: 每个测试用例的输出都不同,即由于规范化,每个测试示例的输出取决于批处理中提供的其他示例。

我的期望是不正确的,还是正确的,我需要专注于调试我的实现?

1 个答案:

答案 0 :(得分:1)

不应在测试时间内执行标准化调整。您需要区分列车时间和网络的测试时间。在训练期间,您符合标准化,一旦完成 - 计算整个训练集(或至少可代表批处理)的标准化,然后修复它并使用固定的预测阶段。

相关问题