cs224n 笔记5 反向传播和项目建议

前言

这一节主要是讲了四种理解反向传播的角度或者说方法,个人认为最好还是在公式推导上理解,这样更踏实。当然,其他的方法也是不错的思路,本质上还是一样的。

四种解释

多层神经网络

从上一节的单层神经网络扩展到多层神经网络
在这里插入图片描述
由上一节的推导可以知道,对于单层神经网络的梯度下降有
∂ s ∂ W i j = δ i x j \begin{aligned} \frac{\partial s}{\partial W_{ij}}=\delta_i x_j \end{aligned} Wijs=δixj
所以对于两层的求导:
∂ s ∂ W i j ( 2 ) = δ i ( 3 ) a j ( 2 ) \begin{aligned} \frac{\partial s}{\partial W_{ij}^{(2)}}=\delta_i^{(3)} a_j^{(2)} \end{aligned} Wij(2)s=δi(3)aj(2)
其中 δ i ( 3 ) = U i f ′ ( z i ( 3 ) ) \delta_i^{(3)}=U_if'(z_i^{(3)}) δi(3)=Uif(zi(3))
对应上一节的矩阵大小:
U : 8 ∗ 1 U:8*1 U81
f : 8 ∗ 1 f : 8*1 f:81
δ : 8 ∗ 1 \delta:8*1 δ:81
矩阵形式:
∂ s ∂ W ( 2 ) = δ ( 3 ) a ( 2 ) T \frac{\partial s}{\partial W^{(2)}}=\delta^{(3)} a^{(2)^T} W(2)s=δ(3)a(2)T
同时, ∂ s ∂ W ( 1 ) = δ ( 2 ) a ( 1 ) T \frac{\partial s}{\partial W^{(1)}}=\delta^{(2)} a^{(1)^T} W(1)s=δ(2)a(1)T
其中, δ ( 2 ) = ( W ( 2 ) T δ ( 3 ) ) o f ′ ( z ( 2 ) ) \delta^{(2)}=(W^{(2)^T}\delta^{(3)})of'(z^{(2)}) δ(2)=(W(2)Tδ(3))of(z(2)) o代表对应相乘
推广到一般形式:
∂ s ∂ W ( l ) = δ ( l + 1 ) a ( l ) T \frac{\partial s}{\partial W^{(l)}}=\delta^{(l+1)} a^{(l)^T} W(l)s=δ(l+1)a(l)T
δ ( l ) = ( W ( l ) T δ ( l + 1 ) ) o f ′ ( z ( l ) ) \delta^{(l)}=(W^{(l)^T}\delta^{(l+1)})of'(z^{(l)}) δ(l)=(W(l)Tδ(l+1))of(z(l))

电路解释

f ( x , y , z ) = ( x + y ) z f(x,y,z)=(x+y)z f(x,y,z)=(x+y)z可以用下图表示,其中 q = x + y 、 f = q z q=x+y、f=qz q=x+yf=qz
在这里插入图片描述
所以f分别对自身,对z、q求导得到3和-4,进而对x、y求导得到-4,-4。
比如对x的求导:
在这里插入图片描述
这种思想就是反向传播的过程。

流程图

利用有向无环流程图理解
在这里插入图片描述
多条路径:
在这里插入图片描述
更复杂的流程图:
在这里插入图片描述
神经网络看做流程图:
在这里插入图片描述

误差信号

假设最后一层对 z ( 3 ) z^{(3)} z(3)的误差是 δ ( 3 ) \delta^{(3)} δ(3)
在这里插入图片描述
所以对 W ( 2 ) W^{(2)} W(2)的导数是 δ ( 3 ) a ( 2 ) T \delta^{(3)}a^{(2)^T} δ(3)a(2)T
通过线性加法器。可以得到对 a ( 2 ) a^{(2)} a(2)的导数是 W ( 2 ) T δ ( 3 ) W^{(2)^T}\delta^{(3)} W(2)Tδ(3)
在这里插入图片描述
经过激活函数,对 z ( 2 ) z^{(2)} z(2)的导数是
在这里插入图片描述
最后经过线性乘法器,得到对 a ( 1 ) a^{(1)} a(1)的导数
在这里插入图片描述
于是对 W ( 1 ) W^{(1)} W(1)的导数是 δ ( 2 ) a ( 1 ) T δ^{(2)}a^{(1)^T} δ(2)a(1)T

项目建议

课程中提到了一些做项目的建议,总结来说的话就是两部分:

  • 确定项目实验要素(输入输出、数据集、评价方法)
  • 脚踏实地、仰望星空(简单模型做一做,再去调整改进)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值