![TensorFlow知识图谱实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/115/44510115/b_44510115.jpg)
上QQ阅读APP看书,第一时间看更新
3.3.2 链式求导法则
在前面梯度下降算法的介绍中,没有对其背后的原理做出更详细的介绍。实际上梯度下降算法就是链式法则的一个具体应用,如果把前面公式中损失函数以向量的形式表示为,那么其梯度向量为:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P84_8522.jpg?sign=1739512573-b2HSllYfheXDDVv01VYLc4gLf4DSpDRh-0-e212a6a442060b370c6df135e571962a)
可以看到,其实所谓的梯度向量就是求出函数在每个向量上的偏导数之和。这也是链式法则善于解决的方面。
下面以为例计算其偏导数,如图3.15所示。其中,a =2,b=1。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_5119.jpg?sign=1739512573-OKT00iB9pw1FGGyYkPV4aXptVp1emlVQ-0-542f17059e06086fe01a390cd790c2b2)
图3.15 示意图
本例中为了求得最终值e对各个点的梯度,需要将各个点与e联系在一起,例如期望求得e对输入点a的梯度,则只需要求得:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_8528.jpg?sign=1739512573-sYF4gXOLQTGpohW0yjFNE4NMasfLx2hg-0-6a184b6fca66ecbbe355e0f41a7de318)
这样就把e与a的梯度联系在一起,同理可得:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_8529.jpg?sign=1739512573-kXCk1hmgib1rlLfaENWxi9zZdNqYzCuQ-0-b0b31d6432a7e587804654dc709343de)
用图表示如图3.16所示。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_5142.jpg?sign=1739512573-xX2OxTkTzCUNlUPNZOjWfU4HXnT0Ef0R-0-c10187aa453587cf3bf14b0bf7e513cd)
图3.16 链式法则的应用
这样做的好处是显而易见的,求e对a的偏导数只要建立一个e到a的路径,图中经过c,那么通过相关的求导链接就可以得到所需要的值。对于求e对b的偏导数,也只需要建立所有e到b路径中的求导路径,从而获得需要的值。