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

FPGA加速器深度卷積神經網絡優化計算方法

2022-06-14 09:49:52梁修壯
計算機仿真 2022年5期
關鍵詞:計算能力深度模型

梁修壯,倪 偉

(合肥工業大學微電子設計研究所,安徽 合肥 230601)

1 引言

深度學習理論的應用越來越廣泛,多種深度學習網絡模型應運而生。其中,卷積神經網絡使用最為廣泛,實質上是一種人工神經網絡模型,簡稱為CNN,與其它人工神經網絡模型相比較,CNN模型具備層間連接的稀疏性與權重共享結構,更加接近生物神經網絡結構,能夠直接處理圖像數據,加大的簡化了數據處理過程。同時,CNN模型具有識別精度高、適應性強、復雜度低的優點,廣泛應用于人臉識別[1]、醫療檢測[2]、圖像鑒別[3]等領域中,其中Hinton與Krizhevsky設計的用于圖形分類的AlexNet[4]模型,以37.5%的識別錯誤率獲得了ILSVRC比賽的冠軍,相較于傳統模型來看,AlexNet模型具備更加優異的成績,許多學生投身到AlexNet模型研究中。

隨著卷積神經網絡的應用,其潛在的問題也逐漸顯現,面對大規模卷積計算時,會受到GPGPU和GPCPU等通用處理器上計算能力的限制,為此FPGA等硬件加速深度卷積神經網絡優化計算方法的研究很有必要[5]。FPGA具備靈活性高、計算速度快、針對性強、成本低、邏輯資源豐富的優勢,屬于一種半定制電路,芯片內部的DSP單元可以極大的提升FPGA加速器的大規模卷積計算能力,并且FPGA的存儲器還可以為卷積計算中間結果提供臨時緩沖區,由此可見,采用FPGA加速器優化深度卷積神經網絡計算能力是可行的。希望通過FPGA加速器的應用,提升深度卷積神經網絡的計算能力,滿足快速進行大規模卷積計算的需求,為其應用發展助力[3]。

2 AlexNet模型分析

AlexNet模型由五層卷積層與三層全連接層構成,共8層,具備池化、激活函數、填充、局部相應歸一化等處理功能。AlexNet模型能夠對規格為227×227×3的三通道RGB格式圖像進行處理,得到1000個用于分類的值,利用特定函數獲取這些圖像的概率分布。

圖1 AlexNet模型

AlexNet模型(見圖1)第一層輸入為規格為227×227×3的RGB格式圖像,以步長4為單位通過11×11卷積核進行卷積計算,輸出96個規格為55×55的特征圖;第二層將第一層輸出特征圖分為兩組,對池化后特征圖增加兩個單位的0元素,規則變為31×31,以步長1為單位通過5×5卷積核進行卷積計算,輸出128個規格為27×27的特征圖。經過池化、激活共獲得256個規格為13×13的特征圖。依據上述流程,繼續進行第三層、第四層以及第五層卷積計算,最終得到256個規格為6×6的特征圖,將其與第一層全連接層參數計算可得4096個輸出值,通過第二層、第三層全連接層參數計算得到1000個用于圖像分類的數值,詳細的Alexnet絡模型參數如表1所示。

表1 Alexnet網絡模型參數表

Alexnet模型中共有三種不同規格的卷積核,占據了整個網絡90%的計算量,其計算結果需要經過特定函數激活,并不同卷積層需要經過池化或者填充處理。當深度卷積神經網絡模型訓練結束后,全連接層占比為96%以上。

上述過程完成了深度卷積神經網絡模型Alexnet的分析,為下述硬件加速架構設計提供基礎支撐。

3 硬件加速架構設計

AlexNet模型每個卷積計算模塊包含多個卷積處理單元、線性緩存單元、池化單元與激活單元。為了優化深度卷積神經網絡計算能力,引入FPGA設計加速器,對各個卷積計算單元加速,具體深度卷積神經網絡優化計算過程如下所示。

3.1 FPGA加速器設計

FPGA加速器是由GPU與FPGA共同構成的異構計算框架[6]。其中,GPU能夠將相關指令和數據發送給FPGA加速器,FPGA芯片能夠根據收到的指令實現對應的任務。FPGA芯片由外接存儲器、緩存單元以及計算單元組成。其中,計算單元有多個,各個單元都能實現對該層數據的激活、卷積以及池化等各種任務。緩存單元的功能是保存計算中間結果,使模型計算過程不間斷;外接存儲器的功能是保存訓練好的AlexNet模型參數。

