亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于優(yōu)先級經(jīng)驗(yàn)回放的SAC強(qiáng)化學(xué)習(xí)算法

        2021-04-22 09:19:06劉慶強(qiáng)劉鵬云
        關(guān)鍵詞:經(jīng)驗(yàn)誤差樣本

        劉慶強(qiáng), 劉鵬云

        (東北石油大學(xué) 電氣信息工程學(xué)院, 黑龍江 大慶 163318)

        0 引 言

        相對于有監(jiān)督學(xué)習(xí)需要人工標(biāo)注數(shù)據(jù)集標(biāo)簽進(jìn)行學(xué)習(xí), 強(qiáng)化學(xué)習(xí)算法通過自行與環(huán)境(Environment)交互, 嘗試最大化從環(huán)境中得到的獎(jiǎng)勵(lì)(Reward)獲得最優(yōu)的策略。在DQN(Deep Q-Learning)算法[1]之后, 強(qiáng)化學(xué)習(xí)與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合, 使強(qiáng)化學(xué)習(xí)算法能處理更復(fù)雜, 維度更高的問題, 其表現(xiàn)效果得到了迅速提升, 并在圍棋[2-3]、 游戲[4-5]、 投資交易[6-8]、 推薦系統(tǒng)[9-10]以及導(dǎo)航規(guī)劃[11-12]上得到了廣泛應(yīng)用。

        強(qiáng)化學(xué)習(xí)算法[13]總體可被分為三大類: Actor方法, Critic方法和Actor-Critic方法。Actor方法直接嘗試學(xué)習(xí)出最優(yōu)決策過程; Critic方法通過評估當(dāng)前狀態(tài)采取不同動(dòng)作可得到的累計(jì)回報(bào)期望, 選擇期望最大的動(dòng)作間接學(xué)習(xí)最優(yōu)策略; Actor-Critic是兩種算法的結(jié)合, 算法的Critic部分學(xué)習(xí)以更好的誤差擬合值函數(shù), Actor與環(huán)境交互并根據(jù)Critic的反饋迭代自身參數(shù), 嘗試學(xué)習(xí)出最優(yōu)策略。

        近期, 深度強(qiáng)化學(xué)習(xí)領(lǐng)域獲得了顯著的研究進(jìn)展, OpenAI提出基于隱式課程學(xué)習(xí)模式[14]的強(qiáng)化學(xué)習(xí)算法, 使智能體可以不斷找到新任務(wù), 學(xué)習(xí)新策略。Mendonca等[15]提出基于監(jiān)督學(xué)習(xí)的元強(qiáng)化學(xué)習(xí)算法, 能有效幫助探索, 利于在稀疏獎(jiǎng)勵(lì)環(huán)境中有效學(xué)習(xí)。Efroni等[16]提出基于有限時(shí)域前瞻策略(Finite-Horizon Lookahead Policies)的強(qiáng)化學(xué)習(xí)算法, 利用最佳樹路徑返回值備份根節(jié)點(diǎn)后代值, 取得了良好的效果。Ciosek等[17]提出OAC(Optimistic Actor Critic)算法, 使用兩個(gè)置信區(qū)間估計(jì)value值, 高的指導(dǎo)探索, 低的防止過擬合。Haarnoja等[18]提出SAC(Soft Actor Critic)算法, 通過引入最大熵增強(qiáng)了Actor Critic算法的探索能力和穩(wěn)定性, 并在隨后的升級算法[19]中加入了熵權(quán)重的自動(dòng)調(diào)整, 在訓(xùn)練前期熵部分的權(quán)重較大, 引導(dǎo)Agent更主動(dòng)探索環(huán)境, 并在后期逐漸衰減熵的權(quán)重, 讓Agent收斂更加穩(wěn)定。

        針對SAC算法中經(jīng)驗(yàn)池所有樣本都以等概率隨機(jī)采樣, 忽略不同樣本具有不同重要性的信息, 造成訓(xùn)練速度慢, 訓(xùn)練過程不穩(wěn)定的缺點(diǎn), 筆者提出基于優(yōu)先級經(jīng)驗(yàn)采樣的SAC算法(PER-SAC: Prioritized Experience Replay Soft Actor Critic), 通過在訓(xùn)練過程中引入優(yōu)先級經(jīng)驗(yàn)采樣機(jī)制, 同時(shí)根據(jù)Critic和Actor的誤差計(jì)算TD(Temporal-Difference)誤差, 使TD誤差較大的樣本有更大的概率被采樣及訓(xùn)練, 并使網(wǎng)絡(luò)優(yōu)先訓(xùn)練估值誤差較大和策略表現(xiàn)不好的樣本。實(shí)驗(yàn)結(jié)果表明, 所提PER-SAC(Prioritized Experience Replay Soft Actor Critic)算法訓(xùn)練效率和穩(wěn)定性相較于原始SAC算法有明顯提升, 具有較好的性能。

        1 強(qiáng)化學(xué)習(xí), SAC算法及優(yōu)先經(jīng)驗(yàn)回放

        1.1 強(qiáng)化學(xué)習(xí)

        (1)

        其動(dòng)作值Qπ(s,a)=E[Rt|st=s,a], 則最優(yōu)策略為始終選擇當(dāng)前狀態(tài)下Q值最大的動(dòng)作, 可表示為

        (2)

        通過Bellman方程迭代動(dòng)作值函數(shù)可表示為

        Q*(st,at)=E[rt+γmaxQ*(st+1,at+1)]

        (3)

        在引入深度神經(jīng)網(wǎng)絡(luò)后, 強(qiáng)化學(xué)習(xí)算法中動(dòng)作值函數(shù)Q和狀態(tài)值函數(shù)V都可以使用多層神經(jīng)網(wǎng)絡(luò)近似, 深度神經(jīng)網(wǎng)絡(luò)理論上可以擬合任意復(fù)雜度的函數(shù), 該特性使強(qiáng)化學(xué)習(xí)算法能被用于解決更加復(fù)雜的控制和決策問題。但神經(jīng)網(wǎng)絡(luò)具備的“黑盒”復(fù)雜特性, 也使深度強(qiáng)化學(xué)習(xí)算法面臨訓(xùn)練效率低, 穩(wěn)定性差, 對超參數(shù)敏感等問題。

        1.2 SAC算法

        SAC算法通過在原有的直接最大化獎(jiǎng)勵(lì)期望的基礎(chǔ)上, 引入了最大熵, 此時(shí)算法的目標(biāo)變成同時(shí)最大化獎(jiǎng)勵(lì)期望和熵, 可表示如下

        (4)

        其中H是策略π在狀態(tài)st時(shí)的動(dòng)作的熵,α是權(quán)重系數(shù)。通過引入熵鼓勵(lì)策略探索更多動(dòng)作, 與PPO(Proximal Policy Optimization)[20], A3C(Asynchronous Advantage Actor-Critic)[21]等算法將動(dòng)作熵作為正則項(xiàng)不同, SAC直接將最大化熵內(nèi)置于目標(biāo)函數(shù)中。SAC算法分為2部分: 策略評估和策略提升。

        策略評估。SAC算法定義SoftQ值如下

        Qsoft(st,at)=r(st,at)+γE[Vsoft(st+1)]

        (5)

        Soft版本狀態(tài)值函數(shù)V定義如下

        Vsoft(st)=E[Q(st,at)]-logπ(at|st)

        (6)

        策略提升。使用KL散度(Kullback-Leibler Divergence)優(yōu)化策略

        (7)

        其中Zπold(st)是歸一化分布配分函數(shù)。策略πφ的輸出是一個(gè)概率分布, SAC算法中使用了重參數(shù)技巧(Reparameterization Trick), 將策略πφ重新定義為

        at=fφ(εt;st)

        (8)

        其中εt是重參數(shù)技巧中隨機(jī)變量。根據(jù)上述定義, 訓(xùn)練過程中, Soft Q函數(shù)的更新梯度為

        (9)

        φJ(rèn)π(φ)=φlogπφ(at,st)+(atlogπφ(at,st)-atQ(at,st))φfφ(εt;st)

        (10)

        SAC算法還支持自動(dòng)調(diào)整熵的溫度系數(shù)α, 算法初始溫度系數(shù)較大, 鼓勵(lì)智能體進(jìn)行探索, 隨著智能體慢慢收斂, 溫度系數(shù)能自適應(yīng)衰減。

        1.3 優(yōu)先經(jīng)驗(yàn)回放

        SAC算法訓(xùn)練時(shí), 隨機(jī)從經(jīng)驗(yàn)池(Replay Buffer)中抽取一批樣本訓(xùn)練, 不同樣本間被選中的概率相等。優(yōu)先經(jīng)驗(yàn)回放通過賦予更重要的樣本較大的權(quán)重, 訓(xùn)練采樣時(shí)權(quán)重較大的樣本能以更大的概率被抽取到, 因此, 如何確定樣本的權(quán)重是關(guān)鍵問題。強(qiáng)化學(xué)習(xí)算法通過TD誤差衡量算法修正幅度, TD誤差的絕對值越大, 說明該樣本對網(wǎng)絡(luò)的校正效果越大。另外, TD誤差較大的樣本, 可能是該狀態(tài)出現(xiàn)的次數(shù)較少, 智能體對該狀態(tài)不熟悉故而表現(xiàn)不佳, 提高此類樣本的出現(xiàn)概率能提高樣本利用率, 加快智能體的學(xué)習(xí)速度。在優(yōu)先級經(jīng)驗(yàn)回放DQN[22]算法中, TD誤差δj定義為

        δj=r(st,at)+λQ′(st+1,at+1)-Q(st,at)

        (11)

        其中Q,Q′分別是Q網(wǎng)絡(luò)和targetQ網(wǎng)絡(luò)。樣本j的采樣概率

        (12)

        其中參數(shù)λ是優(yōu)先級控制系數(shù),δj是樣本j的權(quán)重系數(shù)。使用概率采樣機(jī)制能保證TD誤差較小的樣本仍然可以被采樣, 保證了算法訓(xùn)練時(shí)樣本的多樣性。優(yōu)先級回放改變了樣本的采樣頻率, 因此需要引入重要性采樣更新樣本計(jì)算梯度時(shí)的誤差權(quán)重

        (13)

        2 基于優(yōu)先經(jīng)驗(yàn)回放的SAC算法

        PER-SAC算法通過將優(yōu)先經(jīng)驗(yàn)回放機(jī)制引入SAC算法提高算法的訓(xùn)練速度和穩(wěn)定性。算法在訓(xùn)練時(shí), 不再以等概率隨機(jī)從經(jīng)驗(yàn)池中抽取數(shù)據(jù), 而是給重要的樣本更大的權(quán)重, 增大其被采樣概率, 同時(shí)隨著訓(xùn)練的進(jìn)行, 動(dòng)態(tài)調(diào)整不同樣本的權(quán)重, PER-SAC算法定義樣本權(quán)重為樣本訓(xùn)練時(shí)的TD誤差。

        2.1 綜合全網(wǎng)絡(luò)誤差

        值得注意的是, 在優(yōu)先級經(jīng)驗(yàn)回放DQN算法中只有一個(gè)Q網(wǎng)絡(luò), 其TD誤差的計(jì)算方式也僅為單個(gè)Q網(wǎng)絡(luò)的誤差統(tǒng)計(jì)。而SAC算法為了減少值函數(shù)的估計(jì)偏差, 提高訓(xùn)練穩(wěn)定性, 使用了兩個(gè)Q網(wǎng)絡(luò), 訓(xùn)練時(shí)使用較小的Q值用于梯度計(jì)算, 加上策略π網(wǎng)絡(luò), SAC算法一共有3個(gè)網(wǎng)絡(luò), 分別為Q1,Q2,π網(wǎng)絡(luò)。PER-SAC算法中的TD誤差因此需要同時(shí)考慮3個(gè)網(wǎng)絡(luò)的誤差, 一個(gè)簡單的方式是將3個(gè)誤差直接相加

        δj=abs(Td(Q1))+abs(Td(Q2))+abs(Td(π))

        (14)

        2.2 帶調(diào)整系數(shù)的綜合TD誤差

        直接將3個(gè)網(wǎng)絡(luò)各自的絕對誤差相加得到一個(gè)總誤差。但由于Q網(wǎng)絡(luò)與策略π網(wǎng)絡(luò)的輸出意義有著本質(zhì)區(qū)別:Q網(wǎng)絡(luò)的輸出是對當(dāng)前狀態(tài)采取動(dòng)作后得到累計(jì)回報(bào)的期望, 該值因不同環(huán)境差異很大, 通常遠(yuǎn)大于1。而策略π網(wǎng)絡(luò)的輸出是當(dāng)前環(huán)境Agent采取不同動(dòng)作的概率, 概率值不超過1。直接將3個(gè)網(wǎng)絡(luò)的誤差絕對值相加將導(dǎo)致策略π網(wǎng)絡(luò)的誤差部分對總體誤差評估的影響較小, 降低算法的性能。PER-SAC算法通過在策略π網(wǎng)絡(luò)的誤差部分引入調(diào)整參數(shù)β將其適當(dāng)放大, 解決了這個(gè)問題, 引入調(diào)整參數(shù)β后的總TD誤差計(jì)算方法為

        δj=abs(Td(Q1))+abs(Td(Q2))+βabs(Td(π))

        (15)

        在PER-SAC算法中, 前期探索階段時(shí)網(wǎng)絡(luò)還未訓(xùn)練, 因此誤差信息未知, 默認(rèn)設(shè)置所有樣本TD誤差為1, 此時(shí)算法退化為原始SAC算法。當(dāng)網(wǎng)絡(luò)開始從經(jīng)驗(yàn)池抽取樣本訓(xùn)練時(shí), 以TD誤差值統(tǒng)計(jì)每個(gè)樣本的被采樣概率。當(dāng)某個(gè)批次樣本訓(xùn)練完成后, 將其最新的TD誤差更新回經(jīng)驗(yàn)池。隨著訓(xùn)練進(jìn)行, 整個(gè)經(jīng)驗(yàn)池的樣本的TD誤差都將被替換為真實(shí)的TD誤差, 能最大程度發(fā)揮算法性能。圖1給出了PER-SAC算法的結(jié)構(gòu)及訓(xùn)練流程圖, 在探索階段Policy與環(huán)境交互得到樣本并存儲至經(jīng)驗(yàn)池, 并將TD誤差設(shè)置為1。當(dāng)經(jīng)驗(yàn)池樣本滿足訓(xùn)練要求后算法即可開始訓(xùn)練; 以TD誤差統(tǒng)計(jì)各樣本的采樣概率進(jìn)行采樣。Q1和Q2分別計(jì)算其TD誤差并更新梯度; 為降低訓(xùn)練偏差, 使用較小的Q值計(jì)算策略網(wǎng)絡(luò)的誤差; 根據(jù)式(15)計(jì)算總的TD誤差, 并更新經(jīng)驗(yàn)池中對應(yīng)樣本的TD誤差。

        PER-SAC算法的結(jié)構(gòu)如圖1所示。PER-SAC算法首先使用Actor與環(huán)境交互, 并通過重參數(shù)引入隨機(jī)噪聲加大網(wǎng)絡(luò)對新狀態(tài)和動(dòng)作的探索力度, 然后將樣本存儲至經(jīng)驗(yàn)池中。在訓(xùn)練階段, 算法從經(jīng)驗(yàn)池中根據(jù)權(quán)重進(jìn)行概率采樣, 更新兩個(gè)Critic網(wǎng)絡(luò)的參數(shù), 同時(shí)選取輸出值較小的Q網(wǎng)絡(luò)指導(dǎo)Policy網(wǎng)絡(luò)更新。最終根據(jù)3個(gè)網(wǎng)絡(luò)的誤差重新計(jì)算TD誤差, 并將其更新至經(jīng)驗(yàn)池中對應(yīng)的樣本。

        圖1 PER-SAC算法網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 PER_SAC algorithm network structure diagram

        PER-SAC算法步驟如下。

        2) for each iteration do

        3) for each environment step do

        4) 根據(jù)狀態(tài)st, 策略πφ采樣得到動(dòng)作at

        5) 執(zhí)行動(dòng)作at, 獲得立即獎(jiǎng)勵(lì)rt和下一狀態(tài)st+1

        6) 將經(jīng)驗(yàn)樣本(st,at,rt,st+1)存入經(jīng)驗(yàn)池B中, 樣本的TD誤差初始化為1

        7) 在經(jīng)驗(yàn)池B, 根據(jù)樣本的TD誤差歸一化作為概率pj進(jìn)行樣本采樣用于訓(xùn)練

        8) end for

        9) for each gradient step do

        10) 更新Critic網(wǎng)絡(luò)參數(shù)

        θi←θi-λθiJQ(θi) fori∈{1,2}

        11) 更新Policy網(wǎng)絡(luò)參數(shù)

        φ←φ-λπφJ(rèn)π(φ)

        12) 更新溫度系數(shù)α←α-λαJ(α)

        13) 計(jì)算各個(gè)樣本的TD誤差, 更新到經(jīng)驗(yàn)池B

        14) 更新各個(gè)target網(wǎng)絡(luò)參數(shù)

        15) end For

        16) end For

        3 實(shí) 驗(yàn)

        為驗(yàn)證PER-SAC算法對比SAC算法的優(yōu)越性, 在2個(gè)不同的連續(xù)強(qiáng)化學(xué)習(xí)訓(xùn)練環(huán)境分別進(jìn)行訓(xùn)練與測試, 并繪圖觀察兩種算法在訓(xùn)練及測試中不同網(wǎng)絡(luò)的誤差更正情況。為了顯示算法對優(yōu)化算法的魯棒性及對比其他強(qiáng)化學(xué)習(xí)算法的優(yōu)越性, 在不同優(yōu)化算法和環(huán)境中, 將PER-SAC算法與雙延遲確定性策略算法(TD3: Twin Delayed Deep Deterministic policy), DDPG(Deep Deterministic Policy Gradient), SAC(Soft Actor Critic)算法進(jìn)行了實(shí)驗(yàn)比較。實(shí)驗(yàn)證明PER-SAC算法在收斂速度, 訓(xùn)練穩(wěn)定性, 智能體測試期間表現(xiàn)上均具有優(yōu)異的表現(xiàn)。

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

        筆者分別選擇強(qiáng)化學(xué)習(xí)Gym的鐘擺環(huán)境(Pendulum-v0)和小車爬山環(huán)境(Mountain Car Continuous), 在不同的任務(wù)環(huán)境, 優(yōu)化算法下分別將PER-SAC算法與SAC算法進(jìn)行對比。實(shí)驗(yàn)使用的操作系統(tǒng)為Win10, 使用Python 3.7語言開發(fā), Pytorch1.3-CPU版本搭建神經(jīng)網(wǎng)絡(luò)及訓(xùn)練。

        鐘擺環(huán)境(Pendulum-v0)是一個(gè)經(jīng)典的強(qiáng)化學(xué)習(xí)訓(xùn)練和評估環(huán)境,圖2給出了鐘擺環(huán)境圖。 該環(huán)境的目標(biāo)是將鐘擺保持垂直向上的姿態(tài), 智能體需要通過觀察鐘擺的角速度、 正弦、 余弦值, 同時(shí)輸出[-2, 2]間的連續(xù)值控制電機(jī)扭矩。

        小車爬山環(huán)境也是一個(gè)連續(xù)空間的強(qiáng)化學(xué)習(xí)環(huán)境,圖3給出了小車爬山環(huán)境圖。該環(huán)境是一個(gè)一維的山坡, 目標(biāo)是控制一輛動(dòng)力不足的小車爬山坡, 小車自身動(dòng)力無法直接完成該任務(wù), 因此需要控制小車反復(fù)助跑蓄力沖上山坡, 在到達(dá)山頂前環(huán)境每一步的獎(jiǎng)勵(lì)反饋都是-1。該環(huán)境中智能體需要觀察小車的位置和速度, 并輸出[-1,1]間的連續(xù)值控制小車前進(jìn)后退的力度。

        圖2 鐘擺環(huán)境 圖3 小車爬山環(huán)境Fig.2 Pendulum environment Fig.3 Mountain car environment

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

        為對比PER-SAC算法的改進(jìn)效果, PER-SAC算法的參數(shù)與SAC算法完全一致, 實(shí)驗(yàn)部分環(huán)境將分別嘗試鐘擺環(huán)境和小車爬山環(huán)境; 優(yōu)化算法分別嘗試Adam和SGD。同時(shí)與TD3和DDPG算法進(jìn)行了對比試驗(yàn), 其他實(shí)驗(yàn)參數(shù)為SAC算法默認(rèn)參數(shù)(見表1)。

        表1 實(shí)驗(yàn)參數(shù)設(shè)置Tab.1 Experimental parameter setting

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

        與有監(jiān)督學(xué)習(xí)算法直接計(jì)算預(yù)測值與標(biāo)簽值衡量模型效果的方法不同, 強(qiáng)化學(xué)習(xí)以自身與環(huán)境不斷探索試錯(cuò)逐步迭代出更優(yōu)決策模型, 筆者將分別從Critic誤差, Actor的誤差及回合的累計(jì)獎(jiǎng)勵(lì)等角度評價(jià)算法性能。

        圖4給出了在鐘擺環(huán)境下, 采用Adam優(yōu)化算法, 批次大小設(shè)置為32時(shí)PER-SAC算法(綠色)與SAC(橙色)在訓(xùn)練及測試期間的表現(xiàn)情況。由圖4a可以看出, 在整個(gè)訓(xùn)練過程中, PER-SAC的Q1網(wǎng)絡(luò)的估計(jì)誤差收斂比SAC算法更迅速, 更穩(wěn)定。在訓(xùn)練至15 000次時(shí)PER-SAC算法的Q1誤差已經(jīng)接近1, 而SAC算法的Q1誤差表現(xiàn)得更為震蕩且紊亂, 在訓(xùn)練至15 000次時(shí)誤差震蕩上升至接近10。造成Q1和Q2網(wǎng)絡(luò)訓(xùn)練誤差先由小變大再由大變小的原因主要為網(wǎng)絡(luò)隨機(jī)初始化時(shí)神經(jīng)元參數(shù)都比較小。隨著訓(xùn)練參數(shù)逐漸增大, 其輸出值也變大, 由于強(qiáng)化學(xué)習(xí)算法高方差和高偏差的特性, Critic的誤差也在逐漸增大; 隨著訓(xùn)練的繼續(xù), Critic對環(huán)境的評估越來越精準(zhǔn), 誤差又逐漸下降, 值函數(shù)逐漸收斂。圖4b中Q2網(wǎng)絡(luò)的訓(xùn)練估計(jì)誤差也表現(xiàn)出和Q1類似的特性, 這說明PER-SAC算法的兩個(gè)值網(wǎng)絡(luò)的訓(xùn)練效率和穩(wěn)定性都得到了提高。圖4c代表策略網(wǎng)絡(luò)在訓(xùn)練期間的誤差情況, 策略網(wǎng)絡(luò)的誤差描述的是策略網(wǎng)絡(luò)與值網(wǎng)絡(luò)分布的KL散度。在訓(xùn)練初期由于值網(wǎng)絡(luò)和策略網(wǎng)絡(luò)參數(shù)都比較小, KL散度的值也比較小。隨著訓(xùn)練的進(jìn)行, 值網(wǎng)絡(luò)對狀態(tài)的評估更加準(zhǔn)確, 此時(shí)值網(wǎng)絡(luò)與策略網(wǎng)絡(luò)的KL散度會逐漸增大, 然而隨著策略網(wǎng)絡(luò)在不斷根據(jù)KL散度的反饋迭代參數(shù), 策略網(wǎng)絡(luò)與值網(wǎng)絡(luò)之間的KL散度接著又會逐漸減小, 在總體訓(xùn)練期間策略誤差表現(xiàn)出先增大后減小。由圖4c可觀察出PER-SAC算法的策略誤差收斂更加迅速, 加入優(yōu)先經(jīng)驗(yàn)回放使策略網(wǎng)絡(luò)修正誤差更加迅速, 同時(shí)由于PER-SAC算法的2個(gè)Q網(wǎng)絡(luò)收斂比SAC算法更加快速穩(wěn)定, 其對策略網(wǎng)絡(luò)的梯度反饋在全局角度也更加精確, 能減少策略網(wǎng)絡(luò)無意義的更新次數(shù), 這使PER-SAC算法的策略的收斂效率相比于SAC算法有了較大提升。圖4d和圖4e分別代表了算法在訓(xùn)練期間的回合累計(jì)獎(jiǎng)勵(lì), PER-SAC算法的表現(xiàn)優(yōu)于SAC算法, 不僅增長更快速而且更加穩(wěn)定。圖4f表示熵的權(quán)重(溫度系數(shù))在訓(xùn)練期間的衰減情況, 總體兩個(gè)算法都能使溫度系數(shù)保持穩(wěn)定的衰減, 利于策略的收斂, 引入優(yōu)先經(jīng)驗(yàn)回放并不會明顯影響該過程。

        圖4 PER-SAC與SAC在訓(xùn)練及測試期間誤差收斂及獎(jiǎng)勵(lì)增長情況Fig.4 Error convergence and reward growth of PER-SAC and SAC during training and testing

        表2給出了在兩個(gè)環(huán)境, 不同的優(yōu)化算法下, PER-SAC與其他3個(gè)比較算法在訓(xùn)練15 000步的測試表現(xiàn), 采用的指標(biāo)是指數(shù)平滑后的回合累計(jì)獎(jiǎng)勵(lì), 采用指數(shù)平滑的方式能綜合策略前面的回合的表現(xiàn), 降低隨機(jī)干擾。表格前兩行是鐘擺環(huán)境下的算法表現(xiàn), 在Adam優(yōu)化算法下, TD3,DDPG與SAC算法的表現(xiàn)較為接近, 在-700~-800范圍內(nèi)波動(dòng), 而PER-SAC算法表現(xiàn)明顯優(yōu)于前幾個(gè)算法, 達(dá)到了-259.2。而在SGD優(yōu)化算法中, SAC與PER-SAC算法較為接近, 而TD3與DDPG算法表現(xiàn)則差于Adam算法的結(jié)果。在小車爬山連續(xù)環(huán)境中, 無論在Adam還是SGD環(huán)境下, 4個(gè)算法均未能爬到山頂, 而選擇了降低油耗的策略, 但通過其獎(jiǎng)勵(lì)仍然能反映出算法收斂的速度。TD3與DDPG算法在2種優(yōu)化算法下的獎(jiǎng)勵(lì)均小于-2, 而SAC算法與PER-SAC算法均大于-1。在所有的試驗(yàn)中, SAC類算法表現(xiàn)都優(yōu)于TD3和DDPG算法, 證明其最大熵策略的有效性。本次實(shí)驗(yàn)設(shè)置的步數(shù)為15 000, 相對普通強(qiáng)化學(xué)習(xí)實(shí)驗(yàn)的次數(shù)更低, 更能體現(xiàn)算法前期的收斂性能與學(xué)習(xí)速度, 而PER-SAC算法表現(xiàn)均優(yōu)于SAC算法, 說明引入優(yōu)先級回放機(jī)制能給SAC算法帶來穩(wěn)定的性能提升, 證明了PER-SAC算法的有效性。

        表2 算法在不同環(huán)境及配置下訓(xùn)練最終回合平滑累計(jì)獎(jiǎng)勵(lì)(平滑系數(shù)為0.8)Tab.2 Cumulative reward of algorithm training in different environments and configurations (smoothing coefficientis 0.8)

        4 結(jié) 語

        筆者提出了PER-SAC算法, 通過將優(yōu)先級經(jīng)驗(yàn)回放機(jī)制引入SAC算法, 提升了算法的訓(xùn)練速度和穩(wěn)定性, 并在不同環(huán)境, 不同優(yōu)化算法等情況下與其他強(qiáng)化學(xué)習(xí)算法做了對比實(shí)驗(yàn), 驗(yàn)證了所提算法的有效性。PER-SAC算法在衡量樣本優(yōu)先級時(shí), 直接將3個(gè)網(wǎng)絡(luò)的TD誤差的絕對值相加, 樣本重要性的評估方式較為簡單, 引入的訓(xùn)練信息不夠充分, 下一步的研究方向可以考慮引入更多環(huán)境獎(jiǎng)勵(lì)信息或訓(xùn)練信息幫助更好地評估樣本優(yōu)先級, 進(jìn)一步優(yōu)化算法訓(xùn)練性能。

        猜你喜歡
        經(jīng)驗(yàn)誤差樣本
        2021年第20期“最值得推廣的經(jīng)驗(yàn)”評選
        黨課參考(2021年20期)2021-11-04 09:39:46
        用樣本估計(jì)總體復(fù)習(xí)點(diǎn)撥
        角接觸球軸承接觸角誤差控制
        哈爾濱軸承(2020年2期)2020-11-06 09:22:26
        Beidou, le système de navigation par satellite compatible et interopérable
        經(jīng)驗(yàn)
        壓力容器制造誤差探究
        2018年第20期“最值得推廣的經(jīng)驗(yàn)”評選
        黨課參考(2018年20期)2018-11-09 08:52:36
        推動(dòng)醫(yī)改的“直銷樣本”
        隨機(jī)微分方程的樣本Lyapunov二次型估計(jì)
        九十億分之一的“生死”誤差
        山東青年(2016年2期)2016-02-28 14:25:41
        天堂中文资源在线地址| 五月丁香六月综合缴清无码| 中文字幕人妻无码一夲道| 欧美z0zo人禽交欧美人禽交| 亚洲va成无码人在线观看| 国产精品久久婷婷六月丁香| 国产中文三级全黄| 2019最新国产不卡a| 中文字幕有码一区二区三区| 国语对白自拍视频在线播放| 亚洲av乱码一区二区三区林ゆな | 国产精品一区二区av不卡| 免费国产黄网站在线观看可以下载 | 亚洲av无码专区电影在线观看| 综合色天天久久| 中文字幕文字幕一区二区| 97在线视频人妻无码| 久久精品无码中文字幕| 国产一区二区a毛片色欲| 日韩精品久久午夜夜伦鲁鲁| 国产婷婷色一区二区三区在线 | 又粗又黄又猛又爽大片app| 无码人妻一区二区三区免费n鬼沢 人禽无码视频在线观看 | 97色综合| 高清不卡av一区二区| 亚洲av无码乱码在线观看裸奔| 日韩在线无| 丝袜美腿一区二区在线观看| 久久久极品少妇刺激呻吟网站| 国产精选污视频在线观看| 亚洲福利天堂网福利在线观看| 一个人午夜观看在线中文字幕 | 性一交一乱一伦a片| 日本高清在线播放一区二区三区| 天堂免费av在线播放| 国产成人精品白浆久久69| 亚洲国产欧美日韩一区二区| 最新国产精品国产三级国产av| 欧美丰满老熟妇aaaa片| 香蕉人妻av久久久久天天| 午夜香蕉av一区二区三区|