[COLING 2022] DABERT: Dual Attention Enhanced BERT for Semantic Matching

Motivation

现有的模型存在捕捉细微差异的能力不足的问题,这些模型在区分字面相似度高但语义不同的句子对方面表现不佳。这可能是由self-attention架构本身造成的,self-attention机制主要是利用单词的上下文来理解单词的语义,而忽略了建模句子对之间的语义差异。我们假设更多地关注细粒度的语义差异,尤其是同时建模差异和密切性向量会进一步提升模型的性能。

image-20221022144641520

Approach

image-20221022170449280

Dual Attention Module

输入是K, Q, V三个矩阵,双重注意模块分别使用两种attention机制计算K, Q, V之间的潜在关系来计算它们的类同和差异。因此,该模块产生了两组attention表示,它们将被后面的自适应融合模块融合。

Affinity Attention

类同注意力模块是双重注意模块的一部分,它是标准的点积注意力。
A = s o f t m a x ( Q K T d k ) ∗ V A = softmax(\frac{QK^T}{\sqrt{d_k}})*V A=softmax(dk QKT)V
A = { a 1 , . . . , a l } A = \{a_1,...,a_l\} A={a1,...,al} 是由transformer原始注意力模块生成出的描述类同的表示。

Difference Attention

差异注意力模块捕捉并汇总了句子对之间的差异信息。差异注意模块采用了基于减法的交叉注意机制,它允许模型通过元素的减法来注意句对之间的不同部分:
D = softmax ⁡ ( β d k ) ∗ V β = ∥ Q − K ∥ + M ∥ Q − K ∥ i j = ∑ k = 0 d k Q i k − K j k \begin{gathered} \mathbf{D}=\operatorname{softmax}\left(\frac{\beta}{\sqrt{d_k}}\right) * \mathbf{V} \\ \boldsymbol{\beta}=\|\mathbf{Q}-\mathbf{K}\|+\mathbf{M} \\ \|\mathbf{Q}-\mathbf{K}\|_{i j}=\sum_{k=0}^{d_k} \mathbf{Q}_{i k}-\mathbf{K}_{j k} \end{gathered} D=softmax(dk β)Vβ=QK+MQKij=k=0dkQikKjk
D = { d 1 , . . . , d l } D = \{d_1,...,d_l\} D={d1,...,dl} 是由差异注意力模块生成出的表示。(第三个公式:Q和K中对应两个向量的差异就等于这两个向量每个维度的差值之和)

类同注意力和差异注意力都被用来建模句子对的语义关系,并分别从类同和差异的角度获得相同维度的表征。

Adaptive Fusion Module

在获得类同信号A和差异信号D后,我们引入了一个自适应融合模块来融合这两个信号,而不是直接融合(即平均嵌入向量),因为直接融合可能会损害预训练模型的原始表示能力。

我们首先通过类同引导的attention来更新差异向量。我们让每个类同向量 a i a_i ai与差异信号矩阵D相互作用,获得新的差异特征 d i ∗ d_i^∗ di。然后,基于 d i ∗ d_i^∗ di,我们可以反过来通过差异引导的注意力获得新的类同特征 a i ∗ a_i^∗ ai
δ i = tanh ⁡ ( W D D ⊕ ( W a i a i + b a i ) ) d ˉ i = D ∗ softmax ⁡ ( W d i δ i + b d i ) γ i = tanh ⁡ ( W A A ⊕ ( W d ˉ i d ˉ i + b d ˉ i ) ) a ˉ i = A ∗ softmax ⁡ ( W a ˉ i γ i + b a ˉ ∗ i ) d i ∗ = tanh ⁡ ( W d i ∗ ( [ d i ; d ˉ i ] ) + b d i ∗ ) ) a i ∗ = tanh ⁡ ( W a i ∗ ( [ a i ; a ˉ i ] ) + b a i ∗ ) ) \begin{aligned} \delta_i &=\tanh \left(\mathbf{W}_D \mathbf{D} \oplus\left(\mathbf{W}_{a_i} a_i+b_{a_i}\right)\right) \\ \bar{d}_i &=\mathbf{D} * \operatorname{softmax}\left(\mathbf{W}_{d_i} \delta_i+b_{d_i}\right) \\ \gamma_i &=\tanh \left(\mathbf{W}_A \mathbf{A} \oplus\left(\mathbf{W}_{\bar{d}_i} \bar{d}_i+b_{\bar{d}_i}\right)\right) \\ \bar{a}_i &=\mathbf{A} * \operatorname{softmax}\left(\mathbf{W}_{\bar{a}_i} \gamma_i+b_{\bar{a} *_i}\right) \\ d_i^* &\left.=\tanh \left(\mathbf{W}_{d_i^*}\left(\left[d_i ; \bar{d}_i\right]\right)+b_{d_i^*}\right)\right) \\ a_i^* &\left.=\tanh \left(\mathbf{W}_{a_i^*}\left(\left[a_i ; \bar{a}_i\right]\right)+b_{a_i^*}\right)\right) \end{aligned} δidˉiγiaˉidiai=tanh(WDD(Waiai+bai))=Dsoftmax(Wdiδi+bdi)=tanh(WAA(Wdˉidˉi+bdˉi))=Asoftmax(Waˉiγi+baˉi)=tanh(Wdi([di;dˉi])+bdi))=tanh(Wai([ai;aˉi])+bai))
其中 W D , W A , W a i , W d ˉ i ∈ R d l ∗ d v ; W d i , W a ˉ i ∈ R 1 ∗ 2 d l \mathbf{W}_D, \mathbf{W}_A, \mathbf{W}_{a_i}, \mathbf{W}_{\bar{d}_i} \in R^{d_l * d_v} ; \mathbf{W}_{d_i},\mathbf{W}_{\bar{a}_i} \in R^{1 * 2 d_l} WD,WA,Wai,WdˉiRdldv;Wdi,WaˉiR12dl. ⊕ \oplus 表示信号矩阵和特征向量的拼接。

