機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

監督學習|機器學習|

整合學習|進化計算|

非監督學習| 半監督學習|

隨著人工智慧、元宇宙、資料安全、可信隱私用計算、大資料等領域的快速發展,自監督學習脫穎而出,致力於解決資料中心、雲計算、人工智慧和邊緣計算等各個行業的問題,為人們帶來極大便益。

自監督學習是什麼?

自監督學習| 無監督學習|

自我監督方法可以看作是一種特殊形式的具有監督形式的非監督學習方法,其中監督是透過自我監督任務而不是預設的先驗知識誘發的。與完全不受監督的設定相比,自監督學習利用資料集本身的資訊構造偽標籤。在表達學習中,自我監督學習有很大的潛力取代完全監督學習。人類學習的本質告訴我們,大型標註資料集可能不是必需的,我們可以自發地從未標註的資料集中學習。更為現實的設定是使用少量帶註釋的資料進行自我學習。這就是所謂的Few-shot Learning。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

自監督學習| 無監督學習|

在自監督學習中,如何自動獲取偽標籤非常重要。根據偽標籤的不同型別,將自監督表示學習方法分為四種類型:

基於資料生成(恢復)的任務

基於資料變換的任務

基於多模態的任務

基於輔助資訊的任務

簡單介紹一下第一類任務。事實上,所有非監督方法都可以被視為第一類自監督任務。在文獻研究的過程中,非監督學習和自監督學習根本不存在界限。

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

型都將資料恢復視為訓練損失。

圖片上色與影片預測

無監督學習|

無監督學習|

自監督學習的出發點是考慮在缺少標籤或者完全沒有標籤的情況下,我們仍然可以學習到能夠表示原始圖片的良好意義的特徵。那麼什麼樣的特質是良好有意義的呢?在第一類自監督任務——資料恢復任務中,能夠透過學習到的特徵來還原生成原始資料的特徵是有良好意義的。看到這裡,大家都能聯想到自動編碼器類的模型,甚至更簡單的PCA。事實上,幾乎所有的非監督學習方法都是基於這個原理。VAE現在非常流行的深代模式,甚至更熱的GAN都可以歸為這種方法。

GAN的核心是透過Discriminator去縮小Generator distribution和real distribution之間的距離。GAN的學習過程不需要人為進行資料標註,其監督訊號也即是最佳化目標就是使得上述對抗過程趨向平穩。

以兩篇具體的

paper

為例,

介紹資料恢復類的自監督任務如何操作實現。我們的重點依然是視覺問題,這裡分別

介紹一篇圖片上色的文章和一篇影片預測的文章

。其餘的領域比如NLP,其本質是類似的,在弄清楚了資料本身的特點之後,可以先做一些低階的照貓畫虎的工作。

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

設計自監督任務時,需要一些巧妙的思考。比如圖片的色彩恢復任務,我們現有的資料集是一張張的彩色圖片。如果去掉顏色,作為感性思考者的我們,能否從黑白圖片所顯示的內容中猜測出原始圖片的真實顏色?對於一個嬰兒來說可能很難,但是對於我們來說,生活的經驗告訴我們瓢蟲應該是紅色的。我們如何做預測?事實上,透過觀察大量的瓢蟲,已經在大腦中建立了一個從“瓢蟲”到“紅色”的對映。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

這個學習過程擴充套件到模型。給定黑白輸入,使用正確顏色的原始影象作為學習標籤,模型將嘗試理解原始黑白影象中的每個區域是什麼,然後建立從什麼到不同顏色的對映。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

當我們完成訓練,模型的中間層feature map就得到以向量形式的類似人腦對於“瓢蟲”以及其他物體的記憶。

自監督學習的主要流派

一般來說,視覺問題可以分為兩類:圖片和影片。圖片資料可以認為具有i。i。d特徵,而影片由多個圖片幀組成,可以認為具有一定的Markov dependency。時序關係是他們最大的區別。比如,最簡單的思路是利用CNN提取單個圖片的特徵進行影象分類,然後加入一個RNN或LSTM刻畫Markov Dependency,便可以應用到影片中。

影片中幀與幀之間有時空連續性。同樣,利用幀與幀之間的連續性,當看電影的時突然按下暫停,接下來幾秒鐘會發生什麼,其實是可以預見的。

