雖然BERT等語言模型有很大的成果,但在對句子表征方面(sentence embeddings)上表現依然不佳,因為BERT存在 sentence bias 、 anisotropy 問題;
我們發現prompt,再給定不同的template時可以生成不同方面的positive pair,且避免embedding bias。
相關工作
Contrastive Learning(對比學習) 可以利用BERT更好地學習句子表征。其重點在于如何尋找正負樣本。例如,使用inner dropout方法構建正樣本。
現有的研究表明,BERT的句向量存在一個 坍縮現象 ,也就是句向量受到高頻詞的影響,進而坍縮在一個凸錐,也就是各向異性,這個性質導致度量句子相似性的時候存在一定的問題,這也就是 anisotropy 問題。
發現
(1)Original BERT layers fail to improve the performance.
對比兩種不同的sentence embedding方法:
對BERT的輸入input embedding進行平均;
對BERT的輸出(last layer)進行平均
評價兩種sentence embedding的效果,采用sentence level anisotropy評價指標:
anisotropy :將corpus里面的sentence,兩兩計算余弦相似度,求平均。
對比了不同的語言模型,預實驗如下所示:
從上表可以看出,貌似anisotropy對應的spearman系數比較低,說明相關性不大。比如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在表征句子時出現上述提到的問題,本文提出使用Prompt來捕捉句子表征。但不同于先前prompt的應用(分類或生成),我們并不是獲得句子的標簽,而是獲得句子的向量,因此關于prompt-based sentence embedding,需要考慮兩個問題:
如何使用prompt表征一個句子;
如何尋找恰當的prompt;
本文提出一種基于prompt和對比學習的句子表征學習模型。
3.1 如何使用prompt表征一個句子
本文設計一個template,例如“[X] means [MASK]”,[X] 表示一個placehoder,對應一個句子,[MASK]則表示待預測的token。給定一個句子,并轉換為prompt后喂入BERT中。有兩種方法獲得該句子embedding:
方法一:直接使用[MASK]對應的隱狀態向量:;
方法二:使用MLM在[MASK]位置預測topK個詞,根據每個詞預測的概率,對每個詞的word embedding進行加權求和來表示該句子:
方法二將句子使用若干個MLM生成的token來表示,依然存在bias,因此本文只采用第一種方法
3.2 如何尋找恰當的prompt
關于prompt設計上,可以采用如下三種方法:
manual design:顯式設計離散的template;
使用T5模型生成;
OptiPrompt:將離散的template轉換為continuous template;
3.3 訓練
采用對比學習方法,對比學習中關于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本身對句子產生語義上的偏向。作者采用一種trick:
喂入含有template的句子,獲得[MASK]對應的embedding ;
只喂入template本身,且template的token的position id保留其在原始輸入的位置,此時獲得[MASK]對應的embeding:
最后套入對比學習loss中進行訓練:
四、實驗
作者在多個文本相似度任務上進行了測試,實驗結果如圖所示:
驚奇的發現,PromptBERT某些時候竟然比SimCSE高,作者也提出使用對比學習,也許是基于SimCSE之上精細微調后的結果。
審核編輯:劉清
-
語言模型
+關注
關注
0文章
538瀏覽量
10342
原文標題:Prompt+對比學習,更好地學習句子表征
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
一種改進的句子相似度計算模型
一種新的目標分類特征深度學習模型
![<b class='flag-5'>一種</b>新的目標分類特征深度<b class='flag-5'>學習</b><b class='flag-5'>模型</b>](https://file.elecfans.com/web1/M00/4B/70/o4YBAFqw1g2ALCgUAACLywIqD40710.jpg)
深度學習模型介紹,Attention機制和其它改進
![深度<b class='flag-5'>學習</b><b class='flag-5'>模型</b>介紹,Attention機制和其它改進](https://file.elecfans.com/web1/M00/4C/26/pIYBAFqzXtGAaG5vAAAYJlSFUNM831.png)
語義表征的無監督對比學習:一個新理論框架
![語義<b class='flag-5'>表征</b>的無監督<b class='flag-5'>對比</b><b class='flag-5'>學習</b>:<b class='flag-5'>一</b>個新理論框架](https://file.elecfans.com/web1/M00/8D/DB/pIYBAFyl0Y6ATa6tAAARdddcVT0432.png)
一種新型的AI模型可以提升學生的學習能力
一種注意力增強的自然語言推理模型aESIM
![<b class='flag-5'>一種</b>注意力增強的自然語言推理<b class='flag-5'>模型</b>aESIM](https://file.elecfans.com/web1/M00/E7/29/pIYBAGBcBZqAWCsWAAMYSmbsRP0872.png)
一種基于間隔準則的多標記學習算法
一種可分享數據和機器學習模型的區塊鏈
![<b class='flag-5'>一種</b>可分享數據和機器<b class='flag-5'>學習</b><b class='flag-5'>模型</b>的區塊鏈](https://file.elecfans.com/web1/M00/EA/FA/pIYBAGB2o-uAY8lQAAIniDGhejs539.png)
評論