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

基于沙漏網絡的多層次協同搜索方法

2022-12-31 00:00:00陳桂榮邱仲禹粟濤陳弟虎
計算機應用研究 2022年8期

摘要:目前,人工智能快速發展,人們可以通過探索硬件設計空間使優秀的神經網絡算法高效部署在FPGA加速器。然而,由于參數量大、操作過于復雜而導致算法與硬件難以匹配,加速效率不高。為了算法和硬件兩者匹配性更強,提出了一種多層次協同搜索的方法,采用SPOS搜索策略并以檢測準確率和延時為評估目標,搜索出最優神經網絡架構、量化方式和硬件設計參數組合。該方法應用在姿態識別中具有優異性能的沙漏網絡中,在獲取候選子網絡量化前、后的檢測準確率的同時對硬件設計參數使用遍歷搜索得到預估延時,根據目標函數獲取最高得分的最優組合。為了保證獲取的數據有效性,子網絡需要進行重新訓練、量化后重新推理得到檢測準確率,獲取硬件設計參數則利用基于Spinal HDL設計的加速器模板進行仿真測試得到測試延時。就平均而言,該方法比文獻[1]減少了83.3%的參數,準確率只下降了0.69;比傳統加速方法平均減少了33.2%參數量,準確率只下降了0.46,網絡推理的測試總延時減少22.1%,在沙漏塊的測試延時減少67.8%。總體而言,該協同搜索方法對于沙漏網絡的優化有一定效果,比傳統加速設計方法更有優勢。

關鍵詞:神經網絡;FPGA;協同搜索;沙漏網絡;延時模型

中圖分類號:TP391文獻標志碼:A

文章編號:1001-3695(2022)08-007-2284-06

doi:10.19734/j.issn.1001-3695.2022.01.0018

Multi-level co-exploration method based on hourglass network

Chen Guirong,Qiu Zhongyu,Su Tao,Chen Dihu

(School of Electronics amp; Information Technology,Sun Yat-Sen University,Guangzhou 510006,China)

Abstract:At present,with the rapid development of AI,people can efficiently deploy excellent neural network algorithms on FPGA accelerators by exploring the hardware design space.However,due to the large amount of parameters and complex operation,it is difficult to match the algorithm with the hardware,and the acceleration efficiency is low.In order to better match the algorithm and hardware,this paper proposed a multi-level co-exploration method,adopted SPOS search strategy,aimed at accuracy and latency,to obtain the optimal neural network architecture,quantization method and hardware design combination.It applied the method to hourglass network which had high accuracy in pose estimation.While obtained the accuracy before and after quantization of candidate sub networks,it used traversal method to search hardware design parameters and obtain the estimated latency,and then got the optimal combination with the highest score according to the target function.In order to ensure the effectiveness of the obtained data,it retrained the sub network,then quantified and inferenced again to obtain the accuracy.It simulated the obtained hardware design parameters to get the testing latency,using the accelerator template designed based on Spinal HDL.On average,co-exploration method reduced the parameters by 83.3% and with only 0.69 accuracy loss compared with the original structure;reduced the parameters by 33.2%,with only 0.46 accuracy loss,reduced the total testing latency of network inference by 22.1% and reduced the testing latency in hourglass block by 67.8% compared with the traditional acceleration method.Overall,the proposed co-exploration method has a certain effect on the optimization of hourglass network,and it has more advantages than the traditional acceleration method.

Key words:neural network;FPGA;co-exploration;hourglass network;latency model

0引言

隨著人工智能的快速發展,姿態估計是計算機視覺領域的主要研究方向之一,在很多領域有著重要研究價值和應用前景。堆疊式沙漏網絡[1]在二維姿態估計算法中表現優異,目前很多算法都是基于沙漏網絡的變體[2,3]。但是設計者的初衷更多是考慮其檢測準確率,而該網絡模型復雜、參數量大,在邊緣計算加速推理方面有很大的挑戰。目前在邊緣加速方面,大多是預先有算法網絡結構,然后基于該固定結構進行加速推理,卻缺乏對于算法、硬件等多方面協同設計的方法,因此存在高準確率算法卻難以匹配到硬件進行加速推理的問題[4,5],所以在加速計算方面仍有改進的空間。

在二維姿態識別領域中,存在很多較為優秀的算法[1,6~9]。以PCKh@0.5的值作為檢測準確率衡量指標,文獻[1]的沙漏網絡檢測準確率是90.9%,但是其參數量有25.1 MB;文獻[7]的SimpleBaselines準確率是91.5%,雖然采用簡單有效的結構,但是其參數量高達68.6 MB;文獻[8]的HR Net檢測準確率是92.3%,但是其參數量也有28.5 MB之多,而且參數均為浮點數。這些優秀的算法無論是在整體網絡的實現過程還是參數量上,在邊緣加速的實現過程中都是巨大的挑戰,難以匹配到硬件進行加速。

