【问题标题】:TensorFlow - Combining gradients for multiple target objectives when using a momentum optimizer?TensorFlow - 使用动量优化器时为多个目标目标组合梯度?
【发布时间】:2017-04-30 22:52:50
【问题描述】:

如果我正在使用使用动量的优化器(例如AdamOptimizer)并且我有一个图表,该图表在最后分裂导致我试图同时最小化的两个值,我可以使用compute_gradients 两次尝试最小化每个值。这会产生两组独立的渐变。如果我简单地将这两个列表组合成一个长列表并在整个列表中使用apply_gradients,那么动量会发生什么?同一个变量可以用两个相反的值更新两次。 TensorFlow 优化器是否考虑到这一点并将动量置于适当的中间地带?或者优化器是否将两个独立的梯度作为两个独立的梯度更新调用来影响动量(可能会导致问题,因为一个可能会受到青睐,因为它总是被最后调用)?如果是这种情况,我应该如何在应用渐变之前手动组合渐变?

【问题讨论】:

    标签: optimization tensorflow gradient-descent momentum


    【解决方案1】:

    您可以使用“联合损失”来训练网络。

    假设您有两个张量:loss1 和 loss2,因此您可以将它们相加并在组合损失上运行优化器,例如 Adam(loss1 + loss2)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      相关资源
      最近更新 更多