日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

跟著AlphaGo 理解深度強化學習框架

 昵稱5fg62 2018-08-16

小編說:AlphaGo 這個被大家熱議過很久的主題,里面其實包含了非常深刻的機器學習智慧,是學習機器學習甚至是人類決策的絕好教材。機器學習是AlphaGo 取勝的關鍵,為什么它會發(fā)揮巨大作用,請看下文。

了解一門科學技術最好的方法就是找出其核心論文,讓我們看看AlphaGo 的核心論文是怎么解讀這個問題的。如果把你放在這樣一個位置,你會如何設計這盤游戲。

如果大家了解棋牌類游戲以及電腦與之對弈的歷史,就會非常清楚老派程序員的套路,也就會明白這類問題最簡單的辦法就是窮舉法,比如歷史上著名的八皇后問題,你需要在國際象棋棋盤上擺放八個皇后,使得她們各自不位于對方的縱線、橫線或?qū)蔷€上,你只需要按照一定的方法做一個循環(huán),從第一排往下一排遍歷,當碰見擺不開的情形時,就回到上一步重新擺,最后總可以擺出來。

跟著AlphaGo 理解深度強化學習框架

與之類似的方法稍作改進可以很好地解決國際象棋的問題,卻難以解決圍棋的問題,為什么?因為眾所周知,圍棋的維度實在太大了,每一次落子都有幾百(棋盤19*19 大?。┓N可能。設想假如一盤棋要在幾百步之后得出勝負,會有多少種可能性,確實很難通過任何和窮舉法沾邊的算法解決。

這里就涉及如何有效地減少搜索空間這個核心問題。這也是為什么一個下圍棋的問題需要用到機器學習,因為機器學習可以讓你通過有限數(shù)據(jù)推測所有其他可能(類似一個插值過程)。

在讓機器做這件事之前先看看人是怎么做的。我們無時無刻不在決策,也面臨如何減少搜索空間的問題。雖然人生有無限種可能,但大多數(shù)可能你連考慮都不會考慮。

我們?nèi)祟愑糜薮篮吐斆?、合理與不合理這些詞匯描述各種選擇的優(yōu)劣,并且大腦自動屏蔽大部分不合理的解釋。你是如何得到這些答案的呢?第一個就是通過常年的試錯來計算每個行為的結果,所謂一朝被蛇咬,十年怕井繩。另一個就是看書,和高手對話,直接學習他們的經(jīng)驗。

反過來就是機器學習的原理,首先說試錯學習,或者根據(jù)某種行為最終導致的結果來調(diào)整行為策略的方法,我們通常稱之為強化學習。

跟著AlphaGo 理解深度強化學習框架

強化學習如上圖,Agent 會根據(jù)環(huán)境給予的reward 調(diào)整action 的一個反饋系統(tǒng),最終實現(xiàn)利益最大化,難點在于Agent 的行為通常會改變環(huán)境,而環(huán)境又會影響行為策略。

具體到圍棋上,這個策略的核心是根據(jù)圍棋的特性:

(1)在每一步雙方信息完全已知;

(2)每一步的策略只需考慮這一步的狀態(tài)。

這允許機器學習用一個非常兇猛的簡化框架來解決這個問題,即馬爾科夫決策過程。也就是說,我們用一個離散的時間序列來表述狀態(tài)s,用另一個離散的時間序列表述行為a,兩個時間序列有著深刻的耦合關系,下一刻的狀態(tài)s(t+1)取決于此刻行為a(t)和狀態(tài)s(t),最終決定下一刻的行為a(t+1)。兩者間的關系即策略P(a(t)|s(t)),由于是馬爾科夫鏈,所以每一時刻的策略只與此刻狀態(tài)s(t)有關。各種棋類就是最明顯的馬爾科夫鏈。由于未來存在不確定性,因此策略本身也是一個概率分布函數(shù)的形式。最終我們要優(yōu)化,使得P(s|a)所得到的回報R(s)最大。馬爾科夫決策過程是在解決未來狀態(tài)不確定而行為和狀態(tài)又具有馬氏性時十分有利的方法。

