深度學習還不如淺層網路?RL教父Sutton持續反向傳播演算法登Nature

机器之心發表於2024-08-29
人工神經網路深度學習方法和反向傳播演算法構成了現代機器學習人工智慧的基礎。但現有方法往往是一個階段更新網路權重,另一個階段在使用或評估網路時權重保持不變。這與許多需要持續學習的應用程式形成鮮明對比。

最近,一篇發表在《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 的貢獻效用圖片更新如下:

圖片

其中圖片是時間 t 時第 l 層第 i 個隱藏單元的輸出,圖片代表其權重圖片代表第 l+1 層的單元數量。

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

為了防止這種情況,研究團隊設定了「成熟閾值」,在 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 時,持續反向傳播在不同替換率下的效能表現。

感興趣的讀者可以閱讀論文原文,瞭解更多研究內容。

相關文章