
據AI科技評論報道。
為了徹底揭開人機大戰的奧秘,地平線大牛講堂有幸邀請到 UEC 曾經的打入決賽的隊伍 —— Facebook 圍棋 AI 程序 DarkForest 的首席工程師及第一作者田淵棟博士為我們一探究竟,本文由奕欣和亞萌整理,并由田老師做了審核和編輯,特此感謝。
嘉賓介紹
田淵棟,Facebook 人工智能研究院研究員,Facebook 圍棋 AI 程序 DarkForest 首席工程師及第一作者,卡耐基梅隆大學機器人研究所博士,曾擔任 Google 無人駕駛團隊軟件工程師,并獲得國際計算機視覺大會(ICCV)馬爾獎榮譽提名。
本文是田淵棟演講關于德州撲克部分的節選。
德州撲克
接下來我們講一下德州撲克。首先我們要確認,這是“一對一無限注德州撲克”游戲(Heads-up no-limit Texas Hold‘em)。“一對一”意思就是我和你兩個人的零和游戲,我輸錢你贏錢、我贏錢你輸錢,并不是很多人在一張牌桌上有人當莊家的那種。多人游戲要難很 多,主要是現在用的辦法在多人游戲下不能保證效果,然后狀態空間也變大很多。
“無限注”就是你每次下注的時候不一定是之前的整數倍,可以是任意數。那么有限注德撲就是每次下注的時候,是成倍數地下,“有限 注”的問題已經在兩三年以前就解決了,當時是發了一篇Science文章。那篇文章其實本應該會跟AlphaGO一樣受到很大矚目,但是不知道為什么,當 時并沒有。
有兩個很牛的撲克AI,這兩個都是用的同樣的框架,叫作Counterfactual Regret Minimization(CFR),簡言之是把游戲中遇到的可觀測狀態(叫作信息集Information Set)都羅列出來,然后對于每個可觀測狀態,通過最小化最大悔恨值的辦法,找到對應的策略。然后反復迭代。
一個是CMU的Libratus,它打了20天的比賽,贏了4個最牛的撲克玩家。(AI科技評論網按:在2017年1月,Libratus玩了12萬手一對一不限注的德州撲克。到比賽結束時,人工智能領先人類選手共約177萬美元的籌碼。)
另外一個叫DeepStack(AI科技評論按:加拿大阿爾伯塔大學、捷克布拉格查理大學和捷克理工大學訓練的AI系統與11位職業撲克手進行了3000場無限注德州撲克比賽,勝率高達10/11),他們在網上也打過一些大型職業比賽。
CMU Poker bot

CMU Poker bot沒有用深度學習。他們用到了End-game solver,因為德撲一局時間比較短,可能就幾個回合就結束了,所以你可以從下往上構建游戲樹。這樣的好處是,最下面節點游戲樹的狀態是比較容易算出來 的,用這個反過來指導設計上面的游戲樹。另外他也用了蒙特卡羅方法,標準的CFR在每次迭代的時候,要把整個游戲樹都搜一遍,這個對于稍微復雜一點的游戲 來說是不可接受的,因為是指數級的復雜度,所以用蒙特卡羅方法,每次選一些節點去更新它上面的策略。還有一點就是,一般來說我們在做游戲的時候往往會想到 怎么去利用對方的弱點,但其實不是這樣的。更好的方法是,我盡量讓別人發現我的弱點,然后據此我可以去改進它,變得越來越強。用術語來講,就是去算一下對 手的最優應對(Best response),讓對手來利用你的弱點,然后用這個反過來提高自己的水平。
阿爾伯塔大學的DeepStack

我們看到DeepStack的基本流程是AlphaGo和國象的某種混合版本,即有限深度的搜索,加上用值網絡估值。具體來說,從當前狀態出發向前看三 四層的子樹,在最底一層用值網絡估算一下值(誰好誰壞),然后用通常的CFR去求解這棵子樹的的最優策略。對于值網絡來說,每個人有兩張手牌,52選2, 就有1326種情況,但每種情況都有概率,以這個作為輸入。輸入同時也包括當時的籌碼數和公共牌。輸出的是在每種手牌情況下,估計的值函數 (counterfactual value)會是多少。
據新浪科技消息,今年4月Libratus(冷撲)很可能將來打中國,與中國的德州撲克牌手進行一場人機大戰。
(文玄)
本文標題:田淵棟:德撲AI原理解讀 本應和AlphaGO一樣矚目
版權聲明:本文為原創文章,版權歸 一一奇聞 所有,歡迎分享本文,轉載請保留出處!