當前位置:
首頁 > 最新 > DOTA 5v5 AI 的亮點不是如何「學」的,而是如何「教」的

DOTA 5v5 AI 的亮點不是如何「學」的,而是如何「教」的

文 | 楊曉凡

來自雷鋒網(leiphone-sz)的報道

雷鋒網 AI 科技評論按:我們都已經知道了,OpenAI 的 5v5 DOTA AI 「OpenAI Five」再次完勝人類。

美國時間 8 月 5 日星期天下午,OpenAI 組織的線下比賽(OpenAI 稱其為「OpenAI Five Benchmark」)中一共進行了四局比賽。第一局 5 名現場觀眾組成的路人隊伍被 7 分鐘破中路二塔,9 分鐘上路上高地,12 分鐘破兩路,人頭比 26:4,可以說是完全碾壓。

之後的三局比賽是重頭戲,「OpenAI Five」對陣 4 位前職業選手(Blitz、Cap、Fogged、Merlini)與 1 位現任職業選手(MoonMeander)組成的高手隊伍。第一局依然慘敗,21 分鐘破第二路高地,人類選手打出 GG,人頭比 39:8。第二局人類選手選擇了更強的控制、更積極的打法,卻也只堅持到了 24 分鐘,人頭比 41:12。這樣,三局兩勝的比賽就已經告負了。

第二局人類高手比賽結束後,OpenAI CTO Greg Brockman 上前依次擁抱 5 位(前)職業選手致意

勝負已分,第三局就成為了娛樂局,現場觀眾給「OpenAI Five」選擇了 5 個不怎麼厲害的英雄,最後果然讓人類玩家獲得了勝利。

不過除了比賽比分之外,廣大強化學習研究人員和人工智慧愛好者還有一個深深的疑問就是,這樣的 AI 是如何訓練出來的。

毋庸置疑,DOTA 遊戲的複雜程度比圍棋要高,反饋也相當稀疏,即便選用了 OpenAI 已經開發得非常成熟的大規模分散式 PPO 實現「Rapid」,我們也難以直覺上信服「只要有足夠的訓練時間就能學到如此豐富的遊戲行為」。比如首先「OpenAI Five」的團隊協作上表現出了人類一樣的明確的核心和輔助英雄的區分,比如據 OpenAI 的研究人員介紹「OpenAI Five」也會選擇打肉山,只說這兩件事就都是人類玩家需要經過有意識的策略判斷和執行才能做出的。強化學習演算法現在就有這麼高層次的思維了?不太可能吧。

下面這些 5 日的比賽中的瞬間也值得玩味:

比賽進行到 20 分鐘,AI 的巫妖去看肉山。實際上整場比賽中 AI 的英雄時不時就會去看看肉山

Blitz 的影魔被 AI Gank,用暗影護符原地隱身,AI 的直升機和冰女兩個有 AOE 的英雄在附近還有一個 AI 隊友的情況下直接就撤退了。現場解說評價「簡直是人類對隱身物品的濫用」

還是天輝方的 Blitz 的影魔,繞樹林被 AI 方的眼看到。值得注意的是,這時候天輝方下路 2 塔都已經丟了,而這個夜魘方的眼就插在夜魘下路一塔外不遠的地方。這個眼位可算是非常保守、非常奇怪

AI 的火槍手很喜歡見面就給大,Blitz 的滿血影魔露頭就被大 —— 這個策略其實非常有效,團戰中人類方的冰女經常在團戰開始前先被火槍大到半血,然後團戰一開始就馬上陣亡

22 分鐘 AI 方的冰女補出了點金手,不過在接下來的 3 分鐘內都沒有使用它

強化學習的範式決定了「能幫助帶來高反饋的行為」會更容易被學到,而 DOTA 的複雜就在於,許多行為和最終遊戲結果之間的關聯似乎也是若即若離,在大多數場合下都能起到一錘定音效果的行為也許人類自己都說不清。即便相信 AlphaGo 能在反覆的自我對局中找到更好的策略的人,也不一定相信在 DOTA 如此複雜的環境下僅靠自我對局就可以學到定位、分路、補兵、先手、看肉山、插眼等等系列行為。

結合 OpenAI 之前放出的一些資料和「OpenAI Five」開發團隊在比賽現場的訪談,雷鋒網 AI 科技評論找到了「計算集群上相當於180 年遊戲時間每天的訓練」之外的,能幫助我們理解更具體的 AI 實現過程一些端倪。相比於說這些是「強化學習研究的小技巧」,我們更覺得這是「人類教學的小技巧」;相比於「OpenAI Five」訓練中模型自己的探索行為,我們覺得意義更重大的是人類成功地把自己的知識和經驗設法教給了「OpenAI Five」

