知识表示

Transformer演进、图像生成与符号主义知识表示

Posted by CloudingYu on May 22, 2026

一、深度学习串讲:Transformer 架构与预训练演进

1.1 从 RNN 到 Transformer 的动机

回顾整个发展脉络的起点:循环神经网络(Recurrent Neural Network, RNN)处理序列的方式,是对序列中的每个元素逐步读入,将其融合到模型的记忆单元中,形成一个历史序列与当前输入的信息摘要(压缩包),再读入下一个元素并更新记忆。

这个机制本身是”比较完美的一个想法”,很直观。

但关键瓶颈在于:记忆单元的向量维度有限,对长程信息无法有效保留。Transformer 的突破性思想是:不持续处理所有信息,而是去检索

总结:Attention 机制本质上就是”检索”在向量级别深度框架中的一种实现。

1.2 Transformer 的核心:Q、K、V

每个位置上的元素向量被拆成三部分:

  • Query (Q):表示”我”这个位置想要查什么
  • Key (K):表示被检索对象的位置上能提供什么
  • Value (V):表示提供关键词的那些位置的真实信息内容

1.3 Encoder 与 Decoder 的结构差异

Transformer 的两个基本模块:

  1. 多头注意力子层(Multi-head Attention)
  2. 前馈网络子层(Feed-Forward Network)

两者结合残差连接(Residual Connection)和层归一化(Layer Normalization)组成一个模块,再堆叠多层(原始论文中通常是 6 层)。

Encoder:双向注意力

Encoder 使用双向注意力,每个元素既可以检索前面元素的信息(融合上文语义),也可以检索后面元素的信息(融合下文语义)。原因很简单:整个输入序列已经全部给出,自然应该双向利用。

Decoder:因果注意力 + 交叉注意力

Decoder 的架构更复杂,包含三个子层:

  1. 因果注意力(Causal Attention,也称单向注意力):生成过程中,后面尚未生成的内容不可见,只能与已经生成的前文做 attention。所以叫”因果”——前是因,后是果。
  2. 交叉注意力(Cross Attention):在生成过程中融合编码器输出的源语言信息。这一层是从 Encoder 和 Decoder 的交互中产生的,后来在很多跨模态应用中得到推广。
  3. 前馈网络:与 Encoder 相同。

1.4 预训练的三种路线

如何对 Transformer 架构进行预训练?历史上出现过三种方案。

路线一:联合训练 Encoder + Decoder

T5 (Text-to-Text Transfer Transformer):

  • 思路非常”暴力”:在原输入语句中随机删掉一些词或位置上的内容,让 Decoder 生成被 mask 掉的那些部分。
  • 这很像后来的 Masked Language Model,但 T5 是联合训练 Encoder 和 Decoder。

BART (Bidirectional and Auto-Regressive Transformer):

  • 在 T5 的基础上更加”暴力”:对输入句子经过各种加噪声和篡改——随机挖掉词、随机替换词、打乱词序位置,然后让 Decoder 恢复原始句子。
  • 本质上是一个降噪自编码器(Denoising Autoencoder)。

遗憾的是,这两种设计都没有被后来的大模型时代所接受。

路线二:只训练 Encoder——BERT

BERT (Bidirectional Encoder Representations from Transformers) 只训练 Transformer 的 Encoder,使用双向注意力。BERT 的优势在于:

  • 文本分类:判断文本表达什么情感
  • 序列标注:如中文分词、信息抽取(合同要素抽取等)
  • 但它无法做生成任务,因为它只是 Encoder

历史顺序是:GPT 最早,然后才是 BERT,再后是 T5 和 BART。但由于 Google 影响力大,长时间都被 BERT 和 Google 带偏了,GPT 的第一篇文章几乎默默无闻。

路线三:只训练 Decoder——GPT(最终胜出)

GPT (Generative Pre-trained Transformer) 最早(比 BERT 还早约两个月),它完全抛弃 Encoder,只用 Decoder 的因果注意力。分析 GPT 最终胜出的三个原因:

第一,解码效率高(KV Cache)

  • 由于是单向因果注意力,已经处理过的 token 的 Q、K、V 不会再发生变化,可以放入缓存复用。
  • 而 BERT 的双向注意力中,当新的 token 出现时,前面所有位置上的 Q、K、V 都需要重新计算,复杂度很高。

