返回首页

DeepSWIP:神经概率逻辑程序中的反事实推理新突破

TL;DR

神经符号系统试图将神经网络的感知能力与逻辑推理的可解释性结合在一起。DeepProbLog是其中的代表——它用神经网络处理感知任务(如图像识别),用概率逻辑处理推理任务(如规则推理)。但DeepProbLog的推理是"关联性"的,无法回答"如果当初X没有发生,Y会怎样?"这类反事实问题。DeepSWIP为此提供了首个针对DeepProbLog的单世界反事实语义。它通过"神经物化"将神经谓词转化为普通概率逻辑选择,再利用单世界干预程序(SWIP)和加权模型计数(WMC)高效计算反事实。在MPI3D数据集上精确匹配DeepTwin构造的同时实现2.14倍推理加速,在HOV场景中揭示了神经校准退化对反事实估计的偏差影响,并展示了AIPW估计器的有效修正作用。

论文信息

  • 标题:DeepSWIP: Quotient-WMC Counterfactuals for Neural Probabilistic Programs
  • 链接arXiv:2606.20526v1
  • 作者:Saimun Habib, Vaishak Belle, Fengxiang He
  • 发布日期:2026年6月18日
  • 分类:cs.(人工智能)
  • 代码GitHub

研究背景与动机

从关联到因果:推理的三个层次

人工智能系统面临的推理任务可以分为三个层次,每一层都比上一层更深入、更困难。

第一层:关联(Association)。这是最基础的层次,回答"X和Y之间有什么统计关系?"的问题。例如,"吸烟与肺癌之间有什么关联?"经典机器学习和深度学习大多在这个层次上工作——它们擅长发现数据中的模式和相关性,但不涉及因果关系。

第二层:干预(Intervention)。这个层次回答"如果我主动做X,Y会怎样变化?"的问题。例如,"如果一个人开始吸烟,他得肺癌的概率会增加多少?"这比关联更深入,因为它涉及到主动改变系统的行为,而不仅仅是被动观察。

第三层:反事实(Counterfactual)。这是最深入的层次,回答"如果当初X没有发生,在已经观察到其他所有证据的前提下,Y会怎样?"的问题。例如,"这个人已经得了肺癌。如果他当初没有吸烟,他还会得肺癌吗?"反事实推理要求我们在已经观察到某些结果的前提下,"回溯"到过去,想象一个不同的场景,然后预测在那个场景下会发生什么。

这三个层次构成了Judea Pearl提出的"因果推理阶梯"(Ladder of Causation)。绝大多数机器学习系统停留在第一层,而真正的智能系统需要达到第三层。

神经符号系统的崛起

神经符号系统(Neurosymbolic Systems)试图结合两种AI范式的优势:

神经网络擅长感知——从原始数据(图像、文本、音频)中提取特征和模式。但它们是"黑箱",缺乏可解释性,难以进行逻辑推理。

符号逻辑擅长推理——基于规则和知识进行演绎、归纳和溯因。但它难以处理不确定性和原始感知数据。

神经符号系统将两者结合:用神经网络处理感知子任务(如"这张图片中是一只猫"),用逻辑规则处理推理子任务(如"如果是一只猫,那么它是哺乳动物")。DeepProbLog就是这种系统的代表。

DeepProbLog简介

DeepProbLog是ProbLog(概率逻辑编程语言)的神经扩展。它允许程序中包含"神经谓词"——由神经网络定义的逻辑谓词。

一个简单的DeepProbLog程序可能看起来像这样:

nn(digit_net, [X], [0.1, 0.8, 0.05, ...], Y) :: digit(X, Y).
addition(X, Y, Z) :- digit(img1, X), digit(img2, Y), Z is X + Y.
query(addition(X, Y, 2)).

这段程序的意思是:

  1. 有一个神经网络digit_net,它接收图像输入,输出各数字的概率(0-9)
  2. digit(img1, X)表示图像img1中的数字是X,概率由神经网络决定
  3. addition(X, Y, Z)表示X+Y=Z
  4. 查询:两张图像相加等于2的概率是多少?

