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

切比雪夫逼近的深度神經網絡并行加速

2020-10-20 10:06:00李方舒陳曉旭
小型微型計算機系統 2020年10期
關鍵詞:嵌入式優化模型

李方舒,錢 慧,陳曉旭

(福州大學 物理與信息工程學院,福州 350116)

1 引 言

近年來深度神經網絡(Deep Neural Network,DNN)在圖像分類,識別,檢測等領域取得了巨大的成功.然而DNN普遍存在數據量大,計算復雜度高的問題,在卷積層中尤為突出[1],這使得網絡難以移植到資源有限的嵌入式開發板上.然而隨著高科技設備滲透到生活的方方面面,在諸多設備上實現計算密集型的應用變得越來越普遍也越來越重要,因此在資源有限的平臺上實現DNN的推理成為了研究者們關注的重點.

為了能在嵌入式終端快速部署DNN,研究者們提出了多種方案.2015年韓松等人[2]提出了去除網絡的冗余連接并調整權重以實現網絡的壓縮,使得網絡能夠在嵌入式移動應用終端上進行部署.文獻[3]通過對網絡模型進行壓縮與高度優化,將網絡從重量級模型變換為能夠部署在嵌入式開發板上的輕量級模型,實現了一種基于GPU嵌入式系統的實時駕駛員睡意檢測技術.文獻[4]通過采用傳感器融合超聲波來更好的過濾噪聲的方法,結合GPU硬件特性,提出了一種基于嵌入式GPU的實時立體視覺碰撞檢測自適應系統.文獻[5]采用異步多線程并行計算,在GPU嵌入式平臺上實現微笑檢測器過程中,采用模塊化的方案對線程進行優先級排序,并通過增加關鍵任務的線程數量來實現任務之間的負載平衡.Mohammad的團隊針對移動終端上DNN的推理進行了諸多研究[6-8],發現根據設備的資源量合理的采用不同的線程粒度進行并行化設計能夠顯著提高網絡的推理速度,并提出了數據重新排列,非精確計算等數據處理方案來實現網絡的加速設計.面向檢測,識別等任務的DNN開始逐漸應用到資源有限的移動設備上.

為了滿足人們對高質量,沉浸式影像日益增長的需求,基于深度神經網絡的圖像重構引起了研究學者的廣泛關注[9-12].然而在面向圖像重構的DNN中,為了從退化的高維圖像中不斷提取代表圖像細節的關鍵特征,導致網絡各層的輸出數據量與輸入數據量相同甚至更大,網絡卷積層負載情況更為嚴峻.相較于面向檢測識別等問題的DNN,面向圖像重構的DNN進行硬件移植時面臨著更嚴峻的挑戰.

切比雪夫多項式能夠實現最佳的函數逼近[13],因此本文采用切比雪夫多項式對網絡卷積核進行并行化處理以簡化卷積層的計算,將該優化方案應用在面向重構的深度神經網絡中,隨后對優化處理后的網絡卷積層進行基于GPU的并行化設計.為了保證方案的普適性,采用zhu等人[14]在2016年提出的基于流形學習的圖像重構網絡,該網絡能夠適用于多種不同的圖像重構任務.最后將經過并行化設計后的網絡移植到NVIDIA AGX Xavier嵌入式開發板上,并對其進行性能分析.

2 面向圖像重構的流形學習深度神經網絡

基于流形學習的深度神經網絡[14]結構如圖1所示,傳感器數據作為全連接層1的輸入,由于傳感器數據一般為復數,存在實部與虛部,對于n×n的復雜傳感器數據,需將其轉換為2n2個實數值輸入全連接層1,因此全連接層1也表示網絡的輸入層,神經元數量為2n2.全連接層2和3的神經元個數均為n2,采用tanh激活函數.為了匹配卷積操作,將全連接層3輸出的數據進行維度轉換處理,由n2×1變換為n×n.卷積層1采用64個5×5大小的卷積核以1為步長進行卷積操作,卷積層2采用64個5×5×64大小的卷積核以1為步長進行卷積操作.卷積層均采用Relu作為激活函數,最后對卷積層2采用了1個7×7×64大小的卷積核以1為步長進行反卷積得到重構圖像.

圖1 網絡結構Fig.1 Structure of the network

