1
本文作者: 夏睿 | 2017-02-15 21:21 |
在上個月舉行的單挑無限注德州撲克( heads-up no-limit hold’em)人機對戰(zhàn)中,由卡耐基梅隆大學(xué)研發(fā)的AI程序Libratus以每100手14倍大盲(譯者注:縮寫為14bb/100,意為玩100手牌,平均能贏對手14倍大盲注)完勝世界級人類玩家團(tuán)隊,震驚所有在場人員。
比賽共打12萬手,最后Libratus贏得了1,776,250個籌碼,近90個買入。雖然人類玩家輸慘了,但幸運的是他們并不需要真的自掏腰包把輸?shù)舻腻X給贏家Libratus(雖然他們來參加這場對戰(zhàn)也需繳納費用)。
Libratus是“AI撲克界的圣杯(the holy grail )”,CMU博士Noam Brown這樣評價道。Libratus由 Noam Brown和 CMU教授Tuomas Sandholm共同研發(fā),并且是CMU這一系列撲克機器人里面最新的一款。此前,還沒有任何機器人能在單挑無限注德州撲克中打敗世界級人類選手。
在Brown看來,Libratus尚有很大發(fā)展空間:“從理論上來講,升級版Libratus能達(dá)到50bb/100”(譯者注:即升級后的Libratus每100手能贏人類對手50倍大盲,也就是還有3.5倍的潛力可挖)。近日,世界著名撲克牌雜志Card Player 對Brown進(jìn)行了專訪,了解了AI撲克研究的歷史發(fā)展和未來走向等問題。以下為雷鋒網(wǎng)編譯:
Brown
Card Player :您對這次對戰(zhàn)結(jié)果感到驚訝嗎?
Brown:其實我還還挺驚訝的,我沒想到AI能做得這么好。我們之前為了測試AI效果有讓它和 Claudico(雷鋒網(wǎng)譯者注:CMU較早版本AI)對戰(zhàn)過,結(jié)果是Libratus以10~12bb/100打敗Claudico,這個成績好于2015年Claudico與人類對戰(zhàn)的結(jié)果(譯者注:那次大戰(zhàn)中AI輸給了人類選手),不過差不太多。所以我們感覺,這次人機對戰(zhàn)Libratus的勝算要大一些,但是不確定到底會贏多少。所以當(dāng)這次結(jié)果出來的時候,我們對AI能表現(xiàn)這么好感到相當(dāng)詫異。
Card Player :所以其實當(dāng)時你們認(rèn)為AI還沒辦法以14bb/100打敗人類,是嗎?
Brown:是這樣,我們不知道人類到底比Claudico 厲害多少,有多少是AI需要提升的。(譯者注:在2015年那場對戰(zhàn))中,人類選手發(fā)現(xiàn)并充分利用了Claudico 的漏洞,比如他們讓Claudico 多次采用“溜進(jìn)”(譯者注:limp,翻牌前專用名詞,指玩家不做任何加注,只跟進(jìn)1倍大盲注)戰(zhàn)術(shù)。這一招非常有效果,是人類玩家打敗Claudico 的關(guān)鍵。但是Libratus不是通過利用對方弱點贏的。Libratus和Claudico對戰(zhàn)時,Libratus能夠在不利用后者弱點的情況下以10~12bb/100打敗Claudico ,這說明如果Libratus 沒有任何弱點的話,能比人類更強。而Libratus這次之所以能打敗人類,其原因就在于它沒有任何人類可以利用的弱點。
Card Player :在人類玩家緊追比分,對戰(zhàn)進(jìn)入白熱化的時候,你是不是在想對手可能已經(jīng)找到了Libratus的弱點,還是說仍舊很有信心?
Brown:第一周比賽快要結(jié)束時,雙方幾乎打成平局。人類選手也在第一周對Libratus會如何調(diào)整打法、它的強項在哪里等做出了一系列推測。他們沒有和我詳談他們認(rèn)為戰(zhàn)局將會如何發(fā)展,但從我聽到的來看,他們應(yīng)該是想從數(shù)據(jù)中尋找Libratus的套路,分析它的弱點和優(yōu)勢。所以,大體上我不怎么擔(dān)心。他們認(rèn)為AI在一些方面有缺陷,但實際上并沒有。比如,在有一天的比賽中,他們80%都是再加注( three-betting ),因為從數(shù)據(jù)來看,他們認(rèn)為AI 對特定的三倍打法( three-bet size)不太擅長。但我不認(rèn)為那是缺陷,只是他們的數(shù)據(jù)中存在噪音。他們在比賽進(jìn)程中獲得的數(shù)據(jù)導(dǎo)致他們得出了這樣的結(jié)論。但他們確實看到了里面存在的一些問題。比如Libratus對特定的開局下注的大小對應(yīng)不好。比賽前我們認(rèn)為這不是什么大問題,但事實證明,這個弱點很要命。好在AI還留有一手——趁當(dāng)天晚上對手睡覺的時候,AI就開始連續(xù)不斷地進(jìn)行訓(xùn)練,彌補自己的不足以防止對手以后再次利用這一缺陷。所以你看到,從第二周局勢就開始轉(zhuǎn)變了。
Card Player :這次微調(diào)整對之后的比賽是否重要?因為人類選手也會協(xié)同作戰(zhàn)討論戰(zhàn)略,所以這次調(diào)整是否加大了對戰(zhàn)難度?
Brown:這里面有挺多誤解的。AI微調(diào)不是說我們讓它再再加注(four-bet)的次數(shù)增多,或提高加注倍數(shù),而是因為對手在翻牌前和翻牌時總是下不同大小的注。AI程序知道如何回應(yīng)2倍,2.5倍或3倍的開局下注。但如果對方以2.75倍開局,那么AI就會把2.75約等于3,所以它的回應(yīng)還是比較準(zhǔn)確的。這樣的做法雖然算不上不合理,但如果它能不四舍五入的話,效果會更好。于是它那晚就整夜訓(xùn)練自己如何去回應(yīng)2.75倍的下注。它下注的大小是由算法決定的,根據(jù)對手下注次數(shù)最多倍數(shù),這個數(shù)字離我們事先設(shè)定好的一些數(shù)目離得有多遠(yuǎn),算法可以為對手下的注分出優(yōu)先等級。所以這就是微調(diào)所做的改變。這也是算法中的關(guān)鍵部分,讓AI一步步根據(jù)人類打法改變自己的路子,而不像他們之前猜測的去利用人類弱點。
Card Player :那么我們能不能說Libratus在轉(zhuǎn)牌圈(the turn)和河牌圈(the river)時的回應(yīng)沒在翻牌前和翻牌時的回應(yīng)那么重要?
Brown:在轉(zhuǎn)牌圈和河牌圈時,你會發(fā)現(xiàn)AI需要花時間思考接下來的動作。這個時間非常迅速以至于有的人可能都沒有注意到。其實,每次人類對手在轉(zhuǎn)牌圈和河牌圈下注時,它都要重新計算策略。這樣,無論對手怎么出招它都能給予完美回應(yīng)。所以AI必須預(yù)先計算一系列的不同下注大小并放入到游戲樹(game tree)中,但預(yù)先計算的不能應(yīng)對轉(zhuǎn)牌圈和河牌圈,因為這兩個需要實時計算的策略。(譯者注:游戲樹是指組合博弈理論中用來表達(dá)一個賽局中各種后續(xù)可能性的樹)
Card Player :這個實時計算能力是否正是Claudico 所缺乏的?或者是做的不夠完美的地方?
Brown:Claudico 能夠在河牌圈進(jìn)行實時計算,只不過在下面幾個方面比較弱。首先,它沒有考慮到阻斷牌(雷鋒網(wǎng)譯者注:blocker,即自己要的牌在別人手上)。為了運作更快,它需要把幾手牌組合起來,然后再區(qū)分對待。基于此它可能會認(rèn)為,黑桃A帶三張黑桃和梅花A帶三張黑桃是一樣的,即便這兩種牌應(yīng)該區(qū)分對待。Claudico 的最終游戲解算機(end-game solver)會對大量的實時下注進(jìn)行計算,但不會在每次人類下注時進(jìn)行再計算。我認(rèn)為,對人類每次下注進(jìn)行再計算這一步,對Libratus本次的獲勝至關(guān)重要。同樣的,這次我們能在轉(zhuǎn)牌圈開始的時候就對這種計算進(jìn)行擴展。這種做法的計算量更大,因為現(xiàn)在AI需要處理約50種可能出現(xiàn)的不同河牌圈,并且在游戲結(jié)束(每手牌)前可能出現(xiàn)的行動數(shù)量也在呈指數(shù)級地增長。所以,要像有效地擴展這種新算法,新程序的計算成本也比 Claudico 要貴上1000倍。
Card Player :Libratus什么時候才能打出一個完美的GTO( game theory optimal,距離博弈理論中的最優(yōu)化策略)?像Libratus這樣的機器你們還會推出多少個版本?
Brown:沒人知道AI離打出一個博弈理論中的最優(yōu)化策略還有多遠(yuǎn)。我們有很多方法來計算這一數(shù)值,但代價極其昂貴,所以到現(xiàn)在都還沒實現(xiàn)。也許我們明年會開始嘗試。如果非要我推測的話,我猜一個博弈理論中的最優(yōu)化策略可以以15bb/100 戰(zhàn)勝Libratus。這是我的粗略估計,范圍應(yīng)該在5~50bb/100。
Card Player :哇,所以這類AI還是有很大提升空間嘍?
Brown:這不好說。以前AI的致命弱點是在轉(zhuǎn)牌圈和河牌圈沒有把阻隔牌考慮在內(nèi),這在高水平對戰(zhàn)中確實非常關(guān)鍵。但Libratus不存在這個問題。它會在每個轉(zhuǎn)牌圈和河牌圈中,專門考慮每手牌的情況,和之前的AI相比,該做法讓Libratus的表現(xiàn)有了飛躍式的進(jìn)步。
在區(qū)分阻隔牌這一點上,Libratus沒多少提升空間了。但是在如何選擇下注數(shù)額上,還是可以有進(jìn)步的。我很難說它能進(jìn)步多少,但我猜測可能會達(dá)到15。
Card Player :有人認(rèn)為Libratus在轉(zhuǎn)牌圈和河牌圈的超額下注(over-betting)非常具有進(jìn)攻性。你是否認(rèn)為AI在這方面已經(jīng)達(dá)到了完美水平,或說在如何平衡下注上仍有改善空間?
Brown:它能在比賽時超額下注,我們也很意外。Libratus 并非根據(jù)人類的數(shù)據(jù)訓(xùn)練而成,它之前從來沒跟人類玩家過過手。所以此次對戰(zhàn),它采取的是它認(rèn)為最優(yōu)的策略。它的策略非常獨特,并且和人類所認(rèn)為的最優(yōu)打法非常不同。超額下注是它策略的重要部分,另外還有donk bets。能看到AI做到人類未能做到的事,這真的難以忘懷,我也很滿足。這種進(jìn)攻性早在Claudico身上就有所體現(xiàn),那時候人們覺得它在底池還很小時就玩all-in很不明智。我覺得它這是錯誤的打法,是沒有做好平衡的表現(xiàn)。但是我認(rèn)為從Libratus身上我們已經(jīng)看到了比較合理的進(jìn)攻性,而這也是它成功的關(guān)鍵。
Card Player :很多人都想知道這對未來的線上撲克玩家意味著什么。您能否說一下,至少是在當(dāng)前情況下,為何您研發(fā)的AI不會威脅到游戲的公正性?
Brown:至少我能向大家保證,我們不會在線上運行Libratus ,也沒有這個打算。但很顯然,其他人會把我們公開的技術(shù)應(yīng)用在機器人中,并讓它們參與線上游戲。關(guān)于機器人會如何影響線上撲克玩家,我不去做太多推測,因為我也確實不清楚。但我知道現(xiàn)在已經(jīng)有機器人被應(yīng)用在線上了,有些撲克牌游戲網(wǎng)站費很大力氣想要在線上安置這樣的機器人。我不知道在這場博弈中哪方會贏。
Card Player :在比賽中減少或增少籌碼的數(shù)量對比賽結(jié)果會有什么影響?如果雙方各有500到1000
倍大盲注的籌碼,機器能應(yīng)付的了嗎?
Brown:我們選擇200倍盲注是因為年度計算機撲克競賽采用的是這個規(guī)制。每年,做撲克的 AI 研究者都會聚集起來互相對戰(zhàn)。一直以來,AI都很難把200倍盲注玩好。因為牌越多,AI 就要做出更多的選擇。就我的理解,200 倍盲注是人類玩德?lián)涞纳舷?。保持公平對等是很有必要的,但同時也應(yīng)該讓 AI 玩起來有難度。如果盲注數(shù)量變少,比如只有 100倍盲注,我認(rèn)為 AI 和人類對戰(zhàn)的結(jié)果和現(xiàn)在一樣(如果不是更好的話)。要是盲注數(shù)量增多,比如 增加到500或1000倍……坦白說,我認(rèn)為 結(jié)果還是跟現(xiàn)在一樣(如果不是更好的話)。這不是因為對 AI 來說情況變簡單了,而是因為盲注增多,對人類來說變復(fù)雜了。我不認(rèn)為人類能習(xí)慣 500 或 1000 倍的盲注。到了那個數(shù)量級,Libratus 真正擅長的大規(guī)模超大投注(over-bets)的重要性就會凸顯出來。我人類在超大投注方面不會比 Libratus 更強。
Card Player :讓機器人跟再多一位玩家對戰(zhàn)的其他玩法,AI研究員有在研究嗎?
Brown:在三人對戰(zhàn)撲克上已經(jīng)有了一些研究??偟膩碇v, Libratus靠現(xiàn)有技術(shù),就算再多加兩個對手也沒問題?,F(xiàn)在的問題不是技術(shù),而是你怎么評價AI的表現(xiàn)。因為當(dāng)你有兩個以上對手的時候,盡管AI使用的是最好的GTO策略,但它仍會輸錢,因為其他玩家都或明或暗地串通好了。所以在游戲中讓一個AI對戰(zhàn)五個人類玩家,你很難去評價AI是否比人做的更好。這種評價方式不可行。這也是為什么這次比賽我們是一對一制的,也是為什么本次比賽結(jié)果在一對一游戲制度下有相當(dāng)大的意義。我認(rèn)為目前無限德州撲克 6 人桌(Six-Max)略微超出了Libratus 和類似AI機器的能力。
話雖如此,年度計算機撲克競賽已經(jīng)在計劃加入6人桌比賽了,所以這方面的研究馬上也會開始,而且我認(rèn)為該領(lǐng)域會發(fā)展非常迅速。我覺得,隨著Libratus一點一點的進(jìn)步,兩年內(nèi)你就能看到它在6人桌比賽中戰(zhàn)勝人類了。當(dāng)你玩6人桌的時候,是否要打GTO策略這真的無法確定,因為進(jìn)攻較弱的對手的打法效果可能會更好。AI撲克研究圈目前也在討論這一點,不過還沒有結(jié)論。但在針對弱者并攻擊對方弱點方面,還是人類更有優(yōu)勢。
via:cardplayer
【兼職召集令!】
如果你對未來充滿憧憬,喜歡探索改變世界的科技進(jìn)展,look no further!
我們需要這樣的你:
精通英語,對技術(shù)與產(chǎn)品感興趣,關(guān)注人工智能學(xué)術(shù)動態(tài)的蘿莉&萌妹子&技術(shù)宅;
文字不求妙筆生花,但希望通俗易懂;
在這里,你會收獲:
一群來自天南地北、志同道合的小伙伴;
前沿學(xué)術(shù)科技動態(tài),每天為自己充充電;
更高的生活品質(zhì),翻翻文章就能掙到零花錢;
有意向的小伙伴們把個人介紹/簡歷發(fā)至 guoyixin@leiphone.com,如有作品,歡迎一并附上。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。