最近我研究了反向传播网络并做了一些手动练习。之后,我提出了一个问题(可能没有意义):以下两种不同的替换方法有什么重要的吗:1.增量训练:一旦所有 Delta Wij 已知并且在呈现下一个训练向量之前,权重立即更新。2.批量训练:为每个样本训练向量计算并存储 delta Wij。然而,Delta Wij 不会立即用于更新权重。权重更新是在训练周期结束时完成的。

我用谷歌搜索了一段时间但没有找到任何结果。

有帮助吗?

解决方案

所以你指的是执行梯度下降学习的两种模式。在批处理模式下,权重矩阵的变化在训练数据集的整个呈现过程中累积(一个“时期”);在线训练在呈现包含训练集的每个向量后更新权重。

我相信人们的共识是在线培训更优越,因为它收敛得更快(大多数研究报告在准确性方面没有明显差异)。(参见例如兰德尔·威尔逊和托尼·马丁内斯, 梯度下降学习的批量训练普遍效率低下, , 在 神经网络 (2003).

在线训练收敛速度更快的原因是它可以在每个时期遵循误差曲面中的曲线。这样做的实际意义在于,您可以使用更大的学习率(因此可以通过训练数据以更少的周期收敛)。

换句话说,批量训练的累积权重变化随着训练集的大小而增加。结果是批量训练在每次迭代时使用较大的步长,因此错过了误差空间拓扑中的局部最小值 - 您的求解器会振荡而不是收敛。

批量训练通常是“默认”(最常用于机器学习教科书等),只要它在可接受的时间限制内收敛,使用它就没有任何问题。同样,性能(分辨率或分类精度)的差异很小或可以忽略不计。

其他提示

是的,这两种方法之间存在差异。计算的三角洲是输入向量和网络权重的函数。如果您更改权重,那么从下一个输入向量计算的三角洲将与不更改权重的情况不同。

因此,对于第一个输入向量,无论您选择哪种方法,相同的增量都将被计算出来。现在,对于连续的方法,网络中的权重将变化,而同时的方法,权重目前将保持不变。当提出第二个输入向量时,两种方法现在都会产生不同的三角洲,因为两个网络之间的权重不同。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top