近年來,科研團隊在神經網絡算法、壓縮量化、硬件設計等方面的性能提升作出很大的貢獻。首先為了實現提高神經網絡的性能這一目標,很多研究人員采用神經網絡架構搜索(neural network architecture search,NAS)[10~13]這種先進的方法,從人工調參的煩瑣工作中脫離出來。文獻[11]提出了NAS Net,設計一個新穎的搜索空間,并使用強化學習優化方法提高了搜索性能。文獻[12]引入ENAS,利用權重參數共享方法提升了NAS的效率,GPU運算時間縮短了1 000倍以上。文獻[14]提出了One-Shot的方法,通過訓練一個超網絡作為輔助模型,整體搜索速度很快。其次,為了減少神經網絡的參數,加快神經網絡推理,不少科研人員在量化方面取得很好的進展[15]。文獻[16]將網絡權值二值化計算主要在正1或負1間進行,降低了網絡大小和計算量。文獻[17]將推斷過程中的浮點數運算量化為整數運算,最終將權重和激活函數量化為8位。文獻[18]采用混合精度量化方式以找到合適的量化位寬,實現降低能耗的目標。為了能更快地實現神經網絡推理,在加速器硬件設計中有很多地方值得關注,如處理單元(process element,PE)數目、并行度、數據流復用方式等,目前設計人員在這些方面做了很多探索。文獻[19]利用Roofline模型對卷積神經網絡(convolution neural network,CNN)加速器數據流技術的設計空間進行探索,探索不同數據流復用方式的性能。文獻[20]探索了PE的利用率和并行度,實現了性能的大幅度提升。文獻[21]提出一種加速器架構可以進行卷積層間流水,在輸出特征圖數、寬度和高度三個維度進行展開,實現并行化計算。然而這些工作都是從諸如算法準確率、硬件參數量、硬件設計方法等單一角度出發進行優化,并未協同考慮進行共同優化,以便獲取最優性能。

多目標協同搜索和硬件感知搜索[4,5,18,22~30]相關研究越來越多,設計者不僅考慮算法層面的準確率,而且考慮很多硬件性能,如功耗、耗時、面積、資源利用等。文獻[4]考慮了層和數據流復用模式之間的適應性,選擇最合適的數據流復用模式,高效部署所搜索的網絡。文獻[24]利用強化學習方法搜索,搜索空間包括算法架構、混合精度量化方式等,并建立延時模型和能耗約束,實現能耗和延時的下降。文獻[29]定義了一個新的硬件搜索空間,在目標FPGA平臺上生成具有延時保證的最優神經網絡模型。文獻[30]等提出了一種器件—電路—架構的協同探索框架,包括器件類型、電路拓撲結構和神經網絡超參數等實現性能的優化。但是這些工作基本都是基于圖像分類,而對于姿態識別、沙漏網絡卻缺乏該方面的研究。

綜上所述,在姿態識別方面,優異的算法缺乏硬件的適配性;在網絡優化、壓縮、硬件加速方面卻更多地考慮單一性能優化;在多目標優化的協同方法中缺乏對姿態識別方面的研究工作。神經網絡架構搜索方法可以自動探索神經網絡的設計優化空間,設計者可以更進一步改變網絡結構實現更高精度。與此同時,設計者還可以將其他硬件端的目標作為優化對象。這些方法很好地解決了高準確率算法與硬件難以匹配的問題,可以以很低的精度損失實現更簡便的方式進行高速推理。

本文兼顧檢測準確率和延時提出了一種面向姿態識別的沙漏網絡多層次協同搜索方法,充分探索算法和硬件設計等方面的優化空間,主要的貢獻有:針對沙漏網絡的結構,提出了算法、壓縮量化、硬件設計等方面的協同優化方法,以低準確率損失實現了性能較大的提升;建立了一個接近加速器真實運行的延時模型進行分析指導協同搜索過程;為了對延時模型的準確性進行驗證,利用Spinal HDL設計了加速器模板對獲取的數據流、并行度硬件設計參數進行仿真測試。

1多層次協同搜索方法

1.1問題定義

在傳統的神經網絡到硬件加速部署設計過程中,算法設計者關注網絡模型的準確率,因此各種NAS工作的目標是尋找一個精度更高的網絡結構,然而硬件設計師更多地關注加速器的性能,如延時、功耗等,所以很容易出現算法和硬件不匹配的問題。多層次協同方法旨在優化沙漏網絡的推理延時,同時保證準確率損失最小。

