趙峙堯,王子金,魏 偉
(1. 北京工商大學(xué)人工智能學(xué)院,北京 100048;2. 北京郵電大學(xué)自動(dòng)化學(xué)院,北京 100876)
癲癇的特點(diǎn)是發(fā)作劇烈和反復(fù)發(fā)作,折磨著世界上大約 1% 的人口。內(nèi)科和手術(shù)治療的后遺癥明顯,神經(jīng)調(diào)節(jié)成為一種安全有效的替代方法[1]。
目前,臨床上,神經(jīng)調(diào)控大多采用開環(huán)模式,對(duì)醫(yī)生經(jīng)驗(yàn)依賴大,無法根據(jù)實(shí)時(shí)腦電信號(hào)調(diào)節(jié)神經(jīng)刺激的幅值和頻率[3]。根據(jù)實(shí)時(shí)腦電信號(hào),經(jīng)過科學(xué)計(jì)算,施以不同刺激幅值和頻率的閉環(huán)神經(jīng)調(diào)控方式,可降低對(duì)醫(yī)生經(jīng)驗(yàn)的依賴、提高調(diào)控效果[4]。然而,臨床上,直接根據(jù)人類或動(dòng)物的實(shí)時(shí)腦電信號(hào)設(shè)計(jì)閉環(huán)調(diào)控方案有風(fēng)險(xiǎn)。數(shù)值模擬分析是一種可行的方法,它能夠獲得有效的閉環(huán)調(diào)節(jié)策略。通過分析神經(jīng)群模型 (Neural mass model, NMM)[5],學(xué)者們提出了各種閉環(huán)調(diào)控策略。Wang等人采用比例微分控制抑制癲癇態(tài)高頻棘波[6]。然而,比例微分控制對(duì)非線性和不確定性很敏感,需要更多的能量。Shan等人提出了一種卡爾曼濾波器的迭代學(xué)習(xí)控制,但無法獲得期望的調(diào)控[7]。Liu采用模糊PID控制來調(diào)節(jié)癲癇,但模糊規(guī)則依賴于經(jīng)驗(yàn),會(huì)降低系統(tǒng)性能[8]。因此,在缺乏足夠的模型信息和充滿各種不確定性的情況下,一種簡(jiǎn)單有效的閉環(huán)調(diào)控算法是臨床所需的。
線性自抗擾控制 (Linear active disturbance rejection control, LADRC) 能夠根據(jù)實(shí)時(shí)腦電 信號(hào)提供適當(dāng)?shù)纳窠?jīng)刺激,更易實(shí)現(xiàn),更少依賴于神經(jīng)群模型[9,10]。但是,給出一組合適的LADRC調(diào)控參數(shù)非常關(guān)鍵,需要科學(xué)合理的LADRC參數(shù)整定策略。
Q-Learning是一種強(qiáng)化學(xué)習(xí)算法。基于設(shè)計(jì)的獎(jiǎng)勵(lì)函數(shù),迭代學(xué)習(xí)更新Q表,從而獲得期望的動(dòng)作方式[11]。結(jié)合Q-learning與梯度下降,設(shè)計(jì)一種學(xué)習(xí)型LADRC參數(shù)整定方法,找到一組合適的 LADRC參數(shù)。該方法使用赫爾維茲判據(jù)得到穩(wěn)定域,在穩(wěn)定域中利用Q-learning方法尋找絕對(duì)誤差積分準(zhǔn)則下的最佳參數(shù),用于癲癇閉環(huán)調(diào)控。
癲癇由大腦神經(jīng)元高度興奮異常和同步放電引起[12]。腦電信號(hào)包括了一些自發(fā)的和節(jié)律性的腦活動(dòng)信息,是臨床診斷和治療癲癇的重要依據(jù)[13]。NMM可以模擬癲癇腦電信號(hào),其結(jié)構(gòu)如圖1所示[5]。

圖1 神經(jīng)群模型結(jié)構(gòu)[5]
神經(jīng)群模型由三個(gè)子群組成,分別是主群、興奮性反饋?zhàn)尤汉鸵种菩苑答佔(zhàn)尤骸M獠枯斎雙(t) 是高斯白噪聲,主群接收興奮性反饋?zhàn)尤狠敵龊鸵种菩苑答佔(zhàn)尤旱妮敵觥R虼耍鐖D1 所示的模型可以描述為一組6個(gè)常微分方程[5]。

(1)
則輸出為y(t)=x2(t)-x3(t)。x1(t)是中間神經(jīng)群的輸出;x2(t)和x3(t)是錐體細(xì)胞興奮性和抑制性突觸后電位神經(jīng)群的輸出,對(duì)應(yīng)于中間神經(jīng)群的興奮性和抑制性反饋;x4(t),x5(t)和x6(t)分別是x1(t),x2(t)和x3(t)的導(dǎo)數(shù)。
考慮一個(gè)二階系統(tǒng)

(2)
其中u,y為系統(tǒng)的輸入和輸出,a1,a2和b通常未知,d為外部擾動(dòng)。把系統(tǒng)(2)重寫為

(3)
其中b0為控制器增益,f為總擾動(dòng)。把式(3)寫為狀態(tài)空間表達(dá)式

(4)
LADRC結(jié)構(gòu)如圖2所示。

圖2 LADRC結(jié)構(gòu)圖
擴(kuò)張狀態(tài)觀測(cè)器為

(5)

(6)
Q-learning是一種強(qiáng)化學(xué)習(xí)方法,從環(huán)境交互中進(jìn)行目標(biāo)導(dǎo)向?qū)W習(xí)。智能體通過和環(huán)境的交互完成學(xué)習(xí)過程,并累計(jì)該過程中環(huán)境的反饋獎(jiǎng)勵(lì)值作為下次處于相同狀態(tài)時(shí)的決策依據(jù)[11]。
Q-learning基本算法如下所示。
隨機(jī)初始化表格Q(s,a)
重復(fù)(每批次):
初始化狀態(tài)s
重復(fù)(當(dāng)前批次下每一步):
使用從Q表中按照貪婪策略從s中選擇一個(gè)
采取行為a,可以看到的獎(jiǎng)勵(lì)r和之后的狀態(tài)s′
更新Q表,按照公式:Q(s,a)←Q(s,a)+α[r+γmaxa′Q(s′,a′)-Q(s,a)]
把當(dāng)前行為作為下一次的狀態(tài)
直到達(dá)到某個(gè)狀態(tài)s結(jié)束
首先,確定LADRC的參數(shù)穩(wěn)定域。線性擴(kuò)張狀態(tài)觀測(cè)器如式 (5) 所示,z1,z2,z3的傳遞函數(shù)為

(7)
接著把z1,z2,z3的傳遞函數(shù)代入設(shè)計(jì)的控制律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) 中,并令分母多項(xiàng)式為0,得到特征多項(xiàng)式。再令ωc=kωo,通過赫爾維茲穩(wěn)定性判據(jù)判斷其穩(wěn)定域,對(duì)于特征多項(xiàng)式,得到行列式

(12)
根據(jù)李納德-戚帕特穩(wěn)定判據(jù),在特征方程所有系數(shù)為正的情況下,若所有奇次順序赫爾維茲行列式為正,則所有偶次順序赫爾維茲行列式為正,這樣就可以解出穩(wěn)定域,得出LADRC參數(shù)b0,ωo和ωc的取值范圍。
本文使用絕對(duì)誤差積分準(zhǔn)則(Integral of the absolute value of error, IAE)作為Q-learning學(xué)習(xí)LADRC參數(shù)的獎(jiǎng)勵(lì)函數(shù),IAE指標(biāo)如下

(13)
在后面的結(jié)果分析中,會(huì)用時(shí)間乘絕對(duì)誤差積分準(zhǔn)則準(zhǔn)則(Integral of time multiplied by the absolute value of error, ITAE)用來評(píng)估學(xué)習(xí)效果,ITAE指標(biāo)如下

(14)
基于上面的分析系統(tǒng)穩(wěn)定域的基本方法,接著使用Q-learning 算法對(duì)LADRC參數(shù)進(jìn)行學(xué)習(xí),思路如下所示。

表1 Q-learning 學(xué)習(xí)LADRC參數(shù)
首先通過Hurwitz判據(jù)確定LADRC參數(shù)b0和ωo穩(wěn)定的范圍。在穩(wěn)定域中選取一組不錯(cuò)的LADRC參數(shù)作為對(duì)照組,得到IAE指標(biāo)。然后在參數(shù)穩(wěn)定域選擇參數(shù)范圍,均勻分成 N 分,組成一個(gè)參數(shù)表,并創(chuàng)建出Q 表和R 表,它們的維度一致,都是 N2行乘以8列的參數(shù)表,其中行代表當(dāng)前狀態(tài),是一組參數(shù),列代表行為是行為,是當(dāng)前狀態(tài)下周圍的參數(shù)。行為方式有向上,向下,向左,向右,向左上,向左下,向右上,向右下,最多 8 種行為。
按照上述算法流程,在訓(xùn)練時(shí)先初始化狀態(tài),設(shè)置好學(xué)習(xí)率α,折扣率γ以后,開始進(jìn)入循環(huán),在Q 表中按照 ε 貪婪規(guī)則選擇在當(dāng)前狀態(tài)下行為的最大值作為下一個(gè)更新的狀態(tài),否則隨意選擇一個(gè)行為。其中,在Q-learning學(xué)習(xí)中,最重要的是獎(jiǎng)勵(lì)的賦予方式,如果獎(jiǎng)勵(lì)賦予的差距不顯著,那么算法就很難尋找到好的參數(shù)。在每次迭代中,計(jì)算出當(dāng)前狀態(tài)下的IAE指標(biāo)和各個(gè)行為下的IAE指標(biāo),然后計(jì)算出它們的差值,差距最大賦予獎(jiǎng)勵(lì)值為一個(gè)正數(shù)p,其余獎(jiǎng)勵(lì)值為負(fù)數(shù)n,一直到滿足在某個(gè)狀態(tài)停留m次,并且相應(yīng)指標(biāo)優(yōu)于預(yù)先調(diào)整的。通過上面思路,在訓(xùn)練好以后,即可獲得一組期望的LADRC參數(shù)。

