吳能光 王華珍* 許曉泓 劉俊龍 何 霆 吳謹(jǐn)準(zhǔn)
1(華僑大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 福建 廈門 361021)2(廈門大學(xué)附屬第一醫(yī)院兒科 福建 廈門 361003)
X線胸片(Chest X-ray)是輔助診斷肺部相關(guān)疾病的醫(yī)學(xué)影像。胸片能同時(shí)展示肺部炎癥、腫塊、肺結(jié)核、氣胸等一種或多種醫(yī)學(xué)病理特征,因此胸片診斷是典型的多標(biāo)記問題。2017年,美國(guó)國(guó)立衛(wèi)生研究院開源了數(shù)據(jù)量巨大且多標(biāo)記標(biāo)注的胸片數(shù)據(jù)集Chest X-ray14[1],胸片多標(biāo)記診斷開始引起學(xué)界廣泛關(guān)注。Haloi等[2]提出基于卷積神經(jīng)網(wǎng)絡(luò)的在線增強(qiáng)分類網(wǎng)絡(luò)來(lái)輔助胸部疾病診斷。Boosted等[3]基于深度卷積神經(jīng)網(wǎng)絡(luò)定義了全新的損失函數(shù)來(lái)處理多標(biāo)記和不平衡的胸片數(shù)據(jù)集。Abiyev等[4]對(duì)比了多種神經(jīng)網(wǎng)絡(luò)模型(卷積神經(jīng)網(wǎng)絡(luò)、反向傳播神經(jīng)網(wǎng)絡(luò)、無(wú)監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò))的胸部疾病診斷性能。但這些研究?jī)H僅是傳統(tǒng)多標(biāo)記模型在胸片診斷問題上的應(yīng)用,并沒有考慮胸片診斷的高風(fēng)險(xiǎn)特性。胸片診斷屬于典型的高風(fēng)險(xiǎn)領(lǐng)域,診斷失敗將導(dǎo)致嚴(yán)重的后果。這需要診斷模型能對(duì)輸出結(jié)果附帶置信度評(píng)估,以確保足夠的安全保障。另 外,臨床上需要對(duì)單個(gè)患者進(jìn)行獨(dú)立的風(fēng)險(xiǎn)評(píng)估,而非通過統(tǒng)計(jì)運(yùn)算獲得。總之,多標(biāo)記胸片置信診斷模型研究具有重要的現(xiàn)實(shí)和學(xué)術(shù)價(jià)值。
對(duì)于上述情況,本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)[5]與歸納一致性預(yù)測(cè)器[6]的多標(biāo)記胸片置信診斷模型MLICP-CNN。該模型能為每個(gè)被測(cè)數(shù)據(jù)提供附帶置信度的預(yù)測(cè)集,并且其置信度是可校準(zhǔn)的。MLICP-CNN模型將學(xué)習(xí)數(shù)據(jù)劃分為訓(xùn)練集和校準(zhǔn)集,通過使用CNN從訓(xùn)練樣本中學(xué)習(xí)出規(guī)則D,基于D和校準(zhǔn)集使用算法隨機(jī)性對(duì)被測(cè)數(shù)據(jù)進(jìn)行置信預(yù)測(cè)。規(guī)則D利用CNN高度特征抽取能力有效提取了訓(xùn)練集中的信息,從而提升了模型的預(yù)測(cè)效率。通過算法隨機(jī)性檢驗(yàn)把被測(cè)數(shù)據(jù)的預(yù)測(cè)問題轉(zhuǎn)化成學(xué)習(xí)數(shù)據(jù)集分布的統(tǒng)計(jì)檢驗(yàn)問題,其置信度評(píng)估具有統(tǒng)計(jì)意義的理論可校準(zhǔn)性。
本文的主要貢獻(xiàn)如下:
1) 提出MLICP-CNN模型,能提供可校準(zhǔn)的多標(biāo)記置信預(yù)測(cè)。
2) 設(shè)計(jì)類別敏感的樣本奇異值函數(shù),能根據(jù)樣本類別自適應(yīng)測(cè)量奇異值,提升預(yù)測(cè)效率。
3) 關(guān)注胸片數(shù)據(jù)集Chest X-ray14的高風(fēng)險(xiǎn)特性,引入置信機(jī)制。
通過X線胸片來(lái)診斷肺部等疾病極具挑戰(zhàn)性,為了克服人類的認(rèn)知偏倚和效率低下等局限性,X線胸片智能輔助診斷模型研究成為眾多學(xué)者的研究對(duì)象。其中最具代表性的是基于CNN的診斷模型研究。CNN是一種卷積層與采樣層交替設(shè)置的多層神經(jīng)網(wǎng)絡(luò)。卷積層使用局部權(quán)值共享機(jī)制提取不同角度的局部特征。采樣層能進(jìn)行有效的特征抽象。CNN的局部特征提取和高層次特征抽象能避免對(duì)圖像復(fù)雜的特征提取和數(shù)據(jù)重建過程,可以直接輸入原始圖像,尤為適用于圖像模式辨識(shí)問題,因此,在胸片診斷領(lǐng)域獲得較為廣泛的應(yīng)用。
不同學(xué)者針對(duì)胸片診斷的具體問題設(shè)計(jì)了不同的CNN模型,Rajpurkar等[7]則提出基于121層稠密卷積神經(jīng)網(wǎng)絡(luò)(Densent-121)并采用二元交叉信息熵作為損失函數(shù)來(lái)構(gòu)建胸片肺炎診斷模型。Dong等[8]對(duì)比vgg16和ResNet-101等多種卷積神經(jīng)網(wǎng)絡(luò)模型來(lái)確定胸片異常檢測(cè)的最優(yōu)模型。Qin等[9]采用4層卷積神經(jīng)網(wǎng)絡(luò)對(duì)胸片做分割任務(wù)。
2017年,開源的Chest X-ray14[1]數(shù)據(jù)集不僅數(shù)量巨大并且每張胸片對(duì)應(yīng)一個(gè)或多個(gè)標(biāo)簽,引發(fā)學(xué)術(shù)界對(duì)多標(biāo)記胸片模型的研究。目前,對(duì)Chest X-ray14數(shù)據(jù)集多標(biāo)記學(xué)習(xí)問題的研究思路大多采用二元相關(guān)方法,將數(shù)據(jù)集分解為14個(gè)單標(biāo)記問題,進(jìn)而分別進(jìn)行模型構(gòu)建和AUC性能評(píng)估。典型的工作有Wang等[1]的研究,但其模型性能表現(xiàn)欠佳。Baltruschat等[10]對(duì)比了多種深度學(xué)習(xí)方法在Chest X-ray14數(shù)據(jù)集的多標(biāo)記分類評(píng)估性能。Cai等[11]在CNN中引入注意力機(jī)制,從而提升模型對(duì)疾病類型的敏感性和顯著性。以上研究雖然考慮了胸片診斷的多標(biāo)記特性,但還沒有考慮到胸片診斷的高風(fēng)險(xiǎn)特性。
在ICP框架中,被測(cè)數(shù)據(jù)的預(yù)測(cè)問題轉(zhuǎn)化成學(xué)習(xí)數(shù)據(jù)集分布的統(tǒng)計(jì)檢驗(yàn)問題。具體地,ICP使用算法隨機(jī)性檢驗(yàn)對(duì)被測(cè)數(shù)據(jù)進(jìn)行預(yù)測(cè),采用置信度作為預(yù)測(cè)結(jié)果的風(fēng)險(xiǎn)評(píng)估。ICP是CP[12]理論的修正模型,其與CP的區(qū)別在于預(yù)先將學(xué)習(xí)樣本劃分為訓(xùn)練集和校準(zhǔn)集,使用歸納推理從訓(xùn)練樣本中學(xué)習(xí)出規(guī)則D,進(jìn)而基于D和校準(zhǔn)集使用算法隨機(jī)性檢驗(yàn)對(duì)被測(cè)數(shù)據(jù)進(jìn)行置信預(yù)測(cè)。

