湯福南,楊春花,張可,竺明月,張暉,汪纓,袁冬青
南京醫科大學第一附屬醫院 a.臨床醫學工程處;b.眼科,江蘇 南京 210029
小切口角膜透鏡取出(Small-Incision Lenticule Extraction,SMILE)手術目前是國際上最先進的角膜屈光手術模式之一,其具有無須制作角膜瓣、微創、穩定性好等優點[1-3]。臨床上實施眼科手術前需要將術前檢查參數輸入到德國蔡司VisuMax設備[4-5],以獲取角膜切削厚度[6]作為手術參數。然而由于該設備一般存放于手術室中,眼科臨床醫師在門診無法及時根據術前檢查參數準確獲知角膜切削厚度,因此對SMILE手術角膜切削厚度進行預測研究,有助于預測患者手術的可行性,輔助評估手術風險,提高臨床診斷效率。
角膜切削厚度預測是指以SMILE手術設備廠家提供的標準數據和患者之前的病歷資料,結合當前患者的術前檢查輸入參數,對SMILE手術角膜切削厚度進行預測和判斷。人工神經網絡無需事先確定輸入和輸出之間映射關系的數學方程,僅通過自身的訓練和學習,在給定輸入值時可以輸出接近期望值的結果[7]。BP神經網絡是一種將誤差反向傳播的多層前饋網絡,其利用梯度下降原理進行訓練和學習,從而使得實際輸出值和期望輸出值之間的方根誤差均達到最小,且BP神經網絡具有較強的非線性函數的逼近能力[8],可作為SMILE手術角膜切削厚度預測的工具。
BP神經網絡的實現方法較多,Matlab軟件可為神經網絡提供相關的函數支持,用于實現BP神經網絡的構建、訓練、保存和調用。基于此,本文旨在使用Matlab軟件構建SMILE手術角膜切削厚度預測的BP神經網絡模型并對該模型進行驗證,以期為眼科臨床推廣使用該模型奠定一定的理論依據。
切削厚度的影響因素包括患者屈光度球鏡度數、患者柱鏡度數[9]、角膜曲率半徑[10]、微透鏡直徑[11],以上4種參數與切削厚度之間的關系為非線性映射,無法通過公式直接闡述,因此角膜基質切削厚度需要通過BP神經網絡來計算。得到角膜基質切削厚度后,剩余基底厚度的計算方式如公式(1)所示。

在構建BP神經網絡前,需要先確定輸入和輸出向量。本文分別使用S、C、K、D、Y表示屈光度球鏡度數、柱鏡度數、角膜曲率半徑、微透鏡直徑、切削厚度。輸入向量(P)由4列數據組成,第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單獨1列組成,T=_[Y1,Y2,Y3,…,Yn]T,其中n為輸入和輸出向量總行數。
① BP神經網絡模型拓撲結構:如圖1所示,包括輸入層、隱含層和輸出層,隱含層可以有一層或者多層[12]。本文設計的BP神經網絡輸入層神經元個數為4,輸出層神經元個數為1。② BP神經網絡隱含層節點數(L):根據經驗公式(2)確定[13],本文設計的BP神經網絡包括3個隱含層,每一層神經元個數依次為8、6、4。③ BP神經網絡構建使用的函數:隱含層和輸出層激勵函數均選取為tansig;網絡訓練函數為trainglm,即使用Levenberg-Marquardt反向傳播算法[14];網絡性能函數為mse,即均方歸一化誤差性能函數;訓練次數設置為5000,根據實際預測精度要求,期望誤差(W)設置為10-3:其中tansig為S型傳遞函數,該函數的表達式如公式(3)所示。通過反傳誤差函數將誤差向前傳遞,在迭代學習中可以不斷調節網絡權值和閾值使誤差函數E達到無限接近于W的程度(4)。④ BP神經網絡的迭代學習過程:具體BP神經網絡的迭代學習過程如圖2所示,BP神經網絡在迭代的過程中誤差不斷地減小,直到誤差達到期望或者訓練次數達到5000即停止學習訓練,保存訓練好的BP神經網絡模型后可以用于角膜基質切削厚度的預測。

圖1 BP神經網絡拓撲結構

圖2 BP神經網絡迭代學習流程圖

式中,n為輸入層的節點數;m為輸出層的節點數;a為[1,10]之間的常數。

式中,x為傳遞函數的輸入;f(x)為傳遞函數的輸出。

