成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

24分鐘讓AI跑起飛車類游戲

hlcc / 2203人閱讀

摘要:在飛車類游戲中,開始狀態(tài)和結(jié)束狀態(tài)的標(biāo)志如圖所示。動(dòng)作設(shè)計(jì)我們目前在設(shè)計(jì)飛車類游戲動(dòng)作時(shí),使用離散的動(dòng)作,包括三種動(dòng)作左轉(zhuǎn)右轉(zhuǎn)和。圖訓(xùn)練過程中激勵(lì)的趨勢(shì)圖總結(jié)本文介紹了如何使用在分鐘內(nèi)讓玩飛車類游戲。

作者:WeTest小編
商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系騰訊WeTest獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
原文鏈接:https://wetest.qq.com/lab/view/440.html

WeTest 導(dǎo)讀

本文主要介紹如何讓AI在24分鐘內(nèi)學(xué)會(huì)玩飛車類游戲。我們使用Distributed PPO訓(xùn)練AI,在短時(shí)間內(nèi)可以取得不錯(cuò)的訓(xùn)練效果。

_
本方法的特點(diǎn):

純游戲圖像作為輸入

不使用游戲內(nèi)部接口

可靠的強(qiáng)化學(xué)習(xí)方法

簡(jiǎn)單易行的并行訓(xùn)練

1. PPO簡(jiǎn)介

PPO(Proximal Policy Optimization)是OpenAI在2016年NIPS上提出的一個(gè)基于Actor-Critic框架的強(qiáng)化學(xué)習(xí)方法。該方法主要的創(chuàng)新點(diǎn)是在更新Actor時(shí)借鑒了TRPO,確保在每次優(yōu)化策略時(shí),在一個(gè)可信任的范圍內(nèi)進(jìn)行,從而保證策略可以單調(diào)改進(jìn)。在2017年,DeepMind提出了Distributed PPO,將PPO進(jìn)行類似于A3C的分布式部署,提高了訓(xùn)練速度。之后,OpenAI又優(yōu)化了PPO中的代理損失函數(shù),提高了PPO的訓(xùn)練效果。

本文不介紹PPO的算法細(xì)節(jié),想學(xué)習(xí)的同學(xué)可以參考以下三篇論文:

【1】Schulman J, Levine S, Abbeel P, et al. Trust region policy optimization[C]//International Conference on Machine Learning. 2015: 1889-1897.

【2】Heess N, Sriram S, Lemmon J, et al. Emergence of locomotion behaviours in rich environments[J]. arXiv preprint arXiv:1707.02286, 2017.

【3】Schulman J, Wolski F, Dhariwal P, et al. Proximal policy optimization algorithms[J]. arXiv preprint arXiv:1707.06347, 2017.

2. 圖像識(shí)別 2.1 游戲狀態(tài)識(shí)別

游戲狀態(tài)識(shí)別是識(shí)別每一局游戲關(guān)卡的開始狀態(tài)和結(jié)束狀態(tài)。在飛車類游戲中,開始狀態(tài)和結(jié)束狀態(tài)的標(biāo)志如圖1所示。因?yàn)榧t色框中的標(biāo)志位置都固定,因此我們使用模板匹配的方法來識(shí)別這些游戲狀態(tài)。


圖1 游戲狀態(tài)標(biāo)志

從開始狀態(tài)到結(jié)束狀態(tài)之間的圖像是游戲關(guān)卡內(nèi)的圖像,此時(shí)進(jìn)行強(qiáng)化學(xué)習(xí)的訓(xùn)練過程。當(dāng)識(shí)別到結(jié)束狀態(tài)后,暫停訓(xùn)練過程。結(jié)束狀態(tài)之后的圖像都是UI圖像,我們使用UI自動(dòng)化的方案,識(shí)別不同的UI,點(diǎn)擊相應(yīng)的按鈕再次進(jìn)入游戲關(guān)卡,開始下一輪的訓(xùn)練過程,如圖2所示。


