德撲AI之父解答Libratus的13個疑問:沒有用到任何深度學習,DL遠非AI的全部

..

雷鋒網 AI 科技評論按:昨天晚上,卡耐基梅隆大學計算機系在讀博士生 Noam Brown 和計算機系教授 Tuomas Sandholm 來到 reddit 的機器學習分版,和網友們一起來了一場「你問我答」(ask me anything)。這兩個名字大家現在也比較眼熟了,他們就是今年早些時候在人機大賽中首次打敗職業撲克選手的 AI「冷撲大師」(Libratus)的創造者。

具體來說,在持續了 20 天、4 位人類職業選手分別上陣的十二萬手一對一無限注德州撲克中,四位職業選手一共輸給「冷撲大師」1766250 分,單獨來看每個人類選手也都負於 AI。(如下圖)

Noam Brown 和 Tuomas Sandholm 兩位撰寫的介紹這個 AI 中核心技術的論文《Safe and Nested Subgame Solving for Imperfect-Information Games》(在不完全信息博弈中安全、嵌套地求解子博弈)已經被評選為 NIPS 2017的最佳論文,雷鋒字幕組也翻譯了作者們的論文介紹視頻。而且就在這兩天,兩位作者的新論文已經發表在《Science》,其中介紹了關於整個 AI 的更多細節

藉著 NIPS 2017 論文被關注,以及 AI 的更多細節發表在《Science》的機會,Noam Brown 和 Tuomas Sandholm 教授兩位作者就來到 reddit 與網友們進行這次「你問我答」,回答網友們提出的關於「冷撲大師」、這次比賽、人工智能領域、不完全信息博弈、卡耐基梅隆大學、在讀博士生或者教授的學術生活等等各種問題。

以下雷鋒網 AI 科技評論精選了一些熱門問答呈現給大家

這次的比賽是一對一的,你們打算做一個能玩 6 人局比賽的 AI 嗎?

Noam Brown  簡單來說,目前看來我們提出的技術在 6 人局裡也有很好的實戰效果(表現超過人類)。我覺得多於 3 個玩家參與的遊戲是確實有一定技術挑戰的,但撲克這個領域裡體現得不明顯。別的一些遊戲更適合做多玩家參與的 AI 的研究。

下面仔細解釋下:多於兩個玩家參與的遊戲對現有技術提出了很多有趣的理論和實踐方面的挑戰。對於博弈論的初學者來說,如果要估計一個納什均衡,從計算角度講已經變得很低效了。即便找到了一個,這也不一定是你想要執行的玩法。在兩個玩家參與的零和博弈中,不管你的對手怎麼做,納什均衡都可以保證你的期望是「不會輸」。然而在三個玩家及以上的博弈中就不會發生這樣的事情了,即便你達成了納什均衡,你還是可能會輸。所以我們需要新的技術才能處理三個玩家及以上的博弈,而且需要考慮如何在這樣的博弈中評價 AI 的表現。

話雖這樣說,但目前我們在一對一 AI 中所用的技巧,看起來在三個玩家及以上的撲克中也有很好的實戰表現。這件事有兩個主要原因:

1,在玩撲克的時候,人類很快就會棄牌,所以實際比賽中,大多數手牌很快就變成了一對一比賽。

2,玩撲克的時候,玩家之間基本上沒有什麼機會合作,你沒辦法和一個玩家組隊攻擊另一個玩家。真的嘗試這樣做的話(玩家間串通),就會違反遊戲規則。

由於這兩個原因,我認識的開發訓練用途的 AI(以及訓練 AI 的工具)的人告訴我這些技巧在 6 人局的德撲比賽里也有很好的表現,而且基本上每種能在網上玩的撲克類型,現在都是有超過人類水平的 AI 的。說到底,達成有意義的 6 人局比賽可行性很低,因為很難避免人類玩家之間串通起來對抗 AI(即便他們是無意識的)。

有沒有什麼辦法,盡量小地修改撲克的玩法,同時把它變成 AI 玩不了的遊戲?

