鄭江鵬,余 平,趙 萌,石 凡,孫續國,陳勝勇
(1.學習型智能系統教育部工程研究中心,天津理工大學計算機科學與工程學院,天津 300384;2.天津醫科大學醫學檢驗學院,天津 300203)
心肌淀粉樣變是一種滲透性疾病,指的是淀粉樣蛋白在心肌細胞外間隙沉積的狀況[1-2]。晚期患者會出現不同程度的心室壁增厚或變硬等癥狀,最終形成多器官衰竭或死亡[3]。目前,病理檢查和影像學分析是診斷心肌淀粉樣變的主要手段。心肌內膜活檢屬于侵入式檢測,存在引起并發癥的風險并需要醫學專家來執行[4]。心電圖篩查不具有普適性,研究證明轉甲狀腺素蛋白淀粉樣變性的病例中只有40%出現心電圖低壓[3]。心血管磁共振成像不適合作為體內含有金屬支架的患者用來篩查和追蹤治療反應[5]。核成像方式依賴于放射性核素,因而不可避免地存在電離輻射[6]。因此,有必要設計一種高效、準確、無輻射的診療方案來檢測心肌淀粉樣變。
太赫茲頻段位于毫米波和紅外波之間[7-8],因其具有高穿透性、光譜指紋特性和非電離性而在生物醫學領域得到了廣泛應用[9]。近年來,機器學習和深度學習技術的發展為準確分類太赫茲光譜提供了新的途徑,但已有的用于太赫茲光譜分類的深度學習方法在很大程度上依賴于海量數據,而在生物醫學領域,收集和標注大量的生物樣本既耗時又低效[10]。因此,有必要設計一種針對小樣本太赫茲光譜的分類算法,以提高模型的高效性和實用性。Barz 等[11]證明了對于小數據集而言,在未經預訓練的模型上用余弦損失函數代替交叉熵函數將具有更好的預測性能。Liu 等[12]提出了一種基于生成對抗網絡的數據增強方法,提高了對小樣本病理切片中異檸檬酸脫氫酶的狀態預測能力。Wang 等[13]為了改進小樣本高光譜分類性能,提出了一種基于雙向長短期記憶網絡和角度模型的順序聯合深度學習算法。Wang等[14]利用孿生自編碼器網絡在樣本數量較少的情況下增加了模型訓練次數,實現了對小樣本圖像的分類。Cui 等[15]利用生成對抗網絡擴充了太赫茲光譜數據樣本量,實現了對10 種物質的小樣本數據集的分類。這些已報道的方法對攻克相關領域的小樣本分類問題具有重要意義,為設計分類模型提供了指導。
然而,利用深度學習算法對心肌淀粉樣變的低信噪比小樣本太赫茲光譜數據集進行分類仍面臨以下挑戰:第一,提取可區分性特征并分類重疊光譜。采集少量的最低信噪比光譜數據能夠極大程度縮短數據獲取時間,以此來提高心肌淀粉樣變檢測的效率。但是少量樣本能夠提供給模型學習的可用特征更少[16],同時,低信噪比光譜中噪聲對特征的掩蓋效應更嚴重[17]。因此,在這兩種條件下,如何高效地提取可區分性特征并對樣本進行準確分類顯得尤為重要。第二,在少量樣本情況下深度學習模型面臨的過擬合問題。在數據特征維度高、樣本量少的情況下,模型學習的特征存在冗余,因此克服過擬合問題是所面臨的嚴峻挑戰[18]。
為解決上述問題,本文提出了基于低信噪比小樣本太赫茲光譜的心肌淀粉樣變檢測框架。具體來說,設計了一個基于卷積降噪自編碼器模塊、多尺度特征提取模塊和密集連接模塊的深度學習模型,以樣本數量為100 的低信噪比(光譜平均次數取1,信噪比約為?50 分貝)數據集為輸入,取得了95% 的準確率、100% 的精確度、92.30%的召回率以及95.99% 的F1 分數。通過調研大量相關文獻發現:從未有過對于正常、淀粉樣變心肌的低信噪比小樣本太赫茲光譜展開的相關分類研究及報道。本文的實驗結果證明,所提出的框架在提升以太赫茲技術和深度學習技術為基礎的心肌淀粉樣變檢測方法的實用性和時效性方面具有巨大發展潛力。
如圖1(彩圖見期刊電子版)所示,下面將詳細介紹本文研究的具體流程,包括生物樣本制備、光譜采集設備的搭建、數據預處理的基本流程以及分類模型的構建等。

