在讲解多层感知机反向传播之前,先来回顾一下多输出感知机的问题,下图是一个多输出感知机模型:
课时44 反向传播算法-1_哔哩哔哩_bilibili
根据上一次的分析深度学习pytorch------感知机(Perceptron)(持续更新)-CSDN博客我们得出来了如下的结论,即损失对参数的导数只与这条线(蓝绿色的)有关:
多层感知机就是在原来多输出感知机的基础上增加了中间层,如下图所示:
课时44 反向传播算法-1_哔哩哔哩_bilibili
我们将前面的层次都盖住,从最后一层来看:
课时44 反向传播算法-1_哔哩哔哩_bilibili
这时O就成为了输入,根据多输出感知机的结论,只需要将x变为O,我们可以得到最后一层的计算公式,如下图:
为了是我们的公式更加简单,我们对公式进行了替换(只是改变了公式的表达形式,其内涵并没有改变),如下图所示:
分析求导过程,求导的时候记得我们求的时最后一层,并且注意各下角标的含义(都在深度学习pytorch------感知机(Perceptron)(持续更新)-CSDN博客说明):
求导结果:
总结一下感知机的问题:
课时44 反向传播算法-1_哔哩哔哩_bilibili
pytorch公式的推导到这里基本结束了。经过每一次的公式的推导,我们发现公式都是通过求导问题来分析的,其中不仅含有基本数学公式的求导,还联系到链式法则,如果高数学的还不错,我相信这些都不是问题。
在以后的实践,理解基本原理有助于我们更好的编写深度学习的代码。而且随着人工智能的发展,AI安全问题随之出现,想要做出更棒的智能产品,理解其内部原理,将会更好帮助我们的前进。