?

基于主成分分析和CNN 的圖像分類算法研究

2020-10-26 02:08韓紀東
科學技術創新 2020年30期
關鍵詞:準確率運算卷積

羅 斌 韓紀東

(1、贛州市腫瘤醫院信息科,江西 贛州341000 2、北京工業大學信息學部,北京100124)

1 概述

卷積神經網絡(Convolutional Neural Networks, CNN)是一種非常重要的圖像處理技術,也是深度學習(Deep Learning,DL)領域最具有代表性的方法之一。卷積神經網絡在圖像中有著非常廣泛的應用,如圖像分類[1]、圖像分割[2]、目標識別[3]等。隨著技術的發展,卷積神經網絡甚至已經被應用到了自然語言處理(Natural Language Processing, NLP)領域[4],如文本糾錯、命名實體識別、機器翻譯等。

隨著人們對模型的精度要求越來越高,卷積神經網絡模型也被設計的越來越深,所需要的數據也相應的呈指數級增長。與之相對應的是,訓練卷積神經網絡的的難度也越來越大:

(1)對所需硬件要求越來越高,如性能更高且價格更昂貴的GPU、TPU 等;

(2)訓練的時間也越來越長;

(3)訓練所需的能源消耗也越來越大。為了解決這個問題,本文使用主成分分析(Principal Component Analysis,PCA)提取圖像的主要信息,實際也就是對圖像進行降維,然后再輸入卷積神經網絡;此時訓練卷積神經網絡時的計算及使用BP 算法進行參數更新時的計算會大幅下降,進而縮短卷積神經網絡訓練所花費的時間,也降低了訓練卷積神經網絡的硬件要求與能源消耗。

2 基本理論

2.1 主成分分析

主成分分析方法是一種經典的基于統計學的特征提取方法。深度學習技術興起之前,曾被廣泛應用于數據的特征提取,由于其性能優異,在圖像人臉識別等方面得到了大量的應用。

大量數據相互之間通常會有一定的相關性,這說明了一個重要的問題,即大量數據所包含的信息具有一定的冗余。這就為我們提供了想法,使用一種算法剔除數據之間的信息冗余,這也就是主成分分析方法的目的。數據經過主成分分析方法處理后,變成彼此之間不相關的數據。

這里以圖像為例,說明主成分分析方法的實現。主要有以下幾個步驟:

(1)計算所有圖像的協方差矩陣Cov;

(2)計算步驟1 中協方差矩陣Cov 的特征值、特征向量;

(3)將步驟2 中所得到的特征值按由大到小的順序排列,并將特征值相對應的特征向量以同樣的順序排列構成變換矩陣;

(4)將步驟3 得到的變換矩陣與原始圖像做矩陣乘法運算,結果即為經過主成分分析處理后的結果。

2.2 CNN

卷積神經網絡具有非常強大的提取圖像特征的能力?,F在,卷積神經網絡模型的使用方法主要有以下幾步:

(1)提出需求,如人臉識別、行人檢測、醫學圖像中的病灶部位(腫瘤等)分割等;

(2)收集大量的數據,現在的卷積神經網絡是以數據為驅動的有監督學習,需要使用大量的數據訓練模型;

(3)根據需要設計相應的卷積神經網絡模型,卷積神經網絡的主要基本單元有卷積運算、池化運算、批歸一化或層歸一化、線性層、隨機丟失參數(dropout)、softmax 層等組成;4)將數據輸入卷積神經網絡訓練模型。

3 模型

輸入圖像進入卷積神經網絡后主要有兩個運算:

(1)前項運算forward;

(2)反向傳播BP。

由于訓練的過程是類似于循環,顯然,這兩步將隨著輸入圖像大小的增加產生大量的運算。使用PCA 降維后,不僅提取了圖像的主要信息,而且盡最大可能保證了后續卷積神經網絡的輸入圖像的完整性,同時也使得圖像數據量變小。

圖1 是本文設計的模型圖。輸入圖像首先經過PCA 降維處理,降低圖像的數據量,又能盡可能保證圖像自身所攜帶的信息量。然后經過卷積塊運算以提取特征。在本文中,該卷積塊又可分為兩個小卷積塊conv1 和conv2。conv1 卷積塊包含1 個卷積運算,1 個批歸一化BN,1 個激活運算(使用ReLU 函數激活);conv2 與conv1 設計的完全相同。圖像經過卷積塊運算后會有1 個池化運算,該運算實際是一種降采樣。模型的最后一層為線性層,該層實際是一個分類器;經過線性層后實際還有一個softmax 運算,這里將softmax 隱性包含在了線性層中。模型的最終輸出為圖像的類別數。

4 實驗

4.1 實驗數據及實驗條件

本文實驗使用了Fashion-MNIST 數據集,該數據集共有70000 張圖像,其中訓練集60000 張,測試集10000 張;該數據集 共 有10 類,分 別 為'T-shirt/top'、'Trouser'、'Pullover'、'Dress'、'Coat'、'Sandal'、'Shirt'、'Sneaker'、'Bag'、'Ankle boot',每一類有訓練圖像60000 張,測試圖像1000 張;該數據集中的圖像均為28*28 的灰度圖像。

本文使用的硬件CPU 為intel Core i7,GPU 為NVIDIA GeForce RTX2060。

圖1 模型結構圖

4.2 實驗結果

在實驗中'CNN'表示原始卷積神經網絡,即輸入的圖像沒有使用主成分分析技術預處理。輸入圖像經過主成分分析技術預處理后圖像的大小變為N*N,在本實驗中N 的值分別取14、16、18、20、22,處理后圖像的大小比原數據集中的圖像28*28 明顯小很多。

表1 和表2 分別表示使用原始卷積神經網絡和使用主成分分析技術預處理后卷積神經網絡準確率和時間消耗對比。由表1 可以看出N 取值為14、16、18 時準確率是在不斷上升的,這符合本實驗的預期;因為隨著N 越大說明使用主成分分析技術預處理后得到的圖像信息就更多更全。當N 取值為20、22 時準確率卻在下降,這反而另本實驗比較有意義,這提示N 的取值是有一個臨界值的,當N 超過這個臨界值時,使用主成分分析技術處理后的圖像可能已經不適應卷積神經網絡。由表2 可以看出,使用主成分分析技術后,卷積神經網絡的訓練時間明顯縮短。在本實驗中,N 取16 或18 是一個比較綜合的結果,兼顧了準確率與訓練時間。

圖2 是分別訓練30 輪、40 輪、50 輪的損失值下降曲線對比圖。結合表1 觀察圖2,可以發現兩者是極其吻合的,表1 中N取16 或18 時準確率非常接近;圖2 中N 取16 或18 時兩者的損失函數值極其接近,在圖2 中兩者幾乎重合。這也從另外一個角度說明本文實驗的正確性。

表1 準確率對比

表2 時間對比

圖2 分別訓練30 輪、40 輪、50 輪的損失值下降曲線對比圖

5 結論

由實驗結果可以看出,圖像先通過主成分分析方法處理,然后再輸入到卷積神經網絡,可在略微損失準確率的條件下大幅降低訓練卷積神經網絡的時間。在準確率要求不是那么嚴格的條件下,本文使用結合主成分分析技術與卷積神經網絡的方法還是非??扇〉?。本文方法依然有不足之處,由實驗可以看出N 的取值對訓練結果的準確率及時間消耗都有非常的的影響;下一步,我們的研究重點將放在,探索出一種方法以方便取N 最優值。

猜你喜歡
準確率運算卷積
重視運算與推理,解決數列求和題
基于3D-Winograd的快速卷積算法設計及FPGA實現
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
有趣的運算
卷積神經網絡的分析與設計
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合