胡春陽, 王恒, 史豪斌
(1.湖北文理學院 計算機工程學院, 湖北 襄陽 441053; 2.西北工業(yè)大學 計算機學院, 陜西 西安 710129)
傳統(tǒng)的機械臂控制方法幾乎都是按照人為預設軌跡來完成特定的任務目標。近些年來隨著人工智能技術(shù)的發(fā)展,將人工智能技術(shù)應用在機械臂控制,實現(xiàn)復雜動態(tài)環(huán)境下的機械臂智能控制成為一個熱門的研究方向。
智能控制的目標就是構(gòu)建出一個能夠自主學習適應新環(huán)境的系統(tǒng),強化學習[1]憑借著其自身特點是實現(xiàn)這一目標的關鍵技術(shù)。深度神經(jīng)網(wǎng)絡和強化學習相結(jié)合組成的深度強化學習在游戲決策任務上已經(jīng)取得了非常大的成功。Google DeepMind團隊最早提出深度神經(jīng)網(wǎng)絡與強化學習相結(jié)合的深度Q網(wǎng)絡[1]在Atari游戲決策控制上獲得了出色的表現(xiàn),從此開啟了深度強化學習的時代。其后又逐漸涌現(xiàn)了能夠處理連續(xù)動作空間問題的深度確定性策略梯度算法(DDPG)[3]、近端策略優(yōu)化算法(PPO)[4]、異步優(yōu)勢演員評論家算法(A3C)[5]等強化學習算法模型。
深度強化學習在游戲行為決策任務上表現(xiàn)得非常成功,并增強了強化學習的可解釋性[6],很大一部分決定性因素在于游戲環(huán)境中獎勵函數(shù)通常能夠直接給出,并且能夠直接用來優(yōu)化。但是在機械臂控制環(huán)境中獎勵設置往往是當智能體完成某一個任務目標時,環(huán)境給予一個正反饋,其他情況下沒有反饋。由于智能體起初是隨機地在環(huán)境中進行探索,絕大多數(shù)探索步驟沒有獎勵回饋,強化學習模型訓練時很難收斂,并且當智能體所處的環(huán)境發(fā)生動態(tài)變化時會極大加劇這一狀況。為了解決以上2個問題,Schaul等提出了通用價值函數(shù)逼近器[8],算法將目標狀態(tài)作為計算獎勵的中間媒介,可以根據(jù)不同的目標對當前的狀態(tài)進行估計,獲得狀態(tài)-目標值函數(shù)V(s,g|θ),使得智能體學習到從任意狀態(tài)s到達任意目標g的策略。受到統(tǒng)一函數(shù)逼近器算法的啟發(fā),Andrychowicz等提出了后視經(jīng)驗重現(xiàn)算法(HER)[9],算法可以與任意的離線策略強化學習算法模型相結(jié)合,從失敗中進行學習,通過不斷采樣新目標g′來解決稀疏獎勵問題,同時也能夠使得模型最終在環(huán)境E中學習到從任意狀態(tài)s到達任意目標g的策略。Hester等提出了基于示范數(shù)據(jù)的深度Q網(wǎng)絡算法模型(DQfD)[10],解決了復雜動態(tài)變化環(huán)境和稀疏獎勵導致傳統(tǒng)強化學習算法難以收斂的問題。Vecerik等提出了基于示范數(shù)據(jù)的深度確定性策略梯度算法模型[11]填充了DQfD不能處理連續(xù)動作空間的缺陷,在機械臂控制的仿真實驗中有著不錯的表現(xiàn)。但是這些算法依賴于精確的環(huán)境模型,不能對所處環(huán)境自適應感知,并且在大規(guī)模狀態(tài)空間的訓練過程中隨機探索方案已經(jīng)不太可行。
針對以上問題,本文采用YOLO[12]目標檢測算法感知當前環(huán)境狀態(tài),將環(huán)境中目標感知模塊與控制系統(tǒng)解耦,直接利用機械臂上方的攝像設備捕捉并計算獲得拾取目標位置信息,接下來收集一系列仿真環(huán)境下人類操控機械臂的行為作為示范數(shù)據(jù),在仿真環(huán)境中對機械臂控制強化學習算法模型進行監(jiān)督學習預訓練,即:模仿人類行為學習到部分控制策略[13-14],在此基礎上結(jié)合DDPG與HER算法,對仿真環(huán)境中的機械臂進行控制,最終實現(xiàn)端到端的機器視覺-強化學習控制模型。
(1)
在強化學習算法中使用狀態(tài)值函數(shù)Vπ(s)來表示在當前狀態(tài)s按照策略π進行探索的期望回報,該值函數(shù)具體定義如(2)式所示
(2)
深度強化學習算法即深度學習與強化學習相結(jié)合的產(chǎn)物,DQN[1]是一個非常具有代表性的非基于模型的深度強化學算法,主要用來解決智能體在離散動作空間的決策問題。DQN中定義了一個策略網(wǎng)絡Qe和一個目標網(wǎng)絡QT,策略網(wǎng)絡用來估計狀態(tài)行為值函數(shù)Q*,行為決策方式如(3)式所示
(3)
實際訓練中通常使用ε貪心策略給予智能體一定的隨機探索概率,使得智能體每次以概率ε隨機選擇動作,以(1-ε)的概率策略πQe選擇確定動作a。訓練時在t時刻進行探索產(chǎn)生一條經(jīng)驗e=(st,at,rt,st+1)存儲在經(jīng)驗池中,為了使得訓練樣本間盡可能相互獨立,網(wǎng)絡訓練采用隨機策略從經(jīng)驗池中抽取一個批次數(shù)據(jù)進行訓練。定義損失函數(shù):L=E(Q(st,at|θe)-yt)2,yt的定義如(4)式所示
yt=rt+γQT(st+1,at+1;θT)
(4)
式中
(5)
由于E[max(Q)]>maxE[Q],上述估計Q值的方式會產(chǎn)生過估計,Hasselt等在文獻[7]中重新對(5)式的行為選擇重新進行定義
(6)
在學習率為α時損失函數(shù)L的梯度以及參數(shù)θe的優(yōu)化如下式
θL=E[Q(st,at|θe)-yt)θQ(st,at;θ)]
(7)
θ←θ-aθL
(8)
根據(jù)時序差分更新策略,經(jīng)過t輪時間迭代后執(zhí)行一次目標網(wǎng)絡參數(shù)θT的更新:θT←θe。
傳統(tǒng)的深度強化學習算法在解決較為簡單的決策任務上具有非常好的效果,但是處理復雜的控制任務時通常會存在稀疏獎勵的問題,導致模型難以收斂。因此通常在處理復雜的決策控制問題時會結(jié)合HER算法來加速模型收斂速度。
端到端的機械臂自主視覺感知控制算法主要由視覺感知算法模塊和決策控制算法模塊組成。
1) 視覺感知算法模塊
視覺感知模塊使用YOLO-v5算法,不同于其他的兩階段系列目標檢測算法,YOLO將物體檢測作為一個回歸問題求解,算法將輸入圖像M劃分成n×n的網(wǎng)格,每個網(wǎng)格負責識別目標中心落在其中的對象,經(jīng)過一次神經(jīng)網(wǎng)絡F的計算推理,便能輸出圖象中所有物體的位置信息O、類別信息C以及置信概率P,M×F→(O,C,P)。這是一個典型的結(jié)構(gòu)化機器學習算法,根據(jù)模型結(jié)構(gòu),相應的其損失函數(shù)也包括三部分:坐標誤差coordError、IOU誤差iouError以及分類誤差classError。損失函數(shù)L的定義如(9)式所示
(9)
在實驗的單個目標識別中,分類誤差classError表示目標和背景分類誤差。視覺感知網(wǎng)絡使用在COCO數(shù)據(jù)集上預訓練的權(quán)重來初始化,在此基礎上來訓練我們標注的機械臂識別目標數(shù)據(jù)集。
通過目標識別能夠確定當前目標相對于攝像機的具體位置信息(x1,y1,C)其中C為高度固定常量,即載物臺相對于機械臂夾口初始狀態(tài)的高度。接下來使用透視變換算法將其轉(zhuǎn)換為目標相對于載物臺具體的坐標信息(x2,y2,C)。透視變換是把一個圖像投影到一個新的視平面過程,是一個非線性變換,包括:將一個二維坐標系轉(zhuǎn)換為三維坐標系,然后將三維坐標系投影到新的二維坐標系。變換過程如(10)式所示。
[x2,y2,C]=[x1,y1,C]×T
(10)
式中,T為變換矩陣
(11)
給出4個對應像素的坐標點即可求出變換矩陣T。變換結(jié)果如圖1所示。
圖1 透視變換得到目標相對于載物臺的準確XOY平面坐標信息
2) 決策控制算法模塊
決策控制模塊采用DDPG強化學習算法,為加速DDPG算法的收斂速度,采用模仿學習的方式首先從人類手動控制的經(jīng)驗數(shù)據(jù)中進行預學習訓練,學習到部分初始的控制策略,接下來使用DDPG算法讓機械臂自主的在環(huán)境中學習。DDPG有2個網(wǎng)絡結(jié)構(gòu):一個行為網(wǎng)絡(Actor)π1:S→A和一個評估網(wǎng)絡(Critic)π2:S×A→R,類似于DQN,Actor網(wǎng)絡由決策估計μ(s|θμ)和決策期望μ(s|θμ′)組成,Critic網(wǎng)絡由估計網(wǎng)絡Q(s,a|θQ)和目標Q(s,a|θQ′)組成。Critic網(wǎng)絡的工作就是評估在當前狀態(tài)s,Actor網(wǎng)絡所做出的決策a的好壞。對于任意當前輸入狀態(tài)st,通過Actor網(wǎng)絡選取行為at=μ(s|θμ)+Nt, 其中Nt為隨機噪聲,執(zhí)行此行為獲得獎勵rt,接著再使用Critic網(wǎng)絡對當前狀態(tài)st采取行為at進行打分評估,以此來不斷優(yōu)化Actor網(wǎng)絡與Critic網(wǎng)絡,完成整體DDPG算法的優(yōu)化收斂。優(yōu)化目標如(12)式所示
(12)
優(yōu)化過程如圖2所示。
圖2 DDPG算法整體優(yōu)化過程
定義DDPG的Critic網(wǎng)絡損失函數(shù)L如(13)式所示
L=E(Q(st,at|θQ)-yt)2
(13)
式中
yt=rt+γQ′(st+1,μ′(st+1|θμ′)|θQ′
(14)
Actor網(wǎng)絡使用梯度上升的方式優(yōu)化θμ,θμ梯度求解方式如(15)式所示。
經(jīng)歷k輪優(yōu)化之后,使用軟更新[3]的策略優(yōu)化目標網(wǎng)絡中的參數(shù),如(16)~(17)式所示。
在訓練過程為了解決稀疏獎勵問題,引入了HER算法,DDPG網(wǎng)絡輸入的不僅僅是當前時刻的狀態(tài)st,還包括了要實現(xiàn)的目標gt,Actor網(wǎng)絡策略被重新定義為:π:S×g→A,當且僅當機械臂執(zhí)行Actor網(wǎng)絡輸出的行為at到達的下一個狀態(tài)st+1與gt相等時環(huán)境會給予一個獎勵。Critic網(wǎng)絡策略重新定義為:π:S×A×g→R。機械臂每歷經(jīng)一輪探索,HER算法便會從歷史經(jīng)驗池中進行一次目標采樣,產(chǎn)生m條新的經(jīng)驗,并且按照(18)式的規(guī)則重新計算獎勵獎勵值r,將其放到經(jīng)驗池中。最終使得智能體學到了從任意狀態(tài)s到達任意目標g的策略,且解決了訓練過程中稀疏獎勵的問題。算法具體流程如算法1所示。
(18)
算法1IL-DDPG-HER算法
1. 初始化DDPG參數(shù):θ,θ′,μ,μ′;
初始化YOLO網(wǎng)絡參數(shù)m;
初始化迭代參數(shù)n1,n2,n3,n4;
初始化經(jīng)驗回放池R;
2.創(chuàng)建YOLO目標定位訓練數(shù)據(jù)集S;
創(chuàng)建模仿學習示范數(shù)據(jù)集D;
∥訓練YOLO目標定位神經(jīng)網(wǎng)絡
3. for episode=1 ton1do
4.隨機從樣本集S中抽取一個批次b;
5.訓練YOLO網(wǎng)絡參數(shù)m;
6.end for;
∥模仿學習部分
7. for episode=1 ton2do
8.隨機從樣本D中抽取一個批次b;
9.監(jiān)督學習訓練DDPG網(wǎng)絡參數(shù)θ,μ;
10.end for;
11.模仿學習訓練完成得到初始策略A;
∥強化學習訓練部分
12.for episode=1 ton3do
13. fort=1 toT-1 do
14.攝像設備捕捉輸入圖像i;
15.YOLO網(wǎng)絡定位目標所在圖像位置;
16.透視變化算法獲取目標坐標信息st;
17.使用策略A獲取行為at=A(st‖g);
18.執(zhí)行at得到新的狀態(tài)st+1,并獲得獎勵值rt;
19.存儲(st‖g,at,rt,st+1‖g)到R中;
20.HER算法重新采樣新目標,計算獎勵值存儲到R中;
21.end for;
22. fort=0 ton4do
23.從經(jīng)驗回放池R中隨機采樣一個批次B;
24.在B上對策略A進行優(yōu)化;
25. end for;
26. end for;
為驗證提出的端到端的識別-控制算法模型,采用OpenAI Gym Robotics的FetchPickAndPlace-v1機械臂三維空間控制實驗仿真環(huán)境,如圖3所示。實驗首先通過人為控制機械臂完成相應的拾取-放置任務,收集人類操作經(jīng)驗來讓機械臂預學習,接下來按照算法流程的獎勵函數(shù)設計讓其進行自主學習探索,最終學習到自主決策的能力。整個流程可解耦為自主視覺感知和強化學習控制兩部分。
圖3 機械臂三維空間控制仿真環(huán)境
仿真環(huán)境中攝像設備捕捉到載物臺的圖像數(shù)據(jù),接下來借助Roboflow工具標注創(chuàng)建YOLO目標檢測網(wǎng)絡訓練所需數(shù)據(jù)集,在仿真環(huán)境中訓練了黑色塊目標檢測,經(jīng)過對象識別與定位訓練之后,算法模型便能夠?qū)崿F(xiàn)一般環(huán)境下黑塊目標的識別與定位,最后通過透視變化算法即可獲取物體在載物臺上具體位置坐標信息,如圖4所示。由此以來拾取對象位置信息不再依賴于仿真環(huán)境主動提供,直接由系統(tǒng)目標識別檢測模塊獲得。實驗在YOLOv5-s的預訓練權(quán)重基礎上對我們所識別定位的對象進行訓練,在100個批次訓練后mAP值、準確率、召回率上都能夠達到較好的預期效果,如圖5所示。
圖4 YOLO目標檢測輸入數(shù)據(jù)
圖5 目標定位損失、目標識別損失、精確度、召回率、校驗集目標定位損失、校驗集目標識別損失,mAP 0.5以及mAP∈[0.5,0.95]
D={(s1,a1),(s2,a2),(s3,a3),…}
繼而將狀態(tài)s作為輸入特征,動作a作為輸出的預測值,在連續(xù)狀態(tài)空間的機械臂控制任務上當成一個回歸問題來求解,使得模型在使用強化學習算法自主學習之前已經(jīng)具備部分先驗知識,以此來加速強化學習算法的收斂速度。最后讓機械臂自主的開始在環(huán)境中探索,不斷學習強化自身決策控制能力。實驗對比分析了IL-DDPG-HER算法和DDPG-HER算法訓練智能體執(zhí)行任務的成功率,如圖6所示??梢缘玫絀L-DDPG-HER算法執(zhí)行拾取-放置任務上的成功率收斂速度更快。
圖6 機械臂拾取-放置任務IL-DDPG-HER與DDPG-HER成功率實驗對比分析
本文通過將計算機視覺技術(shù)與強化學習相結(jié)合,使得智能體具備自主感知真實環(huán)境的能力,這在機械臂拾取-放置任務有著非常重要的意義,尤其是在適應動態(tài)變化環(huán)境上,機器視覺-強化學習的端到端控制模型讓智能體感知環(huán)境的能力與智能決策能力解耦,在應對復雜變化的環(huán)境時,可直接對環(huán)境感知網(wǎng)絡進行重新訓練,而決策網(wǎng)絡無需做任何改動。并且隨著計算機視覺技術(shù)的成熟發(fā)展,視覺感知模型的訓練已經(jīng)不再是往日的時間“消耗戰(zhàn)”,往往能夠在普通設備上稍作訓練即可滿足普通的目標定位任務。
未來的視覺感知研究可以加入雙目甚至多目攝像頭,或者是其它的深度感知傳感器,來完成3D空間任意位置的目標感知,結(jié)合已經(jīng)訓練好的強化學習模型,最終讓智能體完成更加復雜的控制決策任務。