• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于深度Q網(wǎng)絡(luò)和人工勢(shì)場(chǎng)的移動(dòng)機(jī)器人路徑規(guī)劃研究

      2022-12-01 01:06:40王冰晨連曉峰白天昕董兆陽
      計(jì)算機(jī)測(cè)量與控制 2022年11期
      關(guān)鍵詞:勢(shì)場(chǎng)馬爾可夫移動(dòng)機(jī)器人

      王冰晨,連曉峰,顏 湘,白天昕,董兆陽

      (北京工商大學(xué) 人工智能學(xué)院,北京 100048)

      0 引言

      伴隨人工智能技術(shù)的興起,移動(dòng)機(jī)器人正在朝著自探索、自學(xué)習(xí)、自適應(yīng)的方向發(fā)展[1]。行成路徑的策略被稱為路徑規(guī)劃。作為自主移動(dòng)機(jī)器人運(yùn)動(dòng)規(guī)劃的主要探究?jī)?nèi)容之一, 路徑規(guī)劃的目的是通過環(huán)境感知與主動(dòng)避障功能尋找一個(gè)合理的最優(yōu)路線,該道路由起點(diǎn)到目標(biāo)點(diǎn)在既定的目標(biāo)距離內(nèi)不和其他障礙物交叉,并且要調(diào)整機(jī)器人移動(dòng)方向,使之盡量滿足更短、更平緩的條件。依照自主移動(dòng)機(jī)器人在它運(yùn)行環(huán)境內(nèi)信息的剖析水平,路徑規(guī)劃可分兩種類別, 即局部路徑規(guī)劃和全局路徑規(guī)劃。路徑規(guī)劃效果的優(yōu)劣會(huì)立刻裁奪自主移動(dòng)機(jī)器人完成任務(wù)的時(shí)效性和質(zhì)量好壞,而機(jī)器人路徑規(guī)劃的核心內(nèi)容是算法的設(shè)計(jì)[2]。常用的移動(dòng)機(jī)器人路徑規(guī)劃算法有人工勢(shì)場(chǎng)法[3]、粒子群優(yōu)化算法[4]、模糊邏輯算法[5]、遺傳算法[6]等。而這類常用的方式多數(shù)需依據(jù)環(huán)境建模,往往需求預(yù)先構(gòu)造出地圖相關(guān)信息,然后對(duì)環(huán)境路徑做好控制規(guī)劃。一旦建立出了不準(zhǔn)確模型,必將惡化過程與結(jié)果的實(shí)時(shí)性和準(zhǔn)確性,乃至將會(huì)影響移動(dòng)機(jī)器人及其周邊環(huán)境的安全性。按照訓(xùn)練方法的不同,路徑規(guī)劃可分成監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)幾類方式,在實(shí)施路徑規(guī)劃時(shí)監(jiān)督學(xué)習(xí)需要提前建立出環(huán)境信息,需要提供大量的先驗(yàn)知識(shí),不然將不能完成滿足需求的路徑規(guī)劃。無監(jiān)督學(xué)習(xí)同監(jiān)督學(xué)習(xí)一樣。與此相反,強(qiáng)化學(xué)習(xí)不必提前了解環(huán)境信息,換句話說即無須先驗(yàn)知識(shí),所以這種學(xué)習(xí)方式被普遍地使用于智能移動(dòng)機(jī)器人路徑規(guī)劃中。強(qiáng)化學(xué)習(xí)的智能體將會(huì)和環(huán)境持續(xù)不斷試錯(cuò)和交互,并經(jīng)由累積獎(jiǎng)勵(lì)于改良策略,這是類于周圍狀況映照至行為的學(xué)習(xí)方法[7],它把學(xué)習(xí)當(dāng)成是一個(gè)“試探-評(píng)價(jià)”的進(jìn)程。Q學(xué)習(xí)(Q-learning)是強(qiáng)化學(xué)習(xí)中的一種常用的基礎(chǔ)模型,并且不需要了解具體模型就能夠確保最終收斂,它也為當(dāng)前運(yùn)用到智能自主移動(dòng)機(jī)器人路徑規(guī)劃的特別見效的模型之一,當(dāng)于狀態(tài)空間相對(duì)小的情境下可以輕松地取得滿意的路徑規(guī)劃結(jié)果[8],得到滿意的相關(guān)參數(shù),該算法是經(jīng)由搭建Q值表來挑選最佳策略的,當(dāng)維度比較高的時(shí)候,這將引起維數(shù)災(zāi)難[9]。

      深度強(qiáng)化學(xué)習(xí)(DRL,deep reinforcement learning)算法將強(qiáng)化學(xué)習(xí)的決策能力與深度學(xué)習(xí)強(qiáng)大的感知能力融合到一起,在應(yīng)對(duì)不同情境的工作中表現(xiàn)優(yōu)秀,這非常利于移動(dòng)機(jī)器人的自主路徑規(guī)劃或?qū)Ш奖苷?。深度Q網(wǎng)絡(luò)(DQN,deep q-learning network)是眾多深度強(qiáng)化學(xué)習(xí)算法中的非常典型的常用算法,它是一個(gè)貼近人們思考邏輯的人工智能算法,核心就是把Q-table的更新轉(zhuǎn)化為函數(shù)問題,通過擬合一個(gè)function來代替Q-table產(chǎn)生Q值。Mnih等人[10]提出了DQN技術(shù),并將它使用到Atari2600中,在游戲內(nèi)達(dá)到人類玩家甚至超越人類玩家的水準(zhǔn)。Schaul等人[11]提出訓(xùn)練DQN模型的方法為根據(jù)優(yōu)先級(jí)的經(jīng)驗(yàn)回放方式取代原本的同概率選擇方式,優(yōu)先回放的核心思路是給經(jīng)驗(yàn)池里的經(jīng)驗(yàn)分別規(guī)定優(yōu)先級(jí),之后在選擇經(jīng)驗(yàn)時(shí)會(huì)偏向于挑選優(yōu)先級(jí)很高的經(jīng)驗(yàn)。Xin等人[12]在進(jìn)行移動(dòng)機(jī)器人路徑規(guī)劃時(shí),第一次使用到了DQN算法。

      為解決DQN算法在路徑規(guī)劃上存在的收斂速度慢,訓(xùn)練前期產(chǎn)生巨大迭代空間的問題,本文在現(xiàn)有的路徑規(guī)劃算法和深度Q網(wǎng)絡(luò)基礎(chǔ)上,提出一種基于深度強(qiáng)化學(xué)習(xí)和人工勢(shì)場(chǎng)法融合的路徑規(guī)劃算法。

      1 人工勢(shì)場(chǎng)

      人工勢(shì)場(chǎng)法(APF,artificial potential field)路徑規(guī)劃是由Khatib[13]提出的一種虛擬力算法,是局部路徑規(guī)劃里面頻繁被用到的算法,物理學(xué)里面的勢(shì),也被稱為“位”,為一種能量的概念。把經(jīng)典力學(xué)里的“場(chǎng)”的思想加到此算法里面,假設(shè)使移動(dòng)機(jī)器人于此類虛擬力場(chǎng)里實(shí)施運(yùn)動(dòng)動(dòng)作。究竟怎么規(guī)劃勢(shì)場(chǎng)會(huì)影響此方法的實(shí)用性和性能。它的核心概念為把自主移動(dòng)機(jī)器人在周圍現(xiàn)實(shí)情境中的運(yùn)動(dòng)設(shè)想成一個(gè)在寬泛的人工力場(chǎng)中的運(yùn)動(dòng),利用目標(biāo)物對(duì)自主移動(dòng)機(jī)器人形成“引力”影響,障礙物對(duì)自主移動(dòng)機(jī)器人形成“斥力”影響,最終再利用求出的合力來限制自主移動(dòng)機(jī)器人的運(yùn)動(dòng),如圖1所示,是人工勢(shì)場(chǎng)法中對(duì)環(huán)境下自主移動(dòng)機(jī)器人的受力分析。而應(yīng)用勢(shì)場(chǎng)法設(shè)計(jì)出來的運(yùn)動(dòng)路線,通常是是相對(duì)平滑而且安全的[14]。

      圖1 人工勢(shì)場(chǎng)法中機(jī)器人的受力分析

      最常見的引力場(chǎng)函數(shù)(Attractive Field)如公式(1)所示:

      (1)

      其中:ζ為引力增益,d(q,qgoal)是當(dāng)前點(diǎn)q與目標(biāo)點(diǎn)qgoal之間的歐幾里得距離。引力場(chǎng)有了,那么引力就是引力勢(shì)場(chǎng)對(duì)距離的負(fù)導(dǎo)數(shù):

      Fatt(q)=-▽Uatt(q)=ζ(qgoal-q)

      (2)

      最常見的斥力場(chǎng)函數(shù)(Repulsive Potential)如公式(3)所示:

      (3)

      其中:η是斥力增益,D(q)是目前點(diǎn)q與相離最近的障礙物點(diǎn)之間的歐幾里得距離,Q*是障礙物出現(xiàn)斥力影響的距離閾值,大于此閾值距離的障礙物不會(huì)產(chǎn)生排斥力作用來影響移動(dòng)機(jī)器人。同理,斥力為:

      Frep(q)=-▽Urep(q)=

      (4)

      將斥力場(chǎng)與引力場(chǎng)疊加,就形成了人工勢(shì)力場(chǎng):

      U(q)=Uatt(q)+Urep(q)

      (5)

      F(q)=-▽U(q)

      (6)

      在排斥力勢(shì)場(chǎng)和引力勢(shì)場(chǎng)合力的驅(qū)動(dòng)下,將移動(dòng)機(jī)器人由高勢(shì)能位置移動(dòng)到低勢(shì)能位置,同時(shí)找到一條能夠到達(dá)目標(biāo)點(diǎn)位置的無碰撞路徑。地圖上目標(biāo)位置的引力(即重力)涵蓋了整個(gè)環(huán)境地圖,2D空間的引力場(chǎng)示意圖如圖2所示,因此自主移動(dòng)機(jī)器人可以從地圖上的任何位置向目標(biāo)點(diǎn)位置進(jìn)行移動(dòng)。

      圖2 2D空間引力場(chǎng)

      人工勢(shì)場(chǎng)法如同搭建了類似吸鐵石的場(chǎng)景,里面容納了引力場(chǎng)與斥力場(chǎng)。深色物體產(chǎn)生斥力,是障礙物,箭標(biāo)指向是移動(dòng)機(jī)器人接下來運(yùn)行的方向。智能移動(dòng)機(jī)器人依據(jù)箭標(biāo)的指向抵至目標(biāo)物,目標(biāo)物有類似于“引力”似的招至移動(dòng)機(jī)器人與它的距離減小。但于障礙物周圍,移動(dòng)機(jī)器人反著箭標(biāo)的方向,類似于對(duì)機(jī)器人形成“斥力”。移動(dòng)機(jī)器人移動(dòng)的方向即斥力和引力的合力的指向。

      人工勢(shì)場(chǎng)法也存在諸多問題,比如在移動(dòng)機(jī)器人距離目標(biāo)位置相對(duì)遠(yuǎn)的時(shí)候,引力會(huì)變的非常大,且比較小的斥力在乃至能夠被無視的情境下,移動(dòng)機(jī)器人在路徑上大概率將碰到障礙物;在目標(biāo)點(diǎn)位置旁邊有障礙物時(shí)侯,斥力會(huì)變得特別大,而引力特別小,移動(dòng)機(jī)器人抵達(dá)目標(biāo)點(diǎn)位置將會(huì)變得很麻煩;當(dāng)環(huán)境中的一點(diǎn),引力和斥力正好完全相等,方向相反,那么移動(dòng)機(jī)器人將很輕易地深陷震蕩或局部最優(yōu)解。

      對(duì)于上述存在的問題來說,接觸到障礙物的問題,能夠經(jīng)由修改引力函數(shù)來處理,阻止遇到距離目標(biāo)點(diǎn)位置過于遠(yuǎn)從而出現(xiàn)引力太大的情況;目標(biāo)點(diǎn)位置旁邊有障礙物從而引起目標(biāo)不可達(dá)的問題,能夠經(jīng)由引進(jìn)其它斥力函數(shù)來處理,此函數(shù)增添目標(biāo)點(diǎn)和移動(dòng)機(jī)器人距離的作用,一定程度而言,當(dāng)移動(dòng)機(jī)器人在目標(biāo)點(diǎn)附近時(shí),即使斥力作用變大,但與此同時(shí)距離在變小,所以此函數(shù)的增添能夠產(chǎn)生對(duì)斥力場(chǎng)的拖拽影響;陷入局部最優(yōu)解和震蕩是人工勢(shì)場(chǎng)法的一大難題,能夠經(jīng)由增添一個(gè)隨機(jī)擾動(dòng),從而使得移動(dòng)機(jī)器人脫離局部最優(yōu)的情況。

      2 深度強(qiáng)化學(xué)習(xí)

      深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的聯(lián)結(jié)是人工智能領(lǐng)域的一個(gè)必然發(fā)展的趨勢(shì)。深度強(qiáng)化學(xué)習(xí)可以經(jīng)由端對(duì)端的學(xué)習(xí)方式完成從原始輸入到輸出的直接控制,即能夠運(yùn)用到強(qiáng)化學(xué)習(xí)的試錯(cuò)算法和積累獎(jiǎng)勵(lì)函數(shù)來加速神經(jīng)網(wǎng)絡(luò)設(shè)計(jì),又能夠使用到深度學(xué)習(xí)的高維數(shù)據(jù)處理本領(lǐng)與快捷特征提取本領(lǐng)來成功搞定強(qiáng)化學(xué)習(xí)中的值函數(shù)逼近問題,可以進(jìn)行“從零開始”“無師自通”的學(xué)習(xí)方式。

      2.1 卷積神經(jīng)網(wǎng)絡(luò)

      人工神經(jīng)網(wǎng)絡(luò)(ANN,artificial neural networks)是一種模擬生物神經(jīng)系統(tǒng)的結(jié)構(gòu)和行為,從信息處理的視角對(duì)生物神經(jīng)元網(wǎng)絡(luò)實(shí)行抽象,搭建一種容易模型,依據(jù)不一樣的連接方式構(gòu)建不一樣的網(wǎng)絡(luò),進(jìn)行分布式并行信息處理的算法模型。人工神經(jīng)網(wǎng)絡(luò)借助改變結(jié)構(gòu)中神經(jīng)元與神經(jīng)元之間的權(quán)重關(guān)聯(lián),進(jìn)而完成處理相關(guān)信息的目標(biāo)。卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)是一種前饋型神經(jīng)網(wǎng)絡(luò),是由一些卷積層和池化層構(gòu)成的,對(duì)于圖像處理技術(shù)方面卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)用特別廣泛,并且表現(xiàn)結(jié)果格外優(yōu)秀。

      卷積神經(jīng)網(wǎng)絡(luò)主要由:輸入層、卷積層、ReLU層、池化(Pooling)層和全連接層(全連接層和常規(guī)神經(jīng)網(wǎng)絡(luò)中的一樣)構(gòu)成。把幾個(gè)類型層相互疊加到一起,能夠搭建成為一個(gè)完整的卷積神經(jīng)網(wǎng)絡(luò)。在現(xiàn)實(shí)情況的使用過程里,經(jīng)常把卷積層與ReLU層一起叫作卷積層,因此卷積層在通過卷積步驟之后還需要通過激活函數(shù)。如圖3是一種卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

      圖3 一種卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖

      將卷積神經(jīng)網(wǎng)絡(luò)與典型人工神經(jīng)網(wǎng)絡(luò)相比,成功處理的一類問題是“將復(fù)雜問題簡(jiǎn)化”,將諸多參數(shù)降低維度到些許參數(shù),之后再進(jìn)一步處理。最主要的原因?yàn)椋涸诮^大多數(shù)情況下,降低維度的處理并不改變最終結(jié)果。舉例像2 000像素的圖片被降維至400像素,此行為最終不改變?nèi)搜劭闯鰜韴D片中原來的小動(dòng)物具體是什么種類,機(jī)器也和人眼一樣。成功處理的另一類問題是“保留視覺特征”,從視覺的角度來看,在圖片的具體內(nèi)容(本質(zhì))不發(fā)生改變,不過圖片位置發(fā)生了改變的情況。在我們改變圖像中物體的位置時(shí),用經(jīng)典人工神經(jīng)網(wǎng)絡(luò)的方法處理得到的參數(shù)將與之相差特別多,此現(xiàn)象極度與圖像處理的要求相矛盾。但卷積神經(jīng)網(wǎng)絡(luò)成功處理了此問題,它應(yīng)用幾乎相同于視覺的方法維持了圖像的特征,當(dāng)圖像做翻轉(zhuǎn)、旋轉(zhuǎn)或者變換位置得動(dòng)作時(shí),它仍然可以快速地識(shí)別得出這也是類似的圖像。

      伴隨著深度學(xué)習(xí)相關(guān)技術(shù)的研究與發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)在各種圖像數(shù)據(jù)集上的準(zhǔn)確率越來越高,其結(jié)構(gòu)也向著更深的方向發(fā)展,這得益于大數(shù)據(jù)技術(shù)和GPU的出現(xiàn)。這些進(jìn)步使得卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺領(lǐng)域獲得了廣泛的應(yīng)用,從簡(jiǎn)單的圖像分類,到精確到每一像素的圖像分割,卷積神經(jīng)網(wǎng)絡(luò)都有著特別出色的表現(xiàn)。

      2.2 馬爾可夫決策過程

      強(qiáng)化學(xué)習(xí)可以看作狀態(tài)、動(dòng)作和獎(jiǎng)勵(lì)三者的時(shí)間序列,其中狀態(tài)又可以分為三種:環(huán)境狀態(tài),智能體狀態(tài)和信息狀態(tài)。信息狀態(tài)包含歷史的所有有用信息,一般指馬爾可夫。馬爾可夫狀態(tài)中,當(dāng)前狀態(tài)只與前一個(gè)狀態(tài)有關(guān),一旦當(dāng)前狀態(tài)已知,就會(huì)舍棄歷史信息,只需要保留當(dāng)前狀態(tài)。

      經(jīng)過前人數(shù)多年的持續(xù)探索和研究,最終一種能夠成功處理多數(shù)強(qiáng)化學(xué)習(xí)問題的框架被發(fā)明揭示,此框架即馬爾可夫決策過程(MDP,markov decision processes)。接下來本文將相對(duì)詳細(xì)地介紹馬爾可夫決策過程:首先介紹馬爾可夫性,接著介紹馬爾可夫過程,最后介紹馬爾可夫決策過程。

      馬爾可夫性指下一個(gè)狀態(tài)只與當(dāng)前狀態(tài)有關(guān),且與先前的狀態(tài)無關(guān)。馬爾可夫性定義為:狀態(tài)st是馬爾可夫性的,當(dāng)且僅當(dāng):

      P[st+1|st]=P[st+1|s1,…,st]

      (7)

      從上面的定義可以看出,某個(gè)狀態(tài)是馬爾可夫的,即該狀態(tài)從歷史中捕獲了所有信息。因此,一旦得到了該狀態(tài),就可以舍棄歷史信息了。換句話說,當(dāng)前狀態(tài)是未來的充分統(tǒng)計(jì)量。在強(qiáng)化學(xué)習(xí)過程中,狀態(tài)s包含了足夠多的歷史信息,來描述未來所有的回報(bào)。

      馬爾可夫過程的定義:隨機(jī)變量序列中的每個(gè)狀態(tài)都是馬爾可夫的,是一個(gè)二元組(S,P),S為有限狀態(tài)集,P是狀態(tài)轉(zhuǎn)移概率。

      對(duì)于馬爾可夫狀態(tài)s和他的后繼狀態(tài)s′,定義狀態(tài)轉(zhuǎn)移概率為:

      Pss′=[st+1=s′|st=s]

      (8)

      狀態(tài)轉(zhuǎn)移矩陣P定義了所有由狀態(tài)s到后繼狀態(tài)s′的轉(zhuǎn)移概率,即:

      (9)

      馬爾可夫決策過程由五元組組成。其中S為有限的狀態(tài)集,A為有限的動(dòng)作集,P為狀態(tài)轉(zhuǎn)移概率,R為回報(bào)函數(shù),γ為折扣因子,用于計(jì)算累積回報(bào)。

      強(qiáng)化學(xué)習(xí)的目標(biāo)是,給定一個(gè)MDP,尋找最優(yōu)策略。這里的策略指從狀態(tài)到行為的映射:

      π(a|s)=P[At=a|St=s]

      (10)

      該式含義為:策略π在任何狀態(tài)s下指定一個(gè)動(dòng)作概率,假設(shè)這是一個(gè)確定的動(dòng)作,那么這個(gè)策略為確定性策略。事實(shí)上,強(qiáng)化學(xué)習(xí)的策略通常是隨機(jī)策略,移動(dòng)機(jī)器人通過不斷測(cè)驗(yàn)其他動(dòng)作從而找到更優(yōu)秀的策略,為此引入概率因素。既然策略是隨機(jī)的策略,那么狀態(tài)變化序列也可能不同,因此累計(jì)回報(bào)也是隨機(jī)的。

      2.3 Q-learning

      在強(qiáng)化學(xué)習(xí)中,大部分情況下都會(huì)采用時(shí)間差分(TD,temporal-difference)算法族。TD-Learning聯(lián)結(jié)了動(dòng)態(tài)規(guī)劃和蒙特卡羅算法,是強(qiáng)化學(xué)習(xí)的核心思想。實(shí)際上,TD-Learning利用了馬爾可夫?qū)傩?,通過含蓄地構(gòu)建MDP結(jié)構(gòu)來利用它,然后從MDP結(jié)構(gòu)來求解問題。

      TD-Learning策略迭代包括策略評(píng)估和策略改善,若策略評(píng)估和改善的更新方式相同則為On-Policy,否則為Off-policy。Q-learning算法就是基于Off-policy的TD優(yōu)化,其在更新下一策略時(shí)使用了max操作,為挑選最優(yōu)動(dòng)作,但是當(dāng)前動(dòng)作并不見得必能挑選到最優(yōu)動(dòng)作,所以這里策略評(píng)價(jià)的策略和策略改進(jìn)的策略不同。

      Q-learning是Watkins于1989年提出的一種無模型的強(qiáng)化學(xué)習(xí)方法[15]。它是一種value-based算法,即通過判斷每一步動(dòng)作的價(jià)值來進(jìn)行下一步的動(dòng)作, Q-learning的核心是Q-Table,它可以評(píng)定所有可用行為的預(yù)期效用,并且不使用環(huán)境模型,即無需先驗(yàn)知識(shí)。在同一時(shí)間,它也能夠處理并解決隨機(jī)過渡問題和獎(jiǎng)勵(lì)問題,并且不必做任何調(diào)整。因?yàn)槟壳耙呀?jīng)得到了證實(shí),就是從目前狀態(tài)出發(fā),每個(gè)連續(xù)步驟對(duì)于收益總回報(bào)能得到最大的期望值,針對(duì)隨機(jī)一個(gè)局限的MDP,調(diào)整Q-learning學(xué)習(xí)最終結(jié)果是會(huì)找到一個(gè)最優(yōu)策略。在起初學(xué)習(xí)前,Q將被初始化成為一種不定的固定值。接下來在下一個(gè)時(shí)間t,智能體會(huì)進(jìn)行一次動(dòng)作選擇at,并獲得一個(gè)獎(jiǎng)勵(lì)rt,得到一個(gè)全新的狀態(tài)St+1和Q值更新。值函數(shù)的迭代過程是該算法的重點(diǎn),即:

      Q(st,at)←Q(st,at)+

      (11)

      其中:α是學(xué)習(xí)率,γ為折扣因子。

      Q-learning算法通過一個(gè)Q-tabel來記錄每個(gè)狀態(tài)下的動(dòng)作值,在動(dòng)作空間或狀態(tài)空間相對(duì)很大的時(shí)候,必要的存儲(chǔ)空間便會(huì)更大。如果狀態(tài)空間或動(dòng)作空間連續(xù),則該算法無法使用。所以,Q-learning算法只能用于解決離散并且低維度狀態(tài)空間和動(dòng)作空間類問題。

      表1為Q-learning算法的偽代碼。

      表1 Q-learning:Off-policy TD Control算法

      2.4 深度Q網(wǎng)絡(luò)

      Mnih等人把卷積神經(jīng)網(wǎng)絡(luò)和經(jīng)典的Q-learning算法結(jié)合到一起,提出了DQN算法模型,該算法的提出開創(chuàng)了深度強(qiáng)化學(xué)習(xí)新的研究領(lǐng)域。DQN算法的核心概念是以一個(gè)人工神經(jīng)網(wǎng)絡(luò)q(s,a:ω),s∈S,a∈A來代替Q-tabel,亦即動(dòng)作價(jià)值函數(shù),該算法將卷積神經(jīng)網(wǎng)絡(luò)作以媒介,將參數(shù)是ω的f網(wǎng)絡(luò)約等取代為值函數(shù),原理公式為:

      f(s,a,ω)≈Q*(s,a)

      (12)

      其中:f(s,a,ω)能夠是任意類型函數(shù),用函數(shù)取代,神經(jīng)網(wǎng)絡(luò)的輸出能夠拿來表征Q值,且不管狀態(tài)空間的大小如何,s為輸入狀態(tài)。網(wǎng)絡(luò)的輸入為狀態(tài)信息,而輸出則是每個(gè)動(dòng)作的價(jià)值,因此DQN算法不僅可以用來解決連續(xù)狀態(tài)空間而且可以解決離散動(dòng)作空間問題。

      DQN相較于傳統(tǒng)強(qiáng)化學(xué)習(xí)算法有兩大非常重要的改進(jìn):

      1)引入深度學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò),并不直接使用預(yù)更新的目前Q網(wǎng)絡(luò)。使用的神經(jīng)網(wǎng)絡(luò)為雙重網(wǎng)絡(luò)結(jié)構(gòu),便可以一起使用Q估計(jì)網(wǎng)絡(luò)和Q目標(biāo)網(wǎng)絡(luò)來完成模型的訓(xùn)練,并由此來降低目標(biāo)值與當(dāng)前值之間的關(guān)聯(lián)性。在學(xué)習(xí)經(jīng)歷中,學(xué)習(xí)目標(biāo)是應(yīng)用目標(biāo)網(wǎng)絡(luò)進(jìn)行自益從而獲得回報(bào)的評(píng)估值。在更新的歷程中,無需更新目標(biāo)網(wǎng)絡(luò)的權(quán)重,只需更新評(píng)估網(wǎng)絡(luò)的權(quán)重。另外目標(biāo)網(wǎng)絡(luò)和估計(jì)網(wǎng)絡(luò)的構(gòu)成是一摸一樣的。此方法極大地提高了網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性和收斂性。

      卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是一種最優(yōu)化問題,所謂的最優(yōu)化就是最優(yōu)化一個(gè)損失函數(shù)[16],是標(biāo)簽與卷積神經(jīng)網(wǎng)絡(luò)之間輸出的偏差值,其目標(biāo)是使得損失函數(shù)值最小。所以,首先必須有一定的訓(xùn)練樣本,其中含有許多的帶標(biāo)記數(shù)據(jù),接著再經(jīng)由以反向傳播[17]方式的梯度下降來改變并更新卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)。

      此時(shí)使用Q-learning計(jì)算出來的正確Q值當(dāng)做標(biāo)記信息,為Q-Network提供需要的訓(xùn)練樣本,不斷地優(yōu)化權(quán)重矩陣。因此,Q-Network訓(xùn)練的損失函數(shù)為:

      L(ω)=

      (13)

      其中:Q(st,at,ω)是目前網(wǎng)絡(luò)輸出,用于評(píng)價(jià)與目前狀態(tài)動(dòng)作相應(yīng)的值函數(shù),Q(st+1,at+1,ω-)是Q-target的輸出,用于獲得目標(biāo)函數(shù)的Q值,ω-由參數(shù)ω延遲更新得到。

      2)采用了經(jīng)驗(yàn)回放機(jī)制,要求在每次進(jìn)行網(wǎng)絡(luò)更新時(shí)輸入的信息數(shù)據(jù)符合獨(dú)立同分布,從而打破數(shù)據(jù)間的關(guān)聯(lián)性。記憶回放的基本思路是在每一回學(xué)習(xí)進(jìn)程中隨機(jī)地選擇出記憶庫中的部分樣本數(shù)據(jù),然后對(duì)它實(shí)行梯度下降學(xué)習(xí)。智能體會(huì)隨機(jī)從經(jīng)驗(yàn)池中抽取定量的transition,以進(jìn)行學(xué)習(xí),既可以學(xué)習(xí)現(xiàn)在也可以學(xué)習(xí)過去的經(jīng)驗(yàn),同時(shí)隨機(jī)的抽取也降低了樣本之間的相關(guān)性導(dǎo)致的過擬合。要想能夠把新的經(jīng)驗(yàn)單元與舊經(jīng)驗(yàn)單元任意地混雜并加以更換,進(jìn)而打斷相鄰樣本數(shù)據(jù)之間的關(guān)聯(lián)性,需要利用到記憶矩陣中的經(jīng)驗(yàn)單元(s,a,r,s′)。同時(shí)其中多數(shù)經(jīng)驗(yàn)會(huì)被多次重復(fù)地利用或加以更新,對(duì)于數(shù)據(jù)取得相對(duì)麻煩的情境特別適用,以此提升樣本的利用率。

      DQN的算法運(yùn)行結(jié)構(gòu)圖如圖4所示。

      圖4 DQN 算法運(yùn)行結(jié)構(gòu)圖

      智能體不斷與周圍環(huán)境交互,并獲取交互數(shù)據(jù)(s,a,r,s′)存入replay memory,當(dāng)經(jīng)驗(yàn)池中有足夠多的數(shù)據(jù)之后,從經(jīng)驗(yàn)池中隨機(jī)抽取出一個(gè)batch_size大小的數(shù)據(jù),然后使用當(dāng)前網(wǎng)絡(luò)計(jì)算Q的預(yù)測(cè)值,再利用Q-Target網(wǎng)絡(luò)計(jì)算出Q目標(biāo)值,進(jìn)而計(jì)算兩者之間的損失函數(shù),使用梯度下降來改變或更新當(dāng)前網(wǎng)絡(luò)參數(shù),重復(fù)若干次后,把當(dāng)前網(wǎng)絡(luò)的參數(shù)復(fù)制給Q-Target網(wǎng)絡(luò)。

      3 深度Q網(wǎng)絡(luò)和人工勢(shì)場(chǎng)融合算法

      深度強(qiáng)化學(xué)習(xí)是深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)的整合體,實(shí)際來說是融合了強(qiáng)化學(xué)習(xí)和深度學(xué)習(xí)的各自優(yōu)點(diǎn),但它仍然偏重于強(qiáng)化學(xué)習(xí),處理的關(guān)鍵依舊是有關(guān)決策的,僅僅依靠神經(jīng)網(wǎng)絡(luò)強(qiáng)勁的表達(dá)本領(lǐng)來擬合Q表或徑直擬合策略用來處理狀態(tài)-動(dòng)作空間問題[18]。

      傳統(tǒng)的DQN算法訓(xùn)練時(shí)間長(zhǎng),收斂速度慢。DQN在Q表的初始化進(jìn)程中通常被設(shè)計(jì)為絕對(duì)隨機(jī)抽取,對(duì)環(huán)境并無先驗(yàn)信息,此設(shè)計(jì)導(dǎo)致自主移動(dòng)機(jī)器人在各個(gè)初始狀態(tài)對(duì)動(dòng)作的挑選是完全任意的。通常使用ε-貪婪策略進(jìn)行動(dòng)作選擇。當(dāng)自主移動(dòng)機(jī)器人挑選出動(dòng)作并進(jìn)入到接下來的狀態(tài)時(shí),它通常會(huì)按照目前狀態(tài)下動(dòng)作的即時(shí)獎(jiǎng)勵(lì)與接下來狀態(tài)的最大行為值函數(shù)來更新和調(diào)整目前狀態(tài)的行為價(jià)值函數(shù)。DQN算法是一種Off-policy算法。在最開始幾輪訓(xùn)練規(guī)劃中,尤其是在規(guī)模相對(duì)大的未知的環(huán)境下,會(huì)輕松地出現(xiàn)巨大的無效迭代空間[19],之后伴著路徑規(guī)劃訓(xùn)練過程的慢慢增多,智能體對(duì)環(huán)境信息有了越來越多的了解,Q值將逐步趨向收斂狀態(tài),進(jìn)而路徑規(guī)劃回合的速率也會(huì)隨著逐步變快[20]。

      為了克服DQN算法收斂速度慢且在計(jì)算初始階段容易陷入巨大的無效迭代空間問題,我們采用了DQN與人工勢(shì)場(chǎng)算法結(jié)合的方式初始化Q值,提供給算法先驗(yàn)知識(shí),鑒于地圖上障礙物散播相對(duì)比較聚集,以便增強(qiáng)算法的實(shí)時(shí)性能,刨除障礙物出現(xiàn)的斥力場(chǎng)對(duì)移動(dòng)機(jī)器人的排斥力作用,本文只考慮目標(biāo)點(diǎn)對(duì)自主移動(dòng)機(jī)器人的引力作用。本文的引力勢(shì)場(chǎng)函數(shù)的引力如式(14)所示。

      (14)

      Q(s,a,ω)=r+γV(s′)

      (15)

      該算法的流程圖如圖5所示。

      圖5 DQN改進(jìn)算法流程圖

      4 仿真實(shí)驗(yàn)

      4.1 實(shí)驗(yàn)環(huán)境

      為了驗(yàn)證本文提出的人工勢(shì)場(chǎng)與DQN結(jié)合算法在路徑規(guī)劃中的收斂速度和較小迭代空間上的出眾性能,對(duì)本文提出的改進(jìn)DQN方法與傳統(tǒng)DQN算法進(jìn)行了效果對(duì)比。由于柵格法建模的廣泛性和實(shí)用性[21],實(shí)驗(yàn)環(huán)境使用柵格法進(jìn)行建模。本文模擬軟件使用的實(shí)驗(yàn)環(huán)境如表2所示。

      表2 實(shí)驗(yàn)環(huán)境與配置

      4.2 參數(shù)配置

      機(jī)器人的動(dòng)作A={向上,向下,向左,向右}。

      獎(jiǎng)勵(lì)函數(shù)將會(huì)對(duì)強(qiáng)化學(xué)習(xí)挑選動(dòng)作的優(yōu)劣給給出評(píng)價(jià),在強(qiáng)化學(xué)習(xí)過程中具有積極的任務(wù)完成指引效果,用r表示。本文算法獎(jiǎng)勵(lì)函數(shù)設(shè)置為:

      (16)

      仿真實(shí)驗(yàn)的各個(gè)參數(shù)為如表3所示。

      表3 實(shí)驗(yàn)參數(shù)

      4.3 實(shí)驗(yàn)結(jié)果與分析

      運(yùn)動(dòng)環(huán)境大小設(shè)置為16×16的柵格環(huán)境,其中每個(gè)柵格的尺寸為1×1像素。將柵格地圖環(huán)境左上角設(shè)置為坐標(biāo)的原點(diǎn),橫向方向設(shè)為x軸,縱向方向設(shè)為y軸,定義起點(diǎn)位置為(1,1),目標(biāo)點(diǎn)位置為(15,15),黑色的柵格象征障礙區(qū)域,白色的柵格象征自由移動(dòng)區(qū)域,仿真環(huán)境如圖6所示。將自主移動(dòng)機(jī)器人近似作為一個(gè)點(diǎn),忽略其體積對(duì)仿真實(shí)驗(yàn)的影響。通過實(shí)驗(yàn)仿真,在全局靜態(tài)環(huán)境下,利用改進(jìn)DQN算法得到的從起點(diǎn)到終點(diǎn)路徑規(guī)劃和傳統(tǒng)DQN算法結(jié)果相同,如圖7所示。利用傳統(tǒng)的DQN算法與改進(jìn)的DQN得到的迭代收斂對(duì)比如圖8和圖9所示。

      圖6 仿真環(huán)境

      圖7 最短路徑圖

      圖8 DQN算法迭代變化曲線圖

      圖9 APF+DQN改進(jìn)算法迭代變化曲線圖

      圖7中左上角點(diǎn)為任務(wù)起點(diǎn),右下角點(diǎn)則為目標(biāo)點(diǎn),其軌跡是移動(dòng)機(jī)器人從起點(diǎn)到目標(biāo)點(diǎn)的正確且最優(yōu)路徑。說明由于機(jī)器人與環(huán)境做出的不斷交互,本文提出的改進(jìn)深度強(qiáng)化學(xué)習(xí)算法可以使得機(jī)器人在該環(huán)境中進(jìn)行正確的路徑規(guī)劃。

      以迭代步數(shù)(episode)為橫坐標(biāo),到達(dá)目標(biāo)點(diǎn)所需步長(zhǎng)(step)為縱坐標(biāo)做出曲線圖,從而進(jìn)行兩種算法的對(duì)比。當(dāng)?shù)綌?shù)的慢慢擴(kuò)展增多,從起點(diǎn)至目標(biāo)點(diǎn)的規(guī)劃步長(zhǎng)數(shù)目也逐漸趨向變小,最后會(huì)收斂至最優(yōu)步長(zhǎng)。

      通過迭代圖對(duì)比,可以得出改進(jìn)的DQN算法得出的路徑規(guī)劃前期產(chǎn)生的迭代空間更小,收斂更早。傳統(tǒng)的DQN算法在前約220次迭代產(chǎn)生較大的迭代空間,需要迭代約300次才可以收斂。改進(jìn)的DQN算法在前約90次迭代中產(chǎn)生了較小的迭代空間,需要約160次就達(dá)到了收斂。

      傳統(tǒng)DQN算法在訓(xùn)練初始階段由于缺乏樣本池,所以動(dòng)作選擇的隨機(jī)性相對(duì)較大,且只有得到大批的樣本后便能訓(xùn)練出正確的模型。通過結(jié)合了深度Q網(wǎng)絡(luò)算法與人工勢(shì)場(chǎng)法,使得在訓(xùn)練初始階段能夠提供給模型適量的導(dǎo)向,進(jìn)而減小了訓(xùn)練過程的盲目性和隨機(jī)性,也因此進(jìn)一步減少了訓(xùn)練時(shí)間,可以較快地得到優(yōu)化模型。表4概括地對(duì)比了兩種算法的性能,數(shù)據(jù)是對(duì)兩種算法分別運(yùn)行了10次取得的數(shù)據(jù)平均數(shù)。

      表4 兩種算法性能對(duì)比

      上述仿真結(jié)果表明,本文所提出的算法能夠?qū)崿F(xiàn)智能移動(dòng)機(jī)器人行走過程中的全局路徑規(guī)劃,對(duì)環(huán)境的路徑規(guī)劃有著良好的表現(xiàn)。在收斂時(shí)間方面,改進(jìn)算法相較于傳統(tǒng)算法減少了60.99%,同時(shí)在收斂前的迭代次數(shù)方面減少了45.47%。所以對(duì)于傳統(tǒng)DQN算法而言,本文所采用的融合人工勢(shì)場(chǎng)法的DQN算法效率更高,收斂速度更快,前期訓(xùn)練產(chǎn)生的迭代空間更小。

      5 結(jié)束語

      改進(jìn)DQN算法針對(duì)傳統(tǒng)DQN算法訓(xùn)練時(shí)間長(zhǎng)、收斂速度慢、訓(xùn)練前期產(chǎn)生巨大迭代空間等問題,在原始DQN算法的基礎(chǔ)上引入基于人工勢(shì)場(chǎng)法的引力場(chǎng)來輔助初始化Q值進(jìn)行改進(jìn),應(yīng)用二維柵格環(huán)境進(jìn)行試驗(yàn)驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,改進(jìn)DQN算法減少了算法訓(xùn)練時(shí)間,加快了收斂速度,減小了訓(xùn)練前期產(chǎn)生的迭代空間,對(duì)解決實(shí)際問題有一定的應(yīng)用價(jià)值。本文主要面對(duì)靜態(tài)環(huán)境下的全局路徑規(guī)劃研究,至于深度Q網(wǎng)絡(luò)算法在繁雜的動(dòng)態(tài)環(huán)境下的相關(guān)問題,尚有待繼續(xù)的研究和討論。

      猜你喜歡
      勢(shì)場(chǎng)馬爾可夫移動(dòng)機(jī)器人
      移動(dòng)機(jī)器人自主動(dòng)態(tài)避障方法
      基于Frenet和改進(jìn)人工勢(shì)場(chǎng)的在軌規(guī)避路徑自主規(guī)劃
      基于改進(jìn)人工勢(shì)場(chǎng)方法的多無人機(jī)編隊(duì)避障算法
      庫車坳陷南斜坡古流體勢(shì)場(chǎng)對(duì)陸相油氣運(yùn)聚的控制
      基于Twincat的移動(dòng)機(jī)器人制孔系統(tǒng)
      基于偶極勢(shì)場(chǎng)的自主水下航行器回塢導(dǎo)引算法
      保費(fèi)隨機(jī)且?guī)в屑t利支付的復(fù)合馬爾可夫二項(xiàng)模型
      基于SOP的核電廠操縱員監(jiān)視過程馬爾可夫模型
      應(yīng)用馬爾可夫鏈對(duì)品牌手機(jī)市場(chǎng)占有率進(jìn)行預(yù)測(cè)
      認(rèn)知無線網(wǎng)絡(luò)中基于隱馬爾可夫預(yù)測(cè)的P-CSMA協(xié)議
      莱阳市| 剑河县| 二手房| 元阳县| 上蔡县| 松原市| 邯郸市| 秦皇岛市| 上犹县| 宁阳县| 炎陵县| 桦甸市| 高安市| 民丰县| 昭通市| 兴仁县| 专栏| 灵石县| 沈阳市| 长白| 囊谦县| 邢台市| 陵水| 略阳县| 大方县| 沙坪坝区| 湘潭县| 台东市| 思南县| 四会市| 五大连池市| 龙南县| 潞西市| 四平市| 德州市| 吴江市| 夏河县| 黄冈市| 萍乡市| 静宁县| 紫阳县|