|
原文以How rival bots battled their way to poker supremacy為標題 發(fā)布在2017年3月2日的《自然》新聞上 原文作者:Elizabeth Gibney
這種復雜的撲克玩法是人工智能(AI)最新涉足的領域,目前已經(jīng)被成功征服——且成功了兩次,征服者分別為兩個不同研究團隊所研制的對戰(zhàn)機器人。 這兩個人工智能挑戰(zhàn)的都是“無限注”雙人德州撲克,而且在過去幾個月中都取得了里程碑式的成就——他們打敗了人類職業(yè)選手。 去年12月,DeepStack率先贏得比賽。該人工智能由加拿大阿爾伯塔大學的計算機科學家同捷克布拉格查理大學和捷克理工大學的科學家共同研制而成。今年1月,由美國卡內(nèi)基梅隆大學團隊研制的Libratus也取得了同樣的功績。 在過去的十年中,兩支團隊爭相研制更為智能的機器人。如今,DeepStack的研究團隊已經(jīng)正式將其人工智能細節(jié)發(fā)表在《科學》雜志上。 本文主要講述兩個人工智能有何區(qū)別,其成就對于網(wǎng)上賭場有何影響,以及人工智能還有哪些沒有攻克的領域。 頂級職業(yè)撲克選手已經(jīng)在無限注德州撲克中敗給了人工智能機器人。 Juice/Alamy Q:人工智能研究者為何選擇撲克? A:人工智能已經(jīng)精通了多種棋類游戲,包括國際象棋和圍棋等復雜的策略類游戲。而撲克比棋類游戲更為復雜,這是因為它有一處顯著不同——選手必須在無法得知賽局所有信息的情況下,制定自己的策略。他們必須根據(jù)對下注等過程的觀察,猜測對手有什么手牌,并考慮對手對于他們自己的手牌又有怎樣的猜測。 這樣的“不完全信息”博弈更貼近現(xiàn)實生活中解決問題的場景。例如,在拍賣和金融談判中,就會出現(xiàn)類似情況。而撲克則成為了測試人工智能是否能應對這種情景的平臺。 人工智能已經(jīng)掌握了較簡單的撲克玩法:阿爾伯塔團隊已經(jīng)于2015年基本掌握了雙人有限注德州撲克。DeepStack和Libratus挑戰(zhàn)的仍然是雙人德州撲克,但下注、跟注的籌碼沒有上限——正因如此,無限注玩法對于人工智能程序來說更為復雜,也更難掌握。 Q:人機比賽過程如何? A:去年11月開始為期四周多的比賽中,DeepStack與11位職業(yè)選手各比賽3000手牌,并以統(tǒng)計上顯著的優(yōu)勢擊敗10名選手。 今年1月,Libratus則在約12萬手牌的比賽中,擊敗4名更為優(yōu)秀的專家級職業(yè)選手。比賽最終結束時,Libratus共有約180萬美元的虛擬籌碼。 Q:這些人工智能背后有什么數(shù)學原理? A:博弈論。兩個人工智能都需要摸索出在任何情況下,無論對手如何應對,都能必贏的策略。根據(jù)博弈論理論,在一對一撲克這樣的零和博弈(即一方有所得,另一方必有所失)里面,這樣必贏的策略必然存在。人類選手可能會利用較弱對手的失誤而贏得很多籌碼,而使用上述策略的人工智能則不在乎贏取籌碼的多寡——對于它而言,只要贏得牌局就好。這意味著它不會因為對手的意外之舉而不知所措、自亂陣腳。 此前挑戰(zhàn)撲克的人工智能都是盡可能提前制定策略,計算大量“博弈樹”,列出賽局各種可能性的應對辦法。但是存在太多的可能性——共有10^160個——不可能全部映射。因此,研究人員最終只處理部分可能情形。賽局中,人工智能會將當前情形與曾經(jīng)進行計算過的情形相比較,找出最接近的情形,將對應的解決方案進行“轉化”,再運用到當前賽局中。 與之不同的是,DeepStack和Libratus已經(jīng)可以實時計算解決方案——就與下國際象棋和圍棋的計算機一樣。 Q:兩個人工智能使用的具體方法有何不同? A:DeepStack并非提前列出完整博弈樹,而是在牌局中的各個決策點僅重新計算少部分的博弈樹,預測可能出現(xiàn)的一些情形。 這一辦法利用了深度學習,這是借鑒人類大腦的神經(jīng)網(wǎng)絡構造而發(fā)明的一種技術(有賴于此,計算機得以打敗全世界最優(yōu)秀的圍棋選手)。 DeepStack經(jīng)歷逾一千一百萬種不同的賽局情形,不斷學習,形成了“直覺”,已經(jīng)能夠在賽局的某一節(jié)點預判贏率。因此,它只需要較短的時間(僅約5秒)來計算較少的可能性,并實時做出決策。 Libratus團隊還沒有將具體方法發(fā)表出來,因此目前還不清楚Libratus具體工作原理。不過已經(jīng)清楚的是,在牌局早期,Libratus借鑒曾經(jīng)進行計算過的情形,使用“轉化”法,然后做出決策;而當牌局進行到后期,人工智能可以獲悉更多信息時,再將策略進行優(yōu)化。至于其他時候,隨著牌局的進行,可能性越來越少,Libratus也會對解決方案進行實時計算。 Libratus同樣加入了一種特殊的學習元素。它的開發(fā)者為它增加了自我優(yōu)化的模塊,可以自動分析它的玩牌策略,了解對手如何利用其弱點。在此基礎上,他們再對Libratus方法上的漏洞進行修復。 這兩種方法需要擁有明顯不同的計算能力:DeepStack受訓175核年——相當于一個處理器運行175年、或幾百臺計算機運行數(shù)月的工作量。而在牌局中,它僅需要一部筆記本電腦即可進行操作。Libratus則不同,它在賽前和比賽中均使用超級電腦,大約相當于2900核年的工作量。 Q:人工智能是否也會虛張聲勢? A:會。通常人們認為虛張聲勢是人類才會做的行為,至于計算機,它們不會去了解、預測對手行為,而是完全基于牌局中隱含的數(shù)學原理而進行決策。虛張聲勢通常只是為防止對手通過自己的下注規(guī)律猜到自己手牌而采取的一種策略。 Q:那么,哪個成果更為突出呢? A:見仁見智。有關專家對于兩個方法的復雜性有些爭議,但總體來說,兩個人工智能都玩了足夠多手牌,均已取得統(tǒng)計上顯著的勝利——并且都是與職業(yè)選手進行比賽。 Libratus玩了更多手,但DeepStack則不需要這么做,因為其團隊使用了一種復雜的統(tǒng)計方法,可以通過較少的牌局就能取得顯著結果。Libratus擊敗的專業(yè)選手要更為優(yōu)秀,但平均來說,DeepStack獲勝的優(yōu)勢更大些。 Q:兩個人工智能會進行對決嗎? A:也許會。不過,兩者計算能力存在巨大差距,因此在牌局中的玩牌速度有所不同,這可能是比賽所面臨的一個癥結。因此,如何制定讓雙方都會同意的比賽規(guī)則就成了難題。 阿爾伯塔大學計算機科學家、同時也是DeepStack開發(fā)者之一的Michael Bowling表示,他們的團隊愿意與Libratus進行比賽??墒荓ibratus的開發(fā)者、卡內(nèi)基梅隆大學的Tuomas Sandholm則表示,他希望DeepStack能夠先打敗Baby Tartanian8,這是他們團隊之前設計的人工智能,功能沒有Libratus強大。 Bowling強調,比賽將存在一個重要的局限:贏得賽局也不一定意味著人工智能性能更好。兩者都盡力打出完美比賽,但能夠實現(xiàn)這一目標的策略在正面交鋒中未必總是存在。一方人工智能有可能無意中發(fā)現(xiàn)另一方策略上的漏洞,但這并不能說明另一方的整體策略上存在更多或者更嚴重的漏洞。Bowling說,除非一方以較大優(yōu)勢獲勝,“否則我覺得,這樣的比賽不會如人們期待那樣,提供很多有用的信息”。 Q:人工智能掌握撲克玩法,是否意味著網(wǎng)上撲克游戲的終結? A:不是。雖然頂級選手已經(jīng)開始進行人機對戰(zhàn)訓練,但許多網(wǎng)上賭場禁止玩家在賽局中使用計算機。 Q:現(xiàn)在,計算機已經(jīng)達成了人工智能歷史上的又一座里程碑,那么還有哪些領域沒有被攻克呢? A:至今仍存在著幾座高峰等待人工智能去攀登。從某種程度上來說,這是由于許多尚未被人工智能掌握的游戲,比如橋牌,其規(guī)則更為復雜,目標也就不那么明顯。 兩個團隊接下來的研究主題自然是掌握多人撲克。這幾乎意味著一切從頭開始,因為零和博弈理論不再適用于這一領域。例如,在三人撲克中,某個選手的失誤,有可能會間接妨礙對手,而不是讓對手獲益。 不過Bowling也提到,哪怕理論不再適用,深度學習所形成的直覺,仍有望幫助人工智能找到解決方案。他說,他們的團隊最初在有限注三人德州撲克中嘗試類似辦法時,結果就出人意料的好。 另外一個挑戰(zhàn)則是訓練人工智能在不知曉游戲規(guī)則的情況下進行游戲,并且在游戲中逐漸自己發(fā)現(xiàn)游戲規(guī)則。這樣的場景更真實地反映了人類在現(xiàn)實世界處理問題時的情形。 最終的考驗將是研究不完全信息算法如何在信息不完整的情況下,解決復雜的現(xiàn)實問題,比如金融和網(wǎng)絡安全方面的問題。? Nature|doi:10.1038/nature.2017.21580 版權聲明: |
|
|