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

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

在多數評論裏,Suphx 被稱爲“最強日麻人工智能”。

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

神祕的最強日麻 AI

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

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

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

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

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

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

(Suphx 的官方社交賬號上,只有簡單的介紹)

直到 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和人類對弈”時,給出了和洪小文幾乎一樣的措辭——純粹出自於人類的好奇心。

相關文章