999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于殘差梯度法的神經(jīng)網(wǎng)絡(luò)Q學(xué)習(xí)算法

2020-09-15 04:47:52司彥娜普杰信臧紹飛
計算機(jī)工程與應(yīng)用 2020年18期
關(guān)鍵詞:實(shí)驗(yàn)

司彥娜,普杰信,臧紹飛

河南科技大學(xué) 信息工程學(xué)院,河南 洛陽 471023

1 引言

強(qiáng)化學(xué)習(xí)是一類介于監(jiān)督學(xué)習(xí)與非監(jiān)督學(xué)習(xí)之間的機(jī)器學(xué)習(xí)算法,其學(xué)習(xí)機(jī)制靈感來源于人類的學(xué)習(xí)行為[1]。它通過不斷試錯累積經(jīng)驗(yàn)達(dá)到學(xué)習(xí)目的,特別適用于缺少先驗(yàn)知識或高度動態(tài)化的優(yōu)化決策問題,因此被廣泛應(yīng)用在機(jī)器人控制[2]、資源優(yōu)化調(diào)度[3]、工業(yè)過程控制[4]等領(lǐng)域,并取得了令人矚目的成果。

經(jīng)典的強(qiáng)化學(xué)習(xí)過程中,狀態(tài)和動作空間都是離散且有限的,通常用表格來存儲,值函數(shù)也需要通過“l(fā)ook-up table”來獲得。然而,實(shí)際應(yīng)用中,多數(shù)問題都具有大規(guī)模離散或連續(xù)狀態(tài)(動作)空間。若使用查表法,算法的時間和空間復(fù)雜度隨維數(shù)增加而成指數(shù)增長,易造成維數(shù)災(zāi)難(curse of dimensionality)問題。為了解決這個問題,一個比較好的方法就是先對值函數(shù)進(jìn)行參數(shù)化表示,然后利用逼近器擬合,稱為值函數(shù)近似(Value Function Approximation,VFA)方法[5-7]。常見的函數(shù)逼近器包括:線性多項(xiàng)式、決策樹、最小二乘法和人工神經(jīng)網(wǎng)絡(luò)等。

近年來,對于各種神經(jīng)網(wǎng)絡(luò)與強(qiáng)化學(xué)習(xí)相結(jié)合的理論和應(yīng)用研究層出不窮,例如:文獻(xiàn)[8]針對連續(xù)狀態(tài)空間強(qiáng)化學(xué)習(xí)問題,提出了一種基于自適應(yīng)歸一化RBF網(wǎng)絡(luò)的協(xié)同逼近算法——QV(λ),該算法對由RBFs 提取得到的特征向量進(jìn)行歸一化處理,并在線自適應(yīng)地調(diào)整網(wǎng)絡(luò)隱藏層節(jié)點(diǎn)的個數(shù)、中心及寬度,可以有效地提高逼近模型的抗干擾性和靈活性。文獻(xiàn)[9]考慮連續(xù)狀態(tài)馬爾科夫決策過程,提出了一種基于極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)的最小二乘時序差分算法,在旅行商問題和倒立擺實(shí)驗(yàn)中均能用較少的資源獲得較高的精度。文獻(xiàn)[10]和文獻(xiàn)[11]討論了基于神經(jīng)網(wǎng)絡(luò)的強(qiáng)化學(xué)習(xí)算法在移動機(jī)器人導(dǎo)航中的應(yīng)用,分別實(shí)現(xiàn)了移動機(jī)器人的避障和跟蹤控制。

然而,對于上述多層前饋神經(jīng)網(wǎng)絡(luò)等非線性逼近器,在權(quán)值更新過程中若使用直接梯度法,已經(jīng)被證明在某些條件下無法收斂[12]。若使用殘差梯度法,雖然能夠保證較好的收斂特性,但部分情況下的收斂速度較慢[13]。基于此,本文提出一種基于殘差梯度法的神經(jīng)網(wǎng)絡(luò)Q學(xué)習(xí)算法。利用殘差梯度法和經(jīng)驗(yàn)回放機(jī)制,對神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行小批量梯度更新,有效減少迭代次數(shù),加快學(xué)習(xí)速度,同時引入動量優(yōu)化,進(jìn)一步提高學(xué)習(xí)過程的穩(wěn)定性。此外,本文選擇Softplus 激活函數(shù)代替常用的ReLU 激活函數(shù),避免了ReLU 函數(shù)在負(fù)數(shù)區(qū)域值恒為零所導(dǎo)致的某些神經(jīng)元可能永遠(yuǎn)無法被激活,相應(yīng)的權(quán)重參數(shù)可能永遠(yuǎn)無法被更新的問題。最后,利用CartPole 控制任務(wù),對所提算法的正確性和有效性進(jìn)行仿真驗(yàn)證,并與其他算法進(jìn)行對比,結(jié)果表明本文所提算法具有良好的學(xué)習(xí)效果。

2 Q學(xué)習(xí)

強(qiáng)化學(xué)習(xí)中,智能體(Agent)觀察當(dāng)前狀態(tài)(State),采取某種行為(Action)作用于環(huán)境(Environment),然后獲得獎賞(Reward),并迫使環(huán)境狀態(tài)發(fā)生改變,如此循環(huán)。通過與環(huán)境的不斷交互,Agent 根據(jù)獎賞值隨時調(diào)整自己的行為,以獲得最大回報為目標(biāo),其基本原理如圖1所示。

圖1 強(qiáng)化學(xué)習(xí)基本原理

通常,回報值定義為獎賞值的加權(quán)累積:

其中,γ∈ ( 0,1) 為折扣因子,用來平衡短期獎勵和長期獎勵。

為了更好地描述累積回報這一變量,定義其在狀態(tài)s處的期望為狀態(tài)值函數(shù)(value function):

相應(yīng)地,狀態(tài)-動作值函數(shù)為:

Agent 在每次動作完成以后,都要更新值函數(shù)。針對不同的更新規(guī)則,產(chǎn)生了多種強(qiáng)化學(xué)習(xí)算法。其中,Q-learning 是時序差分(Temporal Difference,TD)強(qiáng)化學(xué)習(xí)算法的一種,通過不斷改善特定狀態(tài)下特定動作的價值評估實(shí)現(xiàn),相當(dāng)于動態(tài)規(guī)劃的一種增量方法。其更新公式定義為:

3 基于殘差梯度法的神經(jīng)網(wǎng)絡(luò)Q學(xué)習(xí)算法

3.1 前饋神經(jīng)網(wǎng)絡(luò)

前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Network,F(xiàn)NN)是最常見的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之一,較為常用的前饋神經(jīng)網(wǎng)絡(luò)有兩種,一種是反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Networks,BPNN);一種是徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(Radial Basis Function Neural Network,RBFNN)。前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)并不固定,以圖2為例,包括輸入層、一個隱藏層和輸出層。層與層之間單向連接,層間沒有連接;每層節(jié)點(diǎn)數(shù)不固定,可根據(jù)需要設(shè)置。

圖2 前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

