在8月12日,埃隆·馬斯克旗下旨在研究通用人工智能解決方案的公司OpenAI,所訓練的一款人工智能算法在著名的電子競技游戲Dota2國際邀請賽The International中,參與了1V1比賽環(huán)節(jié),并壓倒性的擊敗了頂級電子競技選手Dendi。
在alphago擊敗了柯潔以后,Deepmind多次公開表達了希望準備要去嘗試挑戰(zhàn)星際爭霸等電子競技項目,目前Deepmind確實也聯(lián)合暴雪公司在開展這項嘗試。因為相比圍棋這種完全信息靜態(tài)博弈游戲(即雙方都能獲得局面的所有信息,下棋異步),電子競技游戲具備非完全信息屬性(雙方只掌握視野里的部分信息),而且競技過程是實時動態(tài)進行的。其規(guī)則和特征復雜度遠超圍棋,因此對人工智能的局面評估、決策能力要求顯著更高。另外,相比圍棋這種高度抽象的游戲(只有落子一個動作),電子競技游戲性質上更類似人類現(xiàn)實世界對抗/戰(zhàn)爭的簡化模擬,涉及了大量資源調(diào)配、部隊構成選擇、擴張策略、攻防對抗等復雜但具有現(xiàn)實意義的博弈,如能在電子競技對抗中取得劃時代的里程碑,則代表了人工智能邁向通用化又進了一大步。
這就是為何Deepmind、OpenAI等頂尖人工智能公司都不約而同希望挑戰(zhàn)電子競技的根本原因,但大家沒想到的是,人工智能這么快就在電子競技界取得了成功。
由于目前OpenAI尚未公布其Dota2人工智能的設計細節(jié),接下來我們通過分析和推測,力圖揭秘其背后的奧秘所在。
背景知識:Dota 2游戲規(guī)則
Dota 2是一款類似于大眾熟知的王者榮耀式的5V5競技游戲,每邊分別由5位玩家選擇一名英雄角色,目標以為守護己方遠古遺跡并摧毀敵方遠古遺跡,通過提升等級、賺取金錢、購買裝備和擊殺對方英雄等諸多競技手段。
這次OpenAI選擇了挑戰(zhàn)較為簡單的1V1挑戰(zhàn),即OpenAI僅控制1名英雄,和頂級電子競技選手Dendi操縱的1名英雄進行對抗。
比賽中,采取dota 2“一塔兩殺”的規(guī)則,即雙方玩家只允許出現(xiàn)在中路,任意一方摧毀對方中路首個防御塔,或者擊殺對方英雄兩次則取得勝利。游戲中,每隔30秒雙方會獲得一波電腦控制的較弱部隊進入前線互相攻擊,玩家殺死這些小兵可以獲得金幣,金幣用于購買裝備物品以強化英雄能力,同時消滅對方部隊可獲取到經(jīng)驗,經(jīng)驗獲取到一定程度則可提升英雄等級,使得英雄能力更強,并獲得技能點升級新的技能。同時雙方各自還有一個初期威力強大的防御塔在身后,因此雙方一般的對抗策略是盡量控制兵線在靠近己方防御塔的地方,同時努力殺死對方小兵(正補)并防止對手這樣做(反補),獲取經(jīng)驗和金幣后升級技能,并試圖通過攻擊和技能擊殺對方或摧毀對方防御塔。
OpenAI的決策空間
上述是dota 2 1v1競技的簡單介紹,以供不了解dota 2的讀者有個初步印象,接下來我們來分析一下在dota 2 1v1競技中的決策空間及決策連續(xù)性這兩個問題,這是與alphago完全不一樣的存在,也是人工智能+電子競技有趣的地方。
決策空間
相比圍棋只有一個落子動作(選擇一個空位下子),dota 2 1v1中的決策空間相對非常復雜,玩家每分每秒需要在以下的動作中做出決策:
移動:移動英雄到一個特定的位置;
攻擊:控制英雄攻擊一個特定的目標(包括對方英雄);
正補:當對方小兵瀕死時,做出最后一擊殺死小兵以獲得金錢;
反補:同理當我方小兵瀕死時,做出最后一擊殺死小兵防止對方獲得金錢,并減少對方獲得的經(jīng)驗值;
施法:使用英雄主動技能攻擊一個特定的目標;
取消攻擊/施法:英雄攻擊/施法前有一個短暫的硬直動作,在攻擊/施法動作真正做出前取消,從而達到誘騙對方的目的;
兵線控制:每隔30秒雙方會獲得一波電腦控制的小兵,通過攻擊對方英雄激活對方小兵仇恨從而引起小兵跑來攻擊自己英雄,或者用自己英雄的身體阻攔己方小兵前進,從而達到控制兵線靠近己方防御塔,獲得競技優(yōu)勢;
購買物品:用獲得的金錢在超過100種不同價格的物品中購買需要的裝備或消耗品;
使用物品:使用血瓶等消耗品補充自身;
當然,上述只是列舉出了比較重要的戰(zhàn)術動作,在實際競技過程中還有大量的如取消攻擊后搖、放風箏、控符、技能組合等高級動作。
決策連續(xù)性
圍棋是一個典型的異步競技游戲,選手在做出每一個決策前具有充分的決策時間,是典型的馬爾科夫過程,但dota 2是一款實時競技游戲,選手需要動態(tài)做出實時決策,這點是dota 2和圍棋的另外一個不同。
那么OpenAI是怎么解決連續(xù)決策問題的?目前OpenAI尚未公布他們dota人工智能的細節(jié)。在這個問題上,OpenAI很有可能是通過考慮人類選手的決策效率,將決策過程離散化。Dota 2頂級選手的APM(action per minute,每分鐘做出的動作)可達到200以上,眾所周知人來大腦的反應速度是有極限的,一般頂級電競選手在反應速度上都有異于常人的天賦,如果按比賽中觀測到的APM來算,人類的極限可能在1秒鐘做出4到5個動作決策,因此OpenAI如果每隔0.2秒做出一個動作決策的話,就能有超越人類的表現(xiàn)。
因此我這部分的猜測是,OpenAI很可能選擇了200ms以內(nèi)的某個值,在決策效率(更快的反應速度)和決策深度中取得了平衡,將dota 2 1v1比賽轉變?yōu)轭愃茋宓鸟R爾科夫決策過程。
OpenAI算法猜測:先驗知識+增強學習
目前OpenAI對他們dota人工智能算法的細節(jié)披露相當有限,只是初步表示了他們并未使用任何模仿學習(Imitation Learning)或者類似于alphago的樹搜索技術,純粹使用了self-play即俗稱 “左右互搏”的增強學習(reinforcement learning)方式訓練。模仿學習是一種有監(jiān)督的機器學習方法,如alphago最初的落子器就是通過圍棋對戰(zhàn)平臺KGS獲得的人類選手圍棋對弈棋局訓練出來的。而OpenAI并沒有使用這種方法,可能主要原因還是較難獲得dota 2 1v1的大量對局數(shù)據(jù),由于dota 2中有100多個英雄角色可選擇,每個英雄的屬性和技能均不一樣,意味著要對每個英雄做優(yōu)化訓練,如OpenAI在本次The International賽事中,只會使用一名英雄角色Shadow Field(影魔),從人類對局中獲得海量(如10萬局以上)高水平Shadow Field的1v1對局錄像數(shù)據(jù)其實并不容易。
使用增強學習去令機器學會玩一款游戲,我們不禁馬上聯(lián)想起谷歌DeepMind使用RL學習來玩打磚塊的經(jīng)典案例。DeepMind模型僅使用像素作為輸入,沒有任何先驗知識來輔助AI進行學習,算法Agent通過和環(huán)境S的交互,一開始選擇隨機動作A(向左還是向右移動滑板,動多少),并得到游戲分數(shù)的變化作為獎勵,然后Agent繼續(xù)如此玩下去,游戲結束后Agent得到最后游戲總分R,按照這種方式不斷讓Agent玩N局游戲,可以得到了一系列訓練樣本(S,A,R),通過訓練一個神經(jīng)網(wǎng)絡去預測在狀態(tài)S下,做動作A可能最后得到R,這樣接下來Agent不再隨機做出決策A,而是根據(jù)這個函數(shù)去玩,經(jīng)過不斷的迭代,Agent將逐漸掌握玩打磚塊的訣竅,全程不需要人工制定任何的腳本規(guī)則。
但是,在dota 2之中,或許很難采取類似學習打磚塊那樣從隨機行動開始的“大智若愚”方式去做增強學習,因為對于打磚塊而言,每次動作A對于得分R的影響都是明確可量化的,但在dota 2中,這將會是一個非常長的鏈條。如以基本動作“補刀”為例:
補刀即對方小兵瀕死時,控制英雄做出最后一擊殺死小兵獲得金錢,不是己方英雄親自殺死小兵不會獲得金錢。如果從隨機行動開始,即AI胡亂攻擊隨機的目標,Agent要聯(lián)系起補刀行為和最終勝利之間的關聯(lián)是很困難的:補刀行為——小兵死亡——獲得額外金錢——用金錢購買正確的物品——正確的物品增強英雄能力——提升獲勝概率,完全不借助外界先驗知識,僅通過模擬兩個Agent“左右互搏”,從隨機動作開始去做增強學習,其收斂速度會異常的慢,很可能哪怕模擬幾百萬局都不見得能學會“補刀”這個基本動作,但補刀僅僅是dota這個游戲入門的開始。
然而,根據(jù)OpenAI宣稱,他們僅僅用了兩周就完成了算法的訓練,或許這里基本可以肯定,OpenAI使用了外界先驗知識。
實際上,Dota 2游戲的開發(fā)商VALVE有一個dota 2機器人腳本框架,這個腳本框架下的機器人會熟練做出各種dota的基本動作,如補刀、釋放技能、攔兵、追殺、按照腳本購買物品等,部分如補刀等依靠反應速度的動作可以展現(xiàn)得非常難纏。只不過機器人動作的執(zhí)行非常機械,主要由于預設腳本的設定難以應對信息萬變的實際競技,使得機器人總體水平根本無法接近一般玩家,更別說跟職業(yè)頂級玩家相比了。
腳本機器人的優(yōu)勢是戰(zhàn)術動作的執(zhí)行,如上述增強學習很難馬上學會的“補刀”動作腳本機器人天生就會,屬于先驗知識,而且可以憑借無反應時間和對目標血量和攻擊力的精確計算做得非常完美,缺點在于行動決策弱智。這樣如果祭出“組合拳”,使用腳本機器人執(zhí)行基本戰(zhàn)術動作,通過增強學習訓練的神經(jīng)網(wǎng)絡負責進行決策,就像《射雕英雄傳》中,武功高強但雙目失明的梅超風騎在郭靖身上,長短互補一舉擊敗眾多高手那樣,豈不完美?
我想OpenAI很可能也確實是這樣做的,首先優(yōu)化腳本機器人,將原子化的戰(zhàn)術動作A的腳本做得盡善盡美,充分發(fā)揮機器的微操優(yōu)勢;同時通過增強學習訓練一個神經(jīng)網(wǎng)絡,計算目前局勢S下(包括場面小兵和雙方英雄的狀態(tài)和站位、技能CD和魔法值情況等),執(zhí)行那個戰(zhàn)術動作A得到的預期最終reward最高,即A=P(Si),并且在較短的離散空間內(nèi),比如200ms不斷進行決策并通過腳本執(zhí)行動作A,最終使得OpenAI在大局觀和微操上都取得盡善盡美。當然,由于OpenAI自身還沒公布算法細節(jié),上述方法只是一個最有可能的猜測,通過先驗知識+增強學習獲得一個單挑能力很強的Solo智能。
如果這個猜測正確的話,那么OpenAI在dota 2中通過1v1方式擊敗頂級職業(yè)選手這事情,遠遠沒有alphago此前取得的成就來得困難。因為OpenAI在本次比賽中的表現(xiàn),充其量等于訓練了一個類似alphago落子器那樣的應用而已。
而真正的挑戰(zhàn),在于Dota 2的5V5對抗中。
展望
目前,OpenAI通過增強學習,訓練出了一個單挑solo能力非常強悍的算法,但是不得不說這個算法離Dota 2的5V5對抗中取勝還有非常大的距離。
在Dota 2的5V5對抗中,每方的5名玩家需要在英雄類型的合理搭配上、進攻策略上(如是速攻還是拖后期)、資源分配上(游戲中獲得的金幣根據(jù)局面購買何種物品)、局部戰(zhàn)術等諸多因素上均保持順暢溝通、并緊密配合才能取得對抗的勝利,每場比賽通常要大約進行30分鐘以上,其過程的隨機性非常強。
因此可見,OpenAI要在5v5中取得對人類的勝利,遠遠不是用1v1算法控制5個角色這么簡單,5個在區(qū)域戰(zhàn)場上單挑無敵的勇夫,并不意味著最終的勝利,接下來OpenAI的任務,就是讓他們不要成為彼此“豬一樣的隊友”,而團隊合作、對局面的宏觀決策才是真正具有挑戰(zhàn)意義的地方,同時也是人工智能從alphago這種機械性很強的專用智能,逐漸邁向通用智能的嘗試。而OpenAI團隊目前已經(jīng)表示,他們正在準備向dota 2 5v5中全面擊敗最強人類玩家戰(zhàn)隊的目標進發(fā),并計劃在明年接受這個挑戰(zhàn)。
今天Dota 2 1v1的一小步,明年5v5的一大步,讓我們密切期待!
- 蜜度索驥:以跨模態(tài)檢索技術助力“企宣”向上生長
- 性能之光 年度電競性能旗艦iQOO 13發(fā)布 3999元起
- 曝各大廠商正在籌備7000mAh電池新機:OPPO/一加或率先領銜
- 蘋果在印度的iPhone出口額激增,半年內(nèi)接近60億美元
- 蘋果M5芯片預計2025年底推出,將采用臺積電3nm制程
- 蘋果發(fā)布2024款24英寸iMac:搭載M4芯片,起售價10999元
- 蘋果iOS/iPadOS 18.1亮點更新:通話錄音功能上線,Apple Intelligence初登場
- 三季度國內(nèi)市場智能手機出貨量報告:蘋果iPhone排名第二,vivo領跑
- 蘋果或將于明年發(fā)布致敬iMac G4設計的智能家居顯示器
- 三季度中國學習平板賣出122.6萬臺,同比大增38%
- vivo X200 Pro拍照炫光問題引關注 沖擊高端不能忽視產(chǎn)品質量
免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內(nèi)容或斷開相關鏈接。