神經(jīng)正切,5行代碼打造無限寬的神經(jīng)網(wǎng)絡(luò)模型
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。
本文是對(duì) ICLR 2020 論文《NEURAL TANGENTS: FAST AND EASY INFINITE NEURAL NETWORKS IN PYTHON》的解讀,作者來自谷歌。
-
論文地址:https://arxiv.org/pdf/1912.02803.pdf
-
開源地址:https://github.com/google/neural-tangents
深度學(xué)習(xí)在自然語言處理,對(duì)話智能體和連接組學(xué)等多個(gè)領(lǐng)域都獲得了成功應(yīng)用,這種學(xué)習(xí)方式已經(jīng)改變了機(jī)器學(xué)習(xí)的研究格局,并給研究人員帶來了許多有趣而重要的開放性問題,例如:為什么深度神經(jīng)網(wǎng)絡(luò)(DNN)在被過度參數(shù)化的情況下仍能如此良好地泛化? 深度網(wǎng)絡(luò)的體系結(jié)構(gòu)、訓(xùn)練和性能之間的關(guān)系是什么? 如何從深度學(xué)習(xí)模型中提取顯著特征?
近年來,該領(lǐng)域取得進(jìn)展的一個(gè)關(guān)鍵理論觀點(diǎn)是:增加 DNN 的寬度會(huì)帶來更有規(guī)律的行為,并使這些行為更易于理解。最近的許多結(jié)果表明,能夠變得無限寬的DNN聚合到另一種更簡(jiǎn)單的模型類別上的過程,稱為高斯過程。
在這一限制下,復(fù)雜的現(xiàn)象(如貝葉斯推理或卷積神經(jīng)網(wǎng)絡(luò)的梯度下降動(dòng)力學(xué))可以歸結(jié)為簡(jiǎn)單的線性代數(shù)方程。這些無限寬網(wǎng)絡(luò)的一些思路,也被頻繁地?cái)U(kuò)展到有限的網(wǎng)絡(luò)上。 因此,無限寬網(wǎng)絡(luò)不僅可以用作研究深度學(xué)習(xí)的維度,其本身也是非常有用的模型。
左圖:示意圖顯示了深度神經(jīng)網(wǎng)絡(luò)在無限寬的情況下如何產(chǎn)生簡(jiǎn)單的輸入/輸出映射。
右圖:隨著神經(jīng)網(wǎng)絡(luò)寬度的增加,我們看到網(wǎng)絡(luò)在不同的隨機(jī)實(shí)例上的輸出分布變?yōu)楦咚狗植肌?/p>
不幸的是,推導(dǎo)有限網(wǎng)絡(luò)的無限寬度限制需要大量的數(shù)學(xué)知識(shí),并且必須針對(duì)研究的每種體系結(jié)構(gòu)分別進(jìn)行計(jì)算。一旦無限寬的模型被推導(dǎo)出來,想進(jìn)一步提出一個(gè)有效的和可擴(kuò)展的實(shí)現(xiàn)還需要很高的工程能力。總之,將有限寬的模型轉(zhuǎn)換成相應(yīng)的無限寬網(wǎng)絡(luò)的過程可能需要幾個(gè)月的時(shí)間,并且可能它本身就是研究論文的主題。
為了解決這個(gè)問題,并加速深度學(xué)習(xí)的理論進(jìn)展,谷歌研究者提出了一種新的開源軟件庫“神經(jīng)正切”(Neural Tangents),允許研究人員像訓(xùn)練有限寬的神經(jīng)網(wǎng)絡(luò)一樣容易地構(gòu)建和訓(xùn)練無限寬的神經(jīng)網(wǎng)絡(luò)。其核心是:神經(jīng)正切提供了一個(gè)易于使用的神經(jīng)網(wǎng)絡(luò)庫,可以同時(shí)構(gòu)建有限和無限寬的神經(jīng)網(wǎng)絡(luò)。
先舉個(gè)神經(jīng)切線的應(yīng)用示例,想象一下在某些數(shù)據(jù)上訓(xùn)練一個(gè)完全連接的神經(jīng)網(wǎng)絡(luò)。 通常,神經(jīng)網(wǎng)絡(luò)是隨機(jī)初始化的,然后使用梯度下降進(jìn)行訓(xùn)練。對(duì)這些神經(jīng)網(wǎng)絡(luò)進(jìn)行初始化和訓(xùn)練可以得到一個(gè)集成網(wǎng)絡(luò)。
研究人員和從業(yè)人員通常會(huì)把集成的不同部分的預(yù)測(cè)情況平均,以獲得更好的表現(xiàn)。另外,可以從集成的不同部分預(yù)測(cè)的方差中估計(jì)其不確定性。這種方法的缺點(diǎn)是,訓(xùn)練一個(gè)網(wǎng)絡(luò)集成需要大量的計(jì)算預(yù)算,因此很少使用這種方法。但是,當(dāng)神經(jīng)網(wǎng)絡(luò)變得無限寬時(shí),通過高斯過程描述該集成,它的均值和方差在整個(gè)訓(xùn)練過程中便能被計(jì)算出來。
使用神經(jīng)正切,只需五行代碼就可以構(gòu)造和訓(xùn)練這些無限寬網(wǎng)絡(luò)集成! 訓(xùn)練過程如下所示,可以前往以下地址使用進(jìn)行此實(shí)驗(yàn)的交互式協(xié)作notebook :
https://colab.sandbox.google.com/github/google/neural-tangents/blob/master/notebooks/neural_tangents_cookbook.ipynb
在這兩個(gè)圖中,作者將有限神經(jīng)網(wǎng)絡(luò)集成的訓(xùn)練與相同結(jié)構(gòu)的無限寬度集成進(jìn)行了比較。前者的經(jīng)驗(yàn)均值和方差用兩條淺黑色虛線之間的黑色虛線表示;后者的閉合形式的均值和方差由填充顏色區(qū)域內(nèi)的彩色線表示。在這兩個(gè)圖中,有限寬和無限寬的網(wǎng)絡(luò)集成非常接近,乃至于難以區(qū)分。 左:隨著訓(xùn)練的進(jìn)行,在輸入數(shù)據(jù)(水平x軸)上輸出(垂直f軸)。 右圖:訓(xùn)練過程中由于不確定因素而導(dǎo)致的訓(xùn)練和測(cè)試損失。
盡管無限寬網(wǎng)絡(luò)集成是由一個(gè)簡(jiǎn)單的閉式表達(dá)控制的,但它與有限寬網(wǎng)絡(luò)集成有顯著的一致性。而且由于無限寬網(wǎng)絡(luò)集成是一個(gè)高斯過程,它自然提供了閉合形式的不確定性估計(jì)(上圖中的彩色區(qū)域)。這些不確定性估計(jì)與預(yù)測(cè)變化非常匹配:訓(xùn)練有限寬網(wǎng)絡(luò)的大量不同的副本時(shí)觀察到的結(jié)果(虛線)。
上述示例顯示了無限寬神經(jīng)網(wǎng)絡(luò)在捕捉訓(xùn)練動(dòng)態(tài)方面的能力。 然而,使用神經(jīng)正切構(gòu)建的網(wǎng)絡(luò)可以應(yīng)用于任何問題,即可以應(yīng)用一個(gè)常規(guī)的神經(jīng)網(wǎng)絡(luò)來解決這些問題。
例如,下面將使用CIFAR-10數(shù)據(jù)集來比較圖像識(shí)別上的三種不同的無限寬神經(jīng)網(wǎng)絡(luò)架構(gòu)。 值得注意的是,谷歌研究者可以在梯度下降和全貝葉斯推理(有限寬網(wǎng)絡(luò)機(jī)制中的一項(xiàng)艱巨任務(wù))下,對(duì)高度復(fù)雜的模型進(jìn)行評(píng)估,例如閉合形式的無限寬殘差網(wǎng)絡(luò)。
我們可以看到,無限寬網(wǎng)絡(luò)模仿有限寬神經(jīng)網(wǎng)絡(luò),其性能等級(jí)與性能比卷積網(wǎng)絡(luò)更差的全連接網(wǎng)絡(luò)相似,而卷積網(wǎng)絡(luò)的性能又比寬殘差網(wǎng)絡(luò)差。
然而,與常規(guī)訓(xùn)練不同的是,這些模型的學(xué)習(xí)動(dòng)態(tài)是完全可以在閉合形式下進(jìn)行處理的,這使研究者們對(duì)這些模型的行為有了前所未有的了解。 雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng))
via https://ai.googleblog.com/2020/03/fast-and-easy-infinitely-wide-networks.html