多導睡眠圖(PSG)監測是臨床上用于診斷諸如失眠、呼吸暫停等疾病的重要手段。為了解決以手工逐幀視覺判斷PSG進行睡眠障礙患者睡眠階段分期耗時長、耗費精力大等問題,本文提出一種結合卷積神經網絡(CNN)與雙向門控循環神經網絡 (Bi GRU)的深度學習算法模型,并設計了一種動態稀疏性自注意力機制以解決門控循環單元(GRU)網絡對長距離信息難以獲得準確向量表示的問題。本文采集來自上海精神衛生中心143例睡眠障礙患者整晚PSG數據并結合開源數據集153例睡眠障礙患者整晚PSG數據,選取其中的6個腦電(EEG)信號通道、2個眼電(EOG)信號通道與單個下頜肌電(EMG)信號通道等共9個通道的電生理通道信號進行模型訓練與測試評估。經交叉驗證后得到的分期準確率為(84.0±2.0)%,一致性檢驗值為0.77±0.50,優于醫師間評分的一致性檢驗值0.75±0.11。實驗結果表明,本文算法模型在不同人群中具有較高的分期效果并具有普適性,對于協助臨床醫師進行快速、大規模PSG睡眠自動分期具有重要研究意義。
引用本文: 劉穎, 何長樂, 苑成梅, 章浩偉, 季曹珺. 基于注意力機制與雙向門控循環單元的多導睡眠圖睡眠階段分期方法研究. 生物醫學工程學雜志, 2023, 40(1): 35-43. doi: 10.7507/1001-5515.202208017 復制
0 引言
多導睡眠圖(polysomnography,PSG)是臨床上通過采集人體不同部位如大腦、眼部、下頜等生物電信號與鼻息、鼾聲等生理信號并經過濾波放大等處理后呈現給醫師的多通道信號圖。在20世紀70年代,PSG信號通道逐步加入腦電圖(electroencephalogram,EEG)、呼吸、心電等信號形成了完整的PSG并廣泛投入臨床使用,在失眠、睡眠呼吸暫停等睡眠相關疾病的診斷中占據主要的地位。在睡眠障礙等疾病的診斷中,通常需要根據PSG中的電生理信號部分將睡眠障礙患者的整晚睡眠階段進行分類。最早由Rechtschaffen等[1]在1968年制定了相對統一的標準,即Rechtschaffen & Kales(R&K)標準,其將睡眠階段分為6期:清醒期(wake,W)、快速眼動期(rapid eye movement,REM)和非快速眼動期(non-rapid eye movement,NREM),其中NREM又分為NREM一期(N1)、NREM二期(N2)、NREM三期(N3)、NREM四期(N4)。美國睡眠醫學會(American academy of sleep medicine,AASM)在此標準的基礎上發展和完善[2],將N3、N4合并為N3期,形成了如今通用的分期標準。臨床上醫師依據AASM標準,手動逐幀判讀患者整晚的PSG數據得到睡眠分期結果。
在Stepnowsky等[3]于2013年進行的多人睡眠分期準確性評分試驗中,不同醫師之間評分一致值為0.46~0.89。這種手工方式的睡眠分期判讀效果取決于醫師的經驗與疲勞程度,且PSG信號中的EEG信號具有隨機性與混沌性,在視覺上難以分辨,由此學術界對自動睡眠分期算法進行了廣泛的研究。在統計學和機器學習領域中,研究者們基于單通道EEG信號或者包含眼電圖(electrooculogram,EOG)與肌電圖(electromyogram,EMG)的PSG數據提取記錄時域、頻域等非線性特征與信息,然后通過特征選擇方法,如最大相關最小冗余(max-relevance and min-redundancy,mRMR)、快速相關特征選擇(fast correlation-based filter, FCBF)[4] 等,來消除不相關的冗余特征,以提高分類器的預測精度且減少計算量,并可將選擇后的特征作為分類算法的輸入來進行分類。有關的分類算法有支持向量機[5](support vector machine,SVM)、隨機森林(random forest,RF)、決策樹[6]等。以上機器學習算法在單通道或多通道的EEG數據上取得了較好的分期效果。近年來,由于卷積神經網絡(convolutional neural networks,CNN)在醫學影像和信號特征提取方面效果良好,取得了不錯的成績[7];此外,長短期記憶(long short-term memory,LSTM)網絡對長期時序信號前后記憶功能也有顯著提升[8],因此于此相關的一系列深度學習算法被學者廣泛用于睡眠階段分期的模型研究中。在L?ngkvist等[9]開展的研究中,率先提出了基于全連接層的多通道(EEG、EOG、EMG)PSG信號睡眠階段分期系統。Supratak等[10]構建了名為深度睡眠網絡(DeepSleepNet)的網絡結構,利用CNN和雙向LSTM(bidirectional LSTM,Bi LSTM)從單通道EEG信號中提取時不變性特征并學習不同睡眠階段的轉換規則,但單通道信號之間的準確率差距較大且忽略了醫師通過AASM準則對整體PSG信號特征的判讀。在Zhang等[11]研究中,使用了來自一項多中心隊列研究——美國睡眠心臟健康研究(sleep heart health study,SHHS)的5 213例患者大規模PSG數據中多通道信號,來進行CNN-LSTM神經網絡模型訓練。然而上述實驗并未將多通道PSG數據與自注意力(self attention)機制等重賦權值算法結合,其分期效果具有一定的局限性。
基于上述研究,本文以CNN與雙向門控循環單元(bidirectional gate recurrent unit,Bi GRU)[12]為基礎構建了對多通道PSG信號進行睡眠分期的神經網絡模型,為解決Bi GRU對長時序信號的信息記憶不足的問題,設計了一種動態稀疏性自注意力機制;對一維卷積層(one-dimensional convolution,Conv1d)與Bi GRU等網絡結構提取的時域頻域等特征進行各部分相關度計算,以此調整權值并通過激活函數映射到新的函數空間,從而構建了一種新型自注意力機制卷積Bi GRU(Self-attention-CNN-Bi GRU)分期算法。實驗數據由143例采集于上海市精神衛生中心與153例國外開源數據集的患者整晚PSG數據組成,通過提取其EEG、EOG、下頜EMG等通道信號來制作訓練集、驗證集和測試集,并對模型進行訓練調優和分期結果的可靠性評價。通過本文提出的新型算法模型,期待可以更有效地在長時多通道PSG數據上進行睡眠階段分期,今后對于協助臨床醫師進行快速PSG睡眠分期或具有重要研究意義。
1 實驗數據
本文研究數據集包括由睡眠監測儀器Neurofax JE-912A(Nihon Kohden Inc.,日本)2020年于上海市精神衛生中心采集的143例睡眠障礙患者整晚PSG數據及其專業醫生睡眠分期報告和臨床診斷報告組成的上海市精神衛生中心睡眠數據集(shanghai mental health center sleep staging database,SHDB)。為了判斷模型的普適性,本研究還選取荷蘭海牙醫療中心睡眠分期數據集 (Haaglanden medisch centrum sleep staging database,HMCSDB)(網址為:https://physionet.org/content/hmc-sleep-staging/1.1/)[13]中153例睡眠障礙患者的整晚PSG數據做了相同實驗與結果評價。所有PSG數據格式為歐洲通用數據格式(European data format,EDF),并包含以AASM 2.4為標準的醫師手動睡眠階段分期結果標簽文件。兩組數據集中都包含具有睡眠障礙有關疾病的異質人群整晚PSG數據,其中SHDB由包含EEG、EOG、EMG等電生理信號和其它如鼻息等信號的21個通道數據所組成,而HMCSDB僅有電生理信號部分。兩組數據手工分期標簽的類別分布表如表1所示。由于電生理信號部分特別是EEG信號頻率特征是AASM2.4標準的主要判讀依據,所以本研究選擇其中的9個由EEG、EMG、EOG等電生理信號來制作樣本集,后者數據集同樣選擇上述通道制作樣本集。

2 數據預處理
首先對各個數據集進行預處理,其整體步驟流程如圖1所示。

首先,讀取原始EDF格式數據中相關電生理通道信號值與文本文件(textfile,txt)中醫師手動分期睡眠階段標簽,并去除開燈與信號值中>200 μV等無關偽影樣本及對應標簽。對于SHDB數據集提供的PSG數據,本文提取9個通道的信號,包括:左眼EOG(EOG-L)信號、右眼EOG(EOG-R)信號;下頜EMG信號:Chin a-b;EEG信號:F4-M1、F3-M2、C4-M1、C3-M2、O2-M1、O1-M2;采樣頻率200 Hz,根據每樣本30 s的尺度,將輸入模型的單個樣本尺寸設為(6 000,9)。對于HMCSDB數據集的PSG數據來說,其采樣頻率為256 Hz,將其樣本采樣點矩陣設為(7 268,9),提取信號通道相同。然后,對樣本進行小波降噪,并將樣本集劃分為訓練集、驗證集與測試集。實驗使用多貝西(Daubechies,Db)小波函數族的Db8小波基將信號進行8個頻率尺度的分解[14],設定0.1的極小化極大準則(minimax)閥值,低于閥值的分解后各段頻率信息被認為是由于噪聲產生的[15],通過軟閥值(soft thresholding)函數來將其修正,這樣經過小波系數濾波后重組的信號可以進行后續自動分期算法處理。本文整體小波降噪過程如圖2所示。

3 基于自注意力機制與Bi GRU的算法模型結構
3.1 Bi GRU
循環神經網絡(recurrent neural networks,RNN)的提出讓神經網絡具有了記憶時序信息前后特征的能力,但對長時序信號特征信息記憶力不足。為此,Hochreiter 等[16]提出中長短期記憶人工神經網絡,其擁有三個精細設置的門結構可去除或增加信息到細胞,并保護和控制細胞單元的狀態,解決了RNN對長時序信息依賴不足等問題,因而廣泛用于時序信號如天氣、EEG等信號處理。而門控循環單元(gate recurrent unit,GRU)則通過將LSTM的遺忘門與輸入門參數合并為更新門,來控制單元對上一時刻信息傳遞與當前時刻隱藏信息計算傳遞[17],并且可以選擇性考慮上一單元對當前狀態影響,在防止欠擬合的同時與LSTM性能相當。本文在GRU的基礎上對其網絡層進行雙層互逆鏈接形成Bi GRU,在該結構中底層GRU接受上層網絡提取的原始順序PSG樣本特征輸入,而頂部網絡則按照相反的順序接受樣本特征輸入,并將兩層結構獲得的信息和參數綜合輸出,即可同時獲得PSG時序信號之前和之后時間段特征對當前信息狀態的影響。
CNN包含多個隱藏層并以具有特殊拓撲結構的多層感知器(multi-layer perceptron,MLP)為核心,可以代替人工特征提取和先驗知識等操作。通過卷積核不斷提取,將局部特征壓縮為整體特征,并通過池化功能隨機刪除部分特征來減少冗余,所以具有共享權值和稀疏性鏈接的特點。CNN網絡層卷積核通常用于二維圖像數據,但Conv1d具有一維卷積核可以適用于一維數據,例如生物生理與電信號、聲音信號等,所以將其用于PSG信號的初步特征提取,再將其卷積后的壓縮特征傳遞給下一步的Bi GRU單元進行時序性特征提取。
3.2 動態稀疏性自注意力機制
注意力機制是一種模仿人類注意力來解決問題的方法。由谷歌大腦實驗室Vaswani等[18]在2017年提出,主要用于解決當LSTM/RNN模型的輸入序列較長時,難以獲得最終合理向量表示的問題。該方法保留LSTM的中間結果,用新權值學習,并將其與輸出重新關聯[19],從大量信息中過濾出少量重要信息[20]。然而這也導致了在序列長度為n時其時間和空間復雜性為n2,難以擴展到長序列任務的計算中。由于本研究中PSG序列樣本的內部數據特質具有時序長、關鍵信號值分布稀疏等特點,所以需要提升自注意力機制算法靈活性來提升基于整體局部之間的特征結合收益。本研究通過第一階段將提取的樣本整體信息(query)(以符號q表示)與部分關鍵信息(key)(以符號k表示)分別進行聚類,然后在同一個簇中使用聚類注意力評分(cluster attention scoring function)系數(以符號ca表示)將q與k映射為標量,從而減少信息冗余度,簇內k的個數總和以符號cn表示,計算公式如式(1)所示:
![]() |
然后,第二階段通過柔性最大值(softmax)激活函數將注意力評分函數值進行歸一化轉換,調整原始分布為所有元素權值和為1的概率分布[21]。獲得q與ki的權重值(attention wight)(以符號w表示),m為全部k的個數,如式(2)所示:
![]() |
第三階段將上述計算并激活后的權值與全連接(dense)層對應PSG樣本分期類別(class)(以符號c表示)相結合,得到最終睡眠分期結果,其整體計算流程圖如圖3所示。

3.3 實驗模型結構
本實驗模型主要由三個部分組成,如圖4所示。首先是CNN部分,數據首先以每幀采樣點數、通道數的尺寸輸入第一層Conv1d結構(Conv1d 1),卷積核為15,步長為2。輸出的第一個維度,即卷積后的采樣點數量維度為:(n ? f + 2p)/s + 1,n為原數量維度,f表示卷積核大小,p表示使用邊界填充,s表示步長,輸出的最后一個維度值由原來的信號通道數擴展為64,并輸入后續的第二個Conv1d網絡層(Conv1d 2)。在Conv1d層中使用線性整流函數(rectified linear unit,ReLU)作為激活層,其后伴隨一層隨機失活(dropout)層,其中ReLU會使一部分神經元輸出為0,通過增加網絡稀疏性減少了參數相互依存關系,緩解了過擬合問題發生。模型結構第二個主體部分為Bi GRU結構部分,其中底層是接受逆向輸入的GRU層。最后將提取特征與信號整體通過自注意力機制提取相關性獲得新的權重值,輸入到全連接層,激活函數為softmax函數,輸出一個長度為5、和為1的向量,向量中每個值代表對應分期結果概率。此外,模型加入批量歸一化(batch normalization,BN)層,通過其來實現正則化,并將神經網絡每層輸入都調整到均值為0、方差為1的標準正態分布,緩解了神經網絡中的梯度消失問題。

4 模型訓練
本研究采用深度學習代碼框架Tensorflow-GPU 2.6(Google Inc.,美國)與通用并行計算架構CUDA 11.3(NIVIDIA Inc.,美國)進行模型訓練。使用了11重交叉驗證,其中訓練集、驗證集以及測試集的比例為10:1:1,網絡訓練的單迭代內次數的值為總樣本數/批量尺寸,以保證在一次迭代(epoch)內能完整訓練所有樣本。
在超參數優化上,首先通過參數優化器預先設定最優參數,由于此參數具有偶然性容易陷入局部最優,需要再次進行手動參數值調整。經過預訓練后,使用比例系數為0.5的隨機失活層來隨機丟棄網絡中的一半神經網絡單元,以減弱神經元節點間的聯合適應性,增強泛化能力[22],最終使得模型在面對不同數據集時具有廣泛應用性。優化器使用自適應矩估計(adaptive moment estimationadam,Adam)[23],學習率(learning rate)設置為0.01,設置150次迭代,并通過張量板(tensorboard)來監測和控制訓練,當損失值(loss)連續5次迭代不再下降時,則將學習率乘以0.1;當正確率連續10次迭代不再提升時候,則停止訓練;每次迭代結束后會保存最優模型參數文件,然后使用預留未參與訓練測試集的整晚PSG數據(約10 000例樣本)做算法分期結果預測,再將其結果與醫師分期結果做混淆矩陣分析。
5 實驗結果分析
實驗分別在兩組PSG數據集的9通道電生理信號上進行了11重交叉訓練,保存了其平均模型參數并進行了相關指標評價,其分期準確率隨著迭代次數的變化結果如圖5所示。

統計學習與深度學習在PSG分類任務上的主要障礙之一是樣本種類的不平衡問題[24],通常情況下在N1期的睡眠階段很少見,模型對該類別進行的參數迭代少,所以其預測效果差[25]。所以,一種解決方法是重新對模型評價的損失函數進行加權,使得模型在數量較少的樣本上的出錯成本更大;另一種更為常用的辦法是平衡采樣。但在PSG信號的采集中,由于需要對樣本的前后信息特征進行提取,因此無法單獨提取每個類別進行樣本數量均衡,所以可以采用實驗結果增加懲罰性權重評價等方法。由于標準精度度量認為,任何預測錯誤都有相同的代價,所以需要通過引入平衡F分數(balanced F score,F1 score)與科恩卡帕(Cohen’s kappa)系數等評價指標,來獲得將某類別錯誤預測為其它類別時具有懲罰成本的評分。其中基礎的卡帕(kappa)系數,計算公式如式(3)、式(4)所示:
![]() |
![]() |
其中,nS1和nS2分別是真實值和預測值在第S個類別的個數,還引入了總體預測準確率(accuracy,Acc),基準(baseline,Base)是隨機打亂現有的預測樣本數量分布得到的平均正確率,N為總體樣本數。
在Cohen’s kappa系數中,1?Acc可以理解為錯誤值(error),其公式如式(5)所示:
![]() |
此外,還分別計算了實驗結果的F1 score值和加權F1 score(weighted F1 score,W-F1 score)值,并在如下四種子數據集中進行了訓練與驗證:① SHDB: 6通道EEG數據(SHDB EEG);② HMCSDB:6通道EEG數據(HMCSDB EEG);③ SHDB:6通道EEG數據 + 雙通道EMG數據 + 單通道EOG數據,共9通道(HMCSDB EEG + EMG + EOG);④ HMCSDB:6通道EEG數據 + 雙通道EMG數據 + 單通道EOG數據,共9通道(SHDB EEG + EMG + EOG)。其混淆矩陣圖如圖6所示,評分結果如表2所示。


由實驗結果的混淆矩陣可得,模型在W、REM、N2、N3四個睡眠分期上準確度較高,在相比僅有EEG信號時,增加EMG、EOG通道會提升在上述四個分期的準確度,而N1期由于樣本量較少,特征提取信息較少,其分期準確度無明顯提升。如表2所示,兩組數據集中9通道數據實驗模型的醫師Cohen’s kappa值分別為0.77、0.74,這與文獻[26]報道的來自中、美兩國的醫生按2014年AASM標準手工分期得到的Cohen’s kappa值(0.75±0.11)相接近,由此可得本實驗提出的Self Attention-CNN-Bi GRU算法模型在多通道信號下對睡眠分期的學習策略可行,并且通過Bi GRU結構使模型相較于LSTM網絡減少冗余參數,因而計算負擔較低、更具實時應用的潛力。
為了驗證自注意力機制的加權參數在多通道PSG信號上對模型分期準確度提升效果,分別在相同的9通道PSG數據集且同等實驗環境下進行了不同模型對比,其評分結果如表3所示。表3中,Bi GRU與Bi LSTM的效果要優于常規GRU與LSTM,且在引入自注意力機制后,準確度與可靠性評分有明顯提升。此外Bi GRU雖然在準確度上略低于Bi LSTM,但在加入雙向結構與自注意力機制下其Cohen’s kappa值要優于Bi LSTM,這是由于在N1期樣本較少,特征提取信息較少,參數過于復雜,Bi LSTM造成欠擬合,使得N1準確度相對較低;而對其余W、REM、N2、N3等樣本數量較多的分期類別,則其評分有所提升。

6 結束語
針對臨床醫師手工視覺進行PSG數據睡眠階段分期耗時長等問題,本文提出一種基于自注意力機制與Bi GRU的新型自動分期深度學習模型。實驗結果證明,本文所提模型設計的動態稀疏性自注意力機制適用于不同患者多通道PSG自動睡眠分期且能夠取得較為優異的效果,并且優于在單通道或者多通道EEG信號上的效果。但是實驗結果也表明,本文模型在N1階段的分類性能低于其它階段(W、N2、N3和REM),主要因為N1期持續時間較短、樣本數量少,而臨床醫師在此階段的分類準確性也較其它階段低。本文通過引入懲罰性評價指標來降低其影響,此問題需要在進一步的實驗中整合更多醫師手工分類的PSG數據及標簽以增加N1期樣本數量,并結合更多醫師間不同評分者相互指數來進一步驗證其準確度。或者是在不增加樣本數量情況下單獨對N1期過采樣,使用合成少數類過采樣法(synthetic minority oversampling technique,SMOTE)等啟發式方法及其變種如臨界(borderline) SMOTE、SVM SMOTE,來改進不平衡學習從而提高分類準確性和可靠性。
此外,對于PSG數據的非電生理部分,如鼻息鼾聲等數據,本實驗尚未納入模型訓練。對于暫未證實的信號間空間聯系、時序性調整、信號頻譜圖的圖像分析等問題也尚未考慮,在未來的工作中可以開展相關研究。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:何長樂是本研究的實驗設計者和實驗研究的執行人,完成數據分析,論文初稿的寫作與修改;劉穎指導論文寫作,提出修改意見;季曹珺與苑成梅參與數據采集和實驗指導;章浩偉是項目的構思者及負責人,指導實驗設計、數據分析、論文寫作與修改。全體作者都閱讀并同意最終的文本。
倫理聲明:本研究通過了上海市精神衛生中心倫理委員會的審批(批文編號:2020-23)。
0 引言
多導睡眠圖(polysomnography,PSG)是臨床上通過采集人體不同部位如大腦、眼部、下頜等生物電信號與鼻息、鼾聲等生理信號并經過濾波放大等處理后呈現給醫師的多通道信號圖。在20世紀70年代,PSG信號通道逐步加入腦電圖(electroencephalogram,EEG)、呼吸、心電等信號形成了完整的PSG并廣泛投入臨床使用,在失眠、睡眠呼吸暫停等睡眠相關疾病的診斷中占據主要的地位。在睡眠障礙等疾病的診斷中,通常需要根據PSG中的電生理信號部分將睡眠障礙患者的整晚睡眠階段進行分類。最早由Rechtschaffen等[1]在1968年制定了相對統一的標準,即Rechtschaffen & Kales(R&K)標準,其將睡眠階段分為6期:清醒期(wake,W)、快速眼動期(rapid eye movement,REM)和非快速眼動期(non-rapid eye movement,NREM),其中NREM又分為NREM一期(N1)、NREM二期(N2)、NREM三期(N3)、NREM四期(N4)。美國睡眠醫學會(American academy of sleep medicine,AASM)在此標準的基礎上發展和完善[2],將N3、N4合并為N3期,形成了如今通用的分期標準。臨床上醫師依據AASM標準,手動逐幀判讀患者整晚的PSG數據得到睡眠分期結果。
在Stepnowsky等[3]于2013年進行的多人睡眠分期準確性評分試驗中,不同醫師之間評分一致值為0.46~0.89。這種手工方式的睡眠分期判讀效果取決于醫師的經驗與疲勞程度,且PSG信號中的EEG信號具有隨機性與混沌性,在視覺上難以分辨,由此學術界對自動睡眠分期算法進行了廣泛的研究。在統計學和機器學習領域中,研究者們基于單通道EEG信號或者包含眼電圖(electrooculogram,EOG)與肌電圖(electromyogram,EMG)的PSG數據提取記錄時域、頻域等非線性特征與信息,然后通過特征選擇方法,如最大相關最小冗余(max-relevance and min-redundancy,mRMR)、快速相關特征選擇(fast correlation-based filter, FCBF)[4] 等,來消除不相關的冗余特征,以提高分類器的預測精度且減少計算量,并可將選擇后的特征作為分類算法的輸入來進行分類。有關的分類算法有支持向量機[5](support vector machine,SVM)、隨機森林(random forest,RF)、決策樹[6]等。以上機器學習算法在單通道或多通道的EEG數據上取得了較好的分期效果。近年來,由于卷積神經網絡(convolutional neural networks,CNN)在醫學影像和信號特征提取方面效果良好,取得了不錯的成績[7];此外,長短期記憶(long short-term memory,LSTM)網絡對長期時序信號前后記憶功能也有顯著提升[8],因此于此相關的一系列深度學習算法被學者廣泛用于睡眠階段分期的模型研究中。在L?ngkvist等[9]開展的研究中,率先提出了基于全連接層的多通道(EEG、EOG、EMG)PSG信號睡眠階段分期系統。Supratak等[10]構建了名為深度睡眠網絡(DeepSleepNet)的網絡結構,利用CNN和雙向LSTM(bidirectional LSTM,Bi LSTM)從單通道EEG信號中提取時不變性特征并學習不同睡眠階段的轉換規則,但單通道信號之間的準確率差距較大且忽略了醫師通過AASM準則對整體PSG信號特征的判讀。在Zhang等[11]研究中,使用了來自一項多中心隊列研究——美國睡眠心臟健康研究(sleep heart health study,SHHS)的5 213例患者大規模PSG數據中多通道信號,來進行CNN-LSTM神經網絡模型訓練。然而上述實驗并未將多通道PSG數據與自注意力(self attention)機制等重賦權值算法結合,其分期效果具有一定的局限性。
基于上述研究,本文以CNN與雙向門控循環單元(bidirectional gate recurrent unit,Bi GRU)[12]為基礎構建了對多通道PSG信號進行睡眠分期的神經網絡模型,為解決Bi GRU對長時序信號的信息記憶不足的問題,設計了一種動態稀疏性自注意力機制;對一維卷積層(one-dimensional convolution,Conv1d)與Bi GRU等網絡結構提取的時域頻域等特征進行各部分相關度計算,以此調整權值并通過激活函數映射到新的函數空間,從而構建了一種新型自注意力機制卷積Bi GRU(Self-attention-CNN-Bi GRU)分期算法。實驗數據由143例采集于上海市精神衛生中心與153例國外開源數據集的患者整晚PSG數據組成,通過提取其EEG、EOG、下頜EMG等通道信號來制作訓練集、驗證集和測試集,并對模型進行訓練調優和分期結果的可靠性評價。通過本文提出的新型算法模型,期待可以更有效地在長時多通道PSG數據上進行睡眠階段分期,今后對于協助臨床醫師進行快速PSG睡眠分期或具有重要研究意義。
1 實驗數據
本文研究數據集包括由睡眠監測儀器Neurofax JE-912A(Nihon Kohden Inc.,日本)2020年于上海市精神衛生中心采集的143例睡眠障礙患者整晚PSG數據及其專業醫生睡眠分期報告和臨床診斷報告組成的上海市精神衛生中心睡眠數據集(shanghai mental health center sleep staging database,SHDB)。為了判斷模型的普適性,本研究還選取荷蘭海牙醫療中心睡眠分期數據集 (Haaglanden medisch centrum sleep staging database,HMCSDB)(網址為:https://physionet.org/content/hmc-sleep-staging/1.1/)[13]中153例睡眠障礙患者的整晚PSG數據做了相同實驗與結果評價。所有PSG數據格式為歐洲通用數據格式(European data format,EDF),并包含以AASM 2.4為標準的醫師手動睡眠階段分期結果標簽文件。兩組數據集中都包含具有睡眠障礙有關疾病的異質人群整晚PSG數據,其中SHDB由包含EEG、EOG、EMG等電生理信號和其它如鼻息等信號的21個通道數據所組成,而HMCSDB僅有電生理信號部分。兩組數據手工分期標簽的類別分布表如表1所示。由于電生理信號部分特別是EEG信號頻率特征是AASM2.4標準的主要判讀依據,所以本研究選擇其中的9個由EEG、EMG、EOG等電生理信號來制作樣本集,后者數據集同樣選擇上述通道制作樣本集。

2 數據預處理
首先對各個數據集進行預處理,其整體步驟流程如圖1所示。

首先,讀取原始EDF格式數據中相關電生理通道信號值與文本文件(textfile,txt)中醫師手動分期睡眠階段標簽,并去除開燈與信號值中>200 μV等無關偽影樣本及對應標簽。對于SHDB數據集提供的PSG數據,本文提取9個通道的信號,包括:左眼EOG(EOG-L)信號、右眼EOG(EOG-R)信號;下頜EMG信號:Chin a-b;EEG信號:F4-M1、F3-M2、C4-M1、C3-M2、O2-M1、O1-M2;采樣頻率200 Hz,根據每樣本30 s的尺度,將輸入模型的單個樣本尺寸設為(6 000,9)。對于HMCSDB數據集的PSG數據來說,其采樣頻率為256 Hz,將其樣本采樣點矩陣設為(7 268,9),提取信號通道相同。然后,對樣本進行小波降噪,并將樣本集劃分為訓練集、驗證集與測試集。實驗使用多貝西(Daubechies,Db)小波函數族的Db8小波基將信號進行8個頻率尺度的分解[14],設定0.1的極小化極大準則(minimax)閥值,低于閥值的分解后各段頻率信息被認為是由于噪聲產生的[15],通過軟閥值(soft thresholding)函數來將其修正,這樣經過小波系數濾波后重組的信號可以進行后續自動分期算法處理。本文整體小波降噪過程如圖2所示。

3 基于自注意力機制與Bi GRU的算法模型結構
3.1 Bi GRU
循環神經網絡(recurrent neural networks,RNN)的提出讓神經網絡具有了記憶時序信息前后特征的能力,但對長時序信號特征信息記憶力不足。為此,Hochreiter 等[16]提出中長短期記憶人工神經網絡,其擁有三個精細設置的門結構可去除或增加信息到細胞,并保護和控制細胞單元的狀態,解決了RNN對長時序信息依賴不足等問題,因而廣泛用于時序信號如天氣、EEG等信號處理。而門控循環單元(gate recurrent unit,GRU)則通過將LSTM的遺忘門與輸入門參數合并為更新門,來控制單元對上一時刻信息傳遞與當前時刻隱藏信息計算傳遞[17],并且可以選擇性考慮上一單元對當前狀態影響,在防止欠擬合的同時與LSTM性能相當。本文在GRU的基礎上對其網絡層進行雙層互逆鏈接形成Bi GRU,在該結構中底層GRU接受上層網絡提取的原始順序PSG樣本特征輸入,而頂部網絡則按照相反的順序接受樣本特征輸入,并將兩層結構獲得的信息和參數綜合輸出,即可同時獲得PSG時序信號之前和之后時間段特征對當前信息狀態的影響。
CNN包含多個隱藏層并以具有特殊拓撲結構的多層感知器(multi-layer perceptron,MLP)為核心,可以代替人工特征提取和先驗知識等操作。通過卷積核不斷提取,將局部特征壓縮為整體特征,并通過池化功能隨機刪除部分特征來減少冗余,所以具有共享權值和稀疏性鏈接的特點。CNN網絡層卷積核通常用于二維圖像數據,但Conv1d具有一維卷積核可以適用于一維數據,例如生物生理與電信號、聲音信號等,所以將其用于PSG信號的初步特征提取,再將其卷積后的壓縮特征傳遞給下一步的Bi GRU單元進行時序性特征提取。
3.2 動態稀疏性自注意力機制
注意力機制是一種模仿人類注意力來解決問題的方法。由谷歌大腦實驗室Vaswani等[18]在2017年提出,主要用于解決當LSTM/RNN模型的輸入序列較長時,難以獲得最終合理向量表示的問題。該方法保留LSTM的中間結果,用新權值學習,并將其與輸出重新關聯[19],從大量信息中過濾出少量重要信息[20]。然而這也導致了在序列長度為n時其時間和空間復雜性為n2,難以擴展到長序列任務的計算中。由于本研究中PSG序列樣本的內部數據特質具有時序長、關鍵信號值分布稀疏等特點,所以需要提升自注意力機制算法靈活性來提升基于整體局部之間的特征結合收益。本研究通過第一階段將提取的樣本整體信息(query)(以符號q表示)與部分關鍵信息(key)(以符號k表示)分別進行聚類,然后在同一個簇中使用聚類注意力評分(cluster attention scoring function)系數(以符號ca表示)將q與k映射為標量,從而減少信息冗余度,簇內k的個數總和以符號cn表示,計算公式如式(1)所示:
![]() |
然后,第二階段通過柔性最大值(softmax)激活函數將注意力評分函數值進行歸一化轉換,調整原始分布為所有元素權值和為1的概率分布[21]。獲得q與ki的權重值(attention wight)(以符號w表示),m為全部k的個數,如式(2)所示:
![]() |
第三階段將上述計算并激活后的權值與全連接(dense)層對應PSG樣本分期類別(class)(以符號c表示)相結合,得到最終睡眠分期結果,其整體計算流程圖如圖3所示。

3.3 實驗模型結構
本實驗模型主要由三個部分組成,如圖4所示。首先是CNN部分,數據首先以每幀采樣點數、通道數的尺寸輸入第一層Conv1d結構(Conv1d 1),卷積核為15,步長為2。輸出的第一個維度,即卷積后的采樣點數量維度為:(n ? f + 2p)/s + 1,n為原數量維度,f表示卷積核大小,p表示使用邊界填充,s表示步長,輸出的最后一個維度值由原來的信號通道數擴展為64,并輸入后續的第二個Conv1d網絡層(Conv1d 2)。在Conv1d層中使用線性整流函數(rectified linear unit,ReLU)作為激活層,其后伴隨一層隨機失活(dropout)層,其中ReLU會使一部分神經元輸出為0,通過增加網絡稀疏性減少了參數相互依存關系,緩解了過擬合問題發生。模型結構第二個主體部分為Bi GRU結構部分,其中底層是接受逆向輸入的GRU層。最后將提取特征與信號整體通過自注意力機制提取相關性獲得新的權重值,輸入到全連接層,激活函數為softmax函數,輸出一個長度為5、和為1的向量,向量中每個值代表對應分期結果概率。此外,模型加入批量歸一化(batch normalization,BN)層,通過其來實現正則化,并將神經網絡每層輸入都調整到均值為0、方差為1的標準正態分布,緩解了神經網絡中的梯度消失問題。

4 模型訓練
本研究采用深度學習代碼框架Tensorflow-GPU 2.6(Google Inc.,美國)與通用并行計算架構CUDA 11.3(NIVIDIA Inc.,美國)進行模型訓練。使用了11重交叉驗證,其中訓練集、驗證集以及測試集的比例為10:1:1,網絡訓練的單迭代內次數的值為總樣本數/批量尺寸,以保證在一次迭代(epoch)內能完整訓練所有樣本。
在超參數優化上,首先通過參數優化器預先設定最優參數,由于此參數具有偶然性容易陷入局部最優,需要再次進行手動參數值調整。經過預訓練后,使用比例系數為0.5的隨機失活層來隨機丟棄網絡中的一半神經網絡單元,以減弱神經元節點間的聯合適應性,增強泛化能力[22],最終使得模型在面對不同數據集時具有廣泛應用性。優化器使用自適應矩估計(adaptive moment estimationadam,Adam)[23],學習率(learning rate)設置為0.01,設置150次迭代,并通過張量板(tensorboard)來監測和控制訓練,當損失值(loss)連續5次迭代不再下降時,則將學習率乘以0.1;當正確率連續10次迭代不再提升時候,則停止訓練;每次迭代結束后會保存最優模型參數文件,然后使用預留未參與訓練測試集的整晚PSG數據(約10 000例樣本)做算法分期結果預測,再將其結果與醫師分期結果做混淆矩陣分析。
5 實驗結果分析
實驗分別在兩組PSG數據集的9通道電生理信號上進行了11重交叉訓練,保存了其平均模型參數并進行了相關指標評價,其分期準確率隨著迭代次數的變化結果如圖5所示。

統計學習與深度學習在PSG分類任務上的主要障礙之一是樣本種類的不平衡問題[24],通常情況下在N1期的睡眠階段很少見,模型對該類別進行的參數迭代少,所以其預測效果差[25]。所以,一種解決方法是重新對模型評價的損失函數進行加權,使得模型在數量較少的樣本上的出錯成本更大;另一種更為常用的辦法是平衡采樣。但在PSG信號的采集中,由于需要對樣本的前后信息特征進行提取,因此無法單獨提取每個類別進行樣本數量均衡,所以可以采用實驗結果增加懲罰性權重評價等方法。由于標準精度度量認為,任何預測錯誤都有相同的代價,所以需要通過引入平衡F分數(balanced F score,F1 score)與科恩卡帕(Cohen’s kappa)系數等評價指標,來獲得將某類別錯誤預測為其它類別時具有懲罰成本的評分。其中基礎的卡帕(kappa)系數,計算公式如式(3)、式(4)所示:
![]() |
![]() |
其中,nS1和nS2分別是真實值和預測值在第S個類別的個數,還引入了總體預測準確率(accuracy,Acc),基準(baseline,Base)是隨機打亂現有的預測樣本數量分布得到的平均正確率,N為總體樣本數。
在Cohen’s kappa系數中,1?Acc可以理解為錯誤值(error),其公式如式(5)所示:
![]() |
此外,還分別計算了實驗結果的F1 score值和加權F1 score(weighted F1 score,W-F1 score)值,并在如下四種子數據集中進行了訓練與驗證:① SHDB: 6通道EEG數據(SHDB EEG);② HMCSDB:6通道EEG數據(HMCSDB EEG);③ SHDB:6通道EEG數據 + 雙通道EMG數據 + 單通道EOG數據,共9通道(HMCSDB EEG + EMG + EOG);④ HMCSDB:6通道EEG數據 + 雙通道EMG數據 + 單通道EOG數據,共9通道(SHDB EEG + EMG + EOG)。其混淆矩陣圖如圖6所示,評分結果如表2所示。


由實驗結果的混淆矩陣可得,模型在W、REM、N2、N3四個睡眠分期上準確度較高,在相比僅有EEG信號時,增加EMG、EOG通道會提升在上述四個分期的準確度,而N1期由于樣本量較少,特征提取信息較少,其分期準確度無明顯提升。如表2所示,兩組數據集中9通道數據實驗模型的醫師Cohen’s kappa值分別為0.77、0.74,這與文獻[26]報道的來自中、美兩國的醫生按2014年AASM標準手工分期得到的Cohen’s kappa值(0.75±0.11)相接近,由此可得本實驗提出的Self Attention-CNN-Bi GRU算法模型在多通道信號下對睡眠分期的學習策略可行,并且通過Bi GRU結構使模型相較于LSTM網絡減少冗余參數,因而計算負擔較低、更具實時應用的潛力。
為了驗證自注意力機制的加權參數在多通道PSG信號上對模型分期準確度提升效果,分別在相同的9通道PSG數據集且同等實驗環境下進行了不同模型對比,其評分結果如表3所示。表3中,Bi GRU與Bi LSTM的效果要優于常規GRU與LSTM,且在引入自注意力機制后,準確度與可靠性評分有明顯提升。此外Bi GRU雖然在準確度上略低于Bi LSTM,但在加入雙向結構與自注意力機制下其Cohen’s kappa值要優于Bi LSTM,這是由于在N1期樣本較少,特征提取信息較少,參數過于復雜,Bi LSTM造成欠擬合,使得N1準確度相對較低;而對其余W、REM、N2、N3等樣本數量較多的分期類別,則其評分有所提升。

6 結束語
針對臨床醫師手工視覺進行PSG數據睡眠階段分期耗時長等問題,本文提出一種基于自注意力機制與Bi GRU的新型自動分期深度學習模型。實驗結果證明,本文所提模型設計的動態稀疏性自注意力機制適用于不同患者多通道PSG自動睡眠分期且能夠取得較為優異的效果,并且優于在單通道或者多通道EEG信號上的效果。但是實驗結果也表明,本文模型在N1階段的分類性能低于其它階段(W、N2、N3和REM),主要因為N1期持續時間較短、樣本數量少,而臨床醫師在此階段的分類準確性也較其它階段低。本文通過引入懲罰性評價指標來降低其影響,此問題需要在進一步的實驗中整合更多醫師手工分類的PSG數據及標簽以增加N1期樣本數量,并結合更多醫師間不同評分者相互指數來進一步驗證其準確度。或者是在不增加樣本數量情況下單獨對N1期過采樣,使用合成少數類過采樣法(synthetic minority oversampling technique,SMOTE)等啟發式方法及其變種如臨界(borderline) SMOTE、SVM SMOTE,來改進不平衡學習從而提高分類準確性和可靠性。
此外,對于PSG數據的非電生理部分,如鼻息鼾聲等數據,本實驗尚未納入模型訓練。對于暫未證實的信號間空間聯系、時序性調整、信號頻譜圖的圖像分析等問題也尚未考慮,在未來的工作中可以開展相關研究。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:何長樂是本研究的實驗設計者和實驗研究的執行人,完成數據分析,論文初稿的寫作與修改;劉穎指導論文寫作,提出修改意見;季曹珺與苑成梅參與數據采集和實驗指導;章浩偉是項目的構思者及負責人,指導實驗設計、數據分析、論文寫作與修改。全體作者都閱讀并同意最終的文本。
倫理聲明:本研究通過了上海市精神衛生中心倫理委員會的審批(批文編號:2020-23)。