趙峙堯,王子金,魏 偉
(1. 北京工商大學(xué)人工智能學(xué)院,北京 100048;2. 北京郵電大學(xué)自動化學(xué)院,北京 100876)
癲癇的特點是發(fā)作劇烈和反復(fù)發(fā)作,折磨著世界上大約 1% 的人口。內(nèi)科和手術(shù)治療的后遺癥明顯,神經(jīng)調(diào)節(jié)成為一種安全有效的替代方法[1]。
目前,臨床上,神經(jīng)調(diào)控大多采用開環(huán)模式,對醫(yī)生經(jīng)驗依賴大,無法根據(jù)實時腦電信號調(diào)節(jié)神經(jīng)刺激的幅值和頻率[3]。根據(jù)實時腦電信號,經(jīng)過科學(xué)計算,施以不同刺激幅值和頻率的閉環(huán)神經(jīng)調(diào)控方式,可降低對醫(yī)生經(jīng)驗的依賴、提高調(diào)控效果[4]。然而,臨床上,直接根據(jù)人類或動物的實時腦電信號設(shè)計閉環(huán)調(diào)控方案有風(fēng)險。數(shù)值模擬分析是一種可行的方法,它能夠獲得有效的閉環(huán)調(diào)節(jié)策略。通過分析神經(jīng)群模型 (Neural mass model, NMM)[5],學(xué)者們提出了各種閉環(huán)調(diào)控策略。Wang等人采用比例微分控制抑制癲癇態(tài)高頻棘波[6]。然而,比例微分控制對非線性和不確定性很敏感,需要更多的能量。Shan等人提出了一種卡爾曼濾波器的迭代學(xué)習(xí)控制,但無法獲得期望的調(diào)控[7]。Liu采用模糊PID控制來調(diào)節(jié)癲癇,但模糊規(guī)則依賴于經(jīng)驗,會降低系統(tǒng)性能[8]。因此,在缺乏足夠的模型信息和充滿各種不確定性的情況下,一種簡單有效的閉環(huán)調(diào)控算法是臨床所需的。
線性自抗擾控制 (Linear active disturbance rejection control, LADRC) 能夠根據(jù)實時腦電 信號提供適當(dāng)?shù)纳窠?jīng)刺激,更易實現(xiàn),更少依賴于神經(jīng)群模型[9,10]。但是,給出一組合適的LADRC調(diào)控參數(shù)非常關(guān)鍵,需要科學(xué)合理的LADRC參數(shù)整定策略。
Q-Learning是一種強化學(xué)習(xí)算法。基于設(shè)計的獎勵函數(shù),迭代學(xué)習(xí)更新Q表,從而獲得期望的動作方式[11]。結(jié)合Q-learning與梯度下降,設(shè)計一種學(xué)習(xí)型LADRC參數(shù)整定方法,找到一組合適的 LADRC參數(shù)。該方法使用赫爾維茲判據(jù)得到穩(wěn)定域,在穩(wěn)定域中利用Q-learning方法尋找絕對誤差積分準則下的最佳參數(shù),用于癲癇閉環(huán)調(diào)控。
癲癇由大腦神經(jīng)元高度興奮異常和同步放電引起[12]。腦電信號包括了一些自發(fā)的和節(jié)律性的腦活動信息,是臨床診斷和治療癲癇的重要依據(jù)[13]。NMM可以模擬癲癇腦電信號,其結(jié)構(gòu)如圖1所示[5]。
圖1 神經(jīng)群模型結(jié)構(gòu)[5]
神經(jīng)群模型由三個子群組成,分別是主群、興奮性反饋子群和抑制性反饋子群。外部輸入p(t) 是高斯白噪聲,主群接收興奮性反饋子群輸出和抑制性反饋子群的輸出。因此,如圖1 所示的模型可以描述為一組6個常微分方程[5]。
(1)
則輸出為y(t)=x2(t)-x3(t)。x1(t)是中間神經(jīng)群的輸出;x2(t)和x3(t)是錐體細胞興奮性和抑制性突觸后電位神經(jīng)群的輸出,對應(yīng)于中間神經(jīng)群的興奮性和抑制性反饋;x4(t),x5(t)和x6(t)分別是x1(t),x2(t)和x3(t)的導(dǎo)數(shù)。
考慮一個二階系統(tǒng)
(2)
其中u,y為系統(tǒng)的輸入和輸出,a1,a2和b通常未知,d為外部擾動。把系統(tǒng)(2)重寫為
(3)
其中b0為控制器增益,f為總擾動。把式(3)寫為狀態(tài)空間表達式
(4)
LADRC結(jié)構(gòu)如圖2所示。
圖2 LADRC結(jié)構(gòu)圖
擴張狀態(tài)觀測器為
(5)
(6)
Q-learning是一種強化學(xué)習(xí)方法,從環(huán)境交互中進行目標導(dǎo)向?qū)W習(xí)。智能體通過和環(huán)境的交互完成學(xué)習(xí)過程,并累計該過程中環(huán)境的反饋獎勵值作為下次處于相同狀態(tài)時的決策依據(jù)[11]。
Q-learning基本算法如下所示。
隨機初始化表格Q(s,a)
重復(fù)(每批次):
初始化狀態(tài)s
重復(fù)(當(dāng)前批次下每一步):
使用從Q表中按照貪婪策略從s中選擇一個
采取行為a,可以看到的獎勵r和之后的狀態(tài)s′
更新Q表,按照公式:Q(s,a)←Q(s,a)+α[r+γmaxa′Q(s′,a′)-Q(s,a)]
把當(dāng)前行為作為下一次的狀態(tài)
直到達到某個狀態(tài)s結(jié)束
首先,確定LADRC的參數(shù)穩(wěn)定域。線性擴張狀態(tài)觀測器如式 (5) 所示,z1,z2,z3的傳遞函數(shù)為
(7)
接著把z1,z2,z3的傳遞函數(shù)代入設(shè)計的控制律u中,得到
(8)
于是,LADRC結(jié)構(gòu)圖2可轉(zhuǎn)化為
圖3 LADRC等效結(jié)構(gòu)圖
其中傳遞函數(shù)G1(s)為
(9)
傳遞函數(shù)H(s)為,
(10)
閉環(huán)傳遞函數(shù)為
(11)
把G(s),H(s),G1(s)代入Gcl(s) 中,并令分母多項式為0,得到特征多項式。再令ωc=kωo,通過赫爾維茲穩(wěn)定性判據(jù)判斷其穩(wěn)定域,對于特征多項式,得到行列式
(12)
根據(jù)李納德-戚帕特穩(wěn)定判據(jù),在特征方程所有系數(shù)為正的情況下,若所有奇次順序赫爾維茲行列式為正,則所有偶次順序赫爾維茲行列式為正,這樣就可以解出穩(wěn)定域,得出LADRC參數(shù)b0,ωo和ωc的取值范圍。
本文使用絕對誤差積分準則(Integral of the absolute value of error, IAE)作為Q-learning學(xué)習(xí)LADRC參數(shù)的獎勵函數(shù),IAE指標如下
(13)
在后面的結(jié)果分析中,會用時間乘絕對誤差積分準則準則(Integral of time multiplied by the absolute value of error, ITAE)用來評估學(xué)習(xí)效果,ITAE指標如下
(14)
基于上面的分析系統(tǒng)穩(wěn)定域的基本方法,接著使用Q-learning 算法對LADRC參數(shù)進行學(xué)習(xí),思路如下所示。
表1 Q-learning 學(xué)習(xí)LADRC參數(shù)
首先通過Hurwitz判據(jù)確定LADRC參數(shù)b0和ωo穩(wěn)定的范圍。在穩(wěn)定域中選取一組不錯的LADRC參數(shù)作為對照組,得到IAE指標。然后在參數(shù)穩(wěn)定域選擇參數(shù)范圍,均勻分成 N 分,組成一個參數(shù)表,并創(chuàng)建出Q 表和R 表,它們的維度一致,都是 N2行乘以8列的參數(shù)表,其中行代表當(dāng)前狀態(tài),是一組參數(shù),列代表行為是行為,是當(dāng)前狀態(tài)下周圍的參數(shù)。行為方式有向上,向下,向左,向右,向左上,向左下,向右上,向右下,最多 8 種行為。
按照上述算法流程,在訓(xùn)練時先初始化狀態(tài),設(shè)置好學(xué)習(xí)率α,折扣率γ以后,開始進入循環(huán),在Q 表中按照 ε 貪婪規(guī)則選擇在當(dāng)前狀態(tài)下行為的最大值作為下一個更新的狀態(tài),否則隨意選擇一個行為。其中,在Q-learning學(xué)習(xí)中,最重要的是獎勵的賦予方式,如果獎勵賦予的差距不顯著,那么算法就很難尋找到好的參數(shù)。在每次迭代中,計算出當(dāng)前狀態(tài)下的IAE指標和各個行為下的IAE指標,然后計算出它們的差值,差距最大賦予獎勵值為一個正數(shù)p,其余獎勵值為負數(shù)n,一直到滿足在某個狀態(tài)停留m次,并且相應(yīng)指標優(yōu)于預(yù)先調(diào)整的。通過上面思路,在訓(xùn)練好以后,即可獲得一組期望的LADRC參數(shù)。
表2 在Q表中尋找合適的LADRC參數(shù)
基于NMM模型,使用上述方法分析得到穩(wěn)定域。通過LADRC控制NMM模型,參考文獻[14],可以得到穩(wěn)定范圍,使用Q-learning對LADRC參數(shù)進行學(xué)習(xí)。
在NMM模型中, A 和 B 表示興奮性和抑制性平均突觸增益,a 和 b 分別是膜時間常數(shù)的集中表示。興奮性和抑制性參數(shù)的標準值為A=3.25mV 和 B=22mV,興奮性和抑制性群體的平均突觸時間延遲的標準值是a=100s-1和b=50s-1[5]。為模擬高頻癲癇尖峰,在興奮參數(shù)和抑制參數(shù)處于不平衡狀態(tài),這時興奮性子群和抑制性子群輸出失去平衡,其參數(shù)如表3。
表3 NMM模型的參數(shù)
當(dāng)NMM模型參數(shù)取表3時,產(chǎn)生的尖峰波如圖4所示。
圖4 NMM生成的癲癇樣棘波
接著,使用Q-learning算法進行訓(xùn)練,然后使用LADRC對NMM模型進行控制,先粗略調(diào)節(jié)一組LADRC參數(shù) b0=50,ωc=100,ωo=800。通過文獻[14],確定它們的范圍為b0=1~100,ωo=100~1000,ωc=ωo/5,并且每個參數(shù)分為50份,參數(shù)設(shè)置α=0.85和γ=0.35,對于梯度最大的方向獎勵設(shè)置為+1.5,其余的獎勵設(shè)置為-1。通過Q-learning算法學(xué)習(xí)以后,得到Q表,收斂條件為在迭代的參數(shù)的IAE指標小于選定的IAE的條件下,有一組參數(shù)重復(fù)被選中10次則收斂,通過Q表迭代過程如下,
圖5 通過Q表尋找合適的LADRC參數(shù)
學(xué)習(xí)得到的參數(shù)如下,放在表4,與原來的參數(shù)比較。
表4 LADRC的參數(shù)表
接著用LADRC來抑制NMM生成的癲癇棘波。仿真時間為1.5 s,并在1 s時候加入正弦擾動為d=15sin(2π·10·t),一直到仿真結(jié)束,用來模擬癲癇的擾動信號,其結(jié)果如圖6所示。
圖6 通過Q表尋找合適的LADRC參數(shù)
通過響應(yīng)曲線可以觀察到,通過Q-learning學(xué)習(xí)到的參數(shù)對抑制癲癇的高頻棘波有更好的效果,而且面對正弦擾動也比預(yù)先設(shè)定的參數(shù)具有更強的魯棒性。接著通過IAE指標和ITAE指標進行比較,
表5 性能指標
通過指標比較可以觀察到,Q-learning學(xué)習(xí)到的參數(shù)在指標上也是優(yōu)于預(yù)先設(shè)定的,能夠更有效的抑制癲癇的高頻棘波。
本文提出了一種基于Q-learning調(diào)節(jié)LADRC參數(shù),通過設(shè)置獎勵函數(shù),學(xué)習(xí)到一組不錯的LADRC參數(shù)。仿真實例表明,基于Q-learning的LADRC參數(shù)整定方法能夠更好地適應(yīng)動態(tài)變化的情況,獲得了更好的癲癇閉環(huán)調(diào)控效果。