SBERT论文详解

Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

Abstract
BERT在句对回归任务中表现很好,但是计算开销很大。
我们使用孪生网络对BERT做fine-tune使得句向量可以用于cos相似度计算,减少开销,保持准确。
评估后效果比SOTA较好。

Introduction
SBERT使得BERT适用于句对回归,聚类,文本信息检索。
原始BERT需要输入两个句子,句对回归开销大。
改进方法输入一个句子,使用ave或者CLS,效果差于GLoVe。
SBERT使得这类任务计算量变小,且保持BERT效果。
对比InferSent和Universal Sentence Encoder在STS效果都好。
SBERT可以适用于更多任务。

3章:SBERT
4章:STS和AFS任务上的评估
5章:SentEval评估(一种句向量评估工具)
6章:SBERT结构的实验
7章:SBERT效率对比

Related Work
BERT句对回归:输入两个句子,用SEP隔开,12层或者24层multihead attention,最后一个简单回归函数得到label。
效果成为STS上的SOTA,RoBERTa指出小规模适应性欲训练可以提升性能,XLNet性能较差。
BERT缺点是开销太大,改进方法是使用单句BERT,用ave或者CLS代替句向量,效果较差。
句向量其他方法:
skip-thought无监督
InferSent有监督,效果优于skip-thought(SNLI和MutiNLI数据集)
Universal Sentence Encoder 使用transformer和增强无监督学习
孪生DAN,孪生transformer

SBERT-Model
增加一个pooling操作,default使用MEAN,即平均
分类训练:
使用有标记数据o = softmax(Wt(u, v, |u − v|))训练分类任务
回归训练或预测:
计算cos相似度

训练细节
数据集:
SNLI,57万句对,(对抗,中立,蕴含)标记
MultiNLI,42万句对
训练:3-way softmax分类目标函数,batch为16,Adam优化器,2e-5学习率,10%线性学习率warm-up,pooling操作为MEAN

你可能感兴趣的:(#,nlp:论文)