人工智能芯片設(shè)計(jì) 課件 周巍 第4-7章-人工智能與深度學(xué)習(xí) -人工智能芯片架構(gòu)設(shè)計(jì)_第1頁(yè)
人工智能芯片設(shè)計(jì) 課件 周巍 第4-7章-人工智能與深度學(xué)習(xí) -人工智能芯片架構(gòu)設(shè)計(jì)_第2頁(yè)
人工智能芯片設(shè)計(jì) 課件 周巍 第4-7章-人工智能與深度學(xué)習(xí) -人工智能芯片架構(gòu)設(shè)計(jì)_第3頁(yè)
人工智能芯片設(shè)計(jì) 課件 周巍 第4-7章-人工智能與深度學(xué)習(xí) -人工智能芯片架構(gòu)設(shè)計(jì)_第4頁(yè)
人工智能芯片設(shè)計(jì) 課件 周巍 第4-7章-人工智能與深度學(xué)習(xí) -人工智能芯片架構(gòu)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩162頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第四章:人工智能與深度學(xué)習(xí)人工智能芯片設(shè)計(jì)ArtificialIntelligenceChipDesign2人工智能2ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning人工智能人工智能(ArtificialIntelligence,簡(jiǎn)稱AI)是一門研究如何使機(jī)器能夠模擬和擴(kuò)展人類思維方式與智能行為的科學(xué)。涵蓋了機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、知識(shí)表示與推理、自然語(yǔ)言處理、計(jì)算機(jī)視覺(jué)、專家系統(tǒng)等眾多領(lǐng)域的研究。33ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning發(fā)展歷程44ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning到了20世紀(jì)90年代,研究者提出了一系列機(jī)器學(xué)習(xí)算法。21世紀(jì)初,GeoffreyHinto等人正式提出了深度學(xué)習(xí)這一概念。55ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning人工智能演化的其他方向強(qiáng)化學(xué)習(xí)聯(lián)邦學(xué)習(xí)可解釋人工智能多模態(tài)人工智能可持續(xù)和倫理人工智能6深度學(xué)習(xí)6ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning深度學(xué)習(xí)深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一個(gè)重要分支。深度學(xué)習(xí)主要使用神經(jīng)網(wǎng)絡(luò)解決問(wèn)題,由于其表現(xiàn)相比于傳統(tǒng)算法有很大的提升,深度學(xué)習(xí)逐漸成為主流。77ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning深度學(xué)習(xí)的發(fā)展歷程深度學(xué)習(xí)起源于1943年。在1949年,赫布在他的論文中提出了赫布學(xué)習(xí)規(guī)則。1958年,在前面的算法基礎(chǔ)之上,美國(guó)一名科學(xué)家提出了感知器學(xué)習(xí)。20世界90年代,其發(fā)展進(jìn)入了瓶頸期。2006年,Hinton提出了解決方案。2012年,在AlexNet使用ReLU作為激活函數(shù),解決了神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中梯度消失的問(wèn)題。8卷積神經(jīng)網(wǎng)絡(luò)8ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning

MP神經(jīng)元結(jié)構(gòu)模型 99ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning算法特征局部特征連接相比于全連接網(wǎng)絡(luò),局部連接網(wǎng)絡(luò)權(quán)重?cái)?shù)量和計(jì)算量也獲得了成倍的降低全連接局部連接1010ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning二維圖像中的卷積神經(jīng)網(wǎng)絡(luò)局部連接1111ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning權(quán)值共享下圖為3×3的卷積核在5×5的輸入特征圖上滑動(dòng)進(jìn)行卷積運(yùn)算。當(dāng)卷積核滑動(dòng)到輸入特征圖的其他位置時(shí),連接權(quán)重保持不變,這種特性被稱為權(quán)值共享。二維卷積運(yùn)算過(guò)程1212ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning降采樣(池化)降采樣(池化)極大值池化(Maxpooling)平均值池化(Averagepooling)等等1313ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning降采樣(池化)圖中池化窗尺寸為2×2,步長(zhǎng)為2,通過(guò)池化操作,將左圖轉(zhuǎn)化為右圖表示。極大值池化(Maxpooling)過(guò)程1414ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning卷積神經(jīng)網(wǎng)絡(luò)的層級(jí)結(jié)構(gòu)卷積層激活函數(shù)層池化層dropout層分類器1515ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning卷積神經(jīng)網(wǎng)絡(luò)的層級(jí)結(jié)構(gòu)1616ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning卷積神經(jīng)網(wǎng)絡(luò)的加速運(yùn)算卷積神經(jīng)網(wǎng)絡(luò)的加速算法(1)網(wǎng)絡(luò)稀疏化網(wǎng)絡(luò)稀疏化處理可以顯著降低參數(shù)規(guī)模,下圖為一種典型的深度壓縮方法。1717ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning1818ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning

1919ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning

2020ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning

2121ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning(3)輕量級(jí)神經(jīng)網(wǎng)絡(luò)模型典型代表:MobileNet,ShuffleNet,ShuffleNetV2等2222ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning卷積神經(jīng)網(wǎng)絡(luò)硬件加速器Google公司針對(duì)神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的高性能加速運(yùn)算處理器TPU的體系結(jié)構(gòu)如圖所示:TPU體系結(jié)構(gòu)2323ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning卷積神經(jīng)網(wǎng)絡(luò)硬件加速器TPU的運(yùn)算核心是矩陣乘法單元。控制線路部分…………++++結(jié)束數(shù)據(jù)部分和矩陣乘法單元工作原理2424ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning卷積神經(jīng)網(wǎng)絡(luò)硬件加速器核心問(wèn)題是如何匹配計(jì)算吞吐量和FPGA平臺(tái)提供的內(nèi)存帶寬。加速器主要包括處理單元(Processingelement,PE)、片上緩存、片外存儲(chǔ)以及片上/片外交互單元組成。計(jì)算資源……處理單元處理單元-1處理單元處理單元-2處理單元處理單元-n互聯(lián)片上緩存緩沖區(qū)1緩沖區(qū)2片外存儲(chǔ)片上/片外交互單元2525ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning運(yùn)算引擎卷積神經(jīng)網(wǎng)絡(luò)硬件加速器基于數(shù)據(jù)間的關(guān)系可以確定出PE與緩存區(qū)的組織關(guān)系,如圖所示:2626ArtificialIntelligenceChipDesign,

Lecture

04:ArtificialIntelligenceAndDeepLearning提升卷積神經(jīng)網(wǎng)絡(luò)加速器的靈活性,通過(guò)提出三種指令(Ins):加載(LOAD)、存儲(chǔ)(SAVE)和計(jì)算(CALC)來(lái)指導(dǎo)加速器工作。加速器的系統(tǒng)架構(gòu)如圖所示:控制器片上輸入緩存片上輸出緩存處理單元

0處理單元1……加載計(jì)算存儲(chǔ)片外存儲(chǔ)片外存儲(chǔ)指令A(yù)ngel-Eye加速器系統(tǒng)架構(gòu)27謝謝第五章:人工智能芯片簡(jiǎn)介人工智能芯片設(shè)計(jì)ArtificialIntelligenceChipDesign29引言29ArtificialIntelligenceChipDesign,

Lecture

05:

IntroductionOfArtificialIntelligenceChips人工智能芯片的定義通常意義上的人工智能芯片指的是針對(duì)人工智能算法做了特殊加速設(shè)計(jì)的芯片。人工智能芯片的發(fā)展歷史3030ArtificialIntelligenceChipDesign,

Lecture

05:

IntroductionOfArtificialIntelligenceChips基于應(yīng)用領(lǐng)域的分類語(yǔ)音識(shí)別圖像識(shí)別自然語(yǔ)言處理推薦系統(tǒng)智能駕駛醫(yī)療健康。人工智能芯片的分類3131ArtificialIntelligenceChipDesign,

Lecture

05:

IntroductionOfArtificialIntelligenceChips基于計(jì)算架構(gòu)的分類AI芯片CPUGPUFPGAASIC芯片類型3232ArtificialIntelligenceChipDesign,

Lecture

05:

IntroductionOfArtificialIntelligenceChips計(jì)算機(jī)視覺(jué)方面的應(yīng)用人臉識(shí)別,圖像分類,視頻監(jiān)控,智能駕駛等。自然語(yǔ)言處理方面的應(yīng)用自然語(yǔ)言理解,自然語(yǔ)言生成,情感分析等。語(yǔ)音識(shí)別方面的應(yīng)用嵌入式系統(tǒng)方面的應(yīng)用醫(yī)療健康方面的應(yīng)用人工智能芯片的應(yīng)用3333ArtificialIntelligenceChipDesign,

Lecture

05:

IntroductionOfArtificialIntelligenceChips人工智能芯片的發(fā)展和應(yīng)用前景發(fā)展人工智能芯片的挑戰(zhàn)與機(jī)遇總結(jié)34謝謝第六章:人工智能芯片的數(shù)據(jù)流設(shè)計(jì)人工智能芯片設(shè)計(jì)ArtificialIntelligenceChipDesign6.1卷積神經(jīng)網(wǎng)絡(luò)模型分析36ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis近十余年間,卷積神經(jīng)網(wǎng)絡(luò)飛速發(fā)展,尤其是在計(jì)算機(jī)視覺(jué)領(lǐng)域,涌現(xiàn)出了一大批性能卓越的網(wǎng)絡(luò)模型,如AlexNet、VGGNet、GoogLeNet、ResNet等。在圖像分類識(shí)別這一基本任務(wù)中取得了遠(yuǎn)超傳統(tǒng)算法的準(zhǔn)確率。從表中可以看出,卷積神經(jīng)網(wǎng)絡(luò)的主要發(fā)展趨勢(shì)是深度上的增加,隨著網(wǎng)絡(luò)層數(shù)的增加,模型提取特征的能力增強(qiáng),最終表現(xiàn)為分類準(zhǔn)確率的大幅提升。6.1卷積神經(jīng)網(wǎng)絡(luò)模型分析37AlexNet是首次在大規(guī)模圖像數(shù)據(jù)集上進(jìn)行訓(xùn)練和測(cè)試的卷積神經(jīng)網(wǎng)絡(luò),于2012年ImageNet大賽上獲得了圖像分類項(xiàng)目的冠軍,其結(jié)構(gòu)如圖6-1所示。與LeNet非常相似,但網(wǎng)絡(luò)更深,有5個(gè)卷積層和3個(gè)全連接層,有11×11、5×5、3×3三種尺寸的卷積核在每個(gè)卷積層和全連接層后都使用ReLU

函數(shù)進(jìn)行激活處理訓(xùn)練過(guò)程中引入dropout來(lái)緩解過(guò)擬合,采取數(shù)據(jù)擴(kuò)充、SGD等方法提高學(xué)習(xí)的有效性圖6-1AlexNet模型結(jié)構(gòu)示意圖

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.1卷積神經(jīng)網(wǎng)絡(luò)模型分析38VGGNet由牛津大學(xué)的VisualGeometryGroup于2014年提出,為適應(yīng)不同場(chǎng)景,VGGNet包含6個(gè)不同的網(wǎng)絡(luò),深度從11到19不等,其中最常用的VGGNet-16,結(jié)構(gòu)如圖6-2所示。圖6-2VGGNet-16網(wǎng)絡(luò)結(jié)構(gòu)小尺寸的卷積核是VGGNet的一個(gè)重要特征,VGGNet沒(méi)有采用AlexNet中的大尺寸卷積核,如7×7、5×5的卷積核,而是通過(guò)采取小尺寸的卷積核、堆疊卷積子層來(lái)提升特征提取能力。卷積神經(jīng)網(wǎng)絡(luò)各層的時(shí)間復(fù)雜度(Time),即模型運(yùn)算次數(shù)可用式(6-1)表示:ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.1卷積神經(jīng)網(wǎng)絡(luò)模型分析39

(6-1)ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.1卷積神經(jīng)網(wǎng)絡(luò)模型分析40

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis問(wèn)題總結(jié)部署卷積神經(jīng)網(wǎng)絡(luò)的瓶頸主要由兩方面:龐大的參數(shù)規(guī)模需要大量的存儲(chǔ)空間,在運(yùn)算過(guò)程中需要將參數(shù)搬運(yùn)到處理器片上緩存,這對(duì)硬件平臺(tái)的傳輸帶寬要求極大;浮點(diǎn)運(yùn)算的復(fù)雜度要遠(yuǎn)高于定點(diǎn)運(yùn)算,反映在實(shí)際應(yīng)用中就是浮點(diǎn)運(yùn)算任務(wù)在處理器上運(yùn)行時(shí)的能量消耗和資源占用量要遠(yuǎn)超定點(diǎn)運(yùn)算。例如,通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),在FPGA中,1個(gè)16位的4階浮點(diǎn)乘法器要消耗2個(gè)DSP(數(shù)字信號(hào)處理器)、51個(gè)LUT(查找表)和95個(gè)FF(觸發(fā)器),最大工作頻率約為219MHz;而一個(gè)16位的定點(diǎn)乘法器僅需要1個(gè)DSP,且可以輕松達(dá)到300MHz的工作頻率。解決辦法使用基于塊浮點(diǎn)數(shù)的數(shù)據(jù)量化算法在基于塊浮點(diǎn)數(shù)的卷積神經(jīng)網(wǎng)絡(luò)中,復(fù)雜的浮點(diǎn)乘加運(yùn)算可用定點(diǎn)數(shù)運(yùn)算代替6.1卷積神經(jīng)網(wǎng)絡(luò)模型分析41ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.2塊浮點(diǎn)數(shù)設(shè)計(jì)42

圖6-3單精度浮點(diǎn)數(shù)結(jié)構(gòu)Exponent全零Exponent全1Mantissa全零0無(wú)窮大的數(shù)據(jù)Mantissa非零(NAN)ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis

6.2塊浮點(diǎn)數(shù)設(shè)計(jì)43ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis

446.2塊浮點(diǎn)數(shù)設(shè)計(jì)圖6-4半精度浮點(diǎn)數(shù)結(jié)構(gòu)ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.2塊浮點(diǎn)數(shù)設(shè)計(jì)456.2.2塊浮點(diǎn)數(shù)結(jié)構(gòu)設(shè)計(jì)基于塊浮點(diǎn)數(shù)(Block-Floating-Point,BFP)的卷積神經(jīng)網(wǎng)絡(luò)部署方案中,塊浮點(diǎn)數(shù)可看作是一種特殊的浮點(diǎn)數(shù)表示形式,基本結(jié)構(gòu)如圖6-5所示:塊浮點(diǎn)數(shù)讓一批數(shù)據(jù)共享同一個(gè)指數(shù)塊浮點(diǎn)數(shù)內(nèi)部保留有指數(shù)部分,所以擁有較高的數(shù)據(jù)表示動(dòng)態(tài)范圍,兩個(gè)BFP數(shù)據(jù)塊的計(jì)算復(fù)雜度降低到了定點(diǎn)數(shù)程度圖6-5塊浮點(diǎn)數(shù)結(jié)構(gòu)ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.2塊浮點(diǎn)數(shù)設(shè)計(jì)46

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.2塊浮點(diǎn)數(shù)設(shè)計(jì)47

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.2.3無(wú)偏差溢出數(shù)據(jù)處理塊浮點(diǎn)算法中的精度損失主要來(lái)自于浮點(diǎn)數(shù)與塊浮點(diǎn)數(shù)間的轉(zhuǎn)換,在尾數(shù)部分的移位操作過(guò)程中,即式(6-7),不可避免的會(huì)有一部分比特位無(wú)法完整保留下來(lái),這部分比特?cái)?shù)據(jù)稱為溢出數(shù)據(jù)。處理溢出數(shù)據(jù)的兩種常用方法:截?cái)嗖僮?,直接舍棄掉溢出?shù)據(jù),但會(huì)引入較大的向下偏差且會(huì)在卷積層間累積,最終產(chǎn)生明顯偏差舍入操作,只會(huì)引入高斯白噪聲,不存在明顯的偏差由于尾數(shù)位寬有限,所以浮點(diǎn)數(shù)能精確表達(dá)的數(shù)值也有限,在兩個(gè)相鄰的浮點(diǎn)數(shù)之間,一定有無(wú)數(shù)個(gè)不能用浮點(diǎn)數(shù)精確表達(dá)的實(shí)數(shù),IEEE754標(biāo)準(zhǔn)中,對(duì)于這些不能被精確表達(dá)的數(shù)字,用最接近它們?nèi)≈档母↑c(diǎn)數(shù)近似表示,即舍入。6.2塊浮點(diǎn)數(shù)設(shè)計(jì)48ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis一共有以下四種常見(jiàn)的舍入模式:表6-3以實(shí)例的形式展示了四種舍入方式的計(jì)算規(guī)則(僅保留整數(shù)部分),可以發(fā)現(xiàn)后三種模式都保持有向上或向下的偏差,容易在卷積神經(jīng)網(wǎng)絡(luò)中逐層累積,造成層間累積誤差,而RN模式則不會(huì),是一種無(wú)偏差的舍入模式。在RN模式下,會(huì)根據(jù)需要保留的最后一位的奇偶情況決定是進(jìn)位或是舍棄,以保證舍入后的數(shù)據(jù)為偶數(shù)。從統(tǒng)計(jì)意義上考慮,須保留的最后一位為奇數(shù)或偶數(shù)的概率相當(dāng),向下和向上的偏差相互抵消。6.2塊浮點(diǎn)數(shù)設(shè)計(jì)49RN:舍入到最近的可表示的值,當(dāng)有兩個(gè)最接近的可表示的值時(shí)首選偶數(shù)值RZ:向零的方向舍入RU:向正無(wú)窮大方向舍入RD:向負(fù)無(wú)窮大方向舍入ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis50ArtificialIntelligenceChipDesign,

Lecture

01:

Introduction6.3卷積神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)量化算法6.3.1輕量級(jí)塊劃分模式塊浮點(diǎn)通過(guò)共享塊指數(shù)和壓縮尾數(shù)位寬量化浮點(diǎn)數(shù),以降低卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)規(guī)模和計(jì)算復(fù)雜度。尾數(shù)向右移位導(dǎo)致部分?jǐn)?shù)據(jù)丟失,尤其對(duì)絕對(duì)值較小的數(shù)據(jù),這被稱為BFP量化誤差。量化誤差取決于數(shù)據(jù)塊大小、塊內(nèi)數(shù)據(jù)分布和尾數(shù)位寬。較小數(shù)據(jù)塊、均勻分布和更大尾數(shù)位寬能減少誤差,但會(huì)增加參數(shù)規(guī)模和計(jì)算復(fù)雜度,需平衡權(quán)衡。卷積矩陣化運(yùn)算

51ArtificialIntelligenceChipDesign,

Lecture

01:

Introduction表6-4顯示,等式(6-10)和(6-12)的BFP塊劃分方案涉及超過(guò)50176次塊格式化,且塊指數(shù)的存儲(chǔ)成本是等式(6-9)和(6-11)方案的數(shù)百倍。這種高成本在卷積神經(jīng)網(wǎng)絡(luò)的各隱藏層中普遍存在,因此代價(jià)過(guò)高,不符合減少參數(shù)規(guī)模和計(jì)算復(fù)雜度的目標(biāo)。為了評(píng)估這兩種塊格式化方案的精確度,基于ImageNet圖像分類數(shù)據(jù)集在VGGNet-16上進(jìn)行了測(cè)試。實(shí)驗(yàn)結(jié)果顯示,等式(6-11)的塊格式化方案相比等式(6-9),Top-1和Top-5準(zhǔn)確率分別高出1.59%和0.68%,因此最終選擇等式(6-11)方案。

