Tensor Logic: The Language of AI:中文精读笔记
论文:Pedro Domingos, Tensor Logic: The Language of AI,arXiv:2510.12269v3(2025-10-16 版本)
本次研读:2026-10-26
原文:arXiv 摘要页 · 本地 PDF
论文总览
作者提出一种以张量方程为统一语法的 AI 编程语言 Tensor Logic。其关键观察是:Datalog 规则的“关系连接、消去中间变量、判断是否存在证明”,可以写成布尔张量的“逐项乘、沿指标求和、阶跃函数”;数值张量沿用同一语法,就能表达神经网络和概率模型。论文进一步建议用对象嵌入压缩关系,并在嵌入空间推理。
本文的直接成果是语言语义与跨范式的表达构造:给出逻辑规则、GNN、Transformer、核机器和离散图模型的方程写法。论文没有实现评测、误差界或运行时间基准。因此“可以写成统一方程”有具体示例支持;“可扩展”“可靠乃至无幻觉”的强主张仍需额外条件和验证。特别是第 5 节认为将 sigmoid 温度降至零会把学习得到的嵌入的 Gram 矩阵变成单位矩阵,这一步并不由所给公式推出。
结构地图
| 原文章节 | 论证作用 | PDF 页码 |
|---|---|---|
| 1. Introduction | 提出统一 AI 语言的需求与目标 | 1–2 |
| 2. Background:2.1 Logic Programming;2.2 Tensor Algebra | Datalog 的连接/投影与 einsum 的预备知识 | 2–4 |
| 3. Tensor Logic:3.1 Representation;3.2 Inference;3.3 Learning | 语言语义、执行与自动微分 | 4–8 |
| 4. Implementing AI Paradigms:4.1–4.4 | 神经网络、符号 AI、核机器、概率图模型;表 1–3 | 8–13 |
| 5. Reasoning in Embedding Space | 随机/学习嵌入、关系压缩与类比推理 | 13–15 |
| 6. Scaling Up | 两条稀疏/稠密计算路线 | 15–16 |
| 7. Discussion | 采纳路径及未来实现方向 | 16 |
页码均为 PDF 从 1 开始的页码,也与正文印刷页码一致。
一:问题与思路
作者认为现有工具各擅一端:PyTorch、TensorFlow 的自动微分和 GPU 计算成熟,但没有把知识表示与自动推理作为语言核心;Datalog/Prolog 便于陈述规则,缺少数值学习和大规模张量计算的统一机制。目标是让事实、规则、权重、激活、概率因子都能在同一种程序结构中出现。(Sec. 1,PDF pp. 1–2)
论文的切入点并非“神经网络等于逻辑证明”。精确的桥梁是:在布尔值、适当的求和和阈值语义下,一条 Datalog 规则可表示为张量计算。去掉布尔限制后,同一连接和投影结构也可承载实数计算。统一的是一类计算图和索引语言;布尔推理与连续近似的正确性要求仍不同。(Sec. 3.1,PDF pp. 4–6)
二:Tensor Logic 怎样计算
2.1 从关系规则到张量方程
把二元关系 Sister(x,y) 与 Parent(y,z) 分别记作零一矩阵 $S_{xy}$、$P_{yz}$。姑侄关系的规则是
对应的张量计算为
$S_{xy}P_{yz}$ 要求两个事实在同一个 $y$ 上同时为真;对 $y$ 求和枚举可用的中间人;$H$ 把多个证明产生的计数还原为布尔真值。例如,若 Alice 是 Bob 的姐妹、Bob 是 Charlie 的父亲,则 $(A_{\text{Alice},\text{Charlie}}=1)$。这一步需要非负的零一输入和阈值;单纯的实数矩阵乘法不会自动具有 Datalog 语义。(Sec. 3.1,PDF pp. 4–5)
作者把两项操作显式命名为:
连接 $\Join$ 保留共享指标 $\beta$ 并相乘,投影 $\pi$ 消去右端存在、左端缺席的指标。对布尔关系,连接对应数据库 join;投影后再用 $H$,对应去重后的关系投影。没有公共指标时连接退化为张量积;所有指标均相同时退化为逐元素乘。(Sec. 3.1,PDF pp. 5–6)
程序是一组如 Y[i] = step(W[i] X[i]) 的方程。右端出现、左端没有的指标被求和;左端保留的指标不求和,所以这里的规则比“任何重复指标都求和”的原始 Einstein 记法更一般。多个同名左端方程默认求和,未提供的元素默认为零。括号形式 R(x,y) 指布尔关系及稀疏事实,方括号形式 T[i,j] 指张量。条件、归一化、切片、其他归约等在文中作为语法扩展提出。(Sec. 3.1,PDF pp. 5–7)
2.2 推理与学习
前向链按方程计算所有可得元素,递归规则反复执行到不再产生新元素或达到停止条件;后向链从查询出发,只求所需子项。前者接近物化闭包,后者接近按需计算。对于纯 Datalog 子集,这对应熟悉的精确逻辑推理;数值方程或近似嵌入的输出则需按其数值语义解释。(Sec. 3.2,PDF p. 7)
学习利用乘积、求和与非线性函数的链式法则。比如
这是把原文局部导数写成完整损失梯度的教学展开:右侧 $X$ 的索引连接结构仍是一条张量方程。损失也用方程指定;文中用多层感知机的平方损失说明。规则导致每个样本经过不同推导结构时,作者建议按实际推导路径进行 backpropagation through structure,RNN 的时间反传是特例。若用阶跃函数硬阈值,通常梯度为零或不存在;可微学习须采用可微数值算子或另定训练办法。(Sec. 3.3,PDF pp. 7–8)
2.3 四类 AI 构造的共同形式
| 范式 | 关键张量方程/映射 | 读法与出处 |
|---|---|---|
| GNN | $\mathrm{Agg}_{nld}=\sum_{n'}\mathrm{Neig}_{nn'}Z_{n'ld}$ | 邻接关系选出邻居;投影聚合消息。表 1,PDF p. 10 |
| Transformer | $Q=XW_Q,\ K=XW_K,\ V=XW_V$;再按位置比较 $QK^\top$、归一化并加权 $V$ | 位置、块、头等都成为指标。表 2,PDF pp. 10–11 |
| 符号 AI / 核机器 | Datalog 规则;$Y(Q)=f(\sum_i a_i y_i K(Q,i)+b)$ | 前者用布尔计算,后者以核值连接支持向量。Sec. 4.2–4.3,PDF p. 11 |
| 概率图模型 | 因子 $\phi$ 为非负张量;边缘化 $\sum_y\phi(x,y)$ 为投影;因子乘积为连接 | 查询仍需配分函数归一化。表 3,PDF pp. 12–13 |
GNN 例子先把节点特征送入共享的感知机,再由 Neig(n,n') 与邻居表示相乘并对 $n'$ 求和,最后把聚合项与本节点表示组合。表 1 还分别写出节点分类、边预测和图分类的读出式。这里的结果是表达方式,论文没有比较真实 GNN 的精度或吞吐。(Sec. 4.1、表 1,PDF pp. 9–10)
Transformer 例子把 token 关系 $X(p,t)$ 与嵌入矩阵相乘得到位置向量,再加入位置编码;注意力用位置 $p,p'$、头 $h$、块 $b$ 和特征维度作指标。按正文意思,比较与加权可写为
这是依正文语义整理的教学写法,并非逐字复刻表 2。表中多头、残差与层归一化的示意式省略了部分 MLP 更新,且独立注意力式的 softmax 括号不完整;因此“约十二条方程”说明语言的紧凑性设想,不能直接当成可运行的完整模型规格。(Sec. 4.1、表 2,PDF pp. 10–11)
离散图模型的联系尤其直接:联合分布 $P(x)=Z^{-1}\prod_k\phi_k(x_{\{k\}})$ 中,因子乘积是连接,消去变量是投影;查询要计算 $P(Q\mid E)=P(Q,E)/P(E)$。作者把联合树写成树形程序,并指出联合树可能相对原图指数膨胀,才需要近似推理。原文 PDF p. 13 将条件概率左端误写为 $P(E)$,这里按条件概率定义更正。复杂度的“线性”是相对联合树大小,不是相对原始图大小。(Sec. 4.4、表 3,PDF pp. 12–13)
三:嵌入空间推理的核心主张
3.1 随机向量压缩集合与关系
给每个对象 $x$ 一个 $D$ 维随机单位向量 $e_x$。对一个含 $N$ 个对象的集合,存储和向量 $s=\sum_{x\in S}e_x$,用内积 $s^\top e_a$ 检索成员。若随机向量近似正交,成员的期望读数约为 1,非成员约为 0;论文给出噪声标准差约 $\sqrt{N/D}$,并建议以 $1/2$ 为阈值。维度越大,单次检索越可靠,但在有限 $D$ 下并非零误差。(Sec. 5,PDF p. 13)
对二元关系,作者用外积叠加形成核心张量:
展开后,真元组的对应项接近 1,其他元组的交叉内积形成噪声。这解释了“关系嵌入”怎样由一条张量连接/投影式得到,也说明误判与关系规模、向量维度、向量之间的相关性有关。把关系名也嵌入可把数据库放入更高阶张量;作者进一步建议把规则的前件和后件也换成嵌入张量,再做前向或后向链。(Sec. 5,PDF pp. 13–14)
3.2 学习嵌入时,类比与演绎的分界
如果向量是学来的,$G_{xx'}=e_x^\top e_{x'}$ 就是相似度 Gram 矩阵;近似等于其他对象的向量会使它们的事实和推论相互影响。作者把它解释为“借用”相似对象的推理,并提出用 $\sigma(z,T)=1/(1+e^{-z/T})$ 的温度 $T$ 控制从演绎到类比的程度。(Sec. 5,PDF pp. 14–15)
这一节有一个决定性缺口:令 $T\to0^+$ 只会把正内积变成接近 1、负内积变成接近 0,不会让任意 Gram 矩阵变成单位矩阵。 例如 $e_a=(1,0)$、$e_b=(0.8,0.6)$ 都是单位向量,$G_{ab}=0.8$;此时 $\sigma(0.8,T)\to1$,仍会发生跨对象的信息传递。若希望低温恢复精确演绎,还需约束嵌入、规定只保留同一对象的匹配、或在每步读出后按离散事实重新编码。论文提出定期“抽取—阈值—再嵌入”以降噪,但没有给出这一过程在何种维度、关系规模和推导深度下保持可靠的误差界。(Sec. 5,PDF pp. 14–15;反例为本次分析)
所以,纯布尔 Datalog 子集的 soundness、随机嵌入的概率性近似与学习嵌入的类比传播是三个不同层次。论文关于低温免于幻觉、优于 RAG 的说法是研究展望,没有在文中用实现、对照实验或定理验证。(Sec. 5,PDF p. 15)
四:扩展路径、证据与结论
第 6 节给出两条工程路径:一是让数据库引擎处理稀疏关系及查询优化,让 GPU 处理稠密子张量;二是先用 Tucker 分解或嵌入把稀疏关系压成稠密低维表示,再全部交给 GPU。前者保留精确稀疏结构,后者以近似误差换取规整计算。文中没有具体数据结构、编译器、硬件实验或量化成本模型;“指数级更高效”的说法不能只由张量方程和随机近正交性推出,仍取决于关系规模、秩/维度、误差目标及计算图。(Sec. 6,PDF pp. 15–16)
这篇论文最值得保留的思想,是把逻辑规则中的存在量化明确拆成“共享指标相乘 + 被消去指标求和 + 布尔阈值”,并用同一索引记法展示神经、符号和概率计算。它提供了值得实现的语言设计纲领,也清楚提示了稀疏数据库算子与稠密张量算子的结合点。后续最关键的研究工作是:定义可执行语义和类型/形状检查,落实稀疏与稠密的优化器,给嵌入推理的误差和低温行为加可检验条件,再用代表性任务比较精度、正确性、延迟与内存。(Sec. 3–7,PDF pp. 4–16;末句为本次分析)