图解自监督学习(CV)
圖解自監(jiān)督學(xué)習(xí)(CV)
譯自:https://amitness.com/2020/02/illustrated-self-supervised-learning/
作者:Amit Chaudhary
注:譯者在某些地方對(duì)原文的表述做了調(diào)整,使其適合漢語(yǔ)的閱讀習(xí)慣,并在某幾處有譯者自己的理解。大家有能力的話可以看一下英文原文。
在 Yann Lecun 的一次演講中,作者首次了解到了自監(jiān)督學(xué)習(xí),他在那里介紹了“蛋糕類比”來(lái)說(shuō)明自監(jiān)督學(xué)習(xí)的重要性。 在談話中,他說(shuō):
“If intelligence is a cake, the bulk of the cake is self-supervised learning, the icing on the cake is supervised learning, and the cherry on the cake is reinforcement learning (RL).”
“如果人工智能是一塊蛋糕,那么大部分蛋糕是自監(jiān)督學(xué)習(xí),監(jiān)督學(xué)習(xí)是蛋糕上的冰激凌,而強(qiáng)化學(xué)習(xí)則是蛋糕上的櫻桃。”
盡管這個(gè)類比存在爭(zhēng)議,但我們已經(jīng)看到了自監(jiān)督學(xué)習(xí)在自然語(yǔ)言處理領(lǐng)域的影響,其中最近的(Word2Vec、Glove、ELMO、BERT)已經(jīng)取得了SOTA的結(jié)果。
為了了解計(jì)算機(jī)視覺(jué)領(lǐng)域自監(jiān)督學(xué)習(xí)的現(xiàn)狀,作者通過(guò) Jing 等人最近的一篇綜述論文了解了現(xiàn)有的關(guān)于將自監(jiān)督學(xué)習(xí)應(yīng)用于計(jì)算機(jī)視覺(jué)的工作。
本文將解釋什么是自監(jiān)督學(xué)習(xí),總結(jié)并通過(guò)圖示的方式直觀地展示自監(jiān)督學(xué)習(xí)中的一些問(wèn)題的建模方式。
自監(jiān)督學(xué)習(xí)簡(jiǎn)介
為什么要自監(jiān)督學(xué)習(xí)
要在深度神經(jīng)網(wǎng)絡(luò)中進(jìn)行有監(jiān)督學(xué)習(xí),我們需要足夠的標(biāo)注數(shù)據(jù)。 但是人工標(biāo)注數(shù)據(jù)是一個(gè)既耗時(shí)又昂貴的過(guò)程。 還有一些領(lǐng)域,例如醫(yī)療領(lǐng)域,獲取足夠的數(shù)據(jù)本身就很困難。 因此,當(dāng)前有監(jiān)督學(xué)習(xí)范式的一個(gè)主要瓶頸是如何獲得大量的標(biāo)注數(shù)據(jù)。
什么是自監(jiān)督學(xué)習(xí)
自監(jiān)督學(xué)習(xí)是通過(guò)下面這種方式,將無(wú)監(jiān)督學(xué)習(xí)問(wèn)題轉(zhuǎn)化為有監(jiān)督問(wèn)題的方法:
我們能否以這樣一種方式設(shè)計(jì)任務(wù):即我們可以從現(xiàn)有圖像中生成幾乎無(wú)限的標(biāo)簽,并使用它來(lái)學(xué)習(xí)特征表示?
在自監(jiān)督學(xué)習(xí)中,我們通過(guò)創(chuàng)造性地利用數(shù)據(jù)的某些屬性來(lái)設(shè)置偽監(jiān)督任務(wù)來(lái)替換人工注釋的部分。 例如,這里不是將圖像標(biāo)記為貓/狗,而是將它們旋轉(zhuǎn) 0/90/180/2700/90/180/2700/90/180/270 度并訓(xùn)練模型來(lái)預(yù)測(cè)旋轉(zhuǎn)。不同于標(biāo)注貓 / 狗,對(duì)圖像進(jìn)行旋轉(zhuǎn)并記錄旋轉(zhuǎn)標(biāo)簽可以有機(jī)器自動(dòng)完成,因此,我們可以從互聯(lián)網(wǎng)上的數(shù)百萬(wàn)張圖像中生成幾乎無(wú)限的訓(xùn)練數(shù)據(jù)。下圖展示了整個(gè)端到端自監(jiān)督訓(xùn)練的工作流。
在我們從數(shù)以百萬(wàn)計(jì)的圖像中學(xué)習(xí)好特征表示后,我們可以利用遷移學(xué)習(xí)在一些有監(jiān)督的任務(wù)(如僅有少量樣本的貓狗分類任務(wù))上進(jìn)行微調(diào)。
自監(jiān)督學(xué)習(xí)方法綜述
現(xiàn)在讓我們了解一下研究人員提出的各種方法來(lái),利用圖像和視頻特性并將自監(jiān)督學(xué)習(xí)應(yīng)用于表征學(xué)習(xí)。
至于自監(jiān)督學(xué)習(xí)任務(wù)如何設(shè)計(jì),Yann LeCun 在 AAAI 2020 上的演講也提到過(guò):
對(duì)該演講有興趣的讀者,可參考:https://www.bilibili.com/video/BV1V7411573v?from=search&seid=12729545036652967460
A 基于圖像的自監(jiān)督學(xué)習(xí)
Pattern 1 重構(gòu)
1 圖像著色
如果我們通過(guò)將灰度應(yīng)用于數(shù)百萬(wàn)免費(fèi)提供的圖像來(lái)構(gòu)建訓(xùn)練樣本對(duì)對(duì)(灰度、彩色)圖像會(huì)怎樣?
我們可以使用基于全卷積神經(jīng)網(wǎng)絡(luò)的編碼器-解碼器架構(gòu)(自編碼器),來(lái)計(jì)算預(yù)測(cè)和實(shí)際彩色圖像之間的 L2 損失。
為了完成著色任務(wù),模型必須了解圖像中存在的不同對(duì)象和相關(guān)部分,如此它才可以用相同的顏色繪制這些部分。 這樣,學(xué)習(xí)到的表征對(duì)于下游任務(wù)會(huì)很有用。
可參考的相關(guān)工作:
- Colorful Image Colorization
- Real-Time User-Guided Image Colorization with Learned Deep Priors
- Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image Colorization with Simultaneous Classification
2 圖像超分辨
如果我們通過(guò)對(duì)數(shù)百萬(wàn)圖像進(jìn)行下采樣來(lái)構(gòu)造訓(xùn)練樣本對(duì)(小圖像放大)圖像會(huì)怎樣?
基于 GAN 的模型(例如 SRGAN)在此任務(wù)中很常見(jiàn)。 生成器使用全卷積網(wǎng)絡(luò)獲取低分辨率圖像并輸出高分辨率圖像。 使用均方誤差和內(nèi)容損失來(lái)比較實(shí)際和生成的圖像,以模仿人類的圖像感知質(zhì)量比較。 二分類鑒別器獲取圖像并對(duì)其進(jìn)行分類,它是實(shí)際的高分辨率圖像 (1) 還是假生成的超分辨率圖像 (0)。 兩個(gè)模型之間的這種相互對(duì)抗作用會(huì)使得生成器學(xué)習(xí)能夠生成具有精細(xì)細(xì)節(jié)的圖像。
學(xué)習(xí)到語(yǔ)義特征的生成器和鑒別器都可以用于下游任務(wù)階段。
可參考的相關(guān)工作:
- Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
3 圖像修復(fù)
如果我們通過(guò)隨機(jī)刪除部分圖像來(lái)構(gòu)建訓(xùn)練樣本對(duì)(損壞的、固定的)圖像會(huì)怎樣?
與超分辨率類似,我們可以利用基于 GAN 的架構(gòu),其中生成器可以學(xué)習(xí)如何重構(gòu)圖像,而鑒別器學(xué)習(xí)將真實(shí)圖像和生成的圖像分開(kāi)。
對(duì)于其在下游任務(wù)的表現(xiàn),Pathak 等人。 已經(jīng)表明,這樣的生成器學(xué)習(xí)的語(yǔ)義特征在 PASCAL VOC 2012 語(yǔ)義分割比賽上比隨機(jī)初始化的模型提高了 10.2%,同時(shí)對(duì)分類和對(duì)象檢測(cè)有< 4% 的提升。
可參考的相關(guān)工作:
- Context encoders: Feature learning by inpainting
4 Cross-Channel 預(yù)測(cè)
如果我們從圖像的一個(gè)通道預(yù)測(cè)另一個(gè)通道并將它們組合起來(lái)重構(gòu)原始圖像會(huì)怎樣?
Zhang 等人在他們名為 Split-Brain Autoencoder 的工作中應(yīng)用了這個(gè)想法。 為了理解論文的idea,讓我們以番茄的彩色圖像為例。
對(duì)于這張彩色圖像,我們可以將其拆分為灰度和顏色通道。 然后,對(duì)于灰度通道,我們預(yù)測(cè)顏色通道,對(duì)于顏色通道部分,我們預(yù)測(cè)灰度通道。 將兩個(gè)預(yù)測(cè)通道 X1X_1X1? 和 X2X_2X2? 組合起來(lái)以完成對(duì)原始圖像的重構(gòu)。 我們可以將此重構(gòu)與原始彩色圖像進(jìn)行比較,以計(jì)算損失并更新模型。
同樣的想法也可以應(yīng)用于具有深度的圖像,我們使用來(lái)自 RGB-HHA 圖像的顏色通道和深度通道來(lái)相互預(yù)測(cè)并比較輸出圖像和原始圖像。
可參考的相關(guān)工作:
- Split-Brain Autoencoders: Unsupervised Learning by Cross-Channel Prediction
Pattern 2 常識(shí)任務(wù)
1 拼圖任務(wù)
如果我們通過(guò)隨機(jī)打亂圖像塊來(lái)構(gòu)建訓(xùn)練樣本對(duì)(打亂、有序)拼圖會(huì)怎樣?
即使只有 9 個(gè)圖像塊,也可以有 362880 個(gè)可能的 puzzles。 為了解決這個(gè)問(wèn)題,僅使用所有可能排列的一個(gè)小子集,例如具有最高漢明距離的 64 個(gè)排列。
假設(shè)我們使用一個(gè)排列來(lái)打亂圖像,如下所示。 讓我們使用總共 64 個(gè)可用排列中的排列數(shù) 64。
現(xiàn)在,為了復(fù)原出原始圖像塊關(guān)系,Noroozi 等人 提出了一種稱為上下文無(wú)關(guān)網(wǎng)絡(luò)(CFN)的神經(jīng)網(wǎng)絡(luò),如下所示。 在這里,單個(gè)圖像塊通過(guò)具有共享權(quán)重的相同孿生卷積層。 然后,將這些特征組合,并送入一個(gè)全連接層中。 在輸出中,模型必須從 64 個(gè)可能的類中預(yù)測(cè)使用了哪種排列。
為了完成拼圖任務(wù),模型需要學(xué)習(xí)識(shí)別物體中組件的組裝方式、物體不同部分的相對(duì)位置以及物體的形狀。 因此,這些表示對(duì)于分類和檢測(cè)中的下游任務(wù)很有用。
可參考的相關(guān)工作:
- Unsupervised learning of visual representations by solving jigsaw puzzles
2 上下文預(yù)測(cè)
如果我們通過(guò)從大型未標(biāo)記的圖像集合中隨機(jī)獲取一個(gè)圖像塊及其周圍的一個(gè)相鄰塊來(lái)構(gòu)建訓(xùn)練樣本對(duì)(圖像塊,相鄰圖像塊)會(huì)怎樣?
為了完成這個(gè)輔助任務(wù),Doersch 等人 使用了類似于拼圖任務(wù)的結(jié)構(gòu)。圖像塊通過(guò)兩個(gè)孿生卷積網(wǎng)絡(luò)來(lái)提取特征,拼接特征并在 8 個(gè)類別上進(jìn)行分類,表示 8 個(gè)可能的鄰塊位置。
可參考的相關(guān)工作:
Unsupervised Visual Representation Learning by Context Prediction
3 幾何變換識(shí)別
如果我們通過(guò)從大型未標(biāo)記圖像集合中隨機(jī)旋轉(zhuǎn)圖像(0、90、180、270)來(lái)構(gòu)建訓(xùn)練樣本對(duì)(旋轉(zhuǎn)圖像、旋轉(zhuǎn)角度)會(huì)怎樣?
為了解決這個(gè)前置任務(wù),Gidaris 等人 提出一種架構(gòu),其中旋轉(zhuǎn)圖像通過(guò)卷積網(wǎng)絡(luò),網(wǎng)絡(luò)需要將輸入圖像分類為 4 類(0/90/270/3600/90/270/3600/90/270/360 度)。
雖然看起來(lái)是一個(gè)非常簡(jiǎn)單的任務(wù),但該模型必須了解圖像中對(duì)象的位置、類型和姿勢(shì)才能完成此任務(wù),因此,學(xué)習(xí)到的表示對(duì)于下游任務(wù)會(huì)很有用。
可參考的相關(guān)工作:
Unsupervised Representation Learning by Predicting Image Rotations
Pattern 3 自動(dòng)生成標(biāo)簽
1 圖像聚類
如果我們通過(guò)對(duì)大型未標(biāo)記圖像集合執(zhí)行聚類來(lái)構(gòu)建訓(xùn)練樣本對(duì)(圖像,簇?cái)?shù))會(huì)怎樣?
為了解決這個(gè)前置任務(wù),Caron 等人 提出一種稱為深度聚類的架構(gòu)。 在這里,首先對(duì)圖像進(jìn)行聚類,并將聚類用作類。 模型的任務(wù)是預(yù)測(cè)輸入圖像的集群標(biāo)簽。
可參考的相關(guān)工作:
- Deep clustering for unsupervised learning of visual features
- Self-labelling via simultaneous clustering and representation learning
- CliqueCNN: Deep Unsupervised Exemplar Learning
2 影像合成
如果我們通過(guò)使用游戲引擎生成合成圖像并使其適應(yīng)真實(shí)圖像來(lái)構(gòu)建訓(xùn)練樣本對(duì)(圖像、屬性)會(huì)怎樣?
為了解決這個(gè)輔助任務(wù),Ren 等人 提出了一種架構(gòu),其中權(quán)重共享的卷積網(wǎng)絡(luò)在合成圖像和真實(shí)圖像上進(jìn)行訓(xùn)練,然后將合成圖像和真實(shí)圖像送入鑒別器,鑒別器學(xué)習(xí)分類輸入是合成圖像還是真實(shí)圖像。 由于對(duì)抗性作用,真實(shí)圖像和合成圖像之間的共享表征將會(huì)變得更好。
B 基于視頻的自監(jiān)督學(xué)習(xí)
如果我們通過(guò)從運(yùn)動(dòng)物體的視頻中混洗幀來(lái)構(gòu)建訓(xùn)練樣本對(duì)(視頻幀,正確/不正確的順序)會(huì)怎樣?
為了完成這個(gè)輔助任務(wù),Misra 等人 提出了一種架構(gòu),其中視頻幀通過(guò)權(quán)重共享的卷積網(wǎng)絡(luò),模型必須確定幀的順序是否正確。 這樣做時(shí),模型不僅需要學(xué)習(xí)空間特征,還需要考慮時(shí)間特征。
可參考的相關(guān)工作:
- Shuffle and Learn: Unsupervised Learning using Temporal Order Verification
- Self-Supervised Video Representation Learning With Odd-One-Out Networks
Citation Info (BibTex)
如果讀者覺(jué)得本文對(duì)你的研究工作有幫助的話,可以引用原作者的博客:
@misc{chaudhary2020selfsupervised,title = {The Illustrated Self-Supervised Learning},author = {Amit Chaudhary},year = 2020,note = {\url{https://amitness.com/2020/02/illustrated-self-supervised-learning}} }總結(jié)
以上是生活随笔為你收集整理的图解自监督学习(CV)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php中msubstr,PHP学习:th
- 下一篇: 无糖火锅底料有哪些?