然后,为了自适应地捕捉和融合来自类同和差异性特征的有用信息,我们引入了门融合模块:
d ^ i = tanh ⁡ ( W d ^ i d i ∗ + b d ^ i ) a ^ i = tanh ⁡ ( W a ^ i a i ∗ + b a ^ i ) g i = σ ( W g i ( d ^ i ⊕ a ^ i ) ) v i = g i a ^ i + ( 1 − g i ) d ^ i \begin{aligned} \hat{d}_i &=\tanh \left(\mathbf{W}_{\hat{d}_i} d_i^*+b_{\hat{d}_i}\right) \\ \hat{a}_i &=\tanh \left(\mathbf{W}_{\hat{a}_i} a_i^*+b_{\hat{a}_i}\right) \\ g_i &=\sigma\left(\mathbf{W}_{g_i}\left(\hat{d}_i \oplus \hat{a}_i\right)\right) \\ v_i &=g_i \hat{a}_i+\left(1-g_i\right) \hat{d}_i \end{aligned} d^ia^igivi=tanh(Wd^idi+bd^i)=tanh(Wa^iai+ba^i)=σ(Wgi(d^ia^i))=gia^i+(1gi)d^i
其中 W d ^ i , W a ^ i ∈ R d h ∗ d v ; W g i ∈ R 1 ∗ 2 d h \mathbf{W}_{\hat{d}_i}, \mathbf{W}_{\hat{a}_i} \in R^{d_h * d_v} ; \mathbf{W}_{g_i} \in R^{1 * 2 d_h} Wd^i,Wa^iRdhdv;WgiR12dh d h d_h dh 是 hidden size. g i g_i gi 是决定这两个不同表融合的门,这样我们就得到了融合特征 v i \boldsymbol{v}_i vi。最终,考虑到潜在的噪声问题,我们提出了一个过滤门来选择性地利用融合特征 v i \boldsymbol{v}_i vi。当 v i \boldsymbol{v}_i vi 趋于有利时,过滤门将纳入融合特征和原始特征。否则,融合信息将被过滤掉:

f i = σ ( W f i , a i ( a i ⊕ ( W v i v i + b v i ) ) l i = f i ∗ t a n h ( w l i v i + b l i ) f_i = \sigma(W_{f_i,a_i}(a_i\oplus(W_{v_i}v_i+b_{v_i}))\\ l_i = f_i * tanh(w_{l_i}v_i+b_{l_i}) fi=σ(Wfi,ai(ai(Wvivi+bvi))li=fitanh(wlivi+bli)
其中 W f i , a i ∈ R 1 ∗ 2 d v ; W v i , W l i ∈ R d v ∗ d h , l i \mathbf{W}_{f_i, a_i} \in R^{1 * 2 d_v} ; \mathbf{W}_{v_i}, \mathbf{W}_{l_i} \in R^{d_v * d_h},l_i Wfi,aiR12dv;Wvi,WliRdvdh,li 是最终的融合语义特征,并会被传播到下一次计算中。

Results

Main Results

image-20221022221540552

image-20221022221550926

Robustness Test Performance

image-20221022221904657

Ablation Study

image-20221022222110308

Case Study

image-20221022222447409

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值