我是來(lái)自阿里巴巴認(rèn)知計(jì)算實(shí)驗(yàn)室的龍海濤,今天主要跟大家聊一下“《星際爭(zhēng)霸》與人工智能”的話題。首先我會(huì)介紹一下為什么我們會(huì)選擇《星際爭(zhēng)霸》這個(gè)游戲來(lái)做人工智能前沿性的研究,然后是我們?cè)谶@方面初步的嘗試和成果,最后我會(huì)跟大家探討一下,未來(lái)我們?cè)凇缎请H爭(zhēng)霸》這個(gè)游戲里面還可以繼續(xù)去研究的一些課題。
為什么選擇《星際爭(zhēng)霸》作為人工智能算法研究的環(huán)境
首先可能大家有疑問(wèn),為什么選擇《星際爭(zhēng)霸》這個(gè)游戲來(lái)做我們AI研究的一個(gè)平臺(tái)。我們這個(gè)認(rèn)知計(jì)算實(shí)驗(yàn)室目前是掛靠在搜索事業(yè)部下面,我們團(tuán)隊(duì)的成員基本都是做搜索、廣告、推薦、算法這樣的背景,之前我們主要做的是CTR預(yù)估的優(yōu)化,還有CVR轉(zhuǎn)化率的一些優(yōu)化,從去年“雙11”之后,我們想在認(rèn)知智能方面做一些前沿性的探索,我們一致認(rèn)為游戲是一個(gè)研究AI算法的絕佳平臺(tái),首先它是非常干凈的平臺(tái),可以源源不斷的去產(chǎn)生數(shù)據(jù),而且迭代非常快,就是說(shuō)它的智能是可以觀測(cè)到的。另外,它離真實(shí)的場(chǎng)景和應(yīng)用是比較近的,并且《星際爭(zhēng)霸》十多年來(lái)就是一個(gè)非常好的受大家歡迎的游戲,積累了非常非常多的數(shù)據(jù),這樣我們可以從之前的經(jīng)驗(yàn)去學(xué)習(xí),這也是我們考慮的一個(gè)方面。最重要的,它對(duì)AI來(lái)講存在著非常大的挑戰(zhàn),非常復(fù)雜,主要有以下六點(diǎn):
第一點(diǎn),它是一個(gè)不完全信息下的環(huán)境
比起像圍棋或者象棋這種大家都可能看得見的、完全信息下的博弈,《星際爭(zhēng)霸》是有戰(zhàn)爭(zhēng)迷霧的,所以必須去探路、偵查、了解對(duì)手的信息,從而在不確定的情況下去做智能的決策,這個(gè)是相對(duì)其他游戲來(lái)講非常不同或者挑戰(zhàn)更大的一個(gè)方面。
第二點(diǎn),它有非常巨大的搜索空間
圍棋的搜索空間大概在10^170,《星際爭(zhēng)霸》在128×128的地圖上并且人口上限是400個(gè)unit的情況下,它的搜索空間大概在10^1685,比圍棋高10個(gè)數(shù)量級(jí),這還是在沒(méi)有算上其他狀態(tài)(比如說(shuō)血量等等)的情況下。所以現(xiàn)有的任意一個(gè)單一的算法是根本不可能解決《星際爭(zhēng)霸》里面所有的問(wèn)題的。
第三點(diǎn),它是一個(gè)即時(shí)對(duì)抗類的游戲
下圍棋可以有一分鐘或者兩分鐘的思考時(shí)間,但是在《星際爭(zhēng)霸》里,如果說(shuō)正常游戲大概是1秒鐘24幀,那么你必須在42毫秒之內(nèi)做出迅速的反應(yīng),而且這個(gè)反應(yīng)不是一個(gè)action,而是一系列的action,每個(gè)unit都會(huì)采取行動(dòng),這對(duì)我們算法的性能、效率、工程上的考慮都是非常大的挑戰(zhàn)。
第四點(diǎn),它需要智能體有一個(gè)長(zhǎng)期的規(guī)劃
不是一個(gè)下意識(shí)的動(dòng)作,是需要有記憶,需要考慮這場(chǎng)戰(zhàn)爭(zhēng)應(yīng)該采取什么樣的策略,中盤應(yīng)該怎么考慮,發(fā)展到后期又應(yīng)該采取什么樣的策略,而且這個(gè)策略的計(jì)劃是根據(jù)偵查到的所有的信息動(dòng)態(tài)去調(diào)整,這對(duì)人工智能的挑戰(zhàn)是非常非常大的。
第五點(diǎn),時(shí)間、空間上的推理
在《星際爭(zhēng)霸》里面要玩好的話,必須基于時(shí)序上、空間上去做推理,比如說(shuō)地理位置的優(yōu)勢(shì),坦克如果架在哪里可能會(huì)比較好,如果開分機(jī)在哪個(gè)位置去開會(huì)比較有利,甚至于軍營(yíng)造在什么地方,這些對(duì)于AI來(lái)說(shuō)都需要進(jìn)行一個(gè)空間上的推理。
第六點(diǎn),多個(gè)智能體協(xié)作
《星際爭(zhēng)霸》最高有400個(gè)unit,所以其實(shí)是需要多個(gè)智能體協(xié)作的,需要多個(gè)兵種去配合,這也是對(duì)AI來(lái)講一個(gè)很大的挑戰(zhàn)。
《星際爭(zhēng)霸》里面AI的研究或者競(jìng)賽不是最近才出現(xiàn)的,其實(shí)在2010年的時(shí)候已經(jīng)有大量的研究人員在研究《星際爭(zhēng)霸》里面的AI,主要是以ALBERTA大學(xué)為主的研究力量,包括一些老師和學(xué)生,而且有三個(gè)固定的競(jìng)賽和一些循環(huán)賽,大家在上面PK。這一類AI的話是Classic AI,也就是沒(méi)有學(xué)習(xí)能力、沒(méi)有模型、也不需要訓(xùn)練,而是基于預(yù)編程的規(guī)則,所以不是非常靈活,這種算法下的AI其實(shí)離真正超過(guò)人類或者打敗人類目標(biāo)還是非常非常遠(yuǎn)的,它們可以打敗內(nèi)置的AI,但是還遠(yuǎn)遠(yuǎn)比不上人類的專業(yè)選手,甚至連普通選手基本上也打不過(guò)。
另外一類是Modern AI,也就是以智能體自主學(xué)習(xí)為主的算法,從去年開始這個(gè)領(lǐng)域火起來(lái)了,一方面就是,阿里巴巴還有倫敦大學(xué)學(xué)院,最近我們?cè)诤献鞯幕凇缎请H爭(zhēng)霸1》里面做一些新的AI的嘗試。
另外就是Google Deep Mind,去年11月份他們和暴雪合作,會(huì)基于《星際爭(zhēng)霸2》去開放一個(gè)API,讓大家基于《星際爭(zhēng)霸2》上開發(fā)自己的AI算法,另外像Facebook他們也有一些團(tuán)隊(duì)做這方面的研究。
深度強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)是非常接近人類學(xué)習(xí)的一個(gè)學(xué)習(xí)機(jī)制,通過(guò)這個(gè)Agent跟環(huán)境的交互,在交互當(dāng)中學(xué)習(xí)。Agent會(huì)觀察周圍的環(huán)境,然后環(huán)境會(huì)給它一些反饋,Agent根據(jù)狀態(tài)和反饋會(huì)做出一些動(dòng)作,這些動(dòng)作會(huì)或多或少的影響這個(gè)環(huán)境,環(huán)境會(huì)根據(jù)這個(gè)動(dòng)作反饋一些Reward,Reward可能是獎(jiǎng)勵(lì)的也可能是懲罰的,Agent根據(jù)這樣的試錯(cuò),不斷的去調(diào)整。Agent背后有兩個(gè)概念非常重要,一個(gè)是不停的優(yōu)化策略,什么樣的狀況下采用什么樣的Action是合理的,另外一個(gè)是用價(jià)值函數(shù)評(píng)估當(dāng)前的狀態(tài)它的價(jià)值是怎么樣的。
強(qiáng)化學(xué)習(xí)跟深度學(xué)習(xí)結(jié)合,就叫深度強(qiáng)化學(xué)習(xí)。因?yàn)樯疃葘W(xué)習(xí)或者神經(jīng)網(wǎng)絡(luò)是非常適合去做這種表示學(xué)習(xí)的,可以表示成一個(gè)復(fù)雜的函數(shù)。policy或者value用神經(jīng)網(wǎng)絡(luò)去逼近的話,在工程上或者效率上是非常好的提升。以AlphaGo的例子來(lái)講,在訓(xùn)練的時(shí)候分成三個(gè)階段,第一個(gè)階段,從人類的棋譜里面學(xué)習(xí)人類的先驗(yàn)的知識(shí),通過(guò)監(jiān)督學(xué)習(xí)學(xué)習(xí)一個(gè)還好的、勝率比較高的policy network,第二個(gè)階段,基于監(jiān)督學(xué)習(xí)學(xué)習(xí)出來(lái)的policy network,然后自我對(duì)弈,通過(guò)policy gradient再去優(yōu)化policy network,這就比之前學(xué)出來(lái)的policy network要更好。第三階段,再用學(xué)出來(lái)的強(qiáng)化學(xué)習(xí)版的policy network自我對(duì)弈,得到一個(gè)最佳的。
多智能體協(xié)作
其實(shí)目前為止所有的AI的智能體比較成功的一些應(yīng)用基本都是這種單個(gè)的Agent,其實(shí)對(duì)于人類來(lái)講,協(xié)作智能是智能體的一個(gè)非常大的方面,我們的祖先智人為什么可以統(tǒng)治地球,其中一個(gè)很大的原因就是,他們學(xué)會(huì)了大規(guī)模的協(xié)作,而且是非常靈活的協(xié)作??梢韵胂笠幌?,未來(lái)全部都是這種AI的智能體,它們能不能自我學(xué)習(xí)到人類水平協(xié)作的一個(gè)智能呢?
我們用了一個(gè)詞Artificial Collective Intelligence,這對(duì)現(xiàn)實(shí)和未來(lái)都有非常大的意義。比如手機(jī)淘寶,現(xiàn)在絕大部分流量背后都是一個(gè)算法推薦出來(lái)的,不管廣告還是搜索其背后都是AI的智能體在做,目前這些智能體都是各出各的優(yōu)化,或者推出自己的商品。
其實(shí)我們?cè)诳紤]的是,比如手機(jī)淘寶首頁(yè)里邊有愛逛街、猜你喜歡這種位置,那么他們能不能夠協(xié)同地去推出一些這樣的商品,從而可以讓用戶的體驗(yàn)最好,讓平臺(tái)的價(jià)值最大化。其實(shí)以后可能都是算法經(jīng)濟(jì)、AI經(jīng)濟(jì),都是這種AI的Agent,比如滿大街可能都是自動(dòng)駕駛的無(wú)人車,他們之間是不是也需要一些協(xié)作,讓交通出行效率能夠達(dá)到最大化。
最近我們?cè)凇缎请H爭(zhēng)霸》里的微觀戰(zhàn)斗場(chǎng)景下,提出來(lái)一個(gè)多智能體雙向協(xié)作網(wǎng)絡(luò),關(guān)于這個(gè)網(wǎng)絡(luò)的詳細(xì)內(nèi)容大家感興趣可以下載我們的paper看一下,這個(gè)工作是我們跟UCL一起合作完成的,用來(lái)探索或者解決多智能體協(xié)作的問(wèn)題。
這是我們提出來(lái)的BiCNet(Multiagent Bidirectionally-Coordinated Net)的網(wǎng)絡(luò)結(jié)構(gòu),它其實(shí)也是比較經(jīng)典的結(jié)構(gòu),分成兩部分,左邊這部分是一個(gè)policy的網(wǎng)絡(luò),就是說(shuō)從下往上會(huì)把《星際爭(zhēng)霸》的環(huán)境進(jìn)行一些抽象,包括地圖的信息、敵方單位的血量、攻擊力,還有我方unit的信息,抽象出來(lái)形成一個(gè)共享的State,經(jīng)過(guò)一個(gè)雙向的RNN這樣的網(wǎng)絡(luò),進(jìn)行充分的雙向的溝通,再往上每個(gè)Agent去得出自己的Action,比如我到某一個(gè)地方去攻擊誰(shuí)。左邊這個(gè)policy network就是對(duì)于當(dāng)前的狀態(tài)應(yīng)該采取什么行動(dòng),右邊就是一個(gè)value的network,根據(jù)前面policy得出來(lái)的Action,還有抽象出來(lái)的State進(jìn)行評(píng)估,Q值大概是多少,做出一個(gè)預(yù)判。當(dāng)采取這些行動(dòng)以后,這個(gè)環(huán)境就會(huì)給出相應(yīng)的反饋,一些Reward來(lái)說(shuō)明這步打的好還是不好,然后會(huì)通過(guò)一個(gè)Reword從右邊這個(gè)網(wǎng)絡(luò)下來(lái),去反向傳播更新里面的參數(shù)。
這個(gè)網(wǎng)絡(luò)有幾點(diǎn)比較好的設(shè)計(jì):
第一,它的scalability比較好,《星際爭(zhēng)霸》里面打仗的時(shí)候隨時(shí)可能會(huì)有傷亡,這個(gè)Agent死掉以后這個(gè)網(wǎng)絡(luò)不是還可以正常的工作,包括源源不斷涌現(xiàn)的新的Agent進(jìn)來(lái),是不是也是可以工作。我們看到雙向網(wǎng)絡(luò)參數(shù)是共享的,所以是不會(huì)有影響的。
第二,我們?cè)谥虚g用了這樣一個(gè)雙向網(wǎng)絡(luò)以后,其實(shí)是在一個(gè)效率和性能之間做了比較好的平衡,如果用全連接網(wǎng)絡(luò)的話,計(jì)算量會(huì)過(guò)大。但是我們用一個(gè)雙向網(wǎng)絡(luò),前面告訴你大概要做什么樣的Action,回來(lái)再告訴前面的人他們采取了什么樣的Action,一結(jié)合,最后算出來(lái)應(yīng)該追加的策略是什么樣子,從實(shí)際來(lái)看效果也是非常好的。
其實(shí)我們認(rèn)知計(jì)算實(shí)驗(yàn)室在設(shè)計(jì)一些算法或者模型的時(shí)候會(huì)參考神經(jīng)科學(xué)里邊目前的一些研究成果,我們認(rèn)為研究認(rèn)知心理學(xué)、大腦、類腦的研究或者神經(jīng)科學(xué),對(duì)于做人工智能應(yīng)該有兩個(gè)好處。
第一個(gè)好處就是,神經(jīng)科學(xué)具有啟發(fā)性,就是當(dāng)你在一些具體的問(wèn)題或者場(chǎng)景里面去思考的時(shí)候,會(huì)遇到一些問(wèn)題,這些問(wèn)題可能是從來(lái)沒(méi)有人解過(guò)的,如果神經(jīng)科學(xué)、交叉科學(xué)里有類似的這種結(jié)構(gòu)或者算法,這些可能會(huì)很好的解決你的問(wèn)題,帶來(lái)算法上的一些啟發(fā)。
反過(guò)來(lái)另外一點(diǎn),神經(jīng)科學(xué)也可以幫你做驗(yàn)證,你設(shè)計(jì)一個(gè)算法以后,如果神經(jīng)科學(xué)里面有類似的結(jié)構(gòu),那么很大概率這個(gè)算法是可以工作的。
其實(shí)我們的Actor-Critic網(wǎng)絡(luò)在人腦里面也是有相應(yīng)的對(duì)應(yīng),左邊就是Actor-Critic這個(gè)網(wǎng)絡(luò),右邊是我們的大腦,大腦里邊紋狀體就是負(fù)責(zé)Actor、Critic兩部分,這個(gè)紋狀體腹部是負(fù)責(zé)Critic這部分,背部是負(fù)責(zé)Actor這部分,Reward下來(lái)以后我們大腦會(huì)計(jì)算,這與預(yù)期的Reward有什么差距,這個(gè)差距就會(huì)以多巴胺的形式影響到Actor,下一次你就要按照這個(gè)去調(diào)節(jié),讓下一次Action做的更好一點(diǎn)。
其實(shí)多巴胺體現(xiàn)在我們的算法里面就是TD error,也就是我們算的Reward的誤差,這其實(shí)是一個(gè)很好的對(duì)應(yīng)。
實(shí)驗(yàn)平臺(tái)和實(shí)際效果
前面是網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì),為了實(shí)現(xiàn)這樣一個(gè)算法模型,我們搭了一個(gè)實(shí)驗(yàn)平臺(tái),這個(gè)實(shí)驗(yàn)平臺(tái)就是基于Facebook的TorchCraft,它是把《星際爭(zhēng)霸1》和Torch封裝在一起,但是我們比較習(xí)慣于TensorFlow和Python,所以在上面做了一個(gè)封裝,再把這套架構(gòu)放在這個(gè)OpenAI標(biāo)準(zhǔn)接口里邊,大家有興趣可以試一下。
這個(gè)架構(gòu)主要分成兩部分,對(duì)應(yīng)剛才說(shuō)的強(qiáng)化學(xué)習(xí):
左邊是Environment,其實(shí)就是《星際爭(zhēng)霸》這個(gè)游戲,包括引擎,還有里面的DLL,DLL基于BWEnv,這是一個(gè)官方認(rèn)可的DLL?;谶@個(gè)BWEnv DLL把內(nèi)部的狀態(tài)、指令封裝起來(lái),其實(shí)這就是一個(gè)Server;
右邊就是Agent,是一個(gè)Client,這樣你可以連上很多的Agent玩這個(gè)游戲。中間是傳遞的信息,Environment會(huì)把它每一幀的數(shù)據(jù)吐給Agent,Agent會(huì)把每一幀的數(shù)據(jù)抽象成狀態(tài),然后再把這個(gè)State送到model里面去學(xué)習(xí)或者做預(yù)測(cè),反過(guò)來(lái)會(huì)預(yù)測(cè)出來(lái)一些Action,這些Action會(huì)封裝成指令,再發(fā)回給《星際爭(zhēng)霸》的Environment,比如說(shuō)開槍或者逃跑,這個(gè)是我們搭的這樣一個(gè)《星際爭(zhēng)霸》的實(shí)驗(yàn)平臺(tái)。
下面是我們這個(gè)實(shí)驗(yàn)平臺(tái)做到的一些效果,總結(jié)起來(lái)有五種可觀測(cè)的智能。
第一種,可以配合走位。
這個(gè)例子就是三個(gè)槍兵打一個(gè)Super的小狗,這個(gè)小狗是我們編輯過(guò)的,血量非常大,一下子打不死。三個(gè)槍兵打一個(gè)小狗,a/b這兩個(gè)圖,在訓(xùn)練的早期其實(shí)是沒(méi)有學(xué)會(huì)太多的配合意識(shí),所以他們走位的時(shí)候經(jīng)常會(huì)發(fā)生碰撞,經(jīng)過(guò)可能幾萬(wàn)輪的訓(xùn)練以后,他們慢慢學(xué)會(huì)了配合隊(duì)友的走位,這樣大家撞不到一起。
第二個(gè)場(chǎng)景,邊打邊撤
這個(gè)配合就是邊打邊撤,Hit and Run這樣的技能,這個(gè)例子就是三個(gè)槍兵打一個(gè)狂徒,利用遠(yuǎn)程攻擊的優(yōu)勢(shì)來(lái)消滅敵人。
第三種,掩護(hù)攻擊
剛才三個(gè)槍兵打一個(gè)狂徒的時(shí)候是同時(shí)撤退,但是在這個(gè)場(chǎng)景下有些槍兵可能會(huì)去吸引這個(gè)小狗或者去阻擋一下,讓另外兩個(gè)槍兵抓住這個(gè)時(shí)間空隙來(lái)消滅這個(gè)小狗。非常有意思的一點(diǎn)就是,這種協(xié)作不是在任何情況下都會(huì)出現(xiàn)的,如果你的環(huán)境不是那么的有挑戰(zhàn)性,可能它就是簡(jiǎn)單的Hit and Run就足夠了,如果我們的環(huán)境更嚴(yán)苛一點(diǎn),比如這個(gè)小狗血量調(diào)高,攻擊力從3調(diào)到4,或者血量從210調(diào)到270,發(fā)現(xiàn)它又學(xué)會(huì)了另一種更高級(jí)的掩護(hù)攻擊的協(xié)作,這就非常有意思了。
第四種,分組的集火攻擊
這個(gè)例子是15個(gè)槍兵打16個(gè)槍兵,大家想想應(yīng)該怎么取勝?策略可能3個(gè)槍兵或者4個(gè)槍兵自動(dòng)組成一組,這3個(gè)槍兵先干掉一個(gè)、再干掉一個(gè),就是把火力集中,但又不是15個(gè)槍兵打1個(gè),而把火力分散一點(diǎn),最后可能我們這方還剩6個(gè)槍兵,對(duì)方可能全部消滅掉了,這個(gè)都是通過(guò)很多輪次的學(xué)習(xí)之后他們自動(dòng)去學(xué)到的這樣一個(gè)配合。
第五種,不光是槍兵之間學(xué)會(huì)配合,還可以多兵種配合,異構(gòu)的Agent的配合。
這個(gè)例子就是,兩個(gè)運(yùn)輸機(jī),每個(gè)運(yùn)輸機(jī)帶一個(gè)坦克去打一頭大象,正常來(lái)講,兩個(gè)坦克打一個(gè)大象肯定是打不過(guò)的,加上運(yùn)輸機(jī)的配合以后,大象攻擊某一個(gè)坦克的時(shí)候,運(yùn)輸機(jī)會(huì)及時(shí)的把這個(gè)坦克收起來(lái),讓大象撲空,同時(shí)另外一個(gè)運(yùn)輸機(jī)趕緊把它的坦克放下去,去攻擊大象,這樣一來(lái)一回可能大象一點(diǎn)便宜占不到就被消滅了,這個(gè)是基于我們之前的做出BiCNet一個(gè)協(xié)作的展現(xiàn)。
關(guān)于未來(lái)的一些思考
但是《星際爭(zhēng)霸》里其實(shí)不光是微觀戰(zhàn)斗,其實(shí)更難的是宏觀的策略方面,怎么樣“宏觀+微觀”打一整個(gè)游戲,這樣其實(shí)我們也有一些思考,可能不是特別成熟,但是我們可以一起探討一下。
每一個(gè)層級(jí)設(shè)定一個(gè)Goal
要玩一個(gè)full-game,如果是簡(jiǎn)單的單層次的強(qiáng)化學(xué)習(xí),可能解決不了問(wèn)題,因?yàn)閍ction space實(shí)在太大了,一個(gè)比較自然的做法就是做層級(jí)式的方式,可能上層是策略規(guī)劃,下面一層就是它的戰(zhàn)斗、經(jīng)濟(jì)發(fā)展、探路、地圖的分析等等,這樣的話一層一層的,就是高層給下層設(shè)置一個(gè)goal,下層再給下面一層設(shè)計(jì)一個(gè)goal,其實(shí)這跟人的問(wèn)題分解是比較類似的。
模仿學(xué)習(xí)(Imitation Learning)
我們覺得值得去研究和探討的是模仿學(xué)習(xí),Imitation Learning,剛剛講的AlphaGo的例子也是Imitation Learning,第一步通過(guò)監(jiān)督學(xué)習(xí)學(xué)習(xí)比較好的策略,再把監(jiān)督學(xué)習(xí)學(xué)好的策略通過(guò)自我的對(duì)弈去提升,在《星際爭(zhēng)霸》里面更需要這種模仿學(xué)習(xí),比如說(shuō)我們兩個(gè)槍兵打一個(gè)小狗的時(shí)候,我們認(rèn)為一個(gè)好的策略是一個(gè)槍兵吸引小狗在那兒繞圈,然后另外一個(gè)槍兵就站在中心附近開槍,把這個(gè)小狗消滅,兩個(gè)槍兵一滴血可以不死。但是這種策略是比較難學(xué)習(xí)的,所以我們先給它人為的讓這個(gè)槍兵在里面畫圈,畫上幾步之后槍兵自己學(xué)會(huì)畫圈了,帶著小狗,然后另外一個(gè)槍兵在后面追著屁股打,這種探索就非常的有效。
持續(xù)學(xué)習(xí)(Continual Learning)
Continual Learning,如果要邁向通用智能,這是繞不過(guò)去的課題。
Continual Learning像人一樣,我們學(xué)會(huì)了走路,下一次我們學(xué)會(huì)了說(shuō)話,我們?cè)趯W(xué)說(shuō)話的時(shí)候可能就不會(huì)把走路這件事情這個(gè)本領(lǐng)忘掉,但是在《星際爭(zhēng)霸》一些場(chǎng)景的時(shí)候,神經(jīng)網(wǎng)絡(luò)學(xué)到A的時(shí)候再去學(xué)B,這個(gè)時(shí)候可能會(huì)把A的事情忘掉。
舉個(gè)例子,一開始我們訓(xùn)練一個(gè)槍兵打一個(gè)小狗,這個(gè)小狗是電腦里邊自帶的AI,比較弱,這個(gè)槍兵學(xué)會(huì)了邊打邊撤,肯定能把小狗打死。我們?cè)俜催^(guò)來(lái)訓(xùn)練一個(gè)小狗,這個(gè)小狗去打電腦槍兵,這個(gè)小狗學(xué)會(huì)最佳策略就是說(shuō)一直追著咬,永遠(yuǎn)不要猶豫,猶豫就會(huì)被消滅掉,所以它是一條惡狗,一直追著槍兵咬。然后我們把這槍兵和小狗同時(shí)訓(xùn)練,讓他們同時(shí)對(duì)弈,這樣發(fā)現(xiàn)一個(gè)平衡態(tài),就是槍兵一直逃,狗一直追,《星際爭(zhēng)霸》設(shè)計(jì)比較好的就是非常平衡。然后這個(gè)槍兵就學(xué)會(huì)了一直跑,我們?cè)侔堰@個(gè)槍兵放回到原來(lái)的環(huán)境,就是再打一個(gè)電腦帶的小狗,發(fā)現(xiàn)它也會(huì)一直跑,它不會(huì)邊打邊撤。
你發(fā)現(xiàn)它學(xué)習(xí)的時(shí)候,學(xué)會(huì)了A再學(xué)會(huì)B,A忘了,這個(gè)其實(shí)是對(duì)通用人工智能是非常大的挑戰(zhàn),最近DeepMind也發(fā)了一個(gè)相關(guān)工作的paper,這也是一個(gè)promising的方向,大家有興趣可以去看一下,他們的算法叫EWC。
引入Memory機(jī)制
最后一點(diǎn),前面有說(shuō)到幾大挑戰(zhàn),其中有一大挑戰(zhàn)就是長(zhǎng)期的規(guī)劃,長(zhǎng)期規(guī)劃里邊我們認(rèn)為一個(gè)比較好的做法就是,給這種強(qiáng)化學(xué)習(xí)里面去引入Memory的機(jī)制,這也是目前的一個(gè)比較火的方向,像Memory Networks、DNC,要解決的問(wèn)題就是,我們?cè)趯W(xué)習(xí)的過(guò)程當(dāng)中應(yīng)該記住什么東西,從而使得我們可以達(dá)到一個(gè)很好的最大的Reward。
所以今天跟大家交流的主要就是說(shuō),其實(shí)在《星際爭(zhēng)霸》里面是蘊(yùn)含了非常非常豐富的研究通用人工智能或者研究認(rèn)知智能的場(chǎng)景,這個(gè)里面可以有很多非常有意思的課題。我只是列舉了四個(gè)方向,其實(shí)還有很多很多方向可以去研究。
-
人工智能
+關(guān)注
關(guān)注
1806文章
49011瀏覽量
249347 -
阿里巴巴
+關(guān)注
關(guān)注
7文章
1638瀏覽量
48238 -
AI算法
+關(guān)注
關(guān)注
0文章
263瀏覽量
12691
原文標(biāo)題:阿里巴巴為什么選擇星際爭(zhēng)霸作為AI算法研究環(huán)境?
文章出處:【微信號(hào):WUKOOAI,微信公眾號(hào):悟空智能科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
普華基礎(chǔ)軟件蒞臨阿里巴巴達(dá)摩院調(diào)研交流
阿里云爆發(fā)式的跨越

評(píng)論