文:涅生
編:兔子醬源:夕小瑤的賣萌屋
你有嘗試從 BERT 提取編碼后的 sentence embedding 嗎?很多小伙伴的第一反應(yīng)是:不就是直接取頂層的[CLS] token的embedding作為句子表示嘛,難道還有其他套路不成?
nono,你知道這樣得到的句子表示捕捉到的語義信息其實(shí)很弱嗎?今天向大家介紹一篇來自于 CMU 和字節(jié)跳動(dòng)合作,發(fā)表在 EMNLP2020 的 paper, 詳盡地分析了從預(yù)訓(xùn)練模型得到 sentence embedding 的常規(guī)方式的缺陷和最佳打開方式,是一篇非常實(shí)用、輕松幫助大家用BERT刷分的文章。論文質(zhì)量蠻高,分析和發(fā)現(xiàn)很有趣,通讀之后感覺收獲多多。
論文題目:
On the Sentence Embeddings from Pre-trained Language Models
論文鏈接:
https://arxiv.org/pdf/2011.05864.pdf
Github:
https://github.com/bohanli/BERT-flow
自2018年BERT驚艷眾人之后,基于預(yù)訓(xùn)練模型對(duì)下游任務(wù)進(jìn)行微調(diào)已成為煉丹的標(biāo)配。然而近兩年的研究卻發(fā)現(xiàn),沒有經(jīng)過微調(diào),直接由BERT得到的句子表示在語義文本相似性方面明顯薄弱,甚至?xí)跤贕loVe得到的表示。此篇論文中首先從理論上探索了masked language model 跟語義相似性任務(wù)上的聯(lián)系,并通過實(shí)驗(yàn)分析了BERT的句子表示,最后提出了BERT-Flow來解決上述問題。
由于Reimers等人之前已實(shí)驗(yàn)證明 context embeddings 取平均要優(yōu)于[CLS] token的embedding。因而在文章中,作者都以最后幾層文本嵌入向量的平均值來作為BERT句子的表示向量。
為了探究上述問題,作者首先將語言模型(LM)與掩蓋語言模型(MLM) 統(tǒng)一為: 給定context(c)預(yù)測(cè)得到 token(x) 的概率分布,即
這里 是context的embedding, 表示 的word embedding。進(jìn)一步,由于將 embedding 正則化到單位超球面時(shí),兩個(gè)向量的點(diǎn)積等價(jià)于它們的cosine 相似度,我們便可以將BERT句子表示的相似度簡化為文本表示的相似度,即 。
另外,考慮到在訓(xùn)練中,當(dāng) c 與 w 同時(shí)出現(xiàn)時(shí),它們對(duì)應(yīng)的向量表示也會(huì)更接近。換句話說,context-context 的相似度可以通過 context-words 之間的相似度推出或加強(qiáng)。
Jun Gao, Lingxiao Wang 等人在近幾年的ICLR paper中有提到語言模型中最大似然目標(biāo)的訓(xùn)練會(huì)產(chǎn)生各向異性的詞向量空間,即向量各個(gè)方向分布并不均勻,并且在向量空間中占據(jù)了一個(gè)狹窄的圓錐體,如下圖所示~
這種情況同樣也存在于預(yù)訓(xùn)練好的基于Transformer的模型中,比如BERT,GPT-2。而在這篇paper中,作者通過實(shí)驗(yàn)得到以下兩個(gè)發(fā)現(xiàn):
詞頻率影響詞向量空間的分布:文中通過度量BERT詞向量表示與原點(diǎn) l_2 距離的均值得到以下的圖表。我們可以看到高頻的詞更接近原點(diǎn)。由于word embedding在訓(xùn)練過程中起到連接文本embedding的作用,我們所需的句子表示向量可能會(huì)相應(yīng)地被單詞頻率信息誤導(dǎo),且其保留的語義信息可能會(huì)被破壞。
低頻詞分布偏向稀疏:文中度量了詞向量空間中與K近鄰單詞的 l_2 距離的均值。我們可以看到高頻詞分布更集中,而低頻詞分布則偏向稀疏。然而稀疏性的分布會(huì)導(dǎo)致表示空間中存在很多“洞”,這些洞會(huì)破壞向量空間的“凸性”。考慮到BERT句子向量的產(chǎn)生保留了凸性,因而直接使用其句子embeddings會(huì)存在問題。
那么,如何無監(jiān)督情況下充分利用BERT表示中的語義信息?為了解決上述存在的問題,作者提出了一種將BERT embedding空間映射到一個(gè)標(biāo)準(zhǔn)高斯隱空間的方法(如下圖所示),并稱之為“BERT-flow”。而選擇 Gaussian 空間的動(dòng)機(jī)也是因?yàn)槠渥陨淼奶攸c(diǎn):
上圖中 表示隱空間, 表示觀測(cè)到的空間,f: 是可逆的變換。根據(jù)概率密度函數(shù)中變量替換的定理,我們可以得到觀測(cè)變量的概率密度函數(shù)如下:
進(jìn)一步,作者通過最大化BERT句子表示的邊緣似然函數(shù)來學(xué)習(xí)基于流的生成模型,即通過如下的公式來訓(xùn)練flow的參數(shù):
其中 表示數(shù)據(jù)集分布, 為神經(jīng)網(wǎng)絡(luò)。需要注意的是,在訓(xùn)練中,不需要任何人工標(biāo)注! 另外,BERT的參數(shù)保持不變,僅有流的參數(shù)進(jìn)行優(yōu)化更新。其次,在實(shí)驗(yàn)中,作者基于Glow (Dinh et al., 2015)的設(shè)計(jì)(多個(gè)可逆變換組合)進(jìn)行改動(dòng),比如將仿射耦合(affine coupling)替換為了加法耦合(additive coupling)。
論文的實(shí)驗(yàn)部分在7個(gè)數(shù)據(jù)集上進(jìn)行衡量語義文本相似性任務(wù)的效果。
實(shí)驗(yàn)步驟:
實(shí)驗(yàn)結(jié)果:
上圖匯報(bào)了sentence embeddings的余弦相似度同多個(gè)數(shù)據(jù)集上真實(shí)標(biāo)簽之間的Spearman等級(jí)相關(guān)性得分(),其中flow-target 表示在完整的目標(biāo)數(shù)據(jù)集(train+validation+test)上進(jìn)行學(xué)習(xí),flow-NLI 表示模型在NLI(natual language inference)任務(wù)的測(cè)試,綠色箭頭表示相對(duì)于BERT的baseline,模型的效果有提升,紅色反之。
我們可以注意到模型的改進(jìn)對(duì)于效果的提升還是很顯著滴!文章同樣還在無監(jiān)督問答任務(wù)證明模型的有效性,并將BERT-flow得到的語義相似度同詞法相似度(通過編輯距離來衡量)進(jìn)行對(duì)比,結(jié)果同樣證明模型在引入流的可逆映射后減弱了語義相似性與詞法相似性之間的聯(lián)系!具體信息大家可查閱paper~
總之,這篇paper探究了BERT句子表示對(duì)于語義相似性上潛在的問題,并提出了基于流的可逆映射來改進(jìn)在對(duì)應(yīng)任務(wù)上的表現(xiàn)。想多了解的童鞋可以看看原文,相信你們也會(huì)喜歡上這篇paper!
本星球主要用于每天發(fā)布論文解讀、NLP技巧、學(xué)術(shù)研究、NLP面試經(jīng)驗(yàn)以及NLP入門等。
[1] Nils Reimers and Iryna Gurevych. 2019. SentenceBERT: Sentence embeddings using siamese BERTnetworks. In Proceedings of EMNLP-IJCNLP.
[2] Ivan Kobyzev, Simon Prince, and Marcus A Brubaker. 2019. Normalizing ?ows: Introduction and ideas. arXiv preprint arXiv:1908.09257.
[3] Durk P Kingma and Prafulla Dhariwal. 2018. Glow: Generative ?ow with invertible 1x1 convolutions. In Proceedings of NeurIPS.
[4] Li, Bohan, et al. 'On the Sentence Embeddings from Pre-trained Language Models.' arXiv preprint arXiv:2011.05864 (2020).
聯(lián)系客服