圖1 整體框架圖Fig.1 Overall framework of the proposed method
實驗中用到的正常和淀粉樣變心肌組織均由中國天津醫科大學提供,所開展全部研究均已得到該機構的許可。樣本制備過程分為4 個步驟:福爾馬林固定細胞形態、石蠟包埋形成組織塊、切片并制片。本文中,所有的生物組織均是從人體切除并在具備相同環境條件(濕度、溫度等)的病理實驗室中制備。首先,將各個組織置于4%的福爾馬林水溶液中固定細胞形態、保持肌體的微結構,同時防止標本腐爛。其次,將生物組織置于熔融石蠟中進行包埋,待石蠟全部凝結后取出。然后,利用病理實驗室的醫用石蠟切片機進行切片。在本項研究中,制備了包含0.2、0.3 和0.4 mm 的正常和淀粉樣變生物組織。最后,為了與所使用的數據采集設備相匹配,將組織樣本固定于厚度為0.5 mm 的JGS1 石英玻璃上,并得到了如圖1 所示的實驗樣本。
本文使用的緊湊型太赫茲時域光譜系統由德國慕尼黑Menlo Systems GmbH 公司開發,該系統能提供約8 太赫茲的帶寬,并通過網絡進行自動測量和數據傳輸。光路設計以透射模式為基準,所采集數據為太赫茲時域光譜。如圖1 所示,該時域光譜儀主要由飛秒激光器、發射器、透射式光路、探測器、控制元件等組成。系統提供的發射器和探測器的額定功率分別為22.7 mW 和23.9 mW。光譜的時域范圍是?88~12 皮秒(ps),頻域范圍是0~8 太赫茲(THz),信噪比動態范圍大于100 分貝(dB)。飛秒激光器作為輻射源,在接通電源的情況下產生兩個超快激光束1 和2。超快激光1 和偏置器產生的偏置電壓一起共同激發發射器產生太赫茲脈沖。此后,脈沖束經由透鏡1 和透鏡2 聚焦到樣品處,再經由透鏡3 和透鏡4 到達探測器端。該太赫茲脈沖和超快激光2 一起共同激發探測器,以獲取攜帶物質信息的電信號。由于直接獲取的電信號比較微弱,因此,本系統利用放大器進行信號放大并利用數模轉換器將模擬信號轉換為數字信號,最終傳送到電腦端保存。
光譜采集在空氣環境下進行,無需另外填充氮氣:恒定25 °C,濕度固定。實驗獲取的太赫茲光譜未經平均處理,即具有光譜采集系統所能提供的最低信噪比,約?50 dB。具體來說,數據采集分為兩步:采集參考信號和獲取樣本信號。將單層JGS1 石英玻璃對應的太赫茲時域光譜作為參考信號,將正常及病變心肌組織對應的光譜作為樣本信號。在采集樣本信號時,將生物組織置于樣品架上,首先利用太赫茲光譜成像技術確定樣本所在區域,然后以0.1 mm 為步長從成像熱力圖中確定多個二維坐標,最后依次保存坐標對應的光譜數據。
如圖1 所示,太赫茲時域光譜數據預處理包括以下幾個步驟:首先,利用傅立葉變換實現時域到頻域的轉換,并以此來確定光譜的有效頻段。以參考信號為例,高噪聲頻段被摒棄,只留存了0.2~2 THz 的頻域光譜,以減少噪聲對病變檢測結果的干擾,如圖2 所示。其次,為了降低樣本厚度等的干擾,以透射率(Transmittance)值為基準提取生物樣本的特征光譜,即樣本信號與參考信號在0.2~2 THz 范圍內的振幅比。除此之外,為避免量綱對分類結果的影響,對透射率進行了最大最小歸一化處理。隨后,利用在文獻[19]提出的基于一階差分值的閾值算法進行邊緣點去除。最后,利用python 語言編寫代碼,以從所得純凈數據中隨機挑選出100 個樣本作為本文所使用的小樣本太赫茲光譜數據集。最終獲得的數據集包含53 個陽性樣本,47 個陰性樣本,比例接近1∶1。以陰性、陽性樣本的均值和標準差為依據,利用Origin 2021b 軟件繪制數據集的可視化結果,如圖3(彩圖見期刊電子版)所示。

