「可塑性損失」(Loss of Plasticity)是深度神經網路最常被詬病的缺點,這也是基於深度學習的 AI 系統被認為無法持續學習的原因之一。
對於人腦而言,「可塑性」是指產生新神經元和神經元之間新連結的能力,是人類持續學習的重要基礎。隨著年齡的增長,作為鞏固已學到知識的代價,大腦的可塑性會逐漸下降。神經網路也是類似。
一個形象的例子是,2020 年熱啟動式(warm-starting)訓練被證明:只有拋除最初學到的內容,以一次性學習的方式在整個數據集上訓練,才會達到比較好的學習效果。
在深度強化學習(DRL)中,AI 系統往往也要「遺忘」神經網路之前所學習的所有內容,只將部分內容保存到回放緩衝區,再從零開始實現不斷學習。這種重置網路的方式也被認為證明了深度學習無法持續學習。
那麼,如何讓學習系統保持可塑性?
近日,強化學習之父Richard Sutton 在CoLLAs 2022 會議中作了一個題為“Maintaining Plasticity in Deep Continual Learning” 的演講,提出了他認為能夠解決這個問題的答案:持續反向傳播演算法(Continual Backprop)。
Richard Sutton 首先從資料集的角度證明了可塑性損失的存在,然後從神經網路內部分析了可塑性損失的原因,最後提出持續反向傳播演算法作為解決可塑性損失的途徑:重新初始化一小部分效用度較低的神經元,這種多樣性的持續注入可以無限期地維持深度網路的可塑性。
以下是演講全文,AI 科技評論做了不改原意的整理。
#深度學習是否能真正解決持續學習的問題?
答案是否定的,主要原因有以下三點:
因此,我們必須尋找適用於這種新型學習模式的更優演算法,擺脫一次性學習的限制。
首先,我們利用 ImageNet 和 MNIST 資料集做分類任務,實現回歸預測,對持續學習效果進行直接測試,證明了監督學習中可塑性損失的存在。
ImageNet 是包含數百萬張名詞標示的影像的資料集。它有 1000 個類別,每個類別有700張或更多圖像,被廣泛用於類別學習和類別預測。
下面是鯊魚照片,透過下採樣降到 32*32 大小。這個實驗的目的是從深度學習實踐中尋找最小的變化。我們將每個類別的700 張影像分割成600 個訓練範例和100 個測試範例,然後將1000 個類別分成兩組,產生長度為500 的二元分類任務序列,所有的資料集會被隨機地打亂順序。每個任務訓練結束後,我們在測試範例上評估模型的準確率,獨立運行 30 次後取平均,再進入下一個二元分類任務。
#500 個分類任務會共享相同的網絡,為了消除複雜性影響,任務切換後會重置頭網絡。我們採用標準網絡,即 3 層卷積 3 層全連接,不過對於 ImageNet 數據集來說輸出層可能相對小一些,這是由於一個任務只用了兩種類別。對於每個任務,每 100 個範例作為一個 batch,共有 12 個 batch,訓練 250 個 epoch。在開始第一個任務前只進行一次初始化,利用 Kaiming 分佈初始化權重。針對交叉熵損失採用基於動量的隨機梯度下降法,同時採用 ReLU 激活函數。
這裡引出兩個問題:
1、在任務序列中,效能會如何演化?
2、在哪一個任務上的表現會比較好?是初始的第一個任務會更好?還是後續任務會從前面任務的經驗中獲益?
下圖給出了答案,持續學習的表現是由訓練步長和反向傳播綜合決定的。
由於是二分類問題,偶然性機率是 50%,陰影區域表示標準差,這種差異並不顯著。線性基準採用線性層直接處理像素值,沒有深度學習方法效果好,這種差異顯著。
圖註:使用更小的學習率(α=0.001)準確率會更高,在前5 個任務中效能逐步提升,但長期來看卻呈現下降趨勢。
我們接著將任務數目增加到了 2000,進一步分析了學習率對於持續學習效果的影響,平均每 50 個任務計算一次準確率。結果如下圖。
圖註:α=0.01 的紅色曲線在第一個任務上的準確率大約是89%,一旦任務數超過50,準確率便下降,隨著任務數進一步增加,可塑性逐漸缺失,最終準確率低於線性基準。 α=0.001 時,學習速度減慢,可塑性也會急劇降低,準確率只是比線性網路高一點點。
因此,對於良好的超參數,任務間的可塑性會衰減,準確率會比只使用一層神經網路還要低,紅色曲線所顯示的幾乎就是「災難性的可塑性缺失」。
訓練結果同樣取決於迭代次數、步長數和網路尺寸等參數,圖中每條曲線在多個處理器上的訓練時間是24 小時,在做系統性實驗時可能不實用,我們接下來選擇MNIST 資料集進行測試。
MNIST 資料集共包含60000 張手寫數位影像,有0-9 這10 個類別,為28*28 的灰階影像。
Goodfellow 等人曾經透過打亂順序或隨機排列像素創建一種新的測試任務,如右下角的圖像就是生成的排列圖像的範例,我們採用這種方法來產生整個任務序列,在每個任務中6000 張圖像以隨機的形式呈現。這裡沒有增加任務內容,網路權重只在進行第一個任務前初始化一次。我們可以用線上的交叉熵損失進行訓練,同樣繼續使用準確率指標來衡量持續學習的效果。
神經網路結構為 4 層全連接層,前 3 層神經元數為 2000,最後一層神經元數為 10。由於 MNIST 資料集的影像居中並進行過縮放,所以可以不執行卷積操作。所有的分類任務共享相同的網絡,採用了不含動量的隨機梯度下降法,其他的設置與 ImageNet 數據集測試的設置相同。
#圖註:中間的圖是在任務序列上獨立運行30 次取平均值後的結果,每個任務有6000 個樣本,由於是分類任務,開始時隨機猜的準確率是10%,模型學習到排列影像的規律後,預測準確率會逐漸提升,但切換任務後,準確率又降到10%,所以整體呈現不斷波動趨勢。右邊的圖是模型在每個任務上的學習效果,初始準確率為 0,隨著時間推移,效果逐漸變好。在第 10 個任務上的準確率比第 1 個任務好,但在進行第 100 個任務時準確率有所下降,在第 800 個任務上的準確率比第一個還要低。
為了弄清楚整個過程,後續還需要著重分析凸起部分的準確率,對其取平均值後得到中間影像的藍色曲線。可以清楚地看到,準確率剛開始會逐步提升,後面直到第 100 個任務時趨於平穩。那在第 800 個任務時準確率為什麼會急劇下降呢?
接下來,我們在更多的任務序列上嘗試了不同的步長值,進一步觀察它們的學習效果。結果如下圖:
圖註:紅色曲線採用與前面實驗相同的步長值,準確率的確在穩定下降,可塑性損失相對較大。
同時,學習率越大,可塑性減少的速度就越快。所有的步長值都會存在巨大的可塑性損失。此外,隱藏層神經元數目也會影響準確率,棕色曲線的神經元數目為10000,由於神經網路的擬合能力增強,此時準確率會下降得非常緩慢,仍有可塑性損失,但網路尺寸越小,可塑性減小的速度也越快。
那麼從神經網路內部來看,為什麼會產生可塑性損失?
下圖解釋了其中的原因。可以發現,「死亡」神經元數目佔比過高、神經元的權重過大以及神經元多樣性喪失,都是產生可塑性損失的原因。
圖示:橫軸仍然都表示任務編號,第一張圖的縱軸表示「死亡」神經元的百分比,「死亡」神經元是指輸出和梯度總為0 的神經元,不再預測網路的可塑性。第二張圖的縱軸表示權重大小。第三張圖的縱軸表示剩餘隱藏神經元數目的有效等級。
我們分析了現有的、反向傳播以外的深度學習方法是否會有助於保持可塑性。
結果表明,L2 正則化方法會使可塑性損失減小,在此過程中令權重縮小到0,從而可以動態調整併保持可塑性。
收縮和擾動方法與 L2 正規化類似,同時也會在所有權重中加入隨機雜訊增加多樣性,基本上不會有可塑性損失。
我們也嘗試了其他線上標準化方法,一開始效果還比較好,但隨著持續學習可塑性損失嚴重。 Dropout 方法的表現更糟糕,我們隨機將一部分神經元設定為0再訓練,發現可塑性損失急劇加大。
各種方法對神經網路內部結構也會產生影響。使用正規化方法會使「死亡」神經元數量百分比上升,因為在將權重縮小到 0 的過程中,如果其一直為 0 ,就會導致輸出為 0,神經元就會「死亡」。而收縮和擾動則向權重添加了隨機噪聲,所以不會有太多的「死亡」神經元。標準化方法也有很多的「死亡」神經元,它似乎朝著錯誤的方向走,Dropout 也類似。
#權值隨任務數量變化的結果更為合理,使用正則化會獲得很小的權值,收縮和擾動在正則化的基礎上添加了噪聲,權值下降幅度相對減弱,而標準化則會使權重變大。但是對於 L2 正則化以及收縮和擾動方,其隱藏神經元數有效等級相對較低,說明其在保持多樣性方面表現較差,這也是一個問題。
我們所有的idea 和演算法都源自於緩慢變化的回歸問題實驗,這是一個聚焦於持續學習的新的理想化問題。
在這個實驗中,我們的目的是要實現一個具有隨機權重的單層神經網路形成的目標函數,隱藏層神經元為 100 個線性閾值神經元。
我們沒有做分類,只是產生了一個數字,因此這是一個迴歸問題。每訓練 10000 步,我們才會從輸入的後 15 位元中選擇 1 位元進行翻轉,因此這是一個緩慢變化的目標函數。
我們的解決方案是使用相同的網路結構,只包含一個神經元的隱藏層,同時保證激活函數可微,但是我們將會有5 個隱藏神經元。 這就類似於在 RL 中,智能體探索的範圍比交互的環境小得多,所以只能做近似處理,隨著目標函數的變化嘗試改變近似值,這樣就會容易做一些系統性實驗。
圖註:輸入為21 位元隨機的二進位數,第1 位元是值為1 的輸入常數偏差,中間5位是獨立同分佈的隨機數,其他15 位是緩慢變化的常數,輸出為實數。權值隨機化為 0,可以隨機選擇 1 或 -1。
我們進一步研究了變化的步長值和激活函數對學習效果的影響,例如這裡用了tanh、sigmoid 和relu 激活函數等:
以及激活函數形式對所有演算法學習效果的影響:
在步長和激活函數同時變化的情況下,我們也對Adam 反向傳播的影響做了系統性分析:
最後是使用不同激活函數後,基於Adam 機制的不同演算法之間的誤差變化情況:
以上實驗結果都顯示深度學習方法已經不再適用於持續學習,遇到新的問題時,學習過程會變得非常緩慢,沒有反映出深度的優勢。深度學習中的標準化方法也只適合一次性學習,我們需要改進深度學習方法才有可能將其用於持續學習中。
#卷積反向傳播演算法本身會是個好的持續學習演算法嗎?
我們認為不是。
卷積反向傳播演算法主要包含兩個面向:用小的隨機權重進行初始化和在每個時間步進行梯度下降。儘管它在開始產生小的隨機數來初始化權重,但並不會再重複。理想情況下,我們可能需要一些在任何時候都可以進行類似計算的學習演算法。
那我們要如何讓卷積反向傳播演算法持續學習?
最簡單的方法就是選擇性地進行重新初始化,例如在執行幾項任務後進行初始化。但同時,重新初始化整個網路在持續學習中可能並不合理,因為這意味著神經網路正在忘記全部所學內容。所以我們最好選擇性地初始化神經網路的一部分,例如重新初始化一些「死亡」神經元,或是根據效用度對神經網路進行排序,重新初始化效用度較低的神經元。
隨機選擇初始化的想法與2012 年Mahmood 和Sutton 提出的生成和測試方法有關,只需要產生一些神經元並測試它們的實用性,持續反向傳播演算法搭建了這兩個概念之間的橋樑。生成和測試方法存在一些局限性,只用一個隱藏層並只有一個輸出神經元,我們將其擴展到多層網絡,可以用一些深度學習方法進行最佳化。
我們先考慮將網路設定成多層,不再是單一輸出。 之前的工作提到過效用度的概念,由於只有一個權重,這個效用度只是權重層面的概念,但是我們有多個權重,最簡單的泛化是考慮權重求和層面的效用度。
另一個想法是考慮特徵的活動,而不僅僅是考慮輸出權重,因此我們可以將權重的總和乘以平均特徵激活函數,從而分配不同的比例。我們希望設計能夠持續學習並保持快速運行的演算法,我們在計算效用度的時候也考慮了特徵的可塑性。最後,將特徵的平均貢獻轉移到輸出的偏移中,降低特徵刪除的影響。
未來的改進方向主要有兩點:(1)我們需要對效用度進行全域度量,衡量神經元對所表徵的整個函數的影響,而不僅限於輸入權重、輸出權重和激活函數這樣的局部度量;(2)我們需要進一步改進生成器,目前只是從初始分佈中採樣進行進行初始化,也要探索可以改善效能的初始化方法。
那麼,持續反向傳播在維持可塑性方面表現如何呢?
實驗結果表明,持續反向傳播利用線上排列的 MNIST 資料集訓練,完全保持了可塑性。 下圖中的藍色曲線顯示了這個結果。
圖註:右圖顯示了不同替換率對於持續學習的影響,例如替換率為1e-6 表示在每個時間步長替換1/1000000 個表徵。即假設有 2000 個特徵,每走 500 步,就會在每一層更換一個神經元。這個更新速度非常緩慢,所以替換率對超參數不是很敏感,不會顯著影響學習效果。
接下來,我們需要研究持續反向傳播對於神經網路內部結構的影響。 持續反向傳播幾乎沒有“死亡”神經元,因為效用度考慮了平均特徵激活,如果某個神經元“死亡”,會立即被更換。而且由於我們不斷更換神經元,我們得到了權重幅度較小的新神經元。因為隨機初始化了神經元,它們也相應地保留了更豐富的表徵和多樣性。
因此,持續反向傳播解決了 MNIST 資料集上可塑性缺失引發的全部問題。
那麼,持續反向傳播是否可以擴展到更深的捲積神經網路?
答案是肯定的!在 ImageNet 資料集上,持續反向傳播完全保持了可塑性,模型最終的準確率在 89% 左右。其實在初始的訓練階段,這幾種演算法的表現相當,前面提到過替換率的變化非常緩慢,任務數目夠大的時候才近似的比較好。
這裡以「Slippery Ant」問題為例展示一個強化學習的實驗結果。
「Slippery Ant」問題是非平穩強化問題的一個擴展,與PyBullet 環境基本類似,唯一不同的是地面和智能體之間的摩擦力每1000 萬步後會發生變化。我們基於持續反向傳播實現了持續學習版本的 PPO 演算法,可以選擇性初始化。 PPO 演算法和持續 PPO 演算法的比較結果如下圖。
圖註:PPO 演算法在剛開始表現還不錯,但隨著訓練進行效能不斷下降,引入L2 演算法以及收縮和擾動演算法後會有所緩解。而持續 PPO 演算法的表現相對較好,保留了大部分可塑性。
有趣的是,PPO 演算法訓練的智能體只能掙扎著走路,但是持續 PPO 演算法訓練的智能體可以跑到很遠的地方。
深度學習網路主要為一次性學習進行最佳化,從某種意義上說用於持續學習可能會完全失敗。像標準化和 DropOut 等深度學習方法對於持續學習可能沒有幫助,但是在此基礎上做一些小的改進可能會非常有效,例如持續反向傳播。
持續反向傳播根據神經元的效用對網路特徵進行排序,特別是對於遞歸神經網絡,排序方式可能有更多改進方法。
強化學習演算法利用了策略迭代思想,持續學習問題固然存在,保持深度學習網路的可塑性為 RL 和基於模型的 RL 開闢了巨大的新可能性。
以上是Richard Sutton 直言卷積反向傳播已經落後,AI 突破要有新思路:持續反向傳播的詳細內容。更多資訊請關注PHP中文網其他相關文章!