色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一種能和OpenAI gym相比的環(huán)境,用來(lái)訓(xùn)練Unity模擬器中的Donkey Car

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:李倩 ? 2018-09-16 09:37 ? 次閱讀

介紹

Donkey Car是一種為模型車開源的DIY自動(dòng)駕駛平臺(tái),它利用一個(gè)帶有相機(jī)的樹莓派單片機(jī),讓模型車可在賽道上自動(dòng)駕駛,Donkey Car會(huì)學(xué)習(xí)你的駕駛方法,在訓(xùn)練后懂得自動(dòng)駕駛。對(duì)于那些沒(méi)有背景知識(shí)的人來(lái)說(shuō),該平臺(tái)能提供你所需要的必要細(xì)節(jié),它既包含硬件也帶有軟件。閱讀完這一教程,你也可以無(wú)需硬件背景知識(shí)組裝一輛自己的自動(dòng)駕駛汽車。

現(xiàn)在,訓(xùn)練汽車進(jìn)行自動(dòng)駕駛最常見(jiàn)的方法就是行為克隆和路線跟隨。在高級(jí)層面,行為克隆是利用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)汽車前方攝像機(jī)所拍攝的圖像之間的映射,并通過(guò)監(jiān)督學(xué)習(xí)控制方向和油門大小。而路線跟隨是利用計(jì)算機(jī)視覺(jué)技術(shù)跟蹤路線,并且利用一個(gè)PID控制器讓小車跟著該路線。我嘗試了兩種方法,它們都很有用!

用行為克隆訓(xùn)練Donkey Car避開障礙物

用強(qiáng)化學(xué)習(xí)訓(xùn)練Donkey Car

重要的一點(diǎn)是,Donkey Car的目標(biāo)是搭建一輛在比賽中跑的最快的車(能以最快速度跑完一圈)。我認(rèn)為強(qiáng)化學(xué)習(xí)是訓(xùn)練的好方法,只需設(shè)計(jì)一種獎(jiǎng)勵(lì),讓汽車的速度達(dá)到最快,并且讓它能一直保持在軌道內(nèi)即可。聽上去很簡(jiǎn)單對(duì)吧?但事實(shí)上,很多研究表示在實(shí)體目標(biāo)上訓(xùn)練強(qiáng)化學(xué)習(xí)是很困難的。強(qiáng)化學(xué)習(xí)主要通過(guò)試錯(cuò)法訓(xùn)練,放在汽車身上,我們只能保佑車子不會(huì)在一次次的實(shí)驗(yàn)中撞碎。另外,訓(xùn)練時(shí)長(zhǎng)也是一個(gè)問(wèn)題,通常,強(qiáng)化學(xué)習(xí)智能體都要訓(xùn)練個(gè)幾百回合才能掌握些許規(guī)律。所以,強(qiáng)化學(xué)習(xí)很少用在現(xiàn)實(shí)物體中。

模擬現(xiàn)實(shí)

最近有一些科學(xué)家們研究對(duì)現(xiàn)實(shí)進(jìn)行模擬,即先用強(qiáng)化學(xué)習(xí)在虛擬模擬器上訓(xùn)練小車,然后將其遷移到現(xiàn)實(shí)世界里。例如,最近OpenAI就訓(xùn)練了一個(gè)靈活的機(jī)械手臂,可以做出多種動(dòng)作,整個(gè)過(guò)程就是在虛擬中訓(xùn)練的。除此之外,谷歌大腦也曾訓(xùn)練過(guò)一個(gè)四足機(jī)器人,可以用模擬現(xiàn)實(shí)的技術(shù)學(xué)習(xí)靈活的動(dòng)作。在虛擬器中學(xué)習(xí)控制策略,然后再將其部署到真正的機(jī)器人上。這樣看來(lái),若想用強(qiáng)化學(xué)習(xí)訓(xùn)練Donkey Car,一個(gè)可行方案就是先用模擬器訓(xùn)練,再把學(xué)到的策略用在真的小車上。

