【论文阅读-句向量】On the sentence embeddings from Pre-trained Language Models

上一篇看了BERT的句嵌入表示在语义文本相似性上表现不行,今天来学习下它为啥不行——各向异性。

image-20220311220402016

Title: On the Sentence Embeddings from Pre-trained Language Models

From: EMNLP 2020

Link: https://aclanthology.org/2020.emnlp-main.733.pdf

Github: https://github.com/bohanli/BERT-flow

该阅读笔记首发于:https://zhuanlan.zhihu.com/p/479563606


这篇文章主要关注两个问题:

(1)为什么基于BERT的sentence embeddings在检索语义相似度上表现很差?是因为携带的语义信息太少了还是因为这些携带的语义信息没有被正确利用?

(2)如果BERT的embeddings获得了足够多的,但是难以利用的语义信息,怎么能在没有额外监督的情况下,让它更好被利用?

(一)Understanding the Sentence Embedding Space of BERT

通过BERT将句子编码成固定长度的向量,一般是两种方式:把句子中上下文embedding做平均,或者是直接取[CLS]的embedding。因为(Reimers, 2019)已经证明[CLS]的效果是最差的,所以在这篇文章里,作者直接使用了上下文embeddings平均来作为BERT的句子嵌入表示。

1. 语义相似度任务和BERT预训练的联系

先从理论上推导了下masked language model(MLM)和语义相似度任务上的联系。

语言模型(ML)以自回归的方式分解联合概率: log ⁡ p ( x 1 : T ) = ∑ t = 1 T log ⁡ p ( x t ∣ c t ) \log p(x_{1:T})=\sum_{t=1}^T\log p(x_t|c_t) logp(x1:T)=t=1Tlogp(xtct), 其中 c t = x 1 : t − 1 c_t=x_{1:t-1} ct=x1:t1

Masked语言模型是:

image-20220311213407813

(公式太难打了hhh,直接截图了)

LM和MLM都可简化为,给定上下文 c c c,对token x x x的条件概率分布进行建模,表示为:

image-20220311213626581

h c h_c hc是上下文 c c c 的embedding,一般通过深度神经网络来学习。 w x w_x wx x x x的函数,一般通过embedding lookup table进行参数化。

由此,句子 c c c c , c^{,} c,的相似度可以简化为: h c T h c , h_c^Th_{c^,} hcThc,。这个相似度无法获得具体的计算公式。

我们先考虑句子嵌入和词嵌入的点积: h c T w x h_c^Tw_x hcTwx。根据之前的研究,这个点积可以近似分解为:

image-20220311215235524

PMI这个共现统计的指标常用来近似单词级别的语义相似度。所以,粗略地说,计算句嵌入 h c h_c hc和词嵌入 w x w_x wx的点积是具有语义意义的。

基于上下文的训练方式,使 h c h_c hc h c , h_c^{,} hc,的相似性也有所提升。

所以,作者写了这么多,就是想说明BERT的预训练过程中,会引入语义相似性的,从理论上说,训练得到的词嵌入和句嵌入,应该是可以体现出语义相似度信息的。但是,事实却不是这样。

2. 各向异性嵌入空间导致的语义相似性差

各向异性(Anisotropic)是指词嵌入在向量空间中占据一个狭窄的锥。这个现象存在于BERT、GPT-2等预训练模型。在这篇论文中,作者还有两个观察:

(1)观察一:词频会使向量空间产生偏差

​ 通过计算BERT中不同词频段的词向量的L2范数,可以看到:高频词的embedding距离原点都很近,低频词则距离原点很远。
image-20220310183929646

(2)观察二:低频词分布稀疏

​ 高频词密集集中,词频词稀疏分散。这个观察结果是通过计算单词的嵌入到他们的K近邻的L2范数来实现的。表1的下半部分,高频词的平均K近邻的距离远小于低频词。由于这种稀疏性,在语义空间中,低频词周围就会有很多语义含义不明确的“洞”。那当上下文嵌入表示平均后,得到的句子嵌入可能就正好在这些语义不明确的地方。

(二)Proposed Method: BERT-flow

因此,作者提出了BERT-flow模型,把BERT嵌入空间映射到一个标准的高斯潜空间(Gaussian latent space)。这个映射是可逆的,从而保证了两个嵌入空间的互信息不会发生改变。

image-20220311203641207

为什么高斯潜空间可以解决这个问题呢?

首先标准高斯分布是满足各向同性的。如果将高斯空间中的样本的L2范数归一化为1,则样本均匀分布在一个单位球面上。而且,高斯分布的概率密度在整个空间上都被很好地定义,不会出现“洞”。

通过最大化BERT句子嵌入的边缘似然函数,以无监督的方式,学习一个基于流的生成模型。(其实这部分还不是特别理解)

(三)Experiment

1. 与原空间的embeddings进行比较

在7个语义文本相似度数据集上做了评估。

image-20220311203705669
image-20220311204113224

2. 与其他解决各向异性的嵌入校准baseline进行比较
  • Standard Normalization(SN)

    标准归一化通过计算平均值和标准差,对sentence embeddings进行归一化。有效果,但效果一般。

  • Nulling Away Top-k singular Vectors(NATSV)

    剔除前K个奇异向量。这个比SN的效果稍好。但是也存在对原空间信息的丢弃。BERT-flow则不存在信息丢失的问题。

3. 词汇相似性

编辑距离可以用来衡量一对句子间词汇的相似度。实验结果表明,金标准下,句子语义相似与否,与编辑距离的相关性并不大。而BERT获得句向量的相似度与编辑距离很相关:编辑距离越小,语义相关的可能性就越高。

image-20220311205152812

简单来说,这就意味着BERT生成的句向量,对于句子中只替换了一两词但是语义完全不同的句子是很难区分的。比如 “我喜欢这家餐厅”和“我不喜欢这家餐厅”,编辑距离很小,但语义完全相反。

image-20220311210014469

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值