Noam Brown  這個問題非常好!根據我和這個領域其它的人工智能開發者一起的研究和討論,我們認為目前所有的撲克玩法都可以找到超越人類水平的 AI。即便是奧馬哈撲克、9 個人玩的奧馬哈撲克也不能阻止 AI 勝過人類。

如果要讓 AI 搞不定某個遊戲,有一個很有可能會起到很大作用的要素,就是在遊戲中引進某些半合作機制,比如《Settlers of Catan》中的買賣和《Diplomacy》中的談判。所以可能在遊戲規則里加一條可以和其它玩家換牌?當然了,真要是這麼改了,這還算不算是撲克都不好說了。

目前來講還沒有找到什麼成功的理論方法可以解決半合作遊戲。我覺得這將是未來研究的重要方向之一,而我們真正看到這類遊戲中的良好表現也至少還需要好幾年的時間。

參加比賽的職業選手們如何評價「冷撲大師」的牌技?有沒有什麼很有趣或者很驚人的特點?

Noam Brown  簡單說幾條:

  1.  AI 可以使用各種不同的下注大小,而且可以高效地在它們之間做出取捨。人類玩家通常只用一到兩種下注大小。

  2. AI 會使用一個混合策略(對於不同的可能性採取不同的行動),而人類玩家傾向於單獨使用某一種策略。所以局面複雜的時候人類玩家會覺得非常難以估計 AI 所處的狀況,因為 AI 各種行為都做得出來。

  3.  AI 用了很多不常見的下注大小。具體來說,下很大的注會給人類選手帶來很大的壓力。我從好幾個職業牌手那裡聽說,在這場比賽之後頂級選手之間也開始更多地出現這種做法,很大程度上和「冷撲大師」用很大的下注大小取得了不小的成功有關係。

AlphaZero 和「冷撲大師」的泛化性誰高誰低?

Tuomas Sandholm 教授  AlphaZero 是為完全信息博弈設計的(比如圍棋、國際象棋),而冷撲大師是為不完全信息博弈設計的。這是非常大的一個區別。在不完全信息博弈中,有一部分信息是沒有對所有玩家公開的,比如,談判時談判者的個人偏好、撲克中玩家的手牌、拍賣時參與者心中的價值函數、網絡安全攻防中某一方被泄露出的零日漏洞,等等。多數真實世界中人和人之間的互動過程都是不完全信息博弈。

對於給定的博弈大小,不完全信息博弈解決起來要難得多,因為玩家需要在不同的子博弈間尋找平衡。比如在撲克中,玩家不應該總是看到好牌就加註、看到差牌就棄牌。相比之下,在完全信息博弈中,要解決一個子博弈,只需要那個子博弈中的信息就夠了,而且不需要與其它的子博弈之間作取捨。

現在,在我們的 NIPS 論文和《Science》論文中,我們已經闡述了理論上非常有力的不完全信息博弈中的子博弈解決方法。這些方法中藉助對整個博弈的策略藍本得出不同子博弈的值,然後也就是依靠這些值在不同的子博弈之間取得平衡。

「冷撲大師」沒有使用深度學習啊。這是你們有意識地選的嗎?還是說到了最後發現反正沒用上?你們有沒有試過,效果不好嗎?以及,現在我們都知道了另一個用了神經網絡的撲克 AI DeepStack 表現如何。如果回過頭重新考慮一下,你們有可能用神經網絡嗎?

Noam Brown  對,「冷撲大師」沒有用到任何深度學習。我們希望這能告訴人們深度學習遠遠不是人工智能的全部。只靠深度學習自己,還不足以玩好撲克這樣的遊戲。

不過,我們開發出的這些技術也是和深度學習兼容的。我覺得它們更像是蒙特卡洛樹搜索的一個替代選擇。對於解決撲克這樣的遊戲,深度學習的必要性不是很高。但是我覺得在其它一些遊戲中,某種形式的價值函數近似會有很大的幫助。

