神经网络小批量梯度下降

5

我正在使用多层神经网络,打算进行小批量梯度下降。假设我有100个样本组成的小批量数据,在100万个数据点中。我不理解需要更新整个网络权重的部分。当我在这100个样本上进行前向传递时,我会对这100个样本的所有错误求和。除了这个之外,我还需做什么?我是否也需要同时计算隐藏层的错误?那么它们将何时被计算?

1个回答

6

神经网络中的批量学习

对于你选择的数据集中的每个数据实例,你需要计算所有层中每个神经元的权重增量。这与反向传播中的常规过程相同。

由于你希望使用批量学习,你将延迟权重更新步骤。相反,你应该存储这些增量,并在批次完成后累加来自不同实例的增量。然后使用这些新操作的增量来更新网络中的权重。

enter image description here


我能否只存储所有的错误并在最后计算累积权重差?这样做会有什么不同吗? - Sasha
是的,这样计算上会更好! - jorgenkg
我认为批次的大小是需要进行某种调整的超参数? - Monica Heddneck
批处理中包含的样本越多,更新差值就会变得更加“平滑”。这意味着权重更有可能避免局部最优解,但代价是收敛速度较慢。使用批处理学习可以加快训练过程。例如,使用批处理学习可以更快地将网络拟合到MNIST数据集上。 - jorgenkg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接