【问题标题】:What are the learnable parameters in batch normalization?批量标准化中的可学习参数是什么?
【发布时间】:2016-06-09 17:53:15
【问题描述】:

有四个变量:gamma、beta、均值的移动平均值、方差的移动平均值。

是否需要对移动平均线进行快照,并在测试时加载它们?

一个更好的问题:

对于 tensorflow 中批量归一化的this implementation,我需要将 batch-mean 和 batch-var 从训练时间转移到测试时间吗?如果是这样,我怎样才能在 tensorflow 中实现这一点?

【问题讨论】:

    标签: tensorflow deep-learning


    【解决方案1】:

    是的 - 对于批量标准化的任何使用,您训练通过基于单个批次的统计数据进行标准化,然后您通过使用统计数据的长期平均值进行推理。 p>

    您应该保存一份均值和方差保持变量的副本,并在进行测试时将其恢复。

    不需要任何魔法:它们只是在您use the Saver 时将被保存和恢复的变量。

    在您引用的具体实现中,documentation for tf.train.ExponentialMovingAverage 有一个具体示例,说明如何分别保存和恢复移动平均线用于训练和推理。

    【讨论】:

    • 感谢您的回答。它澄清了很多。
    猜你喜欢
    • 2019-02-16
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 2021-10-17
    • 2020-11-30
    • 2018-04-09
    相关资源
    最近更新 更多