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

        ?

        基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法

        2022-08-22 15:38:34林朋雨
        計(jì)算機(jī)仿真 2022年7期
        關(guān)鍵詞:特征優(yōu)化資源

        林朋雨,郭 杰*

        (1. 西安電子科技大學(xué)綜合業(yè)務(wù)網(wǎng)理論及關(guān)鍵技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710071;2. 西安電子科技大學(xué)通信工程學(xué)院,陜西 西安 710071)

        1 引言

        卷積神經(jīng)網(wǎng)絡(luò)是一種多層感知器,對(duì)圖像的傾斜、比例縮放和平移等形式的變形具有較高的適應(yīng)度[1]。卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與生物神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相似,但降低了權(quán)值的數(shù)量和網(wǎng)絡(luò)模型的復(fù)雜度[2]。在卷積神經(jīng)網(wǎng)絡(luò)中圖像可以直接作為輸入,解決了傳統(tǒng)識(shí)別算法中數(shù)據(jù)重建和特征提取過程中復(fù)雜度高的問題[3]。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)近年來被廣泛地應(yīng)用在圖像搜索、視頻監(jiān)視、模式識(shí)別和機(jī)器視覺等領(lǐng)域中[4]。在上述背景下對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行加速優(yōu)化具有重要意義。

        謝斌紅[5]等人提出基于流合并與剪枝的網(wǎng)絡(luò)加速優(yōu)化方法,該方法減去模型內(nèi)部每層中存在的冗余參數(shù),將重要的層與非重要的層在模型結(jié)構(gòu)上進(jìn)行流合并,通過重新訓(xùn)練實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的加速優(yōu)化,該方法沒有構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)的前向傳播模型,導(dǎo)致資源在卷積神經(jīng)網(wǎng)絡(luò)中浪費(fèi)嚴(yán)重,存在資源消耗率高的問題。方程[6]等人提出基于GPU的網(wǎng)絡(luò)加速優(yōu)化方法,該方法在GPU運(yùn)行過程中通過直接系數(shù)卷積算法進(jìn)行加速,處理稀疏數(shù)據(jù),用稠密向量和稀疏向量的內(nèi)積運(yùn)算代替卷積運(yùn)算,在GPU平臺(tái)中實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的加速優(yōu)化,該方法沒有分析卷積神經(jīng)網(wǎng)絡(luò)的前向傳播結(jié)構(gòu),導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)中的冗余數(shù)據(jù)較多,存在網(wǎng)絡(luò)計(jì)算量大的問題。

        FPGA具有開發(fā)周期短、靈活可配、計(jì)算資源豐富的特點(diǎn),為了解決上述方法中存在的問題,提出基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法。

        2 卷積神經(jīng)網(wǎng)絡(luò)前向傳播結(jié)構(gòu)分析

        基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)前向傳播模型,利用傳播模型分析卷積神經(jīng)網(wǎng)絡(luò)前向傳播結(jié)構(gòu),包括卷積層、池化層、激活函數(shù)和填充,為卷積神經(jīng)網(wǎng)絡(luò)的加速優(yōu)化提供相關(guān)依據(jù)。

        1)卷積層

        卷積核和卷積層的輸入在圖像處理中一般情況下都是三維的[7]??梢酝ㄟ^多個(gè)二維的k×k卷積核與多幅二維的輸入特征圖相乘累加得到二維輸出特征圖。針對(duì)輸入特征圖對(duì)應(yīng)的卷積,多組不同的三維卷積核可以得到對(duì)應(yīng)的二維輸出特征圖OUTj

        (1)

        式中,OUTj代表的是第j個(gè)輸出特征圖;kij代表的是輸出特征圖對(duì)應(yīng)的卷積核;INi代表的是第i個(gè)輸入特征圖;bj代表的是輸入特征圖對(duì)應(yīng)的偏置。

        輸入圖像與輸出圖像之間存在的尺寸,以輸入特征圖的高H為例,符合下述公式

        (2)

        式中,R代表的是輸出特征圖對(duì)應(yīng)的高;S代表的是卷積框滑動(dòng)步長(zhǎng);P代表的是填充單位。

        通過M組k×k×N卷積核之間的乘累加計(jì)算,針對(duì)N幅H×L尺寸的輸入特征圖,可以得到M個(gè)二維輸出特征圖,尺寸為R×C。卷積核的數(shù)量與輸出特征圖的數(shù)量相同,通道數(shù)通常可以用N的數(shù)量進(jìn)行表示,通常情況下卷積核與特征圖的通道數(shù)都是相同的[8]。

        2)池化層

        池化屬于卷積操作,也被稱為下采樣。經(jīng)過卷積層運(yùn)算后,卷積神經(jīng)網(wǎng)絡(luò)中特征圖數(shù)量不斷增加,直接將其輸入網(wǎng)絡(luò)的下一層中會(huì)導(dǎo)致計(jì)算量過大的問題,為了解決上述問題[9]?;贔PGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法池化處理輸入數(shù)據(jù),降低圖片對(duì)應(yīng)的分辨率,將分辨率較低的圖像輸入卷積神經(jīng)網(wǎng)絡(luò)中,降低了卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜度。

        輸入尺寸與輸出尺寸之間符合下式

        (3)

        式中,S代表的是池化框?qū)?yīng)的移動(dòng)步長(zhǎng);K代表的是池化框?qū)?yīng)的尺寸。

        3)激活函數(shù)

        在隱藏層中激活函數(shù)占據(jù)重要地位,輸入和輸出在卷積計(jì)算過程中屬于線性加權(quán)的線性關(guān)系[10],常用的激活函數(shù)如下:

        Sigmod 函數(shù)的表達(dá)式如下

        (4)

        與Sigmod 函數(shù)類似,tanh 函數(shù)對(duì)卷積計(jì)算結(jié)果進(jìn)行了壓縮處理,tanh 函數(shù)的表達(dá)式如下

        (5)

        ReLU函數(shù)計(jì)算速度較快,在計(jì)算過程中不存在復(fù)雜的指數(shù)計(jì)算,ReLU函數(shù)表達(dá)式較為簡(jiǎn)單

        ReLU(x)=max(0,x)

        (6)

        4)填充

        填充按照行或列對(duì)稱的形式將零元素增加到特征圖的邊界中。

        3 基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化

        基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法根據(jù)卷積神經(jīng)網(wǎng)絡(luò)前向傳播結(jié)構(gòu)利用FPGA對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行加速優(yōu)化。FPGA的計(jì)算框架如圖1所示。

        圖1 FPGA加速器整體框架

        3.1 卷積層并行加速可行性分析

        運(yùn)算方式在每個(gè)卷積窗口中都是相同的,第m個(gè)通道在卷積輸出特征圖中滿足下式

        (7)

        式中,m∈[1,M],在該卷積窗口中存在M個(gè)輸出值O1,O2,…,OM。

        在上式的基礎(chǔ)上,令

        (8)

        可將式(7)轉(zhuǎn)變?yōu)橄率?/p>

        (9)

        基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法通過以下兩種方法對(duì)M個(gè)輸出值O1,O2,…,OM進(jìn)行計(jì)算:

        1)首先對(duì)參數(shù)am1,am2,…,amN進(jìn)行計(jì)算,根據(jù)計(jì)算結(jié)果進(jìn)行求和運(yùn)算,將參數(shù)bm與求和結(jié)果相加,獲得Om,令m在區(qū)間[1,M]內(nèi)取值,集合獲得M個(gè)輸出值O1,O2,…,OM。

        2)由式(9)可知

        (10)

        1級(jí)(輕度靜脈炎):一種炎癥癥狀或體征(不包括條索狀硬化或膿液流出);2級(jí)(中度靜脈炎):出現(xiàn)兩種炎癥癥狀或體征(不包括條索狀硬化或膿液流出);3級(jí)(重度靜脈炎):出現(xiàn)條索狀硬化和/或膿液流出和/或更多炎癥癥狀或體征)。

        (11)

        式中,參數(shù)n在區(qū)間[1,N]內(nèi)取值。

        通過上述分析可知,可并行計(jì)算在卷積神經(jīng)網(wǎng)絡(luò)的卷積層中存在三個(gè)部分:

        1)并行計(jì)算式(8)中的HkWk個(gè)乘法,此時(shí)卷積核內(nèi)部中存在并行計(jì)算,即卷積內(nèi)并行。

        2)通過式(9)對(duì)卷積神經(jīng)網(wǎng)絡(luò)中存在的第m個(gè)卷積輸出Om進(jìn)行計(jì)算時(shí),可以并行計(jì)算N個(gè)輸入通道對(duì)應(yīng)的卷積,利用獲取的卷積結(jié)果獲得對(duì)應(yīng)的卷積輸出Om[11],在卷積神經(jīng)網(wǎng)絡(luò)中上述過程被稱為輸入通道并行。

        3)輸出通道并行:在卷積神經(jīng)網(wǎng)絡(luò)中計(jì)算輸出在卷積層對(duì)應(yīng)的第n個(gè)分量n時(shí),并行計(jì)算卷積神經(jīng)網(wǎng)絡(luò)中n個(gè)輸入通道的卷積和M個(gè)卷積核中通道的卷積。

        3.2 基本模塊設(shè)計(jì)

        1)全并行乘法與加法樹模塊

        卷積核在卷積神經(jīng)網(wǎng)絡(luò)中通常為正方形,設(shè)定Wk=Hk=K為卷積核在卷積神經(jīng)網(wǎng)絡(luò)中的大小,y代表的是卷積神經(jīng)網(wǎng)絡(luò)的卷積輸出,其計(jì)算公式如下

        (12)

        基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法設(shè)計(jì)的加法樹需要g2(η)個(gè)寄存器,f2(η)個(gè)加法器,時(shí)鐘周期為h2(η)

        (13)

        f2(η)=η-1

        (14)

        h2(η)=[log2η]

        (15)

        乘法-加法樹模塊在FPGA加速器中的運(yùn)行過程如下:

        ①在緩存區(qū)中輸入卷積核權(quán)重矩陣和特征圖矩陣,分別稱為權(quán)重緩存和輸入緩存。

        ②在權(quán)重緩存和輸入緩存中獲取數(shù)據(jù),利用乘法器對(duì)K2個(gè)乘法進(jìn)行并行計(jì)算,獲得中間結(jié)果。

        ③構(gòu)建加法樹,將中間結(jié)果輸入加法樹中,獲得乘法-加法模塊的最終輸出結(jié)果。

        2)高效窗口緩存模塊

        在卷積層進(jìn)行相關(guān)計(jì)算時(shí),生成的卷積窗口數(shù)量較多,G為生成的窗口數(shù)量,其計(jì)算公式如下

        G=HW

        (16)

        設(shè)通道矩陣在輸入特征圖中的形狀為[H,W],令

        (17)

        將矩陣x的第i行第j列元素的下標(biāo)表示為j+(i-1)W,則矩陣x可轉(zhuǎn)變?yōu)橄率鲂问?/p>

        (18)

        如果利用硬件并行所有卷積窗口,計(jì)算資源會(huì)被消耗的太多。為了降低資源消耗,基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法利用流水線的方法對(duì)卷積窗口進(jìn)行操作,減少計(jì)算資源和存儲(chǔ)資源。通過兩個(gè)2維寄存器組建窗口緩存模塊,分別是移位寄存器和窗口緩存器[12]。

        3.3 通道并行卷積層加速設(shè)計(jì)

        結(jié)合上述并行部分,基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法設(shè)計(jì)卷積層并行加速方案實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的加速優(yōu)化。

        設(shè)Xi代表的是第i個(gè)通道在輸入特征圖矩陣X中的某個(gè)卷積窗口;Wmni描述的是第n個(gè)通道在第m個(gè)卷積核中對(duì)應(yīng)的權(quán)重矩陣,此時(shí)卷積神經(jīng)網(wǎng)絡(luò)中的輸入為

        amn=Xn·Wmn

        (19)

        通過上述運(yùn)算實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的加速優(yōu)化。

        4 實(shí)驗(yàn)結(jié)果與分析

        為了驗(yàn)證所提方法的有效性,需要在xilinx公司ISE硬件開發(fā)的平臺(tái)中對(duì)所提方法進(jìn)行測(cè)試,測(cè)試所用的軟件開發(fā)工具為visual studio 2013,CPU為Core i5 2500K四核處理器,基準(zhǔn)主頻為3.3GHz。將資源消耗率作為測(cè)試指標(biāo),分別采用文獻(xiàn)[5]方法、文獻(xiàn)[6]方法作為實(shí)驗(yàn)對(duì)比方法,與基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法共同測(cè)試資源消耗率,得到對(duì)比結(jié)果如圖2所示。

        圖2 不同方法的資源消耗率

        由圖2中的數(shù)據(jù)可知,采用所提方法對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行加速優(yōu)化處理時(shí),卷積神經(jīng)網(wǎng)絡(luò)中的資源消耗率控制在30%以內(nèi);采用文獻(xiàn)[5]方法加速優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)時(shí),資源消耗率高達(dá)60%;采用文獻(xiàn)[6]方法加速優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)時(shí),資源消耗率高達(dá)70%,對(duì)比所提方法、文獻(xiàn)[5]方法和文獻(xiàn)[6]方法的測(cè)試結(jié)果可知,雖然經(jīng)3種方法優(yōu)化后的卷積神經(jīng)網(wǎng)絡(luò)資源消耗率都隨著運(yùn)行時(shí)間的增加而增加,但所提方法的資源消耗率遠(yuǎn)遠(yuǎn)低于文獻(xiàn)[5]方法和文獻(xiàn)[6]方法的資源消耗率,因?yàn)樗岱椒ǖ臑榱藴p少資源在卷積神經(jīng)網(wǎng)絡(luò)中的消耗,根據(jù)建立的卷積神經(jīng)網(wǎng)絡(luò)前向傳播模型利用流水線方法對(duì)卷積神經(jīng)網(wǎng)絡(luò)中存在的窗口進(jìn)行相關(guān)操作,減少了卷積神經(jīng)網(wǎng)絡(luò)運(yùn)行所需的計(jì)算資源和存儲(chǔ)資源,降低了所提方法的資源消耗率。

        將網(wǎng)絡(luò)計(jì)算量作為測(cè)試指標(biāo),進(jìn)一步對(duì)所提方法、文獻(xiàn)[5]方法和文獻(xiàn)[6]方法進(jìn)行測(cè)試,網(wǎng)絡(luò)計(jì)算量越低表明卷積神經(jīng)網(wǎng)絡(luò)的加速優(yōu)化效果越好,不同方法的測(cè)試結(jié)果如圖3所示。

        圖3 不同方法的網(wǎng)絡(luò)計(jì)算量

        分析圖3可知,在多次實(shí)驗(yàn)中所提方法優(yōu)化后的卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算量均在1.0GFLOPS以下,文獻(xiàn)[5]方法優(yōu)化后的卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算量在第4次實(shí)驗(yàn)過程中高達(dá)1.7GFLOPS,文獻(xiàn)[6]方法優(yōu)化后的卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算量在第3次實(shí)驗(yàn)過程中高達(dá)2.0GFLOPS,對(duì)比所提方法、文獻(xiàn)[5]方法和文獻(xiàn)[6]方法的卷積神經(jīng)網(wǎng)絡(luò)計(jì)算量可知,所提方法獲得的網(wǎng)絡(luò)計(jì)算量最少,網(wǎng)絡(luò)計(jì)算量越少表明方法的加速優(yōu)化效果越好,因?yàn)樗岱椒▽?duì)卷積神經(jīng)網(wǎng)絡(luò)前向傳播結(jié)構(gòu)進(jìn)行了分析,并根據(jù)分析結(jié)果在通道并行卷積層加速設(shè)計(jì)中通過全并行乘法-加法樹模塊進(jìn)行相關(guān)運(yùn)算,減少了卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算量,提高了卷積神經(jīng)網(wǎng)絡(luò)的整體運(yùn)行效率,驗(yàn)證了所提方法的整體有效性。

        5 結(jié)束語

        在深度學(xué)習(xí)領(lǐng)域中,卷積神經(jīng)網(wǎng)絡(luò)是人工智能發(fā)展和研究的熱點(diǎn),成為一個(gè)重要領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)具有識(shí)別精度好和復(fù)雜度低的優(yōu)點(diǎn),在圖片搜索、機(jī)器視覺、語音識(shí)別和圖像識(shí)別等應(yīng)用中得到了廣泛的應(yīng)用。網(wǎng)絡(luò)模型的計(jì)算量隨著類型不同的卷積神經(jīng)網(wǎng)絡(luò)模型的出現(xiàn)不斷加大,且一些高實(shí)時(shí)性要求的場(chǎng)合利用現(xiàn)有的CPU無法滿足,因此需要對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行加速優(yōu)化處理。當(dāng)前卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法存在資源消耗率高和網(wǎng)絡(luò)計(jì)算量大的問題,提出基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速優(yōu)化方法,在卷積神經(jīng)網(wǎng)絡(luò)前向傳播模型的基礎(chǔ)上利用重構(gòu)性、靈活性高的FPGA對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化加速,降低了資源在卷積神經(jīng)網(wǎng)絡(luò)中的消耗率,減少了卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算量,為卷積神經(jīng)網(wǎng)絡(luò)在眾多領(lǐng)域的發(fā)展提供了保障。

        猜你喜歡
        特征優(yōu)化資源
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        基礎(chǔ)教育資源展示
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        一樣的資源,不一樣的收獲
        如何表達(dá)“特征”
        不忠誠(chéng)的四個(gè)特征
        資源回收
        抓住特征巧觀察
        男人进去女人爽免费视频| 日韩精品极品视频在线免费| 蜜桃av在线播放视频| 日韩精品 在线 国产 丝袜| 久久精品噜噜噜成人| 欧美成aⅴ人高清免费| 在线亚洲精品国产成人二区| 国产影片一区二区三区| 国产精品人妻一码二码| 国产一区视频在线免费观看| 国产精品久久一区性色a| 国产三级精品av在线| 樱桃视频影院在线播放| 中文字幕无码免费久久| 亚洲一区二区三区在线中文| 国产综合开心激情五月| 中文字幕乱码无码人妻系列蜜桃| 无遮无挡三级动态图| 中文字幕色视频在线播放| 亚洲最大一区二区在线观看 | 久久精品国产久精国产| 伊人网视频在线观看| 性一交一乱一乱一视频亚洲熟妇| 三级国产精品久久久99| 精品淑女少妇av久久免费| 无码天堂亚洲国产av麻豆| 偷拍熟女露出喷水在线91| 精品偷自拍另类在线观看| 黑人巨大白妞出浆| 国产精品电影久久久久电影网 | 久久精品国产亚洲黑森林| 中文字幕亚洲乱码熟女1区2区 | 国产精品自在拍在线播放| 亚洲一区二区三区新视频| 日韩精品人成在线播放| 中文字幕人妻丝袜乱一区三区| 色噜噜狠狠色综合欧洲| 亚洲精品中文字幕导航| 成人毛片无码一区二区三区| 亚洲日韩精品欧美一区二区三区不卡| 日韩精品自拍一区二区|