解決馬爾科夫決策過程的一個簡單實用的算法叫作蒙特卡洛樹搜索(MCTS),如下圖。

跟著AlphaGo 理解深度強化學習框架

上圖描述了蒙特卡洛樹與它的四個步驟:選擇、擴張、模擬估值和結果回傳,對應一個經(jīng)典的強化學習框架。

蒙特卡洛是大名鼎鼎的隨機抽樣方法。提到樹,大家一定可以想到?jīng)Q策樹,樹的節(jié)點是某一刻的狀態(tài),枝杈代表一個決策。而這里的蒙特卡洛樹,就是用隨機抽樣的方法生成整個決策樹的過程。

假設電腦現(xiàn)在的狀態(tài)是s(t),那么你隨便扔個骰子走一步,然后電腦模擬的對手也扔個骰子隨便走一步,這樣下去,總有一刻會分出勝負,這個時候你回顧勝利和失敗的人的歷史走棋軌跡,贏的走法在其整個決策樹上的每個狀態(tài)(枝葉)都加一分,輸?shù)淖叻恳徊轿恢枚紲p一分,這個分數(shù)會影響下一次抽樣的概率,使得容易贏的步子會有更大概率取到。玩無數(shù)次后,就會選擇出特別容易贏的策略。這個過程酷似進化選擇算法,就是讓那些有優(yōu)勢的選擇有更高的繁殖子代概率,從而最終勝出,體現(xiàn)了生物和環(huán)境的博弈。

注:這里提個小問題,馬爾科夫決策過程威力巨大,而在現(xiàn)實決策里,你要去哪個大學上學,你要選哪個股票,都很難只看當下,這個框架還能用多少呢?

以蒙特卡洛樹為代表的強化學習在圍棋這種走法可能性超多的情況下,只能部分地減少搜索空間,使得電腦達到一個高級業(yè)余選手的水平,而如果要進一步減少搜索空間,應該怎么辦呢?人類減少搜索空間的一個重要方法是學習高手經(jīng)驗,背棋譜,看得多了,就有一種犀利的直覺走出一個妙招。轉(zhuǎn)化為數(shù)學語言,就是通過看棋譜,取得一個在某種局面下任意策略和最終贏率的對應關系,即使這個局面你從未見過。

注:我們經(jīng)常會覺得直覺這個東西好像是天上掉下來的異稟,實則恰恰相反,直覺才是最需要學習的。

讓機器來做就是有監(jiān)督學習的回歸算法,你要提取棋局的特征,算出對應每一個走法出現(xiàn)的概率P(a(t)|s(t)),然而圍棋棋局的特征實在太復雜,這時候我們的深度學習開始派上用場,它可以自發(fā)地學習事物的表征。

機器學習訓練的目標是使得數(shù)據(jù)被觀測到的概率最大, 所謂MaximumLikelihood,對于神經(jīng)網(wǎng)絡,就是網(wǎng)絡連接參數(shù)的調(diào)整。

深度學習的過程正如同我們見識一個東西多了,自發(fā)地開始具有舉一反三的能力,自然而然地把直覺加入了策略選擇,這時候你可以通過有限的經(jīng)驗把握無限。在訓練過程中,AlphaGo 不停地根據(jù)現(xiàn)有的局面預測專家可能會出的招,在經(jīng)過三千萬組數(shù)據(jù)的訓練后,深度學習可以達到55.7%的預測率,這個概率說明人類的意圖也并不難被猜中,這也是很多人說和AlphaGo 下棋如同和無數(shù)高手過招的原因。當然,這還不是訓練的終結,此處的神經(jīng)網(wǎng)絡只是在描摹高手的動作,而之后我們要讓它能贏,好比在實踐中理解和優(yōu)化高手的招術,這就是訓練的第二步,用強化學習方法,訓練網(wǎng)絡連接系數(shù),具體方法是讓現(xiàn)有的策略網(wǎng)絡和隨機選出的一個之前的策略網(wǎng)絡進行左右互搏,然后把勝負結果回傳到每一步的策略上,進行梯度訓練。經(jīng)過這個過程,策略網(wǎng)絡可以成功戰(zhàn)勝一些中級愛好者水平的算法和自己之前在描摹各種高手時候的狀態(tài)。

