machine-learning - 虚拟批量标准化和批量标准化有什么区别?

标签 machine-learning neural-network batch-normalization

我知道什么是批量标准化,但我不太明白如何进行虚拟批量标准化。如何选择引用样本?

最佳答案

区别在于,前者的每个批处理 x 是根据在一次选择并在训练开始时固定的示例引用批处理上收集的统计数据进行归一化的,但在后者中,批处理本身是归一化的。后者受到每个小批量内样本相互依赖性的影响。

我觉得这就像locally weighted linear regression中如何选择查询点一样。您只需根据您的经验选择一个即可。

事实上,demo in the official repository当他们开始训练时只使用第一批。

if not hasattr(self, name):
    vbn = VBN_cls(tensor, name, half=half)
    setattr(self, name, vbn)
    return vbn.reference_output

如果在整个训练过程中保持不变,您可以选择任何批处理作为引用批处理。

关于machine-learning - 虚拟批量标准化和批量标准化有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50917182/

相关文章:

python - 如何训练单目标识别?

python - 开发神经网络时如何在python中使用sigmoid函数

python - 如何在 keras 中使用 U-net 正确使用批量标准化?

python - 使用 MLP 的神经网络分类器

machine-learning - 神经网络中反向传播的验证集

tensorflow - tf-slim 批量规范 : different behaviour between training/inference mode

python - BatchNormalization 中 (axis = 3) 的含义是什么?

python - scikit-learn 中文本数据的监督降维

algorithm - 预测室内温度的机器学习算法

python-3.x - 如何将基于自定义图像的数据集加载到 Pytorch 中以与 CNN 一起使用?