在神经网络反向传播中,如何获得微分方程?

时间:2019-02-18 02:47:23

标签: machine-learning neural-network backpropagation

我很困惑为什么dz=da*g'(z)? 众所周知,在a=g(z)的前向传播中,取z的导数后,我可以得到da/dz=g'(z),所以dz=da*1/g'(z)? 谢谢!

2 个答案:

答案 0 :(得分:2)

据我所记得,在许多课程中,像dZ之类的表示形式是写dJ/dZ等的较短方法。所有导数在各种参数,激活和加权总和等方面都是代价。

答案 1 :(得分:0)

微分方程基于最后一层,然后您可以向后构建它们,最后一层的方程可以基于很少的激活函数。

线性 g'(z)= 1或1D(基于图层尺寸的1矢量)

Sigmoid g'(z)= g(z)*(1-g(z))

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

Relu = 1,如果g(z)> 0否则为0

泄漏的Relu = 1,如果g(z)> 0以及您保持的泄漏的Relu斜率。

从那里基本上,您必须为先前的层计算局部梯度。查看http://neuralnetworksanddeeplearning.com/chap2.html以获得更深入的了解