面向通用DSP的卷積神經(jīng)網(wǎng)絡加速器
發(fā)布時間:2021-11-15 03:28
隨著人工智能應用的發(fā)展,基于卷積神經(jīng)網(wǎng)絡(Convolution Neural Network,CNN)的深度學習算法成為機器視覺處理領域的核心算法。但是面對互聯(lián)網(wǎng)數(shù)據(jù)的爆炸式增長,深度學習網(wǎng)絡變得日益復雜,計算量持續(xù)大幅度增長等問題,傳統(tǒng)的通用處理器已經(jīng)不能滿足性能需求,研究其硬件加速器對設計智能芯片具有重要意義。DSP面向數(shù)字信號處理應用,具有功耗低、性價比高、可編程性好等特點,基于通用DSP架構集成專用的CNN加速器可以發(fā)揮通用DSP的性能,既可以利用DSP的原有編程開發(fā)環(huán)境,又可以快速提高DSP對深度學習算法應用的加速性能,快速擴展了DSP的智能運算范圍。本文面向圖像處理、視頻智能處理加速需求,基于某數(shù)字信號處理器X-DSP的體系結構,設計實現(xiàn)了一種CNN加速器。論文的主要工作如下:首先,在分析卷積神經(jīng)網(wǎng)絡的算法和X-DSP的體系結構與性能的基礎上,設計了CNN加速器整體設計結構;根據(jù)其外部存儲帶寬確定CNN加速器運算單元性能和片上緩存大小。通過對卷積層算法的并行性分析展開了理論分析和片上緩存設計。其次對池化層中常見的最大池化和平均池化展開了討論,提出了對運算單元功能的擴展,最...
【文章來源】:國防科技大學湖南省 211工程院校 985工程院校
【文章頁數(shù)】:69 頁
【學位級別】:碩士
【部分圖文】:
XM6處理器硬件架構
國防科技大學研究生院碩士學位論文第14頁卷積操作,s被稱為跨步。因此,整個卷積操作可以用公式2.1表示。其中O代表輸出。,,=∑[,(1)×+,(1)×+,,,,],,(2.1)在任何卷積網(wǎng)絡中都可以用零對輸入X進行填充使得其加寬。這種操作被稱為擴邊。這樣做的目的是為了更多保留邊緣信息,同時它也能幫助控制輸出圖像的尺寸。另外參數(shù)共享也是卷積中一個獨有的性質,表示在同一個模型中對多個函數(shù)公用一個參數(shù)。這樣做的好處是在學習中只需要學習一個集合的特征,不需要對每個獨立的參數(shù)都學習一遍。這樣做的優(yōu)點是降低了模型的存儲量,而這個減小后的參數(shù)量相對于原始參數(shù)的集合是數(shù)量級的減少。下面給出一個實際的例子,直觀的理解卷積運算,如圖2.2所示,輸入為5*5的矩陣,卷積核為3*3,橫、縱向跨步均為2,并且用0填充了一層邊界。圖2.2簡單卷積示意圖2.1.2池化一個典型的卷積神經(jīng)網(wǎng)絡中應當包含池化層把池化層也視為典型層之一。池化層在CNN中扮演的角色是輔助作用,這種方式叫做探測級,通過池化函數(shù)來調整該層的輸出。對于輸入圖像我們只關心其特征而并不關心特征出現(xiàn)的位置,卷積運算并不能做到這一點,它只能提取特征,而池化卻可以幫助實現(xiàn)局部平移不變性[40][41],也就是輸入圖像的物體移動了少許位置時,其輸出的特征并不會受到影響。這里我們提出一個概念:局部平移,它是池化層中一個很有用的性質。當我們可以把某些輸入特征的位置忽略掉,只關注于這些特征是否出現(xiàn)過。池化就發(fā)揮了其強大的預先查驗作用:池化層的函數(shù)特征也顯現(xiàn)出來,那就是不變性基于少量平移。這種假
國防科技大學研究生院碩士學位論文第16頁Sigmod是最常見的激活函數(shù),曾經(jīng)被廣泛使用,表達形式如公式2.2所示:σ(x)=11+(2.2)函數(shù)圖像如圖2.4所示:圖2.4Sigmod函數(shù)示意圖可以直觀地看到該函數(shù)的輸出是在(0,1)之間,并且是具有單調性,輸出范圍已經(jīng)被限定,因此優(yōu)化穩(wěn)定。其次該函數(shù)也非常容易求導。但是這個函數(shù)本身是存在缺陷的,當輸入無限趨于負無窮或者正無窮時,對函數(shù)求導即梯度是趨于零的。這就導致了我們在對初始值的選取上是有要求的,否則遇到這種梯度被“削弱”的情況,網(wǎng)絡就不易被學習。再者sigmod函數(shù)的輸出不是以零為均值的,結果就是導致下一層的神經(jīng)元的輸入是上一層輸出的非零均值的信號。這樣就會使每次更新權重的效率變得緩慢。最后從計算機運行角度處理指數(shù)運算的能力是較慢的。因此sigmod的使用頻率逐漸減校2)Tanh函數(shù)Tanh是正切函數(shù),公式為2.3所示,tanh()=sinh()csch()=+(2.3)圖像2.5是Tanh函數(shù)的圖像:圖2.5Tanh函數(shù)示意圖
【參考文獻】:
期刊論文
[1]深度學習在無人駕駛汽車中的應用[J]. 孫皓天. 電腦知識與技術. 2015(24)
本文編號:3495936
【文章來源】:國防科技大學湖南省 211工程院校 985工程院校
【文章頁數(shù)】:69 頁
【學位級別】:碩士
【部分圖文】:
XM6處理器硬件架構
國防科技大學研究生院碩士學位論文第14頁卷積操作,s被稱為跨步。因此,整個卷積操作可以用公式2.1表示。其中O代表輸出。,,=∑[,(1)×+,(1)×+,,,,],,(2.1)在任何卷積網(wǎng)絡中都可以用零對輸入X進行填充使得其加寬。這種操作被稱為擴邊。這樣做的目的是為了更多保留邊緣信息,同時它也能幫助控制輸出圖像的尺寸。另外參數(shù)共享也是卷積中一個獨有的性質,表示在同一個模型中對多個函數(shù)公用一個參數(shù)。這樣做的好處是在學習中只需要學習一個集合的特征,不需要對每個獨立的參數(shù)都學習一遍。這樣做的優(yōu)點是降低了模型的存儲量,而這個減小后的參數(shù)量相對于原始參數(shù)的集合是數(shù)量級的減少。下面給出一個實際的例子,直觀的理解卷積運算,如圖2.2所示,輸入為5*5的矩陣,卷積核為3*3,橫、縱向跨步均為2,并且用0填充了一層邊界。圖2.2簡單卷積示意圖2.1.2池化一個典型的卷積神經(jīng)網(wǎng)絡中應當包含池化層把池化層也視為典型層之一。池化層在CNN中扮演的角色是輔助作用,這種方式叫做探測級,通過池化函數(shù)來調整該層的輸出。對于輸入圖像我們只關心其特征而并不關心特征出現(xiàn)的位置,卷積運算并不能做到這一點,它只能提取特征,而池化卻可以幫助實現(xiàn)局部平移不變性[40][41],也就是輸入圖像的物體移動了少許位置時,其輸出的特征并不會受到影響。這里我們提出一個概念:局部平移,它是池化層中一個很有用的性質。當我們可以把某些輸入特征的位置忽略掉,只關注于這些特征是否出現(xiàn)過。池化就發(fā)揮了其強大的預先查驗作用:池化層的函數(shù)特征也顯現(xiàn)出來,那就是不變性基于少量平移。這種假
國防科技大學研究生院碩士學位論文第16頁Sigmod是最常見的激活函數(shù),曾經(jīng)被廣泛使用,表達形式如公式2.2所示:σ(x)=11+(2.2)函數(shù)圖像如圖2.4所示:圖2.4Sigmod函數(shù)示意圖可以直觀地看到該函數(shù)的輸出是在(0,1)之間,并且是具有單調性,輸出范圍已經(jīng)被限定,因此優(yōu)化穩(wěn)定。其次該函數(shù)也非常容易求導。但是這個函數(shù)本身是存在缺陷的,當輸入無限趨于負無窮或者正無窮時,對函數(shù)求導即梯度是趨于零的。這就導致了我們在對初始值的選取上是有要求的,否則遇到這種梯度被“削弱”的情況,網(wǎng)絡就不易被學習。再者sigmod函數(shù)的輸出不是以零為均值的,結果就是導致下一層的神經(jīng)元的輸入是上一層輸出的非零均值的信號。這樣就會使每次更新權重的效率變得緩慢。最后從計算機運行角度處理指數(shù)運算的能力是較慢的。因此sigmod的使用頻率逐漸減校2)Tanh函數(shù)Tanh是正切函數(shù),公式為2.3所示,tanh()=sinh()csch()=+(2.3)圖像2.5是Tanh函數(shù)的圖像:圖2.5Tanh函數(shù)示意圖
【參考文獻】:
期刊論文
[1]深度學習在無人駕駛汽車中的應用[J]. 孫皓天. 電腦知識與技術. 2015(24)
本文編號:3495936
本文鏈接:http://sikaile.net/kejilunwen/zidonghuakongzhilunwen/3495936.html
最近更新
教材專著