德州撲克算法幕後研發者CMU博士Brown專訪:AI如何打敗頂級人類牌手?

2020-12-12 雷鋒網

在上個月舉行的單挑無限注德州撲克( heads-up no-limit hold』em)人機對戰中,由卡耐基梅隆大學研發的AI程序Libratus以每100手14倍大盲(譯者註:縮寫為14bb/100,意為玩100手牌,平均能贏對手14倍大盲注)完勝世界級人類玩家團隊,震驚所有在場人員。

比賽共打12萬手,最後Libratus贏得了1,776,250個籌碼,近90個買入。雖然人類玩家輸慘了,但幸運的是他們並不需要真的自掏腰包把輸掉的錢給贏家Libratus(雖然他們來參加這場對戰也需繳納費用)。

Libratus是「AI撲克界的聖杯(the holy grail )」,CMU博士Noam Brown這樣評價道。Libratus由  Noam Brown和 CMU教授Tuomas Sandholm共同研發,並且是CMU這一系列撲克機器人裡面最新的一款。此前,還沒有任何機器人能在單挑無限注德州撲克中打敗世界級人類選手。

在Brown看來,Libratus尚有很大發展空間:「從理論上來講,升級版Libratus能達到50bb/100」(譯者註:即升級後的Libratus每100手能贏人類對手50倍大盲,也就是還有3.5倍的潛力可挖)。近日,世界著名撲克牌雜誌Card Player 對Brown進行了專訪,了解了AI撲克研究的歷史發展和未來走向等問題。以下為雷鋒網編譯:


Brown

Card Player :您對這次對戰結果感到驚訝嗎?

Brown:其實我還還挺驚訝的,我沒想到AI能做得這麼好。我們之前為了測試AI效果有讓它和 Claudico(雷鋒網(公眾號:雷鋒網)譯者註:CMU較早版本AI)對戰過,結果是Libratus以10~12bb/100打敗Claudico,這個成績好於2015年Claudico與人類對戰的結果(譯者註:那次大戰中AI輸給了人類選手),不過差不太多。所以我們感覺,這次人機對戰Libratus的勝算要大一些,但是不確定到底會贏多少。所以當這次結果出來的時候,我們對AI能表現這麼好感到相當詫異。


Card Player :所以其實當時你們認為AI還沒辦法以14bb/100打敗人類,是嗎?

Brown:是這樣,我們不知道人類到底比Claudico 厲害多少,有多少是AI需要提升的。(譯者註:在2015年那場對戰)中,人類選手發現並充分利用了Claudico 的漏洞比如他們讓Claudico 多次採用「溜進」(譯者註:limp,翻牌前專用名詞,指玩家不做任何加注,只跟進1倍大盲注)戰術這一招非常有效果,是人類玩家打敗Claudico 的關鍵。但是Libratus不是通過利用對方弱點贏的。Libratus和Claudico對戰時,Libratus能夠在不利用後者弱點的情況下以10~12bb/100打敗Claudico ,這說明如果Libratus 沒有任何弱點的話,能比人類更強。而Libratus這次之所以能打敗人類,其原因就在於它沒有任何人類可以利用的弱點。


Card Player :在人類玩家緊追比分,對戰進入白熱化的時候,你是不是在想對手可能已經找到了Libratus的弱點,還是說仍舊很有信心?

Brown:第一周比賽快要結束時,雙方幾乎打成平局。人類選手也在第一周對Libratus會如何調整打法、它的強項在哪裡等做出了一系列推測。他們沒有和我詳談他們認為戰局將會如何發展,但從我聽到的來看,他們應該是想從數據中尋找Libratus的套路,分析它的弱點和優勢。所以,大體上我不怎麼擔心。他們認為AI在一些方面有缺陷,但實際上並沒有。比如,在有一天的比賽中,他們80%都是再加注( three-betting ),因為從數據來看,他們認為AI 對特定的三倍打法( three-bet size)不太擅長。但我不認為那是缺陷,只是他們的數據中存在噪音。他們在比賽進程中獲得的數據導致他們得出了這樣的結論。但他們確實看到了裡面存在的一些問題。比如Libratus對特定的開局下注的大小對應不好。比賽前我們認為這不是什麼大問題,但事實證明,這個弱點很要命。好在AI還留有一手——趁當天晚上對手睡覺的時候,AI就開始連續不斷地進行訓練,彌補自己的不足以防止對手以後再次利用這一缺陷。所以你看到,從第二周局勢就開始轉變了。

 

Card Player :這次微調整對之後的比賽是否重要?因為人類選手也會協同作戰討論戰略,所以這次調整是否加大了對戰難度?

Brown:這裡面有挺多誤解的。AI微調不是說我們讓它再再加注(four-bet)的次數增多,或提高加注倍數,而是因為對手在翻牌前和翻牌時總是下不同大小的注。AI程序知道如何回應2倍,2.5倍或3倍的開局下注。但如果對方以2.75倍開局,那麼AI就會把2.75約等於3,所以它的回應還是比較準確的。這樣的做法雖然算不上不合理,但如果它能不四捨五入的話,效果會更好。於是它那晚就整夜訓練自己如何去回應2.75倍的下注。它下注的大小是由算法決定的,根據對手下注次數最多倍數,這個數字離我們事先設定好的一些數目離得有多遠,算法可以為對手下的注分出優先等級。所以這就是微調所做的改變。這也是算法中的關鍵部分,讓AI一步步根據人類打法改變自己的路子,而不像他們之前猜測的去利用人類弱點。


Card Player :那麼我們能不能說Libratus在轉牌圈(the turn)和河牌圈(the river)時的回應沒在翻牌前和翻牌時的回應那麼重要?

Brown:在轉牌圈和河牌圈時,你會發現AI需要花時間思考接下來的動作。這個時間非常迅速以至於有的人可能都沒有注意到。其實,每次人類對手在轉牌圈和河牌圈下注時,它都要重新計算策略。這樣,無論對手怎麼出招它都能給予完美回應。所以AI必須預先計算一系列的不同下注大小並放入到遊戲樹(game tree)中,但預先計算的不能應對轉牌圈和河牌圈,因為這兩個需要實時計算的策略。(譯者註:遊戲樹是指組合博弈理論中用來表達一個賽局中各種後續可能性的樹)

 

Card Player :這個實時計算能力是否正是Claudico 所缺乏的?或者是做的不夠完美的地方?

Brown:Claudico 能夠在河牌圈進行實時計算,只不過在下面幾個方面比較弱。首先,它沒有考慮到阻斷牌(雷鋒網譯者註:blocker,即自己要的牌在別人手上)。為了運作更快,它需要把幾手牌組合起來,然後再區分對待。基於此它可能會認為,黑桃A帶三張黑桃和梅花A帶三張黑桃是一樣的,即便這兩種牌應該區分對待Claudico 的最終遊戲解算機(end-game solver)會對大量的實時下注進行計算,但不會在每次人類下注時進行再計算。我認為,對人類每次下注進行再計算這一步,對Libratus本次的獲勝至關重要。同樣的,這次我們能在轉牌圈開始的時候就對這種計算進行擴展。這種做法的計算量更大,因為現在AI需要處理約50種可能出現的不同河牌圈,並且在遊戲結束(每手牌)前可能出現的行動數量也在呈指數級地增長。所以,要像有效地擴展這種新算法,新程序的計算成本也比 Claudico 要貴上1000倍。 

Card Player :Libratus什麼時候才能打出一個完美的GTO( game theory optimal,距離博弈理論中的最優化策略)?像Libratus這樣的機器你們還會推出多少個版本?

Brown:沒人知道AI離打出一個博弈理論中的最優化策略還有多遠。我們有很多方法來計算這一數值,但代價極其昂貴,所以到現在都還沒實現。也許我們明年會開始嘗試。如果非要我推測的話,我猜一個博弈理論中的最優化策略可以以15bb/100 戰勝Libratus。這是我的粗略估計,範圍應該在5~50bb/100。

 

Card Player :哇,所以這類AI還是有很大提升空間嘍?

Brown:這不好說。以前AI的致命弱點是在轉牌圈和河牌圈沒有把阻隔牌考慮在內,這在高水平對戰中確實非常關鍵。但Libratus不存在這個問題。它會在每個轉牌圈和河牌圈中,專門考慮每手牌的情況,和之前的AI相比,該做法讓Libratus的表現有了飛躍式的進步。

在區分阻隔牌這一點上,Libratus沒多少提升空間了。但是在如何選擇下注數額上,還是可以有進步的。我很難說它能進步多少,但我猜測可能會達到15

 

Card Player :有人認為Libratus在轉牌圈和河牌圈的超額下注(over-betting)非常具有進攻性。你是否認為AI在這方面已經達到了完美水平,或說在如何平衡下註上仍有改善空間?