(1)

(2)
(3)
滿足式(3)稱為置信預(yù)測(cè)具有可校準(zhǔn)性[13]。
當(dāng)面對(duì)大數(shù)據(jù)學(xué)習(xí)問題時(shí),ICP能提高運(yùn)算效率,其算法示意圖如圖1所示。

圖1 ICP算法示意圖
圖1中,學(xué)習(xí)樣本中的前m個(gè)用于構(gòu)建規(guī)則D,剩余n-m+1個(gè)樣本利用規(guī)則D來(lái)計(jì)算樣本奇異值ai,i=m+1,m+2,…,n。可見,ICP以規(guī)則D為傳遞媒介將所有學(xué)習(xí)樣本都參與到置信預(yù)測(cè)中,從而保證了被測(cè)數(shù)據(jù)的可校準(zhǔn)性。
本文提出的MLICP-CNN算法以ICP框架為核心,將學(xué)習(xí)數(shù)據(jù)劃分為訓(xùn)練集和校準(zhǔn)集,對(duì)應(yīng)地分為歸納推理和置信預(yù)測(cè)兩個(gè)階段。已知多標(biāo)記學(xué)習(xí)數(shù)據(jù)集為Zn={z1,z2,…,zn},單個(gè)被測(cè)數(shù)據(jù)xn+1。數(shù)據(jù)集Zn被分割成訓(xùn)練集為Zm={z1,z2,…,zm}和校準(zhǔn)集Zv={zm+1,zm+2,…,zn},m+v=n。MLICP-CNN算法示意圖如圖2所示,Zm用于訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型,Zv作為校準(zhǔn)集參與xn+1的置信預(yù)測(cè)。

