CVPR 2021 | 从理论和实验角度深入剖析对比损失中的温度超参数
?作者?|?李想
學(xué)校?|?哈爾濱工業(yè)大學(xué)(深圳)
研究方向?|?自然語言處理
Foreword
這次的論文筆記的內(nèi)容是 CVPR'21 的一篇論文“Understanding the Behaviour of Contrastive Loss”?[1]。與以前看的很多講模型這類論文不同,這篇論文沒有模型,沒有 SOTA,而是對(duì)對(duì)比學(xué)習(xí)的損失函數(shù)中的 temperature 參數(shù)這個(gè)點(diǎn)進(jìn)行深入剖析,更多的是偏數(shù)學(xué)理論的內(nèi)容,并做實(shí)驗(yàn)進(jìn)行驗(yàn)證,以此來達(dá)到題目所說的理解對(duì)比學(xué)習(xí)損失函數(shù)的目的。雖然網(wǎng)上已經(jīng)有了這篇論文的筆記了,我還是決定自己寫一遍,對(duì)論文的理解和印象可能更深刻一點(diǎn)。如有錯(cuò)誤,還望指正。
論文標(biāo)題:
Understanding the Behaviour of Contrastive Loss
論文鏈接:
https://arxiv.org/abs/2012.09740
Background
在寫這篇論文筆記之前,我想先簡(jiǎn)單寫一寫對(duì)另一篇 ICML'20 的論文“Understanding Contrastive Representation Learning through Alignment and Uniformity on the Hypersphere” [2] 的一點(diǎn)背景 ,因?yàn)?CVPR 這篇論文算是一定程度上 Follow 了他們的工作。
ICML 這篇論文提出了兩個(gè)對(duì)比學(xué)習(xí)的重要特性:Alignment 和 Uniformity. 定義如下:
Alignment:對(duì)于 Positive pair 中的兩個(gè)樣本,應(yīng)該被映射到相鄰近的特征中。(即 Encoder 需要將相似的樣本編碼為相似的特征向量)
Uniformity:所有特征向量應(yīng)該在超球面空間*(hypersphere)中幾乎均勻地分布,以保留數(shù)據(jù)中盡可能多的信息。(即特征分布需要最大化保留信息)
其實(shí)我認(rèn)為這兩個(gè)特性也自然地體現(xiàn)了對(duì)比學(xué)習(xí)的目的 ,即 和與其相似的正樣本 在 編碼后的相似度 ,應(yīng)該遠(yuǎn)大于 和與其不相似的負(fù)樣本 編碼后的相似度。而這兩個(gè)特性,從對(duì)比學(xué)習(xí)的 loss 也能窺知一二。
其中 。
可以簡(jiǎn)單地將二者的公式寫成如下形式 [3]:(這公式看著簡(jiǎn)單,要用 LaTex 打出來可學(xué)到好幾個(gè)命令 \underset, \mathop, \limits, \rm 什么的)
其中, 為 positive pair 的分布, 為 data distribution,即樣本數(shù)據(jù)分布。
作者通過實(shí)驗(yàn)驗(yàn)證了這兩個(gè)特性與模型性能的關(guān)系,即通過以上公式計(jì)算出的 Alignmen 和 Uniformity 兩種度量值越小,encoder 能夠得到更好的表示,模型表現(xiàn)越好(Acc 越高)。即下圖中越藍(lán)的點(diǎn),準(zhǔn)確率越高,且集中在左下角,兩個(gè)度量值都很小的地方。
▲ Alignment和Uniform度量值與模型Performance的關(guān)系
這兩個(gè) metric 代碼也非常簡(jiǎn)單,作者直接貼到了論文里。
#?bsz?:?batch?size?(number?of?positive?pairs) #?d?:?latent?dim #?x?:?Tensor,?shape=[bsz,?d] #?latents?for?one?side?of?positive?pairs #?y?:?Tensor,?shape=[bsz,?d] #?latents?for?the?other?side?of?positive?pairs def?align_loss(x,?y,?alpha=2):return?(x?-?y).norm(p=2,?dim=1).pow(alpha).mean()def?uniform_loss(x,?t=2):return?torch.pdist(x,?p=2).pow(2).mul(-t).exp().mean().log()接下來我們回到最初的 CVPR 這篇論文:
Understanding the Behaviour of Contrastive Loss
Introduction
我認(rèn)為這篇論文就是上一篇的一個(gè)遞進(jìn),其一個(gè)核心思想就是引入樣本之間潛在的語義結(jié)構(gòu)的概念:模型得到的特征表示過于均勻(uniformity)的話,會(huì)不能很好地容忍語義相似的樣本(語義相似的樣本表示分離較遠(yuǎn)),從而破壞了這種樣本之間潛在的語義結(jié)構(gòu),影響下游任務(wù)的表現(xiàn)。
① 從這一個(gè) idea 出發(fā),作者將這種現(xiàn)象定義為一種 uniformity-tolerance 的兩難困境(我們既希望特征表示足夠均勻地分布使其便于分割開,又希望其能容忍語義結(jié)構(gòu)相似的樣本);—>?② 而為什么會(huì)出現(xiàn)這種現(xiàn)象,作者用對(duì)比學(xué)習(xí) loss 中的參數(shù) temperature ?作為切入點(diǎn),探討了其是如何影響 embedding 的分布;—>?③ 而如何影響這種分布是因?yàn)?temperature 的大小控制使得 contrastive loss 有一種 hardness-aware 的特性,即 temperature 越小,對(duì)那些更難的負(fù)樣本的 Gradient 梯度更大,使得這些樣本的特征表示更加分離,從而得到的整體的特征分布更加均勻。
這里的更難的負(fù)樣本,是指那些與錨點(diǎn) anchor ? 很相似/屬于同一類的樣本(對(duì)于 而言,其增強(qiáng)的樣本 才是正樣本,其余都叫做負(fù)樣本),所以對(duì)于 encoder 來說,要區(qū)分開他們的表示會(huì)更難。
雖然我覺得好像我復(fù)述的這一段故事好像也說得通,但是這篇論文實(shí)際上的結(jié)構(gòu)好像跟我的思路是相反的。作者是 ③ 先提出 contrastive loss 的 hardness-aware 特性,—>?② 再提出這種特性是 temperature 這個(gè)參數(shù)導(dǎo)致和控制的,—>?① 最后提出 temperature 與 uniformity 之間的關(guān)系,并以此定義 uniformity-tolerance dilemma 這個(gè)現(xiàn)象。
為了更好地理解作者提出的語義結(jié)構(gòu)的影響,作者用下圖作解釋。對(duì)于 (a) (b) 兩種 embedding 分布而言,我們將 與 的 embedding 交換,并不會(huì)改變其對(duì)比學(xué)習(xí)的 loss,但是,(a) 的這種分布將兩個(gè)都是“狗”的樣本 表示集中在一起,兩個(gè)都是“車”的樣本 表示集中在一起,比 (b) 這種分布在下游任務(wù)中表現(xiàn)更好,因?yàn)樗軌蝮w現(xiàn)出樣本間潛在的語義結(jié)構(gòu)。
我覺得這個(gè)圖很有意思,當(dāng)時(shí)還以為作者下面要講怎么在 hypershere 上通過不停地交換來使得同類樣本更近了(大霧)。現(xiàn)在回過頭來看,其實(shí)這個(gè)圖也一定程度上體現(xiàn)出 uniformity-tolerance 的關(guān)系,即這個(gè)圖代表著一種理想情況:當(dāng) uniformity 保持不變時(shí),特征表示卻能夠更加體現(xiàn)出語義結(jié)構(gòu)(更能容忍語義結(jié)構(gòu)相似的樣本)。這也是作者后面做實(shí)驗(yàn)想要達(dá)到的一個(gè)效果。
那 temperature 是不是真的會(huì)影響 embedding 的分布呢(②)作者用 T-SNE 可視化了 和 兩種情況下的 embedding 分布。可以看到 時(shí)分布更加均勻(uniform),而 時(shí)分布更加局部集中-全局分離(即相似/同類的樣本更集中,不相似/不同類的樣本相隔更遠(yuǎn))。也就是從這里,作者提出 uniformity-tolerance 困境的(①)。
Hardness-aware Property ③
作者在對(duì)比學(xué)習(xí)原始 loss,即 Eq.(1) 的基礎(chǔ)上,提出一個(gè)簡(jiǎn)單形式的 loss,也可以滿足拉近 positive pair 和分隔 negative samples 的目的:
作者將 Eq.(1) 的原始 loss 對(duì)正例相似度 和負(fù)例相似度 求導(dǎo),得到以下兩個(gè)式子:
其中,
通過 (6) 作者發(fā)現(xiàn)對(duì)于不同的 negative sample ,其梯度是與 (7) 中的分子 成比例的(對(duì)于樣本 的所有負(fù)樣本 而言, 的分子不同,分母相同),不同的 的梯度不同( 越大,梯度越大; 越小,則越放大了這個(gè)梯度),因此體現(xiàn)出其 Hardness-aware 的特性。這個(gè)特性與簡(jiǎn)單化的 loss Eq.(4) 不同, 對(duì) 求導(dǎo)后只是固定的值 。
觀察 (5) 式,其實(shí) 與 (6) 式的 是一樣的( 和 都只是表示一個(gè)不同于 的負(fù)樣本編號(hào),二者可以互換),兩個(gè)梯度的絕對(duì)值之比
令
來表示對(duì)于負(fù)樣本 的相對(duì)梯度,則所有負(fù)樣本的相對(duì)梯度和為 1,即 滿足概率分布,概率和為 1。
根據(jù) Eq.(8),作者畫出了不同的 值下 關(guān)于 的分布,如下圖。橫坐標(biāo)為 ,縱坐標(biāo)為 ,不同顏色的線代表不同的 值。可以發(fā)現(xiàn),當(dāng) temperature 越小(藍(lán)色線), 相似度越大時(shí), 陡增;而 相似度很小時(shí),曲線趨于均勻平滑。也就是說,對(duì)于與 越相近的負(fù)樣本 ,loss 對(duì)其“懲罰”就越大(梯度越大)。當(dāng) 非常小時(shí),會(huì)導(dǎo)致對(duì)比 loss 只集中火力在離 最近的那一兩個(gè)樣本上,試圖將他們分隔開 ②。
Uniformity-Tolerance Dilemma ①
作者分別用兩小節(jié)介紹了 Uniformity 和 Tolerance 兩個(gè)屬性,并繪制了在不同數(shù)據(jù)集下,不同 temperature 與兩個(gè)屬性值的關(guān)系。由于 Uniformity 在 Background 那節(jié)里介紹過了,這里主要介紹一下 Tolerance 的定義和計(jì)算方式。
Tolernace:指對(duì)于屬于同一類的樣本他們的平均相似度,表示語義相關(guān)的樣本的分布集中程度。
其中, 表示 的類別, 是一個(gè)指示函數(shù)(indicator function),當(dāng) 時(shí),其值為 1;當(dāng) 時(shí),其值為 0。
Figure 4 表示了不同的 temperature(橫軸)在不同的數(shù)據(jù)集上對(duì) 的度量值大小(縱軸),隨著 temperature的增大, 在減小,也就是 在增大,根據(jù)其計(jì)算方式,說明 embedding 的分布變得更不均勻了。而對(duì)于 Figure 5 則可以看到,隨著 temperatrue 的增大,tolerance 這個(gè)值也在增大,說明語義相關(guān)的樣本的相似度在變大。
一個(gè)理想的模型,應(yīng)該是局部聚集,全局均勻的,也就是 tolerance 要大的同時(shí),uniformity 要小。但根據(jù)上面兩個(gè)圖,tolerance 增大時(shí),uniformity 也在增大;tolerance 減小時(shí),uniformity 也在減小,這便形成了一個(gè)作者所定義的 Uniformity-Tolerance Dilemma。所以對(duì)于一般的對(duì)比學(xué)習(xí) loss 而言,如何選擇一個(gè)合適的 temporature 來平衡 embedding 的聚集性和均勻性,是需要根據(jù)具體問題來權(quán)衡的。
我覺得這個(gè)思想可以說是一定程度上繼承了 Background 那節(jié)里的 ICML 那篇論文的思想,那里的 Alignment 和這里的 Tolerance 很像,但是,也正如我在 Introduction 開頭所寫的,這篇論文主要就是引入了樣本之間語義結(jié)構(gòu)的概念。Alignment 只是考慮了 Positive pair 的聚集程度,而這篇論文進(jìn)一步,考慮了同一類相似樣本的聚集程度。
Breaking Point
作者利用了之前的一篇研究工作中提出的 Hard contrastive loss 策略 [4],在計(jì)算對(duì)負(fù)樣本的梯度時(shí),只截取相似度大于某個(gè)閾值的負(fù)樣本計(jì)算(如選取 Top K 最近的負(fù)樣本)。
這樣的話,相當(dāng)于放大了負(fù)樣本的作用,使得當(dāng) temperature 變大時(shí),模型最后形成的 embedding 分布會(huì)更均勻一點(diǎn),而不會(huì)像 Figure 4 那樣隨著 temperature 增大 embedding 分布變得更不均勻。
以此緩解 Uniformity-Tolerance Dilemma 中調(diào)節(jié) temperature 對(duì) uniformity 變化的影響。也呼應(yīng)了Figure 1 中“當(dāng) uniformity 保持不變時(shí),特征表示卻能夠更加體現(xiàn)出語義結(jié)構(gòu)“的目的。
Hard Contrastive Loss 定義如下:
其中, 是負(fù)樣本與 anchor 的一個(gè)相似度分界點(diǎn),對(duì)于相似度在 這個(gè)區(qū)間(informative interval)的負(fù)樣本被看作是 informative hard negative samples(與 anchor 更相似,更難將他們分隔開),而對(duì)于相似度在 這個(gè)區(qū)間,則被稱作 uninformative interval。在計(jì)算 loss 時(shí), 的這些負(fù)樣本,使其 。相當(dāng)于將原本負(fù)樣本的梯度比例分布(如 Figure 3)壓縮到 informative interval 的這個(gè)區(qū)間,從而增強(qiáng)模型對(duì)在該區(qū)間內(nèi)負(fù)樣本的“懲罰”,集中火力把與 相似的負(fù)樣本推遠(yuǎn)。
采用 得到的不同數(shù)據(jù)集下,不同 temperature 與 Uniformity 和 Tolerance 兩個(gè)屬性值的關(guān)系圖如下。將 Figure 6 和 Figure 4 相比可以發(fā)現(xiàn),此時(shí)隨著 temperature 增大,Uniformity 保持較穩(wěn)定不變。此時(shí)增大 temperature 便可以在保持 uniformity 不增大的情況下,增大 Tolerance,即模型得到的 embedding 既保持均勻,又能局部聚集,從而保留一定潛在語義結(jié)構(gòu),破解上一節(jié)所說的 Uniformity-Tolerance Dilemma 問題。
Conclusion
在本篇論文中,作者從 temperature 這個(gè)參數(shù)入手,從理論和實(shí)驗(yàn)的角度指出 Contrastive Loss 是一個(gè) hardness-aware 的損失函數(shù),而 temperature 在控制 embedding 分布中扮演著重要作用,并由此提出一種 Uniformity-Tolerance Dilemma 問題。針對(duì)這個(gè)問題,未來還有待研究,比如,從 Tolerance 著手(?)。
*注1:超球面空間 hypersphere:當(dāng)所有類別的樣本很好地各自聚集在一起并在空間中形成一個(gè)球面時(shí),他們是線性可分的。而這一特性是歐幾里得空間做不到的。如下圖,用一個(gè)線性分類器,可以找到一個(gè)角度切割球面將“貓”這一類的樣本與其他樣本分隔開。
▲ Hypersphere
參考文獻(xiàn)
[1]?Understanding the Behaviour of Contrastive Loss?, CVPR 2021
[2]?Understanding Contrastive Representation Learning through Alignment and Uniformity on the Hypersphere?ICML 2020
[3]?SimCSE: Simple Contrastive Learning of Sentence Embeddings
[4]?Local aggregation for unsupervised learning of visual embeddings?ICCV 2019
特別鳴謝
感謝 TCCI 天橋腦科學(xué)研究院對(duì)于 PaperWeekly 的支持。TCCI 關(guān)注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。
總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競(jìng)賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來。
📝?稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請(qǐng)明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競(jìng)爭(zhēng)力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請(qǐng)備注即時(shí)聯(lián)系方式(微信),以便我們?cè)诟寮x用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長(zhǎng)按添加PaperWeekly小編
🔍
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁(yè)搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
·
總結(jié)
以上是生活随笔為你收集整理的CVPR 2021 | 从理论和实验角度深入剖析对比损失中的温度超参数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 佛山大沥步行街到黄飞鸿街怎么坐地铁?
- 下一篇: 今日arXiv精选 | 21篇EMNLP