国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

權(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ò)模型對(duì)計(jì)算機(jī)內(nèi)存空間和計(jì)算能力有著較高的要求,這限制了其在一些存儲(chǔ)空間和計(jì)算能力較低的設(shè)備中部署。

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

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

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

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

深度神經(jīng)網(wǎng)絡(luò)模型壓縮主要是在高模型壓縮率和高模型容量間尋找一種最優(yōu)關(guān)系。文中在深度卷積神經(jīng)網(wǎng)絡(luò)上進(jìn)行算法設(shè)計(jì),但是可適用于其它類型的深度神經(jīng)網(wǎng)絡(luò)。對(duì)于模型壓縮率,二值權(quán)重網(wǎng)絡(luò)可實(shí)現(xiàn)32倍的模型壓縮,三值權(quán)重網(wǎng)絡(luò)可實(shí)現(xiàn)16倍的模型壓縮。對(duì)于模型容量,一個(gè)尺寸為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ù)對(duì)其編碼可獲得16倍的模型壓縮,對(duì)于尺寸為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表示濾波器的尺寸。對(duì)于尺寸為3×3的卷積濾波器,n等于9。

(2)

其中,*表示全連接層或卷積層運(yùn)算。

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

(3)

(4)

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

(5)

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

(6)

1.2 編碼

文中算法使用一個(gè)兩位二進(jìn)制數(shù)編碼一個(gè)四值權(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)制異或運(yùn)算,s∈{0,1,…,15}。

1.3 解碼

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

(10)

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

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

(11)

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

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

2.1 實(shí)驗(yàn)環(huán)境

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

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

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

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

CIFAR-10數(shù)據(jù)集如圖2所示。該數(shù)據(jù)集包括10個(gè)分類,每個(gè)分類含有6 000張圖片,尺寸為32×32像素。其中分為5個(gè)訓(xùn)練和1個(gè)測(cè)試批次,每個(gè)批次有10 000張圖片。測(cè)試批次從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個(gè)類別,每個(gè)類別600張圖像,其中500張用于訓(xùn)練,100張用于測(cè)試,尺寸為32×32像素。

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

2.3 實(shí)驗(yàn)結(jié)果及分析

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

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

本實(shí)驗(yàn)使用LeNet-5[21]網(wǎng)絡(luò)結(jié)構(gòu),也可使用其它優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu),用于分析模型壓縮后對(duì)簡單的手寫體數(shù)字識(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,并且在每個(gè)卷積層之后使用一個(gè)BatchNorm層對(duì)網(wǎng)絡(luò)進(jìn)行加速。

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

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

MNIST數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表3所示。在CMC測(cè)試中,文中算法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ù)集實(shí)驗(yàn)結(jié)果

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

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

本實(shí)驗(yàn)使用一種小型深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),也可使用其它優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu),用于分析模型壓縮后對(duì)物體分類準(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之后使用一個(gè)BatchNorm層對(duì)網(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ù)集上的實(shí)驗(yàn)結(jié)果如表5所示。在CMC測(cè)試中,文中算法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ò)模型已不適用,文中算法依然可實(shí)現(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ù)集實(shí)驗(yàn)結(jié)果

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

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

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

猜你喜歡
二值壓縮率卷積
混沌偽隨機(jī)二值序列的性能分析方法研究綜述
基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(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è)計(jì)
纏繞墊片產(chǎn)品質(zhì)量控制研究
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
基于曲率局部二值模式的深度圖像手勢(shì)特征提取
多載波通信系統(tǒng)中CQI無損壓縮法研究
江西省| 大关县| 岑巩县| 扶绥县| 新昌县| 铁岭市| 保靖县| 塔城市| 佛山市| 镇安县| 昌黎县| 柘城县| 陆良县| 湾仔区| 鹿泉市| 海林市| 姜堰市| 孟津县| 会昌县| 明星| 乐至县| 阳朔县| 清丰县| 鄂托克前旗| 梨树县| 芮城县| 丹寨县| 扶余县| 余庆县| 高邑县| 安徽省| 镇康县| 北票市| 徐闻县| 隆林| 无为县| 舞阳县| 乳山市| 沾化县| 龙岩市| 游戏|