国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

神經網絡模型中災難性遺忘研究的綜述

2021-05-26 01:14韓紀東李玉鑑
北京工業(yè)大學學報 2021年5期
關鍵詞:災難性神經網絡樣本

韓紀東, 李玉鑑,2

(1.北京工業(yè)大學信息學部, 北京 100124; 2.桂林電子科技大學人工智能學院, 廣西 桂林 541004)

近年來,神經網絡模型在很多方面已經遠遠超過人類大腦,如在圍棋領域AlphaGo戰(zhàn)勝人類頂尖高手[1-2],在大規(guī)模視覺比賽ImageNet中表現出更強的圖像識別能力[3-4],在電子游戲中戰(zhàn)勝專業(yè)頂級游戲玩家[5-6]. 注意,本文中的神經網絡泛指所有的神經網絡. 這不僅使得神經網絡模型受到廣泛的關注,還極大地促進了神經網絡模型的進一步發(fā)展,使得神經網絡模型在更多領域取得了更加不凡的成就,如圖像分割[7-10]、目標檢測[11-13]、自然語言處理[14-17]、姿態(tài)估計[18-21]等. 神經網絡模型的快速發(fā)展,并沒有使其克服所有缺陷. 神經網絡模型依然有很多不足,如災難性遺忘、廣受爭議的黑箱子操作等,但是瑕不掩瑜,神經網絡在很多方面的驚艷表現使它依然備受學者們的青睞.

一個顯而易見的事實是,人類在學習新知識后不會對舊知識發(fā)生災難性遺忘,而這既是神經網絡模型的一個重大缺陷,也是它的一個遺憾. 該問題在很久之前就已經引起了學者們的注意. 20世紀八九十年代,連接網絡時期,Carpenter等[22]已經提到了神經網絡模型中的災難性遺忘問題,并且用了一個形象的比喻來說明,一個出生在波士頓的人搬到洛杉磯,他再回到波士頓時,仍然不會忘記他在波士頓的一切;也即他在洛杉磯學會新知識后,仍然會記得之前在波士頓的舊知識,而不會發(fā)生災難性遺忘;McCloskey等[23]描述了神經網絡在序列學習中遇到的災難性遺忘問題,在文中稱該問題為災難性干擾(catastrophic interference). 注意:當時,神經網絡常被稱為連接網絡. 當時,有很多學者提出了相關的方案試圖解決該問題,如有學者認為災難性遺忘是由于存儲在神經網絡內部表征重疊造成的,因此使用稀疏向量、輸入正交編碼等方法來避免神經網絡模型中的災難性遺忘[24-25];有學者使用雙網絡來解決神經網絡模型中的災難性遺忘[26-27];也有學者使用偽訓練數據預演的方法來減少神經網絡模型中的災難性遺忘[28].

現在,神經網絡模型的參數量已經達到十幾億[16]、幾百億[29],甚至一千多億[17,30];但是神經網絡模型中的災難性遺忘問題依然廣泛存在,如卷積神經網絡(convolutional neural networks, CNN)[31-32]、長短期記憶網絡(long short-term memory,LSTM)[33]、生成對抗網絡(generative adversarial network,GAN)[34-35]等. 這是由于同20世紀相比,神經網絡模型的思想變化并不大,變化最大的是訓練神經網絡模型所使用的硬件設備及所使用的數據量. 目前,神經網絡模型依然使用反向傳播算法進行反復迭代優(yōu)化,直到損失函數的值收斂,具體的優(yōu)化策略可能更豐富了,如自適應梯度法(adaptive gradient,AdaGrad)[36]、AdaDelta[37]、 RMSprop[38]、自適應矩估計(adaptive moment estimation,Adam)[39]等. 為了克服神經網絡模型中的災難性遺忘問題,最近,很多學者提出了他們的解決方案. 如Rebuffi等[40]提出iCaRL方法,該方法選擇性地存儲之前任務的樣本;Sarwar等[41]提出基于部分網絡共享的方法,該方法使用“克隆- 分支”技術;Li等[42]提出LwF方法,該方法主要以知識蒸餾的方式保留之前任務的知識;Zeng等[43]提出使用正交權重修改結合情景模塊依賴的方法;von Oswald等[44]提出任務條件超網絡,該網絡表現出了保留之前任務記憶的能力;Li等[45]結合神經結構優(yōu)化和參數微調提出一種高效簡單的架構. 也有學者研究了神經網絡中的訓練方法、激活函數及序列學習任務之間的關系怎樣影響神經網絡中的災難性遺忘的問題,如Goodfellow等[46]就發(fā)現dropout方法在適應新任務和記住舊任務中表現最好,激活函數的選擇受兩任務之間關系的影響比較大.

