閱讀424 返回首頁    go 阿裏雲 go 技術社區[雲棲]


深度學習網絡大殺器之Dropout(II)——將丟棄學習視為集成學習之我見

更多深度文章,請關注雲計算頻道:https://yq.aliyun.com/cloud


關於dropout的分析,可以見博主的另外一篇文章:

《深度學習網絡大殺器之Dropout——深入解析Dropout》

1.引言

隨著2012年Hiton的文章《ImageNet classification with deep convolutional neural networks》[1]的問世,掀開了學術界深度學習快速發展的序幕;而阿法狗打敗世界頂級棋手李世石後,再次經過一年多的“深山老林修煉”,強化後完勝世界圍棋冠軍柯潔,讓人們感受到了人工智能的發展速度與工業化進程的到來。目前深度學習在很多領域的都吸引眾多研究者的注意,比如目標識別、語言識別、目標檢測、圖像分類等,深度學習在這些領域以自動提取特征的能力表現出優異的性能。

深度學習較傳統網絡而言,使用的是一個非常深層的神經網絡,並采用大數量的數據集。因此,在這個過程中會麵臨一個嚴峻的問題——過擬合。什麼是過擬合呢?打個比方,高考前各種刷題全部能做對但理解的不好,很多答案都是強行背下來的,但是一到考場題目稍微變一點,整個人就懵了。這是因為對於機器而言,使用算法學習數據的特征時候,樣本數據的特征可以分為局部特征和全局特征,全局特征就是任何你想學習那個概念所對應的數據都具備的特征,而局部特征則是你用來訓練機器的樣本裏頭的數據專有的特征。機器在學習過程中是無法區別局部特征和全局特征的,於是機器在完成學習後,除了學習到了數據的全局特征,也可能學習得到一部分局部特征,而學習的局部特征比重越多,那麼新樣本中不具有這些局部特征但具有所有全局特征的樣本也越多,於是機器無法正確識別符合概念定義的“正確”樣本的幾率也會上升,也就是所謂的“泛化性”變差,這是過擬合會造成的最大問題。

那麼為了避免過擬合的出現,通用的做法是在算法中使用正則化,這也是Hinton在文獻[2]中提出的技巧“(dropout learning)”。丟棄學習包含兩個步驟在學習階段,是以概率p忽略掉一些隱藏節點,這一操作減小了網絡的大小;而在測試階段,學習的節點和那些沒有被學習的節點求和後並乘以丟棄概率p計算得到網絡的輸出。我們發現可以將學習到的節點與沒有學習的節點求和相乘概率p這一過程看作是集成學習。

集成學習(Ensemble Learning)是使用一係列學習器進行學習,並使用某種規則把各個學習結果進行整合從而獲得比單個學習器更好的學習效果的一種機器學習方法,相對於單個分類器作為決策者,集成學習的方法就相當於多個決策者共同進行一項決策。可以看到,這與分而治之地把問題分解成若幹個子問題,然後再想辦法從個別解綜合求得整體解是不同的。集成學習的處理過程是不是有點熟悉?是不是與丟棄學習類似?下麵將具體分析如何將丟棄學習看成是集成學習。

2.模型

1e4493c0aad39023292de88387c552f119ba6d83

從圖中可以看到,老師和學生都是一個具有N輸入節點、多個隱藏節點及一個輸出節點組成的軟決策機。老師是由K個隱層節點組成,而學生是由K’個隱藏節點組成,每一個隱藏節點都是一個感知機,老師的第k個隱藏權重向量用4e629e4253121d756ec24e959d92a07609eaf685 表示,學生的第k’個隱藏權重向量用8e534bca3d303d9db7888832b8cb11ff3df32fa9表示,其中m表示學習迭代次數。在軟決策機中,所有的隱藏節點到輸出節點的權重固定為+1,這種網絡計算得到的是隱藏層輸出的多數表決結果。另外假設老師和學生的輸入都是716ddf3d388f5830a223dbcc03d5bd064be2cc08、老師的輸出是d4893c6fffb84c24278ffcae24d6226895b0e7775ada8f8e7eecb2b2f2a0ce7add403395d9bd8be3,學生的輸出是2cea0017a921b6eb80b07e846812332b2a85240c。其中g(.)表示的是隱藏節點的輸出函數,fc0da1747e007eff16bc429ace63f7fb114c0bb5是老師模型中第k個隱藏節點通過b6baa4a480da69ad58400fbf99a6776061c13349計算得到;同理,ba90af001be932d8d70ed7fbac6b20f1eb407416是學生模型中第k’個隱藏節點通過c3e7d7b110d553cfcd19fd1411c4d075987f5dea計算得到。

