當前位置:
首頁 > 知識 > 打撲克,AI又贏了!

打撲克,AI又贏了!

精彩的人機對抗

2017年1月11日,在美國匹茲堡舉行了一場別開生面的國際撲克大賽。這次的參賽選手非常特別,4名人類頂尖選手對戰美國卡內基-梅隆大學開發的人工智慧Libratus!

在20天的比賽時間裡,4名人類頂尖選手充分發揮集體的力量,每天比賽後,他們會在酒店房間里碰頭,花數小時,一起分析當天的比賽有沒有什麼可以汲取的教訓。為了找到Libratus在策略上的漏洞,他們約定每個人每天都嘗試不同的打法,下不同的賭注。

第一天,人類的詭異的遊戲策略取得了成功。他們贏得了開門紅!在隨後的幾天,雖然AI一直處於領先地位,但優勢沒有特別明顯。比如到了第三天,Libratus贏得了大概19.3萬美元的賭注,但在第四天,人類選手就將差距縮小到4.2萬美元。之後,雙方又激烈爭奪,到了第六天,AI只贏了5.5萬美元的賭注。雙方基本上不分輸贏!觀戰者似乎預料到了結局。2015年人機撲克大戰時,AI以較大的劣勢輸給了人類,這次也會一樣!在各大賭博網站上,人們預言Libratus必敗,賠率達到了4:1!

然而,形勢突然逆轉。到了第7天,Libratus不斷擴大優勢,贏得賭注越來越多。與此同時,人類選手很難找到它的漏洞,即使找到了,第二天這個漏洞就消失了,每一天,Libratus都在進步,它不只是從不露出破綻,似乎也知道每個人類對手的弱點!最終到了比賽截止日——1月30日,四個人類玩家大敗而歸,他們一共輸了176萬美元籌碼。

撲克比賽會受到運氣的影響,然而這次比賽,雙方一共打了12萬手牌,牌運的影響幾乎微乎其微,比賽結果的可信度高達99.77%,AI有不可逆轉的優勢!

這是AI首次在一對一無限注德州撲克比賽中,擊敗人類職業選手!在撲克牌領域,人類又要失守了!也許你會問,AI已經在象棋、圍棋方面擊敗了人類選手,撲克牌那麼簡單,這有什麼好奇怪的?

這是一個突破性的成就

實際上,AI要戰勝人類撲克牌選手會更難。為什麼這麼說呢?

無論是象棋、圍棋,還是跳棋,比賽中AI可以掌握的信息是非常完全的,比如AI可以知道棋子布局、雙方已下和剩餘棋子的數量。根據對手的棋子下的位置,利用強大的演算法,AI可以從對手這個完全確定的狀態作出進一步預測,然後採取針對性的防禦措施就可以了。

但撲克是典型的不完全信息博弈遊戲,它包含著許多隱含信息。拿這次Libratus參與的撲克遊戲——德克薩斯撲克牌來說。

德克薩斯撲克牌是現在全球撲克大賽中最主要的比賽類型。它跟普通撲克牌一樣,只不過沒有大小王牌,總牌數是52張。發牌一共有5輪。在第一輪里,玩家得先下盲注,然後才會收到兩張面朝下的底牌。隨後又會進行第二輪發牌,這次發的3張牌是面朝上的公牌;緊接著再發三輪牌,玩家會陸續收到3張公牌。在每一輪發牌中,玩家們會輪流下注,對手則可以選擇加註、跟注、棄牌等等。經過所有押注圈後,若仍不能分出勝負,遊戲會進入「攤牌」階段,也就是讓所剩的玩家亮出各自的底牌以較高下,持大牌者獲勝。這次Libratus打的一對一無限注德州撲克,是德州撲克的一種類型,主要特徵就是玩家下的注不受限制,風險更大。

顯然,打撲克牌涉及到對不完全信息的處理。比如,你不知道你的對手的底牌是什麼,你也不知道下一張牌會發什麼,但你必須得根據這些不完全信息,猜測對手的底牌和下一張牌的可能性,還需要根據對手的下注、跟注、棄牌等動作,再決定下多少注。一些人即使自己的牌很小,但會選擇詐唬的方式,下很大的注,這個時候如果你沒法識破騙術,嚇得棄了牌,你就輸了。這些都是撲克牌中不完全信息的表現。