第二,同等预训练数据量下表现不弱

  • 有篇文章做了大量实验,用同样数量的预训练数据去训练 BERT、T5 或 GPT 架构,GPT 在很多任务上打平甚至更好。

第三,预训练范式与下游任务范式高度一致(最关键)

  • GPT 预训练的本质是”给上文、补下文”(Predict next token)。
  • 翻译本质上就是给原文(上文)补译文(下文);问答就是给问题(上文)补答案(下文);分类就是把问题+候选类别给模型,让模型输出类别标签。
  • 所有 NLP 任务都可以转化为”给上文补下文”的生成任务

第四,涌现出 Zero-shot 能力(最重要)

  • GPT 在学习了数十种不同任务后,居然能够泛化到训练中从未见过的新任务上——只需要修改提示词。
  • 这种 Zero-shot Ability 正是当代大语言模型成功的最核心因素。

关键:这才是现在大模型成功的最重要的一篇文章——发现了 zero-shot 能力。

二、图像生成模型:从 VAE 到扩散模型到流匹配

2.1 生成模型的本质

图像生成的核心问题:

一言以蔽之,图像生成就是从一个已知的 P 分布(可控分布,通常是高斯噪声分布),让它转变到一个 Q 分布(真实图像分布)。

2.2 变分自编码器(Variational Auto-Encoder, VAE)

VAE 的思路:

  • 用编码器将真实数据从原始空间 $X$ 映射到一个潜空间(Latent Space)$Z$(通常假设为高斯分布)
  • 再用解码器从 $Z$ 还原回数据空间
  • 生成时,只需在潜空间中采样,通过解码器生成所需内容
  • 条件生成时,只需对潜空间进行条件编码即可

VAE 是”一步生成”——一次从噪声映射到数据。

2.3 扩散模型(Diffusion Model)

如果把 VAE 的生成过程变成层次化、多步的,就得到了扩散模型。

总结:VAE 是扩散模型的时间步设为 1 的简化版本;扩散模型是 VAE 的层次化版本。

扩散模型的核心设计思路——概率路径(Probability Path):

  1. 前向过程:对真实图像不断加噪声,直到原始图像信息完全消失,只剩纯噪声
  2. 反向过程:从纯噪声出发,每一步学习如何拟合中间加噪的那个过程(即去噪)
  3. 这个反向过程为正向学习提供了每一步的学习目标

扩散模型每走一步会加一点噪声,在概率空间中进行一个带有噪声的游走,这对应于解一个随机微分方程(Stochastic Differential Equation, SDE)。

2.4 流匹配(Flow Matching)

流匹配的哲学更简单:别加噪声了

它只需要学习在当前概率空间的某个点上,应该向什么方向走才能让真实图像的概率更高。这在物理上就相当于学习一个速度场(Vector Field)。

  • 流匹配学习的是从噪声分布到真实分布的一条直线路径
  • 它在解一个常微分方程(Ordinary Differential Equation, ODE),而非随机微分方程

2.5 统一视角

现在整体理论走向大统一:

\[\text{VAE} \subset \text{扩散模型} \subset \text{流匹配}\]
  • 流匹配是最一般的框架(解常微分方程)
  • 在流匹配基础上加上随机因素 → 扩散模型(解随机微分方程)
  • 在扩散模型基础上将时间步设为 1 → VAE

评价:现在像 Sora 这样的顶级图像和视频生成模型,已经从扩散模型走到了流匹配模型。图像生成领域的理论进步比 GPT 领域更大——”那些 agent、skill、tool 基本都是工程,没有像图像生成这样推陈出新”。

三、深度学习与大脑:迈向真正的智能

3.1 大脑仍然是下一代 AI 最可参考的对象

GPT 肯定不是终结。它只是人类短短 20-30 年中的一个技术,今后一定还会发生变化。

能耗对比

  人脑 GPT / GPU 服务器
功耗 约 20 W 约 19,000 kWh(GPT 级别推理)
任务种类 数千种认知/感知任务 有限
工作机制 按需发放脉冲 持续供电计算

大脑的能耗优势来自按需发放脉冲(on-demand spiking):需要时神经元才被供能并发射脉冲,不需要时就切断能量。

