一個框架統(tǒng)一Siamese自監(jiān)督學習,清華、商湯提出簡潔、有效梯度形...
點擊上方“邁微AI研習社”,選擇“星標★”公眾號
重磅干貨,第一時間送達
來自清華大學、商湯科技等機構的研究者們提出一種簡潔而有效的梯度形式——UniGrad,不需要復雜的 memory bank 或者 predictor 網絡設計,也能給出 SOTA 的性能表現(xiàn)。
當下,自監(jiān)督學習在無需人工標注的情況下展示出強大的視覺特征提取能力,在多個下游視覺任務上都取得了超過監(jiān)督學習的性能,這種學習范式也因此被人們廣泛關注。?在這股熱潮中,各式各樣的自監(jiān)督學習方法不斷涌現(xiàn),雖然它們大多都采取了孿生網絡的架構,但是解決問題的角度卻差異巨大,這些方法大致可以分為三類:以 MoCo、SimCLR 為代表的對比學習方法,以 BYOL、SimSiam 為代表的非對稱網絡方法,和以 Barlow Twins、VICReg 為代表的特征解耦方法。這些方法在對待如何學習特征表示這個問題上思路迥異,同時由于實際實現(xiàn)時采用了不同的網絡結構和訓練設置,研究者們也無法公平地對比它們的性能。?因此,人們自然會產生一些問題:這些方法之間是否存在一些聯(lián)系?它們背后的工作機理又有什么關系?更進一步的,具體是什么因素會導致不同方法之間的性能差異??為此,來自清華大學、商湯科技等機構的研究者們提出一個統(tǒng)一的框架來解釋這些方法。相較于直接去比較它們的損失函數,他們從梯度分析的角度出發(fā),發(fā)現(xiàn)這些方法都具有非常相似的梯度結構,這個梯度由三部分組成:正梯度、負梯度和一個平衡系數。其中,正負梯度的作用和對比學習中的正負樣本非常相似,這表明之前提到的三類方法的工作機理其實大同小異。更進一步,由于梯度的具體形式存在差異,研究者通過詳細的對比實驗分析了它們帶來的影響。結果表明,梯度的具體形式對性能的影響非常小,而關鍵因素在于 momentum encoder 的使用。

論文鏈接:https://arxiv.org/pdf/2112.05141.pdf
在這個統(tǒng)一框架的基礎上,研究者們提出了一種簡潔而有效的梯度形式——UniGrad。UniGrad 不需要復雜的 memory bank 或者 predictor 網絡設計,也能給出 SOTA 的性能表現(xiàn)。在多個下游任務中,UniGrad 都取得了不錯的遷移性能,而且可以非常簡單地加入其它增強技巧來進一步提升性能。

本節(jié)將分析不同方法的梯度形式,首先給出三類方法各自的梯度形式,然后歸納其中的共性結構。從梯度的角度讀者也可以更好地理解不同類型的方法是如何工作的。為了方便表述,作者用u表示當前樣本特征, v表示其它樣本特征,添加下標 ,
表示不同的 augmented view,添加上標 ,
表示孿生網絡中 online 或者 target 分支產生的特征。?對比學習方法對比學習方法希望當前樣本?
拉近與正樣本?
的距離,提升與負樣本?
的距離,一般會使用以下的 InfoNCE Loss:
具體實現(xiàn)時,兩類代表性方法 MoCo 和 SimCLR 有許多差異:MoCo 使用了 momentum encoder 作為 target branch 的編碼器,而 SimCLR 讓 target branch 與 online branch 共享參數;MoCo 使用 memory bank 來存儲負樣本,而 SimCLR 使用當前 batch 中其它樣本作為負樣本。?通過對 SimCLR 梯度的略微化簡(關閉 target branch 的梯度反傳,不會影響最終性能),對比學習方法的梯度可以統(tǒng)一成下面的形式:

在這個式子中,
的作用是將正樣本拉近,
的作用是將負樣本推離,因此作者將這兩項分別稱為正梯度和負梯度。?非對稱網絡方法非對稱網絡方法只使用正樣本來學習特征,并且通過非對稱網絡的設計來避免平凡解。這類方法一般會在 online branch 后增加一個 predictor 網絡
,同時關閉 target branch 的梯度反傳,最終使用下面的損失函數
這類方法中,作為代表的 BYOL 和 SimSiam 非常相似,唯一的差異就是是否使用 momentum encoder。雖然這類方法表現(xiàn)出非常優(yōu)異的性能,人們對它們的工作原理卻所知甚少。最近 DirectPred 這篇文章從網絡優(yōu)化的動態(tài)過程出發(fā)對它們做了初步的解釋,這篇工作觀察到 predictor 網絡的特征空間會逐漸與特征的相關性矩陣的特征空間對齊,基于此,DirectPred 提出了 predictor 網絡的一種解析解。在此工作的基礎上,作者進一步展示出非對稱網絡方法與其它方法的聯(lián)系,特別地,它們的梯度可以推導為