DeepStack 用的是深度學習,但是目前還不清楚它的效率高到什麼程度。比如它並沒有連續擊敗之前的頂級撲克 AI。我覺得 DeepStack 的實際表現還不錯的原因是它也用了嵌套子博弈求解,他們團隊和我們團隊各自同時開發了相關的技術。這件事不需要深度學習。「冷撲大師」的嵌套子策略求解方法比他們的更高級一點,再加上其它方面的一些優勢,最終讓我們達成了很強力的表現。

DeepStack 2017 年 5 月就在《Science》發表了論文,你們發表論文的 NIPS 2017 則是在 12 月了,那麼是誰先做出來的?可以做一下對比嗎?你們和其它的研究團隊有合作嗎?

Tuomas Sandholm 教授  DeepStack 的方法確實有自己的有意思的地方,不過我贊同網友 LetterRip 對它的評價(「冷撲大師肯定可以碾壓 DeepStack,兩個 AI 面對的選手的質量簡直天上地下。DeepStack 比賽中遇到的職業撲克選手多數都很弱,雖然也有幾個非常厲害的,但沒有一個是算得上頂級選手的。另外,比賽設定里只有人類選手的第一名有獎金,這其實是在鼓勵不常見的玩法」)。

下面我來談談兩個 AI 之間的異同點。同時我推薦大家讀讀我們剛剛發表在《Science》上的論文,其中詳細介紹「冷撲大師」同時也和 DeepStack 做了對比。

DeepStack 中的算法和「冷撲大師」的嵌套子策略求解很相似,他們稱之為連續重新求解。在冷撲大師中它的工作方式是,剩餘的子博弈在抽象提取、求解時,也會加上對手的確切下注數目。我們的論文 2016 年 10 月就在網上發佈了,2017 年 2 月也參加了 AAAI2017 的一個 workshop;DeepStack 的論文是 2017 年 1 月上傳到 arXiv 的(投稿給《Science》的時間是 2017 年春末)。考慮到開發這些技術需要很長的時間,我覺得我們兩個團隊都在此之前就花了好幾個月做研究,說「這些方法是兩個團隊分別開發但時間上同步」是沒什麼問題的。並且,兩個團隊的方法也有很大的區別。「冷撲大師」的子策略求解方法至少在下面幾個方面都更先進,在我們的《Science》論文中也有詳細的解釋:

  • 「冷撲大師」中改進了手牌的處理方法,降低了只有當對手犯過錯誤之後持有的手牌的看重程度;DeepStack 中就沒有這一項。

  • DeepStack 中對於不同手的牌,子博弈行為的抽象不會發生改變

  • 我們有許多不依賴算法的均衡搜索方法可以保證安全性,我們的子策略求解也是接近安全的,這在我們的《Science》論文和 NIPS2017 論文中都有講到

另外還有一個區別是兩個 AI 是如何處理前兩輪下注的。DeepStack 會在前兩輪下注中求解一個有限深度的子博弈,而這個深度值的估計是通過神經網絡做出的。這就讓它總是可以實時計算如何應對對手做出的預測樹之外的行為。而「冷撲大師」只在前兩輪中做短暫的計算,然後根據提前算好的策略藍本向下執行(如果賭注很高了就會用自己的子博弈求解器)。由於「冷撲大師」是根據前兩輪下注時提前計算好的策略藍本執行的,它會把對手做出的策略樹之外的下注大小約等到某個相近的、已經經過抽象的行為上去。這幾輪中的行為藍本抽象就有很高的密度,就是為了改善這個問題。另外,「冷撲大師」有一個獨特的自我學習模塊,可以隨着時間逐漸增強策略藍本的計算水平,對於部分博弈樹中對手有可能在它的策略中發現潛在的漏洞的時候,它可以計算出更接近納什均衡的近似解。

在表現評估方面,除了剛才 LetterRip 寫的與人類選手對局中體現的之外,DeepStack 也從未表示過自己可以在正面交鋒中打敗在此之前就已公開的各個頂級撲克 AI,而「冷撲大師」以很大優勢擊敗了此前最好的 HUNL 撲克 AI Baby Tartanian8(它是 2016 年計算機撲克大賽的冠軍)。