圖2 游戲流程

2.3 游戲圖像識(shí)別

我們對(duì)游戲關(guān)卡中的圖像識(shí)別了速度的數(shù)值,作為強(qiáng)化學(xué)習(xí)中計(jì)算激勵(lì)(Reward)的依據(jù),如圖3所示。速度識(shí)別包括三個(gè)步驟:

第一步,圖像分割,將每一位數(shù)字從識(shí)別區(qū)域中分割出來。

第二步,數(shù)字識(shí)別,用卷積神經(jīng)網(wǎng)絡(luò)或者模板匹配識(shí)別每一位圖像中的數(shù)字類別。

第三步,數(shù)字拼接,根據(jù)圖像分割的位置,將識(shí)別的數(shù)字拼接起來。


圖3 圖像各個(gè)區(qū)域示意圖

3. AI設(shè)計(jì) 3.1 網(wǎng)絡(luò)結(jié)構(gòu)

我們使用的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。輸入為游戲圖像中小地圖的圖像,Actor輸出當(dāng)前時(shí)刻需要執(zhí)行的動(dòng)作,Critic輸出當(dāng)前時(shí)刻運(yùn)行狀態(tài)的評(píng)價(jià)。AlexNet使用從輸入層到全連接層之前的結(jié)構(gòu),包含5個(gè)卷積層和3個(gè)池化層。Actor和Critic都有兩個(gè)全連接層,神經(jīng)元數(shù)量分別為1024和512。Actor輸出層使用softmax激活函數(shù),有三個(gè)神經(jīng)元,輸出動(dòng)作策略。Critic輸出層不使用激活函數(shù),只有一個(gè)神經(jīng)元,輸出評(píng)價(jià)數(shù)值。


圖4 網(wǎng)絡(luò)結(jié)構(gòu)示意圖

3.2 輸入處理

我們將小地圖圖像的尺寸變?yōu)?21X121,輸入到AlexNet網(wǎng)絡(luò)后,在第三個(gè)池化層可以獲得2304維的特征向量(57622=2304)。將這個(gè)特征向量作為Actor和Critic的輸入。我們使用在ImageNet上訓(xùn)練后的AlexNet提取圖像特征,并且在強(qiáng)化學(xué)習(xí)的過程中沒有更新AlexNet的網(wǎng)絡(luò)參數(shù)。

3.3 動(dòng)作設(shè)計(jì)

我們目前在設(shè)計(jì)飛車類游戲動(dòng)作時(shí),使用離散的動(dòng)作,包括三種動(dòng)作:左轉(zhuǎn)、右轉(zhuǎn)和NO Action。每種動(dòng)作的持續(xù)時(shí)間為80ms,即模擬觸屏的點(diǎn)擊時(shí)間為80ms。這樣的動(dòng)作設(shè)計(jì)方式比較簡(jiǎn)單,便于AI快速地訓(xùn)練出效果。如果將動(dòng)作修改為連續(xù)的動(dòng)作,就可以將漂移添加到動(dòng)作中,讓AI學(xué)習(xí)左轉(zhuǎn)、右轉(zhuǎn)、漂移和NO Action的執(zhí)行時(shí)刻和執(zhí)行時(shí)長(zhǎng)。

3.4 激勵(lì)計(jì)算

如果將游戲的勝負(fù)作為激勵(lì)來訓(xùn)練AI,勢(shì)必會(huì)花費(fèi)相當(dāng)長(zhǎng)的時(shí)間。在本文中,我們根據(jù)游戲圖像中的速度數(shù)值,計(jì)算當(dāng)前時(shí)刻的激勵(lì)。假定當(dāng)前時(shí)刻的速度為Vp,前一時(shí)刻的速度為Vq,那么激勵(lì)R按照以下方式計(jì)算:

If Vp ≥ Vq , R = 0.25X(Vp - Vq)

If Vp < Vq , R = -0.25X(Vq - Vp)

