计算图(Computational Graph)
把复杂计算过程画成流程图——每个节点是一步运算,箭头表示数据流向。关键洞察:每条箭头就是一个偏导数,告诉你"起点动一下,终点变多少"。反向传播就是沿箭头逆行逐段相乘。
直觉理解
计算图就是把一个复杂计算"画成流程图"——每个节点是一步基本运算(加、乘、激活函数……),箭头表示数据的流向。
核心洞察:每条箭头是一个偏导数
计算图不只是画好看——它的每条箭头都告诉你"起点稍微动一下,终点会变多少"。这就是偏导数的可视化。
比如在神经网络中,箭头"h1→z3"对应 ∂h1∂z3=w3——意思是"h1 增加 1,z3 就增加 w3"。
正向与反向
- 正向计算:沿箭头从左到右,逐步算出最终结果
- 反向追溯:沿箭头从右到左,逐步乘以每条箭头的偏导数——这就是反向传播的核心操作
梯度被截断的路径
如果计算图中某个节点是 ReLU 且输入为负数(被关闭),那条箭头的偏导数为 0。从这个节点往前的整条路径,梯度信号都过不去——就像一条路被封了。
为什么计算图重要
当网络有上百万个参数时,直接对整个损失函数求导几乎不可能。但拆成计算图后,每个节点只处理一步简单运算的求导,然后沿路径相乘——这让反向传播变成了系统化的高效算法。