Deep learning:二十一(隨機初始化在無監督特征學習中的作用)


 

  這又是Ng團隊的一篇有趣的paper。Ng團隊在上篇博客文章Deep learning:二十(無監督特征學習中關於單層網絡的分析)中給出的結論是:網絡中隱含節點的個數,convolution尺寸和移動步伐等參數比網絡的層次比網絡參數的學習算法本身還要重要,也就是說即使是使用單層的網絡,只要隱含層的節點數夠大,convolution尺寸和移動步伐較小,用簡單的算法(比如kmeans算法)也可取得不亞於其它復雜的deep learning最優效果算法。而在本文On random weights and unsupervised feature learning中又提出了個新觀點:即根本就無需通過那些復雜且消耗大量時間去訓練網絡的參數的deep learning算法,我們只需隨機給網絡賦一組參數值,其最終取得的特征好壞不比那些預訓練和仔細調整后得到的效果些,而且這樣還可以減少大量的訓練時間。

  以上兩個結論不免能引起大家很多疑惑,既然這么多人去研究深度學習,提出了那么多深度學習的算法,並構建了各種深度網絡結構,而現在卻發現只需用單層網絡,不需要任何深度學習算法,就可以取得接近深度學習算法的最優值,甚至更好。那么深度學習還有必要值得研究么?單層網絡也就沒有必要叫深度學習了,還是叫以前的神經網絡學習算了。這種問題對於我這種菜鳥來說是沒法解答的,還是靜觀吧,呵呵。

  文章主要是回答兩個問題:1. 為什么隨機初始化有時候能夠表現那么好? 2. 如果用無監督學習的方法來預賦值,用有監督學習的方法來微調這些值,那這些方法的作用何在?

  針對第一個問題,作者認為隨機初始化網絡參數能夠取得很好的效果是因為,如果網絡的結構確定了,則網絡本身就對輸入的數據由一定的選擇性,比如說會選擇頻率選擇性和平移不變性。其公式如下:

   

  因此,最優輸入處的頻率是濾波f取最大的幅值時的頻率,這是網絡具有頻率選擇性的原因;后面那個相位值是沒有固定的,說明網絡本身也具有平移不變形選擇性。(其實這個公式沒太看得,文章附錄有其證明過程)。下面這張圖時隨機給定的網絡值和其對應的最佳響應輸入:

   

  其中圓形卷積是指其卷積發生可以超出圖片的范圍,而有效卷積則必須全部在圖片范圍內進行。其示意圖可以參考下面的:

   

  作者給出了沒有使用convolution和使用了convolution時的分類准確度對比圖,圖如下所示:

   

  其中不使用convolution和使用convolution的區別是,前者在每個位置進行convolution時使用的網絡參數是不同的,而后者對應的參數是相同的。由上圖也可以知道,使用convolution的方法效果會更好。

  下面是作者給出第二個問題的答案,首先看下圖:

   

  由上圖可知,使用預訓練參數比隨機初始化參數的分類效果要好,測試數據庫是NORB和CIFAR。預訓練參數值的作用作者好像也沒給出具體解釋。只是給出了建議:與其在網絡訓練方法上花費時間,還不如選擇一個更好的網絡結構。

  最后,作者給出了怎樣通過隨機算法來選擇網絡的結構。因為這樣可以節省不少時間,如下表所示:

   

 

  參考資料:

  On random weights and unsupervised feature learning. In ICML 2011,Saxe, A., Koh, P.W., Chen, Z., Bhand, M., Suresh, B., & Ng, A. (2011). 

     Deep learning:二十(無監督特征學習中關於單層網絡的分析)

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM