新聞 / 賽事新聞

人工智慧 Libratus 如何擊敗頂級德州撲克玩家?

發表於 11:02 2017-02-07
1 月 30 日,賓州匹茲堡 Rivers 賭場,耗時 20 天的德州撲克人機大戰塵埃落定。卡內基美隆大學(CMU)開發的 AI 程式 Libratus 擊敗人類頂級職業玩家,贏得 20 萬美元獎金。儘管之前 Google DeepMind 的 AlphaGo 在與李世乭的五局圍棋大戰,以及網路上跟頂級圍棋選手的 60 局快棋大戰中出盡了風頭,但德州撲克對 AI 卻是更大的挑戰,因為 AI 只能看到遊戲部分資訊,遊戲並不存在單一最優下法。那麼 CMU 的 Libratus 是如何擊敗人類頂級職業玩家?《Wired》雜誌這篇文章為我們揭密。


在幾乎 3 星期時間裡,Dong Kim 都待在匹茲堡一個賭場內跟一台機器玩撲克,但 Kim 不是普通的撲克玩家,跟他對戰的也不是普通機器,這場比賽更不是普通的撲克遊戲。

28 歲的 Kim 是全世界最強的撲克玩家之一。那台由卡內基美隆大學兩位電腦科學研究人員開發的機器,是一套在匹茲堡一台超級電腦裡執行的人工智慧系統。在整整 20 天內,他們都在玩無限制德州撲克比賽,這是一種尤其複雜的撲克遊戲形式,其投注策略往往經過很多手。

這場比賽剛結束不久。大概賽程過半的時候,Kim 開始覺得 Libratus 好像能看到他的牌。不過他說:「我不是指它作弊,而是說它有那麼強。」實際上強到擊敗 Kim 及其他 3 名頂級人類玩家──這是人工智慧的第一次。

在比賽期間,Libratus 的創造者對這套系統的運作方式遮遮掩掩,大家不清楚它如何取得成功,如何以其他機器前所未有的方式模仿人類直覺。但結果證明,Libratus 能達到如此高度是因為它不僅是 AI。

Libratus 依靠 3 套不同系統的協作,這提醒我們現代 AI 並不是由一項而是多項技術驅動。這段時間以來深度神經網路抓住大多人的注意,當然這也有很好的理由:它們為一些全球最大型的技術公司從影像辨識到翻譯,乃至搜尋引擎等一切提供了動力。但神經網路的成功也為其他輔助機器模仿甚至超越人類天才的 AI 技術注入了新生命。

比方說,Libratus 就沒有使用神經網路,它主要靠強化學習,這是人工智慧的一種,一種強調除錯的方法,其實就是自己跟自己大量玩遊戲。Google DeepMind 實驗室利用強化學習來開發 AlphaGo,這套系統攻克圍棋的時間比預期早了 10 年,但這兩套系統之間有一個關鍵點不同。AlphaGo 是透過分析人類玩家的 3,000 萬份棋譜來學習的,然後才自己跟自己下棋來改進技能。相對而言,Libratus 是從零開始學。

透過一種名為「反事實遺憾最小化」(counterfactual regret minimization)的演算法,它先隨機玩,然後經過幾個月訓練和玩了上兆手撲克後,它也到達能挑戰人類最強玩家的高度,不僅如此,它的玩法是人類無法做到的──它下注的範圍大得多,且會隨機下賭注,這樣對手就更難猜到自己手上有什麼牌。與指導教授 Tuomas Sandholm 一起開發這套系統的 CMU 研究生 Noam Brown 說:「我們只是向 AI 說明這個遊戲,但沒告訴它怎麼玩。它完全獨立於人的玩法形成自己的策略,而且它的玩法跟人類玩法非常不一樣。」

這只是第一階段。在匹茲堡比賽期間,第二套系統會分析遊戲狀態並聚焦第一套系統的注意力。這套系統屬於一種「殘局解算器」(end-game solver),上週 Sandholm 和 Brown 發表的論文詳細說明了細節。在第二套系統的幫助下,第一套系統再也不需要像過去那樣跑完所有可能的場景,它可以只試探其中一些場景。也就是說,Libratus 不僅在比賽前學習,而且還能在比賽中學到東西。

#tag