?

基于SVM的流形正則堆疊膠囊自編碼器優化算法

2023-12-14 00:46王魯娜杜洪波朱立軍
關鍵詞:編碼器準確率卷積

王魯娜,杜洪波*,朱立軍

(1.沈陽工業大學 理學院,沈陽 110870;2.北方民族大學 信息與計算科學學院,銀川 750021)

近年來,自編碼器已成為深度學習模塊無監督學習中的重要學習方法,被成功應用于圖像分類[1-5]、圖像識別[6-8]、異常檢測[9-11]等諸多領域。自1986年傳統自編碼器被提出后[12],已被廣泛研究并產生了各種改進。2008年Vincent等[13]人為地對干凈的輸入信號加入噪聲進行破壞,提出了降噪自編碼器,使得自編碼器模型更具有魯棒性。通過對傳統自編碼器增加一些稀疏性約束,研究人員提出了稀疏自編碼器,極大地降低了數據維度,提升了模型性能[14]。因卷積神經網絡發展快速且表現優異,卷積自編碼器隨之產生[15]。其通過對輸入信號進行線性變換,實現了權重共享,很好地保留了圖像特征信息中的空間信息。2014年提出的變分自編碼器利用反向傳播算法進行快速訓練[16],自動生成與訓練數據類似的輸出,其主要用于數據生成領域。自編碼器還有更多復雜的變種,袁非牛等[17]對傳統自編碼器及各種改進的自編碼器進行了詳細的理論和創新點分析,對其實際應用也進行了相關介紹。

堆疊膠囊自編碼器(stacked capsule autoencoder,SCAE)是繼Hinton團隊的向量膠囊網絡和矩陣膠囊網絡后的第3個膠囊網絡模型[18-20]。相比于有標簽學習的向量膠囊和矩陣膠囊,堆疊膠囊自編碼器屬于無監督網絡模型,其將圖像中的部件先利用二維空間進行重建,再通過重構的方式將部件與整體的關系解釋出來。Dai等[21]發現SCAE存在安全漏洞,因此先在編碼器中加入擾動攻擊,使得圖像被錯誤分類,然后對該攻擊進行評估,結果表明其具有較高的成功率和隱蔽性。Xiang等[22]針對SCAE中的固定模板,提出可以動態生成的模板——動態膠囊自編碼器(capsule autoencoder based on dynamic part representation,DPR-CAE),極大提高了模型的魯棒性。2022年趙禎[23]提出了孿生堆疊膠囊自編碼器,采用先無監督訓練、后微調的方法,提高了圖像識別的準確率。王魯娜等[24]針對SCAE模型對圖像局部特征挖掘不充分、檢測速度慢的問題,提出了基于流形正則的堆疊膠囊自編碼器(stacked capsule autoencoder based on manifold regularization,MRSCAE)優化算法,將流形正則項引入損失函數中,極大提高了模型的訓練速度和圖像分類準確率。

另外,在將自編碼器應用于圖像分類的領域時,支持向量機(support vector machine,SVM)作為無監督編碼器模型的分類器似乎更為優異[25-27]。因此,在前期MRSCAE模型研究基礎上,進一步對模型進行改進,提出SVM-MRSCAE模型,主要研究內容如下:

1) 由于SCAE模型使用K均值(K-means)算法對圖像數據集進行分類,但并不適合形狀特征復雜的數據集,因此采用SVM對圖像數據集進行分類,并采用不同核函數進行對比實驗,以獲得更精確的分類結果;

2) 對于SVM-MRSCAE模型,針對不同編碼類型以及不同噪聲類型進行對比實驗,并利用MNIST和Fashion MNIST圖像數據集來做分類任務,綜合實驗結果進行對比,驗證該模型的有效性。

1 理論基礎

1.1 SCAE模型介紹

SCAE模型由部件膠囊自編碼器(part capsule autoencoder,PCAE)和目標膠囊自編碼器(object capsule autoencoder,OCAE)組成。當圖像被輸入到該模型后,首先在PCAE階段,模型提取構成圖像中目標部分的姿態、存在、特征,并存儲在部件膠囊中。然后在OCAE階段,模型使用Set Transformer機制將這些提取出的部件組合成不同對象,計算每個對象的存在和姿態,并將它們存儲在目標膠囊中,以進行自動編碼操作。最后,使用K-means分類器預測圖像的標簽。

(1)

在PCAE階段通過最大化式(1)的圖像似然來訓練,而在OCAE階段利用Set Transformer機制作為這個階段的編碼器,從而實現模板的排列不變性和尺度不變性。在OCAE階段,將所有不同的輸入點均編碼到K個目標膠囊中,每個目標膠囊k都由1個目標與觀察者視角(object viewer,OV)矩陣、存在概率ak,m∈[0,1] 和1個膠囊特征向量ck組成,將每個輸入部件建模為高斯混合模型,最終在OCAE階段得到的部件損失Lpa可表示為

