计算图
计算图的引入是为了后面更方便的表示网络,计算图是描述计算结构的一种图,它的元素包括节点(node)和边(edge),节点表示变量,可以是标量、矢量、张量等,而边表示的是某个操作,即函数。
下面这个计算图表示复合函数
关于计算图的求导,我们可以用链式法则表示,有下面两种情况。
- 情况1
- 情况2
求导举例:
例1
-
a = 3, b = 1 可以得到 c = 3, d = 2, e = 6
-
∂ e ∂ a = ∂ e ∂ c ∂ c ∂ a = d = b + 1 = 2 \frac{\partial e}{\partial a} = \frac{\partial e}{\partial c}\frac{\partial c}{\partial a} = d = b + 1 = 2 ∂a∂e=∂c∂e∂a∂c=d=b+1=2
-
∂ e ∂ b = ∂ e ∂ c ∂ c ∂ b + ∂ e ∂ d ∂ d ∂ b = d + c = b + 1 + a + b = 5 \frac{\partial e}{\partial b} = \frac{\partial e}{\partial c}\frac{\partial c}{\partial b}+\frac{\partial e}{\partial d}\frac{\partial d}{\partial b} = d + c=b+1+a+b = 5 ∂b∂e=∂c∂e∂b∂c+∂d∂e∂b∂d=d+c=b+1+a+b=5
例2
计算图可以很好的表示导数的前向传递和后向传递的过程,比如上面例2,前向传递了 ∂ ∂ X \frac{\partial }{\partial X} ∂X∂ ,反向传递 ∂ ∂ Z \frac{\partial }{\partial Z} ∂Z∂ 。