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

        ?

        基于TPU和FPGA的深度學(xué)習(xí)邊緣計(jì)算平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)*

        2021-06-25 09:46:04劉昌華
        關(guān)鍵詞:張量邊緣架構(gòu)

        欒 奕,劉昌華

        (武漢輕工大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北 武漢 430023)

        1 引言

        我們所處的時(shí)代正在經(jīng)歷萬(wàn)物互聯(lián)帶來(lái)的巨大變革,隨著中心化云計(jì)算、數(shù)據(jù)分析、網(wǎng)絡(luò)安全和存儲(chǔ)技術(shù)的進(jìn)一步成熟,搭建一個(gè)穩(wěn)定、可靠、高效的物聯(lián)網(wǎng)體系已成為可能。而這樣成熟的技術(shù)發(fā)展帶來(lái)的是移動(dòng)設(shè)備用戶數(shù)量和數(shù)據(jù)流量的爆炸式增長(zhǎng),預(yù)計(jì)到2030年,全球移動(dòng)設(shè)備接入數(shù)量將達(dá)到180億,中國(guó)占其中的六分之一;物聯(lián)網(wǎng)設(shè)備接入量將達(dá)到一千億,中國(guó)占其中的五分之一[1 - 3]。而隨著5G技術(shù)標(biāo)準(zhǔn)成熟[4],5G商用化正式啟動(dòng),未來(lái)對(duì)于物聯(lián)網(wǎng)和云計(jì)算會(huì)有更為嚴(yán)峻的挑戰(zhàn)。而如今我們正好可以應(yīng)用邊緣計(jì)算[5]技術(shù)來(lái)彌補(bǔ)云計(jì)算的不足之處。但是,深度學(xué)習(xí)算法本身對(duì)準(zhǔn)確度的追求會(huì)消耗大量計(jì)算資源,這與計(jì)算資源受限的邊緣計(jì)算環(huán)境相矛盾,因此將深度神經(jīng)網(wǎng)絡(luò)模型部署在邊緣計(jì)算平臺(tái)面臨巨大的挑戰(zhàn)。

        2017年香港科技大學(xué)Mao[5]提出一種綠色邊緣計(jì)算和通信系統(tǒng)的設(shè)計(jì)方法,研究了單用戶系統(tǒng)下混合能源供應(yīng)HES(Hybrid Energy Supply)無(wú)線網(wǎng)絡(luò)的基本網(wǎng)能量消耗和QoS(Quality of Service)之間的權(quán)衡。香港大學(xué)的You[6]也提出了能源高效型的移動(dòng)邊緣計(jì)算模型,并將重點(diǎn)放在計(jì)算遷移和資源管理上。同年,肖騫[7]也提出了在多用戶超密集型的網(wǎng)絡(luò)中,利用啟發(fā)式算法ECEP(Enhanced-Cochannel users Equal Power collocation)仿真分析得出盡可能小的時(shí)延-能耗權(quán)重和。上述研究都將重點(diǎn)放在了優(yōu)化抽象的網(wǎng)絡(luò)部署策略或者優(yōu)化模型推理的框架方面,還沒(méi)有提出切實(shí)的硬件部署方案。

        2018年,趙佶[8]提出了一種以樹(shù)莓派為硬件構(gòu)建的網(wǎng)關(guān)設(shè)備,不僅可以實(shí)現(xiàn)基本的路由器功能,還可以承擔(dān)邊緣計(jì)算所需的任務(wù)。2019年開(kāi)始出現(xiàn)將深度學(xué)習(xí)與邊緣計(jì)算相結(jié)合的研究,肖云飛[9]以樹(shù)莓派為硬件,基于邊緣計(jì)算的系統(tǒng)架構(gòu),在車(chē)輛終端應(yīng)用深度學(xué)習(xí)模型實(shí)現(xiàn)了車(chē)道保持功能,實(shí)現(xiàn)了深度學(xué)習(xí)樣本數(shù)據(jù)在自動(dòng)駕駛領(lǐng)域的擴(kuò)充和應(yīng)用。也是在2019年,曹泓等人[10]提出了一種基于深度學(xué)習(xí)的城市管理違章行為分析算法,可以智能分析出視頻流中的常見(jiàn)違章行為。但上述研究均是以樹(shù)莓派為硬件實(shí)現(xiàn)的,盡管樹(shù)莓派與常見(jiàn)的51單片機(jī)和STM32等嵌入式微控制器相比,能夠運(yùn)行相應(yīng)的操作系統(tǒng),還可以完成更復(fù)雜的任務(wù)管理與調(diào)度,但樹(shù)莓派的最大優(yōu)勢(shì)同時(shí)也是自身的短板,它提供了比嵌入式微控制器更多選擇與應(yīng)用的同時(shí),犧牲了自身的性能優(yōu)勢(shì)。盧冶等人[11]基于XILINX 7020 FPGA提出了面向邊緣計(jì)算的卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建方法,圖像分類準(zhǔn)確度可達(dá)79%,同時(shí)將系統(tǒng)功耗降低至4.2 W。

        為了使深度學(xué)習(xí)技術(shù)能更好地適應(yīng)邊緣計(jì)算環(huán)境,本文同樣選擇采用搭載雙核Cortex-A9和張量處理器TPU(Tensor Processing Unit)的ZYNQ 7020 FPGA芯片,通過(guò)TPU+FPGA的方式,發(fā)揮FPGA[12]高速并行、可靈活編程的特點(diǎn);同時(shí)結(jié)合TPU計(jì)算架構(gòu)在深度學(xué)習(xí)領(lǐng)域極高的算力,在FPGA芯片內(nèi)部搭建全新的邊緣計(jì)算架構(gòu)。并且在FPGA框架下,系統(tǒng)功耗性能比較高,適合在邊緣結(jié)點(diǎn)長(zhǎng)期待機(jī)。本文在Caffe(Convolutional Architecture for Fast Feature Embedding)[13]框架下對(duì)壓縮后的MobileNet-V1模型完成了訓(xùn)練和優(yōu)化,最終將硬件與算法二者結(jié)合實(shí)現(xiàn)了一種基于TPU+FPGA的深度學(xué)習(xí)邊緣計(jì)算平臺(tái),該計(jì)算架構(gòu)在測(cè)試數(shù)據(jù)集上取得了良好的效果。

        2 TPU基本原理與特點(diǎn)

        2.1 TPU基本原理

        張量處理單元TPU最早是谷歌在2016年推出的,而谷歌人工智能AlphaGo依靠以單核TPU為核心的計(jì)算架構(gòu)先后擊敗了圍棋大師李世石與柯潔,并因此名聲大噪。由于神經(jīng)網(wǎng)絡(luò)編程模型的本質(zhì)是計(jì)算圖模型,計(jì)算圖的輸入/輸出是張量數(shù)據(jù),計(jì)算圖的類型代表操作類型。因此,直觀地,最適合于神經(jīng)網(wǎng)絡(luò)編程模型的計(jì)算體系結(jié)構(gòu)是Graph/Tensor計(jì)算體系,其中,處理器的功能由計(jì)算圖類型決定,而數(shù)據(jù)則是計(jì)算圖的輸入/輸出張量。然而,計(jì)算圖這一層級(jí)的粒度太粗,各類型間并沒(méi)有太大的相關(guān)性,一個(gè)典型的神經(jīng)網(wǎng)絡(luò)計(jì)算由Convolution、Pooling、BN、Scale、ReLU等組成,它們之間的行為差異巨大,如果處理器按照計(jì)算圖操作的粒度設(shè)計(jì),這就意味著需要為每一個(gè)(或某幾個(gè))計(jì)算圖操作設(shè)計(jì)專門(mén)的計(jì)算硬件(正如NVIDIA DLA那樣,NVDLA為卷積、池化和BN專門(mén)設(shè)計(jì)了不同的計(jì)算電路),這樣的代價(jià)是巨大的,而且也不具備可擴(kuò)展性。

        TPU所采用的張量運(yùn)算集[14,15]用一種巧妙的方式解決了Graph/Tensor體系結(jié)構(gòu)中的核心問(wèn)題:如何用一套標(biāo)準(zhǔn)、完善且最大粒度的操作(粒度遠(yuǎn)遠(yuǎn)高于傳統(tǒng)CPU/GPU的加、減、乘、除,同時(shí)也是各計(jì)算圖的子集)來(lái)定義基礎(chǔ)運(yùn)算類型。

        在張量運(yùn)算集中,張量運(yùn)算被劃分為1維、2維、3維和4維4大種類,每個(gè)種類又由各種不同類型的計(jì)算操作組成,從而形成一個(gè)完備的計(jì)算集合,通過(guò)這些張量運(yùn)算操作的組合,便能在相同硬件架構(gòu)下完成如普通卷積、DW卷積、Pooling、Resize、ReLU等計(jì)算圖操作。TPU架構(gòu)如圖1所示。

        Figure 1 Structure of TPU

        2.2 TPU內(nèi)部主要模塊及工作原理

        本文通過(guò)Vivado 2018.2工具完成TPU的相關(guān)設(shè)計(jì),其中主要包括:張量計(jì)算模塊、激活/池化模塊、數(shù)據(jù)緩存模塊與動(dòng)態(tài)存儲(chǔ)模塊。其中最為重要的張量計(jì)算模塊主要由一個(gè)256×256的乘法矩陣和累加器構(gòu)成,由于本文中張量計(jì)算模塊所采用的脈動(dòng)陣列,使得TPU中最主要的計(jì)算過(guò)程比較固定,因此對(duì)控制電路的依賴較低;激活模塊與池化模塊負(fù)責(zé)對(duì)累加器輸出的像素點(diǎn)數(shù)據(jù)進(jìn)行激活處理和池化處理;數(shù)據(jù)緩存模塊用于存儲(chǔ)即將輸入乘法矩陣的像素?cái)?shù)據(jù);而動(dòng)態(tài)存儲(chǔ)模塊負(fù)責(zé)緩存像素的權(quán)值數(shù)據(jù)并交給乘法矩陣進(jìn)行相應(yīng)計(jì)算。

        (1)數(shù)據(jù)緩存模塊。

        該模塊的作用是緩存本地輸入的像素?cái)?shù)據(jù),主要由片外SRAM構(gòu)成,TPU在推理過(guò)程中為了大幅提升響應(yīng)速率,會(huì)以較高的頻率訪問(wèn)該模塊的數(shù)據(jù)。因此,選擇采用片外SRAM的方式來(lái)作為數(shù)據(jù)的緩存設(shè)備。本文采用開(kāi)發(fā)板上提供的96 KB×256×8 bits SRAM作為數(shù)據(jù)緩存模塊的主要設(shè)備。

        (2)動(dòng)態(tài)存儲(chǔ)模塊。

        在深度神經(jīng)網(wǎng)絡(luò)的推理過(guò)程中,每一層的權(quán)值是不斷更新的,動(dòng)態(tài)存儲(chǔ)模塊就是用于存儲(chǔ)更新的權(quán)值并將其交給乘法矩陣,配合像素?cái)?shù)據(jù)進(jìn)行乘累加運(yùn)算。該模塊的功能可以看做是一個(gè)FIFO隊(duì)列,接收來(lái)自開(kāi)發(fā)板上DDR3(512 MB)的權(quán)值數(shù)據(jù)。實(shí)際上在Vivado設(shè)計(jì)中也是通過(guò)IP Catalog功能直接例化調(diào)用一個(gè)256×256×8 bits的FIFO隊(duì)列。

        (3)張量計(jì)算模塊。

        本文中TPU張量計(jì)算模塊由乘法矩陣和累加器組成,采用脈動(dòng)陣列的方式工作,其核心概念就是讓數(shù)據(jù)在運(yùn)算單元的陣列中進(jìn)行流動(dòng),減少訪存的次數(shù),并且使得結(jié)構(gòu)更加規(guī)整,布線更加統(tǒng)一,提高頻率。乘法矩陣由256×256,即65 536個(gè)8位MAC組成,其結(jié)構(gòu)圖如圖2所示。圖2左側(cè)就是數(shù)據(jù)緩存模塊,它將每行像素輸入乘法矩陣中,數(shù)據(jù)在矩陣中按照從左至右的方向傳播。圖2上方為一個(gè)動(dòng)態(tài)存儲(chǔ)器(權(quán)值濾波),負(fù)責(zé)將當(dāng)前權(quán)值交給下方的MAC單元。乘法矩陣中的每一個(gè)cell就是一個(gè)乘加單元(MAC)。每個(gè)cell執(zhí)行的計(jì)算如式(1)所示:

        w×x+b

        (1)

        其中,x代表從左側(cè)輸入的像素?cái)?shù)據(jù),w代表從上方cell得到的濾波器權(quán)值,b代表從上方cell得到的輸出部分和。從左側(cè)傳來(lái)的像素輸入數(shù)據(jù)會(huì)傳遞到右側(cè)的相鄰cell,濾波器權(quán)值會(huì)傳遞給下方的cell。從上方cell得到的部分和作為當(dāng)前cell的加數(shù)D。當(dāng)前cell輸出的部分和會(huì)傳遞給下方的相鄰cell當(dāng)作加數(shù)D。

        Figure 2 Construction of matrix multiplication

        2.3 TPU的特性及優(yōu)勢(shì)

        TPU所具備的通用性和嵌入式2大主要特性更是為用戶進(jìn)行邊緣端AI的相關(guān)開(kāi)發(fā)和部署提供了極大便利,從通用性來(lái)說(shuō)TPU具有以下特性:

        (1)支持各種類型神經(jīng)網(wǎng)絡(luò)計(jì)算層,方便后續(xù)算法迭代;

        (2)支持大多數(shù)神經(jīng)網(wǎng)絡(luò)算法,方便實(shí)現(xiàn)各種解決方案;

        (3)支持FP16和INT8數(shù)據(jù)類型,方便靈活選擇;

        (4)支持PC訓(xùn)練模型的無(wú)縫轉(zhuǎn)換,提供便捷、易用的人工智能推理計(jì)算。

        3 實(shí)驗(yàn)設(shè)計(jì)方案

        3.1 整體方案

        本實(shí)驗(yàn)中的TPU軟核處理器架構(gòu)是在Vivado 2018.2設(shè)計(jì)軟件下,通過(guò)VHDL硬件描述語(yǔ)言完成TPU工程文件的編譯并下載到開(kāi)發(fā)板上的FPGA芯片。在PC端創(chuàng)建Linux操作系統(tǒng)的虛擬機(jī),并搭建基于Caffe的深度學(xué)習(xí)框架,在ImageNet數(shù)據(jù)集基礎(chǔ)上整理并創(chuàng)建小規(guī)模實(shí)驗(yàn)數(shù)據(jù)集,完成對(duì)深度神經(jīng)網(wǎng)絡(luò)的搭建、訓(xùn)練和優(yōu)化。最后通過(guò)TPU編譯和交叉編譯完成算法編譯和嵌入式端應(yīng)用編譯,把神經(jīng)網(wǎng)絡(luò)算法模型和超參文件轉(zhuǎn)變成TPU軟核處理器可識(shí)別的嵌入式端執(zhí)行文件,同時(shí)將C++程序轉(zhuǎn)變成嵌入式端應(yīng)用程序可執(zhí)行文件。而TPU神經(jīng)網(wǎng)絡(luò)張量處理器已被移植到帶有ARM-cortex A9處理器的ZYNQ 7020 FPGA芯片中,等待PC端將上述各執(zhí)行文件、操作系統(tǒng)及SDK通過(guò)以太網(wǎng)下載到芯片之后,就可以通過(guò)PC端支配并監(jiān)視FPGA(TPU)完成圖像分類任務(wù)及過(guò)程并向PC返回分類結(jié)果。該深度學(xué)習(xí)邊緣計(jì)算平臺(tái)架構(gòu)如圖3所示。

        Figure 3 Edge computing platform for deep learning

        3.2 實(shí)驗(yàn)環(huán)境

        (1) PC機(jī)配置。由于實(shí)驗(yàn)中深度神經(jīng)網(wǎng)絡(luò)的配置和訓(xùn)練均是在PC中完成的,因此PC的配置對(duì)網(wǎng)絡(luò)訓(xùn)練的效率有著重要影響。本實(shí)驗(yàn)中PC機(jī)采用Intel i5-7300HQ CPU(2.50 GHz)、NVIDIA GeForce GTX1050(8 GB) GPU。

        (2) Linux操作系統(tǒng)。本實(shí)驗(yàn)通過(guò)VMware Workstation 12 Pro軟件,采用Ubuntu 18.04LTS版本的操作系統(tǒng)創(chuàng)建虛擬機(jī)文件,并將Caffe深度學(xué)習(xí)框架植入該系統(tǒng)中。

        (3) 編譯工具。在完成網(wǎng)絡(luò)模型的訓(xùn)練后,通過(guò)TPU編譯器和Arm-linux-gcc6.3.1交叉編譯器進(jìn)行編譯,以完成嵌入式端系統(tǒng)文件和算法文件的下載。

        4 數(shù)據(jù)集整理與預(yù)處理

        本實(shí)驗(yàn)在ImageNet數(shù)據(jù)集[16]的基礎(chǔ)上整理出一個(gè)較小的數(shù)據(jù)集。其中訓(xùn)練數(shù)據(jù)集包含4 000幅圖像,驗(yàn)證數(shù)據(jù)集包含950幅圖像,測(cè)試數(shù)據(jù)集包含50幅圖像,共計(jì)5 000幅圖像,涉及100個(gè)類別(標(biāo)簽)。由于Caffe要求對(duì)數(shù)據(jù)集中的訓(xùn)練集和驗(yàn)證集進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成LMDB數(shù)據(jù)庫(kù),本實(shí)驗(yàn)通過(guò)腳本命令分別建立用于訓(xùn)練和驗(yàn)證的2個(gè)LMDB數(shù)據(jù)庫(kù)。同時(shí),為了保證網(wǎng)絡(luò)在訓(xùn)練時(shí)能更快地收斂,本文對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行均值計(jì)算,獲取彩色圖像三通道的均值并將結(jié)果寫(xiě)入.prototxt文件,以便后續(xù)工作中調(diào)用。本文中數(shù)據(jù)集經(jīng)過(guò)均值計(jì)算后,RGB三通道均值分別為:103.025,115.701,121.234。

        5 神經(jīng)網(wǎng)絡(luò)模型及優(yōu)化

        5.1 神經(jīng)網(wǎng)絡(luò)模型選擇

        MobileNet-V1原本是谷歌推出的一種深度學(xué)習(xí)加速模型[17],與傳統(tǒng)模型相比它可以在保證不影響準(zhǔn)確度的情況下大大減少計(jì)算時(shí)間和參數(shù)規(guī)模,這樣就使得網(wǎng)絡(luò)可以被移植到算力和空間受限的移動(dòng)端和邊緣計(jì)算平臺(tái)上。MobileNet采用一種稱為深度可分離卷積DW(Deep-Wise)的方式來(lái)替代傳統(tǒng)3D卷積,以大幅降低計(jì)算量,其具體思想是將原本的卷積核拆分成Depthwise和Pointwise 2部分。

        Depthwise Convolution部分負(fù)責(zé)提取輸入圖像每個(gè)通道的空間特征,通常用N表示輸入圖像數(shù)量,H表示輸入圖像高度,W表示輸入圖像寬度,C表示通道數(shù),DK表示卷積核的高/寬,那么該部分的乘法計(jì)算量可表示為N×H×W×C。也就是說(shuō),該計(jì)算相當(dāng)于是將輸入圖像以通道數(shù)為基準(zhǔn),分為C組,并以DK·DK大小的卷積核對(duì)每組(即每個(gè)通道)進(jìn)行卷積計(jì)算。

        Pointwise Convolution部分負(fù)責(zé)提取每個(gè)點(diǎn)的特征,它是對(duì)H×W×C的輸入進(jìn)行K個(gè)1×1的卷積計(jì)算,其乘法計(jì)算量為H×W×C×K。這樣一來(lái)就相當(dāng)于把一個(gè)普通卷積分解為Depthwise+Pointwise 2部分。對(duì)DW卷積和普通卷積的計(jì)算量進(jìn)行對(duì)比,對(duì)比結(jié)果如式(2)所示。

        (2)

        從式(2)中可以看出,DW卷積相比傳統(tǒng)3D卷積,在計(jì)算量上有了明顯壓縮,且壓縮比與卷積核數(shù)量、卷積核大小有關(guān),卷積核數(shù)量、卷積核大小越大,則壓縮效果越明顯,可以顯著提高計(jì)算速度。

        5.2 網(wǎng)絡(luò)模型優(yōu)化方案

        盡管這樣的網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)具備了一定的計(jì)算量和參數(shù)規(guī)模上的優(yōu)勢(shì),但是,在一些對(duì)運(yùn)行速度或內(nèi)存有極端要求的場(chǎng)合,還需要更小更快的模型。為了進(jìn)一步壓縮、優(yōu)化網(wǎng)絡(luò)模型,本文通過(guò)超參數(shù)寬度因子(Width Multiplier)α和分辨率因子(Resolutionmultiplier)β來(lái)對(duì)網(wǎng)絡(luò)規(guī)模進(jìn)行壓縮。寬度因子α∈(0,1],附加于網(wǎng)絡(luò)的通道數(shù),簡(jiǎn)單來(lái)說(shuō)就是新網(wǎng)絡(luò)中每一個(gè)模塊要使用的卷積核數(shù)量相較于標(biāo)準(zhǔn)的MobileNet比例更少。對(duì)于DW結(jié)合1×1方式的卷積核,此時(shí)的卷積計(jì)算量如式(3)所示:

        F=H×W×αC×DK×DK+H×W×αC×αK

        (3)

        除了通過(guò)寬度因子α對(duì)模型進(jìn)行進(jìn)一步優(yōu)化以外,本文還加入分辨率因子β來(lái)幫助進(jìn)一步壓縮算法模型的計(jì)算量。分辨率因子β∈(0,1],是作用于每一個(gè)模塊輸入尺寸的約減因子,簡(jiǎn)單來(lái)說(shuō)就是將輸入數(shù)據(jù)以及由此在每一個(gè)模塊產(chǎn)生的特征圖都變小了。同時(shí)加入寬度因子α和分辨率因子β后,此時(shí)DW結(jié)合1×1方式的卷積核計(jì)算量為:

        F′=βH×βW×αC×DK×DK+βH×βW×αC×αK

        (4)

        因?yàn)榉直媛室蜃应聝H影響輸入數(shù)據(jù)和特征圖大小,并未對(duì)參數(shù)量有任何影響,僅影響計(jì)算量。為了探究配置上述參數(shù)對(duì)本實(shí)驗(yàn)的具體影響,以找出最合適的模型優(yōu)化方案,實(shí)驗(yàn)中分別將α配置為3/4,1/2,1/4,將β配置為6/7,5/7,4/7,再對(duì)壓縮后的網(wǎng)絡(luò)進(jìn)行訓(xùn)練。其中的關(guān)鍵數(shù)據(jù)對(duì)比結(jié)果如表1所示。

        Table 1 Training results under different width and resolution factors

        實(shí)驗(yàn)中選取原始模型,即α=1.0,β=1.0作為對(duì)照組,從上述實(shí)驗(yàn)數(shù)據(jù)中可以看出,隨著網(wǎng)絡(luò)模型的規(guī)模下降,準(zhǔn)確度也隨之下降,尤其當(dāng)α≤0.5時(shí),雖然此時(shí)模型已經(jīng)得到了極為可觀的壓縮效果,但準(zhǔn)確度卻大幅下降,這樣會(huì)使網(wǎng)絡(luò)模型在進(jìn)行分類任務(wù)時(shí),多個(gè)結(jié)果之間的概率區(qū)分度降低,無(wú)法較好地突出擬合度最高的結(jié)果。因此,本文采用寬度因子α=0.75,分辨率因子β=6/7的配置對(duì)原有模型進(jìn)行壓縮,不僅對(duì)準(zhǔn)確度影響最小,還將原有模型的計(jì)算量和參數(shù)量分別降低42%和62%,從網(wǎng)絡(luò)結(jié)構(gòu)上進(jìn)行優(yōu)化和提速,以更好地適應(yīng)邊緣計(jì)算環(huán)境。

        6 實(shí)驗(yàn)數(shù)據(jù)及對(duì)比分析

        實(shí)驗(yàn)整體上分為PC端與嵌入式端2部分,首先需要在PC端采用CPU/GPU對(duì)優(yōu)化壓縮后的網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,訓(xùn)練時(shí)Caffe中的超參數(shù)配置如表2所示。

        Table 2 Hyperparameters of training model

        BatchSize表示測(cè)試時(shí)每一批次的數(shù)量,由于測(cè)試數(shù)據(jù)集有近一千幅圖像,一次性執(zhí)行全部數(shù)據(jù)效率很低,因此本文將測(cè)試數(shù)據(jù)分成幾個(gè)批次來(lái)執(zhí)行,每個(gè)批次為4幅圖像。測(cè)試間隔為每100次訓(xùn)練進(jìn)行一次測(cè)試。本實(shí)驗(yàn)采用step策略對(duì)基礎(chǔ)學(xué)習(xí)率進(jìn)行調(diào)整,該策略與步長(zhǎng)(Stepsize)和迭代次數(shù)有關(guān),調(diào)整方法如式(5)所示:

        (5)

        其中,T表示當(dāng)前迭代次數(shù),step表示調(diào)整步長(zhǎng),base_lr表示基礎(chǔ)學(xué)習(xí)率。該策略的好處是隨著迭代次數(shù)的變化可以自動(dòng)降低學(xué)習(xí)率,不需要人工操作。

        相對(duì)于二分類問(wèn)題常用的logistic回歸算法,在多分類問(wèn)題中需要采用Softmax回歸算法提高分類結(jié)果的彈性,Softmax函數(shù)定義如式(6)所示:

        (6)

        并且本實(shí)驗(yàn)通過(guò)權(quán)重衰減(L2正則化)可以在一定程度上避免過(guò)擬合現(xiàn)象。實(shí)驗(yàn)中的正則化其實(shí)是在損失函數(shù)后添加正則化項(xiàng),添加后的損失函數(shù)如式(7)所示:

        (7)

        其中,l0表示原始損失函數(shù),θ表示權(quán)重衰減系數(shù),n表示訓(xùn)練集數(shù)量,ω表示所有參數(shù)的平方和。正則化是通過(guò)約束參數(shù)的范數(shù)使其處于一定區(qū)間,所以可以在一定程度上減少過(guò)擬合情況。因?yàn)檫^(guò)擬合,就是當(dāng)擬合函數(shù)需要顧忌每一個(gè)點(diǎn)時(shí),最終形成的擬合函數(shù)波動(dòng)往往會(huì)很大。在某些很小的區(qū)間里,函數(shù)值的變化很劇烈,這就意味著函數(shù)在某些小區(qū)間里的導(dǎo)數(shù)值(絕對(duì)值)非常大。由于自變量值可大可小,所以只有系數(shù)足夠大才能保證導(dǎo)數(shù)值足夠大。本文對(duì)模型分別采用CPU和GPU訓(xùn)練和測(cè)試,其結(jié)果如表3所示。

        Table 3 Training results under different configuration

        雖然實(shí)驗(yàn)中采用的CPU和GPU都是移動(dòng)版的型號(hào),算力不能與臺(tái)式電腦配置的處理器相提并論,但在使用不同配置的情況下,通過(guò)多次測(cè)試,可以看出在訓(xùn)練、測(cè)試任務(wù)計(jì)算的速度上GPU明顯比CPU更為高效,雖然TOP5的準(zhǔn)確度有略微下降,但TOP1的準(zhǔn)確度明顯提升,這更加有利于對(duì)目標(biāo)的精準(zhǔn)分類。

        上述研究?jī)H僅是在PC端完成的,為了將網(wǎng)絡(luò)模型算法完整地移植到FPGA SOC芯片上,還需要對(duì)訓(xùn)練完成的網(wǎng)絡(luò)進(jìn)行修改才能形成最后的部署網(wǎng)絡(luò)。在完成所有編譯和下載(包括相關(guān)SDK以及測(cè)試圖像)工作后,就可以通過(guò)嵌入式端對(duì)算法模型進(jìn)行進(jìn)一步測(cè)試,驗(yàn)證TPU+FPGA的計(jì)算架構(gòu)對(duì)算法模型的支持。此時(shí)的分類已經(jīng)不在處于PC中CPU或GPU的架構(gòu)中計(jì)算,而是在TPU+FPGA的架構(gòu)中進(jìn)行,實(shí)驗(yàn)在同樣的測(cè)試數(shù)據(jù)集上,TPU+FPGA組成的計(jì)算架構(gòu)相對(duì)于CPU/GPU數(shù)百甚至上千毫秒的分類計(jì)算速度有了明顯提高,如表4所示,每幅圖像的分類時(shí)間在32~93 ms不等,平均分類時(shí)間74.7 ms。

        Table 4 Classification performance of edge computing platform

        在本實(shí)驗(yàn)中TPU對(duì)FPGA邏輯資源的占用情況直接影響到片上系統(tǒng)的功耗情況,本文采用的深度學(xué)習(xí)邊緣計(jì)算架構(gòu)與采用同型號(hào)的FPGA芯片通過(guò)HLS方式實(shí)現(xiàn)的計(jì)算架構(gòu)相比,F(xiàn)PGA中各類主要邏輯資源的占用率有了明顯下降,如圖4所示。

        Figure 4 Comparison of FPGA resource utilization under different structures

        在本文計(jì)算架構(gòu)下,不僅FPGA片上資源消耗得到大幅改進(jìn),而且總功耗僅為3.4 W,與上述僅僅采用FPGA邏輯資源搭建的計(jì)算架構(gòu)4.2 W的功耗相比降低了20%。

        而與同樣將深度學(xué)習(xí)應(yīng)用在邊緣計(jì)算環(huán)境的結(jié)果相比,基于樹(shù)莓派實(shí)現(xiàn)的深度學(xué)習(xí)邊緣計(jì)算平臺(tái)[9]對(duì)每一幅圖像的計(jì)算時(shí)間往往需要數(shù)百毫秒,且準(zhǔn)確度無(wú)法滿足需求,而采用TPU軟核+FPGA的異構(gòu)計(jì)算架構(gòu),無(wú)論是功耗還是性能都具有一定優(yōu)勢(shì)。本實(shí)驗(yàn)中的邊緣計(jì)算平臺(tái)在計(jì)算速度上,比起基于樹(shù)莓派的深度學(xué)習(xí)邊緣計(jì)算平臺(tái),速度提升了3~6倍,準(zhǔn)確度提高了13%,而功耗更是降低了50.7%,如表5所示。

        而將本文中的系統(tǒng)與其他非邊緣計(jì)算環(huán)境下的深度學(xué)習(xí)計(jì)算相比,雖然采用CPU協(xié)同多個(gè)FPGA的異構(gòu)計(jì)算架構(gòu)可以使同類數(shù)據(jù)集中的單幅圖像分類時(shí)間縮短到1 ms以下,但其平臺(tái)的整體功耗高達(dá)24 W,僅CPU就占了總功耗的37.5%。然而,在邊緣計(jì)算平臺(tái)上計(jì)算資源和功耗的控制都是極為嚴(yán)格的,本實(shí)驗(yàn)所采用的計(jì)算架構(gòu)在各計(jì)算層以及整體的計(jì)算速度上遠(yuǎn)不如后者,但擁有極為明顯的功耗和體積優(yōu)勢(shì),也更進(jìn)一步表明了本實(shí)驗(yàn)中的計(jì)算架構(gòu)在邊緣計(jì)算平臺(tái)的意義和適用性。

        Table 5 Comparison with other deep learning edge computing platforms

        7 結(jié)束語(yǔ)

        本文通過(guò)對(duì)ImageNet數(shù)據(jù)集的裁剪和整理,形成更適應(yīng)邊緣網(wǎng)絡(luò)的小型數(shù)據(jù)集。

        依靠Caffe深度學(xué)習(xí)框架,搭建面向邊緣計(jì)算的神經(jīng)網(wǎng)絡(luò)算法模型,并對(duì)網(wǎng)絡(luò)模型算法的結(jié)構(gòu)進(jìn)行壓縮優(yōu)化,以適應(yīng)嵌入式端的硬件應(yīng)用環(huán)境。以ZYNQ 7020 FPGA SoC芯片的邏輯資源為基礎(chǔ)構(gòu)建TPU軟核處理器,并與SoC內(nèi)部的ARM處理器協(xié)同構(gòu)建深度學(xué)習(xí)邊緣計(jì)算架構(gòu),實(shí)現(xiàn)了在邊緣結(jié)點(diǎn)這樣計(jì)算資源、功耗受到明顯限制的環(huán)境中,仍然能夠以優(yōu)勢(shì)速度完成分類計(jì)算任務(wù),并且大大降低系統(tǒng)功耗,使其在邊緣結(jié)點(diǎn)長(zhǎng)期待機(jī)中不會(huì)消耗過(guò)多能源。同時(shí),由于FPGA中仍有部分資源未被使用,因此該系統(tǒng)尚有擴(kuò)展余地,可利用Verilog HDL/VHDL硬件描述語(yǔ)言或直接采用抽象等級(jí)更高的HLS編譯方式對(duì)這些資源加以利用,豐富邊緣結(jié)點(diǎn)的功能,進(jìn)一步提高上云數(shù)據(jù)的有效性。

        猜你喜歡
        張量邊緣架構(gòu)
        基于FPGA的RNN硬件加速架構(gòu)
        偶數(shù)階張量core逆的性質(zhì)和應(yīng)用
        功能架構(gòu)在電子電氣架構(gòu)開(kāi)發(fā)中的應(yīng)用和實(shí)踐
        四元數(shù)張量方程A*NX=B 的通解
        LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
        一張圖看懂邊緣計(jì)算
        擴(kuò)散張量成像MRI 在CO中毒后遲發(fā)腦病中的應(yīng)用
        一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
        工程中張量概念的思考
        河南科技(2014年19期)2014-02-27 14:15:33
        在邊緣尋找自我
        雕塑(1999年2期)1999-06-28 05:01:42
        国产又粗又猛又黄色呦呦| 曰韩人妻无码一区二区三区综合部| 国产精品麻豆成人av电影艾秋| 亚洲国产精品久久久久久网站| 国产av熟女一区二区三区老牛| 中文字幕乱码在线人妻| 中文字幕乱偷无码av先锋蜜桃| 麻豆91免费视频| 亚洲一区二区三区品视频| 精品少妇一区二区三区免费| 两个人看的www免费视频中文| 日韩毛片在线| 女人一级特黄大片国产精品| 国产av一级黄一区二区三区| 国产亚洲日韩在线一区二区三区| 91国视频| 国产精品一区二区三区蜜臀| 日韩肥臀人妻中文字幕一区| gv天堂gv无码男同在线观看| 欧美日韩精品乱国产| 国产亚洲精品视频在线| 精品无人区无码乱码毛片国产 | 二区三区三区视频在线观看| 午夜福利啪啪片| 国产女高清在线看免费观看| 亚洲av大片在线免费观看| 亚洲另类无码专区首页| 日韩av高清无码| 胳膊肘上有白色的小疙瘩| 偷拍视频网址一区二区| 国产揄拍国产精品| 专区亚洲欧洲日产国码AV| 美女福利视频在线观看网址| 中文字幕人成乱码熟女| 国语对白做受xxxxx在线中国| 久久久亚洲精品一区二区| 免费久久久一本精品久久区 | 人人超碰人人爱超碰国产| 欧美激情内射喷水高潮| 亚洲图片第二页| 亚洲第一幕一区二区三区在线观看|