目前對神經網絡模型中災難性遺忘的研究主要是增量學習(incremental learning),在很多情況下,也被稱為持續(xù)學習(continous learning)或終身學習(lifelong learning)等. 這里如沒有特別說明統一稱為增量學習,但是有時為與原論文保持一致也可能使用持續(xù)學習或終身學習. 還有一些其他神經網絡模型方法對災難性遺忘問題的研究非常有意義且與增量學習有一定的交叉,如多任務學習(multi-task learning)、遷移學習(transfer learning). 多任務學習是同時學習多個任務,利用不同任務的互補,相互促進對方的學習[47];遷移學習主要是將之前學習的知識遷移到新任務上[48],但是這種學習方式不關心學習到新知識后是否發(fā)生災難性遺忘,也即該方法主要的關注點是怎樣將之前任務上的知識遷移到新任務上. 多任務學習、遷移學習和增量學習如圖1所示. 圖1(a)表示多任務學習的一個實例, modela和modelb分別針對taskA、taskB,涵蓋2個模型的藍色背景代表modela和modelb在同時訓練2個任務時的某種聯系,如共享神經網絡的前幾層等;圖1(b)表示遷移學習,model1表示已經使用任務taskA的數據訓練好的模型,model2表示針對任務taskB的模型且尚未被訓練,遷移學習就是將model1的知識遷移到model2;圖1(c)表示增量學習,在t時刻,modelI學習任務taskA,在t+1時刻modelI學習任務taskB,增量學習要求modelI在學習過taskB后不能忘記taskA.

圖1 多任務學習、遷移學習和增量學習Fig.1 Multi-task learning, transfer learning and incremental learning

顯然,神經網絡模型中的災難性遺忘問題已經成為阻礙人工智能發(fā)展的絆腳石,該問題的解決無疑將是人工智能發(fā)展史上的一個重要里程碑. 為促進該問題的早日解決,本文對神經網絡模型中災難性遺忘問題的相關研究做了一個綜述. 該綜述的主要目的是為了總結之前在這方面的研究和對該問題提出一些研究建議.

1 相關工作

之前的連接網絡模型中,French[49]對連接網絡的災難性遺忘的問題做了一個綜述. 該文獻不僅詳細地分析了造成連接神經網絡災難性遺忘的原因,而且介紹了多種解決連接神經網絡災難性遺忘問題的方案. 該作者最后指出解決神經網絡的災難性遺忘問題需要2個單獨的相互作用的單元,一個用于處理新信息,另一個用于存儲先前學習的信息. 但是該文獻作者分析的是早期的神經網絡模型,隨著神經網絡技術的快速發(fā)展,現在的神經網絡模型與連接神經網絡模型在神經網絡的結構、深度以及優(yōu)化策略,甚至是訓練神經網絡模型的數據量等方面都有很大不同.

最近,為了總結對神經網絡模型中災難性遺忘的研究,也有部分學者做了一些綜述性研究. de Lange等[50]對持續(xù)學習中的圖像分類任務做了一個對比性研究,首先對持續(xù)學習的方法進行了綜合的介紹,如介紹很多持續(xù)學習的方法,將各種持續(xù)學習的方法進行了總結并歸為基于回放的方法、基于正則化的方法和基于參數隔離的方法;其次,為了公正地對比不同持續(xù)學習方法的效果,還提出了一種對比性研究持續(xù)學習性能的框架. Lesort等[51]綜合性地研究了機器人中的增量學習. Parisi等[52]對基于神經網絡的持續(xù)性終身學習做了一個綜述,首先對生物的終身學習做了詳細的介紹,如人類怎樣解決彈性- 穩(wěn)定性困境、赫布彈性穩(wěn)定性、大腦互補的學習系統,這是該綜述與其他類似綜述最大的不同;然后,分析了神經網絡模型中的終身學習方法,并將其分為:正則化方法、動態(tài)架構方法和互補學習系統及記憶回放. Belouadah等[53]對視覺任務的類增量學習做了一個綜合性研究,提出了增量學習的6個通用屬性,即復雜度、內存、準確率、及時性、彈性和伸縮性,并將增量學習的方法分為基于微調的方法和基于固定表征的增量學習方法. Masana等[54]提出了類增量學習所面臨的挑戰(zhàn),即權重偏移、激活值偏移、任務間混淆和新舊任務失衡,并將類增量學習分為3類,基于正則化的方法、基于預演的方法和基于偏置- 校正的方法. 文獻[50-54]雖然都對神經網絡中的克服災難性遺忘的方法做了綜述性研究,但是它們均有一定的局限性,如文獻[50]僅介紹了持續(xù)學習中關于圖像分類的方法,且用來對比不同持續(xù)學習方法性能的框架也是針對圖像分類任務的,文獻[51]僅研究了針對機器人的增量學習. 另外,文獻[50-54]都沒有涉及生成對抗模型或強化學習克服災難性遺忘方法的介紹.

