从动态规划到神经推理:Google DeepMind首次将神经算法推理拓展到伪多项式问题的实证研究

发布于 2025-10-9 07:52
浏览
0收藏

在人工智能的诸多分支中,“神经算法推理”(Neural Algorithmic Reasoning,简称 NAR)是一个既年轻又野心勃勃的方向。它的核心思想很直接——让神经网络不仅学会“看”数据,还能像经典算法那样一步步推理、执行中间步骤,从而具备可解释、可泛化的解题能力。

与传统的端到端预测不同,NAR 会在训练中显式模仿算法的中间状态,例如动态规划表、搜索树节点或排序过程,让模型在结构化的推理轨道上前进。

在学术界,CLRS-30 基准是 NAR 研究的试金石。它涵盖了 30 种多项式时间可解的经典算法,从排序、最短路径到图遍历,应有尽有。

然而,这个基准有一个显著的空白——它没有覆盖那些时间复杂度依赖于输入数值大小的“伪多项式”问题。换句话说,CLRS-30里的算法大多在输入规模(n)增大时才变慢,而在容量、权重等数值放大时依然稳定。但现实世界中,很多优化问题的难度恰恰来自这些数值的膨胀。

0-1 背包问题就是这种弱 NP-hard 问题的代表。它的动态规划解法在理论上是多项式时间,但复杂度是 O(n⋅C),其中 C 是容量的数值大小,而不是它的位长。

这意味着,当容量从 16 增加到 64 时,问题规模会成倍膨胀,即便物品数量不变。对于神经网络来说,这种“数值尺度变化”是一个天然的泛化陷阱:在小容量上学得很好,换到大容量就可能完全失灵。

正因如此,技术团队选择了 Knapsack 作为切入点。他们想回答一个关键问题:NAR 能否学会解决伪多项式问题,并在数值尺度大幅变化时依然保持性能?这不仅是对 NAR 泛化能力的严苛检验,也为未来将神经推理器应用到金融优化、资源分配等实际场景提供了参考。

从动态规划到神经推理:Google DeepMind首次将神经算法推理拓展到伪多项式问题的实证研究-AI.x社区

图1:背包问题及其动态规划解决方案的可视化。左:输入项目及其权重和值。中间:动态规划表和决策表。正确的选定项目的最佳解决方案。dp[i][c]——容量为c的前i个项目的最优值。

这支团队本身也颇具看点。来自萨格勒布大学的 Stjepan Požgaj 和 Marin Šilić 带来了算法与系统工程的学术积累;Graphcore 的 Dobrik Georgiev 则代表了硬件加速与高性能 AI 部署的产业视角;而 Google DeepMind 的 Petar Veličković 是 NAR 概念的重要推动者,也是 Graph Attention Networks(GAT)的首位技术团队。学术与产业、算法与工程的交汇,使得这项研究既有理论深度,又考虑到落地可行性。

1.相关工作

CLRS-30 基准的提出,为 NAR 提供了一个统一的训练与评测平台。它的 30 个任务覆盖了排序、图算法、动态规划等多种类型,且每个任务都配有算法执行的中间状态(hints),方便模型在监督下学习推理过程。

这些任务几乎都是多项式时间可解的,且输入规模和数值范围都受到严格限制。这让模型在“结构泛化”上得到了锻炼,却没有经历过“数值泛化”的考验。

在组合优化领域,NAR 已经被用于旅行商问题(TSP)、最短路径、匹配等任务,通常通过图神经网络(GNN)来捕捉结构关系,并在训练中模仿经典算法的步骤。

这些探索证明了 NAR 在结构化推理上的潜力,但也暴露了一个问题:当任务的状态空间随数值放大而急剧膨胀时,模型往往会失去方向感。

现有方法在数值尺度变化下的泛化问题,归根结底是因为神经网络对数值大小缺乏不变性。它们可能在容量为 16 的背包上学会了“记忆”某些模式,但当容量变成 64 时,这些模式不再适用。如何让模型学会与数值尺度无关的推理规则,是这篇论文试图回答的核心挑战之一。

2.方法框架:Construction–Reconstruction 双阶段

研究的核心创新,是将神经算法推理器的训练拆分为两个相对独立的阶段:Construction(构建)和Reconstruction(重构)。前者负责像经典动态规划那样,逐步填充出完整的状态表;后者则在这个表的基础上,回溯出最终的最优解。

这样的分工,不仅让模型在学习过程中有了清晰的中间目标,也为泛化到更大规模、更大数值范围的任务打下了基础。

DP 表构建(Construction)

在构建阶段,模型的任务是预测出动态规划的值表 dp[i][c] 以及对应的决策表 decision[i][c]。为了让神经网络能够“看懂”这个表,技术团队在输入表示上做了多层设计。

