和 對比 對比自監督學習

2021-10-16 04:20:01 字數 3597 閱讀 2831

編譯:ronghuaiyang

對比自監督學習​mp.weixin.qq.com

利用資料本身為演算法提供監督。

對比自監督學習技術是一種很有前途的方法,它通過學習對使兩種事物相似或不同的東西進行編碼來構建表示。
自監督方法將取代深度學習中佔主導地位的直接監督正規化的預言已經存在了相當一段時間。alyosha efros打了乙個著名的賭,賭在2023年秋季之前,一種無監督的方法將會在檢測pascal voc方面勝過有監督的r-cnn。但四年之後,他的預言現在已經實現了。目前,自監督方法(moco, he et al., 2019)在pascal voc上的檢測效能已經超越了監督方法,並在許多其他任務上取得了良好的效果。

最近自我監督學習復甦背後的一系列方法遵循一種被稱為對比學習的正規化。

許多現代的ml方法依賴於人類提供的標籤或獎勵作為訓練過程中使用的唯一學習訊號形式。這種對直接語義監督的過度依賴有幾個危險:

自監督學習提供了乙個很有前途的選擇,其中資料本身為學習演算法提供監督。在這篇文章中,我會試著概述對比方法與其他自監督學習技術的不同之處,並回顧這一領域最近的一些**。

左圖:憑記憶畫的一美元鈔票。右圖:照著一美元鈔票畫的。

看看epstein, 2023年做的這個實驗,在這個實驗中,受試者被要求盡可能詳細地畫一張美元的。

左邊的圖表示通過回憶一美元鈔票的樣子畫出的。右邊的圖是他們後來照著一張現鈔畫的。很明顯,在沒有美元鈔票的情況下所畫的圖與根據原型所畫的圖有很大的不同。

儘管我們已經無數次地看到一美元紙幣,但我們沒有得到它的完整表示。事實上,我們只保留了足夠的特徵來將它與其他物體區分開來。類似地,我們能否建立一種不關注畫素級細節、只編碼足以區分不同物體的高階特徵的表示學習演算法?

當代的自監督學習方法大致可以分為兩類:

對比法,顧名思義,就是通過對比正負樣本來學習表示。雖然不是乙個新的正規化,這種方法在計算機視覺任務已經得到了巨大的成功經驗的計算機視覺任務與非監督對比的前訓練。

最值得注意的是:

它們不同於更傳統的生成方法來學習表示,後者關注於畫素空間中的重構誤差來學習表示。

更正式地說,對於任何資料點x,對比方法的目的是學習編碼器f:

x通常被稱為「錨」資料點。為了優化這一特性,我們可以構造乙個softmax分類器來正確地分類正樣本和負樣本。這個分類器鼓勵score函式給正例樣本賦於大值,給負樣本賦於小值:

分母項由乙個正樣本和n - 1個負樣本組成。這裡我們使用點積作為score函式:

這是n-way softmax分類器常見的交叉熵損失,在對比學習文獻中通常稱為infonce損失。在之前的工作中,我們將其稱為多類n-pair loss和基於排序的nce。

infonce也與互資訊有關係。具體地說,最小化infonce損失可使f(x)和f(x+)之間互資訊的下界最大化。

讓我們更仔細地看看不同的對比方法來理解他們在做什麼:

deep infomax中的對比任務

deep infomax (dim, hjelm等人,2018)通過利用影象中的本地結構來學習影象的表示。dim的對比任務是區分全域性特徵和區域性特徵是否來自同一幅影象。在這裡,全域性特徵是卷積編碼器的最終輸出(乙個平面向量,y),區域性特徵是編碼器中間層(乙個m x m特徵圖)的乙個輸出。每個區域性特徵圖都有乙個有限的感受野。所以,直觀上,這意味著要做好對比任務全域性特徵向量必須從所有不同的區域性區域中獲取資訊。

dim的損失函式看起來與我們上面描述的對比損失函式完全一樣。給定乙個錨影象x,

