死亡也是可以預(yù)測的嗎?如果可以預(yù)見未來,那么最遠(yuǎn)能預(yù)測多久以后呢?約克大學(xué)的研究人員最新研究結(jié)果表明,通過AI模型提取游戲角色特征,如當(dāng)前狀態(tài)、裝備、英雄技能、位置等因素,可在5秒內(nèi)預(yù)測該角色的死亡時間,準(zhǔn)確率最高為0.725。
如果能夠預(yù)知死亡,哪怕只有5秒,你會做什么呢?
近日,約克大學(xué)的研究者用AI預(yù)測死亡。不過不是人類的死亡,而是Dota 2中英雄的陣亡概率。
論文標(biāo)題:Time to Die: Death Prediction in Dota 2 using Deep Learning
論文地址:
https://arxiv.org/pdf/1906.03939.pdf
Dota 2由Valve公司發(fā)行,是一款5v5在線競技游戲。每個玩家操控一個英雄,分為敵對雙方進(jìn)行廝殺。終極目標(biāo)是在對方?jīng)]有推倒己方塔之前,推倒對方的塔。在推塔過程中,不可避免的會發(fā)生擊殺對方英雄、或者被對方英雄擊殺的情況。
擊殺是一個被鼓勵的行為,也是觀眾最愿意看的環(huán)節(jié)。它體現(xiàn)了一名Dota選手的操控力、判斷力以及反應(yīng)敏捷度。通常不會出現(xiàn)追到天涯海角、不弄死對方不罷休的情況。玩家會根據(jù)敵我雙方的血量、己方輸出和對方承受力、回血速度等進(jìn)行預(yù)判,爭取秒殺。
Dota 2平均每場比賽包含80000幀,每個英雄能執(zhí)行170000個可能的動作;游玩家在每幀上平均會完成10000個動作;玩家可以撿起、購買上百種裝備。
成功完成一次擊殺,不僅要考慮己方輸出值和對方的血量。因?yàn)楣糨敵鍪窃谝欢ǖ姆秶鷥?nèi)波動的,針對不同的甲、回血速度、裝備的道具等,輸出會有不同程度的折扣。
比如一個英雄的回血速度是每秒1點(diǎn),他剛好裝備了一件加速回血的裝備,可以將回血速度提升10%,那么就有可能出現(xiàn)本來剛剛好能夠秒殺、但由于回血速度加快,導(dǎo)致技能放在對方英雄身上的同時對方回上了一點(diǎn)血,順利逃脫。
最終,AI面對的是一個超過20000維度的復(fù)雜狀況。
而AI解決這種復(fù)雜問題的方式也很簡單粗暴,就是獲取盡可能多的數(shù)據(jù)。研究人員想辦法獲取了Valve公司12月5日之前5000場職業(yè)比賽,以及5000場半職業(yè)比賽的replay。
他們的語料庫在預(yù)處理和誤差計(jì)算后共包含7311個文件,并通過在4-tick采樣周期(對應(yīng)0.133秒的游戲時間)內(nèi)記錄屬性集數(shù)值,然后又從語料庫中提取數(shù)據(jù)并轉(zhuǎn)化為時間序列。
基于語料庫中的數(shù)據(jù),研究者為每個英雄提取了287個特征,比如血量、輸出值等。研究人員最終得出結(jié)論:時間、玩家當(dāng)前狀態(tài)(如血量和護(hù)甲)、可激活裝備、英雄技能、走位、與最近的敵人和己方防御塔的距離、以及可見性歷史是導(dǎo)致玩家死亡的重要因素。其中英雄的相對力量值和特定時間內(nèi)在地圖上的位置,是能否被秒殺的最關(guān)鍵因素。
那么接下來,就是創(chuàng)建一個能夠捕獲相關(guān)數(shù)據(jù)的特征集。研究者首先從相對力量值和在特定時間內(nèi)在地圖上的位置開始,慢慢構(gòu)建并完善特征集,最終為每個英雄集齊287個特征的特征集。
下表給出了一些重要特征的詳細(xì)描述。
可見性,指的是游戲雙方均需知道對方的英雄是否在視野內(nèi),或者是否在攻擊范圍內(nèi)。一旦脫離視野,對方英雄就可能出現(xiàn)在地圖的任何位置,所以需要給英雄加上這個特征。
10個英雄共產(chǎn)生2870個輸入和5760萬個單個數(shù)據(jù)點(diǎn),將其相乘后喂給機(jī)器學(xué)習(xí)算法,分別保留10%的數(shù)據(jù)用于驗(yàn)證和測試,然后開始預(yù)測英雄的陣亡概覽。
實(shí)驗(yàn)表明,預(yù)測的時候越短,成功率越高,0-5秒內(nèi)的平均預(yù)測精確度達(dá)到了0.5447,預(yù)測的時間越往后,精度越低。參看下圖:
模型詳解
研究者使用具有權(quán)重共享的深度前饋神經(jīng)網(wǎng)絡(luò)作為模型,輸入包含每位英雄的特征。在最大的特征集中,每位英雄具有287個特征,因此10位英雄共有2870個輸入;同時具有10個獨(dú)立的持續(xù)輸出,對應(yīng)表每個英雄在未來5秒內(nèi)死亡的概率。
網(wǎng)絡(luò)架構(gòu)
本質(zhì)上是創(chuàng)建一個子網(wǎng)絡(luò),為英雄特性學(xué)習(xí)一個新的、更密集的表征。連接層附帶來自每個共享層的輸出,為網(wǎng)絡(luò)結(jié)構(gòu)的最后一部分(一個全連接網(wǎng)絡(luò))創(chuàng)建一個輸入張量。每個隱藏層的輸出都使用RELU函數(shù),網(wǎng)絡(luò)的最后一個激活函數(shù)是Sigmoid。
特征集
由于游戲復(fù)雜度高,研究者不確定該網(wǎng)絡(luò)是否可以利用所有的特征類別。為了深入了解,研究者創(chuàng)建了三個獨(dú)立的特征集,并利用三個獨(dú)立的超參數(shù)搜索運(yùn)行三個訓(xùn)練步驟:
最小的特征集(每個英雄15個特征)只包含當(dāng)前HP、錢、位置、英雄和塔的距離特征
中等特征集(每個英雄109個特征)包含除了英雄ID和能力特征之外的所有特征
大型特征集包含全部的特征,全部287個特征
訓(xùn)練網(wǎng)絡(luò)
對于每一個特征集,研究者使用基于隨機(jī)搜索的探索來確定最佳超參數(shù),用于:層數(shù)、每層的神經(jīng)元數(shù)、學(xué)習(xí)率和批大小。
結(jié)果
表現(xiàn)最佳的模型達(dá)到了0.5447的平均精度。
但是聰明的新智元讀者肯定會問了,5秒時間一眨眼就過去了,這么短的時間內(nèi)能做什么?夠我扼住命運(yùn)的喉嚨讓他反轉(zhuǎn)嗎?
預(yù)測英雄死亡可能對增加游戲的趣味性或者競技性沒什么用,對Dota玩家貌似也沒有什么實(shí)質(zhì)的作用。但是對于游戲解說就非常關(guān)鍵了!5秒的提前量已經(jīng)可以基本不漏掉任何精彩擊殺鏡頭了。
-
算法
+關(guān)注
關(guān)注
23文章
4622瀏覽量
93068 -
AI
+關(guān)注
關(guān)注
87文章
31158瀏覽量
269502 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8428瀏覽量
132778
原文標(biāo)題:別推塔了快回城,AI預(yù)測你的英雄5秒后就要死了!
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論