6.3.2低比特塊浮點(diǎn)數(shù)設(shè)計(jì)文獻(xiàn)表明,定點(diǎn)運(yùn)算相比浮點(diǎn)運(yùn)算在能量和資源占用上更少,尤其是加操作,且降低數(shù)據(jù)位寬可減少硬件資源消耗。分析表明,5-bit的塊指數(shù)位寬與半精度浮點(diǎn)數(shù)一致,足夠滿足卷積網(wǎng)絡(luò)需求,而尾數(shù)位寬對(duì)參數(shù)規(guī)模、計(jì)算復(fù)雜度和表示精度影響更大。為選擇最短尾數(shù)位寬的塊浮點(diǎn)格式,基于Caffe平臺(tái)進(jìn)行了一系列實(shí)驗(yàn),測(cè)試VGGNet-16、GoogLeNet和ResNet-50三種經(jīng)典網(wǎng)絡(luò),使用ImageNet數(shù)據(jù)集對(duì)9組不同尾數(shù)位寬組合進(jìn)行評(píng)估。實(shí)驗(yàn)將輸入特征圖和權(quán)值進(jìn)行塊格式化,進(jìn)行矩陣乘法后輸出特征圖再轉(zhuǎn)化為浮點(diǎn)數(shù)。結(jié)果表明,當(dāng)尾數(shù)位寬為8時(shí),分類準(zhǔn)確率下降不超過(guò)0.12%,模型精度幾乎無(wú)損,特別是GoogLeNet在未重新訓(xùn)練下?lián)p失最小。6.3.3面向硬件加速器的塊浮點(diǎn)數(shù)據(jù)流結(jié)構(gòu)基于FPGA的加速器設(shè)計(jì)考慮并行計(jì)算,提出了簡(jiǎn)化計(jì)算、節(jié)省片上存儲(chǔ)和帶寬的塊浮點(diǎn)數(shù)據(jù)流結(jié)構(gòu)。卷積運(yùn)算數(shù)據(jù)包括輸入特征圖、權(quán)重和偏置項(xiàng)。權(quán)重可提前轉(zhuǎn)化為塊浮點(diǎn)格式存儲(chǔ),減少計(jì)算和存儲(chǔ)需求。偏置項(xiàng)根據(jù)輸入特征圖動(dòng)態(tài)轉(zhuǎn)化。6.3.4四階誤差分析模型第一階段

第二階段

第三階段

第四階段

6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法58卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算量和參數(shù)量主要來(lái)自卷積層和全連接層。鑒于卷積層和全連接層在結(jié)構(gòu)上區(qū)別,導(dǎo)致卷積層和全連接層的稀疏化工作上存在較大區(qū)別。因此,本節(jié)將對(duì)卷積神經(jīng)網(wǎng)絡(luò)的卷積層和全連接層分別進(jìn)行分析,并設(shè)計(jì)相應(yīng)的稀疏化方案,最終綜合卷積層和全連接層的稀疏化方案,實(shí)現(xiàn)對(duì)卷積神經(jīng)網(wǎng)絡(luò)的整體的參數(shù)壓縮和計(jì)算量削減工作。6.4.1卷積層稀疏化算法引入的掩碼層(MarkLayer):掩碼層其結(jié)構(gòu)如圖6-7所示,掩碼層在網(wǎng)絡(luò)結(jié)構(gòu)中首先是通過(guò)層參數(shù)大小起到篩選卷積層的卷積核的作用,在掩碼層完成篩選卷積核之后,卷積層就產(chǎn)生了稀疏化的效果。圖6-7掩碼層在卷積神經(jīng)網(wǎng)絡(luò)中作用ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis

6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法59ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法60

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis

6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法61ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法62

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法63

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法64

圖6-8掩碼層參數(shù)篩選卷積核示意圖ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis3.參數(shù)微調(diào)在完成整個(gè)網(wǎng)絡(luò)卷積層的卷積核篩選之后,掩碼層的參數(shù)分布如圖6-9所示。由于掩碼層的參數(shù)只是接近于0,這些卷積核的被剔除之后依然會(huì)對(duì)網(wǎng)絡(luò)的預(yù)測(cè)精度產(chǎn)生一定的影響。在大多數(shù)情況下,一般會(huì)在完成卷積核的稀疏化之后對(duì)網(wǎng)絡(luò)進(jìn)行甚于參數(shù)進(jìn)行微調(diào)。注:在大多數(shù)情況下,一般會(huì)在完成卷積核的稀疏化之后對(duì)網(wǎng)絡(luò)進(jìn)行參數(shù)微調(diào)。由于在稀疏化工作中使用稀疏化正則項(xiàng)進(jìn)行約束,使得參數(shù)產(chǎn)生約束效果,但參數(shù)微調(diào)的過(guò)程中,不需要剩余卷積核參數(shù)產(chǎn)生稀疏化效果。因此,在此處本章遵循原始網(wǎng)絡(luò)訓(xùn)練效果,使用原始網(wǎng)絡(luò)訓(xùn)練的正則化約束項(xiàng)。6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法65圖6-9掩碼層參數(shù)分布情況ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法66

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法67然而,一般情況下在卷積層提取的高層此特征圖像的數(shù)量較多和圖像尺寸較大,因此這樣導(dǎo)致最終的全連接層的參數(shù)比較多。全連接層部分參數(shù)占整體參數(shù)量的85%以上對(duì)于全連接層,其參數(shù)龐大的主要來(lái)源就是卷積層輸入輸出完全互連的情況下,參數(shù)就會(huì)出現(xiàn)較多參數(shù)量。但是對(duì)于所有的每一個(gè)輸出神經(jīng)元,不是每一個(gè)輸入高層的特征存在較多信息。降低全連接層之間的互連數(shù)量就成為降低全連接層參數(shù)量的一種重要的方法。ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法68

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法69計(jì)算相關(guān)系數(shù)過(guò)程中,采用的50000個(gè)樣本作為樣本數(shù)據(jù)。采樣后計(jì)算的全連接層的相關(guān)系數(shù)分布在-1和1之間,其中-1表示負(fù)相關(guān),1表示。相關(guān),0表示不相關(guān)。圖6-10表示全連接層fc7的相關(guān)系數(shù)分布情況。圖6-10全連接層fc7的相關(guān)系數(shù)分布圖從圖中可以明顯發(fā)現(xiàn),全連接層的輸入輸出之間的相關(guān)系數(shù)大多集中的0附近,這就表明全連接層之間的輸入輸出數(shù)據(jù)大多數(shù)是一種弱相關(guān)的關(guān)系。本章將對(duì)于全連接層中的fc6和fc7進(jìn)行稀疏化操作注:最后一層fc8由于直接輸出分類結(jié)果,如果對(duì)其進(jìn)行稀疏化工作的話,將會(huì)嚴(yán)重影響最終的識(shí)別準(zhǔn)確率。ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法70對(duì)于稀疏化后全連接層,其結(jié)構(gòu)由原來(lái)的輸入輸出全部連接變成選擇性連接,結(jié)構(gòu)如圖6-11所示。圖6-11全連接層稀疏化前后網(wǎng)絡(luò)結(jié)構(gòu)ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法716.4.3卷積神經(jīng)網(wǎng)絡(luò)整體稀疏化算法在前兩個(gè)小節(jié)中,已經(jīng)針對(duì)卷積神經(jīng)網(wǎng)絡(luò)的卷積層和全連接層分別進(jìn)行了稀疏化算法的研究及其單獨(dú)的性能分析。大多數(shù)網(wǎng)絡(luò)的稀疏化工作則是對(duì)整個(gè)卷積神經(jīng)網(wǎng)絡(luò)模型而言的,因此本章需要將上述兩種方法同時(shí)應(yīng)用在卷積神經(jīng)網(wǎng)絡(luò)模型上,并且測(cè)試其效果,本章選取VGGNet16-D作為測(cè)試網(wǎng)絡(luò)。圖6-12網(wǎng)絡(luò)整體稀疏化后的網(wǎng)絡(luò)參數(shù)微調(diào)的損失和識(shí)別準(zhǔn)確率實(shí)驗(yàn)方案:在卷積層,本章設(shè)置了2組實(shí)驗(yàn)用于驗(yàn)證的卷積層的算法的有效性,采用80%計(jì)算量削減的FLOPs組配置。此外,本節(jié)將稀疏化卷積層和稀疏化的全連接層進(jìn)行了融合,得到新的稀疏化網(wǎng)絡(luò)模型。同時(shí)對(duì)參數(shù)進(jìn)行了微調(diào),其微調(diào)過(guò)程中的損失和識(shí)別準(zhǔn)確率如圖6-12所示。實(shí)驗(yàn)結(jié)果:在稀疏化網(wǎng)絡(luò)模型識(shí)別精度基本不變的情況下,實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)參數(shù)削減達(dá)到18.39%和計(jì)算量削減到不足原始網(wǎng)絡(luò)的20%。ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法72

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.4卷積神經(jīng)網(wǎng)絡(luò)稀疏化算法73算法總結(jié)表6-9是本章算法、DeepCompression方法和Sensitivity-Oriented方法在VGGNet16-D上的參數(shù)壓縮率和計(jì)算加速比實(shí)驗(yàn)結(jié)果。在整體網(wǎng)絡(luò)參數(shù)方面,本節(jié)實(shí)現(xiàn)的算法達(dá)到18%的參數(shù)壓縮率在網(wǎng)絡(luò)的計(jì)算加速方面,本節(jié)將計(jì)算量單獨(dú)分析,在全連接層實(shí)施了基于數(shù)據(jù)訓(xùn)練的掩碼層進(jìn)行卷積層稀疏化,最終實(shí)現(xiàn)整體網(wǎng)絡(luò)5.02倍理論計(jì)算加速效果,相比于參數(shù)壓縮率較高的Sensitivity-Oriented方法,本節(jié)的計(jì)算加速效果是其1.98倍。在算法效率方面,本章采取直接參數(shù)訓(xùn)練方式對(duì)卷積層進(jìn)行稀疏化,這種方式首先特點(diǎn)是根據(jù)數(shù)據(jù)集動(dòng)態(tài)調(diào)整用于評(píng)價(jià)卷積核的掩碼層參數(shù),在稀疏化正則項(xiàng)和稀疏化網(wǎng)絡(luò)損失的共同約束下,實(shí)現(xiàn)最小的網(wǎng)絡(luò)損失得到需要稀疏化比例的網(wǎng)絡(luò)模型。同時(shí)在全連接層中,本章采取基于數(shù)據(jù)分析的相關(guān)系數(shù)方法,充分考慮到了數(shù)據(jù)在網(wǎng)絡(luò)模型適應(yīng)性問(wèn)題。ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速74從前述分析可以看出,具有高準(zhǔn)確率的卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)規(guī)模一般很大(百兆級(jí)別)、涉及的計(jì)算量通常也是在GFLOP的數(shù)量級(jí)上。這種巨大的存儲(chǔ)和計(jì)算量需求非常不利于移動(dòng)嵌入式設(shè)備的部署。但是網(wǎng)絡(luò)參數(shù)存在很大的冗余性,通過(guò)合理的網(wǎng)絡(luò)結(jié)構(gòu)轉(zhuǎn)換和參數(shù)表示,原始網(wǎng)絡(luò)參數(shù)的10%就能完成同樣的分類任務(wù)。本節(jié)從另外一個(gè)角度提出了基于網(wǎng)絡(luò)Low-Rank特性的加速方案6.5.1卷積神經(jīng)網(wǎng)絡(luò)的Low-Rank特性卷積神經(jīng)網(wǎng)絡(luò)中卷積層的卷積核在網(wǎng)絡(luò)設(shè)計(jì)時(shí)希望不同卷積核能提取到圖像的不同特征,但實(shí)驗(yàn)表明,各卷積層部分卷積核提取的圖像特征相似,即存在相關(guān)性。如圖6-13所示(輸入圖像在第一層卷積層提取的特征圖)圖6-13卷積層輸出特征圖之間相關(guān)性ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速75

