李宏毅机器学习2016 第七讲 反向传播

视频链接:李宏毅机器学习(2016)_演讲•公开课_科技_bilibili_哔哩哔哩

课程资源:Hung-yi Lee

课程相关PPT已经打包命名好了:链接:https://pan.baidu.com/s/1c3Jyh6S 密码:77u5


我的第六讲笔记:李宏毅机器学习2016 第六讲 深度学习


Backpropagation


本章节主要讲解的是反向传播,其中主要涉及的数学知识是微积分中的链式法则求导。

如果对此不太感兴趣或者不想深入了解的话,正如上一章节所说反向传播的过程现在已经有很多相关的库可以直接使用。

李宏毅机器学习2016 第七讲 反向传播

我们知道梯度下降主要是要求偏导值然后进行更新。在神经网络中,复杂的网络有数以千万计的参数,为了更加有效地计算梯度,使用反向传播。

主要分为正向(forward)和反向(backward)两步。

神经网络的损失函数定义形式:

李宏毅机器学习2016 第七讲 反向传播

我们只需能够计算单个样本对参数的偏导值再进行求和就可以得到总的损失函数对参数的偏导值。

李宏毅机器学习2016 第七讲 反向传播
李宏毅机器学习2016 第七讲 反向传播
李宏毅机器学习2016 第七讲 反向传播
李宏毅机器学习2016 第七讲 反向传播

这是一个不断递归的过程,当知道后面对z的偏导值就可以进而计算前面的。


我们可以进行假设分类:

第一种情况:输出层的情况(可直接进行计算)

李宏毅机器学习2016 第七讲 反向传播

第二种情况:不是输出层

李宏毅机器学习2016 第七讲 反向传播

可以不断的进行递归,直到输出层。到最后得到的值一步一步计算出前面的值。


总结起来,反向传播就是两大步。

李宏毅机器学习2016 第七讲 反向传播

在前面的正向过程可以得到链式法则前部分值,反向过程获得链式法则后部分值,结合起来就可以运用反向传播进行训练神经网络。