最近我研究了反向传播网络并做了一些手动练习。 在那之后,我提出了一个问题(可能没有意义):在遵循两种不同的替换方法中是否有任何重要的事情: 1.增量训练:一旦所有delta Wij都已知并且在呈现下一个训练向量之前立即更新权重。 2.批量训练:为每个示例训练向量计算和存储delta Wij。但是,delta Wij不会立即用于更新权重。体重更新在训练时代结束时完成。
我用谷歌搜索了一段时间但没有找到任何结果。
答案 0 :(得分:7)
所以你所指的是执行梯度下降学习的两种模式。在批处理模式中,权重矩阵的变化在训练数据集的整个表示上累积(一个'纪元');在线培训在呈现包含训练集的每个向量之后更新权重。
我认为,共识是在线培训更优越,因为它收敛得更快(大多数研究报告的准确性没有明显差异)。 (参见例如Randall Wilson& Tony Martinez,梯度下降学习批次训练的一般低效率,神经网络(2003)。
在线训练收敛得更快的原因是它可以跟踪每个时期的误差表面中的曲线。这样做的实际意义在于您可以使用更大的学习速率(因此通过训练数据收敛更少的周期)。
换句话说,批量训练的累积重量变化随着训练集的大小而增加。结果是批处理训练在每次迭代时都使用大步,因此错过了误差空间拓扑中的局部最小值 - 求解器振荡而不是收敛。
批量训练通常是“默认”(最常用于ML教科书等),只要它在可接受的时间限制内收敛,使用它就没有错。同样,性能(分辨率或分类准确度)的差异很小或可以忽略不计。
答案 1 :(得分:2)
是的,这两种方法之间存在差异。计算得到的增量是输入向量和网络权重的函数。如果更改权重,则从下一个输入向量计算的增量将与不更改权重时的增量不同。
因此,对于第一个输入向量,无论您选择哪种方法,都将计算相同的增量。现在,对于Successive方法,网络中的权重将发生变化,而在Simultaneous方法中,权重现在将保持不变。当呈现第二个输入向量时,两种方法现在将产生不同的增量,因为两个网络之间的权重不同。