孫 宇,魏本征,劉 川,張魁星,叢金玉,3
1.山東中醫(yī)藥大學(xué) 智能與信息工程學(xué)院,濟(jì)南 250355
2.山東中醫(yī)藥大學(xué) 醫(yī)學(xué)人工智能研究中心,山東 青島 266122
3.山東中醫(yī)藥大學(xué) 青島中醫(yī)藥科學(xué)院,山東 青島 266122
自動(dòng)編碼器是深度學(xué)習(xí)中重要的無(wú)監(jiān)督算法之一,其以神經(jīng)網(wǎng)絡(luò)為支撐,能從大量無(wú)標(biāo)記數(shù)據(jù)中自動(dòng)提取特征,同時(shí)具有結(jié)構(gòu)簡(jiǎn)單、無(wú)監(jiān)督等優(yōu)點(diǎn)[1-2]。目前被廣泛應(yīng)用在數(shù)據(jù)分類(lèi)[3-4]、異常檢測(cè)[5-6]、模式識(shí)別[7-8]及數(shù)據(jù)生成[9-10]等領(lǐng)域。
近年來(lái),諸多研究者從特征提取方式、隱含層特征表達(dá)和重構(gòu)誤差損失等方面對(duì)傳統(tǒng)自動(dòng)編碼器進(jìn)行了諸多改進(jìn)。在特征提取方面,卷積自動(dòng)編碼器(convolutional auto-encoders,CAE)[11]、卷積降噪自動(dòng)編碼器(convolutional denoising auto-encoder,CDAE)[12]和張量自動(dòng)編碼器(tensor auto-encoder,TAE)[13]等被提出。其中CAE 使用卷積和池化的方式替代原有全連接(fully connection,F(xiàn)N)特征提取,以避免在二維信號(hào)特征提取過(guò)程中的空間信息損失;CDAE 通過(guò)對(duì)輸入信號(hào)增添一定噪聲形成受損信號(hào),通過(guò)對(duì)受損信號(hào)的特征學(xué)習(xí)以提升對(duì)不同信號(hào)的特征提取能力;TAE 是在大數(shù)據(jù)特征學(xué)習(xí)過(guò)程中使用張量對(duì)特征進(jìn)行表示,以解決大數(shù)據(jù)特征學(xué)習(xí)過(guò)程中向量無(wú)法建模等問(wèn)題。在隱含層特征表達(dá)方面,飽和自動(dòng)編碼器(saturating auto-encoders,SAE)[14]、變分自動(dòng)編碼器(variational auto-encoders,VAE)[15]和大邊緣自動(dòng)編碼器(large margin auto-encoders,LMAE)[16]等被提出。其中SAE 是在隱含層特征表達(dá)中增加一個(gè)正則項(xiàng),以使得所提取特征處于激活函數(shù)的飽和區(qū)域;VAE 在對(duì)輸入數(shù)據(jù)特征進(jìn)行學(xué)習(xí)的同時(shí)也對(duì)所提取特征的概率分布進(jìn)行學(xué)習(xí),再利用所學(xué)特征分布來(lái)產(chǎn)生與原始輸入類(lèi)似的數(shù)據(jù)。在重構(gòu)誤差損失方面,收縮自動(dòng)編碼器(contractive auto-encoders,Con-AE)[17]和區(qū)分自動(dòng)編碼器(discriminative auto-encoders,DAE)[18]等被提出。其中Con-AE 通過(guò)對(duì)重構(gòu)損失函數(shù)增加一個(gè)懲罰項(xiàng)來(lái)抑制特征在不相關(guān)方向上的擾動(dòng),以此實(shí)現(xiàn)特征收縮;DAE 通過(guò)對(duì)重構(gòu)損失函數(shù)增加一個(gè)區(qū)分正則項(xiàng)來(lái)增強(qiáng)對(duì)幾何結(jié)構(gòu)特征的區(qū)分性,以提升特征提取能力。
現(xiàn)有自動(dòng)編碼器雖已在特征提取方面取得了一定進(jìn)展,但仍存在編碼過(guò)程中缺乏特征融合,解碼過(guò)程中逐層上采樣導(dǎo)致模型效率低下,以及損失函數(shù)過(guò)早最優(yōu)化導(dǎo)致模型早熟等問(wèn)題。為解決上述問(wèn)題,本文設(shè)計(jì)了一種融減自動(dòng)編碼器(melting reduction auto-encoder,MRAE)。一方面,該算法在模型結(jié)構(gòu)方面提出了“融減網(wǎng)絡(luò)結(jié)構(gòu)”,以此建立特征層之間的聯(lián)系和提升解碼效率;另一方面,設(shè)計(jì)了一種聯(lián)合重構(gòu)損失函數(shù),用于特征之間的優(yōu)化和避免模型早熟[19]。在肺部CT 圖像上的實(shí)驗(yàn)結(jié)果表明,融減網(wǎng)絡(luò)結(jié)構(gòu)以及聯(lián)合重構(gòu)損失函數(shù)能夠顯著提升模型特征提取能力;同時(shí),融減自動(dòng)編碼器在肺部CT 圖像數(shù)據(jù)集和CvD(cats vs.dogs)數(shù)據(jù)集上均能提取到有效特征,且特征能力顯著優(yōu)于其他同類(lèi)算法。
傳統(tǒng)自動(dòng)編碼器網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖1 所示。傳統(tǒng)自動(dòng)編碼器主要由編碼器、解碼器和隱含層三部分構(gòu)成[20]。編碼器主要是對(duì)輸入信息進(jìn)行特征提取,解碼器是對(duì)特征進(jìn)行解碼恢復(fù),隱含層利用恢復(fù)信號(hào)和輸入信號(hào)間的重構(gòu)損失函數(shù)對(duì)特征進(jìn)行優(yōu)化。
Fig.1 Auto-encoder network structure圖1 傳統(tǒng)自動(dòng)編碼器網(wǎng)絡(luò)結(jié)構(gòu)
傳統(tǒng)自動(dòng)編碼器的編碼過(guò)程可描述為:
解碼過(guò)程可描述為:
重構(gòu)損失函數(shù)定義為:
式中,α為激活函數(shù),常用激活函數(shù)為Sigmoid 和ReLU 等[21];W和b為相鄰節(jié)點(diǎn)權(quán)重和偏置;*為卷積操作;X={x1,x2,…,xN}為輸入數(shù)據(jù),其中x為M維矢量;Z為隱含層特征;Y為輸出數(shù)據(jù);LAE(W,b)表示輸入信號(hào)和恢復(fù)信號(hào)的損失誤差。
目前自動(dòng)編碼器在圖像特征提取過(guò)程中隨著網(wǎng)絡(luò)加深所提取的特征會(huì)逐漸變得抽象,這容易使模型忽略輸入數(shù)據(jù)的細(xì)節(jié)特征;同時(shí)不相鄰特征層之間只能通過(guò)逐層前向傳播進(jìn)行特征傳遞,這使得前端局部特征無(wú)法和后端抽象特征直接進(jìn)行特征交互,最終限制了模型所提取特征的表達(dá)能力[22]。
本文為提高自動(dòng)編碼器對(duì)不同任務(wù)的泛化性和對(duì)相同任務(wù)的魯棒性,針對(duì)編碼器和解碼器的不同目標(biāo),提出一種融減網(wǎng)絡(luò)結(jié)構(gòu)。該結(jié)構(gòu)基于跳躍連接思想在編碼器中將前端局部特征和后端抽象特征進(jìn)行跨層融合,以加強(qiáng)前后不相鄰特征層間的信息交互,進(jìn)而提升目標(biāo)特征表達(dá)能力;在解碼器中通過(guò)縮減解碼層數(shù)避免逐層解碼造成特征損失和降低模型參數(shù)量[19]。
融減網(wǎng)絡(luò)結(jié)構(gòu)在編碼器中具體原理是將前端局部特征通過(guò)跳躍連接與后端抽象特征進(jìn)行融合,每層局部特征只傳遞一次,每層抽象特征也只與一層局部特征融合。融減網(wǎng)絡(luò)結(jié)構(gòu)的編碼原理如圖2 所示。
圖2 中,X表示原始輸入;Elayer={1,2,3}表示不同特征提取層;Z表示所提取特征。融減網(wǎng)絡(luò)結(jié)構(gòu)中編碼器的特征融合原理可表示為:
其中,Qk為第k層特征;Qa為第a層特征;Qd為第d層特征;β為激活函數(shù);Wa為第a特征層中節(jié)點(diǎn)權(quán)重;Wd為第d特征層中節(jié)點(diǎn)權(quán)重;Ea為第a特征層的輸入;Ed為第d特征層的輸入;bk為第k特征層偏置;*為卷積操作。
Fig.2 Encoder structure of ablation network structure圖2 融減網(wǎng)絡(luò)結(jié)構(gòu)編碼結(jié)構(gòu)
在解碼器中,為避免逐層解碼造成特征損失,提高解碼效率及降低模型參數(shù)量,融減網(wǎng)絡(luò)結(jié)構(gòu)按照恢復(fù)信號(hào)與輸入信號(hào)尺寸相等的原則對(duì)解碼器結(jié)構(gòu)進(jìn)行優(yōu)化[23]。融減網(wǎng)絡(luò)結(jié)構(gòu)的解碼結(jié)構(gòu)原理示意圖如圖3 所示。
Fig.3 Decoder structure of ablation network structure圖3 融減網(wǎng)絡(luò)結(jié)構(gòu)解碼結(jié)構(gòu)
圖3 中,Z表示解碼特征;Dlayer={1,2,3}表示不同解碼層;Y表示恢復(fù)信號(hào)。如圖3 所示,在解碼中通過(guò)增大每個(gè)解碼層輸出尺寸實(shí)現(xiàn)特征快速解碼,這不僅可降低逐層解碼過(guò)程中信息損失,也能提高特征解碼質(zhì)量;同時(shí)網(wǎng)絡(luò)層數(shù)的減少會(huì)降低模型參數(shù)量,提高模型的魯棒性和泛化性。
目前基于重構(gòu)誤差損失所改進(jìn)的自動(dòng)編碼器,主要是增加不同正則項(xiàng)實(shí)現(xiàn)對(duì)模型的松弛或限制?,F(xiàn)有模型僅對(duì)恢復(fù)信號(hào)和輸入信號(hào)計(jì)算重構(gòu)誤差損失以?xún)?yōu)化所提取的特征,在編碼器和解碼器的特征層之間缺乏聯(lián)系,這不僅容易使模型陷入早熟,也限制了模型特征學(xué)習(xí)能力。針對(duì)該問(wèn)題本文設(shè)計(jì)了一種新型的聯(lián)合重構(gòu)損失函數(shù),具體結(jié)構(gòu)示意圖如圖4所示。
其中,LMRAE(W,b)表示聯(lián)合重構(gòu)損失函數(shù);LMRAE(X,Y)表示輸入信號(hào)和恢復(fù)信號(hào)之間的重構(gòu)損失;LMRAE(E,D)表示對(duì)稱(chēng)特征層之間的重構(gòu)損失;N表示樣本組數(shù);上述兩個(gè)過(guò)程均用均方誤差損失函數(shù)。LMRAE(W,b)的具體定義如下:
如圖4 所示,本文在相互對(duì)稱(chēng)的特征層之間構(gòu)造了基于特征的重構(gòu)損失函數(shù),并與恢復(fù)信號(hào)和輸入信號(hào)之間的重構(gòu)損失函數(shù)按照相同權(quán)重形成聯(lián)合重構(gòu)損失函數(shù)。該函數(shù)通過(guò)在對(duì)稱(chēng)特征層之間建立聯(lián)系,不僅可使模型訓(xùn)練更加充分,也可有效避免模型早熟。
本文基于融減網(wǎng)絡(luò)結(jié)構(gòu)和聯(lián)合重構(gòu)損失函數(shù)提出了融減自動(dòng)編碼器。該模型以分辨率512×512 的肺部CT 圖像為例,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖5 所示。
在編碼器中:首先,為了增強(qiáng)對(duì)質(zhì)量各異信號(hào)的適應(yīng)能力以及減少訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù)之間的代溝,使模型學(xué)習(xí)到更加魯棒的特征和提升對(duì)信號(hào)的表達(dá)能力,基于降噪自動(dòng)編碼器思想,使用均勻分布產(chǎn)生噪聲對(duì)輸入信號(hào)進(jìn)行破壞以形成受損信號(hào)[24];其次,利用4 組卷積和池化操作對(duì)受損信號(hào)進(jìn)行特征提取和降維;最后,在特征提取的第3 特征層對(duì)第1 特征層進(jìn)行融合,在第4特征層對(duì)第2特征層進(jìn)行融合。
第3 層特征層融合后的特征可表示為:
第4 層特征層融合后的特征可表示為:
Fig.5 MRAE network structure圖5 融減自動(dòng)編碼器網(wǎng)絡(luò)結(jié)構(gòu)
其中,Q3和Q4分別表示融合后的第3 和第4 特征層;β為Sigmoid 激活函數(shù);*表示卷積操作;W和b分別為融合節(jié)點(diǎn)的權(quán)重和偏置。
在解碼器中,模型將原本應(yīng)與編碼器對(duì)稱(chēng)的4 層解碼層精簡(jiǎn)到2層,這不僅能提升模型效率和,也能避免多層解碼導(dǎo)致特征解碼損失增加;同時(shí)解碼層減少不僅降低了模型參數(shù)量,也能克服層數(shù)加深引起的梯度消失等問(wèn)題。網(wǎng)絡(luò)參數(shù)量統(tǒng)計(jì)表明,相同內(nèi)核的卷積自動(dòng)編碼器參數(shù)量為2 325 600,卷積降噪自動(dòng)編碼器參數(shù)量為2 473 056,而融減自動(dòng)編碼器參數(shù)量?jī)H為1 670 016,這分別下降了28.19%和32.47%。
在聯(lián)合重構(gòu)損失函數(shù)方面,模型在相互對(duì)稱(chēng)的編碼第2 特征層和解碼第1 特征層之間計(jì)算均方誤差損失,并與恢復(fù)信號(hào)和輸入信號(hào)的均方誤差損失形成聯(lián)合重構(gòu)損失一并進(jìn)行優(yōu)化。最終聯(lián)合損失函數(shù)可表示為:
其中,LMRAE(W,b)為最終的聯(lián)合損失函數(shù);LMRAE(W1,b)為輸入信號(hào)與恢復(fù)信號(hào)之間均方誤差;LMRAE(W2,b)為對(duì)應(yīng)特征層之間的均方誤差。其中,D1和D2分別表示解碼第1 和第2 特征層,x表示原始輸入;E2表示第2 特征編碼層。
在模型參數(shù)配置方面,融減自動(dòng)編碼器為提高特征提取質(zhì)量并減少模型參數(shù)量,在卷積和池化過(guò)程中均采用小尺寸內(nèi)核進(jìn)行特征提取和降維[25]。融減自動(dòng)編碼器網(wǎng)絡(luò)參數(shù)如表1 所示。
Table 1 MRAE network parameters表1 融減自動(dòng)編碼器網(wǎng)絡(luò)參數(shù)
本文實(shí)驗(yàn)分別使用中國(guó)胸部CT 圖像調(diào)查協(xié)會(huì)(CC-CCII)發(fā)布的肺部CT 圖像數(shù)據(jù)集[26]和CvD 數(shù)據(jù)集。其中肺部CT 圖像數(shù)據(jù)集中包含各類(lèi)常見(jiàn)肺炎以及正常肺部的CT 圖像共計(jì)60 余萬(wàn)張,單張圖像分辨率均為512×512;CvD 數(shù)據(jù)集包含貓和狗2 類(lèi)共37 500 張圖片,由于每張圖片的尺寸不同,本文在特征提取之前將每張圖片尺寸均格式化成384×384。
在肺部CT 圖像數(shù)據(jù)集中存在每個(gè)病例成像張數(shù)不同,所掃描圖像包含病灶圖像比例低,存在大量不含任何肺部特征信息的無(wú)效圖像等問(wèn)題[27]。為減少模型訓(xùn)練時(shí)間和無(wú)效圖像對(duì)模型訓(xùn)練的影響,本實(shí)驗(yàn)從各類(lèi)肺炎以及正常肺部圖像中隨機(jī)選取1 000張圖像,組成LC-2000 數(shù)據(jù)集;為進(jìn)一步驗(yàn)證模型性能,再?gòu)母黝?lèi)肺炎以及正常肺部圖像中隨機(jī)選取2 000張圖像,組成LC-4000 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。
本文使用LC-2000 和LC-4000 數(shù)據(jù)集對(duì)融減自動(dòng)編碼器的特征提取性能、融減網(wǎng)絡(luò)結(jié)構(gòu)以及聯(lián)合重構(gòu)損失函數(shù)的有效性進(jìn)行測(cè)試,使用CvD 數(shù)據(jù)集對(duì)融減自動(dòng)編碼器的泛化性進(jìn)行測(cè)試。在實(shí)驗(yàn)過(guò)程中為避免樣本劃分不一致導(dǎo)致的模型不穩(wěn)定等現(xiàn)象,本文采用交叉驗(yàn)證的方式將數(shù)據(jù)集劃分成5 份,其中訓(xùn)練集、驗(yàn)證集以及測(cè)試集的劃分比例為8∶1∶1。
3.3.1 融減自動(dòng)編碼器特征提取性能測(cè)試
為驗(yàn)證融減自動(dòng)編碼器特征提取性能,本文在LC-2000、LC-4000 數(shù)據(jù)集上依次采用卷積自動(dòng)編碼器、卷積降噪自動(dòng)編碼器和融減自動(dòng)編碼器進(jìn)行特征提取,并將所提取的特征分別使用支持向量機(jī)(support vector machine,SVM)、K-means 和分類(lèi)回歸決策樹(shù)(classification and regression tree,CART)分類(lèi)器進(jìn)行分類(lèi),不同自動(dòng)編碼器所提取特征的分類(lèi)準(zhǔn)確率如表2 所示。
由研究結(jié)果可知:首先,在測(cè)試集上與卷積自動(dòng)編碼器和卷積降噪自動(dòng)編碼器相比,融減自動(dòng)編碼器所提取特征的肺炎篩查準(zhǔn)確率在K-means 分類(lèi)器上平均提高15.9 個(gè)百分點(diǎn),在SVM 分類(lèi)器上平均提高15.33 個(gè)百分點(diǎn),在CART 分類(lèi)器上平均提高16.78個(gè)百分點(diǎn),這表明融減自動(dòng)編碼器在特征提取方面相比同類(lèi)算法具有更好的性能。其次,基于融減自動(dòng)編碼器所提取的特征在不同分類(lèi)器上的分類(lèi)準(zhǔn)確率均大于97%,說(shuō)明模型所提取特征對(duì)于不同肺部圖像具有較強(qiáng)的魯棒性。最后,融減自動(dòng)編碼器在驗(yàn)證集和測(cè)試集上所提取特征的分類(lèi)準(zhǔn)確率近乎相同且五折交叉驗(yàn)證的精度差距均在4%以?xún)?nèi),這表明模型有較強(qiáng)穩(wěn)定性和抗擬合能力。
Table 2 Comparison of classification accuracy of features extracted by different AE表2 不同編碼器所提取特征分類(lèi)準(zhǔn)確率對(duì)比
3.3.2 融減網(wǎng)絡(luò)結(jié)構(gòu)和聯(lián)合重構(gòu)損失函數(shù)性能測(cè)試
為驗(yàn)證融減網(wǎng)絡(luò)結(jié)構(gòu)、聯(lián)合重構(gòu)損失函數(shù)的有效性,本文以特征提取能力較強(qiáng)的卷積自動(dòng)編碼器為基礎(chǔ),分別在LC-2000、LC-4000 數(shù)據(jù)集上使用融減網(wǎng)絡(luò)結(jié)構(gòu)、聯(lián)合重構(gòu)損失函數(shù)對(duì)其進(jìn)行改進(jìn),并將改進(jìn)后模型所提取的特征分別使用SVM、K-means 和CART 分類(lèi)器進(jìn)行肺炎篩選,以此驗(yàn)證融減網(wǎng)絡(luò)結(jié)構(gòu)、聯(lián)合重構(gòu)損失函數(shù)的有效性,改進(jìn)后卷積自動(dòng)編碼器所提取特征分類(lèi)準(zhǔn)確率如表3 所示。
由表3 分析可知,在測(cè)試集上與卷積自動(dòng)編碼器相比,利用融減網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)后卷積自動(dòng)編碼器所提取特征的肺炎篩查準(zhǔn)確率在K-means 分類(lèi)器上平均提高了8.56 個(gè)百分點(diǎn),在SVM 分類(lèi)器上平均提高了9.57 個(gè)百分點(diǎn),在CART 分類(lèi)器上平均提高了9.35個(gè)百分點(diǎn),這說(shuō)明融減網(wǎng)絡(luò)結(jié)構(gòu)和聯(lián)合重構(gòu)損失函數(shù)對(duì)模型性能提升具有顯著的有效性。
Table 3 Comparison of classification accuracy of features extracted by improved CAE表3 改進(jìn)后卷積自動(dòng)編碼器所提取特征分類(lèi)準(zhǔn)確率對(duì)比
3.3.3 融減自動(dòng)編碼器泛化性能測(cè)試
為進(jìn)一步驗(yàn)證融減自動(dòng)編碼器的泛化性,本文在CvD 數(shù)據(jù)集上分別使用卷積自動(dòng)編碼器、卷積降噪自動(dòng)編碼器以及融減自動(dòng)編碼器進(jìn)行特征提取,并將提取后的特征使用全連接進(jìn)行樣本分類(lèi),以此來(lái)驗(yàn)證融減自動(dòng)編碼器在不同數(shù)據(jù)集上以及采用不同分類(lèi)方式時(shí)模型的泛化性。在CvD 數(shù)據(jù)集的測(cè)試集上不同算法分類(lèi)準(zhǔn)確率如圖6 所示。
Fig.6 Comparison of classification accuracy of features extracted on CvD testset圖6 在CvD 測(cè)試集中所提取特征分類(lèi)準(zhǔn)確率對(duì)比
由圖6 可知,融減自動(dòng)編碼器在CvD 數(shù)據(jù)集測(cè)試過(guò)程中與卷積自動(dòng)編碼器和卷積降噪自動(dòng)編碼器相比,準(zhǔn)確率平均提高33.55 個(gè)百分點(diǎn)以上,這說(shuō)明在不同數(shù)據(jù)集上融減自動(dòng)編碼器特征提取能力均顯著優(yōu)于同類(lèi)算法。值得指出的是,融減自動(dòng)編碼器不同折數(shù)之間準(zhǔn)確率平方差僅為1.20,這表明融減自動(dòng)編碼器在不同圖像特征提取任務(wù)中具有較強(qiáng)的魯棒性。
本文提出了一種融減自動(dòng)編碼器,該模型可有效解決現(xiàn)有自動(dòng)編碼器特征缺乏融合、信息損失過(guò)多以及模型容易早熟等問(wèn)題。一方面,該模型利用所提出的融減網(wǎng)絡(luò)結(jié)構(gòu)在提高特征質(zhì)量的同時(shí),可有效降低模型參數(shù)量;另一方面,利用所提出的聯(lián)合重構(gòu)損失函數(shù)不僅加強(qiáng)了中間特征層的聯(lián)系,而且可有效避免模型早熟。
研究結(jié)果表明,融減網(wǎng)絡(luò)結(jié)構(gòu)和聯(lián)合損失重構(gòu)函數(shù)對(duì)模型圖像特征提取能力的提升有顯著作用,同時(shí)融減自動(dòng)編碼器對(duì)參數(shù)初始值依賴(lài)較小且在不同類(lèi)型圖像特征提取方面均有良好的魯棒性,是一種無(wú)監(jiān)督圖像特征提取的有效方法。雖然“融減網(wǎng)絡(luò)結(jié)構(gòu)”解碼器中層數(shù)精簡(jiǎn)能提升模型運(yùn)算效率和減少特征解碼損失,但也會(huì)因解碼步長(zhǎng)過(guò)大造成恢復(fù)信號(hào)粗糙以及部分細(xì)節(jié)特征遺漏等,在部分任務(wù)中容易導(dǎo)致模型性能降低。在未來(lái)的工作中,可進(jìn)一步優(yōu)化融減網(wǎng)絡(luò)結(jié)構(gòu)以及聯(lián)合重構(gòu)損失函數(shù)各組成部分的權(quán)重系數(shù),使融減自動(dòng)編碼器具有更好特征提取能力的同時(shí),也能在不同任務(wù)需求中發(fā)揮更大的作用。