黃學(xué)雨, 郭勤
(江西理工大學(xué)信息工程學(xué)院,江西 贛州341000)
近年來(lái),深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)在各自的領(lǐng)域中大放異彩,而隨著計(jì)算機(jī)相關(guān)硬件性能的提升,深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)在一些領(lǐng)域更是取得了突破性的進(jìn)展.如在2015年,微軟公司構(gòu)造了一個(gè)擁有152層的深度殘差網(wǎng)絡(luò),在ImageNet平臺(tái)上取得了歷史最好成績(jī)[1];同年谷歌公司的人工智能研究團(tuán)隊(duì)DeepMind在《Nature》發(fā)表文章[2]提出了深度Q網(wǎng)絡(luò)(deep Q-network,DQN),在 Atari游戲平臺(tái)上取得了巨大的成果:2016年DeepMind使用最新的計(jì)算機(jī)圍棋程序[3]AlphaGo與職業(yè)九段棋手Lee Sedol對(duì)戰(zhàn),取得了4∶1的成績(jī);2017年DeepMind團(tuán)隊(duì)帶著升級(jí)版的圍棋程序與世界排名第一的棋手柯潔對(duì)弈,最終以3∶0取得勝利.
而將深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)結(jié)合起來(lái)形成的深度強(qiáng)化學(xué)習(xí)則是當(dāng)前研究最火熱的領(lǐng)域,它擁有深度學(xué)習(xí)的感知能力與強(qiáng)化學(xué)習(xí)的決策能力,在很多領(lǐng)域都有廣泛的應(yīng)用,如汽車自動(dòng)駕駛[4]、自適應(yīng)規(guī)劃[5]、多 Agent協(xié)作[6]等.
針對(duì)深度強(qiáng)化學(xué)習(xí)在游戲中的應(yīng)用,前人做了廣泛的研究.DeepMind團(tuán)隊(duì)的Wang等提出“Dueling Network”,該網(wǎng)絡(luò)分離了用于表示狀態(tài)的值函數(shù)和與狀態(tài)相關(guān)的動(dòng)作的優(yōu)勢(shì)函數(shù),可以減少對(duì)不同動(dòng)作的估計(jì)偏差[7].Hausknecht等提出了基于遞歸神經(jīng)網(wǎng)絡(luò)的架構(gòu)來(lái)處理游戲中的部分可觀察性[8].Bowling等為撲克牌游戲提出了使用兩個(gè)Regret反復(fù)自我對(duì)局的解決方案.也有一些學(xué)者正在研究如何使用一個(gè)網(wǎng)絡(luò)來(lái)玩多個(gè)游戲[9-10].以上研究都是針對(duì)如何提高深度強(qiáng)化學(xué)習(xí)在游戲上的得分的,卻忽略了訓(xùn)練時(shí)間過(guò)長(zhǎng)的問(wèn)題,因此需要找到一種方法來(lái)提高深度強(qiáng)化學(xué)習(xí)在游戲訓(xùn)練上的速度.
文中利用先前執(zhí)行任務(wù)時(shí)獲得的經(jīng)驗(yàn)來(lái)建立的環(huán)境模型,讓Agent首先從環(huán)境模型中學(xué)習(xí),待Agent學(xué)習(xí)到一定經(jīng)驗(yàn)后再與環(huán)境進(jìn)行交互學(xué)習(xí);通過(guò)該方法Agent可以少犯錯(cuò)誤,從而加快Agent訓(xùn)練速度.
融合環(huán)境模型與深度強(qiáng)化學(xué)習(xí)的游戲算法首先讓Agent從環(huán)境模型中學(xué)習(xí),然后再與真實(shí)環(huán)境進(jìn)行交互.在交互過(guò)程中首先使用深度卷積神經(jīng)網(wǎng)絡(luò)來(lái)處理游戲畫(huà)面,經(jīng)過(guò)處理后輸出狀態(tài)到強(qiáng)化學(xué)習(xí)中的Q函數(shù),經(jīng)過(guò)Q函數(shù)處理后輸出可以得到最大獎(jiǎng)賞的動(dòng)作.經(jīng)過(guò)不斷地交互,Agent可以在有限的時(shí)間內(nèi)學(xué)習(xí)到最優(yōu)策略,過(guò)程如圖1所示.
Sutton等提出的Dyna算法是基于環(huán)境模型的最具有代表性的強(qiáng)化學(xué)習(xí)算法之一[11].該算法考慮到以前Agent執(zhí)行任務(wù)時(shí)得到的經(jīng)驗(yàn)的重要性,將這些任務(wù)經(jīng)驗(yàn)轉(zhuǎn)化為環(huán)境模型,當(dāng)Agent再次執(zhí)行相關(guān)任務(wù)時(shí)候就可以直接從模型中學(xué)習(xí),其結(jié)構(gòu)如圖2所示.
在Agent從模型中學(xué)習(xí)的過(guò)程中,假設(shè)Agent當(dāng)前狀態(tài)為,下一狀態(tài)為(st,at),從當(dāng)前狀態(tài)到下一狀態(tài)(st+1,at+1),如果這個(gè)狀態(tài)經(jīng)歷過(guò)程是已經(jīng)經(jīng)歷過(guò)的,那么它只是簡(jiǎn)單的返回已經(jīng)儲(chǔ)存的動(dòng)作.該算法整個(gè)步驟如下:
圖1 融合環(huán)境模型與深度強(qiáng)化學(xué)習(xí)的游戲算法結(jié)構(gòu)
圖2 Dyna算法結(jié)構(gòu)
Step1:初始化 Q(s,a)和 Model(s,a);
Step2:初始化當(dāng)前狀態(tài)s1;
Step3:由狀態(tài)s1,Q函數(shù)選取下一動(dòng)作a2;
Step4:執(zhí)行動(dòng)作a2,得到狀態(tài)s2以及獎(jiǎng)賞r;
Step5:應(yīng)用一次Q學(xué)習(xí),得到一組狀態(tài)-動(dòng)作-獎(jiǎng)賞對(duì)(s1,r1,a2),其中 Q 學(xué)習(xí)為:
Step6:將狀態(tài)-動(dòng)作-獎(jiǎng)賞對(duì)(s1,r1,a1)輸入到模型中;
Step7:重復(fù)上述步驟3到步驟6一定次數(shù),得到環(huán)境模型;
Step8:將環(huán)境模型輸入到Agent中;
其中st代表t時(shí)刻的狀態(tài),根據(jù)st,Q產(chǎn)生動(dòng)作at,執(zhí)行該動(dòng)作并于環(huán)境交互,得到下一步的狀態(tài)st+1以及獎(jiǎng)賞r,根據(jù)以上參數(shù)應(yīng)用一次Q-學(xué)習(xí),并將得到的結(jié)果輸入到環(huán)境模型中,重復(fù)上述過(guò)程一定次數(shù)后就可以得到相應(yīng)的環(huán)境模型.
對(duì)于強(qiáng)化學(xué)習(xí)來(lái)說(shuō),直接從高維度的輸入介質(zhì)如視頻、圖像等學(xué)習(xí)控制策略是一項(xiàng)巨大的挑戰(zhàn).大多數(shù)的成功的強(qiáng)化學(xué)習(xí)應(yīng)用都是依賴于線性值函數(shù)與手工制定的特征標(biāo)簽,但是這些應(yīng)用的性能嚴(yán)重依賴于特征標(biāo)簽的質(zhì)量.
近年來(lái),深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)領(lǐng)域取得了較大的突破,這使得直接從原始高維度輸入介質(zhì)中學(xué)習(xí)到高級(jí)特征成為了可能.這些方法除了使用小波分解技術(shù)完成圖像識(shí)別外[12],大都是使用神經(jīng)網(wǎng)絡(luò)完成的,如卷積神經(jīng)網(wǎng)絡(luò)、多層感知器、受限波爾曼機(jī)和遞歸神經(jīng)網(wǎng)絡(luò).因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)在處理圖像上的優(yōu)勢(shì),所以文中使用該網(wǎng)絡(luò)來(lái)感知Agent在游戲中的環(huán)境[13].該網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.
該卷積神經(jīng)網(wǎng)絡(luò)由5層組成,第一層為輸入層,輸入介質(zhì)為游戲畫(huà)面;第二層為第一個(gè)隱藏層,由16個(gè)8×8的帶有4個(gè)滑動(dòng)窗口的過(guò)濾器組成;第三層為第二個(gè)隱藏層,由32個(gè)4×4的帶有2個(gè)滑動(dòng)窗口的過(guò)濾器組成;第四層為第一個(gè)全連接層組成,它帶有256個(gè)矯正單元;第五層為輸出層,該層為全連接線性層,用于輸出Agent的有效的動(dòng)作.
文中的實(shí)驗(yàn)在Atari游戲平臺(tái)[14]上進(jìn)行,該平臺(tái)每幀畫(huà)面具有210×160的寬高(像素),且每個(gè)畫(huà)面有128中顏色,具有很高的維度,如果直接處理需要很大的計(jì)算量,所以采用將彩色轉(zhuǎn)化為灰度,最終轉(zhuǎn)化為84×84寬高的畫(huà)面,輸入到卷積神經(jīng)網(wǎng)絡(luò)中.
神經(jīng)網(wǎng)絡(luò)雖然可以感知環(huán)境,但是對(duì)于策略控制卻無(wú)能為力,文中使用強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)[15-16]來(lái)解決策略控制問(wèn)題.
定義Agent所處環(huán)境為ε,在每一步中Agent選擇的動(dòng)作為 at,且 at∈A={1,2,…,k};在時(shí)刻 t,Agent環(huán)境為 xt,xt∈Rd;Agent與環(huán)境交互得到的獎(jiǎng)賞為rt.因?yàn)锳gent執(zhí)行任務(wù)的環(huán)境是部分可觀察的,所以定義一個(gè)動(dòng)作-狀態(tài)序列 st=x1,a1,x2,…,at-1用于儲(chǔ)存Agent經(jīng)歷的狀態(tài)與執(zhí)行過(guò)的動(dòng)作,Agent從這個(gè)序列中學(xué)習(xí)策略.又因?yàn)檫@個(gè)序列中的每一個(gè)動(dòng)作-狀態(tài)對(duì)都是明確的,所以就得到了一個(gè)數(shù)量大,但是有限的馬爾科夫決策過(guò)程,對(duì)這個(gè)馬爾科夫決策過(guò)程應(yīng)用如下公式:
其中 Li(θi)為損失函數(shù),yi為目標(biāo)函數(shù),在每一次迭代 i中,使用 Li(θi)來(lái)求得最優(yōu)的動(dòng)作-狀態(tài)對(duì);將得到的動(dòng)作-狀態(tài)對(duì)儲(chǔ)存到經(jīng)驗(yàn)回放序列中,使用Random Minibatch算法來(lái)優(yōu)化經(jīng)驗(yàn)回放序列中的樣本.當(dāng)Agent再與環(huán)境交互時(shí)候就可以從經(jīng)驗(yàn)回放序列中取得相應(yīng)的策略.
圖3 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
環(huán)境模型是由Agent以前執(zhí)行相關(guān)任務(wù)時(shí)獲得的經(jīng)驗(yàn)建立的,讓Agent從環(huán)境模型中學(xué)習(xí)而不是從新開(kāi)始,可以讓Agent在與環(huán)境交互過(guò)程中少犯錯(cuò)誤,從而加快學(xué)習(xí)速度.受環(huán)境模型的啟發(fā),文中提出了融合環(huán)境模型與深度強(qiáng)化學(xué)習(xí)的游戲算法.如圖4所示,首先讓Agent從環(huán)境模型中學(xué)習(xí),等Agent學(xué)習(xí)到一定策略后,再與真實(shí)環(huán)境進(jìn)行交互,使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)感知周圍環(huán)境,再通過(guò)Q學(xué)習(xí)求取最優(yōu)策略.使用Avatar游戲平臺(tái)的游戲驗(yàn)證算法的有效性.
圖4 融合環(huán)境模型與深度強(qiáng)化學(xué)習(xí)的游戲算法流程
具體步驟如下:
Step1:初始化Agent
Step2:Agent從環(huán)境模型中學(xué)習(xí)
Step3:Agent與真實(shí)環(huán)境交互
Step4:使用卷積神經(jīng)網(wǎng)絡(luò)感知環(huán)境
Step5:使用Q學(xué)習(xí)求取策略
Step6:重復(fù) step3到 step5
Step7:比較學(xué)習(xí)時(shí)間
為了驗(yàn)證文中提出的算法的有效性,采用The Arcade Environment(ALE)平臺(tái)進(jìn)行實(shí)驗(yàn).在ALE平臺(tái)上采用兩款A(yù)tari 2600游戲,Atari 2600游戲是專門(mén)設(shè)計(jì)用來(lái)測(cè)試強(qiáng)化學(xué)習(xí)算法的性能的,它有兩個(gè)特點(diǎn):
1)Agent的輸入為高維度的視頻畫(huà)面(210×160 RGB 60 Hz).
2)游戲中的任務(wù)設(shè)計(jì)對(duì)于人類玩家是具有難度的.
為了提高實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,每個(gè)游戲中的算法參數(shù)設(shè)置為相同值,如表1所示.
表1 游戲算法中參數(shù)設(shè)置
本次實(shí)驗(yàn)使用一款名為MsPacman(吃豆子女士)的Atari 2600游戲,該游戲的場(chǎng)景如圖5所示.初始畫(huà)面有一個(gè)吃豆子的Agent,它有3條命,在行走的路上吃豆子,一個(gè)豆子計(jì)分10分,大的豆子計(jì)分100分,開(kāi)始時(shí)候會(huì)有2個(gè)骷顱人,隨后會(huì)變化成4個(gè),初始時(shí)候是藍(lán)色,Agent碰到它們不會(huì)死亡,且它們會(huì)變成螃蟹,Agent如果吃到它們計(jì)分200分,如果Agent吃到櫻桃計(jì)分100分,待骷顱人變成其他色后,Agent再與它們接觸都會(huì)死亡,Agent繼續(xù)使用下一條生命吃豆子,隨后規(guī)則與上面一致.如果Agent吃完了所有豆子游戲結(jié)束,或者Agent用完了所有的生命游戲也結(jié)束.
圖5 MsPacman游戲場(chǎng)景
在參數(shù)設(shè)置一致,游戲環(huán)境一致的條件下,使用原算法的Agent與改進(jìn)后算法的Agent同時(shí)進(jìn)行游戲交互,交互時(shí)間為2小時(shí),得到實(shí)驗(yàn)結(jié)果如圖6所示.
圖6 不同算法在MsPacman游戲中結(jié)果
在2小時(shí)內(nèi)Agent共進(jìn)行了12500次的episode,以100為一組求取其得分總和的平均值,得到如圖6所示結(jié)果,從實(shí)驗(yàn)結(jié)果可以看到在0到70階段改進(jìn)的算法Agent得分是比原算法Agent高的,這是因?yàn)楦倪M(jìn)的算法Agent從環(huán)境模型中提早學(xué)習(xí)到了策略;在80以后兩者的得分是相近的,這是因?yàn)閮烧叨家呀?jīng)學(xué)習(xí)到了相應(yīng)的策略;還可以看到當(dāng)x軸值為40到48之間的時(shí)候改進(jìn)的算法Agent就已經(jīng)呈現(xiàn)出穩(wěn)定的狀態(tài),而原算法的Agent在72到80之間的時(shí)候才呈現(xiàn)出穩(wěn)定的狀態(tài);由此實(shí)驗(yàn)結(jié)果可以說(shuō)明改進(jìn)后的算法可以有效提高Agent的訓(xùn)練速度.
本組實(shí)驗(yàn)使用一款名為Qbert(Q伯特)的Atari 2600游戲,該游戲的場(chǎng)景如圖7所示,初始畫(huà)面里有21個(gè)可供Qbert點(diǎn)亮的區(qū)域、Qbert是一個(gè)有著橘紅色大鼻子的Agent,它每點(diǎn)亮一個(gè)區(qū)域就可以得到25分,還有兩個(gè)踩上去可以提升Agent高度的格子,格子被踩過(guò)之后就會(huì)消失,還有一個(gè)Agent需要避免接觸的壞人,Agent跳出界面或者與壞人接觸就會(huì)損失掉一條命,它共有3條命,當(dāng)它把區(qū)域都點(diǎn)亮后就會(huì)進(jìn)入到下一輪游戲,如果3條生命都用完了,游戲結(jié)束.
在參數(shù)設(shè)置一致,游戲環(huán)境一致的條件下,使用原算法的Agent與改進(jìn)后算法的Agent同時(shí)進(jìn)行游戲交互,交互時(shí)間為2小時(shí),得到實(shí)驗(yàn)結(jié)果如圖8所示.
圖7 Qbert游戲場(chǎng)景
圖8 不同算法在Qbert游戲中結(jié)果
在2小時(shí)內(nèi)Agent共進(jìn)行了12500次的episode,以100為一組求取其得分總和的平均值,得到如圖8所示的結(jié)果,從實(shí)驗(yàn)結(jié)果可以看到在0到90階段改進(jìn)的算法Agent得分是比原算法Agent高的,這是因?yàn)楦倪M(jìn)的算法Agent從環(huán)境模型中提早學(xué)習(xí)到了策略;在90以后兩者的得分是相近的,這是因?yàn)閮烧叨家呀?jīng)學(xué)習(xí)到了相應(yīng)的策略;還可以看到當(dāng)x軸值為24時(shí)候改進(jìn)的算法Agent開(kāi)始呈現(xiàn)出穩(wěn)定的狀態(tài),x軸值為40到48之間的時(shí)候改進(jìn)的算法Agent就已經(jīng)呈現(xiàn)出穩(wěn)定的狀態(tài),后面一直處于穩(wěn)定的狀態(tài),而原算法的Agent在x軸值為90以后的時(shí)候才穩(wěn)定;由此實(shí)驗(yàn)結(jié)果可以說(shuō)明改進(jìn)后的算法在這個(gè)游戲中可以有效提高Agent的訓(xùn)練速度.
文章通過(guò)在深度強(qiáng)化學(xué)習(xí)游戲算法的基礎(chǔ)上加入環(huán)境模型來(lái)提高Agent的訓(xùn)練速度.其中環(huán)境模型是利用以前與環(huán)境進(jìn)行交互得到的經(jīng)驗(yàn)來(lái)建立的,兩次實(shí)驗(yàn)的結(jié)果也證明了利用環(huán)境模型可以加速Agent學(xué)習(xí)速度.
環(huán)境模型可以加快學(xué)習(xí)速度,而完美的環(huán)境模型也可以使Agent學(xué)習(xí)到最優(yōu)策略,但是如果過(guò)于依賴環(huán)境模型就會(huì)失去與環(huán)境進(jìn)行交互,并通過(guò)不斷試錯(cuò)來(lái)學(xué)習(xí)策略的意義了.在強(qiáng)化學(xué)習(xí)中蒙特卡羅方法與樹(shù)搜索結(jié)合形成的蒙特卡羅樹(shù)搜索 ,能夠在執(zhí)行一個(gè)策略的同時(shí)去評(píng)測(cè)另一個(gè)策略的好壞,對(duì)于提高游戲得分有一定的幫助,在今后的研究中,將會(huì)在該算法上做進(jìn)一步的研究.
[1]He K M,Zhang X,Ren S,et al.Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas:IEEE,2016:770-778.
[2]Mnih V,Kavukcuoglu K,Silver D,et al.Human-level control through deep reinforcement learning[J].Nature,2015,518(7540):529-533.
[3]Silver D,Huang A,Maddison C,et al.Mastering the game of Go with deep neural networks and tree search[J].Nature,2016,529(7587):484-489.
[4]楊帆.無(wú)人駕駛汽車的發(fā)展現(xiàn)狀和展望 [J].上海汽車,2014(3):35-40.
[5]蘇世雄,齊金平.基于強(qiáng)化學(xué)習(xí)的自適應(yīng)在線規(guī)劃的應(yīng)用研究[J].測(cè)控技術(shù), 2016,35(7):124-127.
[6]張文旭,馬磊,王曉東.基于事件驅(qū)動(dòng)的多Agent強(qiáng)化學(xué)習(xí)研究[J].智能系統(tǒng)學(xué)報(bào),2017,12(1):82-87.
[7]Wang Z Y,Schaul T,Hessel M,et al.Dueling network architectures for deep reinforcement learning[C]//Proceedings of the 32nd International Conference on Machine Learning.Lille,France:ICML,2016.
[8]Hausknecht M,Stone P.Deep recurrent q-learning for partially observable MDPS[C]//Proceedings of the 2015 AAAI Fall Symposium Series.The Westin Arlington Gateway,Arlington,Virginia:AIAA,2015.
[9]Rusu A A,Colmenarejo S G,Gulcehre C,et al.Policy distillation[C]//Proceedings of the 2016 International Conference on Learning Representations.Caribe Hilton,San Juan,Puerto Rico:ICLR,2016.
[10]Parisotto E,Ba J L,Salakhutdinov R.Actor-mimic:Deep multitask and transfer reinforcement learning[C]//Proceedings of the 2016 International Conference on Learning Representations.Caribe Hilton,San Juan,Puerto Rico:ICLR,2016.
[11]Lin L J.Self-improving reactive agents based on reinforcement learning,planning and teaching[J].Machine learning,1992,8(3/4):293-321.
[12]王俊嶺,彭雯.基于Daubechies小波的人臉識(shí)別算法[J].江西理工大學(xué)學(xué)報(bào),2017,38(3):81-85.
[13]Krizhevsky A,Sutskever I,Hinton G E.Image net classification with deep convolutional neural networks[C]//Advances in Neural Information Processing Systems.Lake Tahoe:MIT Press,2012:1097-1105.
[14]Bellemare M G,Naddaf Y,Veness J,et al.The arcade learning environment:An evaluation platform for general agents[J].J.Artif.Intell.Res.(JAIR),2013(47):253-279.
[15]Littman M L.Reinforcement learning improves behaviour from evaluative feedback[J].Nature,2015,521(7553):445-451.
[16]Bowling M,Burch N,Johanson M,et al.Heads-up limit hold'em poker is solved[J].Science,2015,347(6218):145-149.