李宏毅深度学习_Backpropagation

李宏毅深度学习_Backpropagation

本文是李宏毅深度学习 (2015)的学习笔记,主要介绍了神经网络Backpropagation算法的推导过程。本文所用到的图示均来自课堂ppt。

原视频地址:李宏毅深度学习 (2015)

Background

BP的背景

为了使用Gradient Descent对网络参数进行训练,我们就要求出Cost Function对每一层参数的梯度,由于本质上 w i j l b i l 差别不大(可将 b i l 看作 w i j l 中的一项),因此我们这里仅对 C r / w i j l 进行推导, C r / b i l 推导类似。

链式法则

求导链式法则

这里使用求导链式法则先将这个问题拆解成两部分,然后分别对每一部分的求导进行计算。

计算链式法则中拆解的两部分

1. 计算 z i l / w i j l

第一部分求导

第一部分的求导分为两种情况:

  • l > 1 。即当权值不是第一层时,导数为 a j l 1
  • l = 1 。即权值为第一层时,导数为 x j r

2. 计算 C r / z i l

第二部分求导1

为了描述方便将 C r / z i l 描述为 δ i l 。此时利用BP的思想,先求出最后一层的 δ L ,再找出后一层 δ l + 1 与前一层 δ l 的关系,以此求出所有的 δ l

第二部分求导2

同样根据链式求导法则可以得出

δ n L = σ ( z n L ) C r y n r

其中 C r y n r 与Cost Function的选取有关。

第二部分求导3
第二部分求导4

z i l 的变化 Δ z i l 会对 a i l 造成影响进而影响到下一层的 z l + 1

第二部分求导6

向量化后得到

δ l = σ ( z l ) ( W l + 1 ) T δ l + 1

总结

总结

至此,我们已经完成了对 C r / w i j l 的推导,并且实现了向量化。 C r / b i l 推导类似。

猜你喜欢

转载自blog.csdn.net/qq_25011449/article/details/80415867
今日推荐