至於合作,我們兩個研究團隊一直都在發表自己的工作、也一直學習借鑒對方的技巧,這已經有 13 年的時間了。另外,加拿大撲克社團的負責人 Michael Bowling 就是在 CMU 拿到他的博士學位的,我就是他的學位評審委員會成員之一。不過,我們目前還沒有過任何直接的合作。

如果有人在超級計算機上跑一個超大規模的 PIO 求解器,這種做法和你們的軟件區別在哪裡?

Noam Brown 「冷撲大師」中的做法比 PIO 求解器不知道高明到哪裡去了。下面我列舉幾個原因說明為什麼在這種比賽中 PIO 求解器一點都不好使:

  1. PIO 求解器需要有一個人類輸入雙方的信念分佈。「冷撲大師」完全是靠自己判斷這些信息的。

  2. PIO 求解器是可以欺騙的,可以故意做一些均衡中出現概率為 0 的行為。比如如果你下注了 10%,並且 PIO 求解器認為這種情況不可能發生的話,那麼它對你手牌的信念分佈就是未經定義的,然後就會給出不合理的答案。我覺得 PIO 是一個很明顯的反面例子,提醒我們當對手做了「奇怪」的事情的時候不要完全相信他。同樣明顯的是,如果你和頂級人類選手對局,而他們想要發現你的 AI 的弱點,這就肯定會出現嚴重的問題。「冷撲大師」就不會有這些問題。即便對手做出了在均衡中理應出現概率為 0 的行為,它也能做出魯棒的、正確的回應。

可以說說模型中為什麼沒有加入強化學習嗎?強化學習挺配這個問題的。

Noam Brown  我們在「冷撲大師」中使用了反事實遺憾最小化(CFR)的一種變體。具體來說,我們用了蒙特卡洛 CFR 計算策略藍本,然後用 CFR+ 處理實時的子博弈求解。

CFR 就是一種自我對弈的算法,和強化學習有點類似,但是 CFR 會更多地考慮自我對局中沒有選擇的那些選擇,假設選了以後會有怎麼樣的投入產出。完全像強化學習一樣的 CFR 變體也是有的,不過實際應用中總是要花更長時間才能找到好的策略。

我聽說上一次「Claudico」人工智能對陣人類輸的一敗塗地,那麼從「Claudico」到「冷撲大師」,都做出了哪些改進或者調整?「Claudico」被打敗的事情是不是對「冷撲大師」的成功有很大的啟發?

Tuomas Sandholm 教授  2015年的時候,Claudico 對陣人類輸了每一百手 9 盲注,而「冷撲大師」以每一百手 15 盲注勝出了人類。「冷撲大師」在以下三個方面都編寫了新的算法:

  1.  新的、更好的平衡搜索算法,用來在比賽開始前計算策略藍本

  2.  新的子博弈求解方法,這次的方法是安全的、嵌套的。Claudico 中的殘局求解器既不安全,也不嵌套。

  3.  一個自我學習模塊,可以隨着時間逐漸增強策略藍本的計算水平,對於部分博弈樹中對手有可能在它的策略中發現潛在的漏洞的時候,它可以計算出更接近納什均衡的近似解。

「冷撲大師」已經很厲害了,可以打敗人類職業選手。但是根據我的理解,它還不是「不可戰勝」的,也許過幾年還會出現可以打敗「冷撲大師」的 AI。那麼「冷撲大師」距離能玩出完美的撲克的 AI 還有多遠?

Noam Brown  我覺得各種主流的無限制德州撲克玩法里,要說達到一個完美的、理論上不可能被打敗的策略,是做不到的一件事。遊戲的可能性就是太多了。有沒有激勵研發更好的德撲 AI 也難說,現在 AI 已經在這些遊戲里超越人類了,我覺得整個研究領域更可能轉向其它還沒有解決的遊戲中。

你們接下來計劃研究哪些任務/遊戲?