3.2 大脑编码方式:频率编码 vs 时序编码

深度学习的隐向量本质上对应的是频率编码(Rate Coding)——神经元受到的刺激越强,发放频率越高;刺激越弱,发放越稀疏。

但频率编码的编码效率很低。以视觉通路为例:

  • 从视网膜 → V1 → V2 → 高层视觉区域,仅约 100 ms
  • 每一层的处理时间仅 10 多毫秒
  • 神经元在 10 毫秒内最多发射 1-2 次脉冲(受不应期限制)
  • 频率编码在这点时间内能表达的信息量极其有限

因此现在的理论倾向于大脑使用的是时序编码(Temporal Coding)——两次脉冲之间的时间间隔本身就能表达不同的信息。

但需要指出:神经科学的最新研究表明,神经元并没有能力精确控制脉冲发射的时间点,发射与否本身也受概率影响。所以更倾向于簇编码(Clustered Coding)假说:信号的表示不是靠单个神经元,而是靠几百个神经元组成的簇——在同一时点上发放的神经元比例才是真正的信号载体。

3.3 反向传播算法在生物大脑中不可行

人脑的基本学习机制与现在神经网络完全不同。

BP 算法在生物大脑中无法实现的原因:

第一,权重对称性问题

  • BP 要求前向传播和反向传播使用完全相同的权重
  • 生物神经元只有单向连接,从未观察到前向和反馈使用同一权重
  • 虽然有一篇 Nature Communication 证明反向权重即使随机给定也能实现 BP,但这仅解决了部分问题

第二,全局同步协调问题

  • BP 需要一个全局调度器:先告诉”现在前向”,存好梯度;再说”开始反向”
  • 生物大脑不可能在学习时让部分神经元停机等待统一信号——否则老虎来了都不知道跑

第三,梯度链式法则需要全局协调

  • 链式求导本质上要协调所有参与神经元,就像一个”指挥家”统一指挥
  • 生物大脑中未发现这样的统一调度信号
  • 唯一的例外是多巴胺(Dopamine):当感官信号与大脑预测信号发生重大差异时,多巴胺会被广播,提升神经元的活性和学习能力——但这更接近强化学习而非 BP

第四,神经元无法表示负数(最致命)

  • 脉冲传播中,梯度有正有负
  • 神经元怎么表示负数?有学者提出”基频假设”——基频以上是正,基频以下是负——但从未在生物实验中发现

3.4 脉冲神经网络(Spiking Neural Network, SNN)

SNN 被视为下一代神经网络的候选方案:

  • 输入输出都是脉冲,神经元建模为类似电容器的电子元件
  • 按需发放脉冲,非常节能
  • 在简单任务上已经打败了同等规模的传统人工神经网络
  • IBM 的 TrueNorth 项目已经做到 1B 规模,离主流 15B 模型虽有差距,但在持续推进

注意:我们实验室也做 SNN,但越研究越觉得不太靠谱。它现在更多走向了低能耗场景,很难在性能上与 GPT 这样的大模型竞争。

3.5 人脑结构仍有大量未解之谜

  • 当前大模型基本都是前馈(Feedforward)的,而大脑中存在大量循环结构(Recurrent loops)
  • 大脑中有三个自循环神经环路(highly responsive structures),它们不接受外界输入,却对其他神经元有显著的调节作用——这些环路在学习中扮演什么角色,至今不清楚
  • 脑科学计划从低到高:小鼠 → 大鼠 → 猫 → 人。小鼠基本搞定了,猫现在搞不定,人还遥遥无期

3.6 深度学习章节总结

深度学习本质是用分层(Hierarchical)的方式,通过函数复合从低层特征逐步学到高层抽象表征的方法。其训练范式主要是预训练 + 下游任务微调

关键:深度学习不是人工智能的全部。深度学习在表示学习里,表示学习在机器学习里,机器学习在人工智能里。后面将进入符号主义(Symbolism)的内容——人工智能的另一条实现路径。

四、知识表示:符号主义 AI 的基石

4.1 知识表示问题的提出

早期 AI 的三大核心问题:知识表示、知识获取、知识使用。其中知识表示最为根本——用什么东西来表示知识,直接决定了知识怎么获取、怎么使用。