雖然神經(jīng)網(wǎng)絡(luò)強(qiáng)化學(xué)習(xí)的理論研究和實(shí)際應(yīng)用均取得了不錯的發(fā)展,但神經(jīng)網(wǎng)絡(luò)的選擇和訓(xùn)練依然值得關(guān)注。尤其是隨著神經(jīng)網(wǎng)絡(luò)深度的增加,模型的訓(xùn)練也更加困難。其中激活函數(shù)是人工神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)非線性逼近的關(guān)鍵,直接影響到網(wǎng)絡(luò)最終的訓(xùn)練效果。Sigmoid函數(shù)及Tanh 函數(shù)曾經(jīng)是廣泛使用的一類激活函數(shù),但這類函數(shù)包含指數(shù)運(yùn)算,計算量比較大,影響學(xué)習(xí)速度,并且其飽和性導(dǎo)致的梯度消失現(xiàn)象,非常不利于深度網(wǎng)絡(luò)的訓(xùn)練,已很少使用。為了解決Sigmoid 類函數(shù)帶來的問題,有學(xué)者提出了線性整流單元(Rectified Linear Unit,ReLU)。ReLU 具有線性、非飽和形式,既能提高運(yùn)算速度,又能緩解梯度消失現(xiàn)象。但是,ReLU在負(fù)數(shù)區(qū)域梯度為零,可能導(dǎo)致某些神經(jīng)元完全不被激活,相應(yīng)的參數(shù)可能永遠(yuǎn)不被更新。因此,本文采用Softplus激活函數(shù)代替ReLU。Softplus 函數(shù)可以看作是ReLU的改進(jìn)版本,更加接近生物學(xué)激活特性,可以有效克服“Dead ReLU Problem”,并使整個系統(tǒng)的平均性能更好[14]。四種激活函數(shù)的圖像如圖3所示。

圖3 激活函數(shù)圖像

3.2 值函數(shù)近似

在離散狀態(tài)或小規(guī)模強(qiáng)化學(xué)習(xí)問題中,值函數(shù)一般采用表格形式存儲。面對大規(guī)模離散或連續(xù)狀態(tài)(動作)空間問題,若使用查表法,存在維數(shù)災(zāi)難問題。因此需要采用值函數(shù)近似方法。利用神經(jīng)網(wǎng)絡(luò)對值函數(shù)進(jìn)行逼近時,可表示為:

此時,w為網(wǎng)絡(luò)更新參數(shù)。當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)確定時,w就代表值函數(shù)。

采用圖2 所示的多層前饋神經(jīng)網(wǎng)絡(luò)逼近狀態(tài)——動作值函數(shù)Q(s,a),輸入為系統(tǒng)狀態(tài)變量,輸出為每一個可能動作所對應(yīng)的Q值。隱藏層有n個神經(jīng)元,激活函數(shù)為Softplus 函數(shù),記為φ(x)=ln(1+ex),則神經(jīng)網(wǎng)絡(luò)的輸出可表示為:

若按照直接梯度法,則神經(jīng)網(wǎng)絡(luò)的權(quán)值更新為:

其中,α為學(xué)習(xí)速率。

雖然直接梯度法更新過程中所需信息較少,學(xué)習(xí)速度相對較快,但其收斂性無法保證。為了保證學(xué)習(xí)過程收斂,故選擇殘差梯度法更新神經(jīng)網(wǎng)絡(luò)的權(quán)值。記誤差函數(shù)為:

則神經(jīng)網(wǎng)絡(luò)的權(quán)值按照殘差梯度法更新為:

根據(jù)目標(biāo)函數(shù)更新時采用的數(shù)據(jù)量,梯度下降法大致可以分為兩種:批量梯度下降算法(Batch Gradient Descent,BGD)和隨機(jī)梯度下降算法(Stochastic Gradient Descent,SGD)。BGD每次更新需要對全部的訓(xùn)練集樣本計算梯度,可以保證更新朝著正確的方向進(jìn)行,最后能夠收斂于極值點(diǎn)(凸函數(shù)收斂于全局極值點(diǎn),非凸函數(shù)可能會收斂于局部極值點(diǎn)),但是運(yùn)算量大,尤其是樣本數(shù)量較多時,會導(dǎo)致收斂速度非常慢,且不能實(shí)時更新。SGD 每次僅隨機(jī)選擇訓(xùn)練集中的一個樣本來進(jìn)行梯度更新,學(xué)習(xí)速度較快,但每次更新不能保證按照正確的方向進(jìn)行,并且很不穩(wěn)定,容易造成優(yōu)化波動,使得整體收斂速度變慢。