DNN中卷積層主要用于實現輸入信號高維特征的提取.卷積過程中通過卷積核h對輸入數據f進行局部感知,在更高層將局部信息進行綜合以提取輸入的特征,經典的卷積層計算如公式(1)所示:

y=ξ(h*f)

(1)

y表示當前卷積層的輸出,“*”表示卷積操作.ξ表示激活函數,基于流形學習的網絡模型中采用Relu函數:

在卷積計算過程中,常常需要四個嵌套的循環,內部在卷積核上迭代,外部在輸入圖像的行列方向上迭代,循環效率很低.其次,二維圖像和卷積核通常采用連續的內存塊以行串行化的順序進行存儲,按列訪問數據可能會造成內存子系統中較高的高速緩存丟失率,因此卷積操作不容易實現快速計算.考慮采用多項式來對卷積層計算進行簡化處理.

3 基于切比雪夫多項式的卷積層優化

3.1 切比雪夫多項式逼近原理

近似計算的核心在于能夠在多項式迭代時間內給出問題的近似最優解.而多項式能夠實現函數逼近,通過多項式的逼近轉換可以將問題轉化為對多項式類的研究.且由于多項式的和,差,積仍然是多項式,因此可以通過迭代規律來完成復雜計算的快速實現.

切比雪夫多項式能夠實現最佳一致逼近.考慮到實際應用中往往需要對一個已知的復雜函數f(x)進行求解,為了對計算進行化簡,通常需要尋找一個函數Qn(x),使得兩者之間的誤差能夠在某種度量意義下達到最小.切比雪夫最佳一致逼近理論中,函數Qn(x)為切比雪夫多項式,其滿足在某區間[a,b]內與f(x)之間的差值是區間內所有多項式Q(x)與f(x)之間插值中最小的,如公式(2)所示:

(2)

3.2 卷積核的切比雪夫多項式逼近

由于切比雪夫多項式能夠實現最佳一致逼近,因此考慮采用切比雪夫多項式來進行卷積核的優化.假設輸入圖像大小為3×3,卷積核大小為2×2(此處為了進行簡單的展示,實際上較少出現卷積核大小為2×2的情況).如圖2(a)所示,原始的卷積操作中,卷積核大小普遍較小,每次僅能夠提取到部分特征,常需要在每個輸入特征圖上都進行遍歷,最后在高維度上進行信息的整合,計算過程復雜.

圖2 卷積操作Fig.2 Convolutional operations

本文提出將輸入數據表示成向量形式,如圖2(b)所示,卷積核中仍然保留對應的權重信息,并采用補0的方式對其進行擴充展開,其中補0 的地方用灰色方塊表示.此時卷積核矩陣用H表示,H的維度p×q計算方式如公式(3)、公式(4)所示:

p=((Irow-drow)/stride+1)×((Icol-dcol)/stride+1)

(3)

q=Irow×Icol

(4)

其中Irow和Icol分別表示輸入圖像的長和寬,drow和dcol分別表示卷積核的長和寬,stride為步長.

此時的卷積計算被展開成為矩陣向量乘法,可以通過一次計算得到結果而無需進行卷積核對輸入圖像的遍歷,且此時輸出同樣為一個向量,其能夠直接作為下一層的輸入,無需進行維度轉換.

由于卷積操作被展開成了矩陣向量乘法,此時可以對卷積核采用切比雪夫多項式逼近來進行計算化簡,以使得其可以進行并行化處理.K階切比雪夫多項式用Tk(H)∈n×n表示,其遞歸公式如式(5)所示:

Tk(H)=2HTk-1(H)-Tk-2(H)

(5)

其中T0=1,T1=H.因此卷積核的近似可表示為公式(6):

(6)

θ=(θ0,θ1,…,θK-1)∈K表示切比雪夫多項式的系數向量,也表示網絡中需要訓練的卷積核參數.卷積層的輸入采用全連接層3直接輸出的n2×1維的數據,不進行維度轉換,用fin表示,此時網絡卷積層計算可用公式(7)表示:

(7)

ycheby表示卷積層的輸出.

(8)

(9)

3.3 卷積層的并行加速設計

CUDA架構[15]是Nvidia公司推出的GPU異構編程架構,本文結合CUDA 架構對網絡卷積層進行并行設計,關鍵在于切比雪夫多項式迭代的并行設計.

(10)