準確率的獲取需要候選模型對驗證集進行推理,本文所有的準確率都是MPII數據集特定指標值PCKh@0.5。在利用MPII數據集評估時,通常利用關節點正確定位百分比(percentage of correct keypoints,PCK)評估人體關節點定位的準確率,通常記為PCK@k。當關鍵點i的預測位置與真實位置間的距離di小于頭部長度Lhead一定比例k,稱為PCKh@k,計算公式如下:

PCKh=∑iδ(dilt;kLhead)δ(vigt;0)∑iδ(vigt;0)(1)

當k的值為0.5時,即表示為PCKh@0.5。

而網絡推理延時的獲取是使用數學建模來預測,延時可以用式(2)來描述,延時模型后續會專門進行介紹。

Ltotal=Lcalc+Lon-chip+Loff-chip(2)

總延時Ltotal包括計算延時Lcalc、片上數據移動延時Lon-chip、片外內存訪問延時Loff-chip。

為了更好地評估搜索的網絡模型和加速器的設計參數,本文提出一個目標函數,同時目標函數可以用于指導整個協同搜索過程,如式(3)所示。

score=(α×acc+β×Q-Acc+γ×Ltotal)(3)

其中:Acc、Q-Acc為候選模型量化前、量化后的準確率,兩者主要是保證量化前后都有較好的準確率;這里準確率和延時進行歸一化處理,保證score在0~100;α、β、γ為比例因子,根據多次調參后獲得合適的比例,本文采用的比例分別為0.4、0.4、0.2。

1.2方法概述

多層次協同搜索方法框架主要包含超網絡訓練、協同搜索和硬件部署等部分,如圖1所示。SPOS[15](single path one shot)將超網絡訓練和搜索分開進行,搜索過程是采用遺傳算法進行多次迭代。協同搜索方法的輸入約束主要是在算法端的沙漏塊的模型、中間壓縮的量化方式以及加速器設計的數據流復用方式和并行度,其中并行度會以FPGA的綜合實現結果的DSP數目反映出來。搜索的輸出是目標函數的評估得出最優的網絡模型、量化方式、加速器數據流和并行度參數。網絡架構需要進行重新訓練、量化、推理,以保證該網絡結構的有效性和準確性。而加速器設計參數則會在加速器模板修改參數以獲取RTL(register transfer level)代碼,最終目標是在FPGA實現高速推理。

整個搜索過程的實現是先對超網絡的沙漏塊進行編碼,方便使用遺傳算法對沙漏塊結構完成交叉、變異等遺傳操作,再對超網絡訓練、量化,然后進行搜索;在搜索階段,根據沙漏塊的編碼隨機采樣獲得候選子網絡作為初始種群,將量化前的候選子網絡在驗證集進行推理,同時將使用不同量化方式的子網絡進行推理,獲取量化前、后的準確率以便返回到目標函數進行評估,在候選子網絡中最優的子網絡會被遺傳算法選取出來作為遺傳對象進行下一輪的迭代。在驗證集驗證的同時,硬件設計會采用遍歷的方式進行搜索,將延時模型評估獲得最低延時返回到目標函數同時獲得相應的硬件設計參數。通過將量化前、后的準確率和預估延時,目標函數會獲得相應的得分以便確保該子網絡結構、量化方式、硬件設計參數均為最優。

由于超網絡訓練時采用權值共享的方式,子網絡的準確率還有提升的空間,所以當獲得了目標的網絡模型,會對其結構進行重新訓練、量化、驗證等,以保證獲取更好的準確率。獲取的硬件設計參數會調整加速器模板的參數,獲取新的RTL代碼之后進行綜合、實現等后續過程。

2多層次協同搜索空間定義

2.1算法層面

原始的沙漏塊結構如圖2[1]所示,每一個小塊都是殘差塊,殘差塊操作在硬件的實現較為復雜,并且沙漏塊的每一條支路特征融合都需要額外的緩存,因此在支路的特征融合方面和特征提取的操作存在優化的空間。

在支路的特征融合方面,本文的搜索空間有三種選擇:a)無特征融合,即去除旁路分支,不保留以前的特征;b)無卷積的直接融合,即沒有任何卷積開銷的快捷方式;c)原來的卷積特征融合,如圖3所示。無卷積特征融合比卷積特征融合減少很多的緩存、計算時間和額外的權重參數。無特征融合減少緩存時間最多。在操作算子塊搜索空間方面,原來的殘差塊需要很多的計算和緩存時間,本文嘗試用深度可分離卷積塊替換以減少計算和緩存的開銷。

