0
雷鋒網(wǎng)AI科技評論按:本文作者Danny Lange,圖普科技編譯自O'REALLY。
“游戲開發(fā)”是一項非常復(fù)雜的任務(wù),并且需要耗費(fèi)大量的人力資源。圖形藝術(shù)家、故事敘述者和軟件工程師需要共同努力,才能打造出比較好的游戲環(huán)境、游戲情節(jié)和人物角色行為。通常,游戲是以傳統(tǒng)代碼的形式出現(xiàn)的“硬線行為”的微妙組合,也是以大量規(guī)則的形式出現(xiàn)的更具響應(yīng)性的行為集合。在過去的幾年間,數(shù)據(jù)導(dǎo)向型的“機(jī)器學(xué)習(xí)”已經(jīng)逐漸取代了一些企業(yè)(比如亞馬遜、Netflix和優(yōu)步)中的規(guī)則導(dǎo)向型系統(tǒng)。在Unity,我們探究了“機(jī)器學(xué)習(xí)”技術(shù)的使用,包括“深度學(xué)習(xí)”在文本創(chuàng)作中的應(yīng)用,以及“深度加強(qiáng)學(xué)習(xí)”在游戲開發(fā)中的應(yīng)用。在機(jī)器學(xué)習(xí)和人工智能的浪潮中,我們看到了巨大的希望和發(fā)展空間。
對于那些數(shù)據(jù)導(dǎo)向型的大企業(yè)來說,機(jī)器學(xué)習(xí)已經(jīng)不算是新興技術(shù)了。2007年,Netflix發(fā)起了一個“過濾算法”的公開賽,為能夠預(yù)測電影用戶評分的最佳過濾算法專門設(shè)立了“Netflix獎”,這正是我們現(xiàn)在所經(jīng)歷的人工智能媒體報道浪潮的開端。不過早在2000年年初,一些大企業(yè)為了謀求更好的發(fā)展,已經(jīng)對“數(shù)據(jù)導(dǎo)向型決策”和“機(jī)器學(xué)習(xí)”有所涉獵了。為了充分了解顧客們的偏好,進(jìn)而將顧客偏好轉(zhuǎn)化為更高的銷售額,亞馬遜一直在潛心研究他們的“推薦算法”。除了亞馬遜的“推薦算法”之外,廣告技術(shù)是另一個較早利用“機(jī)器學(xué)習(xí)”來提高網(wǎng)站點(diǎn)入率的領(lǐng)域。近年來,機(jī)器學(xué)習(xí)已經(jīng)擴(kuò)展至更多的行業(yè),并且不斷趨于成熟。
舉例來說,我們在前面提到過的“推薦算法”最初只是作簡單的推薦方案,如今已經(jīng)發(fā)展到能夠通過“探索”和“開發(fā)”尋求更多的信息。而亞馬遜和Netflix在使用他們的推薦系統(tǒng)進(jìn)行數(shù)據(jù)收集時所面臨的挑戰(zhàn)是,如果只向客戶展示推薦頻率高的產(chǎn)品,而不展示其他的產(chǎn)品,那么他們獲得的客戶偏好信息就不全面。而解決這一問題的方法是:將純開發(fā)行為轉(zhuǎn)變?yōu)榧尤肓颂剿髟氐拈_發(fā)行為。最近,由于同時具備了“開發(fā)”和“探索”能力,像“上下文老虎機(jī)”(contextual bandits)這樣的算法能夠更好地了解客戶的未知信息,也因此越來越受歡迎。相信我,“上下文老虎機(jī)” (contextual bandits)算法肯定會在你瀏覽亞馬遜商城的時候隱藏了一些網(wǎng)頁。我們在“Unity博客”上發(fā)表了一篇文章,文章講述了“上下文老虎機(jī)” (contextual bandits)算法的強(qiáng)大功能,從中你可以看到該算法的互動演示。
在2015年,DeepMind進(jìn)一步發(fā)展了“上下文老虎機(jī)” (contextual bandits)算法,并且將其從一個深度神經(jīng)網(wǎng)絡(luò)與加強(qiáng)學(xué)習(xí)大規(guī)模結(jié)合的系統(tǒng)上發(fā)布出來。該系統(tǒng)僅靠一些作為輸入的原始像素和分?jǐn)?shù)就能以超人類的水平掌握各種范圍的Atari 2600游戲。Deepmind的研究人員將“開發(fā)”和“探索”的概念完全對立,“上下文老虎機(jī)” (contextual bandits)算法不太擅長行為學(xué)習(xí),但是“深度加強(qiáng)學(xué)習(xí)”卻能夠?qū)W習(xí)用于最大化“未來累積紅利”的行為順序,換句話來說,深度加強(qiáng)學(xué)習(xí)會學(xué)習(xí)那些能夠?qū)崿F(xiàn)“長期價值”(LTV)最優(yōu)的行為。在一些Atari游戲中,“長期價值”表現(xiàn)在那些通常為人類玩家保留的策略發(fā)展上。
在Unity,我們給自己提出了這樣一個問題:如何讓一只雞學(xué)會穿過繁忙的道路而不被迎面而來的汽車撞上,同時還要收集道路上的禮包?我們采用了一種與DeepMind實驗非常類似的通用“加強(qiáng)學(xué)習(xí)”算法,并且規(guī)定如果小雞撿到禮包獲得正分,被車撞到則獲得負(fù)分。除此之外,我們還給小雞設(shè)定了四個動作:左移、右移、前進(jìn)和后退。依靠這些原始像素和分?jǐn)?shù)輸入,以及幾個非常簡單的指令,小雞在不足六個小時的訓(xùn)練后就達(dá)到了超人類水平的性能。
那么我們究竟是如何從實際應(yīng)用的角度做到這一點(diǎn)的呢?其實很簡單。我們使用了一組Python APIs,將Unity游戲與運(yùn)行于“亞馬遜網(wǎng)絡(luò)服務(wù)器”(AWS)的TensorFlow服務(wù)相聯(lián)系,TensorFlow是谷歌在2005年首次發(fā)布的深度學(xué)習(xí)框架。仔細(xì)觀看視頻中,你會發(fā)現(xiàn)小雞在訓(xùn)練的初期階段主要是探索如何不被汽車撞上(探索階段),隨著訓(xùn)練的深入,小雞開始學(xué)習(xí)收集禮包(開發(fā)階段)。值得關(guān)注的是,這個學(xué)習(xí)系統(tǒng)的一個重要能力就是處理從未遇到的狀況。游戲中汽車的出現(xiàn)和禮包的放置都是完全任意的,而盡管小雞已經(jīng)經(jīng)過了幾個小時的訓(xùn)練,它還是會遇到之前訓(xùn)練中沒有經(jīng)歷過的情境。有了我們的Python API,讀取游戲框架和游戲內(nèi)部狀態(tài),使用機(jī)器學(xué)習(xí)對游戲進(jìn)行反向操作就變得非常簡單了。
這只游戲小雞的訓(xùn)練給亞馬遜、Netflix和優(yōu)步的發(fā)展提供了一些靈感,他們可以運(yùn)用相同的技術(shù)來優(yōu)化其客戶服務(wù)。
想象一下,假如要訓(xùn)練一個“非玩家游戲角色”(NPC),而不是對其行為進(jìn)行編碼,那么游戲開發(fā)者就需要創(chuàng)建一個游戲場景。在這個場景中,我們將會利用與Python API相聯(lián)的“云加強(qiáng)學(xué)習(xí)”來訓(xùn)練NPC。這個游戲場景可以是完全虛擬合成的,也可以在其中加入一些人類玩家。當(dāng)訓(xùn)練到一定程度,這個NPC的性能已經(jīng)相當(dāng)不錯的時候,游戲開發(fā)者就能利用另一組Unity API將TensorFlow模型直接嵌入他們的游戲中,這樣一來,游戲就不需要連接TensorFlow的云服務(wù)了。
有些游戲開發(fā)者可能會說:“早在10到15年前,我們就已經(jīng)這么做過了?!钡菚r代已經(jīng)發(fā)生了巨大的變遷。盡管我們已經(jīng)發(fā)明了“遞歸神經(jīng)網(wǎng)絡(luò)”(RNN),比如用于序列學(xué)習(xí)的“長短時記憶”(LSTM)和用于空間特征學(xué)習(xí)的“卷積神經(jīng)網(wǎng)絡(luò)”(CNN),但是由于計算能力的欠缺,以及大規(guī)模、精細(xì)軟件框架的缺失,這些神經(jīng)網(wǎng)絡(luò)在實際應(yīng)用方面,如游戲開發(fā),仍面臨巨大的阻礙。
“深度加強(qiáng)學(xué)習(xí)”在游戲開發(fā)中的運(yùn)用盡管仍處于初期發(fā)展階段,但是我們清楚地知道它將很可能成為一項顛覆性的游戲技術(shù)。像TensorFlow這樣成熟的機(jī)器學(xué)習(xí)框架正在不斷降低游戲開發(fā)者和機(jī)器學(xué)習(xí)研究者的入門門檻。機(jī)器學(xué)習(xí)現(xiàn)在正不斷進(jìn)入企業(yè)的各個角落,那么我們完全有可能在未來游戲中的發(fā)現(xiàn)機(jī)器學(xué)習(xí)的影子。
想要了解更多關(guān)于用深度學(xué)習(xí)開發(fā)數(shù)字體驗的訊息,請查看Danny Lange于2017年9月17至20日在美國洛杉磯“人工智能大會”上發(fā)表的《利用“深度學(xué)習(xí)”將游戲、VR和AR引入現(xiàn)實生活》。雷鋒網(wǎng)也將做持續(xù)關(guān)注。
via oreilly,雷鋒網(wǎng)AI科技評論
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。