基於對比學習的文本相似度模型

問題:BERT的表示本身存在塌縮的問題。通過對BERT詞表示的觀察,會發現整體呈錐形分佈:高頻詞聚集在錐頭部,低頻詞分散在錐尾。又由於高頻詞本身是高頻的,因此會主要貢獻整個的句子表示,讓整體的相似度都很高。

解決思路:

對比學習,它是通過拉近相同樣本的距離、拉遠不同樣本的距離,來刻畫樣本本身的表示,正好可以解決BERT表示的塌縮問題。

兩種對比學習方法:

ConSERT 與 SimCSE都是基於對比學習的文本相似度模型:

 

1ConSERT 是採用多種數據增強的方式來構造正例的。主要在Embedding層使用下面幾種方法:

shuffle:更換position id的順序

token cutoff:在某個token維度把embedding置爲0

feature cutoff:在embedding矩陣中,有768個維度,把某個維度的feature置爲0

dropout:embedding層的dropout

 

2SimCSE 則是採用了 BERT 所有層中的 Dropout,將一個batch的數據兩次經過BERT(實際上是複製batch的數據再經過BERT,可以加快效率),得到不同的兩個輸出,比如輸入的樣本x再兩次經過BERT後,由於DropMask的不同,得到的輸出就是不一樣的,假設得到的輸出爲 hz 和 hz′ ,將 hz 和 hz′ 作爲一組正例, hz 和其他的作爲負例,然後用對比損失計算loss。

 

 

 

鏈接:https://zhuanlan.zhihu.com/p/378544839

鏈接:https://wmathor.com/index.php/archives/1580/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章