AdamOptimizer有多随机?

时间:2019-01-27 14:39:09

标签: python tensorflow

假设:

  1. 我以相同的顺序将数据提供给10 AdamOptimizer。
  2. 所有AdamOptimizer都会尝试最小化相同的目标函数。
  3. 10 AdamOptimizer的变量初始值不同
  4. 某些变量(将其称为集合b)应该对目标函数的最小值没有影响。但是我不知道最小化之前set b中有哪些变量。
  5. 目标函数是确定性的。

对于b最小化,集合b中的变量是否具有不同的值?

我正在尝试在GPU上同时运行10个最小化。 训练数据很大。

1 个答案:

答案 0 :(得分:2)

  

Adam优化器的随机性如何?

结果y中的随机性不是Adam为超参数的固定值带来的。它基于参数W并针对bnp.random.seed(0)填充偏见tf.set_random_seed(0) TensorFlow。

Adam中所述,它是RMSProp结合具有动量的梯度下降。

如果您签出arguments

  • lr:浮动> =0。学习率。
  • beta_1:浮点数,0
  • beta_2:浮点数,0
  • ε:浮子> =0。模糊因子。如果为None,则默认为K.epsilon()。
  • 衰减:浮点数> =0。每次更新的学习率都会下降。
  • amsgrad:布尔值。是否在“论亚当与超越的收敛”一文中应用该算法的AMSGrad变体。

有很多,默认情况下:

__init__(
    lr=0.001,
    beta_1=0.9,
    beta_2=0.999,
    epsilon=None,
    decay=0.0,
    amsgrad=False, **kwargs
)

对于固定的一组默认超参数,结果将相同。