人工智慧 Libratus 是如何擊敗德州撲克高手的?

評論
評論
REUTERS/Steve Marcus

本文獲合作媒體 36kr 授權轉載。

1 月 30 日,賓州匹茲堡 Rivers 賭場,耗時 20 天的德州撲克人機大戰塵埃落定。卡耐基梅隆大學(CMU)開發的 AI 程式 Libratus 擊敗人類頂級職業高手,贏取了 20 萬美元的獎金。儘管之前 Google DeepMind 的 AlphaGo 在與李世乭的 5 番棋圍棋大戰以及在網絡上跟頂級圍棋選手的 60 番棋大戰中出盡了風頭。但相對而言德州撲克對於 AI 卻是更大的挑戰,因為 AI 只能看到遊戲的部分資訊,遊戲並不存在單一的最優下法。那麼 CMU 的 Libratus 是如何擊敗人類頂級的職業高手的呢?

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

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

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

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

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

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

通過一種名為反事實遺憾最小化(counterfactual regret minimization)的算法,它先是隨機地玩,然後最終在經過幾個月的訓練以及玩了上萬億手撲克之後,它也達到了能挑戰最好人類玩家的高度。不僅如此,它的玩法還是人類所不能的—— 它下注的範圍要大得多,而且會對這些賭注隨機化,這樣對手就更難猜自己手上都有什麼牌了。

跟導師 Tuomas Sandholm 一起開發了這套系統的 CMU 研究生 Noam Brown 說:

「我們只是向 AI 描述了這個遊戲,但沒有告訴它怎麼玩。它完全是獨立於人的玩法形成自己的策略的,而且它的玩法跟人的玩法會非常不一樣。」

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

光靠這兩套系統就已經很有效率了。但 Kim 等其他玩家仍然能夠找出機器玩法的一些模式然後設法加以利用。 為此,Brown 和 Sandholm 開發了第三套系統。每天晚上 Brown 都會跑一個算法來識別出那些模式,然後從策略中剔除掉。 他說:「一個晚上它就能計算完,然後在次日把一切準備就緒。」

如果這似乎不公平的話,好吧,AI 就是這麼幹。這並不僅僅是 AI 跨越了許多技術。人類往往也頻繁加入進來,積極地改進 AI、跑 AI 或者增強 AI。Libratus 的確是個里程碑,展示了一種新型的 AI,從華爾街的交易到網路安全乃至於拍賣和政治談判,這種 AI 都可以從中扮演一定的角色。曾幫助 Google 設立中心 AI 實驗室,現為百度首席科學家的吳恩達說:「撲克曾經是 AI 最難攻克的遊戲之一,因為關於遊戲狀態你只能看到部分資訊。撲克並沒有單一的最優下法。相反,AI 玩家必須讓自己的行動隨機化,這樣它詐唬時才能讓對方無法確定真假。」

Libratus 把這一點做到了極致。它的下注非常的隨機化,甚至超過了人類最好玩家的水平。而且如果這個方法不奏效的話,Brown 晚上跑的算法就會彌補它的不足。金融市場交易員也可以採取相同的做法,外交官亦然。這是一個強大且相當令人不安的想法:機器可以用大賭注嚇退人類。

相關文章

評論