【中國安防展覽網(wǎng) 企業(yè)關(guān)注】深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。
動機(jī)
深度學(xué)習(xí)目前正在用于各種不同的應(yīng)用。但是由于缺乏能夠完全解答為什么它運(yùn)作如此順利的基本理論,經(jīng)常受到批判。直到近,在神經(jīng)信息處理系統(tǒng)大會(NIPS)上獲得“Test-of-Time”獎的人將深度學(xué)習(xí)與煉金術(shù)相比較。
雖然解釋深層學(xué)習(xí)如此完善的泛化理論是一個公開的問題,但在本文中,我們將討論該領(lǐng)域中近的理論和經(jīng)驗(yàn)上的進(jìn)步,試圖解釋它。
深度學(xué)習(xí)的悖論
深度學(xué)習(xí)的一個“顯而易見的悖論”是盡管它的容量大,數(shù)值不穩(wěn)定,尖銳的極小值和非魯棒性,它在實(shí)踐中可以很好地推廣。
在近的一篇論文“理解深度學(xué)習(xí)需要重新思考泛化”中,已經(jīng)表明深度神經(jīng)網(wǎng)絡(luò)(DNN)有足夠的能力來記憶具有隨機(jī)標(biāo)簽的ImageNet和CIFAR10數(shù)據(jù)集。目前還不清楚為什么他們在真實(shí)數(shù)據(jù)上找到一般化的解決方案。
深層架構(gòu)的另一個重要問題是數(shù)值不穩(wěn)定性。基于導(dǎo)數(shù)的學(xué)習(xí)算法中的數(shù)值不穩(wěn)定性通常稱為爆炸或消失梯度。額外的困難源于潛在的正向模型的不穩(wěn)定性。這就是說,一些網(wǎng)絡(luò)的輸出對于原始特征中的小擾動可能是不穩(wěn)定的。在機(jī)器學(xué)習(xí)中,它被稱為非魯棒性。其中一個例子就是圖1所示的敵對攻擊。
幾個研究基于,他們在深度學(xué)習(xí)泛化過程中發(fā)現(xiàn)的損失函數(shù)的小平坦性的論據(jù),這是用隨機(jī)梯度下降(SGD)方法發(fā)現(xiàn)的。不過,近有人表示,“ 尖銳的極小值可以普及深度網(wǎng)絡(luò)”。更具體地說,平坦小值可以通過重新參數(shù)化而變成尖銳的小值而不改變泛化。因此,泛化不能僅僅由參數(shù)空間的魯棒性來解釋。
泛化理論
泛化理論的目標(biāo)是解釋和證明為什么以及如何提高訓(xùn)練集的準(zhǔn)確性,提高了測試集的準(zhǔn)確性。這兩個精度之間的差異稱為泛化誤差或“泛化差距”。更嚴(yán)格的泛化差距可以被定義為給定學(xué)習(xí)算法A的數(shù)據(jù)集Sm上函數(shù)f的不可計(jì)算預(yù)期風(fēng)險和可計(jì)算經(jīng)驗(yàn)風(fēng)險之間的差異A:
從本質(zhì)上講,如果我們設(shè)立界限的泛化差距是一個較小的值,將保證深度學(xué)習(xí)算法f在實(shí)踐中推廣好?;谀P偷膹?fù)雜性,穩(wěn)定性,魯棒性等,存在泛化差距的多重理論界限。
模型復(fù)雜度的兩個度量是Rademacher complexity和Vapnik-Chervonenkis(VC)dimension。不幸的是,深度學(xué)習(xí)函數(shù)f基于Radamacher復(fù)雜性的界限泛化差距隨著DNN的深度成倍增長。這與實(shí)際觀察相矛盾的是,更深的網(wǎng)絡(luò)更適合于訓(xùn)練數(shù)據(jù)并實(shí)現(xiàn)較小的經(jīng)驗(yàn)誤差。同樣,基于VC維度的界限泛化差距在可訓(xùn)練參數(shù)的數(shù)量上呈線性增長,不能說明深度學(xué)習(xí)的實(shí)際觀測值。換句話說,這兩個邊界太保守了。
K Kawaguchi,LP Kaelbling和Y Bengio近提出了一個更有用的方法。與其他人不同,他們認(rèn)為通常深度學(xué)習(xí)模型是使用訓(xùn)練驗(yàn)證范式進(jìn)行訓(xùn)練的。他們不使用訓(xùn)練誤差來限制不可計(jì)算的期望風(fēng)險,而是使用驗(yàn)證誤差。在這個觀點(diǎn)中,他們提出了以下直覺:為什么深度學(xué)習(xí)在實(shí)踐中得到了很好的效果:“我們可以很好地推廣,因?yàn)槲覀兛梢酝ㄟ^帶有驗(yàn)證誤差的模型搜索獲得一個好的模型”。并證明對于任意δ > 0 的下面的界限,概率至少為1 - δ:
重要的是| Fval | 是我們在決策中使用驗(yàn)證數(shù)據(jù)集來選擇終模型的次數(shù),m是驗(yàn)證集大小。這種界限解釋了為什么深度學(xué)習(xí)能夠很好地普及,盡管可能存在不穩(wěn)定性,非魯棒性和尖銳的極小值。還有一個懸而未決的問題仍然是為什么我們能夠找到導(dǎo)致低驗(yàn)證誤差的體系結(jié)構(gòu)和參數(shù)。通常,架構(gòu)受現(xiàn)實(shí)世界觀察的啟發(fā),使用SGD將搜索好的參數(shù),我們將在下面討論。
隨機(jī)梯度下降
SGD是現(xiàn)代深度學(xué)習(xí)領(lǐng)域的一個內(nèi)在組成部分,顯然是其泛化背后的主要原因之一。所以我們接下來討論它的泛化屬性。
在近的一篇論文“ 隨機(jī)梯度下降的數(shù)據(jù)相關(guān)穩(wěn)定性 ”中,作者證明了在一些額外的損失條件下,SGD是平均穩(wěn)定算法。這些條件在常用的損失函數(shù)中得以實(shí)現(xiàn),例如在具有S形激活的神經(jīng)網(wǎng)絡(luò)中的邏輯/softmax損失。在這種情況下,穩(wěn)定性意味著SGD對訓(xùn)練集中的小擾動有多敏感。他們進(jìn)一步證明了SGD在諸如深度神經(jīng)網(wǎng)絡(luò)等非凸函數(shù)中存在數(shù)據(jù)依賴于平均值的泛化差距:
其中m是訓(xùn)練集大小,T訓(xùn)練步數(shù),γ表示初始點(diǎn)曲率如何影響穩(wěn)定性。這導(dǎo)致了至少兩個結(jié)論。首先,圍繞初始點(diǎn)的目標(biāo)函數(shù)的曲率具有決定性的影響。從較低風(fēng)險區(qū)域的一個點(diǎn)開始,應(yīng)該產(chǎn)生較高的穩(wěn)定性,即更快的泛化。在實(shí)踐中,它可以是一個很好的選擇初始化參數(shù)的預(yù)篩選策略。其次,考慮到全部通過,即m = O(T),我們簡化到O(1/m)的界限。這表明,訓(xùn)練集越大,越小的泛化差距。
有趣的是,有一些調(diào)查學(xué)習(xí)曲線的研究。他們中的大多數(shù)顯示出冪律泛化誤差,縮放為ε(M) ?m?,指數(shù)β = -0.5或-1。這也與前面討論的論文一致。但是,要提到百度的大規(guī)模研究能夠憑經(jīng)驗(yàn)觀察這個冪律(見圖2)。然而,實(shí)際應(yīng)用中的指數(shù)β在-0.07到-0.35之間。理論上仍然需要解釋。
此外,還有理論和實(shí)證證據(jù)表明批量大小對SGD泛化的影響。直觀地說,小批量訓(xùn)練會在梯度上引入噪音,這種噪音會使SGD遠(yuǎn)離小的極小值,從而增強(qiáng)泛化能力。在谷歌近的一篇文章中顯示,佳批量大小與學(xué)習(xí)速率和訓(xùn)練集大小成正比。或者換句話說,“不要使學(xué)習(xí)速度下降,增加批量”。對于動量為Bopt?1 /(1 - m)的SGD,也得到類似的比例縮放規(guī)則,其中Bopt是佳批量大小,m是動量?;蛘?,所有的結(jié)論都可以用下面的公式來總結(jié):
其中ε是學(xué)習(xí)率,N是訓(xùn)練集大小,m是動量,B是批量大小。
結(jié)論
在過去的幾年里,對深度學(xué)習(xí)矛盾效應(yīng)背后的基本理論的興趣日益增長。雖然現(xiàn)在還有一些開放的研究問題,但是現(xiàn)代的深度學(xué)習(xí)還遠(yuǎn)沒有到被稱為煉金術(shù)的地步。在這篇文章中,我們討論了關(guān)于這個問題的一般化的觀點(diǎn),從而得出了一些實(shí)際的結(jié)論:
在較小彎曲的區(qū)域選擇初始化參數(shù),降低風(fēng)險。曲率可以通過Hessian向量乘法來地估計(jì)。重新調(diào)整批量大小,當(dāng)變化動量的時候。不要使學(xué)習(xí)速度下降,增加批量。(原標(biāo)題:現(xiàn)代深度學(xué)習(xí)理論,為什么這么好用?)