(2)

SCAE模型通過最大化式(1)和式(2)的對數概率進行訓練,但僅通過上述損失訓練無法得到更優秀的模型。為了訓練魯棒性更好的編碼器,引入稀疏性損失。對于1個具有M個部件膠囊和K個目標膠囊的B尺寸的小批量集合,定義稀疏性損失Ls為

(3)

1.2 自編碼器類型介紹

1.2.1 線性自編碼器 線性自編碼器(linear autoencoder)基于最優化方法與反向傳播算法進行迭代學習。利用輸入數據x本身作為監督,線性編碼器可得到1個映射關系,并最終得到1個重構輸出Y。其編碼和解碼過程可描述如下:

編碼過程:h=σe(W1x+b1),

(4)

解碼過程:Y=σd(W2h+b2),

(5)

其中,h為特征圖,W1、b1、W2、b2分別為編碼和解碼階段的權重和偏置,σ(·)表示非線性變換函數。文中所提模型采用線性編碼器,因此令σ(·)=1。

1.2.2 卷積自編碼器 卷積自編碼器(convolutional autoencoder)利用卷積層和池化層替代了全連接層。設初始化k個卷積核(W),每個卷積核均加入1個偏置b,與輸入數據x進行卷積后生成k個特征圖h,則有公式如下:

hk=fconv(x·Wk+bk),

(6)

其中,fconv(·)表示卷積操作。解碼層利用反卷積操作將輸入特征進行上采樣,對得到的hk特征圖進行重構,可表示為

Y=fdeconv(hk·W-k+c),

(7)

其中,fdeconv(·)表示反卷積操作,c為偏置。

1.2.3 基于自注意力機制的卷積自編碼器 由于自注意力機制可以重點關注圖像的重要特征,從而提高模型精度,因此被廣泛應用于圖像特征提取和圖像識別等機器學習任務中。在計算機視覺領域,自注意力機制可表示為

(8)

其中,dk為縮放因子,其取值表示K的維度,T表示轉置。Q,K,V可分別由下式表示:

Q=fflatten(x·θ),

(9)

K=fflatten(x·φ),

(10)

V=fflatten(x·g),

(11)

其中,θ、φ、g均為神經網絡中注意力模塊的超參數,fflatten(·)表示全連接操作,x表示輸入數據。

2 SVM-MRSCAE模型介紹

在自編碼器進行圖像分類領域中,SVM作為無監督模型的分類器,在對模型提取的圖像特征分類方面表現更為優異。因此在前期建立的MRSCAE模型基礎上進一步改進,提出SVM-MRSCAE模型。

2.1 SVM介紹

SVM在機器學習的圖像分類領域中有著廣泛應用,該模型將每個樣本數據逐一映射到高維空間中,空間中每個點都代表1個樣本數據,以此區分出不同的樣本點類型。在線性不可分問題中,SVM決策邊界的超平面表示如下所示:

表1 在不同數據集上不同類型編碼器的最優分類準確率Tab.1 Optimal classification accuracy of different encoders on different datasets

ωTφ(X)+b=0,

(12)

其中,X為圖像特征數據,T表示轉置,b為偏置,ω為超平面的法向量,φ(·)表示映射函數。由于映射函數形式復雜且多種多樣,內積公式難以計算,因此設計了通過核函數來回避內積的顯式計算。

核函數的選擇對SVM模型分類效果的影響異常重要,但迄今為止還沒有公認較好的選擇標準。為獲得更精確的分類結果,文章將不同的核函數加入SVM中,并對其進行對比實驗,以求選擇出更適合所提模型的核函數。

2.1.1 線性核函數 線性(linear)核是基本的SVM線性可分核函數,其公式可表示為

(13)

其中,X1、X2表示圖像特征數據。

2.1.2 多項式核函數 多項式(polynomial)核是線性核的更廣義表示,適用于正交歸一化數據,其公式可表示為

(14)

其中,n表示維度,且n≥1。

2.1.3 Sigmoid核函數 Sigmoid核的全局收斂性能較好,其公式可表示為

(15)

其中,a、b都為數值參數,且a,b>0。

2.1.4 高斯徑向基核函數 基于高斯徑向基(Gaussian radial basis function,RBF)核函數的SVM具有較強的學習能力,當沒有數據的先驗知識時,合適的參數往往會使得RBF核函數取得不錯的效果,其公式可表示為

(16)

其中,γ代表1種數值參數,默認情況下一般取γ=1。

2.2 SVM-MRSCAE模型

在使用不同類型的編碼器對圖像特征進行提取時會產生不同的效果。文中采用3種不同的編碼類型,即線性自編碼器、卷積自編碼器、基于自注意力機制的卷積自編碼器進行對比,以探究更適合MRSCAE模型的編碼器類型。

SCAE模型使用K-means聚類算法找到多個簇,然后使用二分圖匹配找到分類誤差的排列組合;然而K-means聚類算法并不適合形狀特征太復雜的數據。在無監督圖像分類領域,SVM的分類精度相比于K-means更高,因此選擇SVM構建所提模型,該模型結構如圖1所示。

圖1 SVM-MRSCAE模型的結構Fig.1 Structure of SVM-MRSCAE model

由圖1可知,SVM-MRSCAE模型利用不同類型編碼器對圖像特征進行提取,而后將其送入PCAE階段中的部件膠囊,再通過OCAE階段重構出圖像,之后利用SVM將圖像進行分類,最終得到預測結果。

在圖像特征提取階段,不同類型編碼器對圖像進行特征提取時會產生不同的效果。采用1.2所述的3種編碼器:線性自編碼器、卷積自編碼器、基于自注意力機制的卷積自編碼器。其中,卷積自編碼器中的卷積操作可以用來處理圖像局部鄰域中的特征信息,并將原始圖像的固定特征向量傳遞給解碼器,最終由解碼器重構為具有原始圖像特征的新圖像。卷積自編碼器在向量轉化過程中可能會損失一些重要的圖像特征信息,而基于自注意力機制的卷積自編碼器可以保留更多重要的圖像特征信息,增強模型的特征提取能力,并降低網絡計算消耗,提高模型特征提取的精確度。將上述幾種編碼器進行對比實驗,探究更適合所提模型的編碼器類型。確定獲得特征提取效果最好的編碼器類型后,再經SCAE過程,使模型通過采用基于不同核函數的SVM對圖像數據集進行分類對比實驗,從而提升最終分類精度,確定更適合所提模型的分類器。

3 實驗與結果分析

3.1 數據集及實驗環境

分別利用MNIST和Fashion MNIST數據集對模型進行測試和評價。

MNIST數據集中樣本圖像為28像素×28像素的灰度圖像,由250個不同的人手寫的數字圖片組成,其中包含了10000張驗證集圖像及其標簽和60000張訓練集圖像及其標簽。

與MINIST數據集類似,Fashion MINIST數據集中的樣本圖像也為28像素×28像素的灰度圖像,涵蓋了10種不同服飾類別,總計70000張圖像。

實驗硬件配置為DELL T640深度學習GPU運算塔式服務器主機,顯卡為RTX3070,內存為64GB。仿真環境為Python3.6,學習框架為TensorFlow1.15。在訓練過程中,設置迭代次數為25000次,批量大小設置為128。

3.2 結果與分析

為確定不同編碼器類型對圖像特征進行提取時產生的不同效果,在PCAE階段,利用線性自編碼器、卷積自編碼器、基于自注意力機制的卷積自編碼器進行對比實驗。不同類型編碼器對MNIST和Fashion MNIST數據集特征提取的準確率分別如圖2、圖3所示。

圖2 MNIST數據集上編碼器特征提取準確率

由圖2可知,在MNIST數據集中,基于自注意力機制的卷積自編碼器有更明顯的優勢,其分類準確率可達到0.9446,與線性自編碼器和卷積自編碼器相比有較大優勢。由圖3可知,在Fashion MNIST數據集中,基于自注意力機制的卷積自編碼器與卷積自編碼器分類效果相比,兩者差距較小,前者效果略優。在迭代過程中,不同類型編碼器的最優訓練分類準確率如表1所示。由表1可知,無論是在MNIST數據集上,還是在Fashion MNIST數據集上,基于自注意力機制的卷積自編碼器準確率都更高,相比于線性自編碼器和卷積自編碼器來說,提取效果更好。因此,選擇采用基于自注意力機制的卷積自編碼器對數據集中的圖像進行特征提取,并利用SVM對圖像數據集進行分類,之后采用不同核函數進行對比實驗,以選取更適合的核函數來獲得更精確的分類結果。

(17)

最終得到不同核函數訓練集和驗證集的對比分類準確率,如表2所示。在該實驗中,為了更好地測試模型的魯棒性,均加入了均勻噪聲進行干擾。

表2 不同核函數的SVM分類準確率Tab.2 Classification accuracy of SVM for different kernel functions

由表2可知,在MNIST數據集中,基于RBF核函數的SVM分類準確率高達0.9980,相比于其他核函數有一定程度的提高;在Fashion MNIST數據集中,也達到了0.9283的分類準確率,相比于其他核函數體現出很大的優勢,有明顯提高。

為了進一步對基于SVM的堆疊膠囊自編碼器進行評價,對模型圖像特征提取時,在OCAE階段,實驗中加入了不同類型噪聲(隨機均勻噪聲、高斯噪聲、logistic噪聲)進行對比。在MNIST和Fashion MNIST數據集上的分類效果分別如圖4、圖5所示,其中,不同顏色代表不同數據類別。

圖4 MNIST數據集上不同噪聲分類效果Fig.4 Classification effect of MNIST dataset based on different noises

圖5 Fashion MNIST數據集上不同噪聲分類效果Fig.5 Classification effect of Fashion MNIST dataset based on different noises

由圖4可知,在MNIST數據集中,加入均勻噪聲和高斯噪聲的圖像,僅有幾個異常點未被正常分類,而加入logistic噪聲的分類異常點相對較多。由圖5可知,在Fashion MNIST數據集中,加入均勻噪聲、高斯噪聲、logistic噪聲的圖像,分類效果并無太大差距。在不同噪聲的影響下,基于RBF核函數的SVM對圖像驗證集的分類準確率如表3所示。由表3可知,加入噪聲后的MNIST和Fashion MNIST數據集圖像,所提模型對其分類準確率較為穩定,數據上下波動較小,表現出良好的魯棒性。

表3 SVM針對不同噪聲影響的分類準確率Tab.3 Classification accuracy of SVM for different noise effects

所提SVM-MRSCAE模型先在PCAE階段將圖像解析成部件膠囊,而后在OCAE階段利用目標膠囊自編碼器對學習到的特征信息進行重構,最終利用SVM對圖像數據集進行分類。K-means是無監督學習算法中傳統的劃分聚類算法[28],自編碼器(autoencoder,AE)[29]也是無監督編碼器的主要基礎框架;另外,SWAE模型[30]將sliced-Wasserstein距離應用到無監督自編碼網絡框架中。因此,為進一步測試所提模型的性能,在相同實驗環境下,將K-means、AE、SWAE、SCAE、MRSCAE與所提SVM-MRSCAE模型在MNIST和Fashion MNIST數據集上進行對比實驗,分類準確率如表4所示。

表4 不同模型的圖像分類準確率對比Tab.4 Image classification accuracy comparison of different models

由表4可知:1) 相比于傳統的K-means、AE以及改進后的深度無監督模型,所提SVM-MRSCAE模型準確率有很大提升,說明采用基于SVM的堆疊膠囊自編碼器可以得到更加精確的分類效果。2) 在MNIST數據集中,不同模型的分類準確率有很大的差距,相比于SCAE與MRSCAE模型,所提SVM-MRSCAE模型分類準確率提高了0.0099~0.0125。3) 在Fashion MNIST數據集中,所提SVM-MRSCAE模型分類準確率明顯高于其他無監督分類模型,為0.9283,相比于SCAE與MRSCAE模型,提高了0.2026~0.2949,說明采用基于RBF核函數的SVM對數據集分類時,可達到更高的分類精度。

4 結論

SCAE模型利用K-means算法對提取出的圖像信息進行分類,然而該方法對形狀特征復雜的圖像數據集分類效果差,因此,提出了SVM-MRSCAE模型。在前期建立的MRSCAE模型基礎上進一步改進,在PCAE階段采用不同類型編碼器,對線性自編碼器、卷積自編碼器、基于自注意力機制的卷積自編碼器進行對比,確定表現優異的編碼器類型;并采用基于不同核函數的SVM對加入不同類型噪聲的圖像數據集進行分類,利用不同核函數的對比實驗,獲得更精確的分類結果。通過在MNIST和Fashion MNIST數據集上的實驗結果發現,相比于MRSCAE模型,提出的SVM-MRSCAE模型分類準確率分別提高了0.0099和0.2026,所提模型獲得了更好的分類精度。但與目前較為熱門的有監督網絡模型相比,采用堆疊膠囊自編碼器的SVM-MRSCAE模型在更復雜、更現實的應用場景上使用效果并不理想,如何對其進行改進,使其在現實場景中也能獲得優良效果還有待下一步的研究。

猜你喜歡
編碼器準確率卷積
基于3D-Winograd的快速卷積算法設計及FPGA實現
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
從濾波器理解卷積
基于FPGA的同步機軸角編碼器
高速公路車牌識別標識站準確率驗證法
基于傅里葉域卷積表示的目標跟蹤算法
基于PRBS檢測的8B/IOB編碼器設計
JESD204B接口協議中的8B10B編碼器設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合