对比深度学习和符号主义对这三个问题的解法:

  深度学习 符号主义
知识表示 隐空间特征向量 符号、规则、逻辑
知识获取 预训练 + 微调 人工编写、规则提取
知识使用 模型推理 推理机

符号主义 AI 的核心公式是:

知识 + 推理机

推理机是预先写好的、通用的。只需要把领域的知识编写好装入推理机,系统就能工作。

4.2 心理学实验:知识的分层组织

早期 AI 受心理学实验影响极大。一个经典的实验:问被试者”金丝雀是鸟”“金丝雀会唱歌”“金丝雀是动物”“金丝雀有皮肤”等问题,记录反应时间。

实验发现:

  • “金丝雀是鸟”和”金丝雀会唱歌”反应最快——典型特征直接关联在该概念上
  • “金丝雀是动物”“金丝雀有皮肤”反应较慢——需要沿着概念层级向上找寻

结论:人脑中的知识是按层次组织的。共性特征(如”会飞”)被抽象到高层(”鸟”),最独特的特征(如”会唱歌”)直接挂在具体实体(”金丝雀”)上。

4.3 语义网络(Semantic Network)

最早的 AI 知识表示方法:

  • 图中的节点表示对象(Entity)
  • 节点之间的表示语义关系
  • 通过图上的扩散来完成推理(如问”金丝雀能飞吗?”——从金丝雀节点出发沿图扩散,若可达”会飞”则答案为是)

语义网络正是后来的知识图谱(Knowledge Graph)的前身,思想完全一致。

优点:易读,人类容易理解。

缺点

  • 无法表示过程性知识,推理结果不一定准确
  • 图随着知识增加变得过于复杂
  • 重名、歧义问题难以处理
  • 语义关系类型繁多,缺乏统一标准

评价:知识图谱没有在哪个公司真正很好稳定地落过地。代价很高,但没有真正落地。

4.4 框架(Frame)

为了解决语义网络中知识分散的问题,框架将相关对象的属性集中在一个模块里。框架很像软件工程中”类”的概念:

  • 一个 Hotel 框架包含了 Hotel 的各种属性
  • 框架可以嵌套(如 Hotel 包含 Room、Chair、Phone 等子框架)
  • 最重要的是类比能力:如解释”John is like a fire engine”——将 John 和 Fire Engine 两个框架进行对比,用另一个框架填充差异,推导出 John 可能”很有活力”或”嗓门很大”

4.5 概念图(Conceptual Graph)

在语义网的基础上将关系也当作节点处理,从而可以表达多元关系(n-ary relations)。

例如:”The dog scratches its ear with his paw”:

  • Agent: dog
  • Object: ear
  • Instrument: paw

概念图还可以表示”Tom believes that John baked a pizza”这样的嵌套信念,表达能力接近自然语言。

4.6 知识图谱与数据库融合

911 事件后,美国试图融合 17 个情报机构的 28 个数据库,干了五年失败了。原因在于:

  • 关系型数据库基于一阶谓词逻辑(First-Order Logic),具体是基于 Datalog(一阶逻辑的子集)
  • 一阶逻辑的致命缺陷:从矛盾出发可以推导出一切(ex falso quodlibet)——前提一旦有冲突,推理就崩溃

三元组(Triple)方式的知识表示——Subject-Predicate-Object——可以更好地融合来自不同源的数据。当英文版和法文版的书目信息来自不同出版社时,可以在图中定义节点之间的等价关系,合并成一个大图。

五、不确定性推理

5.1 什么是不确定性(Uncertainty)

不确定性就是在缺乏充分信息的情况下来进行决策。

AI 中有一个专门的顶会叫 UAI(Uncertainty in AI),专门研究不确定情况下的推理问题。人类的智能天生就具备不确定性下决策的能力——从每天早上决定喝牛奶还是吃包子,到面临重大人生抉择。

不确定性的来源包括:

  • 模糊(Ambiguity)、不完整(Incomplete)、错误(Incorrect)的信息
  • 测量噪声、随机因素、系统性偏差
  • 推理层面的不确定性

5.2 三种推理方式

