爐石版AlphaGo:酒館戰棋AI助手
作者簡介:LFM包子
在這個人工智能引領的時代,AI似乎能夠完成一切,大到醫療、安防等民生領域,小到圍棋等智力競技,都少不了AI的身影。而“深度學習”、“神經網絡”等名詞,也從高大上的專業名詞,逐漸走入大家的生活之中。而在爐石傳說這種非對稱的競技遊戲中,AI的表現會怎麼樣呢?讓我們看看這個AI戰棋助手究竟是如何誕生的。
在酒館戰棋中,每個版本更新後都會有漫長的適應期,有時候甚至幾天不打,就完全看不懂這個版本應該怎麼玩而屢屢速8。有了酒館戰棋助手後,就可以輕鬆地解決這個問題。酒館戰棋助手應用了本站自研的人工智能技術,以海量戰棋高端玩家對戰操作爲參考依據,會在對局中根據玩家的當前情況實時作出打法推薦,幫助玩家熟悉環境與打法,是新手玩家和中輕度玩家的福音。
在電子遊戲的AI領域,最大的難題就是操作的多樣性,以及版本迭代導致的AI更新問題。衆所周知,許多競技類遊戲的每一次大更新後都是一個幾乎全新的遊戲,哪怕是頂尖的職業選手也會隨着版本的更迭出現狀態的起伏,因此也有“一代補丁一代神”的說法。而在這種節奏下,想要保持AI的更新和穩定性就需要做到底層的穩定,這需要對戰棋的機制有充分的理解。在這個問題上,本站的AI團隊每一位工程師都是酒館戰棋的資深玩家,在早期開發中就很注重酒館戰棋AI在不同遊戲版本的擴展能力,比如在一張隨從有多個維度來表徵,攻擊、血量、是否帶有聖盾等,這些維度在版本更新的時候也可以很方便擴充,比如是否帶有暴怒(鐵匠)、是否處在休眠狀態(瑪維)等。而對於特殊的隨從,則可以根據種族關鍵字進行關聯,如紅衣、熊媽媽等。
圍棋棋盤是二維的,可以視作一張圖片;因此alphago,絕藝等棋類AI往往採用CNN網絡結構,將每個位置作爲一個像素點,轉換成一個19*19*17的矩陣進行輸入。而酒館戰棋雖然名字中帶有“棋”字,實際的操作卻十分多樣化,有大量的隨從信息、對手信息和自身的狀態等。因此,本站的AI團隊選擇了另一個方向——自然語言處理中的transformer結構,把卡牌的排列類比爲文本語句,判斷當前陣容與鮑勃酒館中隨從的相關性,同時將自身血量與所處排名作爲閾值,即自身越危險的時候,就越傾向於買一些打工怪保血量,而安全時可以多去找核心。
同樣地,圍棋每一手只有一種操作和一個位置的選擇,而酒館戰棋的選擇則非常多樣化。比如“刷新酒館”是一步行動,而“購買隨從”不是一步完整的行動,像“購買布萊恩·銅須”指明具體對象的纔是,也就是說有的行動不需要指明隨從對象,而有的則需要。這方面和MOBA遊戲有些類似,比如在施放技能的時候,有的技能需要指定方向,有的則不需要。本站的AI團隊在模型輸出的設計上應用了Dota2 OpenAI-Five的一些技巧來表示不同層級、類型的子輸出,最後組合這些子輸出爲完整的一個行動。
Open AI five
在訓練數據方面,AI團隊綜合考慮了玩家的分段、最終排名和當輪狀態,設定了短期目標和長期目標,以避免訓練出過於極端的AI(如機雜苟爛分流AI)。
酒館戰棋AI的誕生,既凸顯了本站的技術深度,也表現了本站在AI領域上的深耕意識。新手向的戰棋AI只是一個開始,隨着網絡結構的進化與數據的積累,戰棋AI將變得越來越強。在AlphaGo誕生後,圍棋棋壇也隨着AlphaGo引領的“點三三”等新下法有了革命性的突破,而隨着戰棋AI的進步,以及強化學習等更深入的技術引入,戰棋AI或許也能給我們帶來打法與節奏選擇上的驚喜。或許有一天,我們也能看到戰棋AI與瓦娘、會長、墨衣等大神同臺競技的場景。
1.Vaswani, Ashish, et al. "Attention is all you need." arXiv preprint arXiv:1706.03762 (2017).
2.DEVLIN, Jacob, et al. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.
3. BERNER, Christopher, et al. Dota 2 with large scale deep reinforcement learning. arXiv preprint arXiv:1912.06680, 2019.
4. SILVER, David, et al. Mastering the game of Go with deep neural networks and tree search. nature, 2016, 529.7587: 484-489.