If Vp > 250 , R = R + 5.0

If Vp < 50 , R = R - 5.0

這樣的激勵(lì)計(jì)算方式可以使AI減少撞墻的概率,并且鼓勵(lì)A(yù)I尋找加速點(diǎn)。

4. 訓(xùn)練環(huán)境 4.1 硬件

我們搭建了一個(gè)簡(jiǎn)單的分布式強(qiáng)化學(xué)習(xí)環(huán)境,可以提高采樣效率和訓(xùn)練速度,硬件部署方式如圖5所示。


圖5 硬件部署方式

主要包含以下硬件:

1)3部相同分辨率的手機(jī),用于生成數(shù)據(jù)和執(zhí)行動(dòng)作。

2)2臺(tái)帶有顯卡的電腦,一臺(tái)電腦Proxy用于收集數(shù)據(jù)、圖像識(shí)別以及特征提取,另一臺(tái)電腦Server用于訓(xùn)練AI。

3)1個(gè)交換機(jī),連接兩臺(tái)電腦,用于交換數(shù)據(jù)。

4.2 軟件

Ubuntu 14.04 + TensorFlow 1.2 + Cuda 7.0

5. 分布式部署

我們使用的分布式部署方式如圖6所示。

圖6 分布式部署方式

在Proxy端設(shè)置三個(gè)proxy進(jìn)程,分別與三部手機(jī)相連接。

在Server端設(shè)置一個(gè)master進(jìn)程和三個(gè)worker線程。master進(jìn)程和三個(gè)worker線程通過內(nèi)存交換網(wǎng)絡(luò)參數(shù)。master進(jìn)程主要用于保存最新的網(wǎng)絡(luò)參數(shù)。三個(gè)proxy進(jìn)程分別和三個(gè)worker線程通過交換機(jī)傳輸數(shù)據(jù)。

proxy進(jìn)程有6個(gè)功能:

1)從手機(jī)接收?qǐng)D像數(shù)據(jù);

2)識(shí)別當(dāng)前游戲狀態(tài);

3)識(shí)別速度計(jì)算激勵(lì);

4)利用AlexNet提取圖像特征;

5)發(fā)送圖像特征和激勵(lì)到worker線程,等待worker線程返回動(dòng)作;

6)發(fā)送動(dòng)作到手機(jī);

worker線程有5個(gè)功能:

1)從proxy進(jìn)程接收?qǐng)D像特征和激勵(lì);

2)從master進(jìn)程拷貝最新的網(wǎng)絡(luò)參數(shù);

3)將Actor輸出的動(dòng)作發(fā)送到proxy進(jìn)程;

4)利用PPO更新網(wǎng)絡(luò)參數(shù);

5)將更新后的網(wǎng)絡(luò)參數(shù)傳輸?shù)絤aster進(jìn)程;

6. 實(shí)驗(yàn) 6.1 參數(shù)設(shè)置

PPO的訓(xùn)練參數(shù)很多,這里介紹幾個(gè)重要參數(shù)的設(shè)置:

1)學(xué)習(xí)速率:Actor和Critic的學(xué)習(xí)率都設(shè)置為1e-5

2)優(yōu)化器:Adam優(yōu)化器

3)Batch Size: 20

4)采樣幀率:10幀/秒

5)更新次數(shù):15次

6)激勵(lì)折扣率:0.9

6.2 AI效果

視頻鏈接:https://v.qq.com/x/page/q1356...

6.3 數(shù)據(jù)分析

表1和表2分別對(duì)比了不同并行數(shù)量和不同輸入數(shù)據(jù)情況下AI跑完賽道和取得名次的訓(xùn)練數(shù)據(jù)。最快的訓(xùn)練過程是在并行數(shù)量為3和輸入數(shù)據(jù)為小地圖的情況下,利用PPO訓(xùn)練24分鐘就可以讓AI跑完賽道,訓(xùn)練7.5小時(shí)就可以讓AI取得第一名(和內(nèi)置AI比賽)。并且在減少一部手機(jī)采樣的情況下,也可以達(dá)到相同的訓(xùn)練效果,只是訓(xùn)練過程耗時(shí)更長(zhǎng)一點(diǎn)。另外,如果將輸入數(shù)據(jù)從小地圖換成全圖,AI的訓(xùn)練難度會(huì)有一定程度的增加,不一定能達(dá)到相同的訓(xùn)練效果。

