Deepmind在Alphago上的成就把強化學習這一方法帶入了人工智能的主流學習領域,【從零開始學習】也似乎成為了拋棄人類先驗經驗、獲取新的技能并在各類游戲擊敗人類的“秘訣”。來自斯坦福的Andrey Kurenkov對強化學習的這一基礎提出了質疑。本文中,他從強化學習的基本原則及近期取得的成就說起,肯定了其成果,也指出了強化學習的基礎性局限。大數據文摘對本文進行了精華編譯。
玩過棋牌游戲么?
假設你不會玩,甚至從來沒有接觸過。
現在你的朋友邀請你和他對戰一局,并且愿意告訴你玩兒法。
你的朋友很耐心,他手把手教了你下棋的步驟,但是卻始終不告訴你他所走每一步的含義,只在最后告訴你這盤棋的輸贏結果。
對局開始。由于“沒經驗”,你一直輸。但在經歷了多次“失敗的經驗”后,你漸漸地發現了一些規律。
幾個禮拜過去了,在幾千把游戲實戰的“磨練”下,你終于可以在對戰中獲得勝利。
挺傻的對吧?為什么你不直接問為什么下這個棋以及怎么下棋呢?
但是,這種學下棋的方法其實是今天大部分的強化學習方法的縮影。
什么是強化學習?
強化學習是人工智能基本的子領域之一,在強化學習的框架中,智能體通過與環境互動,來學習采取何種動作能使其在給定環境中的長期獎勵最大化,就像在上述的棋盤游戲寓言中,你通過與棋盤的互動來學習。
在強化學習的典型模型中,智能體只知道哪些動作是可以做的,除此之外并不知道其他任何信息,僅僅依靠與環境的互動以及每次動作的獎勵來學習。
先驗知識的缺乏意味著角色要從零開始學習。我們將這種從零開始學習的方法稱作“純強化學習(Pure RL)”。
純強化學習在西洋雙陸棋和圍棋這類游戲中被廣泛應用,同時也應用于機器人技術等領域。
在傳統的強化學習中,只有在最終狀態才有非零獎勵。這一領域的研究最近因為深度學習而再次受到關注,但是其基本的模型卻并沒有什么改進。
畢竟這種從零開始的學習方法可以追溯到強化學習研究領域的最初創建時期,也在最初的基本公式中就被編碼了。
所以根本的問題是:如果純強化學習沒有什么意義,那么基于純強化學習來設計AI模型還合理嗎?
如果人類通過純強化學習來學習新的棋類游戲聽起來如此荒謬,那我們是不是應該考慮,這是不是一個本身就有缺陷的框架,那么AI角色又如何通過這一框架進行有效的學習呢?不依靠任何先前經驗或指導,僅僅靠獎勵信號來學習,是否真的有意義呢?
強化學習的基本公式
純強化學習是否真的有意義?
關于這個問題,強化學習專家們眾說紛紜:
有!純強化學習當然有意義,AI智能體不是真正的人類,不用像我們一樣學習。何況純強化學習已經可以解決很多復雜問題了。
沒有!從定義上看,AI研究包括讓機器也能做目前只有人類能做的事情,所以跟人類智能來比較很合理。至于那些純強化學習現在能解決的問題,人們總是忽視一點:那些問題其實沒有它們看起來那么復雜。
既然業內無法達成共識,那就讓我們來用事實說話。
基于純強化學習,以DeepMind為代表的業內玩家已經達成了很多“炫酷”的成就:
1)DQN (Deep Q-Learning)—— DeepMind的著名研究項目,結合了深度學習與純強化學習,并加入了一些別的創新,解決了很多以前解決不了的復雜問題。這個五年前的項目大大提高了人們對強化學習的研究興趣。
毫不夸張的說,DQN是憑借一己之力重燃了研究者對于強化學習的熱情。雖然DQN只有幾項簡單的創新,但是這幾項創新對于深度強化學習的實用性至關重要。
雖然這個游戲現在看起來非常簡單,僅僅是通過像素輸入來學習,但在十年前,玩這個游戲是難以想象的。
2)AlphaGo Zero和AlphaZero——純粹用于戰勝人類的圍棋、國際象棋及日本將棋的強化學習模型
首先來進行一個科普:AlphaGo Zero是谷歌DeepMinwd項目開發的最新的升級版AlphaGo。不同于原始的結合了監督學習和強化學習方式的AlphaGo,AlphaGo Zero單純依靠強化學習和自我對弈來進行算法學習。
因此,盡管該模型也利用了一個預先提供的算法規則,即棋類的游戲規則和自我對弈來進行更可靠而持續的迭代更新,AlphaGo Zero更遵循純強化學習的整體方法論:算法從零開始,通過學習結果的獎勵信號反饋進行迭代。
由于它不是從人類身上直接學習游戲規則的,AlphaGo Zero也因此被許多人認為是一個比AlphaGo更具顛覆性的算法。然后就誕生了AlphaZero:作為一個更通用的算法,它不僅可以學習如何下圍棋,還可以學習下國際象棋和日本將棋。
這是史上第一次出現用單一算法來破解象棋和圍棋的算法。并且,它并沒有像過去的深藍計算機或者AlphaGo那樣對任何一種游戲規則做特殊定制。
毫無疑問,AlphaGo Zero和AlphaZero是強化學習發展史上里程碑式的案例。
歷史性的時刻——李世乭輸給了AlphaGo
3)OpenAI的Dota機器人–由深度強化學習算法驅動的AI智能體,可以在流行的復雜多人對戰游戲Dota2上擊敗人類。OpenAI在2017年在變化有限的1v1游戲中戰勝了職業玩家的戰績已經足夠讓人驚嘆。最近,它更是在一局復雜得多的5v5比賽中戰勝了一整隊人類玩家。
這一算法也與AlphaGo Zero一脈相承,因為它不需要任何人類知識,純粹通過自我對弈對算法進行訓練。在下面的視頻里,OpenAI自己出色地解釋了它的成就。
毫無疑問,在這種以團隊合作為基礎的高度復雜的游戲中,算法取得的好成績,遠遠優于先前在Atari電子游戲和圍棋上取勝的戰績。
更重要的是,這種進化是在沒有任何重大算法進步的情況下完成的。
這一成就歸功于驚人的計算量、已經成熟的強化學習算法、以及深度學習。在人工智能業內,大家普遍的共識是Dota機器人的勝利是令人驚嘆的成就,也是強化學習一系列重要里程碑的下一個:
沒錯,純強化學習算法已經取得了很多成就。
但仔細一想,我們就會發現,這些成就其實也“不過爾爾”。
純強化學習的局限性
讓我們從DQN開始回顧,在剛剛提到的這些案例中,純強化學習到底存在哪些局限性。
它可以在很多Atari游戲中達到超人的水平,但一般來說,它只能在基于反射的游戲中做得很好。而在這種游戲中,你其實并不需要推理和記憶。
即使是5年后的今天,也沒有任何一種純強化學習算法能破解推理和記憶游戲;相反,在這方面做得很好的方法要么使用指令,要么使用演示,而這些在棋盤游戲中也行得通。
盡管DQN在諸如Breakout之類的游戲中表現出色,但它仍然無法完成像蒙特祖瑪的復仇這樣相對簡單的游戲。
而即使是在DQN表現得很好的游戲里,和人類相比,它還是需要大量的時間和經驗來學習。
同樣的局限性在AlphaGo Zero和AlphaZero中也存在。
也就是說,它的每一種性質都使學習任務變得容易:它是確定性的、離散的、靜態的、完全可觀察的、完全已知的、單智能體的、適用于情景的、廉價的、容易模擬的、容易得分的……
但在此前提下,對于圍棋游戲來說,唯一的挑戰是:它具有龐大的分支因子。
所以,盡管圍棋可能是easy模式下最難的一道題,但它仍然是easy模式。而大多數研究人員都認識到,現實世界的多數問題比圍棋這類簡單的游戲復雜得多。
盡管有很多卓越的成就,但AlphaGo的所有變體在本質上仍與“深藍”(Deep Blue)相似:它是一個經過多年設計的、投入高達數百萬美元的昂貴系統,卻純粹只是為了玩一款抽象的棋盤游戲——除此之外別無其他用途。
現在到Dota了。
是的,這是一個比圍棋復雜得多的游戲,缺乏很多使游戲變得簡單的特性:它不是離散的、靜態的、完全可觀察的、單智能體的或適用于情景的——這是一個極具挑戰性的問題。
但是,它仍然是一款很容易模擬的游戲,通過一個漂亮的API來控制——它完全消除了需要感知或運動控制。因此,與我們每天在真實世界中解決問題時所面臨的真正的復雜性相比,它依然是簡單的。
它仍然像AlphaGo一樣,需要大規模投資。許多工程師為了得到一個算法,使用長到離譜的時間來解決這個問題。這甚至需要數千年的游戲訓練并使用多達256個的GPU和128000個CPU核。
因此,僅僅因為強化學習的這些成果就認為純強化學習很強大,是不正確的。
我們必須要考慮的是,在強化學習領域,純強化學習可能只是最先使用的方法,但也許,它不一定是最好的?
純強化學習的根本缺陷——從零開始
是否有更好的方法讓AI智能體學習圍棋或Dota呢?
“AlphaGo Zero”這個名字的含義就是指模型從零開始學習圍棋。讓我們回憶一下開頭講的那個例子。既然試著從頭學起棋盤游戲而不作任何解釋是荒謬的,那么AI為什么還一定要從零開始學習呢?
讓我們想象一下,對于人類來說,你會如何開始學習圍棋呢?
首先,你會閱讀規則,學習一些高層次的策略,回想過去你是如何玩類似游戲的,然后從高手那里獲取一些建議。
因此,AlphaGo和OpenAI Dota機器人從零開始學習的限制,導致他們和人類學習相比,依靠的是許多數量級的游戲指令和使用更原始的、無人能及的計算能力。
AlphaGo Zero的進展。請注意,要達到ELO分數為0,它需要一整天的時間和成千上萬次的游戲(而即使是最弱的人也能輕松做到)。
公平地說,純強化學習可以合理地用于諸如持續控制之類的“狹義”任務,或者最近的復雜游戲,如Dota或星際爭霸。
然而,隨著深度學習的成功,AI研究社區現在正試圖解決越來越復雜的任務,這些任務必須面對現實世界中到復雜性。正是這些復雜性,我們可能需要一些超越純強化學習的東西。
那么,讓我們繼續討論我們的修正問題:純強化學習,以及總體上從零開始學習的想法,是完成復雜任務的正確方法嗎?
我們還應該堅持純強化學習嗎?
乍一看,這個問題的答案也許是:應該。為什么這么說呢?
從零開始的學習意味著它沒有任何先入為主的主觀因素,這樣的話,經過學習的人工智能會比我們更加優秀,就像AlphaGo Zero一樣。畢竟,如果人類的直接存在錯誤,那不就限制了機器的學習能力了么?
隨著深度學習方法的成功,這個觀點已經成為主流,雖然訓練模型的數據量驚人,但是我們依舊只給予少量的先驗知識。
以前的非傳統語音識別和端對端深度學習方法的圖例,后者有更好的表現,并成為了現代語音識別的基礎。
不過,讓我們重新審視這個問題:結合人類的先驗知識就一定會限制機器的學習能力么?
答案是否定的。也就是說,我們可以在深度學習的框架下(也就是只由數據出發),對手頭的任務下達一定的指示,而不至于限制機器的學習能力。
目前,這個方向已經出現了諸多研究,相信這樣的技術也能很快被應用到實際例子中。
比如像AlphaGo Zero這樣的算法,我們大可不必從零開始學習,而是在不限制其學習能力的前提下加入人類知識的指導。
即使你覺得這個方向不靠譜,堅持要從零學習,那純強化學習就是我們最佳的選擇嗎?
以前的話,答案是毋庸置疑的;在無梯度優化的領域中,純強化學習是理論最完備而方法最可靠的。
不過近期很多文章都質疑這個論斷,因為他們發現了相對簡單的方法(而且總體而言沒那么受到重視的)、基于進化策略的方法在一些典型的任務中似乎和純強化學習表現得一樣好:
《Simple random search provides a competitive approach to reinforcement learning》
《Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning》
大數據文摘微信公眾號后臺回復“缺陷”下載這兩篇論文。
Ben Recht是最優化算法的理論與實踐研究的帶頭人,他總結說:
我們發現隨機搜索在簡單線性問題中比強化學習更加優秀,比如策略梯度。不過,當我們遇到更加困難的問題時,隨機搜索就會崩潰嗎?并沒有。
因此,并不能說強化學習是從零學習的最佳方法。
回到人類從零學習的問題上來,人類學習一個新的復雜技巧時就沒有任何先驗知識嗎(比如組裝一個家具或駕駛汽車)?其實并不是這樣子的,對不對?
也許對于一些非常基礎的問題來說(比如嬰兒要學習的),我們可以從零開始,使用純強化學習,但是對于AI領域中的很多重要問題,從零開始并沒有特別的優勢:我們必須清楚,我們想要AI學會什么,而且必須要提供這方面的演示和指導。
實際上,目前人們廣泛認為,從零開始學習是強化學習模型受到限制的主要原因:
目前的AI是“數據依賴”的——大多數情況下,AI需要海量的數據才能發揮它的作用。這對于純強化學習技術來說非常不利。回想一下,AlphaGo Zero需要上百萬的對局來達到ELO分數為0的水平,而人類用很少的時間就能達到這個水平。顯然,從零開始學習是效率最低的一種學習方法;
目前的AI是不透明的——在多數情況下,對于AI算法的學習,我們只有高層次的直覺。對于很多AI問題,我們希望算法是可預測和可解釋的。但是一個什么都從零開始學習的巨型神經網絡,其解釋性和預測性都是最差的,它只能給出一些低層次的獎勵信號或是一個環境模型。
目前AI是狹隘的——在很多情況下,AI模型只能夠在特定領域表現的非常好,而且非常不穩定。從零開始學習的模式限制了人工智能學習能力。
目前的AI是脆弱的——AI模型只能把海量數據作為無形的輸入進行泛化,但是結果非常不穩定。因此,我們只能知道我們要AI智能體學習的是什么。
如果是一個人,那么在開始學習前,應該能夠對任務進行解釋并提供一些建議。這對于AI來說,同樣適用。
-
人工智能
+關注
關注
1791文章
47183瀏覽量
238247 -
大數據
+關注
關注
64文章
8882瀏覽量
137396 -
強化學習
+關注
關注
4文章
266瀏覽量
11246
原文標題:非得從零開始學習?扒一扒強化學習的致命缺陷
文章出處:【微信號:CAAI-1981,微信公眾號:中國人工智能學會】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論