應用FPGA加速器后,可以使深度卷積神經網絡模型計算能力充分發揮,極大的提升深度卷積神經網絡模型的效率。

圖2 模型計算流程

依據圖1所示深度卷積神經網絡Alexnet模型計算流程,分別對每個卷積計算模塊中的卷積處理單元、線性緩存單元、池化單元與激活單元進行優化處理。

3.2 卷積處理單元加速

卷積處理單元是AlexNet模型的核心計算環節,負責單個卷積核對特征圖的計算,該單元處理效率絕大程度上決定著加速器對AlexNet模型的計算能力。

對于卷積神經網絡模型來說,卷積需要處理的數據眾多,常用的二維卷積計算結構如文獻[7]所示,使用移位寄存器增加數據在計算單元的停留以減少內存的訪問,一部分寄存器用于計算時加載數據,一部分用于對齊數據,當初始數據加載完成每一個時鐘周期可以得到一個結果,當卷積核和特征圖尺寸較大時,這種單一的計算結構極其容易浪費資源,為此將大矩陣拆分成若干個小矩陣的乘加運算結構,利用“?”表示卷積計算。

規格為P×Q的特征圖與N×M的卷積核矩陣進行卷積計算,通過拆分將其轉化為R×C的特征圖與T×S的卷積核矩陣的卷積計算。原有的計算單元拆分為若干個K×L小矩陣計算,其中,K與L分別表示的是行與列的拆分單位。需要注意的是P與N能夠被K整除,Q與M能夠被L整除,若不能滿足上述條件,需要對填充卷積核矩陣和特征圖,以一列或一行作為整體,利用0元素實現素擴展填充,使特征圖與卷積核矩陣規格滿足拆分的資格[8]。

為了降低AlexNet模型的數據處理量級, 用若干個小卷積乘加計算方法代替大卷積計算,可以極大的降低,并且K×L小卷積計算可以利用并行方式進行處理,極大的減少了卷積運算的規模,節省了硬件資源—FPGA加速器的應用,使得深度卷積神經網絡模型計算數據傳遞更加便利。

為了詳細介紹卷積處理單元加速策略,以AlexNet模型第一層卷積計算為例實施卷積拆分策略,具體實施過程如下所示。

將AlexNet模型第一層計算單元的11×11卷積核矩陣采用0元素擴充為12×12的卷積核矩陣,再次將其拆分為9個4×4的小卷積計算。將小卷積當成整體,改變卷積框的位置,并計算其權重,把得到的權重值相加并將結果輸出[9]。

未拆分之前,AlexNet模型第一層卷積計算輸出值為

Y=X?W

(1)

式(1)中,Y表示的是未拆分AlexNet模型第一層卷積計算輸出值;X表示的是輸入特征圖相應卷積框的矩陣;W表示的是權重矩陣。

執行卷積拆分策略,得到AlexNet模型第一層卷積計算輸出值為

Y′=X1?W1+X2?W2+X3?W3+X4?W4+X5?W5

+X6?W6+X7?W7+X8?W8+X9?W9

(2)

其中,Y′表示的是拆分后AlexNet模型第一層卷積計算輸出值;Xi與Wi分別表示的是拆分后的輸入特征圖與權重矩陣。

拆分后的小卷積矩陣相互獨立,利用并行方式處理。需要注意的是,由于填充元素為0,Y與Y′的數值相同。

由上述過程可知,通過卷積拆分策略可以極大的加速卷積處理單元。

3.3 線性緩存單元加速

對于深度卷積神經網絡計算來說,每個輸出值均需要遍歷全部的輸入特征圖,為此卷積層計算不能并行。為了使不同卷積層以流水線方式進行計算,整體提升AlexNet模型的吞吐率,設計乒乓緩存結構加速線性緩存單元。乒乓緩存結構示意圖如圖3所示。

圖3 乒乓緩存結構示意圖

如圖3所示,該單元對應的是卷積層數據,功能是對特征圖與權重進行保存。將一個卷積計算過程記為一個周期。該單元流程如下:周期一,復用器MUX自動加載數據緩沖模塊A數據,將其傳送至計算單元A,將輸出的中間結果存儲于緩沖模塊C;周期二,加載數據緩沖模塊B數據,并將其傳遞給計算單元A中,與此同時,將計算產生的中間特征圖存儲于數據緩沖模塊D。另外,將第一個周期結果加載到計算單元B中處理;周期三,重復周期一整個流程。綜上所述,對周期一到三進行重復切換,利用復用器調用數據緩沖模塊的數據,使計算單元時刻處于計算狀態,計算資源利用率達到最佳。

