在张量流上使用弹性传播

use resilient propagation on tensorflow

有没有办法在 Tensorflow 上使用弹性传播?我知道有很多反向传播策略。有没有接近rPorp的?我可以插入我自己的弹性传播实现吗?

tensorflow 中没有 rprop 实现,尽管创建一个相当简单。您可以通过编写操作来创建一个,或者直接在 python 中通过组合操作来创建。

有一个 RMSProp 是另一回事。

请注意,RProp 不适用于随机更新。批量大小必须非常大才能工作。

RProp 和 RMSProp 非常相似。它们都将当前批次(或单个样本)的梯度符号与前一个进行比较,以更新每个参数的唯一值(通常在符号一致时乘以 1.2,在符号不一致时乘以 0.5)。但是当 RProp 比较每个批次梯度时,RMSProp 使用折扣因子来保持 运行 平均值来比较符号。 RProp 使用这个唯一值在梯度方向上采取绝对步骤,而 RMSProp 将该值与梯度相乘。

RProp 适用于较大的批次,但不适用于随机更新,因为梯度的符号会闪烁,导致步数接近最小值,从而停止学习。 RMSProp 的 运行 平均值解决了这个问题。但是因为 RMSProp 乘以值和梯度,它比 RProp 更容易饱和(至少对于 Sigmoid 和 Tanh - 但你当然可以使用 Relu 或 Leaky Relu 来解决这个问题)。