999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于字典學習的卷積神經網絡壓縮方法

2020-04-23 05:42:46張永輝
計算機工程與設計 2020年4期
關鍵詞:實驗方法

耿 旭,張永輝,張 健

(海南大學 信息與通信工程學院,海南 海口 570228)

0 引 言

近幾年,隨著數值計算設備性能的提升,卷積神經網絡(convolution neural network)得以快速發展,并在圖像分類[1-3]、目標檢測[4-6]等領域中取得了優異的成績。但是,卷積神經網絡的計算量較大,模型參數非常多,對一些資源有限的設備很不友好。神經網絡壓縮的目的是在不影響神經網絡性能的情況下,降低網絡計算量和減少存儲空間,本文的研究重點是減少存儲空間。目前,國內外學者在神經網絡模型壓縮方面已經取得不少的研究成果:Han等[7]通過參數裁剪、K-means聚類量化以及哈夫曼編碼實現神經網絡模型壓縮。Denton等[8]提出低秩近似的方法來減少模型參數。Srinivas等[9]通過比較同層內不同神經元的權重向量的相似度,將相似的向量合并,達到網絡壓縮的目的。Novikov等[10]提出張量分解的方法實現網絡模型壓縮。

基于對參數進行K-means聚類的思想,提出了對卷積核進行聚類的方法,實驗結果表明,將卷積核聚為k類之后,若k比較小,相應的壓縮率也小,但是神經網絡的準確率明顯下降,若k比較大,準確率波動小,但是壓縮率高。為了保持準確率的同時,降低壓縮率,進一步提出使用K-SVD字典學習算法對卷積神經網絡進行壓縮,實驗結果表明,該方法能將卷積核參數占用的存儲空間降低至原先的12%左右,并且卷積神經網絡的準確率波動不足0.1%。

1 K-SVD字典學習

K-SVD字典算法是Aharon等提出的,用于更新過完備字典中原子的算法。給定訓練數據Y=[y1,y2,…,yt]∈Rn×t, K-SVD的優化函數如式(1)所示

(1)

其中,D=[d1,d2,…,dk]∈Rn×k為字典矩陣,X=[x1,x2,…,xt]∈Rk×t為稀疏系數矩陣,T為列向量的稀疏度。求解此優化問題,分為兩個階段:稀疏編碼階段和字典更新階段。在稀疏編碼階段,首先固定字典D,通過追蹤算法(本文使用的是OMP(orthogonal matching pursuit)算法),對稀疏系數矩陣X逐列求解,如式(2)所示

(2)

(3)

此時優化問題可描述為式(4)

(4)

E′j=U∑VT

(5)

2 壓縮方法

本文提出的壓縮方法分為3個階段,第一個階段是卷積核參數預處理,將所有卷積層的參數提取出來,并將其整理成一個參數矩陣,以便后續處理。第二個階段是卷積層參數的稀疏表示,使用K-SVD字典學習算法對參數矩陣進行學習,得到字典和稀疏系數矩陣。第三個階段是卷積核參數壓縮,對稀疏系數矩陣進行量化編碼,減少其占用的存儲空間。

2.1 卷積核參數預處理

卷積神經網絡主要由卷積層和全連接層組成,本文提出的方法是針對卷積層進行的壓縮。卷積層的參數主要為四階張量,4個維度分別是輸入通道數i,輸出通道數o,卷積核的長度h和寬度w。卷積層的卷積核數目m=o×i, 單個卷積核參數量n=h×w, 本文壓縮方法是針對尺寸為 3×3 的卷積核,此時n=9, 將卷積層的參數整理為參數矩陣Yl∈R9×m。 如果遇到尺寸較大(例如7×7或5×5)的卷積核,則需要改變網絡結構,將此卷積層用多個卷積核尺寸為3×3的卷積層進行堆疊,然后重新訓練網絡。按照此方法將所有卷積層參數都整理為二維參數矩陣,然后對所有的參數矩陣在行方向上進行拼接,形成新的參數矩陣Y=[y1,y2,…,yt]∈R9×t, 其中yi,i∈{1,2,…,t} 表示單個卷積核的參數,t是所有卷積層卷積核的總數目,Y是此卷積神經網絡所有卷積層參數組成的矩陣。

