丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能學術 正文
發(fā)私信給我在思考中
發(fā)送

0

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

本文作者: 我在思考中 2021-11-17 10:34
導語:決策AI應用的成功與否,決定了其在產業(yè)界的認可程度和發(fā)展方向。
如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!
作者 | Don

編輯 | 青暮

北京時間10月28日,商湯科技和 AI 研習社共同舉辦決策智能系列公開課,對如何提高決策 AI 通用能力、泛化能力和適應能力以及復雜場景下 AI 魯棒性進行介紹,AI科技評論對此公開課做了不改變原意的整理。

視頻回放鏈接:https://live.yanxishe.com/room/972



1

摘要

人工智能技術已經進入從感知智能到決策智能演變的關鍵節(jié)點,決策AI技術的前沿進展和突破也到了在實際場景部署和應用的階段。決策AI技術應用的成功與否直接決定了這一技術在產業(yè)界的認可程度和決策AI技術的發(fā)展方向,應用領域的難題也可以反過來指導決策AI理論的發(fā)展和創(chuàng)新。另一方面,建立成熟的,有一定規(guī)模的應用生態(tài)成為了決策AI技術應用的另一個重要議題,生態(tài)構建的成功與否體現了決策AI技術的應用門檻、其通用能力和泛化能力以及對不同任務的適應能力。應用生態(tài)也可以更加廣泛地拓展決策AI的應用領域,打通不同應用領域所面臨的問題和挑戰(zhàn)。

此外隨著人工智能技術的發(fā)展,從atari到go再到星際爭霸2,結合深度學習、強化學習以及大規(guī)模分布式平臺訓練出來的AI已經在各個競技項目的水平已經比肩甚至超越了人類,但在復雜場景下AI仍然面臨著巨大挑戰(zhàn),游戲AI落地還需解決訓練成本,模型的泛化性和魯棒性等多個難題。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!


2

決策AI應用與生態(tài)

決策AI是一類不同于感知性AI的人工智能方法,它更側重的是在動態(tài)環(huán)境中進行決策和交互的策略網絡。

決策AI的難點與挑戰(zhàn)

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

決策AI主要包括以模仿學習、強化學習為主的策略搜索方法的技術。目前,它主要應用于自動駕駛、城市交通控制、游戲AI、和推薦系統(tǒng)等領域。

決策AI在學術和應用層面面臨著三個主要的難點和挑戰(zhàn)

  • a) 環(huán)境側的多模態(tài)輸入

    在環(huán)境中,模型的輸入通常是多模態(tài)的。比如右上角的圖片所示的典型樣例:自動駕駛場景。與學術界的前提不同,實際應用中的自動駕駛模型自身無法僅僅通過一張圖來獲取所有的復雜環(huán)境信息輸入。在當前的技術中,如果想在自動駕駛領域對周圍環(huán)境進行完整的表征,則需要若干中傳感器的輸入,如圖像、雷達等。

    多模態(tài)輸入的問題對于有監(jiān)督學習可能相對容易,但是對于強化學習來說是一個難點。

  • b) 環(huán)境的動態(tài)特性和不確定性

    學術界中常用的強化學習方法中,其底層模型和引擎相對簡單,但對于自動駕駛或巨大的城市流模型來說,其中的動態(tài)性和不確定性是非常多的。這便會對模型的泛化和策略訓練時的魯棒性提出巨大的挑戰(zhàn)。

  • c) 環(huán)境中的信息密度低問題

    低密度信息是所有強化學習方法都會遇到的通用問題。與監(jiān)督學習相比,強化學習需要和環(huán)境進行交互來指導網絡的優(yōu)化方向,因此其所能提供的信息密度相對較低。在實際的應用中這種問題會被放大。因為,在一般的情況下,對于應用環(huán)境的交互是無法做到和學術界中一樣敏捷與快速的。比如在學術界的場景中,我們可以同時啟動幾百個進程采集數據供給一個網絡訓練。但是應用級別的環(huán)境,我們無法做到如此恐怖的并發(fā)量。