圖2 MLICP-CNN算法示意圖
本階段屬于歸納推理階段,對(duì)訓(xùn)練樣本進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)CNN模型構(gòu)建,即CNN模型為規(guī)則D。
CNN是一個(gè)多層的神經(jīng)網(wǎng)絡(luò),包括嵌入層、卷積層、池化層、全連接層四個(gè)部分。CNN通過輸入層的卷積計(jì)算,每塊局部的輸入?yún)^(qū)域鏈接一個(gè)輸出神經(jīng)元。
運(yùn)用不同卷積計(jì)算可以形成多通道輸出,進(jìn)而通過池化層采樣,最后匯總輸出結(jié)果。CNN能夠進(jìn)行樣本特征的自動(dòng)、多層次和多角度提取,具有良好的建模能力。
針對(duì)多標(biāo)記數(shù)據(jù)集,CNN將多標(biāo)記標(biāo)簽集作為網(wǎng)絡(luò)的輸出層結(jié)果,即輸出層有多個(gè)真實(shí)標(biāo)簽。在訓(xùn)練多標(biāo)記數(shù)據(jù)集時(shí),我們采用二元交叉熵?fù)p失來(lái)定義損失函數(shù):
(1-θq)logp(Tq=0|X))]
(4)
式中:q∈{1,2,…,Q}類別,p(Tq=1|X)表示包含類別q的概率,p(Tq=0|X)表示不包含類別q的概率。θq表示類別q是否存在即θq∈{1,0}。
在置信預(yù)測(cè)階段,我們利用CNN模型來(lái)獲取被測(cè)樣本序列每個(gè)樣本的奇異值,進(jìn)而在指定風(fēng)險(xiǎn)水平下產(chǎn)生多標(biāo)記預(yù)測(cè)集。該預(yù)測(cè)集附帶了置信度作為預(yù)測(cè)結(jié)果的風(fēng)險(xiǎn)評(píng)估水平。置信預(yù)測(cè)的算法思想具體包含以下幾個(gè)方面:
2.2.1基于二元標(biāo)記的模式轉(zhuǎn)換

2.2.2奇異映射

(5)

為了充分利用校準(zhǔn)集的信息,可以進(jìn)一步將校準(zhǔn)集數(shù)據(jù)的真實(shí)標(biāo)簽融入奇異值函數(shù)設(shè)計(jì)中,因此可設(shè)計(jì)出另一個(gè)奇異值函數(shù),如下式所示:
(6)
上述公式可以根據(jù)校準(zhǔn)集樣本的真實(shí)標(biāo)簽修正CNN輸出的類概率,使得類概率更接近真實(shí)值,從而獲得更小的奇異值來(lái)修正校準(zhǔn)集樣本中每個(gè)樣本的離群性。
綜上所述,我們將基于式(5)的模型稱為MLICP-CNN,而將采用式(6)的模型稱為類別敏感MLICP-CNN(記為L(zhǎng)S-MLICP-CNN)。
2.2.3隨機(jī)水平P值

(7)

2.2.4置信輸出
(8)
基于以上算法原理,本文提出的MLICP-CNN算法流程如算法1所示。

