袁斯來
在牌桌上,德州撲克老手許朝軍很少遇到像“冷撲大師”這樣的對手:保守地打了很多手牌后,沒有任何預(yù)兆地,“他”忽然“原地起跳”,開始超額下注,或者干脆all-in(押上全部賭注)—沒有情緒、沒有動作、沒有語言,出牌沒有任何規(guī)律可循。
“冷撲大師”英文名為Libratus,在拉丁語中,這是“平衡及有力”的意思。這個德州撲克的人工智能(AI)程序由卡內(nèi)基-梅隆大學(xué)的托馬斯·桑德霍姆教授和博士生諾姆·布朗開發(fā)。
而曾經(jīng)創(chuàng)立了輕博客網(wǎng)站點點網(wǎng)的許朝軍,在中國的德州撲克圈里被稱為“校長”,這一稱呼可看作對其牌技的一種肯定。在4月10日結(jié)束的“冷撲大師vs.中國龍之隊”德州撲克人機大戰(zhàn)表演賽中,他也是6名“龍之隊”成員之一,比賽第一天就和“冷撲大師”交過手了。
然而最終,在為期5天的比賽中,人類一共輸了79.2327萬分。9個單場比賽,人類牌手皆未取勝。
德州撲克的規(guī)則并不復(fù)雜,每個人2張底牌,5張公共牌,最后玩家用手中底牌加上3張公共牌比大小,最大的是皇家同花順,即花色相同的10、J、Q、K、A,最小的是沒有對子、同花和順子的“高牌”。緊挨著發(fā)牌者順時針的第一二個玩家會被強制下注,分別為小盲注和大盲注,大盲注金額是小盲注的兩倍,后者也是牌桌上的最小賭注。這次“冷撲大師”對戰(zhàn)“龍之隊”的大盲注為100分,小盲注為50分,每個選手初始分為2萬分。
“冷撲大師”和“龍之隊”參與的是“一對一無限注德州撲克”,即兩人對戰(zhàn)且不限下注籌碼。這種玩法由于人數(shù)少,每個人即使底牌并不理想也能采取激進的措施,因為對方手中有好牌的機會同樣很小。相比多人對戰(zhàn),一對一的復(fù)雜度雖然有所降低,但對牌手的心理素質(zhì)要求更高,同時打法會更加難以捉摸。
“一對一無限注德州撲克”的規(guī)則似乎能同時檢驗人和機器優(yōu)劣勢。德州撲克之所以精彩,原因就在于除了算牌的技巧,牌手的心理素質(zhì)和性格也對比賽影響巨大。一個性格毛躁的人即使手中底牌并不理想,也可能選擇“all-in”,把籌碼全押進去“詐?!保瑢κ秩绻莻€保守的人可能會選擇棄牌認(rèn)輸。但一旦被識破,“詐?!钡娜艘部赡軙苯颖弧氨瑐}”出局。
因此德州撲克高手往往是“面癱殺手”,ta的表情或動作很難讓人猜到底牌狀況。一個未經(jīng)證實的說法是,有些牌手甚至?xí)魃洗罂谡稚蠄?。從這點上看,“冷撲大師”就像人類面對著的一個完全的“黑箱”。
許朝軍說,自己雖然打了多年的德州撲克,但仍然會受情緒影響。尤其是當(dāng)“冷撲大師”的“教練”桑德霍姆在選手身后觀戰(zhàn)時,許朝軍的打法就會變得激進,他會跟著“冷撲大師”一輪輪加注,最終往往輸?shù)襞凭帧!叭祟愒诖蚺茣r會有馬腳,而且隨著時間推移,體力和腦力都會跟不上,但‘冷撲大師完全不會。它的確是一個非常強悍的對手?!痹S朝軍對《第一財經(jīng)周刊》說。
德州撲克對AI也提出了新的挑戰(zhàn)。相比圍棋,德州撲克更加難以掌握,原因就在于“非完整信息博弈”。
在圍棋中,雙方都能夠看到彼此的走法,棋手只需要分析擺在明面上的信息,再想出策略就可以應(yīng)對。但在不了解對方底牌的“非完整信息博弈”中,德州撲克的選手唯一知道的是自己的底牌,而對方的底牌、每一次公共牌開牌情況、對手的反應(yīng)都是未知的,不同要素組合會引發(fā)天量的計算結(jié)果。雖然每一局德州撲克的決策點是10的160次方,少于圍棋的10的170次方,但由于信息不透明,人工智能系統(tǒng)必須應(yīng)對隱藏的信息,實際上增加了計算的數(shù)量和難度。
應(yīng)對這種比賽,目前比較成功的德州撲克AI系統(tǒng)有兩個,除了“冷撲大師”,另一個是阿爾伯塔大學(xué)、捷克理工大學(xué)和布拉格查理大學(xué)研究者開發(fā)的Deep Stack,主要采用深度學(xué)習(xí)技術(shù)。Google的圍棋AI AlphaGo也是基于深度算法。Deep Stack曾在去年12月和33個人類選手4.4萬手牌的比賽中獲勝。
“冷撲大師”自我學(xué)習(xí)的核心理論卻是基于古老的博弈論,它的英文是Game Theory,本來就來源于撲克牌等游戲?!吧疃人惴ㄔ谶@樣的比賽中最大的問題是,它缺少確定性。”桑德霍姆對《第一財經(jīng)周刊》說。
所謂博弈行為,是指人每次決策都需要評估對方下一步的策略,從而思考自己的應(yīng)對,并力圖選取對自己最為有利或最為合理的方案。
而“冷撲大師”采用的算法更多是一種增強學(xué)習(xí)—它同樣是機器學(xué)習(xí)技術(shù)的一種。這種算法的靈感來自于人類學(xué)習(xí)過程:在學(xué)習(xí)新事物時,人類會經(jīng)歷一個不斷試錯的過程,即人類在學(xué)習(xí)過程中會根據(jù)環(huán)境給予的獎勵或懲罰,逐步形成對刺激的預(yù)期,最終形成最大利益的習(xí)慣性行為—就像孩子通過被灼痛來認(rèn)識火苗,從而懂得回避,但一只飛蛾卻會永遠(yuǎn)“不長記性”地?fù)湎蚧鹈纭?/p>
類似于人類面對未知環(huán)境不斷“試錯”的過程,桑德霍姆和布朗訓(xùn)練“冷撲大師”了解游戲的規(guī)則,但并沒有指導(dǎo)它如何玩游戲?!袄鋼浯髱煛睍约号c自己“左右互搏”,在多次循環(huán)練習(xí)中,它最終形成了自己的策略。整個過程完全沒有人為參與,所以,它的玩法跟人的玩法會非常不同。
撲克牌最終需要達到的是“納什均衡”狀態(tài),又稱為“非合作博弈均衡”。在德州撲克中,牌手能夠知道的只有底牌和已經(jīng)放在桌上的公共牌,但要猜測對手可能做出的決策,再選擇自己的最優(yōu)策略,使自己利益最大化。在某種情況下,無論是牌手還是對手都不能通過單方面改變決定而增加自己的收益,就達到了納什均衡的狀態(tài)。
根據(jù)博弈論,一對一的德州撲克比賽一定存在納什均衡點,每一局比賽,“冷撲大師”要做的,就是盡可能接近這個均衡點,即“對手即使知道‘冷撲大師下一步打法,也無法讓自己的利益最大化”。
為此桑德霍姆的團隊首先開發(fā)了一種名為“虛擬遺憾最小化”(簡稱CFR)的算法,這是“冷撲大師”算法中的第一個模塊。
遺憾值即事后最優(yōu)選擇的收益減去當(dāng)時選擇的收益,遺憾值最小化即采用隨機策略,每局賽后分析出哪一步悔恨值最高,以后就少走這一步。再經(jīng)過多次迭代計算后,“冷撲大師”就能掌握博弈樹中每個信息集的遺憾值,保證下一刻能走出最不會后悔的一步。
在比賽前,“冷撲大師”已多次接受如何接近納什均衡點的訓(xùn)練。在實際操作中,它還會根據(jù)比賽的具體情況,并通過學(xué)習(xí)對手的錯誤,不斷修正自己的策略。這項技能則源于“冷撲大師”算法中的第二個模塊—“安全嵌套式殘局解算器”。殘局解算器會在殘局時實時評估場上的情況,以判斷CRM算法運行時,納什均衡是否符合情況。
這個殘局解算器能輔助第一個模塊的算法。由于只用實時分析殘局情況,不需要分析所有的可能性,所以能提高計算效率。它能讓“冷撲大師”在殘局中利用對方的錯誤來完善自己的戰(zhàn)略,最終找到平衡點。
實際上,Deep Stack的深度學(xué)習(xí)也包含了這種算法。不過與Deep Stack不同,“冷撲大師”沒有選擇以評估函數(shù)作為中介分析殘局,而是直接從對手處獲取信息,通過對方的失敗來完善自己的戰(zhàn)略,這是一個實時動態(tài)的過程。
和中國龍之隊比賽之前,“冷撲大師”曾與美國隊對戰(zhàn),當(dāng)時參賽的一位選手Dong Kim就表示,冷撲大師好像知道他的底牌。在今年1月于美國匹茲堡舉行的這場比賽中,“冷撲大師”與4個職業(yè)玩家打了12萬手牌,最后贏走了接近總數(shù)的籌碼。
“它會根據(jù)對手或強悍或保守的牌風(fēng)調(diào)整策略,如果對手強勢,‘冷撲大師沒有好牌的時候往往會fold(棄牌),但一旦對手弱勢,‘冷撲大師往往會在河牌階段(最后一張公共牌被稱為“河牌”;河牌圈即是攤牌前最后一次下注圈加注),甚至all-in?!痹S朝軍說。
“冷撲大師”甚至還學(xué)會了似乎人類才比較擅長的“詐?!保╞luff)技巧。德州撲克比賽中,這是最常用的一種戰(zhàn)術(shù),即使沒有好牌,也能虛張聲勢,通過加大押注甚至all-in的方法讓對手棄牌。
人類牌手在詐唬時,除了分析對手的牌力,還會察言觀色,如果對手是個保守的人,或流露出緊張的情緒,詐唬一般能收到成效。但“冷撲大師”的詐唬純粹基于計算—只要達到納什均衡的狀態(tài),冷撲大師就會加注?!斑@是算法自然而然的結(jié)果,并非事前程序的設(shè)定?!鄙5潞D氛f。
這也是“冷撲大師”風(fēng)格有時顯得不合常理的原因?!啊鋼浯髱熡?0%的時候表現(xiàn)非常激進,它常常會在河牌圈無緣無故超池下注,通過詐唬引起對手情緒的波動。在這個時候,人類絕對不能比它更激進,不然通常會輸。”許朝軍說。
桑德海姆對《第一財經(jīng)周刊》透露,“冷撲大師”其實還留有“后手”。這次與“龍之隊”的比賽,由于默認(rèn)程序“已經(jīng)表現(xiàn)夠好了”,“冷撲大師”并沒有使用第三個“自我強化”模塊。這個模塊讓“冷撲大師”進一步升級,剔除掉比賽中被人類識破的套路,重新采用新的策略。在美國匹茲堡的比賽中,桑德海姆的助手布朗每天晚上會利用這個模塊彌補“冷撲大師”的漏洞,讓它更加難以對付。
如此看來,“冷撲大師”打敗人類并不出乎意料—賽前的普遍預(yù)測也是“冷撲大師”會大概率獲勝。但這場“并無懸念”的比賽的更大意義并不僅僅在于再次證明了人工智能的強大,或是普及德州撲克這種頗受商業(yè)人士喜愛的游戲。
在桑德海姆看來,諸如“冷撲大師”這類AI系統(tǒng)的開發(fā),為人類借助機器處理非完美信息提供了一種新的方法及可能—除了德州撲克,在金融、安防、商業(yè)談判這類充斥著不完整信息的領(lǐng)域,人工智能也能幫助人類做出更好的決策。