自監督學習(Self-supervised Learning)是何方神聖?

我的博士課題是自監督學習(Self-supervised Learning)方法在計算機視覺表示學習領域的應用。作為一個新名詞,自監督學習實際上與監督學習、非監督學習、半監督學習並沒有本質上的鴻溝。

Ps: 我個人是不太喜歡科學界命名新技術的風格,給一些舊技術的新衍生冠以高大上的名字會讓初學者對於這個領域感到很混亂,而事實上很多名詞是交集或者子集的關係。我對於整個機器學習領域的技術分類迷茫了很久看了很多才慢慢理清楚,有機會給大家整理一個Node Map。當然,取名字是Hinton、Bengio這些大佬的事。。。萬一哪天人家給RL改名叫Guess Learning/Try Learning >.<

自監督學習與監督學習、非監督學習的關係

樣本特徵在學習過程中至關重要。在簡單的數據挖掘任務中,重要的數據特徵是人工設計的。這些功能通常稱為Hand-crafted features。在計算機視覺領域,這種類型的表示通常要求我們設計合適的函數以從圖像或視頻中提取所需的信息。但是,這些功能通常來自人類有關視覺任務中關鍵信息的經驗,這導致手工製作的功能無法表示高級語義信息。例如,在早期工作中提出了各種視覺描述符,例如SIFT算子,HOG算子等等來表示有關對象邊緣,紋理等的視覺信息。此外,由於設計函數的複雜度限制,這種類型的表示能力通常相對較低,並且提出新的hand-crafted features並非易事。

總而言之,hand-crafted features在早期視覺任務中取得了一些成功,但是隨著問題的複雜性增加,它逐漸無法滿足我們的需求。隨著卷積神經網絡的普及以及數據大小的指數增長,在完全監督的任務中,自動提取的表示形式逐漸取代了效率低下的hand-crafted features。在完全監督模型中,通過反向傳播解決了以神經網絡和監督損失函數為代表的全局優化問題。大量帶註釋的圖像和視頻數據集以及日益複雜的神經網絡結構使諸如圖像分類和對象檢測之類的完全受監督的任務成為可能。之後,經過訓練的模型的中間特徵圖通常包含與特定任務相關的語義有意義的信息,這些信息可以傳遞給類似的問題。

但是,手動數據註釋是監督學習中必不可少的步驟,這是耗時,費力且有噪聲的。與有監督的方法不同,無監督的方法不依賴於人類註釋,並且通常集中在數據良好表示(例如平滑度,稀疏性和分解)的預設先驗上。無監督方法的經典類型是聚類方法,例如高斯混合模型,它將數據集分解為多個高斯分佈式子數據集。然而,非監督學習學習由於預設先驗的一般性較差而不太值得信賴,在某些數據集(例如非高斯子數據集)上選擇將數據擬合為高斯分佈可能是完全錯誤的。

自我監督方法可以看作是一種具有監督形式的特殊形式的非監督學習方法,這裡的監督是由自我監督任務而不是預設先驗知識誘發的。與完全不受監督的設置相比,自監督學習使用數據集本身的信息來構造偽標籤。在表示學習方面,自我監督學習具有取代完全監督學習的巨大潛力。人類學習的本質告訴我們,大型註釋數據集可能不是必需的,我們可以自發地從未標記的數據集中學習。更為現實的設置是使用少量帶註釋的數據進行自學習。這稱為Few-shot Learning。

自監督學習(Self-supervised Learning)是何方神聖?

自監督學習的主要流派

在自監督學習中,如何自動獲取偽標籤至關重要。 根據偽標籤的不同類型,我將自我監督的表示學習方法分為4種類型:基於數據生成(恢復)的任務,基於數據變換的任務,基於多模態的任務,基於輔助信息的任務。這裡簡單介紹第一類任務。事實上,所有的非監督方法都可以視作第一類自監督任務,在我做文獻調研的過程中,我越發的感覺到事實上非監督學習和自監督學習根本不存在界限。

所有的非監督學習方法,例如數據降維(PCA:在減少數據維度的同時最大化的保留原有數據的方差),數據擬合分類(GMM: 最大化高斯混合分佈的似然), 本質上都是為了得到一個良好的數據表示並希望其能夠生成(恢復)原始輸入。這也正是目前很多的自監督學習方法賴以使用的監督信息。基本上所有的encoder-decoder模型都是以數據恢復為訓練損失。

在後面幾篇文章,我們會詳細介紹這四類自監督學習方法以及一些代表性的文章。求點贊關注評論呀~


分享到:


相關文章: