# Neural Network Based Approaches to Relational Learning

Among the many approaches to relational learning, a few neural network approaches have been proposed. We briefly summarize two of them here, and discuss a third one in more detail.

# CIL P

The KBANN system (Knowledge-Based Artificial Neural Networks) [60] was one of the first to integrate logical and neural representations and inference. It used propositional logic only, however, and hence cannot be considered a truly relational learning system. Perhaps the earliest system that did combine first- order logic with neural networks, is CIL[1]P, which stands for Connectionist Inductive Learning and Logic Programming [8]. This system is set in the first order logic context, and aims at integrating neural network inference and logic programming inference, both deductive (using the model to draw conclusions) and inductive (learning the model). This integration makes it possible to learn logic programs using neural network learning methods.

A limitation of this approach is that the neural network represents a ground version of the logic program.[1] As the grounding of a first order logic program may be large, the neural network is correspondingly large and may be inefficient because of this. Note, in particular, that a major advantage of a logic programming language such as Prolog is that it can reason on the level of variables, without instantiating those variables (a type of inference that in statistical relational learning is called lifted inference). For instance, if a rule p(X) ^ q(X,Y) is known, as well as a rule q(X, a), Prolog can deduce that p(X) is true whatever p is, without needing to prove this separately for each concrete case. A neural network that essentially operates on the level of ground instances must make this inference separately for each case, which makes it complex and inefficient.

The approach that will be discussed next, avoids the construction of a large ground network (i.e., a network the size of which depends on the size of the logic programâ€™s grounding), and at the same time aims at constructing a broader type of models than is typically considered when using logic-based representations.

• [1] Given a logic program, grounding it means replacing every rule that containsvariables with all the possible instantiations (i.e., applications to constants) ofthat rule; the resulting program is equivalent to the original one.
• [2] Given a logic program, grounding it means replacing every rule that containsvariables with all the possible instantiations (i.e., applications to constants) ofthat rule; the resulting program is equivalent to the original one.