OpenAI訓(xùn)練的機(jī)械手

Donkey Car模擬器

第一步是先為Donkey Car建造一個(gè)高保真度的模擬器。幸運(yùn)的是,Donkey Car社區(qū)里一位愛(ài)好者在Unity中創(chuàng)建好了一個(gè)模擬器。但是它設(shè)計(jì)的目的主要針對(duì)行為學(xué)習(xí)(即將相機(jī)中的圖片保存在對(duì)應(yīng)的控制角度和油門大小文件中以進(jìn)行監(jiān)督學(xué)習(xí)),但是和強(qiáng)化學(xué)習(xí)無(wú)關(guān)。我希望的是有一個(gè)類似OpenAI Gym那樣的交互界面,可以用reset( )重置環(huán)境、對(duì)其進(jìn)行操作。所以,我決定在現(xiàn)有的Unity模擬器基礎(chǔ)上對(duì)其進(jìn)行修改,讓它更適合強(qiáng)化學(xué)習(xí)。

4.1 創(chuàng)建一種能用Python和Unity溝通的方法

因?yàn)槲覀円肞ython書寫強(qiáng)化學(xué)習(xí)代碼,所以我們首先要找到一種方法能讓Python在Unity環(huán)境中使用。結(jié)果我發(fā)現(xiàn)這現(xiàn)有的模擬器也是用Python代碼進(jìn)行溝通的,但它是通過(guò)Websocket協(xié)議進(jìn)行的,Weosocket和HTTP不同,它支持服務(wù)器和客戶端之間進(jìn)行雙向通信。在我們的案例中,我們的Python“服務(wù)器”可以直接向Unity推送信息(方向和油門),而我們的Unity“客戶端”也可以反向?qū)Ψ?wù)器推送信息(狀態(tài)和反饋)。

除了Websocket,我還考慮使用gRPC,這是一種高性能服務(wù)器-客戶端通信框架,用谷歌在2016年八月開源。Unity將其用于機(jī)器學(xué)習(xí)智能體接口通信的協(xié)議。但是它的設(shè)置有點(diǎn)麻煩,并不高效,所以我還是選擇Websocket。

4.2 為Donkey Car創(chuàng)建一個(gè)定制化的環(huán)境

下一步是創(chuàng)建一個(gè)類似于OpenAI gym的交互界面,用于訓(xùn)練強(qiáng)化學(xué)習(xí)算法。之前訓(xùn)練過(guò)強(qiáng)化學(xué)習(xí)算法的人可能對(duì)各種API的使用很熟悉。常見(jiàn)的就是reset( )、step( )、isgameover( )等。我們可以將OpenAI gym的種類進(jìn)行擴(kuò)展,然后用上面的方法創(chuàng)建自己的gym環(huán)境。

最終成果能和OpenAI gym相媲美,我們科用類似的指令與Donkey環(huán)境交互:

env = gym.make("donkey-v0")

state = env.reset()

action = get_action()

state, action, rewards, next_state = env.step(action)

環(huán)境同樣可以讓我們?cè)O(shè)置frame_skipping,并且用headless模式訓(xùn)練智能體(也就是無(wú)需Unity GUI)。

同時(shí),Tawn Kramer還有3中Unity場(chǎng)景可用:生成道路、倉(cāng)庫(kù)和Sparkfun AVC,都可以用于訓(xùn)練。在我們開始運(yùn)行自己的強(qiáng)化學(xué)習(xí)算法之前,我們要么自己搭建Donkey Car的Unity環(huán)境,要么下載預(yù)先搭建好的環(huán)境可執(zhí)行程序。具體的環(huán)境設(shè)置和訓(xùn)練指導(dǎo)可以在我的GitHub中找到:github.com/flyyufelix/donkey_rl

4.3 用DDQN訓(xùn)練Donkey Car