圖6-14輸出特征圖相關(guān)性定量衡量ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速76

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速77例如:對(duì)一個(gè)有個(gè)通道的的輸入特征圖,對(duì)應(yīng)的卷積核通道數(shù)也是個(gè),卷積核大小是,這里處于簡(jiǎn)單考慮,設(shè)定輸出卷積核的為個(gè),卷積計(jì)算的示意圖如圖6-15所示。圖6-15卷積計(jì)算示意圖

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis

6.5基于Low-Rank的算法加速78圖6-16全連接計(jì)算示意圖ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速79

conv1_2的卷積核重要性分布(b)fc6的卷積核重要性分布圖6-17VGGNet-16卷積層的卷積核和全連接層的神經(jīng)元的重要性分布ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速80

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速81

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速82

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速83

圖6-18(a)卷積層結(jié)構(gòu)分解ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速84

圖6-18(b)卷積層結(jié)構(gòu)分解ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速85

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速86基于Low-Rank的卷積加速在有效壓縮參數(shù)、降低計(jì)算量的過(guò)程中,又保留了卷積操作的高度并行性。同時(shí)變換后的網(wǎng)絡(luò)結(jié)構(gòu)很好解決了Low-Rank分解后網(wǎng)絡(luò)無(wú)法微調(diào)的問(wèn)題,如果對(duì)原始網(wǎng)絡(luò)進(jìn)行微調(diào),由于網(wǎng)絡(luò)結(jié)構(gòu)不具有Low-Rank特性,因此在微調(diào)的過(guò)程中,SVD分解后的參數(shù)可能會(huì)朝著原始參數(shù)集的方向進(jìn)行更新,使網(wǎng)絡(luò)參數(shù)喪失Low-Rank特性,如圖6-19所示。圖6-19(a)表示VGGNet-16中FC6層基于分解之后的網(wǎng)絡(luò)進(jìn)行微調(diào)后,權(quán)值矩陣的特征值分布,圖6-19(b)表示利用原始的網(wǎng)絡(luò)結(jié)構(gòu)對(duì)權(quán)值矩陣進(jìn)行微調(diào)后的奇異值分布??梢钥吹皆谠季W(wǎng)絡(luò)上微調(diào),經(jīng)過(guò)SVD分解后去除的奇異值有恢復(fù)到原始值的傾向。圖6-19微調(diào)奇異值分布ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速87

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速88

圖6-20全連接層結(jié)構(gòu)分解ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速89

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速90由此可以看出,基于SVD分解相比其他方法的優(yōu)點(diǎn):參數(shù)壓縮比等效于計(jì)算加速比。這在基于剪枝的算法中是無(wú)法達(dá)到的。剪枝算法可以實(shí)現(xiàn)更大的壓縮比,但是剪枝算法無(wú)法在參數(shù)壓縮后維持網(wǎng)絡(luò)并行計(jì)算的特性,只是起到參數(shù)壓縮的作用,而在基于SVD分解的算法中,網(wǎng)絡(luò)的并行計(jì)算適應(yīng)性并沒(méi)有改變,不必像剪枝算法中設(shè)計(jì)專有的稀疏計(jì)算方法就能取得加速效果。ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速91

