如图,我们尝试求$e=cd=(a+b)(b+1)$的偏导
假设现在要求$a=2,b=1$时的梯度,我们用偏导定义求出不同层偏导的关系
?
$路径上偏导乘积的和
这里面就有一个问题:$c \rightarrow e$路径跑了两遍.如果面对更复杂的网络通路,这种重复的遍历会更多,必然会引起效率的下降.
做法是:
从最上层节点开始,初始值为1,以层为单位处理.第一层$e$为1
到第二层,用1乘以到达下一层节点路径上的偏导值,结果存在这个节点.所以,$c = 1 2 = 2, d = 1 3 = 3$
,即e对c的偏导值是2,e对d的偏导值是3.
第三层,$a = 2 1 = 2, b = 2 1 + 3 * 1 = 5$,即e对a的偏导值是2,e对b的偏导值是5
通过以上就可以对BP的工作原理有了一定了解.