В нейронных сетях обратного распространения, как получить дифференциальные уравнения? - PullRequest
0 голосов
/ 18 февраля 2019

Я запутался, почему dz=da*g'(z)?как мы все знаем, при прямом распространении a=g(z), после взятия производной от z, я могу получить da/dz=g'(z), поэтому dz=da*1/g'(z)?Спасибо !!

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Дифференциальные уравнения создаются на основе последнего слоя, а затем вы можете построить их в обратном направлении, уравнение в соответствии с вашим последним слоем может основываться на нескольких функциях активации.

Линейный g '(z) = 1 или 1D из 1 вектора на основе размеров слоя

сигмоид g' (z) = g (z) * (1-g (z))

Tanh g '(z) = 1 - thanh ^ 2 (z)

Relu = 1, если g (z)> 0 или другое0

Leaky Relu = 1, если g (z)> 0, и любой остаточный наклон утечки, который вы сохранили в противном случае.

Оттуда вам в основном приходится вычислять частичные градиенты дляпредыдущие слои.Проверьте http://neuralnetworksanddeeplearning.com/chap2.html для более глубокого понимания

0 голосов
/ 18 февраля 2019

Насколько я помню, во многих курсах такие представления, как dZ, являются более коротким способом написания dJ/dZ и так далее.Все производные имеют стоимость с учетом различных параметров, активаций и взвешенных сумм и т. Д.

...