同樣,這個學習過程也擴充套件到了模型中。給定前一幀或前幾幀的情況下,使用後續的影片幀作為學習標籤,從而模型會試著理解給定影片幀中的語義資訊(發生了啥?)進而去建立從當前到未來的對映關係。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

什麼是基於資料恢復的自監督任務?

事實上,人們現在常常提到的自監督學習通常指的是:這一類自監督任務是比較狹義的概念。

用一句話說明這一類任務,事實上原理很簡單。對於樣本

,我們對其做任意變換

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

,則自監督任務的目標是能夠對生成的

估計出其變換

的引數

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

下面介紹一種原理十分簡單但是目前看來非常有效的自監督任務——Rotation Prediction。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

給定輸入圖片

,我們對其做4個角度的旋轉,分別得到

,並且我們知道其對應的變換角度分別為

。此時,任務目標即是對於以上4張圖片預測其對應的旋轉角度,這裡每張圖片都經過同樣的卷積神經網。

自監督學習中

對比學習方法

對比學習是自監督學習中的一個重要方法,其核心思想是透過樣本的相似性來構建表徵。對於相似的輸入樣本,由網路產生的表徵也應當相似;而對於差異較大的輸入樣本,表徵也應該存在較大區別。根據這一思想,很多基於對比學習的自監督學習方法被提出(如MoCo、SimCLR、BYOL),並對這一領域產生了深遠影響。

對比學習中的一個關鍵步驟是構建正負樣本集合,對於一個輸入樣本

,如何找到與其相似的正樣本

,和不相似的負樣本

?在基於影象的自監督任務中,一般透過資料增強(data augmentation)來對單張圖片構建不同檢視,這些檢視的影象內容高度一致,被視為正樣本;而資料集中的其他圖片則直接被視為負樣本。

同一張貓咪圖片經過剪裁得到的另一檢視被視作正樣本,正樣本與原圖經過神經網路編碼得到的表徵應該相似;而資料集中的其餘圖片被視為負樣本,經網路編碼後的結果應當差異較大。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

完成正負樣本的構建後,對比學習一般採用InfoNCE Loss來進行損失計算和模型更新,其形式如下:

其中

表示訓練模型對輸入樣本的編碼過程。InfoNCE Loss約束模型對當前樣本的編碼結果和對正樣本的編碼結果的內積較大,而和負樣本的編碼結果的內積較小,可以看作是從樣本集合中判別出與之匹配的正樣本。

一. 資料生成任務

MoCo是對比學習中一個非常有代表性的方法,其主要思想是將對比學習過程看作一個“查字典”的過程:在一個由眾多樣本構成的鍵值(key)字典中檢索到與查詢樣本的編碼結果(query)相匹配的正樣本。為了提升對比學習的效果,提出兩點假設:

一。鍵值字典的容量應該儘可能增大以提高自監督任務的難度,從而提升訓練效果;

二。鍵值字典應該在訓練過程中保持一定程度的一致性以保障自監督學習過程能夠穩定進行。

基於以上兩點假設,分析了幾種對比學習機制。

圖片顏色恢復

即對於所有的查詢樣本的編碼結果(query)和字典鍵值(key)同時進行梯度傳播,但這一方法中視訊記憶體大小會極大地限制鍵值字典的大小,導致自監督任務難度降低,影響訓練效果;

影片預測

迭代過程中將鍵值編碼儲存到一個memory bank中,每輪對比學習過程中所需要的字典鍵值直接從memory bank 裡選取,而梯度計算只對查詢樣本的編碼網路分支進行。因為MoCo不需要對鍵值字典的分支進行梯度計算,memory bank方法可以顯著提升鍵值字典的容量,但是由於每個樣本在memory bank中的鍵值在被模型重新編碼時才會被更新,鍵值字典中鍵值間的一致性較差,從而降低了訓練的穩定性。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

因此,提出一種momentum encoder來實現對鍵值字典的編碼。對於查詢樣本,使用普通encoder進行編碼並直接進行梯度計算;而對於鍵值字典,首先由一個動態更新的佇列維護字典的輸入樣本,再使用momentum encoder將樣本編碼為鍵值。Momentum encoder在訓練過程中不會進行梯度計算,而是採用動量更新的方法從encoder更新引數,更新方法如下:

其中,

分別表示query encoder和key momentum encoder的引數,

,表示動量引數以調節更新速率。這樣的方法一方面可以避免key encoder在訓練時因需要計算梯度使字典大小被限制,也可以避免memory bank方法中的鍵值低一致性問題,保障了訓練的穩定性。

值得一提的是,在實驗過程中發現傳統的batch normalization方法可能造成樣本資訊的洩露,讓資料樣本意外地“看到了”其他樣本。會使模型在自監督任務中更傾向於選擇一個合適的batch normalization引數,而不是學習一個比較好的特徵表示。

二. 基於資料變換的任務

SimCLR 是一個非常簡潔的自監督學習框架。沒有建立類似MoCo的鍵值字典的方式,而是直接在每個batch中的樣本之間進行比較學習。對於

個輸入資料,先使用兩種不同的資料增強方法產生

個樣本;對於每個樣本來說,從同一輸入圖片中產生另一樣本被視為正樣本,其餘

個樣本被視為負樣本。構建完正負樣本後,SimCLR直接使用端到端的方法計算loss並更新模型。

網路結構上,與MoCo相比,SimCLR在backbone網路末端新增了一個由兩層全連線層構成的projection head。模型在訓練階段,根據projection head的輸出

計算損失函式;而在遷移到下游任務時,會將projection head移除,直接使用backbone部分網路輸出的表徵

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

. MoCo

BYOL是一個非常有特點的模型,與MoCo、SimCLR相比,BYOL可以直接在正樣本對上進行自監督訓練而不需要構建負樣本集合。BYOL的構想來自於一個非常有意思的發現:在一個完全隨機初始化的網路所輸出的特徵上進行分類任務的top-1準確率只有1。4%;

但如果將這個隨機初始化網路的輸出特徵作為目標,用另一個網路對其進行學習,使用學習之後的網路進行特徵提取再進行分類可以達到18。8%的準確度。換言之,以一個特徵表示作為目標進行學習,可以獲得一個更好的表示。如此繼續迭代下去,精確度可以繼續往上提升。

基於這一發現,構建了只需要正樣本對的BYOL學習框架。如圖,一張輸入圖片經過不同資料增強後的兩個檢視分別經過online和target兩個分支的backbone和projection head後得到輸出

,再使用一個prediction head從

預測

。計算損失時使用了MSE loss,且只對online分支計算梯度和更新引數;對於target分支使用類似MoCo動量更新的方式從online分支更新引數。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

自監督學習中的聚類方法

與對比學習或者人工設定的前置任務(pretext task)的學習方式不同,基於聚類的自監督方法將訓練樣本按照某種相似度量進行劃分,劃歸到不同聚類中心的樣本被賦予不同的類別標籤,之後使用標準的全監督學習交叉熵損失進行訓練。用數學語言形式化的展示了全監督學習與自監督聚類之間的聯絡與區別:考慮深度模型

將影象對映為特徵

,全監督學習使用包含完全標註的樣本-標籤資料來最佳化模型

具體來講,假設有N個樣本

,相應的類別標籤為,

,一個分類頭

將深度模型的

維輸出向量對映到

維(每一維對應一個類別的得分)並使用softmax操作將每個類別的得分轉化為類別機率值。

由於交叉熵損失需要給出目標的類別標籤(標註資料集),對於無標註資料,需要首先透過某種分配方式賦予每個樣本具有一定意義的標籤然後才能進行訓練。

一般而言,我們令

為one-hot函式

,即每一個樣本我們限定其只能屬於某一類,那麼上述公式可以寫成一個雙層最佳化問題:

第一步,根據深度模型輸出調整標籤分配方式,得到當前特徵下損失函式最小的標籤;

第二步,根據更新的標籤訓練深度模型。

給所有的樣本賦予相同標籤之後最佳化模型引數就可以最小化平均損失函式。此時,模型將所有樣本均對映到特徵空間中的同一位置附近,不同樣本之間的特徵區分度變得微弱,模型效能嚴重退化,不能達到學習出有意義特徵表示的目的。因此,基於聚類的自監督學習方法關鍵在於引入適當的約束條件,避免模型收斂到退化解。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

自監督學習推動

醫學影象分類發展

隨著自監督學習在放射學、病理學和面板病學等諸多應用領域取得令人振奮的成果,人們對自監督學習在醫學成像任務中的應用越來越感興趣。儘管如此,開發醫學成像模型仍然頗具挑戰,這是由於標註醫學影象極為耗時,高質量標記資料通常較為稀缺。

