0
本文作者: 楊曉凡 | 2018-08-07 14:53 |
雷鋒網(wǎng) AI 科技評論按:我們都已經(jīng)知道了,OpenAI 的 5v5 DOTA AI 「OpenAI Five」再次完勝人類。
美國時間 8 月 5 日星期天下午,OpenAI 組織的線下比賽(OpenAI 稱其為「OpenAI Five Benchmark」)中一共進行了四局比賽。第一局 5 名現(xiàn)場觀眾組成的路人隊伍被 7 分鐘破中路二塔,9 分鐘上路上高地,12 分鐘破兩路,人頭比 26:4,可以說是完全碾壓。
之后的三局比賽是重頭戲,「OpenAI Five」對陣 4 位前職業(yè)選手(Blitz、Cap、Fogged、Merlini)與 1 位現(xiàn)任職業(yè)選手(MoonMeander)組成的高手隊伍。第一局依然慘敗,21 分鐘破第二路高地,人類選手打出 GG,人頭比 39:8。第二局人類選手選擇了更強的控制、更積極的打法,卻也只堅持到了 24 分鐘,人頭比 41:12。這樣,三局兩勝的比賽就已經(jīng)告負了。
勝負已分,第三局就成為了娛樂局,現(xiàn)場觀眾給「OpenAI Five」選擇了 5 個不怎么厲害的英雄,最后果然讓人類玩家獲得了勝利。
不過除了比賽比分之外,廣大強化學(xué)習(xí)研究人員和人工智能愛好者還有一個深深的疑問就是,這樣的 AI 是如何訓(xùn)練出來的。
毋庸置疑,DOTA 游戲的復(fù)雜程度比圍棋要高,反饋也相當(dāng)稀疏,即便選用了 OpenAI 已經(jīng)開發(fā)得非常成熟的大規(guī)模分布式 PPO 實現(xiàn)「Rapid」,我們也難以直覺上信服「只要有足夠的訓(xùn)練時間就能學(xué)到如此豐富的游戲行為」。比如首先「OpenAI Five」的團隊協(xié)作上表現(xiàn)出了人類一樣的明確的核心和輔助英雄的區(qū)分,比如據(jù) OpenAI 的研究人員介紹「OpenAI Five」也會選擇打肉山,只說這兩件事就都是人類玩家需要經(jīng)過有意識的策略判斷和執(zhí)行才能做出的。強化學(xué)習(xí)算法現(xiàn)在就有這么高層次的思維了?不太可能吧。
下面這些 5 日的比賽中的瞬間也值得玩味:
強化學(xué)習(xí)的范式?jīng)Q定了「能幫助帶來高反饋的行為」會更容易被學(xué)到,而 DOTA 的復(fù)雜就在于,許多行為和最終游戲結(jié)果之間的關(guān)聯(lián)似乎也是若即若離,在大多數(shù)場合下都能起到一錘定音效果的行為也許人類自己都說不清。即便相信 AlphaGo 能在反復(fù)的自我對局中找到更好的策略的人,也不一定相信在 DOTA 如此復(fù)雜的環(huán)境下僅靠自我對局就可以學(xué)到定位、分路、補兵、先手、看肉山、插眼等等系列行為。
結(jié)合 OpenAI 之前放出的一些資料和「OpenAI Five」開發(fā)團隊在比賽現(xiàn)場的訪談,雷鋒網(wǎng) AI 科技評論找到了「計算集群上相當(dāng)于180 年游戲時間每天的訓(xùn)練」之外的,能幫助我們理解更具體的 AI 實現(xiàn)過程一些端倪。相比于說這些是「強化學(xué)習(xí)研究的小技巧」,我們更覺得這是「人類教學(xué)的小技巧」;相比于「OpenAI Five」訓(xùn)練中模型自己的探索行為,我們覺得意義更重大的是人類成功地把自己的知識和經(jīng)驗設(shè)法教給了「OpenAI Five」。
只使用最終比賽結(jié)果作為反饋,過于稀疏,所以 OpenAI 還增加了一些評價人類選手表現(xiàn)的常用指標,比如總財產(chǎn)、擊殺數(shù)、死亡數(shù)、助攻數(shù)、補刀數(shù)等等。這些指標上的改進也會與比賽輸贏一起帶來反饋的提升,促進模型的學(xué)習(xí)(避免長時間停留在無效學(xué)習(xí)區(qū))。
但同時為了避免 AI 過于關(guān)注這些偏向于短期策略的數(shù)據(jù),OpenAI 對基于指標的反饋的設(shè)計并不是「指標數(shù)值越大越好」,而是只鼓勵 AI 在這些方面做到人類玩家的平均水平。這項巧妙的設(shè)計同時也可以幫助 AI 學(xué)習(xí)到不同英雄在團隊作戰(zhàn)中不同定位:以人類玩家的平均水平而言,火槍是核心英雄,應(yīng)當(dāng)高傷害輸出、高正補、高人頭、低助攻、低輔助行為,冰女則應(yīng)當(dāng)?shù)驼a、低人頭、高助攻、高輔助行為。數(shù)據(jù)指標的不同就可以引領(lǐng)不同的行動策略。
DOTA 中的英雄除了自身的定位,他們之間也是需要合作的,比如抱團殺人拿塔。OpenAI 并沒有為 AI 之間設(shè)計顯式的溝通頻道,目前他們設(shè)計了一個名為「團隊精神」的超參數(shù),這個 0 到 1 之間的值會反應(yīng)每個英雄關(guān)注自己單獨的反饋和整個團隊的反饋之間的比例。在訓(xùn)練中 OpenAI 通過退火來優(yōu)化這個值的具體大小。
大家可能記得,在「OpenAI Five」剛剛發(fā)布的時候,它是還不支持肉山的。很快支持了肉山之后,大家都很感興趣 OpenAI 團隊做了哪些改進。在 5 日比賽現(xiàn)場 OpenAI 的研究人員給出了答案:正常的探索中很難出現(xiàn) 5 個英雄都來到 Roshan 坑里然后打了 Roshan 拿到正面反饋的情況,所以他們引導(dǎo)模型學(xué)習(xí)的方法是,在訓(xùn)練過程把 Roshan 的血量設(shè)為隨機的,那么在探索過程中英雄如果遇到了血量很低的 Roshan,顯然就可以輕松地獲得高反饋,從而鼓勵 AI 開始關(guān)注 Roshan。不過同時 Roshan 也不是隨時都要打的,隨機血量的設(shè)定會讓 AI 只有在覺得自己能打過 Roshan 的時候才會打。
從長期學(xué)習(xí)的角度講,只要有足夠的訓(xùn)練時間讓 AI 探索各種行為,人類覺得有幫助的各種游戲操作 AI 最終都是有機會學(xué)會的(比如切假腿吃大藥,也比如打肉山),只不過在 AI 做出足夠多的次數(shù)之前,都還不能形成有效的學(xué)習(xí)。那么人類希望 AI 快速學(xué)會的行為,可以通過設(shè)計一些正反饋來鼓勵學(xué)習(xí);而另一方面,不常出現(xiàn)的局面,也就會像我們對深度學(xué)習(xí)模型的正常預(yù)期一樣,AI 并不知道應(yīng)該怎么處理。
關(guān)于裝備和眼,OpenAI 的研究人員透露目前都是通過 API 編寫腳本讓 AI 購買的,AI 并不需要自己選擇;尤其是眼,目前腳本的設(shè)定是眼只要 CD 就會購買。這樣的設(shè)定當(dāng)然降低了訓(xùn)練的難度,讓 AI 享有穩(wěn)定的出裝,同時也給輔助英雄帶來一個有趣的境地:因為有眼就要買,就會占它們的格子、遲早需要清出來,這成為了一項促使它們插眼的動力;而實際上,如果真的要為「插眼」動作本身設(shè)計反饋的話,OpenAI 的研究人員發(fā)現(xiàn)還真的很難找到任何指標量化眼插得好不好。所以這樣的設(shè)計確實是一種簡單快捷的解決方案。
現(xiàn)在知道了這些 OpenAI 的「教學(xué)」方法之后,再回過頭去看看前面提到的「OpenAI Five」的游戲表現(xiàn),是否顯得合理多了、親切多了呢?
可以說「OpenAI Five」的開發(fā)團隊想了許多辦法鼓勵 AI 用像人類一樣的策略和操作玩 DOTA,但并不對表現(xiàn)的上限做出明確的限制。在人類玩家探索了這個游戲這么久之后,借助人類的經(jīng)驗快速避開低效的游戲空間當(dāng)然是一個好主意。從這個角度講,OpenAI 現(xiàn)階段的「OpenAI Five」就仿佛是早期的 AlphaGo,以從人類的過往游戲中學(xué)習(xí)為基礎(chǔ),然后嘗試提升和創(chuàng)新。
那么這套系統(tǒng)繼續(xù)優(yōu)化之后在 DOTA2 國際邀請賽(TI)上面對現(xiàn)役職業(yè)選手還能有如何的表現(xiàn),比現(xiàn)在明顯進化明顯全面的(也許是 Master 版)「OpenAI Five」甚至去掉一切約束完全自己探索的「OpenAI Five」Zero 版未來是否還有可能呢?我們拭目以待。
雷鋒網(wǎng) AI 科技評論報道。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。