偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Richard Sutton 直言卷積反向傳播已經(jīng)落后,AI 突破要有新思路:持續(xù)反向傳播

人工智能 新聞
強化學習算法利用了策略迭代思想,持續(xù)學習問題固然存在,保持深度學習網(wǎng)絡的可塑性為 RL 和基于模型的 RL 開辟了巨大的新可能性。

“可塑性損失”(Loss of Plasticity)是深度神經(jīng)網(wǎng)絡最常被詬病的一個缺點,這也是基于深度學習的 AI 系統(tǒng)被認為無法持續(xù)學習的原因之一。

對于人腦而言,“可塑性”是指產生新神經(jīng)元和神經(jīng)元之間新連接的能力,是人進行持續(xù)學習的重要基礎。隨著年齡的增長,作為鞏固已學到知識的代價,大腦的可塑性會逐漸下降。神經(jīng)網(wǎng)絡也是類似。

一個形象的例子是,2020 年熱啟動式(warm-starting)訓練被證明:只有拋除最初學到的內容,以一次性學習的方式在整個數(shù)據(jù)集上訓練,才會取得比較好的學習效果。

在深度強化學習(DRL)中,AI 系統(tǒng)往往也要“遺忘”神經(jīng)網(wǎng)絡之前所學習的所有內容,只將部分內容保存到回放緩沖區(qū),再從零開始實現(xiàn)不斷學習。這種重置網(wǎng)絡的方式也被認為證明了深度學習無法持續(xù)學習。

那么,如何才能使學習系統(tǒng)保持可塑性?

近日,強化學習之父 Richard Sutton 在 CoLLAs 2022 會議中作了一個題為“Maintaining Plasticity in Deep Continual Learning” 的演講,提出了他認為能夠解決這個問題的答案:持續(xù)反向傳播算法(Continual Backprop)。

Richard Sutton 首先從數(shù)據(jù)集的角度證明了可塑性損失的存在,然后從神經(jīng)網(wǎng)絡內部分析了可塑性損失的原因,最后提出持續(xù)反向傳播算法作為解決可塑性損失的途徑:重新初始化一小部分效用度較低的神經(jīng)元,這種多樣性的持續(xù)注入可以無限期地保持深度網(wǎng)絡的可塑性。

以下是演講全文,AI 科技評論做了不改原意的整理。

可塑性損失的真實存在

深度學習是否能真正解決持續(xù)學習的問題?

答案是否定的,主要原因有以下三點:

  1. “無法解決”是指如同非深度的線性網(wǎng)絡,學習速度最終會非常緩慢;
  2. 深度學習中采用的專業(yè)標準化方法只在一次性學習中有效,與持續(xù)學習相違背;
  3. 回放緩存本身就是承認深度學習不可行的極端方法。

因此,我們必須尋找適用于這種新型學習模式的更優(yōu)算法,擺脫一次性學習的局限性。

首先,我們利用 ImageNet 和 MNIST 數(shù)據(jù)集做分類任務,實現(xiàn)回歸預測,對持續(xù)學習效果進行直接測試,證明了監(jiān)督學習中可塑性損失的存在。

ImageNet 數(shù)據(jù)集測試

ImageNet 是一個包含數(shù)百萬張用名詞標記的圖像的數(shù)據(jù)集。它有 1000 個類別,每個類別有700張或更多圖像,被廣泛用于類別學習和類別預測。

下面是一張鯊魚照片,通過下采樣降到 32*32 大小。這個實驗的目的是從深度學習實踐中尋找最小的變化。我們將每個類別的 700 張圖像劃分成 600 個訓練樣例和 100 個測試樣例,然后將 1000 個類別分成兩組,生成長度為 500 的二元分類任務序列,所有的數(shù)據(jù)集會被隨機地打亂順序。每個任務訓練結束后,我們在測試樣例上評估模型的準確率,獨立運行 30 次后取平均,再進入下一個二元分類任務。

圖片

500 個分類任務會共享相同的網(wǎng)絡,為了消除復雜性影響,任務切換后會重置頭網(wǎng)絡。我們采用標準網(wǎng)絡,即 3 層卷積 + 3 層全連接,不過對于 ImageNet 數(shù)據(jù)集來說輸出層可能相對小一些,這是由于一個任務只用了兩種類別。對于每個任務,每 100 個示例作為一個 batch,共有 12 個 batch,訓練 250 個 epoch。在開始第一個任務前只進行一次初始化,利用 Kaiming 分布初始化權重。針對交叉熵損失采用基于動量的隨機梯度下降法,同時采用 ReLU 激活函數(shù)。