算法1 MLICP-CNN算法輸入:多標(biāo)記數(shù)據(jù)集Zn={z1,z2,…,zn}和單個(gè)被測(cè)數(shù)據(jù)xn+1,風(fēng)險(xiǎn)評(píng)估水平ε輸出:預(yù)測(cè)標(biāo)記集Γεn+1① 數(shù)據(jù)劃分把Zn={z1,z2,…,zn}集劃分為訓(xùn)練集Zm和校準(zhǔn)集Zv,其中m+v=n;zi=(xi,Yi={yq,q=1,2,…,Q})② 模式轉(zhuǎn)化多標(biāo)記校準(zhǔn)集Zv轉(zhuǎn)換成Q組單標(biāo)記二分類數(shù)據(jù)集Zqv={zqm,zqm+1,…,zqn}(q=1,2,…,Q),即for q=1 to Q do zqi=(xi,yqi),yqi∈(0,1)③ CNN模型訓(xùn)練使用Zm數(shù)據(jù)通過式(4)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)D。④ 奇異映射for q=1 to Q do對(duì)校準(zhǔn)集使用式(5)或式(6)計(jì)算每個(gè)二分類問題檢驗(yàn)樣本集的奇異值序列Λqv={aqi,i=m+1,…,n};for q=1 to Q do對(duì)xn+1 利用式(5)計(jì)算奇異值a0qn+1和a1qn+1。⑤ 計(jì)算隨機(jī)水平值(P-value)for q=1 to Q do根據(jù)式(7)計(jì)算出xn+1的隨機(jī)水平值p1qn+1和p0qn+1⑥ 域預(yù)測(cè)for q=1 to Q do根據(jù)式(8)計(jì)算出xn+1的預(yù)測(cè)集Γε,qn+1EndΓεn+1={∪Γε,qn+1,q=1,2,…,Q}
本文使用的Chest X-ray14[1]數(shù)據(jù)集屬于公開發(fā)布的開源數(shù)據(jù)集,該數(shù)據(jù)集采集自30 805 名患者的正面X線胸片,數(shù)據(jù)集規(guī)模為 112 120 張。每張X 線胸片圖像對(duì)應(yīng)一個(gè)或多個(gè)標(biāo)簽,涵蓋了14 種病理(肺不張、變實(shí)、浸潤(rùn)、氣胸、水腫、肺氣腫、纖維變性、積液、肺炎、胸膜增厚、心臟肥大、結(jié)節(jié)、腫塊、疝氣)。整個(gè)胸片數(shù)據(jù)集被劃分成訓(xùn)練集(70%)、校準(zhǔn)集(20%)和測(cè)試集(10%)。我們進(jìn)一步將圖片數(shù)據(jù)放縮到224×224,并對(duì)圖片進(jìn)行了均值和方差化,并通過隨機(jī)水平翻轉(zhuǎn)擴(kuò)增每部分的樣本量。
在此基礎(chǔ)上,Chest X-ray14數(shù)據(jù)集的訓(xùn)練集設(shè)置為MLICP-CNN的訓(xùn)練集,用于訓(xùn)練CNN模型。而校準(zhǔn)集則用于MLICP的置信預(yù)測(cè)階段,測(cè)試集為本實(shí)驗(yàn)的測(cè)試集。
我們使用DenseNets-121[14]、DenseNets-169[14]、Resnet-50[15]三種不同架構(gòu)來(lái)訓(xùn)練CNN模型。每個(gè)架構(gòu)的全連接輸出層維度由標(biāo)準(zhǔn)的1 000替換為14,并采用非線性 sigmoid 函數(shù)作為輸出函數(shù)。三種架構(gòu)對(duì)其他參數(shù)的設(shè)置全部相同:權(quán)重隨機(jī)初始化,采用Adam[16]進(jìn)行優(yōu)化(選用的參數(shù)是:β1=0.9 和β2=0.999)。批量數(shù)據(jù)大小為32,初始學(xué)習(xí)速率設(shè)置為0.01。


2) 確定預(yù)測(cè)率(certain prediction):指的是輸出域只含一個(gè)預(yù)測(cè)值的比率。
3) 空集率(empty prediction):指的是輸出域?yàn)榭占谋嚷省?/p>
4) 理想預(yù)測(cè)率(favorite prediction):指的是輸出域只含一個(gè)預(yù)測(cè)值、并且該值是正確的比率。
3.4.1置信度的可校準(zhǔn)性展示
可校準(zhǔn)性指的是在指定算法風(fēng)險(xiǎn)水平ε(其對(duì)應(yīng)的置信度為1-ε)下,預(yù)測(cè)正確率是大于或等于對(duì)應(yīng)的置信度1-ε。圖3展示不同模型的可校準(zhǔn)性,橫坐標(biāo)代表置信度,縱坐標(biāo)代表準(zhǔn)確率。

