谷歌大腦:基於元學習的無監督學習更新規則
這期論文Express,讓文摘菌帶大家來看看谷歌大腦和伯克利關於無監督學習的聯合研究。
無監督學習的一個主要目的是為了獲得對後續任務有用的數據分布,從而避免在有監督訓練過程中需要對數據進行標註的繁瑣步驟。
通常,這個目標是通過定義一個代價函數(Cost Function)來最小化估計參數的方式實現的,例如negative log-likelihood(NLL)生成模型。
論文作者:Luke Metz、Niru Maheswaranathan、Brian Cheung、Jascha Sohl-Dickstein(谷歌大腦/加州大學伯克利分校)
本文提出了基於元學習的無監督學習更新規則,利用元學習技術對無監督權重的更新規則進行學習,在針對小樣本分類任務上表現良好。
此外,我們將無監督學習更新規則約束為一個生物機制的局部神經元函數,從而推演一種全新的神經網路結構。
基於元學習的無監督學習更新規則可概括為訓練不同寬度,深度和非線性的網路。它還可以訓練具有隨機排列輸入維度的數據,甚至還可以從相對複雜的圖像數據集泛化到一個文本任務。
相關工作
下表中列出了已經在論文中發表的元學習方法,從選擇不同的任務類型、元學習結構、元架構和域等方面進行了全面的比較。
已發表的元學習方法比較
模型設計
我們將參數為?t的多層感知機(MLP)f(·; ?t)作為基礎模型,元學習過程的內部循環通過迭代應用學習優化器來訓練模型,下圖是模型結構示意。
模型結構
在標準的監督學習中,「學習」優化過程就是隨機梯度下降(SGD)。有監督損失函數l (x, y)與這個模型相關,其中x是小樣本輸入,y是相對應的標籤。通過使用梯度?l(x,y)/ ?φ_t執行SGD,迭代更新基礎模型的參數φ_t至收斂。有監督更新規則可以被寫成:
其中θ是優化器的參數(例如學習速率),我們稱其為元參數(通常也叫做超參數)。
本文中的學習優化器是一個參數更新過程,它並不依賴於標籤信息,
在傳統的無監督學習演算法中,專家知識或者一個簡單的超參數搜索決定了θ,其中包括一些元參數,例如學習率和正則化常數。相比之下,我們的更新規則有更多數量級的元參數,例如神經網路的權重。我們在元目標上執行SGD來訓練這些元參數,以便找到最佳參數θ?,將一組訓練任務的元目標最小化。
訓練更新規則
近似梯度訓練
考慮到θ的高維性質,本文通過截斷BP演算法評估?[MetaObjective]/ ?θ對參數θ進行優化,採樣每次截斷的步數和無監督訓練步數的總數以限制由截斷引入的潛在偏差。
梯度穩定訓練
限制最大內環步長對於優化器的穩定性至關重要。如果不限制學習率,優化器的學習速度會迅速提高並進入混沌區域。
當使用學習優化器時,特別是在學習優化器的元訓練的初期,學習優化器很容易在基礎模型中產生高方差權重,批標準化(Batch Norm)通過增加權重空間可以解決上述問題。
元訓練的分布與泛化
本文中學習優化器的泛化來自於無監督更新(UnsupervisedUpdate)的形式和元訓練分布。此外對數據集和基礎模型架構上的分布也進行了訓練。
本文構建了一套由CIFAR10、來自ImageNet的子集的多類識別和一個由渲染字體組成的數據集組成的訓練任務。
我們發現增加訓練數據集的變化有助於優化過程。為了減少計算量,我們將輸入數據大小限制為小於16x16像素,並相應地調整所有數據集的大小。
在預處理中,我們根據特徵維度對所有輸入進行轉置,以便無監督更新能夠學習到一個置換不變性學習規則。
為了增加數據集的變化,我們還通過移位,旋轉和雜訊來擴大數據集,並將這些增強係數作為元目標的附加回歸目標,例如旋轉圖像並預測旋轉角度以及圖像類別。
實驗結果
本文研究了現有的無監督學習和元學習方法的局限性,然後展示了我們提出的學習優化器的元訓練(meta-training)和泛化特性,最後對學習優化器的運行原理進行說明。
目標函數失配
儘管變分自編碼器(variational auto-encoder,VAE)分類準確率在一定範圍內會隨著訓練步數的增加而提高,但在訓練後期,其分類準確率會所下降。這種結果是由於目標函數失配引起的,例如下圖中小樣本分類結果。
半監督學習演算法的失效模式
上圖中,左圖是目標函數失配曲線。右圖是原型網路在隨機輸入下的分類準確率。
元優化(Meta-Optimization)
在訓練過程中,通過平均所有數據集、模型結構和演算法展開執行步驟,監測了元目標(meta-objective)的移動平均數,如下圖所示。
訓練和評估任務分布的訓練曲線
上圖中,經過200小時的訓練後,訓練損失在不斷下降,表明近似的訓練演算法都可以進行有效的學習。為了獲得全局參數,我們在多種訓練集和測試集上運行了學習優化器,如右圖所示。其中,像imagenet、MNIST和Fashion Mnist等數據集的評估損失都有所下降。在訓練像IMDB等數據集,就出現了過擬合現象。因此,在200小時後的元訓練中,我們用元參數θ進行無監督更新。
泛化
我們最先泛化的對象就是數據集。在下圖中,通過在學習模型中嵌入了針對像素的後驗分布的變分自編碼器,並通過有監督學習比較了小樣本分類(每一類有10個樣本)的性能,如下圖所示。
學習優化器泛化到不可見的數據集
上圖中,在同一標籤數據集上,我們學習的更新規則產生的表達能力比隨機初始化或變分自編碼器的輸出結果更適合小樣本分類。
為了進一步探索優化器的泛化能力,我們利用二進位文本分類數據集:IMDB電影評論,訓練了學習優化器,該數據集通過計算一個包含1000個單詞的詞袋進行編碼。
我們分別使用訓練了30個小時和200個小時的模型來評估元訓練的效果。儘管只利用了圖像數據進行訓練,訓練了30個小時的學習優化器比隨機初始化的識別準確率提高了近10%。
我們要泛化下一個的屬性是神經網路結構。我們使用學習優化器訓練不同深度和單位計數的模型,並比較了在不同時間點的結果,如下圖所示。結果表明,儘管只訓練了2-5層的網路和每層64-512個單元,學習規則可泛化到11層,每層10000個單元。
接下來我們將考察模型在不同激活函數上的泛化。我們將學習優化器應用於具有多種不同激活功能的基礎模型上。在訓練過程中不同點上的性能評估可以在下圖中看到。
儘管訓練中只使用了ReLU激活函數,但我們的學習優化器在所有情況下的表現都優於隨機初始化。
探索學習優化器的學習過程
為了理解演算法的學習過程,我們在學習優化器中輸入了兩個moon數據集。儘管是二維數據集,與元訓練中使用的圖像數據集不同,但學習模型仍然能夠識別出以一種完全無監督的方式生成的數據集,如下圖所示。
上圖是經過學習優化器分類後的可視化結果。輸入數據集分別為moon和MNIST,學習演算法能對無標籤的數據進行分類。可視化結果顯示了從基本網路結構利主成份分析(PCA)降維後的結果,並選取了前三個主成分的進行展示。
此外,學習演算法能夠沿著不同的主成分方向分離出各類數據。
結論
本文提出了一種基於元學習的無監督學習更新規則,實驗結果表明演算法的性能優於與現有的無監督學習演算法。此外,更新規則可以訓練不同寬度、深度和激活函數的模型。
來自:大數據文摘
論文地址:https://arxiv.org/pdf/1804.00222.pdf
- 加入人工智慧學院系統學習 -
※注意:再不轉行,你工作5年的薪資都不如AI應屆生!
※CVPR2018:基於時空模型無監督遷移學習的行人重識別
TAG:AI講堂 |