人工神經網絡在解決特定剛性任務的分類問題時,通過不同訓練階段的廣義學習行為獲取知識。由此產生的網絡類似于一個靜態的知識實體,努力擴展這種知識而不針對最初的任務,從而導致災難性的遺忘。
持續學習將這種范式轉變為可以在不同任務上持續積累知識的網絡,而不需要從頭開始再訓練。我們關注任務增量分類,即任務按順序到達,并由清晰的邊界劃分。我們的主要貢獻包括:
(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節討論了處理更一般設置的開放問題。
很長一段時間以來,計算機架構和系統被優化,以使機器學習(ML)算法或模型的有效執行。現在,是時候重新考慮ML和系統之間的關系,并讓ML改變計算機架構和系統的設計方式。這包含著雙重意義:提高設計師的工作效率,完成良性循環。在本文中,我們對將ML應用于系統設計的工作進行了全面的回顧,這些工作可以分為兩大類: 基于ML的建模,它涉及到性能指標的預測或其他一些感興趣的標準,以及直接利用ML作為設計工具的基于ML的設計方法。對于基于ML的建模,我們討論現有的研究基于它們的系統目標級別,從電路級別到架構/系統級別。對于基于ML的設計方法,我們遵循自底向上的路徑來回顧當前的工作,包括(微)體系結構設計(內存、分支預測、NoC)、體系結構/系統和工作負載(資源分配和管理、數據中心管理和安全)之間的協調、編譯器和設計自動化。我們進一步提供了未來的機遇和潛在的方向,并展望了將ML應用于計算機體系結構和系統將在社區中蓬勃發展。
//www.zhuanzhi.ai/paper/73124e0addcfed8cc8f738faf5f8c398
機器學習(ML)已經在許多領域創造了奇跡,包括計算機視覺[81,207,213],語音識別[76,83],自然語言處理[38,146,210],藥物發現[148,198],機器人[77,86,140],玩電子游戲[15,167,226],以及許多其他領域[103,128,195,206]。在某些情況下,ML能夠達到或超過人類的性能。例如,在大規模ImageNet數據集上,ResNet[81]比human獲得了更好的top-5錯誤率;AlphaGo Zero可以打敗人類專業圍棋選手[206];從單人游戲(如Atari[167])到多人游戲(如《星際爭霸2》[226]和《Dota 2[15]》),訓練人工代理玩電子游戲也取得了重大進展。
目前的ML模型大多是深度神經網絡(DNNs)及其變體(如多層感知器、卷積神經網絡、遞歸神經網絡),對內存和計算資源的要求都很高。隨著人們尋求更好的人工智能,有一種趨勢是更大、更有表現力和更復雜的模型。隨著摩爾定律帶來的收益遞減,這一趨勢促使計算機體系結構/系統的進步,以更快、更節能的方式實現ML模型。針對ML工作負載,在不同層次的系統和體系結構設計上進行了改進。在算法層面,對ML模型進行剪枝、量化和壓縮[79,92],以消除計算復雜度,提高硬件效率;在硬件層面,在內存中處理(PIM)的復興和near-data處理(NDP)(73, 179),也出現專門的架構和加速器,從那些專門為卷積神經網絡(CNN)優化(例如ShiDianNao [57], Eyeriss[31]和基本[178])那些為通用款設計加速度(例如DaDianNao [30], TPU[108],和DNPU [204]);在器件層面,將新興的非易失性存儲器技術應用于體系結構設計中,如電阻式隨機存取存儲器(ReRAM)[234]、相變存儲器(PCM)[25]、自旋傳遞轉矩磁性隨機存取存儲器(STT-MRAM)[85],將計算和內存結合在一起,提供了另一種有前景的選擇(如PRIME[35]、ISAAC[200]和Resparc[7])。
在日益復雜的工作負載及其不同的性能、精度和功率目標的驅動下,設計體系結構/系統是一件不簡單而費力的事情。通常,這些設計是由人類專家基于直覺和啟發式做出的,這需要ML和體系結構/系統方面的專業知識,在這種情況下,特別是在更復雜的系統中,無法保證良好的可伸縮性和最佳結果。因此,對于體系結構和系統設計來說,朝著更加自動化和強大的方法發展似乎是很自然的,ML和系統設計之間的關系也正在被重新考慮。通常,架構和系統優化是為了加速ML模型的執行和提高性能,不可否認的是,ML的革命在一定程度上依賴于處理能力的提高,如更好地利用并行性、數據重用和稀疏性等。近年來,有跡象表明將ML應用于增強系統設計,具有很大的發展潛力。將ML應用于系統設計有兩個意義: 1減輕人類專家手工設計系統的負擔,提高設計者的工作效率; 2閉合正反饋回路,即:,架構/系統為ML,同時ML為架構/系統,形成一個良性循環,鼓勵雙方的改進。
一般來說,將ML應用于系統設計的現有工作分為兩類。1 ML技術用于系統建模,它涉及性能指標或一些感興趣的標準(例如功耗、延遲、吞吐量等)。在系統設計過程中,需要對系統行為進行快速、準確的預測。傳統上,系統建模是通過周期精確或功能虛擬平臺和指令集模擬器(ISSs)的形式來實現的(例如gem5 [18], Simics[150])。盡管這些方法可以提供準確的評估,但它們也帶來了與性能建模相關的昂貴的計算成本,限制了對大規模和復雜系統的可伸縮性; 同時,長時間的模擬限制了設計師的才能,因為只能探索整個設計空間的一小部分。采用ML技術作為設計方法,直接加強架構/系統設計。ML擅長提取特性,在沒有顯式編程的情況下做出決策,并根據經驗自動改進自身。因此,將ML技術作為設計工具,可以更主動、更智能地探索設計空間,通過更好地理解資源的復雜、非線性交互等來管理資源,從而提供真正的最優解決方案。
在本文中,我們概述了將ML應用于計算機體系結構/系統,并總結了ML技術可以解決哪些系統問題以及ML技術如何解決這些問題,如圖4所示。本文還討論了ML在系統設計中的應用所面臨的挑戰和前景。本文組織如下。第2節簡要介紹了常用的ML技術;第3節回顧了使用ML技術進行系統建模的研究,從電路級到架構/系統級;第4節介紹了利用ML技術作為設計工具直接增強體系結構/系統設計的研究,包括(微)體系結構設計(內存、分支預測、NoC)、體系結構/系統和工作負載(資源分配和管理、數據中心管理和安全)之間的協調、編譯器和設計自動化;第5節討論了將ML應用于系統設計的挑戰和未來前景,以傳達設計考慮的見解;第六部分是本文的總結。
近年來,從社交媒體平臺、醫學圖像和機器人等各個領域產生和分享了大量的視覺內容。大量的內容創造和分享帶來了新的挑戰。特別是,對相似內容的數據庫進行搜索,即基于內容的圖像檢索(CBIR),是一個長期存在的研究領域,需要更有效和準確的方法來實現實時檢索。人工智能在CBIR方面取得了很大進展,極大地促進了智能搜索的進程。在本綜述論文中,我們組織和回顧了基于深度學習算法和技術的CBIR研究,包括來自近期論文的見解和技術。我們識別并呈現了該領域常用的數據庫、基準和評估方法。我們收集共同的挑戰,并提出有希望的未來方向。更具體地說,我們關注深度學習的圖像檢索,并根據深度網絡結構的類型、深度特征、特征增強方法和網絡微調策略來組織目前最先進的方法。我們的綜述論文查考慮了各種各樣的最新方法,旨在促進基于類別的信息檢索領域的全部視角。
//www.zhuanzhi.ai/paper/01b0e04eb5d1eeb53be30aa761b7cd12
基于內容的圖像檢索(CBIR)是通過分析大型圖庫中的可視內容來搜索語義匹配或相似圖像的問題,給定描述用戶需求的查詢圖像,如圖1(a)所示。CBIR是計算機視覺和多媒體領域長期存在的研究課題[1,2]。隨著當前圖像和視頻數據的指數級增長,迫切需要開發一種合適的信息系統來有效地管理這樣的大型圖像集合,圖像搜索是與可視化集合交互的最不可或缺的技術之一。因此,CBIR的應用潛力幾乎是無限的,如人員再識別[3]、遙感[4]、醫學圖像搜索[5]、在線市場購物推薦[6]等。
CBIR可以大致分為實例級檢索和類別級檢索,如圖1(b)所示。在實例級圖像檢索中,給定一個特定對象或場景(如埃菲爾鐵塔)的查詢圖像,目標是找到包含相同對象或場景的圖像,這些圖像可能在不同的視點、光照條件或受遮擋情況下捕獲[7,8]。相反,對于類別級別的圖像檢索,目標是找到與查詢相同類的圖像(例如,狗、汽車等)。實例級檢索更有挑戰性,也更有前景,因為它滿足許多應用程序的特定目標。請注意,我們將本文的重點限制在實例級的圖像檢索上,如果沒有進一步指定,則認為“圖像檢索”和“實例檢索”是等價的,可以互換使用。
要找到想要的圖像,可能需要在數千張、數百萬張甚至數十億張圖像中搜索。因此,高效搜索與準確搜索同等重要,并為此不斷付出努力[7,8,9,10,11]。為了實現對海量圖像的準確高效檢索,緊湊而豐富的特征表示是CBIR的核心。
近二十年來,圖像特征表示取得了顯著進展,主要包括兩個重要階段: 特征工程和特征學習(特別是深度學習)。在特征工程時代(即前深度學習時代),該領域被具有里程碑意義的手工工程特征描述符所主導,如尺度不變特征變換(SIFT)[19]。特征學習階段,即自2012年開始的深度學習時代,從人工神經網絡開始,特別是ImageNet和深度卷積神經網絡(DCNN) AlexNet[20]的突破。從那以后,深度學習技術影響了廣泛的研究領域,因為DCNNs可以直接從數據中學習具有多層抽象的強大特征表示,繞過了傳統特征工程中的多個步驟。深度學習技術引起了人們的極大關注,并在許多計算機視覺任務中取得了長足的突破,包括圖像分類[20,21,22]、目標檢測[23]、語義分割[24]、圖像檢索[10,13,14]。
[1, 2, 8]對傳統圖像檢索方法進行了優秀的研究。相比之下,本文側重于基于深度學習的方法,我們的工作與其他發表的綜述[8,14,15,16]比較如表1所示。圖像檢索的深度學習包含了如圖2所示的關鍵階段,為了提高檢索的準確性和效率,已經提出了針對一個或多個階段的多種方法。在本綜述中,我們對這些方法進行了全面的詳細介紹,包括深度網絡的結構、特征融合、特征增強方法和網絡微調策略,動機是以下問題一直在推動這一領域的研究:
1)通過只使用現成的模型,深度特征如何勝過手工制作特征?
2)在跨訓練數據集的領域遷移的情況下,我們如何適應現成的模型來維持甚至提高檢索性能?
3)由于深度特征通常是高維的,我們如何有效地利用它們進行高效的圖像檢索,特別是針對大規模數據集?
在基于AlexNet[20]的圖像檢索實現非常成功之后,對檢索任務的DCNNs進行了重要的探索,大致沿循了上述三個問題。也就是說,DCNN方法被分為(1)現成的模型和(2)經過微調的模型,如圖3所示,并并行處理(3)有效的特征。DCNN是現成的還是微調的,取決于DCNN的參數是[25]更新還是基于參數固定的DCNN[25,26,27]。對于特征圖,研究人員提出了R-MAC[28]、CroW[10]、SPoC[7]等編碼和聚合方法。
最近在改進圖像檢索方面的進展可以分為網絡級和特征級兩類,圖4給出了詳細的分類。這項綜述大致包括以下四個范疇:
(1) 網絡架構的改進 (第2節)
利用堆疊線性濾波器(如卷積)和非線性激活函數(ReLU等),不同深度的深度網絡獲得不同層次的特征。層次越深的網絡能夠提供更強大的學習能力,從而提取高層次的抽象和語義感知特征[21,46]。并行地連接多尺度特性是可能的,例如GoogLeNet [47]中的Inception模塊,我們將其稱為“擴展”。
(2) 深度特征提取(3.1節)
FC層和卷積層的神經元具有不同的接受域,這提供了三種提取特征的方法:卷積層的局部特征[7,59],FC層的全局特征[32,60],以及兩種特征的融合[61,62],融合方案包括層級和模型級方法。深度特征可以從整幅圖像中提取,也可以從圖像小塊中提取,分別對應于單通道和多通道的前饋方案。
(3) 深度特征增強
通過特征增強來提高深度特征的判別能力。直接使用深度網絡[17]同時訓練聚合特征;另外,特征嵌入方法包括BoW[63]、VLAD[64]和FV[65]將局部特征嵌入到全局特征中。這些方法分別使用深度網絡(基于codebook)或聯合(無codebook)進行訓練。另外,采用哈希方法[18]將實值特征編碼為二進制碼,提高檢索效率。特征增強策略會顯著影響圖像檢索的效率。
(4) 學習表示的網絡微調(第4節)
在源數據集上預先訓練的用于圖像分類的深度網絡被轉移到新的數據集上進行檢索任務。然而,檢索性能受到數據集之間的域轉移的影響。因此,有必要對深度網絡進行微調到特定的領域[34,56,66],這可以通過有監督的微調方法來實現。然而,在大多數情況下,圖像標記或標注是耗時和困難的,因此有必要開發無監督的方法進行網絡微調。
本文綜述了近年來用于圖像檢索的深度學習方法的研究進展,并根據深度網絡的參數更新,將其分為現成的深度圖像檢索模型和微調模型。
持續學習(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節)受益于前幾節的內容,以呈現機器人領域持續學習的特殊性。
人類具有從經驗中不斷學習的非凡能力。我們不僅可以把以前學過的知識和技能應用到新的情況中,我們還可以把這些作為以后學習的基礎。人工智能(AI)的宏偉目標之一是構建一種人工的“持續學習”代理,通過對越來越復雜的知識和技能的自主增量開發,從自身經驗構建對世界的復雜理解。然而,盡管有早期的推測和開創性的工作,很少有研究和努力致力于解決這一愿景。當前的人工智能系統在面對新數據或環境下時會受到很大的影響,這些數據或環境甚至與它們所接受的訓練稍有不同。此外,學習過程通常局限于狹窄、孤立的任務中的固定數據集,這很難導致更復雜、更自主的智能行為的出現。從本質上說,持續學習和適應能力,雖然通常被認為是每一個智能主體的基本支柱,但基本上被排除在人工智能的主要研究焦點之外。在這篇論文中,我們根據機器學習研究的最新進展和人工智能的深層架構來研究這些思想的應用。我們提出了一個全面和統一的框架,以持續學習,新的指標,基準和算法,以及提供大量的實驗評估在不同的監督,非監督和強化學習任務。
現代機器學習擅長于從固定的數據集和固定的環境中訓練出強大的模型,常常超過人類的能力。然而,這些模型未能模擬人類的學習過程,而人類的學習過程是有效的、穩健的,并且能夠從非平穩世界的連續經驗中逐步學習。對于這一局限性的見解可以從神經網絡優化的本質中獲得,這意味著持續學習技術可以從根本上提高深度學習,并打開了新的應用領域的大門。持續學習的有前途的方法可以在最細粒度的層次上找到,使用基于梯度的方法,也可以在體系結構層次上找到,使用模塊化和基于內存的方法。我們也認為元學習是一個潛在的重要方向。
人工智能研究在過去的幾個月中取得了巨大的進步,但它主要依賴于固定的數據集和固定的環境。持續學習是一個日益相關的研究領域,它表明人工系統可能像生物系統一樣,從連續不斷的相關數據流中有序地學習。在目前的回顧中,我們將持續學習與神經網絡的學習動力學聯系起來,強調它在穩步提高數據效率方面的潛力。我們進一步考慮了近年來出現的許多受生物學啟發的新方法,重點關注那些利用正規化、模塊化、記憶和元學習的方法,并強調了一些最有前途和最有影響的方向。
世界不是靜止不動的
人工智能成功的一個常見基準是模仿人類學習的能力。我們測量人類識別圖像、玩游戲和駕駛汽車的能力,舉幾個例子,然后開發機器學習模型,如果有足夠的訓練數據,它可以匹配或超過這些能力。這種范式把重點放在最終結果上,而不是學習過程上,并且忽略了人類學習的一個關鍵特征:它對不斷變化的任務和連續的經驗是魯棒的。人類以這種方式學習也許并不奇怪,畢竟,時間是不可逆的,世界是不穩定的(見詞匯表),所以人類的學習已經進化到在動態學習環境中茁壯成長。然而,這種魯棒性與最強大的現代機器學習方法形成了鮮明的對比,后者只有在數據經過仔細的洗牌、平衡和均質后才能表現良好。這些模型不僅表現不佳,而且在某些情況下,它們會完全失敗,或者在早期學習的任務上遭遇快速的性能下降,即所謂的災難性遺忘。
基于生物系統持續學習基礎
對自然世界及其智能物種的研究經常與人工智能研究交叉,包括與持續學習有關的方面[1]。生物學為在復雜環境中成功地持續學習提供了存在證據,也暗示了成功方法的設計原則和權衡。有多種機制使生物系統能夠適應不斷變化的環境,而不固執或遺忘。因此,在本節中,我們將通過類比來介紹四種持續學習模式,并將每種方法的詳細討論留到后面的章節中。此外,可以通過描述它們的規范模型來簡要地描述這些方法,如圖1(關鍵圖)所示。
持續學習的定義
持續學習的問題通常是由順序訓練協議和解決方案所期望的特性來定義的。與靜態數據集或環境的普通機器學習設置相反,持續學習設置明確地關注非平穩或變化的環境,通常被劃分為需要按順序完成的一組任務。這種設置可能在任務轉換(平滑或離散)、任務長度和重復、任務類型(如無監督、監督或強化學習)方面有所不同,或者甚至可能沒有定義明確的任務[9-11]。與課程學習相比[12,13],學習者不能控制任務的順序。
支持現代機器學習的獨立同分布假設
神經網絡大量利用現代技術來并行計算,同時考慮大量數據;事實上,這種易于伸縮的特性使得它們在過去的十年中成為了語音、視覺和語言應用程序的主流方法。 在典型的學習設置中,目標是通過設置網絡的參數來最小化一些損失函數,例如真輸出和預測輸出之間的誤差。基于梯度的學習,最有效的和廣泛使用的范式,是一種迭代算法,在每一次迭代,使一個小變化的參數,以減少損失(更詳細的解釋,見盒2)。這條規則的機制在拔河的動態結果,其中每個數據樣本正試圖拉動每個參數更大或更小。通過平均梯度,我們因此創建了一個拔河游戲,其中應用于每個參數的更新(因為它是正的或負的)揭示了哪個數據樣本贏了或輸了。在許多優化步驟上組合許多拔河式更新,可以進行學習(圖3)。
基于梯度的解決方案
由前面描述的拔河式學習動態驅動,一種有前途的方法是直接調節不同任務的梯度。這不僅是優化問題的核心,而且是由生物大腦[3]中突觸鞏固的研究激發的。一種方法是迫使梯度與之前學習任務的梯度保持一致[19,20],消除潛在干擾。這些方法在其他環境中也有好處,例如,在多任務學習中,它們有可能在目標沖突的情況下提高學習效率[21-23]。
模塊化架構
模塊化的神經網絡結構是一種自然有效的解決持續學習中的干擾和災難性遺忘問題的方法。模塊化提供了一個折衷方案,即使用一個容易遺忘的單一單片網絡,以及為每個任務使用獨立的網絡,這既可以防止災難性遺忘,也可以防止任務之間的轉移(參見圖1C的模塊化架構說明)。模塊化在生物系統中也很明顯,它支持大腦區域的功能專門化。
人工學習系統的記憶
基于梯度和模塊化的方法可能更適合短期的持續學習,而不是長期的記憶。基于梯度的方法不能防止任意長任務序列的遺忘,而模塊化方法可以在長時間尺度上保存知識,它們可能在神經網絡能力方面達到實際的極限。考慮一下這樣一個具有挑戰性的場景:在幾個月的時間里,把食物藏在1000個不同的地方,然后在更多的食物消失后,正確地找到每一個食物。這個特征是每個冬天都會出現的,比如夜鶯、松鴉和鴉類[57]。通過調整一個簡單的神經網絡的參數來保存存儲食物的順序經驗既具有挑戰性又效率低下。一個更可伸縮的策略是使用專用的讀寫內存對空間位置進行編碼。
元學習:發現持續學習的歸納偏差
到目前為止所討論的所有解決方案都規定了用于持續學習的手工設計的機制或架構,歸納偏差。每種歸納偏差都在需求(如良好的知識保留與基于記憶的方法中的正向遷移)之間達成了不同的權衡。值得考慮的是,從數據中學習解決方案,而不是依靠人類的獨創性來設計它,是否能夠實現更好的權衡。歷史上,許多元學習或學習-學習方法已經證明,解決方案可以通過自動學習歸納偏差(如架構、數據和學習參數)來改進,否則需要手工設計(圖1E) 。
結論和未來方向
機器學習研究人員經常指出,人類具有快速學習和概括(例如,從幾個例子中推斷出一個模式)的非凡能力。然而,我們并不經常重新評價人類在一生的教育和經歷中不斷學習的能力,盡管正是這種能力使人類在科學、藝術和工業上取得成就。這篇文章不僅試圖強調持續學習的重要性,而且還暴露了現代神經網絡在這方面的局限性,特別是導致效率低下、基于梯度的拔河的信用分配問題。
通過對這一空間的調查,我們發現了一種學習模式,如果擴展到更有雄心的領域,它就有可能發揮真正的影響力。毫不奇怪,這些范式都有很強的平行神經科學和生物系統。基于梯度的方法直接修改了神經網絡的操作時間,并被證明可以減少災難性遺忘。
模塊化架構為干擾和災難性遺忘提供了實用的解決方案,同時通過技能和知識的層次重組實現面向遷移。端到端記憶模型可以成為長時間學習的可擴展解決方案,元學習方法可以超越手工設計的算法和架構。有了這些潛在的積極影響,也必須認識到部署不斷變化的機器學習模型所涉及的風險,因為任何安全和預期行為的初始評估都不能輕易地永久保證。然而,通過提高學習算法的長期可靠性,以及通過開發確保某些規則或邊界不被違反的架構,持續學習解決方案可以降低這些風險。
當前自然語言處理的發展為低資源語言和領域提供了挑戰和機遇。眾所周知,深度神經網絡需要大量的訓練數據,而這些數據在資源貧乏的情況下可能無法得到。然而,也有越來越多的工作來提高低資源環境下的性能。基于對神經模型的基本改變和目前流行的預訓練和微調范式,我們概述了低資源自然語言處理的有前途的方法。在討論了低資源場景的定義和數據可用性的不同維度之后,我們接著研究了在訓練數據稀少時支持學習的方法。這包括創建附加標簽數據的機制,如數據增強和遠程監督,以及轉移學習設置,以減少對目標監督的需要。調查結束時,簡要地看了一下在非NLP機器學習社區中建議的方法,這些方法在資源少的情況下可能對NLP有益。
近年來,圖神經網絡(GNNs)由于具有建模和從圖結構數據中學習的能力,在機器學習領域得到了迅猛發展。這種能力在數據具有內在關聯的各種領域具有很強的影響,而傳統的神經網絡在這些領域的表現并不好。事實上,正如最近的評論可以證明的那樣,GNN領域的研究已經迅速增長,并導致了各種GNN算法變體的發展,以及在化學、神經學、電子或通信網絡等領域的突破性應用的探索。然而,在目前的研究階段,GNN的有效處理仍然是一個開放的挑戰。除了它們的新穎性之外,由于它們依賴于輸入圖,它們的密集和稀疏操作的組合,或者在某些應用中需要伸縮到巨大的圖,GNN很難計算。在此背景下,本文旨在做出兩大貢獻。一方面,從計算的角度對GNNs領域進行了綜述。這包括一個關于GNN基本原理的簡短教程,在過去十年中該領域發展的概述,以及在不同GNN算法變體的多個階段中執行的操作的總結。另一方面,對現有的軟硬件加速方案進行了深入分析,總結出一種軟硬件結合、圖感知、以通信為中心的GNN加速方案。
摘要
本文綜述了遷移學習在強化學習問題設置中的應用。RL已經成為序列決策問題的關鍵的解決方案。隨著RL在各個領域的快速發展。包括機器人技術和游戲,遷移學習是通過利用和遷移外部專業知識來促進學習過程來幫助RL的一項重要技術。在這篇綜述中,我們回顧了在RL領域中遷移學習的中心問題,提供了一個最先進技術的系統分類。我們分析他們的目標,方法,應用,以及在RL框架下這些遷移學習技術將是可接近的。本文從RL的角度探討了遷移學習與其他相關話題的關系,并探討了RL遷移學習的潛在挑戰和未來發展方向。
關鍵詞:遷移學習,強化學習,綜述,機器學習
介紹
強化學習(RL)被認為是解決連續決策任務的一種有效方法,在這種方法中,學習主體通過與環境相互作用,通過[1]來提高其性能。源于控制論并在計算機科學領域蓬勃發展的RL已被廣泛應用于學術界和工業界,以解決以前難以解決的任務。此外,隨著深度學習的快速發展,應用深度學習服務于學習任務的集成框架在近年來得到了廣泛的研究和發展。DL和RL的組合結構稱為深度強化學習[2](Deep Reinforcement Learning, DRL)。
DRL在機器人控制[3]、[4]、玩[5]游戲等領域取得了巨大的成功。在醫療保健系統[6]、電網[7]、智能交通系統[8]、[9]等領域也具有廣闊的應用前景。
在這些快速發展的同時,DRL也面臨著挑戰。在許多強化學習應用中,環境模型通常是未知的,只有收集到足夠的交互經驗,agent才能利用其對環境的知識來改進其性能。由于環境反饋的部分可觀察性、稀疏性或延遲性以及高維觀察和/或行動空間等問題,學習主體在沒有利用任何先驗知識的情況下尋找好的策略是非常耗時的。因此,遷移學習作為一種利用外部專業知識來加速學習過程的技術,在強化學習中成為一個重要的課題。
在監督學習(SL)領域[10]中,TL得到了廣泛的研究。與SL場景相比,由于MDP環境中涉及的組件更多,RL中的TL(尤其是DRL中的TL)通常更復雜。MDP的組件(知識來自何處)可能與知識轉移到何處不同。此外,專家知識也可以采取不同的形式,以不同的方式轉移,特別是在深度神經網絡的幫助下。隨著DRL的快速發展,以前總結用于RL的TL方法的努力沒有包括DRL的最新發展。注意到所有這些不同的角度和可能性,我們全面總結了在深度強化學習(TL in DRL)領域遷移學習的最新進展。我們將把它們分成不同的子主題,回顧每個主題的理論和應用,并找出它們之間的聯系。
本綜述的其余部分組織如下:在第2節中,我們介紹了強化學習的背景,關鍵的DRL算法,并帶來了這篇綜述中使用的重要術語。我們還簡要介紹了與TL不同但又緊密相關的相關研究領域(第2.3節)。
在第3節中,我們采用多種視角來評價TL方法,提供了對這些方法進行分類的不同方法(第3.1節),討論了遷移源和目標之間的潛在差異(第3.2節),并總結了評價TL有效性的常用指標(第3.3節)。
第4節詳細說明了DRL領域中最新的TL方法。特別是,所討論的內容主要是按照遷移知識的形式組織的,如成型的獎勵(4.1節)、先前的演示(4.2節)、專家策略(4.3節),或者按照轉移發生的方式組織的,如任務間映射(4.4節)、學習可轉移表示(4.5節和4.6節)等。我們在第5節討論了TL在DRL中的應用,并在第6節提供了一些值得研究的未來展望。
當前的深度學習研究以基準評價為主。如果一種方法在專門的測試集上有良好的經驗表現,那么它就被認為是有利的。這種心態無縫地反映在持續學習的重現領域,在這里研究的是持續到達的基準數據集。核心挑戰是如何保護之前獲得的表示,以免由于迭代參數更新而出現災難性地遺忘的情況。然而,各個方法的比較是與現實應用程序隔離的,通常通過監視累積的測試集性能來判斷。封閉世界的假設仍然占主導地位。假設在部署過程中,一個模型保證會遇到來自與用于訓練的相同分布的數據。這帶來了一個巨大的挑戰,因為眾所周知,神經網絡會對未知的實例提供過于自信的錯誤預測,并在數據損壞的情況下崩潰。在這個工作我們認為值得注意的教訓來自開放數據集識別,識別的統計偏差以外的數據觀測數據集,和相鄰的主動學習領域,數據增量查詢等預期的性能收益最大化,這些常常在深度學習的時代被忽略。基于這些遺忘的教訓,我們提出了一個統一的觀點,以搭建持續學習,主動學習和開放集識別在深度神經網絡的橋梁。我們的結果表明,這不僅有利于每個個體范式,而且突出了在一個共同框架中的自然協同作用。我們從經驗上證明了在減輕災難性遺忘、主動學習中查詢數據、選擇任務順序等方面的改進,同時在以前提出的方法失敗的地方展示了強大的開放世界應用。
//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]中基于變分貝葉斯推理的方法進行了改進和擴展,以說明一種走向全面框架的可能選擇。重要的是,它作為論證的基礎,努力闡明生成建模作為深度學習系統關鍵組成部分的必要性。我們強調了在這篇論文中發展的觀點的重要性,通過實證證明,概述了未來研究的含義和有前景的方向。
隨著web技術的發展,多模態或多視圖數據已經成為大數據的主要流,每個模態/視圖編碼數據對象的單個屬性。不同的模態往往是相輔相成的。這就引起了人們對融合多模態特征空間來綜合表征數據對象的研究。大多數現有的先進技術集中于如何融合來自多模態空間的能量或信息,以提供比單一模態的同行更優越的性能。最近,深度神經網絡展示了一種強大的架構,可以很好地捕捉高維多媒體數據的非線性分布,對多模態數據自然也是如此。大量的實證研究證明了深多模態方法的優勢,從本質上深化了多模態深特征空間的融合。在這篇文章中,我們提供了從淺到深空間的多模態數據分析領域的現有狀態的實質性概述。在整個調查過程中,我們進一步指出,該領域的關鍵要素是多模式空間的協作、對抗性競爭和融合。最后,我們就這一領域未來的一些方向分享我們的觀點。