閱讀197 返回首頁    go 阿裏雲 go 技術社區[雲棲]


人工智能與撲克大戰30年:機器為何現在開始碾壓頂級牌手?

《終結者》、《我,機器人》和《A.I.人工智能》隻是過去四十年中反映人工智能發展超過人類並導致人類毀滅這一主題的眾多電影中的幾個例子。《美國新聞與世界報道》的Jeff Nesbit表示,雖然這種情況在近期內發生的可能性仍然不大,但是很多人認為這個主題裏的第一部分——人工智能會超過人腦的水平,達到超級人工智能水平(artificial superintelligence,ASI)——這一情況將會在未來三十年內的某個時刻實現。

ASI是否會導致人類的終結還有待觀察,但人工智能最近在撲克界取得了很大的突破。

AI與撲克大戰30年 為何現在才全麵碾壓

人工智能與撲克的“戰鬥史”可追溯到1984年,那一年,Mike Caro創建了一款名為Orac的基礎撲克人工智能軟件以征戰World Series of Poker(世界撲克係列賽,世界撲克比賽中一項最權威、最受尊重的賽事。WSOP與WPT,EPT並稱世界三大撲克賽事)。可以說,人工智能與撲克的“戰爭”已經打了30多年。

從那時起,人工智能在撲克領域的發展勢頭非常迅勐,最近的一份信息圖以視覺化的方式提供了撲克領域人工智能研究進展的深度介紹和統計概覽,同時提供了到目前為止研究提煉出的見解。

對人工智能而言 打敗牌手比打敗棋手更難

幾個月前,幾個在線撲克網站的社論撰稿人和社區經理Josh Wardini在PokerSites博客上發表了題為《撲克和人工智能:機器對人類的興起》的信息圖。Wardini提供了在過去30年中撲克和人工智能之間關係的介紹。

人工智能應用於策略遊戲是最流行的方向。在過去二十年中,人工智能在各種遊戲中擊敗了人類,包括國際象棋、圍棋和《危險邊緣》(譯注:哥倫比亞廣播公司益智問答遊戲節目)。在過去十年中,大部分研究已轉向創造會玩撲克的人工智能程序。

你可能會問的一個問題是:為什麼是撲克?

國際象棋大師Garry Kasparov在2010年發文指出了國際象棋和撲克的區別:國際象棋100%的信息博弈——兩個玩家都會同時獲知相同的數據信息——與計算機敏感的計算能力相比,玩撲克牌可以隱藏自己的牌,其中有很多變量和不確定性,概率、以假象迷惑對手的心理層麵因素、風險管理等在撲克牌中十分關鍵。似乎是撲克完全基於人類心理活動的方麵令其在麵對計算機時顯得無懈可擊。一台機器可以很容易地計算出每一手牌的可能性或者概率,但在麵對低概率同時卻是高賭注的時刻,人工智能卻並不占優勢。

Wardini認為,大學的人工智能部門是因為撲克的複雜性而對這種遊戲進行研究的。像許多現實生活中的情況一樣,“撲克要處理很多不完善信息”,並且人工智能的目標是解決反映在撲克中的問題。

Carnegie Mellon University (卡內基梅隆大學,CMU)博士生及人工智能研究員Noam Brown表示,在不限注的德州撲克單挑比賽中有10的163次方(10後麵接著有163個零)不同的遊戲情況,假設啟動堆棧為20,000個芯片,那麼即使是最強的計算機也不可能計算所有可能的情況。

人工智能在撲克上取得突破 Libratus戰勝頂級職業牌手

人工智能在撲克領域的研究主要來自University of Alberta(阿爾伯塔大學),University of Auckland(奧克蘭大學)和前麵提到的CMU。CMU在撲克界赫赫有名,其推出了兩款人工智能程序Claudico和Libratus,並在最近挑戰了一些頂級的撲克玩家。

雖然Claudico獲得了多場勝利,但在2015年,Claudico被一個由Doug Polk、Bjorn Li、Dong Kim和Jason Les四名玩家組成的團隊擊敗,但Claudico也一路獲了多場勝利。