Brown:它能在比賽時超額下注,我們也很意外。Libratus 並非根據人類的數據訓練而成,它之前從來沒跟人類玩家過過手。所以此次對戰,它採取的是它認為最優的策略。它的策略非常獨特,並且和人類所認為的最優打法非常不同。超額下注是它策略的重要部分,另外還有donk bets。能看到AI做到人類未能做到的事,這真的難以忘懷,我也很滿足。這種進攻性早在Claudico身上就有所體現,那時候人們覺得它在底池還很小時就玩all-in很不明智。我覺得它這是錯誤的打法,是沒有做好平衡的表現。但是我認為從Libratus身上我們已經看到了比較合理的進攻性,而這也是它成功的關鍵。

 

Card Player :很多人都想知道這對未來的線上撲克玩家意味著什麼。您能否說一下,至少是在當前情況下,為何您研發的AI不會威脅到遊戲的公正性?

Brown:至少我能向大家保證,我們不會在線上運行Libratus ,也沒有這個打算。但很顯然,其他人會把我們公開的技術應用在機器人中,並讓它們參與線上遊戲。關於機器人會如何影響線上撲克玩家,我不去做太多推測,因為我也確實不清楚。但我知道現在已經有機器人被應用在線上了,有些撲克牌遊戲網站費很大力氣想要在線上安置這樣的機器人。我不知道在這場博弈中哪方會贏。

 

Card Player :在比賽中減少或增少籌碼的數量對比賽結果會有什麼影響?如果雙方各有500到1000

倍大盲注的籌碼,機器能應付的了嗎?

Brown:我們選擇200倍盲注是因為年度計算機撲克競賽採用的是這個規制。每年,做撲克的 AI 研究者都會聚集起來互相對戰。一直以來,AI都很難把200倍盲注玩好。因為牌越多,AI 就要做出更多的選擇。就我的理解,200 倍盲注是人類玩德撲的上限。保持公平對等是很有必要的,但同時也應該讓 AI 玩起來有難度。如果盲注數量變少,比如只有 100倍盲注,我認為 AI 和人類對戰的結果和現在一樣(如果不是更好的話)。要是盲注數量增多,比如 增加到500或1000倍……坦白說,我認為 結果還是跟現在一樣(如果不是更好的話)。這不是因為對 AI 來說情況變簡單了,而是因為盲注增多,對人類來說變複雜了。我不認為人類能習慣 500 或 1000 倍的盲注。到了那個數量級,Libratus 真正擅長的大規模超大投注(over-bets)的重要性就會凸顯出來。我人類在超大投注方面不會比 Libratus 更強。

 

Card Player :讓機器人跟再多一位玩家對戰的其他玩法,AI研究員有在研究嗎?

Brown:在三人對戰撲克上已經有了一些研究。總的來講, Libratus靠現有技術,就算再多加兩個對手也沒問題。現在的問題不是技術,而是你怎麼評價AI的表現。因為當你有兩個以上對手的時候,儘管AI使用的是最好的GTO策略,但它仍會輸錢,因為其他玩家都或明或暗地串通好了。所以在遊戲中讓一個AI對戰五個人類玩家,你很難去評價AI是否比人做的更好。這種評價方式不可行。這也是為什麼這次比賽我們是一對一制的,也是為什麼本次比賽結果在一對一遊戲制度下有相當大的意義。我認為目前無限德州撲克 6 人桌(Six-Max)略微超出了Libratus 和類似AI機器的能力。

話雖如此,年度計算機撲克競賽已經在計劃加入6人桌比賽了,所以這方面的研究馬上也會開始,而且我認為該領域會發展非常迅速。我覺得,隨著Libratus一點一點的進步,兩年內你就能看到它在6人桌比賽中戰勝人類了。當你玩6人桌的時候,是否要打GTO策略這真的無法確定,因為進攻較弱的對手的打法效果可能會更好。AI撲克研究圈目前也在討論這一點,不過還沒有結論。但在針對弱者並攻擊對方弱點方面,還是人類更有優勢。

 via:cardplayer     

【兼職召集令!】

如果你對未來充滿憧憬,喜歡探索改變世界的科技進展,look no further!

我們需要這樣的你:

精通英語,對技術與產品感興趣,關注人工智慧學術動態的蘿莉&萌妹子&技術宅;

文字不求妙筆生花,但希望通俗易懂;

在這裡,你會收穫:

一群來自天南地北、志同道合的小夥伴;

前沿學術科技動態,每天為自己充充電;

更高的生活品質,翻翻文章就能掙到零花錢;