此外,從策略的角度出發(fā),決策AI也存在著三大問題:

  • a) 仿真器和實際中的差異距離

    我們知道,仿真環(huán)境無法做到與實際情況完全相同的結果。我們如果將僅僅使用仿真器所訓練出來的結果不加修飾的生搬硬套于實際,可能會產生性能上的巨大偏差。

  • b) 安全性提升問題

    在現實環(huán)境中,不論在訓練還是測試的場景中,都有一些無法接受的失敗場景,這些場景一旦發(fā)生,則會產生巨大的損失。比如自動駕駛或者線上部署運行的推薦服務等等。在這些場景中,除了需要考慮模型的性能外,還需要保證算法的穩(wěn)定性。但是對于策略模型,其本身可是做一個黑箱,因此我們無法保證和證明其安全性。

  • c) 模仿機器學習中的數據位移問題

    數據位移是指,人們所設計的策略網絡(通常是從專家策略或從數據中學習到的策略),與實際應用中的輸出無法做到完全一致,加之模型在環(huán)境中的運行具有持續(xù)性的特點,因此它們通常會產生累計誤差。而累計誤差在數據集中通常難以體現,因此會導致累計誤差的總體偏移量逐漸加大,最終會達到模型無法學習或容忍的程度。這個問題可能會導致策略網絡輸出一些原數據集中不存在的、危險的結果動作。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

在此處,我們以自動駕駛為例,介紹決策AI在其中所面臨的一些問題

  • a) 模仿學習

首先我們介紹一個模仿學習的例子:條件模仿學習Conditional Imitation Learning.

條件模仿學習的目標是實現端到端的模仿機器學習模型。其輸入端所接入的輸入數據是例如圖像等觀察數據Observation Data,其輸出是駕駛的動作Action,即控制信號。

條件模仿學習提出,模型應該在輸入傳感器信號的同時,輸出一個離散的駕駛的控制信號Command,這個控制信號可以用于控制車輛的動作。

據此,網絡可以分成兩個部分。

第一個部分為主干部分,此處所使用的是一個ResNet網絡,當然也可以是CNN、Transformer等其他結構。

第二個部分則需根據Command的不同分成不同的分支,每個分支負責對Command產生不同的實際操控動作。

因此,模型可以實現對當前環(huán)境的解讀工作,也可以將駕駛所需要的部分放在模型前面,并且共享參數。最后,隨著操控指令Command的不同,駕駛車輛可以做出不同的動作。

條件模仿學習是一個具有代表性的模仿機器學習工作。很多后續(xù)工作借鑒該方法的設計語言和模型結構。

上圖的第二張是條件模仿學習的一個變種形式,CIRLS。它在原始結構的基礎上,使用了更深的Resnet,并且在輸入端考慮了車輛的速度。此外,它的輸出端也有一個branch分支,來負責速度的輸出。網絡中還有速度輸出的loss函數。這樣做是為了讓模型能夠在輸入觀測數據的同時,考慮車輛的速度因素。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

  • b) Learning by Cheating

第二個例子,Learning by cheating,欺騙式學習。它要求在原始的基礎上進一步強化模仿學習的性能。它提出,如果我們希望模型根據輸入的RGB圖像直接學習出一個動作,其難度較高,但是如果能夠得到一些具有privileged特權特點的信息,這些信息是從輸入中無法得到的,那么在訓練中,算法就可以將這些privileged特權模型當做欺騙模型,并且在訓練中使用在線的目標模型,從而避免模仿學習的偏移問題。

它的具體做法是,首先訓練欺騙模型,然后在線地訓練目標模型。也就是說目標模型在訓練的過程中,算法可以直接將其輸入分給另外的模型,從而得到兩個模型的動作結果。如此一來,即使目標模型在運行中出現一些偏移,算法也可以直接反映到目標模型應該如何改進的方向上從而取得更好的效果。

它的另一個提升在于,模型不會直接輸出動作信號,而是將其輸出分拆。模型首先輸出一條預測的行進軌跡,具體來說,此軌跡是5個預測的駕駛點。有了駕駛點后,模型便可以通過一些傳統(tǒng)的控制方法,如PID控制器來得到最終的在汽車上執(zhí)行的控制信號。因此,即使我們的預測軌跡有一些偏差和誤差,算法也可以對其加以限制。如此一來,我們的PID控制器得到的駕駛信號的安全性就能得到提升,PID控制器對噪聲輸入也就更加魯棒了。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

LBC相對于前文的CIL方法,具有大幅的性能提升。在最高版本的仿真器上,LBC在有行人和無行人的場景中都能獲得更高的仿真成功率。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

在這里,他們做了一些錯誤分析。