這里引出兩個問題:

1、在任務序列中,性能會如何演化?

2、在哪一個任務上的性能會更好?是初始的第一個任務會更好?還是后續(xù)任務會從前面任務的經(jīng)驗中獲益?

下圖給出了答案,持續(xù)學習的性能是由訓練步長和反向傳播綜合決定的。

由于是二分類問題,偶然性概率是 50%,陰影區(qū)域表示標準差,這種差異并不顯著。線性基準采用線性層直接處理像素值,沒有深度學習方法效果好,這種差異很顯著。

圖片

圖注:使用更小的學習率(α=0.001)準確率會更高,在前 5 個任務中性能逐步提升,但從長遠來看卻呈下降趨勢。

我們接著將任務數(shù)目增加到了 2000,進一步分析了學習率對于持續(xù)學習效果的影響,平均每 50 個任務計算一次準確率。結果如下圖。

圖片

圖注:α=0.01 的紅色曲線在第一個任務上的準確率大約是 89%,一旦任務數(shù)超過 50,準確率便下降,隨著任務數(shù)進一步增加,可塑性逐漸缺失,最終準確率低于線性基準。α=0.001 時,學習速度減慢,可塑性也會急劇降低,準確率只是比線性網(wǎng)絡高一點點。

因此,對于良好的超參數(shù),任務間的可塑性會衰減,準確率會比只使用一層神經(jīng)網(wǎng)絡還要低,紅色曲線所顯示的幾乎就是“災難性的可塑性缺失”。

訓練結果同樣取決于迭代次數(shù)、步長數(shù)和網(wǎng)絡尺寸等參數(shù),圖中每條曲線在多個處理器上的訓練時間是 24 小時,在做系統(tǒng)性實驗時可能并不實用,我們接下來選擇 MNIST 數(shù)據(jù)集進行測試。

MNIST 數(shù)據(jù)集測試

MNIST 數(shù)據(jù)集共包含 60000 張手寫數(shù)字圖像,有 0-9 這 10 個類別,為 28*28 的灰度圖像。

Goodfellow 等人曾通過打亂順序或者隨機排列像素創(chuàng)建一種新的測試任務,如右下角的圖像就是生成的排列圖像的示例,我們采用這種方法來生成整個任務序列,在每個任務中 6000 張圖像以隨機的形式呈現(xiàn)。這里沒有增加任務內容,網(wǎng)絡權重只在進行第一個任務之前初始化一次。我們可以用在線的交叉熵損失進行訓練,同樣繼續(xù)使用準確率指標衡量持續(xù)學習的效果。

圖片

神經(jīng)網(wǎng)絡結構為 4 層全連接層,前 3 層神經(jīng)元數(shù)為 2000,最后一層神經(jīng)元數(shù)為 10。由于 MNIST 數(shù)據(jù)集的圖像居中并進行過縮放,所以可以不執(zhí)行卷積操作。所有的分類任務共享相同的網(wǎng)絡,采用了不含動量的隨機梯度下降法,其他的設置與 ImageNet 數(shù)據(jù)集測試的設置相同。

圖片

圖注:中間的圖是在任務序列上獨立運行 30 次取平均值后的結果,每個任務有 6000 個樣本,由于是分類任務,開始時隨機猜的準確率是 10%,模型學習到排列圖像的規(guī)律后,預測準確率會逐漸提升,但切換任務后,準確率又降到 10%,所以總體呈現(xiàn)不斷波動趨勢。右邊的圖是模型在每個任務上的學習效果,初始準確率為 0,隨著時間推移,效果逐漸變好。在第 10 個任務上的準確率比第 1 個任務好,但在進行第 100 個任務時準確率有所下降,在第 800 個任務上的準確率比第一個還要低。

為了弄清楚整個過程,后續(xù)還需要重點分析凸起部分的準確率,對其取均值后得到中間圖像的藍色曲線。可以清晰地看到,準確率剛開始會逐步提升,后面直到第 100 個任務時趨于平穩(wěn)。那在第 800 個任務時準確率為什么會急劇下降呢?