式中,Yi為期望輸出;Qi為網絡計算輸出。
① 創建BP神經網絡主要通過函數newff()實現:net=newff(P,T,[8,6,4],{‘tansig’,’tansig’,’tansig’},’trainlm’);② 訓練該BP神經網絡使用以下函數語句,其中TR為訓練的記錄,包括訓練步數和性能:[net,TR]=train(net,P,T);③ 保存性能良好的神經網絡使用以下函數語句,其中“model2021-new”為BP神經網絡的自定義名稱:save model2021-new net;④ 調用已訓練好的BP神經網絡模型進行角膜基質切削厚度預測,主要通過load()和sim()函數實現,其中P1_R為新輸入的一維數組,由屈光度球鏡度數、患者柱鏡度數、角膜曲率半徑、微透鏡直徑等4個參數構成:load(‘model2021-new.mat’),sim(net,P1_R)。
從全飛秒手術系統廠家處獲取標準化切削厚度數據表格,提取共計12188條數據作為訓練數據集,當誤差小于期望誤差時訓練學習結束,獲取最終迭代次數和網絡性能參數,并保存該BP神經網絡模型,通過調用該模型可以在眼科門診輔助醫生實現SMILE手術角膜切削厚度預測。
前瞻性收集2020年5—12月于南京醫科大學第一附屬醫院視光中心接受SMILE手術的1038例患者,記錄患者角膜曲率半徑、微透鏡直徑、屈光度球鏡度數、柱鏡度數以及實際手術切削厚度等,所有患者均簽署知情同意書。
采用SPSS 19.0統計分析軟件。符合正態分布的計量資料以±s表示,采用配對t檢驗進行比較,主要分析指標為角膜切削厚度的預測值和實際值之間的差異,以P<0.05為差異有統計學意義。
最終確定的SMILE手術角膜基質切削厚度預測的BP神經網絡模型,采用5層網絡實現切削厚度影響因素與切削厚度輸出的轉換。其中輸入層為1層,共4個神經元;隱含層為3層,依次有8、6、4個神經元;輸出層為1層,共1個神經元。輸入層至隱含層、隱含層至輸出層均選用tansig傳遞函數。本文設計的BP神經網絡設定的最大訓練次數為5000次。由圖3可知,本次訓練在第2458次迭代時達到了最佳學習效果,均方根誤差為0.10636。由于程序判定需要,當訓練誤差連續6次不再下降時停止訓練,因此,最終實際訓練次數為2464次,實際均方根誤差為0.112。

圖3 BP神經網絡均方根誤差隨著訓練次數增加的趨勢
使用多元線性回歸方法和3層BP神經網絡(即隱含層只有1層)對切削厚度影響因素與切削厚度輸出映射關系進行描述。針對多元線性回歸,Matlab軟件中regress()函數專門用于實現相應功能,其中X是自變量數組,y是因變量數組:b=regress(y,X),b為該函數的輸出,即線性方程的系數估計值,將該函數應用到本文中使用的數據集后,最終獲得結果:b=[-199.538476955843;-5.22451093609253;39.4586482041200;-13.2661569637779;-12.6087343853753]。同樣分別使用K、D、S、C、Y表示角膜曲率半徑、微透鏡直徑、屈光度球鏡度數、柱鏡度數、切削厚度的情況下,建立多元線性回歸方程,通過該方程也可嘗試進行角膜切削厚度預測值的輸出:Y=-199.538476955843-5.22451093609253×K+39.4586482041200×D-13.2661569637779×S-12.6087343853753×C。針對3層BP神經網絡,其隱含層為1層設置,其隱含層神經元個數為8,使用newff()和train()進行BP神經網絡模型的創建和訓練,訓練次數為883次。
將多元線性回歸方法、3層BP神經網絡方法和5層BP神經網絡方法角膜切削厚度的預測值和實際值進行配對t檢驗,結果如下:多元線性回歸方法的P<0.001,t=3.899,SD=7.281;3層 BP神經網絡的P=0.2229,t=1.219,SD=0.7721;本文設計的5層BP神經網絡的P=0.2129,t=1.246,SD=0.2984。由此可見,多元線性回歸方法對于角膜切削厚度的預測值和實際值具有顯著差異(P<0.05),而3層BP神經網絡和5層BP神經網絡的預測值和實際值差異不顯著(P>0.05),但5層BP神經網絡的SD相對更小,因此選擇5層BP神經網絡。
本文設計的BP神經網絡在訓練時采用隨機劃分的方法將數據集劃分為訓練集、驗證集和測試集,通過神經網絡訓練工具nntraintool分別對訓練集、驗證集和測試集的回歸情況進行可視化。由圖4可知,該BP神經網絡對應數據的擬合程度較高,即BP神經網絡模型實現了切削厚度影響因素與切削厚度輸出映射關系的描述,可以對SMILE手術角膜切削厚度進行精準預測。