圖2 參考信號的時域及頻域光譜Fig.2 Time-domain and frequency-domain spectra of the reference signal

圖3 陰性、陽性樣本的整體范圍趨勢圖Fig.3 Overall trends of negative and positive samples
從圖3 可以看出,陽性、陰性樣本存在重疊,無法通過視覺進行區分。為應對空氣環境中的水蒸氣干擾、噪聲干擾以及特征光譜的重疊問題,有必要設計基于深度學習的自動特征提取和分類模型。
在本文中,模型的架構設計遵循數據降噪、特征提取、增強特征表達、結果預測4 個基礎流程,以python 為編程語言。
2.4.1 卷積降噪自編碼器
根據數據集噪聲干擾大的特點,設計了一個具有光譜降噪能力的卷積降噪自編碼器[20]模塊。該模塊包括編碼和解碼兩部分[21],它通過將模型的輸入特征進行壓縮、重構以減少特征之間的相關性、冗余度。首先,將數據預處理得到的透射率譜線與高斯噪聲進行疊加,得到模型的整體輸入。然后,分別利用卷積核大小均為3,濾波器個數分別為32 和16 的一維卷積和最大池化操作進行編碼。隨后,利用核大小為3,濾波器個數為4 的一維卷積進行特征壓縮。解碼階段是編碼的逆過程,先對編碼結果進行上采樣再進行卷積,最終得到去除噪聲的光譜特征。在該模塊中,采用指數線性單元(Exponential Linear Unit,ELU)激活函數。如公式(1)所示,該函數同時兼具非線性和線性:在左側具有軟飽和性,對輸入數據的噪聲變化更加魯棒;在右側具有線性特征,能夠緩解梯度消失并加快模型收斂。L1 正則化和L2 正則化是構建深度學習模型過程中用于防止模型過擬合的常用手段。在本文中,為了降低模型復雜度造成的過擬合,在每層卷積操作中都設置了L2 正則化操作,如公式(2)所示。L2 正則化方法通過懲罰系數來平衡正則項與原始代價函數之間的比重,從而實現對代價函數值變動幅度的約束,以此減少過擬合。

2.4.2 多尺度特征提取模塊
考慮到所構建的光譜數據集來自于具有不同厚度、不同類別的生物組織樣本,不同數據間包含的特征強度是不同的。為了捕捉光譜樣本的細微差異并進行有效的特征提取,設計了以不同卷積核大小為基礎的多尺度特征提取[22]模塊。首先,將卷積降噪自編碼模塊的輸出結果進行批歸一化(Batch Normalization,BN),以降低不同樣本之間的差異性。隨后,將BN 操作的結果輸入到卷積核大小依次為1、3、5、7,濾波器個數均為16 的4 個并行卷積層中,并行卷積操作保證了對模塊原始輸入數據進行直接處理,避免了串行卷積間的特征損失。除此之外,為每個并行卷積層執行了BN 操作,這能夠在一定程度上加速模型收斂并進一步防止過擬合。在每個卷積操作中,使用線性整流函數[23](Rectified Linear Unit,RELU)作為激活函數。如公式(3) 所示,當RELU 激活函數的輸入值大于零時才會產生非零輸出值,因此其生成的矩陣具有元素稀疏性,可以防止因為多個并行卷積層帶來的過擬合問題。

