一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

結(jié)合句子間差異的無監(jiān)督句子嵌入對比學習方法-DiffCSE

深度學習自然語言處理 ? 來源:NLP工作站 ? 作者:劉聰NLP ? 2022-05-05 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫在前面

今天分享給大家一篇NAACL2022論文,結(jié)合句子間差異的無監(jiān)督句子嵌入對比學習方法-DiffCSE,全名《DiffCSE: Difference-based Contrastive Learning for Sentence Embeddings》。該篇論文主要是在SimCSE上進行優(yōu)化,通過ELECTRA模型的生成偽造樣本和RTD(Replaced Token Detection)任務,來學習原始句子與偽造句子之間的差異,以提高句向量表征模型的效果。

paper:https://arxiv.org/pdf/2204.10298.pdf
github:https://github.com/voidism/DiffCSE

介紹

句向量表征技術(shù)目前已經(jīng)通過對比學習獲取了很好的效果。而對比學習的宗旨就是拉近相似數(shù)據(jù),推開不相似數(shù)據(jù),有效地學習數(shù)據(jù)表征。SimCSE方法采用dropout技術(shù),對原始文本進行數(shù)據(jù)增強,構(gòu)造出正樣本,進行后續(xù)對比學習訓練,取得了較好的效果;并且在其實驗中表明”dropout masks機制來構(gòu)建正樣本,比基于同義詞或掩碼語言模型的刪除或替換等更復雜的增強效果要好得多?!啊_@一現(xiàn)象也說明,「直接增強(刪除或替換)往往改變句子本身語義」。

paper:https://aclanthology.org/2021.emnlp-main.552.pdf
github:https://github.com/princeton-nlp/SimCSE
論文解讀:https://zhuanlan.zhihu.com/p/452761704

Dangovski等人發(fā)現(xiàn),在圖像上,采用不變對比學習和可變對比學習相互結(jié)合的方法可以提高圖像表征的效果。而采用不敏感的圖像轉(zhuǎn)換(如,灰度變換)進行數(shù)據(jù)增強再對比損失來改善視覺表征學習,稱為「不變對比學習」。而「可變對比學習」,則是采用敏感的圖像轉(zhuǎn)換(如,旋轉(zhuǎn)變換)進行數(shù)據(jù)增強的對比學習。如下圖所示,做左側(cè)為不變對比學習,右側(cè)為可變對比學習。對于NLP來說,「dropout方法」進行數(shù)據(jù)增強為不敏感變化,采用「詞語刪除或替換等」方法進行數(shù)據(jù)增強為敏感變化。

0a73af38-cbbd-11ec-bce3-dac502259ad0.png

paper:https://arxiv.org/pdf/2111.00899.pdf

作者借鑒Dangovski等人在圖像上的做法,提出來「DiffCSE方法」,通過使用基于dropout masks機制的增強作為不敏感轉(zhuǎn)換學習對比學習損失和基于MLM語言模型進行詞語替換的方法作為敏感轉(zhuǎn)換學習「原始句子與編輯句子」之間的差異,共同優(yōu)化句向量表征。

模型

模型如下圖所示,

0a944d06-cbbd-11ec-bce3-dac502259ad0.png

左側(cè)為一個標準的SimCSE模型,右側(cè)為一個帶條件的句子差異預測模型。給定一個句子,SimCSE模型通過dropout機制構(gòu)造一個正例,使用BERT編碼器f,獲取句向量,SimCSE模型的訓練目標為:

其中,為訓練輸入batch大小,為余弦相似度,為溫度參數(shù).

右側(cè)實際上是ELECTRA模型,包含生成器和判別器。給定一個長度為T的句子,,生成一個隨機掩碼序列,其中。使用MLM預訓練語言模型作為生成器G,通過掩碼序列來生成句子中被掩掉的token,獲取生成序列。然后使用判別器D進行替換token檢測,也就是預測哪些token是被替換的。其訓練目標為:

針對一個batch的訓練目標為。

最終將兩個loss通過動態(tài)權(quán)重將其結(jié)合,