3.4 激活單元加速

AlexNet模型采用的是ReLU激活函數實現激活單元的任務,ReLU激活函數具有電路簡單的優勢,通過一個比較電路激活輸出值,使輸出值中不包含0元素,主要通過與0元素比較輸出最大值來實現。

ReLU激活函數硬件電路如圖4所示。

圖4 ReLU激活函數硬件電路圖

對于激活單元來說,其輸入值為卷積層計算結果,輸出值連接池化單元,為池化單元的輸入提供數據支撐。若沒有池化層,將激活單元輸出數據直接傳遞給全連接層。

3.5 池化單元加速

池化單元的任務對象是經過激活處理的卷積層結果,通過池化操作輸出最大值或者平均值,并將其傳遞給下一層繼續完成池化操作。卷積計算是比較復雜的,而池化操作相對簡單。因此,大多數網絡都是通過池化進行加速的。最大池化單元計算流程如圖5所示。

圖5 最大池化單元計算流程圖

如圖5所示,最大池化單元規格為3×3,包含2個比較器與2L+4個寄存器,L表示的是卷積層輸出特征圖的行長度。

在匹配池化操作窗口移動過程中,利用2L+1個寄存器匹配數據,并且緩存匹配數據。對于步長為2的池化單元,若輸入數據到達2L+1個寄存器中最后一個寄存器時,每加載一個數據,比較器通過對比將最大值傳遞給下一個寄存器,直至與窗口移動步長一致為止,輸出結果即為最大池化結果。

上述池化單元加速策略可以在保障效率需求的情況下,節省硬件資源的使用,對于平均池化結構也同樣適用。

通過上述設計實現了FPGA加速器深度卷積神經網絡計算的優化,為AlexNet模型應用發展助力。

4 深度卷積神經網絡計算能力實驗分析

4.1 實驗準備

為了保障實驗的順利進行,AlexNet模型參數的準確性,在Nvidia GeForce GTX 1080 Ti顯卡上,基于經典訓練數據集ImageNet 2012圖像集,利用梯度下降方法對提出的AlexNet模型進行訓練,部分訓練結果如表2所示。

表2 部分訓練結果表

如表2數據顯示,迭代次數為400000次時,訓練損失達到最小;迭代次數為380000次時,訓練準確率最高。通過對比研究后,選取迭代次數為380000時的模型參數進行實驗,其參數規模為235MB。

深度卷積神經網絡計算能力由單層加速效果、FPGA資源消耗以及MAC效率決定,具體深度卷積神經網絡計算能力實驗過程如下所示。

4.2 單層加速效果分析

在時鐘頻率為100MHz下,采用XC7V2000T設備統計FPGA加速器深度卷積神經網絡優化計算方法5個卷積層計算延遲,并與Intel Xeon @2.20GHz CPU對比,得到加速比結果如圖6所示。

圖6 加速效果

對于AlexNet模型來說,不同的卷積層擁有不同的計算資源和計算量,那么,同樣的加速效果具有一定的差異,在遠低于和CPU運行頻率下相比,加速4.41~10.87倍,平均單層加速8.04倍。

4.3 FPGA資源消耗分析

FPGA加速器由查找表、觸發器、DSP與存儲器構成。資源消耗見表3所列。由于AlexNet網絡模型權重和中間結果的數據量比較大,全部采用32-bit浮點數會需要大量的硬件資源,根據文獻[10]研究結果可知,高準確率識別不需要太高精度的神經網絡參數,降低神經網絡參數的數據精度對識別的準確率影響不大。所以權重和中間結果采用的是16位定點數表示。共使用了1336塊18 kb的BRAM,主要用于中間數據緩存,930塊的DSP用于卷積中大量的乘法計算,還使用了大量寄存器緩存來自片外的權重數據和從BRAM讀取的數據。

表3 資源消耗

4.4 MAC效率分析

MAC效率由每個卷積層加載MAC數據處理量的延遲時間判定,延遲時間越短,表明MAC效率越高。通過實驗得到MAC效率數據如表4所示。

表4 MAC效率數據表