其中?
是 predictor 網絡的解析解。可以看到,上式同樣主要有兩個部分:
是正梯度,
是負梯度。?粗看起來這個結果非常反直覺:損失函數中沒有使用負樣本,但是梯度中卻出現(xiàn)了負梯度。實際上,這些負樣本來自于 predictor 在優(yōu)化過程中學習到的信息。根據 DirectPred 的結論,predictor 的特征空間會和相關性矩陣的特征空間逐漸對齊,因此 predictor 在訓練過程中很可能會將相關性矩陣的信息編碼到網絡參數中,在反傳時,這些信息就會以負樣本的形式出現(xiàn)在梯度中。?特征解耦方法特征解耦方法旨在減小各特征維度之間的相關性來避免平凡解。由于不同工作采用的損失函數在形式上差異很大,作者對它們分別進行討論。?Barlow Twins 采取如下?lián)p失函數:

其中?
是兩個 augmented view 之間的相關性矩陣。該損失函數希望相關性矩陣上的對角線元素接近 1,而非對角線元素接近 0。?該損失函數的梯度形式為:
作者首先將第一項替換為
?,同時,原始的 Barlow Twins 對特征采取了 batch normalization,作者將其替換為?
normalization,這些變換都不會影響到最終性能。?VICReg 在 Barlow Twins 的基礎上做了一些改動,為了去掉加在特征上的 batch normalization,它采取了如下?lián)p失函數:

通過對特征施加
? normalization,作者可以去掉最后一項而不影響其性能。這樣,特征解耦方法的梯度形式就能統(tǒng)一為:
是正梯度,
組成負梯度,它們分別來自相關性矩陣中的對角線和非對角線元素。因此,特征解耦方法本質上和其它兩類方法非常相似,它們只是在損失函數中將正負樣本用不同的形式組合起來了。統(tǒng)一形式
對比以上三類方法的梯度形式,作者發(fā)現(xiàn)它們都具有相似的結構:

其中,
對應正樣本的特征,
是負樣本特征的加權平均,
是平衡兩者的系數,這種相似的結構說明三類方法的工作機理非常接近。性能對比
盡管結構相似,不同方法的具體梯度形式依然存在區(qū)別,而且 target branch 的類型、負樣本集合的構成也都不一樣,本節(jié)將通過對比實驗來探究對最終性能的主要影響因素。?梯度形式
為了方便對比,作者首先在各類方法內部進行化簡和對比,最終再對比不同方法。完整的實驗結果如表 1 所示。

替換為單位陣而沒有影響性能,因此,非對稱網絡方法的梯度形式可以統(tǒng)一成表 1(e) 中的形式。?表 1(f-j) 展示了特征解耦方法的結果。對 Barlow Twins 來說,表 1(g) 將正梯度中的矩陣 A 替換為單位陣,表 1(h) 將特征的 batch normalization 替換為?
normalization,這些替換都不會導致性能下降;對 VICReg 來說,表 1(j) 去掉梯度中最后一項,同時加上?
normalization,這對性能幾乎沒有影響。最后,比較表 1(hj),它們唯一的差異在于負樣本系數的計算方式,但是性能上卻差異很小,所以特征解耦方法的梯度形式可以統(tǒng)一成表 1(j) 中的形式。?最后,作者對比了三類方法的梯度,即表 1(bej) 的結果。在梯度結構中,正梯度的形式已經統(tǒng)一,平衡系數會通過搜索保持最優(yōu),唯一的差異就是負梯度形式,實驗結果表明不同的負梯度形式性能非常接近。還值得注意的是,表 1(ej) 的負樣本形式非常相似,區(qū)別在于表 1(e) 使用了之前所有樣本構成的負樣本集合,表 1(j) 只使用了當前 batch 集合,這也說明了負樣本集合的構建在自監(jiān)督學習中不是最關鍵的因素。?Target Branch 類型之前為了公平對比,作者對各類方法都使用了 momentum encoder,現(xiàn)在來研究不同類型的 target branch 對最終結果的影響,實驗結果如表 2 所示。

最終方法
基于上述的統(tǒng)一框架,作者提出了一種簡潔有效的自監(jiān)督方法(UniGrad):

其中?
是相關性矩陣的滑動平均。UniGrad本質上就是表 1(e) 的梯度形式,這種梯度不需要額外的 memory bank,也不需要設計額外的 projector,實驗表明無論是 linear evaluation 還是 transfer learning,它都能夠取得 SOTA 的實驗性能。?圖 2 從多個衡量指標的角度展示了不同方法的優(yōu)化過程??梢钥吹?,不同方法的優(yōu)化曲線沒有明顯的差異,這也說明了該方法和之前方法有著類似的工作機制。


更多細節(jié)可參考論文原文,更多精彩內容請關注邁微AI研習社,每天晚上七點不見不散!
??THE END?
投稿或尋求報道微信:MaiweiE_com
GitHub中文開源項目《計算機視覺實戰(zhàn)演練:算法與應用》,“免費”“全面“”前沿”,以實戰(zhàn)為主,編寫詳細的文檔、可在線運行的notebook和源代碼。

項目地址?https://github.com/Charmve/computer-vision-in-action
項目主頁?https://charmve.github.io/L0CV-web/
推薦閱讀
(更多“摳圖”最新成果)
微信號: MaiweiE_com
GitHub:?@Charmve
CSDN、知乎: @Charmve
主頁: github.com/Charmve
如果覺得有用,就請點贊、轉發(fā)吧!
評論
圖片
表情
