神经网络与深度学习学习笔记:正向传播与反向传播(未完)

来源:互联网 发布:键盘 编程 编辑:程序博客网 时间:2024/06/05 03:17

反向传播

推导反向传播的最终结果:

正好在推这个,先写反向传播吧。
以前文的两层神经网络为例,反向传播的起点为损失函数(也是正向传播的终点):

z[i]a[i]J(w,b)=w[i]a[i1]+b[i]=g[i](z[i])=1mi=1mL(a[l]i,y)

损失函数:

L(a[2],y)=ylna[2](1y)ln(1a[2])

计算(此处假设g[2](x)=σ(x),而g[1](x)未知):
da[2]=La[2]=ya[2]+1y1a[2]

dz[2]=Lz[2]===La[2]az[2]da[2]a[2](1a[2])a[2]y

dw[2]==Lz[2]z[2]w[2]dz[2]a[1]

db[2]==Lz[2]zb[2]dz[2]

da[1]==Lz[2]z[2]a[1]w[2]dz[2]

dz[1]==La[1]a[1]z[1]w[2]dz[2]g[1](z[1])

dw[1]==Lz[1]z[1]w[1]a[0]dz[1]

db[1]==Lz[1]z[1]b[1]dz[1]

注意上述过程的推导中忽视了矩阵求导法则,严格来说只适用于单特征单样本的情况;当网络中数据流为多特征多样本时,需要使用矩阵求导法则。

原创粉丝点击