結合公式(10)和圖3可以得出,在第一輪迭代中即可計算得出全部多項式系數,后面每次迭代中對應順位的多項式系數相等,如圖中C(s,0)和C(s,1)所示,將它們按照順序存儲在GPU全局內存(Global Memory)中.

圖3 切比雪夫迭代計算流程Fig.3 Process of Chebyshev iterative

在CUDA加速設計時,采用線程并行度為m,在后續迭代過程中直接從GPU全局內存調用提前計算好的對應多項式系數來計算對應多項式的值,從而可以避免每次迭代中多項式系數值的重復計算,也減少了GPU端與CPU端的數據傳輸次數.圖4展示了CUDA進行并行處理的過程,全局內存中開辟出兩塊內存,一塊用于存放計算好的多項式系數,一塊存放計算好的多項式的值.迭代計算開始,線程塊從全局內存讀取多項式系數,為塊內線程分配相應的值,每輪迭代結束,采用線程廣播機制,將最后兩個線程計算得到的多項式值在塊內進行廣播,作為下一輪迭代的基向量.

圖4 基于CUDA的切比雪夫迭代并行設計Fig.4 Cuda-based chebyshev iterative parallel design

并行度m可以根據硬件平臺資源情況進行靈活的設置.由于每輪迭代中所有多項式的計算都在同一時刻進行,每一輪迭代過程中計算時間由兩次乘法和一次減法運算得到,因此每次迭代計算所需的時間固定,記為Time1.假設將并行度增大到m+e,所需的迭代次數變為k/(m+e),增大并行度之后迭代過程中減少的時間為(k/m-k/(m+e))×Time1.與此同時,迭代開始前所需計算的多項式系數個數增加,由2m增加至2(m+e).為了保證增大并行度能夠帶來計算時間的增益,此時需要關注兩點:1)所需計算的多項式系數增加,硬件平臺是否有足夠的線程資源來支撐它們的計算,而無需等待前面的計算結束并完成資源釋放;2)增加的多項式系數計算時間記為Time2,需要保證Time2≤(k/m-k/(m+e))×Time1.通過上述兩點的考量對并行度進行設置,可以在硬件上實現資源的充分利用.本文中切比雪夫多項式迭代過程的線程并行度m設置為3.相對于串行的迭代過程,采用并行計算的方式靈活度更高,計算效率能夠獲得顯著提升.

4 實驗分析

采用來自MGH-USCHCP公共數據集庫[16]醫學腦圖數據集來進行模型的訓練,數據集圖片大小處理成64×64.優化前后的網絡采用相同的訓練環境:CPU為Intel(R)Xeon(R)E5-4610 V4,總內存為15G;GPU為Tesla P100,顯存為256G;Tensorflow版本為1.8;CUDA版本為9.0.優化后的網絡進行重構驗證采用的推理環境:CPU為 Core i7-7700,內存為32G;GPU為Nvidia GeForce GT 730,顯存為2G;CUDA版本為9.0.將優化后的模型與原模型進行對比,驗證優化后的模型重構性能,采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)來評估重構圖像的質量.然后將優化后的模型搭載在Jetson AGX Xavier嵌入式平臺上并進行加速效果分析.Jetson AGX Xavier是NVIDIA推出的一款高性能計算開發板,其中支持CUDA 7.0,GPU為NVIDIA Volta架構,CPU為8核 Carmel ARM v8.2,提供了兩個深度學習加速器引擎,可提供30TOPs的深度學習運算能力,是目前深度神經網絡實現最佳的GPU嵌入式平臺.

4.1 網絡優化前后計算復雜度分析

DNN的時間復雜度和空間復雜度是評價網絡模型架構的重要指標.時間復雜度決定了其進行訓練與推理的用時,時間復雜度高時模型訓練時間長使得研究者們的想法無法得到快速驗證,模型的改善時間也會相應拉長.因此網絡的時間復雜度是研究者們關注的評價指標,同時在近似計算中時間復雜度也是一個重要指標.空間復雜度決定了網絡模型的參數數量,網絡進行硬件移植時需要考慮到硬件平臺有限的資源是否能夠滿足網絡部署的要求.

由于DNN中時間復雜度主要來源于網絡卷積層,因此主要進行卷積層的時間復雜度分析,公式(11)表示單個卷積層的時間復雜度,其中M表示輸出特征圖的大小,S表示卷積核的大小,Cin和Cout分別表示卷積層輸入和輸出的通道數:

