採用比 AlphaGo 更複雜的演算法,日本麻將 AI 在四個月內電爆人類玩家! | TechOrange 科技報橘
Search
Close this search box.

採用比 AlphaGo 更複雜的演算法,日本麻將 AI 在四個月內電爆人類玩家!

【為什麼我們要挑選這篇文章】Suphx,一款日本麻將 AI,在短短四個月內達到十段等級,打爆人類對手。

不同於圍棋、撲克牌等遊戲,麻將擁有大量的隱藏資訊,無法採用 AlphaGo 等 AI 所使用的蒙特卡羅樹搜尋演算法。那麼 Suphx 使用怎樣的演算技術,解決隱藏資訊的預測難題?(責任編輯:郭家宏)

「我突然想起了一句話,神仙怎麼打都是對的。」
「這個 AI 的牌效不是一般鳳凰(有一定實力的玩家)能摸清的,人名字就是 super phoenix(超級鳳凰)。」
「感覺 AI 的打法都不太能被推理完全,這種基於訓練的對某種特徵做出的反應對於人類來說就是迷啊…」

這些評論來自於 B 站上一個系列的視頻,影片主角是一個名為 Suphx(意為 Super Phoenix)的麻將 AI。2019 年 6 月,有創作者開始製作 Suphx 牌譜的影片。上傳到 B 站後,引起了不少麻將愛好者的討論。

在多數評論裡,Suphx 被稱為「最強日麻(日本麻將)人工智慧」。

事實上,不止是國內(中國)的 B 站,當時 Suphx 的聲名已經傳遍了日本麻將界。

日本麻將 AI — Suphx 在四個月內達到十段等級,打爆人類對手

2019 年 3 月起,Suphx 獲批進入專業麻將平台「天鳳」。短短四個月內,Suphx 在該平台瘋狂對戰 5760 次,成功達到十段,從而在日本麻將界聲名大噪。

麻將在中國群眾基礎深厚、普及率高,有「國粹」之稱,但民間流行的麻將規則不一,且競技化程度相對較低,而日本麻將擁有世界上競技化程度最高的麻將規則。天鳳則是業界知名的高水準日本麻將平台。它吸引了全球近 33 萬名麻將愛好者,其中不乏大量的專業麻將選手。

天鳳平台規定,只有獲批准的 AI 才可以進入「特上房」參與對戰,目前在該房間可以達到的最高段位是十段。另一個房間是「鳳凰房」,最高段位是十一段,僅對七段以上的人類付費玩家開放,目前不允許 AI 參與遊戲。

除了 Suphx,還有另外兩個 AI 也獲准進入「特上房」比賽,分別是「爆打」和「NAGA25」。目前,Suphx 是唯一一個達到「特上房」最高段位的 AI。

由於單局麻將存在著很大的運氣成分,所以天鳳平台會通過「穩定段位」來衡量一位玩家的真實水平。在 5760 場比賽過後,Suphx 的穩定段位超過了8.7,不僅高於爆打和 NAGA,還超越了頂級人類選手(十段及以上)的整體穩定段位。

這些成就意味著,Suphx 在四個月內成長為了最強日麻 AI。日本麻將的愛好者和專業參賽選手,紛紛尋找著它背後的開發者,但一無所獲。

直到 8 月 29 日,世界人工智慧大會舉行,Suphx 的身世才被公諸於世。當天上午,微軟全球執行副總裁、微軟人工智慧及微軟研究事業部負責人沈向洋博士對外宣佈,Suphx 是微軟亞洲研究院的工作成果,由劉鐵岩博士帶隊研發。

劉鐵岩博士是微軟亞洲研究院副院長,長於深度學習、強化學習、分散式機器學習等領域。他的團隊曾發佈了微軟分散式機器學習工具包(DMTK)、微軟圖引擎(Graph Engine)等開源項目。

麻將擁有大量隱藏資訊,對 AI 來說比下圍棋更難

「2017 年中旬,我們一個研究團隊跟我說要做麻將 AI。我也不知道能不能成,因為相比象棋、圍棋、德州撲克,麻將的難度更高。而且,他們打麻將水平都不怎麼樣。」微軟全球資深副總裁、微軟亞太研發集團主席兼微軟亞洲研究院院長洪小文對 PingWest 品玩表示。

麻將的難,在於其屬於「不完美資訊遊戲」(Imperfect-Information Games),讓電腦機擅長的搜尋能力無法直接發揮,且具備複雜的獎勵機制。

不完美資訊遊戲,是指遊戲中資訊揭露程度低。「圍棋、象棋等棋類遊戲,對局雙方可以看到局面的所有資訊,屬於完美資訊遊戲(Perfect-Information Games);而撲克、橋牌、麻將等遊戲,雖然每個參與者都能看到對手打過的牌,但並不知道對手的手牌和遊戲的底牌,屬於不完美資訊遊戲」。

在日本麻將中,每個玩家有 13 張手牌,另外還有 84 張底牌。對於一個玩家而言,他只知道自己手裡的 13 張牌和之前已經打出來的牌,卻無法知道別人的手牌和沒有翻出來的底牌。所以,最多的時候一位玩家未知的牌有超過 120 張。