圖4 訓練集、驗證集和測試集數據的回歸程度可視化
通過該BP神經網絡模型對我院SMILE手術共計1038例臨床患者數據進行仿真驗證,可獲得切削厚度的預測數據取整后與實際數據的對比結果,如表1所示,約99.81%數據的誤差在[-1,1] μm范圍內。

表1 1038例患者預測切削厚度與實際切削厚度的誤差
本文使用了App Designer[15]創建了獨立的桌面應用程序,如圖5所示,該應用程序主要包括3部分內容,即患者信息、術前檢查參數和預測結果。該應用界面中的按鈕Run屬性為按鈕,通過設置該按鈕的回調函數可計算切削厚度和剩余基底厚度,輸入患者信息和術前檢查參數后點擊該按鈕即可顯示最終結果。為方便臨床醫師對結果進行直觀判斷,在“Result”控制面板中“剩余基底厚度”右側設置了1個指示燈,初始狀態為藍色。如果剩余基質厚度≥300 μm,提示手術風險小,可考慮手術,在“Result”控制面板中“剩余基底厚度”右側的指示燈變為綠色;如果剩余基質厚度<280 μm,提示手術風險較高,不可進行手術,指示燈顏色為紅色;如果剩余基質厚度介于280~300 μm,手術可以在一定情況下進行,指示燈顏色為橙色。

圖5 SMILE手術角膜基質切削厚度預測的用戶圖形界面
使用MATLABCompiler可以將上述代碼和圖形用戶界面打包成獨立應用程序,只要配合MCR(MATLAB Compiler Runtime),在未安裝MATLAB的機器上運行MATLAB獨立應用程序,方便眼科臨床醫師在門診使用該軟件,用于精確預測SMILE手術患者的角膜基質切削厚度。
高度近視在全球的患病率較高,是致盲的重要原因之一[16]。數據顯示,與2019年底相比,2020年我國中小學生6個月近視率增加了11.7%[17],因此未來SMILE手術需求人數仍會持續增加。我院SMILE手術年診療患者人數可達3000例以上,本文設計的SMILE手術角膜基質切削厚度預測的BP神經網絡模型運用于臨床后,可對每例有進行全飛秒屈光手術意向的患者(>18歲)進行術前篩選和預測。
本文通過Matlab軟件構建了SMILE手術角膜切削厚度預測的BP神經網絡模型,并使用該模型對臨床1038例患者數據進行仿真預測,實現了切削厚度影響因素與切削厚度輸出映射關系的準確描述,在實際臨床工作中具有較高的應用價值。此外,根據配對t檢驗結果顯示,多元線性回歸方法對于角膜切削厚度的預測值和實際值具有顯著差異,而3層BP神經網絡和5層BP神經網絡的預測值和實際值無顯著差異,且5層BP神經網絡的SD相對更小,最終保留5層BP神經網絡應用于眼科門診。本文涉及的技術于2021年7月15日通過我院倫理委員會審查(倫審號:2021-NT-38)和醫療新技術項目準入,已經正式投入我院臨床使用。
本文將BP神經網絡模型應用于SMILE手術角膜切削厚度預測,該方法將德國蔡司VisuMax設備中的計算作為一個黑箱模型,通過深度學習的方式進行了擬合,并使用Matlab軟件自帶的工具app designer設計了圖形用戶界面,通過該界面輸入患者信息和術前檢查參數后,臨床醫生能夠準確快速預測出切削厚度并計算出剩余基底厚度,判斷患者是否符合手術條件,提高臨床診療效率,更好地服務患者。
由于SMILE術后近視患者患眼角膜厚度逐漸增厚[18],并且角膜上皮厚度變化值與等效球鏡度、切削深度呈正相關[19],表明患者術后最終效果與預期效果可能存在偏差。徐新花等[20]對SMILE角膜實際切削深度與預計切削深度進行了回顧性研究,并得出中度及高度近視SMILE術后不同時間中央角膜實際切削深度均低于預計切削深度,并且高度近視切削偏差更大。李躍祖等[21]的研究發現,隨著術前屈光度增大,預測切削誤差亦增大。因此,未來可以應用本文設計的方法針對不同時間、術前檢查參數對SMILE術后最終效果的影響進行研究。
BP神經網絡作為一種人工神經網絡,其在SMILE手術角膜切削厚度預測中的應用是深度學習技術在醫學領域中發揮重要作用的一種方式。通過與傳統的多元線性回歸方法對比發現,BP神經網絡在數據預測方面的性能較高,能夠在眼科屈光手術工作日趨加重的背景下,幫助醫生快速判斷患者是否符合手術條件,準確預測角膜切削厚度,提高診療效率。