[發(fā)明專利]基于SIMD技術(shù)的卷積神經(jīng)網(wǎng)絡(luò)加速裝置及方法在審
| 申請?zhí)枺?/td> | 202011015325.9 | 申請日: | 2020-09-24 |
| 公開(公告)號: | CN112418417A | 公開(公告)日: | 2021-02-26 |
| 發(fā)明(設(shè)計)人: | 楊林;蔣文婷;王浩楓;劉洪宇;李易聰 | 申請(專利權(quán))人: | 北京計算機技術(shù)及應(yīng)用研究所 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063;G06N3/04;G06F9/38;G06F13/28 |
| 代理公司: | 中國兵器工業(yè)集團公司專利中心 11011 | 代理人: | 王雪芬 |
| 地址: | 100854*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 simd 技術(shù) 卷積 神經(jīng)網(wǎng)絡(luò) 加速 裝置 方法 | ||
本發(fā)明涉及一種基于SIMD技術(shù)的卷積神經(jīng)網(wǎng)絡(luò)加速裝置及方法,屬于嵌入式卷積神經(jīng)網(wǎng)絡(luò)加速硬件技術(shù)領(lǐng)域。本發(fā)明針對當(dāng)前神經(jīng)網(wǎng)絡(luò)應(yīng)用中的突出矛盾,提出一種基于SIMD技術(shù)的神經(jīng)網(wǎng)絡(luò)推理加速裝置。本發(fā)明首先設(shè)計一個運算流程,以滿足神經(jīng)網(wǎng)絡(luò)算法中的全部算子功能,然后面向該計算流程,進行硬件功能單元設(shè)計,以軟件定義硬件的方式實現(xiàn)系統(tǒng)設(shè)計,同時提供較高的性能功耗比和綜合運算能力。
技術(shù)領(lǐng)域
本發(fā)明屬于嵌入式卷積神經(jīng)網(wǎng)絡(luò)加速硬件技術(shù)領(lǐng)域,具體涉及一種基于SIMD技術(shù)的卷積神經(jīng)網(wǎng)絡(luò)加速裝置及方法。
背景技術(shù)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)的代表算法之一。卷積神經(jīng)網(wǎng)絡(luò)具有表征學(xué)習(xí)能力,能夠按其階層結(jié)構(gòu)對輸入信息進行平移不變分類(shift-invariantclassification),因此也被稱為“平移不變?nèi)斯ど窠?jīng)網(wǎng)絡(luò)(Shift-Invariant ArtificialNeural Networks,SIANN)”。
對卷積神經(jīng)網(wǎng)絡(luò)的研究始于二十世紀(jì)80至90年代,時間延遲網(wǎng)絡(luò)和LeNet-5是最早出現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò);在二十一世紀(jì)后,隨著深度學(xué)習(xí)理論的提出和數(shù)值計算設(shè)備的改進,卷積神經(jīng)網(wǎng)絡(luò)得到了快速發(fā)展,并被應(yīng)用于計算機視覺、自然語言處理等領(lǐng)域。
目前,卷積神經(jīng)網(wǎng)絡(luò)在應(yīng)用中面臨的主要問題是神經(jīng)網(wǎng)絡(luò)推理需要較大的算力和能源消耗,這一問題在嵌入式神經(jīng)網(wǎng)絡(luò)推理應(yīng)用中,顯得尤為突出。
單指令多數(shù)據(jù)(Single instruction,multiple data,SIMD)是并行計算技術(shù)的一類。它描述了具有多個處理元素(multiple processing elements)的計算機,可以在多個數(shù)據(jù)點(data points)上同時(simultaneously)完成相同的操作。這種機器利用數(shù)據(jù)級并行(data level parallelism)(不是并發(fā),concurrency):在某一時刻,只有一個指令,但有多個同時發(fā)生的(simultaneous)計算(computations),也即并行計算。SIMD特別適用于一些常見的圖像處理類任務(wù),例如:調(diào)整數(shù)字圖像的對比度,圖像濾波以及卷積神經(jīng)網(wǎng)絡(luò)計算。
一個利用SIMD的應(yīng)用程序(application)可以在大量數(shù)據(jù)點上加上或減去相同的值,這是許多多媒體應(yīng)用的常見操作。例如,修改一個圖像的亮度。圖像的每個像素由三個值組成,分別表示顏色的紅色(R)、綠色(G)和藍色(B)部分的亮度。為了改變亮度,從內(nèi)存中(memory)讀取R,G和B值,然后從R,G,B中減去或加上一個值(a value),最后得到的結(jié)果值(values)被寫回內(nèi)存。
使用SIMD processor,這個過程會有兩個改進。首先,數(shù)據(jù)是按塊理解的,一次可以加載多個值。和普通的一系列指令“取回這個像素,現(xiàn)在再取回下一個像素”不同,SIMDprocessor會發(fā)出單個指令“取回n個像素”(此處n是一個數(shù)值,由SIMD處理器的設(shè)計決定)。由于各種因素,SIMD這種一個指令取回多個像素的方式比傳統(tǒng)CPU設(shè)計中一個一個地取回像素需要的時間少很多。
另外一個優(yōu)點時,這個指令會在單個操作中(a single operation)操作(operate)所有加載的數(shù)據(jù)。換句話說,假如一個SIMD系統(tǒng)一次加載8個數(shù)據(jù)點,則一個add操作(比如,使值增加1),會同時作用在8個數(shù)上,即這8個數(shù)同時加1。
基于SIMD處理技術(shù)的神經(jīng)網(wǎng)絡(luò)加速方法可以較好的平衡功耗性能以及成本之間的關(guān)系,是當(dāng)前較為實用的一種神經(jīng)網(wǎng)絡(luò)加速方法。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問題
本發(fā)明要解決的技術(shù)問題是:如何針對當(dāng)前神經(jīng)網(wǎng)絡(luò)應(yīng)用中的突出矛盾,提出一種基于SIMD技術(shù)的神經(jīng)網(wǎng)絡(luò)推理加速裝置。
(二)技術(shù)方案
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京計算機技術(shù)及應(yīng)用研究所,未經(jīng)北京計算機技術(shù)及應(yīng)用研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011015325.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 具有級聯(lián)SIMD結(jié)構(gòu)的數(shù)字信號處理器
- 信息處理裝置以及機器語言程序變換裝置
- 處理器中的有效并行浮點異常處理
- 在單指令多數(shù)據(jù)多核處理器架構(gòu)上轉(zhuǎn)置矩陣的方法和系統(tǒng)
- 具有單指令多數(shù)據(jù)處理電路的數(shù)據(jù)處理裝置
- 用于單指令多數(shù)據(jù)處理器的高效硬件指令
- 用于改進SIMD KNN實現(xiàn)的設(shè)備、方法、系統(tǒng)和機器可讀介質(zhì)
- 用于單指令多數(shù)據(jù)處理器的高效硬件指令
- 單指令多數(shù)據(jù)處理器與相關(guān)方法
- 一種應(yīng)用于處理器的寄存器控制SIMD指令擴展方法
- 卷積運算處理方法及相關(guān)產(chǎn)品
- 一種卷積神經(jīng)網(wǎng)絡(luò)的計算方法及系統(tǒng)
- 卷積運算方法及系統(tǒng)
- 卷積運算方法、裝置及系統(tǒng)
- 深度神經(jīng)網(wǎng)絡(luò)裁剪方法、裝置及電子設(shè)備
- 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法和圖像處理裝置
- 卷積神經(jīng)網(wǎng)絡(luò)及基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法
- 一種圖像處理方法、裝置以及計算機存儲介質(zhì)
- 用于卷積神經(jīng)網(wǎng)絡(luò)的卷積運算裝置
- 基于FPGA實現(xiàn)圖像識別的方法、裝置、設(shè)備及存儲介質(zhì)