ComplexTime=O(M2×S2×Cin×Cout)

(11)

由公式(9)可以得出優化后網絡的卷積層時間復雜度僅與該層卷積核參數數量有關,如公式(12):

ComplexTime=O((S2×Cout)2)

(12)

卷積層的空間復雜度計算公式如式(13)所示:

ComplexSpace=O(S2×Cin×Cout)

(13)

由公式(11)和公式(12)可以計算得出優化前后網絡各層的時間復雜度如表1所示.卷積層1和反卷積層為卷積部分的輸入和輸出層,由于在這兩層網絡中存在輸入或者輸出層通道數為1的情況,因此表1中優化后的模型卷積層1和反卷積層的時間復雜度下降不多,但是卷積層2的時間復雜度下降了125.44倍.可以得出通過優化后網絡中間隱藏的卷積層的復雜度能夠獲得明顯的時間復雜度下降.

表1 網絡優化前后各卷積層時間復雜度Table 1 Time complexity of convolutional layers of thenetwork before and after network optimization

由公式(9)可知,卷積操作被轉換為切比雪夫多項式迭代,網絡中的參數被轉換為多項式迭代中的多項式系數,而此時需要預先計算的多項式系數個數由并行度m來決定,迭代開始前需要計算2m個多項式系數值,因此并行處理后的網絡卷積層空間復雜度如公式(14)所示:

ComplexSpace=O((2m)2×Cin×Cout)

(14)

由于m遠小于原始卷積核的大小S,因此經過切比雪夫迭代處理后,各卷積核的空間復雜度明顯下降.

4.2 優化后的網絡模型重構效果驗證

優化前后的模型訓練方式一致,批次數據量大小設置為100,學習率為0.00002,采用RMSProp算法實現梯度下降,以加快收斂速度.采用均方誤差作為損失函數.

圖5為訓練過程中兩個模型損失-迭代曲線圖,可以看出優化后的模型起始損失值要大于原始模型,隨著迭代次數增加,兩條曲線逐漸貼近,最終能夠達到相近的重構性能.

圖5 兩種模型損失-迭代曲線Fig.5 Loss-iteration curves of the two models

圖6中,左邊兩張圖為網絡輸入圖像,右邊兩張圖為優化網絡的重構結果,重構出的圖像PSNR能達到30dB左右,可以證明優化后的模型可以成功的完成圖像重構任務.

4.3 優化后模型的硬件加速實現

實驗通過遠程交叉編譯將模型導入到嵌入式平臺上,以文本讀取的方式加載權重參數來實現網絡的推理過程.采用CUDA中nvprof工具對并行加速設計后的網絡模型推理一張圖片的過程進行整體分析.網絡硬件實現結果如表2所示,顯示了warp占用率(AchievedOccupancy,AO),全局內存負載吞吐量(GlobalMemoryLoadThroughput,GMLT),全局內存負載效率(GlobalMemoryLoadEfficiency,GMLE),全局內存存儲效率(GlobalMemoryStoreEfficiency,GMSE),所有參數都取平均值,如公式(15)-公式(17)所示.其中活躍線程數量為n,最大線程數量為Max_threads,請求的全局內存負載吞吐量為GMLT_Q,所需的全局內存負載吞吐量為GMLT_N,請求的全局內存存儲吞吐量為GMST_Q,所需的全局內存存儲吞吐量為GMST_N.

圖6 重構結果Fig.6 Reconstruction results

(15)

(16)

(17)

本文基于重構網絡進行并行化處理,實驗中數據集大小均為64×64,以固定的分辨率圖像進行重構.由于完成對網絡的并行化設計后,硬件平臺上線程調度的方式被確定下來,相應的資源使用方案和計算中的操作數均固定下來,因此對同樣分辨率的圖像進行重構時,各參數指標理論上保持一致,此處以一張圖像的重構為例,對網絡的硬件加速情況進行分析.

表2 網絡硬件實現分析Table 2 Hardware implementation analysis of network

表2中可以看到激活函數(此處的激活函數為卷積層的激活函數,Relu)的平均占用率最高,達到了83.5119%,表明該核函數中warp的利用最充分.卷積層計算的核函數的全局內存負載吞吐量最高,達到了767.59GB/S,同時全連接層核函數和卷積層核函數的全局內存負載效率、全局內存存儲效率都達到了100%,充分利用了設備內存帶寬.

