👾 Day 6: 计算图

1️⃣【技术债与演进动机】The Technical Debt & Evolution
手动推导梯度复杂易错,深度学习模型嵌套多层。计算图自动记录前向过程,反向自动求导。
2️⃣【直觉建立】Visual Intuition
想象一个流程图:数据从左到右经过各种运算节点,每个节点记录输入输出,反向时从右到左传递梯度。
🎬 B 站搜索:计算图 自动求导 原理
3️⃣【符号解码字典】The Symbol Decoder
$x$input_tensor (输入张量)
$y$output_tensor (输出张量)
$\frac{\partial y}{\partial x}$gradient (梯度)
$\mathcal{G}$computation_graph (计算图结构)
4️⃣【核心推导】The Math
### 计算图结构 $$y = f(x) = f_L(f_{L-1}(\cdots f_1(x)\cdots))$$ ### 链式法则 $$\frac{\partial y}{\partial x} = \frac{\partial f_L}{\partial u_{L-1}} \cdot \frac{\partial f_{L-1}}{\partial u_{L-2}} \cdots \frac{\partial f_1}{\partial x}$$ ### 反向传播 前向:计算每一层的输出 $u_l = f_l(u_{l-1})$ 反向:从后往前计算梯度 $$\frac{\partial L}{\partial u_l} = \frac{\partial L}{\partial u_{l+1}} \cdot \frac{\partial u_{l+1}}{\partial u_l}$$
5️⃣【工程优化点】The Optimization Bottleneck
计算图占用内存存储中间结果,大模型下显存爆炸。使用梯度检查点(checkpoint)节省内存。
6️⃣【今日靶机】The OJ Mission
🎯 任务:cd exercises/ && python3 day6_task.py
实现简易计算图的 forward 和 backward,验证链式法则的正确性。