從圖中我們看到,在各種場景中,LBC犯錯的次數比CIL方法低的多。其中我們主要看一下交通燈場景,如果模型的輸入只有圖像信息,那么它的交通燈信息只能占到很少的部分,因此學習困難較大。但如果我們有了特權模型,其中交通燈信號就能通過較容易的方式交給策略網絡,也就能實現十分明顯的性能的提升了了。

  • c) Affordance Learning

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

對于強化學習方法,文章也進行了若干嘗試。對于強化學習,如果算法直接使用強化學習訓練具有大量參數的模型時,如ResNet,那么模型可能會無法收斂。因為其輸入信息源的信息密度較低。因此我們需要通過一些手段來降低最終收斂所需的數據量和抽象難度,以此來滿足強化學習的數據需要。其中第一解決方法是啟示學習Affordance Learning。

啟示學習(Affordance Learning)方法假設學習空間中存在一種表示,它能夠從輸入的數據中得到一個包含所有駕駛信息的全量表達信息Latent Representation,我們只需要將全量信息作為強化學習的輸入,就可以降低表達的維度、降低強化學習所需的復雜度和收斂所需的數據量和計算次數。

此時的輸入仍然是傳感信息,它首先通過有監(jiān)督的方式預測此時交通燈的狀態(tài)以及距離等標簽信息。然后算法將Head去掉,將骨干凍結,再將前面的輸出作為強化學習環(huán)境的輸入,從而觀察數據,并進行強化學習。通過這樣的方式,算法就能在計算復雜度可以允許的情況下獲得較好的收斂效果。

  • d) Latent Reinforcement Learning 潛在強化學習

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

第二個思路與第一個思路類似,但是它不再需要感知的標簽。它只需要一個變分編碼器VAE來重構模型的輸入觀察信息本身。

如圖所示,在輸入了RGB圖像后,模型能夠通過訓練變分編碼器,輸出與輸入相同的RGB圖像。那么此時,我們可以通過網絡中的編碼器Encoder得到低維度的駕駛相關信息。然后模型可以再使用編碼器的輸出作為強化學習的觀測輸入,從而訓練強化學習相關的部分。這種方法也取得了不錯的效果。

  • e) Transformer

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

最新的方法則是借鑒了Transformer的設計思想。Transformer的強大需要龐大數量的帶標簽數據集合。因此,對于Transformer的成功應用,也能直接將其作為網絡的直連部分使用。

比如在這篇論文的工作中,它將Transformer用作多模態(tài)融合信息。從圖中我們可以看到模型由兩個模塊組成,它們的輸入分別是RGB的圖像以及雷達二值圖。這兩類輸入信息的處理流結構互相獨立,并分別得到輸出。在模型的中間部分,算法使用了Transformer結構來融合兩者的特征圖Feature Map。在融合層的選擇上,該模型使用了Attention注意力機制,并在融合后,將特征圖送回網絡,得到下一層的結果。

該文章認為,如果只使用RGB的原始輸入,則算法對于“其他車輛突然出現在攝像頭范圍內”的行為事件的感知能力差,因此需要雷達數據的多模態(tài)輔助。但是雷達信號僅在距離較近的時候具有較強的信息密度;當距離較遠時,其感知能力和感知效果較差。值得注意的是,雷達對于交通紅綠燈信號是沒有感知能力的。因此,作者通過多模態(tài)輸入以及基于Transoformer的融合結果,實現對這兩者輸入處理能力的加和。

此外,該工作也沒有直接輸出控制信號,而是借鑒了之前的工作,輸出預測的預測軌跡。具體來說,它沒有輸出具體的預測點,而是通過一個循環(huán)網絡(門控循環(huán)單元GRU)結構來迭代地輸出若干個坐標點,再通過將這些坐標映射到頻率坐標系中,然后將頻率坐標系中的結果輸入給PID控制器,并最終得到最終的輸出給汽車的動作控制信號。因此我們看到,這種方法融合了模仿學習的優(yōu)點,還加上了Transformer的交互能力,實現了目前模仿學習領域中最好的效果。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

在這里他們進行了效果對比。但是其公平性有待商榷,因為其中所應用的專家策略本身,就已經在借鑒了前述方法進行了部分更新。但我們目前仍舊認為,該方法的是有效的。只不過其實際的提升不會像表中結果所示一樣夸張。

此外,他們分析了錯誤類型。從表格中我們可以看到,模型算法的主要提升點是“它車出現Collision Vehicles”和“其他物品出現Collision Layout”場景的規(guī)避。對于交通燈場景的表現上,它也有一定的提升,但是并未從本質上解決交通燈的問題,也就是交通燈的信息在RGB圖像上本身的學習難度仍舊很大。

