學習=擬合?深度學習和經典統計學是一回事嗎?

語言: CN / TW / HK

​在這篇文章中,理論電腦科學家、哈佛大學知名教授 Boaz Barak 詳細比較了深度學習與經典統計學的差異,認為“如果純粹從統計學角度認識深度學習,就會忽略其成功的關鍵因素”。

深度學習(或一般的機器學習)經常被認為是簡單的統計學,即它與統計學家研究的基本是相同的概念,但是使用與統計學不同的術語來描述。Rob Tibshirani 曾總結了下面這個有趣的“詞彙表”:

表中的某些內容是不是很能引起共鳴?事實上所有從事機器學習的人都清楚,Tibshiriani 釋出的這張表中,右側的許多術語在機器學習中已被廣泛使用。

如果純粹從統計學角度認識深度學習,就會忽略其成功的關鍵因素。對深度學習更恰當的評價是:它使用統計學術語來描述完全不同的概念。

對深度學習的恰當評價不是它用不同的詞來描述舊的統計術語,而是它用這些術語來描述完全不同的過程。

本文會解釋為什麼深度學習的基礎其實不同於統計學,甚至不同於經典的機器學習。本文首先討論模型擬合數據時的「解釋(explanation)」任務和「預測(prediction)」任務之間的差異。接著討論學習過程的兩個場景:1. 使用經驗風險最小化擬合統計模型; 2. 向學生傳授數學技能。然後,文章又討論了哪一個場景更接近深度學習的本質。

雖然深度學習的數學和程式碼與擬合統計模型幾乎相同。但在更深層次上,深度學習更像是向學生傳授數學技能這種場景。而且應該很少有人敢宣稱:我掌握了完整的深度學習理論!其實是否存在這樣的理論也是存疑的。相反深度學習的不同方面最好從不同的角度來理解,而僅僅從統計角度無法提供完整的藍圖。

本文對比了深度學習和統計學,這裡的統計學特指的是“經典統計學”,因為它被研究得最久,並且在教科書中經久不衰。許多統計學家正在研究深度學習和非經典理論方法,就像 20 世紀物理學家需要擴充套件經典物理學的框架一樣。事實上,模糊電腦科學家和統計學家之間的界限對雙方都是有利的。

預測與模型擬合

一直以來,科學家們都是將模型計算結果與實際觀測結果進行比較,以驗證模型的準確性。埃及天文學家托勒密提出了關於行星運動的巧妙模型。托勒密的模型遵循地心說,但有一系列的本輪(見下圖),使其具有極好的預測準確性。相比之下,哥白尼最初的日心說模型比托勒密模型簡單,但在預測觀察結果方面不太準確。(哥白尼後來添加了自己的本輪,以便能夠與托勒密的模型媲美。)

托勒密和哥白尼的模型都是無與倫比的。如果我們想通過 “黑盒” 進行預測,那麼托勒密的地心模型更勝一籌。但如果你想要一個簡單的模型,以便可以“觀察模型內部”(這是解釋恆星運動理論的起點),那麼哥白尼的模型是不二選擇。後來,開普勒將哥白尼的模型改進為橢圓軌道,並提出了開普勒行星運動三定律,這使得牛頓能夠用適用於地球的引力定律來解釋行星規律。

因此,重要的是,日心說模型不只是一個提供預測的“黑盒”,而是由幾個簡單的數學方程給出的,但是方程中的 “運動部分” 極少。多年來,天文學一直是發展統計技術的靈感來源。高斯和勒讓德分別獨立地在 1800 年左右發明了最小二乘迴歸,以預測小行星和其他天體的軌道。1847 年,柯西發明了梯度下降法,這也是由天文預測推動的。

在物理學中,有時學者們可以掌握全部細節,從而找到 “正確” 的理論,把預測準確性做到最優,並且對資料做出最好的解釋。這些都在奧卡姆剃刀之類的觀點範疇內,可以認為是假設簡單性、預測能力和解釋性都相互和諧一致的。