為了方便對優異的沙漏塊結構進行遺傳,這里對沙漏塊在加速器的計算順序進行編碼,融合方式分別是0、1、2,操作算子塊分別是0、1,例如原始的卷積特征融合其對應為2,在原始的殘差操作塊編碼為0,所以原始結構的編碼為[2,0,2,0,2,0,2,0,0,0,0,0,0],一共13個位置編碼,而圖3則表示[2,0,1,0,0,0,2,0,0,0,0,0,0]。

2.2量化層面

在神經網絡壓縮方面,有量化、剪枝、稀疏化、蒸餾等方式,其中量化是最為常用的。因為神經網絡每一層的數據分布都不一樣,每一種量化方式有一定的差異,所以使用不同量化方式對不同的結構進行量化可能出現不同的結果。為了探索最好的量化方式,本文量化的探索空間是定點和整型。對于8位定點型量化,本文采用式(4)對整數位的位寬分別是1、2、3位進行探索,其中m表示有符號二進制補碼,b表示小數位寬,N表示量化的總位寬。

m=(1/2b)[-2N-1xN-1+∑N-2n=02nxn](4)

例如Fix8(2)表示整數位有2位,1位為符號位,其余的是小數位,如圖4所示。

另一種方式是8位整型的方式進行探索,主要如式(5)(6)所示。

f=S(q-Z)(5)

q=round(fS+Z)(6)

其中:f為浮點數;S表示縮放系數;q為量化后整數;Z表示零點。

2.3硬件設計層面

CNN加速器設計需要根據FPGA的資源情況設計較為合理的數據流復用方式和并行度,因為數據流和并行度都會影響加速器性能,如果數據流不適合可能造成額外的延時開銷,如果并行度過大可能資源不夠,并行度過小造成資源浪費。

1)數據復用方式

數據流是指卷積計算的順序,主要分為輸出復用(output reuse,OR)、輸入復用(input reuse,IR)和權值復用(weight reuse,WR)[20],不同數據流在加速器表現為計算的順序不同,每一種計算的順序有不同的運行時間。因此,在加速器設計需要根據FPGA的資源情況確定其最優的數據流。其中輸出復用偽代碼如算法1所示,相應的符號注解如表1所示。

算法1輸出數據流復用(OR)

輸入:IFM[Ic][iw][ih], Weight[Ic][Oc][Kw][Kh]。

輸出:OFM[Oc][Oh][Ow]。

1 for(y=0;ylt;Oh;y+=Toh){

2for(x=0;xlt;Ow;x+=Tox){

3 for(m=0;mlt;Oc;m+=Toc){

4for(n=0;nlt;Ic;n+=Tic){

5//從 DDR讀數據

6for(ty=0;tylt;Toh;ty+=Poy){

7 for(tx=0;txlt;Tox;tx+=Pox){

8 for(tm=0;tmlt;Toc;tm+=Poc){

9 for(tn=0;tnlt;Tic;tn+=Pic){

10for(ky=0;kylt;Kh;ky++){

11for(kx=0;kxlt;Kw;kx++){

12//并行計算

13}}}}}}

14//寫回DDR

15 }}}}

2)并行度

并行度是指在卷積計算時可以進行多少個并行的計算,即表示同時計算多少個乘法。并行計算的方式可以在不同的維度展開,例如卷積核、輸入輸出通道、特征圖的長寬等。在上述三種數據流下,Pic、Poc分別對應于輸入和輸出通道的并行計算,Pox、Poy則表示卷積窗口的并行計算,即輸出特征圖的長、寬方向的特征點,不同的并行度組合也會表現出不一樣的計算時間。

如圖5所示,表示輸入通道的并行計算,即在完成輸出特征圖的計算過程中,需要對卷積核與輸入特征圖對應通道相乘并累加后得到一個輸出特征點,而該過程在FPGA上實現是利用多個乘法器并行計算完成的,因此并行度高其計算延時可能就少。其他維度的并行都是基于卷積計算的原理進行,這里不再贅述。

2.4多層次協同搜索空間

經過上面的分析,這里總結了本文多層次協同搜索的空間,如表2所示。

3延時模型

為了準確地評估協同搜索的結果好壞,本文建立了一個接近加速器真實運行的延時模型,如式(2)所示。延時模型充分考慮了計算、片上和片外數據訪問的時間成本,比簡單地用網絡模型參數和計算量估計延時更加準確和全面。在Lcalc的建模中,本文考慮了由于PE利用率而導致的實際計算性能低于峰值計算性能的問題;在Loff-chip的建模中,充分考慮了不同數據流下的重復數據訪問模式。該模型適用于描述具有不同資源約束、數據流和并行性的普通CNN加速器的延時估計。

3.1計算延時

