亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        結合半波高斯量化與交替更新的神經網絡壓縮方法

        2021-05-17 05:30:42張紅梅嚴海兵張向利
        計算機工程 2021年5期
        關鍵詞:方法模型

        張紅梅,嚴海兵,張向利

        (桂林電子科技大學廣西高校云計算與復雜系統(tǒng)重點實驗室,廣西桂林 541004)

        0 概述

        近年來,邊緣計算技術發(fā)展迅速,而體積普遍龐大且計算復雜的卷積神經網絡(Convolution Neural Network,CNN)模型仍難以在實時性要求較高但內存容量受限的邊緣設備上部署使用,因此卷積神經網絡模型壓縮與加速成為了學術界和工業(yè)界均重點關注的研究領域。隨著卷積神經網絡模型壓縮與加速研究的不斷深入,其中的網絡量化方法得到了廣泛應用。網絡量化的核心思想是使用較少的位(bit)代替原始浮點型(32 bit)參數(shù),進而減少模型存儲空間。文獻[1]將全精度浮點型參數(shù)量化到16 bit 固定長度表示,并在訓練過程中使用隨機約束技術,從而縮減網絡存儲和浮點計算次數(shù),但壓縮程度不高且浮點計算依舊復雜。文獻[2]在模型訓練過程中直接將全精度權值量化為+1 或-1 并用1 bit 表示,理論上能把模型壓縮至原有的1/32,同時將卷積計算中的乘加運算轉換為加減運算,達到加速的目的,但因激活值為全精度,無法大幅度加速網絡計算。文獻[3]提出BNN 網絡,該網絡通過把權值和激活值量化為+1 和-1,將原始的卷積計算變成同或和位計數(shù)運算,大幅壓縮和加速深度網絡,但此類簡單量化的方式導致了較嚴重的精度損失。為此,文獻[4]提出XNOR-Net 和BWN 兩個網絡,對權值和激活值分別引入縮放因子,減少量化誤差并提高訓練精度,但在訓練過程中會出現(xiàn)梯度不匹配問題,影響精度的進一步提升。針對該問題,文獻[5]提出HWGQNet,有效地解決了訓練過程中的梯度不匹配問題,但加速效果不明顯。為減少BWN 網絡的量化誤差,文獻[6]提出TWN 網絡,將權值量化到三元網絡,即-w、0、+w,相比BWN 網絡具有更強的表達能力以及更高的訓練精度,文獻[7]在TWN 網絡基礎上引入不同的縮放因子,相比TWN 網絡精度得到進一步提升。文獻[6-7]通過引入量化值0,減少了精度損失,但模型壓縮比僅為BWN 網絡的一半。文獻[8]通過對梯度值進行量化,達到訓練加速的目的,卻導致訓練精度的下降。文獻[9]提出漸進式量化方法,減少了量化損失,但分組、量化和再訓練方式導致了較高的計算復雜度。

        本文設計一種結合半波高斯量化(Half-Wave Gaussian Quantization,HWGQ)和交替更新的神經網絡模型壓縮方法,改進2 bit 均勻半波高斯量化器,使量化后的值分解為帶有縮放因子的+1、0和-1 的組合值,當與采用BWN 量化的權值進行卷積運算時,可將浮點型卷積運算轉化為僅有+1和-1 參與的同或和位計數(shù)運算(數(shù)值0 可看作沒有參與運算)加速訓練過程,并使用交替更新方法[10]對已訓練的二值模型進行逐層微調進一步提高模型測試精度。

        1 混合壓縮方法

        本文提出的混合壓縮框架如圖1 所示,首先對模型輸入部分進行2 bit 均勻半波高斯量化,然后將值輸入到帶有縮放因子的二值網絡中進行訓練得到一個初始的二值模型,再使用交替更新方法對模型進行微調,最終得到優(yōu)化后的二值模型。在圖1 中,X是上一層經過卷積運算(卷積層)或者矩陣運算(全連接層)的輸出,是X經過2 bit 均勻半波高斯量化器的激活量化值,其中q1、q2、q3分別代表3 個量化值,且滿足等式q2-q1=q3-q2,t1和t2分別代表量化值q1和q2對應的量化間隔點,A和B分別是縮放因子矩陣和二元權值矩陣,若是經過維度變換后的卷積核,則W=BA,其中,B∈{+1,是對角矩陣,且每個對角元素αi與一一對應,Bi是B的列向量,i=1,2,…,cout。

        圖1 混合壓縮框架Fig.1 Hybrid compression framework

        1.1 半波高斯量化

        在BNN 和XNOR 網絡中,在前向傳播階段采用sign 作為激活值量化函數(shù),在反向傳播階段采用替代sign,以避免梯度全為0 的情況發(fā)生,影響梯度下降算法的更新,其中,sign 和函數(shù)定義如圖2所示。

        圖2 sign 和的函數(shù)曲線圖Fig.2 sign andfunction curve graph

        為解決上述問題,本文在前向傳播階段采用近似ReLU[12]的Q(x)作為量化函數(shù),在反向傳播階段為解決梯度全為0 的問題,采用近似ReLU 的作為Q(x)的替代函數(shù),其中ReLU 也稱為半波整流器,定義為:

        其中:當自變量x小于0 時,h(x)值等于0;當自變量x大于等于0 時,h(x)值等于自變量x。

        1.1.1 前向近似

        考慮到ReLU 的半波整流性,前向近似ReLU 的量化函數(shù)Q(x)定義如下:

        其中,qi∈?+,ti∈?+,i=1,2,…,m,t0=0,tm=∞。本文采用最小化均方誤差的方法得到最優(yōu)解Q*(x),p(x)是x的概率密度函數(shù),假設x的數(shù)學期望為E(x)、y=g(x),且絕對收斂,因此有E(y)=,在(-∞,0)區(qū)間內Q(x)與h(x)均為0,在(0,+∞)區(qū)間內h(x)=x,于是得到式(3):

        本文采用文獻[13]中提出的Lloyd 算法對Q*(x)進行求解。雖然Lloyd 算法是一種迭代算法,但輸入分布一般沒有規(guī)律,導致概率密度函數(shù)p(x)難以確定,并且不同層輸入分布一般不同,會隨著反向傳播參數(shù)的迭代更新而不斷改變。上述情況使得Lloyd算法很難得到最優(yōu)解Q*(x)。通過在量化器Q(x)前加入批量標準化(Batch Normalization,BN)[14]操作解決上述問題,批量標準化使得每層輸入變成均值為0、方差為1 的標準高斯分布。此時,每層具有相同的輸入分布,概率密度函數(shù)能唯一確定,并且只需要應用一次Lloyd 算法,加入批量標準化操作的量化器Q(x)稱為半波高斯量化器。

        1.1.2 反向近似

        為解決Q(x)在反向傳播過程中的梯度消失問題,需要尋找一個近似ReLU 的連續(xù)函數(shù),考慮到量化函數(shù)Q(x)前面加入批標準化后的輸入分布變?yōu)闃藴矢咚狗植?,輸入越接? 出現(xiàn)的概率越高,假設大于qm的x值出現(xiàn)的概率很低,因此超出qm的部分x值實際上是離群值。本文選擇Clipped ReLU 作為,定義如下:

        本文選擇Clipped ReLU 作為ReLU 的反向近似,主要原因為:1)避免在尾部出現(xiàn)與Q(x)不匹配的現(xiàn)象,減少了兩者之間的誤差;2)大部分輸入值集中于小于qm的部分,因此截斷的ReLU 不僅能很好地近似ReLU,而且易于梯度計算;3)Clipped ReLU 能夠保證穩(wěn)定優(yōu)化,與文獻[15]中裁剪的梯度能夠增強深層網絡的學習性能類似。

        1.2 BWN 方法

        本文采用文獻[4]中的BWN 方法對網絡權重部分進行量化。假設網絡有L層,第l層的卷積核個數(shù)為Kl,其中,1≤l≤L,1≤k≤Kl,令第l層的輸入,第l層的第k個卷積核,cin為輸入通道數(shù),win和hin均為輸入特征圖,w為卷積核寬度,h為卷積核高度,且w≤win、h≤hin。第l層的卷積運算如式(5)所示:

        1.3 基于HWGQ+BWN 的二值模型訓練

        對于半波高斯量化器,本文令m=3、qi+1-qi=Δ。由于此時其量化值只能取0、β-Δ、β、β+Δ這4 個值并用2 bit 進行表示,因此也可稱為2 bit 均勻半波高斯量化器。圖3 為對輸入部分和權重部分分別采用改進后的2 bit 均勻半波高斯量化器和BWN 方法量化后的卷積計算過程,其中,*表示卷積運算,?表示只有同或和位計數(shù)操作的卷積運算??梢钥闯?,經過HWGQ 量化后的值被分解為兩部分,每部分均是帶有縮放因子-1、0 和+1 的組合,最終浮點型的卷積運算轉化為僅有-1 和+1 參與的同或和位計數(shù)操作的卷積運算(數(shù)值0 可看作沒有參與運算),從而實現(xiàn)模型的訓練加速。

        圖3 具有加速作用的HWGQ+BWN 卷積計算過程Fig.3 Accelerated HWGQ+BWN convolution calculation process

        本文對第一層和最后一層保留全精度,只對中間層進行量化處理,在前向階段和反向階段使用量化的權值,在權值更新階段使用全精度值。

        算法1基于HWGQ+BWN 的二值模型訓練算法

        1.4 二值模型微調

        針對輸入部分和權重部分同時量化而導致精度損失較大的問題,本文采用文獻[10]中的交替更新方法對二值模型進行微調。交替更新方法主要是對已經訓練好的模型進行微調,并且考慮了對輸入部分和權重部分同時進行量化的情況,而文獻[10]僅考慮了對權重部分的量化。

        1.4.1 維度變換

        若要運用交替更新方法,則需對卷積層的輸入和輸出以及卷積核作維度變換。從文獻[16]得到啟發(fā),假定卷積層輸入,卷積核W∈,那么卷積層輸出,若對卷積層的輸入X、卷積核W和輸出Y進行維度變換轉換為二維矩陣和,其中下標r表示張量經過維度變換后由多維變成二維,其中wout=(win+2×p-w)/s+1,hout=(hin+2×p-h)/s+1,p和s分別表示填充值(padding)和步長(stride),此時可將卷積運算轉變?yōu)榫仃囘\算Yr=(Xr)TWr,具體過程如圖4 所示。

        圖4 卷積層上的卷積運算轉變?yōu)榫仃囘\算的過程Fig.4 The process of transforming convolution operation into matrix operation on convolution layer

        1.4.2 逐層微調

        由于對輸入部分和權重部分同時進行量化會產生一定的誤差,該誤差會逐層進行積累,因此本文采用交替更新方法對二值模型進行逐層微調解決以上問題。受文獻[17]啟發(fā),假設一個CNN 網絡有L層,記未對輸入部分和權重部分進行量化和訓練的模型為全精度模型,若由維度變換得到的第l(1≤l≤L)層全精度模型和二值模型的輸入分別為Xl和,為使得量化誤差最小,需要優(yōu)化的目標函數(shù)為:

        對式(7)進一步展開,目標函數(shù)變?yōu)椋?/p>

        式(8)的求解過程具體如下:

        2 實驗與結果分析

        本文使用CIFAR-10 和ImageNet[19]這兩種經典數(shù)據集驗證混合壓縮方法的有效性。CIFAR-10 數(shù)據集對應的網絡結構為VGG14,共有10 個類的60 000 張RGB 三通道圖片,其中,訓練集有50 000 張,測試集有10 000 張。ImageNet 對應的網絡結構為AlexNet[20],共有1 000 個類的1.25×106張GRB 三通道圖片,其中,訓練集有1.2×106張,驗證集有5×104張。

        VGG14 的網絡結構為(2×64C3)-MP2-(2×128C3)-MP2-(3×256C3)-MP2-(3×256C3)-MP2-(3×512C3)-MP2-10FC-Softmax,其中:“64C3”代表64 個大小為3×3 的卷積核,步長和填充值都為1;“MP2”代表采樣核為2×2,步長為2 的最大池化層。AlexNet 包括5 個卷積層和3 個全連接層。VGG14和AlexNet 的網絡結構如圖5 和如圖6 所示,其中:C3=3×3 filter,s=p=1,C 代表卷積(Convolution)操作,filter 代表卷積核(濾波器);MP3=2×2,s=2,MP 代表最大池化(Max Pooling);FC 代表全卷積(Fully Convolution)。

        圖5 VGG14 網絡結構Fig.5 VGG14 network structure

        圖6 AlexNet 網絡結構Fig.6 AlexNet network structure

        本文實驗硬件環(huán)境為8 核Intel?XeonTMCPU E5-2620 V4@2.10 GHz,磁盤容量為3.7 TB,總內存為31 GB,可用內存為22 GB;GPU 型號為GeForce GTX 1080Ti 的工作站1 個,專用GPU 內存為11 GB,共享GPU 內存為16 GB。軟件環(huán)境為64 位的Ubuntu 16.04 LTS,CUDA10.0,Pytorch0.3.1,Python 3.5和gcc 5.4。

        2.1 數(shù)據預處理

        2.1.1 半波高斯量化器參數(shù)設置

        本文利用Lloyd 算法[13]可以得到半波高斯量化器的參數(shù)值,2 bit 均勻半波高斯量化器參數(shù)設置如表1 所示。

        表1 2 bit 均勻半波高斯量化器參數(shù)設置Table 1 Parameters setting of 2 bit uniform half-wave Gaussian quantizer

        2.1.2 ImageNet 數(shù)據集預處理

        針對ImageNet 數(shù)據集大、分辨率高和訓練占用內存大的特點,為提高訓練速度和方便實驗調試,本文對原始的ImageNet數(shù)據集進行預處理。在對訓練集進行Resize、隨機裁剪和隨機翻轉后,數(shù)據規(guī)模由原來的167 GB 變成13.5 GB;在對驗證集進行Resize和中心裁剪之后,數(shù)據規(guī)模由原來的6.7 GB 變成543.8 MB。預處理后每張圖片分辨率為227 像素×227 像素。表2 為ImageNet 數(shù)據集預處理前后數(shù)據規(guī)模對比結果,可以看出預處理前后的數(shù)據規(guī)模壓縮比約為12.5,通過預處理加快了訓練和測試的速度。

        表2 ImageNet 數(shù)據集預處理前后的數(shù)據規(guī)模對比Table 2 Comparison of data scale before and after ImageNet dataset preprocessing

        2.2 壓縮比分析

        本文使用HWGQ+BWN 方法的壓縮效果較明顯,表3 為壓縮前和壓縮后的模型規(guī)模對比結果,可以看出,本文提出的混合壓縮方法在VGG14 和AlexNet 網絡結構上的壓縮比分別為29.5 和30.8,接近理論值32。

        表3 網絡壓縮前后模型規(guī)模對比Table 3 Comparison of model scale before and after network compression

        2.3 測試精度分析

        對于小型數(shù)據集CIFAR-10 以及對應的網絡結構VGG14,超參數(shù)設置具體如下:L2 正則化的權重衰減系數(shù)為1×10-5,迭代次數(shù)(epoch)為300,初始學習率為0.1,epoch 從150 開始,每隔50 個epoch 學習率降低10 倍,batch-size 為128,使用帶有momentum的SGD 作為參數(shù)優(yōu)化器,其中momentum 值為0.9,采用L2 正則化防止訓練時產生過擬合現(xiàn)象,提高網絡泛化能力,選擇交叉熵作為損失函數(shù)。

        對于VGG14 網絡結構,HWGQ+BWN 方法得到的二值模型測試精度為91.3%,如圖7 所示,其中Full-Precision 表示未使用量化方法的原始網絡。在此基礎上,對二值模型進行微調(HWGQ+BWN+Fine-tune),微調結果如圖8 所示??梢钥闯觯斪畲蟮螖?shù)為10 時,測試精度約穩(wěn)定于92.1%。

        圖7 3 種壓縮方法在VGG14 上的測試精度Fig.7 Test accuracy of three compression methods on VGG14

        圖8 HWGQ+BWN 方法的二值模型在VGG14 上的微調結果Fig.8 Fine-tune results of binary model of HWGQ+BWN method on VGG14

        基于CIFAR-10 數(shù)據集的4 種壓縮方法在VGG14 中的測試精度對比結果如表4 所示,可以看出本文所提的HWGQ+BWN+Fine-tune 方法相比HWGQ-Net 方法在壓縮模型規(guī)模保持不變的前提下,測試精度提高了0.8 個百分點。

        表4 CIFAR-10 數(shù)據集在VGG14 中的測試精度對比Table 4 Comparison of test accuracy of CIFAR-10 dataset in VGG14

        對于大型數(shù)據集ImageNet 以及對應的網絡結構AlexNet,超參數(shù)設置具體如下:L2 正則化的權重衰減系數(shù)為1×10-5,epoch 為20,初始學習率為0.001,每隔5 個epoch 學習率降低10 倍,batch-size 為512,使用Adam[21]作為參數(shù)優(yōu)化器,選擇交叉熵作為損失函數(shù)。對于AlexNet 網絡結構,HWGQ+BWN 最終訓練得到的二值模型Top-1 測試精度和Top-5 測試精度為50.7%和74.8%,如圖9 所示。在此基礎上,對二值模型進行微調(HWGQ+BWN+Fine-tune),微調結果如圖10 和圖11 所示,可以看出在最大迭代次數(shù)約為20 時,Top-1 測試精度和Top-5 測試精度約穩(wěn)定于52.7%和76.8%?;贗mageNet 數(shù)據集的4 種壓縮方法在AlexNet 中的測試精度對比結果如表5 所示,可以看出對于ImageNet 數(shù)據集,本文所提的HWGQ+BWN+Fine-tune 方法與相比HWGQNet 方法在壓縮模型規(guī)模保持不變的前提下,Top-1測試精度和Top-5 測試精度分別提高了2.0 和1.6 個百分點。

        圖9 3 種壓縮方法在AlexNet 上的測試精度Fig.9 Test accuracy of three compression methods on AlexNet

        圖10 HWGQ+BWN 方法的二值模型在AlexNet 上的Top-1微調結果Fig.10 Top-1 fine-tune results of binary model of HWGQ+BWN method on AlexNet

        圖11 HWGQ+BWN 方法的二值模型在AlexNet 上的Top-5微調結果Fig.11 Top-5 fine-tune results of binary model of HWGQ+BWN method on AlexNet

        表5 ImageNet 數(shù)據集在AlexNet 中的測試精度對比Table 5 Comparison of test accuracy of ImageNet dataset in AlexNet

        2.4 加速效果分析

        本文設計了一個具有加速作用的2 bit 均勻量化半波高斯量化器,能將浮點型卷積運算轉化為簡單的位運算和同或運算。如表6 所示,本文所提的HWGQ+BWN 方法通過對半波高斯量化器的改進,相比HWGQ-Net 方法實現(xiàn)了10 倍的訓練加速,相比Full-Precision 方法實現(xiàn)了30 倍的訓練加速。

        表6 3 種壓縮方法在訓練過程中的加速比對比Table 6 Comparison of speedup ratio of three compression methods in the training process

        3 結束語

        本文提出一種神經網絡壓縮方法,采用近似ReLU 的半波高斯量化器對輸入部分進行量化,在反向傳播階段利用ReLU 函數(shù)解決梯度不匹配問題。在此基礎上,通過改進的2 bit 均勻半波高斯量化器加速訓練過程,并采用交替更新方法對已訓練的二值模型進行縮放因子和二元權值微調,進一步提高神經網絡模型測試精度。實驗結果表明,在神經網絡模型規(guī)模保持不變的情況下,該方法能明顯提高模型測試精度并加快訓練速度。下一步將研究不同稀疏度的半波高斯量化器對神經網絡模型測試精度和加速效果的影響,并在滿足模型壓縮規(guī)模的條件下,將該半波高斯量化器與三值模型相結合進一步提高測試精度。

        猜你喜歡
        方法模型
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權M-估計的漸近分布
        學習方法
        可能是方法不對
        3D打印中的模型分割與打包
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        FLUKA幾何模型到CAD幾何模型轉換方法初步研究
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        天堂av中文在线官网| 日本一区二区三区视频国产| 亚洲乱码无人区卡1卡2卡3| 另类老妇奶性生bbwbbw| 制服丝袜天堂国产日韩| 九色精品国产亚洲av麻豆一| 亚洲色图在线免费视频| 国产乱人激情h在线观看| 亚洲精品久久久久高潮| 亚洲精品2区在线观看| 精品一区二区三区久久| 最新日本一道免费一区二区| 呻吟国产av久久一区二区| 亚洲熟妇夜夜一区二区三区| 青青草手机在线观看视频在线观看| 国产国产裸模裸模私拍视频| 午夜亚洲www湿好大| 国产又粗又猛又黄色呦呦| 白白色发布的在线视频| 欧美一区二区三区久久综| 热久久久久久久| 亚洲图文一区二区三区四区 | 开心久久综合婷婷九月| 人妻少妇不满足中文字幕| 亚洲国产精品线路久久| 成人全视频在线观看免费播放 | 亚洲第一最快av网站| 婷婷综合久久中文字幕蜜桃三电影| 大白屁股流白浆一区二区三区| 在线免费看91免费版.| 免费国产黄网站在线观看可以下载 | 亚洲最大中文字幕熟女| 国产精品_国产精品_k频道w| 亚洲V在线激情| 熟女少妇av一区二区三区 | 亚洲成在人网av天堂| 亚洲国产一区一区毛片a| 日本又色又爽又黄的a片18禁| 亚州综合激情另类久久久| 亚洲精品一区二区视频| 无码爽视频|