登 Nature!深度學習還不如淺層網絡?

轉自 | 機器之心

人工神經網絡、深度學習方法和反向傳播算法構成了現代機器學習和人工智能的基礎。但現有方法往往是一個階段更新網絡權重,另一個階段在使用或評估網絡時權重保持不變。這與許多需要持續學習的應用程序形成鮮明對比。

最近,一篇發表在《nature》雜誌上的研究論文《Loss of plasticity in deep continual learning》證明:標準的深度學習方法在持續學習環境中會逐漸失去可塑性(plasticity),直到它們的學習效果不比淺層網絡好。

  • 論文地址:https://www.nature.com/articles/s41586-024-07711-7

值得注意的是,人工智能先驅、強化學習教父、DeepMind 傑出研究科學家,阿爾伯塔大學計算機科學教授 Richard S. Sutton 是這篇論文的作者之一。

簡單來說,該研究使用經典的 ImageNet 數據集、神經網絡和學習算法的各種變體來展示可塑性的喪失。只有通過不斷向網絡注入多樣性的算法才能無限期地維持可塑性。基於這種思路,該研究還提出了「持續反向傳播算法」,這是反向傳播的一種變體,其中一小部分較少使用的單元被持續隨機地重新初始化。實驗結果表明,基於梯度下降的方法是不夠的,持續的深度學習需要隨機的、非梯度的成分來保持可變性和可塑性。

ImageNet 數據庫包含數百萬張用名詞(類別)標記的圖像,例如動物類型和日常物品。典型的 ImageNet 任務是猜測給定圖像的標籤。

為了使 ImageNet 適應持續學習,同時最大限度地減少所有其他變化,該研究通過成對的類構建了一系列二元分類任務。例如,第一個任務可能是區分貓和房屋,第二個任務可能是區分停車標誌和校車。利用數據集中的 1000 個類,該研究能夠以這種方式形成 50 萬個二元分類任務。

對於每個任務,該研究首先在兩個類的圖像子集上訓練深度學習網絡,然後在這些類的單獨測試集上測量其性能。在一個任務上訓練和測試後,下一個任務從一對不同的類開始。研究團隊將此問題稱為「持續 ImageNet(Continual ImageNet)」。在持續 ImageNet 中,任務的難度隨著時間的推移保持不變。性能下降意味著網絡正在失去學習能力,這是可塑性喪失的直接表現。

該研究將各種標準深度學習網絡應用於 Continual ImageNet,並測試了許多學習算法和參數設置。為了評估網絡在任務中的性能,該研究測量了正確分類測試圖像的百分比。

該研究發現:對於經過良好調整的網絡,性能往往首先提高,然後大幅下降,最終接近或低於線性基線。當性能開始下降時,網絡架構、算法參數和優化器的具體選擇會產生影響,但多種選擇都會導致性能嚴重下降。標準深度學習方法在後續任務中無法比線性網絡更好地學習,這直接證明這些方法在持續學習問題中效果不佳。

令人驚訝的是,Adam、Dropout 和歸一化等流行方法實際上增加了可塑性的損失;而 L2 正則化在許多情況下減少了可塑性的損失。

研究團隊發現:顯式保持網絡權重較小的算法通常能夠保持可塑性,甚至在許多任務中能夠提高性能。

該研究基於上述發現,提出了反向傳播算法的一種變體 —— 持續反向傳播,該算法向網絡注入可變性並保持其某些權重較小。

方法

持續反向傳播

持續反向傳播算法將選擇性地對網絡中低效的單元進行初始化處理。研究團隊定義了名為「貢獻效用」的值來衡量每個單元的重要性。如果神經網絡中某個隱藏單元對它所連接的下遊單元的影響很小,那麼它的作用就可能被網絡中其他更有影響力的隱藏單元掩蓋。

貢獻效用通過計算即時貢獻的移動平均值來衡量,這個值由衰減率表示。在所有實驗中,初始衰減率 η 設置為 0.99。在前饋神經網絡中,第 l 層第 i 個隱藏單元在時間 t 的貢獻效用

更新如下:

其中

代表第 l+1 層的單元數量。

代表其權重,

是時間 t 時第 l 層第 i 個隱藏單元的輸出,

當一個隱藏單元被重新初始化時,它的輸出的權重將被初始化為零。這麼做是為了新添加的隱藏單元不會影響模型已經學到的功能。但是這樣也容易導致新的隱藏單元很快被重新初始化。

為了防止這種情況,研究團隊設置了「成熟閾值」,在 m 次更新前,即使新的隱藏單元的效用是零,也不會被重新初始化。當更新次數超過 m 後,每一步「成熟單元」的一部分 ρ(稱為替換率),在每一層都會被重新初始化。替換率 ρ 通常設置為一個非常小的值,這意味著在數百次更新後只替換一個單元。例如,在 CIFAR-100 中,研究團隊將替換率設置為 10 的負五次方,每一步,大約 0.00512 個單元被替換。這相當於大約每 200 次更新替換一次。

