Я обучаю свою сеть, используя градиент политики и определяя потери как:
self.loss = -tf.reduce_mean(tf.log(OUTPUT_NN)* self.REWARDS))
self.opt = tf.train.AdamOptimizer(self.lr).minimize(self.loss)
Что я не понимаю, так это то, что функция потерь иногда бывает положительной, а иногда - отрицательной. Я не понимаю этот переворот в сигнале. Для меня это всегда должно быть отрицательным, так как у меня есть минус перед tf.reduce_mean.
Пример:
Train-> Reward: 0.257782, Hit Ration: 0.500564, True Positive: 0.433404, True Negative: 0.578182, loss: 6.698527
Train-> Reward: 0.257782, Hit Ration: 0.500564, True Positive: 0.433404, True Negative: 0.578182, loss: -11.804675
Возможно ли это, или я что-то не так делаю в своем коде?
Спасибо.