[论文解读] Predicate Invention by Learning From Failures
本文提出了 Poppi,一种归纳逻辑编程(ILP)系统,通过基于失败的学习(failure-based learning)使用答案集编程(ASP)实现自动谓词发明。该系统无需用户定义元规则(metarules)或手动指定符号,即可发现有用且紧凑的谓词,从而在有益时显著提升学习性能,而在无需求时仍保持高效,优于现有 ILP 系统。
Discovering novel high-level concepts is one of the most important steps needed for human-level AI. In inductive logic programming (ILP), discovering novel high-level concepts is known as predicate invention (PI). Although seen as crucial since the founding of ILP, PI is notoriously difficult and most ILP systems do not support it. In this paper, we introduce POPPI, an ILP system that formulates the PI problem as an answer set programming problem. Our experiments show that (i) PI can drastically improve learning performance when useful, (ii) PI is not too costly when unnecessary, and (iii) POPPI can substantially outperform existing ILP systems.
研究动机与目标
- 为解决归纳逻辑编程(ILP)中长期存在的谓词发明(PI)挑战,该挑战对实现人类水平人工智能至关重要,但在实践中却很少被支持。
- 克服现有 PI 方法依赖用户提供的元规则或手动指定谓词元数和类型等局限。
- 开发一种可扩展的、自动化的 PI 方法,可无缝集成到学习过程中,提升假设的紧凑性与性能。
- 证明当谓词发明有用时,其收益显著;而当不需要时,其开销可忽略不计。
提出的方法
- 将谓词发明问题形式化为答案集编程(ASP)问题,以实现声明式、可扩展的推理。
- 在学习从失败中学习(LFF)框架中引入一种新型冗余约束,该约束在最优解方面具有正确性。
- 在学习过程中自动推断谓词元数和参数类型,消除对用户定义符号或元规则的需求。
- 利用失败分析生成假设约束,以剪枝搜索空间,提升效率与收敛性。
- 将谓词发明整合到核心学习循环中,实现谓词与假设的同步发现。
- 采用三阶段循环:生成、测试与约束,其中失败引导候选假设与发明谓词的优化。
实验结果
研究问题
- RQ1当谓词发明有用时,它能否显著提升 ILP 中的学习性能?
- RQ2当谓词发明非必需时,其开销是否可忽略不计?
- RQ3具备自动谓词发明能力的 ILP 系统能否超越依赖用户提供的元规则的现有系统?
- RQ4所提出的冗余约束在剪枝假设空间的同时,能否有效保留最优解?
- RQ5该系统能否学习到包含自动发明谓词的递归、多子句程序?
主要发现
- 在所有成功完成的编程谜题中,Poppi 均实现了 100% 的预测准确率,包括查找重复元素和排序列表等复杂任务。
- 在 finddup 任务中,Poppi 达到了 98% 的准确率,标准误差为 0,显著优于 Metagol 的 50% 准确率。
- 在大多数任务中,Poppi 的学习时间少于 1 秒,最长学习时间在 finddup 任务中为 91 秒,而 Popper 在同一任务中耗时 48 秒。
- Poppi 的学习时间始终高于 Popper,但差异始终未超过一倍,表明当谓词发明无用时,其开销并非不可接受。
- Poppi 包含了 Metagol 的全部能力,并可复现其搜索策略,证明其为更通用、更强大的框架。
- 在实验中,Poppi 在除三个问题外的所有问题上均优于 Metagol,且在那三个问题上表现相同,证实其具备更高的可扩展性与有效性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。