[论文解读] DeepProbLog: Neural Probabilistic Logic Programming
DeepProbLog 通过添加神经谓词扩展 ProbLog,以端到端方式联合训练概率逻辑和神经网络,从而实现符号与子符号推理,并具备程序诱导。
We introduce DeepProbLog, a probabilistic logic programming language that incorporates deep learning by means of neural predicates. We show how existing inference and learning techniques can be adapted for the new language. Our experiments demonstrate that DeepProbLog supports both symbolic and subsymbolic representations and inference, 1) program induction, 2) probabilistic (logic) programming, and 3) (deep) learning from examples. To the best of our knowledge, this work is the first to propose a framework where general-purpose neural networks and expressive probabilistic-logical modeling and reasoning are integrated in a way that exploits the full expressiveness and strengths of both worlds and can be trained end-to-end based on examples.
研究动机与目标
- 用神经谓词扩展概率逻辑编程,以将子符号输出处理为概率事实
- 在集成神经网络组件的同时保持 ProbLog 的语义和推理
- 实现跨越概率逻辑和神经模块的端到端梯度训练
- 展示在符号/子符号推理、程序诱导以及从示例学习方面的能力
提出的方法
- 定义神经 adic disjunctions(nADs),将神经网络输出包装为地面概率事实
- 使用 ProbLog 推理,结合 grounding、命题化以及句子判定图(SDDs)来计算查询概率
- 采用带梯度半环的代数 ProbLog(aProbLog)以在概率事实中传播梯度
- 从逻辑输出通过神经谓词反向传播损失以更新神经网络
- 与概率参数更新并行,使用标准梯度优化器(如 Adam)进行训练
- 对标注析取(ADs)进行归一化以维持有效的概率分布
实验结果
研究问题
- RQ1在不丢失语义或推理效率的前提下,神经网络能否被整合到概率逻辑编程框架中?
- RQ2端到端梯度学习是否能在同一模型中同时优化概率事实和神经网络组件?
- RQ3该组合在符号推理、程序诱导和从示例学习等任务上的支持程度如何?
主要发现
- 展示端到端训练下的符号与子符号推理的联合能力
- 在基于 ProbLog 的框架内显示出程序诱导的能力
- 在基于 MNIST 的加法任务上实现具有竞争力的性能,结合对数字和算术背景知识的推理
- 展示在需要感知与概率推理的任务上的可扩展学习能力
- 提供一个用于学习含神经组件的概率逻辑程序的多用途平台
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。