国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Swin Transformer的知識蒸餾模型在垃圾分類上的應(yīng)用

2023-12-07 12:11:08杜峰付天生
電腦知識與技術(shù) 2023年30期
關(guān)鍵詞:準(zhǔn)確率垃圾分類

杜峰,付天生

(福建理工大學(xué),福建 福州 350118)

0 引言

隨著經(jīng)濟發(fā)展,中國的城市化進程也在提速,在城市化的過程中,環(huán)境惡化問題需要提前防范,其中城鎮(zhèn)生活垃圾泛濫成災(zāi)則是當(dāng)中比較嚴(yán)峻的環(huán)境問題之一。目前垃圾處理的主要方法是填埋和焚燒。對于垃圾填埋處理,若沒有經(jīng)過提前分類流程,不僅浪費更多的土地資源,而且會使得處理費用大增,更糟糕的是塑料垃圾、有害金屬垃圾進行填埋處理不僅長期難以降解,還會污染土地,使大量土地?zé)o法耕種,另外,填埋的有害垃圾還會污染地下水資源,給整個社會帶來健康隱患。對于焚燒處理方法,如果有害垃圾不進行分類處理,則會增加大量的碳排量和廢氣,同時伴隨嚴(yán)重的空氣污染,對垃圾進行分類處理是解決城市化環(huán)境問題的必要手段,對城市垃圾分類回收將是未來的發(fā)展趨勢。

近幾年,我國部分城市把生活垃圾必須進行分類作為規(guī)定,并且國家也開始從試點城市向周邊更多城市推廣垃圾分類做法。垃圾分類的規(guī)定自推行以來,效果不佳。究其原因,問題主要出在生活垃圾分類操作中的實際人工成本較大,并且即使居民愿意投入時間精力,依舊有許多人不能準(zhǔn)確地區(qū)分各種生活垃圾的類別,生活垃圾的實際分類準(zhǔn)確率不太理想。

在科技的發(fā)展過程中,人工智能技術(shù)突飛猛進,使用計算機技術(shù)解決社會生產(chǎn)過程中遇到的實際問題做法越來越得到各界的重視。比如,計算機視覺相關(guān)技術(shù)在許多領(lǐng)域如人臉識別[1]、車輛檢測[2]、智慧醫(yī)療[3]等許多行業(yè)都取得了不可忽視的成績,因此在垃圾分類問題上使用計算機視覺方法將是一個值得考慮和選擇的方案。將計算機視覺方法運用到生活中的垃圾分類問題上,將大大改善當(dāng)前的垃圾分類人工成本過高和人工分類準(zhǔn)確率有限的問題。

計算機視覺的發(fā)展可以分為基于統(tǒng)計學(xué)和基于深度學(xué)習(xí)兩個階段。早期基于統(tǒng)計學(xué)的計算機視覺主要研究圖像分類問題。傳統(tǒng)圖像分類算法[4]一般包含特征提取、特征構(gòu)造、分類器設(shè)計3個階段。這種傳統(tǒng)算法是基于簡單統(tǒng)計學(xué)特征對圖像數(shù)據(jù)進行提取,使用統(tǒng)計學(xué)方法進行降維壓縮等特征處理操作,再使用經(jīng)典的統(tǒng)計分類模型作為相應(yīng)的分類器進行圖像分類判斷。這類基于統(tǒng)計學(xué)的算法要求投入大量的人工成本進行特征提取,并且最終的模型穩(wěn)定性較差。隨著人工智能研究的深入和計算機運算性能的發(fā)展,基于深度學(xué)習(xí)的計算機視覺算法也得到了長足進步?;谏疃葘W(xué)習(xí)的圖像分類方法通常是使用算法對圖像自動提取特征,并在同一個算法框架中使用提取的特征對圖像進行分類,得到完全從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)圖像的層級結(jié)構(gòu)性特征。其中最具代表性的是卷積神經(jīng)網(wǎng)絡(luò)[5](Convolution Neural Network,CNN) ,相較早期的基于統(tǒng)計學(xué)方法的算法,卷積神經(jīng)網(wǎng)絡(luò)更擅長在圖像中提取關(guān)鍵特征,這種特征提取操作是自動提取的,并且因為沒有引入人為因素偏差模型也有更強的穩(wěn)定性。在CNN模型中,越深層的網(wǎng)絡(luò)通常包含越抽象的高級特征,越深層的網(wǎng)絡(luò)越能表現(xiàn)圖像主題語義,從而獲得更強大的識別能力。