Transformer還提供了關于Attention的可視化解讀。該工作將中間層所屬楚的特征圖Feature Map進行了可視化處理,并發(fā)現Transformer可以學習到對當前駕駛最關鍵的決定性信息。比如,他們發(fā)現RGB圖像中,它車和交通燈模塊的關注度提高,這符合我們的預期與人類社會的基本交通經驗。該發(fā)現證明了其提出方法的有效性。

以上便是自動駕駛和決策AI的發(fā)展歷程。



3

DI-Drive

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

我們基于決策AI構建了一項自動駕駛的決策AI平臺,名叫 DI - drive。它的功能主要是將模仿學習、強化學習為代表的決策AI方法融合到一起,并且,將同步融合各種不同的模擬數據的輸入輸出。同時,它還能定義自動駕駛中的策略和環(huán)境接口。圖中展示了上述決策過程。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

它的主要優(yōu)點如圖所示。在這里我們主要講其中的第四點。駕駛場景和案例。

當前學術界對于自動駕駛的評價指標,需要算法首先給定駕駛的起點以及終點,并給出它車的數量和行人的情況,然后直接測試模型在該場景下的成功率。然而他車和行人的軌跡和行為都是隨機的。

在該種前提下,它可以較為全面的評估駕駛策略的有效性和成功率,但是它無法具體評估某項駕駛策略在具體場合中的表現。例如,某項策略在紅綠燈場景的表現很好,但是對于跟車和超車的表現則未能盡如人意。

因此,為了能夠分場景和案例的對駕駛策略進行評估,我們在AI-Drive的強化學習模型中提出了Casezoo技術

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

Casezoo的主要特點是,它首先使用了很多實際采集的真實數據,即將超車和跟車等場景的數據在仿真器中進行了構建。第二點,它的每個場景都包含一個行為樹(Behaviors Tree)和駕駛標準(Criterion)。

行為樹是指:那些必須按照具體的步驟和場景完成特定的行為。比如上面的第三個圖中所示的場景中,若黃車想進行超車行為,則藍車也要跟隨其完成超車。那么此時需要滿足基本的駕駛規(guī)范,即沒有逆行和超速等違規(guī)行為。

因此,它需要從公共的邏輯出發(fā),但是此時的場景中會有一些噪聲影響。例如,車間距離可能有所差異。但是不論當前場景如何,它的目標都是明確的,即完成后車跟隨前車進行超車的任務,也就是以相同軌跡完成超越前車。但如果后車并沒有按照前車軌跡行進,不觸發(fā)行為樹的完整路徑,而是以其他方式完成該任務(比如用另一條車道完成超車),則此場景不會觸發(fā)。

通過這樣的方式,我們能夠對各個場景的駕駛行為進行細分和歸類。



4

游戲AI

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

決策AI包括很多方面。人工智能現在已經廣泛的應用在人臉識別等感知優(yōu)化的場景,但是想讓模型具有真正的智能,則需要將其落實到一些需要進行決策的場景。游戲AI便是其中的一部分。

在具體介紹之前,我們首先要對其提出一個問題——我們?yōu)槭裁匆芯坑螒駻I?我們在其中投入了大量精力和計算資源,其目的如何?

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

AGI

首先我們介紹一個基礎名詞,Artificial General Intelligence,AGI,通用人工智能

相信我們每位人工智能的從業(yè)者都是想造出具有通用能力的人工智能模型,并且幻想著有朝一日它能像真人一樣成為我們的朋友,和我們自然的交流、工作和生活。但是我們如實現和何達到通用人工智能的程度呢?

其實現在人工智能已經應用于諸多領域中了。比如在人臉識別領域,我們每天手機的解鎖或支付工作都會用到人臉識別技術;在自然語言處理領域,我們在進行自動機器翻譯、語音轉文字的識別、呼叫siri、和小愛同學交流的過程中都用到了自然語言處理技術進行文本語言處理;在推薦系統(tǒng)領域,我們在每天打開購物網站挑產品,或者看新聞網站的時候,應用都會給我們推薦很多可能感興趣的類似的內容——它掌握了我們的喜好,并且總能給我們推薦一些欲罷不能、流連忘返的商品和內容。

人工智能已經深入到生活的方方面面。但是上述的應用其實都沒有達到通用人工智能的程度。我們通過這些例子,說明AI僅能在某些領域中完成對應任務,但是無法達到通用人工智能的高度。

