人工神經網路、深度學習方法和反向傳播演算法構成了現代機器學習和人工智慧的基礎。但現有方法往往是一個階段更新網路權重,另一個階段在使用或評估網路時權重保持不變。這與許多需要持續學習的應用程式形成鮮明對比。 最近,一篇發表在《nature》雜誌上的研究論文《Loss of plasticity in deep continual learning》證明:標準的深度學習方法在持續學習環境中會逐漸失去可塑性(plasticity),直到它們的學習效果不比淺層網路好。
令人驚訝的是,Adam、Dropout 和歸一化等流行方法實際上增加了可塑性的損失;而 L2 正則化在許多情況下減少了可塑性的損失。研究團隊發現:顯式保持網路權重較小的演算法通常能夠保持可塑性,甚至在許多工中能夠提高效能。 該研究基於上述發現,提出了反向傳播演算法的一種變體 —— 持續反向傳播,該演算法向網路注入可變性並保持其某些權重較小。 方法 持續反向傳播 持續反向傳播演算法將選擇性地對網路中低效的單元進行初始化處理。研究團隊定義了名為「貢獻效用」的值來衡量每個單元的重要性。如果神經網路中某個隱藏單元對它所連線的下游單元的影響很小,那麼它的作用就可能被網路中其他更有影響力的隱藏單元掩蓋。 貢獻效用透過計算即時貢獻的移動平均值來衡量,這個值由衰減率表示。在所有實驗中,初始衰減率 η 設定為 0.99。在前饋神經網路中,第 l 層第 i 個隱藏單元在時間 t 的貢獻效用更新如下:
其中是時間 t 時第 l 層第 i 個隱藏單元的輸出,代表其權重,代表第 l+1 層的單元數量。 當一個隱藏單元被重新初始化時,它的輸出的權重將被初始化為零。這麼做是為了新新增的隱藏單元不會影響模型已經學到的功能。但是這樣也容易導致新的隱藏單元很快被重新初始化。 為了防止這種情況,研究團隊設定了「成熟閾值」,在 m 次更新前,即使新的隱藏單元的效用是零,也不會被重新初始化。當更新次數超過 m 後,每一步「成熟單元」的一部分 ρ(稱為替換率),在每一層都會被重新初始化。替換率 ρ 通常設定為一個非常小的值,這意味著在數百次更新後只替換一個單元。例如,在 CIFAR-100 中,研究團隊將替換率設定為 10 的負五次方,每一步,大約 0.00512 個單元被替換。這相當於大約每 200 次更新替換一次。 最終的演算法結合了傳統的反向傳播和選擇性重新初始化兩種方法,以持續地從初始分佈中引入隨機單元。每次更新時,持續反向傳播將執行梯度下降並選擇性地重新初始化。 前饋神經網路的持續反向傳播如演算法1所示。處理小批次資料時,可以採取一種更經濟的方法:透過對小批次資料上的即時貢獻效用取平均值,而不是保持一個執行平均值來節省計算量。