江 濤
(西安交通大學(xué) 人工智能與機(jī)器人研究所,西安710049)
以往醫(yī)學(xué)診斷方法都是借助醫(yī)療設(shè)備對病人進(jìn)行病癥檢查,通過拍CT 獲取病理特征,之后再由醫(yī)生分析病情,得出診斷結(jié)果[1]。 這種傳統(tǒng)診斷方式會受到醫(yī)生水平影響,尤其是一些疑難雜癥的診斷,其結(jié)果可靠性無法得到保障。 并且,專家數(shù)量有限,在一些中小醫(yī)院,目前還缺少門診專利部分,這就造成疑難病癥的誤診率較高[2]。
針對這種現(xiàn)象,人們將目光轉(zhuǎn)向到一個新的領(lǐng)域,就是使用現(xiàn)在科學(xué)技術(shù)診斷病癥。 因此,提出了基于規(guī)則的專家系統(tǒng),該系統(tǒng)隨著規(guī)則庫內(nèi)容不斷填充,規(guī)則庫內(nèi)存無法滿足大量規(guī)則信息,加之推理循環(huán)過程存在大量無效信息,不僅浪費(fèi)病理檢驗(yàn)時間,還有可能出現(xiàn)誤診現(xiàn)象;使用神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)雖然可以避免該問題的產(chǎn)生,但在獲取相關(guān)信息時,其采用權(quán)值代替知識庫的方式,這種方法會隨著信息搜索空間變大而出現(xiàn)知識獲取瓶頸問題。出現(xiàn)這種現(xiàn)象的根本原因就是系統(tǒng)采用串行工作模式,醫(yī)療診斷系統(tǒng)只能通過簡單醫(yī)療數(shù)據(jù)進(jìn)行病癥診斷,實(shí)用價值較小[3]。
采用人工智能技術(shù)采集患者身份信息及病理特征時,需遵循以下幾個步驟[4]:①身份識別;②病理采集;③數(shù)據(jù)通信。
病例特征采集是患者身份信息識別的基礎(chǔ),根據(jù)醫(yī)療診斷系統(tǒng)功能需求,可將患者身份信息及病理特征采集模塊分為4 個子模塊,分別是主控制器、身份識別模塊、采集模塊和通信模塊,如圖1所示。
在設(shè)計(jì)主控模塊時,將DSP 數(shù)字信號處理器作為主要控制器,由此控制患者身份信息及病例特征采集的時間與模式[5]。 尤其在身份識別和脈搏信號采集過程中,應(yīng)將該設(shè)備與主機(jī)進(jìn)行實(shí)時通信[6]。 結(jié)合醫(yī)療診斷系統(tǒng)要求,選擇主控芯片來保證系統(tǒng)良好的穩(wěn)定性能,同時強(qiáng)大數(shù)據(jù)處理能力,通過設(shè)置多條通信路徑,能夠提高數(shù)據(jù)采集效率。 從系統(tǒng)性能角度出發(fā),選擇STM32F103C8T6 芯片作為DSP數(shù)字信號處理器主要芯片[7]。 該芯片可由32 位組成的ARM 微處理器,最高工作頻率能夠達(dá)到80 MHz,片中具備10 個通道口,最短轉(zhuǎn)換時間為1 μs,能夠?qū)崿F(xiàn)多條路徑信息的快速采集[7]。
對于信號預(yù)處理過程,應(yīng)先將采集的病例信號輸入醫(yī)療診斷系統(tǒng)之中,并在該系統(tǒng)數(shù)據(jù)庫中添加病人正常和發(fā)病時的呼吸速率信息,避免外界環(huán)境干擾,需在信息采集信號上疊加病例信號,通過使用小波變換方法在低頻時獲取分辨率較好的信息。
利用小波變換去噪原理如下所示:
設(shè)在醫(yī)療診斷系統(tǒng)中待測信號為m,外界環(huán)境干擾序列為
式中:ri表示標(biāo)準(zhǔn)外界環(huán)境干擾元素;s 表示干擾均方差。 與閾值相關(guān)的系數(shù)主要是由干擾引起的,設(shè)置初始干擾因素為0,大于該閾值的小波系數(shù)主要是由于固定向量引起的,經(jīng)過重構(gòu)后,可以得到去噪后的信號。
通過使用改進(jìn)小波閾值去噪方式消除多余病例信號,同時完成基線漂移消除[8]。 分解小波變換信號后,及時查看分解層數(shù),當(dāng)分解層數(shù)較多時,可使用低頻尺度信號,以此作為漂移基線,在保證尺度系數(shù)不變情況下,將尺度系數(shù)歸置為0,通過重構(gòu)信號能夠得到有效病例信號。
由于病例信號頻率較低,容易受到外界干擾,出現(xiàn)一系列冗余信號,這對特征提取來說是相對困難的。 因此,從時域或頻域角度分析,獲取信號屬性,再借助小波變換預(yù)處理模式提取相關(guān)特征[9]。 使用小波變換技術(shù)能夠?qū)崿F(xiàn)正常信號與脈搏信號分離,由此抽取不同頻段上的全部信息,再通過不同尺度重構(gòu)脈搏段,能夠獲取不同頻段上不一樣的病例能量值。 將所有頻率端信號能量值加在一起,按照一定順序排列,能夠得到用于識別病例信號的相關(guān)特征向量[10]。
采用主成分分析技術(shù),能夠降低病例信號特征向量維數(shù),具體降維過程如下所示:
(1)為了標(biāo)準(zhǔn)化處理數(shù)據(jù),需將從數(shù)據(jù)庫中獲取的a 個b 維病理特征向量統(tǒng)一規(guī)劃成數(shù)據(jù)矩陣形式,由此消除數(shù)量量綱干擾。
(2)求取協(xié)方差矩陣κ。
式中:T 表示求取周期。
(3)獲取協(xié)方差矩陣特征值α1,α2,…,αn以及特征向量λ1,λ2,…,λn,將特征值按順序依次排列,根據(jù)特征值調(diào)整特征向量位置,獲取單位正交矩陣。
(4)確定特征值累計(jì)貢獻(xiàn)率,設(shè)定抽取指標(biāo),獲取對應(yīng)主要向量。
(5)計(jì)算標(biāo)準(zhǔn)化后矩陣在主要向量上投射結(jié)果,由此得到低維數(shù)特征向量矩陣。
根據(jù)上述內(nèi)容,可用降維后的特征向量作為信號特征處理結(jié)果向量。
對于診斷模型的構(gòu)建,需從病例數(shù)據(jù)和專家經(jīng)驗(yàn)角度出發(fā),根據(jù)醫(yī)療診斷系統(tǒng)中的數(shù)據(jù)庫信息,確定病例指標(biāo),利用該指標(biāo)計(jì)算符合需要疾病輔助診斷的數(shù)據(jù),由此獲取符合度,診斷模型如圖2所示。
圖2 診斷模型Fig.2 Diagnostic model
模糊測度是基于人工智能技術(shù)訓(xùn)練的各個指標(biāo)對疾病診斷貢獻(xiàn),綜合衡量是指在相互影響下的貢獻(xiàn)程度。 通過與程序中設(shè)定標(biāo)準(zhǔn)值比較,用模糊積分方法計(jì)算診斷結(jié)果,得出具體診斷結(jié)果。
步驟一:分析醫(yī)學(xué)數(shù)據(jù)
為了保證研究結(jié)果具有真實(shí)性,需提取真實(shí)有效信息,通過研究當(dāng)?shù)蒯t(yī)院對患者檢測使用的儀器以及資料庫信息,可以獲取病理數(shù)據(jù);在網(wǎng)絡(luò)技術(shù)支持下,大部分醫(yī)療數(shù)據(jù)都是可以公開的,因此,也可直接從網(wǎng)絡(luò)上搜索相關(guān)獲取的數(shù)據(jù)。 為了確保試驗(yàn)結(jié)果準(zhǔn)確可靠,數(shù)據(jù)集的格式處理都需根據(jù)實(shí)驗(yàn)內(nèi)容進(jìn)行預(yù)處理,使用Matlab 公式診斷病癥,并采用.mat 格式作為數(shù)據(jù)集格式。
步驟二:確定基礎(chǔ)指標(biāo)
資深醫(yī)師可從應(yīng)試者大量的檢驗(yàn)指標(biāo)中選擇相關(guān)的重要指標(biāo),根據(jù)指標(biāo)與指標(biāo)之間的相關(guān)性來判斷應(yīng)試者是否患上了某種疾病。 以上指標(biāo)選擇是指在保證可信性的基礎(chǔ)上,選擇適當(dāng)?shù)乃惴▽?shí)現(xiàn)降維。 該模型利用人工智能技術(shù)的遺傳算法來確定基礎(chǔ)指標(biāo),遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)獲取確定基礎(chǔ)指標(biāo)的步驟如圖3所示。
圖3 確定基礎(chǔ)指標(biāo)獲取流程Fig.3 Determine the basic index acquisition flow chart
借助神經(jīng)網(wǎng)絡(luò)算法優(yōu)化分析基礎(chǔ)指標(biāo)具體獲取流程,主要步驟如下所示:
(1)初始種群產(chǎn)生
首先應(yīng)獲取基礎(chǔ)數(shù)據(jù),然后使用隨機(jī)函數(shù)生成初始串結(jié)構(gòu),每個串上都包含了一種類型的節(jié)點(diǎn)數(shù)據(jù),由此組成一個群體。 該群體包含的個體數(shù)量為20~100 個,其是基于初始群體迭代法。
(2)適應(yīng)度函數(shù)計(jì)算
遺傳算法求解最優(yōu)解的關(guān)鍵是適應(yīng)度函數(shù),該方法將適應(yīng)度函數(shù)用于度量群體中個體達(dá)到最優(yōu)解的程度,適應(yīng)能力更強(qiáng)的個體更有可能遺傳給下一代。
為克服初始權(quán)值和閾值的隨機(jī)性對計(jì)算適應(yīng)度函數(shù)的影響,利用遺傳算法對BP 神經(jīng)網(wǎng)絡(luò)建立后的權(quán)值和閾值進(jìn)行優(yōu)化計(jì)算。
(3)選擇操作
在選擇算子過程中,應(yīng)先選取個體,并將該個體遺傳給下一代群體,該過程所產(chǎn)生的比例即為算子,具體選擇操作步驟如下所示:
①在一個群體中計(jì)算所有個體適應(yīng)程度的總和,代表預(yù)測輸出誤差與期望輸出誤差的總和。 錯誤越小,就越有可能遺傳。
式中:X 表示種群個體;i 表示個體數(shù)量;m 表示迭代次數(shù)。
②在一個群體中,應(yīng)先分析不同個體之間的適配度,以此作為基礎(chǔ),將其遺傳給下一代,該過程出現(xiàn)的概率計(jì)算公式如下所示:
③一種模擬的輪盤賭操作是用來生成(0,1)之間的隨機(jī)數(shù)來決定每個人被選擇多少次,適應(yīng)性強(qiáng)的個體具有較高的選擇概率。
(4)交叉操作
輸入層的索引值先被壓縮,再被減小,再被交叉。 這一步是借助單點(diǎn)交叉算子來分配個體的,由不同個體選擇基因、交叉。 通過交換交點(diǎn)位置,能夠產(chǎn)生新的個體。
(5)變異操作
設(shè)置輸入層指標(biāo)數(shù)據(jù),該數(shù)據(jù)是先被壓縮后,再被縮小的,通過點(diǎn)擊突變,實(shí)現(xiàn)由“0”到“1”之間的轉(zhuǎn)變,根據(jù)隨機(jī)產(chǎn)生的突變點(diǎn)的位置改變基因值。
(6)輸出降維結(jié)果
不斷調(diào)整適應(yīng)度函數(shù),當(dāng)函數(shù)滿足終止條件時,此時輸出群體為最優(yōu)的群體,由此可達(dá)到最優(yōu)解。
(7)確定模糊測度
將輸入自變量作為訓(xùn)練集和測試集數(shù)據(jù),通過重建神經(jīng)網(wǎng)絡(luò)模型,確定初始診斷結(jié)果,通過與正規(guī)化結(jié)果相比較,可確定模糊終止條件,以該條件為前提,在最佳診斷準(zhǔn)確率下,確定各指標(biāo)模糊測度[11]。
步驟三:確診病情
通過與標(biāo)準(zhǔn)值比較,發(fā)現(xiàn)當(dāng)模糊積分值大于該值時,即視為有病,否則視為無病。
針對人工智能在醫(yī)療診斷系統(tǒng)中的應(yīng)用研究合理性,以肺癌CT 診斷為例展開實(shí)驗(yàn)研究。
選擇來自某市第一附屬醫(yī)院的118 例CT 片,其中肺癌60 例,良性58 例,其中入院時間選擇2018年至2019年6月,診斷得到醫(yī)院認(rèn)證。 肺癌60 例患者中男性人數(shù)為10 例,女性為50 例,平均年齡為35~79 歲,提取的相關(guān)病例信息及評分量化指標(biāo)如表1所示。
表1 相關(guān)病例信息及評分量化指標(biāo)Tab.1 Related case information and scoring quantitative indicators
對于分值高分指標(biāo),選擇0 分、5 分和10 分的CT 片作為參照片,各個指標(biāo)分?jǐn)?shù)取平均值,從全部樣片中隨機(jī)選取50 例作為訓(xùn)練集,剩下68 例作為預(yù)測集。
分別使用神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)W1、基于規(guī)則的專家系統(tǒng)W2 和人工智能技術(shù)W3 診斷肺癌CT,對比內(nèi)容如下所示。
4.2.1 胸膜凹陷診斷
胸膜凹陷指的是腫瘤與胸膜之間存在的線性陰影,腫瘤體內(nèi)瘢痕組織不斷牽拉會形成胸膜凹陷現(xiàn)象?;诖?,對比三種方法診斷誤差和ROC 曲線,結(jié)果如圖4、圖5所示。
由圖4和圖5可知,使用人工智能技術(shù)誤差在-0.1~0.1 范圍內(nèi)波動,而其余兩種技術(shù)診斷誤差偏大,其中神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)診斷誤差最大為0.7。 人工智能技術(shù)ROC 曲線下面的面積大約為80%,而其余兩種技術(shù)ROC 曲線下面的面積較小。 由此可知,使用人工智能技術(shù)胸膜凹陷診斷結(jié)果較為精準(zhǔn)[12]。
圖4 三種方法胸膜凹陷診斷誤差對比分析Fig.4 Comparative analysis of the three methods of pleural depression diagnosis error
圖5 三種方法胸膜凹陷ROC 曲線對比分析Fig.5 Comparative analysis of ROC curves of three methods for pleural depression
4.2.2 胸膜浸潤診斷
分別采用三種方法分析胸膜浸潤診斷誤差和ROC 曲線,結(jié)果如圖6、圖7所示。
圖6 三種方法胸膜浸潤診斷誤差對比分析Fig.6 Comparison and analysis of three methods of pleural infiltration diagnosis error
圖7 三種方法胸膜浸潤ROC 曲線對比分析Fig.7 Comparative analysis of ROC curves of three methods of pleural infiltration
由圖6和圖7可知,使用神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)最高診斷誤差為0.78,基于規(guī)則的專家系統(tǒng)最高診斷誤差為0.68,而人工智能技術(shù)最高診斷誤差為0.1。對于ROC 曲線分析,使用人工智能技術(shù)ROC 曲線下面的面積大約為90%,由此可知,使用人工智能技術(shù)胸膜浸潤診斷結(jié)果較為精準(zhǔn)。
由人工智能技術(shù)和專家系統(tǒng)組成的混合系統(tǒng)可以克服傳統(tǒng)專家系統(tǒng)的不足,一是運(yùn)用人工智能技術(shù)獲取診斷知識;尤其對于醫(yī)學(xué)實(shí)踐中難以獲取的知識,需先克服專家系統(tǒng)基礎(chǔ)瓶頸問題;在另一方面,應(yīng)充分發(fā)揮專家系統(tǒng)良好說明功能,改善神經(jīng)網(wǎng)絡(luò)信息推理過程時間耗費(fèi)長的問題。在實(shí)驗(yàn)階段,由于數(shù)據(jù)量較小,無法與數(shù)據(jù)庫中歷史資料對比,必然存在一定誤診率,因此,對于該方面的研究還有待深入。