亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改進VGG16的猴子圖像分類方法

        2020-05-20 01:35:06田佳鷺鄧立國
        關(guān)鍵詞:模型

        田佳鷺,鄧立國

        (沈陽師范大學(xué) 數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院,遼寧 沈陽 110034)

        0 引言

        隨著深度學(xué)習(xí)技術(shù)的不斷進步,對于通用對象的類別分析,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)達(dá)到了很高的水平,但對于細(xì)粒度圖像分類的穩(wěn)定性目前還有待提升。所謂細(xì)粒度圖像分類,通常用于描述對同一類事物進行細(xì)致的劃分,所以待分類圖像的區(qū)別要更加精準(zhǔn),類內(nèi)區(qū)別大而類間區(qū)別小,粒度則更為精細(xì)。本文方法基于改進的VGG16深度卷積神經(jīng)網(wǎng)絡(luò)。盡管原始的VGG16模型已經(jīng)擁有了良好的普適性和實用價值,并且在各種圖像分類和目標(biāo)檢測任務(wù)中都體現(xiàn)了極佳的效果,通過遷移學(xué)習(xí)改進的VGG16模型,能夠?qū)⒁蚜?xí)得的特征和性能應(yīng)用到待解決的問題中,極大地節(jié)省了訓(xùn)練時間。此外在硬件上選取GPU進行訓(xùn)練,使得速度得到進一步提升。為了改善原始的交叉熵?fù)p失函數(shù)無法保證提取的特征具有識別度的缺點,在VGG16模型中引入將center loss損失函數(shù)與交叉熵?fù)p失函數(shù)相結(jié)合的辦法。此外還運用了新型的Swish激活函數(shù),以及擁有自適應(yīng)學(xué)習(xí)率的Adam優(yōu)化器。最后利用不同種類的猴子訓(xùn)練集對改進的模型重新訓(xùn)練,以獲得少量微調(diào)的參數(shù)信息。經(jīng)驗證該方法對猴子圖像識別的精準(zhǔn)度可提升到98.875%,而原始的VGG16模型在該數(shù)據(jù)集上的分類僅能達(dá)到90.210%的準(zhǔn)確率,可以證明改進后的模型具有更好的識別效果。

        1 VGG16模型及遷移學(xué)習(xí)

        1.1 VGG16模型

        VGG卷積神經(jīng)網(wǎng)絡(luò)的層次結(jié)構(gòu)包括卷積層、激活層、池化層和全連接層,其中卷積層起到十分重要的作用,通過實現(xiàn)“局部感知”和“參數(shù)共享”的兩種方式,達(dá)到了降維處理和提取特征的目的[1]。卷積核是卷積層的核心,在卷積核的作用下可以提取位于圖像中不同位置同一物體的形狀,在起到降維作用的同時也減少了需要訓(xùn)練的參數(shù)[2]。

        池化層pool中用池化過濾器對輸入數(shù)據(jù)進行降維[3]。最后是全連接層,它的作用相當(dāng)于“分類器”,由于此次待分類的數(shù)據(jù)與原先VGG16的分類數(shù)據(jù)不同,因此將全連接層的參數(shù)抹去,通過重新訓(xùn)練確定最后三層全連接層的參數(shù)信息,來實現(xiàn)分類目標(biāo)[4]。

        VGG16卷積神經(jīng)網(wǎng)絡(luò)模型由13層卷積層和3層全連接層組成。該模型要求輸入的圖片數(shù)據(jù)大小為224×224×3,初始卷積核的大小為3×3×3,步幅stride的大小為1,有效填充padding的大小為1,池化層pooling采用2×2的最大池化函數(shù)max pooling的方式。模型中卷積的過程為:首先使用兩次64個卷積核的卷積處理,接著進行一次池化層pooling,完成后又經(jīng)過兩次128個卷積核的卷積,并采用一次池化層pooling,再經(jīng)過三次256個卷積核的卷積之后,采用一次池化層pooling,最后重復(fù)兩次三個512個卷積核卷積之后,進行一次池化層pooling。在卷積層處理后是三次全連接層Fc_layer,此時網(wǎng)絡(luò)中需要處理的參數(shù)已經(jīng)減少了很多[5]。但傳統(tǒng)VGG16的分類速度仍較慢,識別的準(zhǔn)確度還有待提高。

        1.2 遷移學(xué)習(xí)

        對于新的問題往往需要重新搭建模型,并利用數(shù)據(jù)集再訓(xùn)練權(quán)重參數(shù),成本相對較高且浪費時間,有時還難以實現(xiàn)。因此遷移學(xué)習(xí)的概念隨之而來。在機器學(xué)習(xí)領(lǐng)域中,傳統(tǒng)的機器學(xué)習(xí)方法局限于只能解決單一問題,無法一次性解決多個問題[6]。所以遷移學(xué)習(xí)領(lǐng)域的任務(wù),就是將在源域中解決任務(wù)時所學(xué)到的知識運用到目標(biāo)域中,結(jié)合目標(biāo)域中已有的訓(xùn)練數(shù)據(jù),對模型進行微調(diào)從而構(gòu)造出泛化能力更好的模型。

        本文方法中,將在ImageNet上訓(xùn)練好的VGG16模型的結(jié)構(gòu)和參數(shù),遷移到對猴子圖形分類的問題中。通過遷移方法有效地減少大量訓(xùn)練參數(shù),再次訓(xùn)練時只需確定微調(diào)參數(shù)即可,該過程不但減輕了工作量,基于以前的參數(shù)經(jīng)驗也可以實現(xiàn)更優(yōu)化的分類目的。

        2 對VGG16卷積神經(jīng)網(wǎng)絡(luò)模型的改進

        2.1 圖片進行去噪聲處理

        圖片中通常會伴隨著椒鹽噪聲,這是由于信號在圖像傳感器傳輸、解碼處理等操作時,受到突如其來的強烈干擾而產(chǎn)生,屬于一種因信號脈沖強度引起的噪聲,可能在亮區(qū)域中出現(xiàn)黑色像素點或是在黑暗區(qū)域出現(xiàn)白色像素點[7]。通常對于椒鹽噪聲處理的方法有異常值偵測、中值濾波、偽中值濾波,其中常用的處理方式是中值濾波方法,它是一種非線性濾波技術(shù),核心思想是利用該像素點鄰域中強度值的中值來代替該像素點的灰度值(計算中值時包括該像素點的原始灰度值),并且能夠做到完整地保留圖像邊緣信息,其利用cv2.medianBlur函數(shù)進行處理[8]。

        通常使用信噪比SNR來衡量圖像噪聲,但由于其中所需用到的功率譜難以計算,因此采用信號與噪聲的方差之比來近似估計圖像的SNR。信噪比越小,圖片中所混雜的噪聲越多。圖1所示是猴子數(shù)據(jù)庫中一張伴隨有椒鹽噪聲的圖像,圖2則是圖像去噪處理后的結(jié)果。

        圖1 帶有椒鹽噪聲的圖像

        圖2 去噪聲處理后的圖像

        2.2 數(shù)據(jù)標(biāo)準(zhǔn)化

        運用數(shù)據(jù)集對模型進行訓(xùn)練時,通常需要將數(shù)據(jù)集分為訓(xùn)練集和測試集。前期利用訓(xùn)練集計算權(quán)重參數(shù)以及每個神經(jīng)元的偏置,后期利用測試集對訓(xùn)練好的模型的準(zhǔn)確率進行驗證。為了實現(xiàn)對數(shù)據(jù)集的統(tǒng)一管理,TensorFlow中提供了一種TFRecord的格式,能夠?qū)τ?xùn)練數(shù)據(jù)實現(xiàn)統(tǒng)一存儲。TFRecord格式可以將任意數(shù)據(jù)轉(zhuǎn)化成TensorFlow所支持的格式,使得數(shù)據(jù)集更容易應(yīng)用到相應(yīng)的網(wǎng)絡(luò)應(yīng)用架構(gòu)中[9]。TFRecord是一種將圖片中重要的數(shù)據(jù)以及標(biāo)簽保存在一起的二進制文件,可以通過調(diào)用tf.python_io.TFRecordWriter類,將數(shù)據(jù)存放到TFRecords文件的tf.train.Example協(xié)議內(nèi)存塊中,Example協(xié)議塊中包含以字典形式存放的特征值和數(shù)據(jù)內(nèi)容。

        TensorFlow標(biāo)準(zhǔn)化的建議是,一個TFRecord文件中最好僅存放1 000張左右的圖片,若在一個包中存放太多的數(shù)據(jù),則不利于多線程的讀取,因此需要根據(jù)相應(yīng)數(shù)據(jù)集的數(shù)量對圖片進行打包。針對本文方法中用到的訓(xùn)練集和測試集的圖片數(shù)量,將訓(xùn)練集數(shù)據(jù)打包為兩個文件:traindata.tfrecords-000和traindata.tfrecords-001;因為測試集數(shù)據(jù)量不算多,因此打包為一個testdata.tfrecords-000文件即可。每種集合中不同類型的猴子圖片分配情況如表1所示。

        表1 訓(xùn)練集和測試集中10種猴子的圖片分類情況

        TFRecord文件中存儲的是圖像經(jīng)過壓縮編碼后的結(jié)果,因此后續(xù)將圖片進行恢復(fù)時需要進行解碼操作[10]。通常訓(xùn)練模型時獲取的圖片數(shù)據(jù)集尺寸大小并不統(tǒng)一,為了能夠把TFRecord文件中的二進制的數(shù)據(jù)重新構(gòu)造為原來的圖片,需要記錄每張圖片的img_width和img_height兩個信息,并利用TensorFlow中的reshape函數(shù)實現(xiàn)圖片重構(gòu)。在本文方法中對重構(gòu)的圖片以mun_Label_class id(數(shù)字_Label_標(biāo)簽)的方式進行命名。重構(gòu)的標(biāo)準(zhǔn)化圖片結(jié)果如圖3所示。

        圖3 重構(gòu)圖片形式

        2.3 損失函數(shù)的改進

        損失函數(shù)loss描述的是真實值與預(yù)期值之間的偏離程度,有利于對模型的學(xué)習(xí)進行指導(dǎo),損失函數(shù)越小代表該模型的魯棒性能越好。在本文方法中使用的損失函數(shù)是將softmax loss與center loss相結(jié)合。

        在實現(xiàn)多分類任務(wù)的情況下,人們通常會選用softmax激活函數(shù)與交叉熵?fù)p失函數(shù)cross entropy相結(jié)合的辦法。交叉熵刻畫的是兩個概率分布的距離,交叉熵越大說明兩者的距離越遠(yuǎn)。由于神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果并不一定都是概率分布,因此用softmax激活函數(shù)將多個神經(jīng)元的輸出歸一到(0,1)區(qū)間內(nèi),將前饋神經(jīng)網(wǎng)絡(luò)的傳播結(jié)果轉(zhuǎn)換為概率分布的形式。這種方式對于不平衡的訓(xùn)練集十分有效(文中提到的softmax loss均指代交叉熵?fù)p失函數(shù))[11]。

        首先在softmax函數(shù)的作用下將前饋神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果變?yōu)楦怕史植?,假設(shè)卷積神經(jīng)網(wǎng)絡(luò)的輸出為y1,y2,…,yn,經(jīng)過softmax函數(shù)處理后變?yōu)椋?/p>

        (1)

        采用softmax函數(shù)的好處在于計算較為簡單。交叉熵的計算公式如下:

        (2)

        其中,y為真實的輸出值,而a為模型求得的模型值。

        最終邏輯回歸的損失函數(shù)定義如式(3)所示,在這個損失函數(shù)中Y是真實結(jié)果轉(zhuǎn)化為one-hot的向量結(jié)果。

        (3)

        通常希望訓(xùn)練出來的理想數(shù)據(jù)能夠呈現(xiàn)出同類之間緊湊、異類之間分散的效果。上面介紹的softmax loss損失函數(shù),可以有效地實現(xiàn)類間的區(qū)別較大,但是無法達(dá)到類內(nèi)較為緊湊的效果,所以類內(nèi)的間距還是比較大的。

        利用經(jīng)典的MNIST手寫體數(shù)字識別數(shù)據(jù)集進行驗證交叉熵?fù)p失函數(shù),數(shù)據(jù)集中共有10個數(shù)字,利用二維空間展現(xiàn)訓(xùn)練到最后一層的特征分布情況。從圖4可以看出使用softmax loss損失函數(shù)后能夠呈現(xiàn)出較為清晰的類別界限。

        圖4 MNIST數(shù)據(jù)集的特征在二維空間的分布情況

        為縮小類內(nèi)差距,本文方法運用輔助函數(shù)即中心損失函數(shù)center loss。center loss函數(shù)的核心意義是,對于每一個分類都需要維護一個類內(nèi)中心c,即該類所有樣本的特征平均值,如果輸入樣本距離類中心太遠(yuǎn)就要受到懲罰,從而起到縮小類內(nèi)距離的作用[12]。并且通過上述實驗證明如果只用center loss函數(shù),效果并不是很好,無法有效增加類間差異性。因此可以采用將softmax loss與center loss相結(jié)合的方法揚長避短,實現(xiàn)期望特征具有較高的識別度。

        center loss的定義為:

        (4)

        令CenterLoss=Lc。

        softmax loss的定義為:

        (5)

        其中cyi代表每類特征的中心。完整的損失函數(shù)為:

        L=Ls+λLc

        (6)

        對參數(shù)λ設(shè)置不同值,可以調(diào)節(jié)類內(nèi)的密集程度,λ越大類內(nèi)越密集。將改進的損失函數(shù)應(yīng)用到基于MNIST數(shù)據(jù)集的訓(xùn)練當(dāng)中,從圖5可以看出采用將兩種損失函數(shù)相結(jié)合的辦法,能夠有效實現(xiàn)類間間距更大,而類內(nèi)更加緊湊的預(yù)期效果。

        圖5 類間差距大、類內(nèi)差距小的優(yōu)化分類效果

        2.4 Swish激活函數(shù)

        在神經(jīng)網(wǎng)絡(luò)中數(shù)據(jù)間的關(guān)系通常為非線性關(guān)系,因此激活層存在的最大目的在于引入非線性因素,來增加整個網(wǎng)絡(luò)的表征能力。原始模型中使用的激活函數(shù)是修正線性單元ReLU,盡管ReLU具有單側(cè)抑制、相對寬闊的興奮邊界以及稀疏激活性等優(yōu)點,但仍存在不足。當(dāng)x>0時,它會一直無止境地“發(fā)飆”下去,ReLU屬于非飽和的線性函數(shù),這樣會導(dǎo)致數(shù)值不穩(wěn)定,計算溢出,變成負(fù)值,這時ReLU的輸出結(jié)果將永遠(yuǎn)為0[13]。

        因此在該模型的改進中引用了Swish激活函數(shù),Swish函數(shù)有下界無上界,并且它擁有不飽和、光滑、非單調(diào)性的特征。此外在Google Brain的論文中提到在不同數(shù)據(jù)集上運用Swish激活函數(shù)時,準(zhǔn)確率都有所提高,并且更適用于大的數(shù)據(jù)集和更深層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[14]。Swish的定義為:

        f(x)=x×sigmoid(βx)

        (7)

        為了測試Swish比ReLU的性能更優(yōu),利用三種不同的模型結(jié)構(gòu),分別為VGG13、VGG16和AleNet,同時在MNIST和10種不同猴子的兩個數(shù)據(jù)集上進行測試。對于不同種類猴子的數(shù)據(jù)集,在其訓(xùn)練和測試中準(zhǔn)確率、損失函數(shù)loss的變化程度上,也能夠體現(xiàn)出Swish激活函數(shù)的性能比ReLU激活函數(shù)要好,因此在改進的模型中選用Swish激活函數(shù)。測試結(jié)果如表2所示。

        表2 檢驗結(jié)果

        2.5 Adam優(yōu)化器

        在該模型中引入Adam優(yōu)化器,這是一種自適應(yīng)學(xué)習(xí)率優(yōu)化算法,是一種對隨機目標(biāo)函數(shù)執(zhí)行一階梯度優(yōu)化的算法[15]。Adam算法與傳統(tǒng)梯度下降優(yōu)化器的區(qū)別在于,它能夠為每一個參數(shù)設(shè)計獨立的自適應(yīng)性學(xué)習(xí)效率,通過對梯度的一階矩估計和二階矩均值計算來改變學(xué)習(xí)效率[16]。

        Adam算法將AdaGrad算法和 RMSProp算法相結(jié)合,分別取二者之長。其中AdaGrad算法能夠自動為不同參數(shù)適應(yīng)不同的學(xué)習(xí)率,根據(jù)參數(shù)變化的頻繁和稀疏程度來調(diào)整步長進行更新。RMSProp算法利用梯度平方的指數(shù)移動平均數(shù)對學(xué)習(xí)率進行調(diào)節(jié),能夠有效加快目標(biāo)函數(shù)的收斂速度。此外Adam算法的調(diào)參更為簡單,通過默認(rèn)參數(shù)就可以解決大部分問題,適應(yīng)于擁有大規(guī)模數(shù)據(jù)及參數(shù)的情況。該算法具有良好的穩(wěn)定性,能夠讓網(wǎng)絡(luò)函數(shù)收斂得更快[17]。定義公式如下:

        mt=μ×mt-1+(1-μ)×gt

        (8)

        (9)

        (10)

        (11)

        (12)

        3 實驗結(jié)果與分析

        本次試驗基于遷移學(xué)習(xí),為了實現(xiàn)對細(xì)粒度猴子圖像的分類達(dá)到更優(yōu)的效果,對傳統(tǒng)的VGG16模型進行了改進。數(shù)據(jù)集采用從kaggle平臺上獲取的10種不同的猴子圖像,首先運用訓(xùn)練集在改進的模型上進行訓(xùn)練(統(tǒng)一將改進的模型稱為VGG16_2)。在訓(xùn)練速度方面,通過利用遷移學(xué)習(xí)已經(jīng)節(jié)省了大量的訓(xùn)練時間,此外在硬件方面運用NVIDIA的GPU對模型進行訓(xùn)練,使得卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度得到了大幅度的提升。原本需要花費一天才能訓(xùn)練完成,改進模型僅需要1個小時就可以達(dá)到預(yù)期效果。

        模型訓(xùn)練的同時需要保存每一步的關(guān)鍵參數(shù)、當(dāng)時的模型結(jié)構(gòu)以及重新訓(xùn)練的權(quán)重信息,以便后續(xù)再次使用該模型時可以將有用信息直接恢復(fù)到所需要的模型當(dāng)中。對于模型的保存使用Saver類中的save函數(shù),保存時會產(chǎn)生四類文件,包括“.meta”文件用于保存圖形的結(jié)構(gòu);“.data”文件用于保存變量的值;“.index”文件用于標(biāo)識檢查點信息以便于以后的恢復(fù);“checkpoint”文件包含了最近檢查點列表的協(xié)議緩沖區(qū)?;謴?fù)模型時使用Saver類中的restore函數(shù),將這些文件加載到當(dāng)前模型中即可[19]。

        最后對訓(xùn)練好的模型進行測試,運用測試集檢驗VGG16_2的準(zhǔn)確率。通過驗證得到該模型對于猴子圖像分類的準(zhǔn)確率可以達(dá)到98.875%。圖6、圖7分別描述了此次訓(xùn)練以及測試時損失和準(zhǔn)確率的變化。

        圖6 損失的變化

        圖7 準(zhǔn)確率的變化

        為了驗證改進的VGG16_2模型具有更好的識別性能,利用猴子數(shù)據(jù)集分別在VGG11、VGG13、VGG16、alexnet、VGG19_bn、inceptionv3、resnet152_v2以及改進的VGG16_2上進行訓(xùn)練。在不同模型上的準(zhǔn)確率對比如表3所示,從表中可以看出經(jīng)過改進的VGG16_2的準(zhǔn)確率較高。表4列出了對于不同種類猴子的識別率。

        表3 猴子數(shù)據(jù)集在不同模型上的準(zhǔn)確率對比

        通過實驗可以證明經(jīng)過改進的VGG16_2模型對猴子圖像的分類具有更好的性能。

        4 結(jié)論

        本文基于遷移學(xué)習(xí)實現(xiàn)了對10種不同猴子圖像的識別,并為了適應(yīng)該數(shù)據(jù)集使模型達(dá)到更好的識別效果,對傳統(tǒng)VGG16模型進行了改進,分別從激活函數(shù)、損失函數(shù)和優(yōu)化器的角度入手,生成VGG16_2模型。結(jié)合各種已有模型,以及在各種不同數(shù)據(jù)集上的測試對比結(jié)果,選取較該數(shù)據(jù)集來說性能最優(yōu)的Swish激活函數(shù)、center loss與softmax loss相結(jié)合的損失函數(shù)、Adam優(yōu)化器對模型進行完善。

        表4 10類猴子分別在VGG16_2上的識別率

        經(jīng)最后的測試集驗證,改進的VGG16_2模型的總體準(zhǔn)確率高達(dá)98.875%。盡管如此,模型還有待提升的空間,并且針對這種細(xì)粒度圖像的識別還需對模型進行完善,以達(dá)到最好效果。

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機模型
        提煉模型 突破難點
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達(dá)及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        3D打印中的模型分割與打包
        丝袜美腿网站一区二区| 国产大片黄在线观看| 99久久免费国产精品| 亚洲 欧美 综合 另类 中字 | 伊人一道本| 午夜国产小视频在线观看黄| 亚洲美女毛片在线视频| 久久综合亚洲色hezyo国产| 四虎影视在线观看2413| 国产成人精品视频网站| 日本一级片一区二区三区| 国产精品国产三级国产专播| 竹菊影视欧美日韩一区二区三区四区五区 | 99香蕉国产精品偷在线观看| 久久精品国产亚洲AV高清特级| 国产美女高潮流的白浆久久| 成人国产一区二区三区| 亚瑟国产精品久久| 夜夜春精品视频| 久久熟女精品—区二区蜜臀| 又黄又刺激的网站久久| 午夜无码国产理论在线| ZZIJZZIJ亚洲日本少妇| 蜜桃av在线播放视频| 国产极品女主播国产区| 免费精品无码av片在线观看| 亚洲 国产 韩国 欧美 在线| 中文字幕高清不卡视频二区| 成人国产精品一区二区网站公司| 亚洲视频在线看| av天堂手机在线免费| 激情人妻另类人妻伦| 中文字幕一区二区人妻| 国产精品无码久久久久久蜜臀AV| 干出白浆视频在线观看| 国产免费拔擦拔擦8x高清在线人| 91精品视品在线播放| 国产三级精品三级在线| 亚洲av无码无线在线观看| 九九视频在线观看视频6| 久久久婷婷综合五月天|