2 減緩災難性遺忘問題的方法

針對神經網絡模型中的災難性遺忘問題,相關學者提出了很多解決方法. 盡管相關文獻大都聲稱提出的方法可以克服災難性遺忘的問題,但實際上僅是不同程度地減緩神經網絡模型中的災難性遺忘問題,為了表述的嚴謹,本章的標題為減緩災難性遺忘問題的方法. 由第1節(jié)的內容可以看出,不同的綜述文獻依據不同的規(guī)則,對減緩災難性遺忘問題方法的分類并不相同,本節(jié)將減緩災難性遺忘問題的方法分為4類,即基于樣本的方法、基于模型參數的方法、基于知識蒸餾的方法和其他方法.

為方便下文的敘述,這里對下文中的符號進行統一,符號及其含義具體如表1所示.

表1 符號及其含義

圖2 參數共享模塊和特定任務模塊Fig.2 Parameter sharing module and task-specific module

注意,由于增加新任務與增加新類非常相似,在下文中不做特別區(qū)分,均使用增加新任務表示;有些時候為與原論文表述一致,也會使用增加新類表示.

2.1 基于樣本的方法

本文將直接或間接地用到Tdatapre樣本集中數據的方法稱為基于樣本的方法. 直接使用即為使用額外的內存存儲Tdatapre樣本集中的部分數據Tdataselect,在學習新任務時,將Tdataselect與Tdatanew混合,最后使用混合后的數據訓練Modeltarget. 間接使用主要指生成偽數據或保存Tdatapre的特征,然后使用它們與Tdatanew或Tdatanew的特征混合訓練Modeltarget. 在文獻[50,52]中也將該方法稱為回放. 注意:有些方法中雖然用到了Tdatapre中的部分樣本數據,考慮到論文作者在克服災難性遺忘中的主要思想是使用其他方法,因此這部分方法并沒有被認為是基于樣本的方法.

2.1.1 直接使用樣本的方法

Guo等[56]為解決增量學習中的災難性遺忘問題,提出了支持樣本表征的增量學習(exemplar-supported representation for incremental learning,ESRIL)方法. ESRIL包括3個部分:1) 記憶感知突觸(memory aware synapses,MAS)模塊,該模塊使用ImageNet數據集預訓練的深度卷積神經網絡(deep convolutional neural network,DCNN),是為了維持用之前任務Taskpre數據集訓練的特征;2) 基于樣例的字空間聚類(exemplar-based subspace clustering,ESC)模塊,該模塊是為了提取每個任務中的樣本;3) 多質心最近類(the nearest class multiple centroids,NCMC)模塊,該模塊作為一個輔助分類器,當增加的新類數據與ImageNet數據很相似時,使用該分類器替代MAS中全連接層,減少訓練時間. ESRIL的關鍵是每類數據中代表樣本的選擇,Guo等采用文獻[57]中的方法進行樣本的選擇,通過迭代的方式不斷優(yōu)化

(1)

Belouadah等[58]提出了一種基于雙內存的增量學習方法,稱為IL2M. 與普通基于樣本的方法不同,該方法使用2個記憶模塊:1) 第1個記憶模塊存儲之前任務Taskpre的部分樣本Tdataselect; 2) 記憶模塊存儲之前任務Taskpre每類樣本初次學習時的統計量. 存儲之前任務Taskpre部分樣本Tdataselect的目的非常簡單,是為了與新任務Tasknew的數據混合,然后作為更新網絡的訓練數據;存儲每類樣本初次學習時的統計量,是由于初次訓練時,該類樣本的數據最全,相應地統計量也最準確;該統計量的作用是為了矯正更新網絡時由于數據失衡(新任務Tasknew的數據多,而之前任務Taskpre的數據少)所造成的偏差.