接下來,我們在更多的任務序列上嘗試了不同的步長值,進一步觀察它們的學習效果。結果如下圖:

圖片

圖注:紅色曲線采用和前面實驗相同的步長值,準確率的確在穩(wěn)步下降,可塑性損失相對較大。

同時,學習率越大,可塑性減小的速度就越快。所有的步長值都會存在巨大的可塑性損失。此外,隱藏層神經(jīng)元數(shù)目也會影響準確率,棕色曲線的神經(jīng)元數(shù)目為 10000,由于神經(jīng)網(wǎng)絡的擬合能力增強,此時準確率會下降得非常緩慢,仍有可塑性損失,但網(wǎng)絡尺寸越小,可塑性減小的速度也越快。

那么從神經(jīng)網(wǎng)絡內部來看,為什么會產生可塑性損失?

下圖解釋了其中的原因。可以發(fā)現(xiàn),“死亡”神經(jīng)元數(shù)目占比過高、神經(jīng)元的權重過大以及神經(jīng)元多樣性喪失,都是產生可塑性損失的原因。

圖片

圖注:橫軸仍然都表示任務編號,第一張圖的縱軸表示“死亡”神經(jīng)元的百分比,“死亡”神經(jīng)元是指輸出和梯度總為 0 的神經(jīng)元,不再預測網(wǎng)絡的可塑性。第二張圖的縱軸表示權重大小。第三張圖的縱軸表示剩余隱藏神經(jīng)元數(shù)目的有效等級。

現(xiàn)有方法的局限性

我們分析了現(xiàn)有的、反向傳播以外的深度學習方法是否會有助于保持可塑性。

圖片

結果表明,L2 正則化方法會使可塑性損失減小,在此過程中令權重縮小到 0,從而可以動態(tài)調整并保持可塑性。

收縮和擾動方法與 L2 正則化類似,同時還會向所有權重中加入隨機噪聲增加多樣性,基本不會有可塑性損失。

我們還嘗試了其他在線標準化方法,開始時效果還比較好,但隨著持續(xù)學習可塑性損失嚴重。Dropout 方法的表現(xiàn)更糟糕,我們隨機將一部分神經(jīng)元設置為0再訓練,發(fā)現(xiàn)可塑性損失急劇加大。

各種方法對神經(jīng)網(wǎng)絡內部結構也會產生影響。使用正則化方法會使“死亡”神經(jīng)元數(shù)量百分比上升,因為在將權重縮小到 0 的過程中,如果其一直為 0 ,就會導致輸出為 0,神經(jīng)元就會“死亡”。而收縮和擾動向權重中添加了隨機噪聲,所以不會有太多的“死亡”神經(jīng)元。標準化方法也有很多的“死亡”神經(jīng)元,它似乎在朝著錯誤的方向走,Dropout 也類似。

圖片

權值隨任務數(shù)量變化的結果更為合理,使用正則化會獲得很小的權值,收縮和擾動在正則化的基礎上添加了噪聲,權值下降幅度相對減弱,而標準化則會使權重變大。但是對于 L2 正則化以及收縮和擾動方,其隱藏神經(jīng)元數(shù)有效等級相對較低,說明其在保持多樣性方面表現(xiàn)較差,這也是一個問題。

緩慢變化的回歸問題(SCR)

我們所有的 idea 和算法都源自緩慢變化的回歸問題實驗,這是一個聚焦于持續(xù)學習的新的理想化問題。

在這個實驗中,我們的目的是要實現(xiàn)一個具有隨機權重的單層神經(jīng)網(wǎng)絡形成的目標函數(shù),隱藏層神經(jīng)元為 100 個線性閾值神經(jīng)元。

我們沒有做分類,只是生成了一個數(shù)字,因此這是一個回歸問題。每訓練 10000 步,我們才會從輸入的后 15 位中選擇 1 位進行翻轉,因此這是一個緩慢變化的目標函數(shù)。

我們的解決方案是用相同的網(wǎng)絡結構,只包含一個神經(jīng)元的隱藏層,同時保證激活函數(shù)可微,但是我們將會有 5 個隱藏神經(jīng)元。這就類似于在 RL 中,智能體探索的范圍比交互的環(huán)境小很多,所以只能做近似處理,隨著目標函數(shù)的變化嘗試改變近似值,這樣就會容易做一些系統(tǒng)性實驗。

圖片

圖注:輸入為 21 位隨機的二進制數(shù),第 1 位是值為 1 的輸入常數(shù)偏差,中間 5 位是獨立同分布的隨機數(shù),其他 15 位是緩慢變化的常數(shù),輸出為實數(shù)。權值隨機化為 0,可以隨機地選擇 +1 或者 -1。

我們進一步研究了變化的步長值和激活函數(shù)對學習效果的影響,比如這里用了 tanh、sigmoid 和 relu 激活函數(shù)等:

圖片

以及激活函數(shù)形式對所有算法學習效果的影響:

圖片

在步長和激活函數(shù)同時變化的情況下,我們也對 Adam 反向傳播的影響做了系統(tǒng)性分析:

圖片

最后是使用不同激活函數(shù)后,基于 Adam 機制的不同算法之間的誤差變化情況:

圖片

以上實驗結果都表明深度學習方法已經(jīng)不再適用于持續(xù)學習,遇到新的問題時,學習過程會變得非常緩慢,沒有體現(xiàn)出深度的優(yōu)勢。深度學習中的標準化方法也只適合一次性學習,我們需要改進深度學習方法才有可能將其用于持續(xù)學習中。

持續(xù)反向傳播

卷積反向傳播算法本身會是一個好的持續(xù)學習算法嗎?

我們認為不是。

卷積反向傳播算法主要包含兩個方面:用小的隨機權重進行初始化和在每個時間步進行梯度下降。盡管它在開始生成小的隨機數(shù)來初始化權重,但并不會再次重復。理想情況下,我們可能需要一些在任何時候都可以進行類似計算的學習算法。

那我們如何使卷積反向傳播算法持續(xù)地學習?

最簡單的方法就是選擇性地進行重新初始化,比如在執(zhí)行幾項任務后進行初始化。但同時,重新初始化整個網(wǎng)絡在持續(xù)學習中可能并不合理,因為這意味著神經(jīng)網(wǎng)絡正在忘記全部所學內容。所以我們最好選擇性地初始化神經(jīng)網(wǎng)絡的一部分,比如重新初始化一些“死亡”神經(jīng)元,或者根據(jù)效用度對神經(jīng)網(wǎng)絡進行排序,重新初始化效用度較低的神經(jīng)元。

隨機選擇初始化的思想與 2012 年 Mahmood 和 Sutton 提出的生成和測試方法有關,只需要生成一些神經(jīng)元并測試它們的實用性,持續(xù)反向傳播算法搭建了這兩個概念之間的橋梁。生成和測試方法存在一些局限性,只用一個隱藏層并只有一個輸出神經(jīng)元,我們將其擴展到多層網(wǎng)絡,可以用一些深度學習方法進行優(yōu)化。

我們首先考慮將網(wǎng)絡設置成多層,不再是單個輸出。之前的工作提到過效用度的概念,由于只有一個權重,這個效用度只是權重層面的概念,但是我們有多個權重,最簡單的泛化是考慮權重求和層面的效用度。

另一個想法是考慮特征的活動,而不僅僅是考慮輸出權重,因此我們可以將權重的總和乘以平均特征激活函數(shù),從而分配不同的比例。我們希望設計能夠持續(xù)學習并保持快速運行的算法,我們在計算效用度的時候還考慮了特征的可塑性。最后,將特征的平均貢獻轉移到輸出的偏置中,降低特征刪除的影響。

圖片

未來的改進方向主要有兩點:(1)我們需要對效用度進行全局度量,衡量神經(jīng)元對所表征的整個函數(shù)的影響,而不僅僅局限于輸入權重、輸出權重和激活函數(shù)這樣的局部度量;(2)我們需要進一步改進生成器,目前只是從初始分布中采樣進行進行初始化,還要探索可以改善性能的初始化方法。

那么,持續(xù)反向傳播在保持可塑性方面表現(xiàn)如何呢?

實驗結果表明,持續(xù)反向傳播利用在線排列的 MNIST 數(shù)據(jù)集訓練,完全保持了可塑性。下圖中的藍色曲線顯示了這一結果。

圖片

圖注:右圖顯示了不同替換率對于持續(xù)學習的影響,例如替換率為 1e-6 表示在每個時間步長替換 1/1000000 個表征。即假設有 2000 個特征,每走 500 步,就會在每一層更換一個神經(jīng)元。這個更新速度非常緩慢,所以替換率對超參數(shù)不是很敏感,不會顯著影響學習效果。

