Inductive Logic Programming (ILP) approaches like Meta \-/ Interpretive Learning (MIL) can learn, from few examples, recursive logic programs with invented predicates that generalise well to unseen instances. This ability relies on a background theory and negative examples, both carefully selected with expert knowledge of a learning problem and its solutions. But what if such a problem-specific background theory or negative examples are not available? We formalise this question as a new setting for Self-Supervised ILP and present a new MIL algorithm that learns in the new setting from some positive labelled, and zero or more unlabelled examples, and automatically generates, and labels, new positive and negative examples during learning. We implement this algorithm in Prolog in a new MIL system, called Poker. We compare Poker to state-of-the-art MIL system Louise on experiments learning grammars for Context-Free and L-System languages from labelled, positive example strings, no negative examples, and just the terminal vocabulary of a language, seen in examples, as a first-order background theory. We introduce a new approach for the principled selection of a second-order background theory as a Second Order Definite Normal Form (SONF), sufficiently general to learn all programs in a class, thus removing the need for a backgound theory tailored to a learning task. We find that Poker's performance improves with increasing numbers of automatically generated examples while Louise, bereft of negative examples, over-generalises.
翻译:诸如元解释学习(MIL)等归纳逻辑程序设计(ILP)方法,能够从少量示例中学习具有良好泛化能力、可推广到未见实例的递归逻辑程序(包含新发明的谓词)。这种能力依赖于背景理论和反例,二者通常需要根据学习问题及其解决方案的专家知识进行精心选择。但是,如果无法获得此类针对特定问题的背景理论或反例呢?我们将此问题形式化为一种新的自监督ILP设置,并提出一种新的MIL算法。该算法能够在这种新设置下,从一些带正标签的示例以及零个或多个无标签示例中进行学习,并在学习过程中自动生成并标注新的正例和反例。我们在Prolog中实现了该算法,并将其构建为一个名为Poker的新MIL系统。我们将Poker与最先进的MIL系统Louise进行比较,实验任务是学习上下文无关语言和L-系统语言的语法。实验仅使用带正标签的示例字符串(无反例),并将示例中出现的语言终结符词汇表作为一阶背景理论。我们提出了一种新方法,用于原则性地选择二阶背景理论,即二阶定常范式(SONF),其通用性足以学习某一类别中的所有程序,从而消除了为特定学习任务定制背景理论的需求。我们发现,随着自动生成示例数量的增加,Poker的性能得到提升;而Louise由于缺乏反例,则会出现过度泛化。