表1 AI跑完賽道的數(shù)據(jù)對(duì)比

輸入數(shù)據(jù) 并行數(shù)量 訓(xùn)練時(shí)間 訓(xùn)練次數(shù) 訓(xùn)練局?jǐn)?shù)
全圖 2 100分鐘 4200次 78局
小地圖 2 40分鐘 1700次 32局
全圖 3 78分鐘 3900次 72局
小地圖 3 24分鐘 1400次 25局

表2 AI取得名次的數(shù)據(jù)對(duì)比

輸入數(shù)據(jù) 并行數(shù)量 訓(xùn)練時(shí)間 訓(xùn)練次數(shù) 訓(xùn)練局?jǐn)?shù) 名次
小地圖 2 9小時(shí) 19000次 354局 1
全圖 3 60小時(shí) 98000次 180局 4-6
小地圖 3 7.5小時(shí) 17800次 343局 1

如7展示了利用PPO訓(xùn)練AI過程中激勵(lì)的趨勢(shì)圖,曲線上每一個(gè)點(diǎn)表示一局累計(jì)的總激勵(lì)。訓(xùn)練開始時(shí),AI經(jīng)常撞墻,總激勵(lì)為負(fù)值。隨著訓(xùn)練次數(shù)的增加,總激勵(lì)快速增長(zhǎng),AI撞墻的幾率很快降低。當(dāng)訓(xùn)練到1400多次時(shí),總激勵(lì)值超過400,此時(shí)AI剛好可以跑完賽道。之后的訓(xùn)練過程,總激勵(lì)的趨勢(shì)是緩慢增長(zhǎng),AI開始尋找更好的動(dòng)作策略。


圖7 AI訓(xùn)練過程中激勵(lì)的趨勢(shì)圖

7. 總結(jié)

本文介紹了如何使用Distributed PPO在24分鐘內(nèi)讓AI玩飛車類游戲。當(dāng)前的方法有一定訓(xùn)練效果,但是也存在很多不足。

目前,我們想到以下幾個(gè)改進(jìn)點(diǎn),以后會(huì)逐一驗(yàn)證:

1)將AlexNet替換為其他卷積神經(jīng)網(wǎng)絡(luò),如VGG、Inception-V3等等,提高特征提取的表達(dá)能力。

2)提高并行數(shù)量,添加更多手機(jī)和電腦,提高采樣速度和計(jì)算速度。

3)增加Batch Size,使用較長(zhǎng)的時(shí)間序列數(shù)據(jù)訓(xùn)練AI。

4)將離散動(dòng)作替換為連續(xù)動(dòng)作,增加漂移的學(xué)習(xí)。

5)多個(gè)關(guān)卡同時(shí)訓(xùn)練,提高AI的泛化能力。

參考文獻(xiàn):

【1】Schulman J, Levine S, Abbeel P, et al. Trust region policy optimization[C]//International Conference on Machine Learning. 2015: 1889-1897.

【2】Heess N, Sriram S, Lemmon J, et al. Emergence of locomotion behaviours in rich environments[J]. arXiv preprint arXiv:1707.02286, 2017.

【3】Schulman J, Wolski F, Dhariwal P, et al. Proximal policy optimization algorithms[J]. arXiv preprint arXiv:1707.06347, 2017.

【4】https://morvanzhou.github.io/...

