The differentiable implementation of logic yields a seamless combination of symbolic reasoning and deep neural networks. Recent research, which has developed a differentiable framework to learn logic programs from examples, can even acquire reasonable solutions from noisy datasets. However, this framework severely limits expressions for solutions, e.g., no function symbols are allowed, and the shapes of clauses are fixed. As a result, the framework cannot deal with structured examples. Therefore we propose a new framework to learn logic programs from noisy and structured examples, including the following contributions. First, we propose an adaptive clause search method by looking through structured space, which is defined by the generality of the clauses, to yield an efficient search space for differentiable solvers. Second, we propose for ground atoms an enumeration algorithm, which determines a necessary and sufficient set of ground atoms to perform differentiable inference functions. Finally, we propose a new method to compose logic programs softly, enabling the system to deal with complex programs consisting of several clauses. Our experiments show that our new framework can learn logic programs from noisy and structured examples, such as sequences or trees. Our framework can be scaled to deal with complex programs that consist of several clauses with function symbols.
翻译:逻辑的不同执行产生了一个无缝的符号推理和深层神经网络的完美结合。 最近的研究已经开发了一个从实例中学习逻辑程序的不同框架,它甚至能够从繁琐的数据集中获得合理的解决方案。然而,这个框架严重限制了解决方案的表达方式,例如不允许使用功能符号,而且条款的形状是固定的。因此,框架无法用结构化实例处理。因此,我们提出了一个新的框架,从吵闹和结构化的例子中学习逻辑程序,包括以下贡献。首先,我们提出一个适应性条款搜索方法,通过结构化空间来查找,由条款的一般性来界定,为不同解答者创造高效的搜索空间。第二,我们建议用一种计数算算算算算算算算法,以决定履行不同推理功能的一套必要和充分的地面。最后,我们提出了一个新的方法,以软化逻辑程序,使系统能够处理由若干条款组成的复杂程序。我们的实验表明,我们的新框架可以从噪音和结构化实例中学习逻辑程序,例如序列或树类。我们的框架可以以复杂的模式组成一些复杂的程序。