因此本文采用經(jīng)驗(yàn)回放機(jī)制,儲存在線學(xué)習(xí)過程中產(chǎn)生的樣本,進(jìn)而實(shí)現(xiàn)對神經(jīng)網(wǎng)絡(luò)參數(shù)的小批量梯度更新。該方法相較于BGD,有效減少計算量,加快學(xué)習(xí)速度;相較于SGD,大大減少迭代次數(shù),同時訓(xùn)練過程更穩(wěn)定。然而其收斂性受學(xué)習(xí)率的影響,如果學(xué)習(xí)率太小,收斂速度會很慢;如果太大,誤差函數(shù)就會在極小值處不停地振蕩甚至偏離。故而引入動量修正項(xiàng),以緩解隨機(jī)梯度帶來的優(yōu)化波動問題并加快收斂過程。動量項(xiàng)的加入,可以使得更新速度在梯度方向不變的維度上變快,而在梯度方向有所改變的維度上變慢,這樣就可以加快收斂并減小振蕩[15]。

引入動量的梯度下降法更新公式為:

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

4.1 問題描述

CartPole控制是測試強(qiáng)化學(xué)習(xí)算法性能的常用任務(wù)之一。如圖4 所示,在游戲里,一根桿子由一個非驅(qū)動性關(guān)節(jié)連接到一個小車上,小車可以沿著無摩擦的軌道移動。游戲開始,桿子是直立的,通過對小車施加+1或-1 的力來控制小車前后移動。每次動作,若桿子保持直立,獎勵值為+1,若桿子離開垂直方向超過12°,或者小車距離中心移動超過2.4個單位,游戲結(jié)束。

圖4 CartPole模型示意圖

該系統(tǒng)中,狀態(tài)為水平方向的位置及導(dǎo)數(shù)和垂直方向的偏角及導(dǎo)數(shù)屬于連續(xù)變量;動作為離散變量A=[-1,1],分別表示向左或向右移動。實(shí)驗(yàn)使用圖2所示神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),隱含層神經(jīng)元個數(shù)設(shè)為200。

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

為了充分驗(yàn)證所提算法的正確性和有效性,進(jìn)行兩組對比實(shí)驗(yàn)。實(shí)驗(yàn)中,動作選擇使用ε-greedy 策略,并且為了平衡探索和利用的關(guān)系,每一輪游戲中,ε逐漸減小,探索值ε=(0.9 →0.01) 。其他參數(shù)設(shè)置為:折扣因子γ=0.9,學(xué)習(xí)率η=0.001,動量衰減值μ=0.5,批量大小batch_size=32。

實(shí)驗(yàn)1 分別對比隨機(jī)梯度下降(SGD),小批量梯度下降(MBGD)和本文所提算法在ReLU 和Softplus 兩種激活函數(shù)下的單輪學(xué)習(xí)得分情況,結(jié)果如圖5所示。

圖中,橫坐標(biāo)Episode表示游戲進(jìn)行的輪數(shù),縱坐標(biāo)Reward 表示每輪游戲結(jié)束獲得的獎勵。每幅圖中,左側(cè)為ReLU 激活函數(shù)訓(xùn)練下的結(jié)果,右側(cè)為Softplus 激活函數(shù)訓(xùn)練下的結(jié)果。

其中,圖5(a)的SGD 算法在ReLU 激活函數(shù)下,雖然200 輪以后,可以達(dá)到最高分,但在1 000 輪結(jié)束后,每輪游戲的得分波動依然很大;而使用Softplus 激活函數(shù),在大約200輪以后,得到最高分的次數(shù)逐漸增多,并且分?jǐn)?shù)基本保持在75 分以上。圖5(b)的MBGD 使用ReLU在100輪左右得到最高分,但大概在600輪以后分?jǐn)?shù)才基本穩(wěn)定在175 分以上;而使用Softplus 激活函數(shù)在100 輪左右得到最高分,500 輪以后分?jǐn)?shù)的波動次數(shù)就明顯減少,基本能夠得到最高分。圖5(c)本文所提算法在兩種激活函數(shù)訓(xùn)練下,均在100輪左右開始取得最高分,但使用ReLU 在后續(xù)訓(xùn)練過程中分?jǐn)?shù)不太穩(wěn)定,仍然存在相對較多的波動;使用Softplus 激活函數(shù)大約200輪之后基本維持在最高分,只有幾次小幅度的分?jǐn)?shù)波動。