Doug Polk曾對《PokerNews》表示,Claudico“使用了一個非常複雜的策略,包括許多大大小小的賭注”,但人工智能技術還是存在一些漏洞。

經過改進迭代的Libratus,在2017年1月挑戰了四名頂級職業撲克玩家,Kim和Les回歸了第二場戰役,Jimmy Chou和Daniel McAulay加入了他們的團隊。最後,Libratus擊敗了這一組世界級的德州撲克職業選手,並且是以每100手14倍大盲(譯者注:縮寫為14bb/100,意為玩100手牌,平均能贏對手14倍大盲注)完勝頂級人類玩家團隊。在Libratus對人類玩家12萬手牌的不限注德州撲克挑戰賽後,Libratus從四名職業玩家手中贏得了1,766,250美元的籌碼。

Dong Kim在比賽結束後接受了《PokerNews》Sarah Herring的采訪。他表示,“對於我們來說真的很難玩。我們會提出一個策略,這個策略可能在當天效果不錯,然後是第二天它就會帶來新的東西。我們則沒有為此做好準備,所以總體來說是真的、真的很艱難。”

為什麼會這樣?Libratus會進行自我糾正,它每天晚上分析自己的打法,糾正錯誤,並在第二天使用不同的策略,但這不是全部。

不同於之前的Claudico,Libratus依賴於一種算法,該算法使用了數百萬內核小時計算,這樣大量計算的實現要依靠的Pittsburgh Supercomputing Center(匹茲堡超級計算中心,PSC)“Bridges”源才變得有可能,它沒有使用固定的內置策略。它也會隨機化自己的行為,使對手難以破譯它是否在虛張聲勢。最令人驚訝的是,Libratus不僅僅是一個人工智能在撲克領域的應用程序,而是可以應用於任何不完善的信息係統,有無數潛在的應用可能。

Kim承認他的這個沒有血肉對手的能力令人印象深刻。“人工智能玩得很好,我認為它有世界級的水平。”

當被問及他自己在打牌的時候可以使用哪些Libratus的策略時,Kim解釋說,人工智能程序的混合策略使其難以對抗。

Kim表示,“有很多很好的東西,我都想要在我自己打牌的時候融會進來,但真的很難做到。Libratus有一些真的非常好的策略,但也是一個混合的策略,所以當你用一個策略用得太多了一點,那麼你的這一點就會非常容易被人利用,所以一般來說模仿或模擬很難,讓我們拭目以待吧。”

Libratus經常在其壓倒性的打法中使用超額下注。Kim表示,“它使用超額下注比任何人都多。如果是一個人類玩家,那麼說實在的,我們會認為這個家夥完全是一個技術拙劣的玩家,因為他用這招用得太多了。”

“實際上,當它超額下注的時候,它其實是在虛張聲勢。是的,它就是在大張旗鼓地虛張聲勢。”

CMU的研究員Brown,在2016年3月向《PokerNews》解釋稱:“這並不令人驚奇(Libratus會虛張聲勢),因為電腦正在做的是模擬數以萬億計手的牌,它對虛張聲勢的看法和我們並不一樣。它所做的隻是反複地遇到這種情況,它注意到即使沒有很好的牌,仍然可以通過下注賺到更多的錢。”

人工智能戰勝人類牌手的關鍵因素是什麼?

雖然大多數撲克玩家不會很快就與人工智能正麵交鋒,但是看看人工智能如何打敗人類玩家所使用的技巧倒是很有價值的。是什麼讓諸如Libratus之類的人工智能程序表現得這麼好?

在玩撲克時有一些情緒本身並不是壞事——在某些情況下甚至可能是有益的——從某種意義上來說,在這個遊戲中,將成功的職業玩家和不賺不賠或者是虧錢的業餘愛好者區分開來的一個重要特征就是模仿人工智能的能力。

雖然大多數職業玩家和撲克教練都不會這樣說,但他們告訴有抱負的專業人士,在這個遊戲中成功的關鍵是在遊戲中做出決定時不要考慮錢。

