2017-04-30 3 views
0

운동량을 사용하는 옵티 마이저 (예 : AdamOptimizer)를 사용하고 있는데 동시에 끝내는 두 개의 값으로 이어지는 그래프가 있는데 동시에 최소화하려는 경우 compute_gradients 두 번 시도하여 각 값을 최소화하려고합니다. 이것은 두 개의 그라디언트 집합을 생성합니다. 두리스트를 하나의 긴리스트로 결합하고이 전체리스트에 apply_gradients을 사용한다면, 그 추진력 측면에서 어떤 일이 생깁니 까? 동일한 변수는 두 개의 반대 값으로 두 번 갱신 될 수 있습니다. TensorFlow 옵티마이 저가이를 고려하여 적절한 중간 지점에 모멘텀을 배치합니까? 또는 옵티마이 저는 두 개의 별도의 그라디언트를 두 개의 별도의 그라디언트 업데이트 호출로 사용하여 기세에 영향을 미칩니다 (문제가 발생할 수 있으므로 항상 마지막에 호출되었으므로 선호 될 수 있음). 그렇다면 그라디언트를 적용하기 전에 수동으로 그라디언트를 결합해야합니다.TensorFlow - 운동량 최적화 도구를 사용할 때 여러 목표 목표에 대한 그라데이션 결합?

답변

1

"공동 손실"을 사용하여 네트워크를 학습 할 수 있습니다.

텐서가 두 개인 경우 : loss1과 loss2가 있다고 가정하면 Adam (손실 1 + 손실 2)과 같이 결합 손실에 대해 최적화 도구를 실행할 수 있습니다.