简介
- 将结构化逻辑规则与深度神经网络结合起来
- 提出了 iterative distillation (迭代蒸馏)方法
- 将该方法用于CNN情感分析,RNN命名实体识别。
实现方法
整体模型
这篇文章提出的模型(如下图所示)由两部分组成:Teacher network 和 Student network。其本质还是去调整神经网络的权重 θ。 p(y|x) (student network) 利用 q(y|x) (Teacher network ) 的输出和真实 label 之间的权衡结果以及自身与label 之间的权衡结果去更新 student network 的参数。对于每一次迭代,其目标函数如下: 其中 π 是模仿参数(用来控制整个模型偏向哪个网络),yn 是真实的 hard label,σθ(xn) 是p的软预测输出,sn是Teacher network(q)的软预测输出。值得注意的是 teacher network 在每次训练迭代中都要重新构建。Rules
每一条rule R,都带有一个confidence level λ。如图中 rlg(x,y) 是一个rule grounding, 每一个 rule grounding (rlg) 由软布尔值组成。
本文使用 soft logic (Bach et al., 2015) 编码一阶逻辑规则。soft logic 在 [0,1] 之间连续取值,而非简单的二元值。有如下的规则:
构造 Teacher network
Teacher network 解决的问题就是如何将逻辑规则引入神经网络中去。本文使用 posterior regularization (PR) 方法做逻辑约束。目标是去找一个 q ,使其最符合规则集,又要使其尽可能的接近 p。于是有了如下的优化问题:
其中,KL是指 KL divergence 用于衡量两个分布之间的差距。ξl,gl ≥ 0 是相应逻辑规则的slack variable(松弛变量),C是正则化变量。这个问题是个凸函数优化问题,对偶形式得到如下形式的解:
问题可以看作是将pθ投影到约束子空间中。模型训练,由下图算法所示:
实验
句子情感分类
A-but-B句子有以下的逻辑规则: 实验结果: 可以看到加入逻辑规则后,提高了情感分类的效果,达到很不错的效果。 加入逻辑规则的迭代knowledge distillation的方法,优于映射模型后训练或者训练后映射的方法,也优于加入显示规则的方法。相关工作
- Neural-symbolic learning systems (Garcez et al., 2012)
构建了一个可以从给定的规则进行推理的神经网络网络 - Natural language processing almost from scratch (Collobert et al., 2011)
利用领域知识提取额外特征,增强原始数据 - Bayesian representation learning with oracle constraints(Karaletsos et al., 2016)
利用三元组知识补充训练数据联合训练模型 - Distilling the knowledge in a neural network(Hinton et al., 2015)
将集成模型压缩为单一模型 - Posterior regularization for structured latent variable models (Ganchev et al., 2010)
后验正则化(PR)
相关资料:
https://arxiv.org/abs/1603.06318
https://github.com/ZhitingHu/logicnn
https://zhuanlan.zhihu.com/p/23476294?refer=c_51425207
https://katefvision.github.io/LanguageGrounding/Slides/7.pdf
完。
网友评论