如何理解泛化是深度學(xué)習(xí)領(lǐng)域尚未解決的基礎(chǔ)問題之一。為什么使用有限訓(xùn)練數(shù)據(jù)集優(yōu)化模型能使模型在預(yù)留測試集上取得良好表現(xiàn)?這一問題距今已有 50 多年的豐富歷史,并在機器學(xué)習(xí)中得到廣泛研究。如今有許多數(shù)學(xué)工具可以用來幫助研究人員了解某些模型的泛化能力。但遺憾的是,現(xiàn)有的大多數(shù)理論都無法應(yīng)用到現(xiàn)代深度網(wǎng)絡(luò)中,這些理論在現(xiàn)實環(huán)境中顯得既空泛又不可預(yù)測。而理論和實踐之間的差距 在過度參數(shù)化模型中尤為巨大,這類模型在理論上能夠擬合訓(xùn)練集,但在實踐中卻不能做到。
豐富歷史
數(shù)學(xué)工具
過度參數(shù)化
在《Deep Bootstrap 框架:擁有出色的在線學(xué)習(xí)能力即是擁有出色的泛化能力》(The Deep Bootstrap Framework: Good Online Learners are Good Offline Generalizers)(收錄于 ICLR 2021)這篇論文中,我們提出了一個解決此問題的新框架,該框架能夠?qū)⒎夯c在線優(yōu)化領(lǐng)域聯(lián)系起來。在通常情況下,模型會在有限的樣本集上進行訓(xùn)練,而這些樣本會在多個訓(xùn)練周期中被重復(fù)使用。但就在線優(yōu)化而言,模型可以訪問無限的樣本流,并且可以在處理樣本流的同時進行迭代更新。在這項研究中,我們發(fā)現(xiàn),能使用無限數(shù)據(jù)快速訓(xùn)練的模型,它們在有限數(shù)據(jù)上同樣具有良好的泛化表現(xiàn)。二者之間的這種關(guān)聯(lián)為設(shè)計實踐提供了新思路,同時也為從理論角度理解泛化找到了方向。
《Deep Bootstrap 框架:擁有出色的在線學(xué)習(xí)能力即是擁有出色的泛化能力》
Deep Bootstrap 框架
Deep Bootstrap 框架的主要思路是將訓(xùn)練數(shù)據(jù)有限的現(xiàn)實情況與數(shù)據(jù)無限的“理想情況”進行比較。它們的定義如下:
現(xiàn)實情況(N、T):使用來自一個分布的 N 個訓(xùn)練樣本訓(xùn)練模型;在 T 個小批量隨機梯度下降 (SGD) 步驟中,照常在多個訓(xùn)練周期中重復(fù)使用這 N 個樣本。這相當(dāng)于針對經(jīng)驗損失(訓(xùn)練數(shù)據(jù)的損失)運行 SGD 算法,這是監(jiān)督學(xué)習(xí)中的標(biāo)準(zhǔn)訓(xùn)練程序。
理想情況(T):在 T 個步驟中訓(xùn)練同一個模型,但在每個 SGD 步驟中使用來自分布的新樣本。也就是說,我們運行相同的訓(xùn)練代碼(相同的優(yōu)化器、學(xué)習(xí)速率、批次大小等),但在每個訓(xùn)練周期中采用全新的訓(xùn)練樣本集,而不是重復(fù)使用相同的樣本。理想情況下,對于一個幾乎達到無限的“訓(xùn)練集”而言,其訓(xùn)練誤差和測試誤差之間相差無幾。
在 SGD 迭代期間 ResNet-18 架構(gòu)理想情況及現(xiàn)實情況的測試軟誤差。可以看到,兩種誤差非常相近
一般而言,我們認為現(xiàn)實情況和理想情況不會有任何關(guān)聯(lián),因為在現(xiàn)實世界中用于模型處理的來自分布的示例數(shù)量是有限的,而在理想世界中模型處理的示例數(shù)量是無限的。但在實踐中,我們發(fā)現(xiàn)現(xiàn)實情況模型和理想情況模型之間的測試誤差非常相近。
為了將此觀察結(jié)果量化,我們通過創(chuàng)建一個名為 CIFAR-5m 的數(shù)據(jù)集模擬了一種理想情況。我們使用 CIFAR-10 訓(xùn)練了一個生成模型,然后利用該模型生成約六百萬個圖像。選擇生成這么多圖像的目的是為了使此數(shù)據(jù)集對于模型而言具有“近乎無限性”,從而避免模型重復(fù)采樣相同的數(shù)據(jù)。也就是說,在理想情況下,模型面對的是一組全新的樣本。
CIFAR-5m
生成模型
下圖給出了幾種模型的測試誤差,對比了它們在現(xiàn)實情況(如重復(fù)使用數(shù)據(jù))和理想情況(使用“全新”數(shù)據(jù))中使用 CIFAR-5m 數(shù)據(jù)訓(xùn)練的表現(xiàn)。藍色實線展示了 ResNet 模型在現(xiàn)實情況下使用標(biāo)準(zhǔn) CIFAR-10 超參數(shù)針對 50000 個樣本訓(xùn)練 100 個周期的表現(xiàn)。藍色虛線展示了同樣的模型在理想情況下使用五百萬個樣本一次性訓(xùn)練完畢的表現(xiàn)。出人意料的是,現(xiàn)實情況和理想情況下的測試誤差非常接近,在某種程度上模型并不會受到樣本是重復(fù)使用還是全新的影響。
現(xiàn)實情況下的模型使用 50000 個樣本訓(xùn)練 100 個周期,理想情況下的模型使用五百萬個樣本訓(xùn)練一個周期。圖中的線展示了測試誤差以及 SGD 步驟的執(zhí)行次數(shù)
這個結(jié)果也適用于其他架構(gòu),如多層感知架構(gòu)(紅線)、視覺 Transformer(綠線),以及許多其他架構(gòu)、優(yōu)化器、數(shù)據(jù)分布和樣本大小設(shè)置。從這些實驗中,我們得出了一個關(guān)于泛化的新觀點,即能使用無限數(shù)據(jù)快速優(yōu)化的模型,同樣能使用有限數(shù)據(jù)進行良好的泛化。例如,ResNet 模型使用有限數(shù)據(jù)進行泛化的能力要優(yōu)于 MLP 模型,其原因在于 ResNet 模型使用無限數(shù)據(jù)進行優(yōu)化的速度更快。
多層感知
基于優(yōu)化行為理解泛化
我們從中得出一個重要的觀察結(jié)果,即直到現(xiàn)實情況開始收斂前,現(xiàn)實情況和理想情況下的模型在所有時刻的測試誤差都非常接近(訓(xùn)練誤差 《 1%)。因此,我們可以通過研究模型在理想情況下的行為來理解它們在現(xiàn)實情況下的表現(xiàn)。
也就是說,模型的泛化可以通過研究其在兩種框架下的優(yōu)化表現(xiàn)來理解:
1. 在線優(yōu)化:其用于在理想情況下觀察測試誤差的減小速度
2. 離線優(yōu)化:其用于在現(xiàn)實情況下觀察訓(xùn)練誤差的收斂速度
因此,研究泛化時,我們可以相應(yīng)地研究上述兩個方面,它們僅涉及優(yōu)化問題,因此在概念上較為簡單。通過這項觀察,我們發(fā)現(xiàn)出色的模型和訓(xùn)練程序均符合兩個條件:(1) 能在理想情況下快速優(yōu)化;(2) 在現(xiàn)實情況下的優(yōu)化速度較慢。
所有深度學(xué)習(xí)設(shè)計方案都能通過了解它們在這兩方面的表現(xiàn)來進行評估。例如,一些改進,比如卷積、殘差連接和預(yù)訓(xùn)練等,其主要作用是加速理想情況的優(yōu)化,而另一些改進,比如正則化和數(shù)據(jù)增強等,其主要作用則是減慢現(xiàn)實情況的優(yōu)化。
應(yīng)用 Deep Bootstrap 框架
研究人員可以使用 Deep Bootstrap 框架來研究和指導(dǎo)深度學(xué)習(xí)設(shè)計方案。它所依循的原則是:每當(dāng)我們做出影響現(xiàn)實情況泛化能力的更改時(架構(gòu)、學(xué)習(xí)速率等),我們都應(yīng)考慮它對以下兩方面帶來的影響:(1) 理想情況的測試誤差優(yōu)化(越快越好)以及 (2) 現(xiàn)實情況的訓(xùn)練誤差優(yōu)化(越慢越好)。
例如, 預(yù)訓(xùn)練在實踐中通常用于促進小數(shù)據(jù)體系中的模型泛化。然而,人們對預(yù)訓(xùn)練發(fā)生作用的機理知之甚少。我們可以使用 Deep Bootstrap 框架,通過觀察預(yù)訓(xùn)練對上述兩方面形成的影響研究這個問題。我們發(fā)現(xiàn),預(yù)訓(xùn)練的主要作用是促進理想情況的優(yōu)化 (1),即使網(wǎng)絡(luò)能夠“快速學(xué)習(xí)”在線優(yōu)化。預(yù)訓(xùn)練模型泛化能力的增強幾乎總能帶來其在理想情況下優(yōu)化能力的提高。下圖比較了使用 CIFAR-10 訓(xùn)練的視覺 Transformers (ViT) 在 ImageNet 上從零開始訓(xùn)練和預(yù)訓(xùn)練之間的差別。
ImageNet
預(yù)訓(xùn)練的作用:經(jīng)過預(yù)訓(xùn)練的 ViT 在理想情況下的優(yōu)化速度更快
我們還可以使用此框架研究數(shù)據(jù)增強。在理想情況下的數(shù)據(jù)增強相當(dāng)于對每個新樣本進行一次增強,而不是對同一個樣本進行多次增強。此框架意味著好的數(shù)據(jù)增強均符合兩個條件:(1) 不會嚴(yán)重損害理想情況的優(yōu)化(即增強樣本的分布不會過于“失范”),(2) 抑制現(xiàn)實情況的優(yōu)化速度(以使現(xiàn)實世界花更多時間擬合其訓(xùn)練集)。
數(shù)據(jù)增強的主要作用通過第二條:延長現(xiàn)實情況的優(yōu)化時間來實現(xiàn)。關(guān)于第一條,一些激進的數(shù)據(jù)增強 (混合/剪切) 可能會對理想情況造成不良影響,但這種影響與第二條相比不值一提。
結(jié)語
Deep Bootstrap 框架為理解深度學(xué)習(xí)的泛化和經(jīng)驗現(xiàn)象提供了一個新角度。我們非常期待能夠在未來看到它被用于理解深度學(xué)習(xí)的其他方面。尤為有趣的是,泛化可以通過純粹的優(yōu)化方面的考量來描述, 這在理論上和許多主流方法相悖。至關(guān)重要的是,我們需同時考慮在線優(yōu)化和離線優(yōu)化,單獨考慮二者中的任何一個都是不夠的,它們共同決定了泛化能力。
主流方法
Deep Bootstrap 框架還揭曉了為什么深度學(xué)習(xí)對于許多設(shè)計方案都異常穩(wěn)健,原因是許多中架構(gòu)、損失函數(shù)、優(yōu)化器、標(biāo)準(zhǔn)化和激活函數(shù)都具有良好的泛化能力。這個框架揭示了一個普適定律:基本上任何具有良好在線優(yōu)化表現(xiàn)的設(shè)計方案,其都能在離線狀態(tài)下有良好的泛化表現(xiàn)。
最后,現(xiàn)代神經(jīng)網(wǎng)絡(luò)既可能過參數(shù)化(如使用小型數(shù)據(jù)任務(wù)訓(xùn)練的大型網(wǎng)絡(luò)),也可能欠參數(shù)化(如 OpenAI GPT-3、Google T5 或 Facebook ResNeXt WSL)。而 Deep Bootstrap 框架表明,在線優(yōu)化是在這兩種模式中取得成功的關(guān)鍵因素。
致謝
感謝我們的合著者 Behnam Neyshabur 對論文的巨大貢獻以及對于博文的寶貴反饋。感謝 Boaz Barak、Chenyang Yuan 和 Chiyuan Zhang 對于博文及論文的有益評論。
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5500瀏覽量
121113
原文標(biāo)題:透過新視角理解深度學(xué)習(xí)中的泛化
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論