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

        ?

        基于FPGA的深度強化學(xué)習(xí)硬件加速技術(shù)研究

        2022-07-09 06:45:00王賓濤李喜鵬
        計算機測量與控制 2022年6期
        關(guān)鍵詞:加速器權(quán)值維度

        鳳 雷,王賓濤,劉 冰,李喜鵬

        (哈爾濱工業(yè)大學(xué) 電子與信息工程學(xué)院,哈爾濱 150001)

        0 引言

        強化學(xué)習(xí)(RL,reinforcement learning)是指從環(huán)境狀態(tài)到動作映射的學(xué)習(xí),以使動作從環(huán)境中獲得累計獎賞值最大[1],經(jīng)常被用于序貫決策層問題。與監(jiān)督學(xué)習(xí)[2]不同,RL算法主要強調(diào)智能體與環(huán)境的交互,在二者的交互的過程中,環(huán)境會根據(jù)智能體所處的狀態(tài)以及所決策的動作給予其一定的獎懲信號,智能體則會根據(jù)所獲得的獎懲信號對自身的決策策略進(jìn)行優(yōu)化,從而最大化決策過程中所獲得的累計獎勵。

        2013年,DeepMind團(tuán)隊將深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)[3]算法與傳統(tǒng)強化學(xué)習(xí)Q學(xué)習(xí)[4]相結(jié)合,設(shè)計了DQN算法[5],在雅達(dá)利游戲平臺中取得了比人類玩家更高的游戲分?jǐn)?shù),從此掀起了一股深度強化學(xué)習(xí)[6]的研究浪潮。后續(xù)DeepMind團(tuán)隊基于DRL算法所研發(fā)的AlphaGo[7]和AlphaGo Zero[8]在機器博弈領(lǐng)域取得了巨大成功,更是成為了人工智能領(lǐng)域的里程碑事件。目前,DRL除了在游戲中進(jìn)行應(yīng)用外,直接在邊緣設(shè)備上實現(xiàn)DRL同樣有巨大的應(yīng)用價值和廣泛的應(yīng)用前景,例如為充當(dāng)巡邏機器人的無人機 (UAV, unmanned aerial vehicle)[9]提供自主避障和航路規(guī)劃的能力,為無人車輛[10-11]提供自主駕駛分析決策能力。

        DQN算法作為DRL領(lǐng)域的開山之作,被后續(xù)許多的DRL算法所借鑒。其解決了傳統(tǒng)Q學(xué)習(xí)的“維度災(zāi)難”問題,采用多層神經(jīng)網(wǎng)絡(luò)來完成值函數(shù)的非線性逼近功能,替代傳統(tǒng)的Q表查詢決策方式,將神經(jīng)網(wǎng)絡(luò)的感知能力和強化學(xué)習(xí)的決策能力結(jié)合,實現(xiàn)端到端的感知與決策。在智能體與環(huán)境交互的過程中,同時存在神經(jīng)網(wǎng)絡(luò)的推理與訓(xùn)練兩類運算,這兩類運算都具備計算密集型的特點,需要較強的算力才能保證算法的實時性。

        DQN計算密集型的特點,對于計算資源和功耗都受限的邊緣設(shè)備而言,直接實現(xiàn)深度強化學(xué)習(xí)算法存在一定的挑戰(zhàn)。這種挑戰(zhàn)主要來自于兩方面:一方面是DQN算法本身計算密集型特點和計算數(shù)據(jù)之間較強的依賴關(guān)系;另一方面是大多數(shù)嵌入式計算平臺本身單指令單數(shù)據(jù)流計算架構(gòu)的局限性,無法支持面向DQN的高性能計算。這導(dǎo)致有關(guān)在嵌入式設(shè)備部署DQN算法的研究進(jìn)展十分緩慢,相關(guān)研究現(xiàn)狀在1.2節(jié)中得到闡述。面向邊緣在線決策應(yīng)用,本文提出一種基于FPGA平臺的DQN算法實現(xiàn)方法,可以在FPGA平臺上完成DQN算法的推理和訓(xùn)練。主要工作如下:

        1)提出了一種基于FPGA平臺的DQN算法的硬件實現(xiàn)架構(gòu),架構(gòu)中的加速器IP核采用流式架構(gòu)設(shè)計,可以靈活配置算法的訓(xùn)練超參數(shù)。

        2)在FPGA平臺計算資源和存儲資源的約束下,提出了一種設(shè)計空間的探索方法。通過定量分析DQN算法實現(xiàn)所需的存儲資源和計算資源,獲得DQN算法在FPGA中進(jìn)行加速部署時每一層的并行計算參數(shù)。

        3)面向典型應(yīng)用Cartpole搭建了應(yīng)用驗證平臺, 在FPGA平臺上進(jìn)行了設(shè)計的功能驗證和性能測試,并在網(wǎng)絡(luò)的訓(xùn)練時間和功耗方面同CPU平臺和GPU平臺進(jìn)行了實驗對比。

        1 背景

        1.1 DQN算法

        RL的基本模型可以用圖1表示,通過智能體與環(huán)境的信息交互,實現(xiàn)決策功能。整個過程可用四元組描述,式中A為智能體動作集合;S為智能體感知的環(huán)境信息;R為智能體得到的獎勵或懲罰;P為智能體交互的環(huán)境。

        圖1 強化學(xué)習(xí)基本模型

        Q學(xué)習(xí)算法[4]作為一種經(jīng)典的RL算法,使用Q查詢表存儲各個動作對應(yīng)的Q值,通過查詢每個動作的Q值,指導(dǎo)智能體做出相應(yīng)決策。受限于計算機存儲的限制,Q表在處理高維狀態(tài)數(shù)據(jù)方面表現(xiàn)不佳[12]。

        (1)

        1.2 FPGA加速強化學(xué)習(xí)算法

        近年來,機器學(xué)習(xí)在嵌入式邊緣設(shè)備上的加速實現(xiàn)[14],已經(jīng)成為人工智能領(lǐng)域[15]的熱門話題,F(xiàn)PGA由于其低功耗、高能效和可重構(gòu)的特點,在硬件加速領(lǐng)域[16]備受青睞,目前最先進(jìn)的機器學(xué)習(xí)加速器大多支持監(jiān)督學(xué)習(xí),如CNN[17]、循環(huán)神經(jīng)網(wǎng)路(RNN,recurrent neural network)[18]等,但對深度強化學(xué)習(xí)的硬件加速目前還處于剛剛興起的狀態(tài)。

        Shengjia S等人在Stratix系列FPGA上對TPRO算法(TRPO, trust region policy optimization)進(jìn)行了硬件加速以應(yīng)用于機器人控制應(yīng)用[19],后續(xù)提出了一種設(shè)計空間探索方法對TRPO 算法加速進(jìn)行進(jìn)一步的優(yōu)化[20]。S.Jiang等人采用單引擎架構(gòu),在Altera Arria 10上實現(xiàn)了Deep Q-Learing算法的硬件加速[21]。但是上述研究,在計算架構(gòu)和設(shè)計空間探索等方面仍有很大提升空間。

        2 基于DQN的FPGA硬件架構(gòu)和加速器設(shè)計

        2.1 總體硬件架構(gòu)

        如圖2所示,總體硬件架構(gòu)主要包括外部存儲器(DDR, direct digital radiography)、處理單元(PS,processing system)、可編程邏輯部分(PL, processing logic)的加速器和片內(nèi)外總線互聯(lián)。我們通過PS和PL協(xié)同工作來高效的完成DQN算法的計算,其中PS部分主要負(fù)責(zé)與環(huán)境進(jìn)行交互,獎勵函數(shù)的計算,DDR中訓(xùn)練經(jīng)驗池的維護(hù),以及對PL進(jìn)行超參數(shù)和工作模式的配置;PL部分定制化設(shè)計DQN算法加速器,用于實現(xiàn)算法中神經(jīng)網(wǎng)絡(luò)的前向推理、誤差反向傳播和權(quán)值更新等計算密集部分,PL部分加速器結(jié)構(gòu)設(shè)計、加速算子設(shè)計及相關(guān)設(shè)計空間探索方法是研究的核心。

        圖2 總體硬件架構(gòu)

        2.2 加速器結(jié)構(gòu)設(shè)計

        整個加速器采用流式架構(gòu),針對DQN算法的各個模塊進(jìn)行硬件定制化設(shè)計。DQN算法加速器IP核的結(jié)構(gòu)如圖3所示,定制化設(shè)計了Target_Q模塊、Current_Q模塊、損失函數(shù)計算模塊、權(quán)值更新和替換模塊、控制模塊和參數(shù)存儲單元。其中Target_Q模塊用于完成Target_Q網(wǎng)絡(luò)的前向推理;Current_Q模塊用于完成Current_Q網(wǎng)絡(luò)的前向推理和反向傳播;控制模塊用于對加速器的工作模式和訓(xùn)練參數(shù)進(jìn)配置,使得各個模塊能夠協(xié)同工作;權(quán)值更新與替換模塊用于實現(xiàn)Current_Q網(wǎng)絡(luò)的權(quán)值更新和Target_Q網(wǎng)絡(luò)的權(quán)值替換;損失計算模塊主要用于實現(xiàn)損失函數(shù)的計算。

        圖3 DQN加速器結(jié)構(gòu)圖

        加速器存在兩種工作模式:一種是直接利用學(xué)習(xí)好的權(quán)值參數(shù),與環(huán)境交互后,智能體只做出決策但不進(jìn)行學(xué)習(xí);另一種是做出決策后智能體會根據(jù)環(huán)境給予的獎勵反饋進(jìn)行學(xué)習(xí),調(diào)整自身權(quán)重參數(shù)。

        Target_Q模塊和Current_Q模塊是整個硬件加速過程中的設(shè)計重點,在本設(shè)計中,Target_Q模塊和Current_Q模塊均由加速算子(VMPU, vector matrix processing unit)通過流式先入先出寄存器(FIFO, first in first out)級聯(lián)組成,加速算子的具體細(xì)節(jié)將會在2.3節(jié)中介紹,同時將在2.4節(jié)介紹本設(shè)計的設(shè)計空間探索方法。

        2.3 加速算子VMPU設(shè)計

        DQN算法中的神經(jīng)網(wǎng)絡(luò)選擇多層感知機,針對多層感知機中向量矩陣乘法計算密集型的特點,以及前向推理和反向傳播計算過程間的數(shù)據(jù)依賴,基于FPGA硬件資源的特點,設(shè)計了單指令多數(shù)據(jù)(SIMD, single instruction multiple data)運算和多處理單元(PE,processing element)兩種加速模式,其設(shè)計示意圖如圖4所示。SIMD主要用于完成CNN中的層累加單元,即通過在FPGA內(nèi)部定制化設(shè)計SIMD,通過硬件實現(xiàn)基礎(chǔ)的層累加模塊,完成基于指令集的硬件加速;PE主要用于實現(xiàn)多個SIMD的并行計算;在單個PE內(nèi)實SIMD并行的同時,VMPU單元內(nèi)還實現(xiàn)了多個PE的并行計算,以達(dá)到最大化硬件加速性能的目的。

        圖4 VMPU設(shè)計示意圖

        VMPU的輸入是上一個計算單元的輸出或者最原始的輸入,經(jīng)過FIFO寄存器被存儲在VMPU內(nèi)置輸入向量寄存器,用于神經(jīng)網(wǎng)絡(luò)卷積計算的權(quán)重已經(jīng)部署到FPGA內(nèi)部,此使輸入向量寄存器的元素與已經(jīng)部署好的權(quán)重展開并行計算,并將結(jié)果放到輸出向量寄存器內(nèi),進(jìn)而經(jīng)過激活、矩陣求導(dǎo)等操作后,作為輸出被傳送到下一計算單元。

        在FPGA實現(xiàn)VMPU的過程中,前向推理與反向訓(xùn)練的計算過程之間存在相關(guān)度較高的依賴關(guān)系,為了解決DQN中層間推理與訓(xùn)練的數(shù)據(jù)依賴關(guān)系,同時實現(xiàn)FPGA并行計算,需要在FPGA片上對權(quán)重矩陣進(jìn)行分區(qū)存儲,基于計算過程中權(quán)值矩陣維度設(shè)計了兩類VMPU,分別是以列為主的VMPU(A)和以行為主的VMPU(B),兩類VMPU的存儲方式劃分示意如圖5所示。在VMPU(A)中,SIMD并行對應(yīng)矩陣的行維度,PE并行對應(yīng)矩陣的列維度;由于兩類VMPU的權(quán)重矩陣存儲方式互為轉(zhuǎn)置,在VMPU(B)中,并行計算對應(yīng)的維度與A模式相反。在部署DQN網(wǎng)絡(luò)時,對于奇數(shù)層而言,前向推理時使用VMPU(A),反向傳播時使用VMPU(B);對于偶數(shù)層而言,前向推理時采用VMPU(B),反向傳播時采用VMPU(A)。

        圖5 片上權(quán)值存儲方式

        如圖6所示,以VMPU(A)為例,具體說明矩陣加速算子的計算過程。假設(shè)網(wǎng)絡(luò)第一層的神經(jīng)元個數(shù)為8,第二層的神經(jīng)元個數(shù)為4,在進(jìn)行前向推理時,相當(dāng)于執(zhí)行一個1*8的向量與8*4的矩陣的乘法。在VMPU(A)中,如圖6(a)所示,假定SIMD取4,PE取2,則行維度的折疊因子SF為2,則列維度的折疊因子PF為2,折疊因子的計算方式將在2.4節(jié)闡述。由SF和PF可算得總折疊因子為4,即循環(huán)4次便可完成整個向量矩陣乘法的計算。在第一次循環(huán)中,如圖6(b)所示,首先計算輸入向量前4個元素a1-a4與權(quán)值矩陣對應(yīng)元素的乘積累加,生成c1和c2的中間結(jié)果,第二個循環(huán)繼續(xù)計算權(quán)值矩陣當(dāng)前列未進(jìn)行計算的元素,生成的乘積累加結(jié)果與之前的中間結(jié)果相加,生成c1和c2的最終結(jié)果,然后加上偏置,進(jìn)行激活函數(shù)的計算。同時,激活函數(shù)的梯度也將在此時計算,并存儲在片上以供反向傳播使用。最后,將兩個最終計算結(jié)果c1和c2流入FIFO中。

        圖6 VMPU(A)計算示意圖

        VMPU(A)將兩個最終結(jié)果流入FIFO后,后續(xù)連接的VMPU(B)將在此刻收到啟動信號,從FIFO中取出上一層的輸出數(shù)據(jù),存入輸入寄存器中,開始第二層的計算。與VMPU(A)類似,VMPU(B)的內(nèi)部同樣為乘累加樹結(jié)構(gòu),但其計算邏輯是以行為主,每完成一次循環(huán),生成的都是中間結(jié)果,直到最后一次循環(huán)結(jié)束,VMPU(B)將會累加出最終的計算結(jié)果。通過選取合適的并行參數(shù),便能讓級聯(lián)的VMPU(A)和VMPU(B)之間形成流水,只要VMPU(A)的計算不中斷,每隔一段時間,VMPU(B)便會接收來自VMPU(A)的數(shù)據(jù)并進(jìn)行下一層的計算,兩層之間形成數(shù)據(jù)流水后,兩層整體的計算時間大概等于VMPU(A)的計算時間。

        2.4 設(shè)計空間探索

        為了滿足DQN算法特性和FPGA硬件平臺資源約束,確定網(wǎng)絡(luò)部署的并行計算參數(shù),對設(shè)計空間探索方法進(jìn)行研究是十分必要的。不同于研究[21]中僅考慮了DSP資源,本設(shè)計在建立資源模型的同時考慮了DSP資源和BRAM資源,達(dá)到對計算資源和存儲資源設(shè)計空間探索的目的。

        Target Q模塊和Current Q模塊的計算過程最為耗時,對于以上兩個模塊,其內(nèi)部的VMPU單元采用A-B-A-B的方式級聯(lián)而成,通過對總循環(huán)次數(shù)FoldCycle進(jìn)行建模,完成設(shè)計空間探索問題中性能模型的尋優(yōu),此處FoldCycle可用于表征VMPU模塊的計算時間。如公式(2)所示,設(shè)計空間探索問題,在軟硬件資源約束的情況下,尋求最小的總循環(huán)展開次數(shù)。本文首先將先對VMPU單元的A模式和B模式分別進(jìn)行建模,然后再對整個系統(tǒng)進(jìn)行建模。

        (2)

        式(2)中,FoldCycle代表總循環(huán)展開次數(shù);P代表循環(huán)展開參數(shù)的集合,該集合可用VMPU中的循環(huán)展開參數(shù)PE和SIMD表示;LayerSizei代表神經(jīng)網(wǎng)絡(luò)第i層的大小;DSPtotal、BRAMtotal代表設(shè)計實際消耗的總的計算資源和存儲資源個數(shù);DSPFPGA_Limit、BRAMFPGA_Limit代表FPGA平臺的計算資源和存儲資源的限制。

        首先對VMPU(A)進(jìn)行分析,在向量矩陣乘法中,使用RowSize表示權(quán)重矩陣的行維度大小,SIMDA為VMPU(A)的行循環(huán)展開參數(shù),sfA為其對應(yīng)的行并行折疊因子;使用ColSize表示權(quán)重矩陣的列維度大小,PEA為VMPU(A)的列循環(huán)展開參數(shù),pfA為其對應(yīng)的列并行折疊因子;則VMPU(A)的總循環(huán)展開因子FoldCycleA為sfA和pfA的乘積,相關(guān)計算關(guān)系可用公式(3)~(5)表示:

        sfA=RowSize/SIMDA

        (3)

        pfA=ColSize/PEA

        (4)

        FoldCycleA=sfA*pfA

        (5)

        然后對VMPU(B)進(jìn)行分析,在向量矩陣乘法中,同樣使用RowSize表示權(quán)重矩陣的行維度大小,PEB為VMPU(B)的行循環(huán)展開參數(shù),pfB為其對應(yīng)的行并行折疊因子;使用ColSize表示權(quán)重矩陣的列維度大小,SIMDB為VMPU(B)的列循環(huán)展開參數(shù),sfB為其對應(yīng)的列并行折疊因子;則VMPU(B)的總循環(huán)展開因子FoldCycleB為pfB和sfB的乘積,相關(guān)計算關(guān)系可用公式(6)~(8)表示:

        pfB=RowSize/PEB

        (6)

        sfB=ColSize/SIMDB

        (7)

        FoldCycleA=pfA*sfA

        (8)

        采用A-B級聯(lián)模式,可以實現(xiàn)層間的流水計算與并行計算,進(jìn)而增加硬件加速的性能。為了實現(xiàn)A-B級聯(lián)模式,級聯(lián)的兩層應(yīng)當(dāng)滿足公式(9)的要求,這樣可以解決VMPU(B)對VMPU(A)的數(shù)據(jù)依賴。當(dāng)VMPU(A)與VMPU(B)之間形成層間的計算流水后,A模式的計算時間便能掩蓋B模式的計算時間,如公式(10)所示,式(11)中FoldCycleAB表示級聯(lián)的兩層計算所需的循環(huán)數(shù)。

        sfA≥sfB

        (9)

        FoldCycleAB=FoldCycleA

        (10)

        在本設(shè)計中,我們實現(xiàn)了3個層次的流水以及并行設(shè)計,第一個是VMPU內(nèi)部的乘積累加流水以及多個乘累加樹的并行;第二個是VMPU通過A-B級聯(lián)時,形成層與層之間的計算流水;第三個是在訓(xùn)練時,Target_Q模塊與Current_Q模塊之間形成并行計算,Target_Q模塊的計算時間將被Current_Q模塊的計算時間掩蓋。因此,整個系統(tǒng)的時間消耗主要由Current_Q模塊決定。系統(tǒng)處理決策樣本所用的循環(huán)數(shù)如公式(11)所示,式中FoldCycleFP表示前向推理在Current_Q模塊所消耗的時間,F(xiàn)oldCycleBP表示反向傳播在Current_Q模塊所消耗的時間。

        FoldCycle=FoldCycleFP+FoldCycleBP

        (11)

        除運行時間參數(shù)進(jìn)行建模外,設(shè)計還對DSP計算資源和BRAM存儲資源進(jìn)行建模。VMPU中DSP資源的消耗量與流水計算的啟動間隔(II,initiation interval)有關(guān),當(dāng)II為1時,消耗的DSP資源最多,當(dāng)II大于1時,VMPU將對DSP資源進(jìn)行復(fù)用,所消耗的DSP資源如式(12)和(13)所示,式中常系數(shù)5表示浮點型層累加單元所消耗的最小DSP個數(shù)。設(shè)計采用了FPGA空間換取時間的并行加速思想,存儲單元采用BRAM實現(xiàn),其使用數(shù)量和加速結(jié)構(gòu)有關(guān)。算子并行度為SIMD*PE,則需要2*SIMD*PE個BRAM單元來存儲輸入向量和權(quán)重,同時需要PE個BRAM來存儲偏置變量。故對于VMPU中BRAM資源的消耗可用公式(14)和(15)表示:

        DSPA=ceil((SIMDA/IIA)*PEA)*5

        (12)

        DSPB=ceil((SIMDB/IIB)*PEB)*5

        (13)

        BRAMA=(SIMDA*PEA+PEA)*2

        (14)

        BRAMB=(SIMDB*PEB+PEB)*2

        (15)

        本設(shè)計中消耗BRAM資源和DSP資源的主要模塊為Target_Q模塊、Current_Q模塊和權(quán)值更新與替換模塊,因此,可以按照公式(16)估計系統(tǒng)相關(guān)資源消耗的總體情況。

        BRAM=Target_QBRAM+Current_QBRAM+UpdateBRAM

        DSP=Target_QDSP+Current_QDSP+UpdateDSP

        (16)

        3 實驗評估

        3.1 應(yīng)用介紹

        使用OPEN AI Gym提供的Cartpole環(huán)境對設(shè)計進(jìn)行測試,Cartpole游戲環(huán)境如圖7所示。 CartPole是一個非常經(jīng)典的車桿游戲,游戲里面有一個小車,車上有豎著一根可以旋轉(zhuǎn)的桿子,每回合中車桿的初始狀態(tài)都會有所不同,小車需要左右移動來保持桿子豎直。為了保證游戲繼續(xù)進(jìn)行,需要滿足以下兩個條件:

        圖7 Cartpole應(yīng)用

        1)桿子傾斜的角度φ不能大于15°.

        2)小車移動的位置x需保持在一定范圍內(nèi)(±2.4個單位長度)。

        3.2 實驗過程與參數(shù)設(shè)置

        本文所搭建的應(yīng)用驗證平臺如圖8所示,用于對設(shè)計進(jìn)行功能驗證和性能分析。應(yīng)用驗證平臺分為兩個部分,分別是PC機和ZYNQ7100平臺。我們在ZYNQ的ARM端搭建了Linux操作系統(tǒng)并編寫了Cartpole應(yīng)用程序,在PC機上運行g(shù)ym中的Cartpole環(huán)境,邊緣側(cè)的ZYNQ與PC機中的環(huán)境通過網(wǎng)口進(jìn)行通信,以模擬智能體與環(huán)境的交互過程。訓(xùn)練開始后,ZYNQ將會向PC機中的環(huán)境傳遞動作信息,環(huán)境收到信息會后向ZYNQ反饋執(zhí)行動作后的獎勵、下一刻的狀態(tài)信息和當(dāng)前回合是否結(jié)束的標(biāo)志。

        圖8 Cartpole應(yīng)用驗證平臺

        我們使用含有一個隱藏層的多層感知機作為DQN算法的基礎(chǔ)網(wǎng)絡(luò),來進(jìn)行Cartpole游戲的控制,網(wǎng)絡(luò)的結(jié)構(gòu)為4-320-2。針對三層的感知機網(wǎng)絡(luò),可以使用4個VMPU進(jìn)行A-B級聯(lián)完成Current_Q模塊的搭建,使用2個VMPU完成Target_Q模塊的搭建。根據(jù)本文所提的設(shè)計空間探索方法,對Cartpole應(yīng)用中DQN網(wǎng)絡(luò)在ZYNQ 7100上的部署實現(xiàn)進(jìn)行尋優(yōu),求得各個單元的循環(huán)展開參數(shù)大?。篠IMDA=4,PEA=PEB=32,SIMDB=2。

        3.3 實驗結(jié)果與分析

        FPGA中加速器部分的設(shè)計使用賽靈思公司的Vivado HLS(v2018.3)開發(fā)工具,表1為Cartpole應(yīng)用加速器的資源使用情況,從表中可以看出,通過設(shè)計空間探索預(yù)估的BRAM和DSP資源與實際消耗的相差無幾,稍微的誤差存在于預(yù)估過程未加入損失計算單元消耗的相關(guān)資源。通過對資源利用率的觀察,證明了所提出的設(shè)計空間探索方法的高效性。

        表1 資源使用報告

        為了探究本文FPGA加速器的對DQN算法的整體加速性能,進(jìn)行了與CPU、GPU的對比實驗,相關(guān)硬件平臺的型號、頻率如表2所示。時間測量采用時間戳計數(shù)的方式;GPU和CPU的功耗采用各自額定功率表示,加速器的的運行功耗使用Vivado軟件綜合預(yù)估的額定功率表示;相比于FPGA的運行時間,計算3種平臺的加速比,相關(guān)實驗結(jié)果如表2所示。

        表2 3種硬件平臺訓(xùn)練32個樣本處理時間對比

        從表2可以看出,與GPU、CPU對比,本文提出的FPGA加速器運行速度提高了28.08和12.03倍;基于FPGA設(shè)計的加速器在運行功耗方面也具有明顯的優(yōu)勢。

        4 結(jié)束語

        本文提出了一種用于DQN算法加速的硬件架構(gòu)及其設(shè)計空間探索方法,其采用流式結(jié)構(gòu)實現(xiàn)加速器IP核設(shè)計。通過設(shè)計空間探索,我們可以針對不同和DQN網(wǎng)絡(luò)和芯片平臺進(jìn)行硬件加速實現(xiàn)。以Cartpole應(yīng)用為例,我們設(shè)計了一個三層的DQN網(wǎng)絡(luò),通過設(shè)計空間探索尋得了全局最優(yōu)的并行計算參數(shù),然后在ZYNQ 7100平臺上完成了設(shè)計的部署測試,測試結(jié)果表明,F(xiàn)PGA在訓(xùn)練時的計算時間和功耗方面相對于GPU/CPU具有明顯的優(yōu)勢。

        猜你喜歡
        加速器權(quán)值維度
        輪滑加速器
        化學(xué)工業(yè)的“加速器”
        一種融合時間權(quán)值和用戶行為序列的電影推薦模型
        全民小康路上的“加速器”
        少先隊活動(2021年6期)2021-07-22 08:44:24
        CONTENTS
        淺論詩中“史”識的四個維度
        中華詩詞(2019年7期)2019-11-25 01:43:00
        基于權(quán)值動量的RBM加速學(xué)習(xí)算法研究
        光的維度
        燈與照明(2016年4期)2016-06-05 09:01:45
        等待“加速器”
        “五個維度”解有機化學(xué)推斷題
        一区二区三区国产天堂| 久久无码人妻一区二区三区午夜 | 草草久久久无码国产专区| 日韩亚洲中字无码一区二区三区| 亚洲AV秘 无套一区二区三区| 国产一区二区三区免费av| 国产色欲av一区二区三区| 久久婷婷香蕉热狠狠综合| 日本岛国精品中文字幕| 亚洲国产日韩一区二区三区四区 | 亚洲av中文字字幕乱码| 久久精品亚洲熟女av蜜謦| 国产激情视频一区二区三区| 国产精品自在线免费| 黑人一区二区三区高清视频| 亚洲一区二区三区乱码在线中国| 女邻居的大乳中文字幕| 久久久久欧洲AV成人无码国产| 日本精品一区二区三区在线播放| 日本一级特黄aa大片| 国产精品亚洲一区二区三区在线| 极品 在线 视频 大陆 国产| 人妻丰满熟妇一二三区| 成 人片 黄 色 大 片| 国产色诱视频在线观看| 网友自拍人妻一区二区三区三州| 国产精品熟女一区二区三区| 看黄a大片日本真人视频直播| 亚洲av无码片在线播放| 国成成人av一区二区三区| 天天夜碰日日摸日日澡性色av| 超薄肉色丝袜一区二区| 久久久亚洲精品一区二区| 亚洲久悠悠色悠在线播放| 午夜无码片在线观看影视| 丝袜欧美视频首页在线| 人妻少妇偷人精品一区二区| 日本无码欧美一区精品久久| 精品人无码一区二区三区 | 又湿又紧又大又爽a视频国产| 国产午夜影视大全免费观看|