獨家對話CMU德撲AI賭神團隊:解密1+2技術架構,不攻反而不敗

本文首發於公眾號量子位(QbitAI),作者舒石、希拉,發自 CMU

放下想贏的執念後,AI賭神再沒輸給人類。

這個AI賭神拉丁名Libratus,中文名冷撲大師。今年1月,它在美國戰勝四位頂級人類德撲玩家,贏得176萬美元(虛擬貨幣)。

如今冷撲大師應創新工場李開復的邀請,來到國內,將與6位龍之隊高手展開六天鏖戰。

為此幾天之前,量子位前往美國賓州匹茲堡卡內基梅隆大學(CMU),獨家對話Libratus的兩位創造者:Tuomas Sandholm教授和他的博士生Noam Brown。

這兩位人工智慧領域的傑出學者,向量子位講述為何Libratus能在撲克人機大戰中戰勝了人類,這套強大的系統到底基於什麼架構、什麼技術,又是如何訓練、成本幾何……

推倒重來

春天的匹茲堡,時晴時雨,溫度變化劇烈。

走進卡內基梅隆大學Gates-Hillman Center,位於九層的Tuomas Sandholm教授辦公室非常顯眼:門口張貼著一張今年1月德撲人機大戰的紅色海報。

△ 辦公室門口的海報

「開戰之前,我完全不知道結局會怎麼樣」,Sandholm用帶著芬蘭腔的英語說,當時他感覺五五開,但Libratus的勝算稍大一些。不過線上賭博網站可不這麼看,他們開出大約1:5的賠率,認定Libratus也將倒在匹茲堡的河流賭場里。

也將?沒錯。Libratus不是憑空而生,2015年4月它的前身Claudico正是在同一個賭場里,敗給四位人類高手。當年Sandholm也認為有五五開的勝率。

2014年8月,剛剛完成碩士學業的Noam Brown繼續留在CMU攻讀計算機科學的博士學位。當年,他和老師Sandholm一起開發出德撲AI:Tartanian7,以及後續版本Baby Tartanian8。並且連續贏得電腦撲克大賽的冠軍(電腦對抗電腦)。

如同外界所期望的那樣,他們開始推動德撲人機大戰。

在兩年前那次時長兩周的人機對抗中,Claudico累積輸掉73.2萬美元(當然也是虛擬貨幣),和四位人類頂級玩家交鋒8萬手。

2017年1月11日,全新的Libratus捲土重來。還是四位人類對手,不過時長變為20天,累積交鋒12萬手。這次德撲AI沒給人類玩家機會,一路以碾壓的態勢豪取勝利。Libratus對四位人類高手的領先優勢是:14.7個大盲注/百手(14.7bb/h)。

「一般領先5-10bb/h就肯定是贏了」,Brown對量子位說。

從完敗到完勝,Claudico經歷了哪些提升,才得以成長為Libratus?對於這個問題,兩位開發者的回答是:Libratus不是迭代而來,而是推倒重來。

一個全新的德州撲克AI。

看不透的高手

在德撲這件事上,Libratus沒有師父。

Sandholm和Brown只告訴AI基本的德州撲克規則,然後Libratus就開始通過「左右手互搏」的方式學習這個撲克遊戲。和AlphaGo不同,在人機大戰之前Libratus沒有研究過人類如何打德州撲克,也沒有和人類職業玩家有過交手。

在投入實戰之前,Libratus自己對戰了幾百萬手牌,其中有不少是帶有特定目的的殘局,真正機器和機器之間的交手,大約是幾十萬手。

所以,AI形成了一種與人類迥然不同的牌風。

「在德撲比賽中,頂級高手會嘗試尋找對手的弱點,並展開攻擊」,創新工場AI工程院技術VP李天放說。李天放既有技術背景,也是一名德撲高手。

Dong Kim是今年1月德撲人機大戰中的一位人類選手,這位28歲的韓裔美國人回憶說,每一天Libratus都會進步,人類選手很難找到它的弱點或漏洞。即便找到一個,第二天就會消失不見。這讓他感到絕望。

但也許他根本就感覺錯了。「有人類玩家說找到了漏洞,其實不一定」,Brown對量子位說:「這可能是Libratus的一種戰術,去攪亂對手的策略」。

△ Brown身後是他的電腦

