Forgetting to learn logic programs
This work addresses the need for hand-engineered background knowledge in program induction, offering a method to improve learning efficiency in multi-task settings, though it is incremental as it builds on existing ILP techniques.
The paper tackles the problem of automatically acquiring background knowledge in program induction by introducing forgetting in multi-task inductive logic programming, which reduces hypothesis space size and sample complexity. Experimental results show that Forgetgol outperforms alternative approaches when learning from over 10,000 tasks.
Most program induction approaches require predefined, often hand-engineered, background knowledge (BK). To overcome this limitation, we explore methods to automatically acquire BK through multi-task learning. In this approach, a learner adds learned programs to its BK so that they can be reused to help learn other programs. To improve learning performance, we explore the idea of forgetting, where a learner can additionally remove programs from its BK. We consider forgetting in an inductive logic programming (ILP) setting. We show that forgetting can significantly reduce both the size of the hypothesis space and the sample complexity of an ILP learner. We introduce Forgetgol, a multi-task ILP learner which supports forgetting. We experimentally compare Forgetgol against approaches that either remember or forget everything. Our experimental results show that Forgetgol outperforms the alternative approaches when learning from over 10,000 tasks.