過去十幾年,人類可以說是在機器智能面前節節退敗,屢敗屢戰。而多任務處理(multi-tasking),幾乎是為數不多可以讓我們“天生驕傲”的能力了。
比如,人可以同時打開8個網站、3份文檔和一個Facebook,即使正在專心處理其中一件事,只要突然收到一條回復或更新提醒,也能夠快速安排的明明白白。
對機器而言,要在同一時間完成這樣的任務顯然有點難。因此,多任務處理一直被視作是人類所獨有的的技能點。
然而,這個優勢似乎也快要失守了。
Deepmind一項最新的研究成果顯示,借助其開發的PopArt方法來訓練深度學習引擎,能夠培養出可進行多任務處理的智能體,并且在實際的表現中超越了人類!
讓機器“一心多用”的PopArt,究竟是如何工作的?
關于多任務學習的研究已經持續了大概20年之久,盡管一直沒能像單任務學習(如AlphaGo)那樣做出什么奪人眼球的成果,但顯然更符合我們對“機器模擬人腦”的想象。
畢竟在現實生活中,各種“學習任務”之間都有著千絲萬縷的聯系,比如當人在玩電子游戲時,圖像識別、任務理解、執行操作并追求收益最大化,這些都可以在瞬間完成的操作,并且在任何一個游戲中都可以如法炮制,而機器目前只能通過分解成單個任務去學習并處理。
怎樣指導機器在同一時間完成多個復雜任務,Deepmind提出了一個新的方法“PopArt”,據說可以讓機器在多任務處理上的成績超越人類。
如名字所示,PopArt(Preserving Outputs Precisely while Adaptively Rescaling Targets),即在自適應重新縮放目標的同時精確保留原有輸出。
有人可能會說,這句話里每個漢字我都認識,但湊在一起竟然完全不知道說的是啥?
不要方,我們今天就來“庖丁解牛”,告訴大家這個能夠讓機器“一心多用”的PopArt,究竟是何方神圣?
簡單來說,PopArt的工作機制就是在機器對不同任務的學習數據進行加權之前,先對數據目標進行自動的“歸一化”調整,再將其轉換成原始數據輸出給機器。
這一做法有兩個好處:
一是讓機器對不同獎勵大小和頻率的多個任務進行更穩健、一致的學習。
對于機器而言,多任務學習比單一任務學習更困難的最主要原因就是,多任務學習必須要將有限的資源分配給多個任務目標,但常規算法對不同任務設置的權重也有所不同。這就導致機器智能體會根據任務回報的多寡來選擇執行哪些任務。
舉個例子,同樣是A游戲,機器在處理《pong》(一款乒乓球游戲)時只能得到-1、0或+1的獎勵,而處理《吃豆人小姐》游戲時,則可以獲得上千個積分,機器自然會更專注于執行后者。
即使開發者將單個獎勵設置成一樣的,隨著不同游戲獎勵頻率的不同,差距還是會越來越大,依然會影響機器的判斷。
結果就是,這個智能體會在處理某些任務上表現越來越好,但在其他任務上卻越來越力不從心。
但PopArt可以很好地解決這個機器“偏心”的問題。
DeepMind將PopArt應用在自己最常用的深度強化學習智能體IMPALA上,讓它同時處理57個Atari經典游戲,結果令人震驚——
應用了PopArt的IMPALA,不僅分數遠遠高于原始IMPALA的表現,甚至超越了人類的成績!
下圖中可以看到,修正游戲數據權重后的IMPALA(藍色)性能表現接近于0%,與PopArt-IMPALA中位數101%的華麗數據形成了鮮明對比。
簡單來說,就是PopArt自適應調整了每個游戲中獎勵分支的大小,讓機器認為不同任務帶給自己的獎勵是相同的,擁有同等的學習價值,因此,盡管這57個游戲有著巨量的環境、不一樣的動態和完全不同的獎勵機制,但機器都能夠對它們“一視同仁”。
據我們所知,這還是當前單個智能體首次超越人類在多任務處理上的表現。
PopArt的第二重作用,則是能夠有效增加機器學習智能體的數據效率,降低訓練成本。
Deepmind發現,PopArt-IMPALA與像素控制技術相結合,只需要不到十分之一的數據量,就能達到原來的訓練效果,這使其數據效率大幅提升。
因此,PopArt-IMPALA在大型多任務訓練任務中,不僅比專家智能體DQN性能更高,而且更加便宜。
如果將訓練任務放到云端,PopArt-IMPALA的性能只用了2.5天就超過了DQN,GPU占用空間更小,直接促使訓練成本大幅降低。
Deepmind和OpenAI,技術大佬為何都對“多任務學習”情有獨鐘?
除了PopArt,今年早期,Deepmind還提出了另一種用于多任務訓練的新方法——Distral,通過捕捉不同任務之間的共同行為或特征,讓機器算法可以在被限制的條件下實現任務共享,從而進行同步強化學習。
和Deepmind一樣跟“多任務學習”死磕的還有OpenAI,則是利用迭代擴增方法,不給機器學習模型提供完整的標注數據,而是將每一項任務分解成小的子任務,再為子任務提供訓練信號,訓練AI去完成復雜任務。
此外,MIT、Apple等頂尖技術玩家都在搗鼓這項技術,然而如果你把這當做一個技術領域的“榮譽保衛戰”或者論文制造機,那就大錯特錯了。
隨著AI的泛在化越來越強,有越來越多的領域都亟待“多任務學習”能力來提供新的解決方案。
這意味著,人類不需要針對每一項任務都從頭開始訓練一個全新的智能體,而是可以構建一個通用的智能體,來支持多個應用之間的協同工作。
比如小到一臺電視,很多AI電視都整合了眾多功能,比如觀看視頻、天氣預報、事務提醒、網絡購物等等,如何在既不影響用戶看視頻,又能夠用語音喚醒其他功能?這就要依靠多任務并行處理。換句話說,不具備多任務學習能力的AI電視,有的只是一個“假腦子”。
大到一個城市。在眾多關于智慧城市的假想中,都少不了這樣一個場面:城市大腦將人、車、路數據都接入系統,生成一個交通實時大試圖,并以此完成交通系統的智能調度和管理,治療“交通病”。這意味著,城市大腦需要進行攝像頭識別、城市空間布局和設施配置、事件預警、政務服務等多個系統的學習,能夠發掘出這些子系統之間的關系,又能區分這些任務之間的差別。缺了任何一環,都有可能導致這個城市大腦做出“奇葩”的決策。
當然,對于研究者來說,在用每一點進步無限逼近人類心智的“珠穆朗瑪峰”。但對產業而言,任何新技術的落地都從來容不得一絲任性,因為每一顆種子都在等待豐收。
為了滿足這個前提,就意味著所采取的方法不能以無限制地增加GPU容量和訓練強度為代價。因為沒有企業或者機構愿意以一種不計成本的方式上馬AI,即便這個AI能夠處理多線程任務,那還不如“單任務AI+人工”來的更加現實。
目前看來,成本更低的PopArt大有可為。
說了這么多,回到最開始的問題,AI的多任務處理能力真的超越人類了嗎?
從苛刻的實驗室數字角度講,是的。但從廣泛定義的智慧角度看,機器的每一點進步都還依賴于不斷模擬和接近人腦的水平,距離否定人類本身的價值,還早著呢。
目前看來,處理多任務的學習能力更大的作用,還是提升AI在產業應用上的工程能力,用更高的智能為生活帶來便利。
評論
查看更多