《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于深層卷積神經網絡的剪枝優化
基于深層卷積神經網絡的剪枝優化
2018年電子技術應用第12期
馬治楠1,韓云杰2,彭琳鈺1,周進凡1,林付春1,劉宇紅1
1.貴州大學 大數據與信息工程學院,貴州 貴陽550025;2.貴陽信息技術研究院,貴州 貴陽550081
摘要: 隨著近幾年來深度學習的興起,其在目標檢測、圖像分類、語音識別、自然語言處理等機器學習領域都取得了重大的突破,其中以卷積神經網絡在深度學習中的運用較多。自VGGNet出現以來,深度學習逐漸向深層的網絡發展,網絡越來越深,這不僅增大了對硬件平臺存儲、運行內存的需求,還大大增加了計算量,對硬件平臺資源的要求越來越高。因此將深度學習應用于嵌入式平臺尤為困難。對此,通過對模型進行剪枝的方法將訓練好的網絡模型壓縮處理,在基本保證準確率的情況下去除不重要的參數,縮減模型,減小網絡的計算復雜度,將深度學習應用于嵌入式平臺。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181958
中文引用格式: 馬治楠,韓云杰,彭琳鈺,等. 基于深層卷積神經網絡的剪枝優化[J].電子技術應用,2018,44(12):119-122,126.
英文引用格式: Ma Zhinan,Han Yunjie,Peng Linyu,et al. Pruning optimization based on deep convolution neural network[J]. Application of Electronic Technique,2018,44(12):119-122,126.
Pruning optimization based on deep convolution neural network
Ma Zhinan1,Han Yunjie2,Peng Linyu1,Zhou Jinfan1,Lin Fuchun1,Liu Yuhong1
1.College of Big Data and Information Engineering,Guizhou University,Guiyang 550025,China; 2. Guiyang Academy of Information Technology,Guiyang 550081,China
Abstract: With the rise of deep learning in recent years, it has made major breakthroughs in machine learning fields such as target detection, image classification, speech recognition, and natural language processing. Among them, convolutional neural networks are widely used in deep learning. Since the emergence of VGGNet, neural networks have gradually developed deeper and the network has become deeper. This not only increases the demand for operating memory and running memory, but also greatly increases the amount of computation. The requirements for hardware platform resources are getting higher and higher. Therefore, it is particularly difficult to apply deep learning to embedded platforms. In this paper, by pruning the model, the trained network model is compressed, the unimportant parameters are eliminated, the model is reduced, and the computational complexity of the network is reduced. The deep learning will be applied to the embedded platform.
Key words : deep learning;convolutional neural network;model compression;pruning

0 引言

    深度學習起源于人工神經網絡,后來LECUN Y提出了卷積神經網絡LeNet-5[1],用于手寫數字識別,并取得了較好的成績,但當時并沒有引起人們足夠的注意。隨后BP算法被指出梯度消失的問題,當網絡反向傳播時,誤差梯度傳遞到前面的網絡層基本接近于0,導致無法進行有效的學習。2006年HINTON G E提出多隱層的網絡可以通過逐層預訓練來克服深層神經網絡在訓練上的困難[2],隨后深度學習迎來了高速發展期。一些新型的網絡結構不斷被提出(如AlexNet、VGGNet、GoogleNet、ResNet等),網絡結構不斷被優化,性能不斷提升,用于圖像識別可以達到很好的效果。然而這些網絡大都具有更多的網絡層,對計算機處理圖像的能力要求很高,需要更多的計算資源,一般使用較好的GPU來提高訓練速度,不利于在硬件資源(內存、處理器、存儲)較低的設備運行,具有局限性。

    深度學習發展到目前階段,其研究大體可以分為兩個方向:(1)設計復雜的網絡結構,提高網絡的性能;(2)對網絡模型進行壓縮,減少計算復雜度。在本文將討論第二種情況,去除模型中冗余的參數,減少計算量,提高程序運行速度。

    目前很多網絡都具有更復雜的架構設計,這就造成網絡模型中存在很多的參數冗余,增加了計算復雜度,造成不必要的計算資源浪費。模型壓縮大體有以下幾個研究方向:(1)設計更為精細的網絡結構,讓網絡的性能更為簡潔高效,如MobileNet網絡[3];(2)對模型進行裁剪,越是結構復雜的網絡越存在大量參數冗余,因此可以尋找一種有效的評判方法,對訓練好的模型進行裁剪;(3)為了保持數據的精度,一般常見的網絡模型的權重,通常將其保存為32 bit長度的浮點類型,這就大大增加了數據的存儲和計算復雜度。因此,可以將數據進行量化,或者對數據二值化,通過數據的量化或二值化從而大大降低數據的存儲。除此之外,還可以對卷積核進行核的稀疏化,將卷積核的一部分誘導為0,從而減少計算量[4]

    本文著重討論第二種方法,對模型的剪枝,通過對無用權重參數的裁剪,減少計算量。

1 CNN卷積神經網絡

    卷積神經網絡是一種前饋式網絡,網絡結構由卷積層、池化層、全連接層組成[5]。卷積層的作用是從輸入層提取特征圖,給定訓練集:

jsj4-gs1-2.gif

    在卷積層后面一般會加一個池化層,池化又稱為降采樣,池化層可以用來降低輸入矩陣的緯度,而保存顯著的特征,池化分為最大池化和平均池化,最大池化即給出相鄰矩陣區域的最大值。池化層具有減小網絡規模和參數冗余的作用。

2 卷積神經網絡剪枝

jsj4-2-x1.gif

jsj4-t1.gif

2.1 模型壓縮的方法

    本文用以下方法修剪模型:(1)首先使用遷移學習的方法對網絡訓練,然后對網絡進行微調,使網絡收斂并達到最優,保存模型;(2)對保存的模型進行修剪,并再次訓練,對修剪后的模型參數通過訓練進行微調,如此反復進行,直到檢測不到可供裁剪的卷積核;(3)對上一步裁剪后的模型再次訓練,直到訓練的次數達到設定的標準為止。具體的流程如圖2所示。

jsj4-t2.gif

    上述的處理流程比較簡單,重點是如何評判網絡模型中神經元的重要性。本文用價值函數C(W)作為評判重要性的工具。對于數據集D,經訓練后得到網絡模型Model,其中的權重參數為:

jsj4-gs3-4.gif

jsj4-gs3-4-x1.gif

2.2 參數評估

    網絡參數的評估在模型壓縮中有著非常重要的作用。一般采用下面的這種方法,通過比較權重參數的l2范數的大小,刪除l2范數較小的卷積核[8]。除此之外,還可以通過激活驗證的方法對參數進行評判,將數據集通過網絡前向傳播,對于某個網絡節點,若有大量通過激活函數后的數值為0或者小于一定的閾值,則將其舍去。

2.2.1 最小化l2范數

jsj4-gs5.gif

3 實驗結果

3.1 訓練和剪枝結果

    本設計在Ubuntu16.04系統,搭載1080Ti顯卡的高性能服務器上進行實驗,使用Pytorch深度學習框架進行訓練和測試。本設計使用VGG16網絡,對16類常見的路面障礙物圖片進行訓練,其中數據集中的訓練集有24 000張圖片,訓練集12 000張圖片。在VGG16網絡中有16個卷積網絡層,共4 224個卷積核。采用遷移學習的方法對其進行訓練,設置epoch為30,訓練的結果如圖3所示。

jsj4-t3.gif

    圖3縱軸表示訓練的準確率,橫軸表示迭代次數,最后的訓練準確率為97.97%。

    將上面的訓練參數保存為模型,對其進行剪枝,分5次對其修剪,首先會根據l2范數最小值篩選出要修剪的網絡層中的卷積核,每次去除512個卷積核,修剪后模型中剩余的卷積核數量如圖4所示。

jsj4-t4.gif

    圖4中縱軸表示模型中保留的卷積核的數量,從最初的4 224降到1 664,裁剪率達到60.6%。5次迭代修剪后的準確率如圖5所示。

jsj4-t5.gif

    對修剪后的網絡重新訓練得到最終的修剪模型,訓練過程如圖6所示。

jsj4-t6.gif

    最后達到98.7%的準確率。剪枝前模型大小為512 MB,剪枝后模型可以縮小到162 MB,將模型的內存占用降低了68.35%。

3.2 嵌入式平臺下的移植測試

    在嵌入式平臺樹莓派3代B型上移植Pytorch框架,樹莓派3b擁有1.2 GHz的四核BCM2837 64位ARM A53處理器,1 GB運行內存,板載BCM43143WiFi。由于樹莓派運行內存有限,故增加2 GB的swap虛擬內存,用于編譯Pytorch框架源碼。將在GPU服務器上訓練好的網絡模型移植到嵌入式平臺,對其進行測試。對123張測試圖片進行檢測分類,載入裁剪前的原始模型,用時109.47 s,準確率為95.08%。載入剪枝后的模型,同樣對123張圖片進行測試,用時41.85 s,準確率達到96.72%。結果如圖7所示,可以看到對模型裁剪后時間上減少了61%,速度有了很大提升。

jsj4-t7.gif

4 結論

    目前深度學習是一個熱門的研究方向,在圖像檢測、分類、語音識別等方面取得了前所未有的成功,但這些依賴于高性能高配置的計算機,也出現了各種深度學習框架以及網絡模型,但是可以預見深度學習即將邁入一個發展平緩期,如果不能有一個寬闊的應用領域,深度學習的發展將很快被擱淺。誠然,將其應用于嵌入式平臺將會是一個非常好的發展方向。相信未來深度學習在嵌入式領域會有一個更大的突破,部署于移動平臺將不再是一個難題。

參考文獻

[1] LECUN Y,BOTTOU L,BENGIO Y,et al.Gradient-based learning applied to document recognition[C].Proceedings of the IEEE,1998,86(11):2278-2324.

[2] HINTON G E,SALAKHUTDINOV R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.

[3] HOWARD A G,ZHU M,CHEN B,et al.MobileNets:efficient convolutional neural networks for mobile vision applications[Z].arXiv preprint arXiv:1704.04861,2017.

[4] HAN S,MAO H,DALLY W J.Deep compression:compressing deep neural networks with pruning, trained quantization and Huffman coding[J].Fiber,2015,56(4):3-7.

[5] 周飛燕,金林鵬,董軍.卷積神經網絡研究綜述[J].計算機學報,2017,40(6):1229-1251.

[6] ANWAR S,HWANG K,SUNG W,et al.Structured pruning of deep convolutional neural networks[J].JETC,2017,13(3):1-18.

[7] AYINDE B O,ZURADA J M.Building efficient ConvNets using redundant feature pruning[Z].arXiv preprint arXiv:1802.07653,2018.

[8] LI H,KADAV A,DURDANOVIC I,et al.Pruning filters for efficient ConvNets[C].ICLR 2017,2017.



作者信息:

馬治楠1,韓云杰2,彭琳鈺1,周進凡1,林付春1,劉宇紅1

(1.貴州大學 大數據與信息工程學院,貴州 貴陽550025;2.貴陽信息技術研究院,貴州 貴陽550081)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 精品亚洲欧美高清不卡高清 | 久久久精品免费热线观看 | 国产一区二区三区免费看 | 欧美日韩中文字幕在线 | 非会员体验60秒试看福利区 | 第一福利在线观看永久视频 | 久久亚洲国产视频 | 九七影院97理论片 | 久久久久国产精品免费看 | 狠狠色婷婷丁香六月 | 欧美另类激情 | 免费精品久久久久久中文字幕 | 国产精品99久久久久久www | 日韩在线精品 | 啪啪自拍视频 | 国产精品人人爽人人做我的可爱 | 日韩欧美视频 | va视频在线观看 | 一级毛片大全 | 爱爱欧美视频 | 日本亚洲国产精品久久 | 久久精品a一国产成人免费网站 | 片免费观看在线看 | 久久精品免视看国产成人2021 | 国内成人自拍视频 | 猛男诞生记最新免费完整版韩剧 | 国产午夜视频在线 | 久久青草国产免费观看 | 生化危机5高清免费收看 | 国产精品久久久久久久久电影网 | 成人黄色在线播放 | 激情5月婷婷| 日本精品久久久久久久 | 黄色的视频免费观看 | 国产欧美综合在线 | 国产精品久久久久影视不卡 | 精品久久久久久中文字幕无碍 | 久久成人国产精品 | 九九九久久久 | 久久综合视频网站 | 久久国内 |