Использование функций потерь при обновлении весов нейронных сетей - PullRequest
0 голосов
/ 11 апреля 2019

Я запутался в использовании строки tf.reduce_mean(tf.nn.l2_loss(prediction - output)).

При обратном распространении выходной сигнал должен быть вектором, так как прогнозируемый выходной сигнал каждого выходного нейрона вычитается из фактического выходного значения, и это повторяется для всех выходных нейронов, поэтому мы получаем вектор размером (n,1). Если мы используем tf.reduce_mean(tf.nn.l2_loss(prediction - output)), на выходе будет одно значение. Я не могу понять, как это единственное значение будет распространяться для обновления весов. Разве это не должно быть всегда вектором?

1 Ответ

0 голосов
/ 20 апреля 2019

Вы правы, что потеря должна быть вектором.Однако эта строка

tf.reduce_mean

принимает средние потери по партиям, а не по вектору.Смотри https://stats.stackexchange.com/questions/201452/is-it-common-practice-to-minimize-the-mean-loss-over-the-batches-instead-of-the

...