对于语义句子匹配(SSM)任务,基于Transformer的模型会检查句子之间的一般相似性,但由于注意力softmax操作,它们会错过使句子彼此不同的细微差别。
为了解决这个问题,本文提出了一种基于Transformer模型的组合注意力网络(Comateformer),它包含了一种具有组合性质的新型基于Transformer的准注意力机制。与传统的仅调整输入词元权重的注意力机制不同,该方法学会了在构建表示时如何组合、减去或调整特定向量的大小。
主要贡献:
任务定义
Comateformer模块
i) 双亲和力模块
在这个模块中,我们设计了两个不同的函数:亲和力函数和差异函数,用于比较两个句子之间向量的亲和力和差异。
首先,我们通过点积计算A和B中每个词之间的成对亲和力,这计算了A和B中任意两个元素之间的成对相似性:
FE(.)表示参数化函数,如标准的线性/非线性函数。此外,α表示一个缩放常数和非负超参数,可以将其视为调整饱和度的温度设置。
接下来,作为A和B中每个词之间成对负相关性(即不相似性)的度量,我们进行以下计算:
在这个函数中,我们引入了一个参数化函数FN(.)和一个缩放常数β,同时保留了L1-Norm l1。
负距离的基本概念涉及使用负亲和力值作为门控机制来表示负面特征,这是原始注意力方法所不具备的能力。
ii) 组合注意力模块
我们提出的组合注意力与传统的注意力完全不同。首先,它没有softmax操作。具体来说,我们使用以下方程进行注意力建模:
其中,M是组合注意力机制中的最终注意力矩阵,是两个矩阵之间的逐元素乘法结果。
a) 矩阵N的归一化
b) 温度参数
在上面中,我们引入了超参数α和β来控制E和N的大小,这些参数会影响tanh和sigmoid函数的温度。
较高的α和β值将强制实施硬形式的组合池化。在这个任务中,我们设置α = 1和β = 1。
最后,我们使用以下公式将组合注意力矩阵M应用于输入序列A和B:
并且两个句子被更新为Aˆ ∈ RNa×d和ˆB ∈ RNb×d。以Aˆ为例,A中的每个元素Ai遍历句子B,并通过加法(+1)、减法(-1)或删除(×0)来确定它是否包含句子B中的标记。
类似地,句子B中的每个元素遍历句子A,并决定是向A中添加、删除一个标记,还是不做改变。
将Comateformer融入Transformer
下图显示了Comateformer在Transformer中的集成位置以及Comateformer具体模块的原理图。
Comateformer用去softmax化的双亲和力模块替换了原始的注意力模块,即Transformer内部的原始注意力计算方程。
现在被更改为
其中G(.)表示Q的所有行与K的所有行之间的外部L1距离的否定。我们对(G(QK) √dk * V)或2 * sigmoid(G(QK) √dk) * V进行中心化处理,以确保值在[0,1]范围内。
最后,两个亲和力矩阵都是通过对Q、K、V仅进行一次变换来学习的。
将Comateformer融入到PLM
我们拆解了BERT的主层,并验证了BERT不同层中缺乏差异信息的问题。通过解决这些问题,我们可以找出BERT中哪些层缺失了差异信息。
我们使用鲁棒性测试工具TextFlint作为实验数据集来研究上述问题。
首先,TextFlint对每个采样示例进行微小修改,使句子对具有细微差异。
其次,我们冻结BERT模型(除softmax分类输出头外)的参数,并为TextFlint任务采用预训练的上下文词表示。
我们利用TextFlint对数据集进行语法结构转换,并对五次不同运行的性能结果进行平均。分数越高表示能力越强。
下图展示了BERT模型在差异感知方面逐层的表现。
从图中我们观察到,在冻结BERT的层参数后,各层对差异的敏感度有所不同,其中中层和上层对差异的敏感度高于下层。
为了最大限度地减少对原始预训练过程的损害,我们将第一到第三层中的多头注意力分别以50%、40%和30%的比例替换为Comateformer。
结果与分析
i) 模型性能
下表比较了Comateformer和竞争模型在10个数据集上的性能。
当主干模型为BERT-base或BERT-large时,集成Comateformer后的平均准确率分别提高了1.1%和0.8%,这表明我们的Comateformer模型在语义匹配任务上的有效性。
所提出的方法分别比RoBERTa-base高出1.6%,比RoBERTa-large高出0.6%,这证明了Comateformer能够从不同方面有效地捕捉句子之间的关系,从而可以挖掘出更细粒度和更复杂的关系。
ii) 鲁棒性测试性能
下图列出了Comateformer和BERT的准确率。
我们可以观察到,在SwapAnt(交换反义词)测试中,我们的模型比BERT高出近6%,这表明Comateformer能更好地处理由反义词引起的语义矛盾。
而在SwapNum(交换数字)转换中,模型性能下降至77.2%,但Comateformer仍然比BERT高出近5%,因为这要求模型能够捕捉细微的实体差异以进行正确的语言推断。
在其他转换中,Comateformer仍然优于基线模型,这反映了其有效性。
iii) 案例研究
下表展示了一个案例研究,其中包含了我们案例中的示例句子对。红色和蓝色标注的是差异短语。
预训练语言模型BERT能够借助其强大的上下文表示能力识别案例1中的语义差异,并给出正确的预测。
BERT预测的句子对相似度为46.32%,而BERT-Comateformer的相似度仅为1.87%。其次,在案例2中,“从70到60”和“从60到50”这两对句子表达了不同的语义,但它们主要是数值上的差异。
尽管BERT在案例1中以微弱优势识别出了正确标签,但在案例2中,它无法捕捉由数值引起的差异,并给出了错误的预测,因为这要求模型能够捕捉细微的数值差异以进行正确的语言推理。
最后,我们的模型在所有上述案例中均做出了正确的预测。
iv) 注意力分布
为了直观地展示多通道注意力内部不同注意力函数对句子对交互对齐的影响,我们在下图中展示了三种注意力的权重分布:
首先,在图(a)中,点积注意力能够关注句子对中的相同单词和语义相关单词,但它受到句子对中相同单词的强烈影响。
其次,在图(b)中,可以观察到差值注意力明确关注“软件”和“硬件”之间的差异,并且其注意力权重在所有单词对中是最大的。
在图(c)中,组合注意力的注意力权重既关注相同的单词也关注不同的单词,这表明组合注意力既能关注句子对的相同部分,也能捕捉不同的部分,这种机制能够同时捕捉句子对的相似性和差异性。
结论
本文提出了一种基于Transformer模型的语义句子匹配组合注意力网络,命名为Comateformer。
该模型成功地捕捉了单词对中包含的不同信息,并将其集成到已经预训练的模型中。
Comateformer的核心在于其双亲和力模块和组合注意力机制,它们共同捕捉句子对之间的细微相似性和差异性。
通过定性的案例研究和注意力分布分析,我们深入了解了Comateformer的工作原理,揭示了其能够自适应地关注句子对的相关方面以增强语义理解的能力。
我们在10个公开数据集以及一个鲁棒性数据集上的实验结果表明,各项指标的持续改进,尤其是鲁棒性测试中的显著增益,充分证明了我们的方法的有效性。