【问题标题】:MNIST for ML Beginners tutorial mistakeMNIST for ML Beginners 教程错误
【发布时间】:2016-08-15 18:52:46
【问题描述】:

MNIST for LM Beginners 教程中我相信有一个错误。我认为这部分不准确:

使用小批量随机数据称为随机训练——在本例中为随机梯度下降。

随机梯度下降用于更新每个训练示例的参数 (http://sebastianruder.com/optimizing-gradient-descent/index.html#gradientdescentvariants),并且在教程中使用大小为 100 的批次,我认为这将是小批量梯度下降。

我可能错了,但不应该改变吗?

【问题讨论】:

  • 在神经网络训练中,SGD通常是指mini-batches优化

标签: tensorflow


【解决方案1】:

在 Wikipedia (https://en.wikipedia.org/wiki/Stochastic_gradient_descent) 和 Sebastian Ruder 的调查中,确实将随机梯度下降 (SGD) 称为具有单个数据样本的梯度下降。然而,在机器学习者中也很流行使用这个术语来表示小批量梯度下降。

当使用随机梯度下降时,您假设梯度可以通过使用单个数据样本的梯度合理地近似,这可能是一个相当沉重的假设,具体取决于数据的波动。如果您使用小批量梯度下降(对于某些问题,100 可能是小批量),您仍然依赖于单个批次,尽管这种依赖性通常小于单个样本(因为您有这里至少有一点平均)。

因此,梯度本身(或更新规则,如果您更喜欢这种观点)是一个随机变量,因为它围绕整个数据集的平均值波动。因此,很多人将小批量梯度下降和随机梯度下降作为同义词。

【讨论】:

    猜你喜欢
    • 2017-04-25
    • 2018-01-04
    • 2018-11-05
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    相关资源
    最近更新 更多