神经网络之计算图

🧠 一、什么是计算图?

定义:

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


🔚 七、总结

优点 描述
高效 支持大规模并行计算、自动微分
灵活 支持复杂网络结构(循环、残差等)
可扩展 各种深度学习框架都基于它构建
自动化 免去手动推导导数的烦恼
相关推荐
喜欢吃豆1 小时前
使用 OpenAI Responses API 构建生产级应用的终极指南—— 状态、流式、异步与文件处理
网络·人工智能·自然语言处理·大模型
Q同学1 小时前
verl进行Agentic-RL多工具数据集字段匹配问题记录
人工智能
亚马逊云开发者2 小时前
Amazon Q Developer 结合 MCP 实现智能邮件和日程管理
人工智能
Coding茶水间2 小时前
基于深度学习的路面坑洞检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
梵得儿SHI2 小时前
AI Agent 深度解析:高级架构、优化策略与行业实战指南(多智能体 + 分层决策 + 人类在环)
人工智能·多智能体系统·aiagent·分层决策系统·人类在环机制·agent系统完整解决方案·aiagent底层原理
哥布林学者2 小时前
吴恩达深度学习课程三: 结构化机器学习项目 第二周:误差分析与学习方法(一)误差分析与快速迭代
深度学习·ai
Peter_Monster2 小时前
大语言模型(LLM)架构核心解析(干货篇)
人工智能·语言模型·架构
Ma0407133 小时前
【机器学习】监督学习、无监督学习、半监督学习、自监督学习、弱监督学习、强化学习
人工智能·学习·机器学习
cooldream20093 小时前
LlamaIndex 存储体系深度解析
人工智能·rag·llamaindex
CoovallyAIHub3 小时前
如何在手机上轻松识别多种鸟类?我们发现了更简单的秘密……
深度学习·算法·计算机视觉