Isele等[59]提出了一種選擇性存儲所有任務樣本的方法,避免強化學習的災難性遺忘. 該方法包括長時存儲模塊和短時存儲模塊. 長時存儲模塊稱為情景記憶,存儲的樣本基于樣本的等級(使用排序函數對樣本排序). 短時記憶模塊是一個先進先出(first-in-first-out,FIFO)區(qū),該部分不斷刷新,以確保網絡能接觸到所有的輸入數據.

2.1.2 間接使用樣本的方法

Hayes等[60]提出了一種別樣的基于樣本的模型,該模型稱為使用記憶索引的回放(replay using memory indexing,REMIND). REMIND模型并不存儲之前任務Taskpre的原始樣本,而是存儲樣本的特征. REMIND模型將樣本的特征經過量化后給予索引號并存儲,增加新任務Tasknew時,將隨機抽取r個存儲的特征進行回放.

Atkinson等[61]提出了RePR(reinforcement-Pseudo-Rehearsal)模型. RePR模型使用偽數據- 預演的方式避免神經網絡中的災難性遺忘. RePR包括短時記憶(short-term memory,STM)和長時記憶模塊(long-term memory,LTM). STM模塊使用當前任務Tasknew的數據Tdatanew訓練針對當前任務的深度強化網絡(deep Q-networks,DQNs);LTM模塊包括擁有之前所有任務Taskpre的知識和能生成之前所有任務偽數據的GAN. 結合遷移學習,將DQNs的知識遷移到Modelpre中;在知識遷移的過程中,真實的數據使得Modeltarget學習到新知識,GAN生成的偽數據維持Modelpre中之前任務的知識.

Atkinson等[62]和Shin等[63]均使用中GAN生成相應的偽數據. Atkinson等[62]使用GAN生成偽圖像代替隨機生成的偽圖像,因為隨機生成的偽圖像明顯不同于自然的圖像,這將導致網絡能學習到很少的之前任務的知識. 當訓練第T1任務時,GAN被訓練T1的數據集DT1,增加了T2任務后,GAN被訓練使用T2的數據集DT2;增加了T3任務后,該方法顯然就出現了問題,前一步中,GAN僅使用數據集DT2,意味著GAN生成的偽數據也是T2的偽數據. 為了不增加內存的消耗,作者將GAN也使用偽標簽進行訓練,這樣GAN生成的數據就代表之前所有任務的數據. Shin等[63]提出的模型具有雙架構〈G,S〉,G是深度生成器模型用來生成偽樣本,S是解算器用來處理每個任務.

2.2 基于模型參數的方法

基于模型參數的方法根據是否直接使用模型參數進行分類:1) 選擇性參數共享,該方法直接使用模型的參數; 2) 參數正則化,該方法約束模型的重要參數進行小幅度變動,以保證對之前已學習知識的記憶.

2.2.1 選擇性共享參數

該方法在預訓練神經網絡模型Modelpre后,增加新任務Tasknew時選擇性地使用神經網絡模型的參數. 雖然神經網絡模型的參數沒有發(fā)生改變,由于針對不同任務所選擇性激活神經網絡中參數的不同,導致不同任務使用的神經網絡的模型參數不同,進而使同一個神經網絡模型的參數適應不同的任務. 可以看出,這種方式換一個角度解決神經網絡中的災難性遺忘問題. 這種方式的優(yōu)點:1)不需要使用之前任務Taskpre的數據Tdatapre;2)沒有對神經網絡模型進行較大的改進. 這種方式也有一個顯著的缺點,雖然不需要使用先前任務的數據進行訓練,但是需要針對不同任務存儲一個激活參數,即使在相關文獻中,作者一再強調存儲的激活參數很小,但當任務量非常多時,即使逐漸小幅度定量的增加也是非常可怕的.

