當前位置:
首頁 > 科技 > 谷歌大腦聯手Hinton提出SimCLR新框架,瘋狂提升自監督學習性能

谷歌大腦聯手Hinton提出SimCLR新框架,瘋狂提升自監督學習性能

新智元報道

來源:google

編輯:張佳、白峰、鵬飛

BERT和T5之類的自然語言處理模型不斷「屠榜xxx」的新聞,恐怕我們都已經看的麻木了。

實際上,自監督學習並沒有那麼好,為什麼?

作為一種特殊的無監督學習方式,自監督學習是通過從未標記數據集中創建替代標籤而將無監督學習問題轉換為有監督問題。

然而,當前用於圖像數據的自監督技術非常複雜,需要對體系結構或訓練過程進行重大修改。

在「視覺表示對比學習的簡單框架」中,Google概述了一種方法,該方法不僅可以簡化而且可以改進以前在圖像上進行自監督表示學習的方法。其提出的名為SimCLR的框架,極大地提高了自監督和半監督學習的技術水平,並以有限的類別標籤數據達到了ImageNet圖像分類的SOTA效果。

方法的簡單性意味著可以輕鬆地將其合併到現有的有監督學習管道中。

SimCLR:一個簡單的視覺表示對比學習框架

SimCLR是一個簡單的視覺表示對比學習框架,它不僅比以前的工作更出色,而且也更簡單,既不需要專門的架構,也不需要儲存庫。

SimCLR首先學習未標記數據集上圖像的一般表示,然後可以使用少量標記圖像對其進行微調,以實現給定分類任務的良好性能。通過採用一種稱為對比學習的方法,可以通過同時最大化同一圖像的不同變換視圖之間的一致性以及最小化不同圖像的變換視圖之間的一致性來學習通用表示。利用這一對比目標更新神經網路的參數,使得相應視圖的表示相互「吸引」,而非對應視圖的表示相互「排斥」。

首先,SimCLR從原始數據集中隨機繪製示例,並使用簡單增強(隨機裁剪、隨機顏色失真和高斯模糊)的組合將每個示例轉換兩次,創建兩組相應的視圖。

對單個圖像進行這些簡單轉換的基本原理是:

我們要鼓勵轉換後相同圖像的「一致」表示;

由於預訓練數據缺少標籤,我們無法預先知道哪個圖像包含哪個對象;

我們發現這些簡單的轉換足以使神經網路學習良好的表示,儘管也可以採用更複雜的轉換策略。

然後,SimCLR使用基於ResNet架構的卷積神經網路變數計算圖像表示。接著,SimCLR使用完全連接的網路(即MLP)計算圖像表示的非線性投影,這會放大不變特徵並使網路識別同一圖像的不同變換的能力最大化。為了最小化對比目標的損失函數,我們使用隨機梯度下降來更新CNN和MLP。在對未標記的圖像進行預訓練之後,我們可以直接使用CNN的輸出作為圖像的表示,也可以使用標記的圖像對其進行微調,以實現下游任務的良好性能。

上圖為SimCLR框架演示。同時訓練CNN和MLP層以產生對於同一圖像的增強版本相似的投影,而對於不同圖像則產生不同的投影,即使這些圖像是同一類對象。經過訓練的模型不僅可以很好地識別同一張圖片的不同變換,而且可以學習相似概念的表示(例如椅子與狗),隨後可以通過微調將其與標籤相關聯。

框架簡介

為了理解什麼可以促進良好的對比表示學習,我們系統地研究了框架的主要組成部分,並表明:

在定義產生有效表示的對比預測任務時,多個數據增強操作的組成至關重要。此外,與監督學習相比,無監督的對比學習受益於更強大的數據增強。

在表示和對比損失之間引入可學習的非線性變換,可以大大提高學習的表示的質量。

具有對比交叉熵損失(contrastive cross entropy loss)的表示學習得益於規範化嵌入和合適的調整參數。

與有監督的對照組相比,對比學習受益於較大的批量和較長的訓練。與監督學習一樣,對比學習也得益於更深更廣的網路。

我們結合這些發現,在ImageNet ILSVRC-2012上實現了自監督和半監督學習的最新技術。在線性評估方案下,SimCLR的top-1準確性達到76.5%,相對於之前的最新技術水平有7%的相對提高。如果僅使用1%的ImageNet標籤進行微調,SimCLR的top-5準確性將達到85.8%,相對提高10%。當在其他自然圖像分類數據集上進行微調時,SimCLR在12個數據集中的10個數據集上的表現與強監督基線相當或更優。

SimCLR為何能有這麼好的效果?

儘管SimCLR 很簡單,但是它極大地提高了 ImageNet 上自監督和半監督學習的SOTA效果。基於 SimCLR 學習的自監督表示學習訓練的線性分類器可以達到76.5% / 93.2%的 top-1 / top-5的準確率,而之前的最好的模型準確率為71.5% / 90.1%。與較小的的監督式學習模型ResNet-50性能相當,如下圖所示

基於不同自監督方法訓練的線性分類器的 ImageNet top-1精度(在 ImageNet 上預先訓練)。灰色十字表示有監督的 ResNet-50

當只對1% 的標籤進行微調時,SimCLR 達到了63.0% / 85.8% 的 top-1 / top-5準確率,而之前表現最好的(CPC v2)的準確率為52.7% / 77.9% 。令人驚訝的是,當對100% 的標籤進行微調時,經過預先訓練的SimCLR模型仍然可以明顯優於從頭開始訓練的有監督基線模型,例如,基於SimCLR預先訓練的 ResNet-50(4x)經過微調 ,在訓練30個epoch時達到了80.1%的top-1準確率,而從頭開始訓練的模型在90個epoch才能到78.4%。

與以前的方法相比,SimCLR 的改進並不是因為某個單獨的設計,而是它們的組合

多種圖像轉換組合對生成對比視圖是至關重要的

由於 SimCLR 通過最大化同一圖像的不同視圖的一致性來學習表示,因此不能只用單一的模式進行圖像擴增,比如顏色直方圖,組合各種圖像變換方法很重要。為了更好地理解這一點,我們探索了不同類型的轉換,如下圖所示

我們發現,雖然沒有一個單獨的轉換可以產生最佳的表示,但是隨機剪裁和隨機顏色失真非常有效,雖然裁剪和色彩失真本身都不會提高太多性能,但組合這兩種轉換可以達到SOTA效果。

為什麼隨機裁剪和隨機顏色失真相結合是很重要?考慮一下在同一圖像的兩個剪裁視圖之間最大化一致性的過程。自然包含了兩種類型的預測任務: 左側的情況要從全局預測局部視圖,而右側的都要預測近鄰視圖。

同一圖像的不同剪裁視圖在色彩空間中看起來非常相似, 如果顏色保持完整,模型可以通過匹配顏色直方圖來最大化視圖之間的一致性。在這種情況下,模型可能只關注顏色而忽略其他更通用的特性。通過獨立地扭曲每種視圖的顏色,淺層的特徵將被去除,模型只能用可概括的顏色特徵來表示一致性。

非線性投影很重要

在 SimCLR 中,在計算對比學習目標的損失函數之前,採用基於 MLP的非線性投影,有助於識別每個輸入圖像的不變特徵,最大限度地提高網路識別同一圖像不同變換的能力。在我們的實驗中,我們發現使用非線性投影有助於提高表示的質量,將一個SimCLR學習到的表示輸入給線性分類器,效果提升達到10%以上。

有趣的是,MLP 投影前的表示在線性分類器中反而比投影后的表現更好,而我們對比目標的損失函數是基於投影后的表示,我們猜想我們的目標會導致網路的最後一層(可能對下游任務有用的)特徵不可變,而使用額外的非線性投影模塊時,投影之前的表示可以保留更多有用的圖像信息。

模型擴展可以顯著提高性能

我們發現在同一批次中處理更多樣本,使用更大的網路,以及訓練更長的時間會帶來顯著的性能提升。儘管這些手段顯而易見,但對於SimCLR而言,這些改進似乎比對監督學習的改進大。例如,我們觀察到有監督的ResNet的性能在ImageNet上訓練90到300個epoch會達到峰值,但是SimCLR即使經過800個epoch仍可以繼續改善。當我們增加網路的深度或寬度時,也是這種情況– SimCLR的性能持續增長,而對於有監督模型則會停滯。

無監督學習已經超越有監督學習?

我們來看一些相關的報道。

「如今,在 ImageNet 上的圖像識別準確率的性能提升每次通常只有零點幾個百分點,而來自圖靈獎獲得者 Geoffrey Hinton 等谷歌研究者的最新研究一次就把無監督學習的指標提升了 7-10%,甚至可以媲美有監督學習的效果。」

在 ImageNet 上SimCLR 方法訓練出的線性分類器與有監督的 ResNet-50 性能相匹配,達到了 76.5% 的 top-1 準確率。」

媒體報道給我的感覺是無監督能夠做到跟有監督差不多好了,情況果真如此樂觀了嗎?我仔細看了一下論文。

SimCLR在無監督情況下top-1的accuracy是這麼得到的:

1、backbone:ResNet-50(4x),即網路寬度是ResNet-50的4倍

2、測試方式:linear evaluation protocol, where a linear classifier is trained on top of the frozen base network, and test accuracy is used as a proxy for representation quality,也就是說最後一層linear classifier其實是supervised learning訓練得到的

即媒體說的SimCLR可以媲美有監督的ResNet-50,有兩個隱含條件

1、網路參數更多;

2、在SimCLR無監督學習得到的網路之上使用有監督學習的方式訓練了一個linear classifier。

SimCLR的效果當然很好,但是無監督跟有監督的差距還是蠻大的,情況沒那麼樂觀。為了更直觀地比較無監督和有監督,其實可以這樣做:

1、使用相同網路;

2、直接用無監督學習得到的網路作為一個特徵提取器,然後在驗證集/測試集上通過檢索的方式來獲取類別,得到分類accuracy。

但是從特徵提取器的角度來說,無監督學習的確取得了長足的進步,跟有監督學習的差距越來越小。

本節內容授權自知乎用戶mileistone

https://zhuanlan.zhihu.com/p/107269105

SimCLR作者介紹

SimCLR一作是北郵畢業的Ting Chen,2019年3月獲得加州大學洛杉磯分校計算機科學系的博士學位。

目前在Google Brain擔任研究科學家,研究興趣主要是深度學習和人工智慧。

Ting Chen的個人主頁:

http://web.cs.ucla.edu/~tingchen/

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

「精靈鼠小弟」成真!AI破解小鼠表情密碼,證明150年前達爾文之問
AI錄音筆一戰成名!搜狗以語言AI為核心重點突破多點開花