论文笔记--On the Sentence Embeddings from Pre-trained Language Models

文章探讨了BERT模型在语义相似度任务上的不足,主要是由于各向异性问题导致的。为解决此问题,提出了BERT-flow,一种基于高斯潜变換的模型,能将BERT嵌入映射到标准高斯空间,提高语义相似度任务的表现。BERT-flow在STS任务上超越了现有SOTA方法。
摘要由CSDN通过智能技术生成

1. 文章简介

  • 标题:On the Sentence Embeddings from Pre-trained Language Models
  • 作者:Bohan Li, Hao Zhou, Junxian He, Mingxuan Wang, Yiming Yang, Lei Li
  • 日期:2020
  • 期刊:arxiv preprint

2. 文章概括

  近期的一些研究表明,传统的BERT模型产生的词向量空间成anisotropic(各向异性),在语义相似度任务上表现不好,甚至低于GloVe方法。为此,文章提出了BERT-flow,一种基于Gaussian latent变换的BERT系列模型,可以有效地将BERT产生的词向量空间映射到一个standard Gaussian latent space。BERT-flow在STS语义相似度任务上表现超过SOTA,且实验表明BERT-flow要优于其它已有的针对各向异性的解决方法。

3 文章重点技术

3.1 BERT模型的语义相似度能力分析

  首先简要回顾下BERT模型[1]。BERT模型采用了MLM和NSP两种目标来训练模型。所谓MLM,即Masked Language Modeling(掩码语言模型),BERT会随机的对15%的词表单词进行掩码,然后在实际训练时尝试根据被掩码单词的上下文预测这些掩码。具体公示可表示为 p ( x ‾ ∣ x ^ ) = ∑ t = 1 T m t p ( x t ∣ c t ) p(\overline{x}|\hat{x})=\sum_{t=1}^T m_tp(x_t|c_t) p(xx^)=t=1Tmtp(xtct),其中 x ^ t \hat{x}_t x^t表示被掩码的序列, x ‾ \overline{x} x表示被掩码的tokens,当 x t x_t xt被掩码时 m t = 1 m_t=1 mt=1,否则为 0 0 0,上下文 c t = x ^ c_t=\hat{x} ct=x^。公示中的条件概率 p ( x t ∣ x ^ ) p(x_t|\hat{x}) p(xtx^)可由softmax预测: p ( x ∣ x ^ ) = exp ⁡ h c T w x ∑ x ′ exp ⁡ h c T w x ′ (1) p(x|\hat{x}) = \frac {\exp h_c^T w_x}{\sum_{x'} \exp h_c^T w_{x'}}\tag{1} p(xx^)=xexphcTwxexphcTwx(1),其中 h c h_c hc时上下文的嵌入表示,由Transformer学习得到, w x w_x wx为token x x x对应的词向量。
  为了比较BERT的句向量相似度,我们可考虑 h c T h c ′ h_c^T h_{c'} hcThc。但上式中,没有显式出现 h c T h c ′ h_c^T h_{c'} hcThc,为此我们考虑 h c T w x h_c^T w_x hcTwx,即上下文和单词嵌入之间的点积。根据Yang[2],可以通过下式来近似 h c T w x h_c^T w_x hcTwx: h c T w x ≈ log ⁡ p ∗ ( x ∣ c ) + λ c = P M I ( x , c ) + log ⁡ p ( x ) + λ c h_c^T w_x\approx \log p^*(x|c) + \lambda_c = PMI(x, c) + \log p(x) + \lambda_c hcTwxlogp(xc)+λc=PMI(x,c)+logp(x)+λc,其中 P M I ( x , c ) = log ⁡ p ( x , c ) p ( x ) p ( c ) PMI(x, c) = \log \frac {p(x, c)}{p(x)p(c)} PMI(x,c)=logp(x)p(c)p(x,c)表示 x x x c c c之间的逐点互信息(Pointwise mutual information),常被用来近似单词级别的语义相似,可以视为 x , c x, c x,c同时出现的概率除以各自单独出现的概率,再取对数; log ⁡ p ( x ) \log p(x) logp(x)表示单词项; λ c \lambda_c λc表示上下文项。由此近似表达式我们可以看出,通过计算 h c T w x h_c^Tw_x hcTwx来估计语义相似度是有意义的。
  在BERT的预训练阶段,任意两个上下文 c , c ′ c, c' c,c的语义关系是可以通过它们各自和单词之间的关系来推断的。事实上,如果 c , c ′ c, c' c,c和相同的单词 w w w经常一起出现,那么它们很可能语义相似。如果 c , x c, x c,x同时出现,那么 h c , w x h_c, w_x hc,wx会比较接近,再由(1)式的正则项,我们有对其它 x ′ x' x h c , w x ′ h_c, w_x' hc,wx会远离;同理, 如果 c ′ , x ′ c', x' c,x同时出现,则 h c ′ , w x ′ h_c', w_x' hc,wx会比较接近, h c ′ , w x h_c', w_x hc,wx会远离。故而我们得到 h c ′ , h c h_c', h_c hc,hc会远离。总结下:即对不同的单词 x , x ′ x, x' x,x,它们的上下文 h c , h c ′ h_c, h_c' hc,hc也会比较远。
  按照上述推理,上下文之间的更新会彼此影响: h c h_c hc的更新可能会影响 h c ′ h_c' hc,同理 h c ′ h_c' hc的更新可能会影响 h c ′ ′ h_c'' hc′′。也就是说,上下文嵌入之间通过某种高阶的并现关系互相影响。

