自然语言推理

两句话之间的逻辑关系,只有三类:推理p->q、无关、矛盾p!->q

自然语言推理最近相关工作(传统)

2005年专家系统,2015年用深度学习找两句话的表示,然后做分类:lstm去encode句子表示,也可以加attention等等。问题是不能并行计算,使得时间周期长。


传统第一类做法:





传统第二类做法

交互空间中的自然语言推理



《natural language inference over interaction space》数据集是SNLI和multiNLI

IIN:embedd–>encoder–>interaction做两句话的每个词之间的交互

extraction很像图像识别中的feature map,所以像用resnet做特征提取

交叉熵loss

《attention is all you need 》提出来一个muti-hot attention,就是对两句话做多次attention,就是说两组encoding之间有多个encoding weight。

更深的attention weight就可以包含更多信息。

模型

模型分为五个部分:output、feature提取、interaction、encoding、embedding

跟传统模型完全不一样

encoding layer

分为三个部分:两层highway和selfatt输出一期进入fusegate
encoding layer:

(fuse gate作用是将两者信息动态结合)

现加两层highway network,在此之上做一次self-attention,整合信息全局信息,就是不用lstm去组合context信息。

feature extraction layer


feature extraction layer用的densenet(cvpr2017),不同的是除去batch-norm,每个dense block有8层convolution layer,每个convolution layer的output都是20个chanel的feature map,再叠加到之前的feature map上

三组densenet block

通过element wise interaction得到

回顾一下densenet结构

densenet节省参数而又不损失准确率

实验

数据:SNLI、mulitiNLI、quora question pair

切除分析

做切除分析,每个切除分析都能加强对模型理解

交互空间中的其他应用

很多可以借鉴cv的地方,特定任务中有些好的神经网络结构会超过那些trick。如何融合数据集外的常识知识会变的非常常见的任务。

qa

可以用在句子的reranking、相似度