不能用人類的思維去衡量AI。讓Sandholm記憶猶新的是,1月的德撲人機大戰進行到尾聲,當時AI早已遙遙領先,所有人都認為Libratus會趨近於保守。

「但它反而越來越激進」,Sandholm說特別是最後幾局,非常出人意料。

比方,為了一個很小的底池推了All in,或者下注額只有底池的十分之一。「有時候Libratus的策略會被認為是臭手」,但事後復盤Sandholm說這個德撲AI嘗試了很多令人叫絕的方法,其中包括各種策略的詐唬。

詐唬也不是人教的,而是機器自己學會的。

怎麼學?「詐唬是特別重要的技能,系統在學習中發現,如果有一手爛牌,直接詐唬能贏更多,所以它就學會了」,Brown告訴量子位。

「這就是AI特別奇妙的地方」,Brown坐在自己CMU標配的上一代Aeron座椅上說,「很多人看到Libratus能詐唬,覺得很了不起」,但在這位博士的眼中,詐唬這種看似與心理有關的人類技能,機器是可以通過演算法學會的。

打開AI的大腦

為什麼Libratus能比前代更厲害,進步在何處?Brown舉了兩個例子。

比如,對於K-High Flush(最大牌為K的同花)和Q-High Flush(最大牌為Q的同花),這兩手牌對於Claudico來說是等值的,而Libratus則會做一個精確的區分。實際上,Libratus會對每一手牌進行單獨的處理,根據不同的牌面制訂出不同的戰略。

再比如,對於250元的下注,是當成200元還是300元來計算?那麼249或者251呢?實際上,Libratus不會嘗試聚類,而是馬上實時計算,得出勝算最大的策略。

△ Sandholm講解冷撲大師

Sandholm則從全局的角度,打開Libratus的大腦,向量子位逐一講解了構成這個撲克AI的三個主要模塊。其中一個用於賽前,兩個用於賽中。

模塊一:Nash equilibrium approximation before competition(賽前納什均衡近似)

這個模塊把最重要的博弈信息進行抽取,比如針對某一手牌對應的戰略,然後再應用強化學習等方法,繼續尋求提高和改進。這裡使用了一個新的演算法:蒙特卡洛反事實遺憾最小化。在這個模型的幫助下,Libratus自己學會了德撲,而且比以前速度更快。

模塊二:Endgame solving(殘局解算)

這是Libratus最重要的部分,Sandholm說。實際上Claudico也有這個模塊,但那個版本幾乎不起作用。而新的版本不會再給對手留下漏洞,這個過程不斷進行,對手新出一招後,會繼續展開新的殘局解算,這被稱為Nested Endgame Solving。

德撲這類不完美信息博弈,不能拆解為可以獨立解決的子博弈。所以Libratus採用的殘局解算的方法應對,想進一步深究,可以查看Brown和Sandholm的論文。

模塊三:Continual self-improvement(持續自我強化)

比賽中人類高手會尋找Libratus的漏洞,並展開有針對性的攻擊。這個模塊的作用就是發現問題所在,找到更多細節進行自我強化,然後得到一個更好的納什均衡。

「三個模塊都用了新的演算法」,Sandholm說第一個模塊的新演算法能夠抽取更多的細節,而且比原來的演算法更快;第二個模塊的演算法是全新的;而第三個模塊則有一個全新的理念,有點類似於:防守是最好的進攻。

Libratus不再尋求發現並利用人類對手的漏洞,相反,這個AI開始觀察人類發現了它什麼弱點,然後有針對性的彌補和提升。於是Libratus的弱點越來越少,直到人類玩家沮喪的發現,想要贏下比賽變成一件幾乎不可能完成的任務。

不主動進攻就很少露出破綻,李天放說跟Libratus對戰就像打一堵牆,最好的結果可能就是打個平手,基本不可能獲勝。納什均衡本身,追求的就是一種平衡。

Libratus是一個防守大師。

深度學習不是唯一

與圍棋大師AlphaGo相比,Libratus有很多不同之處。其中就包括:Libratus並沒有使用目前相當火熱的深度學習技術。

「深度學習是個非常好的技術,但我們沒有在這個項目應用,是因為深度學習不能給出絕對的保證。比方識別貓的圖像,對於給定的圖片能得出95%是貓,但也不是絕對的保證,而我們的演算法,能夠保證最優異的結果」,Sandholm說。

當然也有團隊在用深度學習來搞德撲AI。

