尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
導讀
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是GoogleDeepMinwd項目開發的最新的升級版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來說,同樣適用。
來源:大數據文摘