如表4所示,MAC效率范圍為73.12%~81.02%,對于不同的卷積層來說,MAC的效率是不同的,表4中的理想時延表示的是不將卷積計算考慮進去時,數據加載及對齊過程所需要的時延,通過單個層的MAC計算量除以配置DSP 數量獲得,但是實際延遲一定會大于理想延遲。

4.5 同類實現對比分析

與其文獻[11]、[12]實現的AlexNet 5個卷積層相比,結果見表5所列。DSP的消耗數量與計算性能密切相關,通常消耗DSP數量越多實現計算性能越高,但不同的計算結構表現的計算性能會有差異,文獻[11]采用的是64-bit 浮點精度,消耗了2600個DSP,浮點數據計算資源消耗過高,與文獻[12]的實現相比,表明優化設計的流水并行計算方式具有明顯優勢。

表5 與其它AlexNet網絡實現的對比

5 結論

為了解決傳統方法計算能力能力不佳、加速器加速效果不明顯等問題。本文設計一種FPGA加速器深度卷積神經網絡優化計算方法。引入FPGA設計加速器,利用拆分計算將卷積過程分解為更細粒度的并行計算,利用FPGA加速器實現優化計算。通過實驗得出以下結論:

1)本文方法能夠有效提升加速效果,當卷積層為5層時,100 MHz下數據加速比能達到8.04平均值。

2)本文方法的,MAC效率較高。5個卷積層整體MAC效率達到76.08%。

3)本文方法能夠在低資源消耗率的情況下實現較高的吞吐量,在使用1020個DSP的情況下實現130.43 GOPS吞吐量,優于同類設計。

猜你喜歡
計算能力深度模型
一半模型
淺談如何提高小學生的計算能力
小學生計算能力的提高策略
甘肅教育(2021年10期)2021-11-02 06:14:02
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
小學生計算能力的培養
甘肅教育(2020年21期)2020-04-13 08:08:42
深度觀察
深度觀察
深度觀察
主站蜘蛛池模板: 萌白酱国产一区二区| 久热99这里只有精品视频6| 欧美一区二区三区欧美日韩亚洲| 91精品国产无线乱码在线| 久草青青在线视频| 美女免费黄网站| 日韩欧美中文| 国产香蕉97碰碰视频VA碰碰看| 人妻精品久久无码区| 91青青在线视频| 另类综合视频| 中文字幕在线日本| 欧美福利在线| 国产成人毛片| 国产欧美视频一区二区三区| 在线视频一区二区三区不卡| 毛片久久网站小视频| 国产精品九九视频| 免费毛片a| 国内精自线i品一区202| 多人乱p欧美在线观看| 51国产偷自视频区视频手机观看| 成年A级毛片| 国产精品无码AⅤ在线观看播放| 国产精品浪潮Av| 中文字幕亚洲无线码一区女同| 久久香蕉国产线看观看式| 久久精品国产电影| 亚欧成人无码AV在线播放| 亚洲色图欧美在线| 亚洲欧美激情小说另类| 九九热这里只有国产精品| 亚洲男人的天堂久久精品| www.99精品视频在线播放| 国产成人综合网| 天堂岛国av无码免费无禁网站 | 精品成人一区二区| 精品国产电影久久九九| 91精品人妻互换| 国产小视频a在线观看| 九色免费视频| 国产精品自在自线免费观看| 国产成人av大片在线播放| 91在线激情在线观看| 免费国产一级 片内射老| 99在线视频网站| 萌白酱国产一区二区| 91精品啪在线观看国产60岁 | 久久一本精品久久久ー99| 中文毛片无遮挡播放免费| 欧美成人a∨视频免费观看| 国产在线一二三区| 天天色综网| 动漫精品啪啪一区二区三区| 毛片一区二区在线看| 成人在线综合| 18禁影院亚洲专区| 亚洲欧洲综合| 六月婷婷综合| 国产 日韩 欧美 第二页| 国产AV无码专区亚洲精品网站| 香蕉99国内自产自拍视频| 亚洲成年人片| 国产欧美日韩精品综合在线| 在线高清亚洲精品二区| hezyo加勒比一区二区三区| 精品伊人久久久香线蕉 | 永久免费精品视频| 国产 在线视频无码| 国产成年无码AⅤ片在线 | 免费av一区二区三区在线| 久久综合成人| 亚洲毛片网站| 1024你懂的国产精品| 99re在线免费视频| 91福利免费视频| 中文字幕va| 亚洲日韩国产精品无码专区| AV网站中文| 国产精品综合色区在线观看| 少妇高潮惨叫久久久久久| 国产精品蜜臀|