為什麼神經網絡如此強大?

聞數起舞 發佈 2020-05-29T09:14:40+00:00

眾所周知,神經網絡非常強大,可以將其用於幾乎任何統計學習問題,而且效果很好。但是您是否考慮過為什麼會這樣?

普適逼近定理

眾所周知,神經網絡非常強大,可以將其用於幾乎任何統計學習問題,而且效果很好。 但是您是否考慮過為什麼會這樣? 為什麼在大多數情況下此方法比許多其他算法更強大?

與機器學習一樣,這有一個精確的數學原因。 簡而言之,神經網絡模型描述的功能集非常大。 但是描述一組功能意味著什麼? 一組功能如何大? 這些概念乍一看似乎很難理解,但是可以正確定義它們,從而闡明為什麼某些算法比其他算法更好的原因。

機器學習作為函數逼近

讓我們以一個抽象的觀點來闡述什麼是機器學習問題。 假設我們有數據集

其中x⁽ᵏ⁾是數據點,y是與數據點相關的觀測值。 觀測值y⁽ᵏ⁾可以是實數,甚至可以是機率分布(在分類的情況下)。 任務只是找到一個函數f(x),對於該函數f(x⁽ᵏ⁾)近似為y⁽ᵏ⁾。

為此,我們預先修復了參數化的功能系列,然後選擇最適合的參數配置。 例如,線性回歸使用函數族

作為參數的函數族,以a和b為參數。

如果我們假設有一個真實的基礎函數g(x)描述了x⁽ᵏ⁾和y⁽ᵏ⁾之間的關係,則該問題可以表述為函數逼近問題。 這將我們帶入了美麗的近似理論技術領域。

近似理論入門

可能您一生中多次遇到指數函數。 它的定義是

其中e是著名的歐拉數。 這是一個超越函數,基本上意味著您無法通過有限的多次加法和乘法來計算其值。 但是,當您將其放入計算器時,您仍然會獲得價值。 該值僅是一個近似值,儘管對於我們的目的通常是足夠的。 實際上,我們有

這是一個多項式,因此可以顯式計算其值。 n越大,近似值越接近真實值。

逼近理論的中心問題是為這些問題提供數學框架。 如果您有任何函數g(x)以及從計算方面更易於處理的函數族,那麼您的目標就是找到一個與g足夠接近的"簡單"函數。 本質上,近似理論搜索三個核心問題的答案。

· 什麼是"足夠接近"?

· 我可以(或應該)使用哪個函數系列來近似?

· 從給定的近似函數族中,哪一個確切的函數最適合?

別擔心這些聽起來是否有點抽象,因為接下來我們將研究神經網絡的特殊情況。

神經網絡作為函數逼近器

因此,讓我們重申這個問題。 我們有一個函數g(x),它描述數據和觀測值之間的關係。 這不是確切已知的,僅對於某些值

其中g(x⁽ᵏ⁾)=y⁽ᵏ⁾。 我們的工作是找到一個f(x)

· 從數據中概括知識

· 並且在計算上可行。

如果我們假設所有數據點都在子集X中,則

持有,我們想要一個數量最高準則的函數

儘可能小。 您可以通過繪製這些函數,為圖形包圍的區域著色並計算沿y軸的最大擴展區域來想像這個數量。

即使我們不能評估g(x)的任意值,我們也應該始終在更廣泛的意義上接近它,而不是要求f(x)僅適合已知數據點xₖ。

因此,給出了問題。 問題是,我們應該使用哪一組函數進行近似?

具有單個隱藏層的神經網絡

從數學上講,具有單個隱藏層的神經網絡定義為

其中φ是非線性函數(稱為激活函數),例如S型函數

值x對應於數據,而wᵢ,bᵢ和vᵢ是參數。 是功能家族

足以近似任何合理的功能? 答案是肯定的!

普適逼近定理

> The universal approximation theorem in its full glory :) Source: Cybenko, G. (1989) "Approximations by superpositions of sigmoidal functions", Mathematics of Control, Signals, and Systems, 2(4), 303–314.