我們在研究通用人工智能效果或者能力程度的時候,通常需要對其進行評估,或者進行直觀的比較。但是目前,這些評估都是單方面針對AI程度的,我們并沒有直接將人類和機器進行直觀對比。

實際上,評估人工智能效果的最直觀和有效的方式,是人機比較。也就是,對于同樣的任務,人類是如何進行處理的,而機器又是怎樣做的。例如,我們同時要求人工智能程序和人執(zhí)行相同的任務,并直觀地比較兩者的輸出結果和實現效果。

那么對于一個復雜的任務來說,通過如此的比較,若機器能夠達到和人類相同的反應,我們就可以說機器學習模型實現了與人類相當程度的智能。

如果要進行人機比較,最好的方法就是進行“人機對抗”

人機對抗

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

人機對抗的概念大家都不陌生。從很久之前的格斗游戲中,比如街霸,我們就是要去挑戰(zhàn)人工智能對手。相信大家在小的時候都曾經被機器人虐的體無完膚。

時間來到2016年,AlphaGo的出現可以說是人工智能領域的一個里程碑。它第一次讓世人了解到人工智能的強大和潛力。AlphaGo當年在圍棋游戲上戰(zhàn)勝了最強人類選手之一的李世石。

到了2019年,也有兩個讓人印象深刻的人工智能工作AlphaStar和OpenAI的游戲人工智能。AlphaStar是Deepmind的一項工作,他們在星際爭霸2這款游戲上進行了挑戰(zhàn);同時期,OpenAI也在Dota2上進行了人工智能的研究。OpenAI的工作更具有代表性,因為它不再是1v1的游戲,而是5v5的復雜擴展場景。它涉及到了隊友間的配合。這又是一項技術的突破,實現了更加復雜場景的研究。

相信大家在剛開始玩類似游戲的時候都有點“手足無措”的感覺,或者腦子跟不上手速的情況。這是因為這些游戲本身的難度就很高。那么如果在這些難度天花板級別的游戲上,AI都能達到媲美人類的效果,那就可以證明游戲人工智能的智慧水平已經到了較高水準。

到最后,我們相信人工智能能實現“終結者”的程度。在電影里,終結者是穿越到未來的2029年,并在人類世界中掀起了腥風血雨。雖然我們不想發(fā)生這樣的事情,但是在看電影的時候我們還是津津樂道樂此不疲。

那么對于人機對抗,其本身就能夠體現AI通用智慧的水平,也是衡量人工智能程度的一種方式和呈現。因此,很多研究人員都想在較為復雜的游戲中進行人機對抗,并在這些場景中實現技術的應用和效果的突破。如果當前的游戲任務比較難,我們希望AI能夠像人一樣很好的分析問題、駕馭并解決該問題和關卡。這也就可以從一些方面體現模型人工智能的發(fā)展水平和智慧程度。

AlphaStar都做了什么

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

下面我用一個例子介紹游戲AI的設計流程,即如何打造一個游戲AI模型。這里我們介紹AlphaStar的星際爭霸2的人工智能模型。之所以選擇星際爭霸2,是因為它本身操作和控制難度較高,同時它也有一款相當經典的游戲,玩家群體數量較大,熱度高。Dota2本身是“技術戰(zhàn)略”類的游戲,玩家有時需要同步操控上百個多種職業(yè)的士兵對象,所以其游戲難度呈現指數級上升。

因此,Deepmind在圍棋問題攻克之后,便以Dota2為目標設計工作布局。在Deepmind的心里,他們也認為Dota2比圍棋在難度上高一個級別。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

如何設計星際爭霸2的AI

我們首先介紹如何設計一個星際爭霸2的游戲人工智能模型的程序。這是一張游戲截圖。AI在和人類競爭的時候,一個前提是公平(拒絕開掛人人有責)。如果AI在某些方面是不公平的,這樣的對抗比較是沒有意義的。例如,當我們在實際生活中,讓人工智能機器人和人類進行賽跑或拳擊的比較對抗,這樣是沒有意義的,兩者沒有站在同一個起跑線上,具體可參考《終結者12345》。

