У меня есть вопрос о возвратной функции в слое потери Caffe. Я видел реализацию евклидовой слоя потери на: https://github.com/BVLC/caffe/blob/master/examples/pycaffe/layers/pyloss.pyCaffe loss layer - обратная функция
В конце года назад функция определяется следующим образом:
def backward(self, top, propagate_down, bottom):
for i in range(2):
if not propagate_down[i]:
continue
if i == 0:
sign = 1
else:
sign = -1
bottom[i].diff[...] = sign * self.diff/bottom[i].num
Я знаю, что дно [0] указывает на то, прогнозируемое значение и bottom [1] - целевые значения (наземная правда).
Вы можете помочь мне понять, почему знак - +1 для прогноза и -1 для целей? Я думал, что нам не нужно было присваивать значения внизу [1] .diff для целей.
Если у меня проблема с несколькими метками, как я могу обновить код?