模型的本质:函数、常量与结构的工程化

Luo Zhixin Lv3

在分析 YOLOv7 的网络结构时,我们或许不应该只关注模型具体做了什么,而应该思考一个更根本的问题:
一个“模型”在数学与工程意义上,到底是什么?

模型不止是一个黑箱,它更像是一个由算子构成的结构化函数系统。本质上,训练是在求解这些函数的常量项,而推理只不过是把输入代入这些函数中进行执行。这个视角,不仅适用于视觉模型,也适用于语言模型、语音模型乃至一切端到端深度网络。


从视觉模型看结构:像素是变量,卷积是函数

以 YOLOv7 的 ONNX 模型为例,我们看到输入为 1x3x640x640,即一张 RGB 图像。
图像像素可以视作变量的初值,进入网络中的第一个节点通常是卷积层(Conv),它具备如下属性:

  • kernel_shape: 定义局部乘积窗口;
  • stride, padding: 控制映射密度;
  • weight, bias: 为每个卷积核分配具体参数值。

抽象来看,卷积操作即为一个局部线性变换函数,在空间滑动中对输入变量进行特征投影。形式上近似于:

1
y = Σ (x_i * w_i) + b

值得强调的是:

  • 卷积的结构是固定的,指定了函数的形式;
  • 可训练的,是其中的 常量项:w_i, b
  • 多个这样的算子组合起来,就是一组复合函数。

训练阶段:结构固定,常量拟合

整个网络结构在模型定义时已经决定。每一层的算子本质上是函数映射,如线性、非线性、归一化、注意力等。
训练所做的事情,是在输入样本 x 与目标输出 y* 已知的前提下:

通过梯度反传,在给定函数结构下,寻找最优的常量参数集合,使得实际输出 f(x; θ) 尽量逼近 y*

换句话说,神经网络的训练过程是一个在函数空间内优化常量的过程,结构不变,只求参数。


推理阶段:函数执行,无学习发生

一旦训练完成,网络的结构与参数固定,模型成为一个封闭形式的复合函数:

1
y = f(x; θ*)

其中 θ* 是训练阶段学得的常量集合。
推理阶段的本质,就是一次向量输入的函数计算。不存在“学习”与“理解”,更没有“通灵”或“推理” ——
所有输出只是依照函数形式,对输入变量进行结构化映射后的结果。


激活函数的角色:赋予网络非线性表达能力

若无非线性,深度网络仅为线性映射的堆叠,其最终表达能力依然受限。
激活函数(ReLU、LeakyReLU、SiLU 等)正是引入非线性的手段,提升了模型拟合非线性空间中复杂边界的能力。它们在数学意义上是非线性函数的注入节点,使神经网络具备了函数逼近任意可测映射的可能。


衍生话题:量化是精度的表达方式变换

在结构与函数视角下,量化并非改变模型的行为,而是改变参数和中间计算中数值的表示方式
典型如将 float32 表示的权重转为 int8,本质上是对常量精度进行压缩,以减少计算负担与存储占用。

推理引擎如 TensorRT、ONNX Runtime 中的量化流程,包括:

  • 缩放与零点校准;
  • 整数模拟浮点计算;
  • 性能 vs 精度的权衡验证。

重要的是:量化不改变结构,只影响表示与执行的效率


补充说明:量化不仅是“精度压缩”,更是“坐标变换”

很多介绍将量化简化为“把 float32 换成 int8”,但这其实是一个认知陷阱。

在数学层面,量化是将浮点数值范围映射到整数空间的坐标系统变换问题

1
int8_value = round((float_value - zero_point) / scale)
  • scale 是缩放比例,控制表示精度;
  • zero_point 是整数空间中的零点偏移;
  • 映射需要通过**校准(calibration)**确定最优 min/max 范围。

因此,量化不仅仅是换个单位,而是把浮点连续空间“压缩”到整数离散空间的变换过程,目的是在表示力下降的情况下尽量保持输出行为不变

这也正是为什么我们需要用验证集重新评估量化后的模型精度(如 mAP、Accuracy)——因为它对参数分布进行了数学意义上的扰动。


衔接语言模型:tokenizer 将文本变为变量

在语言模型(如 GPT、BERT)中,输入并不是图像像素,而是语言 token
Tokenizer 的任务是将自然语言转化为可向量化处理的 token ID,作为 LLM 的输入变量。
其背后也存在结构化处理逻辑(BPE、WordPiece、SentencePiece),通过无监督的统计方式构建符号表。

因此,LLM 的本质依然符合本文所述结构:

  • 输入:token ID(离散变量)
  • 网络结构:Attention + Linear + Activation 的函数组合
  • 输出:下一个 token 的概率分布
  • 推理过程:token → ID → 函数执行 → 输出 ID → 解码文本

总结:神经网络是函数工程,而非黑箱魔法

模型并不神秘:

  • 它是一组结构明确、可组合的函数系统;
  • 可训练部分只是其中的常量;
  • 输入是变量,输出是计算;
  • 推理是代入,训练是优化。

在图像域,变量是像素矩阵;在语言域,变量是 token ID;在语音、金融、医学等领域,变量可以是时序、向量或符号。
形式不同,函数结构 + 常量参数 + 输入代入这一核心不变。

理解了这点,我们便不再将模型视为“智能体”,而是看作一个由算子构成、结构化拟合的数学系统。它的行为,不是思考,而是执行。

  • Title: 模型的本质:函数、常量与结构的工程化
  • Author: Luo Zhixin
  • Created at : 2025-07-11 10:41:17
  • Updated at : 2025-07-15 21:54:51
  • Link: https://luoluoter.github.io/2025/07/11/model-is-formulas-and-contants/
  • License: This work is licensed under CC BY-NC-SA 4.0.