固定其他層不變,更改當(dāng)前層基的數(shù)量統(tǒng)計(jì)top-1分類準(zhǔn)確率隨的變化曲線,得到不同層中基的數(shù)量對(duì)top-1分類準(zhǔn)確率的影響程度。如圖6-21所示,表示的是VGGNet-16中conv2_2和conv4_1卷積層的誤差隨基卷積核數(shù)量變化曲線,可以看出每層的分類準(zhǔn)確率曲線有很大差別。圖6-21VGGNet-16conv2_2和conv4_1誤差隨基卷積核的數(shù)量變化曲線ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis

6.5基于Low-Rank的算法加速92ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速93

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速94

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速956.5.5實(shí)驗(yàn)結(jié)果與分析本實(shí)驗(yàn)中,選擇VGGNet-16和VGGNet-19作為目標(biāo)網(wǎng)絡(luò)對(duì)加速算法進(jìn)行驗(yàn)證。實(shí)驗(yàn)采用的軟件平臺(tái)是Caffe和Torch深度學(xué)習(xí)工具包,硬件平臺(tái)采用8核i7-3770KCPU,NVIDIAGTX1080GPU,另外還使用到CUDA8.0通用并行計(jì)算平臺(tái),cuDNN5深度學(xué)習(xí)加速工具包。網(wǎng)絡(luò)訓(xùn)練和驗(yàn)證數(shù)據(jù)集均采用ImageNet比賽官方數(shù)據(jù)集。ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速96

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速97如圖6-22表示的是VGGNet-16和VGGNet-19卷積神經(jīng)網(wǎng)絡(luò)各層在理想加速比分別為2,3,4的情況下,微調(diào)前后的最終分類準(zhǔn)確率變化。圖6-22VGGNet-16和VGGNet-19各層微調(diào)前后準(zhǔn)確率變化(線條:Loss;條形圖:Top5準(zhǔn)確率;AF:微調(diào)前;BF:微調(diào)后)

ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速98

