在理解通用近似定理之前,你可能都不會(huì)理解神經(jīng)網(wǎng)絡(luò)
此前,圖靈獎(jiǎng)得主、深度學(xué)習(xí)先驅(qū) Yann LeCun 的一條推文引來眾多網(wǎng)友的討論。
在該推文中,LeCun 表示:「深度學(xué)習(xí)并不像你想象的那么令人印象深刻,因?yàn)樗鼉H僅是通過曲線擬合產(chǎn)生的插值結(jié)果。但在高維空間中,不存在插值這樣的情況。在高維空間中,一切都是外推。」

而 LeCun 轉(zhuǎn)發(fā)的內(nèi)容來自哈佛認(rèn)知科學(xué)家 Steven Pinker 的一條推文,Pinker 表示:「 通用近似定理很好地解釋了為什么神經(jīng)網(wǎng)絡(luò)能工作以及為什么它們經(jīng)常不起作用。只有理解了 Andre Ye 的通用近似定理,你才能理解神經(jīng)網(wǎng)絡(luò)。」

Pinker 所提到的 Andre Ye,正是接下來要介紹《You Don’t Understand Neural Networks Until You Understand the Universal Approximation Theorem》文章的作者。雖然該文章是去年的,但在理解神經(jīng)網(wǎng)絡(luò)方面起到非常重要的作用。
在人工神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)理論中, 通用近似定理(或稱萬能近似定理)指出人工神經(jīng)網(wǎng)絡(luò)近似任意函數(shù)的能力。通常此定理所指的神經(jīng)網(wǎng)絡(luò)為前饋神經(jīng)網(wǎng)絡(luò),并且被近似的目標(biāo)函數(shù)通常為輸入輸出都在歐幾里得空間的連續(xù)函數(shù)。但亦有研究將此定理擴(kuò)展至其他類型的神經(jīng)網(wǎng)絡(luò),如卷積神經(jīng)網(wǎng)絡(luò)、放射狀基底函數(shù)網(wǎng)絡(luò)、或其他特殊神經(jīng)網(wǎng)絡(luò)。
此定理意味著神經(jīng)網(wǎng)絡(luò)可以用來近似任意的復(fù)雜函數(shù),并且可以達(dá)到任意近似精準(zhǔn)度。但它并沒有告訴我們?nèi)绾芜x擇神經(jīng)網(wǎng)絡(luò)參數(shù)(權(quán)重、神經(jīng)元數(shù)量、神經(jīng)層層數(shù)等等)來達(dá)到我們想近似的目標(biāo)函數(shù)。
1989 年,George Cybenko 最早提出并證明了單一隱藏層、任意寬度、并使用 S 函數(shù)作為激勵(lì)函數(shù)的前饋神經(jīng)網(wǎng)絡(luò)的通用近似定理。兩年后 1991 年,Kurt Hornik 研究發(fā)現(xiàn),激活函數(shù)的選擇不是關(guān)鍵,前饋神經(jīng)網(wǎng)絡(luò)的多層神經(jīng)層及多神經(jīng)元架構(gòu)才是使神經(jīng)網(wǎng)絡(luò)有成為通用逼近器的關(guān)鍵
最重要的是,該定理解釋了為什么神經(jīng)網(wǎng)絡(luò)似乎表現(xiàn)得如此聰明。理解它是發(fā)展對(duì)神經(jīng)網(wǎng)絡(luò)深刻理解的關(guān)鍵一步。
更深層次的探索
緊湊(有限、封閉)集合上的任何連續(xù)函數(shù)都可以用分段函數(shù)逼近。以 - 3 和 3 之間的正弦波為例,它可以用三個(gè)函數(shù)來近似——兩個(gè)二次函數(shù)和一個(gè)線性函數(shù),如下圖所示。

然而,Cybenko 對(duì)這個(gè)分段函數(shù)描述更為具體,因?yàn)樗梢允呛愣ǎ举|(zhì)上通過 step 來擬合函數(shù)。有了足夠多的恒定域 (step),我們就可以在給定的范圍內(nèi)合理地估計(jì)函數(shù)。

