Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

Abstract & Introduction & Related Work

  • 研究任务
    • sentence embedding
  • 已有方法和相关工作
    • InferSent
    • Universal Sentence Encoder
    • Skip-Thought
  • 面临挑战
    • BERT在文本语义相似度上达到了sota,然而,它需要将两个句子都送入网络,这导致了大量的计算开销。在10,000个句子的集合中找到最相似的一对,需要用BERT进行大约5千万次推理计算(约65小时)。BERT的构造使其不适合于语义相似性搜索以及无监督的任务,如聚类
  • 创新思路
    • 使用连体和三连体网络结构,得出有语义的句子嵌入,可以使用余弦相似度进行比较。
      这将寻找最相似对的代价从BERT/RoBERTa的65小时减少到SBERT的约5秒,同时保持BERT的准确性
    • 之前的神经句嵌入模型都是从零开始训练,而我们在BERT/RoBERTa上面fine-tune,甚至可以少于20分钟
  • 实验结论
    • sota

Model

Sentence-BERT在BERT和RoBERTa的输出层加了一个pooling层,以获得一个固定大小的句子嵌入

我们试验了三种集合策略:

  1. 使用CLS-token的输出
  2. 计算所有输出向量的平均值(MEANstrategy)
  3. 以及计算输出向量的max-over-time(MAX-strategy)

默认配置是MEAN

为了微调BERT / RoBERTa,我们创建了连体和三连体网络(Schroff等人,2015),以更新权重,使产生的句子嵌入具有语义,并可以与余弦相似性进行比较

Classification Objective Function

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第1张图片
先pooling,然后相减的绝对值再concat到一起,送到softmax分离器里面
Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第2张图片

Regression Objective Function

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第3张图片
两个句向量的余弦相似度:
Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第4张图片

Triplet Objective Function

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第5张图片
给定一个锚定句子a,一个正样例句子p,和一个负样例句子n,三段式损失调整网络,使a和p之间的距离小于a和n之间的距离
Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第6张图片

Training Details

我们用3个软分类器的目标函数对SBERT进行了微调,用于一个epoch。我们使用了16个批次,Adam优化器的学习率为 2 e − 5 2e-5 2e5,在10%的训练数据上进行线性学习率预热。我们默认的汇聚策略是MEAN

Evaluation - Semantic Textual Similarity

Unsupervised STS

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第7张图片

Supervised STS

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第8张图片

Argument Facet Similarity

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第9张图片

Wikipedia Sections Distinction

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第10张图片

Evaluation - SentEval

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第11张图片

Ablation Study

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第12张图片

Computational Efficiency

Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks_第13张图片

Conclusion

我们表明,BERT开箱即用,将句子映射到一个向量空间,而这个向量空间相当不适合与余弦相似性等常见的相似性措施一起使用。七个STS任务的性能低于GloVe平均嵌入的性能。

为了克服这一缺陷,我们提出了Sentence-BERT(SBERT)。SBERT在一个连体/三连体网络结构中对BERT进行了微调。我们在各种常见的基准上评估了其质量,在那里它可以实现比最先进的句子嵌入方法的显著改善。在我们的实验中,用RoBERTa代替BERT并没有产生明显的改善。

SBERT在计算上是高效的。在GPU上,它比InferSent快约9%,比Universal Sentence Encoder快约55%。SBERT可以用于那些用BERT建模在计算上不可行的任务。例如,用分层聚类法对10,000个句子进行聚类,用BERT需要大约65个小时,因为必须计算大约5000万个句子组合。使用SBERT,我们能够将这一工作减少到大约5秒

Remark

看到这个65小时到5秒钟我就人傻了,46800倍的效率???还outperform??

不愧是best paper,大道至简,牛逼!!

你可能感兴趣的:(NLP,读paper,bert,自然语言处理,深度学习,人工智能,机器学习)