• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于貢獻(xiàn)率的CNN模型卷積核稀疏化方法

      2022-07-07 01:55:40李曉賓黎禧
      電子技術(shù)與軟件工程 2022年6期
      關(guān)鍵詞:貢獻(xiàn)率嵌入式卷積

      李曉賓 黎禧

      (北京航空航天大學(xué) 北京市 100191)

      1 引言

      隨著CNN模型的性能提升,CNN模型會不斷增加其參數(shù)規(guī)模,這就會增加神經(jīng)網(wǎng)絡(luò)卷積操作次數(shù)。在部署在嵌入式平臺的情況下,這就要求平臺具有更多的存儲資源和計算資源,此外,在嵌入式平臺運行CNN模型進(jìn)行推斷過程中,需要不斷通過I/O總線傳輸當(dāng)前傳播過程中使用的網(wǎng)絡(luò)層參數(shù)信息,輸入至對應(yīng)結(jié)構(gòu)的IP核完成卷積計算的推斷過程,而I/O總線的傳輸效率往往是有限的,而對高比特位參數(shù)的傳輸效率較低就限制了CNN模型的推斷速率。

      由于傳統(tǒng)的模型參數(shù)剪枝方式能夠大幅度降低存儲體積,但是在模型實際推理過程中需要恢復(fù)成稠密矩陣,并不能做到實質(zhì)上的加速。同時傳統(tǒng)量化方法依舊采用浮點數(shù)表達(dá)形式,無法起到加速效果,也并未考慮嵌入式平臺的傳輸效率的限制。針對這些問題,本文設(shè)計了基于貢獻(xiàn)率的模型卷積核稀疏化方法,以降低對嵌入式平臺的計算資源與存儲資源的需求,保障模型推斷速度的同時,優(yōu)化模型參數(shù)的運算復(fù)雜度。

      本文組織結(jié)構(gòu)如下:第二節(jié)討論了相關(guān)工作;第三節(jié)介紹了基于貢獻(xiàn)率的卷積核稀疏化方法設(shè)計;第四節(jié)給出了本文算法的試驗結(jié)果分析。第五部分對全文進(jìn)行總結(jié)。

      2 相關(guān)工作

      在深度神經(jīng)網(wǎng)絡(luò)發(fā)展的過程中,隨著在目標(biāo)檢測領(lǐng)域效果不斷優(yōu)越的情況下,網(wǎng)絡(luò)模型變得更加復(fù)雜,其中的模型參數(shù)不斷增加到百萬級甚至千萬級,導(dǎo)致對計算資源的需求不斷增加,網(wǎng)絡(luò)模型需求的存儲空間不斷增加,導(dǎo)致大型神經(jīng)網(wǎng)絡(luò)模型在實際應(yīng)用中受到了諸多應(yīng)用條件限制。近幾年神經(jīng)網(wǎng)絡(luò)的壓縮算法成了一個研究熱點,主要的網(wǎng)絡(luò)壓縮途徑有五種,量化、稀疏化、低秩分解、教師-學(xué)生網(wǎng)絡(luò)、輕量化網(wǎng)絡(luò)設(shè)計,量化就是將以往用32bit或者64bit表達(dá)的浮點數(shù)用1bit、2bit占用較少內(nèi)存空間的形式進(jìn)行存儲。稀疏化的目的是為了去掉一些不重要的神經(jīng)元、連接、通道等,低秩分解主要是通過各種分解方法用精簡的張量來表達(dá)復(fù)雜張量,教師-學(xué)生網(wǎng)絡(luò)間接通過提升小網(wǎng)絡(luò)性能來壓縮學(xué)生網(wǎng)絡(luò)的規(guī)模,一般可以與其他壓縮方法同時使用,輕量化網(wǎng)絡(luò)設(shè)計主要是類似MobileNet 這種設(shè)計的非常精簡但性能又好的網(wǎng)絡(luò)。本文針對在這之中研究較為豐富的模型稀疏化和量化進(jìn)行介紹。

      目前許多專家已經(jīng)提出一些方案解決CNN模型參數(shù)規(guī)模龐大導(dǎo)致的問題,例如稀疏化模型權(quán)重參數(shù),構(gòu)架稀疏化網(wǎng)絡(luò)結(jié)構(gòu),模型參數(shù)的低比特位表示方法等。關(guān)于降低CNN模型的規(guī)模方面的研究是近幾年的研究熱點,例如更精細(xì)模型的設(shè)計方法,研究者們試圖通過直接涉及輕量級的模型結(jié)構(gòu)來達(dá)到模型在嵌入式硬件上的適配部署,例如經(jīng)典的手工輕量級網(wǎng)絡(luò)模型有SqueezeNet、MobileNet等,還有目前基于自動手段獲得的CNN網(wǎng)絡(luò)模型FBnet等。 現(xiàn)階段諸多學(xué)者已經(jīng)提出了諸多網(wǎng)絡(luò)模型的稀疏化方法。Schmidhuber和Hinton G.E.采用隨機(jī)移除邊的方法,根據(jù)該理論實現(xiàn)了對神經(jīng)網(wǎng)絡(luò)的有效稀疏化,并在此基礎(chǔ)上改良了因訓(xùn)練次數(shù)過多導(dǎo)致過擬合的問題。Molchanov等人指出隨著網(wǎng)絡(luò)層越深,其剪枝的程度越高。這意味著最后的卷積層被剪枝得最多,這也導(dǎo)致后面的全連接層的神經(jīng)元數(shù)量大大減少。此外針對網(wǎng)絡(luò)模型計算復(fù)雜度方面,Li等人使用卷積窗口的貢獻(xiàn)度排序的方法對卷積層進(jìn)行迭代稀疏化,實現(xiàn)完全的剪枝。然而,計算敏感性的復(fù)雜度對于大型網(wǎng)絡(luò)來說過于高昂,所以基于量值的修剪方法使用權(quán)重的大小來近似其敏感度,具體而言,即去除權(quán)重值較小的權(quán)重,Han等人將這個想法應(yīng)用到最近的網(wǎng)絡(luò)中,并且實現(xiàn)了大幅度的模型尺寸縮減,他們迭代地修剪和全局微調(diào)網(wǎng)絡(luò),修剪后的權(quán)重將始終為零值。Guo等人基于權(quán)重值的稀疏化算法,并允許恢復(fù)先前迭代中的修剪權(quán)重,并緊密地與修剪、全局微調(diào)階段進(jìn)行結(jié)合,從而實現(xiàn)更大的模型壓縮倍數(shù)。

      但是對于多種場景任務(wù)來說,需要設(shè)計有針對模型算法,從而只能利用不改變模型結(jié)構(gòu)的方式來實現(xiàn)模型的壓縮。卷積核的稀疏化作為重要的手段之一,在訓(xùn)練過程中,對權(quán)重的更新進(jìn)行誘導(dǎo),使其更加稀疏,對于稀疏矩陣,可以使用更加緊致的存儲方式,但是使用稀疏矩陣操作在硬件平臺上運算效率不高,容易受到帶寬的影響,因此加速并不明顯。

      3 基于貢獻(xiàn)率的卷積核稀疏化

      目前針對CNN模型的稀疏化方法有多種實現(xiàn)方法,其中較為常見的兩個角度是在權(quán)重參數(shù)規(guī)模方面與卷積核規(guī)模方面。然而在嵌入式平臺上部署CNN模型時,進(jìn)行推理預(yù)測過程中,即使對CNN模型進(jìn)行了稀疏化存儲,依舊會在IP核中將其恢復(fù)成稠密矩陣形式,在嵌入式平臺上的單層網(wǎng)絡(luò)執(zhí)行過程如圖1所示。

      圖1:嵌入式平臺單層網(wǎng)絡(luò)執(zhí)行示意圖

      如圖1所示,在嵌入式平臺上單層網(wǎng)絡(luò)的執(zhí)行過程,首先緩存卷積層中的模型參數(shù),IP核1到IP核n負(fù)責(zé)實現(xiàn)卷積核的計算規(guī)則以及尺寸、步長等參數(shù)信息。實現(xiàn)結(jié)構(gòu)相同的卷積核,可以通過同一IP核來設(shè)置不同的數(shù)值,構(gòu)建多個卷積核,實現(xiàn)復(fù)用功能。其后將特征圖和卷積核交由DSP進(jìn)行計算,結(jié)果再傳入DDR存儲。

      由此可知,IP核內(nèi)的參數(shù)是以稠密矩陣的形式存儲數(shù)值,對參數(shù)稀疏化后的模型,其卷積核大部分是稀疏矩陣,構(gòu)建卷積核時依舊會恢復(fù)成稠密矩陣形式,再交由DSP處理,雖然卷積核內(nèi)大部分參數(shù)已經(jīng)是零值,但是依舊會執(zhí)行計算,并不能對模型發(fā)揮提升效果。因此該方向?qū)υ谇度胧狡脚_部署CNN模型提升效果并不明顯,需要依賴特制的軟硬件加速支持方案。而針對卷積核稀疏化的方向,是根據(jù)網(wǎng)絡(luò)層輸出的各個通道特征圖的信息進(jìn)行分析,依照稀疏化通道數(shù)的比例,篩選出來需要稀疏化的卷積核,不依賴特制的軟硬件加速支持方案,就能有效實現(xiàn)在嵌入式平臺的模型部署與加速推斷。

      本文設(shè)計采用針對卷積核的稀疏化方法,基于貢獻(xiàn)率的設(shè)計方案,對神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)進(jìn)行稀疏化,選擇對CNN模型的預(yù)測精度貢獻(xiàn)較少的卷積核編號,修改CNN模型中的輸出通道參數(shù),一方面能夠減少CNN模型的參數(shù)規(guī)模與模型體積,另一方面能夠減少模型在推斷過程中執(zhí)行卷積操作的次數(shù),降低對嵌入式平臺計算能力的需求,提升CNN模型的推斷速度。

      其中貢獻(xiàn)率的度量方法,根據(jù)神經(jīng)網(wǎng)絡(luò)模型網(wǎng)絡(luò)層所包含的各通道的特征圖輸出結(jié)果,根據(jù)神經(jīng)網(wǎng)絡(luò)推斷過程的正向傳播方法特征,若當(dāng)前通道的特征圖輸出結(jié)果接近于零值左右,將作為下一網(wǎng)絡(luò)層的輸入數(shù)據(jù),同時神經(jīng)網(wǎng)絡(luò)模型需要激活函數(shù)引入非線性因素,然而激活函數(shù)通常在處理數(shù)值較小的輸入值時,通常會直接消除該輸入值的影響,因此若通道的特征圖輸出符合上述特征,便無法有效為后續(xù)網(wǎng)絡(luò)層的推斷預(yù)測做出貢獻(xiàn)。其貢獻(xiàn)率的計算方法是利用一個批次的輸入數(shù)據(jù)進(jìn)行度量,獲得神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)層的中間特征圖輸出結(jié)果,依照L2正則化的形式計算通道的貢獻(xiàn)率。L2正則化項的計算方式如式(1)所示:

      表1:Vgg-19稀疏化實驗結(jié)果

      表2:ResNet-50稀疏化實驗結(jié)果

      因為L2正則化的計算方式,能夠是依照數(shù)據(jù)的平方值進(jìn)行累加,會保障所篩選出的卷積核所輸出的特征圖數(shù)值不會存在諸多為零值的情況,然而會保障其卷積核輸出的特征圖能夠提供更多的數(shù)值不為零值的數(shù)據(jù)特征。

      根據(jù)計算得到的全部卷積核的貢獻(xiàn)率信息,得到全部卷積核對CNN模型的預(yù)測結(jié)果的影響程度排序,由此可以根據(jù)卷積核最終預(yù)測結(jié)果的貢獻(xiàn)率由小到大,稀疏化卷積核。其具體稀疏化過程的示意圖如圖2所示。

      圖2:卷積核稀疏化示意圖

      如圖2所示,特征圖1、特征圖2和特征圖3分別為conv層的輸入特征圖、conv層的輸出特征圖和Next conv層的輸出特征圖,其中特征圖2中虛線框所包含的特征圖內(nèi)容為conv層中虛線框表示的卷積核2與卷積核4通過卷積運算所產(chǎn)生的特征圖。同時由于conv層的卷積核被裁減,勢必會導(dǎo)致Next conv層中的卷積核的運算次數(shù)有所降低,即將會降低模型在推斷檢測過程中的檢測計算復(fù)雜度。

      圖3:基于貢獻(xiàn)率的模型卷積核稀疏化方法算法示意圖

      在卷積核稀疏化過程中,為將稀疏化過程造成的CNN模型的檢測性能損失降到最低,需要構(gòu)建損失函數(shù)來指導(dǎo)卷積核稀疏化過程的方向,以此損失函數(shù)來保障在稀疏化過程中不會造成檢測精度損失過大,因此可以根據(jù)完成稀疏化conv層的卷積核操作之后,判斷是否會對其后的推斷過程產(chǎn)生較大影響,即判斷特征圖3說產(chǎn)生的波動變化最小,其數(shù)學(xué)表達(dá)式如式(2)所示:

      其中N為Next conv層生成特征圖3的通道數(shù)量;x為輸入圖像信息;w與w為原有模型參數(shù)信息與稀疏化后的模型參數(shù)信息,u為模型架構(gòu),由此可得到u(w;x)和u(w;x)作為生成的特征圖,即使用均方誤差MSE計算方式能夠得到由稀疏化過程造成的CNN模型的檢測性能損失。其具體稀疏化算法流程如圖3所示。

      其流程如圖3所示,首先預(yù)設(shè)稀疏化比例,本方法對卷積核進(jìn)行按層分組,將根據(jù)該稀疏化比例,將以此對該層卷積層中包含的卷積核進(jìn)行稀疏化,當(dāng)處理其中一層卷積層時,將利用一個批次的圖像數(shù)據(jù),計算得到全部卷積核的貢獻(xiàn)率,其后對卷積層結(jié)構(gòu)進(jìn)行逐層處理,依照稀疏化比例利用掩碼的方法消除貢獻(xiàn)率較小的卷積核所計算出的特征圖,判斷在該方案下是否會對檢測性能造成較大損失,調(diào)整稀疏化的卷積核組合,直至找到最優(yōu)稀疏化卷積核的方案,其后迭代到下一網(wǎng)絡(luò)卷積層結(jié)構(gòu),直至全部卷積層迭代完畢,根據(jù)選擇的稀疏化組合,即通過掩碼的信息稀疏化處理模型,并對稀疏化后的模型進(jìn)行重訓(xùn)練,補償稀疏化導(dǎo)致的精度損失。

      4 試驗結(jié)果分析

      首先是基于貢獻(xiàn)率的模型卷積核稀疏化方法,考慮到在嵌入式平臺上的模型計算特點,本方法主要對稀疏化后的模型精度、計算規(guī)模和所需內(nèi)存進(jìn)行分析。這部分使用較為常用的模型Vgg19,可以作為神經(jīng)網(wǎng)絡(luò)部分的特征提取器,同時參數(shù)規(guī)模較為合適,檢測性能較優(yōu),使用數(shù)據(jù)集為CIFAR-10。設(shè)置的不同的稀疏化比例為ratio進(jìn)行實現(xiàn)。在CIFAR-10數(shù)據(jù)集上,對Vgg19進(jìn)行基于貢獻(xiàn)率的模型卷積核稀疏化方法實驗,其結(jié)果如表1所示。

      由表1可知,本方法能夠較為準(zhǔn)確地減少模型中的卷積核,在模型精度損失1%的范圍內(nèi),能夠有效降低Vgg19中的參數(shù)規(guī)模以及內(nèi)存消耗需求,最大化能夠減少推理過程中的內(nèi)存消耗減少為24.73%,模型中的參數(shù)計算規(guī)模為原有的18.86%,能夠有效減少CNN模型對嵌入式平臺的計算資源與存儲資源的需求。

      其后利用ResNet50在CIFAR-10也進(jìn)行了驗證實驗,其結(jié)果如表2所示。

      綜上所述,本文設(shè)計的基于貢獻(xiàn)率的模型卷積核稀疏化方法,能夠有效的減少模型執(zhí)行過程中需要的計算資源和內(nèi)存大小,內(nèi)存占用減少了4倍,模型參數(shù)減少3-5倍。相比于量級的卷積核稀疏化方法,能夠有效的保障精度損失的在1%范圍內(nèi),避免模型精度的大幅度損失。同時能夠保障各層在嵌入式平臺推理過程中,所占用的內(nèi)存大小較為均勻,易于資源分配。本方法為神經(jīng)網(wǎng)絡(luò)模型在嵌入式平臺上的部署提供有效支持。

      5 結(jié)論

      本文提出的基于貢獻(xiàn)率的模型卷積核稀疏化方法,針對卷積神經(jīng)網(wǎng)絡(luò)中的冗余卷積核,不但降低卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù)規(guī)模,而且減少模型在推理預(yù)測的過程中所需要的卷積計算次數(shù),降低對嵌入式平臺部署模型是對計算資源的需求,加快模型的檢測速率,能夠在精度損失在1%內(nèi)的同時,內(nèi)存占用減少4倍,模型參數(shù)量減少3-5倍。

      猜你喜歡
      貢獻(xiàn)率嵌入式卷積
      基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
      一種通用的裝備體系貢獻(xiàn)率評估框架
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      搭建基于Qt的嵌入式開發(fā)平臺
      關(guān)于裝備體系貢獻(xiàn)率研究的幾點思考
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      В первой половине 2016 года вклад потребления в рост китайской экономики достиг 73,4 процента
      中亞信息(2016年10期)2016-02-13 02:32:45
      一種基于卷積神經(jīng)網(wǎng)絡(luò)的性別識別方法
      Altera加入嵌入式視覺聯(lián)盟
      桐柏县| 伊通| 盐城市| 中牟县| 广南县| 德惠市| 琼海市| 星座| 温州市| 广汉市| 石阡县| 乐都县| 股票| 买车| 福海县| 东海县| 万载县| 大足县| 库尔勒市| 故城县| 和平县| 镇沅| 衡水市| 文安县| 新田县| 荥阳市| 泸西县| 岑巩县| 印江| 苏州市| 思茅市| 温泉县| 翁源县| 农安县| 新郑市| 犍为县| 元谋县| 陆丰市| 蒙阴县| 韶山市| 大关县|