通用近似定理
通用近似定理是一個令人安心的數學陳述:神經網路原則上具有足夠的表達力,能表示你可能想要的幾乎任何函數。更精確地說,一個哪怕只有單一隱藏層的網路,只要做得夠寬並給它合適的非線性激活,就能在一個有界區域上以任意所欲的精度近似任意連續函數。這是我們之所以能使用神經網路的理論許可:無論從影像到標籤的真實映射是什麼,總有某個網路能任意準確地表示它。
經典結果(Cybenko 1989 針對 sigmoid 型激活;Hornik 1991 把激活推廣)說:對緊緻(封閉且有界)集合上的任意連續函數 f,以及任意容忍度 epsilon 大於 0,存在一個有有限多個神經元、使用非多項式激活的單隱藏層網路 g,使得對該集合中所有 x,g(x) 減 f(x) 的絕對值小於 epsilon。一個互補的「深而有界寬度」版本則顯示,寬度固定但深度增長的網路也是通用的。關鍵假設是目標的連續性、有界的定義域、以及非多項式激活(多項式激活會失敗,因為它只能產生多項式)。
這個定理是一個存在性結果,而它的但書與陳述本身一樣重要。第一,它保證有一個網路存在,但不保證梯度下降會找到它。第二,「夠寬」可能意味著天文數字、甚至指數多的神經元;定理對如何高效做到隻字未提。第三,它承諾的是在訓練定義域上的近似,而非對新輸入的泛化。第四,它假設你能把權重設成正確的值,但從有限資料學出這些值是另一個、更難的問題。所以通用性解釋了網路為何「能」運作,而非某個特定訓練好的網路「為何」運作。
若原則上一個寬層就夠了,為何還要建構深層、卷積、基於注意力的視覺模型?因為在實務上重要的是效率與泛化,而非單純的可表示性。許多在淺層網路中需要指數多神經元的函數,在深層網路中只需多項式多個(深度分離結果),而架構先驗(卷積的局部性與平移等變性、注意力基於內容的路由)讓「對的函數」易於從有限資料學得。通用近似定理說目的地是可達的;現代架構設計則是關於如何用可行的規模與資料抵達那裡。
陷阱:別把這個定理過度解讀成「神經網路無所不能」。它對最佳化、樣本效率、訓練定義域之外的外推、或穩健性隻字未提;一個具通用能力的模型族仍會過擬合、被對抗樣本愚弄、並無法外推。