文本匹配-HIM(ESIM)

本文介绍了HIM模型,一种结合了BiLSTM和Tree-LSTM的自然语言推理模型。模型通过输入编码、局部推理和推理组合三个层次进行信息处理,利用注意力机制和递归结构增强推理能力,并融合了语法解析信息。在训练过程中采用了Adam优化器,设置特定的学习率和dropout率,以提高模型性能。
摘要由CSDN通过智能技术生成

论文链接地址

Enhanced LSTM for Natural Language Inference

github

to be continued

前言

\quad 本文主要介绍了一种复杂网络建立自然语言推理模型,创新点在于:基于链式的LSTM网络,进一步通过在局部推理建模和推理组合中明确考虑递归架构,同时合并了语法解析信息。

整体模型结构

\quad 整体结构如下图所示:
HIM模型

\quad 该模型为HIM模型(Hybrid Neural Inference Models),包括输入编码层(Input Encoding)、局部推理层(Local Inference Modeling)、推理组合层(Inference Composition)。其中左边是ESIM(Enhanced Sequential Inference Model)模型,右边是基于Tree-LSTM的网络模型,该模型使用了语法解析信息,整体结构和ESIM类似,最终以平均的方式组合两个模型的输出作为最终的结果。
\quad 对于两个句子 a = ( a 1 , . . . a l a ) , b = ( b 1 , . . . b l b ) a=(a_1,...a_{l_a}),b=(b_1,...b_{l_b}) a=(a1,...ala)b=(b1,...blb),分别是前提 ( p r e m i s e ) 和 假 设 ( h y p o t h i e s ) (premise)和假设(hypothies) premisehypothies文本,其中 a i 和 b j a_i和b_j aibj是维度为l的向量,该向量可以通过预训练模型或者句法解析树初始化,目标是获得正确的标签 y。

输入编码层(Input Encoding)

\quad 输入编码层左边使用了BiLSTM模型编码,这里我们用 a i ⇀ 和 b i ⇀ \overrightharpoon{a_i}和\overrightharpoon{b_i} ai bi 分别代表BiLSTM的隐藏状态,公式如下:
a i ⇀ = B i L S T M ( a , i ) , i ∈ [ 1 , 2 , . . . , l a ] . . . . . . . . . . ( 1 ) \overrightharpoon{a_i} =BiLSTM(a,i) ,i \in [1,2,...,l_a] ..........(1) ai =BiLSTM(a,i)i[1,2,...,la]..........(1)
b i ⇀ = B i L S T M ( b , i ) , i ∈ [ 1 , 2 , . . . , l b ] . . . . . . . . . . . . ( 2 ) \overrightharpoon{b_i} =BiLSTM(b,i) ,i \in [1,2,...,l_b] ............(2) bi =BiLSTM(b,i)i[1,2,...,lb]............(2)

\quad 输入编码层右边使用了tree-LSTM模型编码,公式为(3)~(10),整体结构如下图所示:
在这里插入图片描述
\quad 图中的每一个节点输入包含输入向量 X t X_t Xt和左右两个子节点的隐藏向量 ( h t − 1 L 和 h t − 1 R ) , (h_{t-1}^L和h_{t-1}^R), ht1Lht1R)经过公式3~10的操作以后获得输出向量 h t h_t ht,结构整齐,理解起来并不难。论文见:
Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks
在这里插入图片描述
\quad 公式3为一个封装函数,输入为 X t 、 h t − 1 L 和 h t − 1 R , 输 出 为 h t X_t、h_{t-1}^L和h_{t-1}^R,输出为h_t Xtht1Lht1Rht。遗忘门中 c t − 1 L 和 c t − 1 R c_{t-1}^L和c_{t-1}^R ct1Lct1R为左右子节点的隐藏向量,经过点乘操作以后更新当前的细胞状态,经过公式(4)输出 h t h^t ht

局部推理层(Local Inference Modeling)

