人工智能應用案例學習6

此文也是接續前文繼續學習Go Further在githup提供的學習資料,需要不斷完善理解建模思想。

圍棋建模方案優化:

接上文提到使用CNN模仿人類下棋構建的模型存在學會臭棋的問題,據Aja Huang本人說,這個網絡的棋力大概相當于業余6段所有的的人類選手,遠遠未能超過當時最強的圍棋電腦程序CrazyStone。Aja Huang的老師Remi Colulum在2006年對圍棋AI做出的另一大重要突破《Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search》,也就是蒙特卡洛搜索樹(Monte-Carlo Tree Search)。

蒙特卡洛搜索樹(Monte-Carlo Tree Search)基本思想是:

首先模擬一盤對決,使用的思路是:隨機。

當面對一個空白棋盤s0,最初對棋盤一無所知,假設所有落子的方法分值都相等,并設為1。

之后,隨機從361種方法(即棋盤位置)中選一種走法a0,在這一步后,棋盤狀態變為 s1,之后假設對方也和自己一樣,隨機走了一步,此時棋盤狀態變為s2。

重復以上步驟直到 sn,并且雙方分出勝負,此時便完整的模擬完了一盤棋,用變量r記錄此輪下棋結果,勝利記為1,失敗則為0。

那么此行為可轉化為,如果這一盤贏了,那意味著這一連串的下法比對面要明智一些,畢竟最后贏了,那么把這次落子方法 (s0,a0)記下來,并把它的分值變化:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 公式1:新分數=初始分數+r

同理,可以把之后所有隨機出來的落子方法 (si,ai)都應用公式1,即都加1分。之后開始第二次模擬,這一次,我們對棋盤不是一無所知了,至少在 s0狀態我們知道落子方法 a0的分值是2,其他都是1,我們使用這個數據的方法是:在這次隨機中,我們隨機到a0狀態的概率要比其他方法高一點。

之后,我們不斷重復以上步驟,這樣,那些看起來不錯(以最后的勝負來作為判斷依據)的落子方案的分數就會越來越高,并且這些落子方案也是比較有前途的,會被更多的選擇。

如上述公式所述,n=19(棋盤大小),每一個狀態 s都有一個對應的每個落子點a(a也是19*19個狀態)的分數,只要模擬量足夠多,那么可以覆蓋到的 s狀態就越多,漏洞(未覆蓋到的位置狀態)就越來越小。

最后,當進行了10萬盤棋后,在此狀態選擇分數最高的方案落子,此時,才真正下了這步棋。這種過程在論文里被稱為Rollout。

Aja Huang很快意識到這種方法的缺陷在哪里:初始策略(或者說隨機的落子方式)太過簡單。人類對每種s(棋型)都要更強的判斷能力,那么我們是否可以用 P(s)來代替隨機呢?

Aja Huang改進了MCTS,每一步不使用隨機,而是現根據 P(s)(備注:此處P(s)是前文提到的模擬人類棋譜學習到的每個s對應的a)計算得到a可能的概率分布,以這兒概率為準來挑選下一個a。一次棋局下完之后,新分數按照下面的方式來更新

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 公式2:新分數=調整后的初始分+通過模擬的贏棋概率

如果某一步被隨機到很多次,就應該主要依據模擬得到的概率而非 P(s),就是說當盤數不斷的增加,模擬得到的結果可能會好于P(s)得到的結果。

所以 P(s)的初始分會被打個折扣,這也是公式2中的調整后的初始分的由來

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 公式3:調整后的初始分=P(s)/(被隨機到的次數+1)

如此一來,就在整張地圖上利用P(s)快速定位了比較好的落子方案,也增加了其他位置的概率。實際操作中發現,此方案不可行,因為計算這個P(s) 太慢了太慢了(此處所指太慢不是太理解,可能是指CNN訓練慢,但是據我了解提前訓練好之后是可直接使用結果,不需要在算的,此處先跳過留后續搞明白),一次P(s)的計算需要3ms,隨機算法1us,慢了3000倍,所以,Aja huang訓練了一個簡化版本的P(s),把神經網絡層數、輸入特征減少,耗時下降到2us,基本滿足了要求。

更多的策略是,先以 P(s)開局,走前面大概20步,之后再使用 P(s)走完剩下的到最后。兼顧速度和準確性。綜合了深度卷積神經網絡和MCTS兩種方案,此時的圍棋程序已經可以戰勝所有其他電腦,雖然和其他人類職業選手還有一定的差距。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容

  • 這篇文章以比較通俗的語言簡單介紹了AlphaGo的工作原理,可以先看看了解大概,會發現AlphaGo也沒有那么神秘...
    Founting閱讀 13,231評論 0 7
  • 圍棋建模方案分析: 通過上篇文章定義可以知道,在看到s之后如何決定a是需要行動指導方法的,對于人類來說就是通過不斷...
    ericblue閱讀 413評論 1 0
  • 一. 增強學習簡介 1.1 什么是增強學習? 機器學習的算法可以分為三類:監督學習,非監督學習和增強學習。 增強學...
    阿阿阿阿毛閱讀 31,261評論 0 25
  • 第七章 透視一本書 分析閱讀規則: 1.先檢視閱讀一遍 2.使用一個單一的句子,或一小段文字來敘述整本書的內容。-...
    阿特蜜絲有點high閱讀 183評論 0 0
  • 在時間的面前,我們卑微地無地自容。隨著年紀漸長,我們經歷著一個又一個的分水嶺。 1. 2016,與往年相比,最大的...
    世界在你閱讀 1,421評論 0 1