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