圖5 CartPole任務(wù)單輪得分

橫向?qū)Ρ龋N算法在使用Softplu函數(shù)代替ReLU函數(shù)以后,分?jǐn)?shù)波動大幅減小,而得到最高分的次數(shù)明顯增多,訓(xùn)練效果得到顯著提高。縱向?qū)Ρ龋趦煞N激活函數(shù)訓(xùn)練下,本文所提出的基于動量修正的MBGD算法比常規(guī)的SGD算法和MBGD算法能更多地得到最高分,且分?jǐn)?shù)波動次數(shù)與波動幅度均得到有效抑制。

實(shí)驗(yàn)2 在Gym 中,CartPole 任務(wù)設(shè)定每個episode最大步數(shù)為200,并規(guī)定每100 個episode 的平均獎勵若超過195,則視為訓(xùn)練成功。所以,本組實(shí)驗(yàn)將對比本文所提算法與另外兩種算法的訓(xùn)練成功率。

對比算法選擇常規(guī)的隨機(jī)梯度下降法(SGD with ReLU)和小批量梯度下降法(MBGD with ReLU)。為了盡可能獲得有效數(shù)據(jù),每種算法實(shí)驗(yàn)4 次,并且實(shí)驗(yàn)過程中保持其他參數(shù)不變。設(shè)置episode 為3 000,每100個episode記為一次訓(xùn)練,取其平均獎勵值作為訓(xùn)練結(jié)果,則三種算法的最終任務(wù)完成效果如圖6 所示,統(tǒng)計結(jié)果見表1。其中,圖6為三種算法在4次實(shí)驗(yàn)中的訓(xùn)練平均得分分布,表1為訓(xùn)練成功次數(shù)統(tǒng)計。

實(shí)驗(yàn)結(jié)果表明,ReLU 激活函數(shù)情況下:SGD 算法4 次實(shí)驗(yàn)均未成功;MBGD 算法最少成功19 次,最多成功26次,成功率在63%以上。而本文提出的算法,最少成功26次,最多成功28次,成功率在86%以上。對比圖6(b)和6(c),可以看出本文所提算法表現(xiàn)更加穩(wěn)定,失敗情況相對較少,且集中在訓(xùn)練初始階段,5次之后,基本能夠保持成功,且穩(wěn)定在最高分。

表1 CartPole任務(wù)成功次數(shù)統(tǒng)計表

圖6 CartPole任務(wù)平均得分

5 結(jié)論與展望

本文針對具有連續(xù)狀態(tài)空間的強(qiáng)化學(xué)習(xí)問題,提出了一種基于殘差梯度法的神經(jīng)網(wǎng)絡(luò)Q 學(xué)習(xí)算法。首先利用多層前饋神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了Q值函數(shù)的近似表達(dá),然后采用殘差梯度法和經(jīng)驗(yàn)回放機(jī)制,對神經(jīng)網(wǎng)絡(luò)的權(quán)重參數(shù)進(jìn)行小批量梯度更新,加快了學(xué)習(xí)速度;動量優(yōu)化的引入,提高了訓(xùn)練過程的穩(wěn)定性。此外,Softplus函數(shù)代替一般的ReLU 激活函數(shù),避免了ReLU 函數(shù)在負(fù)數(shù)區(qū)域值恒為零所導(dǎo)致的某些神經(jīng)元可能永遠(yuǎn)無法被激活,相應(yīng)的權(quán)重參數(shù)可能永遠(yuǎn)無法被更新的問題。最后,CartPole 任務(wù)的實(shí)驗(yàn)證明,在同等條件下,本文所提算法能夠在更少的訓(xùn)練次數(shù)下完成任務(wù),并且得分更高,表現(xiàn)更加穩(wěn)定。

