吴恩达深度学习 —— 3.10 直观理解反向传播

z [ 1 ] = W [ 1 ] x + b [ 1 ] z^{[1]}=W^{[1]}x+b^{[1]} z[1]=W[1]x+b[1] a [ 1 ] = σ ( z [ 1 ] ) a^{[1]}=\sigma(z^{[1]}) a[1]=σ(z[1]) z [ 2 ] = W [ 2 ] a [ 1 ] + b [ 2 ] z^{[2]}=W^{[2]}{a^{[1]}}+b^{[2]} z[2]=W[2]a[1]+b[2] a [ 2 ] = σ ( z [ 2 ] ) a^{[2]}=\sigma (z^{[2]}) a[2]=σ(z[2]) L o s s ( a [ 2 ] , y ) Loss(a^{[2]},y) Loss(a[2],y)这里的损失函数使用的是逻辑回归的损失函数。 d a [ 2 ] = d L o s s d a [ 2 ] = − y a [ 2 ] + 1 − y 1 − a [ 2 ] da^{[2]}=\frac{dLoss}{da^{[2]}}=-\frac{y}{a^{[2]}}+\frac{1-y}{1-a^{[2]}} da[2]=da[2]dLoss=a[2]y+1a[2]1y d a [ 2 ] d z [ 2 ] = a [ 2 ] ( 1 − a [ 2 ] ) \frac{da^{[2]}}{dz^{[2]}}=a^{[2]}(1-a^{[2]}) dz[2]da[2]=a[2](1a[2]) d z [ 2 ] = d L o s s d z [ 2 ] = d L o s s d a [ 2 ] ∗ d a [ 2 ] d z [ 2 ] = a [ 2 ] − y dz^{[2]}=\frac{dLoss}{dz^{[2]}}=\frac{dLoss}{da^{[2]}}*\frac{da^{[2]}}{dz^{[2]}}=a^{[2]}-y dz[2]=dz[2]dLoss=da[2]dLossdz[2]da[2]=a[2]y d W [ 2 ] = d z [ 2 ] a [ 1 ] . T = ( a [ 2 ] − y ) a [ 1 ] . T dW^{[2]}=dz^{[2]}a^{[1].T}=(a^{[2]}-y)a^{[1].T} dW[2]=dz[2]a[1].T=(a[2]y)a[1].T d b [ 2 ] = d z [ 2 ] = ( a [ 2 ] − y ) db^{[2]}=dz^{[2]}=(a^{[2]}-y) db[2]=dz[2]=(a[2]y)这就完成了反向传播的一半。 d z ( 2 ) d a [ 1 ] = W [ 2 ] . T \frac{dz^{(2)}}{da^{[1]}}=W^{[2].T} da[1]dz(2)=W[2].T d a [ 1 ] d z [ 1 ] = g ′ [ 1 ] ( z [ 1 ] ) \frac{da^{[1]}}{dz^{[1]}}=g^{'[1]}(z^{[1]}) dz[1]da[1]=g[1](z[1]) d z [ 1 ] = W [ 2 ] . T d z [ 2 ] g ′ [ 1 ] ( z [ 1 ] ) dz^{[1]}=W^{[2].T}dz^{[2]}g^{'[1]}(z^{[1]}) dz[1]=W[2].Tdz[2]g[1](z[1]) d W [ 1 ] = d z [ 1 ] . x . T dW^{[1]}=dz^{[1]}.x^{.T} dW[1]=dz[1].x.T d b [ 1 ] = d z [ 1 ] db^{[1]}=dz^{[1]} db[1]=dz[1]通过推导我们得到六个关键方程,如下图所示
在这里插入图片描述
通过向量化表示,可以表示为
在这里插入图片描述
在向量化的形式中,假设每一次只有m个训练数据用于进行反向传播,则 d Z [ 2 ] dZ^{[2]} dZ[2]的维度为 ( 1 , m ) (1,m) (1,m)。设隐层a的节点个数为n个,则 A [ 1 ] A^{[1]} A[1]的维度为 ( m , n ) (m,n) (m,n),隐层到输出层的参数 W W W的维度为 ( n , 1 ) (n,1) (n,1)。通过 d Z [ 2 ] A [ 1 ] T dZ^{[2]}A^{[1]T} dZ[2]A[1]T得到的是m个训练数据反向传播之后的维度为 ( n , 1 ) (n,1) (n,1)的关于 W W W的参数的导数。

对于参数 b b b,由于 b b b不是一个向量,只是一个值,因此在进行反向求导时需要用到 n p . s u m ( ) np.sum() np.sum()进行 m m m个训练数据的求和。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值