1. 程式人生 > >無監督學習及其主要研究進展

無監督學習及其主要研究進展

無監督學習可謂是深度學習的聖盃,其目標是建立可相容小資料集進行訓練的通用系統,即便是很少的資料。

如今深度學習模型往往在大型監督型資料集上訓練。所謂監督型資料集,即每條資料都有一個對應的標籤。比如流行的ImageNet資料集,有一百萬張人為標記的影象。一共有1000個類,每個類有1000張影象。建立這樣的資料集需要花費大量的精力,同時也需要很多的時間。現在想象建立一個有1M個類的資料集。試想一下,對有100M資料幀的視訊資料集的每一幀進行分類。該任務量簡直不可估量。

現在,回想一下你在小時候是如何進行學習的。是的,那時候會有人指導你,你的父母會告訴你這是一個“貓”,但是他們不會在你餘生的每一分每一秒都告訴你這是一隻“貓”!如今的監督學習也是這樣:我一次一次地告訴你,什麼是“貓”,也許高達100萬次。然後你的深度學習模型就學會了。

理想情況下,我們希望有一個模型,它的表現與我們的大腦非常相似。只需少量的標籤便可理解這個多類的世界。這裡所說的類,主要是指物件類、動作類、環境類、物件組成類等等。

基本概念

無監督學習研究的主要目標是預訓練一個模型(稱作“識別”或“編碼”)網路,供其他任務使用。編碼特徵通常能夠用到分類任務中:例如在ImageNet上訓練會表現出很好的結果,這與監督模型非常接近。

迄今為止,監督模型總是比無監督的預訓練模型表現的要好。其主要原因是監督模型對資料集的特性編碼的更好。但如果模型運用到其他任務,監督工作是可以減少的。在這方面,希望達到的目標是無監督訓練可以提供更一般的特徵,用於學習並實現其它任務。

自動編碼器(auto-encoders)

該理論主要源於1996年Bruno Olshausen and David Field發表的文章。此文表明,編碼理論可應用於視覺皮層感受野。他們發現,我們大腦的主要視覺皮層(V1)使用稀疏原理來建立可以用來重建輸入影象的最小基函式子集。

更多內容請點選這裡

YannLeCun團隊在該領域也做了很多工作。在餘下的文章中,你將看到一個很好的例子來解釋類似V1的稀疏濾波器是如何學習的。

棧式自動編碼器也會被用到,以貪婪式的方式逐層重複訓練。

自動編碼器方法也被稱為“直接對映”方法。

堆疊無監督層(stacked unsupervised layers)

一種結合k-均值聚類方法去學習多層中過濾器的技術。

受限玻爾茲曼機(RBMs)、深度玻爾茲曼機(DBMs)、深度信念網路(

DBNs)因很難解決它們配分函式的數值而成為眾所周知的難題。因此它們並沒有被廣泛地用來解決實際問題。

生成模型(generative models)

生成模型,嘗試在同一時間建立一個分類(識別器或編碼器)網路和一個生成影象(生成模型)模型。這種方法起源於Ian Goodfellow和 Yoshua Bengio的開創性工作。

Alec Radford、Luke Metz和Soumith Chintala的DCGAN是一種生成對抗模型,例項化這種模型,能夠得到很好的結果。

模型的具體解釋請點選這裡。下面是系統框架圖:

圖片描述

DCGAN識別器的目的是識別輸入影象是否真實,或來自資料集,或是生成器生成的偽圖。該生成器需要一個隨機噪聲向量(用1024個數值表示)作為輸入,併產生一個影象。

在DCGAN中,生成器網路如下:

圖片描述

識別器是一個標準的神經網路。詳情請見下文。

關鍵是以並行的方式訓練兩個網路而不是完全地過度擬合,從而複製資料集。學習特徵需要推廣到未知的例項,因此用於學習的資料集將不能再用。

Torch7提供了DCGAN的訓練程式碼,可用於實驗之中。

在生成器和識別器網路訓練好之後,兩者便可使用了。主要目標是為其它任務訓練一個很好的識別器網路,例如對其它資料集進行分類。生成器則可用於生成隨機向量的影象。這些影象有著非常有趣的特性。首先,他們提供了輸入空間的平滑轉換。看下面這個例子,它展示了在9個隨機輸入向量之間進行移動產出的影象:

圖片描述
輸入向量空間還提供數學特性,表明學習特徵是根據相似性進行組織的:
圖片描述

由生成器學到的光滑空間表明識別器也具有類似的性質,使它成為影象編碼出色的特徵提取器。這在不連續影象資料集訓練CNN網路的經典問題上很有幫助,在這些資料集,對抗性噪聲往往致使其走向失敗

從資料模型中學習

以解決拼圖遊戲來視覺化表示無監督學習是個精巧的做法。作者將影象分成一個拼圖,並訓練一個深度神經網路來解決這個難題。由此所得網路是效能最高的預訓練網路之一。

以影象補丁和區域性性修復來展示無監督學習也是一個巧妙的做法。在這裡,他們提取位於同一影象相近的兩個補丁。從統計學來講,這些補丁是相同的物件。第三個補丁是從一個隨機的圖片和位置中提取而得的,在統計學上與其它兩個補丁不一樣。然後使用深度神經網路進行訓練,來區分同一物件的兩個補丁或不同物件。由此所得網路也是效能最高的預訓練網路之一。