论文笔记--Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

1. 文章简介

  • 标题:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
  • 作者:Nils Reimers, Iryna Gurevych
  • 日期:2019
  • 期刊:arxiv preprint

2. 文章导读

2.1 概括

  预训练模型已经成为当前处理NLP任务的一种新的范式,但针对文本相似度问题,传统的BERT[1]和RoBERTa[2]有效率低:BERT(RoBERTa)处理文本相似度的方法是将两个文本拼接,通过[SEP]分隔,并引入Segment embedding表示句子位置。这样的处理方法很可能会引起组合爆炸,比如10000个句子输入,要进行 ( 10000 2 ) ≈ 50 m i l l i o n \binom{10000}2\approx 50million (210000)50million次向量嵌入计算。
  一种优化方法为通过BERT计算单个句子的嵌入向量,然后计算嵌入之间的相似度。常用的方法包括采用句子中所有单词的平均嵌入或特殊token [CLS]的嵌入,但是这种方法对句子整体的表达并不好(很可能损失了一部分信息)。
  文章提出了一种基于Siamese(双塔式架构)和triplet架构的BERT训练方法,针对文本相似度分析下游任务给出了一种新的训练思路。

2.2 文章重点技术

2.2.1 池化层

  文章提出了SBERT模型,在原有的BERT/RoBERTa模型输出层后加入了一个池化层,得到输入句子的固定大小的嵌入表示。文章测试了三种池化策略:Mean, Max和CLS,发现MEAN池化的效果最好,如下表所示。
池化和目标函数

2.2.2 目标函数

  文章针对不同的数据集和下游任务,给出了三种目标函数

  • 分类目标函数:针对NLP中的分类任务,模型分别计算两个输入句子在池化层之后的嵌入,将两个句子 u , v u,v u,v结合 ∣ u − v ∣ |u-v| uv一同传入到一个线性层+softmax,得到最后的分类结果。具体公式为 o = s o f t m a x ( W t ( u , v , ∣ u − v ∣ ) ) o = softmax(W_t (u,v,|u-v|)) o=softmax(Wt(u,v,uv)),其中 u , v ∈ R n , W t ∈ R 3 n × k u, v \in\mathbb{R}^{n}, W_t \in \mathbb{R}^{3n\times k} u,vRn,WtR3n×k k k k表示分类标签的数量。分类任务的训练过程如下图所示。此外文章测试了单独拼接 ( u , v ) (u,v) (u,v)和单独使用 ∣ u − v ∣ |u-v| uv以及增加 u ∗ v u*v uv的效果,如上表所示,结果表明使用 ( u , v , ∣ u − v ∣ ) (u, v, |u-v|) (u,v,uv)的效果最好。
    分类任务
  • 回归目标函数:针对NLP中的回归任务,模型分别计算两个输入句子在池化层之后的嵌入,再计算嵌入之间的cosine相似度,最后采用MSE损失函数。回归任务的训练过程如下图所示。
    回归任务
  • Triplet 目标函数:给定锚句(anchor) a a a,正样本句子 a a a和负样本句子 n n n,模型希望让 a , p a, p a,p之间的距离尽可能小,让 a , n a, n a,n之间的距离尽可能大。从而模型最小化损失函数 max ⁡ ( ∥ s a − s p ∥ − ∥ s a − s n ∥ + ϵ , 0 ) \max(\Vert s_a-s_p\Vert - \Vert s_a-s_n\Vert +\epsilon, 0) max(saspsasn+ϵ,0),其中 s x ( x = a , p , n ) s_x(x=a,p,n) sx(x=a,p,n)表示句子 x x x的嵌入表示,文章设定 ϵ = 1 \epsilon=1 ϵ=1为超参数。

3. 文章亮点和不足

  一系列数值实验表明文章提出的SBERT在情感类文本分析中表现很好,在包括MRPC、STS等情感任务分析中均给出了新的SOTA结果。但文章提出的模型在问答类NLP任务上表现不好,比SOTA结果低了6~7个百分点。
  另一方面,在10折交叉验证中,SBERT达到SOTA,但在跨主题预测时,SBERT的表现较BERT低几个百分点。原因可能在于SBERT是将两个句子分别输入模型,而BERT则同时考虑两个句子的attention。
  总结来看,SBERT在包括文本相似问题的文本对分析任务上有着超越BERT的精度和远高于BERT的效率,是当前处理文本相似问题的一种主流框架。

4. 原文传送门

Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
代码:sentence-transformers

5. References

[1] 论文笔记–BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
[2] 论文笔记–RoBERTa: A Robustly Optimized BERT Pretraining Approach

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值