同時我們假設輸入向量d25a58c3dfbf86f32d423486042dad3e05eda160中的第i個元素d1d7e524d9ad3f6a097c4360c58a16644a0d91f8是具有零均值和單位方差的獨立隨機變量,即輸入的第i個元素來自於概率分布d8061d63dc1313a291381a3d39ecf5485bfceaf1,並且由熱力學極限假設可知68d80e4f7c47fc28ab06a84afc33a8b8330f8f9c10ee3260f1b4715ea7c71b1adc4909047579bf7f,其中<>表示求平均,||.||表示求向量的模;對於中間隱藏層而言,每一個元素Bki,k=1~K是來自於零均值和方差為1/N的概率分布同樣地,由熱力學極限假設可知8c07a1ec17a7ddfda7f5afc3d2777a503b33ed1755583f409b3f3cd11101768d91400027ba06d73d252bc7c2b382c5a3973042a49c11de812910c776,這也意味著任意兩個b3c0daadbbcf34fb666a62a33f9e74c38e8fe266,另外fc0da1747e007eff16bc429ace63f7fb114c0bb5服從零均值和單位方差的高斯分布。

基於以上分析,我們假設每個元素8382447cdfa89b0cd21ed8be3631f0c71bc7cacf來自於零均值和方差為1/N的概率分布,統計學生的第k’個隱藏權重向量得到322c6e37c0c81eb2d61b8733a5db5d37a594449fea3af8ae433e2d30226a0433d0900ea44543024a,這意味著任意兩個4df29674d784fc73b22a96337e3889c609e6af01。學生網絡的隱藏節點輸出函數g(.)與老師網絡一樣,統計學生的第m次迭代的權重向量得到b2528bc9400fbad48cfdf10ea3f0fdd8b5993ee5,其中aa83eaaf3e08d83c05f5688a87c31e7f4480feb30cba82fe27015c9b45010cbe4afa401e03511ece服從零均值和方差為55715874d05fb5f36ad1a1b6c7c2104fa4dcbae0的高斯分布。

接下來,引入隨機梯度下降算法(SGD),泛化誤差定義為下式:

0c52e8281ad327749cbe20467456ed8abdbd8e01 

3f97feeca9c1ecf6096d09949e498e690ca06456 

其中η是學習步長大小,g’(x)是實際隱藏節點輸出函數g(x)的導數。

通過在線學習來訓練網絡,每次使用的是一個新輸入,因此不會發生過擬合現象。為了評估丟棄學習,預先選擇整個輸入經常是使用的在線方式。根據經驗,當輸入是N,如果預先選定10xN的輸入就會導致過擬合的現象。

3.丟棄學習和集成學習

       

db3cd1975a0a92fd6fa15e0658395c9385de305d

其中1b33934ee791f009987236309370999550307f61是平均權重,9b89fbb1fe611960ccde06f69f7c4acd245cc8cd是學生數量。

2展示了計算機仿真的結果,老師和學生模型都包含兩個隱藏節點,輸出函數g(x)是誤差函數4eabb846a1e7160834cbbcdbc6c453ead139c132adb4192ff163180b14a973e0a15fe53d8a1ddcc4。從圖中可以看到,水平坐標軸是時間t=m/N,這裏m是迭代次數,N是輸入節點的維度,取N=10000,並且10xN輸入經常被使用;縱坐標是均方誤差(MSE),每個元素d1d7e524d9ad3f6a097c4360c58a16644a0d91f8都是零均值單位方差的獨立隨機變量。圖2中“single”是使用一個學生的實驗結果,“m2”是同時使用兩個學生的結果,同理可得,“m3”和“m4”分別是同時使用3個學生和4個學生的結果。正如圖2所示,同時使用4個學生的效果要優於其他兩種情況。

3609b56e4dc76aa2ab558346ee80c9356392ca83

