丁曉彤 徐佩 任鵬舉
關(guān)鍵詞:???? ?智能化; 目標(biāo)識(shí)別; 卷積神經(jīng)網(wǎng)絡(luò); FPGA; 武器裝備
中圖分類號(hào):??? ???TJ760.1; TP18 ??文獻(xiàn)標(biāo)識(shí)碼:??? ?A? 文章編號(hào):??? ??1673-5048(2019)02-0015-06
0 引 ?言
卷積神經(jīng)網(wǎng)絡(luò)算法是一種高效識(shí)別分類算法, 起源于1962年, Hubel和Wiesel在研究貓視覺(jué)皮層細(xì)胞時(shí)發(fā)現(xiàn)其獨(dú)特的網(wǎng)絡(luò)結(jié)構(gòu), 提出了感知野(Receptive Field)的概念。 1984年日本學(xué)者Fukushima基于感知野的概念提出了神經(jīng)認(rèn)知機(jī)(Neocognitron), 可以認(rèn)為是第一個(gè)卷積神經(jīng)網(wǎng)絡(luò)[1]。 2012年, Alex Krizhevsky提出了一種卷積神經(jīng)網(wǎng)絡(luò)算法結(jié)構(gòu)Alex_Net, 在大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)(LSVRC)分類賽上取得了驚人的成績(jī), 開啟了卷積神經(jīng)網(wǎng)絡(luò)的研究熱潮[2]。 作為人工智能領(lǐng)域機(jī)器學(xué)習(xí)分支中的重要算法, 卷積神經(jīng)網(wǎng)絡(luò)近年來(lái)已經(jīng)在多媒體與智能產(chǎn)業(yè)中占據(jù)優(yōu)勢(shì)地位, 在圖像識(shí)別、 目標(biāo)分類等方面表現(xiàn)優(yōu)異。
在軍事上, 隨著戰(zhàn)場(chǎng)的復(fù)雜態(tài)勢(shì)逐步升級(jí), 武器裝備需要提升其在復(fù)雜戰(zhàn)場(chǎng)環(huán)境下的精確目標(biāo)識(shí)別與抗干擾能力。 針對(duì)這個(gè)需求, 可以將卷積神經(jīng)網(wǎng)絡(luò)算法應(yīng)用于武器裝備, 利用其出色的目標(biāo)識(shí)別與分類能力提升武器裝備的性能, 促進(jìn)武器裝備智能化發(fā)展。 目前很多國(guó)家都在進(jìn)行智能武器研究, 美國(guó)研制的遠(yuǎn)程反艦導(dǎo)彈LRASM被稱為“人工智能導(dǎo)彈”, 具有末端虛假目標(biāo)剔除與高價(jià)值目標(biāo)識(shí)別鎖定的能力[3]; 挪威的NSM反艦導(dǎo)彈裝備有雙頻智能紅外成像導(dǎo)引頭, 能夠區(qū)分出中立目標(biāo)與敵方目標(biāo)[4]。 鎖定目標(biāo)與辨別敵我均可以通過(guò)卷積神經(jīng)網(wǎng)絡(luò)算法實(shí)現(xiàn), 可見卷積神經(jīng)網(wǎng)絡(luò)在軍事領(lǐng)域應(yīng)用的重要性與必要性。 考慮到武器裝備的體積、 功耗與實(shí)時(shí)性的要求, 傳統(tǒng)的CPU或GPU將很難滿足這些需求。 FPGA是一種現(xiàn)場(chǎng)可編程門陣列, 具有豐富的邏輯門資源, 以并行運(yùn)算為主, 采用硬件描述語(yǔ)言實(shí)現(xiàn), 具有低功耗、 高速、 高靈活性等優(yōu)勢(shì), 可以快速進(jìn)行硬件的功能驗(yàn)證和評(píng)估, 加快設(shè)計(jì)迭代速度, 是卷積神經(jīng)網(wǎng)絡(luò)算法在智能武器上實(shí)現(xiàn)的一種較好方式。
本文探討了一種基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì)方法, 并針對(duì)智能武器的低功耗需求提出該模型的優(yōu)化方式。
1 卷積神經(jīng)網(wǎng)絡(luò)
1.1 卷積神經(jīng)網(wǎng)絡(luò)算法基本原理
圖1所示為卷積神經(jīng)網(wǎng)絡(luò)算法流程示意圖, 從
左至右依次為網(wǎng)絡(luò)的輸入圖像、 卷積層、 池化層以及全連接層, 最終輸出的是若干分類結(jié)果。 ?卷積神經(jīng)網(wǎng)絡(luò)的輸入可以是圖像的像素, 而不用經(jīng)過(guò)其他操作, 因此, 在圖像處理領(lǐng)域運(yùn)用十分廣泛。
假設(shè)輸入圖像為單通道灰度圖像, 用P表示, 特征窗滑動(dòng)步長(zhǎng)為1, 對(duì)P進(jìn)行卷積操作, 每次卷積操作可表示為
f=bias + ∑m∑n ( pixelmn × weightmn)
式中: ?f 為該卷積層輸出圖像C上的一個(gè)像素值; bias為每個(gè)特征窗中特定的偏置值; m, n分別為特征窗的長(zhǎng)和寬。 卷積操作利用局部感知原理, 在保持像素空間位置信息的同時(shí)減少了參數(shù)的數(shù)量, 卷積后輸出圖像C, 作為池化層的輸入。 池化層又叫采樣層, 主要作用是將圖像進(jìn)行采樣、 壓縮和聚攏, 以減少后面網(wǎng)絡(luò)的計(jì)算量, 同時(shí)在一定程度上防止過(guò)擬合。 池化層一般有兩種方式實(shí)現(xiàn), 平均值池化與最大值池化, 如果選用的是2×2池化窗, 則池化后圖像大小為原來(lái)的1/4。 圖1中池化層的輸出用F表示, 將F中的像素按行展開為F1作為全連接層的輸入, 全連接層的輸出用F2表示, 即可作為分類結(jié)果。 F1與F2的節(jié)點(diǎn)之間兩兩互連, 是計(jì)算量最大、 參數(shù)最多的部分。
從上述過(guò)程可以看出, 卷積神經(jīng)網(wǎng)絡(luò)是一種前饋網(wǎng)絡(luò), 數(shù)據(jù)流向穩(wěn)定向前, 未形成環(huán)路。 卷積神經(jīng)網(wǎng)絡(luò)中參數(shù)的初始值需滿足高斯分布, 目前常用的訓(xùn)練過(guò)程采用反向傳播(BP)算法, 需要上萬(wàn)張訓(xùn)練圖像迭代更新。
1.2 卷積神經(jīng)網(wǎng)絡(luò)的經(jīng)典結(jié)構(gòu)
目前人工神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)多集中于軟件領(lǐng)域, 工程師們開源了一些卷積神經(jīng)網(wǎng)絡(luò)的軟件平臺(tái), 如Caffe, Tensorflow等, 這些平臺(tái)可以搭建不同結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)并完成訓(xùn)練與推理。 近年來(lái)新的網(wǎng)絡(luò)結(jié)構(gòu)層出不窮, 而大多數(shù)網(wǎng)絡(luò)都是在經(jīng)典網(wǎng)絡(luò)上改進(jìn)的, 一種經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是1986年由Partrick Haffner提出的LeNet-5, 圖2所示為L(zhǎng)eNet-5算法結(jié)構(gòu)圖[5], 包括兩層卷積層、 池化層和兩層全連接層。
2012年, Alex Krizhevsky提出的一個(gè)經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)算法結(jié)構(gòu)Alex_Net[2]。 該網(wǎng)絡(luò)結(jié)構(gòu)采用ImageNet數(shù)據(jù)集, 包括訓(xùn)練集1 281 167張圖片、 驗(yàn)證集50 000張圖片和100 000張測(cè)試圖片, 分別屬于1 000種不同類別。 由于ImageNet數(shù)據(jù)集中的圖像大小并不一致, Alex_Net在使用時(shí)先對(duì)輸入圖像進(jìn)行壓縮操作使其固定分辨率為256×256, 又對(duì)該圖像進(jìn)行預(yù)處理使其成為224×224大小作為網(wǎng)絡(luò)的輸入。 圖3所示為Alex_Net的體系結(jié)構(gòu), 包括八層結(jié)構(gòu)(五層卷積層和三層全連接層)。
2 卷積神經(jīng)網(wǎng)絡(luò)模型的FPGA設(shè)計(jì)實(shí)現(xiàn)
卷積神經(jīng)網(wǎng)絡(luò)中的卷積層以局部感知、 權(quán)值共享的方式減少了參數(shù)數(shù)量, 是卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)所在, 映射在FPGA上需要保留這種權(quán)值共享的模式。 而全連接層參數(shù)量、 計(jì)算量較大, 用FPGA實(shí)現(xiàn)時(shí)占用的資源過(guò)多, 是后續(xù)優(yōu)化系統(tǒng)的關(guān)鍵部分。 由于不同網(wǎng)絡(luò)結(jié)構(gòu)中輸入圖像大小、 卷積窗大小、 個(gè)數(shù)等均有不同, 本設(shè)計(jì)是一種基于FPGA的可重構(gòu)、 可配置的卷積神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì), 根據(jù)配置參數(shù)的不同完成不同卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在FPGA上的映射。
2.1 卷積神經(jīng)網(wǎng)絡(luò)模型的設(shè)計(jì)實(shí)現(xiàn)
設(shè)計(jì)的基本思路是依據(jù)卷積神經(jīng)網(wǎng)絡(luò)算法的功能層設(shè)計(jì)每層對(duì)應(yīng)的基礎(chǔ)模塊, 通過(guò)配置參數(shù)將這些基礎(chǔ)模塊例化組合, 實(shí)現(xiàn)各個(gè)功能層的功能。 圖4為一個(gè)基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)模型各層基礎(chǔ)模塊連接圖, C為卷積層基礎(chǔ)模塊, P為池化層基礎(chǔ)模塊, F為全連接層基礎(chǔ)模塊, 圖中模型為兩層卷積層和一層全連接層, 可通過(guò)配置參數(shù)調(diào)整網(wǎng)絡(luò)層數(shù)及每層基礎(chǔ)模塊個(gè)數(shù)。
卷積層基礎(chǔ)模塊的設(shè)計(jì)受2016年在ISSCC和ISCA兩個(gè)會(huì)議上廣泛好評(píng)的Eyeriss[6]設(shè)計(jì)的啟發(fā), 該設(shè)計(jì)的巧妙之處在于對(duì)數(shù)據(jù)流的控制, 圖5所示為一個(gè)卷積層基礎(chǔ)模塊, 由處理單元(PE)陣列組成, PE實(shí)際上是一個(gè)乘加器, 每行PE橫向自左向右接收特征窗中的一行特征值, 斜向自下而上接收輸入圖像的像素值, 每個(gè)PE完成k組乘加運(yùn)算, 將結(jié)果傳入同列的上層PE中相加, 每列累加后的結(jié)果由第一層PE輸出為部分和(Psum), 對(duì)應(yīng)卷積操作后輸出的一個(gè)像素。 該設(shè)計(jì)將數(shù)據(jù)與權(quán)重互配合輸入PE, 并行計(jì)算多次滑動(dòng)卷積結(jié)果。 本設(shè)計(jì)也采取了這種數(shù)據(jù)流控制方式, 但是區(qū)別在于每列PE單獨(dú)采用一個(gè)加法器得到Psum, ?節(jié)省了加法器個(gè)數(shù), 假設(shè)陣列每列由k個(gè)PE組成,則完成一次運(yùn)算較Eyeriss設(shè)計(jì)節(jié)省[(k-1)- k ]個(gè)時(shí)鐘周期。 每個(gè)卷積層基礎(chǔ)模塊C中存儲(chǔ)一個(gè)特征窗的所有參數(shù), 同一幅圖像數(shù)據(jù)流同時(shí)
送入本層所有C中, 與C中存儲(chǔ)的特征參數(shù)做卷積操作, 由于多個(gè)特征窗對(duì)同一幅圖像的卷積操作互不影響, 故采用并行設(shè)計(jì)完成。
池化層基礎(chǔ)模塊中設(shè)計(jì)兩種計(jì)算方式, 可根據(jù)配置選項(xiàng)激活兩個(gè)模塊: 取最大值模塊或求平均值模塊。 圖6所示為池化層基礎(chǔ)模塊內(nèi)部框圖, 取最大值操作由比較器組多次比較完成, 求平均值操作由輸入數(shù)據(jù)與常數(shù)乘加得到, 如求平均值操作的采樣窗大小為2×2, 則常數(shù)取1/4。
全連接層的特點(diǎn)是參數(shù)數(shù)目巨大, 在含有全連接層的模型中, 全連接層參數(shù)可以占到整個(gè)網(wǎng)絡(luò)參數(shù)的90%以上, 所以目前卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化的手段主要從全連接層入手。 全連接層設(shè)計(jì)思想與卷積層和池化層相同, 設(shè)計(jì)全連接層基本模塊, 其中輸入、 輸出端口個(gè)數(shù)和位寬均可以通過(guò)參數(shù) 進(jìn)行配置[7]。 ?圖7所示為全連接層基本模塊的內(nèi)
部結(jié)構(gòu), 包括存儲(chǔ)模塊、 基本列模塊與地址計(jì)數(shù)器模塊。 存儲(chǔ)模塊中兩個(gè)SRAM分別存有訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)權(quán)重值和偏置值, ?通過(guò)地址計(jì)數(shù)器模塊控制讀取。 ?基本列模塊中包含若干個(gè)計(jì)算單元,
進(jìn)行輸入數(shù)據(jù)與對(duì)應(yīng)權(quán)重與偏置值的乘加運(yùn)算。 每個(gè)全連接層基本模塊得到該全連接層的一個(gè)運(yùn)算結(jié)果, 由于全連接層的每個(gè)運(yùn)算結(jié)果都涉及該層所有的輸入數(shù)據(jù), 故從圖4中可以看到, 全連接層中每個(gè)基礎(chǔ)模塊F的輸入都來(lái)自所有池化層基礎(chǔ)模塊P, 通過(guò)數(shù)據(jù)流控制確保每個(gè)全連接層基礎(chǔ)模塊都能接收到上層所有輸出數(shù)據(jù)。
2.2 卷積神經(jīng)網(wǎng)絡(luò)模型的設(shè)計(jì)優(yōu)化
基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)主要完成正向推理過(guò)程, 片上存儲(chǔ)器存有大量訓(xùn)練完成的參數(shù)。 隨著卷積神經(jīng)網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大, 參數(shù)數(shù)目成倍增加, 運(yùn)算操作也隨之增加, 圖8所示為統(tǒng)計(jì)的多種深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)隨著層數(shù)增加的參數(shù)數(shù)目與操作數(shù)目的對(duì)比圖[8]。 實(shí)現(xiàn)較大規(guī)模的卷積神經(jīng)網(wǎng)絡(luò)對(duì)于FPGA有限的存儲(chǔ)與邏輯資源來(lái)說(shuō)是巨大的挑戰(zhàn)。 為了解決這個(gè)問(wèn)題, 可以嘗試多種優(yōu)化方式[9]。
首先, 在網(wǎng)絡(luò)準(zhǔn)確率變化不大的情況下, 可以通過(guò)降低參數(shù)精度的方式減少參數(shù)占用的存儲(chǔ)資源。 軟件中訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)均采用浮點(diǎn)型參數(shù), 而在FPGA中, 做浮點(diǎn)運(yùn)算比做定點(diǎn)運(yùn)算消耗更多的硬件資源與功耗, 可將卷積神經(jīng)網(wǎng)絡(luò)算法中的浮點(diǎn)型參數(shù)轉(zhuǎn)化為定點(diǎn)型參數(shù)。 中科院計(jì)算所在文獻(xiàn)[10]中統(tǒng)計(jì)過(guò)卷積神經(jīng)網(wǎng)絡(luò)分別采用浮點(diǎn)型與定點(diǎn)型參數(shù)時(shí)對(duì)MNIST手寫數(shù)字庫(kù)的識(shí)別錯(cuò)誤率, 表1所示為定點(diǎn)小數(shù)運(yùn)算對(duì)MNIST測(cè)試集錯(cuò)誤率的影響, 第一行為對(duì)照行, 從表中可以得知若訓(xùn)練時(shí)的數(shù)據(jù)保持浮點(diǎn)型, 測(cè)試時(shí)的數(shù)據(jù)為定點(diǎn)16位和定點(diǎn)32位時(shí)錯(cuò)誤率并無(wú)變化, 故可將FPGA中存儲(chǔ)的數(shù)據(jù)更換為16位定點(diǎn)型[11]。 當(dāng)網(wǎng)絡(luò)模型確定后, 可以在定點(diǎn)型參數(shù)的基礎(chǔ)上繼續(xù)壓縮數(shù)據(jù)位寬來(lái)觀察網(wǎng)絡(luò)最終的正確率變化, 由此選擇最適合網(wǎng)絡(luò)模型的參數(shù)位寬。
除了壓縮參數(shù)位寬降低精度之外, 還可以通過(guò)增加參數(shù)“0”值的比例, 選擇性地屏蔽乘法運(yùn)算, 優(yōu)化資源配置, 從而減少FPGA運(yùn)行功耗。 圖9所示為一個(gè)小型卷積神經(jīng)網(wǎng)絡(luò)模型, 包括一層卷積池化層與兩層全連接層, 在對(duì)MNIST數(shù)據(jù)庫(kù)訓(xùn)練完成后, 得到網(wǎng)絡(luò)中所有參數(shù)的密度分布函數(shù)圖如圖10所示, 圖中顯示幾乎所有參數(shù)都在“0”值附近, 如果將“0”值鄰域的值近似取“0”, 即可大大提高網(wǎng)絡(luò)參數(shù)中“0”值比例。
卷積神經(jīng)網(wǎng)絡(luò)中常用的激活函數(shù)ReLu也有相似功能, 數(shù)據(jù)經(jīng)過(guò)ReLu函數(shù)后小于“0”的參數(shù)做歸零處理, 因此會(huì)得到大量的“0”值參與后續(xù)計(jì)算。 當(dāng)數(shù)據(jù)和參數(shù)進(jìn)行乘法操作之前, FPGA先判定數(shù)據(jù)或參數(shù)是否為“0”, 若為“0”, 則旁路乘法器直接輸出“0”值結(jié)果。
3 仿真驗(yàn)證及硬件綜合
為了驗(yàn)證本設(shè)計(jì)的正確性, 基于Xilinx公司Virtex-7系列的XC7V2000TFLG1925芯片搭建如圖9所示的小型卷積神經(jīng)模型。 圖11所示為卷積層、 全連接層與網(wǎng)絡(luò)分類結(jié)果的輸出波形。
搭建的小型卷積神經(jīng)網(wǎng)絡(luò)中包含參數(shù)約29萬(wàn)個(gè), 按照2.2節(jié)中描述的優(yōu)化方式對(duì)整個(gè)網(wǎng)絡(luò)中的系數(shù)進(jìn)行優(yōu)化, 建立旁路乘法器, 將所有參數(shù)由16 bit半精度浮點(diǎn)型壓縮為8 bit定點(diǎn)型, 網(wǎng)絡(luò)準(zhǔn)確度在原先97.4%的基礎(chǔ)上損失約1.8%。 綜合后統(tǒng)計(jì)資源與功耗, 優(yōu)化前后整個(gè)網(wǎng)絡(luò)的資源占有率對(duì)比如圖12所示, 靜態(tài)功耗與動(dòng)態(tài)功耗比如圖13所示。 可以看到優(yōu)化后, LUT資源減少約34.9%, BRAM資源減少約38.7%, 靜態(tài)功耗降低約15.7%, 動(dòng)態(tài)功耗降低約60.9%。
4 結(jié) ?論
本文構(gòu)建一種基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)
模型設(shè)計(jì)方法, 并提出了優(yōu)化方案。 在Xilinx公司Virtex-7系列的XC7V2000TFLG1925芯片上構(gòu)建了一個(gè)小型卷積神經(jīng)網(wǎng)絡(luò), 通過(guò)波形仿真驗(yàn)證了其功能的正確性, 進(jìn)行綜合后比較了優(yōu)化前后的資源及能耗情況。 結(jié)果表明, 可以使用該設(shè)計(jì)方法在FPGA上實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò), 且優(yōu)化方案可行, 在降低硬件資源占有率的同時(shí)降低了靜態(tài)與動(dòng)態(tài)功耗, 適用于便攜式智能武器裝備。
但是, 智能武器裝備的發(fā)展需求在不斷更新, 卷積神經(jīng)網(wǎng)絡(luò)的算法優(yōu)化也在不斷改進(jìn), 目前一些表現(xiàn)優(yōu)異的算法在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了特殊功能層, 輕量化網(wǎng)絡(luò)也在不斷發(fā)展, 所以卷積神經(jīng)網(wǎng)絡(luò)在FPGA上的映射方式仍需進(jìn)一步研究。
參考文獻(xiàn):
[1] ?馬曉平, 趙良玉. 紅外導(dǎo)引頭關(guān)鍵技術(shù)國(guó)內(nèi)外研究現(xiàn)狀綜述[J]. 航空兵器, 2018(3): 3-10.
Ma Xiaoping, Zhao Liangyu. An Overview of Infrared Seeker Key Technologies at Home and Abroad[J]. Aero Weaponry, 2018(3): 3-10. (in Chinese)
[2] ?Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Neural Networks[C]∥ Proceedings of the 25th International Conference on Neural Information Processing Systems, ?2012: 1097-1105.
[3] ?胡仕友, 趙英海. 導(dǎo)彈武器智能精確制導(dǎo)技術(shù)發(fā)展分析[J]. 戰(zhàn)術(shù)導(dǎo)彈技術(shù), 2017(2): 1-6.
Hu Shiyou, Zhao Yinghai. Analysis on the Development of Intelligent Precision Guidance Technology for Missile Weapons[J]. Tactical Missile Technology, 2017(2): 1-6. (in Chinese)
[4] ?熊俊輝, 舒孟炯, 秦建飛, 等. 導(dǎo)彈智能化技術(shù)及作戰(zhàn)模式探討[J]. 飛航導(dǎo)彈, 2017(4): 3-5.
Xiong Junhui, Shu Mengjiong, Qin Jianfei, et al. Discussion on Missile Intelligent Technology and Operational Mode [J]. Aerodynamic Missile Journal, 2017(4): 3-5. (in Chinese)
[5] ?Lécun Y, Bottou L, Bengio Y, et al. GradientBased Learning Applied to Document Recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[6] ?Chen Y H, Emer J, Sze V. Eyeriss: A Spatial Architecture for EnergyEfficient Dataflow for Convolutional Neural Networks[C]∥ 43rd ACM/IEEE International Symposium on Computer Architecture, Seoul, 2016: 367-379.
[7] ?丁曉彤. 基于FPGA的可配置神經(jīng)網(wǎng)絡(luò)全連接層設(shè)計(jì)及參數(shù)壓縮[D]. 西安: 西安交通大學(xué), 2017: 23-31.
Ding Xiaotong. Full Connection Layer Design and Parameters Compression for FPGABased Reconfigurable Convolutional Neural Network [D]. Xian: Xian Jiaotong University, 2017: 23-31. (in Chinese)
[8] ?Shin D, Lee J M, Lee J S, et al. 14.2 DNPU: An 8.1 TOPS/W Reconfigurable CNNRNN Processor for GeneralPurpose Deep Neural Networks[C]∥IEEE International SolidState Circuits Conference, San Francisco, 2017: 240 -241.
[9] ?Cong J, Xiao B J. Minimizing Computation in Convolutional Neural Networks[C]∥ 24th International Conference on Artificial Neural Networks, Hamburg, ?2014: 281- 290.
[10] ?Chen Tianshi, Du Zidong, Sun Ninghui, et al. DianNao: A SmallFootprint HighThroughput Accelerator for Ubiquitous MachineLearning[J]. ACM SIGPLAN Notices, 2014, 49(4): 269-284.
[11] ?Lin D D, Talathi S S, Annapureddy V S. Fixed Point Quantization of Deep Convolutional Networks[C]∥Proceedings of the 33rd International Conference on Machine Learning, 2016, 48: 2849-2858.