[论文解读] Probabilistic Neural Programs
本文提出概率神经程序(PNPs),一种通过将神经网络架构的计算图与加权非确定性选择算子结合,将深度神经网络与概率编程相融合的框架,以建模程序归纳中的决策过程。该方法通过随机梯度下降实现端到端训练,在图表问答任务上实现了14.9%的执行准确率——接近基线的两倍——通过学习用于决策评分的表达性潜在表征实现。
We present probabilistic neural programs, a framework for program induction that permits flexible specification of both a computational model and inference algorithm while simultaneously enabling the use of deep neural networks. Probabilistic neural programs combine a computation graph for specifying a neural network with an operator for weighted nondeterministic choice. Thus, a program describes both a collection of decisions as well as the neural network architecture used to make each one. We evaluate our approach on a challenging diagram question answering task where probabilistic neural programs correctly execute nearly twice as many programs as a baseline model.
研究动机与目标
- 解决在噪声大、现实世界场景中进行程序归纳的挑战,其中必须同时学习控制流和决策过程。
- 克服先前方法的局限性,这些方法或限制计算模型(如神经抽象机),或排除深度学习(如概率编程语言)。
- 支持计算模型和推理算法的灵活指定,同时支持深度神经网络用于决策评分。
- 通过学习决策的更好潜在表征,提升复杂、结构化推理任务(如图表问答)中的程序执行准确率。
提出的方法
- 在计算图框架中扩展加权非确定性选择算子,允许基于神经网络得分对选项进行概率选择。
- 将程序草图定义为概率程序,其中每个决策由一个在计算图中指定架构的神经网络进行评分。
- 使用随机梯度下降训练神经网络参数,利用输入/输出示例或完整执行轨迹。
- 在同一草图上支持多种推理算法(如束搜索、采样),实现对可能程序执行的灵活推理。
- 将底层视觉系统输出(如检测到的关系)直接整合到网络架构中(例如对关系进行最大池化),以学习潜在特征,无需手工设计特征。
- 将该框架应用于特定领域计算模型——食物网推理,其中决策涉及从图表中识别生物体和摄食关系。
实验结果
研究问题
- RQ1是否能够通过统一框架将深度神经网络与概率编程结合,以提升复杂、现实世界任务中的程序归纳性能?
- RQ2通过神经网络学习潜在表征是否能提升决策准确率和整体程序执行准确率,相比手工设计特征?
- RQ3将神经网络集成到概率程序草图中,在图表问答任务上的执行准确率提升程度如何?
- RQ4不同神经网络架构(如多层网络与最大池化)在不确定性下的结构化决策任务中对性能的影响程度如何?
主要发现
- Maxpool PNP 模型在 foodwebs 数据集上实现了14.9%的执行准确率,显著优于 Loglinear 基线的8.6%。
- 尽管选择准确率仅提升了3.8%(从78.2%提升至82.5%),Maxpool PNP 模型却实现了显著更高的执行准确率,证明了更好潜在表征的影响。
- 2-Layer PNP 模型将执行准确率提升至12.5%,相比 Loglinear 模型的8.6%,表明即使使用手工特征,神经网络也能增强建模能力。
- 在 Maxpool PNP 架构中包含原始视觉系统输出(如置信度分数和检测到的关系)带来了最大的性能提升,凸显了端到端特征学习的优势。
- 该框架成功支持灵活的推理算法,并允许通过随机梯度下降联合训练神经网络参数和程序执行。
- 该方法使正确执行的程序数量接近基线模型的两倍,验证了其在复杂、多步骤推理任务中的有效性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。