王安義,李 萍,張育芝
(西安科技大學通信與信息工程學院,西安 710054)
海洋蘊藏著豐富的資源,人們對海洋資源的探索與日俱增。由于海洋環(huán)境的復雜性,電磁波和光波在海水中傳播會受到嚴重的損耗,與電磁波和光波相比較,水聲通信是目前最適合于在水下中遠距離傳輸?shù)耐ㄐ欧绞絒1]。聲波在海水中傳播的典型傳輸速度為1 500 m/s,比電磁波的速度低5個數(shù)量級,通信過程中形成長時延傳輸;且水聲信道受環(huán)境影響大,由于水下環(huán)境時刻發(fā)生著變化,水聲信道呈現(xiàn)出復雜多變特性。在水聲自適應調制系統(tǒng)中,往往伴隨著信息傳輸過時問題,過大的反饋時延導致發(fā)射端接收到來自接收端的反饋信息與實際信道狀態(tài)信息不匹配,帶來傳輸誤碼高、吞吐量低等問題。
已有一些研究采用正交頻分復用自適應調制技術[2],利用自適應比特和功率分配算法[3]實現(xiàn)系統(tǒng)的自適應,以提高系統(tǒng)吞吐量,但以上研究未考慮反饋信道信息過時問題。在時變信道下,準確獲取信道狀態(tài)信息是自適應調制系統(tǒng)中的關鍵問題,人工智能在學習動態(tài)變化的過程和智能決策問題上有一定的優(yōu)勢,能更好地學習信道變化,其中的強化學習算法也被應用在很多領域,如智能決策[4]、無線資源分配[5]等領域,并取得一些成效。中國學者利用強化學習的Q-學習算法[6]預測無線通信信道,實現(xiàn)自適應調制,達到了提高系統(tǒng)的吞吐量的目的,但中國目前還沒有將強化學習應用于水聲通信領域的研究;國外研究者利用強化學習算法[7]學習預測了距海面不同深度下的水聲通信信道狀態(tài)的變化。本文研究如何將人工智能中的強化學習算法算法應用到水聲自適應調制系統(tǒng)中。
提出一種強化學習算法—SARSA(state-action-reward-state-action)算法來學習水聲信道[8]狀態(tài)的變化并選擇最優(yōu)策略進行調制。SARSA算法是一種基于模型,但不需要先驗知識的學習算法,發(fā)射端感知到每一時刻的信道狀態(tài),通過不斷地試錯和探索,最終根據信道狀態(tài),學習出在每一時刻可采取的最佳行為策略,來自適應地選擇調制方式,而不需要提前了解環(huán)境,有效地改善信道變化給通信系統(tǒng)帶來的不利影響。在信道好的時候選用調制階數(shù)高的調制方式,最大化通信傳輸效率,信道差的時候選用低階調制,以保證通信質量可靠性和傳輸穩(wěn)定性。
圖1所示為基于SARSA算法的水聲自適應系統(tǒng)模型。在水聲自適應調制系統(tǒng)中,信號經發(fā)射端調制后通過信道,并在接收端進行解調,得到解調信號與解調信息,調制過程中利用SARSA算法學習信道變化,擇優(yōu)選擇調制策略,以實現(xiàn)最大化系統(tǒng)吞吐量、降低系統(tǒng)誤碼率的目的。
圖1 基于SARSA算法的水聲自適應調制系統(tǒng)Fig.1 Underwater acoustic adaptive system based on SARSA algorithm
由于水體環(huán)境的復雜性,水聲通信信道受海底與海面的變化、海洋湍流及海洋生物活動[9]等的影響,水聲信道往往是時刻變化的。采用文獻[9]的信道模型,根據測試結果,將信道信噪比序列建模為:
Sk=αsin(2πk/L)+β+n(k)
(1)
式(1)中:L=100,是記錄周期;α=4.46,是動態(tài)標準差;β=18為均值;n(k)是服從具有方差為δ2,均值為0的高斯分布,即n(k)~N(0,δ2),模擬實現(xiàn)信噪比序列。
強化學習屬于機器學習的一個分支,主要解決智能體通過不斷地試錯與探索,將狀態(tài)與動作之間關聯(lián)起來,最終達到獲得最大獎勵回報累積量的問題。其基本原理是:如果智能體(agent)執(zhí)行的某個動作策略導致環(huán)境對智能體的獎賞(reward)越大,則智能體以后采用這個動作策略的概率就會加強,反之得到的獎賞越小,智能體產生這個動作的概率就會減弱[10]。強化學習中把學習過程看作一個不斷的試錯和探索過程,其原理框圖如圖2所示。
圖2 強化學習理論框圖Fig.2 Reinforcement learning theory block diagram
在本文算法中,采用不同時刻的信道信噪比{s1,s2,…,st}為狀態(tài)集,以四種不同的調制方式作{a1,a2,…,at}為動作集,各狀態(tài)在不同動作下與環(huán)境交互產生的吞吐量作為獎勵,即環(huán)境根據狀態(tài)與動作給出合理的反饋。系統(tǒng)得到的累計獎賞[11]為
(2)
式(2)中:rt為在t時刻的即時獎勵,γ∈[0,1]為折扣因子,值越小,代表agent主要考慮即時獎勵,越趨近于1,表示考慮將來獎勵的程度越大。對于某一時刻的狀態(tài)所選用的策略可以用π來表示,則狀態(tài)在執(zhí)行策略后的期望回報Vπ可用式(3)來表示,在狀態(tài)s下執(zhí)行動作a的獎勵期望qπ可用式(4)來表示:
本研究發(fā)現(xiàn),S6K1抑制劑PF-4708671和PI3K/mTOR激酶抑制劑NVP-BEZ235聯(lián)用于乳腺癌細胞MDA-MB-436和肺癌細胞A549,可顯著增強單用時對腫瘤細胞的生長抑制作用。
(3)
(4)
式中:Rt為t時刻的獎勵;st為t時刻的狀態(tài);at為t時刻的動作;γ為折扣因子。
SARSA算法是Rummery和Niranjan提出的一種基于模型的強化學習算法[12]。SARSA算法是通過價值函數(shù)的不斷更新,來更新當前的策略,用Q表來存儲當前的策略,再通過新的策略產生新的狀態(tài)和即時獎勵,進而更新價值函數(shù);一直迭代下去,直到到達最終狀態(tài)或收斂狀態(tài)。它采用的是Q迭代法,一步SARSA算法Q更新可用表示為
Qsub=r+γQ(st+1,at+1)-Qpre(st,at)
(5)
Qnew(st,at)=Qpre(st,at)+α(Qsub)
(6)
式中:r是在當前狀態(tài)下所選動作帶來的獎勵;γ是衰減因子;Q(st+1,at+1)表示在下一時刻的Q;Qpre(st,at)表示當前狀態(tài)下的Q;Qsub表示差距;Qnew(st,at)代表更新后的當前狀態(tài)Q;α表示學習效率。
SARSA算法求解步驟如下:
初始化Q(s),?s∈S,a∈A(s)
重復(每一個episode):
使用貪婪算法(ε-greedy),根據狀態(tài)選取一個動作執(zhí)行
重復(對episode中的每一步):
執(zhí)行動作a,觀測獎賞值和下一狀態(tài)s′
更新Q表:
Q(st,at)←Q(st,at)+α[rt+1+γQ(st+1,at+1)-Q(st,at)]s←s′
a←a′
直到狀態(tài)終止
智能體在每一次的學習過程中,在選擇當前步用何種動作時是采用貪婪策略,若設定貪婪因子e=0.1,即90%的情況下選擇選擇Q表中對應狀態(tài)下的最優(yōu)值為當前步動作的策略;10%的情況下去探索新的可能策略,作為當前步動作的策略,選擇動作進而得到下一個狀態(tài)st+1和下一次獎勵rt+1,再根據貪婪算法來選擇策略來確定下一狀態(tài)所選擇的動作at+1,并依據式(6)進行Q函數(shù)的更新,由于Q與獎勵有關,是多步獎賞值的一個求和,所以該算法用Q來表示所選動作產生獎賞的另一種表現(xiàn)形式[13],然后根據Q表所確定的at+1作為智能體所采取的下一個動作,如此循環(huán),直至達到最終狀態(tài)。
SARSA與Q-學習的最明顯的區(qū)別在于Q-學習每次迭代時采用的是值函數(shù)的最大值更新Q,但在下一次選動作時不一定會用到該動作;而SARSA則是在這一次更新Q時選用了哪一個動作策略,下一狀態(tài)時就選用該動作策略為下一次的動作進行迭代,不再重新另外選擇[14],因此,SARSA學習在每一步的學習過程中,智能體都是依據當前選擇的Q策略確定下一狀態(tài)時的動作;而Q-學習中依據重新選擇后的Q策略確定動作,因此稱SARSA是一種在線策略(on policy)學習方法。
研究水下長時延傳輸導致的發(fā)射端接收到的反饋信息過時,進而不能準確選擇自適應調制方式的問題。仿真環(huán)境示意圖如圖3所示。建立水下場景,收發(fā)端水平放置于水面下,具體參數(shù)設置見文獻[9]所示,發(fā)射機每隔15 min發(fā)送一次信號序列,并記錄下每次信道狀態(tài)的變化。
圖3 仿真環(huán)境示意圖Fig.3 Simulation environment diagram
SARSA算法中,將接收器在水聲信道中不同時刻下的信噪比作為SARSA算法的狀態(tài)集;四種不同的調制方式BPSK、4QAM、8QAM、16QAM作為算法的動作集,每個動作與環(huán)境交互后,狀態(tài)轉換到下一時刻狀態(tài);策略定為在信噪比在一定范圍內選取何種適宜的動作更好,各調制方式下系統(tǒng)吞吐量大小作為獎勵,用R獎勵表的形式表現(xiàn)出來,同樣的建一個Q表,初始值為0,再根據每次的學習更新Q表,不斷迭代學習,直到收斂或達到最終狀態(tài),得到最佳的Q表,每次根據Q表選擇動作。學習率在這里設為α=0.9,折扣因子γ=0.1,代表對將來的獎勵影響較小。
采用固定調制模式、直接反饋與SARSA算法下的自適應調制做對比,利用反饋回來的信噪比SNR信息,自適應的選擇對應的調制階數(shù)。根據反饋SNR直接自適應選擇調制比特數(shù)的依據如圖4所示,為四種調制方式下吞吐量隨信噪比的變化趨勢。從圖4中可以看出,隨著信噪比的增大,吞吐量整體越來越大。自適應調制方式的選擇原則是:在一定信噪比范圍內,選擇吞吐量最大的調制方式。信噪比在0~3 dB,BPSK調制下吞吐量最大;信噪比在4~8 dB,4QAM調制下吞吐量最大;信噪比在9~22 dB,8QAM調制下吞吐量最大;信噪比在22 dB以上時,16QAM調制下吞吐量最大。表1給出了自適應調制的切換閾值。
圖4 不同調制方式下吞吐量Fig.4 Throughput with different modulation modes
表1 自適應調制切換閾值Table 1 Threshold for adaptive modulation
通過MATLAB仿真平臺,采用文獻[8]中在2014年8月現(xiàn)場試驗測量的信道參數(shù)進行仿真,通過表1及所設置參數(shù)編寫腳本文件實現(xiàn)仿真。仿真對比了固定調制模式、直接反饋和強化學習三種情況下自適應調制系統(tǒng)的性能。從圖5(a)中可以看出,在固定調制方式16QAM調制下,系統(tǒng)誤碼性能較差,平均誤碼率為2.94×10-2;圖5(b)中,直接反饋下的自適應調制,誤碼性能相較于16QAM調制下有所改善,系統(tǒng)平均誤碼率為7.5×10-3;圖5(b)中,經強化學習,從無到有的訓練數(shù)據,經400次左右的訓練,系統(tǒng)學習了環(huán)境變化規(guī)律,誤碼性能相較圖5(a)、圖5(b),系統(tǒng)誤碼率為3.1×10-3,系統(tǒng)誤碼性能得到提高。
圖5 三種情況下系統(tǒng)性能Fig.5 System performance under three cases
圖6中反映了三種方式下的吞吐量情況,從圖中可以看出吞吐量比較:經強化學習>直接反饋>16QAM下。在16QAM調制下,信號傳輸?shù)玫降目偼掏铝繛? 507 bit,在直接反饋下,得到傳輸?shù)目偼掏铝繛? 860 bit;經過強化學習后,根據學習得到最佳策略,根據最佳策略而選擇的動作,采取最佳動作得到的誤碼率,傳輸?shù)玫降目偼掏铝渴? 000 bit。
圖6 三種情況下吞吐量變化趨勢Fig.6 Variation trend of throughput under three cases
基于SARSA算法在沒有先驗知識的條件下,對水聲信道狀態(tài)變化進行了從無到有的學習,最終學習出不同信道狀態(tài)下的最佳自適應調制策略,并與直接反饋和固定調制方式下系統(tǒng)性能做了對比,從仿真結果可以看出:①經強化學習后的系統(tǒng)可降低信號在傳輸時的誤碼率,保證了信道傳輸?shù)目煽啃?②系統(tǒng)經過強化學習,提高了通信吞吐量,提高了傳輸效率,并且,傳輸數(shù)據越多,改善效果越明顯。綜上所述,利用人工智能中的強化學習算法學習水聲信道變化的規(guī)律,并進行水聲自適應通信,結果表明SARSA算法在水聲自適應調制系統(tǒng)中,能有效提高自適應調制系統(tǒng)的傳輸效率和可靠性。