為了更好地解釋不完美資訊遊戲,劉鐵岩打了個比方:「如果把圍棋這樣的(完美資訊)比賽比喻成一顆遊戲樹,那像麻將這樣的比賽就是很多樹組成的森林,參與者並不知道自己在哪棵樹上。」

對於完美資訊遊戲,通常可以用「狀態空間複雜度」和「遊戲樹複雜度」來衡量其遊戲難度。

所謂「狀態空間複雜度」,即遊戲開始後,棋局進行過程中,所有符合規則的狀態總數量。「例如棋類遊戲中,每移動一枚棋子或捕獲一個棋子,就創造了一個新的棋盤狀態,所有這些棋盤狀態構成遊戲的狀態空間」。

計算狀態空間複雜度最常用的一種方法是,包含一些不符合規則或不可能在遊戲中出現的狀態,從而計算出狀態空間的一個上界(Upper Bound)。例如在估計圍棋狀態數目上界的時候,允許出現棋面全部為白棋或者全部為黑棋的極端情況。

遊戲樹複雜度(GTC)代表了所有不同遊戲路徑的數目,是一個比狀態空間複雜得多的衡量維度,因為同一個狀態可以對應於不同的博弈順序。

微軟亞洲研究院的博客舉了一個例子:下圖中,兩邊的井字棋遊戲都有有兩個 X 和一個 O,屬於同一狀態。但這個狀態可能由兩種不同的方式形成,形成路逕取決於第一個 X 的下子位置。

井字棋遊戲中統一狀態的不同形成過程

在完美資訊棋牌遊戲中,不管是狀態空間複雜度,還是遊戲樹複雜度,圍棋都遠遠超過其他棋牌類遊戲。

而對於不完美資訊遊戲而言,衡量遊戲難度的維度更加複雜,需要在狀態空間複雜度的基礎上引入一個新概念「資訊集」。

舉例而言,在撲克遊戲中,玩家 A 拿了兩張 K,玩家 B 拿了不同的牌對應不同的狀態;但是從 A 的視角看,這些狀態是不可區分的。

「我們把每組這種無法區分的遊戲狀態稱為一個資訊集」劉鐵岩介紹道。

完美資訊遊戲裡所有資訊都是已知的,每個資訊集只包含一個遊戲狀態,因此它的資訊集數目與狀態空間數目是相等的。

而不完美資訊遊戲中,每個資訊集包含若干個遊戲狀態,因此資訊集數目通常小於狀態空間的數目。

與資訊集數目對應的,是資訊集的平均大小。這個概念指的是在資訊集中平均有多少不可區分的遊戲狀態。

據微軟亞洲研究院博客,資訊集的數目反映了不完美資訊遊戲中,所有可能的決策節點的數目,而資訊集的平均大小則反映了遊戲中每個局面背後隱藏資訊的數量。當對手的隱藏狀態非常多時,傳統的搜尋演算法基本上無從下手。

圍棋、德州撲克、橋牌和麻將的資訊集數目和資訊集平均大小對比

圍棋和德州撲克的資訊集平均大小遠遠小於橋牌和麻將。AI 在圍棋和德州撲克上的成功很大程度依賴於搜尋演算法,因為搜尋可以最大程度地發揮電腦的計算優勢。

橋牌和麻將中,由於資訊集平均大小比較大,存在著較多隱藏資訊,難以直接採用 AlphaGo 等棋盤遊戲 AI 常用的蒙特卡羅樹搜尋演算法。

此外,日本麻將有著複雜的獎勵機制。日麻一輪遊戲共包含 8 局,最後根據 8 局的得分總和進行排名,來形成最終影響段位的點數獎懲。玩家的段位越高,輸掉比賽後扣掉的點數越多,因此有時麻將高手會策略性輸牌。

劉鐵岩舉例道:「例如 A 玩家已經大比分領先第二名的情況下,在底 8 輪時就會相對保守,確保自己不會輸。」這為構建高超的麻將 AI 策略帶來了額外的挑戰,AI 需要審時度勢,把握進攻與防守的時機。

Suphx 導入深度強化學習技術,解決隱藏資訊難題

專案一開始,劉鐵岩團隊用了一些「基線(Baseline)的解決辦法」,嘗試用 AlphaGo 和德州撲克上的方法解一解看看怎麼樣。

「麻將的種種特點決定了,很難直接利用 AlphaGo 等棋盤遊戲 AI 常用的蒙特卡羅樹搜尋演算法。」劉鐵岩強調,「這激勵我們要想出新的點子。」

在一年多的摸索期,劉鐵岩團隊基於深度強化學習技術,並且引入三項新技術來提升強化學習的效果。深度強化學習是深度學習和強化學習的結合。這項技術集合了深度學習在感知問題上強大的理解能力,以及強化學習的決策能力,通常用於解決現實場景中的複雜問題。

在深度強化學習的基礎上,針對非完美資訊遊戲的特點,劉鐵岩團隊嘗試用「先知教練」技術來提升強化學習的效果。

