簡評(píng):從 3 月份的連小學(xué)生都打不過,到 8 月份的戰(zhàn)勝 Sumail 等一系列世界豪強(qiáng),OPENAI 這幾個(gè)月發(fā)生了什么泥技?最可怕的是,每一天的它都能戰(zhàn)勝前一天的自己星虹。你可能覺得它是電腦才強(qiáng)零抬,但事實(shí)上它的可怕不在于反應(yīng)而是在于學(xué)習(xí)能力。
前幾天我們的 AI 2-0 戰(zhàn)勝了世界頂尖的的 Dota2 選手宽涌,前世界冠軍 Dendi,比賽采用 1 對(duì) 1 的標(biāo)準(zhǔn)錦標(biāo)賽規(guī)則蝶棋。
這次的結(jié)果顯示卸亮,自我學(xué)習(xí)的 AI 能夠自發(fā)的從遠(yuǎn)低于人類水平成長到超越人類的水平,只要給與其足夠的計(jì)算玩裙。在短短幾個(gè)月兼贸,我們的系統(tǒng)從最底層的 Rank 排名成長到了擊敗職業(yè)的程度。受監(jiān)督深度學(xué)習(xí)系統(tǒng)能夠做到的程度與訓(xùn)練數(shù)據(jù)保持正相關(guān)(即數(shù)據(jù)有多好它的能力就有多強(qiáng))吃溅,但自學(xué)習(xí)(self-play)系統(tǒng)溶诞,隨著計(jì)算的累計(jì),可以在現(xiàn)有的數(shù)據(jù)上進(jìn)一步提高决侈。
從上圖可以看到:隨著時(shí)間的推移螺垢,我們機(jī)器人(bot)的 TrueSkill 評(píng)級(jí)(類似一個(gè)國際象棋的段位),從添加新功能到算法改進(jìn)到擴(kuò)展赖歌,系統(tǒng)的每個(gè)部分都有改進(jìn)枉圃。這個(gè)圖表是令人驚訝的線性的,意味著團(tuán)隊(duì)隨著時(shí)間的推移成倍地改進(jìn)了機(jī)器人庐冯。
Dota2 Solo MMR 分布圖: 有 15% 的人低于 1.5K MMR(Dota2 的排位分?jǐn)?shù))孽亲,58% 的人低于3K,只有 0.01% 的人高于 7.5K展父。
OPENAI Dota2 bot 進(jìn)度的時(shí)間表如下:
3 月 1 日:我們的第一個(gè)傳統(tǒng)的強(qiáng)化學(xué)習(xí)成果返劲,讓 bot 使用游俠卓爾(小黑)學(xué)習(xí)放風(fēng)箏。
5 月 8 日:1.5K 分段的測試員說他比 bot 進(jìn)步快多了栖茉。
6 月 初:擊敗了1.5K 分段測試員篮绿。
6 月 30 日:贏了大部分 3K 分?jǐn)?shù)段的測試員。
7 月 8 日:很艱難的第一次戰(zhàn)勝 7.5K 分?jǐn)?shù)段的半職業(yè)選手測試員衡载。
8 月 7 日:3-0 戰(zhàn)勝 Blitz(6.2K 前職業(yè)選手)搔耕;2-1 戰(zhàn)勝 Pajkatt(8.5K 職業(yè)選手),3-0 戰(zhàn)勝 CC&C(8.9K 職業(yè)選手)。大家都同意弃榨,只有 Sumail(現(xiàn)役超強(qiáng)職業(yè)選手菩收,被譽(yù)為巴基斯坦之光)才能知道如何擊敗 bot。
8 月 9 日:10-0 擊敗 Arteezy鲸睛,頂級(jí)職業(yè)玩家娜饵,10K 分?jǐn)?shù)。他說恐怕 Sumail 也搞不定 bot官辈。
8 月 10 日:6-0 擊敗 Sumail箱舞,8.3K 職業(yè)選手,最強(qiáng)單挑王之一拳亿,Sumail 直呼不可戰(zhàn)勝晴股。后來 Sumail 挑戰(zhàn) 8 月 9 日(回滾到了前一天的 bot),Sumail 2-1 獲勝肺魁。
8 月 11 日:在錦標(biāo)賽的表演賽中以 2-0 擊敗 Dendi电湘,7.3K 分?jǐn)?shù),前世界冠軍鹅经,廣受老玩家喜愛寂呛。11 日的 bot 對(duì)戰(zhàn) 10 日的 bot,有超過 60% 的勝率瘾晃。
下一步任務(wù)
雖然 1V1 也是錦標(biāo)賽的一個(gè)項(xiàng)目,但是我們把下一個(gè)目標(biāo)定在教會(huì) AI 打全場 5V5蹦误。
bot 的操作視角:
視野:被設(shè)計(jì)與人類一樣劫拢,兵線,小雞胖缤,附近的地形尚镰。游戲部分可觀察,陰影和人類一樣哪廓,也會(huì)失去視野狗唉。
操作:bot 操作 API,選擇與人類一樣的頻率進(jìn)行操作涡真,包括移動(dòng)位置分俯,攻擊,或者使用道具哆料。
反饋:機(jī)器人獲得獎(jiǎng)勵(lì)和傷害缸剪,如健康,金錢东亦,最后一擊等指標(biāo)與人類一樣杏节。
國際邀請(qǐng)賽
bot 的訓(xùn)練途徑是少部分的「教練」和自我學(xué)習(xí),選手們和 bot 在周一到周四訓(xùn)練奋渔。有個(gè)周一的晚上镊逝,Pajkatt 戰(zhàn)勝了 bot,因?yàn)樗昧四О艏稻ǎ谑俏覀儼涯О籼砑拥?bot 訓(xùn)練的白名單撑蒜。
在周三的凌晨一點(diǎn),我們測試最新版的 bot玄渗,發(fā)現(xiàn)它在第一波兵線就損失了很多血座菠。我們認(rèn)為出了一些問題,需要回滾藤树,但接下來讓我們大吃一驚浴滴,原來第一波掉血是為了以弱示敵,它現(xiàn)在學(xué)會(huì)了勾引戰(zhàn)術(shù)岁钓,以讓他機(jī)器人進(jìn)行攻擊巡莹!而下一步,其他機(jī)器人學(xué)會(huì)了抵制勾引戰(zhàn)術(shù)甜紫。我們馬上把它和周一的那個(gè)機(jī)器人(可以使用魔棒的版本)進(jìn)行合并,下午四點(diǎn) bot 要和 Arteezy 進(jìn)行對(duì)戰(zhàn)骂远,我們對(duì)站前的 20 分鐘緊急上線了新版本囚霸。
在和 Arteezy 對(duì)戰(zhàn)之后,我們更新了移動(dòng)模塊激才,讓 TrueSkill 又增加了一點(diǎn)拓型。星期四要和 SumaiL 比賽,我們進(jìn)一步訓(xùn)練瘸恼,在比賽前又增加了 TrueSkill 兩點(diǎn)劣挫。在比賽中,Sumail 發(fā)現(xiàn) bot 學(xué)會(huì)了卡視野东帅。這導(dǎo)致了 bot 學(xué)會(huì)了新技能:在人類視野之外使用魔杖压固。
后來 Arteezy 與我們的 7.5K 測試員打了一場比賽,最后 Arteezy 獲得了勝利靠闭,但是我們的測試員仍讓他吃驚不已帐我,因?yàn)闇y試員使用了從 bot 身上學(xué)習(xí)到的很不常見的戰(zhàn)術(shù)。(園長:有沒有想到 AlphaGo 的「點(diǎn)三三」)愧膀。Arteezy 表示這個(gè)戰(zhàn)術(shù)是 Paparazi 曾經(jīng)對(duì)他使用過的一個(gè)戰(zhàn)術(shù)拦键,只是測試員使用的不太熟練。
Bot 漏洞
雖然 Sumail 直呼 bot 「不可戰(zhàn)勝」(unbeatable),但在非常特定和非常規(guī)的情況下莲镣,bot 仍然無法判斷清形勢福稳。在國際賽期間,bot 在局域網(wǎng)內(nèi)參加對(duì)戰(zhàn)瑞侮,打了超過 1000 盤比賽的圆,然后也出現(xiàn)了很多的意外事件。
成功戰(zhàn)勝 bot 利用了三個(gè)漏洞:
推塔:當(dāng)兵線過來時(shí)半火,勾兵越妈,引幾波兵線追自己,讓己方小兵推塔钮糖。(園長:1V1 獲勝條件梅掠,三人頭或兩塔)
淬毒之珠+風(fēng)靈之紋:這個(gè)組合給你巨大的移動(dòng)優(yōu)勢,會(huì)讓你快速拿到一血店归。你要利用這個(gè)思路來殺死 bot 一次阎抒。
一級(jí)點(diǎn)影壓:這需要許多技巧,但是有幾個(gè) 6-7K 高分玩家消痛,一級(jí)點(diǎn)影壓且叁,成功在短時(shí)間內(nèi)擊中 3-5 炮加平A,實(shí)現(xiàn)一血秩伞。
遇到這些問題并且解決就好逞带,就像是和 Pajkatt 對(duì)戰(zhàn)我們添加了魔杖一樣,修復(fù)就好了纱新。但是對(duì)于 5V5展氓,這樣的問題就根本不是漏洞,我們需要一個(gè)能夠應(yīng)對(duì)各種突發(fā)和怪異狀態(tài)的系統(tǒng)脸爱。
5V5
1V1很復(fù)雜遇汞,但和5V5相比,就是小溪對(duì)比海洋阅羹。為了解決 5V5 的復(fù)雜度問題勺疼,我們要進(jìn)一步提高 AI 的限制。
一個(gè)成熟的方案是早 5V5 早期捏鱼,克隆學(xué)習(xí)执庐。Dota2 每天有大約一百萬場公開賽。這些比賽的重播被存儲(chǔ)在 Valve 的服務(wù)器上兩周导梆。自從去年 11 月以來轨淌,我們一直在下載每個(gè)專家級(jí)別的比賽重播迂烁,并且已經(jīng)收集了 580 萬游戲的數(shù)據(jù)集(每場游戲約 45 分鐘,10 人參與)递鹉。我們使用 OpenDota 來發(fā)現(xiàn)這些重播盟步,并捐贈(zèng) 12000 美元(10 年的籌款目標(biāo))來支持該項(xiàng)目。
我們有更多的想法躏结,招聘工程師(不需要是專家却盘,但必須對(duì)機(jī)器學(xué)習(xí)感興趣)和研究人員幫助我們實(shí)現(xiàn)想法。感謝 Microsoft Azure 和 Valve 的支持媳拴。