在 SGD 中,一个 epoch 将是训练数据的完整呈现,然后每个 epoch 会有 N 次权重更新(如果训练集中有 N 个数据示例)。
如果我们现在做小批量,比如 20 个批次。一个 epoch 现在是否包含 N/20 个权重更新,或者一个 epoch 是否“延长”了 20 以使其包含相同数量的权重更新?
我问这个问题,因为在几篇论文中,对于所述的时代数量来说,学习似乎太快了。
在 SGD 中,一个 epoch 将是训练数据的完整呈现,然后每个 epoch 会有 N 次权重更新(如果训练集中有 N 个数据示例)。
如果我们现在做小批量,比如 20 个批次。一个 epoch 现在是否包含 N/20 个权重更新,或者一个 epoch 是否“延长”了 20 以使其包含相同数量的权重更新?
我问这个问题,因为在几篇论文中,对于所述的时代数量来说,学习似乎太快了。
在神经网络术语中:
示例:如果您有 1000 个训练示例,并且批量大小为 500,则需要 2 次迭代才能完成 1 个 epoch。
弗兰克的回答是不正确的。说这个需要一些勇气,因为他的代表比我多得多,而且很多人已经投票支持它。
Epoch 是一个词,意思是单次通过训练集,而不是所有训练示例。
所以,是的。如果我们做小批量 GD 而不是批量 GD,比如 20 个批次,一个 epoch 现在包含 N/20 个权重更新。N 是样本总数。
详细地说,在批量梯度下降中,单次训练允许您只采取一个梯度下降步骤。使用 mini-batch(batch size = 5,000)梯度下降,单次通过训练集,也就是一个 epoch,允许您采取 5,000 个梯度下降步骤。