(知乎问题)为什么Bert中的CLS在未fine tune时作为sentence embedding性能非常糟糕?
(知乎文章)文本表达进击:从Bert-flow到Bert-white、SimCSE
(苏剑林)无监督语义相似度哪家强?我们做了个比较全面的评测
一堆实验对比bert-flow,bert-whitening,sentence-bert,simbert等等,还调了各种参数对比实验结果。
还对比了几种pooling方式:
P1:把encoder的最后一层的[CLS]向量拿出来;
P2:把Pooler(BERT用来做NSP任务)对应的向量拿出来,跟P1的区别是多了个线性变换;
P3:把encoder的最后一层的所有向量取平均;
P4:把encoder的第一层与最后一层的所有向量取平均。
(苏剑林)又是Dropout两次!这次它做到了有监督任务的SOTA
对比SimCSE和R-drop
bert-flow
用一个flow模型,具体详解见苏剑林博客,但是没看懂。
(苏剑林)你可能不需要BERT-flow:一个线性变换媲美BERT-flow
bert-whitening(苏剑林)
对pooling后的向量作PCA
SimCSE(陈丹琦组)
两次dropout得到正样本,其他为负样本
(苏剑林)中文任务还是SOTA吗?我们给SimCSE补充了一些实验
在中文数据集上的实验测试,效果很好
Sentence-Bert: Siamese BERT
孪生BERT,实际两个是共享参数的,也就是同一个模型。
(刘聪NLP)Sentence-Bert论文笔记
![](https://img.haomeiwen.com/i11440646/ca093b0b5b21aedc.png)
SimBERT(苏剑林)
![](https://img.haomeiwen.com/i11440646/bf854cb718c7e637.png)
在UniLM的基础上修改,同时学习CLS向量用于判断是否相似,还学习相似句生成任务,两个loss加在一起。
网友评论