袁 澤,趙知勁,2
(1.杭州電子科技大學通信工程學院,浙江 杭州 310018;2.中國電子科技集團第36研究所通信系統(tǒng)信息控制技術國家級重點實驗室,浙江 嘉興 314001)
隨著信息化程度的提高,電磁干擾環(huán)境日益復雜,要保障信息的可靠傳輸,對通信系統(tǒng)的抗干擾能力提出了更高、更嚴的要求[1]。傳統(tǒng)的跳頻通信已經(jīng)不能滿足對抗干擾的需求,期望能夠根據(jù)干擾環(huán)境自適應改變跳頻通信系統(tǒng)的帶寬、跳速、頻率序列等參數(shù),進行智能抗干擾。傳統(tǒng)優(yōu)化算法的抗干擾效果不佳,免模型的強化學習通過試錯與動態(tài)環(huán)境交互具有更快的收斂速度[2]。文獻[3]提出了一種改進Q學習算法HAQL-OSGM,并將其應用于跳頻通信的跳頻圖案決策,提升了系統(tǒng)的收斂速度和抗干擾能力。對比于Q學習,SARSA學習是在線學習且注重學習期間所獲獎勵,具有更強的適應性[4],已在通信系統(tǒng)不同模塊如EH-MQAM點對點無線通信系統(tǒng)的資源分配[5]、動態(tài)基站休眠[6]、認知無線網(wǎng)絡抗惡意干擾[7]和水聲通信自適應調制[8]等方面得到應用。近年來,在傳統(tǒng)SARSA學習的基礎上,有多種改進算法被提出。文獻[9]將SARSA學習與卷積神經(jīng)網(wǎng)絡相結合;文獻[10]將Q學習和SARSA學習相結合,得到反向Q學習;文獻[11]采用自適應歸一化徑向基函數(shù)(ANRBF)網(wǎng)絡對獎勵進行整形,得到梯度下降(GD) Sarsa(lambda)算法;文獻[12]應用期望SARSA(Expected Sarsa)算法,消除了SARSA選擇動作而帶來的誤差;文獻[13]在動作選擇策略上使用模擬退火算法取代ε-greedy策略,加快了收斂速度;文獻[14]引入線性近似方法得到一個近似的SARSA學習,平衡了算法的復雜度和性能之間的矛盾;文獻[15]將SARSA學習引入到深度Q網(wǎng)絡中,消除Q網(wǎng)絡過高的估計;這些改進更好地平衡了智能體對狀態(tài)空間的探索和利用,加快了收斂速度,提升了穩(wěn)定性。但是由于采用的是無模型的SARSA學習,當狀態(tài)動作空間比較大時,算法的收斂速度將變慢。文獻[16]利用強化學習中的Dyna框架,提出了一種基于Sarsa-Dyna的自動駕駛路徑規(guī)劃算法,將無模型與有模型的優(yōu)勢互補,提高了算法收斂速度,有效地保證了路徑規(guī)劃的效率和安全性。上述算法都采用ε-greedy或Bolzmann這兩種常用動作選擇策略,ε-greedy策略存在盲目性導致收斂速度較慢;Bolzmann策略很少選擇概率較小的動作,容易陷入局部最優(yōu)。對此,本文采用湯普森采樣(Thompson Sampling)算法作為動作選擇策略,同時結合期望SARSA和Dyna框架的思想提出一種改進SARSA算法DE-SARSA(TS),平衡了探索與利用的矛盾,提升其收斂速度和穩(wěn)定性,并將DE-SARSA(TS)算法應用于跳頻系統(tǒng)智能抗干擾決策,得到了優(yōu)于HAQL-OSGM[3]的結果。
不同的干擾環(huán)境下,跳頻通信系統(tǒng)通過改變其跳速、跳頻序列和信道劃分間隔等參數(shù),從而大幅提高其抗干擾能力。首先通過頻譜感知來估計未來N個時隙的信道干擾參數(shù),之后設置跳頻通信主要參數(shù),其中信源速率c固定,信源功率p、跳頻序列K、信道帶寬B和跳頻速率v則根據(jù)干擾情況自適應調整。
由香農公式可知,影響通信系統(tǒng)最大信息傳輸速率的參數(shù)主要為信道帶寬B和信干噪比(Signal to Interference to Noise Ratio, SINR),如式(1)所示
c=Blog2(1+SINR)
(1)
其中,信道帶寬B為決策參數(shù),而式(2)所示的信干噪比SINR是度量通信系統(tǒng)通信質量可靠性的一個主要技術指標,信干噪比越大,系統(tǒng)的通信質量越好。
(2)
其中,hn為第n個時隙的信道增益,其服從瑞利分布;p為信源功率;Jn是第n個時隙的加性干擾功率;n0為噪聲功率(默認為高斯白噪聲)。
但在干擾和噪聲功率一定的情況下,提高信干噪比需要更高的發(fā)射功率,增加了系統(tǒng)能耗。所以需要控制系統(tǒng)的能耗。在滿足通信質量的情況下盡可能控制發(fā)射功率不會過高,因此本文將每個時隙的能量效率Φ作為決策目標,即:
(3)
SARSA是一種同軌策略下的時序差分學習,顧名思義,其更新公式中包含五個值:當前的狀態(tài)值st,當前狀態(tài)對應的動作at,即時獎勵rt+1,下一個新的狀態(tài)st+1以及所選擇的新動作at+1。類似于蒙特卡洛方法,SARSA學習就是價值迭代,通過更新價值函數(shù),進一步更新當前策略,再通過新的策略從而得到新的狀態(tài)和即時獎勵,一直迭代下去,最后使價值函數(shù)和策略都收斂。具體如圖1所示
圖1 SARSA流程圖
圖2 Dyna結構圖
相比于傳統(tǒng)SARSA,期望SARSA的形式與SARSA一樣,都是根據(jù)狀態(tài)s和動作a,計算出相應的動作價值函數(shù),只是更新的目標變成了Q的期望值,更新公式如式(4)所示。雖然計算量增大,但可以消除SARSA中選擇at+1時帶來的誤差,提升學習效果。
(4)
其中,Qt(st,at)是經(jīng)過t次迭代后,狀態(tài)st對應動作at的價值;π(a|st+1)是選擇動作a的概率,則Qt(st+1,a)是該動作的價值;rt+1是執(zhí)行第t次動作的即時獎勵;參數(shù)μ∈(0,1)是學習率(learning rate),表明對此次誤差的學習程度;參數(shù)γ∈(0,1)是衰減因子(attenuation factor),表示對未來收益的重視程度,γ值越大,算法就越會考慮后續(xù)收益的影響。
傳統(tǒng)算法大多采用ε-greedy或Bolzmann作為動作選擇策略。ε-greedy算法雖然使每個動作都有被選擇的概率,但由于這種選擇太過隨機,當狀態(tài)動作空間比較大時,并不容易找到最優(yōu)動作,最后導致收斂速度緩慢。Bolzmann算法使每個動作被選擇的概率有所不同,但概率很小的動作很難被選中,選擇的動作缺少多樣性,探索度有所欠缺。對此,本文將基于湯普森采樣算法的動作選擇機制引入期望SARSA學習,湯普森采樣是運用Beta分布求解最優(yōu)解。Beta(α,β)表示連續(xù)概率分布函數(shù)族,且區(qū)間為[0,1],α和β為形狀參數(shù),Beta分布的概率密度函數(shù)形式如下
(5)
Beta分布的均值為α/(α+β),它的均值越大,概率密度分布的中心位置越接近1,因此其產(chǎn)生的隨機數(shù)也都接近1,反之則都接近0。Beta分布的方差如式(6)所示,可以看出,如果(α+β)的值越大,則分布會越窄,產(chǎn)生的隨機數(shù)分布更集中在中心位置。
(6)
本文將α設為Gt(st,a)+λ,β設為Bt(st,a)+λ,其中,Gt(st,a)是動作獎勵值,Bt(st,a)是動作懲罰值,λ是初始參數(shù),在某一狀態(tài)下,選擇一個動作后,如果其獎勵比較大,則導致α增加,反之則β增加。在開始階段,α和β都很小,分布較寬,有著很好的探索作用;隨著選擇次數(shù)的增加,(α+β)的值逐漸增大后,其分布變窄,產(chǎn)生隨機數(shù)也在中心位置附近,進入利用階段。如果一個動作的α值遠大于β值,那么其分布很接近于1,即為好的動作,反之則為差的動作。Gt(st,a)和Bt(st,a)的更新公式為
Gt(st,at)=Gt(st,at)+Qt(st,at)*Qt(st,at)
(7)
Bt(st,at)=Bt(st,at)+1/Qt(st,at)
(8)
在t狀態(tài)下,動作的獎勵收益越大,其Gt(st,at)越大,Bt(st,at)越小,動作的獎勵收益越小,則Gt(st,at)越小,Bt(st,at)越大。湯普森采樣算法在前期增大了選擇的隨機性,更好地對狀態(tài)動作空間進行探索,隨著選擇次數(shù)的增加,分布變窄減小隨機性,使最佳動作被充分的利用,提升了系統(tǒng)的收斂速度和穩(wěn)定性。
為進一步提升學習效率,本文在初期更多地對未選擇過的動作進行遍歷探索,避免算法陷入局部最優(yōu),利用tanh函數(shù)的特性,定義收斂函數(shù)如式(9)所示,設計的動作選擇策略如式(10)所示
S(t)=(tanh((t/ε)-η)+1)/2
(9)
(10)
其中,t為迭代次數(shù);ε和η為特定參數(shù),其中ε決定了探索度的大小;ax是P表中值為0的動作,即未被選擇過的動作,表P(st,at)記錄動作被訪問的次數(shù),每次選擇動作后,P表中對應值加1;rand為分布在0~1之間的隨機數(shù)。隨著迭代次數(shù)t的增多,函數(shù)值S(t)逐漸由0平穩(wěn)上升為1,因此可以在前期進行更加充分探索,使系統(tǒng)有更快的收斂速度。
本文定義系統(tǒng)狀態(tài)st是當前跳頻信號對應的時隙,定義可選動作at是信源功率p、跳頻序列K、信道帶寬B和跳頻速率v的離散組合。對應不同的時隙,智能體通過與環(huán)境交互進行自適應學習找到最佳動作,即信源功率p、跳頻序列K、信道帶寬B和跳頻速率v的最優(yōu)分配方案,最大程度地規(guī)避各種干擾,得到最適合當前環(huán)境的跳頻圖案。
本文的決策目標是每個時隙的能量效率Φ最大化,因此設計獎勵函數(shù)如下:
(11)
(12)
其中,Rt+1是第t次迭代中得到的平均獎勵值;rn是第n個時隙的瞬時獎勵,其滿足正態(tài)分布,均值為Φ,方差為σ2;Cn為信道容量,可由式(1)得到,Φ為每個時隙的能量效率,可由式(3)得到;θ為參數(shù),用于調整Q值與Rt+1之間的平衡,當獎勵過大時,會導致Q值過大,超出計算機的儲存上限,獎勵過小時,則會導致Q值更新緩慢,從而影響系統(tǒng)的收斂速度。
在面對復雜多變的電磁環(huán)境時,不基于模型的強化學習性能提升有限,學習模型可能會有更好的效果,但單純基于模型不可能精確和完美地擬合環(huán)境,會導致模擬的結果與實際存在誤差。為了避免上述弊端,本文引入Dyna算法框架,將模型學習和強化學習結合起來。下圖為Dyna結構。
從上圖中可以發(fā)現(xiàn),首先通過與環(huán)境交互得到實際經(jīng)驗,然后從兩個方向對決策進行更新,右邊是通過無模型的強化學習直接進行更新,左邊則是先通過實際經(jīng)驗建立一個模型,之后從模型中選擇批量的模擬經(jīng)驗對決策進行規(guī)劃更新。在本算法中,一定的干擾環(huán)境下,通過期望SARSA學習對Q表進行更新;用M表和E表存放模型信息,M表儲存每個狀態(tài)下不同動作的獎勵,E表儲存每個狀態(tài)下不同動作對應的下一個狀態(tài),每次Q值更新時同步更新M值和E值;再隨機選擇多個已選擇過的狀態(tài)和動作,通過M表和E表對Q值進行規(guī)劃更新。所以當智能體選擇了一個動作后,同時通過實際的動作選擇和環(huán)境模型的模擬對Q值進行更新,從而提升了系統(tǒng)的收斂速度和穩(wěn)態(tài)性能。
由上得到結合湯普森采樣動作選擇機制和Dyna模型思想的期望SARSA學習算法(本文簡記為DE-SARSA)步驟如下:
(a)估計未來N個時隙信道的干擾頻譜瀑布圖。
(b)設定參數(shù)μ,γ,λ,ε,η,θ,σ;設定學習迭代次數(shù)I,將各狀態(tài)動作的Q值初始化為1,隨機初始化狀態(tài)s0和動作a0;對于Dyna模型,將M表和E表初始化為0,設定迭代次數(shù)J,隨機選取遇到過的狀態(tài)ns,隨機選取執(zhí)行過的動作na。
(c)i=0,重復I次循環(huán):
(1)選擇狀態(tài)si和動作ai,由式(9)計算S(i),產(chǎn)生一個0~1的隨機數(shù),根據(jù)式(10)選擇動作ai,根據(jù)式(3)、式(11)和式(12)計算獎勵Ri+1并得到下一狀態(tài)si+1;
(2)根據(jù)式(4)更新Q表,將每個狀態(tài)下不同動作的獎勵Ri+1儲存在M表,將每個狀態(tài)下不同動作對應的下一狀態(tài)si+1儲存在E表,根據(jù)式(7)更新G表,根據(jù)式(8)更新B表。
(3)j=0,重復J次循環(huán):
①隨機選擇遇到過的狀態(tài)ns,隨機選擇執(zhí)行過的動作na,讀取M表的獎勵值Ri+1,讀取E表的下一狀態(tài)si+1,根據(jù)式(4)更新Q表。
②j←j+1。
(4)i←i+1。
實驗參數(shù)設置如下:時隙數(shù)N取100,取0-160 MHz作為總帶寬,信源速率為5 Mbps,信源可選功率為{150,200,250,300} mW,可選信道帶寬集合為{1,2,4,8} MHz,跳頻速率為{500,1000,2000,4000}次/秒,可選頻率序列滿足在跳頻頻段內隨機跳變的條件,共有8種,信道增益h服從瑞利分布,高斯白噪聲功率n0取10-7mW,在仿真期間h和n0取值保持不變,μ=0.7,γ=0.3,λ=1,η=8,σ=0.2。單次實驗迭代次數(shù)取20 000次,并分為20個學習階段進行統(tǒng)計。10次獨立實驗結果的平均值作為仿真結果,將高斯白噪聲、掃頻干擾、窄帶干擾和寬帶干擾的組合作為干擾環(huán)境,其頻譜瀑布圖如圖3所示。
圖3 干擾環(huán)境頻譜瀑布圖
當參數(shù)θ取5,15,25,35,45時,使用本文算法后得到的系統(tǒng)能量效率曲線(a)如圖4所示。當θ為25,參數(shù)ε取200,300,400,500,600,700時,使用本文算法得到的能量效率曲線(b)如圖5所示。
圖4 系統(tǒng)能量效率曲線(a)
圖5 系統(tǒng)能量效率曲線(b)
由圖4可見,增大θ值,可以提升算法的收斂速度和穩(wěn)態(tài)性能;當θ大于15時,算法的收斂速度沒有顯著提升,但穩(wěn)態(tài)性能開始下降。根據(jù)上述結論,為了平衡獎勵值和Q值,下文取θ為25。由圖5可見,隨著ε取值的增大,系統(tǒng)最終的能量效率逐漸升高,但收斂速度會下降,當ε取值大于400后收斂速度顯著下降,但系統(tǒng)能量效率提升較少,為了平衡收斂速度和能量效率,下文取ε為400。
將基于ε-greed機制的經(jīng)典SARSA學習、基于Boltzmann機制的經(jīng)典SARSA學習、引入Dyna模型的SARSA學習依次簡寫為SARSA(ε)、SARSA(B)、SARSA-D。將本文算法DE-SARSA和SARSA(ε)、SARSA(B)、SARSA-D、期望SARSA學習(EX-SARSA)、文獻[3]的改進Q學習算法HAQL-OSGM做性能對比,其中SARSA(B)、SARSA-D、EX-SARSA和改進Q學習算法HAQL-OSGM的初始溫度參數(shù)T0都設為1,在如圖6(a)-(c)所示的三種不同干擾環(huán)境中進行跳頻通信系統(tǒng)智能抗干擾決策,對應得到六種算法的能量效率曲線如圖6(d)-(f)所示,六種算法所需的平均運行時間和占用內存結果如圖7和圖8所示。
圖6 三種干擾環(huán)境及相應的系統(tǒng)能量效率曲線
圖7 平均運行時間條形圖
圖8 占用內存條形圖
由圖6可見:(1)與經(jīng)典SARSA學習的SARSA(ε)和SARSA(B)相比,在不同干擾環(huán)境下,本文算法具有更快的收斂速度、更好的穩(wěn)態(tài)性能以及更高的能量效率。說明了基于湯普森采樣的動作選擇機制優(yōu)于ε-greedy機制和Boltzmann機制,對比其余算法雖然收斂速度略慢但穩(wěn)態(tài)性能最高。(2)與SARSA-D和EX-SARSA相比,本文算法具有更多的能量效率。這是由于本文算法引入了期望SARSA消除了選擇at+1時帶來的誤差,并且結合Dyna模型,使系統(tǒng)在強化學習更新的同時,利用之前學習的經(jīng)驗進行模擬更新,提升了系統(tǒng)能量效率。(3)與改進Q學習算法HAQL-OSGM相比,本文算法能夠獲得更高的能量效率,而且面對不同的干擾環(huán)境HAQL-OSGM算法需要調整其溫度參數(shù)。總體來說,在不同的干擾環(huán)境下,本文算法都具有較快的收斂速度,可以處理復雜電磁環(huán)境中的決策問題,提升跳頻系統(tǒng)的抗干擾性能。
由圖7可見,本文DE-SARSA算法運行時間比HAQL-OSGM快一倍以上,與SARSA-D相近,略比EX-SARSA和SARSA(B)慢些,SARSA(ε)結構簡單,運行時間最短。由圖8可見,SARSA(ε)、EX-SARSA和SARSA(B)占用內存占用量相當且較低;本文DE-SARSA算法和SARSA-D算法內存占用量相當,略比前三者多,這是由于引入Dyna模型增加了更新次數(shù)所致;HAQL-OSGM內存占用最高。
綜上可得,較其他對比算法,本文算法DE-SARSA在達到最大系統(tǒng)能量效率和較優(yōu)收斂速度的同時,保持了較短的運行時間,占用內存比HAQL-OSGM少,因此綜合性能最優(yōu)。
為了進一步提高跳頻通信系統(tǒng)的抗干擾能力,DE-SARSA算法引入基于湯普森采樣算法的動作選擇機制和Dyna模型思想到期望SARSA學習,并將DE-SARSA算法應用于跳頻通信的智能抗干擾決策。仿真結果表明,DE-SARSA算法的綜合性能優(yōu)于五種對比算法,對干擾環(huán)境有更強的適應性。本文是將強化學習應用于小規(guī)模離散問題,未來將研究其在更大規(guī)模實際問題中的應用。