dim的應用還延伸到了其他領域,如graph和rl。對dim的後續研究,即增強多尺度dim (bachman et al., 2019),使用線性分類協議評估時,使用無監督訓練在imagenet上實現了68.4%的top-1準確率。

**使用音訊輸入的cpc的對比任務

cpc的對比任務設定如下。設為資料點序列,xt為錨點。然後,

cpc利用單一任務中的多個k來捕獲在不同時間尺度上演化的特徵。

在計算xt的表示時,我們可以使用執行在編碼器網路之上的自回歸網路來編碼歷史上下文。

最近的研究(henaff et al., 2019)擴充套件了cpc,在imagenet上用線性分類器評估時達到了71.5%的top-1準確率。

左:amdim學習資料增強(如隨機裁剪)之間的不變的表示。右:cmc學習影象的不同檢視(通道)之間不變的表示

對比學習提供了一種簡單的方法在表示空間中來施加不變性。假設我們想要乙個表示對乙個變換t不變(例如剪裁、灰度縮放),我們可以簡單地構造乙個對比目標,給定乙個錨點x,

最近的幾篇**中使用了這種方法,並取得了巨大的經驗成功:

對比方法中使用負樣本的不同策略的比較。這裡xq是正樣本,xk是負樣本。注意,在moco中,梯度不會通過動量編碼器回流。

對比方法在有更多的負樣本的情況下效果更好,因為假定更多的負樣本可以更有效地覆蓋底層分布,從而給出更好的訓練訊號。在通常的對比學習公式中,梯度流通過編碼器的正樣本和負樣本。這意味著正樣本的數量被限制在mini-batch的尺寸上。動量對比(moco,he et al., 2019)通過維持乙個大的負樣本佇列,並且不使用反向傳播來更新負編碼器,有效地繞過了這個問題。相反,它定期更新負編碼器使用動量更新:

其中,θk表示負樣本編碼器的權重,θq表示正樣本編碼器的權重。

來自moco的乙個相當驚人的結果是,在pascal voc、coco和其他資料集上,效果比有監督的預訓練模型好,有時候遠遠超過。傳統上,這些任務需要在imagenet上進行有監督的預培訓才能獲得最佳效果,但moco的結果表明,無監督和有監督的預訓練訓之間的差距已經很大程度上縮小了。

儘管在這篇文章中對比學習的大部分應用都集中在標準的計算機視覺任務上,我希望對比學習對於自監督學習來說是乙個任意領域和任務的正規化。它允許我們將關於資料結構的先驗知識注入到表示空間中。這意味著,當我們遠離靜態iid資料集(丟棄了資料中的大量底層結構)並利用額外的結構資訊時,我們可以構建更強大的自監督方法。

—end—

英文原文:

自監督學習 對比學習自監督

關於bert的無監督聚類的一些說法 1.首先一點是在不finetune的情況下,cosine similairty絕對值沒有實際意義,bert pretrain計算的cosine similairty都是很大的,如果你直接以cosine similariy 0.5之類的閾值來判斷相似不相似那肯定效果...

對比學習 自監督學習的理解

自監督學習定義 自監督學習主要是利用輔助任務從大規模的無監督資料中挖掘自身的監督資訊來提高學習表徵的質量,通過這種構造監督資訊對網路進行訓練,從而可以學習到對下游任務具有價值的表徵。輔助任務 pretext 可以認為是一種為達到特定訓練任務而設計的間接任務。pretext任務的好處是為了簡化原任務的...

和 對比 對比

對比是為了避免頁面上的元素太過相似。元素中如字型 顏色 大小 線寬 形狀 空間等不相同,那就乾脆讓它們截然不同。要讓頁面引人注目,對比通常是最重要的乙個因素。要記住乙個重要規則 要想實現有效的對比,對比就必須強烈。對比的目的 對比是增加頁面視覺效果的最有效途徑,也是在不同元素之間建立一種有組織的層次...