深度學習和簡單的統計學是一回事嗎?很多人可能都有這個疑問,畢竟二者連術語都有很多相似的地方。在這篇文章中,理論計算機科學家、哈佛大學知名教授 Boaz Barak 詳細比較了深度學習與經典統計學的差異,認為“如果純粹從統計學角度認識深度學習,就會忽略其成功的關鍵因素”。
深度學習(或一般的機器學習)經常被認為是簡單的統計學,即它與統計學家研究的基本是相同的概念,但是使用與統計學不同的術語來描述。Rob Tibshirani 曾總結了下面這個有趣的“詞匯表”:
表中的某些內容是不是很能引起共鳴?事實上所有從事機器學習的人都清楚,Tibshiriani 發布的這張表中,右側的許多術語在機器學習中已被廣泛使用。 如果純粹從統計學角度認識深度學習,就會忽略其成功的關鍵因素。對深度學習更恰當的評價是:它使用統計學術語來描述完全不同的概念。
對深度學習的恰當評價不是它用不同的詞來描述舊的統計術語,而是它用這些術語來描述完全不同的過程。
本文會解釋為什么深度學習的基礎其實不同于統計學,甚至不同于經典的機器學習。本文首先討論模型擬合數據時的「解釋(explanation)」任務和「預測(prediction)」任務之間的差異。接著討論學習過程的兩個場景:1. 使用經驗風險最小化擬合統計模型; 2. 向學生傳授數學技能。然后,文章又討論了哪一個場景更接近深度學習的本質。
雖然深度學習的數學和代碼與擬合統計模型幾乎相同。但在更深層次上,深度學習更像是向學生傳授數學技能這種場景。而且應該很少有人敢宣稱:我掌握了完整的深度學習理論!其實是否存在這樣的理論也是存疑的。相反深度學習的不同方面最好從不同的角度來理解,而僅僅從統計角度無法提供完整的藍圖。
本文對比了深度學習和統計學,這里的統計學特指的是“經典統計學”,因為它被研究得最久,并且在教科書中經久不衰。許多統計學家正在研究深度學習和非經典理論方法,就像 20 世紀物理學家需要擴展經典物理學的框架一樣。事實上,模糊計算機科學家和統計學家之間的界限對雙方都是有利的。
預測與模型擬合
一直以來,科學家們都是將模型計算結果與實際觀測結果進行比較,以驗證模型的準確性。埃及天文學家托勒密提出了關于行星運動的巧妙模型。托勒密的模型遵循地心說,但有一系列的本輪(見下圖),使其具有極好的預測準確性。相比之下,哥白尼最初的日心說模型比托勒密模型簡單,但在預測觀察結果方面不太準確。(哥白尼后來添加了自己的本輪,以便能夠與托勒密的模型媲美。)
托勒密和哥白尼的模型都是無與倫比的。如果我們想通過 “黑盒” 進行預測,那么托勒密的地心模型更勝一籌。但如果你想要一個簡單的模型,以便可以“觀察模型內部”(這是解釋恒星運動理論的起點),那么哥白尼的模型是不二選擇。后來,開普勒將哥白尼的模型改進為橢圓軌道,并提出了開普勒行星運動三定律,這使得牛頓能夠用適用于地球的引力定律來解釋行星規律。 因此,重要的是,日心說模型不只是一個提供預測的“黑盒”,而是由幾個簡單的數學方程給出的,但是方程中的 “運動部分” 極少。多年來,天文學一直是發展統計技術的靈感來源。高斯和勒讓德分別獨立地在 1800 年左右發明了最小二乘回歸,以預測小行星和其他天體的軌道。1847 年,柯西發明了梯度下降法,這也是由天文預測推動的。
在物理學中,有時學者們可以掌握全部細節,從而找到 “正確” 的理論,把預測準確性做到最優,并且對數據做出最好的解釋。這些都在奧卡姆剃刀之類的觀點范疇內,可以認為是假設簡單性、預測能力和解釋性都相互和諧一致的。
然而,在許多其它領域,解釋和預測這兩個目標之間的關系卻沒有那么和諧。如果只想預測觀察結果,通過 “黑盒” 可能是最好的。另一方面,如果想獲得解釋性的信息,如因果模型、通用原則或重要特征,那么可以理解和解釋的模型可能越簡單越好。
模型的正確選擇與否取決于其用途。例如,考慮一個包含許多個體的遺傳表達和表型(例如某些疾病)的數據集,如果目標是預測一個人生病的幾率,那么無論它有多復雜或依賴于多少個基因,都要使用適配該任務的最佳預測模型。相反,如果目的是識別一些基因,以便進行進一步研究,那么一個復雜的非常精確的 “黑盒” 的用處是有限的。
統計學家 Leo Breiman 在 2001 年關于統計建模的兩種文化的著名文章中闡述了這一點。第一種是“數據建模文化”,側重于能解釋數據的簡單生成模型。第二種是“算法建模文化”,對數據的生成方式不可知,側重于尋找能夠預測數據的模型,無論其多么復雜。
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 中(深度網絡的自監督學習)。在自監督學習中有些重要屬性: 學習一項技能而不是去近似一個函數:自監督學習不是逼近函數,而是學習可用于各種下游任務的表示(這是自然語言處理的主導范式)。通過線性探測、微調或激勵獲得下游任務是次要的。 多多益善:在自監督學習中,表示質量隨著數據量的增加而提高,不會因為混合了幾個來源的數據而變糟。事實上,數據越多樣化越好。
Google PaLM 模型的數據集。 解鎖新能力:隨著資源(數據、計算、模型大小)投入的增加,深度學習模型也在不連續地改進。在一些組合環境中也證明了這一點。
隨著模型規模的增加,PaLM 在基準測試中顯示出不連續的改進,并且解鎖令人驚訝的功能,比如解釋笑話為什么好笑。
性能幾乎與損失或數據無關:存在多個自監督損失,圖像研究中其實使用了多種對比和重建損失,語言模型使用單邊重建(預測下一個 token)或使用 mask 模型,預測來自左右 token 的 mask 輸入。也可以使用稍微不同的數據集。這些可能會影響效率,但只要做出 “合理” 的選擇,通常原始資源比使用的特定損失或數據集更能提升預測性能。 有些情況比其他情況更困難:這一點并不特定于自監督學習。數據點似乎有一些固有的 “難度級別”。事實上,不同的學習算法具有不同的“技能水平”,不同的數據 dian 具有不同的” 難度水平“(分類器正確分類點的概率隨的技能而單調提升,隨難度單調降低)。 “技能與難度(skill vs. difficulty)”范式是對 Recht 等人和 Miller 等人發現的 “accuracy on the line” 現象的最清晰解釋。Kaplen、Ghosh、Garg 和 Nakkiran 的論文還展示了數據集中的不同輸入如何具有固有的“難度剖面”,對于不同的模型族,該剖面通常是穩健的。
CIFAR-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”)。
總結
統計學習當然在深度學習中發揮著作用。然而,盡管使用了相似的術語和代碼,但將深度學習視為簡單地擬合一個比經典模型具有更多參數的模型,會忽略很多對其成功至關重要的東西。教學生數學的比喻也不是完美的。 與生物進化一樣,盡管深度學習包含許多復用的規則(如經驗損失的梯度下降),但它會產生高度復雜的結果。似乎在不同的時間,網絡的不同組件會學習不同的東西,包括表示學習、預測擬合、隱式正則化和純噪聲等。研究人員仍在尋找合適的視角提出有關深度學習的問題,更不用說回答這些問題。
-
代碼
+關注
關注
30文章
4779瀏覽量
68524 -
機器學習
+關注
關注
66文章
8406瀏覽量
132562 -
深度學習
+關注
關注
73文章
5500瀏覽量
121111
原文標題:學習=擬合?深度學習和經典統計學是一回事嗎?
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論