0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何理解泛化是深度學(xué)習(xí)領(lǐng)域尚未解決的基礎(chǔ)問題

Tensorflowers ? 來源:TensorFlow ? 作者:Google Research 團隊 ? 2021-04-08 17:56 ? 次閱讀

如何理解泛化是深度學(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 個樣本。這相當于針對經(jīng)驗損失(訓(xùn)練數(shù)據(jù)的損失)運行 SGD 算法,這是監(jiān)督學(xué)習(xí)中的標準訓(xùn)練程序。

理想情況(T):在 T 個步驟中訓(xùn)練同一個模型,但在每個 SGD 步驟中使用來自分布的新樣本。也就是說,我們運行相同的訓(xùn)練代碼(相同的優(yōu)化器、學(xué)習(xí)速率、批次大小等),但在每個訓(xùn)練周期中采用全新的訓(xùn)練樣本集,而不是重復(fù)使用相同的樣本。理想情況下,對于一個幾乎達到無限的“訓(xùn)練集”而言,其訓(xùn)練誤差和測試誤差之間相差無幾。

35bc07e2-984e-11eb-8b86-12bb97331649.gif

在 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)實情況下使用標準 CIFAR-10 超參數(shù)針對 50000 個樣本訓(xùn)練 100 個周期的表現(xiàn)。藍色虛線展示了同樣的模型在理想情況下使用五百萬個樣本一次性訓(xùn)練完畢的表現(xiàn)。出人意料的是,現(xiàn)實情況和理想情況下的測試誤差非常接近,在某種程度上模型并不會受到樣本是重復(fù)使用還是全新的影響。

36cb59f8-984e-11eb-8b86-12bb97331649.png

