最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

分享一篇超詳細的對比學習開山作理論推導,快收藏!

2023-03-24 18:04 作者:深度之眼官方賬號  | 我要投稿

作者:KON 來源:投稿
編輯:學姐

1.前言

本次給大家?guī)淼氖前l(fā)表在ICLR2019上的一篇文章:LEARNING DEEP REPRESENTATIONS BY MUTUAL INFORMATION ESTIMATION AND MAXIMIZATION。

這篇文章是對比學習的開山之作之一,為對比學習提供了理論支撐,指導了后來人如何正確選擇合適的對比函數(shù)損失。截至完稿,該論文的引用為1299。

本文只討論該paper的核心部分,也就是理論推導部分,它解釋了我們如何通過最大化互信息來達成我們對比學習的目的。雖然這篇文章主要討論的是CV上的對比學習,但該理論是通用于所有深度學習框架的范式,把它擴展到圖表示、NLP等其它領域也是合適的。

雖然這篇文章非常的經(jīng)典+硬核,但遺憾的是,原論文并沒有給出各公式的詳細推導。如果數(shù)學功底不夠扎實,讀起來往往頗為費勁。本文將給出該paper有關理論詳細推導+詳細解釋,一步步帶大家理解。

2.什么是對比學習?

對比學習是一種自監(jiān)督學習方法,用于在沒有標簽的情況下,通過讓模型學習哪些數(shù)據(jù)點相似或不同來學習數(shù)據(jù)集的一般特征。

讓我們從一個簡單的例子開始:

假設你有兩個蘋果和一個梨,即使沒有人告訴你它們是什么,你仍可能會意識到,與蘋果相比,這兩只梨子看起來很相似。僅僅通過識別它們之間的異同,我們的大腦就可以了解我們的世界中物體的高階特征。

目前主流的深度學習是通過對輸入擬合label來達到學習目的的,但實際情況中,可能根本沒有那么多l(xiāng)abel可言。在上述例子中,并沒有誰來告訴我們label,我們仍然能夠學到大量的信息?;诖藛l(fā),對比學習的概念應運而生。

3.數(shù)學準備

在開始我們的推導之前,我們需要先明確幾個后續(xù)推到會使用到的概念:

KL散度:

KL散度是用來衡量兩個分布差異的度量,它是順序敏感的,D(X|Y)與D(Y|X)是不同的。

互信息:

互信息描述了兩個分布共有信息的度量,它是順序不敏感的,I(X;Y)與I(Y;X)是一樣的。很容易可以看到,這兩個度量都可用來衡量兩分布之相似性。那么,它們之間有沒有關系呢?

答案是有的,推導如下

原來X與Y的互信息,就等于X與Y之聯(lián)合分布與X Y邊緣分布之乘積。

共軛函數(shù):

這里的sup代表上確界,即最小上界。使上述上確界有限,即差值在f之定義域有上界的所有y構成了共軛函數(shù)的定義域。共軛函數(shù)是我們后續(xù)推導的剪刀,幫助我們把目標函數(shù)剪成我們想要的樣子。

4.如何最大化互信息?

對比學習是一種無監(jiān)督學習,其目的是衡量兩個輸入的相似性。大家應該可以發(fā)現(xiàn),這不恰巧與互信息的定義一致嗎?那么,我們可以使用互信息來當作我們的Loss函數(shù)嗎?

答案當然是可以。但難度也是顯而易見的,我們有的只是樣本,不知道分布具體的表達式。不知道具體的表達式就無法算得互信息的具體數(shù)值,便無法進行反向傳播更新參數(shù)。

其實我們不一定非要求得互信息的解析解。長久以來的經(jīng)驗告訴我們,在實際應用中,數(shù)值解往往就夠了。在F-GAN嚴格推導和證明了所有散度的下確界都由某個生成函數(shù)f與某個共軛函數(shù)g決定,于是我們借用F-GAN中的思想,希望用逼近的方法讓互信息成為我們的損失函數(shù)。

由于所有散度都可歸納于一般的F-散度,為了更泛化的結果,我們不止對KL散度進行推導,將上述共軛函數(shù)帶入,我們對F-散度進行推導:

這里t為f的輸出,g為f的共軛函數(shù)。通過共軛函數(shù)這把剪刀,我們把f散度求解問題變成了求解兩分布下T(x)與g(T(x))期望之最大值問題,把一個抽象的問題具體化了。

于是,當F散度為KL散度時,使用上述推導結果,很容易就可以得到:

在本文中,作者借用MINE(Mutual Information Neural Estimation)的結論。MINE中使用的是Donsker-Varadhan Estimator(DV representation of KL divergence),該estimator是互信息的一個下界。DV estimatorF-GAN導出的散度解析解作了一丟丟小改動,代入KL散度便得到:

這里的epsilon為我們的encoder編碼器,也就是神經(jīng)網(wǎng)絡;Tclassifier分類器,也就是最后的FC層或回歸頭。終于,原來那么抽象的問題,現(xiàn)在只要令兩批樣本(如,一張在沙漠的波斯貓圖片和一張在草地上大橘圖片)的期望盡可能大,那么就能盡可能提高互信息的下限,就可以通過曲線救國的方法,最大化兩批樣本MI。

這個過程中,神經(jīng)網(wǎng)絡學到的就是兩批樣本的通用信息,如貓咪眼睛的樣子、貓咪的爪子、貓咪的四肢等,噪音信息(如不同背景,沙漠、草地 etc.)等被忽略。

至此,原來無法解決的問題便解決了,對比學習打下了堅實的理論基礎。再回頭看一眼本文實際代碼中的Global InfomaxLoss函數(shù),其中正樣本來自聯(lián)合分布,負樣本來自邊緣分布之積,是不是就非常清晰了呢?

還在啃論文的同學建議關注【學姐帶你玩AI

公眾號上還有很多經(jīng)典論文論文解讀哦!

后臺回復“500”還能獲取

100多條論文解讀視頻+200多篇AI必讀論文

分享一篇超詳細的對比學習開山作理論推導,快收藏!的評論 (共 條)

分享到微博請遵守國家法律
沁源县| 平江县| 宜章县| 徐汇区| 石城县| 松溪县| 成都市| 枣阳市| 梁山县| 宁波市| 丰城市| 濮阳县| 绍兴市| 萍乡市| 东明县| 北宁市| 杂多县| 双牌县| 余姚市| 潜江市| 长武县| 百色市| 宜兴市| 海城市| 江油市| 扎兰屯市| 普安县| 珲春市| 无锡市| 荣成市| 新源县| 龙泉市| 白沙| 滨海县| 琼中| 玉环县| 海林市| 延寿县| 霸州市| 铜陵市| 扶余县|