策略網(wǎng)絡的思維是計算每種走法出現(xiàn)的概率。

跟著AlphaGo 理解深度強化學習框架

跟著AlphaGo 理解深度強化學習框架

訓練的最后一步是估值網(wǎng)絡。估值網(wǎng)絡是做什么的呢?首先,在一個強化學習框架下,你需要知道每個行為所對應的確定回報,難點在于圍棋是下完棋才有確定回報的,想想圍棋步驟中的無限多可能性以及得到結果可能的步數(shù)就令人生畏,此處深度學習算法的作用正是不需要走完就巧妙地估計出這一步對應的盈利期望,過程需要用一個深度網(wǎng)絡通過強化學習的框架來進行。估值網(wǎng)絡的本質(zhì)在于建立現(xiàn)有行為和長遠收益的聯(lián)系,有人稱之為看趨勢和全局觀。

公式如下,訓練要解決的問題是,求得狀態(tài)S 下采取策略p 的最終收益。

跟著AlphaGo 理解深度強化學習框架

估值網(wǎng)絡的效果圖如下。

跟著AlphaGo 理解深度強化學習框架

那么問題來了,蒙特卡洛樹和深度學習兩者是如何天衣無縫地結合起來的呢?這就是整個AlphaGo 設計最巧妙的地方。首先蒙特卡洛樹可以拆解為4 步:

第一步,Selection,在已有的選項(經(jīng)歷過的)中進行抽樣選擇。

第二步,Expansion,走到一個先前從未經(jīng)歷的局面上,探索新行為,即生成新的枝杈。

第三步,Evaluation,得到新行為的回報。

第四步,Backup,把回報的結果反向傳遞給策略。深度學習的結果可以被非常完美地嵌入蒙特卡洛搜索的步驟里,首先,在Expansion 的階段,我們不用從零開始隨機生成一個前所未有的狀態(tài),而是根據(jù)前人經(jīng)驗訓練的策略網(wǎng)絡直接生成新狀態(tài),海量減小了無用的搜索。然后,在Evaluation 步驟,我們無須跑完整個比賽,而是通過深度學習的結果直接算出這個新舉措可能的回報(此處即估值網(wǎng)絡的作用),這個計算出的回報,會在最終游戲完成的時候與真正的結果相結合,從而完成學習的步驟。

深度學習嵌入蒙特卡洛樹搜索的方法如下。

跟著AlphaGo 理解深度強化學習框架

與戰(zhàn)勝國際象棋大師的深藍不同,在AlphaGo 這里,機器學習發(fā)揮了巨大的作用,因為AlphaGo 的策略和智能主要是在不停地看棋譜和左右互搏中進化出來的,對于圍棋這樣規(guī)則非常復雜的東西,設計一套必勝規(guī)則幾無可能,只有機器學習(強化學習)的進化和自我改進思想才是最終取勝的法器。因此AlphaGo 的技術對其他人工智能非常有啟發(fā)。

從整個解析來看,其實訓練AlphaGo 的算法思路并不十分復雜,用一句話總結,就是站在巨人的肩膀上迅速試錯。這可能也是各種人生決策的最好方法吧。然而,我們?nèi)祟悰]有那么多時間玩Simulation,也沒有那么多GPU 進行并行運算,所以我們其實尋找的是低搜索成本的近似解,謂之次優(yōu)解。


本文選自《機器學習vs復雜系統(tǒng)》一書,作者許鐵,電子工業(yè)化版社2018年8月出版。

這是一本有關人工智能、機器學習、深度學習、復雜系統(tǒng)的科普讀物,本書從跨學科視角來看待人工智能這個技術性的學科。圍繞用數(shù)學模型預測未來這一主題,介紹算法,主要包括現(xiàn)在流行的機器學習和深度學習算法,以及算法要解決問題本身的復雜性。復雜的問題,需要復雜的算法,而算法設計背后的老師正是自然界的復雜性本身。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多