有没有办法在 Tensorflow 上使用弹性传播?我知道有很多反向传播策略。有没有接近rPorp的?我可以插入我自己的弹性传播实现吗?
最佳答案
RProp 和 RMSProp 非常相似。它们都将当前批处理(或单个样本)的梯度符号与前一个批处理进行比较,以更新每个参数的唯一值(通常当符号一致时乘以 1.2,当符号不一致时乘以 0.5)。但是,当 RProp 比较每个批处理梯度时,RMSProp 使用折扣因子来保持用于比较符号的运行平均值。 RProp 使用这个唯一值在梯度方向上采取绝对步骤,而 RMSProp 将该值与梯度相乘。
RProp 对于较大的批处理非常有效,但对于随机更新则效果不佳,因为梯度的符号会闪烁,导致步骤接近最小值而停止学习。 RMSProp 的运行平均值解决了这个问题。但由于 RMSProp 乘以值和梯度,因此它比 RProp 更容易受到饱和的影响(至少对于 Sigmoid 和 Tanh - 但您当然可以使用 Relu 或 Leaky Relu 来解决这个问题)。
关于tensorflow - 在 tensorflow 上使用弹性传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42287270/