Ref:
自Bert横空出世,工作中的很多业务都是基于Bert向量展开。也曾比较过Bert各层的[CLS],[TOKEN]的文本向量表达。虽然做了一系列的分析,但仍旧缺乏探索研究,一直保持着用[CLS]做下游任务的习惯。最近看了refer的文章,才知道之前做分析比较时遇到的一些小问题,其实可能不是数据的问题,而是模型的问题。
本文从Bert-Flow模型出发,探索BERT句子向量存在问题,从Flow的转换,到Bert-whitening转换,使得向量从各向异性转换到各向同性。再介绍SimCSE,从对比学习的alignment和uniformity,来探讨转换后的句子向量在相似任务上的表现。
1. 为什么用未fine-tuning的BERT提取的向量,进行相似计算效果不好?
很多paper都有提到,提取的未被fine-tuning BERT向量做语义分析,效果不怎么好,甚至不如GloVe。
笔者曾经提取过倒数第一和倒数第二层transformer,pooled_output的[CLS]向量做句子语义分析。
对比avg GloVe向量,pooled_output的向量结果最差。倒一transformer的[CLS]最好。
经过fine_tuning的BERT,取倒数第一层的[CLS]向量做语义分析,经过PCA降维到256后,语义丢失不大,但降维到128后,效果就差很多。
问题来了,为什么在做相似分析时,直接拿BERT句子向量,效果不好呢?
Bert-Flow提出了2个假设:
- BERT的句子向量缺乏语义信息;
- BERT学到的语义信息很难直接被提取到,那么该如何快捷的提取到包含语义的句子向量呢?
带着这2个问题, Bert-Flow做了具体分析。
语言模型:对序列,上下文c,需要计算:
masked 语言模型:对masked的token和masked的序列
:
,当
时,
,其他时候为0。
两种语言模型都可以表示为:
其中:
:句子embedding
:词embedding
BERT的句子相似计算可以表示为:,但是
无法直接从BERT得到。
Yang et al. (2018) 指出:
其中:
从统计角度上来说,就是共现分析。
- Higher-order Co-occurrence Statistics as Context-Context Semantic Similarity
在预训练时,两个句子的语义关系受词影响。如果句子c和c'都有词w,则2句子有相似的语义。当词w在句子c时,归一化后,句子c的embedding和词w的embdding就会不断靠近,和无关词w‘的embdding的距离就会拉远。同理,c'也是这样。从而使得和
距离拉近;同样的,具有共现词的
,也会和
距离更近。
- Anisotropic Embedding Space Induces Poor Semantic Similarity
既然1中说共现词出现的几个句子会有语义相似,那为啥实际应用时,没有fine-tuning的话,效果不好呢?
Gao et al. (2019) and Wang et al. (2020) 指出,使用maximize likelihood training(前面的的计算)的方式,产出的词向量空间是各向异性。这意味着,词向量在空间中表现为一个窄锥形(narrow cone)。表现为:
https://zhuanlan.zhihu.com/p/318061606
2.1. 高频词汇空间距离很近:不止是相似词空间距离近,高频词之间的空间距离也很近;
2.2. 低频词空间距离远且稀疏:因为这种稀疏,在向量空间,会有一些'holes',以至于语义表达不够充分。
既然发现了这种问题,那么如何解决呢?
Bert-flow
高斯分布各向同性。那就将服从高斯分布的变量z映射到bert向量u,使得u经过反函数,映射到高斯分布上。

经过转换,投影到高斯空间,使得数据变得更加平滑,具有各向同性。
如下图,原本的句子向量空间不够平滑,分布不够均匀。经过可逆的转换后,使得向量分布具有各向同性,表现为右边的圆形。

Bert-whitening
但有人提出疑问,经过Bert-flow转换后的句子相似度效果提升,可能不是因为flow好,而是它把原始向量转换成的具有各向同性,是这个各向同性的向量起的作用。
因此,提出Bert-whitening,从数学角度,取转换原始的sentence embedding,使得这个embedding的各个维度相互独立(去相关),并保持各个方向具有相同的方差。
whitening方式,有助于满足这个需求。
操作也很简洁明了:

步骤:
- line6:首先得到训练集中所有句子的向量,求平均;
- line7:计算协方差;
- line8:svd降维,到这一步就是PCA的基本思路;
- line9:求kernel,
;
- 如果要做降维处理,只需要选择
。
对新数据x的转换:
SimCSE
差不多半个月后,SimCSE提出了新的方案。
SimCSE使用了对比学习(Contrastive Learning),将同一条数据进入2次encoder,因为每次的dropout mask不同,因此得到不同的向量,从而增强正例数据。
Contrastive Learning
在一个batch中,对正例数据的loss计算,可以表示为:
目的:相似的样本距离更近,不相似的样本距离更远。
对比学习的2个特点
Wang and Isola (2020) 提出了对比学习的2个特征:
-
Alignment:可以理解为2个embedding之间的距离;
alignment
-
Uniformity:可以理解为embedding各维度分布是否是均匀的。
uniformity
如何获得正样本?
CV:裁剪,旋转,扭曲等;
NLP:同义词替换,删除不重要的词,重排序等。
文本是个离散状态,这些增强的方案,从一定程度上可能破坏语义信息,如下图:

None为使用dropout的增强方式,语义相关性最强;随机的裁剪,删除,替换都会影响语义信息。
SimCSE model

SimCSE做了2种任务,一个无监督,一个有监督的。
无监督的SimCSE
以Bert为例,在attention和FC阶段都有dropout操作,因此,本文通过同一数据,不同dropout mask得到hidden,来作为正样例。
上图左,输入到一个batch的数据,负样本为其他数据,正样本为经过2次encoder,因为dropout不同,带来的不同的hidden数据。
,z为random dropout mask

当dropout为0.1时,相关性最强。不用dropout和固定dropout为0.1,数据没有增强,效果也最差。
有监督的SimCSE
使用NLI数据集,将label为contradiction的数据视为负样本,entailment的数据视为正样本。
模型效果对比



结论
Avg Bert存在各向异性的问题,因此uniformity最大;
Bert-Flow 和Bert-whitening主要解决向量各向异性的问题,因此uniformity都比较低,但alignment都偏高;
SimCSE通过对比学习训练模型,因此在uniformity和alignment两个方向上都相对优异。
网友评论