但是在Dota和星際爭霸2這樣的游戲中,人工智能和人類玩家是公平的。例如,人類能夠從屏幕中看到圖像,這個圖像也可以以RGB圖像的格式輸入給人工智能程序。人工智能程序可以處理的信息(輸入)一共有三種:

  1. 空間信息:左下角的小地圖(圖中給出了游戲地圖的地形,以及敵方單位和主要目標位置等宏觀信息)。這些信息我們可以稱作空間信息(Spatial info)

  2. 實體信息:另一方面是畫面中的操控單位,比如主基地采礦建筑物,還有采礦工等對象。我們可以將所有操控單位信息整合為實體信息(Entity info)。因此,如果敵方對象出現在我們的視野范圍內,便會在Entity info實體信息列表中的得到體現。

  3. 標量信息:第三部分是游戲畫面右上角的資源、水晶、礦石、人口、種族、地圖名等信息,叫做Scalar info(標量信息)。除了Scalar info外,其它兩種輸入是向量信息Vector info。

在這種設定下,人工智能程序和人類的地位相對公平。只不過AI接收的是數字和量化的值,而人類看到的是圖像,聽到的是聲音。

這是我們整合游戲輸入信息的部分。

AlphaStar的模型結構

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

1) 當前幀數據的利用

AlphaStar的工作中另一個突破則是網絡結構的設計。由于星際爭霸2的游戲操控難度較高,玩家所需處理的信息很多、所需之行的動作相對復雜,因此,算法需要對數據也進行十分繁復和具體的處理。

因此,算法網絡的結構設計難度相應增加。Alphastar設計了如圖所示的結構,該結構融合了各種頂尖、有效的網絡結構。算法的輸入可以分成三類,這三類輸入信息首先需要進行整合。具體來說:

對于標量信息Scalar info,模型直接將其輸入到全連接網絡中進行處理,并得到Scalar Embedding的表示向量。

實體/對象信息Entity info也是一項很重要的信息,因為算法能夠操控的己方兵力,以及需要考慮的敵軍對象的數量通常較多,那么此類輸入的數量和復雜度則會十分龐大。因此模型使用了Transformer的結構對其進行處理,從而獲得戰(zhàn)局的整體把握:例如,對方有多少兵力,我們能操控的兵力如何。通過Transformer結構,模型進而可以進行兵力的部署和戰(zhàn)局的洞悉,從而得到Entity Embedding

此外,二維的空間信息Spatial info,由于在當前的研究中,對于空間類數據的處理已經相對成熟,因此模型采用了ResNet網絡結構將其處理成Spatial Embedding。

值的注意的是,當我們得到了三類Embedding的處理結果后,會對他們進行離散連接Scatter connection操作。其背后的考慮是,游戲中,我們通常會在小地圖中看到對方的大致布局(例如一個紅點可以代表一個兵,或者多個兵,它是一個較為抽象和省略的呈現)。雖然我們無法光從小地圖中看出兵力的具體數量,但是當我們將視野大圖轉移到該部分,并將大小地圖信息綜合考慮之后,是夠推斷出其中的具體的兵力部署和敵陣形態(tài)的。

除了當前幀的信息外,我們還要考慮時序上的信息,比如戰(zhàn)略部署(俗話說就是連招):對手的之前操作組合歷史會影響當前和之后的戰(zhàn)局發(fā)展,因此我們需要整理歷史時序信息。為提取時許特征,算法使用了LSTM網絡結構。這也是自然語言處理和時序信號處理的經典結構,它能夠整合開局以來的所有信息。這是我們對當前幀,以及歷史信息的利用算法的思路。有了這些信息之后,模型便可以操控己方兵力實施建設、攻擊、防御和變陣等操作。

為實現操控,算法需要進行一系列多類型的決策。因此,模型需要首先在Action動作模塊中給出Action Type的動作類型,并在Delay延遲模塊中給出命令的執(zhí)行時間。當有多個指令頭Head等待執(zhí)行的時候,模型使用了Auto Regressive Embedding自回歸嵌入的結構進行處理。當我們在第一個head中決定了要做什么操作動作后,其結果輸出需加入LSTM輸出的Output Embedding向量中,并將其作為后續(xù)Head的輸入。

這樣的處理方式的優(yōu)點是,模型在得到指令內容的時候,也可以同時獲得之前動作的所有信息。因此,整個動作的連貫性會增強(一頓操作猛如虎,不會各個操作如夢游)。例如,選兵、選擇攻擊方式、點擊攻擊目標等操作會很連貫,從而更好的控制。因此通過上述的模型結構,游戲模型動作輸出序列的合理性便可以得到保障,從而進行完整的訓練。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

模型的工程細節(jié)

