Reference:arXiv:1709.04348v2 [cs.CL] 26 May 2018
本文介绍的是一个NLI(自然语言推理)模型,并且用Densely Interac tive Inference Network (DIIN) 超越了我刚读的上一篇 BiMPM的模型,达到了新sota
潜入层使用了三种embedding,分别是word embedding, character feature 和 syntactical features.,并且将其拼接起来
char embedding可以解决OOV问题, we filter character embedding with 1D convolution kernel. The character convolutional feature maps are then max pooled over time dimension for each token to obtain a vector.
syntactical features,句法特征包括一个one-hot 词性标注特征 和 二元精确匹配(EM)特征。
先是吧premise和hypothesis分别丢到一个highway nets(ResNet的爸爸)里面:得到 P ^ \hat{P} P^ 和 H ^ \hat{H} H^
P ^ ∈ R p × d \hat{P}\in\mathbb{R^{p \times d}} P^∈Rp×d, H ^ ∈ R h × d \hat{H}\in\mathbb{R^{h \times d}} H^∈Rh×d
然后把 P ^ \hat{P} P^ 和 H ^ \hat{H} H^丢到自注意力机制里面:
P ˉ \bar{P} Pˉ是经过加权表示后的 P ^ \hat{P} P^,然后用 α 来计算自注意力,然后进行一个玄学的拼接再乘上一个可训练的参数 W a W_a Wa,然后把 P ˉ \bar{P} Pˉ和 P ^ \hat{P} P^用一个门来进行融合,类似于LSTM的门控机制,并且加上Residual connection
此处门控机制的实现:
然后对hypothesis进行同样的操作,编码层的任务就完成了
交互层的任务是对promise和hypothesis的交互进行建模,实验发现element wise,对应位置点乘很work
特征抽取层使用DenseNet作为卷积特征抽取器,文中还提到,虽然ResNet的表现也很好,但是选择DenseNet的原因是因为减少了模型参数,并且发现如果移除残差连接的话,模型会直接无法收敛。
实验发现BatchNorm在此模型中并不work,所以直接不用。
除非另有说明,否则在所有卷积之后应用ReLU激活函数。
获取了交互张量 I 之后,使用 1 * 1卷积按比例缩小张量,不适用ReLu
然后再把这个张量输入到三组Dense块和过渡块对里面,DenseNet block有n层 3 * 3卷积,并且有一个增长速度为 g g g ,过渡层有一个1×1的卷积核,用于缩小规模,然后是一个最大汇聚层, s t r i d e = 2 stride = 2 stride=2。过渡层中的过渡缩放比为θ。
DIIN uses a linear layer to classify final flattened feature representation to three classes.
使用一个全连接来输出最终分类。
在SNLI,MultiNLI,Quora question pair三个数据集上面达到了Sota
同时使用三种embedding在一定程度上增强了模型的表达能力,然后从实验结果可以看出来,skip connection非常的重要,再加上一些玄学操作,注意力机制,门控机制,向量拼接,卷积,稠密连接,达到了sota