其中,x表示輸入值,f(x)表示RELU 激活函數的輸出。最后,利用concatenate 操作將所提取的不同尺度信息進行通道融合,這使得用來描述光譜本身的特征數增加并保證單一特征的描述信息不變,避免了特征信息冗余。
2.4.3 密集連接模塊
傳統的串行卷積操作會造成特征傳遞過程中的損失,導致最終用于樣本分類的特征信息被削弱,針對這一問題,本文設計了基于密集連接操作的特征傳遞模塊。在該模塊中,將多尺度模塊所提取的特征作為輸入,并執行系列二維卷積操作。首先,設計了3 個尺寸為3×3×32 的串行二維卷積層,并在任意兩個卷積層間建立密集連接,以保證當前層的輸入為此前所有卷積層的輸出在通道方向上的融合。這種在輸入和輸出之間建立直接連接的方式加強了特征的傳遞效應并實現了特征復用。其次,在密集連接后設置了尺寸為1×1×1 的卷積層,以減少由于模型復雜度提升引起的參數量增加。最后,在每個卷積層后同樣執行了BN 操作,這使得數據分布得到約束并防止了該模塊帶來的過擬合問題。
2.4.4 輸出模塊
在模型的輸出部分,首先將上層模塊輸出結果扁平化到一維,并利用神經元個數分別為128 和32 的全連接層將模型學到的特征表示映射到特定的樣本標記空間。與此同時,RELU激活函數被用于對矩陣加權計算結果進行激活。隨后,為了進一步抑制過擬合,設置了Dropout 層[24]使神經元以一定的概率隨機失活,其參數為dropout_rate。由于在前述模型構建過程中已經使用了多種防止過擬合的措施,因此,為了保證神經元以一定概率失活并同時防止因為失活率過大造成重要分類特征丟失,將dropout_rate 設置為0.2。最后,Sigmoid 激活函數用于對樣本類別進行概率預測,交叉熵損失函數被用于度量真實標簽和預測值之間的差異程度。
分類模型的輸入數據集包含100 個樣本:陰性樣本47 個,陽性樣本53 個。按照訓練集與測試集以4∶1 的比例劃分出20%的樣本作為單獨的測試集。然后,對訓練集執行5 折交叉驗證策略,即每次選取80% 訓練集用作訓練,選取20%訓練集用作驗證,以對測試集樣本進行預測。下列結果與討論中保存的實驗結果均為五折交叉驗證結果的最佳效果值,并將模型優化器設置為Adam,迭代次數設為500。
為了全面評價該分類模型的分類效果,使用準確率(Accuracy)、精確度(Precision)、召回率(Recall)和F1 分數(F1-score)4 個評價指標進行評價。本部分將從模型的整體分類性能、參數設置、對比實驗、消融實驗、樣本量分析5 個方面展開討論。
如圖4(彩圖見期刊電子版)所示,在模型分類預測得到的混淆矩陣中,陰性樣本全部被正確預測,陽性樣本只有1 個被錯分。因此本文所設計的檢測框架不存在假陽性,在一定程度上可以對陽性樣本實現高度準確的預測。根據混淆矩陣計算得到的各項評價指標,如圖5(彩圖見期刊電子版)所示。從圖5 中可以看出,本文算法的準確率為95%,精確度為100%,召回率為92.30%,F1分數為95.99%。不僅如此,對于每個光譜,其采集時間均在1 s 以內,利用訓練好的模型進行分類的時間在0.004 s 以內。根據模型的上述綜合分類表現可以看出,本文設計的心肌淀粉樣變檢測框架對實現病變的精準分類具有一定的應用潛力,此外,其對于利用低信噪比、小樣本太赫茲光譜數據集進行模型時效性提升具有重要意義。

圖4 模型分類預測得到的混淆矩陣Fig.4 Confusion matrix obtained by classification prediction of the model

圖5 該模型的不同評價指標值Fig.5 Evaluation indicators of the proposed model
為了進一步驗證模型的性能穩定性及實驗結果的可重復性,在同等條件下進行了10 次獨立重復試驗。實驗結果如表1 所示,仍以上述4 個指標進行評估,并加入每個指標的極差作為判斷實驗結果穩定性的輔助工具。

表1 10 次獨立重復實驗結果Tab.1 Results of 10 times of independent repeated tests
從表1 可知,本文模型的準確率、精確度、召回率和F1 分數的極差分別為0.46%、0.38%、0.66%和0.38%,這表明本文算法的預測性能在一定范圍內具有穩定性,且分類結果具有可重現性。10 次獨立重復實驗中的準確率在94.66%以上、精確度在99.62%以上、召回率在91.66%以上、F1 分數在95.61%以上,并且各項指標的極差分布均在0.66%以內,由此可知,其在一定程度上符合生物醫學中病變檢測的可靠性要求。除此之外,與心肌淀粉樣變的傳統檢測手段相比,本文方法在時間效率上有大幅提升。通常,傳統檢測方法進行病理組織切片約需耗費2 day 才能獲取檢測結果,心臟磁共振、放射性核素成像、超聲心動圖均需耗費2 h 左右得到檢測結果[19],而本文研究方法最多需要1 h 即可實現心肌淀粉樣變診斷:制備生物樣本約需40~5 min 左右,采集一個平均次數為1 的太赫茲光譜則耗時不到1 s,利用訓練好的模型分類一個光譜耗時低于0.004 s。通過上面對比可知,本文方法在時間效率上優于傳統醫學檢測方法。
在深度學習的模型設計中,學習率大小和批大小是影響模型分類效果的重要參數。學習率是調整損失函數梯度下降的超參,設置合適的學習率數值有助于加快模型的訓練和收斂;批大小作為每次調整參數前選取的樣本量大小,其大小對于網絡的訓練效果具有重要意義。在該部分,為分析參數變化對模型分類效果的影響,設置了兩類學習率(0.001、0.000 1)和三類批大小(3、5、10),并在同比對照條件下通過組合不同的學習率和批大小分別進行了6 次分類預測。將準確率、精確度、召回率和F1 分數作為綜合評價指標,實驗結果如表2 所示。
從表2 可以看出,當學習率一定時,模型的分類能力基本隨著批大小的增大而提高,說明對于所構建的模型而言,增大批大小有助于提升模型分類能力。當批大小一定時,值為0.000 1 學習率下的分類效果優于0.001 的學習率,說明適當減小學習率有助于提高本文模型預測的準確性。通過上述分類實驗結果可知,在學習率為0.000 1,批大小為10 的條件下模型性能最優。究其原因,在樣本量小的時候,增大批大小有助于在一次訓練迭代中學習到更多的樣本特征,使得分類器每次迭代的預測效果更加穩定,有助于削弱準確率和損失值的震蕩現象。同時,減小學習率使得模型可以學習更加優化的權重集合,以使模型收斂到更好的最小值。

表2 不同參數對模型分類效果的影響Tab.2 Effects of different parameters on model classification
選取15 種用于一維光譜分類或一維序列分類的機器學習算法、深度學習算法與本文算法進行對比。具體包括:k-最近鄰算法[25](KNN)、邏輯回歸算法[26](LG)、樸素貝葉斯算法[27](NB)、隨機森林算法[28](RF)、決策樹算法[29](DT)、線性判別分析算法[30](LDA)、Adaboost 分類器[29](AC)、二次判別分析算法[31](QDA)、支持向量機[25](SVM)、長短期記憶網絡[32](LSTM)、雙向長短期記憶網絡[31](BiLSTM)、卷積長短期記憶網絡[33](CLSTM)、殘差網絡[34](ResNet)、密集連接網絡[35](DenseNet)和卷積神經網絡[36](CNN)。在對比實驗中,以100 個樣本作為輸入,并保持所有參數相同,實驗結果如圖6(彩圖見期刊電子版)所示。

圖6 與15 種機器學習算法和深度學習模型的對比實驗Fig.6 Comparative experiments of proposed model with 15 kinds of machine learning algorithms and deep learning models
從圖6 可以看出,在15 種對比算法中,機器學習算法得到的各項評價指標普遍高于深度學習,這是因為深度學習的分類能力在一定程度上依賴于數據量大小。但盡管如此,本文提出的分類模型在4 個指標上均高于最優對比算法(指標提升幅度:準確率15%,精確度18.44%,召回率11.28%,F1 分數14.71%)——線性判別分析(準確率80%,精確度81.56%,召回率81.02%,F1 分數81.28),這表明機器學習算法缺乏自動從含噪數據中提取特征的強大能力,并進一步證明了我們的分類模型對克服低信噪比的小樣本數據集帶來的分類挑戰具有重要作用。
為了深入分析本文所構建網絡中主要模塊的貢獻度,針對卷積降噪自編碼器模塊(模塊1)、多尺度特征提取模塊(模塊2)和密集連接模塊(模塊3)設計了相應的消融實驗,實驗結果如圖7(彩圖見期刊電子版)所示。