撲克牌也很複雜,一對一無限注德州撲克每一輪發牌,有10160的局面可能,這比宇宙中的原子數量還要多(目前可觀測宇宙約有1075個原子),近似無窮。當然,圍棋的局面變化更多,大約有10170。但撲克牌的不完全信息,使得AI打撲克比下圍棋難度大得多,這幾乎是一場心理戰。所以,當AI接二連三地攻佔了各項棋藝項目,只有撲克牌一直未能攻破。

那麼,Libratus有什麼訣竅?

有個強大的後援

首先,Libratus有一個強大的後援——匹茲堡超算中心的超級計算機Bridges。Bridges不是當今世界最大、最快、最強勁的超級計算機,但它可能是面向公眾開放的,最大、最快、最強勁的超級計算機。生物學家、地質學家、經濟學家等都可以使用Bridges。Bridges的處理能力和內存分別是一台高端筆記本電腦的7000倍和17000倍,使得原本在個人電腦上耗時數月的計算,僅僅幾個小時就搞定。

Bridges消耗了大約1500萬個核心小時的計算量來構建Libratus。在Libratus的比賽過程中,還在持續優化Libratus的策略,讓這個AI可以玩得更好。

那麼,具體說來,Libratus的學習策略是什麼樣的呢?與阿爾法狗不同的是,Libratus並沒有使用目前相當紅火的深度學習技術,而是採用強化學習的技巧。

首先,研究者教會了Libratus遊戲規則,並給它定下了簡單的小目標——贏錢,之後,讓它自己和自己對打了數萬億手,在這一過程中,它會不斷嘗試偶然發現的新的打法。Libratus會總結怎樣的玩法會成功,怎樣的玩法會失敗,並利用這些觀察結果制定策略。

這種方法的一個明顯優點是,Libratus不會只學習別的撲克玩家使用的策略,它可以創造出自己的獨特打法,有時甚至能發明一套違反直覺的打法。例如,當Libratus手持弱牌,而對手提高了賭注時,程序有時也會跟著提高賭注。這樣的打法很冒失,畢竟這樣做提高了輸牌的幾率,要是此時對方識破了這一騙術,因為手持好牌而提高賭注,那Libratus可就輸慘了。

但這其實是一招好棋。它可以讓Libratus學會人類的詐唬,以及不被詐唬。在匹茲堡的人機大戰中,Libratus通過詐唬成功騙了四位人類選手,贏下了許多局。

Libratus使用的另外一招是 「殘局解算」。 在每一手牌之後,Libratus會自我學習,並精確地計算出發第4手牌和第5手牌所能承受的最大風險。如果你現場觀察,就會發現在這兩個發牌階段,Libratus花的時間更多。

最後一招是遊戲後的「持續自我強化」。當人類對手每天晚上在酒店裡總結經驗教訓、尋找AI的破綻時, Libratus也在持續「進化」。它會填補在比賽時出現的漏洞,這就意味著Libratus可以不斷提高自己的比賽水平,讓人類對手發現不了什麼破綻。Libratus甚至會根據人類選手是否注意到自己的漏洞,來決定先修補哪些漏洞。

意義重大

Libratus的取勝意義重大。因為對不完全信息的處理能力,才更能適應現實世界。在生活中,人類的很多決策,比如金融交易、拍賣、政治和商業談判、軍事或網路安全策略以及規劃醫療方案等,都跟處理不完全信息有關,如果AI能處理這些信息,那將會帶來突破性的變革。

想像一下,如果你有一個能「讀心」的機器人,它身上的感測器能讓它有記憶功能,同時能通過感知對手一些微小的生理變化,如出汗量、瞳孔變化,來判斷出對手的壓力程度。當你派它去解決商業、軍事、政治和外交方面的問題,是不是會比人類談判高手更出色?

當然,人類也不必太恐慌,擔心Libratus會讓自己沒法繼續玩德州撲克,或者讓自己失去工作。因為Libratus仍然需要超級計算機來執行計算程序並改進策略,而這一過程的成本會非常昂貴。在這次人機大戰比賽期間,Libratus依靠的Bridge超級計算機,共運行了150台伺服器,耗費大概203萬美元。所以,暫時你還不用擔心無敵的撲克AI出現在市場上。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 大科技雜誌社 的精彩文章:

人造衛星如何返回地球?
微生物讓你愛上大草原

TAG:大科技雜誌社 |