圖3 對(duì)比不同模型的可校準(zhǔn)性
在圖3中,對(duì)角線稱為基準(zhǔn)線,表示準(zhǔn)確率嚴(yán)格等于置信度值,在這種情況下,其置信度評(píng)估稱為恰好有效。由圖3可見,在各種不同的置信度下,LS-MLICP-CNN 的準(zhǔn)確率基本等于置信度,MLICP-CNN的準(zhǔn)確率嚴(yán)格等于置信度,說明本文提出的算法恰好有效。而CNN的準(zhǔn)確率都大于置信度,則說明CNN的類概率評(píng)估不具有嚴(yán)格校準(zhǔn)性。
根據(jù)ICP理論,規(guī)則D和樣本奇異值函數(shù)的設(shè)計(jì)會(huì)影響預(yù)測(cè)效率[5],因此我們對(duì)這兩種因素進(jìn)行檢驗(yàn)。本實(shí)驗(yàn)分別在臨床常用的95%和98%置信度條件下對(duì)算法的預(yù)測(cè)效率進(jìn)行展示,結(jié)果如表1和表2所示。

表1 MLICP-CNN預(yù)測(cè)效率比較(95%置信度) %

表2 MLICP-CNN預(yù)測(cè)效率比較(98%置信度) %
表1和表2展示不同CNN架構(gòu)各種模型的預(yù)測(cè)效率。從表1可以看出, Resenet50/ LS-MLICP參數(shù)配置下模型的綜合性能最好,即采用Resenet50的CNN架構(gòu)和LS-MLICP的奇異值映射函數(shù)下,模型的確定預(yù)測(cè)率和理想預(yù)測(cè)率的數(shù)值最高。進(jìn)一步地,我們展示因素對(duì)預(yù)測(cè)效率的影響,以方差形式進(jìn)行計(jì)算。以理想預(yù)測(cè)率為例,在相同的MILCP奇異值函數(shù)下,三種CNN架構(gòu)造成的波動(dòng)約為4.67×10-4,而相同LS-MILCP奇異值函數(shù)下,三種CNN架構(gòu)造成的波動(dòng)約為4.67×10-4。另外,在相同Densent169架構(gòu)下,不同奇異函數(shù)造成的波動(dòng)是1.674。在相同Densent121架構(gòu)下,不同奇異函數(shù)造成的波動(dòng)約為1.656。在相同Resenet 50架構(gòu)下,不同奇異函數(shù)造成的波動(dòng)約為1.748。以上說明,CNN架構(gòu)對(duì)預(yù)測(cè)效率的影響程度遠(yuǎn)遠(yuǎn)小于奇異函數(shù)設(shè)計(jì)的不同。從表2可見,其結(jié)果和趨勢(shì)與表1一致。
本文提出一種基于CNN與歸納一致性預(yù)測(cè)器(ICP)的多標(biāo)記胸片置信診斷模型MLICP-CNN。該模型是一種能獨(dú)立為每一個(gè)測(cè)試數(shù)據(jù)提供有效置信度預(yù)測(cè)的學(xué)習(xí)框架,其核心技術(shù)包括歸納推理和算法隨機(jī)性測(cè)試,前者用于構(gòu)建學(xué)習(xí)規(guī)則D,后者來(lái)獲取檢驗(yàn)樣本序列每個(gè)樣本的樣本奇異值,進(jìn)而在指定風(fēng)險(xiǎn)水平下產(chǎn)生多標(biāo)記預(yù)測(cè)集。
在對(duì)Chest X-ray14胸片數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明, MLICP-CNN模型在臨床常用的95%置信度下,模型準(zhǔn)確率為95%,體現(xiàn)了置信度評(píng)估的恰好可校準(zhǔn)性。而且采用Resenet50的CNN架構(gòu)和LS-MLICP的奇異值映射函數(shù)下,模型性能最好,其確定預(yù)測(cè)率為96.43%,理想預(yù)測(cè)率為92.31%。另外,CNN架構(gòu)對(duì)預(yù)測(cè)效率的影響程度遠(yuǎn)遠(yuǎn)小于奇異函數(shù)設(shè)計(jì)的不同。
本文提出的模型能夠解決個(gè)性化胸片診斷的高風(fēng)險(xiǎn)評(píng)估問題,使胸片診斷更加符合醫(yī)療的需求。未來(lái)的工作包括設(shè)計(jì)更多的奇異函數(shù)、探討進(jìn)一步提高模型效率的途徑以及多標(biāo)記問題的其他轉(zhuǎn)化方法等。