从动态规划到神经推理:Google DeepMind首次将神经算法推理拓展到伪多项式问题的实证研究-AI.x社区

图2:n=16,C=16(分布中)构建的DP表的比较。使用分类边长编码可以锐化预测表并实现推理。

首先是权重整数化与 one-hot 编码。背包问题的物品权重被限制在一个最大值 w_max 以内,并转换为整数,再用 one-hot 形式编码。这既避免了极端容量导致的稀疏状态,也让模型在容量变化时保持输入分布的稳定。

其次,整个问题被嵌入到CLRS-30 图表示框架中。物品、容量、以及它们之间的关系被建模为图的节点和边,节点特征、边特征和全局特征共同构成了输入的多通道信息流。

一个关键的增强是Edge Length Encoding。在容量节点之间的边上,技术团队添加了一个类别特征,表示两个容量节点之间的距离 |i-j|(截断到 M=10)。这让模型在信息传递时,能够显式感知“跳回去多少格”才能找到相关的历史状态,大幅提升了 DP 表预测的准确性。

在模型架构上,技术团队引入了Homogeneous Processor。它去掉了偏置项、LayerNorm 和门控机制,使得网络对数值缩放保持不变性(scale-invariant)。这是为了解决 OOD(分布外)泛化时常见的数值漂移问题——在容量变大时,DP 值的绝对大小可能成倍增加,但它们之间的相对关系才是解题的关键。

训练时,模型会显式接收到当前物品的索引作为 hint,但这些 hint 不直接参与解码损失,只是帮助模型在构建表格时定位上下文。

解重构(Reconstruction)

当 DP 表构建完成后,第二阶段的任务是回溯出最优的物品集合。这里,技术团队刻意设计了一个双步回溯流程:第一步判断当前物品是否被选中,第二步根据决策更新容量指针。这种拆分比“一步到位”的回溯更容易泛化,因为它明确了决策与状态转移的顺序。

从动态规划到神经推理:Google DeepMind首次将神经算法推理拓展到伪多项式问题的实证研究-AI.x社区

图3:背包问题NAR构建过程的可视化。在每一步中,根据当前的潜在嵌入预测DP值表和决策表的下一行。

与标准的CLRS-30方法不同,在标准的CLRS-30方法中,输出是使用额外的节点/边/图特征单独预测的,我们的模型会累积决策表的预测行,然后将其传递给NAR重建。

在输入特征上,回溯阶段的图包含容量节点和物品节点,边特征中不仅有容量差的编码,还有来自构建阶段预测的决策表。值得注意的是,这里不使用物品的价值信息,以防模型走捷径直接猜测最终解,而不是依赖 DP 表进行推理。

技术团队实现了两种回溯变体:

  • Regular Reconstruction:完全由神经网络执行回溯。
  • Deterministic Reconstruction:基于预测的概率决策表,进行可微分的软回溯,将所有可能路径的概率累积起来。这种方式在理论上更稳定,也允许端到端的梯度传播。

3.实验设计与评估

为了验证方法的有效性,技术团队在 CLRS-30 框架下构建了专门的背包任务数据集。训练集是in-distribution的,即物品数量n≤16n,容量 C≤16C;测试集则包含更大规模的 OOD 场景,例如 n=64,C=64n=64, C=64,用来检验数值尺度变化下的泛化能力。

评估指标分为两类:

  • micro-F1:节点级别的分类准确率,衡量模型在每个状态上的预测质量。
  • Exact Match:实例级的完全匹配率,只有当整个物品集合预测正确时才算成功。

对比方法包括:

  • No-hint baseline:直接从输入预测最优子集,不使用中间 DP 表。
  • 不同的Construction–Reconstruction 组合,例如常规构建+常规回溯(reg. c. + reg. r.)、同质构建+常规回溯(homo. c. + reg. r.)、同质构建+确定性回溯(homo. c. + det. r.)。

这样的设计既能比较双阶段方法与端到端方法的差异,也能分析 Homogeneous Processor、Edge Length Encoding、双步回溯等设计在泛化性能上的贡献。

4.实验结果与分析

在in-distribution(分布内)测试中,KNARsack 的表现几乎是“教科书级”的。双阶段的Construction–Reconstruction 框架让模型在物品数量和容量都处于训练范围内时,能够稳定地重现动态规划的推理过程。

从动态规划到神经推理:Google DeepMind首次将神经算法推理拓展到伪多项式问题的实证研究-AI.x社区

图4:给定训练和推理过程中的真实决策表,在输入中有和没有项目值的情况下,NAR重建性能的比较。在输入中包含项目的值可以防止NAR重建模型推广到更大的实例。

