AlphaStar 星際首秀,人工智能走向星辰大海

文 / 王晶,資深工程師,Google Brain 團隊


作者王晶,現爲 Google Brain 團隊的資深工程師,主要致力深度強化學習的研發,和 DeepMind 團隊在強化學習的應用上有許多合作。


北京時間 1 月 25 日凌晨 2 點, DeepMind 直播了他們的 AI AlphaStar 和人類頂尖的職業電競選手對戰星際爭霸 2。根據 DeepMind 介紹,AlphaStar 在 2018 年 12 月 10 日和 19 日先後以 5:0 全勝的戰績擊敗了 2 位國際頂級的人類選手,此次直播的過程中也播放了之前比賽的重放。雖然 AlphaStar 在最後一場現場直播的比賽中惜敗,但是仍然保持對人類 10 勝 1 敗的戰績。


640?wx_fmt=jpeg


星際在全球玩家衆多,是最流行的一款實時策略遊戲之一,而 DeepMind 匯聚了全球最頂尖的人工智能科學家,似乎兩者出現在同一個場景裏有些違和。大衆刻板印象裏面,科學家一般都與實驗科研爲伍,怎麼會對玩星際感興趣呢?


其實如果大家對於 DeepMind 這個公司有所瞭解的話,就會發現這個世界一流的人工智能團隊實際就是一路打遊戲過來的。DeepMind 的創始人 Demis Hassabis 自小酷愛國際象棋,13 歲就成爲了國際象棋大師。之後他於 2010 年成立 DeepMind,專門開發能夠玩遊戲的人工智能。這個時候人工智能領域大火,DeepMind 順勢推出了自己的深度強化學習 (Deep Reinforcement Learning),並於 2014 年在 Atari 遊戲裏面超過了人類水平。2014 年之後 DeepMind 被 Google 收購,藉助 Google 的資源優勢繼續研發,從此在遊戲領域一騎絕塵。2016 年和 2017 年 DeepMind 的 AI 先後戰勝圍棋世界冠軍李世石和柯潔。接着 DeepMind 又推出了 AlphaZero,完全不借助人類棋譜,幾個小時之內就在圍棋,國際象棋和日本將棋上超過了人類水平。


DeepMind 之所以對於遊戲如此熱衷,除了創始人的遊戲情節以外,最關鍵的還是遊戲本身就是絕佳的人工智能測試環境。遊戲就是人爲創造的,用以幫助人來習得某個技能或者測試技能水平的工具。遊戲通過提供明確的反饋,使人可以在短期內不斷重複某些行爲,從而習得技能。比如很多棋類遊戲的設計初衷就是鍛鍊分析決策能力。當然也有專門用來讓人獲得愉悅的遊戲,比如說許多網絡遊戲。這些遊戲一般會有很強獎勵(比如獲得金幣之類),獲得獎勵的速度也很快,這就是這類遊戲容易讓人沉迷的原因。


回過頭來說星際本身。爲什麼 DeepMind 的科學家們看中了這麼一款遊戲呢?原因主要是星際爭霸有這樣兩個特點:

  • 第一星際爭霸的動作空間和策略非常複雜。圍棋雖然每次落子的變化也很多,但是每次畢竟只是需要根據盤面挑選落子地方,還算比較簡單。相對而言,星際爭霸裏面的的動作空間就很複雜,玩家需要:

    1)積累資源

    2)建設工廠

    3)組建軍隊

    4)消滅對方的工事

    每一個動作之間相互有影響,許多動作產生的後果是很長期的

  • 第二玩家沒有全部的信息。基本上來說玩家只知道顯示在屏幕上面的一小部分區域的信息。而真正的地圖是很大。所以如果他們想要知道對手的信息,需要派出專門的偵查兵


爲了這次的對戰,DeepMind 其實已經準備已久。去年 DeepMind 和暴雪聯合推出了基於星際爭霸 2 的強化學習測試平臺並且發佈了論文《StarCraft II: A New Challenge for Reinforcement Learning》。這次參與對戰的 AI 也是從這個平臺上訓練得到的。這裏主要解答一些大家可能關心的問題。AlphaStar 的視角能夠看到的是什麼信息?它的操作和人是否一樣?有沒有作弊?



AlphaStar 到底是看到的什麼呢?

我們都知道人類玩家在玩星際的時候看到的是計算機屏幕的信息(如果是團戰可能還會有場下交流)。計算機屏幕上面的信息是標準的視頻流。人類玩家首先做的實際上是識別哪個士兵,哪個是工廠。在計算機視覺裏面,這些被稱爲物體識別和場景識別任務。值得一提的是識別這些人物本身很困難,但和策略的部分關係不大。所以 Deepmind 對問題進行了一些簡化。 AlphaStar 以圖像的方式從遊戲引擎裏面讀取特徵信息,這些圖像直接標記了哪裏是兵或者工廠。你可以想象,AlphaStar 有很多隻眼睛,有的看到兵,有的看到所有的工廠。除了計算機屏幕上面的信息,AlphaStar 還可以看到一個粗略的全景地圖,可以另外知道一些全局的信息,比如當前有多少資源,多少兵力等等。AlphaStar 看到的視角實際上長得像是下面這個樣子。


640?wx_fmt=jpeg



那麼 AlphaStar 是怎麼進行操作呢?

