導語:爲了探索神經網絡的規模有多大的極限,我們可能首先需要探索神經網絡的規模到底有多小的極限。
譯者:AI研習社(聽風1996)
雙語原文鏈接:Scaling down Deep Learning
不管是按什麼樣的科學標準,人類基因組項目都是巨大的:它涉及數十億美元的資金,數十家機構以及超過十多年的快速研究進展。但這僅僅是冰山一角。早在項目開始之前,科學家們就在全力整理人類遺傳學這門複雜的科學。而大多數時候,他們研究的不是人類。遺傳學的基礎性發現都集中在如豌豆、黴菌、果蠅和小鼠等非常簡單的生物體上,時至今日,生物學家爲了節省時間、精力和金錢,將這些更簡單的生物體作爲遺傳學的 "最小工作範例"。一個精心設計的果蠅實驗,如Feany和Bender(2000),可以讓我們學到關於人類的令人歎爲觀止的東西。
與果蠅相似的是深度學習中所使用的是MNIST數據集。大量的深度學習創新工作,包括drop,Adam,卷積網絡,生成式對抗網絡和變分自編碼器,都從MNIST實驗開始。一旦這些創新在小型實驗中證明了自己的能力,科學家們就找到了將它們擴展到更大、更有影響力的應用。
果蠅和MNIST的關鍵優勢在於它們可以極大地加快探索性研究的迭代週期。以果蠅爲例,果蠅的生命週期只有幾天,其營養需求可以忽略不計。這比哺乳動物,尤其是人類更容易與之合作。對於MNIST而言,訓練一個強大的分類器只需要幾十行代碼,不到一分鐘的時間,耗電量可忽略不計。這與最先進的視覺,文本和遊戲模型形成鮮明對比,後者可能需要花費數月甚至數十萬美元的電力資料來訓練模型。
然而,儘管MNIST具有歷史意義,但它有三個顯著的缺點。首先,它在區分線性、非線性和平移不變性的模型方面做得很差。例如,logistic、MLP和CNN基準在它身上獲得94、99+和99+%的準確率。這就很難衡量CNN的空間先驗的貢獻,也很難判斷不同正則化方案的相對有效性。其次,對於一個玩具(譯者注:極小)數據集來說,它有些大。每個輸入例子都是一個784維的向量,因此當執行超參搜索或調試元學習循環需要不小的計算量。第三,MNIST很難被改寫。理想的小型數據集應該是程序化生成的,這樣研究人員就可以輕易地改變背景噪聲、平移性和分辨率等參數。
爲了解決這些缺點,我們提出了MNIST-1D數據集。它是MNIST的一個極簡化、低內存和低計算量的替代方案,專爲探索性深度學習研究而設計,其中能夠快速迭代是我們優先考慮的要求。訓練實例小了20倍,但它們仍能更好地評估1)線性和非線性分類器之間的差異,以及2)是否具有空間歸納偏差(例如平移不變性)的模型。雖然數據集是程序自動化生成的,但仍可以類比到現實世界中的數字分類。
構建MNIST-1D數據集。與MNIST一樣,分類器的目標是確定輸入中存在哪個數字。與MNIST不同的是,每個例子都是一個一維的點序列。爲了生成一個示例,我們從一個數字模板開始,然後隨機對其進行填充、平移和轉換。
在MNIST-1D數據集上可視化常見模型的性能。該數據集根據它們是否使用非線性特徵(邏輯迴歸vs. MLP)或是否存在空間歸納偏差(MLP vs. CNN)將它們清晰地分開。人類做得最好。最好可以放大來觀察上圖結果。
使用案例
在本節中,我們將探討MNIST-1D如何用於研究核心 "深度學習科學 "現象的幾個例子。
尋找彩票。深度學習模型的參數比真正所需參數的多十倍甚至百倍是很正常的。這種過度參數化有助於訓練,但會增加計算開銷。一種解決方案是在訓練過程中逐步修剪模型中的權重,使最終的網絡只是其原始大小的一小部分。雖然這種方法可行,但傳統觀點認爲,稀疏網絡從頭開始訓練效果不好。Frankle & Carbin(2019)最近的工作挑戰了這種傳統觀點。作者報告稱,在更大的網絡發現了稀疏的子網絡,這些網絡的訓練精度相當甚至更高。這些 "彩票 "子網絡可以通過一個簡單的迭代程序得到:訓練一個網絡,修剪最小的權重, 然後將其餘的權重倒回其原始初始化並重新訓練。
自從原始論文發表以來,大量的工作都試圖解釋這一現象,然後將其用於在更大的數據集和模型上。然而,很少有工作試圖找出這種影響的“最小工作實例”,以便對其進行更仔細的研究。下圖顯示了MNIST-1D數據集不僅會使之成爲可能,而且使我們能夠通過精心控制的實驗,闡明彩票成功的一些原因。與許多後續實驗不同的是,這個實驗只花了研究人員兩天的時間就製作完成了。有興趣的讀者也可以在瀏覽器中僅需幾分鐘內便可復現這些結果。
查詢和分析 lottery tickets。在a-b)中,我們隔離了該效應下的一個 "最小可行示例 "。 Morcos et al (2019) 最近的工作表明, lottery tickets可以在數據集之間轉移。我們想確認空間歸納偏差是否在其中起到了作用。因此,我們進行了一系列實驗:在c)中,我們繪製了92%稀疏 lottery tickets的漸近性能。在d)中,我們將數據集中所有的1D信號反轉,有效地保留了空間結構,但改變了各個數據點的位置。這類似於將圖像倒轉過來。在這種消融作用下, lottery tickets繼續保持不敗。
接下來,在e)中,我們對1D信號的索引進行了置換,從而有效地從數據集中去除空間結構。這種消融對 lottery tickets性能的損傷明顯更大,說明 lottery tickets中的部分性能可以歸結爲空間歸納偏差。最後,在f)中,我們保持lottery tickets的稀疏性結構,但用不同的隨機種子初始化其權重。與Frankle & Carbin(2019)中報告的結果相反,我們看到我們的 lottery tickets繼續優於衆多基線模型,與我們的假設一致,即 lottery tickets背後具有空間歸納偏差。在g)中,我們通過測量模型第一層中未掩膜的權重彼此相鄰的頻率來驗證我們的假設。lottery tickets的相鄰權重比隨機預測的要多很多,這意味着局部連接結構更容易引起空間偏差。
您還可以可視化通過隨機和 lottery tickets修剪選擇的實際掩膜:VISUALIZE MASKS
觀察深度雙重下降。神經網絡的另一個有趣的屬性是 "雙重下降 "現象。這句話指的是一種訓練機制,其中更多的數據、模型參數量或梯度更新步驟實際上會降低模型的測試精度1 2 3 4。從直覺上看,在監督學習的過程中,有一個閾值插值,在這個閾值下,由模型和優化算法組成的學習過程剛好可以勉強適合整個訓練集。在這個閾值上,實際上只有一個模型能夠擬合數據,而這個模型對標籤的噪聲和模型化非常敏感。
這種效應存在幾個性質,比如什麼因素會影響它的寬度和位置,在深度模型的背景下沒有得到很好的理解。我們認爲MNIST-1D數據集是探索這些屬性的好工具。事實上,經過研究人員幾個小時的努力,我們能夠重現雙下降模式。下圖顯示了我們對一個全連接的網絡和卷積模型的結果。我們還觀察到了一個細微的差別,這是我們在以前的工作中沒有看到提到的:當使用均方誤差損失時,插值閾值位於n∗Kn∗K模型參數,其中nn是訓練樣本的數量,KK是模型輸出數量。但是當使用負對數似然損失時,插值閾值取決於神經網絡模型參數-而不依賴於模型輸出的數量。這是一個有趣的實驗觀察,可以解釋在這類任務中使用對數似然損失比MSE損失的一些優勢。你可以在這裏重現這些結果。
觀察深度雙重下降。MNIST-1D是確定深度模型的插值閾值的良好環境。這個閾值在全連接模型中相當容易預測,但對於其他模型,如CNNs、RNNs和Transformers,則不太容易預測。在這裏,我們看到CNN在相同的插值閾值下有一個雙下降峯值,但效果卻不那麼明顯。
基於梯度的元學習。元學習的目標是 "學會如何學習"。一個模型通過有兩個層次的優化來實現:第一個是快速的內循環,對應傳統的學習目標;第二個是相對慢一些的外循環,更新學習過程的 "元 "屬性。元學習最簡單的例子之一是基於梯度的超參數優化。這個概念是由 Bengio (2000) 提出的,然後由 Maclaurin et al. (2015)擴展到深度學習模型。其基本思想是實現一個完全可分的神經網絡訓練循環,然後在整個過程中進行反向傳播,以優化學習率和權重衰減等超參數。
元學習是一個很有前景的課題,但它很卻難擴展。首先,元學習算法需要消耗大量的時間和計算。其次,實現往往會變得複雜,因爲有兩倍多的超參數(每個優化級別都有一組),而且大多數深度學習框架並沒有爲元學習專門設置。這對在MNIST-1D等小規模數據集上調試和迭代元學習算法提出了特別高的要求。例如,實現和調試下圖所示的基於梯度的超參數優化學習率只花了幾個小時。你可以在這裏重現這些結果。
元學習的學習率:看第三個圖,最佳學習率似乎是0.6。與許多基於梯度的元學習實現不同,我們的實現需要幾秒鐘的時間來運行,只佔用幾十行代碼。這使得研究人員可以在擴大規模之前對新穎的想法進行迭代。
激活函數的元學習。在實現了基於梯度的元學習的 "最小工作示例 "後,我們意識到它可以被擴展到一個簡單而新穎的應用中:激活函數的元學習。再花上幾個小時的研究時間,我們就能用第二個神經網絡對分類器的激活函數進行參數化,然後使用元梯度學習權重。如下圖所示,我們學習的激活函數大幅優於ReLU, Elu5, 和Swish6等基線非線性。你可以在這裏復現這些結果。
元學習得到一個激活函數。從一個ELU形狀開始,我們使用基於梯度的元學習來尋找在MNIST-1D數據集上訓練的神經網絡的最佳激活函數。激活函數本身由第二個(元)神經網絡進行參數化。請注意,上圖中ELU基線(紅色)被tanh基線(藍色)所遮擋。
我們將這個激活函數轉移到在MNIST和CIFAR-10圖像上訓練的卷積模型上,發現它達到了中等的性能。特別是在優化的早期,它的訓練損耗很低,這也是MNIST-1D 訓練的目標。不過,當我們按最終測試損失對非線性進行排名時,它的性能達到了包中的中等水平。我們懷疑,在更大的模型和數據集上運行相同的元學習算法會進一步完善我們的激活函數,讓它至少能匹配人爲設計的最佳激活函數。不過,我們還是把這個問題留給以後的工作吧。
測量深度網絡的空間先驗。深度學習的成功很大一部分源於 "深度先驗",其中包括硬編碼的平移不變性(如卷積濾波器)、巧妙的架構選擇(如自注意力層)和良好條件下的優化場景(如批量歸一化)。這些先決條件中的原則是卷積的平移不變性。這個數據集的一個主要動機是構建一個小型問題,可以有效地量化一個模型的空間先驗。本篇文章的第二張圖說明了MNIST-1D確實可以做到這一點。我們可以想象,其他更適度的空間先驗的模型將位於MLP和CNN基準之間的連續空間中的某個位置。在這裏可以復現出這些結果。
池化方法的基準測試。我們最後的一個案例研究是從一個具體問題開始的。池化和採樣效率之間的關係是什麼?我們沒有發現有證據表明池化使模型的採樣效率提高或降低,但這似乎是一個需要了解的重要關係。考慮到這一點,我們用不同的池化方法和訓練集大小來訓練模型,發現雖然池化在低維數據中往往是有效的,但在高維數據體系中並沒有太大的區別。我們並不完全理解這種效果,但假設池化是一種普通的架構先驗,在低數據體系中聊勝於無,但在高維數據體系中卻最終限制了模型的表達。同樣的道理,max-pooling在低維數據體系中也可能有一個好的架構先驗,但在高維數據體系中開始刪除信息--因此與L2 pooling相比表現更差。在這裏可以復現出這些結果。
通用池化方法的基準測試。我們發現,在低維數據體系下,池化有助於性能,而在高維數據體系下則阻礙了性能。雖然我們並不完全理解這種結果,我們假設池化是一種普通的架構先決條件,在低維數據體系下聊勝於無,但在高數據制度下就會變得過度限制。
何時縮放規模
這篇文章並不是反對大規模機器學習研究的。這種研究已經一次又一次地證明了它的價值,並且已經成爲ML研究生態系統中最令人興奮的方面之一。相反,這篇文章支持小規模的機器學習研究。神經網絡在規模或性能方面沒有問題,但它們在可解釋性、可重複性和迭代速度方面確實存在問題。我們認爲精心控制的小規模實驗是解決這些問題的好方法。
事實上,小規模研究是對大規模研究的補充。在生物學領域,果蠅遺傳學幫助指導了人類基因組計劃,我們認爲小規模的研究應該始終着眼於如何成功地擴大規模。例如,這篇文章中報告的幾項研究結果已經到了應該進行大規模研究的地步。我們想證明,大規模 lottery tickets也能學習空間歸納偏差,並證明他們發展局部連接的證據。我們還想嘗試在更大的模型上學習一個激活函數,希望找到一個在通用性上優於ReLU和Swish的激活函數。
我們應該強調的是,我們現在只是準備在受控環境下隔離和理解這些結果,然後再進行擴展。我們認爲,只有在相關的因果機制被分離和理解之後,擴大系統的規模纔是一個好主意。
其他的小型數據集
這項工作的核心靈感來自於對MNIST數據集的崇拜和迷戀。雖然它有一些明顯的缺陷--我們已經解決了其中的一些問題--但它也有許多討人喜歡的品質和被低估的優點:它簡單、直觀,爲探索創造性的新想法提供了完美的沙盤。
我們的工作也與Rawal等人(2020)的Synthetic Petri Dish在哲學上有相似之處。它與我們這項工作是同時發表的,作者對生物學進行了類似的引用,以激勵使用小型合成數據集進行探索性研究。他們的工作與我們的不同之處在於,他們使用元學習來獲得他們的數據集,而我們的數據集是由人工構建的。Synthetic Petri Dish的目的是加速神經架構搜索,而我們的數據集的目的是加速 "深度學習的科學 "問題。
還有很多其他小規模的數據集,通常用於研究 "深度學習的科學 "問題。CIFAR-10數據集中的樣本數是MNIST的4倍,但訓練樣本的總數量是一樣的。CIFAR-10在區分MLP和CNN架構,以及各種CNN架構(如vanilla CNNs與ResNets)方面做得更好。FashionMNIST數據集與MNIST大小相同,但(區分)難度會更大一些。最後一個選擇是Scikit-learn的數據集:有幾十個選擇,有些是人工合成的,有些是真實的。但要把真實世界類比到比如說數字分類,是不可能的,人們往往可以用簡單的線性或基於內核的方法在這些數據集上做得很好。
結束語
爲了探索神經網絡規模的極限,有一種違反直覺的可能性是,爲了探索神經網絡的規模有多大的極限,我們可能首先需要探索神經網絡的規模到底有多小的極限。以保留其行爲在規模上的細微差別來縮放模型大小和數據集,會使研究人員能夠快速迭代基礎和創新的想法。這種快速迭代週期是獲得關於如何將逐漸複雜的歸納偏差納入我們的模型的見解的最佳方式。然後,我們可以跨空間尺度遷移這些歸納偏差,以顯着提高大規模模型的採樣效率和泛化特性。我們認爲不怎麼起眼的MNIST-1D數據集是朝着這個方向邁出的第一步。
腳註
Trunk, Gerard V. “A problem of dimensionality: A simple example.” IEEE Transactions on pattern analysis and machine intelligence 3 (1979): 306-307. ↩
Belkin, Mikhail, et al. “Reconciling modern machine-learning practice and the classical bias–variance trade-off.” Proceedings of the National Academy of Sciences 116.32 (2019): 15849-15854. ↩
Spigler, Stefano, et al. “A jamming transition from under-to over-parametrization affects loss landscape and generalization.” arXiv preprint arXiv:1810.09665 (2018). ↩
Nakkiran, Preetum, et al. “Deep double descent: Where bigger models and more data hurt.” arXiv preprint arXiv:1912.02292 (2019). ↩
Clevert, Djork-Arné, Thomas Unterthiner, and Sepp Hochreiter. Fast and accurate deep network learning by exponential linear units (elus). ICLR 2016. ↩
-
Ramachandran, Prajit, Barret Zoph, and Quoc V. Le. Searching for activation functions. (2017). ↩
AI研習社是AI學術青年和AI開發者技術交流的在線社區。我們與高校、學術機構和產業界合作,通過提供學習、實戰和求職服務,爲AI學術青年和開發者的交流互助和職業發展打造一站式平臺,致力成爲中國最大的科技創新人才聚集地。
如果,你也是位熱愛分享的AI愛好者。歡迎與譯站一起,學習新知,分享成長。