![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=1739278070-gbk665ZceBWCzzgbB4SGbbzSPrGRjwCM-0-12cdcfcb5c6b57226e9e8f319d4c434c)
可以看到,其实所谓的梯度向量就是求出函数在每个向量上的偏导数之和。这也是链式法则善于解决的方面。
下面以为例计算其偏导数,如图3.15所示。其中,a =2,b=1。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_5119.jpg?sign=1739278070-QxkkZbdVYasLTZXP5JEnYFN9i4bo8ZCI-0-d840f27c14f19f9ded66c9ef5dfb1189)
图3.15 示意图
本例中为了求得最终值e对各个点的梯度,需要将各个点与e联系在一起,例如期望求得e对输入点a的梯度,则只需要求得:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_8528.jpg?sign=1739278070-regJMIHHU6G9kSL6Ju7jr11xWJMY9aGE-0-a1f550d9c49b8eaff2a43b91cda4e27f)
这样就把e与a的梯度联系在一起,同理可得:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_8529.jpg?sign=1739278070-kM0g9fjykA9zR6HsY3ZmRrn9ZE9OJa5Z-0-0160fae5e7df1d95d4ac8b1660f258bf)
用图表示如图3.16所示。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P85_5142.jpg?sign=1739278070-7AOktMitcqT0owv6qzx0FVpavzlkd1oJ-0-074e4f4994d21fd0f3ca0a29a33b9611)
图3.16 链式法则的应用
这样做的好处是显而易见的,求e对a的偏导数只要建立一个e到a的路径,图中经过c,那么通过相关的求导链接就可以得到所需要的值。对于求e对b的偏导数,也只需要建立所有e到b路径中的求导路径,从而获得需要的值。