點擊上方,選擇星標或置頂,每天給你送上干貨
作者 | Feng
整理 | 對白的算法屋
編者寄語:
很多小伙伴都了解對比學習,但要說溫度系數的作用可能就不太清楚了。
卷友們好,我是對白。
對比學習中的溫度系數是一個神秘的參數,大部分論文都默認采用小的溫度系數來進行自監督對比學習(例如0.07,0.2)。然而並沒有對采用小溫度系數的解釋,以及溫度系數是如何影響學習過程的,即溫度系數這個角色的意義。
今天給大家介紹一篇CVPR2021中研究對比損失(Contrastive Loss)溫度系數的論文,由我校出品,解釋了溫度系數的具體作用,還借此探索了對比學習的學習機制,相信大伙看完以后,在內卷的道路上又可以領先別人一步了(真是太卷了QAQ)。
首先總結下本文的發現:
1.對比損失函數是一個具備困難負樣本自發現性質的損失函數,這一性質對於學習高質量的自監督表示是至關重要的,不具備這個性質的損失函數會大大惡化自監督學習的性能。關注困難樣本的作用就是:對於那些已經遠離的樣本,不需要繼續讓其遠離,而主要聚焦在如何使沒有遠離的那些的樣本遠離,從而使得到的表示空間更均勻(uniformity)。
2.溫度系數的作用是調節對困難樣本的關注程度:越小的溫度系數越關注於將本樣本和最相似的其他樣本分開)。作者對溫度系數進行了深入的分析和實驗,並利用溫度系數來解釋對比學習是如何學到有用表征的。
3.對比損失存在一個均勻性-容忍性的Dilemma(Uniformity-Tolerance Dilemma)。小溫度系數更關注於將與本樣本相似的困難樣本分開,因此往往可以得到更均勻的表示。然而困難樣本往往是與本樣本相似程度較高的,例如同一個類別的不同實例,即有很多困難負樣本其實是潛在的正樣本。過分強迫與困難樣本分開會破壞學到的潛在語義結構。
論文對溫度系數的作用進行了理論的分析和實驗的驗證。
一、對比損失更關注困難樣本的特性
首先給出自監督學習廣泛使用的對比損失(InfoNCE loss)的形式:
其中 是溫度系數。直觀來說,該損失函數要求第i個樣本和它的另一個augmentation的副本(即正樣本)之間的相似度 盡可能大,而與其他的實例(負樣本)之間的相似度 盡可能小。然而,很多的損失可以達到這個要求,例如下面的最簡單的形式 :
然而實際訓練過程,采用 作為損失函數效果非常不好,論文給出了使用contrastive loss(Eq1)和簡單損失(Eq2)的性能對比,溫度系數采用0.07:
上面的結果顯示,在所有數據集上Contrastive Loss要遠遠好於Simple Loss。作者通過探究發現,不同於Simple Loss,Contrastive Loss是一個困難樣本自發現的損失函數。我們可以通過公式(2)看到,Simple Loss對所有的負樣本相似度給予了相同權重的懲罰( ,損失函數對所有的負樣本相似度的梯度都是相同的)。而Contrastive Loss則更會自動的給距離更近相似度更高的負樣本更多的懲罰。這一點可以通過對比損失(Eq1 中)對不同負樣本的相似度的懲罰梯度的簡單計算來觀察:
對正樣本的梯度:
對負樣本的梯度:
其中:
對於所有的負樣本比較來說, 的分母項都是相同的。那么 越大,則 的分子項越大,梯度項也越大。也就是說,對比損失給予了更相似(困難)的負樣本更大的遠離該樣本的梯度。可以把不同的負樣本想像成同極點電荷在不同距離處的受力情況,距離越近的點電荷受到的庫倫斥力更大,而距離越遠的點電荷受到的斥力越小。對比損失也是這樣的。這種性質更有利於形成在超球面均勻分布的特征。
為了驗證上面表格中對比損失和簡單損失的差距確實是因為對比損失具有困難樣本自發現的特性,作者還用了一種顯式的困難樣本挖掘算法用於簡單損失上。即選取最相似的4096個樣本作為負樣本,並用Eq2的簡單損失作為損失函數,采用顯式困難樣本挖掘算法的簡單損失函數效果大大提升,遠遠超過了溫度系數取0.07時的對比損失。結果如下表所示:
二、溫度系數的作用
除了上面介紹的困難樣本自發現的性質之外,觀察Eq3和Eq4,我們可以容易地發現,損失函數對正樣本的梯度絕對值等於所有對負樣本的梯度值絕對值的和,即
給予這個觀察,作者定義了對第j個負樣本的一個相對懲罰強度:
則對於所有的 , 形成了一個玻爾茲曼概率分布,該分布的熵隨着溫度系數的增大嚴格增大,即 是隨着 單調遞增的(只需要滿足所有的 不相等即可)。至此作者們發現,溫度系數決定了此分布的熵。如果我們將 由大到小排序,形成一個順序統計量,那么熵的大小將決定了分布的陡峭程度,如下圖所示,下圖是作者演示的負樣本懲罰梯度在不同溫度系數下與相似度的關系。當溫度系數很小時,例如藍色線0.07,隨着 的增大將懲罰梯度劇烈的增大。而當溫度系數逐漸增大,相對梯度的熵逐漸也增大,概率分布逐漸接近均勻分布,例如途中的綠色線。那么對相似度大的負樣本的關注度逐漸減小。
上面論證了溫度系數的作用,即溫度系數決定了對比損失對困難負樣本的關注程度,越大的溫度系數,往往一視同仁,不會太過關注更困難的負樣本;而溫度系數越小,則越關注與該樣本相似度非常大的困難負樣本,給予困難負樣本更大的梯度與正樣本分離。
作者為了更具體的解釋溫度系數的作用,計算了兩種極端情況,即溫度系數趨向於0和無窮大。
當溫度系數趨向於0時:
可以看出,此時對比損失退化為只關注最困難的負樣本的損失函數。而當溫度系數趨向於無窮大時:
此時對比損失對所有負樣本的權重都相同,都為 ,即對比損失失去了困難樣本關注的特性。有趣的是,當溫度系數趨向於無窮時,該損失便變成了之前介紹的簡單損失 。
作者通過上面的兩個極限情況也分析出了對比損失隨着溫度系數的增大而傾向於“一視同仁”,隨着溫度系數的減少而只關注最困難的負樣本,這樣的一種調節負樣本關注度的作用。
三、均勻性-容忍性困境
基於對溫度系數作用的探索,作者進而指出了對比學習存在的潛在問題,即均勻性-容忍性的困境。
對於溫度系數來說,更小的溫度系數更加關注困難樣本,因此更容易形成均勻的表示空間,均勻的特征對於表示學習是十分重要的,具體可以見ICML2020的論文 <
在這種情況下,與正樣本相似度極高的負樣本往往很可能是潛在的正樣本。例如,與當前的蘋果圖片相似度最高的圖片往往是另一個蘋果,此時如果太注重困難負樣本則會破壞網絡經過一定訓練后已經學到的語義信息,這種情況在訓練后期尤其明顯。隨着訓練的進行,網絡獲取到的信息越來越接近真實語義特性,那么此時的負樣本更有可能是潛在的正樣本,因此一個啟示是可以隨着迭代的次數增多而增大溫度系數,這可能是作者以后的工作。於是作者認為,一個好的溫度系數,應該是均勻性和容忍性的折衷。
作者對不同溫度系數下的均勻性-容忍性進行了量化並可視化如上圖。
四、實驗驗證
下圖是實驗對溫度系數的驗證,紅色的box是正樣本的相似度,而橫坐標往右依次是與相似度最大的10個樣本的相似度分布。可以發現,溫度系數越小,正樣本和最困難的負樣本之間的相似度gap越大,這說明了越小的溫度系數越傾向於把最困難的負樣本分開。該實驗支撐了之前的理論分析。
另一方面,作者也對不同的數據集的最優溫度系數進行了驗證,下圖綠色的柱子為對比損失隨着溫度系數的性能表現。此外,作者也驗證了采取顯式困難樣本發現的對比損失,采取了顯示的困難樣本挖掘算法后,性能表現與溫度系數的關聯弱化,當溫度系數高於一個合適的值時,該損失產生的模型性能基本保持穩定。
五、總結
在本文中,作者試圖了解無監督對比損失的一些具體的性質和行為。作者們首先分析出了對比損失是一種困難樣本感知的損失函數。並且驗證了困難樣本感知的性質是對比損失的不可或缺的性質。不具備這種性質的損失函數,即使負樣本非常多,性能還是會退化嚴重。此外作者們也深入研究了溫度系數的作用,發現溫度系數控制着對負樣本感知程度。並接着提出了Uniformity-Tolerance Dilemma。總體來說,論文揭示了一些對比學習有用的性質和現象,相信本文會啟發更多的研究者設計更好的損失以及算法。
機器學習/深度學習算法交流群
最后歡迎大家關注我的微信公眾號: 對白的算法屋(duibainotes),跟蹤NLP、推薦系統和對比學習等機器學習領域前沿,日常還會分享我的創業心得和人生感悟。想進一步交流的同學也可以通過公眾號加我的微信,和我一同探討技術問題,謝謝!