任务定义:输入前提文本(premise)和假设文本(hypothesis),预测假设文本和前提文本之间的关系——蕴含、矛盾或中立。
现有的模型计算量非常庞大,模型的参数非常多。与现有的方法相比,该方法仅依赖于对齐方式,并且对于输入文本完全是可分解的。

模型架构如上图所示,输入两个句子,句子中的每个词都用一个embedding向量表示,首先基于neural attention创建一个软对齐矩阵;然后通过软对齐将整个task分解成可以独立解决的子问题;最终,这些子问题的结果被整合起来从而预测最终的分类结果。除此之外,还应用了intra-sentence attention机制,以在对其步骤之前为模型赋予更丰富的子结构编码。
该方法完成了与普通LSTM编码器相同的工作,同时可在整个句子长度上进行平均并行化,这可以在低延迟设置中实现显著的加速。该方法也在SNLI数据集上实现了SOTA。
训练数据由三个部分组成:{a(n),b(n),y(n)}n=1N,a和b分别代表前提文本和假设文本,y是编码输出标签的向量,C是输出类别的数量,所以y是一个C维的0,1向量。训练目标是根据输入的a和b预测y。
核心模型有三个组成成分,它们被一起训练:
- Attend:用attention机制软对齐a和b中的元素,并将问题分解成对对齐的子短语之间的比较。首先通过eij:=F′(aˉi,bˉj):=F(aˉi)TF(bˉj)获得由函数F计算的非标准化注意力权重,其中,F是带有ReLU**的前馈神经网络。注意力权重被标准化为:βi:=∑j=1ℓb∑k=1ℓbexp(eik)exp(eij)bˉj和αj:=∑i=1ℓa∑k=1ℓaexp(ekj)exp(eij)aˉi,这里的βi是bˉ中与aˉi对齐的子短语。
- Compare:分别比较每一对对齐的子短语,也就是句子a中的一个词与句子b中这个词对应的加权词向量进行比较。即:
v1,i:=G([aˉi,βi])v2,j:=G([bˉj,αj])∀i∈[1,…,ℓa]∀j∈[1,…,ℓb]
- Aggregate:整合之前得到的结果,并对最终的label进行预测。首先通过相加对之前得到的两个比较向量的集合进行整合,即v1=∑i=1ℓav1,i以及v2=∑j=1ℓbv2,j;然后将求和的结果输入前馈神经网络进行分类:y^=H([v1,v2])。
在训练过程中,使用多分类交叉熵损失作为损失函数:L(θF,θG,θH)=N1∑n=1N∑c=1Cyc(n)log∑c′=1Cexp(y^c′)exp(y^c)。
参考资料:A Decomposable Attention Model for Natural Language Inference