人類玩家都知道玩星際很多時候是拼手速。操作速度快的人基本可以碾壓操作速度慢的人。人類一般一分鐘進行 30 到 300 次操作。最厲害的人類選手大概是每分鐘 500 次操作。理論上計算機的操作速度遠遠超過人類,所以如果不限定操作速度的話,比較基本上沒有意義了。在 DeepMind 發佈的工具包裏面,操作速度被限制爲每分鐘 180 次。除此以外,DeepMind 儘量讓 AlphaStar 的操作和人的操作是一樣的。人類玩家的正常操作一般來說是一個鼠標鍵盤序列。比如說要移動兵的話,人一般會先按 m 代表進入 move 操作,再按 shift 同時點擊要移動的兵。AlphaStar 的操作也會產生類似的序列。


根據上面的信息,我們知道 AlphaStar 的輸入和輸出其實和人類選手是差不多的,並沒有特殊作弊的行爲。從這次的比賽視頻來看,AlphaStar 在選擇策略上如同職業選手般嫺熟,非常令人驚歎。那麼 Deepmind 大概是用了什麼樣的方法來訓練 AlphaStar 的呢?Deepmind 在賽後發佈了一篇博客進行了介紹。據說相應的論文正在同行評議中,相信不久就會將看到細節。這裏我結合博客內容和我自己相關的經驗進行下簡單介紹。


Deepmind AI 的深度網絡由多個模塊構成,看起來主要的網絡是一個被稱爲 Transformer 和 LSTM 的網絡結構構建。這類網絡最重要的特點就是有很長的記憶能力,可以在很長的序列裏面自動找到數據中的關聯,早期這類網絡是在自然語言處理裏面成熟的。之所以這次使用這樣的網絡結構,我猜測主要是星際裏面的很多動作的影響時間很長,比如說開始建一個工廠到真正這個工廠開始能夠提供物資需要過很久。訓練的過程和初代版的 AlphaGo 類似,結合了有監督學習 (Supervised Learning) 和強化學習 (Reinforcement Learning)。這兩種學習方法其實我們人類也常用 — 有監督學習相當於從課本上面學習,而強化學習像是從實踐中摸索。有監督學習和強化學習並用,就相當一個人先從課本上學習大概知識然後學以致用,在實踐中不斷改進。


在 AlphaStar 中,第一步的訓練是在暴雪提供的數據集上進行的有監督學習。據 DeepMind 稱,經過有監督學習,AlphaStar 對暴雪的內置 AI 能保持 95% 上的勝率。接下來很多經過有監督學習的 AlphaStar 進行聯賽 (League),相互對打,在這個過程中使用強化學習不斷提升能力。下面這個圖展示了這兩個階段水平的提升。


640?wx_fmt=jpeg


可以看出,有監督學習使得 AlphaStar 達到人類中的金牌水平(Gold Level),在進行了 8 天強化學習之後,AlphaStar 最終超過人類選手 TLO。14 天之後超過了人類選手 MaNa。值得一提的是,在 14 天的強化學習訓練期間,每個 AlphaStar 相當於完成了 200 年的遊戲試驗。尤其是多個 AlphaStar 相互對戰,需要的計算量極其巨大。爲了加快計算速度 DeepMind 使用了 Google's v3 TPU (向量計算單元)開發了一個分佈式訓練系統。TPU (Tensor processing unit) 是 Google 開發的專門用於人工智能的處理器,從 2016 年推出,至今已經演進到第三代。每一個 AlphaStar 智能體使用了 16 塊 三代 TPU,這是相當驚人的計算能力 — 要知道幾個小時滅掉 AlphaGo 的 AlphaZero 在對弈的時候也不過只用了 4 塊一代 TPU。


640?wx_fmt=jpeg


AlphaStar 之所以能夠使用 TPU 的強大算力,得益於從 16 年起 Deepmind 將主要研究平臺轉移到了 TensorFlow 上面。TensorFlow 是 Google 開發的開源機器學習平臺,如今也是最受歡迎機器學習系統之一。TPU 就是專門爲 TensorFlow 開發的硬件。除了 DeepMind 以外,Google 大部分的人工智能系統也都是基於 TensorFlow。


芯片領域有一個摩爾定律,就是計算力隨着時間是指數增長的。其實人工智能領域也有着類似的規律,比如說 AlphaGo 對陣李世石的時候人類尚可一戰,不久之後對戰柯潔人已經完全不在 一個量級。相信隨着時間的前進,AlphaStar 也會不斷的強大,同時在更多的問題上人工智能也會超過人類。許多人因此擔憂人會隨着人工智能的發展人變得多餘。其實我們大可不必擔憂,雖然如今人工智能在許多地方取得了不俗的成就,但其本質仍然是人類的工具。人類歷史其實就是一個不斷的發明創造新的工具的歷史,從火的使用,到蒸汽機,再到如今的人工智能,無一不是如此。在新的時代,新的人類必然會懂得如何去使用全新的工具。AlphaStar 的星際爭霸首秀,可能是這個新的時代的又一個序章。回到文初的問題,爲什麼科學家們會對星際爭霸如此癡迷 — 因爲這不僅是遊戲裏的星際,更是人類的星辰大海。


Reference

  • AlphaStar: Mastering the Real-Time Strategy Game StarCraft II 

    (https://deepmind.com/blog/alphastar-mastering-real-time-strategy-game-starcraft-ii/)

  • StarCraft II: A New Challenge for Reinforcement Learning

    (https://arxiv.org/pdf/1708.04782.pdf)

  • https://wallstreetcn.com/articles/3474868

  • Deepmind's blog

    (https://deepmind.com/blog/deepmind-and-blizzard-open-starcraft-ii-ai-research-environment/)

  • deepmind's github repo

    (https://github.com/deepmind/pysc2)

  • Relational Deep Reinforcement Learning

    (https://arxiv.org/pdf/1806.01830.pdf)



更多 AI 相關閱讀:



640?wx_fmt=gif