人和高級動物在整個生命中不斷獲取、微調和轉讓知識和技能。這種能力,稱為lifelong learning,是由一系列神經認知機制協調的過程,這些機制共同促進了sensorimotor技能的發展以及對長期記憶的鞏固和檢索。因此對于計算系統和自動化智體,lifelong learning能力,對能否在現實世界進行交互并處理連續信息,至關重要。
但是,長期來看,lifelong/continual learning仍然是機器學習和神經網絡模型的挑戰,因為從非平穩數據分布中不斷遞增地獲取可用信息通常會導致catastrophic forgetting或者interference問題,即用新信息訓練模型的時候會干擾先前學習的知識。這種現象通常會導致性能突然下降,或者最壞的情況下導致舊知識被新知識完全overwrite。對于拿固定訓練數據來學習的深度神經網絡模型,其隨時間遞增的信息無法可用這一點,會成為一個主要缺陷。
在這篇綜述中,總結了與人工學習系統的continual/lifelong learning相關挑戰,并比較了現有那些在不同程度上減輕catastrophic forgetting的NN方法。盡管NN在特定領域學習方面已取得了重大進展,但要在自動化智體和機器人上開發強大的lifelong learning,還需要進行大量研究。為此作者討論了由生物系統中的lifelong learning因素所激發的各種研究,如structural plasticity、memory replay、curriculum & transfer learning、intrinsic motivation和multisensory integration等。
圖神經網絡(GNN)在實際應用中往往會受到可用樣本數量太少的限制,而元學習(meta-learning)作為解決機器學習中樣本缺乏問題的重要框架,正逐漸被應用到 GNN 領域以解決該問題。本文梳理近年來在元學習應用于 GNN 的一系列研究進展,我們根據模型的架構、共享的表示和應用的領域對以往工作進行分類,并在最后討論該領域當前有待解決的問題和未來值得關注的研究方向。
圖結構數據(Graph)廣泛存在于現實場景中,例如藥物研究中的藥物分子結構和推薦系統中的用戶商品交互都可以用圖(Graph)表示,而圖數據(Graph)的廣泛存在也促進了圖神經網絡(GNN)的發展。GNN 是專門用于處理圖數據的深度神經網絡,它將圖或圖上的頂點、邊映射到一個低維空間,從而學習得到圖的有效表示,并進一步將其應用于下游任務。近年來,GNN 被廣泛應用于新藥發現、交通預測、推薦系統等各個領域。
盡管 GNN 擁有非常強大的能力,但在實際應用中依然面臨樣本數量有限的挑戰,特別是在推薦系統等真實系統更是要求 GNN 可以在少量樣本可用的情況下適應新問題。而元學習(meta-learning)作為解決深度學習系統中樣本缺乏問題的重要框架,在自然語言處理、機器人技術等多種應用中都取得了成功。因此,如何利用元學習解決 GNN 所面臨的樣本缺乏問題,是研究人員普遍關心的問題。
元學習的主要思想是利用之前的學習經驗來快速適應一個新問題,從而利用很少的樣本就能學習一個有用的算法。具體來講,元學習旨在以先驗的形式學習一個模型,而不是針對所有任務學習一個模型(不能區分任務)或針對每個任務學習單獨的模型(可能對每個任務過擬合)。元學習應用于 Graph 的主要挑戰是如何確定跨任務共享的表示類型,以及怎樣設計有效的訓練策略。近期,研究人員針對不同的應用場景,已經提出了多種元學習方法來訓練 GNN。本文我們就將對元學習在 GNN 上的運用進行全面回顧。
人工神經網絡在解決特定剛性任務的分類問題時,通過不同訓練階段的廣義學習行為獲取知識。由此產生的網絡類似于一個靜態的知識實體,努力擴展這種知識而不針對最初的任務,從而導致災難性的遺忘。
持續學習將這種范式轉變為可以在不同任務上持續積累知識的網絡,而不需要從頭開始再訓練。我們關注任務增量分類,即任務按順序到達,并由清晰的邊界劃分。我們的主要貢獻包括:
(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節討論了處理更一般設置的開放問題。
摘要
多任務學習(Multi-Task Learning, MTL)是機器學習中的一種學習范式,其目的是利用多個相關任務中包含的有用信息來幫助提高所有任務的泛化性能。
本文從算法建模、應用和理論分析三個方面對MTL進行了綜述。在算法建模方面,給出了MTL的定義,并將不同的MTL算法分為特征學習、低秩、任務聚類、任務關系學習和分解五類,并討論了每種方法的特點。
為了進一步提高學習任務的性能,MTL可以與半監督學習、主動學習、無監督學習、強化學習、多視圖學習和圖形模型等學習范式相結合。當任務數量較大或數據維數較高時,我們回顧了在線、并行和分布式的MTL模型,以及維數降維和特征哈希,揭示了它們在計算和存儲方面的優勢。
許多現實世界的應用程序使用MTL來提高它們的性能,我們在本文中回顧了代表性的工作。最后,我們對MTL進行了理論分析,并討論了MTL的未來發展方向。
引言
人類可以同時學習多個任務,在這個學習過程中,人類可以使用在一個任務中學習到的知識來幫助學習另一個任務。例如,根據我們學習打網球和壁球的經驗,我們發現打網球的技巧可以幫助學習打壁球,反之亦然。多任務學習(Multi-Task learning, MTL)[1]是機器學習的一種學習范式,受人類這種學習能力的啟發,它的目標是共同學習多個相關的任務,使一個任務中包含的知識能夠被其他任務利用,從而提高手頭所有任務的泛化性能。
在其早期階段,MTL的一個重要動機是緩解數據稀疏問題,即每個任務都有有限數量的標記數據。在數據稀疏性問題中,每個任務中標記數據的數量不足以訓練出一個準確的學習器,而MTL則以數據增強的方式將所有任務中的標記數據進行聚合,從而為每個任務獲得更準確的學習器。從這個角度來看,MTL可以幫助重用已有的知識,降低學習任務的手工標注成本。當“大數據”時代在計算機視覺和自然語言處理(NLP)等領域到來時,人們發現,深度MTL模型比單任務模型具有更好的性能。MTL有效的一個原因是與單任務學習相比,它利用了更多來自不同學習任務的數據。有了更多的數據,MTL可以為多個任務學習到更健壯、更通用的表示形式和更強大的模型,從而更好地實現任務間的知識共享,提高每個任務的性能,降低每個任務的過擬合風險。
MTL與機器學習中的其他學習范式有關,包括遷移學習[2]、多標簽學習[3]和多輸出回歸。MTL的設置與遷移學習相似,但存在顯著差異。在MTL中,不同任務之間沒有區別,目標是提高所有任務的性能。而遷移學習是借助源任務來提高目標任務的性能,因此目標任務比源任務起著更重要的作用。總之,MTL對所有的任務一視同仁,但在遷移學習中目標任務最受關注。從知識流的角度來看,遷移學習中的知識轉移流是從源任務到目標任務,而在多任務學習中,任何一對任務之間都存在知識共享流,如圖1(a)所示。持續學習[4]是一個一個地學習任務,任務是有順序的,而MTL是將多個任務一起學習。在多標簽學習和多輸出回歸中,每個數據點都與多個標簽相關聯,這些標簽可以是分類的或數字的。如果我們把所有可能的標簽都當作一個任務,那么多標簽學習和多輸出回歸在某種意義上可以看作是多任務學習的一種特殊情況,不同的任務在訓練和測試階段總是共享相同的數據。一方面,這種多標簽學習和多輸出回歸的特點導致了與MTL不同的研究問題。例如,排名損失使得與數據點相關的標簽的分數(例如分類概率)大于沒有標簽的分數,可以用于多標簽學習,但它不適合MTL,因為不同的任務擁有不同的數據。另一方面,這種在多標簽學習和多輸出回歸中的特性在MTL問題中是無效的。例如,在2.7節中討論的一個MTL問題中,每個任務都是根據19個生物醫學特征預測患者帕金森病的癥狀評分,不同的患者/任務不應該共享生物醫學數據。總之,多標簽學習和多輸出回歸與圖1(b)所示的多任務學習是不同的,因此我們不會對多標簽學習和多輸出回歸的文獻進行綜述。此外,多視圖學習是機器學習的另一種學習范式,每個數據點與多個視圖相關聯,每個視圖由一組特征組成。雖然不同的視圖有不同的特征集,但是所有的視圖是一起學習同一個任務的,因此多視圖學習屬于具有多組特征的單任務學習,這與圖1(c)所示的MTL是不同的。
在過去的幾十年里,MTL在人工智能和機器學習領域引起了廣泛的關注。許多MTL模型已經被設計出來,并在其他領域得到了廣泛的應用。此外,對MTL的理論問題也進行了大量的分析。本文從算法建模、應用和理論分析三個方面對MTL進行了綜述。在算法建模方面,首先給出了MTL的定義,然后將不同的MTL算法分為5類: 特征學習方法,又可分為特征轉換與特征選擇方法、低秩方法、任務聚類方法、任務關系學習方法和分解方法。然后,我們討論了MTL與其他學習范式的結合,包括半監督學習、主動學習、無監督學習、強化學習、多視圖學習和圖形模型。為了處理大量的任務,我們回顧了在線、并行和分布式的MTL模型。對于高維空間中的數據,引入特征選擇、降維和特征哈希作為處理這些數據的重要工具。MTL作為一種很有前途的學習范式,在計算機視覺、生物信息學、健康信息學、語音、自然語言處理、web等領域有著廣泛的應用。從理論分析的角度,對MTL的相關工作進行回顧。最后,討論了MTL的未來發展方向。
通過在終身學習中存儲舊知識來尋求提醒模型,是緩解災難性遺忘最有效的方法之一,即在轉向新任務時對先前知識的偏差遺忘。然而,在訓練新任務時,以往大多數基于預演的舊任務存在不可預測的域偏移問題。這是因為這些方法總是忽略兩個重要的因素。首先,新任務和舊任務之間的數據不平衡,使得舊任務的域容易移位。其次,所有任務之間的任務隔離會使領域向不可預測的方向移動;針對不可預測的領域遷移問題,本文提出多領域多任務排練,對新老任務進行并行、平等的訓練,打破任務之間的隔離狀態。具體地說,提出了一個兩級的角裕度損失模型,以促進類內/任務的緊湊性和類間/任務的差異,使模型避免領域混亂。此外,為了進一步解決舊任務的領域轉移問題,我們在記憶上提出了一個可選的情景蒸餾損失來錨定每個舊任務的知識。在基準數據集上的實驗驗證了該方法能夠有效地抑制不可預測的領域漂移。
現代機器學習擅長于從固定的數據集和固定的環境中訓練出強大的模型,常常超過人類的能力。然而,這些模型未能模擬人類的學習過程,而人類的學習過程是有效的、穩健的,并且能夠從非平穩世界的連續經驗中逐步學習。對于這一局限性的見解可以從神經網絡優化的本質中獲得,這意味著持續學習技術可以從根本上提高深度學習,并打開了新的應用領域的大門。持續學習的有前途的方法可以在最細粒度的層次上找到,使用基于梯度的方法,也可以在體系結構層次上找到,使用模塊化和基于內存的方法。我們也認為元學習是一個潛在的重要方向。
人工智能研究在過去的幾個月中取得了巨大的進步,但它主要依賴于固定的數據集和固定的環境。持續學習是一個日益相關的研究領域,它表明人工系統可能像生物系統一樣,從連續不斷的相關數據流中有序地學習。在目前的回顧中,我們將持續學習與神經網絡的學習動力學聯系起來,強調它在穩步提高數據效率方面的潛力。我們進一步考慮了近年來出現的許多受生物學啟發的新方法,重點關注那些利用正規化、模塊化、記憶和元學習的方法,并強調了一些最有前途和最有影響的方向。
世界不是靜止不動的
人工智能成功的一個常見基準是模仿人類學習的能力。我們測量人類識別圖像、玩游戲和駕駛汽車的能力,舉幾個例子,然后開發機器學習模型,如果有足夠的訓練數據,它可以匹配或超過這些能力。這種范式把重點放在最終結果上,而不是學習過程上,并且忽略了人類學習的一個關鍵特征:它對不斷變化的任務和連續的經驗是魯棒的。人類以這種方式學習也許并不奇怪,畢竟,時間是不可逆的,世界是不穩定的(見詞匯表),所以人類的學習已經進化到在動態學習環境中茁壯成長。然而,這種魯棒性與最強大的現代機器學習方法形成了鮮明的對比,后者只有在數據經過仔細的洗牌、平衡和均質后才能表現良好。這些模型不僅表現不佳,而且在某些情況下,它們會完全失敗,或者在早期學習的任務上遭遇快速的性能下降,即所謂的災難性遺忘。
基于生物系統持續學習基礎
對自然世界及其智能物種的研究經常與人工智能研究交叉,包括與持續學習有關的方面[1]。生物學為在復雜環境中成功地持續學習提供了存在證據,也暗示了成功方法的設計原則和權衡。有多種機制使生物系統能夠適應不斷變化的環境,而不固執或遺忘。因此,在本節中,我們將通過類比來介紹四種持續學習模式,并將每種方法的詳細討論留到后面的章節中。此外,可以通過描述它們的規范模型來簡要地描述這些方法,如圖1(關鍵圖)所示。
持續學習的定義
持續學習的問題通常是由順序訓練協議和解決方案所期望的特性來定義的。與靜態數據集或環境的普通機器學習設置相反,持續學習設置明確地關注非平穩或變化的環境,通常被劃分為需要按順序完成的一組任務。這種設置可能在任務轉換(平滑或離散)、任務長度和重復、任務類型(如無監督、監督或強化學習)方面有所不同,或者甚至可能沒有定義明確的任務[9-11]。與課程學習相比[12,13],學習者不能控制任務的順序。
支持現代機器學習的獨立同分布假設
神經網絡大量利用現代技術來并行計算,同時考慮大量數據;事實上,這種易于伸縮的特性使得它們在過去的十年中成為了語音、視覺和語言應用程序的主流方法。 在典型的學習設置中,目標是通過設置網絡的參數來最小化一些損失函數,例如真輸出和預測輸出之間的誤差。基于梯度的學習,最有效的和廣泛使用的范式,是一種迭代算法,在每一次迭代,使一個小變化的參數,以減少損失(更詳細的解釋,見盒2)。這條規則的機制在拔河的動態結果,其中每個數據樣本正試圖拉動每個參數更大或更小。通過平均梯度,我們因此創建了一個拔河游戲,其中應用于每個參數的更新(因為它是正的或負的)揭示了哪個數據樣本贏了或輸了。在許多優化步驟上組合許多拔河式更新,可以進行學習(圖3)。
基于梯度的解決方案
由前面描述的拔河式學習動態驅動,一種有前途的方法是直接調節不同任務的梯度。這不僅是優化問題的核心,而且是由生物大腦[3]中突觸鞏固的研究激發的。一種方法是迫使梯度與之前學習任務的梯度保持一致[19,20],消除潛在干擾。這些方法在其他環境中也有好處,例如,在多任務學習中,它們有可能在目標沖突的情況下提高學習效率[21-23]。
模塊化架構
模塊化的神經網絡結構是一種自然有效的解決持續學習中的干擾和災難性遺忘問題的方法。模塊化提供了一個折衷方案,即使用一個容易遺忘的單一單片網絡,以及為每個任務使用獨立的網絡,這既可以防止災難性遺忘,也可以防止任務之間的轉移(參見圖1C的模塊化架構說明)。模塊化在生物系統中也很明顯,它支持大腦區域的功能專門化。
人工學習系統的記憶
基于梯度和模塊化的方法可能更適合短期的持續學習,而不是長期的記憶。基于梯度的方法不能防止任意長任務序列的遺忘,而模塊化方法可以在長時間尺度上保存知識,它們可能在神經網絡能力方面達到實際的極限。考慮一下這樣一個具有挑戰性的場景:在幾個月的時間里,把食物藏在1000個不同的地方,然后在更多的食物消失后,正確地找到每一個食物。這個特征是每個冬天都會出現的,比如夜鶯、松鴉和鴉類[57]。通過調整一個簡單的神經網絡的參數來保存存儲食物的順序經驗既具有挑戰性又效率低下。一個更可伸縮的策略是使用專用的讀寫內存對空間位置進行編碼。
元學習:發現持續學習的歸納偏差
到目前為止所討論的所有解決方案都規定了用于持續學習的手工設計的機制或架構,歸納偏差。每種歸納偏差都在需求(如良好的知識保留與基于記憶的方法中的正向遷移)之間達成了不同的權衡。值得考慮的是,從數據中學習解決方案,而不是依靠人類的獨創性來設計它,是否能夠實現更好的權衡。歷史上,許多元學習或學習-學習方法已經證明,解決方案可以通過自動學習歸納偏差(如架構、數據和學習參數)來改進,否則需要手工設計(圖1E) 。
結論和未來方向
機器學習研究人員經常指出,人類具有快速學習和概括(例如,從幾個例子中推斷出一個模式)的非凡能力。然而,我們并不經常重新評價人類在一生的教育和經歷中不斷學習的能力,盡管正是這種能力使人類在科學、藝術和工業上取得成就。這篇文章不僅試圖強調持續學習的重要性,而且還暴露了現代神經網絡在這方面的局限性,特別是導致效率低下、基于梯度的拔河的信用分配問題。
通過對這一空間的調查,我們發現了一種學習模式,如果擴展到更有雄心的領域,它就有可能發揮真正的影響力。毫不奇怪,這些范式都有很強的平行神經科學和生物系統。基于梯度的方法直接修改了神經網絡的操作時間,并被證明可以減少災難性遺忘。
模塊化架構為干擾和災難性遺忘提供了實用的解決方案,同時通過技能和知識的層次重組實現面向遷移。端到端記憶模型可以成為長時間學習的可擴展解決方案,元學習方法可以超越手工設計的算法和架構。有了這些潛在的積極影響,也必須認識到部署不斷變化的機器學習模型所涉及的風險,因為任何安全和預期行為的初始評估都不能輕易地永久保證。然而,通過提高學習算法的長期可靠性,以及通過開發確保某些規則或邊界不被違反的架構,持續學習解決方案可以降低這些風險。
當前自然語言處理的發展為低資源語言和領域提供了挑戰和機遇。眾所周知,深度神經網絡需要大量的訓練數據,而這些數據在資源貧乏的情況下可能無法得到。然而,也有越來越多的工作來提高低資源環境下的性能。基于對神經模型的基本改變和目前流行的預訓練和微調范式,我們概述了低資源自然語言處理的有前途的方法。在討論了低資源場景的定義和數據可用性的不同維度之后,我們接著研究了在訓練數據稀少時支持學習的方法。這包括創建附加標簽數據的機制,如數據增強和遠程監督,以及轉移學習設置,以減少對目標監督的需要。調查結束時,簡要地看了一下在非NLP機器學習社區中建議的方法,這些方法在資源少的情況下可能對NLP有益。
深度神經網絡在擁有大量數據集和足夠的計算資源的情況下能夠取得巨大的成功。然而,他們快速學習新概念的能力相當有限。元學習是解決這一問題的一種方法,通過使網絡學會如何學習。令人興奮的深度元學習領域正在高速發展,但缺乏對當前技術的統一、深刻的概述。這項工作就是這樣。在為讀者提供理論基礎之后,我們研究和總結了主要的方法,這些方法被分為i)度量;ii)模型;和iii)基于優化的技術。此外,我們確定了主要的開放挑戰,如在異構基準上的性能評估,以及元學習計算成本的降低。
摘要:
近年來,深度學習技術在各種任務上取得了顯著的成功,包括游戲(Mnih et al., 2013; Silver et al., 2016),圖像識別(Krizhevsky et al., 2012; He et al., 2015)和機器翻譯(Wu et al., 2016)。盡管取得了這些進展,但仍有大量的挑戰有待解決,例如實現良好性能所需的大量數據和訓練。這些要求嚴重限制了深度神經網絡快速學習新概念的能力,這是人類智能的定義方面之一(Jankowski等人,2011;(Lake等,2017)。
元學習被認為是克服這一挑戰的一種策略(Naik and Mammone, 1992; Schmidhuber, 1987; Thrun, 1998)。其關鍵思想是元學習主體隨著時間的推移提高自己的學習能力,或者等價地說,學會學習。學習過程主要與任務(一組觀察)有關,并且發生在兩個不同的層次上:內部和外部。在內部層,一個新的任務被提出,代理試圖快速地從訓練觀察中學習相關的概念。這種快速的適應是通過在外部層次的早期任務中積累的知識來促進的。因此,內部層關注的是單個任務,而外部層關注的是多個任務。
從歷史上看,元學習這個術語的使用范圍很廣。從最廣泛的意義上說,它概括了所有利用之前的學習經驗以更快地學習新任務的系統(Vanschoren, 2018)。這個廣泛的概念包括更傳統的機器學習算法選擇和hyperparameter優化技術(Brazdil et al ., 2008)。然而,在這項工作中,我們專注于元學習領域的一個子集,該領域開發元學習程序來學習(深度)神經網絡的良好誘導偏差。1從今以后,我們使用術語深元學習指元學習的領域。
深度元學習領域正在快速發展,但它缺乏一個連貫、統一的概述,無法提供對關鍵技術的詳細洞察。Vanschoren(2018)對元學習技術進行了調查,其中元學習被廣泛使用,限制了對深度元學習技術的描述。此外,在調查發表后,深度元學習領域也出現了許多令人興奮的發展。Hospedales等人(2020)最近的一項調查采用了與我們相同的深度元學習概念,但目標是一個廣泛的概述,而忽略了各種技術的技術細節。
我們試圖通過提供當代深度元學習技術的詳細解釋來填補這一空白,使用統一的符號。此外,我們確定了當前的挑戰和未來工作的方向。更具體地說,我們覆蓋了監督和強化學習領域的現代技術,已經實現了最先進的性能,在該領域獲得了普及,并提出了新的想法。由于MAML (Finn et al., 2017)和相關技術對該領域的影響,我們給予了格外的關注。本研究可作為深度元學習領域的系統性介紹,并可作為該領域資深研究人員的參考資料。在整個過程中,我們將采用Vinyals(2017)所使用的分類法,該分類法確定了三種深度元學習方法:i)度量、ii)模型和iii)基于優化的元學習技術。
當前的深度學習研究以基準評價為主。如果一種方法在專門的測試集上有良好的經驗表現,那么它就被認為是有利的。這種心態無縫地反映在持續學習的重現領域,在這里研究的是持續到達的基準數據集。核心挑戰是如何保護之前獲得的表示,以免由于迭代參數更新而出現災難性地遺忘的情況。然而,各個方法的比較是與現實應用程序隔離的,通常通過監視累積的測試集性能來判斷。封閉世界的假設仍然占主導地位。假設在部署過程中,一個模型保證會遇到來自與用于訓練的相同分布的數據。這帶來了一個巨大的挑戰,因為眾所周知,神經網絡會對未知的實例提供過于自信的錯誤預測,并在數據損壞的情況下崩潰。在這個工作我們認為值得注意的教訓來自開放數據集識別,識別的統計偏差以外的數據觀測數據集,和相鄰的主動學習領域,數據增量查詢等預期的性能收益最大化,這些常常在深度學習的時代被忽略。基于這些遺忘的教訓,我們提出了一個統一的觀點,以搭建持續學習,主動學習和開放集識別在深度神經網絡的橋梁。我們的結果表明,這不僅有利于每個個體范式,而且突出了在一個共同框架中的自然協同作用。我們從經驗上證明了在減輕災難性遺忘、主動學習中查詢數據、選擇任務順序等方面的改進,同時在以前提出的方法失敗的地方展示了強大的開放世界應用。
//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]中基于變分貝葉斯推理的方法進行了改進和擴展,以說明一種走向全面框架的可能選擇。重要的是,它作為論證的基礎,努力闡明生成建模作為深度學習系統關鍵組成部分的必要性。我們強調了在這篇論文中發展的觀點的重要性,通過實證證明,概述了未來研究的含義和有前景的方向。
最近,終身學習在構建不斷積累和轉移知識以幫助未來學習的機器學習系統方面引起了關注。無監督主題建模廣泛用于從文檔集合中發現主題。然而,由于數據稀疏性,例如,在一個小的(短)文檔集合中,會產生不連貫的主題和次優的文檔表示,主題建模的應用具有挑戰性。為了解決這個問題,我們提出了一個神經主題建模的終身學習框架,它可以連續處理文檔集流,積累主題,并通過從多個來源的知識轉移來指導未來的主題建模任務,以更好地處理稀疏的數據。在終身學習過程中,我們特別共同研究:(1)終生共享生成同源性(潛在話題)以轉移先驗知識,(2)通過新穎的選擇性數據增強、聯合訓練和話題正則化方法最小化保留過去學習的災難性遺忘。在給定一個文檔集合流的情況下,我們應用所提出的終身神經主題建模(LNTM)框架,將三個稀疏文檔集合建模為未來任務,并通過perplexity、Topic coherence和information retrieval task量化,證明了性能的提高。
【導讀】分布式機器學習Distributed Machine Learning是學術界和工業界關注的焦點。最近來自荷蘭的幾位研究人員撰寫了關于分布式機器學習的綜述,共33頁pdf和172篇文獻,概述了分布式機器學習相對于傳統(集中式)機器學習的挑戰和機遇,討論了用于分布式機器學習的技術,并對可用的系統進行了概述,從而全面概述了該領域的最新進展。
?論文地址: //www.zhuanzhi.ai/paper/161029da3ed8b6027a1199c026df7d07 ?
摘要 在過去的十年里,對人工智能的需求顯著增長,而機器學習技術的進步和利用硬件加速的能力推動了這種增長。然而,為了提高預測的質量并使機器學習解決方案在更復雜的應用中可行,需要大量的訓練數據。雖然小的機器學習模型可以用少量的數據進行訓練,但訓練大模型(如神經網絡)的輸入隨著參數的數量呈指數增長。由于處理訓練數據的需求已經超過了計算機器計算能力的增長,因此需要將機器學習的工作負載分布到多臺機器上,并將集中式的學習任務轉換為分布式系統。這些分布式系統提出了新的挑戰,首先是訓練過程的有效并行化和一致模型的創建。本文概述了分布式機器學習相對于傳統(集中式)機器學習的挑戰和機遇,討論了用于分布式機器學習的技術,并對可用的系統進行了概述,從而全面概述了該領域的最新進展。
1. 引言
近年來,新技術的快速發展導致了數據采集的空前增長。機器學習(ML)算法正越來越多地用于分析數據集和構建決策系統,因為問題的復雜性,算法解決方案是不可行的。例如控制自動駕駛汽車[23],識別語音[8],或者預測消費者行為[82]。
在某些情況下,訓練模型的長時間運行會引導解決方案設計者使用分布式系統來增加并行性和I/O帶寬總量,因為復雜應用程序所需的訓練數據很容易達到tb級的[29]。在其他情況下,當數據本身就是分布式的,或者數據太大而不能存儲在一臺機器上時,集中式解決方案甚至都不是一個選項。例如,大型企業對存儲在不同位置的[19]的數據進行事務處理,或者對大到無法移動和集中的天文數據進行事務處理[125]。
為了使這些類型的數據集可作為機器學習問題的訓練數據,必須選擇和實現能夠并行計算、數據分布和故障恢復能力的算法。在這一領域進行了豐富多樣的研究生態系統,我們將在本文中對其進行分類和討論。與之前關于分布式機器學習([120][124])或相關領域的調查([153][87][122][171][144])相比,我們對該問題應用了一個整體的觀點,并從分布式系統的角度討論了最先進的機器學習的實踐方面。
第2節深入討論了機器學習的系統挑戰,以及如何采用高性能計算(HPC)的思想來加速和提高可擴展性。第3節描述了分布式機器學習的參考體系結構,涵蓋了從算法到網絡通信模式的整個堆棧,這些模式可用于在各個節點之間交換狀態。第4節介紹了最廣泛使用的系統和庫的生態系統及其底層設計。最后,第5節討論了分布式機器學習的主要挑戰
2. 機器學習——高性能計算的挑戰?
近年來,機器學習技術在越來越復雜的應用中得到了廣泛應用。雖然出現了各種相互競爭的方法和算法,但所使用的數據表示在結構上驚人地相似。機器學習工作負載中的大多數計算都是關于向量、矩陣或張量的基本轉換——這是線性代數中眾所周知的問題。優化這些操作的需求是高性能計算社區數十年來一個非常活躍的研究領域。因此,一些來自HPC社區的技術和庫(如BLAS[89]或MPI[62])已經被機器學習社區成功地采用并集成到系統中。與此同時,HPC社區已經發現機器學習是一種新興的高價值工作負載,并開始將HPC方法應用于它們。Coates等人,[38]能夠在短短三天內,在他們的商用現貨高性能計算(COTS HPC)系統上訓練出一個10億個參數網絡。You等人[166]在Intel的Knights Landing(一種為高性能計算應用而設計的芯片)上優化了神經網絡的訓練。Kurth等人[84]證明了像提取天氣模式這樣的深度學習問題如何在大型并行高性能計算系統上進行優化和快速擴展。Yan等人[163]利用借鑒于HPC的輕量級概要分析等技術對工作負載需求進行建模,解決了在云計算基礎設施上調度深度神經網絡應用程序的挑戰。Li等人[91]研究了深度神經網絡在加速器上運行時對硬件錯誤的彈性特性,加速器通常部署在主要的高性能計算系統中。
與其他大規模計算挑戰一樣,加速工作負載有兩種基本的、互補的方法:向單個機器添加更多資源(垂直擴展或向上擴展)和向系統添加更多節點(水平擴展或向外擴展)。
3. 一個分布式機器學習的參考架構
圖1 機器學習的概述。在訓練階段,利用訓練數據和調整超參數對ML模型進行優化。然后利用訓練后的模型對輸入系統的新數據進行預測。
圖2 分布式機器學習中的并行性。數據并行性在di上訓練同一個模型的多個實例!模型并行性將單個模型的并行路徑分布到多個節點。
機器學習算法
機器學習算法學習根據數據做出決策或預測。我們根據以下三個特征對當前的ML算法進行了分類:
反饋、在學習過程中給算法的反饋類型
目的、期望的算法最終結果
方法、給出反饋時模型演化的本質
反饋 訓練算法需要反饋,這樣才能逐步提高模型的質量。反饋有幾種不同類型[165]:
包括 監督學習、無監督學習、半監督學習與強化學習
目的 機器學習算法可用于各種各樣的目的,如對圖像進行分類或預測事件的概率。它們通常用于以下任務[85]: 異常檢測、分類、聚類、降維、表示學習、回歸
每一個有效的ML算法都需要一種方法來迫使算法根據新的輸入數據進行改進,從而提高其準確性。通過算法的學習方式,我們識別出了不同的ML方法組: 演化算法、隨機梯度下降、支持向量機、感知器、神經網絡、規則機器學習、主題模型、矩陣分解。
圖3所示:基于分布程度的分布式機器學習拓撲
4. 分布式機器學習生態系統
圖4所示。分布式機器學習生態系統。通用分布式框架和單機ML系統和庫都在向分布式機器學習靠攏。云是ML的一種新的交付模型。
5 結論和當前的挑戰
分布式機器學習是一個蓬勃發展的生態系統,它在體系結構、算法、性能和效率方面都有各種各樣的解決方案。為了使分布式機器學習在第一時間成為可行的,必須克服一些基本的挑戰,例如,建立一種機制,使數據處理并行化,同時將結果組合成一個單一的一致模型。現在有工業級系統,針對日益增長的欲望與機器學習解決更復雜的問題,分布式機器學習越來越普遍和單機解決方案例外,類似于數據處理一般發展在過去的十年。然而,對于分布式機器學習的長期成功來說,仍然存在許多挑戰:性能、容錯、隱私、可移植性等。