2.2 卷積核參數稀疏表示

將卷積層參數表示為Y=[y1,y2,…,yt]∈R9×t, 使用K-SVD字典學習算法對參數矩陣Y進行學習,從而得到字典矩陣D=[d1,d2,…,dk]∈R9×k和稀疏系數矩陣X=[x1,x2,…,xt]∈Rk×t。 此時yi(單個卷積核參數)可以用字典D中T(T?k) 個原子的線性組合來近似表示,即yi≈Dxi。

2.3 卷積核參數壓縮

經過K-SVD算法稀疏表示之后,得到稀疏系數矩陣X,由于xi中最多含有T個非零項,將xi中的非零項提取出來,并記錄其索引,得到x′i和索引si。若向量x′i和si的長度小于T,則補零,直至長度等于T,由稀疏的系數矩陣X得到稠密的系數矩陣X′=[x′1,x′2,…,x′t]∈RT×t和索引矩陣S=[s1,s2,…,st]∈NT×t。X′中的數值都是浮點數,占用的存儲空間較大,通過觀察發現其數值集中在一定范圍內,因此可以將X′中的數值線性映射至0到1的范圍內,然后乘以256并取整,得到整數矩陣Xz∈NT×t。 這一過程將浮點數轉化為0至256之間的整數,X′中的每一個數值都可以用一個字節存儲。

存儲卷積層參數需要存儲字典矩陣D、索引矩陣S和整數矩陣Xz,所以本文方法的壓縮效果和字典原子數目k、卷積核總數t以及稀疏系數矩陣列向量的稀疏度T相關。假設卷積核參數都是4字節的浮點數,壓縮率Q的計算方式如式(6)所示

(6)

其中,ω表示存儲一個字典索引所占的比特數,ceil表示向上取整。從公式中可以發現,對壓縮率影響最大的是T,通常情況下,由于字典原子數k遠小于卷積核的總數目t,所以字典原子數k對壓縮率的影響較小。

3 實驗及結論

為了檢驗本文方法的壓縮效果,分別在MNIST手寫數字數據集和CIFAR-10圖像分類數據集上使用了不同的卷積神經網絡結構進行壓縮實驗。實驗平臺為ubuntu 16.04操作系統和開源深度學習框架caffe。

3.1 LeNet-C5在MNIST數據集上的實驗

MNIST數據集是美國國家標準與技術研究所對250個不同人的手寫數字整理而成的數據集,其包含訓練樣本 60 000 個、測試樣本10 000個,每個樣本都由一張分辨率為28×28的灰度圖和其相對應的標簽數字(0~9)組成。

LeNet-C5是本文設計的一種無全連接層的卷積神經網絡結構,由5個卷積核尺寸為3×3的卷積層組成,所有的卷積層均無偏置項,所以整個卷積神經網絡的參數均為卷積核參數,LeNet-C5網絡結構如圖1所示。

圖1 LeNet-C5網絡結構

其中“32@3×3 CONV”表示該卷積層有32個尺寸為3×3的卷積核,卷積步長為1,“ReLU”表示激活函數為ReLU(rectified linear unit),“2×2 MP”表示該池化層的池化步長為2,池化尺寸為2×2,池化方式為最大池化。最后,使用Softmax分類器進行分類。該網絡的權值正則化方式為L2正則化,正則化系數為0.0005,初始學習率為0.01,每5000次迭代,學習率除以10。網絡經過20 000次迭代后,準確率為99.16%,存儲網絡參數占用的存儲空間為530 KB。

網絡訓練完成之后,選取原子數目k為16、32、64、128等7個值,X的列向量稀疏度T選取1、2、3這3個數值,使用本文壓縮方法對卷積神經網絡參數總共進行了21組壓縮實驗。字典學習的迭代次數為30次(已收斂),壓縮后LeNet-C5網絡的準確率如圖2所示,壓縮率如圖3所示。