Noam Brown  有意思的方向有很多!我們目前還沒決定下來。

有一種非常有意思的研究路線是「半合作博弈」,比如談判。在這裡,玩家們有激勵一同合作,但同時每個人也都想達到自己的個人效用最大化。現有的技術在這類博弈中根本無效,所以還有很多有意思的研究等待大家去做。帶有這種特性的休閒遊戲有很多,比如《Settlers of Catan》(買賣)和《Diplomacy》(談判)。

Dota2 和星際爭霸這樣的 RTS 遊戲也是非常有意思的研究領域,它們也是不完全信息博弈,那麼如果想要研究一個難以捉摸、但總是可以擊敗頂尖人類選手的 AI 的話,我們在撲克方面做的研究全都可以起到幫助。

我覺得還有一個問題很有意思,就是如何縮小遊戲 AI 之間的差距,比如 AlphaZero 和「冷撲大師」之間的差距。現在,想要解決圍棋和國際象棋,我們有一組很棒的方法;要解決撲克這樣的遊戲,我們有另一組很棒的辦法;但最好的情況當然是我們用一個算法就可以解決所有這些遊戲。現有的不同遊戲的解決方案之間有巨大的差別,如何縮小差距目前也沒有明確的答案。

對於目前的算術方法博弈論,你們覺得有哪些有意思的研究方向?

Tuomas Sandholm 教授  有趣的問題有很多,整個領域也非常活躍。以我個人來講,我最喜歡有這些特點的研究工作:1. 針對實際問題,而不是高度簡化的抽象模型,這類問題也就通常需要真實世界的數據;2,研究那些如果理論研究部分得到了成果,就能對真實世界有許多正面影響的問題。

我自己特別喜歡的所以動手在研究的方向有這麼幾個:

  • 不完全信息博弈中的博弈理論求解以及利用對手。在我的 CMU 實驗室和創業公司 Strategic Machine 中,我都在做這方面的研究。

  • 自動規則設計 (比如通過數據對多物品、多買家的拍賣場景做定製化的拍賣設計)

  • 腎移植(我的 CMU 實驗室中的 AI 負責 UNOS 的國家腎交換中心;這個交換中心下屬有 159 個移植中心)

  • 多種市場問題的組合優化。我在我的 CMU 實驗室和一個我創立的廣告宣傳公司 Optimized Markets 中做這方面的研究。

你們覺得這種方法拿到產業界來的話,最相符的應用是什麼?比如說你們覺得你們的方法可以用來為貿易協商建模嗎?另外,目前來看「冷撲大師」還是需要運行在超計算機上的,有沒有可能把它改進得更高效一點,一般的電腦或者服務器就可以運行?

Noam Brown  對於「讓 AI 進入真實世界」這個目標,我覺得我們的研究至關重要,因為多數真實世界中的策略互動問題都多多少少有一些信息是隱藏的。我們在這項研究中想要解決的根本問題也就是這個。貿易協商肯定可以是未來的應用方式之一,其它還可以有拍賣、金融市場、信息安全互動以及軍事行動相關。

話雖這樣說,但是想要從撲克這樣的所有行為、成本、收益都定義好的遊戲拓展到定義得不那麼明確的真實世界互動中的話,我們還面臨著相當大的挑戰。不過只要有人能夠提出一個貿易協商的模型,我們這次的研究成果肯定可以用在裡面。這也會是未來研究中的一個有意思的方向。

是的我們覺得做一個能運行在一般電腦和服務器上、然後稍微弱一點的版本是做得到的。我也覺得隨着算法的不斷升級改進,達到同樣的表現所需要的硬件性能也會越來越低。我覺得可能 5 年以後就能在智能手機上見到這個水平的人工智能了。


這次關於德撲 AI AMA 的內容就介紹到這裡。我們也期待更多更接近現實生活的問題被人工智能逐一解決。via Machine Learning@Reddit,雷鋒網 AI 科技評論編譯。


想在手機閱讀更多IT人物資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems