深度學(xué)習(xí)還不如淺層網(wǎng)絡(luò)?RL教父Sutton持續(xù)反向傳播算法登Nature
人工神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)方法和反向傳播算法構(gòu)成了現(xiàn)代機(jī)器學(xué)習(xí)和人工智能的基礎(chǔ)。但現(xiàn)有方法往往是一個(gè)階段更新網(wǎng)絡(luò)權(quán)重,另一個(gè)階段在使用或評(píng)估網(wǎng)絡(luò)時(shí)權(quán)重保持不變。這與許多需要持續(xù)學(xué)習(xí)的應(yīng)用程序形成鮮明對(duì)比。
最近,一篇發(fā)表在《nature》雜志上的研究論文《Loss of plasticity in deep continual learning》證明:標(biāo)準(zhǔn)的深度學(xué)習(xí)方法在持續(xù)學(xué)習(xí)環(huán)境中會(huì)逐漸失去可塑性(plasticity),直到它們的學(xué)習(xí)效果不比淺層網(wǎng)絡(luò)好。
- 論文地址:https://www.nature.com/articles/s41586-024-07711-7
值得注意的是,人工智能先驅(qū)、強(qiáng)化學(xué)習(xí)教父、DeepMind 杰出研究科學(xué)家,阿爾伯塔大學(xué)計(jì)算機(jī)科學(xué)教授 Richard S. Sutton 是這篇論文的作者之一。
簡(jiǎn)單來說,該研究使用經(jīng)典的 ImageNet 數(shù)據(jù)集、神經(jīng)網(wǎng)絡(luò)和學(xué)習(xí)算法的各種變體來展示可塑性的喪失。只有通過不斷向網(wǎng)絡(luò)注入多樣性的算法才能無限期地維持可塑性。基于這種思路,該研究還提出了「持續(xù)反向傳播算法」,這是反向傳播的一種變體,其中一小部分較少使用的單元被持續(xù)隨機(jī)地重新初始化。實(shí)驗(yàn)結(jié)果表明,基于梯度下降的方法是不夠的,持續(xù)的深度學(xué)習(xí)需要隨機(jī)的、非梯度的成分來保持可變性和可塑性。
ImageNet 數(shù)據(jù)庫包含數(shù)百萬張用名詞(類別)標(biāo)記的圖像,例如動(dòng)物類型和日常物品。典型的 ImageNet 任務(wù)是猜測(cè)給定圖像的標(biāo)簽。
為了使 ImageNet 適應(yīng)持續(xù)學(xué)習(xí),同時(shí)最大限度地減少所有其他變化,該研究通過成對(duì)的類構(gòu)建了一系列二元分類任務(wù)。例如,第一個(gè)任務(wù)可能是區(qū)分貓和房屋,第二個(gè)任務(wù)可能是區(qū)分停車標(biāo)志和校車。利用數(shù)據(jù)集中的 1000 個(gè)類,該研究能夠以這種方式形成 50 萬個(gè)二元分類任務(wù)。
對(duì)于每個(gè)任務(wù),該研究首先在兩個(gè)類的圖像子集上訓(xùn)練深度學(xué)習(xí)網(wǎng)絡(luò),然后在這些類的單獨(dú)測(cè)試集上測(cè)量其性能。在一個(gè)任務(wù)上訓(xùn)練和測(cè)試后,下一個(gè)任務(wù)從一對(duì)不同的類開始。研究團(tuán)隊(duì)將此問題稱為「持續(xù) ImageNet(Continual ImageNet)」。在持續(xù) ImageNet 中,任務(wù)的難度隨著時(shí)間的推移保持不變。性能下降意味著網(wǎng)絡(luò)正在失去學(xué)習(xí)能力,這是可塑性喪失的直接表現(xiàn)。
該研究將各種標(biāo)準(zhǔn)深度學(xué)習(xí)網(wǎng)絡(luò)應(yīng)用于 Continual ImageNet,并測(cè)試了許多學(xué)習(xí)算法和參數(shù)設(shè)置。為了評(píng)估網(wǎng)絡(luò)在任務(wù)中的性能,該研究測(cè)量了正確分類測(cè)試圖像的百分比。
該研究發(fā)現(xiàn):對(duì)于經(jīng)過良好調(diào)整的網(wǎng)絡(luò),性能往往首先提高,然后大幅下降,最終接近或低于線性基線。當(dāng)性能開始下降時(shí),網(wǎng)絡(luò)架構(gòu)、算法參數(shù)和優(yōu)化器的具體選擇會(huì)產(chǎn)生影響,但多種選擇都會(huì)導(dǎo)致性能嚴(yán)重下降。標(biāo)準(zhǔn)深度學(xué)習(xí)方法在后續(xù)任務(wù)中無法比線性網(wǎng)絡(luò)更好地學(xué)習(xí),這直接證明這些方法在持續(xù)學(xué)習(xí)問題中效果不佳。
令人驚訝的是,Adam、Dropout 和歸一化等流行方法實(shí)際上增加了可塑性的損失;而 L2 正則化在許多情況下減少了可塑性的損失。
研究團(tuán)隊(duì)發(fā)現(xiàn):顯式保持網(wǎng)絡(luò)權(quán)重較小的算法通常能夠保持可塑性,甚至在許多任務(wù)中能夠提高性能。
該研究基于上述發(fā)現(xiàn),提出了反向傳播算法的一種變體 —— 持續(xù)反向傳播,該算法向網(wǎng)絡(luò)注入可變性并保持其某些權(quán)重較小。
方法
持續(xù)反向傳播
持續(xù)反向傳播算法將選擇性地對(duì)網(wǎng)絡(luò)中低效的單元進(jìn)行初始化處理。研究團(tuán)隊(duì)定義了名為「貢獻(xiàn)效用」的值來衡量每個(gè)單元的重要性。如果神經(jīng)網(wǎng)絡(luò)中某個(gè)隱藏單元對(duì)它所連接的下游單元的影響很小,那么它的作用就可能被網(wǎng)絡(luò)中其他更有影響力的隱藏單元掩蓋。
貢獻(xiàn)效用通過計(jì)算即時(shí)貢獻(xiàn)的移動(dòng)平均值來衡量,這個(gè)值由衰減率表示。在所有實(shí)驗(yàn)中,初始衰減率 η 設(shè)置為 0.99。在前饋神經(jīng)網(wǎng)絡(luò)中,第 l 層第 i 個(gè)隱藏單元在時(shí)間 t 的貢獻(xiàn)效用更新如下:
其中是時(shí)間 t 時(shí)第 l 層第 i 個(gè)隱藏單元的輸出,
代表其權(quán)重,
代表第 l+1 層的單元數(shù)量。
當(dāng)一個(gè)隱藏單元被重新初始化時(shí),它的輸出的權(quán)重將被初始化為零。這么做是為了新添加的隱藏單元不會(huì)影響模型已經(jīng)學(xué)到的功能。但是這樣也容易導(dǎo)致新的隱藏單元很快被重新初始化。
為了防止這種情況,研究團(tuán)隊(duì)設(shè)置了「成熟閾值」,在 m 次更新前,即使新的隱藏單元的效用是零,也不會(huì)被重新初始化。當(dāng)更新次數(shù)超過 m 后,每一步「成熟單元」的一部分 ρ(稱為替換率),在每一層都會(huì)被重新初始化。替換率 ρ 通常設(shè)置為一個(gè)非常小的值,這意味著在數(shù)百次更新后只替換一個(gè)單元。例如,在 CIFAR-100 中,研究團(tuán)隊(duì)將替換率設(shè)置為 10 的負(fù)五次方,每一步,大約 0.00512 個(gè)單元被替換。這相當(dāng)于大約每 200 次更新替換一次。
最終的算法結(jié)合了傳統(tǒng)的反向傳播和選擇性重新初始化兩種方法,以持續(xù)地從初始分布中引入隨機(jī)單元。每次更新時(shí),持續(xù)反向傳播將執(zhí)行梯度下降并選擇性地重新初始化。
前饋神經(jīng)網(wǎng)絡(luò)的持續(xù)反向傳播如算法1所示。處理小批量數(shù)據(jù)時(shí),可以采取一種更經(jīng)濟(jì)的方法:通過對(duì)小批量數(shù)據(jù)上的即時(shí)貢獻(xiàn)效用取平均值,而不是保持一個(gè)運(yùn)行平均值來節(jié)省計(jì)算量。
在 ImageNet 上的應(yīng)用
研究使用了包含 1000 個(gè)類別的 ImageNet 數(shù)據(jù)庫,每個(gè)類別有 700 張圖片,分為 600 張訓(xùn)練圖像和 100 張測(cè)試圖像。在二元分類任務(wù)中,網(wǎng)絡(luò)首先在 1200 張訓(xùn)練圖像上訓(xùn)練,然后在 200 張測(cè)試圖像上評(píng)估分類準(zhǔn)確度。
所有在持續(xù) ImageNet 上使用的算法都采用了具有三個(gè)卷積加最大池化(convolutional-plus-max-pooling)層和三個(gè)全連接層的卷積網(wǎng)絡(luò)。最終層有兩個(gè)單元,對(duì)應(yīng)兩個(gè)類別。在任務(wù)變更時(shí),這些單元的輸入權(quán)重會(huì)重置為零。這種做法在深度持續(xù)學(xué)習(xí)中是標(biāo)準(zhǔn)做法,盡管它為學(xué)習(xí)系統(tǒng)提供了關(guān)于任務(wù)變化時(shí)間的特權(quán)信息。
線性網(wǎng)絡(luò)的性能在持續(xù) ImageNet 上不會(huì)下降,因?yàn)樗诿總€(gè)任務(wù)開始時(shí)都會(huì)重置。通過在數(shù)千個(gè)任務(wù)上取均值,得到線性網(wǎng)絡(luò)性能的低方差估計(jì)值,作為基線。
網(wǎng)絡(luò)使用帶有動(dòng)量的 SGD 在交叉熵?fù)p失上進(jìn)行訓(xùn)練,動(dòng)量參數(shù)設(shè)為 0.9。研究者測(cè)試了不同的步長(zhǎng)參數(shù),但為了清晰起見,只展示了 0.01、0.001 和 0.0001 的步長(zhǎng)性能。
該研究還通過網(wǎng)格搜索確定了 L2 正則化、收縮和擾動(dòng)以及持續(xù)反向傳播算法的超參數(shù),以在 5000 個(gè)任務(wù)上獲得最高的平均分類準(zhǔn)確度。L2 正則化和收縮擾動(dòng)的超參數(shù)包括步長(zhǎng)、權(quán)重衰減和噪聲方差,持續(xù)反向傳播的超參數(shù)包括步長(zhǎng)和替換率,成熟度閾值設(shè)為 100。
研究者對(duì)所有超參數(shù)集合進(jìn)行了 10 次獨(dú)立運(yùn)行,然后對(duì)表現(xiàn)最佳的超參數(shù)集合進(jìn)行了額外的 20 次運(yùn)行,總共 30 次。
CIFAR-100 的類別增量學(xué)習(xí)
在 CIFAR-100 的類別增量學(xué)習(xí)中,開始時(shí),模型可以識(shí)別 5 種類型的圖片,隨著訓(xùn)練時(shí)間越來越長(zhǎng),模型能識(shí)別的圖片種類越來越多,比如能同時(shí)學(xué)習(xí) 100 種類別的圖片。在這個(gè)過程中,系統(tǒng)將通過測(cè)試檢驗(yàn)自己的學(xué)習(xí)效果。數(shù)據(jù)集由 100 個(gè)類別組成,每個(gè)類別有 600 張圖像,其中 450 張用于創(chuàng)建訓(xùn)練集,50 張用于驗(yàn)證集,100 張用于測(cè)試集。
每次增加學(xué)習(xí)的類別后,網(wǎng)絡(luò)被訓(xùn)練 200 個(gè)周期,總共增加 20 次,共訓(xùn)練 4000 個(gè)周期。研究團(tuán)隊(duì)在前 60 個(gè)周期中將學(xué)習(xí)率設(shè)置為 0.1,接下來的 60 個(gè)周期為 0.02,此后的 30 個(gè)周期為 0.004,最后的 40 個(gè)周期為 0.0008。在每次增加的 200 個(gè)周期中,研究團(tuán)隊(duì)選出了在驗(yàn)證集上準(zhǔn)確度最高的網(wǎng)絡(luò)。為了防止過擬合,在每輪訓(xùn)練中,新網(wǎng)絡(luò)的權(quán)重將被重置為上一輪準(zhǔn)確度最高網(wǎng)絡(luò)的權(quán)重。
他們選擇了 18 層的 ResNet 做實(shí)驗(yàn)。在將輸入圖像呈現(xiàn)給網(wǎng)絡(luò)之前,該研究進(jìn)行了幾個(gè)步驟的數(shù)據(jù)預(yù)處理。首先,將每張圖像中所有像素的值重新縮放到 0 和 1 之間。然后,每個(gè)通道中的每個(gè)像素值通過該通道像素值的平均值和標(biāo)準(zhǔn)差分別進(jìn)行中心化和重新縮放。最后,在將圖像輸入給網(wǎng)絡(luò)之前,該研究對(duì)每張圖像應(yīng)用了三種隨機(jī)數(shù)據(jù)轉(zhuǎn)換:以 0.5 的概率隨機(jī)水平翻轉(zhuǎn)圖像,通過在每邊填充 4 個(gè)像素然后隨機(jī)裁剪到原始大小來隨機(jī)裁剪圖像,以及在 0-15° 之間隨機(jī)旋轉(zhuǎn)圖像。預(yù)處理的前兩步應(yīng)用于訓(xùn)練集、驗(yàn)證集和測(cè)試集,但隨機(jī)轉(zhuǎn)換僅應(yīng)用于訓(xùn)練集中的圖像。
該研究測(cè)試了多個(gè)超參數(shù),以確保在特定架構(gòu)下保持每個(gè)算法的最佳性能。對(duì)于基礎(chǔ)系統(tǒng),該研究測(cè)試的權(quán)重衰減參數(shù)取值范圍為 {0.005, 0.0005, 0.00005}。對(duì)于「持續(xù)反向傳播」,該研究測(cè)試的成熟度閾值取值范圍為 {1000, 10000},替換率的取值范圍為,采用了公式 (1) 中描述的貢獻(xiàn)效用。成熟度閾值為 1000,替換率為 10^(-5) 時(shí),表現(xiàn)最佳。
作為參考,該研究還實(shí)現(xiàn)了一個(gè)具有與基礎(chǔ)系統(tǒng)相同超參數(shù)的網(wǎng)絡(luò),但在每次增量的開始時(shí)都會(huì)重新初始化。圖 2b 顯示了每個(gè)算法相對(duì)于重新初始化網(wǎng)絡(luò)的性能表現(xiàn)。
持續(xù)反向傳播在全部的 100 個(gè)類別中的最終準(zhǔn)確率為 76.13%,而擴(kuò)展數(shù)據(jù)圖 1b 展示了在成熟度閾值為 1000 時(shí),持續(xù)反向傳播在不同替換率下的性能表現(xiàn)。
感興趣的讀者可以閱讀論文原文,了解更多研究?jī)?nèi)容。