python - AdamOptimizer 的随机性如何?

标签 python tensorflow

假设:

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

对于 10 次最小化,b 组中的变量会有不同的值吗?

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

最佳答案

How random is the Adam optimizer?

结果 y 中的随机性并不是 Adam 为超参数的固定值带来的东西。它基于 TensorFlow 填充的关于 np.random.seed(0)tf 的参数 W 和偏差 b。 set_random_seed(0).

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

如果您查看arguments :

  • lr: float >= 0。学习率。
  • beta_1:浮点型,0 < beta < 1。一般接近 1。
  • beta_2:浮点型,0 < beta < 1。一般接近 1。
  • epsilon: float >= 0。模糊因子。如果没有,则默认为 K.epsilon()。
  • 衰减:float >= 0。每次更新时学习率衰减。
  • amsgrad: bool 值。是否应用“On the Convergence of Adam and Beyond”论文中该算法的 AMSGrad 变体。

有很多,默认情况下:

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

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

关于python - AdamOptimizer 的随机性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54389279/

相关文章:

python - 获取一组残差的所有邻居

Python创建多层动态字典

python - 将计数列表转换为数字列表的最有效方法

machine-learning - 如何在Python中将Alexnet的梯度存储为numpy数组(在每次迭代中)?

python - 在 Tensorflow 中处理可变长度的文本

python - 使用tensorflow输入PASCAL-VOC 2012训练数据和标签的好方法

python - 如何使用 SymPy 加速符号集成?

python - 设置转换的列表的时间复杂度是多少?

python - 将 .pb 文件转换为 .ckpt (tensorflow)

python-3.x - Tensorflow-如何显示线性回归模型的准确率