DeepProbLog会自动处理神经网络的输出和概率逻辑的推理,给出最终的查询结果。

反事实推理的缺失

DeepProbLog的标准推理是"关联性"的——它计算的是条件概率P(Y|X),而不是反事实概率P(Y_{do(X')}|X,Y)。

用上面的例子来说,DeepProbLog可以回答"如果图像img1被识别为数字3,那么加法结果为5的概率是多少?"但它无法回答"如果图像img1当初显示的不是3而是7,在我已经观察到加法结果为5的前提下,图像img1当初被正确识别的概率是多少?"

后者是一个反事实问题,它需要:

  1. 建立一个因果模型(图像内容导致识别结果,识别结果导致加法结果)
  2. 在观察到证据(加法结果为5)的前提下
  3. 想象一个"替代世界"(图像内容是7而不是3)
  4. 计算在这个替代世界中,某个变量(正确识别的概率)的值

这是一个极其复杂的推理过程,DeepProbLog本身无法完成。

为什么反事实推理在神经符号系统中特别困难?

在神经符号系统中进行反事实推理面临独特的挑战:

神经谓词的不确定性。传统逻辑中的谓词是确定性的(真或假),但神经谓词是概率性的(输出一个概率分布)。在反事实推理中,我们需要"清理"观察到的证据的影响——但神经网络的概率输出本身就是一个需要被"清理"的对象。

有限基础化问题。概率逻辑程序通常需要对所有变量进行"基础化"(grounding),即将所有可能的变量取值展开。对于神经谓词,这意味着需要考虑所有可能的神经网络输出——这是一个无穷的(或非常大的)集合。

校准敏感性。神经网络的输出概率是否"校准"(即概率为0.7的预测确实有70%的正确率)对反事实推理的准确性至关重要。但现实中的神经网络往往不是完美校准的,这会导致反事实估计的偏差。

核心发现

发现一:神经物化将神经谓词转化为逻辑选择

DeepSWIP的第一个核心发现是,可以通过"神经物化"(neural materialization)将DeepProbLog中的神经谓词转化为普通的ProbLog选择(choice)。

具体来说,对于每个神经谓词nn(net, [X], [p1, p2, ...], Y) :: pred(X, Y),在给定的上下文(输入X的具体值)下,神经网络会输出一个固定的概率分布[p1, p2, ...]。这个概率分布可以被"物化"为一个普通的ProbLog选择:

p1 :: pred(X, 1); p2 :: pred(X, 2); ... :: pred(X, n).

这个物化过程的关键在于:在给定上下文的条件下,神经谓词的行为与普通的概率选择完全一致。这使得我们可以将神经概率逻辑程序转化为普通的概率逻辑程序,从而应用已有的反事实推理方法。

类比:想象你有一个"魔法骰子"(神经谓词),它每次投掷的结果由一个复杂的内部机制决定(神经网络)。神经物化就像把魔法骰子拆开,看到它内部的概率分布([1/6, 1/6, 1/6, 1/6, 1/6, 1/6]),然后用一个普通的骰子来替代它。在当前上下文中,两者的概率行为完全相同。

发现二:单世界干预程序(SWIP)的适用性

在将神经谓词物化为概率选择后,DeepSWIP应用了单世界干预程序(SWIP)框架来进行反事实推理。

SWIP的核心思想是:在概率逻辑程序中引入"干预"操作,即强制将某个变量的值设置为特定值,而不考虑其原始的因果来源。通过在单个(而非多个)变换后的程序上进行推理,SWIP避免了构建多个"世界"的计算开销。

DeepSWIP证明了:在有限基础化和唯一支持模型的假设下,基于SWIP的反事实推理相对于学习到的物化因子因果模型(FCM)是精确的。这意味着DeepSWIP的反事实计算不会因为简化而损失准确性。

发现三:商WMC形式揭示了三个关键现象

DeepSWIP将反事实推理转化为"商加权模型计数"(Quotient-WMC)形式——一种通过计算两组模型的"比率"来得到反事实概率的方法。

这个商WMC形式揭示了三个重要的现象:

激活的神经概率识别。商WMC形式清楚地表明,反事实概率只依赖于在干预和证据条件下"激活"的神经概率。未激活的神经概率(即与反事实问题无关的神经谓词)不会影响最终结果。这提供了一种自然的"稀疏化"机制——只计算相关的部分,忽略无关的部分。

干预清理。在反事实推理中,我们需要"清理"观察到的证据对因果模型的影响。商WMC形式展示了这个清理过程是如何工作的:干预操作将某些变量"固定"到特定值,从而消除了这些变量对其他变量的因果影响。

校准敏感性和稀有证据不稳定性。商WMC形式还揭示了两个潜在的问题:

  • 如果神经网络的概率输出没有正确校准,反事实估计会引入系统偏差
  • 如果观察到的证据在因果模型中是"稀有"的(即概率很低),反事实估计的方差会很大,导致数值不稳定

发现四:AIPW估计器修正校准偏差

针对神经校准退化导致的反事实估计偏差,DeepSWIP提出了使用AIPW(Augmented Inverse Propensity Weighting)估计器进行修正。

AIPW是一种双重稳健估计器——它同时使用了"结果模型"(outcome model)和"倾向性模型"(propensity model),只要其中一个模型是正确的,就能得到无偏估计。在DeepSWIP的上下文中,结果模型是概率逻辑程序的输出,倾向性模型是干预分配的概率。

实验表明,正确范围化的随机策略AIPW估计器可以消除大部分一阶偏差,无论是对总体均值还是平均处理效应(ATE)的估计。

技术方法详解

概率逻辑编程基础

要理解DeepSWIP的技术细节,首先需要了解概率逻辑编程的基本概念。

ProbLog是概率逻辑编程的代表语言。一个ProbLog程序包含:

  • 概率事实(probabilistic facts):以一定概率为真的事实,如0.7 :: sunny.
  • 逻辑规则(logic rules):确定性的推理规则,如wet_grass :- raining.
  • 查询(queries):需要计算概率的命题

ProbLog的推理基于"世界"的概念:每个概率事实可以独立地为真或为假,所有可能的组合构成不同的"世界"。程序的语义是所有世界的加权组合,其中每个世界的权重是其中所有事实的联合概率。

**加权模型计数(WMC)**是ProbLog推理的核心算法。对于一个查询Q,ProbLog计算:

P(Q) = Σ_{world w where Q is true in w} weight(w)

其中weight(w)是世界w中所有为真的概率事实的概率乘积。WMC问题是#P-hard的,但许多实际的ProbLog程序可以通过知识编译(knowledge compilation)技术高效求解。

DeepProbLog中的神经谓词

DeepProbLog在ProbLog的基础上引入了"神经谓词"。神经谓词是一种特殊概率事实,其概率分布由神经网络决定。

语法上,神经谓词的形式为:

nn(network_name, [input], [output_probs], output) :: predicate(input, output).

语义上,对于给定的输入,神经网络输出一个概率分布,这个分布定义了谓词在不同输出值上的概率。

关键区别在于:传统概率事实在程序中是独立的(每个事实独立地为真或为假),而神经谓词的概率分布取决于输入——不同的输入可能导致不同的概率分布。这种"条件依赖"是DeepProbLog推理复杂性的主要来源。

神经物化过程

DeepSWIP的第一步技术操作是"神经物化"。这个过程将神经谓词从"黑箱"转化为"白箱"。

对于一个给定的DeepProbLog程序和一组具体的输入证据,神经物化过程如下:

  1. 对于每个神经谓词,使用其神经网络计算给定输入下的概率分布
  2. 将计算得到的概率分布替换为一个普通的ProbLog选择(choice)
  3. 将替换后的程序作为后续推理的基础

关键洞察:在给定输入的条件下,神经谓词的概率分布是确定的——它不再是一个"黑箱",而是一个已知的概率选择。因此,物化后的程序是一个标准的ProbLog程序,可以使用现有的WMC技术进行推理。

但需要注意的是,物化过程是有条件的——它只在给定的输入上下文中有效。如果输入变化,需要重新进行物化。

单世界干预程序(SWIP)

SWIP框架最初是为标准概率逻辑程序设计的,用于在概率逻辑中进行因果推理。DeepSWIP将其扩展到了包含神经谓词的场景。

SWIP的核心思想是将"干预"编码为程序的变换。对于一个概率逻辑程序P和一个干预do(X=x):

  1. 从程序P中移除定义X的所有规则("删除"X的因果来源)
  2. 添加一个新的事实X=x(强制X的值为x)
  3. 在变换后的程序P'上进行标准的概率推理

这个变换的效果是:在"替代世界"中,X的值被强制设置为x,不受其原始因果来源的影响。这正是Pearl的do-calculus所要求的"干预"语义。

类比:想象一个电路,开关A控制灯泡B。"观察到B亮了"(条件推理)意味着可能是A打开了,也可能是B被直接接通了。但"干预B使其亮"(反事实推理)意味着不管A的状态如何,B都被强制接通。SWIP就是将这种"干预"操作编码为程序变换。

商WMC的计算

DeepSWIP的反事实计算采用"商WMC"形式。对于一个反事实查询"如果do(X=x),在观察到证据e的前提下,Q的概率是多少?",计算过程为:

  1. 构建物化后的程序P(基于观察到的证据e)
  2. 对P应用SWIP变换,得到干预后的程序P'
  3. 计算P'中Q的WMC
  4. 计算P'中证据e的WMC
  5. 反事实概率 = WMC(Q in P') / WMC(e in P')

这个"商"的形式很直观:它计算的是在干预世界中Q为真的"有效概率"——排除了干预操作本身对概率归一化的影响。

关键优化:通过知识编译技术(如d-DNNF电路),WMC可以在线性时间内完成。因此,DeepSWIP的反事实推理的计算复杂度主要由知识编译决定,而非WMC本身。

校准与偏差分析

DeepSWIP的商WMC形式还提供了分析校准偏差的理论工具。

假设神经网络的真实概率输出为p,但由于校准问题,实际输出为p' = p + δ(其中δ是校准误差)。在反事实推理中,这个δ会如何影响最终结果?

通过泰勒展开分析,研究者发现:

  • 一阶偏差与校准误差δ成正比
  • 偏差的方向取决于程序的具体结构
  • 对于"稀有证据"场景(即观察到的证据在干预世界中的概率很小),偏差会被放大

这解释了为什么在实际应用中,神经校准质量对反事实推理的准确性至关重要。

AIPW估计器

为修正校准偏差,DeepSWIP引入了AIPW(Augmented Inverse Propensity Weighting)估计器。

AIPW的公式为:

τ_AIPW = (1/n) Σ [μ₁(Xᵢ) - μ₀(Xᵢ) + Wᵢ(Yᵢ - μ₁(Xᵢ))/e(Xᵢ) - (1-Wᵢ)(Yᵢ - μ₀(Xᵢ))/(1-e(Xᵢ))]

其中:

  • μ₁(X)和μ₀(X)是结果模型(由概率逻辑程序给出)
  • e(X)是倾向性模型(干预分配的概率)
  • Wᵢ是干预指示变量
  • Yᵢ是观察结果

AIPW的"双重稳健"性质意味着:即使倾向性模型e(X)不完全准确,只要结果模型μ(X)是正确的,估计就是无偏的(反之亦然)。这在DeepSWIP的上下文中特别有用,因为概率逻辑程序(结果模型)的结构通常是正确的,但神经网络的概率输出(影响倾向性模型)可能存在校准问题。

实验结果分析

MPI3D数据集实验

MPI3D是一个三维物体渲染数据集,包含不同形状、颜色、大小和位置的物体图像。实验设置了一个反事实推理任务:给定物体的属性(如形状=球体、颜色=红色),推断在不同属性组合下图像的生成概率。

实验结果表明:

  1. 精确匹配:DeepSWIP的反事实计算结果与DeepTwin构造(一种基于双重程序的精确反事实方法)完全一致。这验证了DeepSWIP在有限基础化和唯一支持模型假设下的精确性。

  2. 推理加速:DeepSWIP相比DeepTwin实现了2.14倍的推理加速。这是因为DeepSWIP避免了DeepTwin中"内生变量复制"的开销——DeepTwin需要构建两个独立的程序实例来模拟"原始世界"和"替代世界",而DeepSWIP在单个变换后的程序上完成所有推理。

  3. 12000次查询验证:在12000个随机生成的反事实查询上,DeepSWIP与DeepTwin的结果完全一致,进一步验证了方法的正确性。

SUMO HOV实验

SUMO(Simulation of Urban Mobility)是一个交通仿真平台。实验设置了一个"高乘载车辆"(HOV, High-Occupancy Vehicle)场景:在高速公路上设置HOV车道,评估其对交通流量的影响。

这个实验特别有挑战性,因为:

  1. 交通场景涉及复杂的因果链(车道设置→车辆分布→交通速度→旅行时间)
  2. 神经网络用于感知交通状态(如车辆密度、速度分布),但可能存在校准问题

实验结果揭示了两个重要发现:

  1. 神经校准退化:当神经网络的校准质量下降时(通过温度缩放模拟),插件估计(plug-in estimate,即直接使用神经网络输出进行反事实计算)会出现显著偏差。偏差的方向和大小取决于校准退化的程度和程序结构。

  2. AIPW修正效果:正确范围化的随机策略AIPW估计器可以有效消除大部分一阶偏差。对于总体均值和平均处理效应(ATE)的估计,AIPW修正后的结果比插件估计更准确,即使在神经校准不佳的情况下也能保持较好的估计质量。

计算效率分析

DeepSWIP的计算开销主要来自两个方面:

  1. 知识编译:将物化后的程序编译为d-DNNF电路。这是一次性的开销,编译后的电路可以多次查询。

  2. WMC计算:在编译后的电路上进行加权模型计数。对于商WMC形式,需要计算两个WMC(分子和分母),但它们共享同一个编译电路,因此增量开销很小。

总体而言,DeepSWIP的推理时间主要由知识编译决定,WMC计算本身是高效的。与DeepTwin相比,DeepSWIP的加速主要来自避免了程序复制和内生变量的额外处理。

与现有工作对比

与DeepTwin的对比

DeepTwin是此前最直接的对比方法——它通过构建两个独立的DeepProbLog程序来模拟"原始世界"和"替代世界",然后计算两个世界之间的差异来得到反事实概率。

DeepSWIP相比DeepTwin的优势:

  1. 精确等价:在理论假设下,DeepSWIP的结果与DeepTwin完全相同
  2. 推理加速:避免了程序复制的开销,实现了2.14倍的加速
  3. 理论洞察:商WMC形式提供了更清晰的反事实语义理解

与标准因果推理方法的对比

与标准的因果推理方法(如Pearl的do-calculus、结构因果模型)相比,DeepSWIP的特色在于:

  1. 处理了神经谓词带来的不确定性
  2. 在概率逻辑编程框架内工作,保留了逻辑推理的能力
  3. 提供了具体的算法实现,而非仅限于理论分析

与神经因果推理方法的对比

与近年来的神经因果推理方法(如因果表示学习、反事实生成模型)相比,DeepSWIP的优势在于可解释性和精确性。神经因果方法通常是近似的,且难以提供明确的反事实语义;DeepSWIP基于严格的概率逻辑语义,在给定假设下是精确的。

潜在应用与影响

医疗诊断与决策支持

在医疗场景中,反事实推理对于理解"如果采取不同的治疗方案,患者的结果会怎样?"至关重要。DeepSWIP可以将医学影像的神经识别与临床推理规则结合,支持反事实的医疗决策分析。

公平性与偏见检测

在AI公平性评估中,反事实推理用于检测"如果申请人的种族/性别不同,模型的预测会改变吗?"。DeepSWIP可以在包含神经感知和逻辑规则的系统中进行这种反事实公平性分析。

自动驾驶与交通规划

交通场景中的因果推理(如"如果限速降低10公里/小时,事故率会变化多少?")是DeepSWIP的一个自然应用场景。SUMO HOV实验已经展示了这种方法在交通领域的潜力。

机器人决策

在机器人领域,反事实推理可以帮助机器人理解"如果我采取了不同的行动,结果会怎样?",从而支持更好的规划和学习。

可解释AI

DeepSWIP的反事实语义为可解释AI提供了新的工具。用户可以问"如果输入图像中的某个特征不同,模型的预测会改变吗?"——这种反事实解释比传统的特征重要性分析更加直观和有说服力。

局限性与未来方向

当前局限性

  1. 有限基础化假设:DeepSWIP要求程序具有有限基础化——即所有可能的变量取值是有限的。对于连续变量或非常大的离散空间,这个假设可能不成立。

  2. 唯一支持模型假设:DeepSWIP要求每个世界有唯一的支持模型。这个假设在某些程序结构下可能不满足,需要额外的处理。

  3. 知识编译的可扩展性:虽然WMC计算本身是高效的,但知识编译的复杂度可能很高,特别是对于大型程序。这可能限制DeepSWIP在超大规模系统中的应用。

  4. 校准依赖:DeepSWIP的反事实推理质量依赖于神经网络的校准质量。虽然AIPW估计器可以修正一定程度的校准偏差,但对于严重未校准的神经网络,修正效果可能有限。

  5. 单世界限制:当前的DeepSWIP只支持"单世界"反事实——即在单个干预下计算反事实概率。对于涉及多个同时干预的复杂反事实查询,需要进一步扩展。

未来研究方向

  1. 多世界反事实:扩展DeepSWIP以支持多个同时干预的反事实推理。这可能需要更复杂的程序变换和WMC计算。

  2. 连续变量的支持:将DeepSWIP扩展到包含连续变量的概率逻辑程序,这需要发展新的物化和WMC技术。

  3. 在线校准:研究如何在反事实推理的过程中自适应地校准神经网络,减少对预校准的依赖。

  4. 可扩展性优化:探索增量知识编译、近似WMC等技术,提高DeepSWIP在大规模程序上的可扩展性。

  5. 与其他神经符号系统的集成:将DeepSWIP的思想扩展到其他神经符号系统(如NeurASP、Scallop),建立更通用的神经符号反事实推理框架。

  6. 实际应用部署:在医疗、金融、法律等高风险领域部署DeepSWIP,验证其在真实场景中的有效性和可靠性。

总结

DeepSWIP为神经概率逻辑程序提供了首个精确的单世界反事实推理语义。通过神经物化、SWIP变换和商WMC计算,它成功地将因果推理能力注入了DeepProbLog框架。实验结果验证了方法的精确性(与DeepTwin完全一致)和效率(2.14倍加速),同时揭示了神经校准对反事实推理的重要影响。

这项工作的意义不仅在于具体的技术贡献,更在于它开辟了"神经符号因果推理"这一新的研究方向。随着AI系统越来越多地被部署在需要因果推理的高风险场景中(如医疗、法律、金融),能够进行精确反事实推理的神经符号系统将变得越来越重要。DeepSWIP为这一方向奠定了坚实的理论和算法基础。

从更广的视角看,DeepSWIP展示了概率逻辑编程作为"因果推理中间件"的潜力——它提供了一个形式化的框架,将神经感知、逻辑推理和因果推理统一在一起。这种统一可能是构建真正的"可解释、可推理、可信赖"的AI系统的关键一步。

常见问题

为什么反事实推理在神经符号系统中特别困难?

>为什么反事实推理在神经符号系统中特别困难?在神经符号系统中进行反事实推理面临独特的挑战: 神经谓词的不确定性。传统逻辑中的谓词是确定性的(真或假),但神经谓词是概率性的(输出一个概率分布)。在反事实推理中,我们需要"清理"观察到的证据的影响——但神经网络的概率输出本身就是一个需要被"清理"的对象。 有限基础化问题。概率逻辑程序通常需要对所有变量进行"基础化"(grounding),即将所有可能的变量取值展开。对于神经谓词,这意味着需要考虑所有可能的神经网络输出——这是一个无穷的(或非常大的)集合。 校准敏感性。神经网络的输出概率是否

评论