鑑於此,遷移學習 (Transfer learning) 成為構建醫學成像模型的熱門範例。這種方法首先要在大型標記資料集(如 ImageNet)中使用監督學習 (Supervised learning) 對模型進行預訓練,然後在域內醫學資料中對習得的通用表徵進行微調。

近來一些新的方法在自然影象識別任務中取得了成功,尤其是在標記示例稀少的情況下,這些方法使用自監督對比預訓練,然後進行監督微調(例如 SimCLR 和 MoCo)。在對比學習預訓練中,模型將同一影象的不同轉換檢視間的一致性升至最高,同時將不同影象的轉換檢視間的一致性降至最低,從而習得通用表徵。儘管這些對比學習方法取得成功,但在醫學影象分析中受到的關注有限,其功效還有待探索。

研究自監督對比學習作為醫學影象分類領域預訓練策略的有效性。同時提出一個全新方法——多例項對比學習 (MICLe),這一方法可泛化對比學習以利用醫學影象資料集的特性。針對兩項不同的醫學影象分類任務進行實驗:識別數碼相機影象中面板狀況分類(27 類)和對胸部 X 射線進行多標籤分類(5 類)。透過實驗可以觀察到,在 ImageNet 上進行自監督學習,隨後對未標記的特定領域醫學影象進行額外的自監督學習,顯著提高醫學影象分類器的準確性。具體來說,結果表明自監督預訓練優於監督預訓練,即使在完整的 ImageNet 資料集(1400 萬幅影象和 2。18 萬個類別)用於監督預訓練時也是如此。

分別使用域內未標記和標記資料對各項任務進行預訓練和微調,還使用在不同臨床環境中獲得的另一個數據集作為偏移資料集,以進一步評估我們的方法對域外資料的穩健性。對於胸部 X 射線任務,使用 ImageNet 或 CheXpert 資料進行自監督預訓練可以提高泛化能力,同時使用兩者還可以進一步提高此能力。正如預期的那樣,當僅使用 ImageNet 進行自監督預訓練時,與僅使用域內資料進行預訓練相比,該模型的表現更差。

為測試分佈偏移下的表現,對於各項任務,額外提供在不同臨床環境下收集的標記資料集以進行測試。發現使用自監督預訓練(同時使用 ImageNet 和 CheXpert 資料)時,分佈偏移資料集 (ChestX-ray14) 的表現有所提升,比 CheXpert 資料集的原始提升更為明顯。這一發現頗具價值,因為分佈偏移下的泛化能力對於臨床應用至關重要。在面板病學任務中,我們觀察到某一單獨的偏移資料集具有類似趨勢,該資料集收集自面板癌診所,具有較高的惡性疾病發病率。這表明自監督表徵對分佈偏移的穩健性在不同任務間具有一致性。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

用於胸部 X 射線解讀任務的分佈偏移資料集模型評估。我們在沒有進一步微調(零樣本遷移學習)的情況下,使用在域內資料上訓練的模型對額外的偏移資料集進行預測。我們觀察到,自監督預訓練會產生更好的表徵,對分佈偏移更穩健

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

用於面板病學任務的分佈偏移資料集模型評估。結果普遍表明,自監督預訓練模型可以在分佈偏移中得到更好的泛化,其中 MICLe 預訓練對泛化能力的提升最為明顯

透過在不同分數的標記訓練資料上對模型進行微調,進一步研究了用於醫學影象分類的自監督模型的標記效率。我們對 Derm 和 CheXpert 訓練資料集使用 10% 到 90% 的標籤分數,並使用面板病學任務的不同可用標籤分數研究效能如何變化。使用自監督模型進行預訓練可以彌補醫學影象分類標籤效率低下的情況,並且在取樣的標籤分數中,自監督模型表現始終優於監督基線。結果還表明,使用較少的標記示例進行微調時,MICLe 會按比例提升標籤效率。事實上,MICLe 僅使用 20% 的 ResNet-50(4 倍)訓練資料和 30% 的 ResNet152(2 倍)訓練資料就能夠與基線持平。

自動駕駛

Corner Case

終結者