計算延時表示計算整個網絡所需要的時間,其中卷積占網絡計算的90%以上。計算延時可以表示為計算量除以總并行度和利用率的乘積,如式(7)所示,其中普通卷積的計算量如式(8)所示。PE的利用率可以表示為式(9)。

Lcalc=總計算量并行度×PE利用率(7)

Lcalc=∑layerOw×Oh×Ic×Oc×Kw×KwPox×Poy×Pic×Poc×PE_Utility(8)

PE_Utility=PE有效計算量PE總計算量=

Ow×Oh×Ic×Oc×Kw×Kh(Ow+Ow%Pox)×(Oh+Oh%Poy)×(Ic+Ic%Pic)×(Oc+Oc%Poc)(9)

3.2片上訪存延時

片上訪存延時是指在片上緩沖區與計算陣列之間的搬運時間,由于在本文的加速器設計中采用是流水線方式設計,片上數據搬運時間會隱藏在網絡計算當中,所以Lon-chip為零。

3.3片外訪存延時

片外訪存延時表示從DDR到片上緩存的讀和寫數據的時間,更具體是某種數據流下的總數據量Mdtflw乘以位寬DW除以總線帶寬BW,如式(10)所示。由于FPGA的片上容量有限,單層的數據可能超過片上緩沖區的大小,所以數據應該被分割成更小的塊進行緩沖。在不同的數據流下,首先重用某種類型的數據,而其他類型的數據分塊需要重復讀取或寫。所以每一種數據流都有不一樣的訪存數量。

Loff-chip=Mdtflw×DWBW=∑layer(Mdtflwifm+Mdtflwwgt+Mdtflwofm)×DWBW(10)

4加速器設計

為了驗證延時模型的準確性和整個多層次協同設計的有效性,本文采用Spinal HDL這種新穎的硬件描述語言設計硬件的CNN加速器模板。Spinal HDL類似Verilog,采用硬件的思想,而不像高層次綜合更多地考慮算法層面而忽略硬件設計的細節。由于在硬件端搜索加入了很多硬件參數,所以本文的CNN加速器模板實現了不同比特位、并行度參數化,從而使得整個模板可以通過不同的測試腳本來測試不同的硬件參數組合。測試延時的獲取是先獲取對應子網絡結構的配置指令,完成每一層的參數配置,再通過對加速器的控制模塊狀態機的讀、寫過程進行波形采樣獲取周期數。

整個加速器結構包含以下幾部分:控制模塊內部包含控制的狀態機可以控制計算、讀、寫等過程,本文設計了不同的控制器來支持搜索空間中的不同數據流;訪存模塊是片內和片外訪存的橋梁,可以將片上的數據寫回DDR,將DDR數據送到片上緩存;片上緩存模塊實現數據和權值的緩存,分為兩個數據buffer和一個權值buffer;重排模塊實現緩存數據在輸送到計算陣列之間的重新排布;計算陣列采用層間復用模式設計,每一層重復利用計算陣列,包含三個維度的并行(輸入通道,卷積窗口和輸出通道)以適配硬件端搜索的并行度設置,可以完成卷積、池化和矩陣相加等計算操作,如圖6所示。

5實驗

5.1實驗設置

本文的實驗環境配置如下:Ubuntu 16.04 LST 64位系統,PyTorch 1.71深度學習框架,NVIDIA GTX 1080ti GPU。本文采用的數據集是MPII數據集,包含25 000張圖像,采用 PCKh@0.5評測指標。沙漏塊堆疊數為1,采用RMS作為網絡訓練時的優化器,學習率是1E-3,超網絡訓練220輪,其中遺傳算法搜索20次。利用的FPGA平臺是Xilinx Zynq系列中的7z045作為資源約束。基于資源利用率過高會出現難以布線的情況的考慮,在搜索實驗中,DSP限制設置為800個,片上緩沖區總大小設置為1.312 MB,兩個數據buffer為512 KB,權值buffer為288 KB。

5.2實驗結果

1)傳統加速方法

傳統加速方法是基于固定算法結構來考慮硬件設計的加速方法,因此本文針對原始沙漏網絡結構進行數據流、并行度硬件參數和量化方式的設計搜索。

圖7是并行度與延時的關系,可以知道在相同數據流下,總并行度為1 536的情況下延時最低,而并非在最大并行度1 600的情況下延時最低。這也體現出搜索的意義所在,并非并行度越高,其延時就越低,需要與具體卷積計算的通道數等契合。圖8是數據流與延時的關系,可以知道在相同并行度下,針對于沙漏網絡輸出復用(OR)方式具有較低的延時。表3為不同量化方式的關鍵點檢測結果,可以知道各種量化方式的每個關鍵點的檢測結果,采用不同量化方式對原始沙漏網絡結構量化后各個關節點的檢測準確率有所下降,其中Int8損失最少,僅為0.2。由于腳踝是比較容易被遮擋的部分,腳踝的檢測效果最差,量化后其檢測準確率下降最多。

