【问题标题】:Neural network weighting神经网络加权
【发布时间】:2011-05-10 12:16:42
【问题描述】:

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

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

【问题讨论】:

  • 我认为您指的是批量与增量训练模式。

标签: machine-learning neural-network deep-learning backpropagation


【解决方案1】:

是的,这两种方法是有区别的。计算得到的增量是输入向量和网络权重的函数。如果您更改权重,则从下一个输入向量计算的增量将与您未更改权重时不同。

因此,对于第一个输入向量,无论您选择哪种方法,都会计算相同的增量。现在,对于 Successive 方法,网络中的权重会发生变化,而在 Simultaneous 方法中,权重现在将保持不变。当呈现第二个输入向量时,两种方法现在将产生不同的增量,因为两个网络之间的权重不同。

【讨论】:

    【解决方案2】:

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

    我相信大家一致认为,在线培训更胜一筹,因为它的收敛速度更快(大多数研究报告在准确性方面没有明显差异)。 (例如,参见 Randall Wilson 和 Tony Martinez,The General Inefficiency of Batch Training for Gradient Descent Learning,In Neural Networks (2003)。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      相关资源
      最近更新 更多