從NeurIPS 2018看AI發展路線!

摘要: 從NeurIPS 2018看AI發展路線!

去年9月份的時候,我發表過一份技術報告,闡述了我認爲人工智能最重要的挑戰,大概有如下四個方面:git

  • 可伸縮性(Scalability)**計算或存儲的成本不與神經元的數量成二次方或線性比例的神經網絡;
  • 持續學習(Continual Learning)**那些必須不斷地從環境中學習而不忘記以前得到的技能和重置環境能力的代理;
  • 元學習(Meta-Learning)**爲了改變本身的學習算法而進行自我參照的代理;
  • 基準(Benchmarks)**具備足夠複雜的結構和多樣性的環境,這樣智能代理就能夠派上用場了,而無需對強感應誤差進行硬編碼;

在2018年NeurIPS會議期間,我調查了目前其餘研究人員關於這些問題的方法和觀點,如下是報告的具體內容:github

可伸縮性

很明顯,若是咱們用人工神經網絡來實現人類大腦中所發現的1000億個神經元,標準的二維矩陣乘積並無多大的用處。算法

模塊層由一個模塊池和一個控制器組成,控制器根據輸入來選擇要執行的模塊緩存

爲了解決這個問題,我在2018年的NeurIPS上發表了研究性論文《模塊化網絡:學習分解神經計算》。不評估對於每一個輸入元素的整個ANN,而是將網絡分解爲一組模塊,其中只使用一個子集,這要取決於輸入。這個過程是受人腦結構的啓發,在其中咱們使用了模塊化,這也是爲了改善對環境變化的適應能力和減輕災難性的遺忘。在這個方法中,咱們學習到了這些模塊的參數,以及決定哪些模塊要一塊兒使用。以往有關條件計算的文獻都記載着許多模塊崩潰的問題,即優化過程忽略了大部分可用的模塊,從而致使沒有用最優的解決辦法。咱們基於指望最大化的方法能夠防止這類問題的發生。網絡

遺憾的是,強行將這種分離劃分到模塊有其自身的問題,咱們在《模塊化網絡:學習分解神經計算》中相繼討論了這些問題。相反地,咱們可能會像我在關於稀疏性的技術報告中討論的那樣,設法在權重和激活中利用稀疏性和局部性。簡而言之,咱們只想對少數非零的激活執行操做,丟棄權重矩陣中的整行。此外,若是連通性是高度稀疏的,那麼咱們實際上能夠將二次方成本降到一個很小的常數。這種的條件計算和未合併的權值訪問在當前的GPU上實現的成本很是的高,一般來講不太值得操做。less

Nvidia處理條件計算和稀疏性

NVIDIA一個軟件工程師說,目前尚未計劃建造可以以激活稀疏性的形式而利用條件計算的硬件。主要緣由彷佛是通用性與計算速度之間的權衡。爲這個用例搭建專用硬件所花費的成本過高了,由於它有可能會限制其它機器學習的應用。相反,NVIDIA目前從軟件的角度更加關注權重的稀疏性。機器學習

GraphCore處理的條件計算和稀疏性

GraphCore搭建的硬件容許在靠近處理單元的緩存中向前遷移期間存儲激活,而不是在GPU上的全局存儲內存中。它還能夠利用稀疏性和特定的圖形結構,在設備上編譯並創建一個計算圖形。遺憾的是,因爲編譯成本過高,這個結構是固定的,不容許條件計算。分佈式

做爲一個總體的判斷,對於範圍內的條件計算彷佛沒有對應的硬件解決方案,目前來講咱們在很大程度上必須堅持多機器並行的方式。在這方面,NeurIPS發佈了一種全新的分配梯度計算方法—Mesh-Tensorflow,該方法不只能夠橫跨多機進行計算,還能夠跨模型計算,甚至容許更大的模型以分佈式的方式進行訓練。ide

持續學習

長期以來,我一直主張基於深度學習的持續學習系統,即它們可以不斷地從經驗中學習並積累知識,當新任務出現的時候,這些系統能夠提供以前積累的知識以幫助學習。自己,它們須要可以向前遷移,以及防止災難性的遺忘。NeurIPS的持續學習研討會正是討論這些問題的。雖然這兩個標準也許是不完整的,可是多個研究者(Mark Ring,Raia Hadsell)提出了一個更大的列表:模塊化

  • 向前遷移
  • 向後遷移
  • 無災難性的遺忘
  • 無災難性的衝突
  • 可擴展(固定的存儲和計算)
  • 能夠處理未標記的任務邊界
  • 可以處理偏移
  • 無片斷
  • 無人控制
  • 無可重複狀態

在我看來,解決這個問題的方法有六種:

  • (部分)重放緩衝區
  • 從新生成之前經驗的生成模型
  • 減緩重要權重的訓練
  • 凍結權重
  • 冗餘(更大的網絡->可伸縮性)
  • 條件計算(->可擴展性)

以上這些方法的任何一個都不能處理上述持續學習列表裏的全部問題。遺憾的是,這在實踐中也是不可能的。在遷移和內存或計算之間老是有一個權衡,在災難性遺忘和遷移或者內存或者計算之間也老是有一個權衡。所以,很難徹底地、定量地衡量一個代理的成功與否。相反,咱們應該創建基準環境,要求持續學習代理具有咱們所須要的能力,例如,在研討會上展現的基於星際爭霸(Starcraft)的環境。

此外,Raia Hadsell認爲,持續學習涉及到從依賴i.i.d.(Independent and Identically distributed)數據的學習算法轉向從非平穩性分佈中學習。尤爲是,人類擅長逐步地學習而不是IID。所以,當遠離IID需求時,咱們有可能可以解鎖一個更強大的機器學習範式。

