摘要:橋牌和麻將中,由於信息集平均大小比較大,存在着較多隱藏信息,難以直接採用AlphaGo等棋盤遊戲AI常用的蒙特卡洛樹搜索算法。在深度強化學習的基礎上,針對非完美信息遊戲的特點,劉鐵巖團隊嘗試用“先知教練”技術來提升強化學習的效果。

(原標題:比AlphaGo更復雜,最強日本麻將AI是怎麼煉成的?)

“我突然想起了一句話,神仙怎麼打都是對的。”

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

相關文章