Я новичок в Torch и хочу создать пользовательскую функцию потерь в Torch, которая является модификацией КлассNLLCriterion. Конкретно, потеря ClassNLLCriterion:
loss(x, class) = -x[class]
Я хочу изменить это так:
loss(x, class) = -x[class] + F(x)
где F(x)
— это функция, которая ищет x
в таблице (как ключ) и выводит его значение.
Мой вопрос: как правильно реализовать этот пользовательский критерий? Функция updateOutput()
кажется простой, но как реализовать функцию updateGradInput()
?
F
? Вроде не отличить... - person fonfonx   schedule 18.05.2017F
не дифференцируемо. Какова наилучшая стратегия в этом случае? Имеет ли смысл рассматриватьF(x)
как константу? - person braindead   schedule 18.05.2017F
и насколько сильно различаются его значения. Я думаю, вы могли бы попытаться рассматриватьF
как константу, но я думаю, что вы каким-то образом теряете полезность этой функцииF
. Может быть, вы могли бы попытаться найти дифференцируемую функцию, аппроксимирующуюF
... - person fonfonx   schedule 18.05.2017