準(zhǔn)備好了對(duì)強(qiáng)化學(xué)習(xí)友好的環(huán)境,我們現(xiàn)在就可以搭建自己的強(qiáng)化學(xué)習(xí)算法啦!我采取的是用Keras書寫的Double Deep Q學(xué)習(xí)算法,這是DeepMind開發(fā)的經(jīng)典強(qiáng)化學(xué)習(xí)算法,易于測(cè)試,編寫簡(jiǎn)單。我已經(jīng)在OpenAI gym中的cartpole和VizDoom中測(cè)試了,所以如果有什么問(wèn)題,應(yīng)該是Unity環(huán)境的問(wèn)題,算法沒(méi)有問(wèn)題。關(guān)于DQN的文章,大家可以參考我之前的博文。flyyufelix.github.io/2017/10/12/dqn-vs-pg.html

4.3.1 狀態(tài)空間

我們用Donkey Car前方安裝的攝像機(jī)所拍攝的像素照片,執(zhí)行以下轉(zhuǎn)換:

將尺寸從(120, 160)改為(80, 80)

變?yōu)榛叶葓D像

框架堆疊:去前面幾個(gè)步驟中的4個(gè)框架堆在一起

最后的狀態(tài)維度應(yīng)該是(1, 80, 80, 4)。

4.3.2 動(dòng)作空間

現(xiàn)實(shí)和虛擬世界中的Donkey Car都是將持續(xù)的方向控制和油門數(shù)值作為輸入。為了簡(jiǎn)介,我們將油門數(shù)值設(shè)為常量(例如0.7),僅僅改變控制方向。控制方向的值從-1到1,但是,DQN只能處理分離的動(dòng)作,所以我將方向的值分為15個(gè)種類。

4.3.3 Q網(wǎng)絡(luò)框架

我們的Q網(wǎng)絡(luò)是一個(gè)3層卷積神經(jīng)網(wǎng)絡(luò),以堆疊的框架狀態(tài)為輸入,輸出表示方向值分類的15個(gè)值。

4.3.4 獎(jiǎng)勵(lì)

獎(jiǎng)勵(lì)是有關(guān)汽車偏離中線程度的函數(shù),它由Unity環(huán)境所提供。獎(jiǎng)勵(lì)函數(shù)用以下公式表達(dá):

其中maxcte是一個(gè)歸一化常數(shù),所以獎(jiǎng)勵(lì)的范圍在0到1之間。如果abs(cte)大于maxcte,循環(huán)即終止。

4.3.5 其他重要變量

Frame skipping設(shè)置為2以穩(wěn)定訓(xùn)練。Memory replay buffer的值為10000.Target Q網(wǎng)絡(luò)在最終訓(xùn)練時(shí)會(huì)更新。CNN訓(xùn)練時(shí)的Batch size為64。貪婪函數(shù)用于探索。Epsilon初始值為1,逐漸在10000次訓(xùn)練后會(huì)成為0.02。

4.3.6 結(jié)果

經(jīng)過(guò)上面的設(shè)置,在單個(gè)CPU和一個(gè)GTX 1080 GPU上,我訓(xùn)練了DDQN差不多100次。整個(gè)訓(xùn)練用了2到3個(gè)小時(shí)。可以從上面的視頻中看到,小車跑得很好!

去除背景噪聲

我們想讓我們的強(qiáng)化學(xué)習(xí)智能體只根據(jù)路線的位置和方向進(jìn)行決策輸出(即方向控制),不要受環(huán)境中的其他因素影響。但是,由于我們的輸入是全像素的圖像,它可能對(duì)背景模式過(guò)度擬合,而無(wú)法認(rèn)出行進(jìn)路線。這在現(xiàn)實(shí)中尤其重要,因?yàn)榕赃叺能嚨揽赡軙?huì)有障礙物(例如桌子、椅子、行人等)。如果我們想從虛擬世界將學(xué)習(xí)策略進(jìn)行遷移,我們應(yīng)該讓智能體顧略背景中的噪音,只關(guān)注于車道。