針對沙漏網絡原始結構搜索結果的前五名,如表4所示,其中包括量化前、后的準確率、參數量以及數據流和并行度等。預測延時是指建立的延時模型獲取的預測值,測試延時是指經過加速器模板仿真測試得到的延時,仿真測試主要是為了驗證延時模型建模的正確性。經過多次重復測試得到,預測的時間延時和測試的時間延時平均誤差只有4.02%,足以表明延時模型的有效性。從表4可以知道,傳統加速方法的搜索實驗中,并行度組合為[Pox,Poy,Pic,Poc]=[8,3,8,8],數據流復用方式為輸出復用OR,量化方式為Int8,延時最低,準確率損失最少,性能最優。

2)多層次協同搜索結果

針對沙漏模塊重新構建了超網絡進行訓練,采用多層次協同搜索方法進行搜索,其搜索結果的前五名如表5所示,表中包含沙漏塊編碼的網絡結構、量化前、后的準確率、參數量、測試延時等。可以看到,最優的沙漏塊結構為[0,1,1,0,1,1,2,0,1,0,0,1,0],其量化后的準確率為84.10%,參數量為2.23 MB。由于在量化方式、數據流、并行度的搜索方面與傳統方法一樣采用遍歷的方式進行,所以在這些參數的搜索基本一致。就平均而言,多層次搜索方法的原始準確率為84.29%,量化后準確率也有84.23%,損失很小,并且參數只有2.27 MB。至于測試延時的對比,會在后面進行。

3)實驗結果對比

由于本文工作是基于沙漏網絡進行優化的,所以最直接的性能對比是針對原始結構,即文獻[1]中的堆疊塊為1時的結果以及傳統針對原始結構的加速方法進行比較,如表6所示。

表6中的傳統方法最優和平均分別是指表4的傳統加速方法最優結果和前五名的平均結果,協同搜索最優和平均是指表5中的最優結果和前五名平均結果。就平均而言,本文方法比文獻[1]堆疊塊為1的結果減少了83.3%的參數,準確率只下降了0.69%;比傳統加速方法平均減少了33.3%參數量,準確率只下降了0.46%,網絡推理的測試總延時下降22.1%,在沙漏塊的測試延時下降了67.8%。與其他姿態識別算法相比,本文的參數量是文獻[7]的0.83%,是文獻[8]的2%,是文獻[9]的0.9%。本文工作在準確率方面可能與優秀的算法存在一定的差距,但是在參數量和網絡結構復雜度方面有一定的優勢,更能適配到FPGA進行加速推理。

綜上所述,本文的協同搜索方法在減少運行延時方面以很低的準確率損失,表現出比較好的性能。總體而言,多層次協同搜索比傳統的設計過程具有更好的加速效果。

6結束語

本文針對姿態識別的沙漏網絡,將沙漏塊的結構、量化方式和硬件設計結合,以運行延時和準確率作為目標,建立了一個接近FPGA加速器真實運行的延時模型,提出了多層次協同搜索的方法,并經過設計的可配置的加速器模板驗證其有效性。最終結果顯示,這種協同設計方法在參數量和延時方面都優于傳統的設計方法,并且只有很少的準確率下降。該方法對解決沙漏網絡算法和硬件不匹配的問題有一定效果。

當然該工作仍有改進空間,例如考慮不同沙漏塊的數目、卷積通道數等,可以加入到搜索空間獲取更高準確率的網絡的同時保持更低的延時。

參考文獻:

[1]Newell A,Yang Kaiyu,Deng Jia.Stacked hourglass networks for human pose estimation[C]//Proc of the 14th European Conference on Computer Vision.Berlin:Springer,2016:483-499.

[2]周燕,劉紫琴,曾凡智,等.深度學習的二維人體姿態估計綜述[J].計算機科學與探索,2021,15(4):641-657.(Zhou Yan,Liu Ziqin,Zeng Fanzhi,et al.Overview of 2D human pose estimation based on deep learning[J].Journal of Frontiers of Computer Science and Technology,2021,15(4):641-657.)

[3]劉勇,李杰,張建林,等.基于深度學習的二維人體姿態估計研究進展[J].計算機工程,2021,47(3):1-16.(Liu Yong,Li Jie,Zhang Jianlin,et al.Research progress of 2D human pose estimation based on deep learning[J].Computer Engineering,2021,47(3):1-16.)

[4]Li Chuxi,Fan Xiaoya,Zhang Shengbing,et al.Hardware-aware NAS framework with layer adaptive scheduling on embedded system[C]//Proc of the 26th Asia and South Pacific Design Automation Confe-rence.2021.

