湯福南,楊春花,張可,竺明月,張暉,汪纓,袁冬青
南京醫(yī)科大學(xué)第一附屬醫(yī)院 a.臨床醫(yī)學(xué)工程處;b.眼科,江蘇 南京 210029
小切口角膜透鏡取出(Small-Incision Lenticule Extraction,SMILE)手術(shù)目前是國(guó)際上最先進(jìn)的角膜屈光手術(shù)模式之一,其具有無(wú)須制作角膜瓣、微創(chuàng)、穩(wěn)定性好等優(yōu)點(diǎn)[1-3]。臨床上實(shí)施眼科手術(shù)前需要將術(shù)前檢查參數(shù)輸入到德國(guó)蔡司VisuMax設(shè)備[4-5],以獲取角膜切削厚度[6]作為手術(shù)參數(shù)。然而由于該設(shè)備一般存放于手術(shù)室中,眼科臨床醫(yī)師在門診無(wú)法及時(shí)根據(jù)術(shù)前檢查參數(shù)準(zhǔn)確獲知角膜切削厚度,因此對(duì)SMILE手術(shù)角膜切削厚度進(jìn)行預(yù)測(cè)研究,有助于預(yù)測(cè)患者手術(shù)的可行性,輔助評(píng)估手術(shù)風(fēng)險(xiǎn),提高臨床診斷效率。
角膜切削厚度預(yù)測(cè)是指以SMILE手術(shù)設(shè)備廠家提供的標(biāo)準(zhǔn)數(shù)據(jù)和患者之前的病歷資料,結(jié)合當(dāng)前患者的術(shù)前檢查輸入?yún)?shù),對(duì)SMILE手術(shù)角膜切削厚度進(jìn)行預(yù)測(cè)和判斷。人工神經(jīng)網(wǎng)絡(luò)無(wú)需事先確定輸入和輸出之間映射關(guān)系的數(shù)學(xué)方程,僅通過自身的訓(xùn)練和學(xué)習(xí),在給定輸入值時(shí)可以輸出接近期望值的結(jié)果[7]。BP神經(jīng)網(wǎng)絡(luò)是一種將誤差反向傳播的多層前饋網(wǎng)絡(luò),其利用梯度下降原理進(jìn)行訓(xùn)練和學(xué)習(xí),從而使得實(shí)際輸出值和期望輸出值之間的方根誤差均達(dá)到最小,且BP神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的非線性函數(shù)的逼近能力[8],可作為SMILE手術(shù)角膜切削厚度預(yù)測(cè)的工具。
BP神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)方法較多,Matlab軟件可為神經(jīng)網(wǎng)絡(luò)提供相關(guān)的函數(shù)支持,用于實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建、訓(xùn)練、保存和調(diào)用?;诖?,本文旨在使用Matlab軟件構(gòu)建SMILE手術(shù)角膜切削厚度預(yù)測(cè)的BP神經(jīng)網(wǎng)絡(luò)模型并對(duì)該模型進(jìn)行驗(yàn)證,以期為眼科臨床推廣使用該模型奠定一定的理論依據(jù)。
切削厚度的影響因素包括患者屈光度球鏡度數(shù)、患者柱鏡度數(shù)[9]、角膜曲率半徑[10]、微透鏡直徑[11],以上4種參數(shù)與切削厚度之間的關(guān)系為非線性映射,無(wú)法通過公式直接闡述,因此角膜基質(zhì)切削厚度需要通過BP神經(jīng)網(wǎng)絡(luò)來計(jì)算。得到角膜基質(zhì)切削厚度后,剩余基底厚度的計(jì)算方式如公式(1)所示。
在構(gòu)建BP神經(jīng)網(wǎng)絡(luò)前,需要先確定輸入和輸出向量。本文分別使用S、C、K、D、Y表示屈光度球鏡度數(shù)、柱鏡度數(shù)、角膜曲率半徑、微透鏡直徑、切削厚度。輸入向量(P)由4列數(shù)據(jù)組成,第1列至第4列分別為S、C、K、D,P=_[S1,S2,S3,…,Sn;C1_,C2,C3,…,Cn;K1,K2,K3,…,Kn;D1,D2,D3,…,Dn]T;輸出向量(T)由Y單獨(dú)1列組成,T=_[Y1,Y2,Y3,…,Yn]T,其中n為輸入和輸出向量總行數(shù)。
① BP神經(jīng)網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu):如圖1所示,包括輸入層、隱含層和輸出層,隱含層可以有一層或者多層[12]。本文設(shè)計(jì)的BP神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元個(gè)數(shù)為4,輸出層神經(jīng)元個(gè)數(shù)為1。② BP神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)數(shù)(L):根據(jù)經(jīng)驗(yàn)公式(2)確定[13],本文設(shè)計(jì)的BP神經(jīng)網(wǎng)絡(luò)包括3個(gè)隱含層,每一層神經(jīng)元個(gè)數(shù)依次為8、6、4。③ BP神經(jīng)網(wǎng)絡(luò)構(gòu)建使用的函數(shù):隱含層和輸出層激勵(lì)函數(shù)均選取為tansig;網(wǎng)絡(luò)訓(xùn)練函數(shù)為trainglm,即使用Levenberg-Marquardt反向傳播算法[14];網(wǎng)絡(luò)性能函數(shù)為mse,即均方歸一化誤差性能函數(shù);訓(xùn)練次數(shù)設(shè)置為5000,根據(jù)實(shí)際預(yù)測(cè)精度要求,期望誤差(W)設(shè)置為10-3:其中tansig為S型傳遞函數(shù),該函數(shù)的表達(dá)式如公式(3)所示。通過反傳誤差函數(shù)將誤差向前傳遞,在迭代學(xué)習(xí)中可以不斷調(diào)節(jié)網(wǎng)絡(luò)權(quán)值和閾值使誤差函數(shù)E達(dá)到無(wú)限接近于W的程度(4)。④ BP神經(jīng)網(wǎng)絡(luò)的迭代學(xué)習(xí)過程:具體BP神經(jīng)網(wǎng)絡(luò)的迭代學(xué)習(xí)過程如圖2所示,BP神經(jīng)網(wǎng)絡(luò)在迭代的過程中誤差不斷地減小,直到誤差達(dá)到期望或者訓(xùn)練次數(shù)達(dá)到5000即停止學(xué)習(xí)訓(xùn)練,保存訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)模型后可以用于角膜基質(zhì)切削厚度的預(yù)測(cè)。
圖1 BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
圖2 BP神經(jīng)網(wǎng)絡(luò)迭代學(xué)習(xí)流程圖
式中,n為輸入層的節(jié)點(diǎn)數(shù);m為輸出層的節(jié)點(diǎn)數(shù);a為[1,10]之間的常數(shù)。
式中,x為傳遞函數(shù)的輸入;f(x)為傳遞函數(shù)的輸出。
式中,Yi為期望輸出;Qi為網(wǎng)絡(luò)計(jì)算輸出。
① 創(chuàng)建BP神經(jīng)網(wǎng)絡(luò)主要通過函數(shù)newff()實(shí)現(xiàn):net=newff(P,T,[8,6,4],{‘tansig’,’tansig’,’tansig’},’trainlm’);② 訓(xùn)練該BP神經(jīng)網(wǎng)絡(luò)使用以下函數(shù)語(yǔ)句,其中TR為訓(xùn)練的記錄,包括訓(xùn)練步數(shù)和性能:[net,TR]=train(net,P,T);③ 保存性能良好的神經(jīng)網(wǎng)絡(luò)使用以下函數(shù)語(yǔ)句,其中“model2021-new”為BP神經(jīng)網(wǎng)絡(luò)的自定義名稱:save model2021-new net;④ 調(diào)用已訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行角膜基質(zhì)切削厚度預(yù)測(cè),主要通過load()和sim()函數(shù)實(shí)現(xiàn),其中P1_R為新輸入的一維數(shù)組,由屈光度球鏡度數(shù)、患者柱鏡度數(shù)、角膜曲率半徑、微透鏡直徑等4個(gè)參數(shù)構(gòu)成:load(‘model2021-new.mat’),sim(net,P1_R)。
從全飛秒手術(shù)系統(tǒng)廠家處獲取標(biāo)準(zhǔn)化切削厚度數(shù)據(jù)表格,提取共計(jì)12188條數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,當(dāng)誤差小于期望誤差時(shí)訓(xùn)練學(xué)習(xí)結(jié)束,獲取最終迭代次數(shù)和網(wǎng)絡(luò)性能參數(shù),并保存該BP神經(jīng)網(wǎng)絡(luò)模型,通過調(diào)用該模型可以在眼科門診輔助醫(yī)生實(shí)現(xiàn)SMILE手術(shù)角膜切削厚度預(yù)測(cè)。
前瞻性收集2020年5—12月于南京醫(yī)科大學(xué)第一附屬醫(yī)院視光中心接受SMILE手術(shù)的1038例患者,記錄患者角膜曲率半徑、微透鏡直徑、屈光度球鏡度數(shù)、柱鏡度數(shù)以及實(shí)際手術(shù)切削厚度等,所有患者均簽署知情同意書。
采用SPSS 19.0統(tǒng)計(jì)分析軟件。符合正態(tài)分布的計(jì)量資料以±s表示,采用配對(duì)t檢驗(yàn)進(jìn)行比較,主要分析指標(biāo)為角膜切削厚度的預(yù)測(cè)值和實(shí)際值之間的差異,以P<0.05為差異有統(tǒng)計(jì)學(xué)意義。
最終確定的SMILE手術(shù)角膜基質(zhì)切削厚度預(yù)測(cè)的BP神經(jīng)網(wǎng)絡(luò)模型,采用5層網(wǎng)絡(luò)實(shí)現(xiàn)切削厚度影響因素與切削厚度輸出的轉(zhuǎn)換。其中輸入層為1層,共4個(gè)神經(jīng)元;隱含層為3層,依次有8、6、4個(gè)神經(jīng)元;輸出層為1層,共1個(gè)神經(jīng)元。輸入層至隱含層、隱含層至輸出層均選用tansig傳遞函數(shù)。本文設(shè)計(jì)的BP神經(jīng)網(wǎng)絡(luò)設(shè)定的最大訓(xùn)練次數(shù)為5000次。由圖3可知,本次訓(xùn)練在第2458次迭代時(shí)達(dá)到了最佳學(xué)習(xí)效果,均方根誤差為0.10636。由于程序判定需要,當(dāng)訓(xùn)練誤差連續(xù)6次不再下降時(shí)停止訓(xùn)練,因此,最終實(shí)際訓(xùn)練次數(shù)為2464次,實(shí)際均方根誤差為0.112。
圖3 BP神經(jīng)網(wǎng)絡(luò)均方根誤差隨著訓(xùn)練次數(shù)增加的趨勢(shì)
使用多元線性回歸方法和3層BP神經(jīng)網(wǎng)絡(luò)(即隱含層只有1層)對(duì)切削厚度影響因素與切削厚度輸出映射關(guān)系進(jìn)行描述。針對(duì)多元線性回歸,Matlab軟件中regress()函數(shù)專門用于實(shí)現(xiàn)相應(yīng)功能,其中X是自變量數(shù)組,y是因變量數(shù)組:b=regress(y,X),b為該函數(shù)的輸出,即線性方程的系數(shù)估計(jì)值,將該函數(shù)應(yīng)用到本文中使用的數(shù)據(jù)集后,最終獲得結(jié)果:b=[-199.538476955843;-5.22451093609253;39.4586482041200;-13.2661569637779;-12.6087343853753]。同樣分別使用K、D、S、C、Y表示角膜曲率半徑、微透鏡直徑、屈光度球鏡度數(shù)、柱鏡度數(shù)、切削厚度的情況下,建立多元線性回歸方程,通過該方程也可嘗試進(jìn)行角膜切削厚度預(yù)測(cè)值的輸出:Y=-199.538476955843-5.22451093609253×K+39.4586482041200×D-13.2661569637779×S-12.6087343853753×C。針對(duì)3層BP神經(jīng)網(wǎng)絡(luò),其隱含層為1層設(shè)置,其隱含層神經(jīng)元個(gè)數(shù)為8,使用newff()和train()進(jìn)行BP神經(jīng)網(wǎng)絡(luò)模型的創(chuàng)建和訓(xùn)練,訓(xùn)練次數(shù)為883次。
將多元線性回歸方法、3層BP神經(jīng)網(wǎng)絡(luò)方法和5層BP神經(jīng)網(wǎng)絡(luò)方法角膜切削厚度的預(yù)測(cè)值和實(shí)際值進(jìn)行配對(duì)t檢驗(yàn),結(jié)果如下:多元線性回歸方法的P<0.001,t=3.899,SD=7.281;3層 BP神經(jīng)網(wǎng)絡(luò)的P=0.2229,t=1.219,SD=0.7721;本文設(shè)計(jì)的5層BP神經(jīng)網(wǎng)絡(luò)的P=0.2129,t=1.246,SD=0.2984。由此可見,多元線性回歸方法對(duì)于角膜切削厚度的預(yù)測(cè)值和實(shí)際值具有顯著差異(P<0.05),而3層BP神經(jīng)網(wǎng)絡(luò)和5層BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值和實(shí)際值差異不顯著(P>0.05),但5層BP神經(jīng)網(wǎng)絡(luò)的SD相對(duì)更小,因此選擇5層BP神經(jīng)網(wǎng)絡(luò)。
本文設(shè)計(jì)的BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)采用隨機(jī)劃分的方法將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練工具nntraintool分別對(duì)訓(xùn)練集、驗(yàn)證集和測(cè)試集的回歸情況進(jìn)行可視化。由圖4可知,該BP神經(jīng)網(wǎng)絡(luò)對(duì)應(yīng)數(shù)據(jù)的擬合程度較高,即BP神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)了切削厚度影響因素與切削厚度輸出映射關(guān)系的描述,可以對(duì)SMILE手術(shù)角膜切削厚度進(jìn)行精準(zhǔn)預(yù)測(cè)。
圖4 訓(xùn)練集、驗(yàn)證集和測(cè)試集數(shù)據(jù)的回歸程度可視化
通過該BP神經(jīng)網(wǎng)絡(luò)模型對(duì)我院SMILE手術(shù)共計(jì)1038例臨床患者數(shù)據(jù)進(jìn)行仿真驗(yàn)證,可獲得切削厚度的預(yù)測(cè)數(shù)據(jù)取整后與實(shí)際數(shù)據(jù)的對(duì)比結(jié)果,如表1所示,約99.81%數(shù)據(jù)的誤差在[-1,1] μm范圍內(nèi)。
表1 1038例患者預(yù)測(cè)切削厚度與實(shí)際切削厚度的誤差
本文使用了App Designer[15]創(chuàng)建了獨(dú)立的桌面應(yīng)用程序,如圖5所示,該應(yīng)用程序主要包括3部分內(nèi)容,即患者信息、術(shù)前檢查參數(shù)和預(yù)測(cè)結(jié)果。該應(yīng)用界面中的按鈕Run屬性為按鈕,通過設(shè)置該按鈕的回調(diào)函數(shù)可計(jì)算切削厚度和剩余基底厚度,輸入患者信息和術(shù)前檢查參數(shù)后點(diǎn)擊該按鈕即可顯示最終結(jié)果。為方便臨床醫(yī)師對(duì)結(jié)果進(jìn)行直觀判斷,在“Result”控制面板中“剩余基底厚度”右側(cè)設(shè)置了1個(gè)指示燈,初始狀態(tài)為藍(lán)色。如果剩余基質(zhì)厚度≥300 μm,提示手術(shù)風(fēng)險(xiǎn)小,可考慮手術(shù),在“Result”控制面板中“剩余基底厚度”右側(cè)的指示燈變?yōu)榫G色;如果剩余基質(zhì)厚度<280 μm,提示手術(shù)風(fēng)險(xiǎn)較高,不可進(jìn)行手術(shù),指示燈顏色為紅色;如果剩余基質(zhì)厚度介于280~300 μm,手術(shù)可以在一定情況下進(jìn)行,指示燈顏色為橙色。
圖5 SMILE手術(shù)角膜基質(zhì)切削厚度預(yù)測(cè)的用戶圖形界面
使用MATLABCompiler可以將上述代碼和圖形用戶界面打包成獨(dú)立應(yīng)用程序,只要配合MCR(MATLAB Compiler Runtime),在未安裝MATLAB的機(jī)器上運(yùn)行MATLAB獨(dú)立應(yīng)用程序,方便眼科臨床醫(yī)師在門診使用該軟件,用于精確預(yù)測(cè)SMILE手術(shù)患者的角膜基質(zhì)切削厚度。
高度近視在全球的患病率較高,是致盲的重要原因之一[16]。數(shù)據(jù)顯示,與2019年底相比,2020年我國(guó)中小學(xué)生6個(gè)月近視率增加了11.7%[17],因此未來SMILE手術(shù)需求人數(shù)仍會(huì)持續(xù)增加。我院SMILE手術(shù)年診療患者人數(shù)可達(dá)3000例以上,本文設(shè)計(jì)的SMILE手術(shù)角膜基質(zhì)切削厚度預(yù)測(cè)的BP神經(jīng)網(wǎng)絡(luò)模型運(yùn)用于臨床后,可對(duì)每例有進(jìn)行全飛秒屈光手術(shù)意向的患者(>18歲)進(jìn)行術(shù)前篩選和預(yù)測(cè)。
本文通過Matlab軟件構(gòu)建了SMILE手術(shù)角膜切削厚度預(yù)測(cè)的BP神經(jīng)網(wǎng)絡(luò)模型,并使用該模型對(duì)臨床1038例患者數(shù)據(jù)進(jìn)行仿真預(yù)測(cè),實(shí)現(xiàn)了切削厚度影響因素與切削厚度輸出映射關(guān)系的準(zhǔn)確描述,在實(shí)際臨床工作中具有較高的應(yīng)用價(jià)值。此外,根據(jù)配對(duì)t檢驗(yàn)結(jié)果顯示,多元線性回歸方法對(duì)于角膜切削厚度的預(yù)測(cè)值和實(shí)際值具有顯著差異,而3層BP神經(jīng)網(wǎng)絡(luò)和5層BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值和實(shí)際值無(wú)顯著差異,且5層BP神經(jīng)網(wǎng)絡(luò)的SD相對(duì)更小,最終保留5層BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于眼科門診。本文涉及的技術(shù)于2021年7月15日通過我院倫理委員會(huì)審查(倫審號(hào):2021-NT-38)和醫(yī)療新技術(shù)項(xiàng)目準(zhǔn)入,已經(jīng)正式投入我院臨床使用。
本文將BP神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于SMILE手術(shù)角膜切削厚度預(yù)測(cè),該方法將德國(guó)蔡司VisuMax設(shè)備中的計(jì)算作為一個(gè)黑箱模型,通過深度學(xué)習(xí)的方式進(jìn)行了擬合,并使用Matlab軟件自帶的工具app designer設(shè)計(jì)了圖形用戶界面,通過該界面輸入患者信息和術(shù)前檢查參數(shù)后,臨床醫(yī)生能夠準(zhǔn)確快速預(yù)測(cè)出切削厚度并計(jì)算出剩余基底厚度,判斷患者是否符合手術(shù)條件,提高臨床診療效率,更好地服務(wù)患者。
由于SMILE術(shù)后近視患者患眼角膜厚度逐漸增厚[18],并且角膜上皮厚度變化值與等效球鏡度、切削深度呈正相關(guān)[19],表明患者術(shù)后最終效果與預(yù)期效果可能存在偏差。徐新花等[20]對(duì)SMILE角膜實(shí)際切削深度與預(yù)計(jì)切削深度進(jìn)行了回顧性研究,并得出中度及高度近視SMILE術(shù)后不同時(shí)間中央角膜實(shí)際切削深度均低于預(yù)計(jì)切削深度,并且高度近視切削偏差更大。李躍祖等[21]的研究發(fā)現(xiàn),隨著術(shù)前屈光度增大,預(yù)測(cè)切削誤差亦增大。因此,未來可以應(yīng)用本文設(shè)計(jì)的方法針對(duì)不同時(shí)間、術(shù)前檢查參數(shù)對(duì)SMILE術(shù)后最終效果的影響進(jìn)行研究。
BP神經(jīng)網(wǎng)絡(luò)作為一種人工神經(jīng)網(wǎng)絡(luò),其在SMILE手術(shù)角膜切削厚度預(yù)測(cè)中的應(yīng)用是深度學(xué)習(xí)技術(shù)在醫(yī)學(xué)領(lǐng)域中發(fā)揮重要作用的一種方式。通過與傳統(tǒng)的多元線性回歸方法對(duì)比發(fā)現(xiàn),BP神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)預(yù)測(cè)方面的性能較高,能夠在眼科屈光手術(shù)工作日趨加重的背景下,幫助醫(yī)生快速判斷患者是否符合手術(shù)條件,準(zhǔn)確預(yù)測(cè)角膜切削厚度,提高診療效率。