1
| 本文作者: 田淵棟 | 2017-02-07 09:58 |
雷鋒網按:本文作者田淵棟,卡耐基梅隆大學機器人系博士學位、上海交通大學碩士學位和學士學位,前谷歌無人車項目組成員,現任Facebook人工智能組研究員,主要負責Facebook的智能圍棋項目Dark Forest。文章轉載自知乎專欄,雷鋒網已獲授權。

最近聽說我的母校卡耐基梅隆大學德州撲克的AI Libratus以很大的優勢贏得了與職業玩家的比賽,非常興奮。在同時期,還有一篇來自加拿大阿爾伯塔大學(Univ of Alberta)的文章介紹了DeepStack,同樣在3000局的比賽中擊敗了幾位職業玩家。這樣在非對稱信息游戲上人類再一次輸給了AI。
當然有AlphaGo的先例,這個對廣大吃瓜群眾的沖擊可能沒有那么大。但我個人覺得非對稱信息博弈的實用價值更大些。因為非對稱信息博弈的應用范圍非常廣泛,涵括我們每天遇到的所有決策,上至國家戰略,下至日常瑣事,全都可以以同樣的方法建模。
非對稱信息博弈難在哪里?
一方面是因為對于同樣的客觀狀態,各個玩家看到的信息不同,因此增加了每個玩家狀態空間的數目和決策的難度;
另一方面即使在同樣的狀態數下,解非對稱信息游戲所需要的內存也要比解對稱信息要多得多,這個主要是對于對稱信息博弈來說,只要記得當前局面并且向下推演找到比較好的策略就可以了;但對非對稱信息博弈,只記得當前(不完整的)局面是不夠的,即使盤面上的情況相同,但對手之前的各種招法會導致事實上局面不同,只有把它們全都羅列出來進行分析,才能保證想出的應對策略不被別人利用。
比如說玩石頭剪刀布,在看不到別人出招的時候輪到自己出招,如果別人一直用石頭剪刀布各1/3的混合策略,那自己就會發現好像怎么出招收益都是0,于是每次都出石頭,但是這樣的話,對手就可以利用這個策略的弱點提高自己的收益。所以一個好的算法就要求,基于別人已有策略得到的新策略盡可能地少被別人利用(low exploitability)。
這次的游戲是Head-up unlimited Texas Hold'em,直譯過來是兩人無限注德州撲克。所謂兩人就是一對一的零和游戲,不是多人游戲。所謂無限注,就是在加籌碼的時候可以任意加(比如著名的把全部籌碼都押上的All in),而限注(limited),是指在加籌碼的時候只能加一個固定的數字(通常是前兩輪和大盲注一樣,后兩輪是大盲注兩倍)。
兩人有限注德州撲克(HULHE)因為玩家的選擇比較少可以暴力計算,已經在2015年被Univ of Alberta解決,得到的策略離納什均衡點非常近了(見這篇文章,發上了Science,AI叫Cepheus,用的方法是CFR+)。
這次CMU和Alberta用的方法,也和之前的類似,都是Counterfactual regret minimization (CFR)的變種。這次的主要貢獻在于:
DeepStack用上了Continuous Resolving,即動態地解子游戲以避開存儲海量策略時內存不足的問題,還有值網絡;
CMU用了endgame solving以細化狀態空間和策略空間,當然他們的文章似乎還沒有公布,細節還不明朗(比如說剪枝應該是用上的)。
CFR的思路非常簡單,從隨機策略開始,每次優化一個玩家的策略以提高其收益并反復迭代,最后取平均策略作為最終策略。每次優化用的是悔恨值最小化(Regret minimization)的辦法,所謂悔恨值就是事后最優選擇的收益,減去當時選擇的收益,悔恨值最小化就是把到目前為止的累計悔恨值拿過來,看哪一步累計悔恨值高,以后就多走這一步,至于多走的概率,有各種算法(比如說Regret Matching和Hedge)。
對于兩人零和游戲,可以證明CFR會收斂到納什均衡點,也就是“反正我就這么一招,你怎么也破不了”這樣的終極招數。所以計算機現在使用的算法,最終目的并不是要利用對方弱點獲得勝利,而是找出神功以達到無人可敵的境界。當然要達到這個境界,訓練過程中仍然是不斷找對方弱點讓自己變強。
CFR是個帶有理論界的通用算法,說它可以解決一切的非對稱信息博弈問題也不為過。但是世界上自然沒有免費午餐,在跑CFR的時候,每次都要遍歷一次游戲所有可能的狀態,而任何一個稍微復雜點的游戲都有指數級的狀態,所以運行時間上肯定是不能接受的。
這就有很多折中辦法,比如說狀態量化(認為2到9都是小牌用同一個策略處理),剪枝(對方不太可能走這一步,那就不用再搜索下去了),隨機采樣(采樣一些路徑以代替全部的游戲分支),函數擬合(比如說用值網絡來代替深層搜索),等等。
總的來說,CFR和幾年前的RL很像,都是傳統AI的帶理論界的老方法,都是在現實問題中有指數復雜度,都是現在漸漸開始深度學習化,所以我相信以后會有更廣闊的發展。
雷峰網特約稿件,未經授權禁止轉載。詳情見轉載須知。