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