1,computational graphs,一系列简单的计算过程组成的一张图,易于求导(理论指导为链式法则)
a,. feedward
b,backward:前一个输入当作未知数求导,因为前一个输入包含着与未知数w的关系。即
dydw=dydf(x).df(x)dx
,f(x)视为前一个输入。
所以
- 1.37下面应该为 −11.372=−0.53
- 将1.37视为output,对于0.37的倒数为1,所以0.37下面为-0.53*1 = -0.53
- -1.00下面:-0.53*e-1 = -0.20
- 1.00下面:-0.2*-1 = 0.2
- 4.00,-3.00 下面 0.2.(加号就直接分配梯度)对w2的梯度为0.2
- -2.00,6.00下面为0.2
- w0的梯度为0.2*(-1.00)= -0.2
- w1的梯度为0.2*(-2.00 )= -0.4
全连神经网络的bp过程:
- 数学方法:
以上图只有一个隐层的神经网络为例:得到y前,输入的softmax函数的变量用t表示。z经过activition function 后的输出用s表示。
未知数为权值矩阵 Wdm[d+1,m],Wmk[m+1,k] ,
loss=−∑i=1ktilnyi,yi=eti∑ka=1eta
所以有
dlossdyi=tiyi(1)
dyidti=yi(1−yi)(2),dyjdti=−yiyj(3)
由(1)(2)(3)式得
dlossdti=dlossdyi.dyidti+∑j≠idlossdyj.dyidti=yi−ti
2,对max gate的求导:
z=max(x,y)|x=2,y=0
此时
z
对3,向量对矩阵或向量求导
观察可知: dyidaij=xj, dykdaij=0(k≠i) ,所以 (dydA)ij=xj 。同理因为 dyidxj=aij ,所以 (dydx)i=∑nk=1aki 。