然而,在許多其它領域,解釋和預測這兩個目標之間的關係卻沒有那麼和諧。如果只想預測觀察結果,通過 “黑盒” 可能是最好的。另一方面,如果想獲得解釋性的資訊,如因果模型、通用原則或重要特徵,那麼可以理解和解釋的模型可能越簡單越好。

模型的正確選擇與否取決於其用途。例如,考慮一個包含許多個體的遺傳表達和表型(例如某些疾病)的資料集,如果目標是預測一個人生病的機率,那麼無論它有多複雜或依賴於多少個基因,都要使用適配該任務的最佳預測模型。相反,如果目的是識別一些基因,以便進行進一步研究,那麼一個複雜的非常精確的 “黑盒” 的用處是有限的。

統計學家 Leo Breiman 在 2001 年關於統計建模的兩種文化的著名文章中闡述了這一點。第一種是“資料建模文化”,側重於能解釋資料的簡單生成模型。第二種是“演算法建模文化”,對資料的生成方式不可知,側重於尋找能夠預測資料的模型,無論其多麼複雜。

論文標題:

Statistical Modeling: The Two Cultures

論文連結:

https://projecteuclid.org/euclid.ss/1009213726

Breiman 認為,統計學過於受第一種文化的支配,這種關注造成兩種問題:

  • 導致了不相關的理論和可疑的科學結論
  • 阻止了統計學家研究令人興奮的新問題

Breiman 的論文一出,就引起了一些爭議。同為統計學家的 Brad Efron 迴應說,雖然他同意一些觀點,但他也強調,Breiman 的論點似乎是反對節儉和科學見解,支援花大力氣製造複雜的“黑盒”。但在最近的一篇文章中,Efron 摒棄了之前的觀點,承認 Breima 更有先見之明,因為“21 世紀統計學的焦點都聚焦在預測演算法上,在很大程度上沿著 Breiman 提出的路線演進”。

經典和現代預測模型

機器學習,無論是不是深度學習,都沿著 Breiman 的第二種觀點演進,即以預測為重點。這種文化有著悠久的歷史。例如,Duda 和 Hart 在 1973 年出版的教科書和 Highleyman 1962 年的論文就寫到了下圖中的內容,這對於今天的深度學習研究者來說是非常容易理解的:

Duda 和 Hart 的教科書《Pattern classification and scene analysis》和 Highleyman 1962 年的論文《The Design and Analysis of Pattern Recognition Experiments》中的片段。

類似地,下圖中的 Highleyman 的手寫字元資料集和用於擬合它的架構 Chow(1962)(準確率約為 58%)也會引起很多人的共鳴。

為什麼深度學習與眾不同?

1992 年,Geman、Bienenstock 和 Doursat 寫了一篇關於神經網路的悲觀文章,認為 “當前的前饋神經網路在很大程度上不足以解決機器感知和機器學習中的難題”。具體來說,他們認為通用神經網路在處理困難任務方面不會成功,而它們成功的唯一途徑是通過人工設計的特徵。用他們的話說:“重要屬性必須是內建的或“硬連線的”…… 而不是以任何統計意義上的方式學習。” 現在看來 Geman 等人完全錯了,但更有意思的是瞭解他們為什麼錯了。

深度學習確實不同於其它學習方法。雖然深度學習似乎只是預測,就像最近鄰或隨機森林一樣,但它可能有更多的複雜引數。這看起來似乎只是量的差異,而不是質的差異。但在物理學中,一旦尺度變化了幾個數量級,通常就需要完全不同的理論,深度學習也是如此。深度學習與經典模型(引數化或非引數化)的基礎過程完全不同,雖然它們的數學方程(和 Python 程式碼)在更高層次上來看是相同的。

為了說明這一點,下面考慮兩個不同的場景:擬合統計模型和向學生教授數學。

場景 A:擬合一個統計模型

通過資料去擬合一個統計模型的典型步驟如下:

1. 這裡有一些資料 ( 的矩陣; 維向量,即類別標籤。把資料認為是來自某個有結構且包含噪聲的模型,就是要去擬合的模型)

