神经网络之计算图

🧠 一、什么是计算图?

定义:

计算图是一种有向无环图(DAG, Directed Acyclic Graph) ,用于表示计算过程。图中的节点 表示操作(函数或运算),表示数据(张量)在操作之间的流动。

举个简单例子:

设有函数:

z = (x + y) \\times (x - y)

可以拆解为一系列中间操作:

  1. ( a = x + y )
  2. ( b = x - y )
  3. ( z = a \times b )

这就是一个计算图:

复制代码
   x     y
    \   /
     +   - 
     |   |
     a   b
      \ /
       *
       |
       z

🧮 二、计算图的两种主要操作

1. 前向传播(Forward Pass)

  • 按照计算图的拓扑顺序,从输入到输出逐步执行操作,计算出最终结果。
  • 举例:给定 (x = 3, y = 2),按图从头算出 (z = (x + y)(x - y) = 5 \times 1 = 5)

2. 反向传播(Backward Pass)

  • 按照链式法则,从输出反向计算梯度(偏导数),用于神经网络的参数更新。
  • 计算每个中间变量对最终输出的导数(如 (\frac{\partial z}{\partial x}),(\frac{\partial z}{\partial y}))。

⚙️ 三、为什么要用计算图?

✅ 自动微分(Automatic Differentiation)

  • 计算图是实现自动微分(特别是反向模式自动微分,即反向传播)的基础。
  • 对神经网络中成千上万的参数,手动求导几乎不可能,计算图让这个过程自动化。

✅ 并行优化

  • 由于计算图是结构化的 DAG,可以进行并行计算优化、子图融合等,提高计算效率。

✅ 可视化与调试

  • 计算图可视化有助于理解模型结构,发现错误或优化模型。

🔁 四、静态图 vs 动态图

特性 静态计算图(Static Graph) 动态计算图(Dynamic Graph)
框架 TensorFlow 1.x、Theano PyTorch、TensorFlow 2.x
构建时间 先定义整个图,再执行 每一步都即时构建和执行
灵活性 较低 更高,支持动态控制流
性能 更容易优化和部署 灵活但稍慢

🧱 五、计算图的构成元素

  1. 变量节点(Variable Nodes)

    • 表示输入、权重、偏置等可学习参数。
  2. 常量节点(Constant Nodes)

    • 表示不可学习的固定数值。
  3. 操作节点(Operation Nodes)

    • 表示加、减、乘、除、激活函数(如 ReLU、Sigmoid)等运算。
  4. 中间结果节点

    • 储存运算过程中的临时变量,供后续操作使用。

📈 六、一个例子:简单神经网络中的计算图

设一个简单的前馈神经网络:

\\begin{align\*} z_1 \&= W_1 x + b_1 a_1 \&= \\text{ReLU}(z_1) z_2 \&= W_2 a_1 + b_2 \\hat{y} \&= \\text{Softmax}(z_2) \\end{align\*}

计算图的节点包括矩阵乘法、加法、激活函数等,自动微分就可以从 (\hat{y}) 反向求导,更新参数 (W_1, b_1, W_2, b_2)。


🔚 七、总结

优点 描述
高效 支持大规模并行计算、自动微分
灵活 支持复杂网络结构(循环、残差等)
可扩展 各种深度学习框架都基于它构建
自动化 免去手动推导导数的烦恼
相关推荐
Shawn_Shawn3 小时前
mcp学习笔记(一)-mcp核心概念梳理
人工智能·llm·mcp
33三 三like5 小时前
《基于知识图谱和智能推荐的养老志愿服务系统》开发日志
人工智能·知识图谱
芝士爱知识a5 小时前
【工具推荐】2026公考App横向评测:粉笔、华图与智蛙面试App功能对比
人工智能·软件推荐·ai教育·结构化面试·公考app·智蛙面试app·公考上岸
腾讯云开发者6 小时前
港科大熊辉|AI时代的职场新坐标——为什么你应该去“数据稀疏“的地方?
人工智能
工程师老罗6 小时前
YoloV1数据集格式转换,VOC XML→YOLOv1张量
xml·人工智能·yolo
yLDeveloper7 小时前
从模型评估、梯度难题到科学初始化:一步步解析深度学习的训练问题
深度学习
Coder_Boy_7 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
啊森要自信7 小时前
CANN ops-cv:面向计算机视觉的 AI 硬件端高效算子库核心架构与开发逻辑
人工智能·计算机视觉·架构·cann
2401_836235867 小时前
中安未来SDK15:以AI之眼,解锁企业档案的数字化基因
人工智能·科技·深度学习·ocr·生活