【问题标题】:batch size without batch normalization没有批量标准化的批量大小
【发布时间】:2022-01-04 13:44:01
【问题描述】:

我正在以 EDSR 作为基准模型来处理图像超分辨率任务。在 EDSR 之后,我没有在我的模型中使用任何批处理规范层。我突然想到了一个关于批量大小的愚蠢问题。

目前,我正在使用 batch-size=32 训练我的模型(如在 EDSR 中)。但由于我没有使用任何批量标准化技术,我看不出有任何理由使用大于 1 的批量大小。但我对自己的想法没有信心,因为作者的实现正在使用批量大小大于 1。

有人可以帮我解决这个问题吗?我错过了什么?

【问题讨论】:

  • 可能有助于this link 了解批量大小与批量标准。

标签: deep-learning pytorch batch-normalization batchsize batchnorm


【解决方案1】:

在 FAIR 进行的Rethinking “Batch” in BatchNorm 研究中,讨论了批量标准化和批量大小。根据下图,您可以看到批量标准化和批量大小的关系。它表明,当您使用较小的批量大小时,您不需要使用批量标准化。当您有更大的批量大小时,批量标准化很有帮助。使用较小的批大小和批标准化会导致训练/测试不一致。

不同归一化批次下的分类误差 大小,固定总批大小为 1024。绿色:错误率开启 使用小批量统计的未增强训练集; 红色:错误 使用 PreciseBN 估计的人口统计数据在验证集上的比率; 蓝色:验证集的错误率使用随机批次的小批量统计数据(具有相同的标准化批量大小 用于训练)。红色和蓝色曲线之间的差距是造成 train-test inconsistency,而蓝色和绿色之间的差距 曲线是未见数据集上的泛化差距。

【讨论】:

    猜你喜欢
    • 2020-04-26
    • 2018-06-27
    • 2019-11-13
    • 1970-01-01
    • 2018-04-09
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多