圖7 各模塊的消融實驗結果Fig.7 Ablation experimental results of different modules
實驗結果表明,當3 個模塊全部消除時各項評價指標均出現大幅度下降,召回率僅為30%,F1 分數僅為42.85%,遠遠不能滿足檢測心肌淀粉樣變的任務要求。當僅使用1 個模塊時,分類效果均得到提升,且單一的卷積降噪自編碼器模塊具有最高貢獻度,其綜合性能評價指標F1 分數達到87.99%。當組合使用任意兩個模塊時,分類效果均較單一模塊高,且最佳F1 分數達到90%。消融實驗證明本文所設計的3 個模塊對于分類心肌淀粉樣變的低信噪比小樣本太赫茲光譜數據均有一定貢獻度,且3 個模塊順次組合能使得模型分類效果最大化。與此同時,這也證明所采用的降噪、特征提取、特征表達的基本流程是合理、正確的。
上述實驗結果及分析證明了本文所提出的模型在樣本量大小為100 時具有超越同比機器學習算法及神經網絡模型的優勢。本節將從兩個方面分析樣本量大小對模型分類效果的影響。
首先,選取樣本量分別為20、40、60、80、100,分析本文設計模型的各項分類指標,結果如表3 所示。

表3 樣本量對本文模型分類效果的影響Tab.3 Influence of the number of sample on model classification effect
實驗結果表明隨著樣本量的增加,各項指標均逐漸提升,并在樣本量為100 時達到了最佳效果。當樣本量僅為20 時,本文模型仍能達到70%的準確率、72.35% 的精確度、64.23% 的召回率和68.04% 的F1 分數。實驗結果說明本文分類網絡在應對樣本量變化的條件下具有一定的抗敏感性,并且當樣本量下降到60 時,仍能夠取得令人滿意的心肌淀粉樣變檢測效果。
其次,通過向原始數據添加噪聲的方式將本文的實驗數據擴增到3 000 個。在此基礎上,利用本文提出的模型進行分類,并與ResNet[34]、DenseNet[35]、CNN[36]3 個用于大型光譜數據集分類的模型進行對比,實驗結果如表4 所示。

表4 擴增樣本量對模型分類效果的影響Tab.4 Influence of the number of expanded samples on model classification effect
實驗結果表明,本文模型對于擴增數據集的準確率為66.50%,精確度為71.47%,召回率為68.35%,F1 分數為69.87%。與其他3 個分類模型相比,本文模型的4 個指標均最優。盡管如此,本模型在擴增樣本后的分類結果仍與未擴增樣本時有約30%的差距。這進一步說明,單純擴增樣本量并不能對低信噪比數據進行準確分類,表明本文的研究思路是行之有效的。
心肌淀粉樣變的早期診斷對于治療該類疾病具有重要意義,已有研究為結合太赫茲光譜技術和深度學習算法實現心肌淀粉樣變檢測提供了指導。但是當太赫茲光譜數據集具有低信噪比和數據量少的特點時,深度學習方法難以高效提取可區分性特征且存在過擬合。基于此,本文提出了一種基于多模塊順序級聯的太赫茲光譜分類模型。設計了以卷積降噪自編碼器模塊、多尺度特征提取模塊和密集連接模塊為基礎的心肌淀粉樣變檢測模型。實驗結果表明,在最低信噪比水平和小樣本量條件下,該模型可以實現F1 分數為95.99%的心肌淀粉樣變檢測效果,超越同類機器學習算法和深度學習算法。與此同時,獨立重復實驗證明了該模型的穩定性和可重復性。因此,本文所設計模型在利用低信噪比的少量太赫茲光譜實現心肌淀粉樣變檢測方面具有一定應用潛力。