由于全連接層1為輸入層,因此計算從全連接層2開始.由表3可得,除去網絡中各層進行權重矩陣讀取的時間,整個網絡模型運行時間為0.35s.

表4展示了原始網絡在Tensorflow環境下進行推理的時間和并行加速設計后的網絡在嵌入式開發板上進行重構推理的時間,可以看出并行加速設計后的網絡在嵌入式開發板上進行推理的速度比原始網絡在PC端推理的速度快2.2倍.

表3 網絡運行時間Table 3 Running time of the network

表4 推理時間對比Table 4 Comparison of the inference time

5 總 結

本文針對深度神經網絡中數據負荷大,網絡卷積層計算復雜度很高的問題,提出采用切比雪夫多項式對網絡卷積核進行逼近.通過將卷積核進行展開,使得其與輸入數據的卷積操作被轉換成矩陣向量乘法的形式,能夠無需遍歷操作直接計算出卷積結果,然后采用切比雪夫多項式對卷積核中參數進行迭代擬合,使得卷積操作能夠實現并行化處理.在網絡優化后的基礎上,基于CUDA編程架構為卷積層切比雪夫多項式迭代設計了對應的并行加速方案.最后將網絡移植到NVIDIA Jetson AGX Xavier嵌入式開發板上,其在開發板上進行推理的時間僅為0.35s.相較于原始網絡的推理可以獲得2.2倍的加速.

猜你喜歡
嵌入式優化模型
一半模型
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
3D打印中的模型分割與打包
主站蜘蛛池模板: 97久久人人超碰国产精品| 亚洲全网成人资源在线观看| 2021天堂在线亚洲精品专区| 欧类av怡春院| 3344在线观看无码| 秋霞午夜国产精品成人片| 9丨情侣偷在线精品国产| 午夜福利无码一区二区| 欧美亚洲激情| 久久国产乱子| 色欲综合久久中文字幕网| 伊人成人在线| 国产精品免费电影| 无码区日韩专区免费系列| 女人18毛片一级毛片在线 | 欧美一区中文字幕| 国产午夜在线观看视频| 亚洲a级在线观看| 91色在线视频| 伊人久久青草青青综合| 国产成+人+综合+亚洲欧美| 夜夜拍夜夜爽| 中文字幕久久亚洲一区| 亚洲v日韩v欧美在线观看| 国产精品99久久久| 精品国产网站| 国产真实乱子伦视频播放| 国产亚洲精品97在线观看| 欧美日韩动态图| 国产成人精品一区二区秒拍1o| 四虎影视国产精品| 97国产成人无码精品久久久| 国模极品一区二区三区| a毛片基地免费大全| 国产成人精品优优av| aaa国产一级毛片| 国产一区二区三区免费观看| h网站在线播放| 色婷婷国产精品视频| 美女被躁出白浆视频播放| 欧美性天天| 色综合五月| 综合天天色| 免费看的一级毛片| 久久综合伊人77777| 日本手机在线视频| 国产色爱av资源综合区| 四虎永久免费网站| 成人在线亚洲| 国产欧美精品一区二区| 亚洲男人的天堂视频| 久久青草视频| 久久免费看片| 91香蕉国产亚洲一二三区| 无码'专区第一页| 亚洲国产一成久久精品国产成人综合| 色亚洲成人| 亚洲三级a| 成人精品视频一区二区在线| 粗大猛烈进出高潮视频无码| 亚洲天堂免费在线视频| 成人av专区精品无码国产| 国产噜噜在线视频观看| 精品99在线观看| 国产v欧美v日韩v综合精品| 亚洲A∨无码精品午夜在线观看| 国产91在线免费视频| 成年人福利视频| 少妇被粗大的猛烈进出免费视频| 日韩精品亚洲精品第一页| 午夜视频www| 欧美亚洲国产精品久久蜜芽| 呦视频在线一区二区三区| 久久久久亚洲AV成人网站软件| 不卡国产视频第一页| 尤物国产在线| 国产精品福利在线观看无码卡| 97在线视频免费观看| 一级香蕉视频在线观看| 综合色婷婷| 欧美a级在线| 国产高清自拍视频|