Mallya等[64]提出了一種共享參數的方法,該方法不改變預訓練骨干網絡的參數Θ,而僅對每個任務訓練掩模m,具體如圖3所示. 以第k個任務為例進行說明:首先訓練得到掩模mask′k;然后通過將掩模mask′k二值化處理得到二值化掩模maskk,如圖3中maskk所示(紅色實方框為表示1,深灰色實方框表示0);最后將二值化掩模maskk與預訓練骨干網絡的參數Θbackbone逐元素運算得到適用于任務k的參數集Θk,如圖3中Θbackbone和Θk所示(Θbackbone中綠色實方框表示具體的參數,Θk中綠色實方框表示激活的參數,深灰色實方框表示未被激活的參數).

圖3 共享參數的方法[64]Fig.3 Method of sharing parameters[64]

(2)

(3)

2.2.2 參數正則化

使用該方法時,Modelpre在添加新任務后,需要對神經網絡進行重新訓練;但是,由于添加了參數正則項,神經網絡在訓練的過程中會保證對重要參數進行小幅度的改變,以保證對之前任務Taskpre的效果.

Kirkpatrick等[66]參考生物對特定任務的突觸鞏固原理,提出了類似于該原理的人工智能算法,即可塑權重鞏固(elastic weight consolidation,EWC). 小鼠在學習新任務后,一定比例的突觸會增強,并且能保持一段時間;相應地,神經網絡模型的參數并非全是等價的,有些參數可能是有用的,有些參數可能作用非常低甚至是沒有作用. 因此,作者提出緩慢改變神經網絡模型中的重要參數,以使得模型不忘記之前學習的知識. EWC使用損失函數來實現該目的,即

(4)

Chang等[35]為了使GAN避免災難性遺忘,提出了記憶保護生成對抗模型(memory protection GAN,MPGAN) ,并設計了一種參數正則化方法(second derivative preserver,SDP). 考慮到已存在的參數正則化方法使用輸出函數的一階導數不能準確地評估參數的重要性,SDP使用輸出函數的二階導數. 使用F表示輸出函數,θ表示模型的參數,則SDP表示為

(5)

由于漢森矩陣計算較為復雜,在實際操作中使用費雪信息E[(?F/?θ)2]近似漢森矩陣. SDP使用

(6)

El等[67]借用參數正則化的思想,提出了一種方式約束增加新任務后模型參數的改變. 作者將卷積神經網絡的特征提取模塊稱為編碼器,在編碼器后由有2個分支網絡,一個分支網絡為了圖像分類,另一個分支網絡稱為解碼器,使用反卷積進行樣本的重建. 為了訓練該網絡,作者在損失函數中添加了一個非監(jiān)督重建損失,該損失的作用等同于參數正則化. 優(yōu)化網絡中的損失函數

L=Lcls(,y)+λLrec(,x)

(7)

式中:Lcls(,y)是圖像分類的交叉熵損失,y為圖像的真實標簽,網絡輸出的預測標簽;λ是超參數;Lrec(,x)是重建損失,為重建樣本,x為樣本.Lrec表示為

(8)

式中:N為樣本x的數量;i、j、k三個索引分別為樣本x的3個維度,D是樣本x三個維度數的乘積;xijk為圖像在索引(i,j,k)處的灰度值;ijk為重建后圖像在索引(i,j,k)處的灰度值.

2.3 基于知識蒸餾的方法

Hinton等[68]于2015年提出了一種模型壓縮的方法,即知識蒸餾. 該方法使用軟目標輔助硬目標進行訓練小模型modelsmall,軟目標即將樣本xi輸入到預訓練的大模型modelbig中得到的輸出qi,硬目標即為樣本的真實標簽yi. 之所以這樣做,是因為軟目標中包含的信息量巨大;而硬目標包含的信息量較低. 如果modelbig中真實類的輸出結果遠遠大于其他類的結果,那就不能很好地使用軟目標中的信息了,因此需要平滑softmax的輸出結果,即

(9)

式中:zi為softmax前一層(該層的神經元個數已被映射為訓練任務的類別數)的輸出;T為溫度,T越大modelbig輸出的結果越軟. 知識蒸餾的方法被廣泛應用于模型壓縮[69-71]、遷移學習[72-74]等領域,也被廣泛應用于解決神經網絡模型的災難性遺忘問題中[75-79]. 圖4為知識蒸餾的示意圖,將訓練樣本data同時輸入到modelbig和modelsmall,通過知識蒸餾的方式將modelbig的知識遷移到modelsmall.