2016年,Andrew Robl在《PokerNews》發表的一篇文章中,他表示要想成為一個成功的撲克玩家,應該具備六個特征,其中五個可以說是符合Libratus這樣的人工智能程序:經驗、智力、欲望和學習的意願(除掉欲望部分)、控製情緒的能力以及進行了次數多到令人想吐的比賽。

不過,第六個特征隻適用於人類——社交和人際交往技能。人工智能在這部分的表現是糟糕的——至少在目前是這樣。

在情緒控製方麵,人工智能相比於人類擁有明顯的優勢,包括偏見和疲勞因素在內。而當Libratus在連續落敗的時候,它不會生氣或者是感到沮喪,更不會毆打對手或者是在後麵的對抗中狀態不佳。在經曆了漫長的一整天磨礪之後,它不會感到精力不濟,更不會因此犯下錯誤。因此它是更好的玩家。

在同Libratus進行了對抗之後,Kim的一個評論凸顯出了人工智能與人類之間的關鍵區別:“我們並沒有想到會輸這麼多,這是非常艱難的部分……這並不一定是因為人工智能本身。而是不斷地輸,隊伍的士氣非常低落。”

同時,Libratus不斷根據經驗調整策略,始終如一地發揮最佳水平。

人工智能無法感覺到錢的價值,這讓它們能夠免受風險的影響,並且總是能夠實現“正確的”遊戲理論最優(GTO策略),即使在風險回報比例非常糟糕的情況下也是如此。這導致它們會大量使用虛張聲勢的戰術。

Libratus無論風險如何,都會做出最好的決定,它們沒有資金管理的概念,也不需要支付賬單,這也有助於它們做到這一點。

戰勝人類牌手也隻是開始

Libratus的共同創始人Tuomas Sandholm在Carnegie Mellon(卡內基.梅隆)的一份出版物中評估了人工智能的勝利產生的影響。

他表示,“人工智能根據不完美的信息進行策略推理的能力現在已經超過了人類。”

Polk在接受《PokerNews》采訪時回應了這種情緒,他注意到的Claudico的漏洞在Libratus中被修複了。

“對於我來說,現在事情已經很清楚了,人類在不限注德州撲克單挑比賽中落後於形勢變化,我認為這種情況將繼續以其他形式發生。”

CMU的計算機科學係主任Frank Pfenning表示,融入虛張聲勢是一個關鍵概念,因為沒有這項能力就無法取勝。他說道,“開發一個能夠成功做到這一點的人工智能程序是科學前進的一個巨大進步。想象一下,有朝一日你的智能手機能夠為你要買的新車談判得到最優惠的價格。這還隻是開始。”

通過人工智能訓練牌手

看起來我們可以從這些會玩撲克的人工智能程序身上學到很多東西,但是不要矯枉過正——有一些撲克技巧,我們人類比機器更好。

雖然人工智能非常擅長通過模擬數萬億手牌來實現遊戲理論最優(GTO策略),但是由於針對特定對手,人工智能可獲得手牌的樣本數量有限,在對個人對手采用針對弱點的策略的能力較差。

Brown表示,“這是一個積極的研究領域,如何利用對手有限數量的樣本。我們不知道為什麼人類玩家非常精於此道,這可能是人工智能的一個重要的薄弱環節。”

雖然撲克玩家可能會因為擔心沒有情緒的人工智能會賺走他們所有的錢而感到擔心震驚,但這些程序的發展實際上可以對他們的盈虧情況產生積極的影響。Wardini提到存在“人工智能模擬和培訓軟件可以幫助人類”,包括幫助玩家開發一種“平衡的、沒有漏洞可被利用的方法”並采用“更好的決策”來提高他們的遊戲水平。

附:《撲克和人工智能:機器對人類的興起》信息圖

AI與撲克大戰30年 為何現在才全麵碾壓

AI與撲克大戰30年 為何現在才全麵碾壓



原文發布時間為: 2017年10月17日
本文作者:陶婧婕
本文來自雲棲社區合作夥伴至頂網,了解相關信息可以關注至頂網。

最後更新:2017-11-14 15:04:52

  上一篇:go  Informatica通過人工智能重新定義數據管理助力數據驅動型數字化轉型
  下一篇:go  十大網絡攻擊可以利用機器學習技術進行有效防禦