【论文阅读】 A Decomposable Attention Model for Natural Language Inference

任务定义:输入前提文本(premise)和假设文本(hypothesis),预测假设文本和前提文本之间的关系——蕴含、矛盾或中立。

现有的模型计算量非常庞大,模型的参数非常多。与现有的方法相比,该方法仅依赖于对齐方式,并且对于输入文本完全是可分解的。
在这里插入图片描述
模型架构如上图所示,输入两个句子,句子中的每个词都用一个embedding向量表示,首先基于neural attention创建一个软对齐矩阵;然后通过软对齐将整个task分解成可以独立解决的子问题;最终,这些子问题的结果被整合起来从而预测最终的分类结果。除此之外,还应用了intra-sentence attention机制,以在对其步骤之前为模型赋予更丰富的子结构编码。
该方法完成了与普通LSTM编码器相同的工作,同时可在整个句子长度上进行平均并行化,这可以在低延迟设置中实现显著的加速。该方法也在SNLI数据集上实现了SOTA。

训练数据由三个部分组成: { a ( n ) , b ( n ) , y ( n ) } n = 1 N \left\{\mathbf{a}^{(n)}, \mathbf{b}^{(n)}, \mathbf{y}^{(n)}\right\}_{n=1}^{N} {a(n),b(n),y(n)}n=1N,a和b分别代表前提文本和假设文本,y是编码输出标签的向量,C是输出类别的数量,所以y是一个C维的0,1向量。训练目标是根据输入的a和b预测y。

核心模型有三个组成成分,它们被一起训练:

  • Attend:用attention机制软对齐a和b中的元素,并将问题分解成对对齐的子短语之间的比较。首先通过 e i j : = F ′ ( a ˉ i , b ˉ j ) : = F ( a ˉ i ) T F ( b ˉ j ) e_{i j}:=F^{\prime}\left(\bar{a}_{i}, \bar{b}_{j}\right):=F\left(\bar{a}_{i}\right)^{T} F\left(\bar{b}_{j}\right) eij:=F(aˉi,bˉj):=F(aˉi)TF(bˉj)获得由函数F计算的非标准化注意力权重,其中,F是带有ReLU激活的前馈神经网络。注意力权重被标准化为: β i : = ∑ j = 1 ℓ b exp ⁡ ( e i j ) ∑ k = 1 ℓ b exp ⁡ ( e i k ) b ˉ j \beta_{i}:=\sum_{j=1}^{\ell_{b}} \frac{\exp \left(e_{i j}\right)}{\sum_{k=1}^{\ell_{b}} \exp \left(e_{i k}\right)} \bar{b}_{j} βi:=j=1bk=1bexp(eik)exp(eij)bˉj α j : = ∑ i = 1 ℓ a exp ⁡ ( e i j ) ∑ k = 1 ℓ a exp ⁡ ( e k j ) a ˉ i \alpha_{j}:=\sum_{i=1}^{\ell_{a}} \frac{\exp \left(e_{i j}\right)}{\sum_{k=1}^{\ell_{a}} \exp \left(e_{k j}\right)} \bar{a}_{i} αj:=i=1ak=1aexp(ekj)exp(eij)aˉi,这里的 β i \beta_{i} βi b ˉ \bar{b} bˉ中与 a ˉ i \bar{a}_{i} aˉi对齐的子短语。
  • Compare:分别比较每一对对齐的子短语,也就是句子a中的一个词与句子b中这个词对应的加权词向量进行比较。即:
    v 1 , i : = G ( [ a ˉ i , β i ] ) ∀ i ∈ [ 1 , … , ℓ a ] v 2 , j : = G ( [ b ˉ j , α j ] ) ∀ j ∈ [ 1 , … , ℓ b ] \begin{array}{ll}\mathbf{v}_{1, i}:=G\left(\left[\bar{a}_{i}, \beta_{i}\right]\right) & \forall i \in\left[1, \ldots, \ell_{a}\right] \\ \mathbf{v}_{2, j}:=G\left(\left[\bar{b}_{j}, \alpha_{j}\right]\right) & \forall j \in\left[1, \ldots, \ell_{b}\right]\end{array} v1,i:=G([aˉi,βi])v2,j:=G([bˉj,αj])i[1,,a]j[1,,b]
  • Aggregate:整合之前得到的结果,并对最终的label进行预测。首先通过相加对之前得到的两个比较向量的集合进行整合,即 v 1 = ∑ i = 1 ℓ a v 1 , i \mathbf{v}_{1}=\sum_{i=1}^{\ell_{a}} \mathbf{v}_{1, i} v1=i=1av1,i以及 v 2 = ∑ j = 1 ℓ b v 2 , j \mathbf{v}_{2}=\sum_{j=1}^{\ell_{b}} \mathbf{v}_{2, j} v2=j=1bv2,j;然后将求和的结果输入前馈神经网络进行分类: y ^ = H ( [ v 1 , v 2 ] ) \hat{\mathbf{y}}=H\left(\left[\mathbf{v}_{1}, \mathbf{v}_{2}\right]\right) y^=H([v1,v2])

在训练过程中,使用多分类交叉熵损失作为损失函数: L ( θ F , θ G , θ H ) = 1 N ∑ n = 1 N ∑ c = 1 C y c ( n ) log ⁡ exp ⁡ ( y ^ c ) ∑ c ′ = 1 C exp ⁡ ( y ^ c ′ ) L\left(\theta_{F}, \theta_{G}, \theta_{H}\right)=\frac{1}{N} \sum_{n=1}^{N} \sum_{c=1}^{C} y_{c}^{(n)} \log \frac{\exp \left(\hat{y}_{c}\right)}{\sum_{c^{\prime}=1}^{C} \exp \left(\hat{y}_{c^{\prime}}\right)} L(θF,θG,θH)=N1n=1Nc=1Cyc(n)logc=1Cexp(y^c)exp(y^c)

参考资料:A Decomposable Attention Model for Natural Language Inference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值