_
**“深度兼容測(cè)試”現(xiàn)已對(duì)外,騰訊專家為您定制自動(dòng)化測(cè)試腳本,覆蓋應(yīng)用核心場(chǎng)景,對(duì)上百款主流機(jī)型進(jìn)行適配兼容測(cè)試,提供詳細(xì)測(cè)試報(bào)告,并且首度使用AI能力助力測(cè)試。
點(diǎn)擊http://wetest.qq.com/cloud/deepcompatibilitytesting#/ 即可體驗(yàn)。**

如果使用當(dāng)中有任何疑問,歡迎聯(lián)系騰訊WeTest企業(yè)QQ:2852350015

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19925.html

相關(guān)文章

  • 人工智能革命:人類會(huì)永生還是滅亡(下)

    摘要:為什么未來可能是我們最糟糕的噩夢(mèng)我想要了解人工智能的原因之一是壞機(jī)器人的主題總是讓我感到困惑。沒有那個(gè)人工智能系統(tǒng)會(huì)像電影描述的那樣變的邪惡。意識(shí)盒子他還觸及了另一個(gè)與人工智能意識(shí)相關(guān)的大話題。這并不是說人工智能不可能發(fā)生。 為什么未來可能是我們最糟糕的噩夢(mèng) 我想要了解人工智能的原因之一是壞機(jī)器人的主題總是讓我感到困惑。關(guān)于邪惡機(jī)器人的所有電影看起來都是不切實(shí)際的,我無法真正理解人工智...

    Ethan815 評(píng)論0 收藏0
  • 假裝Python高手,把類這樣改,真刺激!

    摘要:今天我們來說一個(gè)非常實(shí)用的例子,小菜接到組長(zhǎng)老王的一個(gè)任務(wù),安排一個(gè)新的活,這個(gè)活是這樣的老王小菜啊,你幫我寫一個(gè)登入腳本,跑十幾條命令到服務(wù)器上,然后存一下日志。這個(gè)時(shí)候,小菜偷偷的瞄了一眼組長(zhǎng)老王,常舒一口氣,總于寫完了。 Python學(xué)了好幾年,發(fā)現(xiàn)功力還是那樣,很多同學(xué)經(jīng)常這樣抱...

    dance 評(píng)論0 收藏0
  • 華為云:打造游戲創(chuàng)新的“黑土地”

    摘要:對(duì)此,聶頌首先表示,在游戲解決方案上,華為云不做游戲產(chǎn)品,不與游戲企業(yè)爭(zhēng)利,堅(jiān)持做游戲企業(yè)的發(fā)動(dòng)機(jī)和生產(chǎn)力。華為云游戲解決方案目前已經(jīng)構(gòu)建了游戲研發(fā)游戲部署游戲運(yùn)營游戲創(chuàng)新等全產(chǎn)業(yè)鏈條的能力。2018年4月2日,在GMGC北京2018第七屆全球游戲大會(huì)現(xiàn)場(chǎng),賽迪網(wǎng)記者有幸采訪到了華為消費(fèi)互聯(lián)網(wǎng)解決方案總經(jīng)理聶頌,他分享了游戲行業(yè)創(chuàng)新發(fā)展的技術(shù)基石,以及作為游戲創(chuàng)新要素的AI、5G、區(qū)塊鏈等技...

    taowen 評(píng)論0 收藏0
  • 學(xué)習(xí)Python想放棄,因?yàn)槟銢]有培養(yǎng)自己的興趣!

    摘要:為啥你天天刷抖音一點(diǎn)都不煩,因?yàn)槟阌X得視頻好看你有興趣啊。比如我們說你玩是不是要開始搭建一個(gè)自己的網(wǎng)站,是不是可以自己寫一個(gè)小的腳本來自動(dòng)發(fā)消息給你的女朋友等等,通過這樣的小例子來慢慢的培養(yǎng)自己的學(xué)習(xí)的興趣。學(xué)習(xí),切勿貪快貪多。 大家好,我是菜鳥哥! 周末啦,跟大家聊一下我們粉絲團(tuán)的情況...

    ideaa 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

hlcc

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<