張金輝 汪鵬 李蕾
睡眠對人類健康至關(guān)重要,影響著人們?nèi)粘;顒拥姆椒矫婷?。研究表明,擁有良好睡眠質(zhì)量的人會更健康,擁有更優(yōu)秀的大腦功能[1]。相反的,睡眠周期中斷則會導致一些睡眠障礙,如失眠或睡眠呼吸暫停等。特別值得注意的是,睡眠階段(如輕度睡眠和深度睡眠)對人類免疫系統(tǒng)、記憶、新陳代謝等都有著非常重要的作用。因此,通過睡眠監(jiān)測和睡眠階段分類來衡量睡眠質(zhì)量是非常有價值的工作[2]。
睡眠階段有6個,即:清醒期(wake,W)、快速眼動期(rapid eye movement,REM)和4個非快速眼動期(non-rapid eye movement,NREM)階段(N1、N2、N3和N4)[3-4],睡眠分期就是將腦電圖數(shù)據(jù)識別為這6個階段中的一個。通常,睡眠專家會根據(jù)多導睡眠圖(polysomnography,PSG)確定睡眠階段。PSG主要包括腦電圖(electroencephalogram,EEG)、眼電圖(electro-oculogram,EOG)、肌電圖(electromyogram,EMG),數(shù)據(jù)記錄通常是30 幀/s,由睡眠專家按照時間順序,參照相應睡眠分期標準,通過人工檢查完成相應的階段分期。但是,人工檢查過程極為耗時費力,尤其是在數(shù)據(jù)量較大時,睡眠階段分類的準確率極易受到相關(guān)專家個人經(jīng)驗和疲勞程度的影響。因此,迫切需要借助人工智能、深度學習等先進技術(shù),研究開發(fā)自動睡眠分期系統(tǒng)來幫助睡眠專家進行階段分類標注。
目前,應用自動分類標注系統(tǒng)實現(xiàn)睡眠分期需要面對一個嚴重挑戰(zhàn)就是有標數(shù)據(jù)不足,而人工智能、深度學習等自動分類技術(shù)通常都需要規(guī)模足夠的標注數(shù)據(jù)才能獲得令人滿意的效果。為了應對這個挑戰(zhàn),國際頂級會議NeurIPS 2021 首次提出并設(shè)立了專項競賽BEETL Competition(Benchmarks for EEG Transfer Learning)。其中任務之一就是跨對象腦電睡眠分期,該任務的初衷是服務于醫(yī)療自動診斷領(lǐng)域,任務目標是在睡眠腦電圖數(shù)據(jù)中自動標注睡眠階段。
具體而言,在臨床診斷過程中,EEG腦電圖數(shù)據(jù)的黃金標準(gold standard)即有標數(shù)據(jù)仍然需要由醫(yī)療專家人工分析得到。鑒于腦電圖的記錄可能有幾小時至數(shù)天的時長跨度,數(shù)據(jù)規(guī)模較為龐大,需要專家投入大量時間和精力,由此也導致獲得有標數(shù)據(jù)的過程成本十分昂貴?;诖耍芯繉EG的自動分析可以有效減少診斷所需時間,并通過標記需要進一步檢查的信號部分從而有望用于實時檢查。概括來講,NeurIPS 2021提出并設(shè)立跨對象腦電睡眠分期競賽任務,其目標旨在解決跨對象的腦電睡眠分期問題??紤]到在實際醫(yī)療診斷過程中,現(xiàn)有的基于同一標準收集的腦電圖記錄是容易獲得的,而且不同對象的腦電圖數(shù)據(jù)規(guī)模和特點也有所不同,因此值得研究的問題是:使用數(shù)量較為充分的部分對象(非目標對象)的對照數(shù)據(jù)集,結(jié)合目標對象的少量數(shù)據(jù),如何進行可靠的目標對象自動睡眠分期標注。
近年來,深度學習在不同領(lǐng)域得到了廣泛的應用,并顯示出其優(yōu)于傳統(tǒng)機器學習的無需領(lǐng)域知識的特點。一些研究使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)進行睡眠階段的自動分類[5-6]。但CNN無法有效地建模EEG數(shù)據(jù)的時序依賴關(guān)系,由此提出了遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)用于獲取EEG數(shù)據(jù)的時序相關(guān)性[7]。
除了使用不同模型以外,睡眠分期的研究還需要解決數(shù)據(jù)不平衡的問題。例如文獻[8]使用了合成少數(shù)類過采樣技術(shù)(synthetic minority oversampling technique,SMOTE)[9]進行過采樣從而平衡數(shù)據(jù)。目標檢測領(lǐng)域的難易樣本數(shù)量不平衡問題與睡眠分期的數(shù)據(jù)不平衡問題相似,為解決此問題,Lin等[10]提出了效果更好的焦點損失(focal loss)調(diào)整高置信度樣本的損失占比。
但目前尚缺乏專門針對跨對象的腦電睡眠分期研究。為了對此開展探索性研究,參考文獻[10]的思想,本文基于NeurIPS 2021 BEETL Competition提出的任務一,針對數(shù)據(jù)類別不平衡問題,設(shè)計實現(xiàn)了一種基于類感知損失函數(shù)的單通道跨對象腦電睡眠分期方法,并進行實驗分析。
實驗數(shù)據(jù)使用的是NeurIPS 2021 BEETL Competition提出的任務一——跨對象腦電睡眠分期所發(fā)布的數(shù)據(jù)。數(shù)據(jù)來源于PhysioNet Sleep Dataset,該數(shù)據(jù)集包含由專家標注的197個整晚多導睡眠圖睡眠記錄,可用于有監(jiān)督學習,其中包括了EEG、EOG和EMG,數(shù)據(jù)集的睡眠分期原則遵循R&K (Rechtschaffen and Kales)標準,睡眠階段分為W、R、N1、N2、N3、N4。
在該任務一中,數(shù)據(jù)集只選擇了EEG信號,包含了2個EEG通道(Fpz-Cz,Pz-Oz),采樣率為100 Hz,每一段樣本時間長度為30 s,稱為一幀,每一幀屬于某一類睡眠階段。在該數(shù)據(jù)集中,每一個對象的幀都被隨機打亂,幀之間不具有時間上的連續(xù)性。任務提供了一個Sleep Source有標注源數(shù)據(jù)集,該數(shù)據(jù)集包括來自40名對象的80段記錄,每段記錄包含若干幀,年齡為25~59歲(中青年組),基于此數(shù)據(jù)集,目標是從中青年組數(shù)據(jù)集遷移睡眠分期能力到60~80歲(老年組)和80歲以上(極老年組)年齡段的數(shù)據(jù),而老年組和極老年組分別只提供了5名對象的有標注數(shù)據(jù),顯然其規(guī)模遠小于中青年組,不足以支撐深度學習模型的訓練。數(shù)據(jù)集各睡眠階段具體樣本數(shù)量分布如表1所示。
表1 不同年齡組各睡眠階段數(shù)據(jù)分布Table 1 Data distribution of sleep stages of subjects in different age groups
NeurIPS 2021 BEETL Competition專項競賽任務一提出了從中青年組到老年組和極老年組的兩個遷移目標,為了充分利用已有全部有標注數(shù)據(jù),課題組將其設(shè)計為兩次有監(jiān)督訓練。在每次訓練中,使用相同的數(shù)據(jù)集劃分方法,把全部中青年組數(shù)據(jù)都作為訓練集的一部分,再將80%的目標數(shù)據(jù)集混入訓練集中,即訓練集中同時包含了中青年組全部數(shù)據(jù)及80%的老年組/極老年組數(shù)據(jù),從而提供遷移學習的信息,將10%的目標數(shù)據(jù)集作為驗證集,其余10%的目標數(shù)據(jù)集作為測試集,用于訓練完成之后的測試?;诒?中的樣本數(shù)量信息,劃分后的各集合樣本數(shù)量如表2所示。
表2 不同年齡組數(shù)據(jù)集劃分Table 2 Data set partition for different age groups
首先需要對腦電圖數(shù)據(jù)進行預處理。每條EEG腦電圖記錄的時間序列為X={x(i)|i=1,2,…,N},N=3 000,對X進行標準化處理,計算步驟如下。
(1) 對X求平均值:
(1)
(2) 對X求無偏估計標準差:
(2)
(3) 對X進行標準化:
(3)
(4) 擴大X的尺度:
X′=1 000X
(4)
擴大X的尺度是為增大模型學習的梯度,此處的1 000倍擴大參照文獻[11]來實現(xiàn)。
使用AttnSleep模型[12]進行自動睡眠分期標注,該模型總體結(jié)構(gòu)如圖1所示。
圖1 AttnSleep模型結(jié)構(gòu)圖Figure 1 Architecture of AttnSleep model
該模型包含特征提取、時域上下文編碼器(temporal context encoder, TCE)兩個模塊。特征提取模塊包含了多尺度卷積MRCNN(multi-resolution CNN)[13]和自適應特征重新校準AFR(adaptive feature recalibration)兩個部分,MRCNN從不同的頻帶中提取對應于低頻和高頻的特征,AFR則建模特征間的相互依賴關(guān)系以增強特征學習。TCE模塊使用了多頭注意力機制以有效獲得特征中的時間相關(guān)性[14]。
文獻[13]使用了不同卷積核大小的CNN可以提取不同的頻率特征,因此本文設(shè)置的MRCNN使用了雙分支CNN。數(shù)據(jù)的采樣率為100 Hz,尺寸為400的卷積核的時間窗口為4 s,可以捕獲周期低至0.25 Hz的正弦信號;尺寸為50的卷積核的時間窗口為0.5 s,可以捕獲周期低至2 Hz的正弦信號。
AFR用于重新校準MRCNN學習到的特征,AFR使用殘差SE模塊(residual squeeze and excitation block),自適應選擇有助于分類的特征。在殘差SE模塊中,使用平均池化壓縮(squeeze)信息,然后接2個全連接層用于聚合(excitation)信息。
TCE模塊堆疊了兩個相同的結(jié)構(gòu),其中包含了多頭注意力層,注意力頭的數(shù)量設(shè)置為5,然后是殘差連接的層正則化層,然后是兩層全連接層。
特別地,該模型使用了一個類感知損失函數(shù),用于解決訓練數(shù)據(jù)中不同類別樣本的分布不平衡問題,利用此損失函數(shù)的特性,可以使模型獲得遷移學習的能力。模型的優(yōu)化器部分選擇使用Adam來最小化損失函數(shù)并學習模型參數(shù)[15]。
一般方法中使用的是多類別交叉熵損失函數(shù):
(5)
為了解決這個問題,文獻[12]使用了類感知損失函數(shù)(class-aware loss function):
(6)
wk=μk·max(1,lg(μkM/Mk))
(7)
式中:wk表示分配給k類別的權(quán)重;μk是可調(diào)節(jié)的參數(shù);Mk是k類別的樣本數(shù)。
由式(7)可知,類別權(quán)重wk由對應類別的樣本數(shù)量和可調(diào)參數(shù)μk控制。參照表1,通過對任務數(shù)據(jù)進行分析可以得到:在中青年組數(shù)據(jù)中,N2階段的樣本數(shù)量最大,占比為39.74%,N3和N4階段的樣本數(shù)量較少,占比分別為5.79%、3.38%;在老年組數(shù)據(jù)中,W階段數(shù)據(jù)的樣本數(shù)量最大,占比為38.92%,N3和N4階段的樣本數(shù)量占比分別為4.56%、2.68%;在極老年組數(shù)據(jù)中,W階段數(shù)據(jù)的樣本數(shù)量最大,占比為47.13%,N3和N4階段的樣本數(shù)量占比分別為4.16%、0.88%。參考文獻[17],N1階段與N2階段和REM階段較為接近,容易被分類錯誤。由此分析可得,不同年齡段的樣本數(shù)據(jù)類別分布相差較大。對于前文所述的數(shù)據(jù)劃分結(jié)果,由表3可以直觀地得到訓練集和測試集的分布差異。
表3 訓練集和測試集分布(單位:%)Table 3 Distribution of training data and testing data(unit: %)
基于以上分析并結(jié)合式(7),為各個類別設(shè)置的μk值如下:
(8)
取a=1,b=1.5,c=2,該組參數(shù)在不同設(shè)置下的對比實驗參見表4。式中:K是類別數(shù)量,在該任務中即為6;μk參數(shù)用于控制wk的值,因此μk需要除以K保持μk小于1。
表4 極老年組各類別分類準確率Table 4 Accuracy of each class in the very old group
在本文實驗中選擇EEGNet[16]作為對比模型,該模型是一種廣泛應用于EEG的緊湊型卷積神經(jīng)網(wǎng)絡(luò)。EEGNet的兩個卷積核尺寸分別設(shè)置為F/2和F/8,F(xiàn)是數(shù)據(jù)的采樣頻率即100,dropout的概率設(shè)置為0.25。 AttnSleep模型的輸入選擇了Fpz-Cz通道,EEGNet模型的輸入為雙通道。EEGNet和AttnSleep的學習率都設(shè)置為0.001,batch size為512,epoch為50。
本文基于1.2節(jié)構(gòu)建的2個跨對象訓練集分別訓練2個睡眠分期模型,每次迭代中在驗證集上測試模型性能,選擇指標最高的模型分別在老年組和極老年組的測試集數(shù)據(jù)上進行睡眠分期測試實驗,對應的參數(shù)設(shè)置保持一致。
表3顯示了單通道AttnSleep及其改進模型和雙通道EEGNet模型在老年組和極老年組數(shù)據(jù)上的實驗對比結(jié)果,以及針對類感知損失函數(shù)的消融實驗結(jié)果。從整體得分Score看,表中顯示了AttnSleep模型及其改進模型相比EEGNet模型在老年組和極老年組數(shù)據(jù)上都擁有更強的分類能力。從消融實驗看,表中AttnSleep(+CA-loss)代表在AttnSleep模型基礎(chǔ)上使用了類感知損失函數(shù)的改進模型,可見與未使用類感知損失函數(shù)的AttnSleep模型相比, AttnSleep改進模型在老年組和極老年組2個組別分別提升了0.64和1.32。而且類感知損失函數(shù)在極老年組的提升效果更加明顯,由表3的數(shù)據(jù)分布可知,相比于老年組,極老年組和中青年組的數(shù)據(jù)分布差異更大,因此類感知損失函數(shù)在極老年組的效果會更好。由表5及表6的具體類別分類準確率結(jié)果可知,類感知損失函數(shù)可以提升樣本數(shù)量較少的N3、N4階段的分類表現(xiàn),也支持了上述結(jié)論。
表5 EEGNet與AttnSleep實驗結(jié)果Table 5 Performance of EEGNet and AttnSleep
表6 老年組各類別分類準確率Table 6 Accuracy of each class in the old group
此外,為了檢驗從中青年組到老年組和極老年組數(shù)據(jù)遷移學習的效果,表3中最后一行給出了不融合中青年組數(shù)據(jù),僅使用自身老年組80%數(shù)據(jù)訓練的非遷移對照組實驗結(jié)果。可以看出,融合使用了中青年組數(shù)據(jù)遷移學習的AttnSleep(+CA-loss)在兩個組別的指標分別提升了0.26和5.41。由此可見,融合中青年組數(shù)據(jù)遷移學習可以提升老年組和極老年組的睡眠分期效果,尤其是在數(shù)據(jù)類別不平衡問題更嚴重的極老年組,提升效果更加明顯,這也再次印證了類感知損失函數(shù)的作用。
綜上,實驗結(jié)果表明AttnSleep模型相比于EEGNet在該任務下的表現(xiàn)更加出色,且類感知損失函數(shù)對于跨對象的腦電睡眠分期有一定的增益作用。
本文在跨對象的睡眠分期任務上探索改進了AttnSleep模型,重點面向數(shù)據(jù)集中類別不平衡的特點,設(shè)計并實現(xiàn)了類感知損失函數(shù)。采用本文所述的基于類感知損失函數(shù)的AttnSleep改進模型在NeurIPS 2021 BEETL Competition任務一提供的數(shù)據(jù)上進行了對比實驗和消融實驗,結(jié)果指標表明其有助于在目標數(shù)據(jù)不足的情況下提升跨對象腦電睡眠分期的效果。
本文的探索同時也驗證了跨對象腦電睡眠分期任務的可行性。未來,優(yōu)化特征提取、改進模型結(jié)構(gòu)、不局限于年齡跨度的自適應腦電睡眠分期等,都將成為需要深入探索的方向。