來自加拿大阿爾伯塔大學、捷克布拉格查理大學和捷克理工大學的研究人員,基於深度學習技術開發出德州撲克人工智慧DeepStack。

對於兩個德撲AI來說,還沒有更好的比較方法,目前只能說Libratus擊敗的對手,要比DeepStack的對手水平更高。其他這裡不展開討論了,這個團隊也發表了相關的論文。

「對這一類型的任務,我們的方案比深度學習更好」,Sandholm對量子位表示,目前深度學習的方案實際上沒有解決問題,而Libratus這個系統「時間越長,越能接近完美」。

對於這個問題,我們詢問了CMU機器學習系的邢波教授,他指出還不應過早的下結論說:深度學習就是機器學習的未來。

「Sandholm教授其實不是做深度學習的,他用的方法實際上被認為是是傳統的AI,但是可以達到這麼強大的功能」,邢波對量子位表示,這是一個有力的證明:人工智慧並不等於深度學習,很多新的方法需要探索和了解。

技術的爭論還需更多的時間。

△ CMU校園一角

其實對於Noam Brown來說,研發Libratus的過程中「最難的問題,是必須有一個全局的觀念。但這是個龐大的系統,需要從計算和解決問題的角度考量,而不是僅從博弈的角度。在這個過程中,怎麼把問題描述出來,是最大的挑戰」。

而Tuomas Sandholm來說最大的挑戰,就是只兩個人,要干所有的活兒。

成本幾何

包括杜悅(龍之隊隊長)在內,都很關心Libratus的成本。

成本背後關聯著諸多實際的問題,例如距離實際應用還有多遠,或者距離人工智慧毀掉德州撲克這個遊戲還有多久。

應量子位的要求,Brown估算了一下說:想要運行Libratus,最低只要50個筆記本就夠了。他進一步解釋說,一對一的無限注德撲比賽,每手需要50個CPU進行運算。暫且不管響應速度如何,至少已經能夠完成計算。

「這個演算法還可以被優化,而且計算硬體的提升,未來我覺得手機可能上就能運算」,Brown估計說可能五年內一部手機就能搞定一切了。

而對於他的老師Sandholm來說,成本計算要複雜得多。

首先他把這看成一場為期13年的挑戰,之前所有的探索和努力,才最終成就了今天的Libratus。Sandholm估計過去這些年,僅支付給學生的工資就得有1000萬美元。而Brown只是諸多學生中的一個。

其次具體到Libratus,眼下主要是運行成本。

運行這個德州撲克AI賭神,需要匹茲堡超算中心的Bridges超級計算機。今年1月人機大戰之前,Libratus在超算上的訓練成本是1500萬核小時(core-hour),比賽期間耗用1000多萬核小時,總共耗用1900萬核小時計算資源。

「我們用的伺服器有28個核,所以一個伺服器運行一小時就是28核小時,如果在亞馬遜雲服務上大概要1-3美元」,Sandholm說他們一共用了上百台伺服器。

△ Nystrom介紹匹茲堡超算中心

匹茲堡超算中心高級研究總監Nick Nystrom向量子位證實,Libratus使用了150台伺服器。但由於是研究型項目,Sandholm其實並不需要支付費用。

對於筆記本上運行Libratus的可能性,Sandholm笑稱可以搞一套簡化系統裝在筆記本上,但也只能變成一個有趣的小培訓。無論如何,Sandholm表示普通人「想要使用這套系統肯定不容易」。

與之相比,DeepStack的訓練使用了175 個core-years。不過據說DeepStack在比賽期間,只需要一台筆記本就夠了。

未來何往

德撲AI的牌技還能更好么?

當然,Sandholm說肯定存在進步空間。杜悅很關心Libratus距離撲克之神還有多遠,何時能達到GTO(博弈理論中的最優化策略)。

對於這個問題,Brown猜測Libratus與GTO之間的差距是15bb/h,而Libratus本身的牌技可以提升到50bb/h的水平。而Sandholm則說「沒人知道Libratus能走多遠」。Brown坦言他不會再對這個德撲AI進行優化,他正面臨博士畢業的選擇。

現在這個德撲AI只能玩一對一的德州撲克,儘管可以同時處理多場,每場也只能是一對一。還會做一對多的升級么?

△ Sandholm與量子位交流

