天天看點

Facebook田淵棟:德州撲克上戰勝人類的AI究竟用的是什麼算法?| 解析

Facebook田淵棟:德州撲克上戰勝人類的AI究竟用的是什麼算法?| 解析

當然有alphago的先例,這個對廣大吃瓜群衆的沖擊可能沒有那麼大。但我個人覺得非對稱資訊博弈的實用價值更大些。因為非對稱資訊博弈的應用範圍非常廣泛,涵括我們每天遇到的所有決策,上至國家戰略,下至日常瑣事,全都可以以同樣的方法模組化。

非對稱資訊博弈難在哪裡?

一方面是因為對于同樣的客觀狀态,各個玩家看到的資訊不同,是以增加了每個玩家狀态空間的數目和決策的難度;

另一方面即使在同樣的狀态數下,解非對稱資訊遊戲所需要的記憶體也要比解對稱資訊要多得多,這個主要是對于對稱資訊博弈來說,隻要記得目前局面并且向下推演找到比較好的政策就可以了;但對非對稱資訊博弈,隻記得目前(不完整的)局面是不夠的,即使盤面上的情況相同,但對手之前的各種招法會導緻事實上局面不同,隻有把它們全都羅列出來進行分析,才能保證想出的應對政策不被别人利用。

比如說玩石頭剪刀布,在看不到别人出招的時候輪到自己出招,如果别人一直用石頭剪刀布各1/3的混合政策,那自己就會發現好像怎麼出招收益都是0,于是每次都出石頭,但是這樣的話,對手就可以利用這個政策的弱點提高自己的收益。是以一個好的算法就要求,基于别人已有政策得到的新政策盡可能地少被别人利用(low

exploitability)。

這次的遊戲是head-up unlimited texas hold'em,直譯過來是兩人無限注德州撲克。所謂兩人就是一對一的零和遊戲,不是多人遊戲。所謂無限注,就是在加籌碼的時候可以任意加(比如著名的把全部籌碼都押上的all in),而限注(limited),是指在加籌碼的時候隻能加一個固定的數字(通常是前兩輪和大盲注一樣,後兩輪是大盲注兩倍)。

這次cmu和alberta用的方法,也和之前的類似,都是counterfactual regret minimization (cfr)的變種。這次的主要貢獻在于:

deepstack用上了continuous resolving,即動态地解子遊戲以避開存儲海量政策時記憶體不足的問題,還有值網絡;

cfr的思路非常簡單,從随機政策開始,每次優化一個玩家的政策以提高其收益并反複疊代,最後取平均政策作為最終政策。每次優化用的是悔恨值最小化(regret minimization)的辦法,所謂悔恨值就是事後最優選擇的收益,減去當時選擇的收益,悔恨值最小化就是把到目前為止的累計悔恨值拿過來,看哪一步累計悔恨值高,以後就多走這一步,至于多走的機率,有各種算法(比如說regret matching和hedge)。

對于兩人零和遊戲,可以證明cfr會收斂到納什均衡點,也就是“反正我就這麼一招,你怎麼也破不了”這樣的終極招數。是以計算機現在使用的算法,最終目的并不是要利用對方弱點獲得勝利,而是找出神功以達到無人可敵的境界。當然要達到這個境界,訓練過程中仍然是不斷找對方弱點讓自己變強。

cfr是個帶有理論界的通用算法,說它可以解決一切的非對稱資訊博弈問題也不為過。但是世界上自然沒有免費午餐,在跑cfr的時候,每次都要周遊一次遊戲所有可能的狀态,而任何一個稍微複雜點的遊戲都有指數級的狀态,是以運作時間上肯定是不能接受的。

這就有很多折中辦法,比如說狀态量化(認為2到9都是小牌用同一個政策處理),剪枝(對方不太可能走這一步,那就不用再搜尋下去了),随機采樣(采樣一些路徑以代替全部的遊戲分支),函數拟合(比如說用值網絡來代替深層搜尋),等等。

總的來說,cfr和幾年前的rl很像,都是傳統ai的帶理論界的老方法,都是在現實問題中有指數複雜度,都是現在漸漸開始深度學習化,是以我相信以後會有更廣闊的發展。

本文作者:田淵棟

繼續閱讀