為了應對現實世界的動態變化,智能體需要在其生命周期中增量地獲取、更新、積累和利用知識。這種能力被稱為持續學習,為人工智能系統自適應發展提供了基礎。
在一般意義上,持續學習明顯受到災難性遺忘的限制,學習新任務通常會導致舊任務的性能急劇下降。除此之外,近年來出現了越來越多的進展,在很大程度上擴展了持續學習的理解和應用。人們對這一方向日益增長和廣泛的興趣表明了它的現實意義和復雜性。本文對持續學習進行了全面的調研,試圖在基本設置、理論基礎、代表性方法和實際應用之間建立聯系。基于現有的理論和實證結果,將持續學習的一般目標總結為:在資源效率的背景下,確保適當的穩定性-可塑性權衡,以及充分的任務內/任務間泛化能力。提供了最先進的和詳細的分類法,廣泛分析了有代表性的策略如何解決持續學習,以及它們如何適應各種應用中的特定挑戰。通過對持續學習當前趨勢、跨方向前景和與神經科學的跨學科聯系的深入討論,相信這種整體的視角可以極大地促進該領域和其他領域的后續探索。
1. 引言
學習是智能系統適應環境的基礎。為了應對外界的變化,進化使人類和其他生物具有很強的適應性,能夠不斷地獲取、更新、積累和利用知識[148]、[227]、[322]。自然,我們期望人工智能(AI)系統以類似的方式適應。這激發了持續學習的研究,其中典型的設置是逐一學習一系列內容,并表現得就像同時觀察到的一樣(圖1,a)。這些內容可以是新技能、舊技能的新示例、不同的環境、不同的背景等,并包含特定的現實挑戰[322],[413]。由于內容是在一生中逐步提供的,因此在許多文獻中,持續學習也被稱為增量學習或終身學習,但沒有嚴格的區分[70],[227]。
與傳統的基于靜態數據分布的機器學習模型不同,持續學習的特點是從動態數據分布中學習。**一個主要的挑戰被稱為災難性遺忘[291],[292],對新分布的適應通常會導致捕獲舊分布的能力大大降低。**這種困境是學習可塑性和記憶穩定性權衡的一個方面:前者過多會干擾后者,反之亦然。除了簡單地平衡這兩方面的“比例”外,持續學習的理想解決方案應該獲得強大的泛化能力,以適應任務內部和任務之間的分布差異(圖1,b)。作為一個樸素的基線,重新訓練所有舊的訓練樣本(如果允許)可以輕松解決上述挑戰,但會產生巨大的計算和存儲開銷(以及潛在的隱私問題)。事實上,持續學習的主要目的是確保模型更新的資源效率,最好接近只學習新的訓練樣本。
**許多努力致力于解決上述挑戰,可以在概念上分為五組(圖1,c):**參考舊模型添加正則化項(基于正則化的方法);逼近和恢復舊數據分布(基于回放的方法);顯式操作優化程序(基于優化的方法);學習魯棒和良好泛化的表示(基于表示的方法);以及使用正確設計的體系結構構建任務自適應參數(基于體系結構的方法)。該分類法擴展了常用分類法的最新進展,并為每個類別提供了細化的子方向。總結了這些方法是如何實現所提出的一般目標的,并對其理論基礎和典型實現進行了廣泛的分析。特別是,這些方法是緊密聯系的,例如正則化和重放最終糾正優化中的梯度方向,并且具有高度的協同性,例如,重放的效果可以通過從舊模型中提取知識來提高。 現實應用對持續學習提出了特殊的挑戰,可以分為場景復雜性和任務特異性。對于前者,例如,在訓練和測試中可能缺少任務oracle(即執行哪個任務),訓練樣本可能是小批量甚至一次引入的。由于數據標記的成本和稀缺性,持續學習需要在少樣本、半監督甚至無監督的場景中有效。對于后者,雖然目前的進展主要集中在視覺分類,但其他視覺領域(如目標檢測、語義分割和圖像生成)以及其他相關領域(如強化學習(RL)、自然語言處理(NLP)和倫理考慮)正在受到越來越多的關注,其機遇和挑戰。
**考慮到持續學習的興趣顯著增長,我們相信這項最新和全面的調研可以為后續的工作提供一個整體的視角。**盡管有一些關于持續學習的早期調研,覆蓋面相對較廣[70],[322],但近年來的重要進展并未被納入其中。相比之下,最新的調研通常只整理持續學習的局部方面,關于其生物學基礎[148],[156],[186],[227],視覺分類的專門設置[85],[283],[289],[346],以及NLP[37],[206]或RL[214]中的擴展。據我們所知,這是第一個系統總結持續學習的最新進展的調研。基于這些優勢,我們就當前趨勢、跨方向前景(如擴散模型、大規模預訓練、視覺轉換器、具體AI、神經壓縮等)以及與神經科學的跨學科聯系,深入討論了持續學習。
主要貢獻包括:
(1) 對持續學習進行了最新而全面的綜述,以連接理論、方法和應用的進步;
(2) 根據現有的理論和實證結果,總結了持續學習的一般目標,并對具有代表性的策略進行了詳細的分類; (3) 將現實應用的特殊挑戰分為場景復雜性和任務特殊性,并廣泛分析了持續學習策略如何適應這些挑戰; (4)深入探討了當前研究趨勢和發展方向,以期為相關領域后續工作提供參考。 本文的組織如下: 在第2節中,我們介紹了持續學習的設置,包括其基本公式,典型場景和評估指標。在第3節中,我們總結了一些針對其一般目標的持續學習的理論努力。在第4節中,我們對具有代表性的策略進行了最新的和詳細的分類,分析了它們的動機和典型的實現。在第5節和第6節中,我們描述了這些策略如何適應場景復雜性和任務特異性的現實挑戰。在第7節中,我們提供了當前趨勢的討論,交叉方向的前景和神經科學的跨學科聯系。
在本節中,我們詳細介紹了代表性持續學習方法的分類(參見圖3和圖1,c),并廣泛分析了它們的主要動機、典型實現和經驗屬性。
Regularization-based 方法
該方向的特點是添加顯式正則項來平衡新舊任務,這通常需要存儲舊模型的凍結副本以供參考(見圖4)。根據正則化的目標,這類方法可以分為兩類。
Replay-based 方法
將近似和恢復舊數據分布的方法分組到這個方向(見圖5)。根據回放的內容,這些方法可以進一步分為三個子方向,每個子方向都有自己的挑戰。
Optimization-based 方法
持續學習不僅可以通過向損失函數添加額外的項(例如正則化和重放)來實現,還可以通過顯式地設計和操作優化程序來實現。
Representation-based 方法
將創建和利用持續學習表示優勢的方法歸為這一類。除了早期通過元訓練[185]獲得稀疏表示的工作外,最近的工作試圖結合自監督學習(SSL)[125]、[281]、[335]和大規模預訓練[295]、[380]、[456]的優勢,以改進初始化和持續學習中的表示。請注意,這兩種策略密切相關,因為預訓練數據通常數量巨大且沒有明確的標簽,而SSL本身的性能主要通過對(一系列)下游任務進行微調來評估。下面,我們將討論具有代表性的子方向。
Architecture-based 方法
上述策略主要集中在學習所有具有共享參數集的增量任務(即單個模型和一個參數空間),這是導致任務間干擾的主要原因。相反,構造特定于任務的參數可以顯式地解決這個問題。以往的工作通常根據網絡體系結構是否固定,將該方向分為參數隔離和動態體系結構。本文專注于實現特定任務參數的方式,將上述概念擴展到參數分配、模型分解和模塊化網絡(圖8)。
深度學習模型通常限定在固定數據集中進行訓練,訓練完成之后模型無法隨著時間而擴展其行為. 將已訓練好的模型在新數據上訓練會出現災難性遺忘現象. 持續學習是一種能夠緩解深度學習模型災難性遺 忘的機器學習方法,它旨在不斷擴展模型的適應能力,讓模型能夠在不同時刻學習不同任務的知識. 目前,持 續學習算法主要分為 4 大方面,分別是正則化方法、記憶回放方法、參數孤立方法和綜合方法. 對這 4 大方面 方法的研究進展進行了系統總結與分析,梳理了衡量持續學習算法性能的評估方法,討論了持續學習的新興 研究趨勢. //www.yndxxb.ynu.edu.cn/yndxxbzrkxb/article/doi/10.7540/j.ynu.20220312?viewType=HTML 得益于更大的數據集、更強的計算能力以及 網絡結構創新,深度學習在圖像分類[1]、人臉識別[2] 等任務上已經實現了接近人類甚至超越人類的性 能. 然而大多數神經網絡只能在預先知道所有類的 批量學習設定下進行訓練直至擬合,當有新數據出 現時,必須使用全部數據重新訓練模型,以適應數 據分布變化[3] . 隨著移動設備和互聯網的飛速發展, 人們每天都會拍攝和分享大量圖片和視頻. 而從零 開始重新訓練模型是耗時且低效的,這就要求模型 擁有以序列方式進行持續學習和更新的能力,以適 應每天新產生的數據. 神經網絡從原來的批量學習模式轉變為序列 學習模式時,很容易出現對舊知識的遺忘,這意味 著,在使用新數據更新模型后,模型在先前學習的 任務中所達到的性能會急劇下降[4],出現災難性遺 忘. 早在 30 多年前,人們就在多層感知器中發現了 災難性遺忘現象[5],產生災難性遺忘的根本原因是 新任務訓練過程需要改變神經網絡權值,這不可避 免地修改了某些對于舊任務來說至關重要的權重, 使得模型不再適用于舊任務. 與此相反,人類可以 不斷學習和適應新知識,并且在自身積累新知識的 同時,也會對原有知識進行了補充和修正,學習新 知識很少會導致人類災難性地忘記之前的知識[6] . 如自然視覺系統,先前的知識得到了保留的同時, 新的視覺信息被不斷地整合到已有知識中. 為了克服災難性遺忘,學習系統一方面要在新 任務上表現出獲取新知識和提煉現有知識的能力, 另一方面要防止新任務對現有知識的顯著干擾. 持 續學習,也稱為終身學習,它建立在不斷學習外部 世界的想法之上,神經網絡通過持續學習算法能夠 漸進地學習新知識,并且保留過去學習的內容. 近 年來,如圖 1 所示,持續學習在計算機視覺領域獲 得了蓬勃發展,同時各單位也如火如荼開展著持續 學習的相關比賽[7] . 鑒于持續學習深刻的應用場景 和該領域飛速的發展,本文對持續學習的研究工作 進行綜述,從而幫助讀者掌握持續學習研究的最新 趨勢.
雖然深度強化學習(RL)在機器學習領域取得了多項引人注目的成功,但由于其通常較差的數據效率和所產生的策略的有限通用性,它未能得到更廣泛的采用。緩解這些限制的一個有希望的方法是,在稱為元強化學習的過程中,將更好的強化學習算法的開發本身視為一個機器學習問題。元強化學習最常在問題環境中進行研究,在給定任務分布的情況下,目標是學習一種策略,該策略能夠從盡可能少的數據的任務分布中適應任何新任務。**本文詳細描述了元強化學習問題的設置及其主要變化。**本文討論了如何在高層次上基于任務分布的存在和每個單獨任務的可用學習預算對元強化學習研究進行聚類。使用這些聚類,綜述了元強化學習算法和應用。最后,提出了使元強化學習成為深度強化學習從業者標準工具箱一部分的道路上的開放問題。
//www.zhuanzhi.ai/paper/bbd26798bcb89638b3308c8dfc2a8e20
**1. 引言****元強化學習(Meta-reinforcement learning, meta-RL)是一種學習強化學習的機器學習(machine learning, ML)方法。**也就是說,元強化學習使用樣本效率低的機器學習來學習樣本效率高的強化學習算法或其組件。因此,元強化學習是元學習[225,91,94]的特殊情況,其學習算法是強化學習算法。元強化學習作為一個機器學習問題已經被研究了很長一段時間[197,199,224,198]。有趣的是,研究也顯示大腦中存在meta-RL的類似物[238]。Meta-RL有潛力克服現有人類設計的RL算法的一些限制。雖然在過去幾年中,深度強化學習取得了重大進展,例如掌握圍棋游戲[209]、平流層氣球導航[21]或機器人在挑戰性地形中的運動[148]等成功故事。RL的采樣效率仍然很低,這限制了它的實際應用。元強化學習可以產生比現有強化學習方法更有效的強化學習算法(組件),甚至可以為以前難以解決的問題提供解決方案。與此同時,提高樣本效率的承諾伴隨著兩個成本。首先,元學習需要比標準學習多得多的數據,因為它訓練整個學習算法(通常跨多個任務)。其次,元學習使學習算法適應元訓練數據,這可能會降低其對其他數據的泛化能力。因此,元學習提供的權衡是提高測試時的樣本效率,代價是訓練時的樣本效率和測試時的通用性。示例應用程序考慮使用機器人廚師進行自動化烹飪的任務。當這樣的機器人部署在某人的廚房時,它必須學習一個特定于廚房的策略,因為每個廚房都有不同的布局和設備。由于在訓練早期的隨機行為,直接在一個新的廚房中從頭開始訓練機器人太耗時,并且有潛在的危險。一種選擇是在單個訓練廚房中對機器人進行預訓練,然后在新的廚房中對其進行微調。然而,這種方法沒有考慮到后續的微調過程。相比之下,元強化學習將在訓練廚房的分布上訓練機器人,以便它可以適應該分布中的任何新廚房。這可能需要學習一些參數以實現更好的微調,或者學習將部署在新廚房中的整個強化學習算法。通過這種方式訓練的機器人既可以更好地利用收集的數據,也可以收集更好的數據,例如,通過關注新廚房的不尋常或具有挑戰性的特征。這種元學習過程需要比簡單的微調方法更多的樣本,但它只需要發生一次,當部署在新的測試廚房時,由此產生的適應過程可以顯著提高樣本效率。這個例子說明,通常情況下,當需要頻繁地進行有效的自適應時,元強化學習可能特別有用,因此元訓練的成本相對較小。這包括但不限于安全關鍵的強化學習領域,在這些領域中,有效的數據收集是必要的,探索新行為的成本過高或危險。在許多情況下,大量的樣本投資低效的前期學習(在監督下,在實驗室中,或在模擬中)是值得的,以實現后續改進的適應行為。
本綜述的目的是提供一個元強化學習的入口,以及對該領域和開放研究領域的現狀的反思。在第2節中,我們定義了元強化學習和它可以應用的不同問題設置,以及兩個示例算法。在第3節中,我們考慮了元強化學習中最普遍的問題設置:少樣本元強化學習。本文的目標是學習能夠快速自適應的RL算法,即在少量的情節中學習任務。這些算法通常是在給定的任務分布上進行訓練的,并且元學習如何有效地適應該分布中的任何任務。圖1展示了一個簡單的例子來說明這個設置。在這里,智能體經過元訓練,以學習如何導航到2D平面上不同的(最初未知的)目標位置。在元測試時,該智能體能夠有效地適應目標位置未知的新任務。在第4節中,我們考慮多樣本的設置。這里的目標是學習通用的RL算法,而不是特定于狹窄的任務分布,類似于目前在實踐中使用的算法。有兩種方式:如上所述的對任務分布進行訓練,或者對單個任務進行訓練,但同時進行元學習和標準強化學習訓練。接下來,第5節介紹了元強化學習的一些應用,如機器人。最后,我們在第6節討論開放問題。這些包括對少樣本元強化學習的更廣泛任務分布的泛化,多樣本元強化學習中的優化挑戰,以及元訓練成本的減少。
在過去的十年里,深度學習取得了巨大的成功,但在權值更新和訓練樣本數量方面,實際有用的深度模型的訓練仍然非常低效。為了解決這些問題的一個方面,本文研究了持續學習設置,該模型利用一系列的任務,利用之前的知識來快速學習新任務。持續學習的主要挑戰是,在為新任務更新模型時,避免模型災難性地忘記之前的信息。
//ora.ox.ac.uk/objects/uuid:7a3e5c33-864f-4cfe-8b80-e85cbf651946
為此,本文首先提出了一種持續學習算法,通過正則化兩個連續任務的條件似然之間的kl -散度來保留之前的知識。結果表明,這種正則化對網絡權值施加了二次懲罰,該懲罰基于上一個任務的最小曲率。其次,本文提出了一種更有效的持續學習算法,利用對過去任務的情景記憶作為約束,這樣當對新任務進行權重更新時,情景記憶的損失不會增加。結果表明,使用情景記憶約束目標比正則化網絡參數更有效。此外,為了提高學習新任務的速度,提出了使用組合任務描述符的聯合嵌入模型,大大提高了正向遷移。基于情景記憶的持續學習目標通過直接在損失函數中使用記憶來簡化。盡管它傾向于記憶出現在微小情景記憶中的數據,結果算法顯示出比使用記憶作為約束的算法更好的泛化。分析認為,這種驚人的概化是由于新任務數據帶來的正則化效應。然后利用該算法對合成數據和真實數據進行持續學習。為此,提出了一種方法,通過優化重放緩沖區上的事后遺忘損失,為每個任務生成合成數據點。設計了一個嵌套的持續學習優化目標,有效地利用這些綜合點來減少基于記憶的持續學習方法的遺忘。最后,本文提出了一種持續學習算法,在不重疊的特征子空間中學習不同的任務。通過保持不同任務的子空間相互正交來最小化重疊,可以減少這些任務表示之間的干擾。
在本文中,我們的目標是改進深度強化學習中的泛化。對任何類型的學習來說,泛化都是一項基本挑戰,它決定了如何將已獲得的知識轉移到新的、以前從未見過的情況中。本文專注于強化學習,這是一個描述人工智能體如何學習與環境交互以實現目標的框架。近年來,利用神經網絡表示智能體取得了顯著的成功,并極大地擴展了其可能的應用范圍。本文的目標是通過允許這些智能體更快地學習,學習更好的解決方案,并對以前未見過的情況做出魯棒的反應,從而提高它們的性能。在這個探索中,我們探索了一系列不同的方法和途徑。我們專注于將額外的結構,也稱為歸納偏差,納入主體。專注于特定的,但廣泛適用的問題領域,我們可以開發專門的架構,從而大大提高性能。在第3章中,我們關注的是部分可觀察環境,在這種環境中,智能體每時每刻都不能完全訪問所有與任務相關的信息。在第4章中,我們將注意力轉向多任務和遷移學習,并設計了一種新的訓練方法,允許訓練分層結構的智能體。我們的方法優化了單個解決方案的可重用性,大大提高了傳輸設置中的性能。
//ora.ox.ac.uk/objects/uuid:9fdfadb0-e527-4421-9a22-8466c9fed9c8 在本文的第二部分中,我們將注意力轉向正則化,這是另一種形式的歸納偏差,作為提高深度智能體泛化的方法。在第五章中,我們首先探討了強化學習(RL)中的隨機正則化。雖然這些技術已被證明在監督學習中非常有效,但我們強調并克服了將它們直接應用到在線RL算法中的困難,這是RL中最強大和應用最廣泛的學習類型之一。在第6章中,我們通過探索訓練數據中的瞬態非平穩性如何干擾神經網絡的隨機梯度訓練,并使其偏向較差的解,在更基本的水平上研究了深度rl中的泛化。許多先進的RL算法將這些類型的非平穩性引入到訓練中,甚至在平穩環境中,通過使用持續改進的數據收集策略。我們提出了一個新的框架,以減少經過訓練的策略所經歷的非平穩性,從而允許改進的泛化。
人類一生都在學習。他們從一系列的學習經驗中積累知識,記住基本概念,但不會忘記之前所學的知識。同樣,人工神經網絡也在努力學習。他們通常依賴于經過嚴格預處理的數據來學習特定問題的解決方案,如分類或回歸。特別是,如果接受新的訓練,他們會忘記過去的學習經驗。因此,人工神經網絡通常不能處理現實生活中的情況,比如自主機器人必須在線學習以適應新情況并克服新問題,而不忘記過去的學習經驗。持續學習(CL)是機器學習的一個分支,解決了這類問題。持續算法的設計目的是在不遺忘的學習經驗課程中積累和提高知識。在本論文中,我們提出探索具有重放過程的持續算法。重播過程集中了預演方法和生成重播方法。生成式再現是通過生成式模型來記憶過去的學習經驗。排練包括從過去的學習經驗中保存一組核心樣本,以便以后進行排練。回放過程使優化當前學習目標和過去學習目標之間的折衷成為可能,從而在任務設置序列中實現不遺忘的學習。我們表明它們是非常有前途的持續學習方法。值得注意的是,它們能夠用新的知識重新評價過去的數據,并從不同的學習經驗中對抗數據。我們展示了他們通過無監督學習、監督學習和強化學習任務持續學習的能力。
摘要
與批量學習不同的是,在批量學習中所有的訓練數據都是一次性可用的,而持續學習代表了一組方法,這些方法可以積累知識,并使用序列可用的數據連續學習。與人類的學習過程一樣,不斷學習具有學習、融合和積累不同時間步的新知識的能力,被認為具有很高的現實意義。因此,持續學習在各種人工智能任務中得到了研究。本文綜述了計算機視覺中持續學習的最新進展。特別地,這些作品是根據它們的代表性技術進行分組的,包括正則化、知識蒸餾、記憶、生成重放、參數隔離以及上述技術的組合。針對每一類技術,分別介紹了其特點及其在計算機視覺中的應用。在概述的最后,討論了幾個子領域,在這些子領域中,持續的知識積累可能會有幫助,而持續學習還沒有得到很好的研究。
//www.zhuanzhi.ai/paper/a13ad85605ab12d401a6b2e74bc01d8a
引言
人類的學習是一個漸進的過程。在人類的一生中,人類不斷地接受和學習新知識。新知識在發揮自身積累作用的同時,也對原有知識進行補充和修正。相比之下,傳統的機器學習和深度學習范式通常區分知識訓練和知識推理的過程,模型需要在有限的時間內在預先準備好的數據集上完成訓練,然后使用這些數據集進行推理。隨著相機和手機的廣泛普及,每天都有大量新的圖片和視頻被捕捉和分享。這就產生了新的需求,特別是在計算機視覺領域,模型在推理過程中要連續不斷地學習和更新自己,因為從頭開始訓練模型以適應每天新生成的數據是非常耗時和低效的。
由于神經網絡與人腦的結構不同,神經網絡訓練不易從原來的批量學習模式轉變為新的連續學習模式。特別是存在兩個主要問題。首先,按照序列學習多個類別的數據容易導致災難性遺忘的問題[1,2]。這意味著,在從新類別的數據更新模型參數后,模型在先前學習類別上的性能通常會急劇下降。其次,當按順序從同一類別的新數據中學習時,也會導致概念漂移問題[3,4,5],因為新數據可能會以不可預見的方式改變該類別的數據分布[6]。因此,持續學習的總體任務是解決穩定性-可塑性困境[7,8],這就要求神經網絡在保持學習新知識的能力的同時,防止遺忘之前學習過的知識。
近年來,在計算機視覺的各個子領域中提出了越來越多的持續學習方法,如圖1所示。此外,2020年和2021年還舉辦了若干與計算機視覺中的持續學習有關的比賽[9,10]。因此,本文綜述了計算機視覺中持續學習的最新進展。我們將這一概述的主要貢獻總結如下。(1)系統地綜述了計算機視覺中持續學習的最新進展。(2)介紹了用于不同計算機視覺任務的各種持續學習技術,包括正則化、知識提取、基于記憶、生成重放和參數隔離。(3)討論了計算機視覺中持續學習可能有所幫助但仍未得到充分研究的子領域。
本文的其余部分組織如下。第二節給出了持續學習的定義。第3節介紹了這一領域常用的評估指標。第4節討論了各種類型的持續學習方法及其在計算機視覺中的應用。在第5節中討論了計算機視覺中沒有很好地利用持續學習的子領域。最后,第六部分對全文進行總結。
人工神經網絡在解決特定剛性任務的分類問題時,通過不同訓練階段的廣義學習行為獲取知識。由此產生的網絡類似于一個靜態的知識實體,努力擴展這種知識而不針對最初的任務,從而導致災難性的遺忘。
持續學習將這種范式轉變為可以在不同任務上持續積累知識的網絡,而不需要從頭開始再訓練。我們關注任務增量分類,即任務按順序到達,并由清晰的邊界劃分。我們的主要貢獻包括:
(1) 對持續學習技術的分類和廣泛的概述;
(2) 一個持續學習器穩定性-可塑性權衡的新框架;
(3) 對11種最先進的持續學習方法和4條基準進行綜合實驗比較。
考慮到微型Imagenet和大規模不平衡的非自然主義者以及一系列識別數據集,我們以經驗的方式在三個基準上仔細檢查方法的優缺點。我們研究了模型容量、權重衰減和衰減正則化的影響,以及任務呈現的順序,并從所需內存、計算時間和存儲空間等方面定性比較了各種方法。
//www.zhuanzhi.ai/paper/c90f25024b2c2364ce63299b4dc4677f
引言
近年來,據報道,機器學習模型在個人任務上表現出甚至超過人類水平的表現,如雅達利游戲[1]或物體識別[2]。雖然這些結果令人印象深刻,但它們是在靜態模型無法適應其行為的情況下獲得的。因此,這需要在每次有新數據可用時重新啟動訓練過程。在我們的動態世界中,這種做法對于數據流來說很快就變得難以處理,或者可能由于存儲限制或隱私問題而只能暫時可用。這就需要不斷適應和不斷學習的系統。人類的認知就是這樣一個系統的例證,它具有順序學習概念的傾向。通過觀察例子來重新審視舊的概念可能會發生,但對保存這些知識來說并不是必要的,而且盡管人類可能會逐漸忘記舊的信息,但完全丟失以前的知識很少被證明是[3]。相比之下,人工神經網絡則不能以這種方式學習:在學習新概念時,它們會遭遇對舊概念的災難性遺忘。為了規避這一問題,人工神經網絡的研究主要集中在靜態任務上,通常通過重組數據來確保i.i.d.條件,并通過在多個時期重新訪問訓練數據來大幅提高性能。
持續學習研究從無窮無盡的數據流中學習的問題,其目標是逐步擴展已獲得的知識,并將其用于未來[4]的學習。數據可以來自于變化的輸入域(例如,不同的成像條件),也可以與不同的任務相關聯(例如,細粒度的分類問題)。持續學習也被稱為終身學習[18]0,[18]1,[18]2,[18]3,[18]5,[18]4,順序學習[10],[11],[12]或增量學習[13],[14],[15],[16],[17],[18],[19]。主要的標準是學習過程的順序性質,只有一小部分輸入數據來自一個或幾個任務,一次可用。主要的挑戰是在不發生災難性遺忘的情況下進行學習:當添加新的任務或域時,之前學習的任務或域的性能不會隨著時間的推移而顯著下降。這是神經網絡中一個更普遍的問題[20]的直接結果,即穩定性-可塑性困境,可塑性指的是整合新知識的能力,以及在編碼時保持原有知識的穩定性。這是一個具有挑戰性的問題,不斷學習的進展使得現實世界的應用開始出現[21]、[22]、[23]。
為了集中注意力,我們用兩種方式限制了我們的研究范圍。首先,我們只考慮任務增量設置,其中數據按順序分批到達,一個批對應一個任務,例如要學習的一組新類別。換句話說,我們假設對于一個給定的任務,所有的數據都可以同時用于離線訓練。這使得對所有訓練數據進行多個時期的學習成為可能,反復洗刷以確保i.i.d.的條件。重要的是,無法訪問以前或將來任務的數據。在此設置中優化新任務將導致災難性的遺忘,舊任務的性能將顯著下降,除非采取特殊措施。這些措施在不同情況下的有效性,正是本文所要探討的。此外,任務增量學習將范圍限制為一個多頭配置,每個任務都有一個獨占的輸出層或頭。這與所有任務共享一個頭的更有挑戰性的類增量設置相反。這在學習中引入了額外的干擾,增加了可供選擇的輸出節點的數量。相反,我們假設已知一個給定的樣本屬于哪個任務。
其次,我們只關注分類問題,因為分類可以說是人工神經網絡最既定的任務之一,使用相對簡單、標準和易于理解的網絡體系結構具有良好的性能。第2節對設置進行了更詳細的描述,第7節討論了處理更一般設置的開放問題。
持續學習(CL)是一種特殊的機器學習范式,它的數據分布和學習目標會隨著時間的推移而改變,或者所有的訓練數據和客觀標準都不會立即可用。學習過程的演變是以一系列學習經驗為模型的,其中的目標是能夠在學習過程中一直學習新的技能,而不會忘記之前學過的知識。CL可以看作是一種在線學習,需要進行知識融合,以便從按順序及時呈現的數據流中學習。在學習過程中,不斷學習的目的還在于優化記憶、計算能力和速度。機器學習的一個重要挑戰不是必須找到在現實世界中有效的解決方案,而是找到可以在現實世界中學習的穩定算法。因此,理想的方法是在嵌入的平臺中處理現實世界:自治的代理。持續學習在自主代理或機器人中是有效的,它們將通過時間自主學習外部世界,并逐步發展一套復雜的技能和知識。機器人必須學會通過連續的觀察來適應環境并與之互動。一些最近的方法旨在解決機器人持續學習的問題,但最近關于持續學習的論文只是在模擬或靜態數據集的實驗方法。不幸的是,對這些算法的評估并不能說明它們的解決方案是否有助于在機器人技術的背景下持續學習。這篇論文的目的是回顧持續學習的現有狀態,總結現有的基準和度量標準,并提出一個框架來展示和評估機器人技術和非機器人技術的方法,使這兩個領域之間的轉換更加容易。我們在機器人技術的背景下強調持續學習,以建立各領域之間的聯系并規范方法。
//www.sciencedirect.com/science/article/pii/S07377#sec0001
概要:
機器學習(ML)方法通常從平穩數據分布中隨機采樣的數據流中學習。這通常是有效學習的必要條件。然而,在現實世界中,這種設置相當少見。持續學習(CL)[128]匯集了解決當數據分布隨時間變化時,以及在永無止境的數據流中需要考慮的知識融合的學習問題的工作和方法。因此,CL是處理災難性遺忘[47]的范式[102]。
為了方便起見,我們可以根據經驗將數據流分割成幾個子段,這些子段有時間邊界,我們稱之為任務。然后我們可以觀察在學習一項新任務時所學到或忘記了什么。即使對任務沒有強制約束,任務通常指的是一段特定的時間,其中數據分布可能(但不一定)是平穩的,并且目標函數是常量。就學習目標而言,任務可以是相互獨立的,也可以是相互關聯的,并且取決于設置。
持續學習的一個解決方案是保存所有數據,打亂它,然后回到傳統的機器學習設置。不幸的是,在這種情況下,這并不總是可能的,也不是最佳的。這里有幾個例子,其中持續學習是必要的:
你有一個訓練過的模型,你想用新的數據更新它,但是原來的訓練數據被丟棄了,或者你沒有權利再訪問它。
你想在一系列任務上訓練一個模型,但你不能存儲你的所有數據,或者你沒有計算能力從所有數據中重新訓練模型(例如,在嵌入式平臺中)。
您希望智能代理學習多種策略,但您不知道學習目標何時發生變化,如何變化。
您希望從持續的數據流中學習,這些數據可能會隨著時間而變化,但您不知道如何變化,何時變化。
為了處理這些設置,表示應該通過在線方式學習[87]。隨著數據被丟棄并且生命周期有限,忘記不重要的東西而保留對未來有意義的東西的能力是持續學習的主要目標和重點。
從機器人技術的角度來看,CL是發展機器人技術的機器學習答案[93]。發展機器人技術是一種交叉學科的方法,用于自主設計人工主體的行為和認知能力,直接從兒童自然認知系統中觀察到的發展原則和機制中獲得靈感。
在這種情況下,CL必須包含一個學習累積技能的過程,并能逐步提高所處理任務的復雜性和多樣性。
自主主體在這樣的環境中以開放式的[36]方式學習,但也以持續的方式學習。這種發展方法的關鍵組成部分包括學習自主產生目標和探索環境的能力,開發內在動機[113]和好奇心的計算模型[112]。
我們提出了一個框架來連接持續學習和機器人技術。這個框架也為持續學習提供了機會,以一個有框架的數學公式以清晰和系統的方式呈現方法。
首先,我們介紹了持續學習的背景和歷史。其次,我們的目標是在不斷學習的基礎上理清概念匯。第三,我們將介紹我們的框架作為一種標準的CL方法,以幫助在不同的持續學習領域之間進行轉換,特別是對于機器人技術。第四,我們提供了一組度量標準,它將有助于更好地理解每一類方法的質量和缺點。最后,我們提出了持續學習機器人技術的細節和機會,這使得CL變得如此重要。
對于機器人技術和非機器人技術領域,我們保持了定義、框架、策略和評估的一般性。盡管如此,最后一節,機器人持續學習(第6節)受益于前幾節的內容,以呈現機器人領域持續學習的特殊性。
現代機器學習擅長于從固定的數據集和固定的環境中訓練出強大的模型,常常超過人類的能力。然而,這些模型未能模擬人類的學習過程,而人類的學習過程是有效的、穩健的,并且能夠從非平穩世界的連續經驗中逐步學習。對于這一局限性的見解可以從神經網絡優化的本質中獲得,這意味著持續學習技術可以從根本上提高深度學習,并打開了新的應用領域的大門。持續學習的有前途的方法可以在最細粒度的層次上找到,使用基于梯度的方法,也可以在體系結構層次上找到,使用模塊化和基于內存的方法。我們也認為元學習是一個潛在的重要方向。
人工智能研究在過去的幾個月中取得了巨大的進步,但它主要依賴于固定的數據集和固定的環境。持續學習是一個日益相關的研究領域,它表明人工系統可能像生物系統一樣,從連續不斷的相關數據流中有序地學習。在目前的回顧中,我們將持續學習與神經網絡的學習動力學聯系起來,強調它在穩步提高數據效率方面的潛力。我們進一步考慮了近年來出現的許多受生物學啟發的新方法,重點關注那些利用正規化、模塊化、記憶和元學習的方法,并強調了一些最有前途和最有影響的方向。
世界不是靜止不動的
人工智能成功的一個常見基準是模仿人類學習的能力。我們測量人類識別圖像、玩游戲和駕駛汽車的能力,舉幾個例子,然后開發機器學習模型,如果有足夠的訓練數據,它可以匹配或超過這些能力。這種范式把重點放在最終結果上,而不是學習過程上,并且忽略了人類學習的一個關鍵特征:它對不斷變化的任務和連續的經驗是魯棒的。人類以這種方式學習也許并不奇怪,畢竟,時間是不可逆的,世界是不穩定的(見詞匯表),所以人類的學習已經進化到在動態學習環境中茁壯成長。然而,這種魯棒性與最強大的現代機器學習方法形成了鮮明的對比,后者只有在數據經過仔細的洗牌、平衡和均質后才能表現良好。這些模型不僅表現不佳,而且在某些情況下,它們會完全失敗,或者在早期學習的任務上遭遇快速的性能下降,即所謂的災難性遺忘。
基于生物系統持續學習基礎
對自然世界及其智能物種的研究經常與人工智能研究交叉,包括與持續學習有關的方面[1]。生物學為在復雜環境中成功地持續學習提供了存在證據,也暗示了成功方法的設計原則和權衡。有多種機制使生物系統能夠適應不斷變化的環境,而不固執或遺忘。因此,在本節中,我們將通過類比來介紹四種持續學習模式,并將每種方法的詳細討論留到后面的章節中。此外,可以通過描述它們的規范模型來簡要地描述這些方法,如圖1(關鍵圖)所示。
持續學習的定義
持續學習的問題通常是由順序訓練協議和解決方案所期望的特性來定義的。與靜態數據集或環境的普通機器學習設置相反,持續學習設置明確地關注非平穩或變化的環境,通常被劃分為需要按順序完成的一組任務。這種設置可能在任務轉換(平滑或離散)、任務長度和重復、任務類型(如無監督、監督或強化學習)方面有所不同,或者甚至可能沒有定義明確的任務[9-11]。與課程學習相比[12,13],學習者不能控制任務的順序。
支持現代機器學習的獨立同分布假設
神經網絡大量利用現代技術來并行計算,同時考慮大量數據;事實上,這種易于伸縮的特性使得它們在過去的十年中成為了語音、視覺和語言應用程序的主流方法。 在典型的學習設置中,目標是通過設置網絡的參數來最小化一些損失函數,例如真輸出和預測輸出之間的誤差。基于梯度的學習,最有效的和廣泛使用的范式,是一種迭代算法,在每一次迭代,使一個小變化的參數,以減少損失(更詳細的解釋,見盒2)。這條規則的機制在拔河的動態結果,其中每個數據樣本正試圖拉動每個參數更大或更小。通過平均梯度,我們因此創建了一個拔河游戲,其中應用于每個參數的更新(因為它是正的或負的)揭示了哪個數據樣本贏了或輸了。在許多優化步驟上組合許多拔河式更新,可以進行學習(圖3)。
基于梯度的解決方案
由前面描述的拔河式學習動態驅動,一種有前途的方法是直接調節不同任務的梯度。這不僅是優化問題的核心,而且是由生物大腦[3]中突觸鞏固的研究激發的。一種方法是迫使梯度與之前學習任務的梯度保持一致[19,20],消除潛在干擾。這些方法在其他環境中也有好處,例如,在多任務學習中,它們有可能在目標沖突的情況下提高學習效率[21-23]。
模塊化架構
模塊化的神經網絡結構是一種自然有效的解決持續學習中的干擾和災難性遺忘問題的方法。模塊化提供了一個折衷方案,即使用一個容易遺忘的單一單片網絡,以及為每個任務使用獨立的網絡,這既可以防止災難性遺忘,也可以防止任務之間的轉移(參見圖1C的模塊化架構說明)。模塊化在生物系統中也很明顯,它支持大腦區域的功能專門化。
人工學習系統的記憶
基于梯度和模塊化的方法可能更適合短期的持續學習,而不是長期的記憶。基于梯度的方法不能防止任意長任務序列的遺忘,而模塊化方法可以在長時間尺度上保存知識,它們可能在神經網絡能力方面達到實際的極限。考慮一下這樣一個具有挑戰性的場景:在幾個月的時間里,把食物藏在1000個不同的地方,然后在更多的食物消失后,正確地找到每一個食物。這個特征是每個冬天都會出現的,比如夜鶯、松鴉和鴉類[57]。通過調整一個簡單的神經網絡的參數來保存存儲食物的順序經驗既具有挑戰性又效率低下。一個更可伸縮的策略是使用專用的讀寫內存對空間位置進行編碼。
元學習:發現持續學習的歸納偏差
到目前為止所討論的所有解決方案都規定了用于持續學習的手工設計的機制或架構,歸納偏差。每種歸納偏差都在需求(如良好的知識保留與基于記憶的方法中的正向遷移)之間達成了不同的權衡。值得考慮的是,從數據中學習解決方案,而不是依靠人類的獨創性來設計它,是否能夠實現更好的權衡。歷史上,許多元學習或學習-學習方法已經證明,解決方案可以通過自動學習歸納偏差(如架構、數據和學習參數)來改進,否則需要手工設計(圖1E) 。
結論和未來方向
機器學習研究人員經常指出,人類具有快速學習和概括(例如,從幾個例子中推斷出一個模式)的非凡能力。然而,我們并不經常重新評價人類在一生的教育和經歷中不斷學習的能力,盡管正是這種能力使人類在科學、藝術和工業上取得成就。這篇文章不僅試圖強調持續學習的重要性,而且還暴露了現代神經網絡在這方面的局限性,特別是導致效率低下、基于梯度的拔河的信用分配問題。
通過對這一空間的調查,我們發現了一種學習模式,如果擴展到更有雄心的領域,它就有可能發揮真正的影響力。毫不奇怪,這些范式都有很強的平行神經科學和生物系統。基于梯度的方法直接修改了神經網絡的操作時間,并被證明可以減少災難性遺忘。
模塊化架構為干擾和災難性遺忘提供了實用的解決方案,同時通過技能和知識的層次重組實現面向遷移。端到端記憶模型可以成為長時間學習的可擴展解決方案,元學習方法可以超越手工設計的算法和架構。有了這些潛在的積極影響,也必須認識到部署不斷變化的機器學習模型所涉及的風險,因為任何安全和預期行為的初始評估都不能輕易地永久保證。然而,通過提高學習算法的長期可靠性,以及通過開發確保某些規則或邊界不被違反的架構,持續學習解決方案可以降低這些風險。
當前的深度學習研究以基準評價為主。如果一種方法在專門的測試集上有良好的經驗表現,那么它就被認為是有利的。這種心態無縫地反映在持續學習的重現領域,在這里研究的是持續到達的基準數據集。核心挑戰是如何保護之前獲得的表示,以免由于迭代參數更新而出現災難性地遺忘的情況。然而,各個方法的比較是與現實應用程序隔離的,通常通過監視累積的測試集性能來判斷。封閉世界的假設仍然占主導地位。假設在部署過程中,一個模型保證會遇到來自與用于訓練的相同分布的數據。這帶來了一個巨大的挑戰,因為眾所周知,神經網絡會對未知的實例提供過于自信的錯誤預測,并在數據損壞的情況下崩潰。在這個工作我們認為值得注意的教訓來自開放數據集識別,識別的統計偏差以外的數據觀測數據集,和相鄰的主動學習領域,數據增量查詢等預期的性能收益最大化,這些常常在深度學習的時代被忽略。基于這些遺忘的教訓,我們提出了一個統一的觀點,以搭建持續學習,主動學習和開放集識別在深度神經網絡的橋梁。我們的結果表明,這不僅有利于每個個體范式,而且突出了在一個共同框架中的自然協同作用。我們從經驗上證明了在減輕災難性遺忘、主動學習中查詢數據、選擇任務順序等方面的改進,同時在以前提出的方法失敗的地方展示了強大的開放世界應用。
//www.zhuanzhi.ai/paper/e5bee7a1e93a93ef97e1c
概述:
隨著實用機器學習系統的不斷成熟,社區發現了對持續學習[1]、[2]的興趣。與廣泛練習的孤立學習不同,在孤立學習中,系統的算法訓練階段被限制在一個基于先前收集的i.i.d數據集的單一階段,持續學習需要利用隨著時間的推移而到來的數據的學習過程。盡管這種范式已經在許多機器學習系統中找到了各種應用,回顧一下最近關于終身機器學習[3]的書,深度學習的出現似乎已經將當前研究的焦點轉向了一種稱為“災難性推理”或“災難性遺忘”的現象[4],[5],正如最近的評論[6],[7],[8],[9]和對深度持續學習[8],[10],[11]的實證調查所表明的那樣。后者是機器學習模型的一個特殊效應,機器學習模型貪婪地根據給定的數據群更新參數,比如神經網絡迭代地更新其權值,使用隨機梯度估計。當包括導致數據分布發生任何變化的不斷到達的數據時,學習到的表示集被單向引導,以接近系統當前公開的數據實例上的任何任務的解決方案。自然的結果是取代以前學到的表征,導致突然忘記以前獲得的信息。
盡管目前的研究主要集中在通過專門機制的設計來緩解持續深度學習中的這種遺忘,但我們認為,一種非常不同形式的災難性遺忘的風險正在增長,即忘記從過去的文獻中吸取教訓的危險。盡管在連續的訓練中保留神經網絡表示的努力值得稱贊,但除了只捕獲災難性遺忘[12]的度量之外,我們還高度關注了實際的需求和權衡,例如包括內存占用、計算成本、數據存儲成本、任務序列長度和訓練迭代次數等。如果在部署[14]、[15]、[16]期間遇到看不見的未知數據或小故障,那么大多數當前系統會立即崩潰,這幾乎可以被視為誤導。封閉世界的假設似乎無所不在,即認為模型始終只會遇到與訓練過程中遇到的數據分布相同的數據,這在真實的開放世界中是非常不現實的,因為在開放世界中,數據可以根據不同的程度變化,而這些變化是不現實的,無法捕獲到訓練集中,或者用戶能夠幾乎任意地向系統輸入預測信息。盡管當神經網絡遇到不可見的、未知的數據實例時,不可避免地會產生完全沒有意義的預測,這是眾所周知的事實,已經被暴露了幾十年了,但是當前的努力是為了通過不斷學習來規避這一挑戰。選擇例外嘗試解決識別不可見的和未知的示例、拒絕荒謬的預測或將它們放在一邊供以后使用的任務,通常總結在開放集識別的傘下。然而,大多數現有的深度連續學習系統仍然是黑盒,不幸的是,對于未知數據的錯誤預測、數據集的異常值或常見的圖像損壞[16],這些系統并沒有表現出理想的魯棒性。
除了目前的基準測試實踐仍然局限于封閉的世界之外,另一個不幸的趨勢是對創建的持續學習數據集的本質缺乏理解。持續生成模型(如[17]的作者的工作,[18],[19],[20],[21],[22]),以及類增量持續學習的大部分工作(如[12]中給出的工作,[23],[24],[25],[26],[27],[28])一般調查sequentialized版本的經過時間考驗的視覺分類基準如MNIST [29], CIFAR[30]或ImageNet[31],單獨的類只是分成分離集和序列所示。為了在基準中保持可比性,關于任務排序的影響或任務之間重疊的影響的問題通常會被忽略。值得注意的是,從鄰近領域的主動機器學習(半監督學習的一種特殊形式)中吸取的經驗教訓,似乎并沒有整合到現代的連續學習實踐中。在主動學習中,目標是學會在讓系統自己查詢接下來要包含哪些數據的挑戰下,逐步地找到與任務解決方案最接近的方法。因此,它可以被視為緩解災難性遺忘的對抗劑。當前的持續學習忙于維護在每個步驟中獲得的信息,而不是無休止地積累所有的數據,而主動學習則關注于識別合適的數據以納入增量訓練系統的補充問題。盡管在主動學習方面的早期開創性工作已經迅速識別出了通過使用啟發式[32]、[33]、[34]所面臨的強大應用的挑戰和陷阱,但后者在深度學習[35]、[36]、[37]、[38]的時代再次占據主導地位,這些挑戰將再次面臨。
在這項工作中,我們第一次努力建立一個原則性和鞏固的深度持續學習、主動學習和在開放的世界中學習的觀點。我們首先單獨回顧每一個主題,然后繼續找出在現代深度學習中似乎較少受到關注的以前學到的教訓。我們將繼續爭論,這些看似獨立的主題不僅從另一個角度受益,而且應該結合起來看待。在這個意義上,我們建議將當前的持續學習實踐擴展到一個更廣泛的視角,將持續學習作為一個總括性術語,自然地包含并建立在先前的主動學習和開放集識別工作之上。本文的主要目的并不是引入新的技術或提倡一種特定的方法作為通用的解決方案,而是對最近提出的神經網絡[39]和[40]中基于變分貝葉斯推理的方法進行了改進和擴展,以說明一種走向全面框架的可能選擇。重要的是,它作為論證的基礎,努力闡明生成建模作為深度學習系統關鍵組成部分的必要性。我們強調了在這篇論文中發展的觀點的重要性,通過實證證明,概述了未來研究的含義和有前景的方向。