有意向的小夥伴們把個人介紹/簡歷發至 guoyixin@leiphone.com,如有作品,歡迎一併附上。

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 就算是輸給AI,也不能說人類丟掉了德州撲克的陣地|德撲人機大戰Day1
    雷鋒網4月6日消息,亞洲首度德州撲克人機大戰——「冷撲大師V.S.中國龍之隊」巔峰表演賽已經在海南生態軟體園傳奇智力運動館開始,獲勝方將獲得200萬人民幣獎勵。首日上半場,中國龍之隊順利按進度完成3600手牌,冷撲大師暫時領先中國龍之隊14145籌碼。因為每人單副手牌重置後的籌碼量就有20000,所以這個差距非常的小。
  • 1小時贏1000美元的AI賭神是怎樣煉成的?幕後團隊在線答疑
    如此強悍的AI是如何煉成的?要研究其算法該如何入手?有請幕後研究人員為您解答。  人們發現規則明確的遊戲,即使像星際這樣戰局多變的即時戰略遊戲,人類也無法戰勝擁有碾壓性算力優勢的計算機。於是有人寄希望於帶有運氣成分、需要大量心裡戰的德州撲克。
  • CMU 德州撲克幕後英雄 AI 將在一對多比賽完勝人類
    Brown 還表示,稍作增強的 Libratus 有望在兩年內贏得無限手德州撲克 6 人桌(Six-Max)的比賽。   上個月月末,卡耐基梅隆大學的 AI 程序在「一對一不限注」的撲克比賽中,擊敗了一組世界級的德州撲克職業選手。出乎所有人的意外,這一程序對人類專業撲克手的勝利幾乎是壓倒性的:14bb/h。
  • AI在德州撲克上打敗人類為什麼是個大事件?9個問答告訴你
    這種複雜的撲克玩法是人工智慧(AI)最新涉足的領域,目前已經被成功徵服——且成功了兩次,徵服者分別為兩個不同研究團隊所研製的對戰機器人。這兩個人工智慧挑戰的都是「無限注」雙人德州撲克,而且在過去幾個月中都取得了裡程碑式的成就——他們打敗了人類職業選手。去年12月,DeepStack率先贏得比賽。
  • 德州撲克:AI打牌也能完勝人類了
    筆者從完美信息博弈類遊戲的理論出發, 分析了AI打德州撲克為何能打贏人類?前段時間,受周圍朋友的影響,喜歡上了德州撲克,享受和牌友心理博弈的過程,也享受「賭博」帶來的快感。隨著天數的增加,AI和人類選手的差距愈發明顯近幾年,隨著科技的不斷發展,計算機打敗人類的案例屢見不鮮。作為一隻「程序媛」,我也算是半個「局內人」,本科參與過一些計算機博弈和機器人相關的比賽,碩士期間對AI也有一些淺顯的了解。今天就從理性的角度講講,AI是如何打敗人類的。
  • CMU風頭被搶 新型DeepStack算法搶先攻克德州撲克圖靈測試
    (原標題:CMU風頭被搶 新型DeepStack算法搶先攻克德州撲克圖靈測試)
  • AI玩多人德撲擊敗頂級玩家!150美元,實力可掏空在線撲克公司
    這是人工智慧機器人第一次在超過兩名玩家 (或兩支隊伍) 的大型基準遊戲中擊敗頂級專業人士. 此前,人工智慧技術已經能夠在只有一個對手的情況下打敗人類撲克高手。但像 Pluribus 這樣,在多人同桌的情況下擊敗人類精英玩家,才是關鍵的裡程碑。
  • 攜Science封面、NIPS最佳論文,CMU大神Noam博士畢業,論文已公開
    機器之心報導作者:杜偉還記得在雙人無限撲克和多人無限撲克中戰勝人類頂級玩家的遊戲 AI 系統和 嗎?近日,這兩個 AI 系統的開發者之一、CMU 大神宣布其完成博士論文,並即將從 CMU 畢業。
  • 天天德州撲克算法 天天德州撲克算牌須知
    原標題:天天德州撲克算法 天天德州撲克算牌須知   本文將告訴你,高手是這樣煉成的,首先要學會《天天德州》撲克計算法   撲克計算法主要是學習撲克的概率,簡單說,就是等來某種獲勝牌型的可能性(成牌概率),與底池提供籌碼(底池概率)之間的比較,如果底池籌碼足夠多,高於成牌可能,就玩下去,反之就棄牌。
  • 亞洲首度德州撲克人機對戰即將開賭!| 附李開復演講全文
    今年的1月30日,在賓夕法尼亞州匹茲堡的Rivers賭場,Libratus以每100手14倍大盲(雷鋒網(公眾號:雷鋒網)按:縮寫為14bb/100,意為玩100手牌,平均能贏對手14倍大盲注)完勝四位世界頂級德州撲克選手Jason Les、Dong Kim、Daniel McAulay 和Jimmy Chou,成為首個戰勝人類世界級玩家的德撲AI。
  • AI 首次在德州撲克戰勝人類職業玩家,新算法讓機器擁有「直覺」
    研究者在論文中稱,在一項有數十名參賽者進行的44000手撲克的比賽中,DeepStack 成為第一個在一對一無限注德州撲克中擊敗職業撲克玩家的電腦程式。  非完美信息博弈  遊戲長久以來都被認為是用來測量人工智慧進步的一個基準。
  • 德州撲克講堂:高級技巧 勝率之攤牌勝率的算法
    原標題:德州撲克講堂:高級技巧 勝率之攤牌勝率的算法 行動勝率的算法。行動獲勝是德州撲克中唯二的獲勝方式,掌握了對手的棄牌率的話,就算手裡完全沒牌也可以輕鬆獲勝。然而具體打出對手穩定的棄牌則是一種高級技巧。對於初學玩家,推薦掌握好攤牌勝率的算法,穩當地用攤牌來獲勝。
  • CMU懟上了:DeepStack算法的水平,我們2年前就達到了
    成為了世界上第一個在一對一無限注德州撲克上擊敗了職業撲克玩家的電腦程式」。在之前的文章中,雷鋒網提到這種「一對一無限注德州撲克」就是兩個人玩的賭博遊戲,因為事先會給每位玩家分發2張底牌,所以對方「底牌信息」你是不知道的,對於計算機來說,就是在處理一種「非完整信息博弈」。我們知道AlphaGo玩圍棋,對弈雙方的信息是完整的、對稱的,並沒有隱藏的信息。所以在德州撲克上AI取得了進步,是具有重要意義的。
  • 一臺筆記本打敗超算:CMU冷撲大師團隊提出全新德撲AI Modicum
    CMU 冷撲大師團隊在讀博士 Noam Brown、Tuomas Sandholm 教授和研究助理 Brandon Amos 近日提交了一個新研究:德州撲克人工智慧 Modicum,它僅用一臺筆記本電腦的算力就打敗了業內頂尖的 Baby Tartanian8(2016 計算機撲克冠軍)和 Slumbot(2018 年計算機撲克冠軍)。
  • 德州撲克英文術語進階——WSOP篇
    德州撲克英文術語進階——WSOP篇 前面介紹了德州撲克當中的一些足以讓中國玩家直接上手英文對局環境的一批入門級英文術語
  • 探秘:人工智慧是如何擊敗人類稱霸德州撲克的?
    在《科學》雜誌上發表的一篇研究報告中顯示,美國卡內基梅隆大學的研究人員詳細介紹了他們的AI如何通過將遊戲分解為可計算的可控部分來實現超人的表現,並根據對手的遊戲情況,找到其潛在的弱點制定相應的競爭戰略。
  • 專訪德撲AI背後專家:德撲AI的人工智慧原理不靠深度學習 靠「談判」
    4月6日,在美國擊敗人類頂尖德州撲克選手的人工智慧Liberatus接受創新工場邀請,化名「冷撲大師」,將在海南挑戰中國職業德州撲克選手組成的「龍之隊」。賽前在接受新浪科技專訪時,開發冷撲大師的卡內基梅隆大學計算機科學學院院長安德魯·摩爾(Andrew Moore)揭示了在另一場人機大戰中,戰勝人類背後的基本原理:更加古老的線性規劃(Liner Programming)。
  • 德州撲克職業牌手是如何逆天棄掉一手葫蘆牌的?
    有好幾個星期沒有更新文章了,家裡有些事,另外是花了一些業餘時間在德州撲克上。
  • 姚期智、劉鐵巖主講,Noam Brown、田淵棟講習,首屆國際分布式AI...
    他在 1967 年獲得臺灣大學物理學士學位、1972 年獲得美國哈佛大學物理博士學位、1975 年獲得美國伊利諾依大學計算機科學博士學位。姚期智院士的研究方向包括計算理論及其在密碼學和量子計算中的應用。1993年,他最先提出量子通信複雜性,基本上完成了量子計算機的理論基礎;1995年又提出的分布式量子計算模式,後來成為分布式量子算法和量子通訊協議安全性的基礎。
  • 德州撲克策略:勝率之攤牌勝率
    原標題:德州撲克策略:勝率之攤牌勝率   行動獲勝是德州撲克中唯二的獲勝方式,掌握了對手的棄牌率的話,就算手裡完全沒牌也可以輕鬆獲勝。然而具體打出對手穩定的棄牌則是一種高級技巧。對於初學玩家,推薦掌握好攤牌勝率的算法,穩當地用攤牌來獲勝。