Neural-Networks

為什麼“堆疊更多層”有效?[複製]

  • March 7, 2018

這個問題是關於神經網絡的經驗(現實生活)使用。在我現在正在上的一門 ML 課程中,講師介紹了神經網絡的基礎知識,從基本的感知器到基本的前饋,有 1 層到 1 個隱藏層,等等。

對我來說突出的一件事是通用逼近定理。George Cybenko 在 1988 年表明,任何函數都可以通過具有 3 層的 NN 逼近到任意精度(2 個隱藏層,1 個輸出層;參見通過 Sigmoidal 函數的疊加進行逼近,[Cybenko,1989])。當然,這篇論文並沒有說每層有多少個單元,也沒有說參數的可學習性。

我想到了 Gizmodo 上的帖子Google Street View Uses An Insane Neural Network To ID House Numbers談論 Google 用於識別門牌號碼的 11 個隱藏層網絡。事實上,實際論文Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks [Goodfellow et al., 2013]說最深的網絡具有最高的準確度,準確度隨著網絡深度的增加而增加。

為什麼會這樣?為什麼“堆疊更多層”有效?定理不是已經說 2 個隱藏層就足夠了嗎?

通用逼近定理主要是證明對於每個連續映射都存在一個具有所描述結構的神經網絡,其權重配置將該映射近似為任意精度。

沒有提供任何證據證明這種權重配置可以通過傳統的學習方法學習,它依賴於每一層都有足夠的單元這一事實,但你並不真正知道什麼是“足夠”。由於這些原因,UAT 幾乎沒有實際用途。

與淺層網絡相比,深層網絡有很多好處:

  1. 層次特徵:

深度學習方法旨在學習具有較高層次特徵的特徵層次結構,這些層次層次特徵由較低層次特徵的組合形成。在多個抽象層次上自動學習特徵允許系統直接從數據中學習將輸入映射到輸出的複雜函數,而無需完全依賴於人工設計的特徵。[1]

  1. 分佈式表示:

除了架構的深度之外,我們發現另一個要素是至關重要的:分佈式表示。(…) 大多數非參數學習算法都遭受所謂的維度災難。(…)當學習算法推廣到新案例 x 的唯一方法是僅利用案例之間的相似性(…)的原始概念時,就會發生這種詛咒。這通常由學習者在其訓練示例中查找接近 x (…) 的案例來完成。想像一下,試圖通過許多小的線性或常數片段來逼近一個函數。每件作品至少需要一個示例。我們可以通過主要查看每件作品附近的示例來弄清楚每件作品應該是什麼樣子。如果目標函數有很多變化,我們就需要相應的很多訓練樣例。在維度 d (…) 中,變化的數量可能會隨著 d 呈指數增長,因此需要的示例數量也會增加。然而,(…)當我們試圖區分兩個高度複雜的區域(流形)時,我們仍然可以獲得良好的結果,例如與兩類對象相關聯。儘管每個流形可能有許多變化,但它們可能可以通過平滑(甚至可能是線性)決策面來分離。這就是局部非參數算法運行良好的情況。(…) 它們可能可以通過平滑(甚至可能是線性的)決策面來分離。這就是局部非參數算法運行良好的情況。(…) 它們可能可以通過平滑(甚至可能是線性的)決策面來分離。這就是局部非參數算法運行良好的情況。(…)

分佈式表示是數據的轉換,它緊湊地捕獲數據中存在的許多不同的變化因素。因為許多示例可以告訴我們這些因素中的每一個,並且因為每個因素都可以告訴我們一些與訓練示例相距甚遠的示例,所以可以進行非局部泛化,並避免維度的詛咒。 [1]

這可以翻譯成圖片:

非分佈式表示(由淺層網絡學習)必須為輸入空間的每個部分(由彩色超立方體表示)分配一個輸出。然而,片段的數量(以及學習這種表示所需的訓練點的數量)隨著維度呈指數增長:

維度的詛咒。 圖片來源:http://www.iro.umontreal.ca/~bengioy/yoshua_en/research.html

另一方面,分佈式表示不會嘗試完全描述輸入空間的每一部分。相反,它們通過隔離簡單的概念來劃分空間,這些概念可以在以後合併以提供複雜的信息。見下文 K 超平面如何將空間分成 2地區:

分佈式表示。 圖片來源:http://www.iro.umontreal.ca/~bengioy/yoshua_en/research.html

(圖片來自[1]

為了更深入地了解分佈式表示,我還推薦 Quora 上的這個線程:深度學習:分佈式表示是什麼意思? 3. 理論上,深度網絡可以模擬淺層網絡:

讓我們考慮一個更淺的架構和它的更深的對應物,它增加了更多的層。通過構建更深的模型存在一種解決方案:添加的層是恆等映射,其他層是從學習的較淺模型中復制的。這種構造解決方案的存在表明,較深的模型不應比其較淺的模型產生更高的訓練誤差。[2]

請注意,這也是一個理論上的結果;正如引用的論文所述,經驗上的深度網絡(沒有殘差連接)會經歷“性能下降”。


[1]:http://www.iro.umontreal.ca/~bengioy/yoshua_en/research.html

[2]:用於圖像識別的深度殘差學習(He et al., 2015)

引用自:https://stats.stackexchange.com/questions/332143

comments powered by Disqus