「我們有一些想法」,Sandholm告訴量子位,目前Libratus基於的納什均衡理論,主要針對兩個人博弈的情況。「如果變成三個人博弈,納什均衡理論是不是適用,現在我還不是很清楚」,Sandholm說多玩家系統,第一個模塊如何界定是個難題。

不過僅僅是一對一的德撲AI,也有相當的商業前景。

「現實世界充斥各種不完美信息博弈,例如企業之間的商業談判,網路安全,醫療方案的制訂等」,Sandholm正考慮如何進一步釋放Libratus的能量。

「我最喜歡的商業用途當然是商業談判,可以通過人工智慧來實現在最合適的時間,以最合適的價格找到最合適的供應商」,卡內基梅隆大學計算機科學學院Andrew Moore院長近日接受騰訊科技/新浪科技採訪時,這樣展望Libratus的未來。

現在Sandholm教授已經拿到NSF(美國國家科學基金會)一筆為期三年的新投資,用以資助他繼續基於Libratus展開相關研究。現在Sandholm教授也在推進一項針對T細胞的醫療研究,把癌細胞注入小白鼠,看看他們的治療方案是不是正確。

無論未來Libratus如何,Sandholm會繼續在博弈的道路上前進。

Sandholm已經在人工智慧和自動談判領域,研究超過28年。他在這方面最早的成績,還要追溯到1989年前後,當時他做了一套自動為卡車司機談判並分配任務的系統。

比賽看點

最後,再聊聊即將開戰的冷撲大師vs龍之隊。

對於這場比賽,李開復日前在IT領袖峰會期間表示,龍之隊的勝算為10%。不過,Sandholm眼中這個概率只有5%。

「戰無不勝」,Sandholm現在用這四個字形容Libratus。在他看來,德撲AI的水平在人類最好的玩家之上。

但為什麼還是給出5%這個數字呢?他的理由是:這次的對抗只打36000手。

「幾乎可以肯定人類有機會贏。而且會有蠻大的機會可以贏。雙方博弈的手數越多,強大一方獲勝的可能性越大;手數越少,弱小的一方獲勝的可能性越大」,Sandholm說。比如只打一手牌,雙方不論實力差距多大,弱小的一方都有50%的機會能贏。

△ Sandholm坐在電腦前

除了勝負,這場對抗還有什麼看點呢?

  • 第一,德州撲克是不完美信息的博弈,跟跳棋、圍棋等比賽完全不一樣。有很多你無法想像的要素,都會影響賽局的結果。

  • 第二,整個博弈是詐唬、下注等環節的完美平衡,冷撲大師需要應用這些手段,讓對手完全無法推測自己手上持有什麼牌。

  • 第三,冷撲大師會有非常不同尋常的下注,是德州撲克中從來不會出現的大注和小注,也會搞donk betting,即反主動下注。最後這個德撲術語的意思是,原本跟注的玩家在下輪牌發出來後搶先下注。

「這個德州撲克AI並不會線性發展,可能在下一手牌的時候,突然變得非常冒進」,Sandholm對量子位表示。

所以,拭目以待吧。正如開頭那段視頻所說:「冷撲大師,來了」。

------謝謝你,讀完這麼長的文章------

參考論文

對Libratus技術感興趣的同學,可以參考如下論文:

Noam Brown and Tuomas Sandholm. Safe and Nested Endgame Solving for Imperfect-Information Games. In the Workshop on Computer Poker and Imperfect Information at the AAAI Conference on Artificial Intelligence (AAAI), 2017.

Noam Brown, Christian Kroer, and Tuomas Sandholm. Dynamic Thresholding and Pruning for Regret Minimization. In Proceedings of the AAAI Conference on Artificial Intelligence (AAAI), 2017.

量子位公眾號(ID:QbitAI)準備了更多論文,在對話界面回復「德撲論文」四個字獲取。

線下交流

4月8日,量子位還特別邀請創新工場AI工程院技術VP李天放,聯想智慧醫療CEO林林等既懂人工智慧又懂德州撲克的高手,展開一場線下交流活動。

報名:技術沙龍:德撲AI「冷撲大師」演算法解密||量子位

量子位招聘

我們正在招募編譯、編輯、記者、市場、運營等多個崗位,工作地點在北京中關村,期待你的到來,一起體驗人工智慧的風起雲湧。

相關細節,請在量子位公眾號(QbitAI)對話界面,回復:「招聘」兩個字。


推薦閱讀:

TAG:德撲 | 人機對戰 | 人工智慧 |