圖4 知識蒸餾Fig.4 Knowledge distillation

Li等[42]結合知識蒸餾設計了學而不忘模型(learning without forgetting,LwF),該模型在增加新類Classnew時,僅需要使用新類Classnew的數據訓練模型,且能避免對之前學習知識的遺忘. LwF模型使用前幾層作為特征提取模塊,為所有任務共享;之后幾層作為特定任務模塊,為不同任務的單獨所有. LwF使用的損失函數

L=λ0Lold(Y0,0)+Lnew(Yn,n)+R(s,o,n)

(10)

式中:λ0為一個超參數,值越大,相應地對蒸餾損失的權重就越大;Lold(Y0,0)為軟標簽的損失,Y0為增加新類Classnew前模型的軟標簽,0增加新類Classnew后訓練過程中模型輸出的軟標簽;Lnew(Yn,n)增加新類別的標準損失,Yn為新類別數據的真實標簽,n為訓練過程中模型的輸出;R(s,o,n)為正則項,s為共享參數,o之前任務的特定任務參數,n為新任務的特定任務參數.

Shmelkov等[75]和Chen等[76]分別提出了新的損失函數,將知識蒸餾的方法用到目標檢測的災難性遺忘中,這里以文獻[75]為例進行說明. Shmelkov等[75]提出的損失函數使Fast RCNN網絡在增加新的任務時,不用使用之前任務的數據,且表現出對之前任務知識的不遺忘. 將當前的網絡稱為CA,CA增加新任務后需要增加新的分類分支和使用新任務的數據進行重新訓練,此時的網絡稱為CB. 由于目標檢測任務中需要進行分類與回歸訓練,因此作者結合分類與回歸提出蒸餾損失函數

(11)

Hou等[77]結合知識蒸餾與樣本回放的方式提出了適應蒸餾的方法,該方法首先針對新任務tnew訓練一個模型CNNexpert,然后通過知識蒸餾的方式將新任務的知識遷移到目標模型CNNtarget,與LwF不同的是,該方法在知識蒸餾時用到少量的之前任務的樣本.

Castro等[78]使用之前任務的小部分數據和當前任務的數據設計了一個端到端的增量學習模型,由任務共享模塊特征提取和特定任務模塊組成. 針對該架構,作者提出了交叉- 蒸餾損失公式

(12)

式中:LC(ω)為新舊任務所有數據的交叉熵損失;LDf(ω)表示每個特定任務層的蒸餾損失.LC(ω)和LDf(ω)表示為

(13)

(14)

式中:N和C分別表示樣本的數目和樣本的類別數;pij表示樣本真實標簽,qij為模型的輸出;pdistij與qdistij類比于pij和qij.

(15)

2.4 其他方法

除了上面所述的3類方法外,一些學者還提出了其他方法為避免神經網絡中的災難性遺忘. Muoz-Martín等[80]將有監(jiān)督的卷積神經網絡與受生物啟發(fā)的無監(jiān)督學習相結合,提出一種神經網絡概念;不同于參數正則化方法,Titsias等[81]提出一種函數正則化的方法;Cao在將學習系統視為一個纖維叢(表示一種特殊的映射),提出了一個學習模型[82]. 該學習模型的架構如圖5所示,該圖根據文獻[82]所畫,與動態(tài)地選擇模型的參數不同,該模型動態(tài)地選擇解釋器. 圖5(a)表示了一個普通的神經網絡,即輸入x通過神經網絡得到輸出y;圖5(b)表示作者所提出的學習模型的架構,該架構主要有以下幾步:1)輸入x通過生成器Generator被編碼為潛在空間L中的xL,這里相似的樣本會得到xL; 2) 基于xL選擇神經網絡中被激活的神經元,得到解釋器Interpretor:fx; 3) 將樣本x輸入到解釋器fx得到輸出y. 為了使該學習模型能有對時間的感知,作者又在模型中引入了一個生物鐘,

T=Tmin+σ[ψ(x)](Tmax-Tmin)

(16)

Yt=(Asin(2πt/T),Acos(2πt/T))

(17)

式中:x表示輸入;Yt表示生物鐘的輸出;t表示當前時刻;T表示周期;Tmin和Tmax均為超參數,分別表示T的最小值與最大值;σ表示sigmoid函數;ψ表示可訓練的神經網絡模型. 通過實驗作者發(fā)現該學習模型不僅具有良好的持續(xù)學習能力,而且還具有一定的信息存儲能力.