在2012年,Hinton提出了基于CNN結(jié)構(gòu)的AlexNet[6]深度模型,并以15.4%的低失誤率成為當(dāng)年 ILSVRC算法比賽的冠軍。AlexNet的成功則論證了基于CNN 的深度學(xué)習(xí)網(wǎng)絡(luò)在圖像分類的有效性。在此之后,不斷有學(xué)者對深度學(xué)習(xí)結(jié)構(gòu)進行創(chuàng)新,包括隨后發(fā)展起來的VGG[7]、GoogleNet[8]、ResNet[9]、DenseNet[10]等深度學(xué)習(xí)網(wǎng)絡(luò)也在圖像分類上取得了優(yōu)秀的成績?;诖罅康纳疃葘W(xué)習(xí)算法,計算機視覺方法在人臉識別、智慧醫(yī)療等領(lǐng)域得到了廣泛的應(yīng)用,并取得了良好的效果,然而,隨著應(yīng)用處理的圖像質(zhì)量和尺寸的不斷提升,基于CNN結(jié)構(gòu)的深度學(xué)習(xí)的網(wǎng)絡(luò)需要堆疊大量的層數(shù)才能較好地感知圖像的整體特征,然而大量層數(shù)堆疊也給基于CNN的深度學(xué)習(xí)網(wǎng)絡(luò)帶來了參數(shù)過多、預(yù)測性能下降、運算時間過長等問題。

基于此缺點,學(xué)者提出了基于transformer 的圖像分類方法ViT[11](Vision Transformer) ,此方法只需少數(shù)幾層就可以獲得需要大量堆疊層數(shù)的CNN 全局的感受野?;赥ransformer 的網(wǎng)絡(luò)結(jié)構(gòu)擁有較好的并行運算性質(zhì),此類結(jié)構(gòu)可以更好地利用GPU、TPU 之類的硬件進行加速運算。然而基于Transformer 的網(wǎng)絡(luò)結(jié)構(gòu)的self-attention計算機制會導(dǎo)致較大的計算資源和存儲資源占用問題,因此原始的ViT 模型無法很好地應(yīng)用在大圖像處理問題上。有學(xué)者則針對ViT的不足進行改進,提出了Swin Transformer[12]模型。此模型利用了移動窗口的原理大大降低了self-attention計算開銷,能較好地處理高質(zhì)量大尺寸圖像,此模型一經(jīng)提出,就受到了學(xué)術(shù)界和工業(yè)界的廣泛歡迎。為了探究深度學(xué)習(xí)在高質(zhì)量大尺寸圖像處理上的應(yīng)用,本文將預(yù)訓(xùn)練Swin Transformer模型用于垃圾分類問題中,使用實際垃圾圖像數(shù)據(jù)對模型進行遷移學(xué)習(xí)訓(xùn)練。為了進一步提升模型的實際部署應(yīng)用性能,本文在訓(xùn)練好的基礎(chǔ)Swin Transformer 模型上使用知識蒸餾方法Knowledge Distillation[13]對模型進行壓縮,進一步減小模型的體積,加快模型的計算效率,提高了模型的實用性。

1 算法介紹

1.1 ResNet模型

圖像處理中的CNN 結(jié)構(gòu)主要就是通過一個個由卷積核組成的filter,不斷地在圖像上提取特征,隨著層數(shù)的堆疊可以獲得從局部特征到總體的特征,從而實現(xiàn)圖像識別等功能。卷積神經(jīng)網(wǎng)絡(luò)CNN 通常包括獨有的卷積層和池化層以及全連接層的輸入和輸出層,相對全連接層,卷積層具有參數(shù)量更少的特性。卷積神經(jīng)網(wǎng)絡(luò)在圖像識別、語義分割、圖像分類、圖像檢索等領(lǐng)域都有較為成功的應(yīng)用,這主要得益于其自動提取圖像特征、自動更新、共享權(quán)值的特性。CNN網(wǎng)絡(luò)的底層提取的特征主要包括通用的色彩、紋理特征提取,以及一些圖像數(shù)據(jù)都有的共性特征。在深度CNN 模型中,隨著層數(shù)的堆疊,模型特征的表達(dá)能力越來越強,這使得越頂層則越能適應(yīng)特定任務(wù)。AlexNet 是深度CNN 的開山之作,后續(xù)學(xué)者提出了VGG 模型,然而隨著模型深度的增加,模型會出現(xiàn)性能退化的問題,即增加模型的層數(shù)換來的是更差的性能表現(xiàn)。從實證角度看,神經(jīng)網(wǎng)絡(luò)的深度和層數(shù)對模型的性能異常重要。隨著網(wǎng)絡(luò)深度的加深,更加復(fù)雜的特征模式可以被模型提取出來。因此,理論上隨著模型深度增加模型可以取得更好的性能。然而,許多實驗卻又表明深度網(wǎng)絡(luò)存在退化問題(Degradation problem) ,即隨著網(wǎng)絡(luò)深度增加,模型性能出現(xiàn)飽和或者下降。針對深度網(wǎng)絡(luò)性能退化問題,學(xué)者在AlexNet 的基礎(chǔ)上提出了深度殘差網(wǎng)絡(luò)(Deep residual network, ResNet) 。

ResNet 的架構(gòu)借鑒了VGG 網(wǎng)絡(luò)架構(gòu),是在VGG基礎(chǔ)上進行了改進,并設(shè)計了短路機制,加入了殘差模塊,如圖1所示。從圖1可以看到,ResNet模型相比以往的網(wǎng)絡(luò),每兩個相鄰層間加入了短路機制,從而形成了殘差學(xué)習(xí)。實驗結(jié)果表明,這種短路機制可以很好地解決深度網(wǎng)絡(luò)中的退化問題。相較于VGG 網(wǎng)絡(luò),ResNet在結(jié)構(gòu)上的區(qū)別主要為ResNet直接使用了步長大于1的卷積操作,這種操作能起到特征壓縮的作用,另外還使用了global-average-pooling 層代替全連接層。ResNet 的一個重要設(shè)計原則是:當(dāng)feature map大小縮小為原來的1/2時,feature map的通道數(shù)增加一倍,這保持了模型的特征表達(dá)能力。

圖1 殘差網(wǎng)絡(luò)模塊

1.2 Vision Transformer模型

自深度學(xué)習(xí)大為流行以來,CNN一直是計算機視覺領(lǐng)域的主流模型,而且取得了很好的效果,與此同時, Transformer 結(jié)構(gòu)則在NLP 取得了突破性的進展,并且基于Transformer 結(jié)構(gòu)的GPT 和Bert 的大語言類模型在工業(yè)界得到了廣泛應(yīng)用。近年來,越來越多的學(xué)者不斷研究如何在NLP 之外領(lǐng)域復(fù)制Transformer在NLP 上的成功。在2020 年,Google 提出了ViT[11](Vision Transformer) , 直接將Transformer 應(yīng)用在圖像分類問題上。

ViT 模型先把圖像分成固定大小的patchs,類似于NLP 的詞嵌入向量化做法,ViT 通過線性變換對每個圖像patchs進行patch-embedding向量編碼。接著,將圖像的patch-embedding送入Transformer Enconding模塊中進行特征提取。最后,連接全連接層作為分類器進行圖像分類,具體的ViT模型原理如圖2所示。

繼ViT 之后,基于Transformer 結(jié)構(gòu)的模型開始在CV 領(lǐng)域大放異彩,其中包括應(yīng)用于圖像分類的Swin Transformer,目標(biāo)檢測的DETR,語義分割的SETR 等模型。

在計算機視覺問題上, Transformer 結(jié)構(gòu)的核心Self-Attention 計算機制的優(yōu)勢是可以獲得圖像序列的long-range 信息而不是像CNN 結(jié)構(gòu)要通過不斷堆積層數(shù)來獲取更大的感受野。更好的long-range特征提取意味著在高質(zhì)量大尺寸圖像問題上能獲得更好的表現(xiàn),然而ViT 的Self-Attention 計算機制也帶來了計算開銷過大的問題,模型還需要進一步被完善。

1.3 Swin Transformer模型

基于Transformer 結(jié)構(gòu)的ViT 模型主要存在不同場景的大尺寸圖像表現(xiàn)不穩(wěn)定和高質(zhì)量大尺寸圖像的全局自注意力機制的計算導(dǎo)致計算開銷較大兩大問題。針對這兩個問題,Liu[12]提出了一種滑窗操作的層級架構(gòu)模型Swin Transformer。傳統(tǒng)的Transformer都是基于全局來計算Self-Attention的,因此,隨著圖片尺寸的增大,注意力的計算復(fù)雜度將十分高。而Swin Transformer則將注意力的計算限制在每個窗口內(nèi)(Window Attention) ,進而減少了計算量。Swin Transformer中滑動窗口包括不重疊的Local-Window,和重疊的 Cross-Window。將自注意力計算限制在一個窗口中,一方面能引入類似CNN網(wǎng)絡(luò)的局部性,另一方面能大大減小計算開銷。圖3 左側(cè)是Swin Transformer 模型的Window-Attention 示意圖,右側(cè)是VIT 模型的全局Self-Attention示意圖。

圖3 兩種注意力機制的對比

Window-Attention是在每個窗口內(nèi)分別計算注意力,但是為了更好地和其他Window進行信息交互,擴大模型感受野,Swin Transformer 還引入了Shifted-Window操作,具體操作如圖4所示。

圖4 Shifted-Window操作

圖4左邊是沒有重疊的Window-Attention,而右邊則是將窗口進行移位的Shift-Window-Attention??梢钥吹揭莆缓蟮拇翱诎嗽鞠噜彺翱诘脑兀磧蓪又g的不同窗口可以交換特征信息,其中Encoder 的倒數(shù)第一層使用的是全局注意力機制,經(jīng)過計算全局注意力后,模型可以獲得圖像整體的特征,模型最后一層則接入全連接層作為分類器進行圖像分類。

其中,本文使用的基礎(chǔ)Swin Transformer模型架構(gòu)圖如圖5所示,模型可分為4個階段,每個階段又包含若干個Swin Transformer 模塊,每個模塊都進行Shift-Window-Attention 計算。在最后一個模塊中,圖形特征的維度縮小為原來的1/32,通道數(shù)擴大為原來的8倍。

圖5 Swin Transformer模型架構(gòu)

1.4 知識蒸餾

在深度模型流行的當(dāng)下,大模型雖然具有更強的性能,但是也要求計算機具有較高的計算性能。然而在實際應(yīng)用中,客戶端的計算性能有限,通常無法承載大模型的推理過程,一般的做法是對訓(xùn)練好的大模型進行壓縮,以減少其對設(shè)備性能的要求。

其中,知識蒸餾Knowledge Distillation[13](KD) ,是一種表現(xiàn)優(yōu)越的模型壓縮方法,主要基于“教師-學(xué)生”的訓(xùn)練方法。并且因為其簡單有效,無論在學(xué)術(shù)界還是工業(yè)界都受到了廣泛應(yīng)用。從字面意義上理解,知識蒸餾就是要將知識(Knowledge)從已經(jīng)訓(xùn)練好的大模型中提取出來,并壓縮蒸餾(Distill)到學(xué)生小模型中,知識蒸餾訓(xùn)練方法的流程圖如圖6所示。

圖6 知識蒸餾示意圖

在知識蒸餾中,由于已經(jīng)有了一個泛化能力較強的教師網(wǎng)絡(luò)Teacher model,使用Teacher model 來蒸餾訓(xùn)練學(xué)生網(wǎng)絡(luò)Student model 時,可以直接讓Student model去學(xué)習(xí)Teacher model的泛化能力。一個直接且高效的泛化能力遷移的方法就是使用Softmax 層輸出的類別概率來作為Soft-Target。

相較于真實標(biāo)簽只有正例信息的Hard-Target,模型的Softmax 層的輸出同時包含了正例和負(fù)標(biāo)簽。而負(fù)標(biāo)簽帶有大量的信息,比如某些負(fù)標(biāo)簽對應(yīng)的概率遠(yuǎn)遠(yuǎn)大于其他負(fù)標(biāo)簽。而在傳統(tǒng)的訓(xùn)練過程(Hard-Target)中,所有負(fù)標(biāo)簽都被統(tǒng)一對待,信息是不完整的,也就是說,KD 的訓(xùn)練方式使得每個樣本給Student model帶來的信息量大于傳統(tǒng)的訓(xùn)練方式。

2 實驗和結(jié)果分析

2.1 實驗數(shù)據(jù)

本文使用的數(shù)據(jù)來源于華為云垃圾分類圖像公開數(shù)據(jù)集,其中數(shù)據(jù)包含可回收物、廚余垃圾、有害垃圾和其他垃圾4大分類,每大類別又有細(xì)分類別,共有40 個細(xì)分垃圾類別,一共有14 402 張帶標(biāo)簽的圖片。本文實驗按4:1 的數(shù)據(jù)比例劃分為訓(xùn)練集和測試集,即11 522 張圖像作為訓(xùn)練數(shù)據(jù),2 880 張圖像作為測試集數(shù)據(jù)。

2.2 圖像數(shù)據(jù)處理

原始數(shù)據(jù)中每個圖像的大小并不統(tǒng)一,本實驗對所有圖片進行重采樣操作調(diào)整每張圖片的尺寸為224×224。另外,為了增加模型的穩(wěn)健性,本實驗和其他主流計算機視覺模型訓(xùn)練流程一樣,使用了剪裁、翻轉(zhuǎn)、縮放、融合等數(shù)據(jù)增強操作。

2.3 實驗環(huán)境

本文的實驗硬件環(huán)境為:Intel Xeon 12 核CPU,GPU 為NVIDIA A100,內(nèi)存大小為32GB。其中軟件環(huán)境為Python-3.7,深度學(xué)習(xí)框架為百度的 Paddle-Paddle-2.4.0,GPU加速驅(qū)動為cuDNN-8.2。

2.4 圖像數(shù)據(jù)處理

2.5 實驗結(jié)果及分析

本實驗的主要研究模型是基礎(chǔ)Swin Transformer模型(swin_base) ,并且實驗還選取了4 個主流計算機視覺模型進行性能對比,對比模型包括GoogLeNet、ResNet50、ResNet101、VGG11。為了保持可比性,各個模型的訓(xùn)練參數(shù)設(shè)置和Swin Transformer 模型的訓(xùn)練參數(shù)設(shè)置保持一致,具體取值如表1所示。另外,在實驗的最后還加入知識蒸餾訓(xùn)練學(xué)習(xí)對swin_base 模型進行壓縮,最終得到壓縮后的模型swin_distill。圖7~圖10展示了不同模型的訓(xùn)練收斂情況以及模型在測試集上的性能表現(xiàn)。

表1 實驗的超參數(shù)說明

圖7 各個模型的訓(xùn)練誤差收斂情況

從圖7看到,經(jīng)過50 個輪次的迭代訓(xùn)練,所有模型的訓(xùn)練損失都收斂到了一個較低的水平,說明所有模型都得到了充分的訓(xùn)練,并都達(dá)到了各自的最優(yōu)水平。

圖8則從側(cè)面進一步說明,經(jīng)過50個輪次的迭代訓(xùn)練,所有模型都得到了充分的訓(xùn)練,并能在測試集上表現(xiàn)出最優(yōu)水平。

圖8 各個模型在測試集的損失表現(xiàn)

從圖9可以看出,swin_base模型在測試集數(shù)據(jù)的準(zhǔn)確率最高,表現(xiàn)最好,并且和其他模型保持了較大的優(yōu)勢差,說明實驗中的swin_base 模型的性能最好,這驗證了基于Transformer 結(jié)構(gòu)的深度學(xué)習(xí)模型更擅長處理高質(zhì)量大尺寸的圖像數(shù)據(jù)。

圖9 各個模型在測試集的準(zhǔn)確率表現(xiàn)

從圖10 可以看出,學(xué)生模型swin_distill 只經(jīng)過20個訓(xùn)練輪次就收斂在較高的準(zhǔn)確率,說明知識蒸餾訓(xùn)練方法引入了信息含量更豐富的Soft-Target 可以大大減少學(xué)生模型訓(xùn)練過程的訓(xùn)練次數(shù)。知識蒸餾訓(xùn)練方法不僅能訓(xùn)練出高性能的學(xué)生模型,還能大量地減少訓(xùn)練開銷。

圖10 知識蒸餾學(xué)生模型在測試集的準(zhǔn)確率表現(xiàn)

表2 是各模型性能表現(xiàn)和模型大小的橫向比較。從表2 可以看到,swin_base 模型的準(zhǔn)確率為0.944,表現(xiàn)最優(yōu),而基于CNN結(jié)構(gòu)的4個深度學(xué)習(xí)模型準(zhǔn)確率都沒有超過0.88,和swin_base 模型存在較大的落差。在模型大小上,swin_base 模型相比基于CNN 結(jié)構(gòu)的模型并沒有優(yōu)勢,但是經(jīng)過知識蒸餾訓(xùn)練壓縮后的swin_distill 模型在體積上相較swin_base 模型則存在巨大的改進,模型壓縮后參數(shù)量把基礎(chǔ)模型縮小為原來的1/3,并且依舊保持了較高的準(zhǔn)確率。因為swin_distill 模型體積相對較小并且準(zhǔn)確率相對較高,所以swin_distill 模型更適合在垃圾圖像分類實際應(yīng)用中進行部署。

表2 各模型性能表現(xiàn)和模型大小

3 結(jié)論

本文以垃圾圖像分類問題作為研究導(dǎo)向,使用實際數(shù)據(jù)對多個深度學(xué)習(xí)模型進行了比較分析??梢园l(fā)現(xiàn),包含著更豐富的信息大尺寸垃圾圖像在圖像分類模型上確實表現(xiàn)更優(yōu)。主流的基于CNN 的深度學(xué)習(xí)模型雖然在小尺寸圖像上表現(xiàn)不錯,但是難以從大尺寸圖片中提取長序列特征。

最終經(jīng)過實驗檢驗,本文設(shè)計的基于Swin Transformer模型的算法框架不僅很好地解決了長序列特征提取問題,還通過知識蒸餾方法解決了大模型在實際應(yīng)用中體積過大難以部署的問題。本文的基礎(chǔ)Swin Transformer 模型準(zhǔn)確率達(dá)到94.4%,大大優(yōu)于基于CNN結(jié)構(gòu)的模型,說明基于Transformer結(jié)構(gòu)的深度學(xué)習(xí)模型在處理大尺寸圖像上具有較大的優(yōu)勢。而針對實際應(yīng)用的知識蒸餾方法可以大大減小模型的體積并且保持較高的預(yù)測性能。最終實驗結(jié)果表明本文設(shè)計的基于Transformer 架構(gòu)的Swin Transformer 的模型能較好地應(yīng)用在大尺寸圖像分類問題中,并且基于Swin Transformer 的知識蒸餾模型能很好地在垃圾分類問題上得到應(yīng)用,從而助力國家的環(huán)境治理進程。

猜你喜歡
準(zhǔn)確率垃圾分類
垃圾去哪了
分類算一算
乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
2015—2017 年寧夏各天氣預(yù)報參考產(chǎn)品質(zhì)量檢驗分析
那一雙“分揀垃圾”的手
分類討論求坐標(biāo)
高速公路車牌識別標(biāo)識站準(zhǔn)確率驗證法
數(shù)據(jù)分析中的分類討論
倒垃圾
德昌县| 烟台市| 中阳县| 湖州市| 通州市| 谢通门县| 宣汉县| 东海县| 延安市| 巴彦县| 余庆县| 含山县| 灵武市| 高阳县| 沙坪坝区| 阿荣旗| 舒兰市| 义马市| 汉川市| 松滋市| 陆丰市| 溧水县| 西乡县| 宜昌市| 榆社县| 汉源县| 安溪县| 车险| 临武县| 当涂县| 新平| 漠河县| 营山县| 中超| 香河县| 阜阳市| 谢通门县| 扎兰屯市| 诸城市| 永康市| 东光县|