然而,神經(jīng)網(wǎng)絡(luò)等非線性函數(shù)逼近缺乏可靠的收斂性保證,且泛化性能較差。接下來需要考慮本文算法在其他控制任務(wù)中的表現(xiàn),并進(jìn)一步提高時效性。

猜你喜歡
實(shí)驗(yàn)
我做了一項(xiàng)小實(shí)驗(yàn)
記住“三個字”,寫好小實(shí)驗(yàn)
我做了一項(xiàng)小實(shí)驗(yàn)
我做了一項(xiàng)小實(shí)驗(yàn)
記一次有趣的實(shí)驗(yàn)
有趣的實(shí)驗(yàn)
小主人報(2022年4期)2022-08-09 08:52:06
微型實(shí)驗(yàn)里看“燃燒”
做個怪怪長實(shí)驗(yàn)
NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
實(shí)踐十號上的19項(xiàng)實(shí)驗(yàn)
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 久久久久久久久久国产精品| 黄色网页在线播放| 亚洲综合二区| 精品少妇人妻无码久久| 激情无码字幕综合| 人妻丰满熟妇av五码区| 美女视频黄频a免费高清不卡| 曰韩人妻一区二区三区| 手机精品福利在线观看| 国产亚洲精品无码专| 91丨九色丨首页在线播放| 一级香蕉人体视频| 一级香蕉视频在线观看| 亚洲人成网18禁| 亚洲中文久久精品无玛| 国产69精品久久| 国产福利免费视频| 狠狠色丁香婷婷| 天天色综合4| 国产免费人成视频网| 亚洲成人免费看| 制服丝袜亚洲| 亚洲天堂区| 亚洲欧美日韩色图| 久996视频精品免费观看| 最新国产精品鲁鲁免费视频| 国产成人精品免费av| 亚洲经典在线中文字幕| 久久精品中文字幕免费| 香港一级毛片免费看| 成年人福利视频| 青青草原国产免费av观看| 欧美福利在线观看| 91破解版在线亚洲| 国产乱人激情H在线观看| 国产原创演绎剧情有字幕的| 亚洲成人一区二区| 亚洲精品手机在线| 国产尤物jk自慰制服喷水| 国产激爽大片高清在线观看| 亚洲成人在线免费| 色一情一乱一伦一区二区三区小说| 亚洲综合极品香蕉久久网| 国产一区在线观看无码| 在线播放真实国产乱子伦| 99在线观看精品视频| 亚洲AV无码久久精品色欲| 播五月综合| 中文字幕 日韩 欧美| 亚洲成aⅴ人在线观看| 狠狠色香婷婷久久亚洲精品| 久青草免费在线视频| 国产手机在线观看| 国产精品女同一区三区五区| 亚洲欧美不卡| 激情六月丁香婷婷| 国产亚洲欧美在线视频| 国产在线欧美| 一区二区欧美日韩高清免费| 日本人真淫视频一区二区三区 | 欧美一级在线| 最新亚洲av女人的天堂| 亚洲精品第一页不卡| 91区国产福利在线观看午夜| 色悠久久综合| 免费毛片全部不收费的| 91欧美亚洲国产五月天| 国产真实二区一区在线亚洲| 婷婷色在线视频| 精品少妇人妻av无码久久| 97国产精品视频自在拍| 欧美午夜性视频| 欧美日韩午夜| 国产一区自拍视频| av一区二区三区高清久久| 91成人在线免费视频| 欧美成人午夜视频| 欧美日韩精品一区二区视频| 一级爆乳无码av| 久热中文字幕在线| 婷婷综合在线观看丁香| 91成人试看福利体验区|