利用公式11计算出 a i ⇀ 和 b i ⇀ \overrightharpoon{a_i} 和\overrightharpoon{b_i} ai bi 的注意力权重,然后利用公式12、13计算出基于注意力权重的 a i ⇀ 和 b i ⇀ \overrightharpoon{a_i} 和\overrightharpoon{b_i} ai bi 向量。
e i j = a i T ⇀ b i ⇀ . . . ( 11 ) e_{ij}=\overrightharpoon{a_i^T} \overrightharpoon{b_i} ...(11) eij=aiT bi ...(11)
a i ~ = ∑ j = 1 l b e x p ( e i j ) ∑ k = 1 l b e x p ( e i k ) b j ⇀ , i ∈ [ 1 , 2 , . . . l a ] \widetilde{a_i} = \sum_{j=1}^{l_b} \frac{exp(e_{ij})}{\sum_{k=1}^{l_b} exp(e_{ik})}\overrightharpoon{b_j} ,i \in [1,2,...l_a] ai =j=1lbk=1lbexp(eik)exp(eij)bj ,i[1,2,...la]
b i ~ = ∑ i = 1 l a e x p ( e i j ) ∑ k = 1 l a e x p ( e i k ) a i ⇀ , j ∈ [ 1 , 2 , . . . l b ] \widetilde{b_i} = \sum_{i=1}^{l_a} \frac{exp(e_{ij})}{\sum_{k=1}^{l_a} exp(e_{ik})}\overrightharpoon{a_i},j \in [1,2,...l_b] bi =i=1lak=1laexp(eik)exp(eij)ai ,j[1,2,...lb]
进一步增强局部推理信息,公式如14、15:
m a = [ a ⇀ ; a ~ ; a ⇀ − a ~ ; a ⇀ ⨀ a ~ ] , ma=[\overrightharpoon{a}; \widetilde{a};\overrightharpoon{a}-\widetilde{a};\overrightharpoon{a}\bigodot\widetilde{a}], ma=[a ;a ;a a ;a a ],
m b = [ b ⇀ ; b ~ ; b ⇀ − b ~ ; b ⇀ ⨀ b ~ ] mb=[\overrightharpoon{b}; \widetilde{b};\overrightharpoon{b}-\widetilde{b};\overrightharpoon{b}\bigodot\widetilde{b}] mb=[b ;b ;b b ;b b ]

推理组合层(Inference Composition)

在ESIM中仍然使用公式(1)和(2),但是输入为 m a 和 m b m_a和m_b mamb,对于tree-LSTM,树节点由如下公式更新:
v a , t = T r L S T M ( F ( m a , t ) , h t − 1 L , h t − 1 R ) . . . . . ( 16 ) v_{a,t} =TrLSTM(F(m_{a,t}),h_{t-1}^L,h_{t-1}^R) .....(16) va,t=TrLSTM(F(ma,t)ht1L,ht1R).....(16)
v b , t = T r L S T M ( F ( m b , t ) , h t − 1 L , h t − 1 R ) . . . . . ( 17 ) v_{b,t} =TrLSTM(F(m_{b,t}),h_{t-1}^L,h_{t-1}^R) .....(17) vb,t=TrLSTM(F(mb,t)ht1L,ht1R).....(17)
其中,函数F为一层全连接神经网络,激活函数为ReLU。

然后将得到的向量做池化处理,这里分别进行最大池化和平均池化,公式如下:
v a , a v e = ∑ i = 1 l a v a , i l a , v a , m a x = m a x i = 1 l a v a , i . . . . . ( 18 ) v_{a,ave} = \sum_{i=1}^{l_a} \frac {v_{a,i}}{l_a},v_{a,max} =max_{i=1}^{l_a} v_{a,i} .....(18) va,ave=i=1lalava,i,va,max=maxi=1lava,i.....(18)
v b , a v e = ∑ i = 1 l b v b , i l b , v b , m a x = m a x j = 1 l b v b , i . . . . . . ( 19 ) v_{b,ave} = \sum_{i=1}^{l_b} \frac {v_{b,i}}{l_b},v_{b,max} =max_{j=1}^{l_b} v_{b,i}......(19) vb,ave=i=1lblbvb,i,vb,max=maxj=1lbvb,i......(19)
v = [ v a , a v e ; v a , m a x ; v b , a v e ; v b , m a x ] v=[v_{a,ave};v_{a,max};v_{b,ave};v_{b,max}] v=[va,ave;va,max;vb,ave;vb,max]

然后将向量v送入mlp分类器,激活函数为tanh,连接softmax输出结果。

相关训练参数

  1. 优化器:Adam
  2. 第一个动量:0.9,第二个0.999
  3. 学习率: 0.0004
  4. batch_size:32
  5. embedding_size :300
  6. drop out rate:0.5
  7. pretrain model :300-D Glove 840B
  8. oov:Gaussian samples

欢迎指正

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值