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