1
本文作者: 雪莉?休斯敦 | 2017-01-17 15:31 |
OpenAI的開源人工智能測試平臺迎來一位新成員——《俠盜獵車手 5》(GTA V),它由Craig Quite的DeepDrive項(xiàng)目搭建和維護(hù)。你只需要購買正版游戲,然后Universe代理就可以在一個(gè)高保真的虛擬世界開始駕駛汽車了。雷鋒網(wǎng)此前也做過相關(guān)的覆蓋和報(bào)道。
那么開發(fā)者需要注意哪些地方呢?一起和雷鋒網(wǎng)來看看吧!
首先,打開GTA V服務(wù)器。然后你需要將Universe的Python庫裝好(如果已經(jīng)事先安裝了,就不需要升級了)?,F(xiàn)在,你可以通過運(yùn)行下面的程序掛載代理。除了鍵盤和鼠標(biāo),代理還可以使用虛擬搖桿。
import gym
import universe # register Universe environments into Gym
from universe.spaces import joystick_event
env = gym.make('gtav.SaneDriving-v0')
env.configure(remotes='vnc://$host:$port') # point to the GTA V Universe server
observation_n = env.reset()
while True:
steer = joystick_event.JoystickAxisXEvent(-1) # turn right
throttle = joystick_event.JoystickAxisZEvent(-1) # go in reverse
# Alternatively, use WASD to steer: ('KeyEvent', 'w', True)
action_n = [[steer, throttle] for _ in observation_n]
observation_n, reward_n, done_n, info = env.step(action_n)
env.render()
提供給代理的視角
DeepDrive是一個(gè)平臺,用于建立開放式自動(dòng)駕駛汽車的AI。DeepDrive通過使用建??蚣芎蛢?nèi)存檢測技術(shù)來重新調(diào)整GTA V,使其成為一個(gè)自動(dòng)駕駛汽車的模擬器;除此之外,他可以提供預(yù)訓(xùn)練的自動(dòng)駕駛汽車代理和數(shù)據(jù)庫來訓(xùn)練?,F(xiàn)有的DeepDrive環(huán)境和代理現(xiàn)在編譯在Universe最上層。
DeepDrive的起源比Universe早,因此,通過它可以很好的看出在Universe出現(xiàn)前和出現(xiàn)后,現(xiàn)代游戲上特別鮮明的對比。最早的DeepDrive必須使用Windows操作系統(tǒng)的電腦并且需要一整天的時(shí)間打開游戲和游戲代理。而現(xiàn)在,打開只需20分鐘,操作系統(tǒng)也可支持Linux或者OS X,還與舊版本的Universe代理兼容(不過,如果要實(shí)現(xiàn)最好的效果,還是需要使用虛擬搖桿,而不是傳統(tǒng)的鍵盤和鼠標(biāo))。
1. GTA V環(huán)境的源代碼和AMI;
2. 一個(gè)預(yù)訓(xùn)練的驅(qū)動(dòng)代理,具有Caffe和TensorFlow實(shí)現(xiàn)案例。
集成以上兩者能夠支持選擇攝像頭機(jī)號和視場偏移,還包括通過強(qiáng)化學(xué)習(xí)訓(xùn)練實(shí)現(xiàn)獎(jiǎng)賞功能,能夠讓代理學(xué)會(huì)避免碰撞,計(jì)算目的地距離和停留在路上。
在Universe出現(xiàn)之前,DeepDrive使用DirectX按鍵來捕獲屏幕并且需要使用C++與Caffe對接來寫代理?,F(xiàn)在的游戲則運(yùn)行在windows平臺下的網(wǎng)絡(luò)虛擬機(jī)上,并和Websockets和VNC進(jìn)行通訊。因此,代理可在Linux或者M(jìn)ac的平臺上跑,并且可以實(shí)現(xiàn)在任何ML框架的寫動(dòng)作。
Universe通過VNC傳輸像素,鼠標(biāo)和鍵盤數(shù)據(jù),通過Websocket傳輸其他數(shù)據(jù)。為了實(shí)現(xiàn)搖桿的方向和節(jié)流閥的控制,我們將搖桿的動(dòng)作通過Websockets傳給環(huán)境數(shù)據(jù)。(圖片 via Craig Quiter)
就如同Universe發(fā)布說明中提到的,客戶端在公有云上最多使用20fps。GTA V為研究人員提供了訪問一個(gè)豐富多彩多樣性的環(huán)境在測試和開發(fā)AI的環(huán)境。GTA V的島嶼設(shè)置大小幾乎是洛杉磯市的1/5,并且給開發(fā)者提供了廣泛的場景進(jìn)行系統(tǒng)測試。另外,系統(tǒng)提供257種不同的汽車、7 種類型的自動(dòng)駕駛車和 14 種天氣,在單個(gè)模擬器里使用這些數(shù)據(jù)進(jìn)行排列組合,可以實(shí)現(xiàn)大量不同的虛擬場景。
GTA V中49平方英尺的島嶼San Andreas為研究人員提供了培訓(xùn)AI穿過熙熙攘攘的大都市地區(qū),蜿蜒的山路,平坦的沙漠,和高速公路的能力。
在GTA V+Universe環(huán)境下也可以收集大量的標(biāo)記數(shù)據(jù):你可以用下面的GTA V引擎收錄2D或3D模擬的塊狀信息、汽車、行人、自動(dòng)駕駛車、動(dòng)物、路面、交通標(biāo)志分割標(biāo)簽,或任何一個(gè)GTA V的其他7000 +對象。環(huán)境通過真實(shí)世界的車輛,MODS的道路建設(shè),甚至也可以延伸到整個(gè)城市。
這次開源包含基礎(chǔ)代理,是通過模仿學(xué)習(xí) 21 小時(shí)(約 60 萬圖像)游戲畫面進(jìn)行駕駛訓(xùn)練的 AI (內(nèi)置的游戲 AI 是很好的初始目標(biāo):它的性能優(yōu)于一個(gè)典型的人,因?yàn)樗梢栽L問內(nèi)部游戲狀態(tài),雖然 AI 仍然會(huì)犯錯(cuò)誤,如在高速公路上進(jìn)行U轉(zhuǎn)彎)?;A(chǔ)代理在各種不同的天氣條件下駕駛,對交通作出反應(yīng)并保持其車道。這種預(yù)訓(xùn)練的代理是我們最終目標(biāo)的起始點(diǎn)!
其他科研人員的研究成果已經(jīng)展現(xiàn)了通過對GTA V中的可視系統(tǒng)進(jìn)行訓(xùn)練從而對現(xiàn)實(shí)世界中的圖像進(jìn)行分類的可行性。GTA V與Universe融合則使得通過增強(qiáng)學(xué)習(xí)技術(shù)實(shí)現(xiàn)虛擬自駕使變得更加簡單。
GTA V 與 Universe的集成自動(dòng)繼承了 Universe 為了可比性和共享性而提供的所有工具和語義,能夠很簡單地對 GTA V 上的代理進(jìn)行性能基準(zhǔn)測試。Universe+GAT V 可以單獨(dú)使用,也可以作為使用 Universe 代理訪問的一個(gè)環(huán)境。雷鋒網(wǎng)也期待在未來,能有更多像GTA V+Universe這樣的社區(qū)所提供的環(huán)境。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。