Sentence Bert 阅读笔记

SentenceBert结合了监督和无监督学习,提出两种架构分别用于文本分类和句子相似度计算。模型利用BERT的输出,通过不同的Pooling策略,以及三种LossFunction(分类、回归和三元组损失)进行训练。SentenceGPT在某些层面上表现与SentenceBert相当或更优。
摘要由CSDN通过智能技术生成

Sentence Bert 阅读笔记

论文

https://arxiv.org/abs/1908.10084

Supervised / Unsupervised / Semi-supervised

从训练上看,是 Supervised / Unsupervised 两种结合

Model Structure

本文提出了两个architecture,一个用于文本的分类,一个用于句子相似度的计算
在这里插入图片描述
在这里插入图片描述

这里的两个BERT,实际上可以理解成同一个BERT,在实现上,完全可以只实现一个。

Pooling层

一共有3种操作:

  1. 取CLS的输出
  2. 取所有token输出的平均
  3. 取每个维度上所有token的最大值

Loss Function

本文一共提出了三个 loss function

  1. Classification Objective Function. 拼接 u, v, 元素之间的差值 |u - v|,三者都是 1 * n 的,拼接之后成为 1*3n。再与一个可学习参数矩阵 Wt ∈ 3n*k 相乘,得到一个 1*k 的矩阵,其中 k 是类别数。再做 softmax ,得到最终的类别。再用 交叉熵损失函数 做优化。如图1。
  2. Regression Objective Function. 对 u, v 做 cosine 相似度计算,再将结果做MSE。
  3. Triplet Objective Function. 这个函数的训练是无监督的。不需要有 label 来做。其 X 是三个句子,包括锚定句子a,正例句子p,负例句子n。具体到情感分析上,可以是两个消极句子和一个积极句子,也可使两个积极句子和一个消极句子。经过 BERT 得到三个句向量,并最小化下面的函数。最小化下面的式子等同于希望 a 和 p 更接近,而离 n 更远。但是为了 a 离他们同样近的时候,还能够被优化,引入了 ε ,||*|| 是距离度量,文中采用的距离度量是欧氏距离,并且 ε 为1。
    在这里插入图片描述

拓展

Sentence GPT
在这里插入图片描述

在12层的时候,SGPT 125M 的性能和 SBERT 110M 比较接近,在24层之后,SGPT 1.3B 的性能优于 SBERT 340M 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值