micro-F1 节点级准确率接近满分,Exact Match 实例级匹配率也维持在高位,说明模型不仅能在局部状态上做出正确判断,还能在全局上拼出完整的最优解。

真正的考验来自OOD(分布外)泛化。当容量和物品数量同时放大到训练集的四倍时,传统端到端方法的性能急剧下滑,甚至出现“完全迷路”的情况。而 KNARsack在引入 Homogeneous Processor 后,表现出显著的韧性——micro-F1 和 Exact Match 都远高于常规处理器版本。

这种优势来自它对数值缩放的免疫力:去掉偏置、LayerNorm 和门控,使得网络在容量数值成倍增长时,依然能保持对状态间相对关系的敏感度,而不是被绝对数值的变化干扰。

在回溯阶段,技术团队比较了 确定性回溯(Deterministic Reconstruction)与 神经回溯(Regular Reconstruction)。结果显示,两者在分布内的表现相差无几,但在极端 OOD 情况下,确定性回溯略有优势。这种优势来自它的可微分软回溯机制——在不确定时保留多条可能路径的概率累积,而不是一次性做出硬决策,从而减少了错误传播的风险。

从动态规划到神经推理:Google DeepMind首次将神经算法推理拓展到伪多项式问题的实证研究-AI.x社区

表1:不同型号的进出分销性能。最好的结果是粗体显示的,但研究团队在执行过程中使用oracle将模型分开。

消融实验进一步揭示了各个设计的价值。移除Edge Length Encoding 后,DP 表的预测明显模糊,尤其是在容量跨度较大的状态转移中,模型难以准确定位需要回溯的历史状态。

将双步回溯改为单步回溯,则导致泛化性能下降,因为模型失去了对“决策”和“容量更新”这两个逻辑步骤的明确分离。更有意思的是,当 hints 中加入物品价值信息时,模型在训练集上表现更好,但在 OOD 测试中反而退步——显然,它学会了依赖价值直接猜解,而不是遵循 DP 表的推理路径。

为了验证方法的可迁移性,技术团队还将框架应用到其他伪多项式问题,如Subset Sum 和 Partition。只需调整采样器,模型就能在这些任务上重现背包问题中的优势,显著优于无 hint 的端到端基线。这说明,Construction–Reconstruction并不是为背包量身定制的“特例”,而是一种可推广的 NAR 训练范式。

5.主要贡献

这项研究的意义,不仅在于它让 NAR 首次跨入了伪多项式问题的领域,更在于它提出了一套可迁移的解决思路。通过将推理过程拆分为 Construction–Reconstruction 两个阶段,模型能够在中间状态上获得明确的监督,从而在数值尺度变化时依然保持稳定。

在技术细节上,Edge Length Encoding 让模型在容量节点之间的跳转有了明确的“距离感”,而 Homogeneous Processor 则为数值泛化提供了结构性保障。这两个设计的结合,使得 KNARsack 在 OOD 场景下的表现远超传统方法。

最后,技术团队用系统化的消融实验和跨任务验证,证明了这些设计并非偶然奏效,而是具有普适性的工程与算法原则。这不仅为 NAR 在更复杂的优化问题上铺平了道路,也为未来构建可解释、可泛化的神经推理系统提供了可借鉴的范式。

6.对人工智能发展的影响

KNARsack 的方法论,显然可以扩展到更多伪多项式与数值敏感的组合优化问题。无论是多维背包、资源分配,还是带有复杂约束的调度问题,只要存在动态规划解法,这种双阶段策略都能派上用场。

Homogeneous Processor 与距离编码的设计原则,也完全可以推广到其他 DP 类任务中。对于那些状态值随输入规模变化而剧烈波动的算法,这种数值不变性和显式的状态距离感知,都是提升泛化能力的有效手段。

双阶段训练与软回溯机制,还为端到端可微分推理提供了新思路。通过在回溯阶段保留多条可能路径的概率累积,模型不仅能更稳健地做出决策,还能在训练中实现梯度的全程传递。这为未来构建可解释、可优化的神经推理系统打开了新的大门。

从基准建设的角度看,技术团队建议在 NAR 基准中加入伪多项式任务 track。这将迫使模型面对数值尺度变化的挑战,推动研究者探索更具鲁棒性的推理架构。

在应用层面,这项研究的潜力同样令人期待。金融优化中的投资组合选择、资源分配中的容量规划、运筹学中的路径与调度问题,都与背包类问题有着天然的结构相似性。一个能够跨数值尺度泛化的神经推理器,意味着在这些领域中,我们或许可以拥有既快速又可解释的 AI 决策助手。

参考资料:​​​https://arxiv.org/pdf/2509.15239​

本文转载自​波动智能​,作者:FlerkenS

已于2025-10-9 07:52:43修改
收藏
回复
举报
回复
相关推荐