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

        ?

        基于線性脈動(dòng)陣列的卷積神經(jīng)網(wǎng)絡(luò)計(jì)算優(yōu)化與性能分析

        2018-12-26 10:04:14劉勤讓劉崇陽(yáng)周俊王孝龍
        關(guān)鍵詞:利用分析

        劉勤讓,劉崇陽(yáng),周俊,王孝龍

        ?

        基于線性脈動(dòng)陣列的卷積神經(jīng)網(wǎng)絡(luò)計(jì)算優(yōu)化與性能分析

        劉勤讓,劉崇陽(yáng),周俊,王孝龍

        (國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450002)

        針對(duì)大部分FPGA端上的卷積神經(jīng)網(wǎng)絡(luò)(CNN, convolutional neural network)加速器設(shè)計(jì)未能有效利用稀疏性的問(wèn)題,從帶寬和能量消耗方面考慮,提出了基于線性脈動(dòng)陣列的2種改進(jìn)的CNN計(jì)算優(yōu)化方案。首先,卷積轉(zhuǎn)化為矩陣相乘形式以利用稀疏性;其次,為解決傳統(tǒng)的并行矩陣乘法器存在較大I/O需求的問(wèn)題,采用線性脈動(dòng)陣列改進(jìn)設(shè)計(jì);最后,對(duì)比分析了傳統(tǒng)的并行矩陣乘法器和2種改進(jìn)的線性脈動(dòng)陣列用于CNN加速的利弊。理論證明及分析表明,與并行矩陣乘法器相比,2種改進(jìn)的線性脈動(dòng)陣列都充分利用了稀疏性,具有能量消耗少、I/O帶寬占用少的優(yōu)勢(shì)。

        線性脈動(dòng)陣列;卷積神經(jīng)網(wǎng)絡(luò);稀疏性;I/O帶寬;性能分析

        1 引言

        CNN是一種前饋神經(jīng)網(wǎng)絡(luò),隨著人工智能的發(fā)展,深度學(xué)習(xí)中的CNN已成為物體識(shí)別的主要方法,廣泛用于計(jì)算機(jī)視覺(jué)領(lǐng)域。但CNN是一個(gè)計(jì)算密集型和存儲(chǔ)密集型的網(wǎng)絡(luò)[1-2],為了面向更復(fù)雜的任務(wù),CNN的規(guī)模正向更深、更復(fù)雜方向發(fā)展。例如,文獻(xiàn)[3]指出:“標(biāo)準(zhǔn)”的CNN結(jié)構(gòu)層次太少,只有神經(jīng)元、神經(jīng)網(wǎng)絡(luò)層,要把每一層的神經(jīng)元組合起來(lái)形成組并裝到“艙”(capsule)中完成大量的內(nèi)部計(jì)算。

        CNN規(guī)模大和計(jì)算量大的特點(diǎn)導(dǎo)致移動(dòng)端上部署變得很困難,規(guī)模太大可以壓縮[4-5],計(jì)算量太大就須進(jìn)行加速。如今,CNN嵌入式端加速主要集中于FPGA[6]。例如,文獻(xiàn)[7]結(jié)合卷積計(jì)算特點(diǎn)用多個(gè)二維卷積器實(shí)現(xiàn)三維卷積操作,充分利用FPGA上資源實(shí)現(xiàn)高速計(jì)算。文獻(xiàn)[8]首先考慮FPGA資源限制(如片上存儲(chǔ)、寄存器、計(jì)算資源和外部存儲(chǔ)帶寬),之后為給定的CNN模型探索出基于OpenCL的最大化吞吐量的FPGA加速器。文獻(xiàn)[9]在FPGA上部署Winograd算法進(jìn)行卷積加速。但以上利用FPGA的加速方法都未能利用卷積計(jì)算中的稀疏性。利用卷積計(jì)算中稀疏性的加速方法有文獻(xiàn)[10],采用行固定的處理數(shù)據(jù)方式來(lái)利用稀疏性,當(dāng)數(shù)據(jù)通道的輸入為0值時(shí)直接不做處理。文獻(xiàn)[11]利用并行矩陣乘法器完成卷積計(jì)算并充分利用了參數(shù)稀疏性。文獻(xiàn)[12]把 Winograd算法和稀疏性進(jìn)行結(jié)合減少卷積操作,改變Winograd作用域來(lái)利用稀疏性,Winograd算法計(jì)算快但對(duì)數(shù)據(jù)輸入輸出要求高,運(yùn)用到FPGA上時(shí)存取速度成了限制因素。

        本文以文獻(xiàn)[13-14]中的線性脈動(dòng)陣列為基礎(chǔ),對(duì)處理單元(PE)做細(xì)微的“不傳不運(yùn)算操作”控制,以實(shí)現(xiàn)對(duì)卷積計(jì)算稀疏性的利用。本文采用的線性脈動(dòng)陣列主要有3個(gè)改進(jìn):①針對(duì)稀疏性的不傳不運(yùn)算操作;②針對(duì)卷積核矩陣的部分傳輸操作;③針對(duì)輸出結(jié)果時(shí)的緩存減少策略(針對(duì)單輸出線性脈動(dòng)陣列)。本文主要從計(jì)算循環(huán)周期、存取操作類別和存取操作次數(shù)以及資源耗費(fèi)情況來(lái)對(duì)比分析和證明,分析表明:改進(jìn)后的2種線性脈動(dòng)陣列不僅充分利用了稀疏性,而且不同程度地減少了I/O能耗需求。

        2 問(wèn)題描述

        2.1 CNN稀疏性特點(diǎn)

        CNN卷積層的卷積計(jì)算有一個(gè)激活函數(shù),常用的激活函數(shù)Relu示意如圖1所示。

        圖1 Relu示意

        經(jīng)過(guò)Relu激活函數(shù)作用后,小于等于0的都變?yōu)?值,所以輸出的特征圖有很多0值存在。本文基于Caffe深度學(xué)習(xí)框架[15]進(jìn)行實(shí)驗(yàn),發(fā)現(xiàn)Alexnet、Googlenet、Caffenet和Vgg等卷積神經(jīng)網(wǎng)絡(luò)中都存在較大程度的稀疏性,如Alexnet各個(gè)卷積層的0值比例如圖2所示。

        圖2 Alexnet卷積層0值比例

        為了利用稀疏性進(jìn)行加速,本文把卷積過(guò)程轉(zhuǎn)化為矩陣相乘,轉(zhuǎn)化的方法是文獻(xiàn)[16]中所用的Im2col,如圖3所示。該方法存儲(chǔ)空間要求增大但計(jì)算量(乘法和加法操作)沒(méi)有變化,若能有效利用稀疏性使0值不參與運(yùn)算,可以在速度上明顯改進(jìn)[17]。

        圖3 卷積轉(zhuǎn)換為矩陣相乘

        2.2 并行矩陣乘法器用于CNN加速

        圖4 文獻(xiàn)[11]的并行矩陣乘法器單列結(jié)構(gòu)

        表1 45nm CMOS相關(guān)操作能量消耗

        3 改進(jìn)的線性脈動(dòng)陣列

        為了彌補(bǔ)傳統(tǒng)并行矩陣乘法器的缺點(diǎn),并充分利用CNN計(jì)算中的稀疏性特點(diǎn)進(jìn)行加速,本文基于文獻(xiàn)[13-14]提出的線性脈動(dòng)陣列進(jìn)行了兩方面改進(jìn),分別是單輸出線性脈動(dòng)陣列和多輸出線性脈動(dòng)陣列,具體如圖5~圖8所示。

        圖5 單輸出線性脈動(dòng)陣列

        圖6 PE內(nèi)部結(jié)構(gòu)示意

        圖7 多輸出線性脈動(dòng)陣列

        圖8 PE內(nèi)部結(jié)構(gòu)示意

        圖9 單Cache傳輸情況

        4 單輸出線性脈動(dòng)陣列性能分析

        本文所用的單輸出線性脈動(dòng)陣列和文獻(xiàn)[11]的并行矩陣乘法器的對(duì)比從3個(gè)方面進(jìn)行:計(jì)算循環(huán)周期、存取操作類別和存取操作次數(shù)以及資源耗費(fèi)情況。下面依次進(jìn)行說(shuō)明(接下來(lái)分析針對(duì)沒(méi)有0值的情況,為0值時(shí)對(duì)應(yīng)線性脈動(dòng)陣列的第一個(gè)方面改進(jìn))。

        4.1 計(jì)算循環(huán)周期

        4.2 存取操作類別和存取操作次數(shù)

        圖10 單輸出線性脈動(dòng)陣列實(shí)現(xiàn)矩陣乘法操作過(guò)程

        表2 單輸出線性脈動(dòng)陣列和并行矩陣乘法器存取操作類別和存取操作次數(shù)對(duì)比

        4.3 資源耗費(fèi)情況

        表3 并行矩陣乘法器用于Alexnet卷積加速時(shí)的FPGA內(nèi)部資源使用情況

        4.4 與并行矩陣乘法器對(duì)比

        單輸出線性脈動(dòng)陣列和并行矩陣乘法器各有優(yōu)缺點(diǎn),具體的對(duì)比分析如表4所示。從表4可以看出,雖然時(shí)間耗費(fèi)增多,但本文單輸出的線性脈動(dòng)陣列很好地彌補(bǔ)了傳統(tǒng)的并行矩陣乘法器帶寬要求太大的問(wèn)題。

        表4 單輸出線性脈動(dòng)陣列和并行矩陣乘法器對(duì)比

        5 多輸出線性脈動(dòng)陣列性能分析

        當(dāng)結(jié)合具體CNN模型(如Alexnet)進(jìn)行分析時(shí),卷積核矩陣以及輸入特征圖矩陣太大,需要進(jìn)行分塊操作。文獻(xiàn)[11]的單列并行矩陣乘法器用于Alexnet卷積加速時(shí)采用了448(14×32)個(gè)PE,為更好地進(jìn)行理論上的對(duì)比,本文也采用14個(gè)并行的線性收縮陣列,每個(gè)有32個(gè)PE。為了有直觀上的認(rèn)識(shí),把Alexnet各卷積層矩陣分塊為大小為32×32的小矩陣后的情況列舉出來(lái)以方便后面的分析,具體如表5所示。

        表5 Alexnet各卷積層矩陣分塊

        分塊后一個(gè)很重要的想法是進(jìn)一步復(fù)用和并行流水線。14個(gè)并行的線性脈動(dòng)陣列可以同時(shí)進(jìn)行矩陣乘法計(jì)算,分塊矩陣乘法有以下2種(如圖11所示):第一種是為了在乘法完成后方便進(jìn)行相加;第二種是為了實(shí)現(xiàn)對(duì)分塊矩陣的復(fù)用,設(shè)置多級(jí)緩存可以進(jìn)一步減少數(shù)據(jù)搬移量。

        表6 多輸出線性脈動(dòng)陣列和并行矩陣乘法器存取操作類別和存取操作次數(shù)對(duì)比

        表7 改進(jìn)的線性脈動(dòng)陣列和并行矩陣乘法器特點(diǎn)

        相比單輸出線性脈動(dòng)陣列,多輸出線性脈動(dòng)陣列的最大優(yōu)點(diǎn)是周期數(shù)大幅減少。相比并行矩陣乘法器,該方式仍然具有帶寬的優(yōu)勢(shì)。具體應(yīng)用場(chǎng)景方面,由于線性脈動(dòng)陣列能利用輸入中全部稀疏性(、中任意一者的稀疏性都能利用),對(duì)于像文獻(xiàn)[19]中剪枝技術(shù)應(yīng)用后帶來(lái)的卷積核稀疏性,此時(shí)線性脈沖陣列的優(yōu)勢(shì)明顯大于并行矩陣乘法器(并行矩陣乘法器只能利用某一方輸入中稀疏性)。

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

        本文針對(duì)CNN計(jì)算稀疏性的特點(diǎn)以及文獻(xiàn)[11]所述的傳統(tǒng)并行矩陣乘法器用于CNN加速的局限性,對(duì)文獻(xiàn)[13-14]的線性脈動(dòng)陣列提出了2種改進(jìn)——單輸出以及多輸出線性脈動(dòng)陣列,用于CNN嵌入式端的加速。文獻(xiàn)[11]提出的并行矩陣乘法器直接作用于CNN加速時(shí)所需帶寬太大,而線性脈動(dòng)陣列正好能彌補(bǔ)該缺陷。單輸出線性脈動(dòng)陣列和并行矩陣乘法器對(duì)比有耗能以及I/O端口少的優(yōu)勢(shì),但計(jì)算周期卻是2倍的關(guān)系,所以本文進(jìn)一步改進(jìn)線性脈動(dòng)陣列,提出了多輸出線性脈動(dòng)陣列。對(duì)比來(lái)看,多輸出方式的周期及I/O需求介于兩者之間,很好地解決了前兩者的突出缺陷問(wèn)題,可行性最高。本文所進(jìn)行的對(duì)比分析只是理論上說(shuō)明,如何最佳組合以及最充分利用資源并實(shí)現(xiàn)是下一步的工作。

        [1] HAN S, MAO H, DALLY W J. Deep compression: compressing deep neural networks with pruning, trained quantization and huffman coding[J]. Fiber, 2015, 56(4): 3-7.

        [2] QIU J, WANG J, YAO S, et al. Going deeper with embedded FPGA platform for convolutional neural network[C]// International Symposium on Field-Programmable Gate Arrays. 2016: 26-35.

        [3] SABOUR S, FROSST N, HINTON G E. Dynamic routing between capsules[C]//Annual Conference on Neural Information Processing Systems. 2017.

        [4] HAN S, LIU X, MAO H, et al. EIE: efficient inference engine on compressed deep neural network[J]. ACM Sigarch Computer Architecture News, 2016, 44(3): 243-254.

        [5] CHEN W, WILSON J, TYREE S, et al. Compressing neural networks with the hashing trick[C]//International Conference on Machine Learning. 2015: 2285-2294.

        [6] MA Y, CAO Y, VRUDHULA S, et al. Optimizing loop operation and dataflow in FPGA acceleration of deep convolutional neural networks[C]//International Symposium on Field-Programmable Gate Arrays. 2017:45-54.

        [7] LI N, TAKAKI S, TOMIOKAY Y, et al. A multistage dataflow implementation of a deep convolutional neural network based on FPGA for high-speed object recognition[C]//2016 IEEE Southwest Symposium on Image Analysis and Interpretation. 2016: 165-168.

        [8] SUDA N, CHANDRA V, DASIKA G, et al. Throughput-optimized openCL-based FPGA accelerator for large-scale convolutional neural networks[C]// International Symposium on Field-Programmable Gate Arrays. 2016: 16-25.

        [9] XIAO Q, LIANG Y, LU L, et al. Exploring heterogeneous algorithms for accelerating deep convolutional neural networks on FPGAs[C]//The 54th Annual Design Automation Conference. 2017: 62-67.

        [10] CHEN Y H, KRISHNA T, EMER J S, et al. Eyeriss: an energy-efficient reconfigurable accelerator for deep convolutional neural networks[J]. IEEE Journal of Solid-State Circuits, 2017, 52(1): 127-138.

        [11] 劉勤讓, 劉崇陽(yáng). 利用參數(shù)稀疏性的卷積神經(jīng)網(wǎng)絡(luò)計(jì)算優(yōu)化及其FPGA加速器設(shè)計(jì)[J]. 電子與信息學(xué)報(bào), 2018, 40(6): 1368-1374.LIU Q R, LIU C Y. Calculation optimization for convolutional neural networks and FPGA-based accelerator design using the parameters sparsity[J]. JEIT, 2018, 40(6): 1368-1374.

        [12] LIU X, HAN S, MAO H, et al. Efficient sparse-winograd convolutional neural networks[C]//International Conference on Learning Representations. 2017.

        [13] JANG J W, CHOI S B, PRASANNA V K. Energy-and time-efficient matrix multiplication on FPGAs[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2005, 13(11): 1305-1319.

        [14] MATAM K K, LE H, PRASANNA V K. Energy efficient architecture for matrix multiplication on FPGAs[C]//International Conference on Field Programmable Logic and Applications. 2013:1-4.

        [15] JIA Y, SHELHAMER E, DONAHUE J, et al. Caffe: convolutional architecture for fast feature embedding[C]//The 22nd ACM International Conference on Multimedia. 2014: 675-678.

        [16] JIA Y Q. Optimzing conv in caffe[R].

        [17] MOONS B, DE BRABANDERE B, VAN GOOL L, et al. Energy-efficient convnets through approximate computing[C]// Applications of Computer Vision. 2016: 1-8.

        [18] 田翔, 周凡, 陳耀武, 等. 基于FPGA的實(shí)時(shí)雙精度浮點(diǎn)矩陣乘法器設(shè)計(jì)[J]. 浙江大學(xué)學(xué)報(bào)(工學(xué)版), 2008, 42(9):1611-1615. TIAN X, ZHOU F, CHEN Y W, et al. Design of field programmable gate array based real-time double-precision floating-point matrix multiplier[J]. Journal of Zhejiang University (Engineering Science), 2008, 42(9):1611-1615.

        [19] HAN S, POOL J, TRAN J, et al. Learning both weights and connections for efficient neural network[C]//Annual Conference on Neural Information Processing Systems. 2015: 1135-1143.

        [20] LAI B C C, LIN J L. Efficient designs of multi-ported memory on FPGA[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2017, 25(1): 139-150.

        [21] CHEN J, LI J. The research of peer-to-peer network security[C]//The International Conference on Information Computing and Automation. 2015: 590-592.

        Based on linear systolic array for convolutional neural network’s calculation optimization and performance analysis

        LIU Qinrang, LIU Chongyang, ZHOU Jun, WANG Xiaolong

        (National Digital Switching System Engineering and Technological R&D Center, Zhengzhou 450002, China)

        Concerning the issue that the convolutional neural network (CNN) accelerator design on most FPGA ends fails to effectively use the sparsity and considering both bandwidth and energy consumption, two improved CNN calculation optimization strategies based on linear systolic array architecture are proposed. Firstly, convolution is transformed into matrix multiplication to take advantage of sparsity. Secondly, in order to solve the problem of large I/O demand in traditional parallel matrix multiplier, linear systolic array is used to improve the design. Finally, a CNN acceleration comparative analysis of the advantages and disadvantages between parallel matrix multiplier and two improved linear systolic arrays is presented. Theoretical proof and analysis show that compared with the parallel matrix multiplier, the two improved linear systolic arrays make full use of sparsity, and have the advantages of less energy consumption and less I/O bandwidth occupation.

        linear systolic array, convolutional neural network, sparsity, I/O bandwidth, performance analysis

        TP183

        A

        10.11959/j.issn.2096-109x.2018100

        2018-08-10;

        2018-10-29

        劉崇陽(yáng),zmylmh1@163.com

        國(guó)家科技重大專項(xiàng)基金資助項(xiàng)目(No.2016ZX01012101);國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61572520);國(guó)家自然科學(xué)基金創(chuàng)新研究群體資助項(xiàng)目(No.61521003)

        The National Science Technology Major Project of China (No.2016ZX01012101), The National Natural Science Foundation of China (No.61572520), The National Natural Science Foundation Innovation Group Project of China (No.61521003)

        劉勤讓(1975-),男,河南睢縣人,國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心研究員,主要研究方向?yàn)閷拵畔⒕W(wǎng)絡(luò)、片上網(wǎng)絡(luò)設(shè)計(jì)。

        劉崇陽(yáng)(1994-),男,湖北宜昌人,國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心碩士生,主要研究方向?yàn)槿斯ぶ悄?、深度學(xué)習(xí)。

        周?。?979-),男,湖北黃岡人,國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心講師,主要研究方向?yàn)樾酒O(shè)計(jì)、寬帶信息處理。

        王孝龍(1993-),男,河南民權(quán)人,國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心碩士生,主要研究方向?yàn)閷拵畔⒕W(wǎng)絡(luò)、協(xié)議解析。

        猜你喜歡
        利用分析
        利用min{a,b}的積分表示解決一類絕對(duì)值不等式
        利用倒推破難點(diǎn)
        隱蔽失效適航要求符合性驗(yàn)證分析
        利用一半進(jìn)行移多補(bǔ)少
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        利用數(shù)的分解來(lái)思考
        Roommate is necessary when far away from home
        利用
        電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢(shì)分析
        中西醫(yī)結(jié)合治療抑郁癥100例分析
        中日韩欧美在线观看| 婷婷色香五月综合缴缴情| 亚洲免费网站观看视频| 亚洲综合欧美在线| 日本午夜一区二区视频| 在线观看 国产一区二区三区| 天天爽夜夜爱| 久久aⅴ无码一区二区三区| 手机免费日韩中文字幕| 校园春色日韩高清一区二区| 中文字幕一区日韩精品| 美女胸又www又黄的网站| 大白屁股流白浆一区二区三区| 国产主播性色av福利精品一区| 久久久噜噜噜久久| 久久精品日韩av无码| 亚洲色图在线视频免费观看| 国产91成人精品高潮综合久久 | 毛片免费在线观看网址| 日本福利视频免费久久久| 国产一区二区三区仙踪林| 熟女精品视频一区二区三区| 国产精品爆乳在线播放| 天堂av一区二区麻豆| 精品一区二区三区在线视频| 中日韩精品视频在线观看| 精品免费一区二区三区在| 人妻系列中文字幕av| 欧美性猛交xxxx免费看蜜桃| 中国精学生妹品射精久久| 台湾佬中文偷拍亚洲综合| 手机在线免费av资源网| 国产精品_国产精品_k频道w| 亚洲国产成人精品91久久久| 中文字幕日韩精品人妻久久久| 精品伊人久久大线蕉色首页| 久久精品国产亚洲av成人| 一区二区亚洲 av免费| 日韩亚洲精品中文字幕在线观看| 国产人妻精品一区二区三区| 久久青青草原国产精品最新片|