接下來,我們需要研究持續(xù)反向傳播對于神經(jīng)網(wǎng)絡內部結構的影響。持續(xù)反向傳播幾乎沒有“死亡”神經(jīng)元,因為效用度考慮了平均特征激活,如果某個神經(jīng)元“死亡”,會立即被更換。而且由于我們不斷更換神經(jīng)元,我們得到了權重幅度較小的新神經(jīng)元。因為隨機初始化了神經(jīng)元,它們也相應地保留了更豐富的表征和多樣性。

圖片

因此,持續(xù)反向傳播解決了 MNIST 數(shù)據(jù)集上可塑性缺失引發(fā)的全部問題。

那么,持續(xù)反向傳播是否可以擴展到更深的卷積神經(jīng)網(wǎng)絡中?

答案是肯定的!在 ImageNet 數(shù)據(jù)集上,持續(xù)反向傳播完全保持了可塑性,模型最終的準確率在 89% 左右。其實在初始的訓練階段,這幾種算法的表現(xiàn)相當,前面提到過替換率的變化非常緩慢,任務數(shù)目足夠大的時候才近似的比較好。

圖片

這里以“Slippery Ant”問題為例展示一個強化學習的實驗結果。

“Slippery Ant”問題是非平穩(wěn)強化問題的一個擴展,與 PyBullet 環(huán)境基本類似,唯一不同的是地面和智能體之間的摩擦力每 1000 萬步后會發(fā)生變化。我們基于持續(xù)反向傳播實現(xiàn)了持續(xù)學習版本的 PPO 算法,可以選擇性初始化。PPO 算法和持續(xù) PPO 算法的對比結果如下圖。

圖片

圖注:PPO 算法在剛開始表現(xiàn)還不錯,但隨著訓練進行性能不斷下降,引入 L2 算法以及收縮和擾動算法后會有所緩解。而持續(xù) PPO 算法的表現(xiàn)相對較好,保留了大部分可塑性。

有趣的是,PPO 算法訓練的智能體只能掙扎著走路,但是持續(xù) PPO 算法訓練的智能體可以跑到很遠的地方。

結論

深度學習網(wǎng)絡主要為一次性學習進行優(yōu)化,從某種意義上說用于持續(xù)學習可能會完全失敗。像標準化和 DropOut 等深度學習方法對于持續(xù)學習可能沒有幫助,但是在此基礎上做一些小的改進可能會非常有效,比如持續(xù)反向傳播。

持續(xù)反向傳播根據(jù)神經(jīng)元的效用對網(wǎng)絡特征進行排序,特別是對于遞歸神經(jīng)網(wǎng)絡,排序方式可能有更多改進方法。

強化學習算法利用了策略迭代思想,持續(xù)學習問題固然存在,保持深度學習網(wǎng)絡的可塑性為 RL 和基于模型的 RL 開辟了巨大的新可能性。

責任編輯:張燕妮 來源: AI科技評論
相關推薦

2024-08-29 14:20:00

AI訓練

2018-08-30 09:15:42

人工智能神經(jīng)網(wǎng)絡深度學習

2022-09-30 15:26:57

人工智能技術

2016-12-27 16:31:34

反向傳播課程

2017-09-28 16:15:12

神經(jīng)網(wǎng)絡訓練多層

2017-04-24 08:35:09

深度學習神經(jīng)網(wǎng)絡合成梯度

2025-04-08 09:20:00

神經(jīng)網(wǎng)絡模型訓練

2024-08-09 12:46:53

模型訓練

2025-03-03 08:10:00

神經(jīng)網(wǎng)絡深度學習人工智能

2024-04-03 08:47:49

隧道傳播WPF冒泡傳播

2017-11-20 13:46:10

AI深度學習方法

2024-11-01 09:39:26

強化學習AI

2022-06-21 14:37:46

AI經(jīng)驗發(fā)展

2024-06-05 09:35:00

2018-04-08 11:20:43

深度學習

2023-05-29 07:23:45

傳統(tǒng)監(jiān)測模式

2022-03-18 12:08:10

微分計算模式

2024-07-12 12:47:39

2017-07-06 17:03:45

BP算法Python神經(jīng)網(wǎng)絡

2023-12-05 09:14:54

點贊
收藏

51CTO技術棧公眾號