宋江帆 李金龍
摘 要:在強化學(xué)習(xí)中,策略梯度法經(jīng)常需要通過采樣將連續(xù)時間問題建模為離散時間問題。為了建模更加精確,需要提高采樣頻率,然而過高的采樣頻率可能會使動作改變頻率過高,從而降低訓(xùn)練效率。針對這個問題,提出了動作穩(wěn)定更新算法。該方法使用策略函數(shù)輸出的改變量計算動作重復(fù)的概率,并根據(jù)該概率隨機地重復(fù)或改變動作。在理論上分析了算法性能。之后在九個不同的環(huán)境中評估算法的性能,并且將它和已有方法進行了比較。該方法在其中六個環(huán)境下超過了現(xiàn)有方法。實驗結(jié)果表明,動作穩(wěn)定更新算法可以有效提高策略梯度法在連續(xù)時間問題中的訓(xùn)練效率。
關(guān)鍵詞:強化學(xué)習(xí); 連續(xù)時間; 策略梯度; 動作重復(fù)
中圖分類號:TP389.1 文獻標志碼:A 文章編號:1001-3695(2023)10-007-2928-05
doi:10.19734/j.issn.1001-3695.2023.02.0092
Action stable updating algorithm for policy gradient methods in continuous time
Song Jiangfan, Li Jinlong
(School of Computer Science & Technology, University of Science & Technology of China, Hefei 230000, China)
Abstract:In reinforcement learning, the policy gradient algorithm often needs to model the continuous-time process as a discrete-time process through sampling. To model the problem more accurately, it improves the sampling frequency. However, the excessive sampling frequency may reduce the training efficiency. To solve this problem, this paper proposed action stable updating algorithm. This method calculated the probability of action repetition using the change of the output of the policy function, and randomly repeated or changed the action based on this probability. This paper theoretically analyzed the perfor-mance of this method. This paper evaluated the performance of this method in nine different environments and compared it with the existing methods. This method surpassed existing methods in six of these environments. The experimental results show that this method can improve the training efficiency of the policy gradient algorithm in continuous-time problems.
Key words:reinforcement learning; continuous time; policy gradient; action repetition
0 引言
強化學(xué)習(xí)是人工智能領(lǐng)域中的一個重要研究方向,它可以應(yīng)用于各種不同的應(yīng)用,有潛力解決很多現(xiàn)實世界的問題,例如智能機器人、金融或自動駕駛。經(jīng)典的強化學(xué)習(xí)算法將環(huán)境建模為離散時間馬爾可夫決策過程。然而在很多現(xiàn)實問題中,時間是連續(xù)的,處理連續(xù)時間的強化學(xué)習(xí)算法還不夠成熟。
在強化學(xué)習(xí)中,已經(jīng)提出了一些專門針對連續(xù)時間馬爾可夫決策過程的算法[1~3]。這些算法都是針對特定問題設(shè)計的,它們增加了各種不同的關(guān)于轉(zhuǎn)移函數(shù)和獎勵函數(shù)的先驗假設(shè)。例如在自適應(yīng)控制領(lǐng)域,提出了大量基于連續(xù)時間的算法[4~8]。自適應(yīng)控制可以看成是強化學(xué)習(xí)的一個特例。在自適應(yīng)控制中,經(jīng)常假設(shè)狀態(tài)關(guān)于時間是可微的,并且狀態(tài)關(guān)于時間的微分方程符合一些特定的形式,比如假設(shè)微分方程是線性的。有了這些假設(shè),模型的訓(xùn)練會簡單很多。在自適應(yīng)控制中,通常從一個確定性的初始策略開始,通過迭代優(yōu)化算法來獲得最優(yōu)策略,而不需要隨機探索。
目前,連續(xù)時間馬爾可夫決策過程的通用算法仍然大量使用的是基于離散時間的強化學(xué)習(xí)算法。這類算法需要以一定的時間間隔τ來對時間進行采樣,并將問題建模為離散時間過程。時間間隔τ決定了智能體決策的頻率,并且會影響強化學(xué)習(xí)的效果[9,10]。具體來說,一些實際應(yīng)用需要智能體的反映盡可能快,例如自動駕駛,而時間間隔會影響智能體的反映時間。為了減少反映時間,時間間隔需要盡可能小。然而對于基于離散時間的算法,過小的時間間隔會導(dǎo)致新的問題。在基于Q值的強化學(xué)習(xí)算法中,當時間間隔趨于零時,同一狀態(tài)的不同動作對應(yīng)的Q(s,a)會趨向于同一個值V(s),從而導(dǎo)致算法無法正確學(xué)習(xí)策略。為了解決這個問題,有人提出了advantage updating [11],它通過使用公式[Q(s,a)-V(s)]/τ替代Q(s,a)來解決這個問題。之后,有人將advantage updating結(jié)合到了深度神經(jīng)網(wǎng)絡(luò)中[12]。
對于基于策略梯度的算法,減小時間間隔τ會增加動作改變的頻率,這會導(dǎo)致增加優(yōu)勢函數(shù)的相對誤差[12,13]和降低智能體的探索效率兩個新問題。為了解決這兩個問題,最樸素的方法是選擇一個合適的時間間隔[10]。除此之外,如果動作空間連續(xù),那么可以使用自相關(guān)噪聲代替策略函數(shù)中的白噪聲控制動作改變的幅度,來達到類似于減小動作改變頻率的效果[14~16]。對于一般性的動作空間,可以使用動作重復(fù)來解決動作改變頻率過高的問題,也就是讓智能體自己決定動作持續(xù)的時間或重復(fù)的次數(shù)[13,17]。其中最簡單的方法是讓智能體自己輸出動作重復(fù)的次數(shù),即FiGAR(fine grained action repetition)[17]。然而,這種方法會導(dǎo)致智能體在狀態(tài)有突發(fā)變化時無法立刻響應(yīng)[13]。為了解決這個問題,有人提出了SAR(safe action repetition)[13]。SAR使用一個額外的策略函數(shù)π(d|s)輸出狀態(tài)改變量的一個閾值d,動作會一直重復(fù)到狀態(tài)的變化超過d。然而在很多環(huán)境中,狀態(tài)的改變量無法定義(例如狀態(tài)是一幅圖片),使得SAR無法應(yīng)用。
在這些動作重復(fù)方法中,需要計算重復(fù)次數(shù)或者狀態(tài)改變量的閾值,然而,這些變量的最優(yōu)值很難計算。因為這些變量不僅影響訓(xùn)練效率,同時也影響?yīng)剟睢H绻皇褂锚剟顏碛?xùn)練神經(jīng)網(wǎng)絡(luò)去估計重復(fù)次數(shù)[17]或狀態(tài)改變量的閾值[13],那么就會忽略掉對訓(xùn)練效率的影響。神經(jīng)網(wǎng)絡(luò)可能會為了更高的獎勵輸出較小的值,從而降低模型的訓(xùn)練效率。與SAR不同,本文提出了一個根據(jù)動作分布改變量隨機決定動作是否重復(fù)的新方法。
為了改進現(xiàn)有動作重復(fù)方法的問題,提出了動作穩(wěn)定更新算法。對于大多數(shù)強化學(xué)習(xí)任務(wù),狀態(tài)空間的大小遠大于動作空間,因此在不同狀態(tài)下的最優(yōu)動作可能是相同的。所以當狀態(tài)發(fā)生改變時動作不一定需要改變。與SAR不同,該算法通過使用策略函數(shù)的改變量判斷動作是否有必要重復(fù)。由于不需要計算狀態(tài)的改變量,所以可以應(yīng)用在狀態(tài)距離無法定義的環(huán)境,從而解決了SAR的主要問題。為了降低模型的訓(xùn)練難度,該方法不訓(xùn)練額外的神經(jīng)網(wǎng)絡(luò)來確定動作的持續(xù)時間,而是根據(jù)策略函數(shù)輸出動作分布的改變量決定動作是否重復(fù)的概率,并根據(jù)該概率隨機地重復(fù)或改變動作。策略函數(shù)的輸出變化越大,改變動作的概率也越大。
本文的貢獻包括如下方面:
a)提出了動作穩(wěn)定更新算法來解決基于策略梯度的強化學(xué)習(xí)算法在連續(xù)時間問題中動作變化頻率過高的問題,該方法可以應(yīng)用于一般化的強化學(xué)習(xí)問題。在動作穩(wěn)定更新算法中,動作重復(fù)的概率取決于策略函數(shù)在每一步輸出的動作分布相對于上一步的改變量。
b)在理論上證明了該方法有兩個優(yōu)良性質(zhì):(a)智能體可以立刻響應(yīng)狀態(tài)的變化;(b)在正常情況下,無論時間間隔如何變化,動作改變的頻率都是有界的。目前為止,動作穩(wěn)定更新算法是唯一同時滿足這兩個性質(zhì)的算法。
將動作穩(wěn)定更新算法應(yīng)用到了PPO2[18]和MAPPO[19],并在多種不同的環(huán)境中進行了測試。測試環(huán)境來自于OpenAI Gym[20]、Atari[21]和StarCraft multi-agent challenge(SMAC)[22]。實驗結(jié)果顯示,該方法可以在大多強化學(xué)習(xí)任務(wù)中有效提升基于策略梯度的強化學(xué)習(xí)算法的性能,并且在大部分環(huán)境下超過了之前的SAR和FiGAR。
對于不使用動作重復(fù)的策略梯度法,滿足瞬時性而不滿足穩(wěn)定性。對于FiGAR[17]或SAR[12],滿足穩(wěn)定性而不滿足瞬時性。就目前而言,動作穩(wěn)定更新算法是唯一同時滿足這兩個性質(zhì)的算法。
4 實驗
為了探究動作穩(wěn)定更新算法是否可以更好地解決連續(xù)時間馬爾可夫決策過程,將該方法應(yīng)用到了PPO2[18]和MAPPO[19],并在如下環(huán)境中進行了測試:OpenAI Gym[20]、Atari[21]和StarCraft multi-agent challenge(SMAC)[22]。
4.1 實驗環(huán)境
在九個不同環(huán)境中評估了動作穩(wěn)定更新算法。所有環(huán)境參數(shù)設(shè)置為默認值。不同環(huán)境的動作空間、狀態(tài)空間和任務(wù)各不相同,如表1所示。
4.2 對比方法和實驗設(shè)置
實驗對比了FiGAR[17]、SAR[13]和沒有動作重復(fù)的策略梯度法。SAR的狀態(tài)距離函數(shù)和原文保持一致,即‖1-2‖1/dim(S),其中‖·‖1是L1范數(shù),是根據(jù)平均值和方差歸一化之后的狀態(tài)。自適應(yīng)隨機動作重復(fù)的超參數(shù)ε為0.2/τ,SAR的超參數(shù)dmax為0.5,F(xiàn)iGAR的超參數(shù)dmax為10τ,其中τ為環(huán)境默認的時間間隔。
實驗參數(shù)如下:實驗中16個環(huán)境并行運行;每更新一次每個環(huán)境執(zhí)行128步;獎勵調(diào)整為原始獎勵的百分之一;學(xué)習(xí)速率為0.004;每次更新迭代10次;神經(jīng)網(wǎng)絡(luò)除Breakout外使用多層全連接網(wǎng)絡(luò),深度為2,隱藏層大小為64。
4.3 簡單環(huán)境下的實驗結(jié)果
為了對比不同算法性能差異,在來自O(shè)penAI Gym[20]的七個簡單環(huán)境下進行了測試,如圖1~7所示。其中橫軸代表訓(xùn)練所經(jīng)過的環(huán)境步數(shù),縱軸代表總獎勵的平均值,每條曲線為五次運行取的平均值?!?our”代表動作穩(wěn)定更新算法。
這七個環(huán)境可以分為三類:第一類環(huán)境需要動作改變的頻率較低,包括MountainCar和MountainCarContinuous;第二類環(huán)境需要動作的改變頻率較高,這樣才能獲得較高的獎勵,包括BipedalWalker和CartPole;剩下的為第三類環(huán)境,它們對動作頻率沒有明顯的要求,包括Acrobot、Pendulum和LunarLander。之后將分別討論不同算法在這三類環(huán)境下的表現(xiàn)。
如圖1、2所示,對于第一類環(huán)境,動作穩(wěn)定更新算法和FiGAR表現(xiàn)較好,這可能是因為它們能夠保持動作的穩(wěn)定。相比于FiGAR,動作穩(wěn)定更新算法的效果更好一些,這可能是因為動作穩(wěn)定更新算法在保持動作穩(wěn)定的同時還保證動作的瞬時性,即動作可以立刻對狀態(tài)的變化作出反應(yīng)。
具體來說,在環(huán)境MountainCarCountinous-v0中,每執(zhí)行一個動作都會得到一個負的獎勵除非什么都不做,這使得它很容易陷入局部最優(yōu),此時需要保證動作的穩(wěn)定來增加探索效率。如圖1所示,PPO2獲得的獎勵總是最低,似乎是陷入了局部最優(yōu)。而PPO2+FiGAR和PPO2+our總能得到最高的獎勵。PPO2+SAR比PPO2好一些,可能是有一定概率陷入局部最優(yōu)。
在環(huán)境MountainCar-v0中,如果動作改變頻繁的話探索效率會很低。如圖2所示,這個問題可以通過動作穩(wěn)定更新算法或FiGAR解決。雖然SAR也是一個動作重復(fù)方法,但是它無法解決這個問題,這主要是由于狀態(tài)的距離難以定義。SAR在計算距離時使用state的方差進行歸一化,但是在訓(xùn)練中狀態(tài)的方差是不斷變化的,這導(dǎo)致了狀態(tài)的改變量無法正確計算。
對于第二類環(huán)境,即需要動作的改變頻率較高的環(huán)境,由于不存在動作改變頻率過高的問題,所以直接使用原始PPO2算法即可。但是因為可能無法事先知道環(huán)境是否屬于第二類,所以依然希望各種算法在這類環(huán)境能夠表現(xiàn)良好。
如圖3、4所示,對于第二類環(huán)境,原始PPO2的表現(xiàn)最為出色,這與理論上的分析結(jié)果一致。SAR的結(jié)果比FiGAR和動作穩(wěn)定更新算法的結(jié)果更好,這可能是因為FiGAR和動作穩(wěn)定更新算法傾向于讓動作保持穩(wěn)定,使得動作的改變頻率過低。相比之下,SAR的動作改變頻率更高一些,所以沒有落后原始PPO2太多。
在第三類環(huán)境中,沒有對動作改變頻率的特殊要求。圖5~7展示了不同算法在第三類環(huán)境中的表現(xiàn)。其中動作穩(wěn)定更新算法略好于原始PPO2,為表現(xiàn)最好的算法。這主要是因為動作穩(wěn)定更新算法具有瞬時性,這使得該算法在保持動作穩(wěn)定的同時可以立刻對狀態(tài)的變化進行響應(yīng),所以表現(xiàn)通常不會比PPO2更差;又由于該算法保持了動作的穩(wěn)定,所以一定程度上提高了訓(xùn)練效率。而SAR的表現(xiàn)最差,這可能是因為狀態(tài)間的距離難以準確計算。
4.4 復(fù)雜環(huán)境下的實驗結(jié)果
設(shè)計動作穩(wěn)定更新算法的一個原因是SAR不能用在狀態(tài)距離難以定義的復(fù)雜環(huán)境中。為了探究動作穩(wěn)定更新算法是否可以應(yīng)用于一般環(huán)境,在Breadout-v4和SMAC中的3m中評估了動作穩(wěn)定更新算法。其中Breakout-v4的狀態(tài)是一個圖片;SMAC是一個多智能體環(huán)境,時間間隔設(shè)置為一幀。FiGAR在多智能體環(huán)境中會同時輸出多個不同的時間間隔,這使得不同智能體的同步存在一些困難,所以SMAC中沒有測試FiGAR。實驗結(jié)果如圖8、9所示。其中橫軸代表環(huán)境步數(shù),縱軸代表總獎勵的平均值,每條曲線為五次運行取的平均值?!?our”代表動作穩(wěn)定更新算法。
對于Breakout-v4,圖8展示了PPO2、PPO2+our和PPO2+FiGAR的對比結(jié)果。PPO2+our的表現(xiàn)超過了PPO2+FiGAR并和PPO2類似。對于SMAC的3m,圖9展示了MAPPO和MAPPO2+our的結(jié)果,其中MAPPO為多智能體環(huán)境下的基于策略梯度的強化學(xué)習(xí)算法。動作穩(wěn)定更新算法明顯提升了MAPPO的表現(xiàn),尤其是在頻率高的情況下。
這些結(jié)果顯示動作穩(wěn)定更新算法可以應(yīng)用于一些復(fù)雜的環(huán)境。由于該方法是根據(jù)策略函數(shù)來判斷動作是重復(fù)還是更新,所以只要策略函數(shù)可以運行該算法就可以使用,這使得該方法應(yīng)用范圍更廣。
4.5 實驗總結(jié)
根據(jù)以上實驗,可以結(jié)合理論分析得出不同算法的優(yōu)缺點,如表2所示。
5 結(jié)束語
為了提升基于策略梯度的強化學(xué)習(xí)算法解決連續(xù)時間馬爾可夫決策過程的能力,提出了動作穩(wěn)定更新算法。該方法讓策略梯度法可以在不影響訓(xùn)練效率的前提下減小響應(yīng)時間,從而提升整體性能,并且該方法可以應(yīng)用于一般的連續(xù)時間馬爾可夫決策過程問題,證明了該方法的瞬時性和穩(wěn)定性。在實驗中,將動作穩(wěn)定更新算法應(yīng)用到了來自于OpenAI Gym、Atari和SMAC的九個不同的環(huán)境中,實驗結(jié)果顯示該方法在大部分環(huán)境下表現(xiàn)得更好。
理論上,如果策略函數(shù)是最優(yōu)的,動作穩(wěn)定更新算法可以選擇合適的重復(fù)次數(shù)。然而,如果策略函數(shù)沒有經(jīng)過充分的訓(xùn)練,動作重復(fù)的次數(shù)可能過多。這可能是動作穩(wěn)定更新算法在實驗中的兩個環(huán)境上表現(xiàn)差的原因。在策略經(jīng)過充分訓(xùn)練之前選擇合適的重復(fù)次數(shù)仍然是一個問題。
參考文獻:
[1]Munos R. Policy gradient in continuous time[J].The Journal of Machine Learning Research,2006,7:771-791.
[2]Wang Haoran, Zariphopoulou T, Zhou Xunyu. Reinforcement lear-ning in continuous time and space:a stochastic control approach[J].Journal of Machine Learning Research,2020,21(1):8145-8178.
[3]唐波,李衍杰,殷保群.連續(xù)時間部分可觀Markov決策過程的策略梯度估計[J].控制理論與應(yīng)用,2009,26(7):805-808.(Tang Bo, Li Yanjie, Yin Baoqun. The policy gradient estimation for continuous-time partially observable Markovian decision processes[J].Control Theory & Applications,2009,26(7):805-808.)
[4]Du Jianzhun, Futoma J, Doshi-Velez F. Model-based reinforcement learning for semi-Markov decision processes with neural ODEs[J].Advances in Neural Information Processing Systems,2020,33:19805-19816.
[5]He Shuping, Fang Haiyang, Zhang Maoguang, et al. Adaptive optimal control for a class of nonlinear systems:the online policy iteration approach[J].IEEE Trans on Neural Networks and Learning Systems,2019,31(2):549-558.
[6]Modares H, Lewis F L, Jiang Zhongping. Tracking control of completely unknown continuous-time systems via off-policy reinforcement learning[J].IEEE Trans on Neural Networks and Learning Systems,2015,26(10):2550-2562.
[7]Vamvoudakis K G, Lewis F L. Online actor-critic algorithm to solve the continuous-time infinite horizon optimal control problem[J].Automatica,2010,46(5):878-888.
[8]Vrabie D, Pastravanu O, Abu-Khalaf M, et al. Adaptive optimal control for continuous-time linear systems based on policy iteration[J].Automatica,2009,45(2):477-484.
[9]Braylan A, Hollenbeck M, Meyerson E, et al. Frame skip is a power-ful parameter for learning to play Atari[C]//Proc of the 29th AAAI Conference on Artificial Intelligence.Palo Alto,CA:AAAI Press,2015:10-11.
[10]Zhang Zichen, Kirschner J, Zhang Junxi, et al. Managing temporal resolution in continuous value estimation:a fundamental trade-off[EB/OL].(2022-12-17).https://arxiv.org/abs/2212.08949.
[11]Baird L C. Reinforcement learning in continuous time: advantage updating[C]//Proc of IEEE International Conference on Neural Networks.Piscataway,NJ:IEEE Press,1994:2448-2453.
[12]Tallec C, Blier L, Ollivier Y. Making deep Q-learning methods robust to time discretization[C]//Proc of the 36th International Confe-rence on Machine Learning.[S.l.]:PMLR,2019:6096-6104.
[13]Park S, Kim J, Kim G. Time discretization-invariant safe action repetition for policy gradient methods[J].Advances in Neural Information Processing Systems,2021,34:267-279.
[14]Korenkevych D, Mahmood A R, Vasan G, et al. Autoregressive policies for continuous control deep reinforcement learning[EB/OL].(2019-03-27).https://arxiv.org/abs/1903.11524.
[15]Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning[EB/OL].(2019-07-05).https://arxiv.org/abs/1509.02971.
[16]Wawrzynski P. Control policy with autocorrelated noise in reinforcement learning for robotics[J].International Journal of Machine Learning and Computing,2015,5(2):91-95.
[17]Sharma S, Srinivas A, Ravindran B. Learning to repeat: fine grained action repetition for deep reinforcement learning[EB/OL].(2020-09-21).https://arxiv.org/abs/1702.06054.
[18]Schulman J, Wolski F, Dhariwal P, et al. Proximal policy optimization algorithms[EB/OL].(2017-08-28).https://arxiv.org/abs/1707.06347.
[19]Yu Chao, Velu A, Vinitsky E, et al. The surprising effectiveness of PPO in cooperative,multi-agent games[EB/OL].(2022-11-04).https://arxiv.org/abs/2103.01955.
[20]Brockman G, Cheung V, Pettersson L, et al. OpenAI Gym[EB/OL].(2016-06-05).https://arxiv.org/abs/1606.01540.
[21]Bellemare M G, Naddaf Y, Veness J, et al. The arcade learning environment:an evaluation platform for general agents[J].Journal of Artificial Intelligence Research,2013,47:253-279.
[22]Samvelyan M, Rashid T, De Witt C S, et al. The StarCraft multi-agent challenge[EB/OL].(2019-12-09).https://arxiv.org/abs/1902.04043.
收稿日期:2023-02-27;修回日期:2023-04-06
作者簡介:宋江帆(1999-),男,河南新密人,碩士研究生,主要研究方向為強化學(xué)習(xí);李金龍(1975-),男(通信作者),安徽合肥人,副教授,碩導(dǎo),博士,主要研究方向為機器學(xué)習(xí)、大數(shù)據(jù)分析、強化學(xué)習(xí)(jlli@ustc.edu.cn).