The idea of using neural networks for learning ILP has attracted a lot of research in recent years ( [1]}, [2]}, [3]}, [4]}). Most neural ILP solvers work by propositionalization of the relational data and use the neural networks for the inference tasks. As such, they usually are superior to classical ILP solvers in handling missing or uncertain data. However, in many of the proposed neural solvers, the learning is not explicit (e.g. connectionist network ([5]}). Further, these methods do not usually support features such as inventing new predicates and learning recursive rules for predicates. Additionally, in almost all of the past ILP solvers, the space of possible symbolic rules for each predicate is significantly restricted and reduced by introducing some types of rule templates before searching through this space for possible candidate. (e.g., mode declarations in Progol ([6]}) and meta-rules in Metagol).
In fact, as stated in [4]}, the need for using program templates to generate a limited set of viable candidate clauses in forming the predicates is the key weakness in all existing (past) ILP systems (neural or non-neural), severely limiting the solution space of a problem.
The contribution of this paper is as follows: we introduce a new neural framework for learning ILP, by using a differentiable implementation of the forward chaining. Further, we practically remove the need for the use of rule templates by introducing novel symbolic Boolean function learners via multiplicative neurons. This flexibility in learning the first-order formulas without the need for a rule template makes it possible to learn very complex recursive predicates. Finally, as will show in the experiments, the proposed method outperforms the state of the art ILP solvers in relational data classification for the problems involving thousands of constants.