值得注意的是,上述結構也被應用到了OpenAI5的工作中:他們的模型也擁有三類輸入,并通過類似的方式進行整合。我們發(fā)現,在類似的復雜游戲場景中,各大公司的解決方案都很類似,他們都使用了類似的結構和方式求解。受此啟發(fā),這個結構可以作為一個“模板”,在以后遇到類似的游戲問題和場景時,我們也可以對其進行借鑒甚至是套用,然后根據當時模型的需求對網絡結構、損失和參數進行適當調整,便可以完美適配和應用在市面上的很多種游戲之中。

當我們完成了網絡結構的設計,接下來去看一下打造AI的具體過程,也就是訓練部分。模型可以根據訓練操作分為兩個部分,監(jiān)督學習強化學習

a)監(jiān)督學習

對于監(jiān)督學習,在動作空間中,我們需要決定哪個節(jié)點、在哪、執(zhí)行什么動作——其搜索貨泛化的函數空間范圍較大。表格中是統(tǒng)計的不同游戲的狀態(tài)空間。從中可以看到,由于星際爭霸2的游戲難度很大、自由度高、操作的可選擇性和策略的種類多樣,所以其動作空間范圍龐大,與其他游戲不處于一個量級。

那么在如此大的狀態(tài)空間中,如果我們使用強化學習進行探索,那么如果想搜索到勝利的結局,其探索所需的計算和存儲消耗將會驚人的龐大。因此我們最好對模型進行初步的初始化,讓其具有初步的能力,也就是利用有監(jiān)督學習訓練出一個“湊合能用的”模子,然后再基于這個人類經驗起點利用強化學習進行搜索。因此有監(jiān)督的學習是個必要的前置操作。

在星際爭霸2中,監(jiān)督學習的過程是暴雪的研發(fā)團隊和Deepmind研發(fā)團隊聯合完成的。在這個過程中,他們錄制了來自人類玩家?guī)装偃f、上千萬的優(yōu)質游戲錄像。然后讓模型利用其進行監(jiān)督學習,從而初始化模型的基礎參數。在實際的工程實現中,DeepMind篩選出來了97萬的訓練數據。這些入選的訓練數據代表了當前最強的戰(zhàn)斗力(利用評分機制,尋找高于3500分的錄像,也就是前20%人類玩家的數據)。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

b)強化學習

強化學習的數學本質上,它已經日益成熟和完善(其所基于的數學理論已經完善、自洽,并且得到廣泛的認可和應用),因此最近的若干項突破大多是集中在其在大規(guī)模工程應用上的研究之中。例如,AlphaStar用到的Active Greative策略,OpenAI 5利用的PPU方法都是如此。

強化學習的成功關鍵在于其所使用的訓練規(guī)?!麄冇幸惶子柧毾到y(tǒng)環(huán)境,能夠讓AI人工智能模型在其中進行次數龐大的模擬并發(fā)對局(類似于漩渦鳴人的影分身仙人模式訓練)。

在這里,算法將模型分成了個部分,Actor和Learner。一個Actor所對應的模型需要進行16000場對局,每個Actor可以使用128張GPU計算卡執(zhí)行推斷。同樣的,Learner節(jié)點也使用128張GPU計算卡進行訓練(太壕橫了,這就是所謂的大力出奇跡嗎)。

在實際的訓練過程中,Actor+Learner的結構形成一個Agent,模型一共包含了12個Agent,并將其復制16次,也就是進行了幾百萬次對局。在該工作中,訓練共用時44天。

當模型在如此規(guī)模的計算量上進行充分的訓練后,所輸出的最優(yōu)模型便具有了處理如此復雜游戲情況的能力。因此我們看到,在當前的游戲AI領域,工程實現也是一個重要的課題。

強化學習怎么用的呢

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

再來說一下強化學習的優(yōu)化。在模型中,為了實現優(yōu)化,算法應用了比較原始和經典的Actor Greative的結構。但是對它進行了一些改進和當前場景的適配。

首先在策略損失函數上,他們應用了VTRACE損失。VTRACE損失的核心是解決多個Actor和Learner之間Gap的學習過程。此外,他們提出了UPGO的策略更新方式。UPGO能夠讓我們的模型避免一些“壞Action”的事件。他們在實踐中使用這兩種策略更新參數并訓練出良好的結果。

