栗偉松,湯敏芳,何征嶺,王 鵬,杜利東,方 震,陳賢祥
(1.中國(guó)科學(xué)院空天信息創(chuàng)新研究院,北京 100190; 2.中國(guó)科學(xué)院大學(xué)電子電氣與通信工程學(xué)院,北京 100049)
人的睡眠過(guò)程十分復(fù)雜且對(duì)人體的自我修復(fù)至關(guān)重要。睡眠不足會(huì)導(dǎo)致各種健康問(wèn)題,引發(fā)中風(fēng)、腦損傷等疾病[1]。多導(dǎo)睡眠圖(Polysomnography, PSG)是睡眠監(jiān)測(cè)研究的“金標(biāo)準(zhǔn)”,睡眠專家基于多導(dǎo)睡眠儀獲取的多通道生物電信號(hào),以30 s為單位將睡眠過(guò)程分成覺(jué)醒期(Wake, W)、快速眼動(dòng)期(Rapid Eye Movement, REM)和非快速眼動(dòng)期(Non-Rapid Eye Movement, NREM)。其中NREM又包括S1~S4這4期,S1和S2期被稱為淺睡期,S3和S4期被稱為深睡期[2]。盡管多導(dǎo)睡眠監(jiān)測(cè)準(zhǔn)確度高,但操作繁瑣耗時(shí)且舒適度低,故低負(fù)荷的睡眠分期方案研究具有重要的現(xiàn)實(shí)意義。
早期的低負(fù)荷睡眠分期研究以單通道腦電(Electroencephalogram, EEG)信號(hào)為基礎(chǔ)進(jìn)行,但監(jiān)測(cè)EEG信號(hào)時(shí),腦電電極導(dǎo)電膠置于頭皮層上易引起被測(cè)者的不適,對(duì)其正常唾眠造成影響,且EEG信號(hào)受運(yùn)動(dòng)、出汗偽影等干擾嚴(yán)重[3-4]。研究表明,可以反映人體自主神經(jīng)系統(tǒng)的心電(Electrocardiogram, ECG)信號(hào)可以較好地反映睡眠狀態(tài),隨著可穿戴生理參數(shù)監(jiān)測(cè)設(shè)備的不斷發(fā)展,低負(fù)荷的睡眠分期方案多基于ECG信號(hào)、呼吸信號(hào)及瞬時(shí)心率(Instantaneous Heart Rate, IHR)序列等ECG衍生信號(hào)進(jìn)行[5-7]。心電圖12導(dǎo)聯(lián)體系包括6個(gè)肢體導(dǎo)聯(lián)(Ⅰ、Ⅱ、Ⅲ、aVR、aVL和aVF)和6個(gè)胸導(dǎo)聯(lián)(V1~V6)。一般多導(dǎo)睡眠儀只記錄一個(gè)導(dǎo)聯(lián)的ECG,通常為Ⅰ導(dǎo)聯(lián)、Ⅱ?qū)?lián)或V5導(dǎo)聯(lián)?;诙鄬?dǎo)睡眠儀采集的單導(dǎo)聯(lián)ECG信號(hào)、呼吸信號(hào)及ECG信號(hào)衍生信號(hào)等,研究者們?cè)谒叻制陬I(lǐng)域進(jìn)行了大量研究并取得了顯著的成果。Redmond等[8]通過(guò)提取ECG及呼吸信號(hào)特征,較早通過(guò)機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)睡眠分期。Yucelba等[9]對(duì)采用奇異值分解、變分模式分解等方法從ECG信號(hào)中提取特征,經(jīng)最佳優(yōu)先搜索算法特征選擇后,利用隨機(jī)森林分類器對(duì)數(shù)據(jù)集進(jìn)行分類,得到模型睡眠三分類平均準(zhǔn)確度為78.78%,四分類的平均準(zhǔn)確度為73.09%。王愛(ài)波[10]利用隱馬爾可夫模型提取ECG信號(hào)RR間期序列數(shù)據(jù)并依據(jù)心率變異性(Heart Rate Variability, HRV)指標(biāo)變化情況實(shí)現(xiàn)睡眠自動(dòng)分期。馮靜達(dá)等[11]基于從ECG信號(hào)提取的時(shí)域、頻域和非線性特征,構(gòu)建4層神經(jīng)網(wǎng)絡(luò)模型,獲得睡眠三分類準(zhǔn)確率為83.90%。
上述基于傳統(tǒng)機(jī)器學(xué)習(xí)的睡眠分期方案關(guān)鍵在特征的提取、選擇以及分類器的設(shè)計(jì)構(gòu)建上,過(guò)程復(fù)雜且對(duì)原始信號(hào)的特征提取不夠充分。隨著深度學(xué)習(xí)算法研究的深入,深度神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于睡眠分期等的研究[12-17],深層次提取信號(hào)粗粒度與細(xì)粒度特征,采用端到端的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)、長(zhǎng)短時(shí)記憶(Long Short Term Memory, LSTM)網(wǎng)絡(luò)、門(mén)控循環(huán)單元(Gated Recurrent Unit, GRU)等算法實(shí)現(xiàn)自動(dòng)睡眠分期,通常具有更高的分類準(zhǔn)確度。Wei等[18]構(gòu)建基于堆疊自編碼器(Stacked Autoencoder, SAE)的深度神經(jīng)模型,得到睡眠三分類預(yù)測(cè)準(zhǔn)確率為77.00%。Radha等[19]利用LSTM基于單導(dǎo)聯(lián)ECG提取的時(shí)域、頻域特征實(shí)現(xiàn)睡眠分期,得到六分類準(zhǔn)確率為76.30%。
當(dāng)前基于單導(dǎo)聯(lián)ECG信號(hào)的自動(dòng)睡眠分期研究已經(jīng)取得了一定成功,但相關(guān)研究缺乏對(duì)ECG信號(hào)片段內(nèi)部時(shí)間關(guān)聯(lián)性特征提取,也缺少對(duì)基于同一樣本集的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法分類結(jié)果的對(duì)比分析。
針對(duì)上述問(wèn)題,本文提出一種結(jié)合自注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)模型以實(shí)現(xiàn)自動(dòng)睡眠分期。該模型包含4個(gè)CNN模塊、2個(gè)雙向GRU(Bidirectional GRU, Bi-GRU)模塊和1個(gè)自注意力機(jī)制(Self-Attention, SA)模塊,研究對(duì)該模型性能進(jìn)行評(píng)估,同時(shí)將該方案與經(jīng)典機(jī)器學(xué)習(xí)睡眠分期方案進(jìn)行對(duì)比分析。實(shí)驗(yàn)結(jié)果表明SA模塊的引入進(jìn)一步提取ECG信號(hào)片段內(nèi)部時(shí)間關(guān)聯(lián)性特征,且相較于傳統(tǒng)機(jī)器學(xué)習(xí)睡眠分期方案,本文模型能較好地實(shí)現(xiàn)基于單導(dǎo)聯(lián)心電信號(hào)的特征提取與睡眠分期,有助于基于單導(dǎo)聯(lián)心電信號(hào)的低負(fù)荷睡眠監(jiān)測(cè)技術(shù)的推廣應(yīng)用。
本文基于自注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)自動(dòng)睡眠分期算法流程如圖1所示,將原始單導(dǎo)聯(lián)ECG數(shù)據(jù)進(jìn)行簡(jiǎn)單濾波及零均值歸一化預(yù)處理后以30 s為單位劃分片段,送入包含CNN模塊、Bi-GRU模塊和SA模塊的深度神經(jīng)網(wǎng)絡(luò)模型,輸出最終的睡眠分期結(jié)果。
圖1 模型實(shí)現(xiàn)自動(dòng)睡眠分期流程圖
本文提出的算法模型主要由4個(gè)CNN模塊、2個(gè)Bi-GRU模塊和1個(gè)SA模塊構(gòu)成。使用一維CNN模塊提取信號(hào)空間特征后,由Bi-GRU模塊提取序列前后相關(guān)信息,SA模塊對(duì)每個(gè)時(shí)刻Bi-GRU單元的輸出重要度加權(quán)來(lái)提取序列每個(gè)單元的相關(guān)信息。
算法詳細(xì)流程如圖2所示,其中輸出特征維度基于SHHS2數(shù)據(jù)集計(jì)算獲得。
圖2 算法模型流程圖
模型結(jié)構(gòu)及參數(shù)具體描述如下:
1)卷積模塊:使用一維卷積神經(jīng)網(wǎng)絡(luò)作為特征提取器,獲取ECG信號(hào)空間特征。
每個(gè)CNN模塊包含2個(gè)卷積層(Convolution, Conv),采用全零填充以保持輸入特征圖的尺寸不變。使用一個(gè)最大池化層(Max-Pooling),減小特征維度,提高所提取特征的魯棒性并緩解過(guò)擬合。
在最后一個(gè)CNN塊后連接一個(gè)丟棄層(Dropout),在網(wǎng)絡(luò)前向傳遞過(guò)程中關(guān)閉一些神經(jīng)元和它們的連接,以提高神經(jīng)元的學(xué)習(xí)能力并防止過(guò)擬合。引入隨機(jī)生成概率向量r,r服從參數(shù)為p的伯努利分布。
2)Bi-GRU模塊:特征提取能力強(qiáng)大,捕捉特征的內(nèi)部相關(guān)性,獲取ECG信號(hào)時(shí)間特征。
模型包含2個(gè)Bi-GRU模塊,每個(gè)Bi-GRU模塊結(jié)構(gòu)如圖3所示,Bi-GRU層包含正反2個(gè)方向的GRU,提取出ECG序列的前后相關(guān)信息。GRU和LSTM網(wǎng)絡(luò)都通過(guò)設(shè)計(jì)避免了長(zhǎng)期依賴問(wèn)題,擁有記憶長(zhǎng)期信息的能力。且相比于LSTM,GRU網(wǎng)絡(luò)參數(shù)量更少,模型更易訓(xùn)練,提高了訓(xùn)練效率。Bi-GRU網(wǎng)絡(luò)通過(guò)2個(gè)方向完全獨(dú)立的GRU處理前后兩端的ECG信號(hào),深入挖掘雙向時(shí)間結(jié)構(gòu)信息。
(a) Bi-GRU結(jié)構(gòu)圖
(b) GRU結(jié)構(gòu)圖圖3 Bi-GRU模塊結(jié)構(gòu)圖
對(duì)于i時(shí)刻的輸入xi,GRU的輸出hi的計(jì)算過(guò)程如式(1)~式(4)所示:
ri=σ(Wxrxi+Whrhi-1+br)
(1)
zi=σ(Wxzxi+Whzhi-1+bz)
(2)
(3)
(4)
最終輸出hi′由前向GRU輸出hif和后向GRU輸出hib共同決定,由下式(5)計(jì)算獲得,其中“[ ]”表示2個(gè)向量相連。
hi′=σ[hif,hib]
(5)
3)SA模塊:在長(zhǎng)序列中對(duì)Bi-GRU每個(gè)單元的輸出重要度做出打分,捕捉片段內(nèi)部信息相關(guān)性。
Bi-GRU提取了序列的前后相關(guān)性特征,但卻無(wú)法在長(zhǎng)序列中凸顯重要的信息,SA模塊的引入彌補(bǔ)了這一缺點(diǎn),自動(dòng)捕捉長(zhǎng)序列內(nèi)部的關(guān)聯(lián)信息,增強(qiáng)了模型對(duì)ECG信號(hào)時(shí)序特征的提取能力。此外,SA模塊權(quán)重計(jì)算不存在依賴現(xiàn)象,可并行計(jì)算,大大提高了計(jì)算效率。
注意力模型可以宏觀上理解為一個(gè)查詢(Query, Q)到一系列鍵-值(Key-Value, K-V)對(duì)的映射,本質(zhì)上是對(duì)源數(shù)據(jù)元素的V進(jìn)行加權(quán)求和,而Q和K用來(lái)計(jì)算對(duì)應(yīng)V的權(quán)重系數(shù)。對(duì)于自注意力機(jī)制而言,查詢向量序列Q、鍵向量序列K和值向量序列V這3個(gè)矩陣均來(lái)自同一輸入,信號(hào)經(jīng)自注意力機(jī)制前后具有相同的維度[20]。
用X=[x1,x2,…,xn]表示N個(gè)輸入信息,Q、K和V通過(guò)式(6)~式(8)所示的線性變換獲得,其中WQ、WK和WV是可以學(xué)習(xí)的參數(shù)矩陣,輸出序列為與輸入X同等長(zhǎng)度的H=[h1,h2,…,hn]。
Q=WQX
(6)
K=WKX
(7)
V=WVX
(8)
根據(jù)Q和K計(jì)算權(quán)重系數(shù),為防止Q與K之間的點(diǎn)乘積結(jié)果過(guò)大導(dǎo)致softmax函數(shù)進(jìn)入無(wú)梯度區(qū)域,模型采用了縮放點(diǎn)積注意力模型,結(jié)構(gòu)如圖4所示。輸入特征X維度為(DX,N),經(jīng)參數(shù)矩陣WQ、WK和WV線性變換后獲得Q、K和V這3個(gè)矩陣的維度分別為(DQ,N)、(DK,N)和(DV,N)。縮放點(diǎn)積注意力模型相對(duì)于點(diǎn)積模型多了一個(gè)鍵向量維度DK的平方根以起到調(diào)節(jié)作用,讓訓(xùn)練過(guò)程中具有更穩(wěn)定的梯度。利用softmax函數(shù)將其結(jié)果歸一化為概率分布,然后再乘以矩陣V就得到權(quán)重求和的表示。輸出特征維度為(DH,N),每個(gè)列向量hi計(jì)算如式(9)所示。其中i,j∈[1,N],為輸出和輸入向量序列的位置;s(ki,qi)是注意力打分函數(shù),Dk是鍵向量維度。
圖4 縮放點(diǎn)積注意力結(jié)構(gòu)
(9)
(10)
在網(wǎng)絡(luò)的最后引入批標(biāo)準(zhǔn)化(Batch Normalization, BN),是為了加快網(wǎng)絡(luò)的訓(xùn)練和收斂速度,防止梯度爆炸和梯度消失,同時(shí)也防止過(guò)擬合。經(jīng)過(guò)BN之后,將輸出結(jié)果展開(kāi)送入全連接層(Dense)輸出類別概率分布。
本研究實(shí)驗(yàn)數(shù)據(jù)來(lái)源于睡眠數(shù)據(jù)網(wǎng)站(網(wǎng)址為:https://www.sleepdata.org)[21-23]提供的睡眠心臟健康研究(Sleep Heart Health Study,SHHS)數(shù)據(jù)庫(kù)、動(dòng)脈粥樣硬化的多民族研究(Multi-Ethnic Study of Atherosclerosis,MESA)數(shù)據(jù)庫(kù)及美國(guó)麻省理工多導(dǎo)睡眠數(shù)據(jù)庫(kù)(MIT-BIH Polysomnographic Database, MITBPD)[24]。SHHS數(shù)據(jù)庫(kù)數(shù)據(jù)由約翰霍普金斯大學(xué)的睡眠心臟健康協(xié)調(diào)中心在不同時(shí)間收集獲得,包含SHHS1和SHHS2這2個(gè)數(shù)據(jù)集,分別包含了5793名受試者和2651名受試者的原始多導(dǎo)睡眠圖數(shù)據(jù)。MESA數(shù)據(jù)庫(kù)數(shù)據(jù)由美國(guó)國(guó)立心臟、肺和血液研究所提供,包含了2056名受試者的多導(dǎo)睡眠圖數(shù)據(jù)。MITBPD是美國(guó)麻省理工采集的包含睡眠期間多種生理信號(hào)的多導(dǎo)睡眠數(shù)據(jù)庫(kù),包含了16名受試者多導(dǎo)睡眠圖數(shù)據(jù)。ECG記錄在SHHS1、SHHS2、MESA及MITBPD數(shù)據(jù)集中分別按125 Hz、250 Hz、256 Hz和250 Hz采樣。上述數(shù)據(jù)集被標(biāo)記為6個(gè)睡眠階段,包括喚醒、REM、S1、S2、S3和S4期。研究將睡眠階段進(jìn)行四分類,故將S1和S2結(jié)合標(biāo)記為淺睡眠(Light Sleep)階段,S3和S4結(jié)合標(biāo)記為深睡眠(Deep Sleep)階段。在SHHS1、SHHS2及MESA數(shù)據(jù)集中均隨機(jī)選取了1000名受試者的單導(dǎo)聯(lián)ECG信號(hào)數(shù)據(jù)進(jìn)行非獨(dú)立被試研究。表1睡眠統(tǒng)計(jì)了所選SHHS2數(shù)據(jù)集數(shù)據(jù)不同睡眠時(shí)期片段數(shù)量,可知各睡眠片段分布不均,Wake和Light Sleep時(shí)期片段比例較高。
表1 SHHS2數(shù)據(jù)集不同睡眠時(shí)期比例
此外由于心電信號(hào)是一種相對(duì)微弱的生理信號(hào),存在基線漂移、工頻噪聲和肌電干擾等噪聲,為便于研究和比較,對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單濾波及零均值歸一化處理,將原始數(shù)據(jù)映射到均值為0、標(biāo)準(zhǔn)差為1的正態(tài)分布。根據(jù)睡眠分期準(zhǔn)則[2],將數(shù)據(jù)劃分為30 s的片段以進(jìn)行后續(xù)研究,每個(gè)片段對(duì)應(yīng)睡眠分期的一個(gè)標(biāo)簽。
本文所有實(shí)驗(yàn)基于Python語(yǔ)言編寫(xiě)代碼,使用深度框架TensorFlow2.0搭建深度學(xué)習(xí)網(wǎng)絡(luò)。采用自適應(yīng)矩估計(jì)(Adaptive Moment Estimation, Adam)優(yōu)化器更新網(wǎng)絡(luò)權(quán)值。采用多分類交叉熵函數(shù)作為損失函數(shù)實(shí)現(xiàn)睡眠片段四分類。模型訓(xùn)練時(shí)采用五折交叉驗(yàn)證的方法,將數(shù)據(jù)集片段均分為5份,每次不重復(fù)地選取一份作為測(cè)試集,其余作為訓(xùn)練集,獲得模型睡眠分期各指標(biāo)結(jié)果,取五折測(cè)試結(jié)果的平均值作為模型的性能指標(biāo)。利用網(wǎng)格搜索法尋找學(xué)習(xí)率、批大小和迭代次數(shù)的最優(yōu)組合,學(xué)習(xí)率(Learning Rate)設(shè)為0.0001,批量(Batch)大小設(shè)置為128,迭代次數(shù)(Epoch)設(shè)為500。CNN模塊每個(gè)卷積層采用12個(gè)5×1的卷積核,Max-Pooling層的樹(shù)池選用3×3的矩陣,Dropout層p為20%。Bi-GRU模塊每個(gè)GRU記憶單元個(gè)數(shù)為12。SA模塊鍵向量維度為24。
模型訓(xùn)練過(guò)程中的損失函數(shù)(Loss)和準(zhǔn)確率(Accuracy, Acc)變化情況如圖5所示,經(jīng)多輪迭代,損失值和準(zhǔn)確率逐漸收斂并趨于穩(wěn)定。
(a) Loss變化曲線
(b) Acc變化曲線圖5 模型訓(xùn)練過(guò)程中Loss與Acc變化曲線
研究采用準(zhǔn)確率、精確率(Precision, P)、召回率(Recall, R)、F1值(F1-score)和相關(guān)性系數(shù)(Kappa)5個(gè)指標(biāo)來(lái)衡量模型整體分類效果[25],采用Acc衡量子類分類效果,同時(shí)繪制混淆矩陣進(jìn)一步觀察模型分類效果。
以TP、FP、FN和TN分別表示被分類正確的正樣本數(shù)(True Positive, TP)、被分類錯(cuò)誤的正樣本數(shù)(False Positive, FP)、被分類錯(cuò)誤的負(fù)樣本數(shù)(False Negative, FN)、被分類正確的負(fù)樣本數(shù)(True Negative, TN),給出如表2所示的混淆矩陣定義。
表2 混淆矩陣定義
1)準(zhǔn)確率為模型分類正確樣本數(shù)占測(cè)試集總樣本數(shù)的比例,計(jì)算公式為:
(11)
2)精確率又稱查準(zhǔn)率,為模型正確預(yù)測(cè)為正例樣本數(shù)占全部預(yù)測(cè)為正樣本數(shù)的比例,計(jì)算公式為:
(12)
3)召回率又稱查全率,為模型正確預(yù)測(cè)為正的樣本數(shù)占全部樣正本數(shù)的比例,計(jì)算公式為:
(13)
4)F1值為模型分類精確率與召回率的調(diào)和值,計(jì)算公式為:
(14)
(15)
5)Kappa系數(shù)基于混淆矩陣計(jì)算得到,取值范圍在-1~1之間,通常大于0。Kappa系數(shù)用于衡量模型預(yù)測(cè)結(jié)果和實(shí)際分類結(jié)果是否一致,Kappa≤0.40表明二者一致性差,0.40 (16) 其中,po為每類正確分類的樣本數(shù)量之和除以總樣本數(shù),即實(shí)際一致率,pe為所有類別分別對(duì)應(yīng)的實(shí)際與預(yù)測(cè)數(shù)量的乘積總和,除以樣本總數(shù)的平方,即理論一致率。 模型性能由多指標(biāo)進(jìn)行評(píng)估,模型分類準(zhǔn)確率、精確率、召回率、F1值和相關(guān)性系數(shù)越高,模型性能越好。 本文采用結(jié)合自注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行自動(dòng)睡眠分期研究,并在SHHS1、SHHS2、MESA和MITBPD數(shù)據(jù)集上分別選取了1000、1000、1000和16名受試者的單導(dǎo)聯(lián)心電信號(hào)數(shù)據(jù)進(jìn)行訓(xùn)練和測(cè)試獲得睡眠分期四分類(Wake, Light Sleep, Deep Sleep和REM)五折交叉驗(yàn)證平均結(jié)果如表3所示。 表3 各數(shù)據(jù)集上模型分類結(jié)果統(tǒng)計(jì) 為進(jìn)一步探究本文提出的深度學(xué)習(xí)模型分類效果,研究同時(shí)基于選取的SHHS2數(shù)據(jù)集ECG信號(hào)構(gòu)建了睡眠分期的機(jī)器學(xué)習(xí)模型。對(duì)ECG信號(hào)預(yù)處理后采用PT算法檢測(cè)信號(hào)的QRS波群提取R波波峰[26],獲得ECG信號(hào)的HRV信息,進(jìn)而獲得IHR時(shí)間序列和心電導(dǎo)出呼吸(ECG Derived Respiration, EDR)信號(hào)。參考文獻(xiàn)[27-30],提取HRV、IHR及EDR信號(hào)時(shí)域、頻域、熵等特征共計(jì)99維,如表4所示。 表4 提取的ECG信號(hào)特征 完成特征提取后采用極端隨機(jī)樹(shù)(Extremely Randomized Trees, ET)進(jìn)行特征的重要性度量,選擇重要性較高的特征,使用邏輯回歸(Logistic Regression, LR)、決策樹(shù)(Decision Tree, DT)、K近鄰(K-Nearest Neighbor, KNN)算法、隨機(jī)森林(Random Forest, RF)和梯度提升樹(shù)(Gradient Boosting Decision Tree, GBDT)分類器采用五折交叉驗(yàn)證實(shí)現(xiàn)基于機(jī)器學(xué)習(xí)的睡眠分期。 通過(guò)對(duì)比保留重要度在前10、前20、前30、前50及全部特征的睡眠分期結(jié)果,保留重要度在前20的特征得到的睡眠分期效果最佳,故提取保留重要性在前20的特征用于后續(xù)分析,保留的特征包括9個(gè)時(shí)間窗口內(nèi)RR間期10分位數(shù)(rr9pct10)和25分位數(shù)(rr9pct25)、5個(gè)時(shí)間窗口內(nèi)RR間期10分位數(shù)(rr5pct10)、9個(gè)時(shí)間窗口內(nèi)RR間期75分位數(shù)(rr9pct75)、EDR信號(hào)25分位數(shù)(edrpct25)、3個(gè)時(shí)間窗口內(nèi)RR間期中位數(shù)(rr3med)、EDR信號(hào)75分位數(shù)(edrpct75)、EDR信號(hào)中位數(shù)(edrmed)、IHR信號(hào)功率譜密度最大值(ihrfmax)、9個(gè)時(shí)間窗口內(nèi)RR間期75分位數(shù)與25分位數(shù)差值(rr9rg25-75)、相鄰RR間期的差方和的均值的平方根(rmssd)、EDR信號(hào)標(biāo)準(zhǔn)差(edrstd)、9個(gè)時(shí)間窗口內(nèi)RR間期97.5分位數(shù)與2.5分位數(shù)差值(rr9rg2.5-97.5)、9個(gè)時(shí)間窗口內(nèi)RR間期均值(rr9mean)、IHR最大值(ihromax)、3個(gè)時(shí)間窗口內(nèi)RR間期75分位數(shù)(rr3pct75)、EDR信號(hào)75分位數(shù)與25分位數(shù)差值(edrrg25-75)、5個(gè)時(shí)間窗口內(nèi)RR間期均值與中位數(shù)差值(rr5mean-med)、9個(gè)時(shí)間窗口內(nèi)RR間期90分位數(shù)與10分位數(shù)差值(rr9rg10-90)和連續(xù)RR間期間隔差大于20 ms的數(shù)量(nni20)。保留特征對(duì)應(yīng)的歸一化后的重要度如圖6所示。 圖6 保留特征及其對(duì)應(yīng)的重要度 以SHHS2數(shù)據(jù)集為例分析,本文提出的CNN-BiGRU-SA模型與未添加SA的CNN-BiGRU模型以及幾種機(jī)器學(xué)習(xí)模型算法子類分類準(zhǔn)確度及總體分類情況對(duì)比結(jié)果如表5~表6所示,各分類指標(biāo)均給出了五折交叉驗(yàn)證測(cè)試結(jié)果的平均值和誤差范圍(以“±”后數(shù)據(jù)表示誤差范圍),其中“Weighted Acc”為結(jié)合標(biāo)簽權(quán)重獲得的分類準(zhǔn)確率的加權(quán)平均值??芍?,提出模型對(duì)睡眠分期的總體分類準(zhǔn)確率、精確率、召回率、F1值和相關(guān)性系數(shù)相比于其他分類算法均得到了提升。準(zhǔn)確度、精確率和召回率分別達(dá)到了81.01%、82.16%和80.94%,相比未加SA模塊的CNN-BiGRU模型分別提升了6.43個(gè)百分點(diǎn)、6.70個(gè)百分點(diǎn)和6.46個(gè)百分點(diǎn),相比其他機(jī)器學(xué)習(xí)模型的最優(yōu)模型GBDT分類準(zhǔn)確度、精確率和召回率分別提升了4.57個(gè)百分點(diǎn)、4.92個(gè)百分點(diǎn)和4.38個(gè)百分點(diǎn)。 表5 算法子類分類準(zhǔn)確度對(duì)比 表6 總體睡眠分期結(jié)果對(duì)比 圖7給出了采用GBDT、CNN-BiGRU和本文提出的CNN-BiGRU-SA模型進(jìn)行睡眠四分類得到的混淆矩陣,其中W、L、D和R分別代表睡眠分期的Wake、Light Sleep、Deep Sleep和REM階段。結(jié)合圖7分析,可知SA模塊的引入使得Wake和Light Sleep子類的分類準(zhǔn)確度相比CNN-BiGRU模型均有提升,其中Light Sleep子類的分類性能得到了顯著提高,這是由于提出結(jié)合Bi-GRU和SA模塊捕捉了ECG信號(hào)的空間特征及對(duì)睡眠分期的重要程度,提取的特征信息更加全面,更有針對(duì)性。從上述分類結(jié)果中可以看出,提出模型明顯優(yōu)于常用的未添加SA的CNN-BiGRU模型,體現(xiàn)了研究在模型結(jié)構(gòu)上所作的改進(jìn)。 (a) GBDT模型混淆矩陣 (b) CNN-BiGRU模型混淆矩陣 (c)CNN-BiGRU-SA模型混淆矩陣圖7 模型睡眠分期混淆矩陣 但各個(gè)模型對(duì)Deep Sleep和REM階段的分類準(zhǔn)確度都不夠高,是由于數(shù)據(jù)集中Deep Sleep和REM片段比例較低,由表3給出的統(tǒng)計(jì)數(shù)據(jù)可知,Deep Sleep片段僅占全部睡眠片段的9.05%,REM片段僅占全部睡眠片段的11.61%,數(shù)據(jù)集中2類片段較少導(dǎo)致分類器對(duì)二者特征學(xué)習(xí)不夠充分,分類準(zhǔn)確度較低。 為進(jìn)一步說(shuō)明SA模塊的引入對(duì)模型性能的改進(jìn)情況,圖8展示了引入SA模塊前后模型訓(xùn)練過(guò)程中損失值和準(zhǔn)確率變化曲線。通過(guò)比較添加SA模塊前后模型訓(xùn)練過(guò)程中Acc與Loss變化曲線,可知SA模塊的引入可以提高模型的收斂效果,并提升了分類準(zhǔn)確率。 (a) Loss變化曲線 (b) Acc變化曲線 圖9以熱力圖形式給出了引入SA模塊前后ECG片段特征圖,將Bi-GRU模塊特征輸出矩陣、SA模塊特征權(quán)重系數(shù)矩陣及SA模塊特征輸出矩陣數(shù)據(jù)以熱力圖形式繪制出來(lái),形象地展示了引入SA模塊前后提取的ECG片段數(shù)據(jù)特征分布及變化情況。以SHHS2數(shù)據(jù)集為例,該數(shù)據(jù)集ECG采樣率為250 Hz,以30 s為單位匹配標(biāo)簽,即7500個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)標(biāo)簽,輸入數(shù)據(jù)維度為(7500,1)。ECG片段經(jīng)4個(gè)CNN模塊后,提取的特征維度為(92,12),再經(jīng)2個(gè)Bi-GRU模塊后,輸出特征矩陣維度為(92,24)。即ECG片段經(jīng)模型CNN模塊和Bi-GRU模塊提取特征后得到的特征輸出是一個(gè)二維矩陣,提取了24個(gè)通道的92維信息。SA模塊在CNN模塊和Bi-GRU模塊提取的ECG片段特征基礎(chǔ)上捕捉片段內(nèi)部時(shí)序信息,對(duì)Bi-GRU每個(gè)時(shí)刻單元的輸出重要度做出打分,獲得片段特征權(quán)重系數(shù),SA模塊給出的特征權(quán)重系數(shù)矩陣維度為(24,24),經(jīng)SA模塊后特征矩陣為Bi-GRU模塊輸出特征矩陣與特征權(quán)重系數(shù)矩陣的點(diǎn)積,維度仍為(92,24),結(jié)合特征權(quán)重系數(shù)矩陣更新了24個(gè)通道的92維信息。通過(guò)Bi-GRU模塊輸出特征矩陣與SA模塊特征權(quán)重系數(shù)矩陣乘積運(yùn)算獲得的SA模塊的特征輸出圖,即加權(quán)平均后的ECG片段特征圖,提取了片段內(nèi)部信息相關(guān)性。 圖9 引入SA模塊前后ECG片段特征熱力圖 為進(jìn)一步分析SA模塊的引入對(duì)模型特征提取過(guò)程的影響,圖10繪制了引入SA模塊前后ECG片段特征通道圖,ECG片段經(jīng)CNN模塊和Bi-GRU模塊提取特征得到24個(gè)通道的92維信息,分別繪制每個(gè)通道的92維信息如圖10(a)所示,經(jīng)SA模塊給出的特征權(quán)重系數(shù)更新提取的特征信息后,提取的ECG片段特征維度仍為(92,24),同理分別繪制出24個(gè)通道的92維特征圖像。通過(guò)對(duì)比引入SA模塊前后ECG片段特征通道圖可知,通道02、通道03、通道05、通道06、通道07、通道09、通道10及通道12等多數(shù)通道的特征數(shù)據(jù)分布都發(fā)生了大的變化。SA模塊通過(guò)改變不同通道不同的特征權(quán)重系數(shù)更新了提取的特征信息,調(diào)整了數(shù)據(jù)的特征分布,賦予重要特征更高的權(quán)重系數(shù),捕捉了片段內(nèi)部時(shí)序信息及重要程度。 (a) Bi-GRU模塊后ECG片段特征通道圖 (b) SA模塊后ECG片段特征通道圖圖10 引入SA模塊前后ECG片段特征通道圖 圖11為引入SA模塊前后ECG片段特征分布圖,顯示了Bi-GRU模塊輸出特征和SA模塊輸出特征經(jīng)TSNE數(shù)據(jù)可視化工具降維處理后的數(shù)據(jù)特征分布情況,對(duì)比分析可知SA模塊的引入使得ECG片段Wake和Light Sleep時(shí)期數(shù)據(jù)特征的界限更加清晰,結(jié)合圖7模型睡眠分期混淆矩陣分析可知,SA模塊的引入使得ECG片段Wake階段分類準(zhǔn)確度提升了5.60%。但由于數(shù)據(jù)集中Deep Sleep和REM階段片段比例較低,由表3給出的統(tǒng)計(jì)數(shù)據(jù)可知,Deep Sleep片段僅占全部睡眠片段的9.05%,REM片段僅占全部睡眠片段的11.61%,數(shù)據(jù)集中2類片段較少導(dǎo)致Deep Sleep和REM階段數(shù)據(jù)特征的界限不明顯。 (a) Bi-GRU模塊后ECG片段特征分布 (b) SA模塊后ECG片段特征分布圖11 引入SA模塊前后ECG片段特征分布圖 表7給出了本文研究結(jié)果與近年基于ECG信號(hào)的睡眠分期相關(guān)研究結(jié)果的對(duì)比情況,為便于與同類研究實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,本文給出了基于自注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)模型在SHHS1、SHHS2、MESA及MITBPD數(shù)據(jù)集上實(shí)現(xiàn)睡眠分期三分類的準(zhǔn)確率和Kappa系數(shù)結(jié)果。 表7 相關(guān)研究與提出模型結(jié)果對(duì)比 對(duì)比分析可知,非獨(dú)立被試情況下,本文提出的基于自注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)算法在基于單導(dǎo)聯(lián)心電信號(hào)的睡眠分期三分類準(zhǔn)確率、四分類準(zhǔn)確率和Kappa系數(shù)均有提升,驗(yàn)證了模型的可行性。 睡眠分期對(duì)于人們認(rèn)識(shí)睡眠結(jié)構(gòu)、評(píng)估睡眠質(zhì)量以及通過(guò)某些節(jié)律的異常發(fā)現(xiàn)隱患和疾病對(duì)睡眠疾病進(jìn)行診斷都具有重要意義。本文提出了一種基于自注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)模型,結(jié)合Bi-GRU模塊和自注意力機(jī)制在傳統(tǒng)CNN結(jié)構(gòu)提取的ECG片段特征基礎(chǔ)上捕捉片段內(nèi)部時(shí)序信息及重要程度,基于單導(dǎo)聯(lián)ECG信號(hào)實(shí)現(xiàn)端到端的自動(dòng)睡眠分期。本文使用SHHS1、SHHS2、MESA及MITBPD數(shù)據(jù)集獲取的單導(dǎo)聯(lián)ECG信號(hào)數(shù)據(jù)對(duì)模型訓(xùn)練與驗(yàn)證,最終得到睡眠四分類結(jié)果。為評(píng)估模型的性能,基于同一數(shù)據(jù)集提取ECG信號(hào)的時(shí)域、頻域等特征并采用LR、KNN和GBDT等傳統(tǒng)機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)睡眠分期,并將傳統(tǒng)機(jī)器學(xué)習(xí)分類方法與本文基于自注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)模型分類效果進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果表明本文模型總體分類準(zhǔn)確度優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)算法分類結(jié)果,驗(yàn)證了提出模型的有效性。 基于單導(dǎo)聯(lián)ECG信號(hào)的睡眠分期研究對(duì)于低負(fù)荷睡眠監(jiān)測(cè)以及可穿戴設(shè)備進(jìn)行生理參數(shù)監(jiān)測(cè)技術(shù)研究都具有重要意義。但囿于環(huán)境因素、個(gè)體差異等條件的制約,提出的基于單導(dǎo)聯(lián)ECG信號(hào)的睡眠分期模型仍存在改進(jìn)的空間。未來(lái)的研究可以關(guān)注樣本的個(gè)體差異性以及睡眠標(biāo)簽之間的關(guān)聯(lián)性,更加充分地提取信號(hào)特征,尋求更好的睡眠分期方法。2.4 實(shí)驗(yàn)結(jié)果與分析
3 結(jié)束語(yǔ)