在線深度學習:在數據流中實時學習深度神經網絡

 2017-12-30 11:39:00.0

原標題:學界 | 在線深度學習:在數據流中實時學習深度神經網絡

在線深度學習的主要困難是模型的容量、複雜度等設置很不靈活,即模型是靜態的,而數據流是動態的。本論文提出了一種適應性的網絡框架,結合 HBP 算法,使網絡結構能隨着數據的流入而逐漸擴展、複雜化。這使得模型同時擁有在線學習和深度學習的優點,並在多種在線學習模型和數據集的對比實驗中都取得了當前最佳結果。

近年來,我們見證了深度學習技術在很多應用中的巨大成功。學習深度神經網絡面臨着很多挑戰,包括但不限於梯度消失、逐漸減少的特徵重用、鞍點(以及局部極小值)、大量的需要調節的參數、訓練過程中內部協變量的變化、選擇好的正則化方法的困難、選擇超參數,等等。儘管出現了一些很有希望的進展,但都是被設計用來解決優化深度神經網絡時遇到的具體問題的,這些方法中絕大多數都假設深度神經網絡是以批量學習的設置來訓練的,這種設置需要所有的訓練數據集在學習任務開始前準備好。這對於現實中很多數據是以流的形式先後到達的任務而言是不可能的,而且也可能沒有足夠的內存空間來存儲。此外,數據還可能表現出概念漂移(concept drift,Gama et al. 2014)。所以,一個更加理想的選擇就是以在線的形式去學習模型。

與批量學習不一樣,在線學習(Zinkevich 2003; Cesa-Bianchi and Lugosi 2006)指的是這樣一類學習算法:它們在順序到達的數據流實例中學習優化預測模型。這種動態學習使得在線學習更具有可擴展性和更高的內存效用。然而,現存的絕大多數在線學習算法都被設計成使用在線凸優化來學習淺層模型(例如,線性方法或者核方法,Crammer et al. 2006; Kivinen, Smola, and Williamson 2004; Hoi et al. 2013),它們並不能學習到複雜應用場景中的非線性函數。

在本文的工作中,我們嘗試通過解決一些「在線深度學習,ODL」中的開放性問題,例如如何從在線設置中的數據流中學習深度神經網絡(DNN),希望以此彌補在線學習和深度學習之間的鴻溝。一種可能的在線深度學習的方式就是,在每一輪在線訓練中僅在一個單獨的數據樣本上直接應用標準的反向傳播訓練。這個方法雖然簡單,但是由於某些關鍵的原因,它會很快失效。一個關鍵挑戰是如何在開始在線深度學習之前選擇合適的模型容量(例如,網絡的深度)。如果模型太複雜(例如,非常深的網絡),那麼學習過程會收斂的很慢(梯度消失和逐漸減少的特徵重用),因此就會損失在線學習的優勢。另一個極端是,如果模型太簡單,那麼學習的能力又會特別侷限,並且,缺少深度的話很難學習複雜的模式。在關於批量學習的文獻中,通常用來解決這個問題的方式是在驗證數據中做模型選擇。不幸的是,在在線設置中設定驗證數據是不太現實的,所以在在線學習的場景中使用傳統的模型選擇方法是不太現實的。在本文的工作中,我們提出了一種新型的用於在線學習的框架,它能夠從順序到達的數據流中學習深度神經網絡模型,更重要的是,隨着時間的推移,它能夠適應性地將模型容量從簡單擴展到複雜,很好地結合了在線學習和深度學習的優點。

我們的目標是設計一種在線學習算法,它能夠以一個淺層網絡開始,這時候具有快速收斂的優點;然後隨着更多的數據到達,逐漸地自動轉換成更深的模型(同時還能共享淺層網絡學到的知識),以學習更加複雜的假設,通過深度神經網絡容量的自適應特性有效地提升在線預測性能。爲了達到這個目標,我們需要解決這些問題:什麼時候改變網絡的容量?如何改變網絡的容量?如何在在線學習中同時做到這兩點?我們在統一的框架中以一種數據驅動的方式,設計了一個優雅的解決方案來完成這一切。首先,我們修改已有的深度神經網絡,即將每一個隱藏層與輸出分類器連在一起。然後,不使用標準的反向傳播算法,我們提出了新的對衝反向傳播(Hedge Backpropagation)方法,它在每一輪的在線學習中都會評估每一個分類器的性能,並且能夠通過使用對衝算法 (Freund and Schapire 1997) 中具有不同深度的分類器去擴展反向傳播算法,以便在線地訓練深度神經網絡。這允許我們訓練具有適應能力的深度神經網絡,同時在淺層網絡和深層網絡之間共享知識。

圖 1:使用對衝反向傳播(HBP)的在線深度學習框架。藍色線代表計算隱藏層特徵時的前饋信息流。橙色線表示經過對衝組合之後的 softmax 輸出(表示預測)。綠色線表示使用對衝反向傳播算法時的更新信息流。

算法 1:使用對衝反向傳播的在線深度學習。

表 3:各種算法的最終在線累積錯誤率,加粗的是最佳性能。

圖 2:在線設置的深度神經網絡在穩定場景和概念漂移場景中的收斂表現。

圖 3:在 HIGGS 數據集上使用 HBP 算法,分類器的權重分佈隨時間的變化。

論文:Online Deep Learning: Learning Deep Neural Networks on the Fly

論文鏈接:https://arxiv.org/abs/1711.03705

摘要:深度神經網絡(DNN)通常是通過反向傳播算法以批量化的學習設置來訓練的,它需要在學習任務之前就準備好所有的訓練數據。這在現實中的很多場景中是不可擴展的,因爲現實中的新數據都是以數據流的形式先後到達的。我們的目標是解決在高速數據流中進行在線參數設置的「在線深度學習」的一些開放性問題。與經常在淺層神經網絡中最優化一些凸性目標函數的傳統在線學習(例如,線性的/基於核的假設)不一樣的是,在線深度學習(ODL)更加具有挑戰性,因爲深度神經網絡中的目標函數的優化是非凸的,而且常規的反向傳播在實際過程中也不能很好地奏效,尤其是在線學習的設置中。在這篇論文中,我們提出了一種新的在線深度學習框架,通過在線學習設置中使用一連串的訓練數據,學習 DNN 模型的適應性深度,以解決這些挑戰。實際上,爲了高效地更新 DNN 中的參數,我們提出了一個新型的對衝反向傳播(Hedge Backpropagation,HBP)方法,並在大規模的數據集上驗證了我們的方法,包括穩定的場景和概念漂移的場景。


文章來源:機器之心