持續的終身學習需要一個代理或模型學習許多按順序排列的任務,建立在以前的知識上而不是災難性地忘記它。許多工作都是為了防止機器學習模型的默認趨勢災難性地遺忘,但實際上所有這些工作都涉及到手工設計的問題解決方案。我們主張元學習是一種解決災難性遺忘的方法,允許人工智能不斷學習。受大腦神經調節過程的啟發,我們提出了一種神經調節元學習算法(ANML)。它通過一個連續的學習過程來區分元學習一個激活門控功能,使上下文相關的選擇激活在深度神經網絡中成為可能。具體地說,一個神經調節(NM)神經網絡控制另一個(正常的)神經網絡的前向通道,稱為預測學習網絡(PLN)。NM網絡也因此間接地控制PLN的選擇性可塑性(即PLN的后向通徑)。ANML支持持續學習而不會出現大規模的災難性遺忘:它提供了最先進的連續學習性能,連續學習多達600個類(超過9000個SGD更新)。
本文綜述了元學習在圖像分類、自然語言處理和機器人技術等領域的應用。與深度學習不同,元學習使用較少的樣本數據集,并考慮進一步改進模型泛化以獲得更高的預測精度。我們將元學習模型歸納為三類: 黑箱適應模型、基于相似度的方法模型和元學習過程模型。最近的應用集中在將元學習與貝葉斯深度學習和強化學習相結合,以提供可行的集成問題解決方案。介紹了元學習方法的性能比較,并討論了今后的研究方向。
【導讀】元學習旨在學會學習,是當下研究熱點之一。最近來自愛丁堡大學的學者發布了關于元學習最新綜述論文《Meta-Learning in Neural Networks: A Survey》,值得關注,詳述了元學習體系,包括定義、方法、應用、挑戰,成為不可缺少的文獻。
近年來,元學習領域,或者說“學會學習的學習”,引起了人們極大的興趣。與傳統的人工智能方法(使用固定的學習算法從頭開始解決給定的任務)不同,元學習的目的是改進學習算法本身,考慮到多次學習的經驗。這個范例提供了一個機會來解決深度學習的許多傳統挑戰,包括數據和計算瓶頸,以及泛化的基本問題。在這項綜述中,我們描述了當代元學習的景觀。我們首先討論元學習的定義,并將其定位于相關領域,如遷移學習、多任務學習和超參數優化。然后,我們提出了一個新的分類法,對元學習方法的空間進行了更全面的細分。我們綜述了元學習的一些有前途的應用和成功案例,包括小樣本學習、強化學習和體系架構搜索。最后,我們討論了突出的挑戰和未來研究的有希望的領域。
概述
現代機器學習模型通常是使用手工設計的固定學習算法,針對特定任務從零開始進行訓練。基于深度學習的方法在許多領域都取得了巨大的成功[1,2,3]。但是有明顯的局限性[4]。例如,成功主要是在可以收集或模擬大量數據的領域,以及在可以使用大量計算資源的領域。這排除了許多數據本質上是稀有或昂貴的[5],或者計算資源不可用的應用程序[6,7]。
元學習提供了另一種范式,機器學習模型可以在多個學習階段獲得經驗——通常覆蓋相關任務的分布——并使用這些經驗來改進未來的學習性能。這種“學會學習”[8]可以帶來各種好處,如數據和計算效率,它更適合人類和動物的學習[9],其中學習策略在一生和進化時間尺度上都得到改善[10,9,11]。機器學習在歷史上是建立在手工設計的特征上的模型,而特征的選擇往往是最終模型性能的決定因素[12,13,14]。深度學習實現了聯合特征和模型學習的承諾[15,16],為許多任務提供了巨大的性能改進[1,3]。神經網絡中的元學習可以看作是集成聯合特征、模型和算法學習的下一步。神經網絡元學習有著悠久的歷史[17,18,8]。然而,它作為推動當代深度學習行業前沿的潛力,導致了最近研究的爆炸性增長。特別是,元學習有可能緩解當代深度學習[4]的許多主要批評,例如,通過提供更好的數據效率,利用先驗知識轉移,以及支持無監督和自主學習。成功的應用領域包括:小樣本圖像識別[19,20]、無監督學習[21]、數據高效[22,23]、自導向[24]強化學習(RL)、超參數優化[25]和神經結構搜索(NAS)[26, 27, 28]。
在文獻中可以找到許多關于元學習的不同觀點。特別是由于不同的社區對這個術語的使用略有不同,所以很難定義它。與我們[29]相關的觀點認為,元學習是管理“沒有免費午餐”定理[30]的工具,并通過搜索最適合給定問題或問題族的算法(歸納偏差)來改進泛化。然而,從廣義上來說,這個定義可以包括遷移、多任務、特征選擇和模型集成學習,這些在今天通常不被認為是元學習。另一個關于元學習[31]的觀點廣泛地涵蓋了基于數據集特性的算法選擇和配置技術,并且很難與自動機器學習(AutoML)[32]區分開來。在這篇論文中,我們關注當代的神經網絡元學習。我們將其理解為算法或歸納偏差搜索,但重點是通過端到端學習明確定義的目標函數(如交叉熵損失、準確性或速度)來實現的。
因此,本文提供了一個獨特的,及時的,最新的調查神經網絡元學習領域的快速增長。相比之下,在這個快速發展的領域,以往的研究已經相當過時,或者關注于數據挖掘[29、33、34、35、36、37、31]、自動[32]的算法選擇,或者元學習的特定應用,如小樣本學習[38]或神經架構搜索[39]。
我們討論元學習方法和應用。特別是,我們首先提供了一個高層次的問題形式化,它可以用來理解和定位最近的工作。然后,我們在元表示、元目標和元優化器方面提供了一種新的方法分類。我們調查了幾個流行和新興的應用領域,包括少鏡頭、強化學習和架構搜索;并對相關的話題如遷移學習、多任務學習和自動學習進行元學習定位。最后,我們討論了尚未解決的挑戰和未來研究的領域。
未來挑戰:
-元泛化 元學習在不同任務之間面臨著泛化的挑戰,這與傳統機器學習中在不同實例之間進行泛化的挑戰類似。
總結
元學習領域最近出現了快速增長的興趣。這帶來了一定程度的混亂,比如它如何與鄰近的字段相關聯,它可以應用到什么地方,以及如何對它進行基準測試。在這次綜述中,我們試圖通過從方法學的角度對這一領域進行徹底的調查來澄清這些問題——我們將其分為元表示、元優化器和元目標的分類;從應用的角度來看。我們希望這項調查將有助于新人和實踐者在這個不斷增長的領域中定位自己,并強調未來研究的機會。
許多深度神經網絡的訓練算法可以解釋為最小化網絡預測與目標分布之間的交叉熵損失。在監督學習中,這種目標分布通常是一個one hot向量。在半監督學習中,這種目標分布通常是由一個預先訓練好的教師模型來訓練主網絡生成的。在這項工作中,我們沒有使用這種預定義的目標分布,而是證明了學習根據主網絡的學習狀態來調整目標分布可以獲得更好的性能。特別地,我們提出了一種有效的元學習算法,該算法鼓勵教師以改善主網絡學習的方式來調整訓練樣本的目標分布。教師通過在一個預定的驗證集上評估主網絡計算出的策略梯度來更新。我們的實驗證明了在強基線上的重大改進,并在CIFAR-10、SVHN和ImageNet上建立了最新的性能。例如,使用小型數據集上的ResNets,我們在CIFAR-10上實現了96.1%(包含4,000個標記示例),在ImageNet上實現了73.9%(包含10%示例)的top-1。同時,在完整的數據集上加上額外的未標記數據,我們在CIFAR-10上獲得98.6%的準確率,在ImageNet上獲得86.9%的top-1的準確率。
元學習是近幾年來AI最熱的研究方向之一,它可以學習如何去學習,因此可以被應用于小樣本學習等場景。Uber AI(優步人工智能)的高級研究經理Jeff Clune在NeurIPS 2019上做了關于元學習的教程。
深度學習很好地解決了傳統AI中特征工程的問題,用深度網絡自動提取特征取代了大量繁瑣的人工特征設計,使得我們可以基于標注數據有監督地訓練出高性能的AI模型。然而,由于許多深度學習模型的訓練需要依賴在目標任務上的大量人工標注,這些模型并不能很好地適應小樣本、多任務等場景。
元學習(Meta-Learning)方法學習如何去學習(Learning to Learn)。例如,通過Learning to Learn,一些元學習模型可以基于少量的樣本和較少的學習步驟學習可用的模型,并且,這些元學習模型具有泛化性,可在不同的任務上進行元學習。
在NeurIPS 2019上,Uber AI(優步人工智能)的高級研究經理Jeff Clune做了關于元學習的92頁教程《How Meta-Learning Could Help Us Accomplish Our Grandest AI Ambitions, and Early, Exotic Steps in that Direction》,總結了目前元學習的一些發展情況。
教程內容大致如下:
論文摘要: 本文考慮了對未知環境進行有效探索的問題,這是人工智能的一個關鍵挑戰。我們提出了一個“學習探索”框架,可以從各種環境中學習政策。在測試時,由于存在來自相同分布的未知環境,該策略旨在推廣探索策略,以有限的步驟訪問最大數量的唯一狀態。我們特別關注在許多重要的實際應用程序(例如軟件測試和地圖構建)中遇到的具有圖結構狀態空間的環境。我們將此任務表述為強化學習問題,其中“探索”特工因過渡到以前未見過的環境狀態而受到獎勵,并使用圖形結構化的內存來編碼特工的過去軌跡。實驗結果表明,我們的方法對于探索空間圖非常有效;并且當解決領域特定程序和實際移動應用程序的覆蓋率指導的軟件測試所面臨的挑戰性問題時,它的性能要優于人類專家人工設計的方法。
論文目錄:
編寫機器人程序仍然是出了名的困難。讓機器人具備學習的能力,就可以繞過那些通常需要耗費大量時間來完成特定任務的編程工作。這個演講將描述最近在深度強化學習(機器人通過自己的嘗試和錯誤學習)、學徒學習(機器人通過觀察人學習)和元學習(機器人學習學習)方面的進展。這項工作使機器人在操作、移動和飛行方面有了新的能力,這些領域的進步都是基于相同的方法。