論文《經過最大限度地遷移和最小化干擾的持續學習Continual Learning by Maximizing Transfer and Minimizing Interference)》代表REPTILE(MAML繼承者)和減小災難性遺忘之間有着一個有趣的聯繫。從重放緩衝區中提取的數據點的梯度(顯示在REPTILE)之間的點積致使梯度更新,從而最小化干擾並減小災難性遺忘。

討論小組內有人認爲,咱們應該在控制設置環境中進行終身學習實驗,而不是監督學習和無監督學習,以防止算法的開發與實際應用領域之間的任何不匹配。折現係數雖然對基於貝爾曼方程(Bellman Equation)的學習是有幫助的,但對於更現實的加強學習環境設置來講可能存在問題。此外,任何學習,特別是元學習,都會因爲學分分配而受到固有的限制。所以,開發具備低成本學分分配的算法是智能代理的關鍵。

元學習

元學習就是關於改變學習算法其自己。這多是改變一個內部優化循環的外部優化循環,一個能夠改變自身的自引用算法。許多研究人員還關注着快速適應性,即正向遷移,到新的任務或者環境等等。若是咱們將一個學習算法的初始參數看做它本身的一部分,則能夠將其視爲遷移學習或者元學習。Chelsea Finn的一個最新算法—MAML(未知模型元學習法),他對這種快速適應性算法產生了極大的興趣。例如,MAML能夠用於基於模型的強化學習,其中的模型能夠快速地進行動態改變。

在進化策略梯度(Evolved Policy Gradients ,EPG)中,損失函數使用隨機梯度降低法優化策略的參數,同時損失函數的參數也改進了。

一個有趣的想法是代理軌跡和策略輸出的可區分損失函數的學習。這容許在使用SGD來訓練策略時,對損失函數的幾個參數進行改進。與此同時,進化策略梯度的做者們代表了,學習到的損失函數經過回報函數進行了泛化,並容許有快速適應性。它的一個主要問題是學分分配很是緩慢:代理必須使用損失函數進行徹底地訓練,以得到元學習者的平均回報(適合度)。

對於學習過的優化器的損失狀況變得更加難以控制

我在元學習研討會上的另外一個有趣發現是元學習者損失狀況的結構。Luke Metz在一篇關於學習優化器的論文中指出,隨着更新步驟的展示,優化器參數的損失函數變得更加複雜。我懷疑這是元學習算法的廣泛行爲,參數值的微小改變能夠關係到最終表現中的巨大變化。我對這種分析很是感興趣。在學習優化的案例中,Luke經過變分優化(Variational Optimization)—進化策略的一種原則性解釋,以此緩和損失狀況來解決這個問題。

基準

目前大多數強化學習算法都是以遊戲或模擬器爲基準環境的,好比ATARI 或者是Mujoco。這些是簡單的環境,與現實世界中的複雜性幾乎沒什麼類似之處。研究人員常常嘮叨的一個主要問題是,咱們的算法來自低效的樣本。經過非策略優化和基於模型的強化學習,能夠更有效地利用現有數據,從而部分解決這一問題。然而,一個很大的因素是咱們的算法沒有以前在這些基準中使用過的經驗。咱們能夠經過在算法中手工概括誤差來避開這一問題,這些算法反映了某些先驗知識,可是搭建容許在將來能夠利用知識積累的環境有可能更有趣。據我所知,直到如今尚未這種基準環境。雷艇(Minecraft)模擬器多是最接近這些要求的了。

持續學習星際爭霸(Starcraft)環境是一個以很是簡單的任務開始的課程。對於如此豐富的環境,另一種選擇是創建明確的課程,如前面提到的星際爭霸環境,它是由任務課程組成的。這在必定程度上也是Shagun Sodhani在他的論文《Environments for Lifelong Reinforcement Learning》。他在清單上列出了:

  • 環境多樣性
  • 隨機性
  • 天然性
  • 非平穩性
  • 多形式
  • 短時間和長期目標
  • 多代理
  • 因果相互影響

遊戲引擎開發商Unity3D發佈了一個ML-Agents工具包,用於在使用Unity的環境搭建中進行訓練和評估代理。通常來講,現實環境搭建的一個主要問題是需求與遊戲實際設計有本質的不一樣:爲了防止過擬合,重要的是,在一個廣闊的世界裏,物體看起來都是不同的,所以不能像在電腦遊戲中常常作的那樣被複制。這意味着爲了真正的泛化,咱們須要生成的或精心設計的環境。

最後,我相信可使用計算來生成非平穩環境,而不是經過手動來搭建。例如,這有多是一個具備與現實世界相似環境的物理模擬器。爲了節省計算資源,咱們也能夠從基於三維像素的簡化工做開始。若是這個模擬過程呈現了正確的特性,咱們有可能能夠模擬一個相似於進化的過程,來引導一個非平穩的環境,開發出許多相互影響的生命形式。這個想法很好地擬合了模擬假設(simulation hypothesis)理論,而且與Conway’s Game of Life有必定的聯繫。這種方法的主要問題是產生的複雜性與人類已知的概念沒有類似點。與此同時,由此產生的智能代理將沒法遷移到現實世界中。最近,我發現Stanley和Clune的團隊在他們的論文《假想:不斷地生成愈來愈複雜和多樣化的學習環境(POET: Endlessly Generating Increasingly Complex and Diverse Learning Environments)》中已經部分地實現了這個想法。環境是非平穩性的,能夠被看做是一個用於最大化複雜性和代理學習進程的代理。他們將這一觀點稱爲開放式學習,我建議你閱讀一下這篇文章



本文做者:【方向】

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索