摘 要:近年來,深度學習算法的流行對物聯(lián)網(wǎng)技術(shù)發(fā)展和社會發(fā)展起到了很大的推動作用。在圖像分類領(lǐng)域,傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(CNN)存在一定缺陷,其在特征提取時,卷積操作會使模型對長距離的像素關(guān)系感知能力較弱,魯棒性較差。而Transformer借助自注意力機制能夠捕捉各個序列的位置依賴關(guān)系,能更好地建模長距離依賴關(guān)系,在處理具有空間關(guān)系的圖像時可發(fā)揮很好的作用?;诖耍Y(jié)合CNN和Transformer的優(yōu)點設(shè)計了一種新模型CTM。該模型在CNN中加入注意力機制,這讓模型有了更好的魯棒性。圖像數(shù)據(jù)經(jīng)過CNN下采樣后再加入注意力機制,可降低運算量并提升效率。該模型在對相同數(shù)據(jù)集進行CNN和Transformer對比訓練測試后發(fā)現(xiàn),融合了Transformer的CNN模型準確率相比CNN和Transformer分別提升了17.9個百分點和12.5個百分點,性能更佳,從而驗證了所設(shè)計的模型在圖像分類領(lǐng)域性能有所優(yōu)化。
關(guān)鍵詞:工業(yè)智能化;卷積神經(jīng)網(wǎng)絡;Transformer;圖像分類;算法優(yōu)化;深度學習
中圖分類號:TP391.4 文獻標識碼:A 文章編號:2095-1302(2025)07-0-05
0 引 言
在計算機領(lǐng)域,圖像分類是一個核心問題。圖像分類算法在人臉識別[1]、車輛檢測[2]以及醫(yī)療[3-5]等領(lǐng)域,一直倍受廣大研究者的關(guān)注。隨著科技的進步以及大數(shù)據(jù)時代的來臨,圖像數(shù)據(jù)呈爆炸式增長。如何對海量的圖像數(shù)據(jù)進行有效的分類和分析,成為了當前研究的重要課題,這對工業(yè)、農(nóng)業(yè)等領(lǐng)域內(nèi)的工序智能化有著重要意義。
傳統(tǒng)圖像分類常采用的算法主要包括支持向量機(SVM)、決策樹、隨機森林、K近鄰(KNN)、樸素貝葉斯等機器學習算法。然而這些算法易受遮擋或者光線強弱等外界環(huán)境影響,導致訓練結(jié)果不佳。基于深度學習[6]的算法往往能獲得更好的效果,例如卷積神經(jīng)網(wǎng)絡(CNN),它通過模擬人腦視覺皮層的層次結(jié)構(gòu),自動學習圖像特征表示,實現(xiàn)對圖像的高效分類。與傳統(tǒng)圖像分類方法的人工特征提取不同,基于CNN的圖像分類方法使用卷積操作對輸入圖像進行特征提取,可以有效地從大量樣本中學習特征表達,模型泛化能力更強[7]。例如,文獻[8]在數(shù)據(jù)集ImageNet上提出的AlexNet模型,其top5錯誤率為15.3%,遠超其他傳統(tǒng)特征提取方法。隨著深度學習技術(shù)的不斷發(fā)展,新的算法和模型也不斷涌現(xiàn),例如Transformer[9-10],如今在多個領(lǐng)域得到了廣泛應用[11-14],它在處理圖像時的效果更好,速度更快。
盡管CNN和Transformer在圖像分類方面表現(xiàn)強勁,但二者仍面臨一些挑戰(zhàn)與問題。在CNN模型里,通過對圖像進行卷積操作,能夠很好地提取圖像的局部特征,然而卻無法解決圖像中長距離像素點之間的依賴關(guān)系問題。Transformer則憑借多頭自注意力機制,可以建立圖像中長距離像素點之間的依賴關(guān)系,但在處理大規(guī)模數(shù)據(jù)時需要大量的計算資源。鑒于此,本文將CNN模型與Transformer模型相融合,從而實現(xiàn)兩種算法的優(yōu)勢互補,進而訓練出一種效果更佳的新模型。
1 基本算法介紹
1.1 CNN模型
卷積神經(jīng)網(wǎng)絡(CNN)是多層感知機(MLP)的一種變種。它源于生物學家休博爾和維瑟爾早期對貓視覺皮層的研究。貓視覺皮層的細胞有著復雜的結(jié)構(gòu),卷積神經(jīng)網(wǎng)絡通過模擬貓視覺皮層,構(gòu)建了一個可提取特征、處理特征以及訓練特征的網(wǎng)絡模型。這樣一來,訓練出的模型能夠具備類似人類的能力,即像人類一樣將眼睛看到的事物傳入大腦,經(jīng)過思考后作出判斷。
卷積神經(jīng)網(wǎng)絡可劃分為輸入層、隱含層和輸出層三大模塊。輸入層負責接收原始圖像數(shù)據(jù),對圖像進行預處理,將其調(diào)整為期望的固定大小后,以張量形式輸入網(wǎng)絡。隱含層包含卷積層、激活函數(shù)層、池化層和全連接層。當輸入層將數(shù)據(jù)傳輸至隱含層時,首先卷積層通過卷積操作提取輸入圖像的局部特征,每個卷積層包含多個卷積核,卷積核在輸入圖像數(shù)據(jù)中滑動卷積以生成特征圖,該操作在提取圖片局部特征方面效果顯著。在卷積操作之后,應用ReLU、Sigmoid或Tanh等非線性激活函數(shù)來增強模型的非線性表達能力。接著,池化層對提取出的特征圖進行下采樣,這既能減少數(shù)據(jù)的空間尺寸,又能保留關(guān)鍵信息。經(jīng)過多個卷積和池化層后,添加全連接層以整合全局信息,輸出最終預測結(jié)果。CNN的工作流程如圖1所示。
1.2 Transformer模型
Transformer模型可被劃分為四個部分,即輸入部分、輸出部分、編碼器部分與解碼器部分。輸入部分包含文本嵌入層和位置編碼器。編碼器部分包含N個編碼器層,每個編碼器層由兩個子層連接結(jié)構(gòu)組成:一個是多頭自注意力子層、規(guī)范化層以及殘差連接;另一個是前饋全連接子層、規(guī)范化層以及殘差連接。解碼器部分包含N個解碼器層,每個解碼器層由三個子層連接結(jié)構(gòu)組成:一是多頭自注意力子層、規(guī)范化層以及殘差連接;二是多頭注意力子層、規(guī)范化層以及殘差連接;三是前饋全連接子層、規(guī)范化層以及殘差連接。輸出部分包含線性層和Softmax層。Transformer的工作流程如圖2所示。
在文本數(shù)據(jù)進入Embedding層之后,會加入位置編碼器。由于詞匯位置不同可能會產(chǎn)生不同語義,位置編碼器能夠?qū)⑦@一信息加入到詞嵌入張量之中,從而彌補位置信息的缺失。
式中:PE(pos, 2i)表示矩陣PE中第pos行偶數(shù)列上的值,偶數(shù)列用正弦函數(shù)計算;PE(pos, 2i+1)表示矩陣PE中第pos行奇數(shù)列上的值,奇數(shù)列用余弦函數(shù)計算。
在位置編碼結(jié)束以后將結(jié)果輸出到編碼器部分,并加入注意力機制。
式中:Q、K、V分別表示查詢向量、鍵向量和值向量,是在輸入tokens序列后,經(jīng)過三個不同的矩陣計算而得到的,它們反映了一個圖像塊與其他圖像塊之間的聯(lián)系。
將子層連接結(jié)構(gòu)處理后的數(shù)據(jù)作為編碼器部分的輸出,輸出結(jié)果再傳至解碼器部分。解碼器依據(jù)給定輸入朝著目標方向提取特征,并且根據(jù)編碼器的結(jié)果和上一次預測結(jié)果,對下一次可能出現(xiàn)的值進行特征表示。接著,通過對上一步的線性變換來實現(xiàn)維度轉(zhuǎn)換,最后經(jīng)Softmax處理,將最后一維向量中的數(shù)字縮放到0~1的概率值域內(nèi)。
2 CTM融合算法
2.1 算法思想
卷積神經(jīng)網(wǎng)絡在提取局部特征方面效果良好,然而其難以捕捉空間中的長距離依賴關(guān)系。而Transformer注意力機制[15]能夠?qū)崿F(xiàn)并行計算,所以,將Transformer的位置編碼和注意力機制引入卷積神經(jīng)網(wǎng)絡,可提升模型的收斂速度和準確率。
2.2 算法流程
CTM算法流程如圖3所示。首先對圖像數(shù)據(jù)進行預處理,包括設(shè)定圖像大小和位置編碼。接著,經(jīng)過卷積層提取圖像的特征值,再添加激活函數(shù)。之后,對數(shù)據(jù)進行下采樣池化操作,這不僅能減少數(shù)據(jù)量,還可增加模型的魯棒性。隨后引入注意力機制。先將像素點切分,進行全局平均池化操作,其工作步驟是把(h, w, c)的矩陣壓縮成(1, 1, c),從而將全局空間信息壓縮到通道[16]中。接著對上述結(jié)果進行激勵操作,先做降維的全連接,把c維向量降為c/r維,再進行激活處理,之后做升維處理,將c/r維向量還原為c維向量,最后使用Sigmoid激活函數(shù)將數(shù)值范圍固定在0到1之間。經(jīng)過這些操作后,得到圖像的注意力權(quán)重矩陣,與原特征圖相乘,便可將權(quán)重信息添加到特征圖上,進而完成注意力的添加。最后,通過Softmax輸出圖像分類結(jié)果。降維操作是把高維圖像矩陣分割為多個低維像素點矩陣,這成功地將圖像問題與Transformer連接起來,同時避免了模型復雜度過高而導致魯棒性不足。
2.3 損失函數(shù)
損失函數(shù)是編譯神經(jīng)網(wǎng)絡的必備要素,用來評價模型的預測值和真實值的符合程度,訓練模型實際上就是將損失函數(shù)最小化的過程。在這個過程中通常使用的方法是梯度下降法。由于不存在適用于所有任務的損失函數(shù),所以選擇損失函數(shù)對任務的完成十分重要,一般而言損失函數(shù)越好,模型的性能就越好。
這里要介紹兩種損失函數(shù),分別是均方差損失(MSE)和交叉熵損失(CE)。均方差損失(MSE)是通過計算預測值與真實值之間的歐氏距離得出的,預測值與真實值越接近,二者的方差就越小,該函數(shù)通常適用于線性回歸問題,其公式為:
本文選擇交叉熵作為損失函數(shù),原因在于當使用Sigmoid作為激活函數(shù)時,選取交叉熵損失函數(shù)可以解決平方損失權(quán)重更新過慢的問題,而且具有在誤差大時權(quán)重更新快、在誤差小時權(quán)重更新慢的優(yōu)點。
3 實驗結(jié)果與對比
3.1 實驗環(huán)境
本實驗在一臺CPU型號為i9-12900k、GPU為RTX3090、內(nèi)存為64 GB的服務器上運行,基于深度學習的Pytorch框架完成。
3.2 數(shù)據(jù)集
本實驗使用CIFAR-10數(shù)據(jù)集,一共包含10個類別,圖片的尺寸為32×32,數(shù)據(jù)集中共包含50 000張訓練圖片和10 000張測試圖片。
3.3 評價標準
分類模型的評估指標通常包含混淆矩陣、準確率、精確率、召回率、F1分數(shù)[17]。以二分類為例,樣本可分為正樣本和負樣本,模型對樣本的預測結(jié)果會出現(xiàn)四種情況,分別為TP、FP、FN、TN。T表示本次預測結(jié)果正確,F(xiàn)表示本次預測結(jié)果錯誤;P表示判為正例,N表示判為負例。下面介紹五種不同的評價指標。
(1)混淆矩陣是一種可視化工具,它把分類結(jié)果和實際值呈現(xiàn)在一個矩陣當中。在這個矩陣里,每一列表示預測類別,該列的總數(shù)就是這個類別的數(shù)據(jù)總數(shù);每一行表示數(shù)據(jù)的真實類別,該行的總數(shù)為該類別實例的總數(shù),而每一列中的數(shù)值則代表真實數(shù)據(jù)被預測為該類別的數(shù)量。
(2)準確率(Accuracy)表示所有預測結(jié)果中正確的百分比,其公式如下:
3.4 對比試驗
本節(jié)分別對CNN、Transformer、CTM這三個模型進行了對比試驗,其中CNN采用ResNet34框架,Transformer采用VIT框架。將準確率(Accuracy)和損失值作為模型的評價指標, 采用三個模型分別對相同的數(shù)據(jù)集進行訓練,訓練結(jié)果如圖4和圖5所示。
圖4中橫坐標是迭代次數(shù),縱坐標是歸一化后的準確率。從圖中可以看出,CTM算法的準確率一直高于傳統(tǒng)CNN模型和Transformer模型,在迭代70次之后CTM模型的準確率達到90%;三個模型在迭代100次之后,準確率達到相對較好且平穩(wěn)的狀態(tài);CTM相比CNN和Transformer模型準確率提高了17.9個百分點和12.5個百分點,超過了這兩個模型。
圖5中橫坐標是迭代次數(shù),縱坐標是損失值。從圖中可以看出,CTM的損失下降速度遠快于其他兩個模型,在訓練過程中速度更快,并且損失值也遠比其他兩個模型要低,訓練的模型比CNN和Transformer更精準。
綜合來說,CTM算法有效結(jié)合了CNN與Transformer算法的優(yōu)點,達到了更高的精度和更快的訓練速度。
4 結(jié) 語
本文設(shè)計了一種新模型,該模型融合了卷積神經(jīng)網(wǎng)絡(CNN)和Transformer并增加了注意力機制。在處理圖像數(shù)據(jù)時,CNN模型通過增加注意力機制,能夠更好地感知圖像中長距離像素點之間的關(guān)系。這使得新模型具備更好的魯棒性,并且擁有更高的精確率和更快的訓練速度。
雖然本文提出的模型CTM在圖像分類任務中取得了不錯的效果,但是仍有一定的改進空間。在融合方法方面,可以設(shè)計一種更高效的特征融合方法來提升模型的性能;在數(shù)據(jù)集方面,可以使用更大的數(shù)據(jù)集進行訓練,使模型的準確率和魯棒性得到進一步提升。在今后的研究中,會針對這兩個方面進行優(yōu)化改進,進一步提升模型的性能。
參考文獻
[1]張杜娟,丁莉,吳玉蓮.基于Python+Dlib方法的人臉識別技術(shù)研究[J].電子設(shè)計工程,2024,32(1):191-195.
[2]田智慧,楊奇文,魏海濤.基于改進的YOLOv3多目標小尺度車輛檢測算法研究[J].計算機應用與軟件,2023,40(12):169-175.
[3] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks [J]. Communications of the ACM, 2017, 60(6): 84-90.
[4] HE K, ZHANG X, REN S, et al.Deep residual learning for image recognition [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 770-778.
[5] HOWARD A G, ZHU M, CHEN B, et al. Mobilenets: efficient convolution alneural networks for mobile vision applications [J]. arXiv: 1704.04861, 2017.
[6] FRANCOISC. Xception: deep learning with depth wise separable convolutions [C]// CVPR. [S.l.]: [s.n.], 2017: 1800-1807.
[7]張珂,馮曉晗,郭玉榮,等.圖像分類的深度卷積神經(jīng)網(wǎng)絡模型綜述[J].中國圖象圖形學報,2021,26 (10):2305-2325.
[8] KRIZHEVSKY A, SUTSKEVER I, HINTON G. ImageNet classification with deep convolutional neural networks [J]. Communications of the ACM, 2017, 60(6): 84-90.
[9]王樹斌,王旭,閆世平,等.基于Transformer的礦井內(nèi)因火災時間序列預測方法[J].工礦自動化,2024,50(3):65-70.
[10]吳葉輝,李汝嘉,季榮彪,等.基于隨機增強Swin-Tiny Transformer的玉米病害識別及應用[J].吉林大學學報(理學版),2024,62(2):381-390.
[11]張帥,劉文霞,唐浩洋,等.一種基于Transformer多特征融合的短期負荷預測方法[J/OL].華北電力大學學報(自然科學版),1-9[2025-02-19]. http://kns.cnki.net/kcms/detail/13.1212.TM. 20230607.0918.002.html.
[12]耿鑫月,胡昌華,鄭建飛,等. 雙時間尺度下基于Transformer 的鋰電池剩余壽命預測[J]. 空間控制技術(shù)與應用,2023,49(4): 119-126.
[13]王坤俠,余萬成,胡玉霞.嵌入混合注意力機制的Swin Transformer人臉表情識別[J].西北大學學報(自然科學版),2024,54(2):168-176.
[14] XING S X, JU Z H, LIU Z J, et al. Multi-label classification of chest X-ray images with pre-trained vision Transformer model [J]. Journal of image and graphics, 2023, 28(4): 1186-1197.
[15]彭玉青,喬穎,陶慧芳,等. 融入注意力機制的PM2.5預測模型[J]. 傳感器與微系統(tǒng),2020,39(7):44-47.
[16]黃友文,林志欽,章勁,等.結(jié)合坐標Transformer的輕量級人體姿態(tài)估計算法[J].圖學學報,2024,45(3):516-527.
[17]劉洋,黎茂鋒,黃俊,等.面向方面級情感分析的雙通道圖卷積網(wǎng)絡[J].計算機技術(shù)與發(fā)展,2024,34(3):49-56.
收稿日期:2024-05-13 修回日期:2024-06-17
基金項目:寧夏自然科學基金重點項目(2024AAC02011)
作者簡介:王鑫瑋(2000—),男,碩士,研究方向為物聯(lián)網(wǎng)技術(shù)及應用。
馮 鋒(1971—),男,博士生導師,教授,研究方向為信息系統(tǒng)工程、物聯(lián)網(wǎng)技術(shù)及應用。