最終的算法結合了傳統的反向傳播和選擇性重新初始化兩種方法,以持續地從初始分佈中引入隨機單元。每次更新時,持續反向傳播將執行梯度下降並選擇性地重新初始化。

前饋神經網絡的持續反向傳播如算法1所示。處理小批量數據時,可以採取一種更經濟的方法:通過對小批量數據上的即時貢獻效用取平均值,而不是保持一個運行平均值來節省計算量。

在 ImageNet 上的應用

研究使用了包含 1000 個類別的 ImageNet 數據庫,每個類別有 700 張圖片,分為 600 張訓練圖像和 100 張測試圖像。在二元分類任務中,網絡首先在 1200 張訓練圖像上訓練,然後在 200 張測試圖像上評估分類準確度。

所有在持續 ImageNet 上使用的算法都採用了具有三個卷積加最大池化(convolutional-plus-max-pooling)層和三個全連接層的卷積網絡。最終層有兩個單元,對應兩個類別。在任務變更時,這些單元的輸入權重會重置為零。這種做法在深度持續學習中是標準做法,儘管它為學習系統提供了關於任務變化時間的特權信息。

線性網絡的性能在持續 ImageNet 上不會下降,因為它在每個任務開始時都會重置。通過在數千個任務上取均值,得到線性網絡性能的低方差估計值,作為基線。

網絡使用帶有動量的 SGD 在交叉熵損失上進行訓練,動量參數設為 0.9。研究者測試了不同的步長參數,但為了清晰起見,只展示了 0.01、0.001 和 0.0001 的步長性能。

該研究還通過網格搜索確定了 L2 正則化、收縮和擾動以及持續反向傳播算法的超參數,以在 5000 個任務上獲得最高的平均分類準確度。L2 正則化和收縮擾動的超參數包括步長、權重衰減和噪聲方差,持續反向傳播的超參數包括步長和替換率,成熟度閾值設為 100。

研究者對所有超參數集合進行了 10 次獨立運行,然後對錶現最佳的超參數集合進行了額外的 20 次運行,總共 30 次。

CIFAR-100 的類別增量學習

在 CIFAR-100 的類別增量學習中,開始時,模型可以識別 5 種類型的圖片,隨著訓練時間越來越長,模型能識別的圖片種類越來越多,比如能同時學習 100 種類別的圖片。在這個過程中,系統將通過測試檢驗自己的學習效果。數據集由 100 個類別組成,每個類別有 600 張圖像,其中 450 張用於創建訓練集,50 張用於驗證集,100 張用於測試集。

每次增加學習的類別後,網絡被訓練 200 個週期,總共增加 20 次,共訓練 4000 個週期。研究團隊在前 60 個週期中將學習率設置為 0.1,接下來的 60 個週期為 0.02,此後的 30 個週期為 0.004,最後的 40 個週期為 0.0008。在每次增加的 200 個週期中,研究團隊選出了在驗證集上準確度最高的網絡。為了防止過擬合,在每輪訓練中,新網絡的權重將被重置為上一輪準確度最高網絡的權重。

他們選擇了 18 層的 ResNet 做實驗。輸入圖像呈現給網絡之前,該研究進行了幾個步驟的數據預處理。首先,將每張圖像中所有像素的值重新縮放到 0 和 1 之間。然後,每個通道中的每個像素值通過該通道像素值的平均值和標準差分別進行中心化和重新縮放。最後,在將圖像輸入給網絡之前,該研究對每張圖像應用了三種隨機數據轉換:以 0.5 的概率隨機水平翻轉圖像,通過在每邊填充 4 個像素然後隨機裁剪到原始大小來隨機裁剪圖像,以及在 0-15° 之間隨機旋轉圖像。預處理的前兩步應用於訓練集、驗證集和測試集,但隨機轉換僅應用於訓練集中的圖像。

該研究測試了多個超參數,以確保在特定架構下保持每個算法的最佳性能。對於基礎系統,該研究測試的權重衰減參數取值範圍為 {0.005, 0.0005, 0.00005}。對於「持續反向傳播」,該研究測試的成熟度閾值取值範圍為 {1000, 10000},替換率的取值範圍為

,採用了公式 (1) 中描述的貢獻效用。成熟度閾值為 1000,替換率為 10^(-5) 時,表現最佳。

作為參考,該研究還實現了一個具有與基礎系統相同超參數的網絡,但在每次增量的開始時都會重新初始化。圖 2b 顯示了每個算法相對於重新初始化網絡的性能表現。

持續反向傳播在全部的 100 個類別中的最終準確率為 76.13%,而擴展數據圖 1b 展示了在成熟度閾值為 1000 時,持續反向傳播在不同替換率下的性能表現。