圖5 普通神經網絡和纖維束學習系統[82]Fig.5 Common neural network and learning system with a fiber bundle[82]

3 減緩災難性遺忘的評價準則

針對神經網絡中的災難性遺忘問題,大量學者提出了自己的方法,無論是基于樣本的方法,或是基于模型參數的方法,又或是基于知識蒸餾的方法等等;總之,解決方案有很多,那么這又產生了一系列問題:如何確定哪種方法最優(yōu)?如何確定某種解決方案所適應的環(huán)境?如何評價不同方法的優(yōu)劣?

針對如何評價不同方法這個問題,也有一些學者進行了相應的研究. Kemker等[83]提出了衡量災難性遺忘問題的實驗基準和評估指標. 這里只介紹3個評價指標,該評指標主要有3個新的評估參數

(18)

(19)

(20)

式中:T表示任務的數量;αbase,i表示訓練第i個任務后,神經網絡模型對第1個任務的準確率;αideal表示訓練基礎數據集(也即第1個任務)后,神經網絡模型對基礎數據集的準確率;αnew,i表示訓練第i個任務后,神經網絡模型對該任務的準確率;αall,i表示模型對當前所能得到所有數據的準確率. 這里式(18)中的Ωbase表示神經網絡模型在訓練T個任務之后,對學習到第1個任務知識的遺忘程度;式(19)中的Ωnew表示神經網絡模型在學習到新任務后,對新任務的適應能力;式(20)中的Ωall計算模型保留先前學習的知識和學習到新知識的能力. van de Ven等[84]也指出,雖然有很多針對神經網絡中災難性遺忘問題的解決方案,但是由于沒有統一的評價基準,導致直接對比不同解決方案的效果非常困難. 為了能結構化地比較不同的解決方案,van de Ven等提出了3種困難度逐漸加大的連續(xù)學習的情景,每個情景包含2種任務協議. 3種任務情景分別為:1)測試時,已知任務ID;2)測試時,任務ID未知,且不需要判斷任務ID;3)測試時,任務ID未知,且需要判斷出任務ID. 第1種實驗情景針對的是任務增量學習(task-IL),即每個任務在輸出層都有與之對應的特定的輸出單元,而其余網絡是共享的;第2種實驗情景是針對域增量學習(domain-IL),即任務的結構相同但輸入分布卻不相同;第3種實驗情景針對類增量學習(class-IL),即遞增地學習新類. 在文獻中,作者將第1種任務協議稱為分割MNIST任務協議,該協議將MNIST數據集中分為5個任務,每個任務包含2類;作者將第2種任務協議稱為置換MNIST任務協議,該協議包含10個任務,每個任務包含10類,將原始MNIST作為任務1,在MNIST基礎上隨機生成另外9組數據即任務2~9的數據集. Pfülb等[85]也提出了一個評價深度神經網絡(deep neural networks,DNNs)災難性遺忘問題的范例. 該評價范例主要是針對實際應用層面,主要包括:1)在DNNs上訓練序列學習任務(sequential learning tasks,STLs)時,模型應能保證能隨時增加新類;2)模型應該對先前學習過的任務表現出一定的記憶力,即使災難性遺忘不可避免,至少應該緩慢的遺忘之前所學習的知識,而不是立即遺忘;3)DNNs如果應用到嵌入式設備或機器人中,應該滿足內存占用低、添加任務時重新訓練的時間或內存復雜度不應依賴于子任務的數量等. 除了提出新的評價方法,也有學者提出了用于測試神經網絡模型中災難性遺忘問題性能的新數據集,如Lomonaco等[86]提出了基準數據集CORe50,該數據集用于測試不同持續(xù)學習方法對目標檢測的效果.

4 討論

圖6 無限擴大的神經網絡模型Fig.6 Infinitely expanding neural network model

圖7 逐漸增加模型的任務Fig.7 Gradually add tasks to the model