3.2 Anistropic各向异性

  文章尝试解释为什么BERT在语义相似问题上的表现不好。文章主要给出以下两点观测:

  • 单词频次会使嵌入空间发生偏移:文章计算了BERT单词嵌的平均l2范数。如下表所示,单词的频次越高,平均l2范数越小。说明BERT的嵌入空间很可能被单词频次所影响,从而造成上下文嵌入可能会被单词频次信息污染。
    word freq
  • 低频的单词在嵌入空间发散:文章计算了单词嵌入与其 k k k个最近的单词嵌入之间的平均l2距离和点积,如上表所示,单词频次越低,单词和其近邻的l2距离/点积越大,说明距离越远。即频次地的单词可能会稀疏发散。这种发散性可能会造成低频次单词在高维空间中间存在"holes",而BERT如果采用avg词向量方式表示句向量时,这些"holes"会印象影响嵌入空间的凸性,从而影响句向量的表达。

3.3 BERT-flow

  针对上述anistropy,文章提出一种校准方法BERT-flow:利用一个可逆变换将BERT的嵌入空间转化为一个标准高斯潜空间(standard Gaussian latent space,SGLS)。
  SGLS可以满足各向同性(isotropic)。事实上,一个SGLS的概率密度在各个角度上都是一致的,如果我们将SGLS的样本的2范数标准化为1 ,则样本服从一个高阶单位圆的均匀分布。将嵌入空间转化为一个各向同性的空间之后,我们可以压扁嵌入空间的较大的特征值(研究表明这些较大的特征向量很可能和单词频率有关),从而降低单词频率对嵌入空间的影响。此外,SGLS不存在holes,从而可以解决在这些holes附近句向量定义不好的问题。

3.4 Flow-based model

  为了得到上述的SGLS,我们希望建立一个从latent space Z \mathcal{Z} Z(即SGLS)到观测空间 U \mathcal{U} U(即BERT嵌入空间)的可逆变换,如下图所示。具体如下: z ∼ p Z ( z ) , u = f ϕ ( z ) z\sim p_{\mathcal{Z}}(z), u = f_{\phi}(z) zpZ(z),u=fϕ(z),其中 f f f为我们要找的可逆变换。根据变量变换理论,我们有 p U ( u ) = p Z ( f ϕ − 1 ( u ) ) ∣ d e t ∂ f ϕ − 1 ( u ) ∂ u ∣ p_{\mathcal{U}}(u) = p_{\mathcal{Z}}(f_{\phi}^{-1}(u)) |det \frac{\partial f_{\phi}^{-1}(u)}{\partial u}| pU(u)=pZ(fϕ1(u))detufϕ1(u)
flow
  最终得到模型要最大化似然函数 m a x ϕ E u = B E R T ( s e n t e n c e ) , s e n t e n c e ∼ D l o g p z ( f ϕ − 1 ( u ) ) + log ⁡ ∣ d e t ∂ f ϕ − 1 ( u ) ∂ u ∣ max_{\phi} \mathbb{E}_{u=BERT(sentence), sentence \sim \mathcal{D}} log p_z(f_{\phi}^{-1}(u)) + \log |det \frac{\partial f_{\phi}^{-1}(u)}{\partial u}| maxϕEu=BERT(sentence),sentenceDlogpz(fϕ1(u))+logdetufϕ1(u),其中 D \mathcal{D} D表示句子数据集。训练过程我们只训练flow的参数,即 f ϕ − 1 f_{\phi}^{-1} fϕ1部分,将BERT的参数冻结。为了得到 f ϕ − 1 f_{\phi}^{-1} fϕ1,文章参考Dinh等人的神经网络框架,保证 f ϕ f_{\phi} fϕ是可逆的。

4. 文章亮点

  文章论证了BERT在语义相似度任务上表现较差的原因,且提出了一种可以解决BERT各向异性的方案“BERT-flow“。BERT-flow在多个STS数据集上表现超过SBERT[2]等模型,得到了一种更接近于Golden standard的嵌入空间。
  实验表明,文章提出的BERT-flow方法相比于标准正则化(计算嵌入的均值方差之后正则)和NATSV(将Top特征值消除)方法相比效果更好,成为了解决BERT各向异性问题的SOTA方案。

5. 原文传送门

On the Sentence Embeddings from Pre-trained Language Model

6. References

[1] 论文笔记–BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
[2] Breaking the Softmax Bottleneck: A High-Rank RNN Language Model
[3] 论文笔记–Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值