• 
    

    
    

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

      ?

      權(quán)重量化的深度神經(jīng)網(wǎng)絡(luò)模型壓縮算法

      2019-04-22 08:02:50蔡曉東梁曉曦
      關(guān)鍵詞:二值壓縮率卷積

      陳 昀,蔡曉東,梁曉曦,王 萌

      (桂林電子科技大學(xué) 信息與通信學(xué)院,廣西壯族自治區(qū) 桂林 541004)

      得益于深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用,許多領(lǐng)域[1-3]取得了重大進(jìn)展。然而,大多數(shù)深度神經(jīng)網(wǎng)絡(luò)模型對計算機(jī)內(nèi)存空間和計算能力有著較高的要求,這限制了其在一些存儲空間和計算能力較低的設(shè)備中部署。

      在計算機(jī)視覺領(lǐng)域,深度卷積神經(jīng)網(wǎng)絡(luò)算法在圖像識別[4-5]和檢測[6-7]等任務(wù)中表現(xiàn)優(yōu)異。但是通過這些算法得到的模型通常不適用于移動設(shè)備和嵌入式設(shè)備。例如:AlexNet[8]存在6 100百萬個參數(shù)需要249MB的存儲空間,使用其去分類一張圖片需要執(zhí)行15億次高精度運算。對于那些參數(shù)更多的網(wǎng)絡(luò)如VGG[9]、Inception-ResNet[10]、DenseNet[11]、ResNeXt[12]等,則需要更高的存儲空間和計算能力。

      為了在移動設(shè)備和嵌入式設(shè)備中部署深度神經(jīng)網(wǎng)絡(luò)算法,大量的研究人員開始探索深度神經(jīng)網(wǎng)絡(luò)模型的參數(shù)冗余問題。該問題主要表現(xiàn)在權(quán)重矩陣和特征圖的冗余,通過消除這些冗余可實現(xiàn)在不影響準(zhǔn)確率的情況下壓縮深度神經(jīng)網(wǎng)絡(luò)模型以節(jié)省計算機(jī)內(nèi)存和計算資源。目前的研究主要在兩個方面:(1)減少深度神經(jīng)網(wǎng)絡(luò)的權(quán)重和連接[13-16];(2)對深度神經(jīng)網(wǎng)絡(luò)的權(quán)重編碼壓縮[17-18]。文中重點研究后者。

      目前已經(jīng)有一些算法通過對權(quán)重量化編碼來壓縮深度神經(jīng)網(wǎng)絡(luò)模型。二值權(quán)重網(wǎng)絡(luò)[19](Binary Weight Networks,BWN)算法將全精度權(quán)重量化為-1和1,并引入一個縮放因子使量化后的權(quán)重去近似全精度權(quán)重,雖然可達(dá)到32倍的模型壓縮,但是識別準(zhǔn)確率大幅下降,已無法滿足復(fù)雜任務(wù)的識別或檢測。三值權(quán)重網(wǎng)絡(luò)(Ternary Weight Networks,TWN)[20]算法針對二值權(quán)重網(wǎng)絡(luò)算法識別準(zhǔn)確率大幅下降的問題提出了一種三值權(quán)重網(wǎng)絡(luò),將全精度權(quán)重量化為-1、0和1來提高深度神經(jīng)網(wǎng)絡(luò)模型的容量,并且通過兩位二進(jìn)制數(shù)編碼量化后的權(quán)重可實現(xiàn)16倍的模型壓縮。

      在編碼壓縮階段,由于兩位二進(jìn)制數(shù)存在4種狀態(tài)而三值權(quán)重網(wǎng)絡(luò)算法只需要其中3種狀態(tài),未充分利用其編碼容量。因此,文中基于三值權(quán)重網(wǎng)絡(luò)算法提出權(quán)重量化的深度神經(jīng)網(wǎng)絡(luò)模型壓縮算法,將全精度權(quán)重量化為-2、-1、1和2四種狀態(tài)以充分利用兩位二進(jìn)制數(shù)的編碼容量,并同時提高壓縮后深度神經(jīng)網(wǎng)絡(luò)模型的容量。

      1 網(wǎng)絡(luò)壓縮模型的設(shè)計

      深度神經(jīng)網(wǎng)絡(luò)模型壓縮主要是在高模型壓縮率和高模型容量間尋找一種最優(yōu)關(guān)系。文中在深度卷積神經(jīng)網(wǎng)絡(luò)上進(jìn)行算法設(shè)計,但是可適用于其它類型的深度神經(jīng)網(wǎng)絡(luò)。對于模型壓縮率,二值權(quán)重網(wǎng)絡(luò)可實現(xiàn)32倍的模型壓縮,三值權(quán)重網(wǎng)絡(luò)可實現(xiàn)16倍的模型壓縮。對于模型容量,一個尺寸為3×3的卷積濾波器,二值權(quán)重網(wǎng)絡(luò)將權(quán)重量化為兩種狀態(tài),所以存在23×3=512種狀態(tài);三值權(quán)重網(wǎng)絡(luò)將權(quán)重量化為三種狀態(tài),所以存在33×3=19 683種狀態(tài)。文中基于三值權(quán)重網(wǎng)絡(luò)算法將全精度權(quán)重量化為四種狀態(tài),使用兩位二進(jìn)制數(shù)對其編碼可獲得16倍的模型壓縮,對于尺寸為3×3的卷積濾波器可達(dá)到43×3=262 144種狀態(tài)。相比三值權(quán)重網(wǎng)絡(luò),文中算法在保持相同模型壓縮率的情況下,模型容量可提高至約13.3倍。

      1.1 權(quán)重量化的深度卷積神經(jīng)網(wǎng)絡(luò)

      (1)

      其中,n表示濾波器的尺寸。對于尺寸為3×3的卷積濾波器,n等于9。

      (2)

      其中,*表示全連接層或卷積層運算。

      為了解決式(1)的優(yōu)化問題,將其進(jìn)行展開,如式(3)所示。

      (3)

      (4)

      四值濾波器如式(5)所示。

      (5)

      其中,閾值Δ使用三值權(quán)重網(wǎng)絡(luò)[20]算法提出的計算方式,其值隨著網(wǎng)絡(luò)權(quán)重的更新不斷調(diào)整,如式(6)所示。

      (6)

      1.2 編碼

      文中算法使用一個兩位二進(jìn)制數(shù)編碼一個四值權(quán)重,其中低位和高位編碼分別如式(7)和如(8)所示。

      (7)

      (8)

      編碼轉(zhuǎn)換表如表1所示。

      表1 四值權(quán)重編碼表

      n1=0^(x1?(2×s)) ,
      n2=n1^(x2?(2×s+1)) ,
      ?
      n31=n30^(x1?(2×s)) ,
      n31=n31^(x2?(2×s+1)) ,

      (9)

      其中,^表示二進(jìn)制異或運算,s∈{0,1,…,15}。

      1.3 解碼

      壓縮后的模型在測試階段,首先需要對四值權(quán)重編碼后的32位二進(jìn)制編碼進(jìn)行解碼,如式(10)所示。其次使用解碼得到的四值權(quán)重進(jìn)行深度卷積神經(jīng)網(wǎng)絡(luò)的前向傳播計算。

      (10)

      其中,x1和x2通過循環(huán)位與運算求解,如式(11)所示。

      x1=m&(1?(2×j)) ,
      x2=m&(1?(2×j+1)) ,

      (11)

      其中,m為32位的二進(jìn)制編碼,&表示二進(jìn)制與運算,j∈{0,1,…,15}。

      2 實驗數(shù)據(jù)與實驗結(jié)果分析

      2.1 實驗環(huán)境

      訓(xùn)練部分配置:Intel i3-4130 CPU(3.40GHz × 4)、8GB內(nèi)存、GTX980ti顯卡、ubuntu14.04操作系統(tǒng)、Caffe深度學(xué)習(xí)開源框架。測試部分配置:Intel i3-4130 CPU(3.40GHz × 4)、8GB內(nèi)存、GTX980ti顯卡、ubuntu14.04操作系統(tǒng)、Caffe深度學(xué)習(xí)開源框架。

      2.2 訓(xùn)練和驗證數(shù)據(jù)集

      圖1 MNIST數(shù)據(jù)集

      MNIST數(shù)據(jù)集如圖1所示。該數(shù)據(jù)集是一個簡單的視覺計算數(shù)據(jù)集,包括55 000份訓(xùn)練數(shù)據(jù)和10 000份測試數(shù)據(jù),每份數(shù)據(jù)都由圖片和對應(yīng)的0~9標(biāo)簽組成,圖片尺寸均為28×28像素。

      CIFAR-10數(shù)據(jù)集如圖2所示。該數(shù)據(jù)集包括10個分類,每個分類含有6 000張圖片,尺寸為32×32像素。其中分為5個訓(xùn)練和1個測試批次,每個批次有10 000張圖片。測試批次從10類圖片中每一類隨機(jī)取1 000張構(gòu)成,剩下的圖片隨機(jī)排列組合構(gòu)成訓(xùn)練批次。

      圖2 CIFAR-10數(shù)據(jù)集

      CIFAR-100數(shù)據(jù)集如圖3所示。該數(shù)據(jù)集由60 000張圖像構(gòu)成,包含100個類別,每個類別600張圖像,其中500張用于訓(xùn)練,100張用于測試,尺寸為32×32像素。

      圖3 CIFAR-100數(shù)據(jù)集

      2.3 實驗結(jié)果及分析

      文中采用CMC作為準(zhǔn)確率評估方法,將文中提出的算法與二值權(quán)重網(wǎng)絡(luò)和三值權(quán)重網(wǎng)絡(luò)進(jìn)行比較。

      2.3.1 基于MNIST數(shù)據(jù)集準(zhǔn)確性與壓縮效率實驗

      本實驗使用LeNet-5[21]網(wǎng)絡(luò)結(jié)構(gòu),也可使用其它優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu),用于分析模型壓縮后對簡單的手寫體數(shù)字識別準(zhǔn)確率的影響,該網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。其中卷積層1的濾波器尺寸為5×5,步長為1,輸出為32,卷積層2的濾波器尺寸為5×5,步長為1,輸出為64,池化層1和池化層2的濾波器尺寸為2×2,步長為2,全連接層1的維度為512,全連接層2的維度為10,分類損失層使用Softmax Loss,并且在每個卷積層之后使用一個BatchNorm層對網(wǎng)絡(luò)進(jìn)行加速。

      圖4 LeNet-5網(wǎng)絡(luò)結(jié)構(gòu)

      網(wǎng)絡(luò)訓(xùn)練使用的超參數(shù)如表2所示。

      MNIST數(shù)據(jù)集上的實驗結(jié)果如表3所示。在CMC測試中,文中算法Top1準(zhǔn)確率為99.41%,與全精度深度卷積神經(jīng)網(wǎng)絡(luò)模型準(zhǔn)確率相同,相比三值權(quán)重網(wǎng)絡(luò)模型和二值權(quán)重網(wǎng)絡(luò)模型分別提高了0.06%和0.6%,這表明在MNIST數(shù)據(jù)集上三值權(quán)重網(wǎng)絡(luò)和二值權(quán)重網(wǎng)絡(luò)都有著優(yōu)秀的表現(xiàn),但是文中提出的四值權(quán)重模型更精確。

      表2 MNIST數(shù)據(jù)集網(wǎng)絡(luò)訓(xùn)練超參數(shù)

      表3 MNIST數(shù)據(jù)集實驗結(jié)果

      文中算法的模型壓縮率為6.74%,與三值權(quán)重網(wǎng)絡(luò)算法相同,相比二值權(quán)重網(wǎng)絡(luò)算法的模型壓縮率增加至約2.14倍,這表明文中算法可實現(xiàn)與三值權(quán)重網(wǎng)絡(luò)相同的模型壓縮率,但是高于二值權(quán)重網(wǎng)絡(luò)的壓縮率。結(jié)果表明,對于簡單的手寫體數(shù)字識別任務(wù),文中算法實現(xiàn)了全精度深度神經(jīng)網(wǎng)絡(luò)模型的高精度小容量模型轉(zhuǎn)換。

      2.3.2 基于CIFAR-10數(shù)據(jù)集準(zhǔn)確性與壓縮效率實驗

      本實驗使用一種小型深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),也可使用其它優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu),用于分析模型壓縮后對物體分類準(zhǔn)確率的影響,該網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。其中卷積層1和卷積層2的濾波器尺寸為5×5,步長為1,輸出為32,卷積層3的濾波器尺寸為5×5,步長為1,輸出為64,最大池化層1的濾波器尺寸為3×3,步長為2,平均池化層1和平均池化層2的濾波器尺寸為3×3,步長為2,全連接層1的維度為10,分類損失層使用Softmax Loss,并且在最大池化層1和平均池化層1之后使用一個BatchNorm層對網(wǎng)絡(luò)進(jìn)行加速。

      圖5 小型深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

      網(wǎng)絡(luò)訓(xùn)練使用的超參數(shù)如表4所示。

      CIFAR-10數(shù)據(jù)集上的實驗結(jié)果如表5所示。在CMC測試中,文中算法Top1準(zhǔn)確率為79.64%,相比三值權(quán)重網(wǎng)絡(luò)模型和二值權(quán)重網(wǎng)絡(luò)模型提高了0.82%和52.36%,相比全精度模型降低了1.58%,這表明在CIFAR-10數(shù)據(jù)集上二值權(quán)重網(wǎng)絡(luò)模型準(zhǔn)確率大幅度下降,而文中算法模型相比三值權(quán)重網(wǎng)絡(luò)模型具有更高的準(zhǔn)確率。

      文中算法的模型壓縮率為6.88%,與三值權(quán)重網(wǎng)絡(luò)算法相同,相比二值權(quán)重網(wǎng)絡(luò)算法的模型壓縮率增加至約1.97倍。結(jié)果表明,在物體分類任務(wù)上,二值權(quán)重網(wǎng)絡(luò)模型已不適用,文中算法依然可實現(xiàn)全精度深度卷積神經(jīng)網(wǎng)絡(luò)模型的高精度小容量模型轉(zhuǎn)換,并且準(zhǔn)確率上優(yōu)于三值權(quán)重網(wǎng)絡(luò)模型。

      表4 CIFAR-10數(shù)據(jù)集網(wǎng)絡(luò)訓(xùn)練超參數(shù)

      表5 CIFAR-10數(shù)據(jù)集實驗結(jié)果

      表6 CIFAR-10數(shù)據(jù)集實驗結(jié)果

      2.3.3 基于CIFAR-100數(shù)據(jù)集準(zhǔn)確性與壓縮效率實驗

      本實驗使用的網(wǎng)絡(luò)結(jié)構(gòu)與2.3.2節(jié)的相似,不同之處在于全連接層的輸出特征維度為100,以用于100種物體的分類。網(wǎng)絡(luò)訓(xùn)練的超參數(shù)與2.3.2節(jié)的一致。

      CIFAR-100數(shù)據(jù)集上的實驗結(jié)果如表6所示。在CMC測試中,文中算法Top1準(zhǔn)確率為36.19%,相比三值權(quán)重網(wǎng)絡(luò)模型和二值權(quán)重網(wǎng)絡(luò)模型提高了1.51%和27.94%,相比全精度模型降低了1.65%,模型壓縮率為6.62%,與三值權(quán)重網(wǎng)絡(luò)算法相同,相比二值權(quán)重網(wǎng)絡(luò)算法的模型壓縮率增加至約2倍。這表明在CIFAR-100數(shù)據(jù)集上,文中算法模型相比三值權(quán)重網(wǎng)絡(luò)模型壓縮率相同,但具有更高的準(zhǔn)確率。

      3 結(jié)論

      文中基于三值權(quán)重網(wǎng)絡(luò)提出權(quán)重量化的深度神經(jīng)網(wǎng)絡(luò)模型壓縮算法,可對全精度權(quán)重進(jìn)行高效、精確的編碼壓縮。與三值權(quán)重網(wǎng)絡(luò)相比,文中算法將全精度權(quán)重量化為四種狀態(tài),既可提高編碼效率,也能提高壓縮后模型的容量。在MNIST、CIFAR-10和CIFAR-100數(shù)據(jù)集上的實驗結(jié)果表明,文中算法具有與三值權(quán)重網(wǎng)絡(luò)相同的模型壓縮能力,但是模型容量可得到大幅度提升。文中算法雖然可對模型進(jìn)行高效、精確的壓縮,但是無法提升特征提取速度。進(jìn)一步研究可結(jié)合輸入特征量化,減少前向傳播中的向量乘法運算,以同時實現(xiàn)深度神經(jīng)網(wǎng)絡(luò)模型壓縮和加速。

      猜你喜歡
      二值壓縮率卷積
      混沌偽隨機(jī)二值序列的性能分析方法研究綜述
      基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
      支持CNN與LSTM的二值權(quán)重神經(jīng)網(wǎng)絡(luò)芯片
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于二值形態(tài)學(xué)算子的軌道圖像分割新算法
      水密封連接器尾部接電纜的優(yōu)化設(shè)計
      纏繞墊片產(chǎn)品質(zhì)量控制研究
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      基于曲率局部二值模式的深度圖像手勢特征提取
      多載波通信系統(tǒng)中CQI無損壓縮法研究
      禹城市| 突泉县| 阿城市| 嘉禾县| 京山县| 余江县| 高碑店市| 绥棱县| 盱眙县| 庄河市| 周口市| 酒泉市| 新乐市| 尼玛县| 蒲江县| 景宁| 郎溪县| 陆丰市| 盐城市| 青铜峡市| 三河市| 兖州市| 济宁市| 澜沧| 永吉县| 大荔县| 渝中区| 德格县| 湛江市| 巩义市| 凯里市| 奎屯市| 金坛市| 天柱县| 定日县| 繁昌县| 开封县| 林周县| 隆子县| 乌恰县| 江孜县|