【问题标题】:Batch normalization and small mini-batch批量标准化和小型 mini-batch
【发布时间】:2017-12-14 13:55:35
【问题描述】:

我对批量标准化层并不完全熟悉。据我了解,它将在训练时使用小批量统计数据计算归一化。

当小批量大小非常小时(例如,对于小批量大小,每次迭代使用 2 或 4 个图像)时,你们中是否有人使用过这些层?有什么理由不能有效地工作吗?

我的感觉是,统计数据是在训练时对一个非常小的样本计算的,可能会对训练产生负面影响,你怎么看?

【问题讨论】:

    标签: tensorflow deep-learning conv-neural-network convolution


    【解决方案1】:

    您的直觉是正确的,样本可能与总体不同(小批量与所有样本),但该问题已在批量标准化论文中得到解决。具体来说,在训练期间,您可以通过除以批量大小 (N) 来找到样本的方差,但在测试期间,您可以使用无偏方差估计(乘以 N/(N-1))来解释这一点: 在这里查看更详细且易于理解的解释: Batch Normalization

    【讨论】:

    • 嘿,感谢您的回答,但我的问题与训练/测试批量大小差异无关。我的问题完全是关于算法的训练。当训练的批量较小时,批量标准化会发生什么?它还在工作吗?
    • 是的,确实如此,因为在测试时您使用方差的期望值,以及无偏方差估计,小批量大小很小,不会改变数据的预期方差。
    猜你喜欢
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 2018-06-27
    • 2017-10-21
    • 2017-03-03
    • 1970-01-01
    相关资源
    最近更新 更多