黃寧馨, 尹 翔, 樂云亮, 彭坤彥
(揚州大學信息工程學院, 江蘇 揚州 225117)
深度強化學習(deep reinforcement learning, DRL)主要是將深度學習的感知能力和強化學習的決策能力相結合, 該算法具有較強的通用性, 被認為是邁向通用人工智能的重要途徑[1-2].近年來, 深度強化學習算法被廣泛應用于計算機視覺、智能運輸及自動駕駛等方面.截至目前, 深度強化學習依然存在諸多問題, 如難以調節(jié)參數(shù)、采樣效率低下、獎勵設置困難、算法訓練時間過長和仿真實驗與現(xiàn)實應用差距較大等[3-5].Mnih等[6]利用深度神經(jīng)網(wǎng)絡逼近值函數(shù), 提出深度Q網(wǎng)絡算法(deep Q-network, DQN), 采用經(jīng)驗回放機制訓練強化學習, 提高了深度神經(jīng)網(wǎng)絡估計值函數(shù)的穩(wěn)定性, 但該算法存在過估計且難以應用于連續(xù)環(huán)境等問題; Qiu等[7]將DQN算法和深度策略梯度算法相結合, 提出深度確定性策略梯度(deep deterministic policy gradient, DDPG), 解決了隨機性策略梯度算法在動作空間較大時采樣中計算量過大的問題, 進一步提升了算法的通用性; Li等[8]提出優(yōu)勢行動者評論家算法(advantage actor-critic, A2C), 選擇優(yōu)勢函數(shù)替代critic神經(jīng)網(wǎng)絡中的原始回報, 并利用經(jīng)驗回放機制解決Aho-Corasick算法難以收斂的問題; Liu等[9]提出近端策略優(yōu)化(proximal policy optimization, PPO)算法, 通過計算新舊策略的占比增加約束條件, 限制策略的更新幅度, 解決了學習率難以配置的問題, 同時采取重要性采樣方案來減少訓練時間.上述深度強化學習算法通常專用于一個有限的任務領域, 當智能體遇到新任務時仍須重新開始學習, 導致算法訓練時間過長且樣本量過大, 此時若采用元學習算法[10-13]則可根據(jù)以往的經(jīng)驗和少量樣本實現(xiàn)快速適應.Lee等[14]提與模型無關的元學習(model-agnostic meta-learning, MAML)算法, 在新任務與訓練任務所處環(huán)境狀態(tài)一致的情況下實現(xiàn)了智能體在新任務上的快速適應, 但該方法很難擴展到離線策略上, 很大程度地限制了深度元強化學習的適用場景.本文擬在深度強化學習算法中引入MAML, 以期使得智能體有效利用在訓練任務中學習到的先驗知識, 實現(xiàn)在新任務上的快速適應.
在t時刻下, 根據(jù)策略π, 智能體通過與環(huán)境進行交互得到一個狀態(tài)st, 再從所有可能的動作集合中選擇并實施動作at, 得到下一個狀態(tài)st+1和立即回報rt, 重復該過程直到任務結束.選擇使得累計回報最大化的動作, 即最大化狀態(tài)動作值函數(shù)
Qπ(s,a)=maxπE[rt+γrt+1+γ2rt+2+…|st=s,at=a],
(1)
其中γ為折扣因子,E(·)為期望函數(shù).
深度強化學習中估計網(wǎng)絡和現(xiàn)實網(wǎng)絡的結構完全相同而參數(shù)不同, 其中估計網(wǎng)絡的參數(shù)是實時更新的, 主要用于評估當前狀態(tài)動作值函數(shù)Qe=Q(st,at).現(xiàn)實網(wǎng)絡的參數(shù)是每更新幾步后由估計網(wǎng)絡復制而來, 表示為現(xiàn)實狀態(tài)動作值函數(shù)
Qt=r+γmaxat+1Q(st+1,at+1),
(2)
式中at+1為at的下一動作,st+1為st的下一狀態(tài).深度強化學習通過最小化損失函數(shù)
L=E[(Qt-Qe)2]
(3)
更新估計網(wǎng)絡的參數(shù)值, 該損失函數(shù)為元學習過程需要優(yōu)化的目標函數(shù).
1.2.1 元訓練過程
圖1 元訓練參數(shù)更新示意圖Fig.1 Parameter update schematic diagram for meta-training
元訓練過程具體學習步驟如下:
1) 已知模型參數(shù)θ, 假設有P個訓練任務, 從每個任務中采樣得到訓練樣本Ti和測試樣本Di, 1≤i≤P.采用梯度下降方法更新模型參數(shù), 得到
(4)
式中a為學習特定任務的學習率,f為模型;
2) 計算測試樣本基于θ′i的損失LDi(fθ′i), 記錄所有任務的累積損失∑LDi(fθ′i);
4) 采用梯度下降方法再次更新模型參數(shù)θ, 得到
(5)
式中β為學習不同任務之間共性階段的學習率.
1.2.2 元測試過程
元測試過程無須隨機初始化參數(shù), 而是通過微調經(jīng)元訓練過程訓練過的參數(shù)去完成新任務, 其學習步驟與元訓練過程的基本一致.
實驗環(huán)境為Intel i5 CPU, 4 GB RAM以及python3.5.為了驗證算法的性能, 現(xiàn)搭建平衡車離散環(huán)境和機器手臂連續(xù)環(huán)境, 在離散實驗環(huán)境中采用DQN[6]、DDPG[7]、DQN-MAML和DDPG-MAML算法進行對比實驗, 在連續(xù)環(huán)境中采用A2C[8]、PPO[9]、A2C-MAML和PPO-MAML算法進行對比實驗.仿真參數(shù)如表1所示.
表1 仿真參數(shù)
離散環(huán)境采用平衡車實驗, 該實驗是一個小車上連著一根桿子, 通過小車左右運動(不考慮摩擦)使桿子不倒, 初始桿子為豎直放置.假設訓練任務Ⅰ中小車的相對質量為1, 桿子的相對質量為0.1, 桿子的相對長度為0.5; 訓練任務Ⅱ中小車的相對質量為1.2, 桿子的相對質量為0.2, 桿子的相對長度為0.4; 新任務中小車的相對質量為0.9, 桿子的相對質量為0.2, 桿子的相對長度為0.6.新任務的實驗環(huán)境如圖2所示.獎勵設置: 當桿子與豎直方向的夾角越小且小車離中心越近時, 獎勵越大, 超出一定范圍獎勵為負值.當桿子與豎直方向的角度超過24°或小車位置距離中心超過2.4時結束該回合.
圖2 離散實驗環(huán)境Fig.2 Discrete experimental environment
圖3給出了引入MAML前后在DQN和DDPG算法下各回合中智能體保持桿子不倒的動作步數(shù).由圖3可見, 相較于傳統(tǒng)的DQN和DDPG算法, 本文算法對環(huán)境的適應速度更快且曲線的震蕩幅度更小, 算法的穩(wěn)定性增強.其原因為: 1) MAML算法有效利用了在訓練任務中學習到的先驗知識, 加快智能體對新任務的適應程度且能有效避免錯誤動作; 2) DQN和DDPG算法在訓練任務中都已對環(huán)境進行了高效探索.DQN算法采取衰減ε-greedy貪婪策略, 在訓練前期智能體采取較大的ε值, 保證智能體在訓練任務中對環(huán)境的高效探索; DDPG算法的行為策略和評估策略不同,故可促進智能體對環(huán)境的探索,且DDPG算法在行為策略的確定性策略中添加了噪聲,在前期訓練任務中已對環(huán)境進行高效探索.
圖3 離散實驗環(huán)境下不同算法的性能對比Fig.3 Performance comparison of different algorithms in discrete experimental environment
連續(xù)環(huán)境采用機器手臂實驗,其中機器手臂的一端固定在相對邊長為500的正方形畫布中央,實驗目的是使小臂外端能找到目標方塊.假設訓練任務Ⅰ中目標方塊是2個相對邊長為40的方塊, 大臂的相對長度為100, 小臂的相對長度為80; 訓練任務Ⅱ中目標方塊是2個相對邊長為45的方塊, 大臂的相對長度為80, 小臂的相對長度為100; 新任務中目標方塊為一個相對邊長為35的方塊, 大臂的相對長度為80, 小臂的相對長度為80.新任務的實驗環(huán)境如圖4所示.獎勵設置: 當小臂外端接觸到目標方塊會獲得+1的獎勵; 當小臂外端離目標方塊越近獎勵越大, 反之則越?。暨B續(xù)保持50步小臂外端都可接觸到目標方塊, 則該回合結束.
圖4 連續(xù)實驗環(huán)境Fig.4 Continuous experimental environment
圖5給出了引入MAML前后A2C和PPO算法下各回合中智能體找到目標方塊所需的步數(shù).由圖5可見, 相較于A2C和PPO算法,本文算法的收斂速度更快且曲線的震蕩幅度變小,算法的穩(wěn)定性增強.其原因為: 1) MAML算法加速了智能體對新任務的適應程度且能有效避免錯誤動作; 2) A2C和PPO算法在訓練任務中都對環(huán)境進行了高效探索.A2C算法通過在策略的輸出分布中設置一個限制條件, 使得智能體所采取的每個行為的幾率均等, 從而提升其對環(huán)境的探索率; PPO算法則采取隨機策略,根據(jù)隨機策略的最新版本采樣動作進行探索, 同時PPO算法在利用神經(jīng)網(wǎng)絡共享策略和值函數(shù)時使用了包含策略替代和值函數(shù)誤差項的損失函數(shù),該損失函數(shù)進一步通過熵增益促進智能體對環(huán)境的探索.
圖5 連續(xù)實驗環(huán)境下不同算法的性能對比Fig.5 Performance comparison of different algorithms in continuous experimental environment
本文基于深度強化學習和元學習算法研究了讓智能體利用在以往任務中學習到的先驗知識來實現(xiàn)在新任務中的快速適應方法.結果表明: 本文算法可以在訓練任務和新任務環(huán)境狀態(tài)不一致的情況下達到快速適應的目的,算法的收斂速度快,穩(wěn)定性高.