哈佛大學教授詳解:深度學習和經(jīng)典統(tǒng)計學差異?(2)
二、經(jīng)典和現(xiàn)代預測模型
機器學習,無論是不是深度學習,都沿著 Breiman 的第二種觀點演進,即以預測為重點。這種文化有著悠久的歷史。例如,Duda 和 Hart 在 1973 年出版的教科書和 Highleyman 1962 年的論文就寫到了下圖中的內(nèi)容,這對于今天的深度學習研究者來說是非常容易理解的:
Duda 和 Hart 的教科書《Pattern classification and scene analysis》和 Highleyman 1962 年的論文《The Design and Analysis of Pattern Recognition Experiments》中的片段
類似地,下圖中的 Highleyman 的手寫字符數(shù)據(jù)集和用于擬合它的架構 Chow(1962)(準確率約為 58%)也會引起很多人的共鳴。
三、為什么深度學習與眾不同?
1992 年,Geman、Bienenstock 和 Doursat 寫了一篇關于神經(jīng)網(wǎng)絡的悲觀文章,認為 “當前的前饋神經(jīng)網(wǎng)絡在很大程度上不足以解決機器感知和機器學習中的難題”。具體來說,他們認為通用神經(jīng)網(wǎng)絡在處理困難任務方面不會成功,而它們成功的唯一途徑是通過人工設計的特征。用他們的話說:“重要屬性必須是內(nèi)置的或“硬連接的”…… 而不是以任何統(tǒng)計意義上的方式學習?!?現(xiàn)在看來 Geman 等人完全錯了,但更有意思的是了解他們?yōu)槭裁村e了。
深度學習確實不同于其它學習方法。雖然深度學習似乎只是預測,就像最近鄰或隨機森林一樣,但它可能有更多的復雜參數(shù)。這看起來似乎只是量的差異,而不是質(zhì)的差異。但在物理學中,一旦尺度變化了幾個數(shù)量級,通常就需要完全不同的理論,深度學習也是如此。深度學習與經(jīng)典模型(參數(shù)化或非參數(shù)化)的基礎過程完全不同,雖然它們的數(shù)學方程(和 Python 代碼)在更高層次上來看是相同的。
為了說明這一點,下面考慮兩個不同的場景:擬合統(tǒng)計模型和向?qū)W生教授數(shù)學。
場景 A:擬合一個統(tǒng)計模型
通過數(shù)據(jù)去擬合一個統(tǒng)計模型的典型步驟如下:
1.這里有一些數(shù)據(jù)(
是
的矩陣;
是
維向量,即類別標簽。把數(shù)據(jù)認為是來自某個有結構且包含噪聲的模型,就是要去擬合的模型)
2.使用上面的數(shù)據(jù)擬合一個模型,并用優(yōu)化算法來最小化經(jīng)驗風險。就是說通過優(yōu)化算法找到這樣的
,使得
最小,
代表損失(表明預測值有多接近真實值),
是可選的正則化項。
3. 模型的總體損失越小越好,即泛化誤差的值相對最小。
Effron 從包含噪聲的觀測中恢復牛頓第一定律的展示圖
這個非常通用的范例其實包含許多內(nèi)容,如最小二乘線性回歸、最近鄰、神經(jīng)網(wǎng)絡訓練等等。在經(jīng)典統(tǒng)計場景中,我們通常會碰到下面的情況:
權衡:假設是經(jīng)過優(yōu)化的模型集合(如果函數(shù)是非凸的或包含正則化項,精心選擇算法和正則化,可得到模型集
。
的偏差是元素
所能達到的最接近真值的近似值。集合
越大,偏差越小,并且可能為 0(如果
)。
然而,越大,需要縮小其成員范圍的樣本越多,因此算法輸出模型的方差越大??傮w泛化誤差是偏差和方差的總和。因此,統(tǒng)計學習通常是 Bias-Variance 權衡,正確的模型復雜度是將總體誤差降至最低。事實上,Geman 等人證明了其對神經(jīng)網(wǎng)絡的悲觀態(tài)度,他們認為:Bias-Variance 困境造成的基本限制適用于所有非參數(shù)推理模型,包括神經(jīng)網(wǎng)絡。
“多多益善”并不總是成立:在統(tǒng)計學習中,更多的特征或數(shù)據(jù)并不一定會提高性能。例如,從包含許多不相關特征的數(shù)據(jù)中學習是很難的。類似地,從混合模型中學習,其中數(shù)據(jù)來自兩個分布中的一個(如和
),比獨立學習每個分布更難。
收益遞減:在很多情況中,將預測噪聲降低到水平所需的數(shù)據(jù)點數(shù)量與參數(shù)
和
是有關的,即數(shù)據(jù)點數(shù)量約等于
。在這種情況下,需要大約 k 個樣本才能啟動,但一旦這樣做,就面臨著回報遞減的情況,即如果需要
個點才能達到 90% 的準確率,則需要大約額外的
個點來將準確率提高到 95%。一般來說,隨著資源增加(無論是數(shù)據(jù)、模型復雜度還是計算),人們希望獲得越來越精細的區(qū)分,而不是解鎖特定的新功能。
對損失、數(shù)據(jù)的嚴重依賴性:當將模型擬合到高維數(shù)據(jù)時,任何小細節(jié)都可能會產(chǎn)生很大的差異。L1 或 L2 正則化器等選擇很重要,更不用說使用完全不同的數(shù)據(jù)集。不同數(shù)量的高維優(yōu)化器相互之間也非常不同。
數(shù)據(jù)是相對 “單純” 的:通常會假設數(shù)據(jù)是獨立于某些分布進行采樣的。雖然靠近決策邊界的點很難分類,但考慮到高維度上測量集中現(xiàn)象,可以認為大多數(shù)點的距離都是相近的。因此在經(jīng)典的數(shù)據(jù)分布中,數(shù)據(jù)點間的距離差異是不大的。然而,混合模型可以顯示這種差異,因此,與上述其他問題不同,這種差異在統(tǒng)計中很常見。
場景 B:學習數(shù)學
在這個場景中,我們假設你想通過一些說明和練習來教學生數(shù)學(如計算導數(shù))。這個場景雖然沒有正式定義,但有一些定性特征:
學習一項技能,而不是去近似一個統(tǒng)計分布:在這種情況下,學生學習的是一種技能,而不是某個量的估計 / 預測。具體來說,即使將練習映射到解的函數(shù)不能被用作解決某些未知任務的“黑盒”,但學生在解決這些問題時形成的思維模式仍然對未知任務是有用的。
多多益善:一般來說,做題越多、題型涉獵越廣的學生表現(xiàn)越好。同時做一些微積分題和代數(shù)題,不會導致學生的微積分成績下降,相反可能幫助其微積分成績提升。
從提升能力到自動化表示:雖然在某些情況下,解決問題的回報也會遞減,但學生的學習會經(jīng)歷幾個階段。有一個階段,解決一些問題有助于理解概念并解鎖新的能力。此外,當學生重復某一特定類型的問題時,他們見到同類問題就會形成自動化的解題流程,從之前的能力提升轉變?yōu)樽詣踊忸}。
表現(xiàn)獨立于數(shù)據(jù)和損失:教授數(shù)學概念的方法不止一種。使用不同書、教育方法或評分系統(tǒng)學習的學生最終可以學習到相同的內(nèi)容以及相似的數(shù)學能力。
有些問題更困難:在數(shù)學練習中,我們經(jīng)常看到不同學生解決同一問題的方式之間存在著很強的相關性。對于一個問題來說,似乎確實存在一個固有的難度水平,以及一個對學習最有利的自然難度遞進。
四、深度學習更像是統(tǒng)計估計還是學生學習技能?
上面兩個場景的比喻中,哪一個用來描述現(xiàn)代深度學習更恰當?具體來說,它成功的原因是什么?統(tǒng)計模型擬合可以很好地使用數(shù)學和代碼來表達。實際上,規(guī)范的 Pytorch 訓練循環(huán)通過經(jīng)驗風險最小化訓練深度網(wǎng)絡:
在更深的層次上,這兩種場景之間的關系并不清楚。為了更具體,這里以一個特定的學習任務為例??紤]使用 “自監(jiān)督學習 + 線性探測” 方法訓練的分類算法。具體算法訓練如下:
1. 假設數(shù)據(jù)是一個序列,其中
是某個數(shù)據(jù)點(比如一張圖片),
是標簽。
2. 首先得到表示函數(shù)的深度神經(jīng)網(wǎng)絡。通過最小化某種類型的自監(jiān)督損失函數(shù),僅使用數(shù)據(jù)點
而不使用標簽來訓練該函數(shù)。這種損失函數(shù)的例子是重建(用其它輸入恢復輸入)或?qū)Ρ葘W習(核心思想是正樣本和負樣本在特征空間對比,學習樣本的特征表示)。
3. 使用完整的標記數(shù)據(jù)擬合線性分類器
(
是類數(shù)),以最小化交叉熵損失。我們的最終分類器是:
步驟 3 僅適用于線性分類器,因此 “魔術” 發(fā)生在步驟 2 中(深度網(wǎng)絡的自監(jiān)督學習)。在自監(jiān)督學習中有些重要屬性:
學習一項技能而不是去近似一個函數(shù):自監(jiān)督學習不是逼近函數(shù),而是學習可用于各種下游任務的表示(這是自然語言處理的主導范式)。通過線性探測、微調(diào)或激勵獲得下游任務是次要的。
多多益善:在自監(jiān)督學習中,表示質(zhì)量隨著數(shù)據(jù)量的增加而提高,不會因為混合了幾個來源的數(shù)據(jù)而變糟。事實上,數(shù)據(jù)越多樣化越好。
Google PaLM 模型的數(shù)據(jù)集
解鎖新能力:隨著資源(數(shù)據(jù)、計算、模型大?。┩度氲脑黾?,深度學習模型也在不連續(xù)地改進。在一些組合環(huán)境中也證明了這一點。
隨著模型規(guī)模的增加,PaLM 在基準測試中顯示出不連續(xù)的改進,并且解鎖令人驚訝的功能,比如解釋笑話為什么好笑
性能幾乎與損失或數(shù)據(jù)無關:存在多個自監(jiān)督損失,圖像研究中其實使用了多種對比和重建損失,語言模型使用單邊重建(預測下一個 token)或使用 mask 模型,預測來自左右 token 的 mask 輸入。也可以使用稍微不同的數(shù)據(jù)集。這些可能會影響效率,但只要做出 “合理” 的選擇,通常原始資源比使用的特定損失或數(shù)據(jù)集更能提升預測性能。
有些情況比其他情況更困難:這一點并不特定于自監(jiān)督學習。數(shù)據(jù)點似乎有一些固有的 “難度級別”。事實上,不同的學習算法具有不同的“技能水平”,不同的數(shù)據(jù)點具有不同的” 難度水平“(分類器正確分類點
的概率隨
的技能而單調(diào)提升,隨
難度單調(diào)降低)。
“技能與難度(skill vs. difficulty)”范式是對 Recht 等人和 Miller 等人發(fā)現(xiàn)的 “accuracy on the line” 現(xiàn)象的最清晰解釋。Kaplen、Ghosh、Garg 和 Nakkiran 的論文還展示了數(shù)據(jù)集中的不同輸入如何具有固有的“難度剖面”,對于不同的模型族,該剖面通常是穩(wěn)健的。
CIFAR-10 上訓練并在 CINIC-10 上測試的分類器的 accuracy on the line 現(xiàn)象。圖源:https://millerjohnp-linearfits-app-app-ryiwcq.streamlitapp.com/
頂部的圖描述了最可能類別的不同 softmax 概率,作為某個類別分類器的全局精度的函數(shù),該類別由訓練時間索引。底部的餅圖顯示了不同數(shù)據(jù)集分解為不同類型的點(注意,這種分解對于不同的神經(jīng)結構是相似的)。
訓練就是教學:現(xiàn)代大模型的訓練似乎更像是教學生,而不是讓模型擬合數(shù)據(jù),當學生不懂或感到疲倦時,就 “休息” 或嘗試不同的方法(訓練差異)。Meta 的大模型訓練日志很有啟發(fā)性——除了硬件問題外,我們還可以看到干預措施,例如在訓練過程中切換不同的優(yōu)化算法,甚至考慮 “hot swapping” 激活函數(shù)(GELU to RELU)。如果將模型訓練視為擬合數(shù)據(jù),而不是學習表示,則后者沒有多大意義。
Meta 訓練日志摘錄
4.1)但是監(jiān)督學習怎樣呢?
前面討論了自監(jiān)督學習,但深度學習的典型例子,仍然是監(jiān)督學習。畢竟,深度學習的 “ImageNet 時刻” 來自 ImageNet。那么上面所討論的是否仍然適用于這個設定?
首先,有監(jiān)督的大規(guī)模深度學習的出現(xiàn)在某種程度上是個偶然,這得益于大型高質(zhì)量標記數(shù)據(jù)集(即 ImageNet)的可用性。如果你想象力豐富,可以想象另一種歷史,即深度學習首先開始通過無監(jiān)督學習在自然語言處理方面取得突破性進展,然后才轉移到視覺和監(jiān)督學習中。
其次,有證據(jù)表明,盡管使用完全不同的損失函數(shù),但監(jiān)督學習和自監(jiān)督學習在”內(nèi)部“的行為其實是相似的。兩者通常都能達到相同的性能。具體地,對于每一個,人們可以將通過自監(jiān)督訓練的深度為 d 的模型的前 k 層與監(jiān)督模型的最后 d-k 層合在一起,而性能損失很小。
SimCLR v2 論文的表格。請注意監(jiān)督學習、微調(diào)(100%)自監(jiān)督和自監(jiān)督 + 線性探測之間在性能上的一般相似性(圖源:https://arxiv.org/abs/2006.10029)
拼接自監(jiān)督模型和 Bansal 等人的監(jiān)督模型(https://arxiv.org/abs/2106.07682)。左:如果自監(jiān)督模型的準確率(比如)比監(jiān)督模型低 3%,則當層的 p 部分來自自監(jiān)督模型時,完全兼容的表示將導致拼接懲罰為 p 3%。如果模型完全不兼容,那么我們預計隨著合并更多模型,準確率會急劇下降。右:合并不同自監(jiān)督模型的實際結果。
自監(jiān)督 + 簡單模型的優(yōu)勢在于,它們可以將特征學習或 “深度學習魔法”(由深度表示函數(shù)完成)與統(tǒng)計模型擬合(由線性或其他“簡單” 分類器在此表示之上完成)分離。
最后,雖然這更像是一種推測,但事實上 “元學習” 似乎往往等同于學習表征(參見:https://arxiv.org/abs/1909.09157,https://arxiv.org/abs/2206.03271 ),這可以被視為另一個證據(jù),證明這在很大程度上是在進行的,而不管模型優(yōu)化的目標是什么。
4.2)過度參數(shù)化怎么辦?
本文跳過了被認為是統(tǒng)計學習模型和深度學習在實踐中存在差異的典型例子:缺乏 “Bias-Variance 權衡” 以及過度參數(shù)化模型的良好泛化能力。
為什么要跳過?有兩個原因:
首先,如果監(jiān)督學習確實等于自監(jiān)督 + 簡單學習,那么這可能解釋了它的泛化能力。
其次,過度參數(shù)化并不是深度學習成功的關鍵。深度網(wǎng)絡之所以特別,并不是因為它們與樣本數(shù)量相比大,而是因為它們在絕對值上大。事實上,通常在無監(jiān)督 / 自監(jiān)督學習中,模型不會過度參數(shù)化。即使對于非常大的語言模型,它們的數(shù)據(jù)集也更大。
Nakkiran-Neyshabur-Sadghi“deep bootstrap”論文表明,現(xiàn)代架構在 “過度參數(shù)化” 或“欠采樣”狀態(tài)下表現(xiàn)類似(模型在有限數(shù)據(jù)上訓練多個 epoch,直到過度擬合:上圖中的 “Real World”),在“欠參數(shù)化” 或者 “在線” 狀態(tài)下也是如此(模型訓練單個 epoch,每個樣本只看一次:上圖中的 “Ideal World”)。圖源:https://arxiv.org/abs/2010.08127
總結
統(tǒng)計學習當然在深度學習中發(fā)揮著作用。然而,盡管使用了相似的術語和代碼,但將深度學習視為簡單地擬合一個比經(jīng)典模型具有更多參數(shù)的模型,會忽略很多對其成功至關重要的東西。教學生數(shù)學的比喻也不是完美的。
與生物進化一樣,盡管深度學習包含許多復用的規(guī)則(如經(jīng)驗損失的梯度下降),但它會產(chǎn)生高度復雜的結果。似乎在不同的時間,網(wǎng)絡的不同組件會學習不同的東西,包括表示學習、預測擬合、隱式正則化和純噪聲等。研究人員仍在尋找合適的視角提出有關深度學習的問題,更不用說回答這些問題。
原文鏈接:https://windowsontheory.org/2022/06/20/the-uneasy-relationship-between-deep-learning-and-classical-statistics/
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)pwm相關文章:pwm是什么
土壤濕度傳感器相關文章:土壤濕度傳感器原理