【BERT系列】SBERT的分析

读SBERT论文的一些报告
1

其次,在计算上,有与BERT是做NSP任务上是两个句子投入到BERT里面算,那么总共需要计算次数就是n*(n-1)/2次,1w的句子需要49995000次运算,作者用V100GPU上花了65h。原文是这样描述:
2
而作者在文章中夹带用SBERT计算1w个句子向量只需要5s,然后就散cosine相似度约0.01秒,原文描述如下:

在这里插入图片描述

从bert和Sbert结构上看
原生bert的计算句子向量结构图:
4

而SBERT分开两个网络,彼此独立计算句子向量,也就是它的复杂度是O((lenA)2 +(lenB)2),计算完后句子向量,可以直接计算cosine相似度。
而这种结构就是使用孪生的网络,下图两个bert网络共享权重,即这两个编码器都是一样的。
关于孪生网络和sentence bert这个介绍,老师您可以看看这个知乎解释(https://zhuanlan.zhihu.com/p/346782812),里面介绍了孪生网络做文本匹配以及SBERT的说明,有点意思。
下面是关于文章作者借鉴孪生网络实现的SBERT模型:
5

作者这里用到spearman rank correlation(斯皮尔曼相关系数),将计算句子相似度划分0-5个等级。0表示完全不同,5表示完全等价

作者实验出来的结果对比图:

句子相似度任务上得到的结果:
6

文本匹配得到的结果:
7

另外知乎上有些帖子说明SBERT为什么比较BERT快以及SBERT的不足,我觉得挺有道理的,自己还没发现这些:
8
9

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值