表2 在Q表中尋找合適的LADRC參數(shù)
基于NMM模型,使用上述方法分析得到穩(wěn)定域。通過LADRC控制NMM模型,參考文獻(xiàn)[14],可以得到穩(wěn)定范圍,使用Q-learning對(duì)LADRC參數(shù)進(jìn)行學(xué)習(xí)。
在NMM模型中, A 和 B 表示興奮性和抑制性平均突觸增益,a 和 b 分別是膜時(shí)間常數(shù)的集中表示。興奮性和抑制性參數(shù)的標(biāo)準(zhǔn)值為A=3.25mV 和 B=22mV,興奮性和抑制性群體的平均突觸時(shí)間延遲的標(biāo)準(zhǔn)值是a=100s-1和b=50s-1[5]。為模擬高頻癲癇尖峰,在興奮參數(shù)和抑制參數(shù)處于不平衡狀態(tài),這時(shí)興奮性子群和抑制性子群輸出失去平衡,其參數(shù)如表3。

表3 NMM模型的參數(shù)
當(dāng)NMM模型參數(shù)取表3時(shí),產(chǎn)生的尖峰波如圖4所示。

圖4 NMM生成的癲癇樣棘波
接著,使用Q-learning算法進(jìn)行訓(xùn)練,然后使用LADRC對(duì)NMM模型進(jìn)行控制,先粗略調(diào)節(jié)一組LADRC參數(shù) b0=50,ωc=100,ωo=800。通過文獻(xiàn)[14],確定它們的范圍為b0=1~100,ωo=100~1000,ωc=ωo/5,并且每個(gè)參數(shù)分為50份,參數(shù)設(shè)置α=0.85和γ=0.35,對(duì)于梯度最大的方向獎(jiǎng)勵(lì)設(shè)置為+1.5,其余的獎(jiǎng)勵(lì)設(shè)置為-1。通過Q-learning算法學(xué)習(xí)以后,得到Q表,收斂條件為在迭代的參數(shù)的IAE指標(biāo)小于選定的IAE的條件下,有一組參數(shù)重復(fù)被選中10次則收斂,通過Q表迭代過程如下,

圖5 通過Q表尋找合適的LADRC參數(shù)
學(xué)習(xí)得到的參數(shù)如下,放在表4,與原來的參數(shù)比較。

表4 LADRC的參數(shù)表
接著用LADRC來抑制NMM生成的癲癇棘波。仿真時(shí)間為1.5 s,并在1 s時(shí)候加入正弦擾動(dòng)為d=15sin(2π·10·t),一直到仿真結(jié)束,用來模擬癲癇的擾動(dòng)信號(hào),其結(jié)果如圖6所示。

圖6 通過Q表尋找合適的LADRC參數(shù)
通過響應(yīng)曲線可以觀察到,通過Q-learning學(xué)習(xí)到的參數(shù)對(duì)抑制癲癇的高頻棘波有更好的效果,而且面對(duì)正弦擾動(dòng)也比預(yù)先設(shè)定的參數(shù)具有更強(qiáng)的魯棒性。接著通過IAE指標(biāo)和ITAE指標(biāo)進(jìn)行比較,

表5 性能指標(biāo)
通過指標(biāo)比較可以觀察到,Q-learning學(xué)習(xí)到的參數(shù)在指標(biāo)上也是優(yōu)于預(yù)先設(shè)定的,能夠更有效的抑制癲癇的高頻棘波。
本文提出了一種基于Q-learning調(diào)節(jié)LADRC參數(shù),通過設(shè)置獎(jiǎng)勵(lì)函數(shù),學(xué)習(xí)到一組不錯(cuò)的LADRC參數(shù)。仿真實(shí)例表明,基于Q-learning的LADRC參數(shù)整定方法能夠更好地適應(yīng)動(dòng)態(tài)變化的情況,獲得了更好的癲癇閉環(huán)調(diào)控效果。