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

        ?

        基于可重構(gòu)陣列架構(gòu)的強(qiáng)化學(xué)習(xí)計(jì)算引擎

        2018-11-29 05:44:14梁明蘭陳名松
        集成技術(shù) 2018年6期
        關(guān)鍵詞:動(dòng)作設(shè)計(jì)

        梁明蘭 王 崢 陳名松

        1(中國(guó)科學(xué)院深圳先進(jìn)技術(shù)研究院 深圳 518055)

        2(桂林電子科技大學(xué) 桂林 541004)

        1 引 言

        隨著人工智能算法的快速發(fā)展與計(jì)算機(jī)硬件技術(shù)的進(jìn)步,深度學(xué)習(xí)在智能系統(tǒng)感知與決策領(lǐng)域的廣泛應(yīng)用已逐漸變?yōu)楝F(xiàn)實(shí)[1]。當(dāng)今深度學(xué)習(xí)算法的實(shí)現(xiàn)依賴(lài)基于中央處理器(CPU)與圖形處理器(GPU)的計(jì)算平臺(tái),在其上運(yùn)行神經(jīng)網(wǎng)絡(luò)計(jì)算的功耗龐大,計(jì)算時(shí)間較慢,給在物聯(lián)網(wǎng)終端部署神經(jīng)網(wǎng)絡(luò)帶來(lái)了較大挑戰(zhàn)。為解決計(jì)算能力與功耗的問(wèn)題,近年來(lái)工業(yè)界在定制人工智能處理器領(lǐng)域進(jìn)行了廣泛的探索,出現(xiàn)了諸如谷歌TPU、英特爾 Mobileye、寒武紀(jì)、深鑒科技等神經(jīng)網(wǎng)絡(luò)加速引擎的設(shè)計(jì)方案?,F(xiàn)有大部分設(shè)計(jì)均是針對(duì)視覺(jué)、語(yǔ)音等感知算法的片上部署,而對(duì)智能系統(tǒng)決策技術(shù)的片上加速實(shí)現(xiàn)支持較少。然而,隨著基于深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning)的 AlphaGo、DeepMind Atari 等智能體獲得巨大成功,監(jiān)督學(xué)習(xí)與強(qiáng)化學(xué)習(xí)的有機(jī)結(jié)合在智能系統(tǒng)中的意義愈發(fā)重大。可以預(yù)見(jiàn),未來(lái)智能系統(tǒng)將具備感知、決策和執(zhí)行一體化的能力[2,3],并可以獨(dú)立于主機(jī)進(jìn)行訓(xùn)練與演化。因此,設(shè)計(jì)具備可重構(gòu)能力并支持監(jiān)督學(xué)習(xí)和深度強(qiáng)化學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)計(jì)算引擎成為下一代人工智能硬件設(shè)計(jì)的重要課題。

        在學(xué)術(shù)界,隨著卷積神經(jīng)網(wǎng)絡(luò)(CNN)[4-6]和深度神經(jīng)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,越來(lái)越多研究學(xué)者提出了支持神經(jīng)網(wǎng)絡(luò)的加速運(yùn)算定制芯片。例如,Chakradhar 等[7]提出了支持卷積神經(jīng)網(wǎng)絡(luò)的加速器;Temam[8]提出支持多層感知機(jī)的加速處理。另有一些針對(duì)某一特定應(yīng)用的加速器也不斷產(chǎn)生,如 Qadeer 等[9]提出了一種有效的促進(jìn)卷積運(yùn)算實(shí)現(xiàn)方式。Farabet 等[10]在 2012 年提出了可重構(gòu)的數(shù)據(jù)流定制芯片。中國(guó)科學(xué)院計(jì)算技術(shù)研究所孵化寒武紀(jì)團(tuán)隊(duì)開(kāi)發(fā)了國(guó)內(nèi)第一款神經(jīng)網(wǎng)絡(luò)處理器,主要用于圖像識(shí)別處理技術(shù),獲得了巨大的關(guān)注和反響[11-13]。但現(xiàn)有設(shè)計(jì)重點(diǎn)研究對(duì)特定神經(jīng)網(wǎng)絡(luò),如卷積神經(jīng)網(wǎng)絡(luò)[14]、遞歸神經(jīng)網(wǎng)絡(luò)(RNN)[8]等的加速運(yùn)算,卻忽略了不同網(wǎng)絡(luò)的組合應(yīng)用情況,特別是針對(duì)深度強(qiáng)化學(xué)習(xí)的網(wǎng)絡(luò)部署。近年來(lái),隨著深度學(xué)習(xí)技術(shù)的迅猛發(fā)展,強(qiáng)化學(xué)習(xí)表現(xiàn)出了優(yōu)越的性能。2013 年,Mnih等[15]提出的深度 Q 網(wǎng)絡(luò)(Deep Q-Networks,DQN) 算法模型是深度強(qiáng)化學(xué)習(xí)領(lǐng)域的開(kāi)創(chuàng)性工作。2015 年,Mnih 等將卷積神經(jīng)網(wǎng)絡(luò)和強(qiáng)化學(xué)習(xí)結(jié)合實(shí)現(xiàn)感知和決策任務(wù),在游戲平臺(tái) Atari的一系列游戲中達(dá)到了超越人類(lèi)的表現(xiàn)[16]。2016年,谷歌基于強(qiáng)化學(xué)習(xí)的智能系統(tǒng) AlphaGo 戰(zhàn)勝了世界頂尖圍棋高手[17]。在自動(dòng)駕駛領(lǐng)域,谷歌與特斯拉運(yùn)用強(qiáng)化學(xué)習(xí)的自主決策能力在無(wú)人駕駛領(lǐng)域達(dá)到了良好效果[18]。中國(guó)科學(xué)院深圳先進(jìn)技術(shù)研究院李慧云研究員團(tuán)隊(duì)在 2017 年將深度強(qiáng)化學(xué)習(xí)應(yīng)用于自動(dòng)駕駛的研究也受到了廣泛關(guān)注[19]。

        為解決現(xiàn)有神經(jīng)網(wǎng)絡(luò)處理器對(duì)深度強(qiáng)化學(xué)習(xí)技術(shù)支持不足的問(wèn)題,本文采用粗粒度可重構(gòu)陣列(Coarse-Grained Reconfigurable Array,CGRA)架構(gòu)設(shè)計(jì)一款支持監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)端到端部署的人工智能計(jì)算引擎。該引擎根據(jù)不同的網(wǎng)絡(luò)結(jié)構(gòu),靈活配置運(yùn)算模式、網(wǎng)絡(luò)層數(shù)和神經(jīng)元數(shù)目,可以部署基于監(jiān)督學(xué)習(xí)的感知網(wǎng)絡(luò)和基于強(qiáng)化學(xué)習(xí)的決策網(wǎng)絡(luò)?;?65 nm CMOS 工藝的邏輯綜合結(jié)果表明,該芯片依靠其較快的計(jì)算吞吐量和較低的計(jì)算功耗,可以廣泛運(yùn)用于計(jì)算資源受限的場(chǎng)景。本文所設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)處理器在片上支持感知決策一體化的端到端神經(jīng)網(wǎng)絡(luò)部署,在智能駕駛、機(jī)器人和無(wú)人機(jī)等智能系統(tǒng)中具有廣泛的應(yīng)用前景。

        2 深度強(qiáng)化學(xué)習(xí)

        深度強(qiáng)化學(xué)習(xí)是將深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)結(jié)合起來(lái)進(jìn)而實(shí)現(xiàn)從感知(Perception)到動(dòng)作(Action)的端對(duì)端學(xué)習(xí)的一種全新算法。簡(jiǎn)單地說(shuō),就是和人類(lèi)一樣,首先輸入視覺(jué)信息,然后通過(guò)深度強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)直接輸出動(dòng)作。對(duì)于不同決策任務(wù)來(lái)說(shuō),都包含一系列的動(dòng)作、觀察和獎(jiǎng)勵(lì)值。智能體為了實(shí)現(xiàn)自主學(xué)習(xí)的目的,通過(guò)動(dòng)作與環(huán)境狀態(tài)的相互關(guān)系實(shí)時(shí)更新其強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的權(quán)重。強(qiáng)化學(xué)習(xí)流程如圖 1 所示,具有訓(xùn)練流程和實(shí)行兩種模式。本文采用狀態(tài)和動(dòng)作都是網(wǎng)絡(luò)的輸入形式強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò),網(wǎng)絡(luò)的輸出值則是對(duì)應(yīng)的狀態(tài)和動(dòng)作的Q值。在這里,主要闡述當(dāng)智能體處于學(xué)習(xí)模式的訓(xùn)練流程:首先,智能體在當(dāng)前狀態(tài)st根據(jù)ε-Greedy 策略隨機(jī)選擇一個(gè)動(dòng)作,或根據(jù)Qmax(st,at,θ)來(lái)選擇當(dāng)前狀態(tài)下具有最大Q值的動(dòng)作并執(zhí)行。其中,at為動(dòng)作值;θ為當(dāng)前網(wǎng)絡(luò)的參數(shù)。然后,來(lái)到新的狀態(tài)st+1,并根據(jù)st+1的好壞給出即時(shí)獎(jiǎng)勵(lì)r值。最后,將上述過(guò)程得到的(st,at,r,st+1)存儲(chǔ)到樣本池中,供后續(xù)對(duì)網(wǎng)絡(luò)進(jìn)行批訓(xùn)練,加快收斂過(guò)程。最終,由強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)算出st+1的最大狀態(tài)-動(dòng)作值Qmax(st+1,at+1,θ),則得到狀態(tài)s的目標(biāo)值Target_Q,即公式(1)。

        因此,根據(jù)現(xiàn)值和目標(biāo)值得到最小平方差,則偏差就能通過(guò)均方差來(lái)求得,即求得目標(biāo)函數(shù)L(θ),如公式(2)所示。

        其中,Q(st,at,θ)是當(dāng)前狀態(tài)st和所選擇的動(dòng)作值at作為網(wǎng)絡(luò)輸入的當(dāng)前輸出值;Target_Q為下一狀態(tài)st+1的最大網(wǎng)絡(luò)輸出值,隨后通過(guò)隨機(jī)遞減方式更新強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)參數(shù)。

        3 強(qiáng)化學(xué)習(xí)計(jì)算引擎設(shè)計(jì)

        3.1 粗粒度可重構(gòu)陣列基本架構(gòu)

        圖1 深度強(qiáng)化學(xué)習(xí)框架圖Fig. 1 Deep reinforcement learning framework diagram

        基于粗粒度可重構(gòu)陣列(CGRA)架構(gòu)的?處理器設(shè)計(jì)具有悠久的歷史,其結(jié)合現(xiàn)場(chǎng)可編程邏輯門(mén)陣列(FPGA)技術(shù)的可重構(gòu)能力與專(zhuān)用集成電路技術(shù)(ASIC)的快速計(jì)算能力,通過(guò)對(duì)計(jì)算單元之間互聯(lián)模式進(jìn)行配置,實(shí)現(xiàn)不同計(jì)算功能[20]。本文所提出的基于 CGRA 架構(gòu)的神經(jīng)網(wǎng)絡(luò)計(jì)算引擎包括內(nèi)存單元、輸入輸出單元、人工神經(jīng)單元和控制單元,具體架構(gòu)如圖 2所示。

        內(nèi)存單元包括數(shù)據(jù)內(nèi)存、參數(shù)內(nèi)存、配置內(nèi)存、動(dòng)作內(nèi)存和獎(jiǎng)勵(lì)內(nèi)存。其中,內(nèi)存采用SRAM 形式,訪問(wèn)速度快,靈活方便配置;數(shù)據(jù)內(nèi)存主要存儲(chǔ)神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)、層間數(shù)據(jù)和輸出數(shù)據(jù),由訪問(wèn)地址生成單元對(duì)數(shù)據(jù)進(jìn)行靈活讀寫(xiě);參數(shù)內(nèi)存存儲(chǔ)神經(jīng)網(wǎng)絡(luò)參數(shù);配置內(nèi)存用于配置處理器的網(wǎng)絡(luò)模式和網(wǎng)絡(luò)結(jié)構(gòu),具有靈活操作特點(diǎn);動(dòng)作內(nèi)存迭代模塊針對(duì)強(qiáng)化學(xué)習(xí)模式而設(shè)計(jì),主要對(duì)動(dòng)作內(nèi)存快速遍歷循環(huán)調(diào)用神經(jīng)網(wǎng)絡(luò)得到動(dòng)作值;獎(jiǎng)勵(lì)內(nèi)存設(shè)計(jì)存儲(chǔ)特殊狀態(tài)值及其獎(jiǎng)勵(lì)值和一般狀態(tài)的獎(jiǎng)勵(lì)值。

        輸入輸出單元采用輸入和輸出移位寄存器實(shí)現(xiàn),對(duì)數(shù)據(jù)的輸入輸出采用流入(Stream-in)、流出(Stream-out)的流水線形式?;谝莆患拇嫫鞯牧魉€形式大幅度減少了數(shù)據(jù)傳輸交流次數(shù),從而大大降低了輸入輸出數(shù)據(jù)功耗。

        CGRA 的工作流程大體如下:首先,對(duì)配置內(nèi)存、數(shù)據(jù)內(nèi)存、參數(shù)內(nèi)存、動(dòng)作內(nèi)存進(jìn)行初始化;然后,根據(jù)配置內(nèi)存指令配置網(wǎng)絡(luò)模式、網(wǎng)絡(luò)層數(shù)和神經(jīng)元運(yùn)算模式;最后,根據(jù)網(wǎng)絡(luò)模式開(kāi)始相應(yīng)網(wǎng)絡(luò)運(yùn)算。其中,網(wǎng)絡(luò)輸入移位寄存器從數(shù)據(jù)內(nèi)存讀取數(shù)據(jù),對(duì)每個(gè)神經(jīng)元進(jìn)行計(jì)算得到輸出結(jié)果,并將結(jié)果存儲(chǔ)到數(shù)據(jù)內(nèi)存中并由下一層網(wǎng)絡(luò)進(jìn)行讀取,直到完成最后一層運(yùn)算得到輸出結(jié)果。CGRA 架構(gòu)通過(guò)各個(gè)模塊協(xié)調(diào)工作,引入配置內(nèi)存和動(dòng)作內(nèi)存,使得在網(wǎng)絡(luò)模式、網(wǎng)絡(luò)結(jié)構(gòu)、動(dòng)作機(jī)制上都具有可重構(gòu)、可配置性,靈活實(shí)現(xiàn)如今快速迭代的神經(jīng)網(wǎng)絡(luò)算法,同時(shí)滿足監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí),實(shí)現(xiàn)人工智能推理引擎。該系統(tǒng)對(duì)感知和決策有需求的領(lǐng)域發(fā)展具有積極促進(jìn)意義。

        圖2 CGRA 對(duì)深度強(qiáng)化學(xué)習(xí)的架構(gòu)支持Fig. 2 CGRA architecture support for reinforcement learning

        3.2 粗粒度可重構(gòu)陣列對(duì)強(qiáng)化學(xué)習(xí)的架構(gòu)支持

        3.2.1 人工神經(jīng)元設(shè)計(jì)

        本文設(shè)計(jì)的人工神經(jīng)元由控制模塊、存儲(chǔ)模塊和基本計(jì)算模塊構(gòu)成,具體如圖 3 所示。其中,控制模塊包括模式配置鏈、神經(jīng)元模式控制單元和地址生成控制單元;存儲(chǔ)模塊包括參數(shù)內(nèi)存、臨時(shí)內(nèi)存 SRAM 和累加寄存器;基本計(jì)算模塊包括乘法器、加法器和激活函數(shù)模塊。具體操作步驟為:首先,通過(guò)配置、參數(shù)端口的串行輸入控制數(shù)據(jù)以配置神經(jīng)元,其中網(wǎng)絡(luò)參數(shù)和配置數(shù)據(jù)分別存儲(chǔ)于參數(shù)內(nèi)存和模式配置鏈寄存器。然后,神經(jīng)元在工作模式下,從數(shù)據(jù)輸入端口獲得數(shù)據(jù),由地址生成模塊從參數(shù)內(nèi)存中找到與輸入數(shù)據(jù)相匹配的參數(shù)供神經(jīng)元的乘加模塊(MAC)進(jìn)行乘法和加成運(yùn)算。此時(shí),如果是強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)模式,則將狀態(tài)產(chǎn)生的臨時(shí)貢獻(xiàn)值存儲(chǔ)到臨時(shí)內(nèi)存,與之后動(dòng)作網(wǎng)絡(luò)值對(duì)應(yīng)相加;如果是基本網(wǎng)絡(luò)模式,則將乘加模塊運(yùn)算的臨時(shí)結(jié)果存于累加寄存器,當(dāng)完成當(dāng)前層神經(jīng)元計(jì)算則由數(shù)據(jù)輸出端口輸出。本設(shè)計(jì)在神經(jīng)元引入臨時(shí)內(nèi)存用于存儲(chǔ)強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)下?tīng)顟B(tài)對(duì)神經(jīng)元的貢獻(xiàn)值,供后續(xù)的動(dòng)作節(jié)點(diǎn)運(yùn)算一一對(duì)應(yīng)累加使用,且重復(fù)利用,提高了數(shù)據(jù)使用率,減少運(yùn)算成本。由此可看出,本神經(jīng)元設(shè)計(jì)既滿足了普通網(wǎng)絡(luò)即監(jiān)督學(xué)習(xí)的運(yùn)算需要,又支持了強(qiáng)化學(xué)習(xí)這種特殊網(wǎng)絡(luò)的運(yùn)算模式。

        3.2.2 狀態(tài)機(jī)控制

        本文的神經(jīng)網(wǎng)絡(luò)處理器部分狀態(tài)轉(zhuǎn)換機(jī)制如圖 4 所示。此狀態(tài)機(jī)首先根據(jù)轉(zhuǎn)換條件完成不同狀態(tài)的轉(zhuǎn)換和對(duì)內(nèi)存配置,其次是控制神經(jīng)網(wǎng)絡(luò)的運(yùn)算流程。其中,模塊 1 是對(duì)配置內(nèi)存、參數(shù)內(nèi)存、數(shù)據(jù)內(nèi)存和動(dòng)作內(nèi)存根據(jù)算法需求進(jìn)行特定配置;模塊2是128 級(jí)流水線的控制流程,包括指令的更新和解碼內(nèi)容;模塊 3 是強(qiáng)化學(xué)習(xí)通過(guò)遍歷動(dòng)作內(nèi)存實(shí)現(xiàn) Q 快速迭代流程圖。

        3.2.3 動(dòng)作內(nèi)存設(shè)計(jì)

        圖3 人工神經(jīng)元架構(gòu)圖Fig. 3 Architecture of artificial neuron

        圖4 神經(jīng)網(wǎng)絡(luò)處理器中央控制器狀態(tài)機(jī)Fig. 4 Central controller state machine for neural network processor

        圖5 片上動(dòng)作存儲(chǔ)設(shè)計(jì)圖Fig. 5 Diagram of on-chip action storage

        動(dòng)作的快速片上遍歷機(jī)制是 CGRA 架構(gòu)實(shí)現(xiàn)片上決策的關(guān)鍵。本文動(dòng)作內(nèi)存(Act RAM)的設(shè)計(jì)方法如圖 5 所示。為實(shí)現(xiàn)動(dòng)作遍歷,設(shè)定動(dòng)作內(nèi)存為 1 k 字節(jié),而在內(nèi)存中首先存儲(chǔ)的是動(dòng)作維數(shù),之后存儲(chǔ)的數(shù)據(jù)分別是第一維動(dòng)作的步長(zhǎng)值 step1、最大值 end1和起始值 beg1,這組數(shù)據(jù)決定了第一維動(dòng)作的范圍值,同理其他維動(dòng)作構(gòu)成一樣。實(shí)驗(yàn)過(guò)程中,根據(jù)代碼迭代控制處理器遍歷動(dòng)作內(nèi)存:首先,將各維動(dòng)作的初始值按地址控制模塊分別存到實(shí)時(shí)動(dòng)作內(nèi)存中;其次,依次遍歷每一維動(dòng)作的取值,實(shí)時(shí)動(dòng)作內(nèi)存 RTA RAM 只需更新當(dāng)前維動(dòng)作值,其他不變,更新一次就將實(shí)時(shí)動(dòng)作內(nèi)存值依次順序輸入到神經(jīng)網(wǎng)絡(luò)運(yùn)算;再次,將動(dòng)作值的神經(jīng)元貢獻(xiàn)值與之前得到的狀態(tài)貢獻(xiàn)值對(duì)應(yīng)相加,直到進(jìn)行最后一層網(wǎng)絡(luò)運(yùn)算得到當(dāng)前的狀態(tài)-動(dòng)作Q值;最后,繼續(xù)更新動(dòng)作值,重復(fù)以上流程,直到更新完最后一維的最后一個(gè)值為止,并運(yùn)算完新的動(dòng)作值組合,即可得到當(dāng)前狀態(tài)下的最大Q值。

        Q值選擇主要通過(guò)以下流程圖步驟對(duì)動(dòng)作內(nèi)存遍歷實(shí)現(xiàn),具體如圖 6 所示。

        圖6 動(dòng)作內(nèi)存遍歷流程圖Fig. 6 Transition diagram of on-chip action computation

        (1)首先通過(guò)內(nèi)存地址值將動(dòng)作內(nèi)存 Act RAM 中各維度動(dòng)作的起始值,如 beg1、beg2等存儲(chǔ)到 RTA RAM 實(shí)時(shí)動(dòng)作內(nèi)存中。

        (2)將根據(jù)地址控制器分別從 Act RAM 和RTA RAM 讀取步長(zhǎng)值 stepm(m表示動(dòng)作維數(shù))和起始值 begm,通過(guò)公式am=begm+stepm累加步長(zhǎng)值,得到當(dāng)前時(shí)刻第m維動(dòng)作的實(shí)時(shí)值am。

        (3)根據(jù)內(nèi)存地址值從 Act RAM 讀取最大值endm并寄存。

        (4)根據(jù)內(nèi)存地址值從 Act RAM 讀取起始值begm值并寄存。

        (5)先判斷狀態(tài) 1 得到的am是否小于狀態(tài) 2得到的最大值 endm,若小于,將實(shí)時(shí)值am更新到實(shí)時(shí)動(dòng)作內(nèi)存 RTA RAM 中的am位置中,其他維動(dòng)作值保持初始值不變。否則將狀態(tài) 3 得到的起始值 begm更新到am,并跳到m+1 維度的遍歷更新。

        (6)將以上步驟得到的實(shí)時(shí)動(dòng)作內(nèi)存 RTA RAM 各維動(dòng)作值輸入到網(wǎng)絡(luò)中運(yùn)算。

        (7)重復(fù)以上過(guò)程,在上一狀態(tài)時(shí)刻對(duì)應(yīng)維度動(dòng)作值的基礎(chǔ)上累加步長(zhǎng)值 stepm,直到 RTA RAM 中最后一維動(dòng)作值即an=endn(n表示最后一維動(dòng)作),結(jié)束動(dòng)作遍歷過(guò)程,從而實(shí)現(xiàn)了對(duì)所有維度動(dòng)作值的遍歷組合。本文的動(dòng)作內(nèi)存設(shè)計(jì)方法、訪問(wèn)方式高效地實(shí)現(xiàn)了強(qiáng)化學(xué)習(xí)的動(dòng)作節(jié)點(diǎn)快速迭代運(yùn)算。

        3.2.4 獎(jiǎng)勵(lì)內(nèi)存設(shè)計(jì)

        圖7 片上獎(jiǎng)勵(lì)存儲(chǔ)設(shè)計(jì)結(jié)構(gòu)圖Fig. 7 Diagram of on-chip reward storage

        獎(jiǎng)勵(lì)計(jì)算是強(qiáng)化學(xué)習(xí)的特色之一,其通過(guò)基于當(dāng)前狀態(tài)的獎(jiǎng)勵(lì)計(jì)算對(duì)網(wǎng)絡(luò)Q值進(jìn)行調(diào)整,從而在訓(xùn)練模式下對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)整。本文設(shè)計(jì)片上獎(jiǎng)勵(lì)定義與計(jì)算機(jī)制,如圖 7 所示。首先,將狀態(tài)值與獎(jiǎng)勵(lì)內(nèi)存中的第 1 組到第n組特殊狀態(tài)值進(jìn)行比對(duì)。其次,按照具體決策規(guī)則,如果當(dāng)前狀態(tài)中所要求匹配的狀態(tài)節(jié)點(diǎn)值都滿足第m組中相應(yīng)維狀態(tài)節(jié)點(diǎn)的取值范圍,則取第m組特殊狀態(tài)的獎(jiǎng)勵(lì)值m;否則繼續(xù)遍歷下一組m+1,直到遍歷完所有n組特殊狀態(tài)都不匹配時(shí),則取一般狀態(tài)的獎(jiǎng)勵(lì)值。

        3.3 神經(jīng)網(wǎng)絡(luò)處理器的應(yīng)用模式

        本文的人工智能推理引擎應(yīng)用模式如圖 8 所示。首先,神經(jīng)網(wǎng)絡(luò)芯片對(duì)智能車(chē)收集到的感知信息采用監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行預(yù)處理。其次,將處理之后的感知數(shù)據(jù),即當(dāng)前狀態(tài)st傳入神經(jīng)網(wǎng)絡(luò)芯片中,此時(shí)是強(qiáng)化學(xué)習(xí)核心模塊,由強(qiáng)化學(xué)習(xí)處理器對(duì)狀態(tài)進(jìn)行網(wǎng)絡(luò)運(yùn)算,并將對(duì)神經(jīng)元的臨時(shí)貢獻(xiàn)值存儲(chǔ)到神經(jīng)元的臨時(shí)內(nèi)存中。再次,通過(guò)動(dòng)作內(nèi)存模塊快速遍歷將實(shí)時(shí)動(dòng)作值輸入到處理器,并循環(huán)使用處理器,從而得到當(dāng)前狀態(tài)下最大值Q。最后,根據(jù)貪婪策略,得到需要的輸出動(dòng)作值,即包括方向盤(pán)轉(zhuǎn)向信息、剎車(chē)踏板信息、油門(mén)信息等車(chē)輛控制信息。將這些動(dòng)作信息輸出到車(chē)輛執(zhí)行端進(jìn)行,此時(shí)車(chē)輛進(jìn)入到下一個(gè)新的狀態(tài)st+1,并根據(jù)預(yù)先定義好的獎(jiǎng)勵(lì)函數(shù)得到即時(shí)獎(jiǎng)勵(lì),不斷累加獎(jiǎng)勵(lì)值。若是訓(xùn)練模式,則將下一狀態(tài)st+1輸入到強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)運(yùn)算并進(jìn)行臨時(shí)存儲(chǔ),之后快速遍歷動(dòng)作內(nèi)存得到當(dāng)前狀態(tài)下每個(gè)動(dòng)作對(duì)應(yīng)的Q值,同時(shí)得到最大值Qmax(st+1,at+1,θ)。接下來(lái),更新目標(biāo)Q值為r+γQmax(st+1,at+1,θ),隨后與當(dāng)前狀態(tài)st和選擇的動(dòng)作at的Q值Q(st,at,θ)在終端平臺(tái),如 MATLAB 軟件平臺(tái)作 loss 處理,并做隨機(jī)遞減變化,同時(shí)在 MATLAB 平臺(tái)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,更新網(wǎng)絡(luò)參數(shù)。最終,將上述過(guò)程得到的(st,at,r,st+1)存儲(chǔ)到樣本池中,供后續(xù)對(duì)網(wǎng)絡(luò)進(jìn)行批訓(xùn)練。

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

        4.1 仿真分析

        CGRA 處理器采用 Verilog 語(yǔ)言進(jìn)行設(shè)計(jì),其代碼通過(guò) Modelsim 進(jìn)行功能仿真。在滿足設(shè)計(jì)功能后采用 Design Compiler(DC)基于 UMC 65 nm CMOS 工藝進(jìn)行邏輯綜合,獲得由 DC 綜合工具估計(jì)的面積、功耗等性能數(shù)據(jù)并進(jìn)行時(shí)序收斂。如圖 9 所示,從寄存器傳輸級(jí)(Register-Transfer Level,RTL)仿真圖 9(a)可以看出,首先需要完成各內(nèi)存配置,為后續(xù)網(wǎng)絡(luò)運(yùn)算準(zhǔn)備好配置和數(shù)據(jù),包括指令內(nèi)存、參數(shù)內(nèi)存、數(shù)據(jù)內(nèi)存、動(dòng)作內(nèi)存和獎(jiǎng)勵(lì)內(nèi)存的配置。加速器采用 128 級(jí)的流水線增加計(jì)算吞吐量,仿真圖如圖9(b)所示。采用全連接層實(shí)現(xiàn)的深度強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò),Q 迭代過(guò)程如圖 9(c)所示,通過(guò)反復(fù)迭代動(dòng)作內(nèi)存,最后將計(jì)算結(jié)果輸出到片上緩存中,進(jìn)行下一步的處理,實(shí)現(xiàn)強(qiáng)化學(xué)習(xí)目的。圖 10 所示為部分 RTL 設(shè)計(jì)結(jié)構(gòu)圖。

        圖8 強(qiáng)化學(xué)習(xí)處理器在自動(dòng)駕駛的應(yīng)用模式Fig. 8 Application of on-chip reinforcement learning in automatic driving

        4.2 物理特性

        基于 UMC 65 nm CMOS 工藝的邏輯綜合結(jié)果如表 1 所示,具體包括設(shè)計(jì)的主要特性以及各部分消耗的功率和占據(jù)的面積情況。本設(shè)計(jì)采用 CGRA 結(jié)構(gòu)以及數(shù)據(jù)流動(dòng)的輸入輸出方式,實(shí)現(xiàn)了分層可重構(gòu)的設(shè)計(jì)思路,共享了基本計(jì)算單元,達(dá)到了較低的功耗與面積。

        圖9 基于 Modelsim 的部分仿真結(jié)果圖Fig. 9 Simulation diagrams based on Modelsim

        圖10 加速器的部分 RTL 設(shè)計(jì)結(jié)構(gòu)圖Fig. 10 Register-transfer level design structure of accelerator

        表1 加速器的主要特性Table 1 Main characteristics of accelerator

        4.3 片上 Q 迭代時(shí)間

        對(duì)于強(qiáng)化學(xué)習(xí)來(lái)說(shuō),Q 迭代時(shí)間與動(dòng)作維數(shù)的多少、Q 神經(jīng)網(wǎng)絡(luò)規(guī)模和計(jì)算平臺(tái)有關(guān)。在這一部分中,將本設(shè)計(jì)結(jié)構(gòu)和 CPU(基于 Intel i7 處理器,利用 MATLAB 神經(jīng)網(wǎng)絡(luò)工具進(jìn)行測(cè)試)對(duì)不同學(xué)習(xí)網(wǎng)絡(luò)規(guī)模、不同維度的狀態(tài)空間所需要的 Q 迭代時(shí)間進(jìn)行比較,結(jié)果如圖 11 所示。具體地,在兩種處理器上將 1 維、2 維、4 維和6 維的動(dòng)作空間分別應(yīng)用于 2 層、5 層和 10 層網(wǎng)絡(luò)結(jié)構(gòu),從而得到每一種組合所需要的 Q 迭代時(shí)間,其中每一維動(dòng)作均設(shè)定 2 種取值。從圖 11可以看到,對(duì)于所有測(cè)試的動(dòng)作空間,對(duì)應(yīng)實(shí)驗(yàn)中的 3 種不同強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)(2 層、5 層、10層),本文片上設(shè)計(jì)所需要的 Q 迭代時(shí)間均少于2 ms,且隨著動(dòng)作空間以及網(wǎng)絡(luò)結(jié)構(gòu)的增加,時(shí)間增加很小。而基于 CPU 處理器所花的時(shí)間至少是本文片上設(shè)計(jì)的 100 倍,并且隨著動(dòng)作空間和網(wǎng)絡(luò)規(guī)模逐漸增大,所花的時(shí)間比本設(shè)計(jì)倍數(shù)增加,差距明顯,這更加體現(xiàn)出本文設(shè)計(jì)的優(yōu)越性。綜上所述,本文設(shè)計(jì)所消耗的時(shí)間大幅度降低,且本文設(shè)計(jì)方法可以滿足不同的網(wǎng)絡(luò)結(jié)構(gòu)和不同類(lèi)型大小的決策任務(wù),尤其是對(duì)實(shí)時(shí)性要求較高的應(yīng)用領(lǐng)域,如自動(dòng)駕駛和機(jī)器人控制。該實(shí)驗(yàn)結(jié)果驗(yàn)證了本文設(shè)計(jì)的高泛化性,可滿足現(xiàn)在快速更新迭代的深度學(xué)習(xí)算法需求。

        5 與國(guó)內(nèi)外相似研究的對(duì)比分析

        圖11 Q 迭代時(shí)間比較圖Fig. 11 Q iteration time comparison graph

        為了應(yīng)對(duì)人工智能(Artificial Intelligence,AI)算法的計(jì)算需求,出現(xiàn)了專(zhuān)門(mén)應(yīng)用于加速 AI算法的 ASIC 芯片,但現(xiàn)有的神經(jīng)網(wǎng)絡(luò)加速器主要是針對(duì)卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)卷積神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)算法的加速運(yùn)算,對(duì)于強(qiáng)化學(xué)習(xí)算法的加速研究還比較少,基本還沒(méi)有專(zhuān)門(mén)用于加速?gòu)?qiáng)化學(xué)習(xí)運(yùn)算的硬件加速器設(shè)計(jì)。另外,現(xiàn)有的神經(jīng)網(wǎng)絡(luò)加速器更多的只是追求功耗和速度,網(wǎng)絡(luò)模式和結(jié)構(gòu)固定,不具有可重構(gòu)功能,無(wú)法滿足快速迭代的 AI 算法。在國(guó)內(nèi),寒武紀(jì)研究團(tuán)隊(duì)[11,12]提出的第一代神經(jīng)網(wǎng)絡(luò)處理器專(zhuān)用于加速卷積神經(jīng)網(wǎng)絡(luò),其功耗為 596 mW、面積為3.51 mm2。Chen 等[14]提出用于卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算的加速器,通過(guò)減少數(shù)據(jù)的傳輸交流,引入較少的扇出電路,大大減少了能量消耗,用于Alexnet 和 VGG16 運(yùn)算的功耗分別為 278 mW 和236 mW。本文研究?jī)?nèi)容與上述國(guó)內(nèi)外研究相似之處在于均是對(duì)人工智能算法的加速研究,不同之處是本文研究支持強(qiáng)化學(xué)習(xí)和具有可重構(gòu)可配置功能,面積小(0.32 mm2)、功耗低(15.46 mW)。這主要是因?yàn)楸疚牟捎?CGRA 架構(gòu),通過(guò)引入指令內(nèi)存、動(dòng)作內(nèi)存和獎(jiǎng)勵(lì)內(nèi)存,設(shè)計(jì)一種基于可重構(gòu)陣列架構(gòu)的強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)計(jì)算結(jié)構(gòu),動(dòng)態(tài)配置不同規(guī)模的強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)和動(dòng)作空間,從而可以實(shí)現(xiàn)任意規(guī)模的強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò),滿足不同復(fù)雜場(chǎng)景下的智能體的自我學(xué)習(xí)和快速?zèng)Q策需求。本文設(shè)計(jì)核心目標(biāo)類(lèi)似于 Sarma 等[21]提出的片上自我意識(shí)系統(tǒng),但區(qū)別在于本文設(shè)計(jì)主要通過(guò)在片上實(shí)現(xiàn)強(qiáng)化學(xué)習(xí)決策算法來(lái)達(dá)到自我意識(shí)目標(biāo)。當(dāng)然,本設(shè)計(jì)還存在不足之處,未來(lái)工作將重點(diǎn)研究如何利用提出的強(qiáng)化學(xué)習(xí)計(jì)算引擎和訓(xùn)練平臺(tái)來(lái)實(shí)現(xiàn)一個(gè)完整的自我意識(shí)系統(tǒng),接下來(lái)將結(jié)合卷積神經(jīng)網(wǎng)絡(luò)加速模塊,完成感知信息預(yù)處理,從而做到智能體在片上實(shí)現(xiàn)自我感知和決策功能一體化。

        6 結(jié) 論

        本文提出基于 CGRA 架構(gòu)的支持監(jiān)督學(xué)習(xí)與強(qiáng)化學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)計(jì)算引擎。首先,通過(guò)引入 CGRA 架構(gòu),實(shí)現(xiàn)了對(duì)不同神經(jīng)網(wǎng)絡(luò)層對(duì)計(jì)算資源的共享,從而大幅度提升了處理器的可重構(gòu)性;其次,通過(guò)引入動(dòng)作內(nèi)存迭代模塊和片上快速循環(huán)進(jìn)行強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的動(dòng)作選擇。結(jié)果顯示,本文設(shè)計(jì)處理器可對(duì)感知和決策的端到端網(wǎng)絡(luò)進(jìn)行芯片上部署,具有功耗低、處理速度快的優(yōu)點(diǎn),能夠滿足不同復(fù)雜場(chǎng)景下對(duì)存儲(chǔ)開(kāi)銷(xiāo)大、功耗低等需求的應(yīng)用,如自動(dòng)駕駛、物聯(lián)網(wǎng)終端等快速發(fā)展領(lǐng)域。該處理器對(duì)強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)在計(jì)算資源受限環(huán)境下的部署具有推進(jìn)意義。

        猜你喜歡
        動(dòng)作設(shè)計(jì)
        下一個(gè)動(dòng)作
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        動(dòng)作描寫(xiě)要具體
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        畫(huà)動(dòng)作
        有種設(shè)計(jì)叫而專(zhuān)
        Coco薇(2017年5期)2017-06-05 08:53:16
        讓動(dòng)作“活”起來(lái)
        動(dòng)作描寫(xiě)不可少
        亚洲国产av无码精品| 国产久视频| 青青草视频原手机在线观看| 亚洲av高清不卡免费在线| 韩国三级在线观看久| 看国产黄大片在线观看| 国产资源在线视频| 中文片内射在线视频播放| 米奇欧美777四色影视在线| 国产精品_国产精品_k频道w| 521色香蕉网站在线观看| 熟女丝袜美腿亚洲一区二区三区 | 男人的天堂中文字幕熟女人妻| 日韩成人大屁股内射喷水| 久久精品国产亚洲婷婷| 一区二区在线观看日本免费| 丰满人妻熟妇乱又仑精品| 精品日韩欧美一区二区在线播放| 2021国产最新无码视频| 白色白色视频在线观看| 欧洲乱码伦视频免费| 亚洲精品国偷自产在线99正片| 囯产精品无码一区二区三区AV | 亚洲一区有码在线观看| 国产精品会所一区二区三区| 亚洲 自拍 另类小说综合图区| 亚洲毛片网| 国产白浆大屁股精品视频拍| 精品人妻一区二区三区四区在线| 久久久久亚洲av无码专区体验| 亚洲av午夜成人片精品| 二区三区日本高清视频| 中文字幕人妻熟在线影院| 色丁香色婷婷| 国产91精品清纯白嫩| 国产无遮挡aaa片爽爽| 日日碰狠狠躁久久躁96avv | 日本一区二区偷拍视频| 国产欧美一区二区精品久久久| 波多野结衣aⅴ在线| 精品久久日产国产一区|