推理类型 示例 可靠性
演绎推理(Deductive) 所有人都会死 → 苏格拉底是人 → 苏格拉底会死 永远正确
归纳推理(Inductive) 火警铃响了 → 着火了 不一定(可能是有人抽烟)
溯因推理(Abductive) 闻到烟味 + 看到衣服着火 → 确实着火了 概率更高,但不绝对

5.3 非单调推理(Non-Monotonic Reasoning)

传统符号主义推理中,知识随信息增长而单调递增。但在真实推理中,新信息的加入可能推翻原先的结论

例子:X 看起来是红色的 → 推断 X 是红色的。但如果告诉你 X 被红色灯光照射,那么”X 是红色的”这个结论就被推翻了。

这就是非单调性——新信息可能导致原有断言从真变为假。人类天然能处理这种推理,但计算机上实现非常困难。

5.4 不确定性推理中的经典悖论

布利丹驴悖论(Buridan’s Ass): 一头饿驴面对一望无际的草垛,它既可以从左往右吃,也可以从右往左吃。由于无法决定哪个方向吃得更多,它思考了几天后饿死了。对应到现实中的医疗决策——保守治疗活三个月,手术可能直接死在手术台也可能多活三年。人在这个处境下跟那头驴没有本质区别。

彩票悖论(Lottery Paradox): 100 万张彩票中只有一张中奖。单独评估每一张彩票时,理性的人都会认为”这张不会中奖”(概率极低),但这个判断应用到全部彩票上就错了——因为总有一张会中奖。这被称为集体否认(Collective Denial)。

前言悖论(Preface Paradox): 一位学者花五年写了一本 800-1000 页的书,书中所有定理都丝丝入扣、互相支撑。但统计学家朋友指出:按照统计经验,这么长、这么有趣的一本书,几乎必然有至少一个定理是错的。由于作者不能指出哪个定理错、错多少,按照逻辑,整本书的所有定理都可以被认为是错的——五年心血写了 nothing。

循环否认(Circular Denial): 多个人互相作证但构成循环——A 说 B 不可靠,B 说 C 不可靠,C 说 A 不可靠。当其中某人说”外面在下雨”时,你如何判断真假?

5.5 经典概率论的问题

经典概率论在统计推断时,需要先假设一个理论分布(如正态分布,由均值 $\mu$ 和方差 $\sigma^2$ 刻画),然后通过假设检验判断数据是否来自该分布:

  • 设定拒绝域(通常双边各 2.5%,合计 5%)
  • 样本落入拒绝域 → 否定原分布
  • 样本落入接受域 → 不否定原分布

经典方法的一个严重问题:调研越充分,越不会否定原分布。因为真实分布和理论分布总是有差异的,当采样量很大时,采样均值会落在大面积的重叠区域,你越尽心尽力收集数据,反而越不可能拒绝那个本身就是错的先验分布。少量实验反而更容易发现偏差。

5.6 贝叶斯方法:PROSPECTOR 专家系统

贝叶斯方法通过引入先验概率条件概率来解决经典概率的问题。

经典案例——PROSPECTOR 专家系统(斯坦福大学开发):

  • 根据当地水文和矿物资料,自动发现了一个价值百万的新矿脉
  • 先验:某地有油概率 0.6,无油概率 0.4
  • 实验条件概率:有油时测出有油的概率 0.8;无油时误报有油的概率 0.1
  • 通过贝叶斯公式,结合先验概率、条件概率和实验结果,计算后验概率,做出最终决策

可以认为:一个好的不确定性理论需要解决三个问题:

  1. 认知推理(Epistemic Reasoning):你相信什么(概率估计)
  2. 实践推理(Practical Reasoning):根据相信的东西应该怎么做(决策)
  3. 将个人偏好纳入整个框架(不同人、不同财富阶段的选择不同)

概率论只告诉我们推理时相信什么,但”相信”和”应该怎么做”之间还缺一个好理论将它们关联起来。这也是现在 World Model 转向 World Action Model 的原因。

六、小结

深度学习章节到此结束。后续内容将进入相对传统但正在重新重要起来的人工智能方法——符号主义(基于逻辑学的推理和基于心理学的推理),包括逻辑语言产生式规则两种范式。机器学习和深度学习的数学基础是概率论线性代数,建议阅读有几何直觉的教材(如 Strang 的线性代数)。