一提到机器学习,深度学习,一定听到过反向传播,神经网络的反向传播是为了求出误差,就是求出权重 w w w和偏置 b b b是如何影响我们的损失函数 C C C的大小,也就是误差。
如何计算误差呢?就是利用链式求导法则,求出 C C C对 w w w和 b b b的导数, δ C δ w , δ C δ b \frac{\delta C}{\delta w},\frac{\delta C}{\delta b} δwδC,δbδC,那么 C , w , b C,w,b C,w,b都是哪里来的呢?也就是前向传播。所以我们想要进行反向传播的公式推导,那么我们首先要知道前向传播。
神经网络反向传播公式会出现各种上角标和下角标,这可能会让很多人望而却步,但是不要慌张,上角标代表神经网络的层数,下角标代表样本个数。
具体推导过程请参考这篇文章:
https://blog.csdn.net/guoyunfei20/article/details/78031498
这篇文章的损失函数用的是 M S E MSE MSE,但是我们做分类任务都是用交叉熵损失函数,个人比较喜欢用交叉熵来推,不过原理都是一样的。
公式推导可能对大家来说是一种痛苦,也不用担心,给大家推荐一个视频,该视频用动态图的方式,解释了反向传播中每一层是如何作用的。