現(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è)計方案。它所依循的原則是:每當我們做出影響現(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

372c0f96-984e-11eb-8b86-12bb97331649.png

預(yù)訓(xùn)練的作用:經(jīng)過預(yù)訓(xùn)練的 ViT 在理想情況下的優(yōu)化速度更快

我們還可以使用此框架研究數(shù)據(jù)增強。在理想情況下的數(shù)據(jù)增強相當于對每個新樣本進行一次增強,而不是對同一個樣本進行多次增強。此框架意味著好的數(shù)據(jù)增強均符合兩個條件:(1) 不會嚴重損害理想情況的優(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)化器、標準化和激活函數(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 對于博文及論文的有益評論。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:透過新視角理解深度學(xué)習(xí)中的泛化

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    GPU深度學(xué)習(xí)應(yīng)用案例

    GPU在深度學(xué)習(xí)中的應(yīng)用廣泛且重要,以下是一些GPU深度學(xué)習(xí)應(yīng)用案例: 一、圖像識別 圖像識別是深度學(xué)習(xí)
    的頭像 發(fā)表于 10-27 11:13 ?285次閱讀

    AI大模型與深度學(xué)習(xí)的關(guān)系

    人類的學(xué)習(xí)過程,實現(xiàn)對復(fù)雜數(shù)據(jù)的學(xué)習(xí)和識別。AI大模型則是指模型的參數(shù)數(shù)量巨大,需要龐大的計算資源來進行訓(xùn)練和推理。深度學(xué)習(xí)算法為AI大模型提供了核心的技術(shù)支撐,使得大模型能夠更好地擬
    的頭像 發(fā)表于 10-23 15:25 ?304次閱讀

    FPGA做深度學(xué)習(xí)能走多遠?

    。FPGA的優(yōu)勢就是可編程可配置,邏輯資源多,功耗低,而且賽靈思等都在極力推廣。不知道用FPGA做深度學(xué)習(xí)未來會怎樣發(fā)展,能走多遠,你怎么看。 A:FPGA 在深度學(xué)習(xí)
    發(fā)表于 09-27 20:53

    如何理解機器學(xué)習(xí)中的訓(xùn)練集、驗證集和測試集

    理解機器學(xué)習(xí)中的訓(xùn)練集、驗證集和測試集,是掌握機器學(xué)習(xí)核心概念和流程的重要一步。這三者不僅構(gòu)成了模型學(xué)習(xí)與評估的基礎(chǔ)框架,還直接關(guān)系到模型性能的可靠性和
    的頭像 發(fā)表于 07-10 15:45 ?2919次閱讀

    深度學(xué)習(xí)模型中的過擬合與正則

    深度學(xué)習(xí)的廣闊領(lǐng)域中,模型訓(xùn)練的核心目標之一是實現(xiàn)對未知數(shù)據(jù)的準確預(yù)測。然而,在實際應(yīng)用中,我們經(jīng)常會遇到一個問題——過擬合(Overfitting)。過擬合是指模型在訓(xùn)練數(shù)據(jù)上表現(xiàn)優(yōu)異,但在
    的頭像 發(fā)表于 07-09 15:56 ?675次閱讀

    深度學(xué)習(xí)中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學(xué)習(xí)深度學(xué)習(xí)領(lǐng)域的重要任務(wù)之一,廣泛應(yīng)用于人體活動識別、系統(tǒng)監(jiān)測、金融預(yù)測、醫(yī)療診斷等多個
    的頭像 發(fā)表于 07-09 15:54 ?653次閱讀

    深度學(xué)習(xí)中的無監(jiān)督學(xué)習(xí)方法綜述

    深度學(xué)習(xí)作為機器學(xué)習(xí)領(lǐng)域的一個重要分支,近年來在多個領(lǐng)域取得了顯著的成果,特別是在圖像識別、語音識別、自然語言處理等
    的頭像 發(fā)表于 07-09 10:50 ?385次閱讀

    深度學(xué)習(xí)在視覺檢測中的應(yīng)用

    深度學(xué)習(xí)是機器學(xué)習(xí)領(lǐng)域中的一個重要分支,其核心在于通過構(gòu)建具有多層次的神經(jīng)網(wǎng)絡(luò)模型,使計算機能夠從大量數(shù)據(jù)中自動學(xué)習(xí)并提取特征,進而實現(xiàn)對復(fù)
    的頭像 發(fā)表于 07-08 10:27 ?578次閱讀

    深度學(xué)習(xí)與nlp的區(qū)別在哪

    深度學(xué)習(xí)和自然語言處理(NLP)是計算機科學(xué)領(lǐng)域中兩個非常重要的研究方向。它們之間既有聯(lián)系,也有區(qū)別。本文將介紹深度學(xué)習(xí)與NLP的區(qū)別。
    的頭像 發(fā)表于 07-05 09:47 ?749次閱讀

    人工智能深度學(xué)習(xí)的五大模型及其應(yīng)用領(lǐng)域

    隨著科技的飛速發(fā)展,人工智能(AI)技術(shù)特別是深度學(xué)習(xí)在各個領(lǐng)域展現(xiàn)出了強大的潛力和廣泛的應(yīng)用價值。深度學(xué)習(xí)作為人工智能的一個核心分支,通過
    的頭像 發(fā)表于 07-03 18:20 ?3358次閱讀

    深度學(xué)習(xí)在計算機視覺領(lǐng)域的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)作為其中的核心技術(shù)之一,已經(jīng)在計算機視覺領(lǐng)域取得了顯著的成果。計算機視覺,作為計算機科學(xué)的一個重要分支,旨在讓計算機能夠像人類一樣理解和解析圖像和視
    的頭像 發(fā)表于 07-01 11:38 ?634次閱讀

    深度解析深度學(xué)習(xí)下的語義SLAM

    隨著深度學(xué)習(xí)技術(shù)的興起,計算機視覺的許多傳統(tǒng)領(lǐng)域都取得了突破性進展,例如目標的檢測、識別和分類等領(lǐng)域。近年來,研究人員開始在視覺SLAM算法中引入
    發(fā)表于 04-23 17:18 ?1227次閱讀
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>下的語義SLAM

    為什么深度學(xué)習(xí)的效果更好?

    導(dǎo)讀深度學(xué)習(xí)是機器學(xué)習(xí)的一個子集,已成為人工智能領(lǐng)域的一項變革性技術(shù),在從計算機視覺、自然語言處理到自動駕駛汽車等廣泛的應(yīng)用中取得了顯著的成功。深度
    的頭像 發(fā)表于 03-09 08:26 ?579次閱讀
    為什么<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的效果更好?

    深度學(xué)習(xí)在人工智能中的 8 種常見應(yīng)用

    深度學(xué)習(xí)簡介深度學(xué)習(xí)是人工智能(AI)的一個分支,它教神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)和推理。近年來,它解決復(fù)雜問題并在各個
    的頭像 發(fā)表于 12-01 08:27 ?3193次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>在人工智能中的 8 種常見應(yīng)用

    深度學(xué)習(xí)技術(shù)與邊緣學(xué)習(xí)技術(shù)的不同之處

    如今,AI技術(shù)的廣泛應(yīng)用已經(jīng)成為推動制造和物流領(lǐng)域自動的核心驅(qū)動力。康耐視所推出的深度學(xué)習(xí)和邊緣學(xué)習(xí)技術(shù),這兩種基于AI的技術(shù),在工業(yè)自動
    的頭像 發(fā)表于 11-17 10:44 ?535次閱讀