1989年的一個著名結果被稱為通用逼近定理,該結論指出,只要激活函數像S形函數且被逼近的函數是連續的,具有單個隱藏層的神經網絡就可以根據需要精確地對其進行逼近。 (或使用機器學習術語進行學習。)

如果確切的定理似乎很困難,請不要擔心,我將詳細解釋整個過程。 (實際上,我故意跳過了稠密之類的概念,以使說明更清晰,儘管不夠精確。)

步驟1。 假設要學習的函數是g(x),它是連續的。 讓我們固定一個小的ε並在函數周圍繪製一個ε寬的條紋。 ε越小,結果越好。

第二步。 (最困難的部分。)找到表格的功能

完全在條紋內 該定理保證了這樣的F(x)的存在,因此這個函數族被稱為通用逼近器。 這是神經網絡的真棒,賦予它們真正的力量。

但是,有幾個警告。 例如,該定理沒有說出N,也就是隱藏層中神經元的數量。 對於較小的ε,它可能非常大,從計算角度來看這是不利的。 我們希望儘快計算預測,而計算100億項之和絕對不好玩。

第二個問題是,即使該定理保證了一個良好的逼近函數的存在,也沒有告訴我們如何找到它。 儘管這可能令人驚訝,但這在數學中是非常典型的。 我們有非常強大的工具來推斷某些對象的存在,而又不能顯式構造它們。 (有一所稱為建構主義的數學學校,它拒絕純粹的存在性證明,例如通用逼近定理的原始證明。但是,這個問題根深蒂固。如果不接受非構造性證明,我們甚至無法談論 無限集上的函數。)

但是,最大的問題是,在實踐中,我們永遠不會完全了解底層功能,而只會知道所觀察到的內容:

有無數種可能的配置可以很好地適合我們的數據。 它們中的大多數可怕地概括為新數據。 您肯定知道這種現象:這是可怕的過度擬合。

擁有權利的同時也被賦予了重大的責任

所以,這是東西。 如果您有N個觀測值,則可以找到一個非常適合您的觀測值的N-1階多項式。 這沒什麼大不了的,您甚至可以使用Lagrange插值明確地寫下該多項式。 但是,它不會推廣到任何新數據,實際上會很糟糕。 下圖展示了當我們嘗試將大多項式擬合到一個小的數據集時會發生什麼。

神經網絡也有同樣的現象。 這是一個巨大的問題,而通用逼近定理給我們關於如何克服這一問題的絕對零提示。

通常,功能族的表現力越高,就越容易過度擬合。 擁有權利的同時也被賦予了重大的責任。 這稱為偏差方差折衷。 對於神經網絡,從權重的L1正則化到下降層,有很多方法可以緩解這種情況。 但是,由於神經網絡具有如此高的表現力,因此這個問題始終在後台隱約可見,需要不斷關注。

超越萬能逼近定理

正如我已經提到的,該定理沒有提供任何工具來為我們的神經網絡找到參數配置。 從實際的角度來看,這幾乎與通用逼近性質一樣重要。 幾十年來,神經網絡一直不受歡迎,因為缺乏一種計算有效的方法來使它們適合數據。 有兩項重要的進步,使它們的使用成為可能:反向傳播和通用GPU-s。 有了這兩個工具,訓練龐大的神經網絡變得輕而易舉。 您可以使用筆記本訓練最先進的模型,甚至不費吹灰之力。 自從通用逼近定理以來,我們已經走到現在!

通常,這是標準深度學習課程的起點。 由於其數學上的複雜性,因此未涵蓋神經網絡的理論基礎。 但是,通用逼近定理(及其證明中使用的工具)對神經網絡為何如此強大提供了非常深入的了解,甚至為工程新穎的體系結構奠定了基礎。 畢竟,誰說過我們只能將S型和線性函數結合起來?

(本文翻譯自Tivadar Danka的文章《Why are neural networks so powerful?》,參考:https://towardsdatascience.com/why-are-neural-networks-so-powerful-bc308906696c)

關鍵字: