Optimization TensorFlow-使用动量优化器时,为多个目标组合梯度?

Optimization TensorFlow-使用动量优化器时,为多个目标组合梯度?,optimization,tensorflow,gradient-descent,momentum,Optimization,Tensorflow,Gradient Descent,Momentum,如果我使用一个使用动量的优化器(例如,AdamOptimizer),并且我有一个在最后分裂的图,导致我试图同时最小化两个值,我可以使用两次尝试最小化每个值。这将生成两组独立的渐变。如果我简单地将两个列表合并成一个长列表,并在整个列表中使用,那么在动量方面会发生什么?同一变量可以用两个相反的值更新两次。TensorFlow优化器是否考虑到这一点,并将动量放在适当的中间地带?或者优化器是否将这两个单独的梯度作为影响动量的两个单独的梯度更新调用(可能会导致问题,因为它总是最后一个调用)?如果是这种情况

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

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

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