當自動駕駛汽車在行駛過程中,需要實時理解各種交通參與者的運動,這些運動狀態資訊對於各個技術模組來說都非常重要,涉及檢測、跟蹤、預測、規劃等等。

自動駕駛汽車通常配有多個感測器,其中最常用的是鐳射雷達。因此,如何從點雲中獲得其他交通參與者的運動資訊是一個重要課題,並且存在如下挑戰:

交通參與者的類別不一樣,每個類別都表現出特定的運動行為:

鐳射雷達點雲的稀疏性導致兩次鐳射雷達掃描的情況不能精確地對應起來;

需要在很短的時間限制內和有限的車載算力下完成計算。

1端到端訓練

根據所觀測到的歷史資訊,來預測交通場景會如何變化,從而實現預測。但是,大多數識別模型都是為檢測若干已知類別的物體而訓練的。在實際情況中,經常會遇上沒出現過的物體類別。這肯定不是長久之計。

2.基於memory bank的訓練方法

但這樣做對計算的要求太高了,自動駕駛車又特別需要達到實時性,所以根本無法進行實際應用。

二. SimCLR

把鐳射雷達的點雲畫成一個個小網格,每個網格單元被稱為體柱,點雲的運動資訊可以透過所有體柱的位移向量來描述,該位移向量描述了每個體柱在地面上的移動大小和方向。

這種表徵方法成功簡化了場景運動,反正只需要考慮在水平方向上的運動情況,而不用特別考慮垂直方向上的運動。這種方式的所有關鍵操作都可以透過2D卷積進行,計算速度非常快。但是,這種方式需要依靠大量帶有標註的點雲資料,但點雲資料的標註成本比普通影象更高。

據統計,一輛自動駕駛汽車每天會產生超過1TB的資料,但僅有不到5%的資料被利用,若能把其他資料也充分利用起來,在沒有手工標註的資料上來進行學習,那可就太高效了。

機器學習中的無監督學習應用在哪些領域呢?自動駕駛?醫療影像?

關於自監督學習的思考

三. BYOL

儘管自監督學習取得了很好的效果,但其背後的數學原理和理論基本並沒有特別紮實,大多透過實驗結果反推模型結構和策略的效果,可能造成很多研究走了彎路,從理論基礎出發,直達最終目標的效果可能會更好。

傳統做法是透過識別場景中其它交通參與者

當前替代任務的構建特別是影片方向,多與下游任務為主導,沒有特定的正規化或者規則。替代任務所能完成的任務,就是自監督模型能完成任務的邊界。替代任務的五花八門,導致各類任務的千差萬別,沒有辦法比較效能優劣,只能是單純的網路在另一個任務上的應用,當前圖片領域多基於多種資料增強方法構建替代任務,而影片領域也可以提出統一的構建方式。

能夠透過“半自動”方式做出來的替代任務少之又少,在各類的影象演算法應用中,可能是影響自監督方法適應性的絆腳石。

透過估計鐳射雷達點雲每個點的3D運動來從點雲中估計場景流

已經發現自監督中有明顯的語義分割特徵,在對比模型後端加入分割分支網路會不會對網路學習有幫助,抑或是直接訓練得到可使用的分割網路,都是值得研究的問題。

基於BEV(bird’s eye view)的方式

本質上,對比網路是除去常規網路之外,訓練得到特徵表示的一種方式而已,與前文提到的自編碼器有異曲同工之妙。對比學習的成功在於,其訓練得到的特徵提取網路,在下游任務中表現優異,也是所提特徵有效的表現。由此我們可以得到啟發,還有沒有其他的形式構建訓練網路,也能夠提取得到有效特徵。相信新模式的提出肯定也會和對比學習一樣,引領一波研究浪潮。

1.理論原理

自監督學習還處於探索階段,有很多可以深入探究的部分,相信無論在學術界和工業界自監督學習都會有廣泛的應用。作為深度學習中的一種魔法,還需要更多的人來挖掘其潛能,創造更多的神蹟。

藍海大腦超融合大資料一體機(融合計算、網路、儲存、 GPU、虛擬化的一體機; 支援主流虛擬化平臺如Vmware、Redhat、Microsoft Hyper-V 等;支援線上壓縮、重複資料自動刪除 、資料保護、容災備份及雙活等)自監督學習保駕護航,為自監督學習的發展提供了重要的後勤保障工作。