雖然BERT等語言模型有很大的成果,但在對句子表征方面(sentence embeddings)上表現(xiàn)依然不佳,因為BERT存在 sentence bias 、 anisotropy 問題;
我們發(fā)現(xiàn)prompt,再給定不同的template時可以生成不同方面的positive pair,且避免embedding bias。
相關(guān)工作
Contrastive Learning(對比學(xué)習(xí)) 可以利用BERT更好地學(xué)習(xí)句子表征。其重點(diǎn)在于如何尋找正負(fù)樣本。例如,使用inner dropout方法構(gòu)建正樣本。
現(xiàn)有的研究表明,BERT的句向量存在一個 坍縮現(xiàn)象 ,也就是句向量受到高頻詞的影響,進(jìn)而坍縮在一個凸錐,也就是各向異性,這個性質(zhì)導(dǎo)致度量句子相似性的時候存在一定的問題,這也就是 anisotropy 問題。
發(fā)現(xiàn)
(1)Original BERT layers fail to improve the performance.
對比兩種不同的sentence embedding方法:
對BERT的輸入input embedding進(jìn)行平均;
對BERT的輸出(last layer)進(jìn)行平均
評價兩種sentence embedding的效果,采用sentence level anisotropy評價指標(biāo):
anisotropy :將corpus里面的sentence,兩兩計算余弦相似度,求平均。
對比了不同的語言模型,預(yù)實驗如下所示:

從上表可以看出,貌似anisotropy對應(yīng)的spearman系數(shù)比較低,說明相關(guān)性不大。比如bert-base-uncased,
可以看出static token embedding的anisotropy很大,但是最終的效果也差不多。
(2)Embedding biases harms the sentence embeddings performance.
token embedding會同時受到token frequency和word piece影響

不同的語言模型的token embedding高度受到詞頻、subword的影響;
通過可視化2D圖,高頻詞通常會聚在一起,低頻詞則會分散
For frequency bias, we can observe that high fre- quency tokens are clustered, while low frequency tokens are dispersed sparsely in all models (Yan et al., 2021). The begin-of-word tokens are more vulnerable to frequency than subword tokens in BERT. However, the subword tokens are more vul- nerable in RoBERTa.
三、方法
如何避免BERT在表征句子時出現(xiàn)上述提到的問題,本文提出使用Prompt來捕捉句子表征。但不同于先前prompt的應(yīng)用(分類或生成),我們并不是獲得句子的標(biāo)簽,而是獲得句子的向量,因此關(guān)于prompt-based sentence embedding,需要考慮兩個問題:
如何使用prompt表征一個句子;
如何尋找恰當(dāng)?shù)膒rompt;
本文提出一種基于prompt和對比學(xué)習(xí)的句子表征學(xué)習(xí)模型。
3.1 如何使用prompt表征一個句子
本文設(shè)計一個template,例如“[X] means [MASK]”,[X] 表示一個placehoder,對應(yīng)一個句子,[MASK]則表示待預(yù)測的token。給定一個句子,并轉(zhuǎn)換為prompt后喂入BERT中。有兩種方法獲得該句子embedding:
方法一:直接使用[MASK]對應(yīng)的隱狀態(tài)向量:;
方法二:使用MLM在[MASK]位置預(yù)測topK個詞,根據(jù)每個詞預(yù)測的概率,對每個詞的word embedding進(jìn)行加權(quán)求和來表示該句子:
方法二將句子使用若干個MLM生成的token來表示,依然存在bias,因此本文只采用第一種方法
3.2 如何尋找恰當(dāng)?shù)膒rompt
關(guān)于prompt設(shè)計上,可以采用如下三種方法:
manual design:顯式設(shè)計離散的template;
使用T5模型生成;
OptiPrompt:將離散的template轉(zhuǎn)換為continuous template;

3.3 訓(xùn)練
采用對比學(xué)習(xí)方法,對比學(xué)習(xí)中關(guān)于positive的選擇很重要,一種方法是采用dropout。本文采用prompt方法,為同一個句子生成多種不同的template,以此可以獲得多個不同的positive embedding。
The idea is using the different templates to repre- sent the same sentence as different points of view, which helps model to produce more reasonable pos- itive pairs.
為了避免template本身對句子產(chǎn)生語義上的偏向。作者采用一種trick:
喂入含有template的句子,獲得[MASK]對應(yīng)的embedding ;
只喂入template本身,且template的token的position id保留其在原始輸入的位置,此時獲得[MASK]對應(yīng)的embeding:
最后套入對比學(xué)習(xí)loss中進(jìn)行訓(xùn)練:
四、實驗
作者在多個文本相似度任務(wù)上進(jìn)行了測試,實驗結(jié)果如圖所示:


驚奇的發(fā)現(xiàn),PromptBERT某些時候竟然比SimCSE高,作者也提出使用對比學(xué)習(xí),也許是基于SimCSE之上精細(xì)微調(diào)后的結(jié)果。
審核編輯:劉清
-
語言模型
+關(guān)注
關(guān)注
0文章
571瀏覽量
11301
原文標(biāo)題:Prompt+對比學(xué)習(xí),更好地學(xué)習(xí)句子表征
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
一種改進(jìn)的句子相似度計算模型
基于分層組合模式的句子組合模型
一種新的目標(biāo)分類特征深度學(xué)習(xí)模型
深度學(xué)習(xí)模型介紹,Attention機(jī)制和其它改進(jìn)
語義表征的無監(jiān)督對比學(xué)習(xí):一個新理論框架
一種新型的AI模型可以提升學(xué)生的學(xué)習(xí)能力
一種注意力增強(qiáng)的自然語言推理模型aESIM
一種基于間隔準(zhǔn)則的多標(biāo)記學(xué)習(xí)算法
一種可分享數(shù)據(jù)和機(jī)器學(xué)習(xí)模型的區(qū)塊鏈
一種基于排序學(xué)習(xí)的軟件眾包任務(wù)推薦方法
一種基于prompt和對比學(xué)習(xí)的句子表征學(xué)習(xí)模型
評論