【极简笔记】Tunneling Neural Perception and Logic Reasoning through Abductive Learning

论文地址https://arxiv.org/abs/1802.01173

本文的核心贡献是提出Neural Logical Machine(NLM),文中实验用它来学习判断一个手写等式是否成立(注意,这个等式可以是二进制计算等式,也可以是异或等式,等式的运算符号和digit都可以自行定义,训练时的label只有等式成立或不成立)。简而言之,给一堆两位数三位数的计算,学习运算规律,判断五位数六位数计算的式子是否满足该运算规律。
【极简笔记】Tunneling Neural Perception and Logic Reasoning through Abductive Learning
NLM输入是手写体式子,预测输出判断该式子是否成立。结构主要分为三部分:
1. perception neural layer
使用CNN+FC layer+softmax实现,用于区分手写符号
2. logical layer
使用Prolog model,利用非梯度优化方法计算获得手写公式的符号标注,训练perception neural layer。为了增强对噪声的适应性,并没有从该层直接逻辑推导得到结果,而是计算得到relation feature
3. decision neural layer
利用神经网络对relation feature进行分类,判断公式是否成立
【极简笔记】Tunneling Neural Perception and Logic Reasoning through Abductive Learning
因为perception neural layer一开始计算得到的式子并不准确(符号都不认识呢),所以要利用已知KB(knowledge base)来猜这个式子应该是咋样的,拿猜的结果训练perception neural layer。
猜就是trial-and-error,就是derivate free优化方法。
已知的KB例如范式:equation :- [digit] [op] [digit] [equal signal] [digit]
把不对的符号设成空格,然后修正,具体算法得看该篇里的references

运算规则通过ALP(abductive logical programming)计算得到,通过逻辑推演使满足该规则的输入样本集合最大。最后将该运算规则转化成二值特征(假设r条规则,对于样本i,如果能由规则k加KB推演得到,则第k位特征为1,否则为0),输入最后的decision neural layer进行分类判断式子是否成立。

本篇文章有些艰涩,读的不太清楚,只把握了一下主要方向。可以进一步参考相关报道:新智元:周志华组最新论文提出 “溯因学习”,受玛雅文字启发的神经逻辑机

相关文章: