91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺論深層卷積神經網絡的剪枝優化

電子工程師 ? 來源:電子技術應用第12期 ? 作者:馬治楠 韓云杰 彭 ? 2021-04-28 10:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

摘要: 隨著近幾年來深度學習的興起,其在目標檢測、圖像分類、語音識別、自然語言處理等機器學習領域都取得了重大的突破,其中以卷積神經網絡在深度學習中的運用較多。自VGGNet出現以來,深度學習逐漸向深層的網絡發展,網絡越來越深,這不僅增大了對硬件平臺存儲、運行內存的需求,還大大增加了計算量,對硬件平臺資源的要求越來越高。

因此將深度學習應用于嵌入式平臺尤為困難。對此,通過對模型進行剪枝的方法將訓練好的網絡模型壓縮處理,在基本保證準確率的情況下去除不重要的參數,縮減模型,減小網絡的計算復雜度,將深度學習應用于嵌入式平臺。

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]。卷積層的作用是從輸入層提取特征圖,給定訓練集:

6368160324185828021761918.gif

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

2 卷積神經網絡剪枝

6368160326517124681388836.gif

6368160328756254815269472.gif

2.1 模型壓縮的方法

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

6368160330249990105358372.gif

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

6368160333748393145490252.gif

6368160334423386497570206.gif

2.2 參數評估

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

2.2.1 最小化l2范數

6368160338676043048249929.gif

3 實驗結果

3.1 訓練和剪枝結果

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

6368160341543245505133610.gif

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

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

6368160344351030337201847.gif

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

6368160346057263738960776.gif

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

6368160347963495239166655.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%,速度有了很大提升。

6368160351333774869500050.gif

4 結論

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

作者:馬治楠 韓云杰 彭琳鈺 周進凡 林付春 劉宇紅

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4535

    瀏覽量

    87499
  • 函數
    +關注

    關注

    3

    文章

    4381

    瀏覽量

    64947
  • 卷積神經網絡

    關注

    4

    文章

    369

    瀏覽量

    12312
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    卷積神經網絡如何監測皮帶堵料情況 #人工智能

    卷積神經網絡
    jf_60804796
    發布于 :2025年07月01日 17:08:42

    BP神經網絡卷積神經網絡的比較

    BP神經網絡卷積神經網絡在多個方面存在顯著差異,以下是對兩者的比較: 一、結構特點 BP神經網絡 : BP神經網絡是一種多層的前饋
    的頭像 發表于 02-12 15:53 ?678次閱讀

    如何優化BP神經網絡的學習率

    優化BP神經網絡的學習率是提高模型訓練效率和性能的關鍵步驟。以下是一些優化BP神經網絡學習率的方法: 一、理解學習率的重要性 學習率決定了模型參數在每次迭代時更新的幅度。過大的學習率可
    的頭像 發表于 02-12 15:51 ?948次閱讀

    人工神經網絡的原理和多種神經網絡架構方法

    在上一篇文章中,我們介紹了傳統機器學習的基礎知識和多種算法。在本文中,我們會介紹人工神經網絡的原理和多種神經網絡架構方法,供各位老師選擇。 01 人工神經網絡 ? 人工神經網絡模型之所
    的頭像 發表于 01-09 10:24 ?1218次閱讀
    人工<b class='flag-5'>神經網絡</b>的原理和多種<b class='flag-5'>神經網絡</b>架構方法

    卷積神經網絡的實現工具與框架

    卷積神經網絡因其在圖像和視頻處理任務中的卓越性能而廣受歡迎。隨著深度學習技術的快速發展,多種實現工具和框架應運而生,為研究人員和開發者提供了強大的支持。 TensorFlow 概述
    的頭像 發表于 11-15 15:20 ?674次閱讀

    卷積神經網絡的參數調整方法

    卷積神經網絡因其在處理具有空間層次結構的數據時的卓越性能而受到青睞。然而,CNN的成功很大程度上依賴于其參數的合理設置。參數調整是一個復雜的過程,涉及到多個超參數的選擇和優化網絡
    的頭像 發表于 11-15 15:10 ?1218次閱讀

    卷積神經網絡在自然語言處理中的應用

    自然語言處理是人工智能領域的一個重要分支,它致力于使計算機能夠理解、解釋和生成人類語言。隨著深度學習技術的發展,卷積神經網絡(CNNs)作為一種強大的模型,在圖像識別和語音處理等領域取得了顯著成果
    的頭像 發表于 11-15 14:58 ?809次閱讀

    卷積神經網絡與傳統神經網絡的比較

    在深度學習領域,神經網絡模型被廣泛應用于各種任務,如圖像識別、自然語言處理和游戲智能等。其中,卷積神經網絡(CNNs)和傳統神經網絡是兩種常見的模型。 1. 結構差異 1.1 傳統
    的頭像 發表于 11-15 14:53 ?1887次閱讀

    深度學習中的卷積神經網絡模型

    深度學習近年來在多個領域取得了顯著的進展,尤其是在圖像識別、語音識別和自然語言處理等方面。卷積神經網絡作為深度學習的一個分支,因其在圖像處理任務中的卓越性能而受到廣泛關注。 卷積神經網絡
    的頭像 發表于 11-15 14:52 ?853次閱讀

    卷積神經網絡的基本原理與算法

    卷積神經網絡(Convolutional Neural Networks,CNN)是一類包含卷積計算且具有深度結構的前饋神經網絡(Feedforward Neural Networks
    的頭像 發表于 11-15 14:47 ?1794次閱讀

    循環神經網絡優化技巧

    循環神經網絡(Recurrent Neural Networks,簡稱RNN)是一種用于處理序列數據的深度學習模型,它能夠捕捉時間序列中的動態特征。然而,RNN在訓練過程中可能會遇到梯度消失或梯度
    的頭像 發表于 11-15 09:51 ?767次閱讀

    RNN模型與傳統神經網絡的區別

    神經網絡是機器學習領域中的一種強大工具,它們能夠模擬人腦處理信息的方式。隨著技術的發展,神經網絡的類型也在不斷增加,其中循環神經網絡(RNN)和傳統神經網絡(如前饋
    的頭像 發表于 11-15 09:42 ?1139次閱讀

    Moku人工神經網絡101

    不熟悉神經網絡的基礎知識,或者想了解神經網絡如何優化加速實驗研究,請繼續閱讀,探索基于深度學習的現代智能化實驗的廣闊應用前景。什么是神經網絡?“人工
    的頭像 發表于 11-01 08:06 ?675次閱讀
    Moku人工<b class='flag-5'>神經網絡</b>101

    關于卷積神經網絡,這些概念你厘清了么~

    隨著人工智能(AI)技術的快速發展,AI可以越來越多地支持以前無法實現或者難以實現的應用。本文基于此解釋了 卷積神經網絡 (CNN)及其對人工智能和機器學習的意義。CNN是一種能夠從復雜數據中提
    發表于 10-24 13:56

    【飛凌嵌入式OK3576-C開發板體驗】RKNN神經網絡-車牌識別

    LPRNet基于深層神經網絡設計,通過輕量級的卷積神經網絡實現車牌識別。它采用端到端的訓練方式,不依賴字符分割,能夠直接處理整張車牌圖像,并輸出最終的字符序列。這種設計提高了識別的實時
    發表于 10-10 16:40
    主站蜘蛛池模板: 色婷婷资源网 | 亚洲精品亚洲人成人网 | 亚洲精品国产自在久久出水 | 日日久 | 亚洲人成人网毛片在线播放 | 色老头·com 色老头成人免费综合视频 色老头久久久久 | 天天躁夜夜躁狠狠躁躁88 | 欧美网站在线播放 | 久久国产乱子伦精品免费午夜 | 色日本在线 | 日本在线视频一区二区三区 | 韩国三级理在线视频观看 | 综合久| 国产美女主播在线 | 日韩毛片视频 | 四虎网站 | 欧美性69| 日本美女中出 | 五月婷婷社区 | 四虎最新免费观看网址 | 1024你懂的国产在线播放 | 国模私拍一区二区三区 | 亚洲欧美视频二区 | 女生张开腿让男人桶 | 天天操狠狠干 | a级男女性高爱潮高清试 | 黄色网址视频在线观看 | 97综合| 亚洲精品成人a | 中文字幕不卡免费高清视频 | 国产四虎精品 | 爱爱网站免费 | 韩国特黄特色a大片免费 | 永久免费在线看 | www.87福利 | 手机看片1024在线观看 | 成人午夜久久 | 午夜黄色大片 | 久久六月丁香婷婷婷 | 欧美综合成人网 | 人人福利 |