- TensorFlow知识图谱实战
- 王晓华
- 370字
- 2022-07-27 17:22:30
3.3.2 链式求导法则
在前面梯度下降算法的介绍中,没有对其背后的原理做出更详细的介绍。实际上梯度下降算法就是链式法则的一个具体应用,如果把前面公式中损失函数以向量的形式表示为,那么其梯度向量为:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P84_8522.jpg?sign=1739001798-IMKKiesh9K7y22XOzFTPMOpGcziVCxGY-0-11af99d7b02fb09df9d2146d84c97069)
可以看到,其实所谓的梯度向量就是求出函数在每个向量上的偏导数之和。这也是链式法则善于解决的方面。
下面以为例计算其偏导数,如图3.15所示。其中,a =2,b=1。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_5119.jpg?sign=1739001798-rvoLGOShXN0He7WF3SY9UIFAKeHHcFBj-0-968940984e43fbec48b22e04d94b2e45)
图3.15 示意图
本例中为了求得最终值e对各个点的梯度,需要将各个点与e联系在一起,例如期望求得e对输入点a的梯度,则只需要求得:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_8528.jpg?sign=1739001798-0NwvgtHSRivMeVRx2kETk2TiPFRRNEhj-0-d88bf1258c1aee2cb5d1e86e57c4fdeb)
这样就把e与a的梯度联系在一起,同理可得:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_8529.jpg?sign=1739001798-DTuRDqcDnqDbat1i04Jnw99s68vKZR13-0-55d3f079d84f955d3c30c57efad00569)
用图表示如图3.16所示。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_5142.jpg?sign=1739001798-ZEqX6S2fDsRmLkNho6ISEJPO2c2YueDI-0-c0d492e832a29d100dd4d44288d7fe34)
图3.16 链式法则的应用
这样做的好处是显而易见的,求e对a的偏导数只要建立一个e到a的路径,图中经过c,那么通过相关的求导链接就可以得到所需要的值。对于求e对b的偏导数,也只需要建立所有e到b路径中的求导路径,从而获得需要的值。