此外,對于Value的更新方面,算法提出使用TD(λ)更新方式迭代。同時,算法還加入了KL散度損失值。這是由于模型訓練的目的是獲得游戲的勝利,那么它可能在訓練之初陷入到一些局部最優(yōu)陷阱中無法自拔,也就是學習到一些很極端的情況。比如在剛剛開局時只去制造低級的兵力攻擊其他玩家,并陷入到這條不歸路上跳不出來。那么此時,應用了KL損失后,算法就能夠限制強化學習所訓練出來的模型,與有監(jiān)督模型之間相差不要太離譜,也就是別太“奇怪和極端”。此外熵損失Entropy Loss也能加大模型的探索空間和可能搜索到的行為范圍。

因此,在這樣大規(guī)模的訓練上,該方法的論文表示,模型能夠在天梯得分上得到Top 99.93%的結果。這樣的模型執(zhí)行效果雖然不能像AlphaGo在圍棋游戲中一樣擊敗人類中最強的大腦之一,并且“降維打擊”般的拉開絕對差距,但是它也能得到很好的執(zhí)行效果。這也能說明了AI設計的成功性。

游戲AI的挑戰(zhàn)

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

在AlphaStar的案例后,我們發(fā)現游戲人工智能模型仍然存在一些挑戰(zhàn)需要克服。具體來說,包括三個方面:

1) 游戲的訓練效率Efficiency

首先是Efficiency效率。效率問題是當前游戲人工智能模型設計中比較常見的一個問題。整體模型的訓練過程需要占用較多的計算、存儲和緩存資源。然而,通過估計,我們發(fā)現這已經是大規(guī)模訓練的臨界點。那么為了降低成本,在程序設計之初,我們是否能夠通過一些策略貨方法降低其訓練成本?畢竟,我們在訓練游戲AI的時候,希望它實現成本的最低化,不要占據我們過多的計算和存儲資源。

2) 游戲的進化Evolution

另一個是游戲的進化Evolution。我們知道Alphastar只在當時固定的一個天梯中進行了比較,沒有開放給公眾進行挑戰(zhàn)和熟悉,當時的它僅僅通過離線的方式完成訓練和評估。而且,這個人工智能模型在制造出來后就沒有再與時俱進的實時更新和進化,這就導致了之后的玩家會熟悉程序的套路和習慣,并想出辦法將其反殺的結果。此問題是其他所有游戲人工智能模型的大問題——它們總是被人類找到漏洞并成功超越。

3) 游戲的完整性Entirety

第三個問題是游戲的完整性Entirety。雖然我們的目標是通用人工智能,但是現在的游戲AI只能解決一個特定的游戲學習,無法實現多種游戲學習間的遷移。所以它們其實只是適應了目標游戲的數據映射,并沒有對“玩游戲”事件的整體進行充分認知。因此如何設計人工智能模型對游戲的完整性進行認知和學習,是一個比較大的問題。畢竟,我們最終是想做一個通用人工智能程序,使得它能像人類一樣對所有游戲進行學習,而不是僅是成為某個/某方面游戲的專家。

上述就是我們的在游戲AI開發(fā)中遇到的難題。AlphaStar相關的前置工作也已經開源,大家如果感興趣的話,可以通過這些開源項目軟件參與模型的設計,或者體驗一下效果。我們希望大家能夠多多參與并給出自己的寶貴貢獻。后續(xù)我們也會開源訓練部分的相關內容,讓大家也能在星際爭霸2中訓練屬于自己的AI。如果大家有興趣的話,可以掃描二維碼獲取。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!



5

主講人介紹

本次分享主要會對如何提高AI通用決策能力,泛化能力,適應能力以及復雜場景下AI魯棒性進行介紹。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

陳若冰,商湯科技決策AI研究應用組研究員。主要從事決策AI算法在應用場景的研發(fā)創(chuàng)新優(yōu)化,負責Opendilab中基于DI-engine的決策AI應用平臺開發(fā),包括自動駕駛訓練平臺DI-Drive,交通信號控制任務,生物蛋白質、RNA序列搜索等任務。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

周航,商湯科技決策智能游戲AI組高級研究員。主要負責游戲AI中的技術和落地研究,他的主要的研究方向是大規(guī)模強化學習訓練系統(tǒng)、復雜場景游戲AI設計,和通用游戲AI設計。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

點擊鏈接,觀看直播回放:https://live.yanxishe.com/room/972

雷鋒網雷鋒網


雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。

如何設計星際爭霸2等游戲AI?解密決策AI的應用及其在游戲中的設計!

分享:
相關文章
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說