為了解決這個(gè)問(wèn)題,我創(chuàng)建了一個(gè)預(yù)處理通道,可以將行車路線從原始像素圖像中分離出去,再輸入到CNN中。分割過(guò)程受這篇博文的啟發(fā)(https://medium.com/@ldesegur/a-lane-detection-approach-for-self-driving-vehicles-c5ae1679f7ee)。這一過(guò)程概括如下:

Canny Edge檢測(cè)器檢測(cè)并提取所有邊框

用Hough直線轉(zhuǎn)換確定所有直線

將直線分成positive sloped和negative sloped兩類

刪除所有不屬于車道的直線

最終轉(zhuǎn)換出的圖片應(yīng)該有最多2條直線,具體情況如下:

接著我把分割后的圖像重新調(diào)整到(80, 80)的,將4個(gè)連續(xù)的框架堆疊在一起,用它們作為新的輸入狀態(tài)。我使用新狀態(tài)再次訓(xùn)練了DDQN,生成的強(qiáng)化學(xué)習(xí)智能體可以學(xué)習(xí)良好策略進(jìn)行駕駛!

然而,我注意到不僅僅訓(xùn)練時(shí)間會(huì)變長(zhǎng),學(xué)習(xí)策略也會(huì)變得不穩(wěn)定,車子會(huì)經(jīng)常在轉(zhuǎn)彎的時(shí)候搖晃。我想可能是因?yàn)樵谟?xùn)練的時(shí)候丟掉了有用的背景信息。不然的話,智能體應(yīng)該不會(huì)過(guò)度擬合。

下一步