在盡量小地改變神經網絡模型自身的情況下允許神經網絡模型適應更多的新任務且不發(fā)生災難性遺忘. 如直接使用樣本回放的方法,并非簡單地將所有任務的樣本混合而是想要找到每個任務中具有代表性的樣本,并使用不同的方法對樣本進行排序,進而選擇具有代表性的樣本;在使用生成偽數據的方法中,想要生成適量的偽數據而不是無限擴展網絡;參數正則化的方法中,想要找到神經網絡模型中最重要的參數,并對其進行約束,而不是簡單地約束所有參數;在知識蒸餾中,想要將知識由一種網絡遷移到另一種網絡,而不是簡單地將2個網絡并聯. 另外,第3節(jié)中的很多方法依據生物的認知記憶等原理進行改進創(chuàng)新,以期達到克服神經網絡模型中災難性遺忘的目的[66,80,82]. 注意:對減緩災難性遺忘方法的分類并不是絕對的,如文獻[77-78]既用到了知識蒸餾的方法,也用到了樣本的方法;這里的分類依據是作者解決神經網絡模型中災難性遺忘問題的主要思想,以文獻[78]為例,作者在文中主要的關注點是使用知識蒸餾的方法避免災難性遺忘,而使用之前任務所組成的小樣本集僅是作者使用的一個輔助的方式,因此將該方法歸類為知識蒸餾的類中.

5 總結與建議

首先將減緩神經網絡模型災難性遺忘的方法分為四大類,并對不同大類的方法進行了介紹;然后,介紹了幾種評價減緩神經網絡模型災難性遺忘性能的方法;接著,對神經網絡模型中的災難性遺忘問題進行了開放性的探討.

如果將人類的大腦看成一個復雜的神經網絡模型,可以觀察到人類并沒有災難性遺忘的問題. 這說明現在的神經網絡模型與人腦相比仍有非常大的缺陷,仍有非常大的進步空間. 對于怎樣解決災難性遺忘的問題,本文最后提出了幾個解決思路:1) 探索生物怎樣避免災難性遺忘的機制,并根據該機制設計相似的神經網絡模型. 2) 探索神經網絡模型存儲信息的新機制,如果神經網絡模型在學習新知識后仍能保持對之前學習的知識不遺忘,必然需要存儲一些關于之前學習的知識的一些信息,怎樣高效地存儲和利用這些信息值得研究. 3) 選取具有代表性的樣本也是一種方法. 該方法不僅存在于生物的認知中,也廣泛存在于社會生活中. 如社會生活中的選舉,某一社會團體通常推選出該團體中的某幾位成員而不是全體成員代表該社會團體,這也從另一個角度說明,部分樣本往往可以近似代表總體樣本. 對比到神經網絡模型中,選取某一任務中具有代表性的樣本,而不是使用所有樣本代表該任務;該方法需要確定推選機制,即怎樣確定樣本集中的某些樣本具有代表該樣本集的能力. 一個顯而易見的事實是,神經網絡模型是對生物神經網絡的模仿,而現在神經網絡模型出現災難性遺忘的問題,說明對生物的神經網絡研究的并不徹底,還有很多盲點. 思路1)進一步研究生物的避免研究災難性遺忘的機制,應該是研究的重點和趨勢.

為徹底解決神經網絡模型中的災難性遺忘問題,需要人工智能等方面學者們的努力,也需要腦科學、心理學等方面學者們的支持.

猜你喜歡
災難性神經網絡樣本
基于神經網絡的船舶電力系統故障診斷方法
MIV-PSO-BP神經網絡用戶熱負荷預測
基于改進Hopfield神經網絡的對地攻擊型無人機自主能力評價
科學家說地球變暖速度比以前認為的要快,而避免災難性后果的窗口期即將結束
規(guī)劃·樣本
人大專題詢問之“方城樣本”
三次樣條和二次刪除相輔助的WASD神經網絡與日本人口預測
隨機微分方程的樣本Lyapunov二次型估計
創(chuàng)傷后應激障礙研究綜述
Voice
永川市| 海门市| 富民县| 黄平县| 武汉市| 镇江市| 黔西| 新源县| 西和县| 铁岭市| 蓝山县| 娱乐| 闵行区| 简阳市| 辛集市| 建阳市| 上思县| 拉孜县| 台中市| 沿河| 精河县| 凉山| 尼木县| 大足县| 五莲县| 霸州市| 台湾省| 项城市| 通城县| 印江| 延津县| 佳木斯市| 钦州市| 乌拉特中旗| 久治县| 宣城市| 东源县| 大方县| 库伦旗| 柏乡县| 和田市|