下麵我們將修改集成學習,將學生模型(K’個隱藏節點)劃分為Ken個網絡,如圖3所示(這裏K’=4Ken=2),劃分後的網絡將單獨學習老師模型,並且通過將輸出dfcbb9f528f9d166beac685acea951f21a8cb488平均得到整體輸出sen

 fee5b56d07432979cec863abc75c328ed4bfb3b2fee5b56d07432979cec863abc75c328ed4bfb3b2


其中,f98ad5585914b4939a51daaace3e8be0afbdd6ac是劃分後的網絡的輸出,0954d3ce62c1b4076713fa4b56553d25a1a3a56d是第3646fa417e0eb6db9916ab700c135e090a2cce80劃分網絡中的第l’個隱藏輸出;將等式3和等式4對比來看,當c9181190ab8cfdcbce859263bf5a283fe9698471bba277a3007e303ea436d9304a2e96d5519b3d0e,兩等式相等。

ad5d1ab641fb5101ed8678a100cd4c58245f2af6

db61866ff8a7047edda593fd3ee44d8891aac9c0 

其中,eaf464e98193b3823d82843ff2842df4fab33079表示隱藏節點的集合。在學習之後,學生們的輸出s(m)是通過將學習的隱藏節點輸出求和後並乘以丟棄概率p得到。

 26b1183bf092f6c3a109b144b23efd819c986214

當丟棄概率p=0.5時,上式可以看成是一個學習網絡(第一項)與不學習網絡(第二項)的集成。當44745390a64c659f17cf3625a8b00783c4382d642ce16ff89a5ed09000e02df28b1748bc91afb35e時,等式6對應於等式4。然而,eaf464e98193b3823d82843ff2842df4fab33079在每次迭代學習中是隨機挑選的,因此,丟棄學習可以看成是在每次迭代中不同隱藏節點集合的集成學習表現。

4.結果

     

在這一部分,我們將誤差函數e03da38f8430bbe6652bde56c03320e9509a9865用作輸出函數g(x),比較丟棄學習與集成學習。針對於集成學習,將隱藏節點設置為50;針對於丟棄學習,將隱藏節點設置為100,並設置丟棄概率p為0.5,即丟棄學習將選擇50個隱藏節點作為eaf464e98193b3823d82843ff2842df4fab33079及剩餘的50個節點不被選擇;輸入維度N=1000,學習率η=0.01。仿真結果如圖5所示,其中橫縱坐標跟圖4的含義相同,在圖5(a)中,“single”表示使用50個隱藏節點的軟決策機的結果,“ensemble”表示使用集成學習的結果;圖5(b)中,“test”表示測試數據的MSE,“learn”表示學習數據的MSE。

4579119c8a16f9ee0ea8ffae92a9bd19aed312dd

正如圖5(a)所示,集成學習實現的MSE要比單獨一個網絡的MSE更小,然而,丟棄學習實現的MSE比集成學習的MSE更小。因此,在每次迭代中,集成學習使用不同的隱藏節點集合比使用相同隱藏節點集合的性能更好

3bf48eb7ab03fac27f6cd7bc155a990d96977e3b 

其中,αL2範數的係數,也稱為懲罰係數。

425e2ce08be53e903ebfec20a4598ef009441343

對比圖6和圖5(b)可以看到,丟棄學習與帶有L2範數的隨機梯度下降算法的結果幾乎相同。因此,丟棄學習的正則化效果與L2範數的相同。注意到,L2範數的隨機梯度下降算法中,我們在每次嚐試中必須選擇α參數,而丟棄學習不需要調節參數。

5.結論

[1]Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.

[2]Hinton G E, Srivastava N, Krizhevsky A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science, 2012, 3(4):pages. 212-223.

Kazuyuki Hara,東京都理工大學教授,研究方向是機器學習與在線學習

本文由北郵@愛可可-愛生活老師推薦,阿裏雲雲棲社區組織翻譯。

文章原標題《Analysis of dropout learning regarded as ensemble learning》,作者:Kazuyuki Hara譯者:海棠,審閱:

文章為簡譯,更為詳細的內容,請查看原文

最後更新:2017-06-25 19:02:16

  上一篇:go  從入門型到企業型:雲服務器開放共享型到獨享型規格升級變配
  下一篇:go  退出VIM