Как написать обратное распространение потери кости с NumPy - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь написать функцию потери кубика самостоятельно. Вот прямой проход, который я написал. Но я не понял, как рассчитать бэкпроп. Я пытался написать некоторые, но это не работает. Или проигрыш в кости вообще не нуждается в подпоре?

alpha = 0.5
belta = 0.5

tp = np.sum(pred * label)

fn = np.sum((1- pred ) * label)

fp = np.sum(pred * (1 - label))

dice = tp / (tp + alpha * fn + belta * fp)

1 Ответ

0 голосов
/ 07 июня 2019

Я не уверен, что назвал бы это прямым проходом.Как вы получаете pred?Обычно вам нужно записать шаг, ведущий к пред.Тогда вы получите свою потерю, как и вы.Это определяет вычислительный граф.И оттуда может начаться обратный проход (или обратное распространение).Вам необходимо рассчитать градиент, начиная с конца вычислительного графа, и перейти назад, чтобы получить градиент потерь по отношению к весам.enter image description here Я написал введение в обратное распространение в сообщении в блоге (https://www.qwertee.io/blog/an-introduction-to-backpropagation), и я полагаю, вы должны найти более подробную информацию о том, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...