查看原文
其他

SIGIR2021之DvBERT模型:双视图蒸馏的句向量BERT模型

刘聪NLP NLP工作站 2023-11-28

往期推荐

SIGIR2021之IDCM模型: 文档内部级联选择段落服务于文档排序

SIGIR 2021论文筛选

小布助手对话短文本语义匹配-周星星分享

Unilm对话生成之夸夸式闲聊机器人

中文摘要数据集汇总

超详细中文注释的GPT2新闻标题生成项目


本次分享的论文DvBERT来自于SIGIR 2021会议,论文全名为Dual-View Distilled BERT for Sentence Embedding,即双视图蒸馏的句向量BERT模型

论文地址:https://arxiv.org/abs/2104.08675

DvBERT模型是其实是对Sentence-BERT模型的优化改进。Sentence-BERT模型的网络结构解决了传统bert模型交互式计算句子间相似度的时间复杂度过高的问题。

由于bert模型规定,在计算语义相似度时,需要将两个句子同时进入模型,进行信息交互,这造成大量的计算开销。例如,有10000个句子,我们想要找出最相似的句子对,需要计算(10000*9999/2)次,需要大约65个小时。
Sentence-Bert模型借鉴孪生网络模型的框架,将不同的句子输入到两个bert模型中(但这两个bert模型是参数共享的,也可以理解为是同一个bert模型),获取到每个句子的句子表征向量;而最终获得的句子表征向量,可以用于语义相似度计算。对于同样的10000个句子,我们想要找出最相似的句子对,只需要计算10000次,需要大约5秒就可计算完全。

但是,Sentence-BERT模型的效果,依然要比传统BERT模型的效果低。通常认为孪生网络结构忽略了两个句子之间词级别的交互特征,因此在捕获句子间全局语义信息的能力较弱,但词级交互特征对于预测句子间匹配程度起着重要的作用。

为了保持与Sentence-BERT模型具有相同的执行效率,又想将词级别的交互特征整合到句子向量中,作者提出了一种双视图蒸馏的句向量BERT模型(DvBERT模型)

双视图具体如下:

(1)孪生视图(Siamese View):以孪生BERT-Networks作为主干,将两个句子分别通过同一个BERT模型,然后计算两个固定大小的句向量之间的距离,从而有效地捕获句子间的语义相似度。

(2)交互视图(Interaction View):使用多个标准的带句子信息交互的预训练语言模型作为教师模型(teacher model),生成孪生BERT-Networks训练所需的训练集标签,即知识蒸馏的思想,旨在使用多任务知识蒸馏优化两个异构网络的sentence embedding表示。

此外,在蒸馏过程中对比了loss weighting策略和教师退火策略,发现后者的效果更好。下面对DvBERT模型网络进行详细介绍。

Dual View Distilled BERT

Siamese BERT-Networks

对于给定的数据集  ,孪生BERT-Networks的目标是通过计算句向量之间相似度度量,来预测句子之间的真实标签  。

对于任何一个句子对,孪生BERT-Networks分别将两个句子转换为句子嵌入,然后使用池化等方法将两个句子嵌入合并成两个句子向量u和v。Sentence-BERT论文已经在多种数据集中比较了不同的池化策略,结果表明,mean-pooling策略明显优于max-pooling策略和cls向量策略。因此,mean-pooling策略为Siamese BERT-Networks的默认配置。

对于分类任务,如NLI,将u、v和|u-v|连接起来,然后是一个全连接层将其映射到一个固定的概率分布中,如下:

  

其中,θ表示所有的可学习参数;BERT模型是参数共享的;  是全连接层的参数;d为句向量的维度。

Cross Sentence Interaction

使用多种不同的预训练语言模型作为教师模型,指导Siamese BERT-Networks学习,通过引入句子之间的词交互信息,以丰富词级别的交互特征。

每个教师模型首先用标签数据进行训练,然后针对训练集生成新的标签,加入训练集供学生模型使用。

具体如图1所示,将句子对Q和T进行连接,生成文本序列  ,并使用模型输出的[CLS]向量作为判断句子间关联关系的基础。

设  是第k个预训练模型的[CLS]标记,它通过一个全连接层后,使用softmax层进行分类,如下:

  

其中,  和  是模型的参数。孪生BERT-Networks模型既学习硬目标(hard targets),也向教师模型学习软目标(soft targets)。

假设  和  通过交叉熵损失进行优化,DvBERT模型训练孪生BERT-Networks需要最小化:

  

其中,D为概率分布之间的距离函数,这里为KL散度;K为教师模型个数。注意:由于早期的共享实验并没有改善结果,因此两种视图下的BERT参数没有共享。

Teacher Annealing

DvBERT模型利用教师退火策略进行模型的蒸馏训练,该策略在训练期间将教师预测的标签与金标准标签混合。随着训练的推进,教师退火,逐步减少软目标的权重,使学生模型从学习教师模型转向学习硬目标。这种策略既能保证学生模型在训练初期就可以学习到丰富的训练信号,又不局限于仅仅模仿教师模型。

Teacher Annealing论文见:BAM! Born-Again Multi-Task Networks for Natural Language Understanding

孪生BERT-Networks模型和其他K个BERT模型的目标函数,如下:

  

其中,λ从0到1线性增加。一开始,λ=0时,意味着模型完全基于教师的软目标进行训练。随着模型的逐渐收敛,模型更多地学习硬目标。

EXPERIMENTS

模型训练的batch size为16,模型的所有层的dropout rate均为0.1,使用Amda优化器进行模型训练,初始学习率为2e-5,并以1的速度进行衰减,warm-up百分之10。模型训练4个epoch。并且两个不同的教师模型为标准的BERT模型和RoBERTa模型。

RESULTS

通过表1和表2,我们可以看出,双视图方法在很大程度上影响了两个预训练模型的性能,平均提高0.56%-1.9%。

通过下图可以看出,当教师模型越大时,DvBERT模型可以获得了更多的效益。值得注意的是,DvRoBERTa模型在训练前期的表现相对较差,主要是由于学生模型前期向教师模型学习时,软目标影响较大。

通过下图可以看出,教师退火策略比损失加权策略的效果要更好。

总结

DvBERT模型是其实就是对Sentence-BERT论文的改进,通过蒸馏学习,来指导孪生BERT-Networks模型的训练,从而学到词级别的交互特征。

喜欢的的同学们,记得点赞,关注,转发哟!!!


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存