[5]Dong Zhen,Gao Yizhao,Huang Qijing,et al.HAO:hardware-aware neural architecture optimization for efficient inference[EB/OL].(2021-04-26).http://doi.org/10.48550/arxiv.2104.12766.

[6]Wei S E,Ramakrishna V,Kanade T,et al.Convolutional pose machines[EB/OL].(2016-04-12).http://doi.org/10.48550/arxiv.1602.00134.

[7]Xiao Bin,Wu Haiping,Wei Yichen.Simple baselines for human pose estimation and tracking[C]//Proc of European Conference on Computer Vision.Berlin:Springer,2018:472-487.

[8]Sun Ke,Xiao Bin,Liu Dong,et al.Deep high-resolution representation learning for human pose estimation[EB/OL].(2019-02-25).http://doi.org/10.48550/arxiv.1902.09212.

[9]Zhang Feng,Zhu Xiatian,Dai Hanbin,et al.Distribution-aware coordinate representation for human pose estimation[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Pisca-taway,NJ:IEEE Press,2020:7091-7100.

[10]Baker B,Gupta O,Naik N,et al.Designing neural network architectures using reinforcement learning[EB/OL].(2017-03-22).http://doi.org/10.48550/arxiv.1611.02167.

[11]Zoph B,Vasudevan V,Shlens J,et al.Learning transferable architectures for scalable image recognition[C]//Proc of IEEE/CVF Confe-rence on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2018:8697-8710.

[12]Pham H,Guan M Y,Zoph B,et al.Efficient neural architecture search via parameter sharing[EB/OL].(2018-02-12).http://doi.org/10.48550/arxiv.1802.03268.

[13]Cai Han,Yang Jiacheng,Han Song,et al.Path-level network transformation for efficient architecture search[EB/OL].(2018-06-07).http://doi.org/10.48550/arxiv.1806.02639.

[14]Brock A,Lim T,Ritchie J M,et al.SMASH:one-shot model architecture search through hypernetworks[EB/OL].(2017-08-17).http://doi.org/10.48550/arxiv.1708.05344.

[15]Guo Zichao,Zhang Xiangyu,Mu Haoyuan,et al.Single path one-shot neural architecture search with uniform sampling[EB/OL].(2020-07-08).http://doi.org/10.48550/arxiv.1904.00420.

[16]Courbariaux M,Hubara I,Soudry D,et al.Binarized neural networks:training deep neural networks with weights and activations constrained to+1 or-1[EB/OL].(2016-03-17).http://doi.org/10.48550/arxiv.1602.02830.

[17]Jacob B,Kligys S,Chen Bo,et al.Quantization and training of neural networks for efficient integer-arithmetic-only inference[EB/OL].(2017-12-15).http://doi.org/10.48550/arxiv.1712.05877.

[18]Wang Kuan,Liu Zhijian,Lin Yujun,et al.HAQ:hardware-aware automated quantization with mixed precision[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2020.

[19]Chan P,Park S,Park C S.Roofline-model-based design space exploration for dataflow techniques of CNN accelerators[J].IEEE Access,2020,8:172509-172523.

[20]Chen Y H,Krishna T,Emer J S,et al.Eyeriss:an energy-efficient reconfigurable accelerator for deep convolutional neural networks[J].IEEE Journal of Solid-State Circuits,2017,52(1):127-138.

[21]Chen Y H,Yang T J,Emer J,et al.Eyeriss v2:a flexible accelerator for emerging deep neural networks on mobile devices[J].IEEE Journal on Emerging and Selected Topics in Circuits and Systems,2019,9(2):292-308.

[22]Ma Yufei,Cao Yu,Vrudhula S,et al.Optimizing the convolution ope-ration to accelerate deep neural networks on FPGA[J].IEEE Trans on Very Large Scale Integration Systems,2018,26(7):1354-1367.

[23]Sharma H,Park J,Suda N,et al.Bit fusion:bit-level dynamically composable architecture for accelerating deep neural networks[C]//Proc of the 45th ACM/IEEE Annual International Symposium on Computer Architecture.Piscataway,NJ:IEEE Press,2017.

[24]Gong Chengyue,Jiang Zixuan,Wang Dilin,et al.Mixed precision neural architecture search for energy efficient deep learning[C]//Proc of IEEE/ACM International Conference on Computer-Aided Design.Piscataway,NJ:IEEE Press,2019:1-7.

[25]Jiang Weiwen,Li Yang,Sha H M,et al.Hardware/software co-exploration of neural architectures[J].IEEE Trans on Computer-Aided Design of Integrated Circuits and Systems,2020,39(12):4805-4815.

[26]Luo Xiangzhong,Liu Di,Huai Shuo,et al.HSCoNAS:hardware-software co-design of efficient DNNs via neural architecture search[C]//Proc of Design,Automation amp; Test in Europe Conference amp; Exhibition.Piscataway,NJ:IEEE Press,2021.

[27]Jiang Yuhang,Wang Xin,Zhu Wenwu.Hardware-aware transformable architecture search with efficient search space[C]//Proc of IEEE International Conference on Multimedia and Expo.Piscataway,NJ:IEEE Press,2020.

[28]Qiu Zhongyu,Li Jianli,Liang Dongbao,et al.A CNN/FPGA co-exploration method based on hourglass network[C]//Proc of the 4th IEEE International Conference on Electronics Technology.Piscataway,NJ:IEEE Press ,2021:333-337.

[29]Jiang Weiwen,Zhang Xinyi,Sha H M,et al.Accuracy vs.efficiency:achieving both through FPGA-implementation aware neural architecture search[C]//Proc of the 56th ACM/IEEE Design Automation Conference.2019:1-6.

[30]Jiang Weiwen,Lou Qiuwen,Yan Zheyu,et al.Device-circuit-architecture co-exploration for computing-in-memory neural accelerators[J].IEEE Trans on Computers,2021,70(4):595-605.

收稿日期:2022-01-21;修回日期:2022-03-11基金項目:廣東省重大科技計劃資助項目(2021B110127007,2019B010140002)

作者簡介:陳桂榮(1997-),男,廣東肇慶人,碩士,主要研究方向為AI加速、人工智能;邱仲禹(1996-),男,廣東佛山人,碩士,主要研究方向為AI加速、人工智能;粟濤(1977-),男(通信作者),湖南益陽人,副教授,博士,主要研究方向為人工智能、芯片與應用系統設計(sutao@mail.sysu.edu.cn);陳弟虎(1963-),男,四川綿陽人,教授,博士,主要研究方向為集成電路設計方法、深度學習與圖像識別技術.

主站蜘蛛池模板: 无码有码中文字幕| 91精品国产福利| 亚洲综合久久一本伊一区| 欧美在线精品一区二区三区| 国模视频一区二区| 亚洲人成日本在线观看| 二级毛片免费观看全程| 久久女人网| 91娇喘视频| 成人91在线| 精品亚洲欧美中文字幕在线看| 国产成人精品男人的天堂| 一级毛片不卡片免费观看| 婷婷中文在线| 国产资源免费观看| 夜色爽爽影院18禁妓女影院| 99这里只有精品在线| 性网站在线观看| 人人爽人人爽人人片| 亚洲综合欧美在线一区在线播放| 久久狠狠色噜噜狠狠狠狠97视色| 国产导航在线| 很黄的网站在线观看| 污网站免费在线观看| 香蕉精品在线| 午夜在线不卡| 国产裸舞福利在线视频合集| 亚洲天堂高清| 亚洲色图在线观看| 超清无码一区二区三区| 国产欧美日韩va| 黄片一区二区三区| 小说区 亚洲 自拍 另类| 国产另类乱子伦精品免费女| 91精品国产自产在线观看| 美女扒开下面流白浆在线试听| 国产熟女一级毛片| 东京热av无码电影一区二区| YW尤物AV无码国产在线观看| 久久亚洲国产一区二区| 福利一区在线| 日本精品αv中文字幕| 久久精品娱乐亚洲领先| 9啪在线视频| 国产男人天堂| 色婷婷亚洲综合五月| 欧美a级完整在线观看| 久久精品国产精品一区二区| 日韩国产亚洲一区二区在线观看| 精品国产Av电影无码久久久| 精品国产福利在线| 在线观看精品自拍视频| 亚洲成人精品| 久久国产精品影院| 国内精品九九久久久精品 | 久久免费看片| 中文字幕 91| 国产手机在线小视频免费观看| 午夜爽爽视频| 亚洲免费成人网| 香蕉久久国产超碰青草| 国产av剧情无码精品色午夜| 91福利免费| 国产精品妖精视频| 在线播放国产一区| 久久激情影院| 亚洲国产成人自拍| www亚洲天堂| 国产精品视频观看裸模 | 小说区 亚洲 自拍 另类| 99热这里只有精品5| 又粗又硬又大又爽免费视频播放| 久久九九热视频| 久久国产精品电影| 国产成人一区免费观看| 99久久这里只精品麻豆| 日本五区在线不卡精品| 亚洲色欲色欲www网| 广东一级毛片| 亚洲欧美日韩中文字幕在线一区| 亚洲精品无码av中文字幕| 国产成人无码播放|