AI 賭神完成了超進(jìn)化!
兩年前的Libratus,歷時(shí) 20 天戰(zhàn)勝 4 位頂級(jí)德州撲克選手,但只能 1v1?,F(xiàn)在全新的賭神Pluribus,終于取得突破,稱霸多人局:
在六人無限注德?lián)浔荣惿蠐魯∷腥祟愴敿馔婕摇?/p>
結(jié)束了撲克 AI 只能一對(duì)一的局面,Pluribus 成為了多人復(fù)雜游戲的里程碑。比起圍棋,比起 1v1 德?lián)?,多人德?lián)涞碾y度要高得多。
而 Pluribus 不止贏,還贏得利落清爽,每手只花20 秒,比人類職業(yè)選手快一倍。它對(duì)算力的要求,又比下圍棋的 AlphaGo 低得多,運(yùn)行只要兩個(gè) CPU。
一共有 15 位頂尖人類高手,敗在新晉 AI 賭神的手下。官方表示,如果每個(gè)籌碼一美元,Pluribus 平均每手牌能贏 5 美元,每小時(shí)能贏 1000 美元。
其中就有撲克界的傳奇、世界撲克大賽 ( WSOP ) 冠軍克里斯 · 弗格森。
他的 " 獲獎(jiǎng)感言 " 如下:
Pluribus 是個(gè)非常難打的對(duì)手,任何一手牌都很難吃定它。
他還很擅長在最后一手牌上小額下注 ( Thin Bet,指感覺自己的牌強(qiáng)于對(duì)手,然后押注來榨干對(duì)手 ) ,非常善于拿一手好牌榨取價(jià)值。
另外一位職業(yè)選手 Jason Les 說:
它詐唬的技能像怪獸一樣,比任何人類的詐唬都高效。
AI 賭神的兩位爸爸,還是 Libratus 的爸爸,來自 Facebook 和 CMU。他們帶著這項(xiàng)光芒萬丈的新成果,登上了Science。
那么,先來欣賞一下比賽現(xiàn)場(chǎng),人類是如何被按在地上摩擦的:
在比賽中,Pluribus 一開始拿到的是同花方塊 5 和 6,在第一輪下注結(jié)束,發(fā)出三張公共牌(黑桃 4、方塊 2 和方塊 10)后,還有 3 名其他選手在場(chǎng),兩位 check、一位加注。
盡管這時(shí) Pluribus 的牌面并不大,但它直接 All-in 了,是的,直接 All-in 了。
結(jié)果,其他幾位高手紛紛棄牌而去,可以說一手詐唬玩得非常 6 了。
難在哪?
多年來撲克一直是 AI 領(lǐng)域難以解決的重大挑戰(zhàn)。
因?yàn)閾淇擞须[藏信息,你不知道對(duì)手的牌。贏下比賽需要詐唬,需要許多國際象棋、圍棋等等游戲里涉及不到的技能。
這是 AI 打牌的一個(gè)巨大障礙。而另一個(gè)障礙是多人。
從前 AI 打的游戲,要么是兩人,要么是兩隊(duì)之間的零和博弈 ( 一方贏一方輸 ) :跳棋、國際象棋、圍棋、星際 2 還是 DOTA 2,都是如此。
△ DeepMind AlphaStar 星際 2 五分鐘擊敗人類
這些游戲里面,AI 都很成功,因?yàn)樗梢宰龀鲆环N納什平衡 ( Nash Equilibrium ) 的策略:可以選出一系列動(dòng)作,不管對(duì)手做什么,自己至少不會(huì)輸。對(duì)手也一樣。
不過,納什平衡并不是總能找到:
首先,如果是觀察對(duì)手的弱點(diǎn)來獲得納什平衡,比如對(duì)手常常出剪刀,AI 就可以一直出石頭,但對(duì)手也能根據(jù) AI 的選擇來調(diào)整自己的策略。這種方法需要的數(shù)據(jù)量也比較大。
其次,如果是多人游戲,即便是每個(gè)玩家都找到了自己的納什平衡,加在一起也不一定是納什平衡,因?yàn)橛螒虿⒉皇橇愫筒┺模?/p>
一個(gè)例子是,Lemonade Stand ( 檸檬水?dāng)傋?) 游戲。每個(gè)玩家都要盡量遠(yuǎn)離其他玩家。納什平衡是所有玩家距離都相等??墒敲總€(gè)玩家都會(huì)自己找一個(gè)平衡點(diǎn)來計(jì)算,那大家算出來的聯(lián)合策略就不太可能是納什平衡了。
所以,Pluribus 并沒有采取博弈論的思路,找到不輸?shù)钠胶獠呗浴6且源驍∪祟悶槟繕?biāo)。
決策之道
要做到這一點(diǎn),僅靠知名前輩Libratus的反事實(shí)遺憾最小化(CFR)算法可不行。
Libratus對(duì)抗游戲隱藏信息的策略是讓 AI 左右互搏,自己跟自己對(duì)戰(zhàn),采用隨機(jī)策略,在每局過后看看游戲中有哪幾手是讓人后悔的,而后再嘗試不同的戰(zhàn)略,在決策點(diǎn)上復(fù)盤。
在雙人對(duì)戰(zhàn)當(dāng)中,這樣的策略效果拔群。
但在不完美信息博弈中,每增加一個(gè)玩家,游戲的復(fù)雜度都會(huì)呈指數(shù)增長,已有的技術(shù)無法應(yīng)對(duì)。
Pluribus 采用了迭代的蒙特卡洛 CFR(MCCFR)。核心思想同樣是自我學(xué)習(xí),左右手互搏,不用任何人類或前輩 AI 的游戲數(shù)據(jù)作為輸入。
但它的特別之處在于它制定了一個(gè)藍(lán)圖策略,在與對(duì)手比賽的過程中,Pluribus 也會(huì)根據(jù)實(shí)際情況實(shí)時(shí)搜索更好的策略來改進(jìn)藍(lán)圖策略。
也就是說,它的行動(dòng)可以分成兩個(gè)階段。
第一階段:藍(lán)圖策略
無限注德州撲克中有太多決策點(diǎn)可以單獨(dú)推理,為了降低游戲的復(fù)雜性,首先要進(jìn)行抽象,即消除一些值得商榷的行動(dòng)。
Pluribus 使用了兩種抽象:動(dòng)作抽象和信息抽象。
動(dòng)作抽象減少了 AI 需要考慮的不同動(dòng)作的數(shù)量。無限注德州撲克通常允許在 100 美元到 10000 美元之間進(jìn)行全價(jià)投注,投注 200 美元和投注 201 美元之間幾乎沒有區(qū)別。
所以,Pluribus 在任何給定的決策點(diǎn)只需要考慮幾種不同的下注大小。它所考慮的投注數(shù)量在 1 到 14 之間變化,具體多少取決于實(shí)際情況。
如果對(duì)手投注 150 美元,而 Pluribus 訓(xùn)練的過程中只投注 100 或 200 美元,那又該怎么辦?
這時(shí),Pluribus 會(huì)依賴下文將提到的搜索算法。
信息抽象則是把策略上相似的牌局放在一起,并對(duì)其進(jìn)行相同處理。這會(huì)使游戲的復(fù)雜性大大降低,不過也可能消除一些超人類表現(xiàn)中非常重要的微妙差異。
因此,在與人類進(jìn)行實(shí)際比賽時(shí),Pluribus 僅用信息抽象來推斷未來下注輪次的情況,而不會(huì)用它來實(shí)際進(jìn)行下注。同時(shí),信息抽象也適用于自我博弈。
而藍(lán)圖策略的重頭戲,就是迭代的蒙特卡洛反事實(shí)遺憾最小化算法(MCCFR)。在算法的每次迭代中,MCCFR 將一個(gè)玩家指定為 " 遍歷者 ",其當(dāng)前策略在迭代時(shí)更新。
在迭代開始時(shí),MCCFR 根據(jù)所有玩家的當(dāng)前策略隨機(jī)模擬一手牌。一旦這一手牌完成,算法就會(huì)開始 review 遍歷者的每一個(gè)決策,并通過選擇其他可能操作來評(píng)估這一手牌做得多好或多壞。接著,AI 會(huì)評(píng)估打出不同的手牌后可能做出的每一個(gè)假想決策的優(yōu)點(diǎn)。
視頻播放器
00:00
00:37
遍歷者在選擇一手牌后的收獲,與遍歷者在迭代中的期望收獲之間的差異,會(huì)被添加到行動(dòng)的 " 后悔點(diǎn) "(反事實(shí)遺憾)中。
在迭代結(jié)束時(shí),遍歷者的策略會(huì)更新,此后它選擇更高反事實(shí)遺憾動(dòng)作的概率會(huì)更高。
第二階段:深度限制搜索
由于無限注德州撲克的規(guī)模和復(fù)雜性,整個(gè)游戲的藍(lán)圖策略給出的決策會(huì)比較模糊。
實(shí)際上,Pluribus 只在第一輪下注時(shí)根據(jù)制定好的藍(lán)圖來進(jìn)行游戲,在第一輪之后——甚至是第一輪當(dāng)中,如果對(duì)手選擇的賭注大小與藍(lán)圖動(dòng)作抽象中的大小完全不同—— Pluribus 會(huì)進(jìn)行實(shí)時(shí)搜索,制定更精細(xì)的策略。
蒙特卡洛樹搜索、雙層搜索、alpha-beta 修剪搜索 …… 這些在完美信息游戲中表現(xiàn)出色的實(shí)時(shí)搜索在德州撲克面前都會(huì)撲街,因?yàn)樗鼈儾⒉豢紤]對(duì)手轉(zhuǎn)移策略的能力。
Pluribus 使用的方法是,明確地認(rèn)為所有玩家都可能選擇到子游戲葉子節(jié)點(diǎn)之外的不同策略。
算法假設(shè)每個(gè)玩家在到達(dá)葉子結(jié)點(diǎn)時(shí),可以選擇四種不同的策略來進(jìn)行下面的游戲,其中包括預(yù)先計(jì)算的藍(lán)圖策略,修改后偏向于棄牌的藍(lán)圖策略,修改后偏向于跟注的藍(lán)圖策略,以及修改后偏向于加注的藍(lán)圖策略。
這樣的搜索方法能找到一種更平衡的策略,從而產(chǎn)生更強(qiáng)的整體表現(xiàn)。
而另一個(gè)大挑戰(zhàn)是在德州撲克這樣的游戲當(dāng)中,玩家的策略有時(shí)取決于對(duì)手如何看待她 / 他的游戲玩法。
為了應(yīng)對(duì)這一點(diǎn),Pluribus 根據(jù)其策略跟蹤每一手牌達(dá)到當(dāng)前情況的概率。無論 Pluribus 實(shí)際持有哪手牌,它都會(huì)優(yōu)先計(jì)算出每一手牌的動(dòng)作,一旦計(jì)算出所有的平衡策略,它就會(huì)為它實(shí)際持有的手牌執(zhí)行一個(gè)動(dòng)作。
令人驚嘆的是,Pluribus 的訓(xùn)練成本非常低。研究者只在 64 核的服務(wù)器上跑了 8 天,就成功訓(xùn)練出了 Pluribus 的藍(lán)圖策略,需要的內(nèi)存空間小于 512GB,還不用 GPU。
換句話說,Pluribus 的訓(xùn)練費(fèi)用都不到 150 美元!
進(jìn)行游戲時(shí),Pluribus 也只需運(yùn)行在 2 個(gè) CPU 上,使用不到 128GB 的內(nèi)存。
相比之下,在 2016 年 AlphaGo 對(duì)陣?yán)钍朗臅r(shí)候,使用了 1920 塊 CPU 和 280 個(gè) GPU 進(jìn)行實(shí)時(shí)搜索。
在 6 人牌局中,Pluribus 平均每回合只需要 20 秒的時(shí)間,比頂尖人類選手還快一倍。
如此策略、如此小成本、如此速度,成績會(huì)如何?
全面超越人類職業(yè)高手
為了評(píng)估 Pluribus 的實(shí)力,研究人員找來了一群德?lián)浣绲捻敿飧呤?,?2000 年世界撲克錦標(biāo)賽冠軍 Chris "Jesus" Ferguson、2012 年世界錦標(biāo)賽冠軍 Greg Merson、四屆世界撲克巡回賽錦標(biāo)賽冠軍 Darren Elias 等等。
這些頂尖高手,每一位都在專業(yè)的德州撲克比賽中贏了超過 100 萬美元,大多數(shù)都贏了超過 1000 萬美元。
具體的測(cè)試中,研究者一種設(shè)計(jì)了兩種牌局。一種是 5 個(gè)人類和一個(gè) AI 的牌局,一種是 5 個(gè) AI 和一個(gè)人類的牌局。每一手牌開始的時(shí)候,籌碼是 10000 個(gè),小盲 50,大盲 100。
在很多人機(jī)大戰(zhàn)中,經(jīng)常會(huì)出現(xiàn)這樣一種情況:AI 在一開始表現(xiàn)得不錯(cuò),但隨著人類玩家發(fā)現(xiàn)它的弱點(diǎn),就變得很智障。
為了全方位評(píng)估 Pluribus 的能力,測(cè)試持續(xù)了十幾天,打了幾萬手牌。目的是讓人類高手能夠有充分的時(shí)間去適應(yīng) AI 的策略,尋找 AI 的弱點(diǎn)。
此外,雖然德?lián)涫且环N技巧性很強(qiáng)的游戲,但運(yùn)氣也是其中非常重要的影響成分。對(duì)于頂尖的德?lián)渎殬I(yè)選手來說,僅僅是因?yàn)檫\(yùn)氣不好,在一萬手牌局中輸錢是很常見的。
研究者表示,為了減少運(yùn)氣對(duì)比賽的影響,他們?cè)谝粋€(gè)版本中采取了 "AIVAT" 算法,在保持樣本無偏差的情況下,用每種情況的基線估計(jì)值來減少方差。
比如說,如果 AI 拿到的是一手非常強(qiáng)的牌,AIVAT 將從它贏的錢總中減去一個(gè)基線估計(jì)值來抵消運(yùn)氣成分。
5 個(gè)人類和一個(gè) AI
這種牌局一共打了 12 天,玩了 1000 手。
每天,都會(huì)從高手中選出五名參加。根據(jù)他們的表現(xiàn),會(huì)分配給他們 5 萬美元獎(jiǎng)金,從而激勵(lì)他們發(fā)揮最佳水平。
應(yīng)用了 AIVAT 后,Pluribus 的贏率估計(jì)約為每 100 手牌 5 個(gè)大盲注 ( 5 bb/100 ) ,在人類頂尖高手的對(duì)決中,是非常好的成績 ( p 值為 0.021 ) 。
如果每個(gè)籌碼一美元,Pluribus 平均每手能贏 5 美元,每小時(shí)能賺 1000 美元。這一戰(zhàn)績,已經(jīng)超過了職業(yè)選手在與職業(yè)選手和業(yè)余選手的混合比賽中的獲勝率。
"Pluribus 是一個(gè)很難對(duì)付的對(duì)手,"Ferguson 在實(shí)驗(yàn)結(jié)束后說。" 無論用什么手段,都很難吃定他。他也非常擅長在河牌(最后一張牌)上下小額賭注。他非常善于用自己的一手好牌獲取更大的價(jià)值。"
5 個(gè) AI 和一個(gè)人類
參與這一牌局的是三位頂尖高手中的頂尖高手。
分別是 2000 年世界撲克錦標(biāo)賽冠軍 Chris "Jesus" Ferguson、四屆世界撲克巡回賽錦標(biāo)賽冠軍 Darren Elias,以及 Linus Loeliger ——在六人無限注德?lián)渲?,他是公認(rèn)的世界第一。
他們每個(gè)人都與 5 個(gè) Pluribus 玩了 5000 手牌。Pluribus 并不會(huì)根據(jù)對(duì)手來調(diào)整自己的策略, 所以不會(huì)存在 AI 相互勾結(jié)的情況。
整體情況是,每 100 手牌人類選手損失了 2.3 個(gè)大盲注(2.3 bb/100)。
其中 Elias 為每 100 手 4 個(gè)大盲注(4.0 bb/100,標(biāo)準(zhǔn)誤差為 2.2 bb/100),F(xiàn)erguson 為每 100 手 2.5 個(gè)大盲注(2.5bb/100,標(biāo)準(zhǔn)誤差為 2.0 bb/100),Loeliger 為每 100 手 0.5 個(gè)大盲注(0.5bb/100,標(biāo)準(zhǔn)誤差為 1.0 bb/100)。
下面這張圖,呈現(xiàn)了 Pluribus 在 10000 手牌實(shí)驗(yàn)中對(duì)職業(yè)撲克玩家的平均贏率。直線表示實(shí)際結(jié)果,虛線表示標(biāo)準(zhǔn)偏差。
" 它的主要優(yōu)勢(shì)在于運(yùn)用混合策略的能力,"Elias 說。" 這和人類試圖做的事情是一樣的。對(duì)于人類來說,這是一個(gè)執(zhí)行的問題——以一種完全隨機(jī)的方式去做,并且始終如一。大多數(shù)人類很難做到。"
由于 Pluribus 的策略,完全是在沒有任何人類數(shù)據(jù)的情況下通過自我博弈決定的,因此它也為尋找多玩家無限制的德?lián)涞淖罴淹娣ㄌ峁┝艘粋€(gè)外部視角。
Pluribus 證實(shí)了傳統(tǒng)的人類智慧,即跟進(jìn) ( 跟進(jìn)大盲注,而不是棄牌或加注 ) ,對(duì)任何玩家來說都是次優(yōu)的。
只有小盲注玩家是例外,他們已經(jīng)有一半的大盲注在底池中,因此只需投入其他玩家一半的資金即可。
盡管 Pluribus 在最初通過自我博弈時(shí)嘗試過跟進(jìn)策略,但隨著自我博弈繼續(xù)下去,它逐漸放棄了這一策略。
但 Pluribus 在一個(gè)人類公認(rèn)的策略上提出了不同的意見:即不下注 ( 在一輪下注結(jié)束時(shí)跟注,開始一輪下注 ) 是一個(gè)錯(cuò)誤;與頂尖人類高手相比,Pluribus 這樣做的頻率更高。
" 在于撲克機(jī)器人的比賽中,看到它選擇的一些策略,非常令人難以置信,也令人著迷。"Gagliano 表示," 有幾個(gè)策略是人類根本想不到的,特別是與賭注大小有關(guān)的。"
下面的這張圖,顯示了 Pluribus 和職業(yè)選手比賽時(shí)的籌碼數(shù)量。實(shí)線表示實(shí)際結(jié)果,虛線表示標(biāo)準(zhǔn)偏差。
值得注意的是,Pluribus 是一種研究人工智能的工具。研究者表示,選取撲克只是為了評(píng)估在不完全信息的場(chǎng)景中,人工智能在多智能體交互中與人類最高水平的差距。
也就說,他們的征途不僅僅限于德?lián)?,而是星辰大海?/p>
畢竟,現(xiàn)實(shí)世界很復(fù)雜,也不是只有兩方對(duì)戰(zhàn),也不是非輸既贏。走向通用的人工智能,學(xué)習(xí)多人復(fù)雜游戲是非常重要的一步。
當(dāng)然,作為 "Libratus接下軍用訂單 " 事件的回應(yīng),F(xiàn)acebook 說這項(xiàng)研究不會(huì)做軍事用途。
【來源:量子位】