日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学习对比学习

發布時間:2024/10/6 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习对比学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對比學習定義
一種無監督的圖像/文本的表示學習。

Motivation:人類往往是通過對比來學習區分事物的。模型無需學習到過于具體的細節(圖像:像素級別;文本:詞語級別),只需要學習到足以區分對象的高層次的特征。

與之前的有監督方法/無監督方法的區別:

自然語言處理領域的對比學習

NLP領域的對比學習主要是借鑒自CV,主要在data augmentation方面有所不同。

2020 年的 Moco 和 SimCLR 等,掀起了對比學習在 CV 領域的熱潮,2021 年的 SimCSE,則讓 NLP 也乘上了對比學習的東風。

如何去理解對比學習,它和度量學習的差別是什么?

對比學習的思想是去拉近相似的樣本,推開不相似的樣本,而目標是要從樣本中學習到一個好的語義表示空間。
度量學習和對比學習的思想是一樣的,都是去拉近相似的樣本,推開不相似的樣本。但是對比學習是無監督或者自監督學習方法,而度量學習一般為有監督學習方法。而且對比學習在 loss 設計時,為單正例多負例的形式,因為是無監督,數據是充足的,也就可以找到無窮的負例,但如何構造有效正例才是重點。

對比學習中一般選擇一個 batch 中的所有其他樣本作為負例,那如果負例中有很相似的樣本怎么辦?

在無監督無標注的情況下,這樣的偽負例,其實是不可避免的,首先可以想到的方式是去擴大語料庫,去加大 batch size,以降低 batch 訓練中采樣到偽負例的概率,減少它的影響。

另外,神經網絡是有一定容錯能力的,像偽標簽方法就是一個很好的印證,但前提是錯誤標簽數據或偽負例占較小的比例。

infoNCE loss 如何去理解,和 CE loss 有什么區別?

infoNCE loss 全稱 info Noise Contrastive Estimation loss,對于一個 batch 中的樣本 i,它的 loss 為:

要注意的是,log 里面的分母疊加項是包括了分子項的。分子是正例對的相似度,分母是正例對+所有負例對的相似度,最小化 infoNCE loss,就是去最大化分子的同時最小化分母,也就是最大化正例對的相似度,最小化負例對的相似度。

上面公式直接看可能沒那么清晰,可以把負號放進去,分子分母倒過來化簡一下就會很明了了。

CE loss,Cross Entropy loss,在輸入 p 是 softmax 的輸出時:

在分類場景下,真實標簽 y 一般為 one-hot 的形式,因此,CE loss 可以簡化成(i 位置對應標簽 1):

看的出來,info NCE loss 和在一定條件下簡化后的 CE loss 是非常相似的,但有一個區別要注意的是:

infoNCE loss 中的 K 是 batch 的大小,是可變的,是第 i 個樣本要和 batch 中的每個樣本計算相似度,而 batch 里的每一個樣本都會如此計算,因此上面公式只是樣本 i 的 loss。

CE loss 中的 K 是分類類別數的大小,任務確定時是不變的,i 位置對應標簽為 1 的位置。不過實際上,infoNCE loss 就是直接可以用 CE loss 去計算的。

注:
1)info NCE loss 不同的實現方式下,它的計算方式和 K 的含義可能會有差異;
2)info NCE loss 是基于 NCE loss 的

對比學習的本質是通過對比去學習事物的本質

學習非實
描述中的一句作為正例,按照對比學習來看,需要數據增強進行數據擴充,而數據集中天然的另外四句話就是正例的數據增強

總結

以上是生活随笔為你收集整理的学习对比学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。