圖2 壓縮后LeNet-C5準確率

圖3 LeNet-C5的壓縮率

實驗結果表明,當T=1時,準確率隨原子數目k增長很快,但是最高的準確率為98.94%,準確率有所損失。當T=2,只需要擁有較少原子的字典D就能表達整個網絡的卷積層參數,當k=16時,準確率為97.32%,壓縮率為8.44%;k=256時,準確率為99.11%,壓縮率為12.85%。當T=3時,準確率和T=2時相差無幾,但壓縮率過高,相對于T=2無任何優勢。

3.2 DenseNet在CIFAR-10數據集上的實驗

CIFAR-10數據集是一個小巧且常用的標準圖像分類數據集,由60 000張分辨率為32×32的彩色圖像組成,分為10類,每類6000張,每類隨機抽取5000圖像作為訓練集,剩余的1000張作為測試集。

本次實驗使用DenseNet網絡結構[11]在CIFAR-10數據集上進行測試,DenseNet是一種各個層之間具有密集連接的卷積神經網絡,其每個卷積層的輸入都由前面所有卷積層的輸出進行通道上的拼接而成,而該層的輸出也會直接用于后面所有卷積層的輸入。本次實驗所使用的DenseNet具有39個卷積層,其中37個卷積層的卷積核大小為3×3,邊緣填充為1,步長為1,另兩個卷積層的卷積核大小為 1×1,邊緣填充為0,步長為1,所有卷積層均無偏置項。該網絡僅有一個全連接層置于用于分類的Softmax層之前,其輸出數目為10。該網絡參數正則化方式為L2正則化,正則化系數為0.0001,初始學習率為0.1,迭代到115 000次時,學習率為0.01,迭代到172 500次時,學習率為0.001,經過230 000次的迭代,準確率為99.99%。存儲網絡參數所占用的存儲空間為4.2 MB。

DenseNet網絡訓練完成之后,進行和LeNet-C5一樣的壓縮實驗,準確率如圖4所示,壓縮率如圖5所示。

圖4 壓縮后DenseNet的準確率

圖5 DenseNet的壓縮率

由于DenseNet網絡的層數比較多,網絡比較深,所以整個網絡的卷積核數目極多。當T=1,k=256時,準確率為96.51%,和原始網絡的準確率還有所差距,k=1024時,準確率為99.82%,才基本恢復網絡的準確率,此時壓縮率為7.29%。當T=2時,k=128時,準確率為99.44%,已基本恢復網絡的準確率,此時壓縮率為10.54%,k=256時,網絡準確率為99.99%,完全恢復了網絡的準確率,此時壓縮率為11.37%。當T=3時,在原子數k較小時,網絡的準確率高于T=2,當k≧128時,網絡的準確率和T=2時無明顯差別,但壓縮性能較差。

3.3 對比實驗

為了與常見的網絡參數裁剪、聚類、編碼混合的壓縮方法進行對比,本次對比實驗,用這種混合的壓縮方法對LeNet-C5和DenseNet進行了壓縮實驗,首先進行網絡參數裁剪,采用逐步裁剪的策略(每次裁剪10%的參數),每次裁剪之后再進行重新訓練,更新未裁剪的權值來恢復精度,最終LeNet-C5裁剪了80%的參數、DenseNet裁剪了70%的參數。裁剪之后,對權值進行K-means聚類,將每個簇的權值,替換為聚類中心的數值,之后再進行重新訓練,更新聚類中心來恢復精度。最后,對其進行哈夫曼編碼,實現網絡壓縮。實驗結果見表1。

由于本文方法并未使用哈夫曼編碼(本文方法與哈夫曼編碼或其它編碼方法并無沖突,可同時使用),壓縮率高于參數裁剪、K-means聚類、哈夫曼編碼的方法,但是,本文方法沒有進行參數裁剪,而是參數近似,所以在準確率方面優于對比的方法。另外,本文方法不需要重新訓練網絡,而對比的方法需要多次重新訓練微調網絡,節省了大量的時間。