為了使判別器D的損失可以傳播的編碼器f中,將句向量拼接到判別器D的輸入中,輔助進行RTD任務,這樣做可以鼓勵編碼器f使信息量足夠大,從而使判別器D能夠區(qū)分和之間的微小差別。

當訓練DiffCSE模型時,固定生成器G參數(shù),只有句子編碼器f和鑒別器D得到優(yōu)化。訓練結(jié)束后,丟棄鑒別器D,只使用句子編碼器f提取句子嵌入對下游任務進行評價。

結(jié)果&分析

在句子相似度任務以及分類任務上的效果,如下表1和表2所示,相比與SimCSE模型均有提高,

0aa24fdc-cbbd-11ec-bce3-dac502259ad0.png

0ac4e8e4-cbbd-11ec-bce3-dac502259ad0.png

為了驗證DiffCSE模型具體是哪個部分有效,進行以下消融實驗。

Removing Contrastive Loss

如表3所示,當去除對比學習損失,僅采用RTD損失時,在句子相似度任務上,下降30%,在分類任務上下降2%。

0af3bdd6-cbbd-11ec-bce3-dac502259ad0.png

Next Sentence vs. Same Sentence

如表3所示,當將同句話預測任務,變成預測下句話任務時,在句子相似度任務和分類任務上,具有不同程度的下降。

Other Conditional Pretraining Tasks

DiffCSE模型采用MLM模型和LM模型分別作為生成器時,效果如表3所示,在句子相似度任務和分類任務上,具有不同程度的下降。句子相似度任務上下降的較為明顯。

Augmentation Methods: Insert/Delete/Replace

將MLM模型生成偽造句換成隨機插入、隨機刪除或隨機替換的效果,如表示所4,MLM模型的效果綜合來說較為優(yōu)秀。

0b2021e6-cbbd-11ec-bce3-dac502259ad0.png

Pooler Choice

在SimCSE模型中,采用pooler層(一個帶有tanh激活函數(shù)的全連接層)作為句子向量輸出。該論文實驗發(fā)現(xiàn),采用帶有BN的兩層pooler效果更為突出,如表5所示;并發(fā)現(xiàn),BN在SimCSE模型上依然有效。

0b423128-cbbd-11ec-bce3-dac502259ad0.png

代碼如下:

classProjectionMLP(nn.Module):
def__init__(self,config):
super().__init__()
in_dim=config.hidden_size
hidden_dim=config.hidden_size*2
out_dim=config.hidden_size
affine=False
list_layers=[nn.Linear(in_dim,hidden_dim,bias=False),
nn.BatchNorm1d(hidden_dim),
nn.ReLU(inplace=True)]
list_layers+=[nn.Linear(hidden_dim,out_dim,bias=False),
nn.BatchNorm1d(out_dim,affine=affine)]
self.net=nn.Sequential(*list_layers)

defforward(self,x):
returnself.net(x)

Size of the Generator

在DiffCSE模型中,嘗試了不同大小的生成器G,如下表所示,DistilBERTbase模型效果最優(yōu)。并且發(fā)現(xiàn)與原始ELECTRA模型的結(jié)論不太一致。原始ELECTRA認為生成器的大小在判別器的1/4到1/2之間效果是最好的,過強的生成器會增大判別器的難度。而DiffCSE模型由于融入了句向量,導致判別器更容易判別出token是否被替換,所以生成器的生成能力需要適當提高。

0b4ebb78-cbbd-11ec-bce3-dac502259ad0.png

Masking Ratio

對于掩碼概率,經(jīng)實驗發(fā)現(xiàn),在掩碼概率為30%時,模型效果最優(yōu)。

0b5df624-cbbd-11ec-bce3-dac502259ad0.png

Coefficient λ

針對兩個損失之間的權(quán)重值,經(jīng)實驗發(fā)現(xiàn),對比學習損失為RTD損失200倍時,模型效果最優(yōu)。

0b710796-cbbd-11ec-bce3-dac502259ad0.png

總結(jié)

個人覺得這篇論文的主要思路還是通過加入其他任務,來增強句向量表征任務,整體來說挺好的。但是該方法如何使用到監(jiān)督學習數(shù)據(jù)上,值得思考,歡迎留言討論。

審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7256

    瀏覽量

    91886
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    322

    瀏覽量

    21901
  • 向量
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    11896

原文標題:DiffCSE:結(jié)合句子間差異的無監(jiān)督句子嵌入對比學習方法

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    英語單詞學習頁面+單詞朗讀實現(xiàn) -- 【1】頁面實現(xiàn) ##HarmonyOS SDK AI##

    ?先看一下頁面效果 ? 整體頁面是一個比較簡潔的頁面,其中有兩個特色功能 對于例句中,能夠?qū)崿F(xiàn)將當前的單詞從句子中進行識別并突出顯示 對于單詞和句子,可以進行朗讀,這個朗讀使用的是Core
    發(fā)表于 06-29 23:24

    機器學習異常檢測實戰(zhàn):用Isolation Forest快速構(gòu)建標簽異常檢測系統(tǒng)

    本文轉(zhuǎn)自:DeepHubIMBA監(jiān)督異常檢測作為機器學習領域的重要分支,專門用于在缺乏標記數(shù)據(jù)的環(huán)境中識別異常事件。本文深入探討異常檢測技術(shù)的理論基礎與實踐應用,通過IsolationForest
    的頭像 發(fā)表于 06-24 11:40 ?639次閱讀
    機器<b class='flag-5'>學習</b>異常檢測實戰(zhàn):用Isolation Forest快速構(gòu)建<b class='flag-5'>無</b>標簽異常檢測系統(tǒng)

    第一章 W55MH32 高性能以太網(wǎng)單片機的學習方法概述

    本章介紹W55MH32的學習方法,建議先了解硬件資源,按基礎篇、入門篇循序漸進學習。參考兩份手冊,提供例程資料,還給出官網(wǎng)、github 等學習資料查找渠道。讓我們一起踏上W55MH32高性能以太網(wǎng)單片機的
    的頭像 發(fā)表于 05-26 09:07 ?107次閱讀
    第一章 W55MH32 高性能以太網(wǎng)單片機的<b class='flag-5'>學習方法</b>概述

    源晶振vs有源晶振:參數(shù)差異如何影響系統(tǒng)設計

    在電子系統(tǒng)設計中,晶振是至關(guān)重要的組件,為系統(tǒng)提供穩(wěn)定的時鐘信號。晶振主要分為源晶振和有源晶振兩大類,它們在參數(shù)上存在明顯差異,這些差異對系統(tǒng)設計有著不同的影響。本文將詳細對比兩者的
    的頭像 發(fā)表于 05-22 16:14 ?245次閱讀
    <b class='flag-5'>無</b>源晶振vs有源晶振:參數(shù)<b class='flag-5'>差異</b>如何影響系統(tǒng)設計

    使用MATLAB進行監(jiān)督學習

    監(jiān)督學習是一種根據(jù)未標注數(shù)據(jù)進行推斷的機器學習方法。監(jiān)督學習旨在識別數(shù)據(jù)中隱藏的模式和關(guān)系,無需任何
    的頭像 發(fā)表于 05-16 14:48 ?688次閱讀
    使用MATLAB進行<b class='flag-5'>無</b><b class='flag-5'>監(jiān)督學習</b>

    嵌入式適合自學嗎?

    學習者可能會因為缺乏專業(yè)的指導而走很多彎路。例如,在學習STM32時,可能會因為不了解正確的學習方法和順序,而花費大量時間在一些不必要的內(nèi)容上。 2)難以解決實際問題:在嵌入式開發(fā)中
    發(fā)表于 04-27 09:54

    18個常用的強化學習算法整理:從基礎方法到高級模型的理論技術(shù)與代碼實現(xiàn)

    本來轉(zhuǎn)自:DeepHubIMBA本文系統(tǒng)講解從基本強化學習方法到高級技術(shù)(如PPO、A3C、PlaNet等)的實現(xiàn)原理與編碼過程,旨在通過理論結(jié)合代碼的方式,構(gòu)建對強化學習算法的全面理解。為確保內(nèi)容
    的頭像 發(fā)表于 04-23 13:22 ?414次閱讀
    18個常用的強化<b class='flag-5'>學習</b>算法整理:從基礎<b class='flag-5'>方法</b>到高級模型的理論技術(shù)與代碼實現(xiàn)

    一種刷直流電機霍耳信號與定子繞組關(guān)系自學習方法

    的關(guān)系。提出了一種刷直流電機霍耳信號與定子繞組關(guān)系自學習方法,該方法通過不同的繞組通電組合將電機轉(zhuǎn)子依次轉(zhuǎn)到6個不同的位置并記錄對應的霍耳信號,然后得出霍耳信號與定子繞組的對應關(guān)系。所提出的
    發(fā)表于 03-25 15:15

    傳統(tǒng)機器學習方法和應用指導

    用于開發(fā)生物學數(shù)據(jù)的機器學習方法。盡管深度學習(一般指神經(jīng)網(wǎng)絡算法)是一個強大的工具,目前也非常流行,但它的應用領域仍然有限。與深度學習相比,傳統(tǒng)方法在給定問題上的開發(fā)和測試速度更快。
    的頭像 發(fā)表于 12-30 09:16 ?1191次閱讀
    傳統(tǒng)機器<b class='flag-5'>學習方法</b>和應用指導

    嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)與AI結(jié)合應用

    嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)是一個復雜的過程,涉及到硬件和軟件的緊密結(jié)合。測試是確保系統(tǒng)可靠性和性能的關(guān)鍵步驟。以下是一些常用的測試
    的頭像 發(fā)表于 12-09 10:22 ?1359次閱讀

    什么是機器學習?通過機器學習方法能解決哪些問題?

    來源:Master編程樹“機器學習”最初的研究動機是讓計算機系統(tǒng)具有人的學習能力以便實現(xiàn)人工智能。因為沒有學習能力的系統(tǒng)很難被認為是具有智能的。目前被廣泛采用的機器學習的定義是“利用經(jīng)
    的頭像 發(fā)表于 11-16 01:07 ?965次閱讀
    什么是機器<b class='flag-5'>學習</b>?通過機器<b class='flag-5'>學習方法</b>能解決哪些問題?

    時空引導下的時間序列自監(jiān)督學習框架

    【導讀】最近,香港科技大學、上海AI Lab等多個組織聯(lián)合發(fā)布了一篇時間序列監(jiān)督預訓練的文章,相比原來的TS2Vec等時間序列表示學習工作,核心在于提出了將空間信息融入到預訓練階段,即在預訓練階段
    的頭像 發(fā)表于 11-15 11:41 ?768次閱讀
    時空引導下的時間序列自<b class='flag-5'>監(jiān)督學習</b>框架

    嵌入學習建議

    對廣大渴望學習嵌入式系統(tǒng)的學子提出幾點基礎階段的學習建議: ①嵌入式系統(tǒng)軟件硬件密切相關(guān),一定要打好軟硬件基礎。其實,只要找到正確的方法,
    發(fā)表于 10-22 11:41

    【《大語言模型應用指南》閱讀體驗】+ 基礎知識學習

    收集海量的文本數(shù)據(jù)作為訓練材料。這些數(shù)據(jù)集不僅包括語法結(jié)構(gòu)的學習,還包括對語言的深層次理解,如文化背景、語境含義和情感色彩等。 自監(jiān)督學習:模型采用自監(jiān)督學習策略,在大量標簽文本數(shù)據(jù)
    發(fā)表于 08-02 11:03

    【《大語言模型應用指南》閱讀體驗】+ 基礎篇

    講解,包括偏置、權(quán)重、激活函數(shù);三要素包括網(wǎng)絡結(jié)構(gòu)、損失函數(shù)和優(yōu)化方法。章節(jié)最后總結(jié)了神經(jīng)網(wǎng)絡參數(shù)學習的關(guān)鍵步驟。 1.4章節(jié)描述了自然語言處理的相關(guān)知識點,包括什么是自然語言處理、文本的向量化和自監(jiān)督學習方法
    發(fā)表于 07-25 14:33