基于這種近似,我們可以將神經(jīng)元當(dāng)做 step 來構(gòu)建網(wǎng)絡(luò)。利用權(quán)值和偏差作為「門」來確定哪個(gè)輸入下降,哪個(gè)神經(jīng)元應(yīng)該被激活,一個(gè)有足夠數(shù)量神經(jīng)元的神經(jīng)網(wǎng)絡(luò)可以簡(jiǎn)單地將一個(gè)函數(shù)劃分為幾個(gè)恒定區(qū)域來估計(jì)。
對(duì)于落在神經(jīng)元下降部分的輸入信號(hào),通過將權(quán)重放大到較大的值,最終的值將接近 1(當(dāng)使用 sigmoid 函數(shù)計(jì)算時(shí))。如果它不屬于這個(gè)部分,將權(quán)重移向負(fù)無窮將產(chǎn)生接近于 0 的最終結(jié)果。使用 sigmoid 函數(shù)作為某種處理器來確定神經(jīng)元的存在程度,只要有大量的神經(jīng)元,任何函數(shù)都可以近乎完美地近似。在多維空間中,Cybenko 推廣了這一思想,每個(gè)神經(jīng)元在多維函數(shù)中控制空間的超立方體。
通用近似定理的關(guān)鍵在于,它不是在輸入和輸出之間建立復(fù)雜的數(shù)學(xué)關(guān)系,而是使用簡(jiǎn)單的線性操作將復(fù)雜的函數(shù)分割成許多小的、不那么復(fù)雜的部分,每個(gè)部分由一個(gè)神經(jīng)元處理。

自 Cybenko 的初始證明以后,學(xué)界已經(jīng)形成了許多新的改進(jìn),例如針對(duì)不同的激活函數(shù)(例如 ReLU),或者具有不同的架構(gòu)(循環(huán)網(wǎng)絡(luò)、卷積等)測(cè)試通用近似定理。
不管怎樣,所有這些探索都圍繞著一個(gè)想法——神經(jīng)網(wǎng)絡(luò)在神經(jīng)元數(shù)量中找到優(yōu)勢(shì)。每個(gè)神經(jīng)元監(jiān)視特征空間的一個(gè)模式或區(qū)域,其大小由網(wǎng)絡(luò)中神經(jīng)元的數(shù)量決定。神經(jīng)元越少,每個(gè)神經(jīng)元需要監(jiān)視的空間就越多,因此近似能力就會(huì)下降。但是,隨著神經(jīng)元增多,無論激活函數(shù)是什么,任何函數(shù)都可以用許多小片段拼接在一起。
泛化和外推
有人可能指出,通用近似定理雖然簡(jiǎn)單,但有點(diǎn)過于簡(jiǎn)單(至少在概念上)。神經(jīng)網(wǎng)絡(luò)可以分辨數(shù)字、生成音樂等,并且通常表現(xiàn)得很智能,但實(shí)際上只是一個(gè)復(fù)雜的逼近器。
神經(jīng)網(wǎng)絡(luò)旨在對(duì)給定的數(shù)據(jù)點(diǎn),能夠建模出復(fù)雜的數(shù)學(xué)函數(shù)。神經(jīng)網(wǎng)絡(luò)是個(gè)很好的逼近器,但是,如果輸入超出了訓(xùn)練范圍,它們就失去了作用。這類似于有限泰勒級(jí)數(shù)近似,在一定范圍內(nèi)可以擬合正弦波,但超出范圍就失效了。

外推,或者說在給定的訓(xùn)練范圍之外做出合理預(yù)測(cè)的能力,這并不是神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的目的。從通用近似定理,我們了解到神經(jīng)網(wǎng)絡(luò)并不是真正的智能,而是隱藏在多維度偽裝下的估計(jì)器,在二維或三維中看起來很普通。
定理的實(shí)際意義
當(dāng)然,通用逼近定理假設(shè)可以繼續(xù)向無窮大添加神經(jīng)元,這在實(shí)踐中是不可行的。此外,使用神經(jīng)網(wǎng)絡(luò)近乎無限的參數(shù)組合來尋找性能最佳的組合也是不切實(shí)際的。然而,該定理還假設(shè)只有一個(gè)隱藏層,并且隨著添加更多隱藏層,復(fù)雜性和通用逼近的潛力呈指數(shù)增長。
取而代之的是,機(jī)器學(xué)習(xí)工程師依據(jù)直覺和經(jīng)驗(yàn)決定了如何構(gòu)造適合給定問題的神經(jīng)網(wǎng)絡(luò)架構(gòu),以便它能夠很好地逼近多維空間,知道這樣一個(gè)網(wǎng)絡(luò)的存在,但也要權(quán)衡計(jì)算性能。