最近,我研究了反向传播网络,并做了一些手工练习。在那之后,我提出了一个问题(可能没有意义):遵循两种不同的替换方法有什么重要的事情: 1.增量训练:一旦知道所有的增量Wij,在呈现下一个训练向量之前,立即更新权重。2.批量训练:为每个样本训练向量计算并存储增量Wij。但是,增量Wij不会立即用于更新权重。权重更新是在训练周期结束时完成的。
我用谷歌搜索了一段时间,但没有找到任何结果。
发布于 2010-11-16 06:44:49
因此,您所指的是执行梯度下降学习的两种模式。在批处理模式中,对权重矩阵的改变在训练数据集的整个呈现上累积(一个“时期”);在线训练在呈现构成训练集的每个向量之后更新权重。
我相信大家的共识是,在线训练更优越,因为它收敛得更快(大多数研究报告在准确性方面没有明显差异)。(例如,参见Randall Wilson & Tony Martinez,The General Inefficiency of Batch Training for Gradient Descent,In Neural Networks (2003)中的General Inefficiency of Batch Training for Gradient Descent Learning。
在线训练收敛更快的原因是它可以在每个时期跟踪误差曲面中的曲线。这样做的实际意义在于,您可以使用更大的学习率(因此在训练数据中收敛的周期更少)。
换句话说,批量训练的累积权重变化随着训练集的大小而增加。结果是批量训练在每次迭代中使用较大的步长,因此错过了错误空间拓扑中的局部最小值--您的求解器振荡而不是收敛。
批量训练通常是默认的(最常用于ML教科书等)而且,只要它在您可以接受的时间限制内收敛,使用它就没有错。同样,性能(分辨率或分类精度)的差异很小或可以忽略不计。
发布于 2010-11-16 06:15:58
是的,这两种方法是有区别的。所计算的增量是输入向量和网络权重的函数。如果更改权重,则从下一个输入向量计算的增量将不同于未更改权重的情况。
因此,对于第一个输入向量,无论您选择哪种方法,都会计算出相同的增量。现在,对于连续方法,网络中的权重将发生变化,而在同时方法中,权重将暂时保持不变。当第二个输入向量出现时,两种方法现在都会产生不同的增量,因为两个网络之间的权重是不同的。
https://stackoverflow.com/questions/4189293
复制相似问题