在這篇文章中,我們介紹了一種能和OpenAI gym相比的環(huán)境,用來(lái)訓(xùn)練Unity模擬器中的Donkey Car。還用DDQN訓(xùn)練它自動(dòng)成功地自動(dòng)駕駛。接下來(lái),我計(jì)劃讓小車通過(guò)訓(xùn)練加速到最大值,并且將這一策略遷移到現(xiàn)實(shí)中。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:教程 | 如何在Unity環(huán)境中用強(qiáng)化學(xué)習(xí)訓(xùn)練Donkey Car

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    一種基于FPGA的飛行模擬器通信接口設(shè)計(jì)流程介紹

    的必需設(shè)備,它是一種由計(jì)算機(jī)實(shí)時(shí)控制、多系統(tǒng)協(xié)調(diào)工作、模擬真實(shí)飛行環(huán)境模擬設(shè)備。相較于利用飛機(jī)的飛行
    發(fā)表于 06-18 05:00

    一種基于SIMULINK工具的太陽(yáng)電池陣列模擬器的仿真模型設(shè)計(jì)

    設(shè)計(jì)一種成本較低,能夠代替實(shí)際光伏電池陣列來(lái)進(jìn)行各種光伏實(shí)驗(yàn)的太陽(yáng)電池模擬器。本文所設(shè)計(jì)的太陽(yáng)電池模擬器以BUCK電路為基礎(chǔ),采用ARM
    發(fā)表于 07-16 07:17

    飛行模擬器的運(yùn)動(dòng)系統(tǒng)

    `飛行模擬器,顧名思義也就是模擬飛行飛行的設(shè)備。用來(lái)應(yīng)對(duì)真實(shí)世界在飛行過(guò)程中會(huì)遇到的空氣動(dòng)力、氣象、地理環(huán)境、飛行系統(tǒng)等,并且將仿真操控和
    發(fā)表于 09-07 17:20

    一種雷達(dá)回波信號(hào)模擬器的設(shè)計(jì)與實(shí)現(xiàn)

    本文提出了一種基于CPCI母板和PMC背板的通用雷達(dá)回波模擬器的設(shè)計(jì)與實(shí)現(xiàn),重點(diǎn)介紹了基于單片F(xiàn)PGA設(shè)計(jì)PMC背板,實(shí)現(xiàn)雷達(dá)回波信號(hào)模擬器數(shù)據(jù)合成(噪聲/雜澎目標(biāo)回波)的設(shè)計(jì)方
    發(fā)表于 05-08 17:17 ?36次下載

    一種多普勒模擬器的設(shè)計(jì)與實(shí)現(xiàn)The Design and I

    本文介紹了一種成功應(yīng)用于某自主外測(cè)系統(tǒng)的多普勒模擬器的設(shè)計(jì)與實(shí)現(xiàn)。該模擬器易于使用,控制靈活。在系統(tǒng)聯(lián)調(diào)期間,該模擬器可進(jìn)行極小步進(jìn)、快速掃頻,取得了滿意
    發(fā)表于 05-25 15:14 ?33次下載

    基于開物2000、PLC 和I/O 擴(kuò)展的訓(xùn)練模擬器Based ControX2000, P

    介紹了一種在大規(guī)模數(shù)字I/O 擴(kuò)展的基礎(chǔ)上由通用監(jiān)控系統(tǒng)支撐軟件ControX( 開物)2000 和FP0_C32 型PLC 控制的訓(xùn)練模擬器。運(yùn)行結(jié)果表明,該訓(xùn)練
    發(fā)表于 06-03 08:00 ?12次下載

    駕駛訓(xùn)練模擬器車速表驅(qū)動(dòng)模塊設(shè)計(jì)

    主動(dòng)式汽車駕駛模擬器一種正確模擬汽車駕駛操作,并能在主要性能上獲得與實(shí)車相同感覺(jué)的汽車駕駛訓(xùn)練仿真教學(xué)設(shè)備,它
    發(fā)表于 08-26 11:22 ?21次下載

    一種新型的基于LabView設(shè)計(jì)的脈壓模擬器

    一種新型的基于LabView設(shè)計(jì)的脈壓模擬器  摘   要: 提出了一種新型的基于LabView設(shè)計(jì)的脈壓模擬器,介紹了其設(shè)計(jì)思想、系統(tǒng)的軟硬件構(gòu)成及應(yīng)
    發(fā)表于 12-01 10:25 ?948次閱讀
    <b class='flag-5'>一種</b>新型的基于LabView設(shè)計(jì)的脈壓<b class='flag-5'>模擬器</b>

    一種同步Slave FIFO模式的USB數(shù)據(jù)傳輸設(shè)計(jì)

    在現(xiàn)代科研、實(shí)驗(yàn)、教學(xué)、訓(xùn)練模擬器起著重要作用,它是一種由計(jì)算機(jī)實(shí)時(shí)控制、多系統(tǒng)協(xié)調(diào)T作、模擬
    發(fā)表于 11-16 09:16 ?9次下載
    <b class='flag-5'>一種</b>同步Slave FIFO模式的USB數(shù)據(jù)傳輸設(shè)計(jì)

    一種基于FPGA嵌入式系統(tǒng)的雷達(dá)信號(hào)模擬器的實(shí)現(xiàn)

    提出了一種基于FPGA的雷達(dá)回波實(shí)時(shí)模擬器的實(shí)現(xiàn)方法。該模擬器采用cPCI 標(biāo)準(zhǔn)總線,以FPGA 為核心計(jì)算單元,配有高速數(shù)模、模數(shù)轉(zhuǎn)換模塊,可實(shí)現(xiàn)雷達(dá)回波信號(hào)實(shí)時(shí)在線注入模擬。該
    發(fā)表于 11-18 13:00 ?2745次閱讀
    <b class='flag-5'>一種</b>基于FPGA嵌入式系統(tǒng)的雷達(dá)信號(hào)<b class='flag-5'>模擬器</b>的實(shí)現(xiàn)

    一種新的微結(jié)構(gòu)模擬器設(shè)計(jì)

    處理體系結(jié)構(gòu)模擬器可以對(duì)處理的結(jié)構(gòu)采用軟件方式進(jìn)行模擬,輔助處理的研究工作。通過(guò)對(duì)多種結(jié)構(gòu)和微結(jié)構(gòu)參數(shù)進(jìn)行配置,可以對(duì)處理
    發(fā)表于 03-12 16:13 ?0次下載
    <b class='flag-5'>一種</b>新的微結(jié)構(gòu)<b class='flag-5'>模擬器</b>設(shè)計(jì)

    南加州大學(xué)研究了個(gè)模擬器 訓(xùn)練機(jī)器人拼裝宜家家具

    為了訓(xùn)練機(jī)器隨機(jī)應(yīng)變、適應(yīng)真實(shí)環(huán)境的能力,南加州大學(xué)研究團(tuán)隊(duì)開發(fā)了個(gè)模擬器訓(xùn)練機(jī)器人拼裝宜
    發(fā)表于 12-04 09:52 ?4981次閱讀

    R-Car DNN模擬器的介紹

    本篇文章我們將介紹瑞薩為R-Car V4H提供的三類型的DNN開發(fā)模擬器,以及它們的使用情況和特點(diǎn)。
    的頭像 發(fā)表于 02-02 11:06 ?1247次閱讀

    太陽(yáng)模擬器:為太陽(yáng)研究帶來(lái)新的機(jī)遇

    太陽(yáng)模擬器一種可以模擬太陽(yáng)光譜的設(shè)備,被廣泛應(yīng)用于太陽(yáng)電池的研究和制造。它能夠?yàn)樘?yáng)領(lǐng)域
    的頭像 發(fā)表于 04-18 13:00 ?870次閱讀
    太陽(yáng)<b class='flag-5'>能</b><b class='flag-5'>模擬器</b>:為太陽(yáng)<b class='flag-5'>能</b>研究帶來(lái)新的機(jī)遇

    工程師說(shuō) | R-Car DNN模擬器的介紹 (2)

    摘要 在瑞薩提供的R-Car SoC相關(guān)的些DNN模擬器,本文將重點(diǎn)介紹 能夠?qū)崿F(xiàn)與實(shí)際硬件等價(jià)運(yùn)算的Accurate Simulator ,并說(shuō)明如何應(yīng)用它來(lái) 分析和提高神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-13 18:15 ?488次閱讀
    工程師說(shuō) | R-<b class='flag-5'>Car</b> DNN<b class='flag-5'>模擬器</b>的介紹 (2)
    主站蜘蛛池模板: 在线日本高清日本免费 | 欧美肥胖女人bbwbbw视频 | 精品99久久久久成人网站 | 国产精品大陆在线视频 | 国产国产成人人免费影院 | 呻吟翘臀后进爆白浆 | 成人无码精品一区二区在线观看 | 视频一区国产精戏刘婷30 | 日本人作爰啪啪全过程 | 在线观看亚洲免费人成网址 | 亚洲欧美综合在线中文 | 亚洲色视在线观看视频 | 青青草久久 | 亚洲人成网站7777视频 | 亚洲成a人不卡在线观看 | 网红刘婷hd国产高清 | 精品人伦一区二区三区潘金莲 | 日本无吗高清 | 久久久久毛片免费观看 | 欧美另类老少配hd | 日韩中文字幕欧美在线视频 | 亚洲一区高清 | 亚洲欧洲日本无在线码播放 | 免费精品美女久久久久久久久 | 狠狠色狠狠色综合曰曰 | 亚洲狠狠97婷婷综合久久久久 | 色网址在线观看 | 动漫H片在线播放免费高清 动漫AV纯肉无码AV电影网 | 国产成人精品s8p视频 | 微拍秒拍99福利精品小视频 | 一区三区在线专区在线 | 四虎影院网红美女 | 国产精品综合AV一区二区国产馆 | 成都电影免费中文高清 | 精品国产精品人妻久久无码五月天 | 果冻传媒视频在线观看完整版免费 | 国家产午夜精品无人区 | 亚洲色欲H网在线观看 | 亚洲激情一区 | 性色爽爱性色爽爱网站 | 亚洲高清国产品国语在线观看 |