[發(fā)明專利]一種基于FPGA設(shè)計(jì)的支持稀疏剪枝的卷積神經(jīng)網(wǎng)絡(luò)加速器有效
| 申請(qǐng)?zhí)枺?/td> | 201911383518.7 | 申請(qǐng)日: | 2019-12-27 |
| 公開(kāi)(公告)號(hào): | CN111242277B | 公開(kāi)(公告)日: | 2023-05-05 |
| 發(fā)明(設(shè)計(jì))人: | 邱蔚;丁永林;曹學(xué)成;廖湘萍;李煒 | 申請(qǐng)(專利權(quán))人: | 中國(guó)電子科技集團(tuán)公司第五十二研究所 |
| 主分類號(hào): | G06N3/0464 | 分類號(hào): | G06N3/0464;G06N3/063;G06F15/78 |
| 代理公司: | 杭州君度專利代理事務(wù)所(特殊普通合伙) 33240 | 代理人: | 楊天嬌 |
| 地址: | 310012*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 fpga 設(shè)計(jì) 支持 稀疏 剪枝 卷積 神經(jīng)網(wǎng)絡(luò) 加速器 | ||
本發(fā)明公開(kāi)了一種基于FPGA設(shè)計(jì)的支持稀疏剪枝的卷積神經(jīng)網(wǎng)絡(luò)加速器,總線接口單元、權(quán)重存儲(chǔ)及管理單元、輸入緩存FIFO陣列、MAC計(jì)算陣列、中間結(jié)果緩存RAM陣列、流水線加法器陣列及輸出緩存及管理單元。本發(fā)明根據(jù)去除零值權(quán)重后的卷積核,形成由非零權(quán)重構(gòu)成的權(quán)重列,并且每次按照權(quán)重列最大計(jì)算量將權(quán)重列中的非零權(quán)重按序動(dòng)態(tài)分配給乘加器,使得本發(fā)明的卷積神經(jīng)網(wǎng)絡(luò)加速器能夠應(yīng)對(duì)剪枝后網(wǎng)絡(luò)計(jì)算的不規(guī)則性,有效跳過(guò)權(quán)重為零的乘累加運(yùn)算,從而減少總運(yùn)算量,加速神經(jīng)網(wǎng)絡(luò)運(yùn)算。
技術(shù)領(lǐng)域
本申請(qǐng)屬于深度學(xué)習(xí)領(lǐng)域,具體涉及一種基于FPGA設(shè)計(jì)的支持稀疏剪枝的卷積神經(jīng)網(wǎng)絡(luò)加速器。
背景技術(shù)
近年來(lái),人工智能風(fēng)靡全球,其中以計(jì)算機(jī)視覺(jué)及語(yǔ)音識(shí)別應(yīng)用最為廣泛,給人們的生活帶來(lái)了極大的便利。計(jì)算機(jī)視覺(jué)及語(yǔ)音識(shí)別主要使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算推理,因?yàn)樯疃壬窠?jīng)網(wǎng)絡(luò)在精確度方面有極佳的表現(xiàn)。
一般來(lái)說(shuō),神經(jīng)網(wǎng)絡(luò)層數(shù)越深、參數(shù)越多,推理的結(jié)果就越準(zhǔn)確。但與此同時(shí),網(wǎng)絡(luò)越深、參數(shù)越多意味著所消耗的計(jì)算資源和存儲(chǔ)資源也就越多。另一方面,神經(jīng)網(wǎng)絡(luò)的參數(shù)眾多,但其中有些參數(shù)對(duì)最終的輸出結(jié)果貢獻(xiàn)不大而顯得冗余。
卷積神經(jīng)網(wǎng)絡(luò)是深度神經(jīng)網(wǎng)絡(luò)的一類,其一方面具有深度神經(jīng)網(wǎng)絡(luò)高精確度的優(yōu)勢(shì),但是也繼承了其龐大計(jì)算量的缺點(diǎn),因此如何減少卷神經(jīng)網(wǎng)絡(luò)計(jì)算量一直是人工智能領(lǐng)域的熱門研究方向。卷積神經(jīng)網(wǎng)絡(luò)中卷積運(yùn)算占總運(yùn)算量90%以上,卷積運(yùn)算和參數(shù)容量成正比,剪枝可以減少冗余的參數(shù)且保持相當(dāng)?shù)木取<糁νㄟ^(guò)減少總的運(yùn)算量來(lái)加速神經(jīng)網(wǎng)絡(luò)的運(yùn)算,但是剪枝后網(wǎng)絡(luò)運(yùn)算的不規(guī)則性增加了神經(jīng)網(wǎng)絡(luò)加速器硬件實(shí)現(xiàn)的復(fù)雜度,導(dǎo)致現(xiàn)有的加速器設(shè)計(jì)都不能充分利用權(quán)重稀疏帶來(lái)的加速效果,不僅加速效果差,同時(shí)也存在計(jì)算資源利用率低的缺陷。
發(fā)明內(nèi)容
本申請(qǐng)的目的在于提供一種基于FPGA設(shè)計(jì)的支持稀疏剪枝的卷積神經(jīng)網(wǎng)絡(luò)加速器,能夠應(yīng)對(duì)剪枝后網(wǎng)絡(luò)計(jì)算的不規(guī)則性,有效跳過(guò)權(quán)重為零的乘累加運(yùn)算,從而減少總運(yùn)算量,加速神經(jīng)網(wǎng)絡(luò)運(yùn)算。
為實(shí)現(xiàn)上述目的,本申請(qǐng)所采取的技術(shù)方案為:
一種基于FPGA設(shè)計(jì)的支持稀疏剪枝的卷積神經(jīng)網(wǎng)絡(luò)加速器,所述基于FPGA設(shè)計(jì)的支持稀疏剪枝的卷積神經(jīng)網(wǎng)絡(luò)加速器包括總線接口單元、權(quán)重存儲(chǔ)及管理單元、輸入緩存FIFO陣列、MAC計(jì)算陣列、中間結(jié)果緩存RAM陣列、流水線加法器陣列及輸出緩存及管理單元,其中:
所述總線接口單元用于從DDR內(nèi)存向所述輸入緩存FIFO陣列傳輸特征圖列,所述特征圖列由特征圖上大小等同于卷積核大小的數(shù)據(jù)按預(yù)設(shè)規(guī)則組成;
所述輸入緩存FIFO陣列包含N個(gè)FIFO,各所述FIFO接收所述總線接口單元輸出的不同的特征圖列,并按照先進(jìn)先出原則向所述MAC計(jì)算陣列輸出特征圖列中的待計(jì)算數(shù)據(jù);
所述權(quán)重存儲(chǔ)及管理單元用于向所述MAC計(jì)算陣列中輸出權(quán)重列,所述權(quán)重列由所有卷積核同一通道中相同位置的非零權(quán)重組成,并且每個(gè)非零權(quán)重具有與所在卷積核的編號(hào)相同的索引值;
所述MAC計(jì)算陣列包含與各FIFO對(duì)應(yīng)的MAC組,所述MAC組中包含多個(gè)乘加器,各MAC組接收從權(quán)重存儲(chǔ)及管理單元輸出的權(quán)重列、以及從對(duì)應(yīng)FIFO輸出的一個(gè)待計(jì)算數(shù)據(jù),MAC組中各乘加器按序接收權(quán)重列中的一個(gè)非零權(quán)重,計(jì)算非零權(quán)重與待計(jì)算數(shù)據(jù)的乘積得到乘積結(jié)果,并向中間結(jié)果緩存RAM陣列輸出乘累加結(jié)果;
所述中間結(jié)果緩存RAM陣列包含與各MAC組對(duì)應(yīng)的RAM組,所述RAM組中包含多個(gè)中間緩存RAM,所述中間緩存RAM接收對(duì)應(yīng)乘加器輸出的乘累加結(jié)果,并且該乘累加結(jié)果在中間緩存RAM中存儲(chǔ)的地址為用于計(jì)算該乘累加結(jié)果的非零權(quán)重對(duì)應(yīng)的索引值,所述乘累加結(jié)果為乘加器本次計(jì)算的乘積結(jié)果與該乘加器對(duì)應(yīng)的中間緩存RAM中相同地址存儲(chǔ)的中間結(jié)果累加后得到;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)電子科技集團(tuán)公司第五十二研究所,未經(jīng)中國(guó)電子科技集團(tuán)公司第五十二研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911383518.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 針織設(shè)計(jì)裝置和設(shè)計(jì)方法、設(shè)計(jì)程序
- 燈具(設(shè)計(jì)1?設(shè)計(jì)3)
- 頭燈(設(shè)計(jì)1?設(shè)計(jì)2?設(shè)計(jì)3)
- LED透鏡(設(shè)計(jì)1、設(shè)計(jì)2、設(shè)計(jì)3)
- 設(shè)計(jì)用圖形設(shè)計(jì)桌
- 手機(jī)殼(設(shè)計(jì)1設(shè)計(jì)2設(shè)計(jì)3設(shè)計(jì)4)
- 機(jī)床鉆夾頭(設(shè)計(jì)1設(shè)計(jì)2設(shè)計(jì)3設(shè)計(jì)4)
- 吹風(fēng)機(jī)支架(設(shè)計(jì)1設(shè)計(jì)2設(shè)計(jì)3設(shè)計(jì)4)
- 設(shè)計(jì)桌(平面設(shè)計(jì))
- 設(shè)計(jì)臺(tái)(雕塑設(shè)計(jì)用)





