Adam优化器Keras与Tensorflow

时间:2018-10-31 17:16:35

标签: tensorflow neural-network keras deep-learning

我会问为什么亚当优化器的Keras实现具有Decay参数,而Tensorflow没有?对这个论点有什么想法?

2 个答案:

答案 0 :(得分:1)

为什么很难回答。

但是,当火车达到极限时,衰减会很有趣。 降低学习率可以改善模型并获得更好的结果。但是机器学习就是测试。

这个想法只是在每次批量更新中降低学习率的值。

这是Keras使用的公式:

lr = self.lr
if self.initial_decay > 0:
    lr = lr * (1. / (1. + self.decay * K.cast(self.iterations, K.dtype(self.decay))))

基本上是:

lr / (1 + decay*currentBatch) #considering currentBatch keeps incresing, not looping    

答案 1 :(得分:0)

  

差异可能以某种方式反映了讨论是否学习   应用Adam时甚至需要速率衰减。

  1. Adam使用个人学习率更新任何参数。这意味着网络中的每个参数都具有特定的学习速率。
  2. 使用初始学习率作为上限来计算参数的单个学习率。这意味着每个学习速率可以从0(无更新)变化到初始学习速率。
  3. 学习速度会在训练步骤中适应自己,但是如果要确保每个更新步骤都不会超过上限,则可以使用指数衰减来降低初始(全局)学习速度。

因此,这些原因表明了为什么要进行讨论,毕竟是否有必要使用Adam降低学习速度。