圖6-23VGGNet-16各層理想的和實(shí)際加速比對(duì)比ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速99全連接層:對(duì)于基于SVD分解的全連接層參數(shù)壓縮,一方面要盡可能壓縮參數(shù),另一方面,全連接層參數(shù)的壓縮也要適應(yīng)于前面卷積層的加速,即在盡可能加速卷積計(jì)算的同時(shí),為了保證網(wǎng)絡(luò)的分類準(zhǔn)確率,應(yīng)盡可能多保留全連接層的參數(shù)。在本節(jié),首先會(huì)驗(yàn)證每層全連接層保留的神經(jīng)元個(gè)數(shù)對(duì)最終分類準(zhǔn)確率的影響,依此來(lái)衡量每層全連接層的冗余度,然后根據(jù)最終壓縮和分類準(zhǔn)確率的要求對(duì)全連接層進(jìn)行必要的壓縮。關(guān)于全局優(yōu)化和局部?jī)?yōu)化的比較,從直觀上來(lái)說(shuō),全局優(yōu)化在參數(shù)更新的過(guò)程中,考慮到當(dāng)前層和其他網(wǎng)絡(luò)層的協(xié)調(diào)作用,所以優(yōu)化最終尋找的最優(yōu)解比局部?jī)?yōu)化更好。本節(jié)從定量的角度比較了全局優(yōu)化相對(duì)于局部?jī)?yōu)化的優(yōu)勢(shì)。ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速100圖6-24是VGGNet-16FC6層在全局微調(diào)和局部微調(diào)前后的權(quán)值分布變化圖。圖6-24(a)是權(quán)值分布圖,圖6-24(b)是全局和局部的權(quán)值分布和原始權(quán)值分布的差值。其中紅色代表是全局微調(diào)后的權(quán)值分布和原始的差,藍(lán)色代表的是局部微調(diào)??梢钥闯觯治⒄{(diào)相比于該層原始的權(quán)值變化更小。在做網(wǎng)絡(luò)的裁剪的時(shí)候,假定原始的權(quán)值是網(wǎng)絡(luò)的最優(yōu)解,所以離最優(yōu)解越近,說(shuō)明網(wǎng)絡(luò)參數(shù)分布越健康。因此從這可以看出,全局微調(diào)可以使網(wǎng)絡(luò)更靠近于最優(yōu)解。因此在后續(xù)的網(wǎng)絡(luò)壓縮的過(guò)程中,都會(huì)采用全局優(yōu)化的方式對(duì)網(wǎng)絡(luò)進(jìn)行微調(diào)。圖6-24VGGNet-16FC6層全局微調(diào)和局部微調(diào)權(quán)值的比較ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速101整體網(wǎng)絡(luò)本節(jié)分別在VGGNet-16和VGGNet-19下做整體網(wǎng)絡(luò)加速算法驗(yàn)證和分析。首先計(jì)算出每層卷積層的敏感度?

,如圖6-25所示;VGGNet-16VGGNet-19圖6-25VGGNet-16和VGGNet-19卷積層敏感度計(jì)算結(jié)果ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速102然后計(jì)算得出VGGNet-16和VGGNet-19每層卷積網(wǎng)絡(luò)在特定的加速比的要求下應(yīng)該保留的基卷積核的個(gè)數(shù),這個(gè)設(shè)定理想加速比η

分別為2,2.5和3,通過(guò)式(6-58),得出VGGNet-16和VGGNet-19在η

為2,2.5和3的情況下,每層應(yīng)保留的卷積核個(gè)數(shù)如表6-10和表6-11所示。ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速103首先,本文對(duì)比基于敏感度的基卷積核數(shù)量的選擇方案和直接的、不考慮各層之間差異的粗選方案,在其他微調(diào)參數(shù)和微調(diào)順序都相同的情況下,對(duì)比結(jié)果如圖6-26所示,可以觀察到,不管是VGGNet-16還是VGGNet-19,基于敏感度的基數(shù)量選擇方案對(duì)驗(yàn)證數(shù)據(jù)集的分類準(zhǔn)確率優(yōu)于粗選方案。圖6-26VGGNet-16網(wǎng)絡(luò)壓縮以及優(yōu)化結(jié)果(實(shí)線:粗選;虛線:基于敏感度選擇)ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis6.5基于Low-Rank的算法加速104 還可以看到,網(wǎng)絡(luò)在參數(shù)壓縮3倍、加速3倍的情況下,網(wǎng)絡(luò)的分類性能還是能保持在和原始網(wǎng)絡(luò)差不多的水平。由于是采用了卷積核數(shù)量計(jì)算方法和全局微調(diào)策略,使得網(wǎng)絡(luò)在第2、3、4層卷積層微調(diào)的時(shí)候基本沒(méi)有性能損失。這里由于全連接層冗余性很大,對(duì)于FC6和FC7每層只是保留256個(gè)輸出神經(jīng)元就已經(jīng)能足夠保持網(wǎng)絡(luò)的分類性能,同時(shí)又大大壓縮了網(wǎng)絡(luò)的權(quán)值參數(shù)。ArtificialIntelligenceChipDesign,

Lecture

06:

Convolutionalneuralnetworkmodelanalysis謝謝第七章:人工智能芯片架構(gòu)設(shè)計(jì)人工智能芯片設(shè)計(jì)ArtificialIntelligenceChipDesign7.1卷積神經(jīng)網(wǎng)絡(luò)加速器整體設(shè)計(jì)107ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign內(nèi)容介紹

本章中的卷積神經(jīng)網(wǎng)絡(luò)硬件加速器針對(duì)卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用——推理過(guò)程進(jìn)行硬件加速實(shí)現(xiàn),對(duì)于給定的輸入圖像信息,加速器利用已訓(xùn)練好的網(wǎng)絡(luò)模型對(duì)其進(jìn)行處理。即本章的硬件加速器僅涉及卷積神經(jīng)網(wǎng)絡(luò)的前向傳播過(guò)程,而不包含反向傳播過(guò)程。鑒于VGGNet系列網(wǎng)絡(luò)模型在實(shí)際工程中應(yīng)用較為廣泛,且本身結(jié)構(gòu)統(tǒng)一具有代表性,本章主要針對(duì)VGGNet設(shè)計(jì)硬件加速架構(gòu)。7.1.1加速器設(shè)計(jì)分析108ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign為什么需要硬件加速器?

卷積神經(jīng)網(wǎng)絡(luò)(CNN)是計(jì)算密集型模型,需要高效的計(jì)算支持。傳統(tǒng)CPU和GPU在能耗和并行計(jì)算能力上存在局限。硬件加速器通過(guò)優(yōu)化存儲(chǔ)管理和運(yùn)算單元,實(shí)現(xiàn)超高效能和計(jì)算速度。CPU與GPU在CNN計(jì)算上的局限性CPU適用于串行任務(wù)處理,不足以支撐大規(guī)模并行卷積計(jì)算。GPU雖然并行度高,但功耗大,不適合移動(dòng)設(shè)備等低功耗環(huán)境。7.1.1加速器設(shè)計(jì)分析109ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

為何選擇FPGA?FPGA具有高能量效率和可重配置的優(yōu)點(diǎn)。適合于能耗敏感和成本控制嚴(yán)格的應(yīng)用場(chǎng)景。靈活性高,適合快速開發(fā)和市場(chǎng)適應(yīng)。FPGA部署CNN的挑戰(zhàn)復(fù)雜的浮點(diǎn)運(yùn)算需求。高數(shù)據(jù)傳輸量對(duì)帶寬的挑戰(zhàn)。7.1.1加速器設(shè)計(jì)分析110ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

卷積神經(jīng)網(wǎng)絡(luò)加速器的設(shè)計(jì)優(yōu)化并行計(jì)算:提升輸入通道間、輸出通道間和像素間的并行度。數(shù)據(jù)交互:設(shè)計(jì)高效的存儲(chǔ)管理單元,減少數(shù)據(jù)讀寫次數(shù),提高數(shù)據(jù)利用效率。運(yùn)算與存儲(chǔ)協(xié)同:優(yōu)化數(shù)據(jù)傳輸與計(jì)算的協(xié)同效率,減少等待時(shí)間。7.1.1加速器設(shè)計(jì)分析111ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

使用Roofline模型分析性能Roofline模型建立了系統(tǒng)性能與片外存儲(chǔ)流量以及硬件平臺(tái)所能提供的帶寬和計(jì)算峰值間的聯(lián)系,如圖7-1所示。圖7-1Roofline模型通過(guò)提高數(shù)據(jù)利用率和優(yōu)化計(jì)算與傳輸比率能夠顯著提升系統(tǒng)吞吐量。7.1.1加速器設(shè)計(jì)分析112ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

VGGNet16-D網(wǎng)絡(luò)模型介紹

由多個(gè)卷積層和寬卷積層組成,優(yōu)于特征提取。應(yīng)用于圖像識(shí)別和其他視覺(jué)任務(wù)。層名特征圖尺寸卷積核尺寸輸入通道輸出通道稀疏化比例參數(shù)量Conv1_1224336411728Conv1_2224364647.694905Conv2_11123641284.3516974Conv2_211231281285.2627612Conv33568004Conv3_25632562567.1484933Conv3_35632562566.2595319Conv4_12832565124.35273051Conv4_22835125126.25388242Conv4_32835125125.26456363Conv5_11435125122.38989901Conv5_21435125122.171095804Conv5_31435125122.44967671Fc6--2508840968.3312241300Fc7--409640964.543605500Fc8--4096100014096000表7-1VGGNet16-D稀疏化后各層特征參數(shù)表7.1.1加速器設(shè)計(jì)分析113ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

存儲(chǔ)挑戰(zhàn)分析與策略

存儲(chǔ)挑戰(zhàn):Conv1_2層:數(shù)據(jù)量最大的卷積層,大多數(shù)硬件平臺(tái)無(wú)法滿足其高存儲(chǔ)需求。優(yōu)化策略:圖7-2表示輸出特征圖上一點(diǎn)像素的計(jì)算,計(jì)算數(shù)據(jù)僅與周圍像素點(diǎn)數(shù)據(jù)相關(guān),因此可將特征圖劃分為獨(dú)立的圖像塊,每塊包括邊緣像素,減少對(duì)周圍數(shù)據(jù)的依賴。實(shí)際應(yīng)用:所有特征圖劃分為統(tǒng)一尺寸的像素塊,適應(yīng)不同卷積層的特征圖尺寸。減少了復(fù)雜的控制過(guò)程,滿足大多數(shù)硬件設(shè)備的處理能力。圖7-2卷積窗在特征圖上卷積7.1.1加速器設(shè)計(jì)分析114ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

計(jì)算流水線設(shè)計(jì)優(yōu)化計(jì)算流程的挑戰(zhàn):卷積層與全連接層不能并行計(jì)算,需順序執(zhí)行;復(fù)雜的依賴關(guān)系增加了計(jì)算邏輯時(shí)間,影響整體效率。流水線的優(yōu)勢(shì):流水線可以提升卷積和全連接計(jì)算單元的效率;同時(shí)處理相關(guān)計(jì)算任務(wù),減少空閑時(shí)間。圖7-3系統(tǒng)級(jí)流水示意圖

如圖7-3為本文設(shè)計(jì)的兩級(jí)計(jì)算流水結(jié)構(gòu)。這種方式下,首先有利于提高卷積的計(jì)算單元和全連接的計(jì)算單元的計(jì)算效率;并且在卷積運(yùn)算進(jìn)行計(jì)算時(shí),全連接的計(jì)算單元也在進(jìn)行相關(guān)的計(jì)算任務(wù)。7.1.2加速器系統(tǒng)架構(gòu)115ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

加速器系統(tǒng)架構(gòu)如圖7-4所示,圖中紅色線條代表控制信號(hào)通路,黑色線條代表數(shù)據(jù)信號(hào)通路,整個(gè)系統(tǒng)從功能上主要分為系統(tǒng)控制、卷積和全連接計(jì)算、和存儲(chǔ)管理三大模塊。圖7-4加速器系統(tǒng)架構(gòu)7.1.2加速器系統(tǒng)架構(gòu)116ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

計(jì)算模塊

卷積引擎(CE):處理卷積層,包含多個(gè)并行的處理單元陣列(PEA)。

全連接引擎(FCE):處理全連接層,配置一個(gè)PEA。

存儲(chǔ)管理模塊

PCIe接口:連接計(jì)算機(jī)主機(jī)與加速器,負(fù)責(zé)數(shù)據(jù)交互。直接與PCIe交互的是片外存儲(chǔ)DDR。

片上緩存單元:暫存所需特征圖和權(quán)值數(shù)據(jù)。包括輸入緩存(CIB)、輸出緩存(COB)、權(quán)值

緩存和全連接緩存(FCB)。

系統(tǒng)控制模塊

CNN控制器:調(diào)度計(jì)算單元和存儲(chǔ)管理單元工作;控制系統(tǒng)流水和并行處理的時(shí)序。7.1.3硬件架構(gòu)運(yùn)行機(jī)理117ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

系統(tǒng)初始化與數(shù)據(jù)傳輸

主機(jī)端以Batch方式向FPGA傳輸圖像和VGGNet-16權(quán)值。圖像和權(quán)值數(shù)據(jù)存儲(chǔ)在DDR3中。

計(jì)算控制啟動(dòng)加速器啟動(dòng)后,CNN控制單元接管操作。數(shù)據(jù)交互單元(DEU)從DDR3載入輸入圖像和參數(shù)到內(nèi)存陣列MMA。

卷積計(jì)算過(guò)程卷積計(jì)算引擎(CE)啟動(dòng),處理輸入數(shù)據(jù)。輸出數(shù)據(jù)存儲(chǔ)在MMA,進(jìn)行ReLU操作后寫回DDR3。118ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign

流水線操作與全連接計(jì)算

卷積結(jié)果形成讀取-卷積-寫出的流水線操作。

全連接計(jì)算完全在片上RAM進(jìn)行,減少數(shù)據(jù)交互。

四級(jí)流水線結(jié)構(gòu)

整體結(jié)構(gòu)包括讀取數(shù)據(jù)、卷積計(jì)算、寫出數(shù)據(jù)和

全連接計(jì)算的四級(jí)流水。

廣義流水架構(gòu)提高時(shí)序協(xié)調(diào)性和計(jì)算效率。

圖7-5頂層流水線示意圖7.1.3硬件架構(gòu)運(yùn)行機(jī)理7.2

加速器系統(tǒng)控制策略119ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign7.2.1基于循環(huán)分塊的卷積運(yùn)算策略120ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign卷積層占據(jù)了整個(gè)卷積神經(jīng)網(wǎng)絡(luò)99%以上的計(jì)算量,因此針對(duì)卷積層運(yùn)算的系統(tǒng)控制設(shè)計(jì)是CNN加速器設(shè)計(jì)的重點(diǎn)內(nèi)容,本章針對(duì)卷積層提出一種基于循環(huán)分塊的并行和流水運(yùn)行策略,其偽代碼如算法7-1所示。

循環(huán)分塊機(jī)制由于FPGA片上存儲(chǔ)限制,特征圖被分割為多個(gè)小區(qū)域(tiles)。Tiles基于VGGNet特征圖尺寸設(shè)計(jì),以實(shí)現(xiàn)高效的并行處理。

并行與流水線操作使用雙端口RAM設(shè)計(jì)的輸入緩存單元(CIB)。并行處理64個(gè)PEA進(jìn)行卷積運(yùn)算,提高數(shù)據(jù)預(yù)讀取效率。7.2.1基于循環(huán)分塊的卷積運(yùn)算策略121ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign輸入與輸出特征圖優(yōu)先模式

輸出特征圖優(yōu)先模式:多個(gè)輸入特征圖并行處理,以快速生成輸出特征圖。輸入特征圖優(yōu)先模式:優(yōu)化帶寬需求,減少數(shù)據(jù)讀取次數(shù),提高計(jì)算效率。

優(yōu)化結(jié)果與成本

輸入特征圖優(yōu)先模式在帶寬和功耗上表現(xiàn)優(yōu)異。需要更多片上緩存資源來(lái)存儲(chǔ)中間計(jì)算結(jié)果圖7-6輸入、輸出特征圖優(yōu)先卷積計(jì)算7.2.2存算并行與流水控制122ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign并行計(jì)算概述卷積神經(jīng)網(wǎng)絡(luò)中的三種并行運(yùn)算方式:輸出通道間并行、輸入通道間并行和卷積核內(nèi)部并行。并行計(jì)算挑戰(zhàn):FPGA的帶寬和存儲(chǔ)器空間限制是實(shí)現(xiàn)并行計(jì)算的主要障礙;高效的硬件加速器設(shè)計(jì)需要平衡帶寬和計(jì)算并行度。優(yōu)化策略:

數(shù)據(jù)預(yù)讀?。和ㄟ^(guò)預(yù)讀取數(shù)據(jù)到片上緩存,減少運(yùn)行時(shí)的帶寬需求。

數(shù)據(jù)重復(fù)利用:有效管理數(shù)據(jù)流,減少對(duì)外部存儲(chǔ)的頻繁訪問(wèn)。7.2.2存算并行與流水控制123ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign并行計(jì)算實(shí)現(xiàn)與流水線控制實(shí)現(xiàn)的并行計(jì)算卷積核內(nèi)部并行:在處理元素陣列(PEA)內(nèi)部實(shí)現(xiàn),加速單個(gè)特征圖的處理。輸入通道間并行:多個(gè)輸入通道的數(shù)據(jù)同時(shí)處理,提高整體計(jì)算效率。流水線操作主要流程:數(shù)據(jù)讀取、卷積運(yùn)算、寫出輸出特征圖。存算并行控制:優(yōu)化數(shù)據(jù)流,實(shí)現(xiàn)數(shù)據(jù)預(yù)讀取與卷積運(yùn)算的并行執(zhí)行。圖7-7卷積層存算并行與流水控制7.2.2存算并行與流水控制124ArtificialIntelligenceChipDesign,

Lecture

07:Artificialintelligencechiparchitecturedesign全連接層流水結(jié)構(gòu)三級(jí)流水結(jié)構(gòu):讀取數(shù)據(jù)、計(jì)算、寫出數(shù)據(jù)。構(gòu)造卷積-全連接四級(jí)流水結(jié)構(gòu):讀取數(shù)據(jù)、卷積運(yùn)算、寫出數(shù)據(jù)、全連接運(yùn)算。

流水線效率優(yōu)化時(shí)序協(xié)調(diào):優(yōu)化各模塊的工作協(xié)同,減少處理延遲。效率提升:通過(guò)精確控制數(shù)據(jù)流向和處理時(shí)間,提高整體系統(tǒng)性能圖7-8

卷積-全連接流水結(jié)構(gòu)7.3卷積層加速器設(shè)計(jì)125ArtificialIntelligenceChipDesign,

Lecture

07:Artificiali

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論