表1 對比實驗結果/%

3.4 結 論

這兩組實驗的結果表明,當字典的原子數目k較小時,T=2的準確率和壓縮率的綜合性能最優。當原子數目k較大時,T=1的綜合性能最好,此時,相似于單純的對卷積核進行聚類,但是多了一個系數,表達能力更強。對比實驗結果表明,本文方法在準確率方面占有優勢,由于本文方法未使用哈夫曼編碼或其它編碼方法,壓縮率略差,在壓縮網絡的用時方面,本文方法使用很短的時間就能完成壓縮,而參數裁剪、K-means聚類的方法,需要進行多次的重新訓練,微調網絡參數,完成壓縮需要大量的時間。

4 結束語

本文提出的深度卷積神經網絡參數壓縮算法,使用K-SVD字典學習算法得到的字典矩陣和稀疏系數矩陣對卷積核參數進行近似表示,在MNIST和CIFAR-10數據集上的實驗結果表明,本文算法可以在網絡準確率變化微小的情況下,實現對卷積神經網絡模型的快速有效壓縮。本文所提出的方法只實現了網絡模型的壓縮,并未實現加速,下一步的工作方向是研究卷積神經網絡的加速。

猜你喜歡
實驗方法
記一次有趣的實驗
微型實驗里看“燃燒”
做個怪怪長實驗
學習方法
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 狠狠做深爱婷婷久久一区| 久久夜夜视频| 日本中文字幕久久网站| 热99re99首页精品亚洲五月天| 亚洲欧洲日韩久久狠狠爱| 亚洲精品无码久久毛片波多野吉| 国产日本一线在线观看免费| 亚洲第一视频区| 精品国产一二三区| 黄色污网站在线观看| 欧美精品v| 天天色综网| 久草青青在线视频| 欧美影院久久| 国产黄色爱视频| 国产成人1024精品| 亚洲欧美成人综合| 原味小视频在线www国产| 国产精品无码久久久久久| 国产欧美精品专区一区二区| 国产亚洲精| 亚洲国模精品一区| 欧美一区二区三区国产精品| 999国内精品久久免费视频| 亚洲另类第一页| 亚洲无码日韩一区| 亚洲国产欧美自拍| 亚洲有无码中文网| 国产一区二区精品高清在线观看| 国产精品私拍99pans大尺度 | 性做久久久久久久免费看| 国产剧情伊人| 久久激情影院| 亚洲国产欧洲精品路线久久| www.日韩三级| 国产美女精品一区二区| 91麻豆国产精品91久久久| 呦视频在线一区二区三区| 精品视频91| 无码免费视频| 狠狠v日韩v欧美v| 亚洲国产成人精品一二区| 欧美福利在线观看| 999精品免费视频| 都市激情亚洲综合久久| 亚洲第一极品精品无码| 亚洲 欧美 中文 AⅤ在线视频| 中文字幕无码中文字幕有码在线| 亚洲AV成人一区国产精品| 国产成人夜色91| 久久青草视频| 色哟哟色院91精品网站| 亚洲第一av网站| 国产夜色视频| 99久久国产精品无码| 色色中文字幕| 在线亚洲小视频| 超级碰免费视频91| 国产人成午夜免费看| 97在线碰| 免费无码网站| 丁香亚洲综合五月天婷婷| 久久国产精品波多野结衣| 日韩精品一区二区三区大桥未久 | 精品1区2区3区| 日韩二区三区| 幺女国产一级毛片| 成人av手机在线观看| 成人亚洲国产| 亚洲区一区| 国产成人无码播放| 天天躁夜夜躁狠狠躁躁88| 激情乱人伦| 四虎成人免费毛片| 国产在线91在线电影| 在线免费无码视频| 国产精品免费p区| 中文字幕亚洲第一| 亚洲日韩日本中文在线| 亚洲国语自产一区第二页| 91探花在线观看国产最新| 97se亚洲综合在线|