2. 使用上面的資料擬合一個模型 ,並用優化演算法來最小化經驗風險。就是說通過優化演算法找到這樣的 ,使得 最小, 代表損失(表明預測值有多接近真實值), 是可選的正則化項。

3. 模型的總體損失越小越好,即泛化誤差 的值相對最小。

Effron 從包含噪聲的觀測中恢復牛頓第一定律的展示圖

這個非常通用的範例其實包含許多內容,如最小二乘線性迴歸、最近鄰、神經網路訓練等等。在經典統計場景中,我們通常會碰到下面的情況:

權衡:假設是經過優化的模型集合(如果函式是非凸的或包含正則化項,精心選擇演算法和正則化,可得到模型集。的偏差是元素所能達到的最接近真值的近似值。集合越大,偏差越小,並且可能為 0(如果)。

然而,越大,需要縮小其成員範圍的樣本越多,因此演算法輸出模型的方差越大。總體泛化誤差是偏差和方差的總和。因此,統計學習通常是 Bias-Variance 權衡,正確的模型複雜度是將總體誤差降至最低。事實上,Geman 等人證明了其對神經網路的悲觀態度,他們認為:Bias-Variance 困境造成的基本限制適用於所有非引數推理模型,包括神經網路。

“多多益善”並不總是成立:在統計學習中,更多的特徵或資料並不一定會提高效能。例如,從包含許多不相關特徵的資料中學習是很難的。類似地,從混合模型中學習,其中資料來自兩個分佈中的一個(如和,比獨立學習每個分佈更難。

收益遞減:在很多情況中,將預測噪聲降低到水平所需的資料點數量與引數和是有關的,即資料點數量約等於。在這種情況下,需要大約 k 個樣本才能啟動,但一旦這樣做,就面臨著回報遞減的情況,即如果需要個點才能達到 90% 的準確率,則需要大約額外的個點來將準確率提高到 95%。一般來說,隨著資源增加(無論是資料、模型複雜度還是計算),人們希望獲得越來越精細的區分,而不是解鎖特定的新功能。

對損失、資料的嚴重依賴性:當將模型擬合到高維資料時,任何小細節都可能會產生很大的差異。L1 或 L2 正則化器等選擇很重要,更不用說使用完全不同的資料集。不同數量的高維優化器相互之間也非常不同。

資料是相對 “單純” 的:通常會假設資料是獨立於某些分佈進行取樣的。雖然靠近決策邊界的點很難分類,但考慮到高維度上測量集中現象,可以認為大多數點的距離都是相近的。因此在經典的資料分佈中,資料點間的距離差異是不大的。然而,混合模型可以顯示這種差異,因此,與上述其他問題不同,這種差異在統計中很常見。

場景 B:學習數學

在這個場景中,我們假設你想通過一些說明和練習來教學生數學(如計算導數)。這個場景雖然沒有正式定義,但有一些定性特徵:

學習一項技能,而不是去近似一個統計分佈:在這種情況下,學生學習的是一種技能,而不是某個量的估計 / 預測。具體來說,即使將練習對映到解的函式不能被用作解決某些未知任務的“黑盒”,但學生在解決這些問題時形成的思維模式仍然對未知任務是有用的。

多多益善:一般來說,做題越多、題型涉獵越廣的學生表現越好。同時做一些微積分題和代數題,不會導致學生的微積分成績下降,相反可能幫助其微積分成績提升。

從提升能力到自動化表示:雖然在某些情況下,解決問題的回報也會遞減,但學生的學習會經歷幾個階段。有一個階段,解決一些問題有助於理解概念並解鎖新的能力。此外,當學生重複某一特定型別的問題時,他們見到同類問題就會形成自動化的解題流程,從之前的能力提升轉變為自動化解題。

表現獨立於資料和損失:教授數學概念的方法不止一種。使用不同書、教育方法或評分系統學習的學生最終可以學習到相同的內容以及相似的數學能力。

有些問題更困難:在數學練習中,我們經常看到不同學生解決同一問題的方式之間存在著很強的相關性。對於一個問題來說,似乎確實存在一個固有的難度水平,以及一個對學習最有利的自然難度遞進。

深度學習更像是統計估計還是學生學習技能?

上面兩個場景的比喻中,哪一個用來描述現代深度學習更恰當?具體來說,它成功的原因是什麼?統計模型擬合可以很好地使用數學和程式碼來表達。實際上,規範的 Pytorch 訓練迴圈通過經驗風險最小化訓練深度網路:

在更深的層次上,這兩種場景之間的關係並不清楚。為了更具體,這裡以一個特定的學習任務為例。考慮使用 “自監督學習 + 線性探測” 方法訓練的分類演算法。具體演算法訓練如下:

​1. 假設資料是一個序列,其中​ 是某個資料點(比如一張圖片),是標籤。​

​2. 首先得到表示函式 的深度神經網路。通過最小化某種型別的自監督損失函式,僅使用資料點而不使用標籤來訓練該函式。這種損失函式的例子是重建(用其它輸入恢復輸入)或對比學習(核心思想是正樣本和負樣本在特徵空間對比,學習樣本的特徵表示)。

3. 使用完整的標記資料擬合線性分類器 (是類數),以最小化交叉熵損失。我們的最終分類器是:

步驟 3 僅適用於線性分類器,因此 “魔術” 發生在步驟 2 中(深度網路的自監督學習)。在自監督學習中有些重要屬性:

學習一項技能而不是去近似一個函式:自監督學習不是逼近函式,而是學習可用於各種下游任務的表示(這是自然語言處理的主導正規化)。通過線性探測、微調或激勵獲得下游任務是次要的。

多多益善:在自監督學習中,表示質量隨著資料量的增加而提高,不會因為混合了幾個來源的資料而變糟。事實上,資料越多樣化越好。

Coogle PaLM 模型的資料集

解鎖新能力:隨著資源(資料、計算、模型大小)投入的增加,深度學習模型也在不連續地改進。在一些組合環境中也證明了這一點。

隨著模型規模的增加,PaLM 在基準測試中顯示出不連續的改進,並且解鎖令人驚訝的功能,比如解釋笑話為什麼好笑。

效能幾乎與損失或資料無關:存在多個自監督損失,影象研究中其實使用了多種對比和重建損失,語言模型使用單邊重建(預測下一個 token)或使用 mask 模型,預測來自左右 token 的 mask 輸入。也可以使用稍微不同的資料集。這些可能會影響效率,但只要做出 “合理” 的選擇,通常原始資源比使用的特定損失或資料集更能提升預測效能。

有些情況比其他情況更困難:這一點並不特定於自監督學習。資料點似乎有一些固有的 “難度級別”。事實上,不同的學習演算法具有不同的“技能水平”,不同的資料 dian 具有不同的” 難度水平“(分類器正確分類點的概率隨的技能而單調提升,隨難度單調降低)。

“技能與難度(skill vs. difficulty)”正規化是對 Recht 等人和 Miller 等人發現的 “accuracy on the line” 現象的最清晰解釋。Kaplen、Ghosh、Garg 和 Nakkiran 的論文還展示了資料集中的不同輸入如何具有固有的“難度剖面”,對於不同的模型族,該剖面通常是穩健的。

C**IFAR-10 上訓練並在 CINIC-10 上測試的分類器的 accuracy on the line 現象。圖源:https://millerjohnp-linearfits-app-app-ryiwcq.streamlitapp.com/

頂部的圖描述了最可能類別的不同 softmax 概率,作為某個類別分類器的全域性精度的函式,該類別由訓練時間索引。底部的餅圖顯示了不同資料集分解為不同型別的點(注意,這種分解對於不同的神經結構是相似的)。

訓練就是教學:現代大模型的訓練似乎更像是教學生,而不是讓模型擬合數據,當學生不懂或感到疲倦時,就 “休息” 或嘗試不同的方法(訓練差異)。Meta 的大模型訓練日誌很有啟發性——除了硬體問題外,我們還可以看到干預措施,例如在訓練過程中切換不同的優化演算法,甚至考慮 “hot swapping” 啟用函式(GELU to RELU)。如果將模型訓練視為擬合數據,而不是學習表示,則後者沒有多大意義。

Meta 訓練日誌摘錄

4.1 但是監督學習怎樣呢?

前面討論了自監督學習,但深度學習的典型例子,仍然是監督學習。畢竟,深度學習的 “ImageNet 時刻” 來自 ImageNet。那麼上面所討論的是否仍然適用於這個設定?

首先,有監督的大規模深度學習的出現在某種程度上是個偶然,這得益於大型高質量標記資料集(即 ImageNet)的可用性。如果你想象力豐富,可以想象另一種歷史,即深度學習首先開始通過無監督學習在自然語言處理方面取得突破性進展,然後才轉移到視覺和監督學習中。

其次,有證據表明,儘管使用完全不同的損失函式,但監督學習和自監督學習在”內部“的行為其實是相似的。兩者通常都能達到相同的效能。具體地,對於每一個,人們可以將通過自監督訓練的深度為 d 的模型的前 k 層與監督模型的最後 d-k 層合在一起,而效能損失很小。

SimCLR v2 論文的表格。請注意監督學習、微調(100%)自監督和自監督 + 線性探測之間在效能上的一般相似性(圖源:https://arxiv.org/abs/2006.10029)

拼接自監督模型和 Bansal 等人的監督模型(https://arxiv.org/abs/2106.07682)。左:如果自監督模型的準確率(比如)比監督模型低 3%,則當層的 p 部分來自自監督模型時,完全相容的表示將導致拼接懲罰為 p 3%。如果模型完全不相容,那麼我們預計隨著合併更多模型,準確率會急劇下降。右:合併不同自監督模型的實際結果。

自監督 + 簡單模型的優勢在於,它們可以將特徵學習或 “深度學習魔法”(由深度表示函式完成)與統計模型擬合(由線性或其他“簡單” 分類器在此表示之上完成)分離。

最後,雖然這更像是一種推測,但事實上 “元學習” 似乎往往等同於學習表徵(參見:https://arxiv.org/abs/1909.09157,https://arxiv.org/abs/2206.03271),這可以被視為另一個證據,證明這在很大程度上是在進行的,而不管模型優化的目標是什麼。

4.2 過度引數化怎麼辦?

本文跳過了被認為是統計學習模型和深度學習在實踐中存在差異的典型例子:缺乏 “Bias-Variance 權衡” 以及過度引數化模型的良好泛化能力。

為什麼要跳過?有兩個原因:

  • 首先,如果監督學習確實等於自監督 + 簡單學習,那麼這可能解釋了它的泛化能力。
  • 其次,過度引數化並不是深度學習成功的關鍵。深度網路之所以特別,並不是因為它們與樣本數量相比大,而是因為它們在絕對值上大。事實上,通常在無監督 / 自監督學習中,模型不會過度引數化。即使對於非常大的語言模型,它們的資料集也更大。

Nakkiran-Neyshabur-Sadghi“deep bootstrap”論文表明,現代架構在 “過度引數化” 或“欠取樣”狀態下表現類似(模型在有限資料上訓練多個 epoch,直到過度擬合:上圖中的 “Real World”),在“欠引數化” 或者 “線上” 狀態下也是如此(模型訓練單個 epoch,每個樣本只看一次:上圖中的 “Ideal World”)。圖源:https://arxiv.org/abs/2010.08127

總結

統計學習當然在深度學習中發揮著作用。然而,儘管使用了相似的術語和程式碼,但將深度學習視為簡單地擬合一個比經典模型具有更多引數的模型,會忽略很多對其成功至關重要的東西。教學生數學的比喻也不是完美的。

與生物進化一樣,儘管深度學習包含許多複用的規則(如經驗損失的梯度下降),但它會產生高度複雜的結果。似乎在不同的時間,網路的不同元件會學習不同的東西,包括表示學習、預測擬合、隱式正則化和純噪聲等。研究人員仍在尋找合適的視角提出有關深度學習的問題,更不用說回答這些問題。