神经网络之计算图

🧠 一、什么是计算图?

定义:

计算图是一种有向无环图(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)。


🔚 七、总结

优点 描述
高效 支持大规模并行计算、自动微分
灵活 支持复杂网络结构(循环、残差等)
可扩展 各种深度学习框架都基于它构建
自动化 免去手动推导导数的烦恼
相关推荐
lpfasd1232 小时前
2026年第30周科技社区趋势周报:开放权重之争与AI Agent的破局
人工智能·科技
佛光芳林4 小时前
AI 情报局:用 PowerMem + SeekDB 做一个多 Agent 记忆小游戏
人工智能
通问AI4 小时前
2026年AI短剧技术现状:全链路AIGC生产已达95%,但用户完播率不足15%
人工智能·aigc
_Jimmy_4 小时前
Agent引用数据库知识过时的增量同步方案
人工智能·python·langchain
qq_454245034 小时前
Systemprompt 体系全览:形式化公理驱动的分层系统设计
人工智能
大龄码农有梦想4 小时前
传统的 BPMN 工作流审批和 AI 工作流有什么区别?
人工智能·流程引擎·工作流·ai agent·ai工作流·审批流·智能体平台
DO_Community5 小时前
Claude Opus 5 现已上线 DigitalOcean AI 推理云
人工智能·llm·agent·claude
幸福指北5 小时前
🚀 开源了,一个人 + AI 肝出一个 AI 终端 | AShell 技术分享
运维·人工智能·ai·终端
可以飞的话5 小时前
一、机器学习概述
人工智能·机器学习
sunneo5 小时前
磐石2.0发布,科学建模新突破
人工智能