在第 3 節(jié)和第 4 節(jié)中,我們通過將線性模型擬合到訓(xùn)練數(shù)據(jù)來解決回歸和分類問題。在這兩種情況下,我們都提供了實用的算法來尋找使觀察到的訓(xùn)練標簽的可能性最大化的參數(shù)。然后,在每一章的末尾,我們回憶起擬合訓(xùn)練數(shù)據(jù)只是一個中間目標。我們一直以來真正的追求是發(fā)現(xiàn)一般模式,在此基礎(chǔ)上我們甚至可以對來自相同潛在人群的新樣本做出準確的預(yù)測。機器學(xué)習(xí)研究人員是消費者 的優(yōu)化算法。有時,我們甚至必須開發(fā)新的優(yōu)化算法。但歸根結(jié)底,優(yōu)化只是達到目的的一種手段。機器學(xué)習(xí)的核心是一門統(tǒng)計學(xué)科,我們希望僅在某些統(tǒng)計原理(已知或未知)導(dǎo)致生成的模型泛化到訓(xùn)練集之外的范圍內(nèi)優(yōu)化訓(xùn)練損失。
從好的方面來看,事實證明,通過隨機梯度下降訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)在跨越計算機視覺的無數(shù)預(yù)測問題上表現(xiàn)得非常好;自然語言處理;時間序列數(shù)據(jù);推薦系統(tǒng);電子健康記錄;蛋白質(zhì)折疊;視頻游戲和棋盤游戲中的價值函數(shù)逼近;和無數(shù)其他領(lǐng)域。不利的一面是,如果您正在尋找優(yōu)化故事(為什么我們可以將它們擬合到訓(xùn)練數(shù)據(jù))或泛化故事(為什么生成的模型泛化到看不見的例子)的直接說明,那么您可能想給自己倒一個喝。雖然我們優(yōu)化線性模型的程序和解決方案的統(tǒng)計特性都通過綜合理論體系進行了很好的描述,
深度學(xué)習(xí)的理論和實踐在這兩個方面都在迅速發(fā)展,理論家們采用新的策略來解釋正在發(fā)生的事情,而實踐者則繼續(xù)以驚人的速度進行創(chuàng)新,建立用于訓(xùn)練深度網(wǎng)絡(luò)的啟發(fā)式武器庫和大量的直覺和為決定在何種情況下應(yīng)用何種技術(shù)提供指導(dǎo)的民間知識。
目前的 TL;DR 是深度學(xué)習(xí)理論已經(jīng)產(chǎn)生了有前途的攻擊線和分散的迷人結(jié)果,但仍然遠未全面說明(i)為什么我們能夠優(yōu)化神經(jīng)網(wǎng)絡(luò)和(ii) ) 通過梯度下降學(xué)習(xí)的模型如何能夠很好地泛化,即使是在高維任務(wù)上。然而,在實踐中,(i) 很少成為問題(我們總能找到適合我們所有訓(xùn)練數(shù)據(jù)的參數(shù)),因此理解泛化是一個更大的問題。另一方面,即使缺乏連貫的科學(xué)理論,從業(yè)者也已經(jīng)開發(fā)出大量技術(shù),可以幫助您生成在實踐中具有良好泛化能力的模型。雖然沒有精辟的總結(jié)可以公正地描述深度學(xué)習(xí)中泛化的廣泛主題,
5.5.1. 重新審視過度擬合和正則化
根據(jù)Wolpert等人的“沒有免費的午餐”定理。( 1995 ),任何學(xué)習(xí)算法都可以更好地概括具有某些分布的數(shù)據(jù),而對其他分布則更差。 因此,給定一個有限的訓(xùn)練集,模型依賴于某些假設(shè):為了達到人類水平的表現(xiàn),識別反映人類如何看待世界的歸納偏差可能是有用的。這種歸納偏差顯示出對具有某些屬性的解決方案的偏好。例如,深度 MLP 傾向于通過將更簡單的函數(shù)組合在一起來構(gòu)建復(fù)雜的函數(shù)。
通過編碼歸納偏差的機器學(xué)習(xí)模型,我們訓(xùn)練它們的方法通常包括兩個階段:(i)擬合訓(xùn)練數(shù)據(jù);(ii)通過評估 holdout 數(shù)據(jù)模型來估計泛化誤差(基礎(chǔ)群體的真實誤差)。我們對訓(xùn)練數(shù)據(jù)的擬合與對測試數(shù)據(jù)的擬合之間的差異稱為泛化差距,當(dāng)泛化差距很大時,我們說我們的模型過度擬合到訓(xùn)練數(shù)據(jù)。在過度擬合的極端情況下,我們可能會準確地擬合訓(xùn)練數(shù)據(jù),即使測試誤差仍然很大。在經(jīng)典觀點中,解釋是我們的模型太復(fù)雜,要求我們要么縮小特征數(shù)量、學(xué)習(xí)的非零參數(shù)數(shù)量,要么縮小量化參數(shù)的大小?;貞浺幌?.6 節(jié)中模型復(fù)雜度與損失的關(guān)系圖(圖 3.6.1) 。
然而,深度學(xué)習(xí)以違反直覺的方式使這幅圖復(fù)雜化。首先,對于分類問題,我們的模型通常具有足夠的表現(xiàn)力以完美地適合每個訓(xùn)練示例,即使在由數(shù)百萬組成的數(shù)據(jù)集中也是如此(Zhang等人,2021 年)。在經(jīng)典圖片中,我們可能認為此設(shè)置位于模型復(fù)雜性軸的最右端,泛化誤差的任何改進都必須通過正則化來實現(xiàn),要么通過降低模型類的復(fù)雜性,要??么通過應(yīng)用懲罰,嚴格限制我們的參數(shù)可能采用的值集。但這就是事情開始變得奇怪的地方。
奇怪的是,對于許多深度學(xué)習(xí)任務(wù)(例如,圖像識別和文本分類),我們通常在模型架構(gòu)中進行選擇,所有這些架構(gòu)都可以實現(xiàn)任意低的訓(xùn)練損失(和零訓(xùn)練錯誤)。因為考慮中的所有模型都實現(xiàn)了零訓(xùn)練誤差,所以進一步提高的唯一途徑是減少過度擬合。更奇怪的是,通常情況下,盡管完美地擬合了訓(xùn)練數(shù)據(jù),但我們實際上可以通過使模型更具表現(xiàn)力來進一步減少泛化誤差,例如,添加層、節(jié)點或訓(xùn)練更多的 epoch。更奇怪的是,將泛化差距與復(fù)雜性聯(lián)系起來的模式模型的一部分(如捕獲的那樣,例如,在網(wǎng)絡(luò)的深度或?qū)挾戎校┛梢允欠菃握{(diào)的,復(fù)雜性越高,起初會受到傷害,但隨后有助于形成所謂的“雙下降”模式(Nakkiran等人, 2021 年)。因此,深度學(xué)習(xí)從業(yè)者擁有一大堆技巧,其中一些似乎以某種方式限制了模型,而另一些似乎使模型更具表現(xiàn)力,并且在某種意義上,所有這些都用于減輕過度擬合。
更復(fù)雜的是,雖然經(jīng)典學(xué)習(xí)理論提供的保證即使對于經(jīng)典模型也可能是保守的,但它們似乎無力解釋為什么深度神經(jīng)網(wǎng)絡(luò)首先要進行泛化。因為深度神經(jīng)網(wǎng)絡(luò)即使對于大型數(shù)據(jù)集也能夠擬合任意標簽,盡管使用了熟悉的方法,如?2正則化,傳統(tǒng)的基于復(fù)雜性的泛化邊界,例如,那些基于假設(shè)類的 VC 維度或 Rademacher 復(fù)雜性的泛化邊界無法解釋為什么神經(jīng)網(wǎng)絡(luò)會泛化。
5.5.2. 來自非參數(shù)的靈感
第一次接觸深度學(xué)習(xí),很容易將它們視為參數(shù)模型。畢竟,模型確實有數(shù)百萬個參數(shù)。當(dāng)我們更新模型時,我們更新它們的參數(shù)。當(dāng)我們保存模型時,我們將它們的參數(shù)寫入磁盤。然而,數(shù)學(xué)和計算機科學(xué)充斥著違反直覺的視角變化,以及看似不同的問題的驚人同構(gòu)。雖然神經(jīng)網(wǎng)絡(luò)顯然有參數(shù),在某些方面,將它們視為表現(xiàn)得像非參數(shù)模型會更有成效。那么究竟是什么使模型成為非參數(shù)的呢?雖然這個名稱涵蓋了多種方法,但一個共同的主題是非參數(shù)方法往往具有一定程度的復(fù)雜性,隨著可用數(shù)據(jù)量的增加而增加。
也許非參數(shù)模型最簡單的例子是 k-最近鄰算法(我們將在后面介紹更多非參數(shù)模型,例如在第 11.2 節(jié)中)。在這里,在訓(xùn)練時,學(xué)習(xí)者只需記住數(shù)據(jù)集。然后,在預(yù)測時,當(dāng)遇到一個新點時x,學(xué)習(xí)者查找k最近鄰(k 積分xi′最小化一些距離 d(x,xi′)). 什么時候k=1,這種算法稱為 1-最近鄰算法,該算法將始終實現(xiàn)零訓(xùn)練誤差。然而,這并不意味著該算法不會泛化。事實上,事實證明,在一些溫和的條件下,1-最近鄰算法是一致的(最終收斂到最優(yōu)預(yù)測器)。
請注意,1 最近鄰要求我們指定一些距離函數(shù)d,或者等價地,我們指定一些向量值基函數(shù)?(x)用于特征化我們的數(shù)據(jù)。對于距離度量的任何選擇,我們將實現(xiàn) 0 訓(xùn)練錯誤并最終達到最佳預(yù)測器,但不同的距離度量 d對不同的歸納偏差進行編碼,并且使用有限數(shù)量的可用數(shù)據(jù)將產(chǎn)生不同的預(yù)測變量。距離度量的不同選擇d代表關(guān)于基本模式的不同假設(shè),不同預(yù)測變量的性能將取決于假設(shè)與觀察到的數(shù)據(jù)的兼容性。
從某種意義上說,由于神經(jīng)網(wǎng)絡(luò)過度參數(shù)化,擁有比擬合訓(xùn)練數(shù)據(jù)所需的參數(shù)多得多的參數(shù),它們傾向于對訓(xùn)練數(shù)據(jù)進行插值(完美擬合),因此在某些方面表現(xiàn)得更像非參數(shù)模型。最近的理論研究已經(jīng)在大型神經(jīng)網(wǎng)絡(luò)和非參數(shù)方法(尤其是核方法)之間建立了深刻的聯(lián)系。特別是,Jacot等人。( 2018 )證明了在極限情況下,隨著具有隨機初始化權(quán)重的多層感知器無限寬地增長,它們變得等效于(非參數(shù))核方法,用于特定選擇核函數(shù)(本質(zhì)上是距離函數(shù)),他們稱之為神經(jīng)正切核。雖然當(dāng)前的神經(jīng)正切核模型可能無法完全解釋現(xiàn)代深度網(wǎng)絡(luò)的行為,但它們作為分析工具的成功強調(diào)了非參數(shù)建模對于理解過度參數(shù)化深度網(wǎng)絡(luò)行為的有用性。
5.5.3. 提前停止
盡管深度神經(jīng)網(wǎng)絡(luò)能夠擬合任意標簽,即使標簽分配不正確或隨機 (Zhang等人,2021 年),這種能力也只會在多次迭代訓(xùn)練中出現(xiàn)。一項新的工作 (Rolnick等人,2017 年)表明,在標簽噪聲的設(shè)置中,神經(jīng)網(wǎng)絡(luò)傾向于首先擬合干凈標記的數(shù)據(jù),然后才對錯誤標記的數(shù)據(jù)進行插值。此外,已經(jīng)確定這種現(xiàn)象直接轉(zhuǎn)化為泛化的保證:只要模型擬合了干凈標記的數(shù)據(jù)而不是訓(xùn)練集中包含的隨機標記的示例,它實際上已經(jīng)泛化了 (加格等。, 2021 年)。
這些發(fā)現(xiàn)共同有助于激發(fā)早期停止,這是一種使深度神經(jīng)網(wǎng)絡(luò)正則化的經(jīng)典技術(shù)。在這里,不是直接限制權(quán)重的值,而是限制訓(xùn)練時期的數(shù)量。確定停止標準的最常見方法是在整個訓(xùn)練過程中監(jiān)控驗證錯誤(通常通過在每個時期后檢查一次)并在驗證錯誤沒有減少超過一些小量時停止訓(xùn)練?對于一些時代。這有時稱為耐心標準。除了可能導(dǎo)致更好的泛化,在嘈雜標簽的設(shè)置中,提前停止的另一個好處是節(jié)省時間。一旦滿足耐心標準,就可以終止訓(xùn)練。對于可能需要在 8 個或更多 GPU 上同時訓(xùn)練數(shù)天的大型模型,調(diào)整良好的提前停止可以為研究人員節(jié)省數(shù)天的時間,并可以為他們的雇主節(jié)省數(shù)千美元。
值得注意的是,當(dāng)沒有標簽噪聲并且數(shù)據(jù)集是可實現(xiàn)的(類是真正可分離的,例如,區(qū)分貓和狗)時,早期停止往往不會導(dǎo)致泛化的顯著改進。另一方面,當(dāng)標簽中存在標簽噪聲或內(nèi)在可變性時(例如,預(yù)測患者的死亡率),早期停止至關(guān)重要。在對噪聲數(shù)據(jù)進行插值之前訓(xùn)練模型通常不是一個好主意。
5.5.4. 深度網(wǎng)絡(luò)的經(jīng)典正則化方法
在第 3 節(jié)中,我們描述了幾種用于限制模型復(fù)雜性的經(jīng)典正則化技術(shù)。特別是,第 3.7 節(jié)介紹了一種稱為權(quán)重衰減的方法,該方法包括向損失函數(shù)添加正則化項以懲罰較大的權(quán)重值。根據(jù)懲罰哪個權(quán)重范數(shù),這種技術(shù)被稱為嶺正則化(對于?2懲罰)或套索正則化(對于?1懲罰)。在對這些正則化器的經(jīng)典分析中,它們被認為限制了權(quán)重可以充分取值的值,以防止模型擬合任意標簽。
在深度學(xué)習(xí)實現(xiàn)中,權(quán)重衰減仍然是一種流行的工具。然而,研究人員注意到,?2 正則化不足以阻止網(wǎng)絡(luò)對數(shù)據(jù)進行插值
(張等,2021)
因此,如果將其解釋為正則化,其好處可能只有與早期停止標準結(jié)合使用才有意義。如果沒有提前停止,可能就像層數(shù)或節(jié)點數(shù)(在深度學(xué)習(xí)中)或距離度量(在 1-最近鄰中)一樣,這些方法可能會導(dǎo)致更好的泛化,而不是因為它們有意義地限制了神經(jīng)網(wǎng)絡(luò),而是因為它們以某種方式編碼歸納偏差,這些偏差與感興趣的數(shù)據(jù)集中發(fā)現(xiàn)的模式更好地兼容。因此,經(jīng)典正則化器在深度學(xué)習(xí)實現(xiàn)中仍然很受歡迎,即使它們功效的理論依據(jù)可能完全不同。
值得注意的是,深度學(xué)習(xí)研究人員還建立了首先在經(jīng)典正則化環(huán)境中普及的技術(shù),例如向模型輸入添加噪聲。在下一節(jié)中,我們將介紹著名的 dropout 技術(shù)(由 Srivastava等人(2014 年)發(fā)明),它已成為深度學(xué)習(xí)的中流砥柱,盡管其功效的理論基礎(chǔ)仍然同樣神秘。
5.5.5。概括
與往往具有比示例更少的參數(shù)的經(jīng)典線性模型不同,深度網(wǎng)絡(luò)往往過度參數(shù)化,并且對于大多數(shù)任務(wù)來說能夠完美地擬合訓(xùn)練集。這種 插值機制挑戰(zhàn)了許多根深蒂固的直覺。在功能上,神經(jīng)網(wǎng)絡(luò)看起來像參數(shù)化模型。但將它們視為非參數(shù)模型有時可能是更可靠的直覺來源。因為通常情況下所有考慮中的深度網(wǎng)絡(luò)都能夠擬合所有訓(xùn)練標簽,幾乎所有收益都必須通過減輕過度擬合(縮小泛化差距)來 實現(xiàn)). 矛盾的是,減少泛化差距的干預(yù)措施有時似乎會增加模型的復(fù)雜性,而在其他時候似乎會降低復(fù)雜性。然而,這些方法很少能將復(fù)雜性降低到足以讓經(jīng)典理論解釋深度網(wǎng)絡(luò)泛化的程度,并且盡管許多杰出研究人員共同努力,但為什么某些選擇會導(dǎo)致泛化能力得到改善,這在很大程度上仍然是一個巨大的懸而未決的問題。
5.5.6. 練習(xí)
在什么意義上,傳統(tǒng)的基于復(fù)雜性的度量無法解釋深度神經(jīng)網(wǎng)絡(luò)的泛化?
為什么提前停止被認為是一種正則化技術(shù)?
研究人員通常如何確定停止標準?
什么重要因素似乎可以區(qū)分早期停止導(dǎo)致泛化能力大幅提高的情況?
除了概括之外,描述提前停止的另一個好處。
Discussions
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5507瀏覽量
121267 -
pytorch
+關(guān)注
關(guān)注
2文章
808瀏覽量
13249
發(fā)布評論請先 登錄
相關(guān)推薦
評論