博客

Tensor Logic:一种类脑架构

2025年10月21日

English

如果逻辑和学习不是两件分开的事呢?如果它们只是同一个底层过程的两种模式呢?

这个问题正是 Pedro Domingos 教授论文 “Tensor Logic: The Language of AI” 的核心。论文提出了一个统一框架:符号推理与神经学习,都从同一个基底中涌现出来——张量方程。

我一直在实现这些想法,想看看这个范式在实践里会是什么样。结果意外地像大脑:需要保证时很硬,需要从数据中学习时又很柔。

Kocoro-lab/tensorlogic

A Python implementation of Tensor Logic - a unified programming language for AI that combines neural and symbolic reasoning through tensor equations.

View on GitHub

核心洞察

传统 AI 一直像两个分开的世界:

符号 AI 给你规则、逻辑和可解释性。每一步推理都能追踪。但它很脆,不能从数据中学习,也很难处理不确定性。

神经 AI 能从样本中学习,也擅长处理模糊性。但它不透明,容易幻觉,而且无法保证逻辑一致性。

Tensor Logic 消解了这条边界:它把两种范式都表达为张量运算。像 grandparent(X,Z)parent(X,Y)parent(Y,Z)\text{grandparent}(X,Z) \leftarrow \text{parent}(X,Y) \land \text{parent}(Y,Z) 这样的逻辑规则,会变成一次矩阵乘法:parentparent\text{parent} \otimes \text{parent}。Attention 机制变成了驱动逻辑推理的同一种 join 操作。一切都跑在同一个基底上。

grandparent=parent×parent\text{grandparent} = \text{parent} \times \text{parent}

四个类脑性质

1. 双系统处理:快思考与慢思考

像 Kahneman 的 System 1 和 System 2 一样,这个框架以两种模式运行:

Boolean 模式给出精确、确定性的逻辑。没有近似,没有幻觉。你问「Alice 是 Bob 的祖母吗?」系统会基于已有事实给出可证明的是或否。

Continuous 模式允许学习与不确定性。关系变成概率,规则变成软约束,整个系统变成可微的——可以通过梯度下降从数据中学习。

妙处在于,你可以无缝地在两种模式之间切换,甚至在同一次计算中途切换。先用 continuous 模式训练来发现模式,再锁到 Boolean 模式获得生产环境里的保证。

2. 路由与门控:皮质柱

大脑并不是把所有信息塞进一个巨大的整体里处理;它会把信号路由到专门回路中,让它们竞争、协作。Tensor Logic 通过这些结构来映照这一点:

  • Relation banks:一组学到的变换,比如 "parent"、"colleague"、"influences",可以动态组合
  • Attention heads:并行路径,各自关注输入的不同侧面
  • Learned gates:小型神经控制器,决定每一步推理该应用哪些关系

系统不必硬编码 grandparent=parentparent\text{grandparent} = \text{parent} \circ \text{parent},而是可以从例子中学会如何组合多步关系,并为每个查询选择正确的推理链。

3. 自下而上遇见自上而下:双向流动

大脑持续整合两股信息流:

Forward chaining(自下而上):从事实出发,应用规则,传播结果。「Alice 是 Bob 的父母,Bob 是 Carol 的父母,所以 Alice 是 Carol 的祖父母。」

Backward chaining(自上而下):从目标出发,反向寻找证据。「Alice 是 Carol 的祖父母吗?让我们检查是否存在一个 YY,满足 AliceparentYYparentCarol\text{Alice} \xrightarrow{\text{parent}} Y \land Y \xrightarrow{\text{parent}} \text{Carol}。」

两股流都使用同样的张量运算,只是方向不同。这种双向推理,很像大脑皮层如何把前馈感知与反馈预测合在一起。

4. 自我修改:学会注意新模式

最像大脑的一点也许是:系统可以扩展自己的词汇表。

通过张量分解,特别是一种叫 RESCAL 的技术,系统可以发现藏在数据里的潜在关系。如果你喂给它一批家谱事实,它可能会在无人告知的情况下自动发现 "sibling" 或 "ancestor" 这样的概念。

这些被发明出来的谓词随后成为一等公民——可以用于之后的推理、组合与学习。系统真的在重塑自己能够思考的东西。

它打开了什么

这个架构不只是概念上优雅,它解决的是实际问题:

无幻觉的知识系统:在脏数据上训练 embedding,然后在推理时强制逻辑约束。得到神经网络的学习能力,同时保留数据库级可靠性。

可解释的深度学习:把 Transformer 和 attention 写成显式张量方程。每一次计算都有可以审计、可以调试的符号解释。

Few-shot 推理:从少量例子中学习组合规则。「给我 5 个祖父母关系的例子」\rightarrow 系统学到组合模式并泛化。

混合搜索:在同一个查询中结合模糊相似度(向量 embedding)与硬约束(图结构)。「找到与 XX 相似、且在与 YY 有关联机构工作的研究者。」

接下来的路

当前限制也映照了神经科学和 AI 中的已知难题:

类型化知识:真实大脑会区分实体类型(人、地点、概念)。加入 typed embedding spaces,可以让异质领域之间的结构化推理更强。

概率推理:大脑通过概率化的群体编码处理不确定性。把概率图模型整合成张量程序,可以带来更丰富的不确定性量化。

感知:只有逻辑不够——我们需要把它落到原始感官数据里。把 CNN 和 kernel machines 也表达成张量方程,会闭合这一环。

溯因推理:人类擅长生成假设来解释观察。让框架支持完整的溯因推理,而不只是前向/后向演绎,仍然是开放问题。

为什么这重要

AI 正处在一个拐点。纯神经 scaling 已经带来了惊人的能力,但裂缝也越来越明显:幻觉、脆弱、不可解释、无法保证正确性。

解法不是抛弃神经网络、回到符号 AI。解法是承认:这两个范式都是更深层东西的投影——计算本身,以张量和方程的形式表达出来。

当你用这种方式构建 AI,你得到的是这样的系统:

  • 像神经网络一样从数据中学习
  • 像逻辑引擎一样带保证地推理
  • 像人类一样组合知识
  • 用数学形式解释自己的思考
  • 提升自身的表示能力

我相信会 scale 的是这种架构——不只是 scale 到更大的模型,而是 scale 到更有能力、更可信、更可理解的智能。


继续阅读

如果你想更深入地聊这些概念或实现,我很乐意继续讨论。