只使用最終比賽結果作為反饋,過於稀疏,所以 OpenAI 還增加了一些評價人類選手表現的常用指標,比如總財產、擊殺數、死亡數、助攻數、補刀數等等。這些指標上的改進也會與比賽輸贏一起帶來反饋的提升,促進模型的學習(避免長時間停留在無效學習區)。

但同時為了避免 AI 過於關注這些偏向於短期策略的數據,OpenAI 對基於指標的反饋的設計並不是「指標數值越大越好」,而是只鼓勵 AI 在這些方面做到人類玩家的平均水平。這項巧妙的設計同時也可以幫助 AI 學習到不同英雄在團隊作戰中不同定位:以人類玩家的平均水平而言,火槍是核心英雄,應當高傷害輸出、高正補、高人頭、低助攻、低輔助行為,冰女則應當低正補、低人頭、高助攻、高輔助行為。數據指標的不同就可以引領不同的行動策略。

DOTA 中的英雄除了自身的定位,他們之間也是需要合作的,比如抱團殺人拿塔。OpenAI 並沒有為 AI 之間設計顯式的溝通頻道,目前他們設計了一個名為「團隊精神」的超參數,這個 0 到 1 之間的值會反應每個英雄關注自己單獨的反饋和整個團隊的反饋之間的比例。在訓練中 OpenAI 通過退火來優化這個值的具體大小。

大家可能記得,在「OpenAI Five」剛剛發布的時候,它是還不支持肉山的。很快支持了肉山之後,大家都很感興趣 OpenAI 團隊做了哪些改進。在 5 日比賽現場 OpenAI 的研究人員給出了答案:正常的探索中很難出現 5 個英雄都來到 Roshan 坑裡然後打了 Roshan 拿到正面反饋的情況,所以他們引導模型學習的方法是,在訓練過程把 Roshan 的血量設為隨機的,那麼在探索過程中英雄如果遇到了血量很低的 Roshan,顯然就可以輕鬆地獲得高反饋,從而鼓勵 AI 開始關注 Roshan。不過同時 Roshan 也不是隨時都要打的,隨機血量的設定會讓 AI 只有在覺得自己能打過 Roshan 的時候才會打。

從長期學習的角度講,只要有足夠的訓練時間讓 AI 探索各種行為,人類覺得有幫助的各種遊戲操作 AI 最終都是有機會學會的(比如切假腿吃大葯,也比如打肉山),只不過在 AI 做出足夠多的次數之前,都還不能形成有效的學習。那麼人類希望 AI 快速學會的行為,可以通過設計一些正反饋來鼓勵學習;而另一方面,不常出現的局面,也就會像我們對深度學習模型的正常預期一樣,AI 並不知道應該怎麼處理。

關於裝備和眼,OpenAI 的研究人員透露目前都是通過 API 編寫腳本讓 AI 購買的,AI 並不需要自己選擇;尤其是眼,目前腳本的設定是眼只要 CD 就會購買。這樣的設定當然降低了訓練的難度,讓 AI 享有穩定的出裝,同時也給輔助英雄帶來一個有趣的境地:因為有眼就要買,就會佔它們的格子、遲早需要清出來,這成為了一項促使它們插眼的動力;而實際上,如果真的要為「插眼」動作本身設計反饋的話,OpenAI 的研究人員發現還真的很難找到任何指標量化眼插得好不好。所以這樣的設計確實是一種簡單快捷的解決方案。

現在知道了這些 OpenAI 的「教學」方法之後,再回過頭去看看前面提到的「OpenAI Five」的遊戲表現,是否顯得合理多了、親切多了呢?

可以說「OpenAI Five」的開發團隊想了許多辦法鼓勵 AI 用像人類一樣的策略和操作玩 DOTA,但並不對表現的上限做出明確的限制。在人類玩家探索了這個遊戲這麼久之後,藉助人類的經驗快速避開低效的遊戲空間當然是一個好主意。從這個角度講,OpenAI 現階段的「OpenAI Five」就彷彿是早期的 AlphaGo,以從人類的過往遊戲中學習為基礎,然後嘗試提升和創新。

那麼這套系統繼續優化之後在 DOTA2 國際邀請賽(TI)上面對現役職業選手還能有如何的表現,比現在明顯進化明顯全面的(也許是 Master 版)「OpenAI Five」甚至去掉一切約束完全自己探索的「OpenAI Five」Zero 版未來是否還有可能呢?我們拭目以待。

- END -

關注雷鋒網(leiphone-sz)回復2加讀者群交個朋友


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

對標Mobileye,晶元、演算法同步發力,這家新創公司如何跑贏行業巨頭?
CV視覺工程師入職培訓暑期班

TAG:雷鋒網 |