先知教練技術的基本思想是在自我博弈的訓練階段,利用不可見的一些隱藏資訊來引導 AI 模型的訓練方向,使其學習路徑更加清晰、更加接近完美資訊意義下的最優路徑,從而倒逼 AI 模型更加深入地理解可見資訊,從中找到有效的決策依據。

然而,在訓練模型階段採用的先知教練技術,在真正的實戰中是沒有的,這意味著訓練和實戰間存在著一個 Gap(差距)。

劉鐵岩對 PingWest 品玩表示:「我們不能夠保證一定把那個 Gap 給抹掉,比如說它在訓練階段能夠看到不該看到的東西,實戰中它是永遠看不到的。這個資訊的 Gap 我們是控制不了的,但是作為先知教練,可以引導麻將 AI 不會走的太偏太遠,會沿著我們想走的大方向走。這個能保證訓練過程的平穩性,對深度強化學習是非常重要的。」

針對資訊集平均大小比較大這個特點,研究團隊引入了自適應決策,對探索過程的多樣性進行動態調控,讓 Suphx 可以比傳統演算法更加充分地試探牌局狀態的不同可能。

另外,對於日本麻將複雜的獎勵機制,劉鐵岩團隊加入了全盤預測技術。

「這個預測器透過精巧的設計,可以理解每輪比賽對終盤的不同貢獻,從而將終盤的獎勵信號合理地分配回每一輪比賽之中,以便對自我博弈的過程進行更加直接而有效的指導,並使得 Suphx 可以學會一些具有大局觀的高級技巧。」劉鐵岩解釋道。

總體而言,Suphx 使用的是深度強化學習這個大框架,但又加入了一些創新的技術點:先知教練、自適應決策和全盤預測。

在 2019 年 3 月上線 Suphx 平台之前,背後這一整套技術已經有了雛形,同時進行了大量的自我博弈。

「Suphx 在線上對戰了 5760 場,但在線下自我博弈將近 2000 萬場。」劉鐵岩對 PingWest 品玩表示,「雖然自我博弈學到的信號數量很多,但是學到更多的是在自己身上怎麼提高。5760 場裡面我們學到別人打法的風格、以及實戰中遇到的困難應該如何解決。」

劉鐵岩透露,研究團隊計劃過一段時間會有一篇比較深入的科學論文跟大家分享,「在那裡面大家會看到更多的細節」。

Suphx 背後的技術可以用在什麼地方?

在 AI 進化的過程中,遊戲 AI 一直相伴相生。1949 年開始,就有科學家研究演算法,讓電腦下國際象棋。雙陸棋、國際跳棋、國際象棋、圍棋等棋盤類遊戲,都有人機對戰的蹤影。

1997 年 5 月 11 日,國際象棋 AI 深藍在正常時限的比賽中,首次擊敗了等級分排名世界第一的棋手。這一天成為了人機對戰的里程碑。

在洪小文看來,遊戲 AI 對解決現實問題有著重要的研究意義:「現實世界更加複雜,而遊戲均有一個清晰的規則、勝負判定條件和行動準則。如果不定規則,大家各做各的,就無法交流。研究也是這樣的,將問題切成小問題,小問題裡面規則定清楚,再往前走。」

麻將這一類不完美的資訊遊戲,正是現實生活中許多問題的反映。洪小文舉例道:「追女朋友、企業經營、投資,都有大量的你不知道的隱藏資訊。」

雖然 Suphx 面世不久,背後的技術還沒有全部應用到實際問題中,但部分技術已經在做嘗試。

「我們和華夏基金以及太平資產合作,做了一些實際投資的嘗試,取得了非常好的效果。」劉鐵岩告訴 PingWest 品玩,「我們用歷史交易數據訓練的 AI 模型,到真正市場上會面臨完全不一樣的數據,所以要動態地適應實際場景並做出改變,這個和 Suphx 裡面的自適應決策是一脈相承的。」

儘管落地是研究的最終目標,但洪小文認為,純粹的好奇心對研究人員來說更加寶貴:「做這項研究的時候,他們有沒有想過未來可以怎麼應用?八成是沒有想,也不應該想,以好奇心驅動的研究是推動整個科研發展的基石。最明顯的例子是,基礎數學很多研究在當時都不見得有應用。」

有意思的是,天鳳平台 CEO 角田真吾在被問到「為什麼會歡迎 AI和人類對弈」時,給出了和洪小文幾乎一樣的措辭:純粹出自於人類的好奇心。

(本文經合作夥伴 品玩 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為〈比 AlphaGo 更复杂,最强日本麻将 AI 是怎么炼成的?〉。首圖來源:Pixabay CC Licensed)

更多強大的 AI

【台灣石虎靠 AI 來保護】遠離路殺!這套 AI 系統創下首個阻擋石虎過馬路的紀錄
文筆好到「太危險」!OpenAI 新自動寫作模型,將成假新聞製造產地?
專訪吳恩達── AI 大神首次來台演講, AI 領域的愛迪生或特斯拉會不會在台灣出現?