[發(fā)明專(zhuān)利]用于BNN硬件加速器的雙向并行處理卷積加速系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201810480881.X | 申請(qǐng)日: | 2018-05-18 |
| 公開(kāi)(公告)號(hào): | CN108665063B | 公開(kāi)(公告)日: | 2022-03-18 |
| 發(fā)明(設(shè)計(jì))人: | 潘紅兵;查羿;王宇宣;朱杏偉;秦子迪;姚鑫;李麗;何書(shū)專(zhuān);李偉 | 申請(qǐng)(專(zhuān)利權(quán))人: | 南京大學(xué) |
| 主分類(lèi)號(hào): | G06N3/063 | 分類(lèi)號(hào): | G06N3/063 |
| 代理公司: | 南京匯盛專(zhuān)利商標(biāo)事務(wù)所(普通合伙) 32238 | 代理人: | 陳揚(yáng);吳揚(yáng)帆 |
| 地址: | 210046 江蘇省南*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 bnn 硬件 加速器 雙向 并行 處理 卷積 加速 系統(tǒng) | ||
本發(fā)明提供了一種用于BNN硬件加速器的雙向數(shù)據(jù)級(jí)并行處理卷積加速系統(tǒng)包括:存儲(chǔ)單元,用于存儲(chǔ)輸入的激勵(lì)數(shù)據(jù)、卷積核參數(shù)以及該層卷積運(yùn)算結(jié)束后的結(jié)果;運(yùn)算控制器,控制各個(gè)卷積層之間數(shù)據(jù)的傳遞、激勵(lì)的輸入與讀取卷積核參數(shù)的讀取、參數(shù)運(yùn)算以及計(jì)算結(jié)果的存儲(chǔ);卷積運(yùn)算模塊,根據(jù)所述控制器指令,讀取緩沖單元里的數(shù)據(jù)和參數(shù),完成卷積操作;數(shù)據(jù)搬運(yùn)模塊,根據(jù)運(yùn)算控制器的配置信息,將所有參數(shù)與激勵(lì)數(shù)據(jù)從片外DDR搬運(yùn)至片上存儲(chǔ)器。通過(guò)增加運(yùn)算資源和數(shù)據(jù)存儲(chǔ)資源的開(kāi)銷(xiāo),大大提高了運(yùn)算吞吐率。
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)及電子信息技術(shù)領(lǐng)域,尤其涉及提供了一種用于BNN硬件加速器的雙向數(shù)據(jù)級(jí)并行處理卷積加速方法。
背景技術(shù)
深度卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)成為機(jī)器學(xué)習(xí)算法中很重要的一部分,并廣泛地運(yùn)用于計(jì)算機(jī)視覺(jué)。大量運(yùn)用CNN解決實(shí)際應(yīng)用問(wèn)題中,不可避免的一個(gè)挑戰(zhàn)是,如何解決CNN的計(jì)算力需求和存儲(chǔ)能力。例如,一個(gè)VGG-19的網(wǎng)絡(luò),包含了140百萬(wàn)個(gè)浮點(diǎn)參數(shù),以及需要進(jìn)行15百億次浮點(diǎn)操作來(lái)進(jìn)行圖像的分類(lèi)。因而,現(xiàn)在CNN大量的訓(xùn)練和推理工作均是在CPU和GPU集群下進(jìn)行的。
相比于CPU,GPU這類(lèi)通用型平臺(tái),F(xiàn)PGA這樣的定制型硬件平臺(tái)更能節(jié)省功耗和提高效率,而這對(duì)于像無(wú)人機(jī),嵌入式設(shè)備這些對(duì)功耗效率實(shí)時(shí)性要求高的終端應(yīng)用場(chǎng)景來(lái)說(shuō),是非常適合的。近些年,無(wú)論是學(xué)術(shù)界還是工業(yè)界都對(duì)在FPGA上實(shí)現(xiàn)CNN的加速器做了很多的探索努力。
隨著深度卷積神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,參數(shù)量的爆炸性增長(zhǎng),其計(jì)算復(fù)雜度和計(jì)算力需求也水漲船高。人工智能芯片主要用于訓(xùn)練和推理兩個(gè)環(huán)節(jié),其中在線推理環(huán)節(jié)是指利用訓(xùn)練出來(lái)的模型在線響應(yīng)用戶需求,如無(wú)人駕駛,智能家居等領(lǐng)域,基于實(shí)時(shí)性和隱私安全的考慮,需要在嵌入式智能終端部署計(jì)算平臺(tái),并且要盡可能地減少時(shí)延,這就對(duì)計(jì)算速度提出了要求。另外,對(duì)于可穿戴設(shè)備等嵌入式設(shè)備對(duì)功耗和效率的要求也非常高。
發(fā)明內(nèi)容
為了解決上述問(wèn)題,本發(fā)明提出一種用于BNN硬件加速器的雙向數(shù)據(jù)級(jí)并行處理卷積加速方法,具體由以下技術(shù)方案實(shí)現(xiàn):
所述用于BNN硬件加速器的雙向并行處理卷積加速系統(tǒng),包括:
存儲(chǔ)單元,設(shè)置于每一卷積層上,分別用于存儲(chǔ)輸入的激勵(lì)數(shù)據(jù)、卷積核參數(shù)以及該層卷積運(yùn)算結(jié)束后的結(jié)果;
一個(gè)運(yùn)算控制器,控制各個(gè)卷積層之間數(shù)據(jù)的傳遞、激勵(lì)的輸入與讀取卷積核參數(shù)的讀取、參數(shù)運(yùn)算以及計(jì)算結(jié)果的存儲(chǔ);
卷積運(yùn)算模塊,根據(jù)所述控制器指令,讀取緩沖單元里的數(shù)據(jù)和參數(shù),完成卷積操作;
數(shù)據(jù)搬運(yùn)模塊,根據(jù)運(yùn)算控制器的配置信息,一次性將所有參數(shù)與激勵(lì)數(shù)據(jù)從片外DDR搬運(yùn)至片上存儲(chǔ)器,以減少訪問(wèn)片外存儲(chǔ)器的次數(shù)。
所述用于BNN硬件加速器的雙向并行處理卷積加速的進(jìn)一步設(shè)計(jì)在于,卷積運(yùn)算模塊包括:
浮點(diǎn)卷積運(yùn)算模塊,為卷積運(yùn)算模塊的第一層,浮點(diǎn)卷積運(yùn)算模塊的輸入數(shù)據(jù)為浮點(diǎn)數(shù)據(jù);
二值卷積單元,為卷積運(yùn)算模塊的第二至五層,經(jīng)卷積操作后,將卷積層的尺寸在各個(gè)維度上縮小兩倍,完成了池化過(guò)程,將池化處理后的數(shù)據(jù)代入設(shè)定的公式進(jìn)行量化處理;
二值全連接層運(yùn)算單元,為卷積運(yùn)算模塊的第六至九層,用全連接層將所學(xué)到的分布式特征映射到樣本標(biāo)記空間,將權(quán)重和激勵(lì)的卷積運(yùn)算轉(zhuǎn)化為1bit數(shù)據(jù)之間的異或操作。
所述用于BNN硬件加速器的雙向并行處理卷積加速的進(jìn)一步設(shè)計(jì)在于,所述卷積運(yùn)算模塊中各單元包括:
數(shù)據(jù)緩沖器,在進(jìn)行卷積運(yùn)算時(shí),從數(shù)據(jù)存儲(chǔ)器中讀出像素?cái)?shù)據(jù),存入到數(shù)據(jù)緩沖器中,每次卷積運(yùn)算結(jié)束,從數(shù)據(jù)存儲(chǔ)器中讀入新的數(shù)據(jù),覆蓋之前的數(shù)據(jù);
卷積核參數(shù)緩沖器,從參數(shù)存儲(chǔ)器中讀取卷積核與相應(yīng)的數(shù)據(jù)緩沖器中的數(shù)據(jù)進(jìn)行按位卷積運(yùn)算;
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810480881.X/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:一種基于小波變換減少I(mǎi)O開(kāi)銷(xiāo)的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng)
- 下一篇:神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練、對(duì)象推薦方法及裝置
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 一種高電導(dǎo)玻璃粉及其制備方法,及基于其的鈦酸鋇基玻璃陶瓷及其制備方法
- 協(xié)同增強(qiáng)抗腫瘤的近紅外光響應(yīng)型納米復(fù)合材料
- 一種近紅外光下釋放NO和CO治療腫瘤的納米復(fù)合材料
- 一種電網(wǎng)負(fù)荷預(yù)測(cè)方法和裝置
- 在NAND存儲(chǔ)器陣列中實(shí)現(xiàn)具有三值輸入和二值權(quán)重的神經(jīng)網(wǎng)絡(luò)
- NAND存儲(chǔ)器陣列中的二值神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)
- 訓(xùn)練用于控制工程系統(tǒng)的機(jī)器學(xué)習(xí)例程的方法和設(shè)備
- 基于生物神經(jīng)網(wǎng)絡(luò)的認(rèn)知計(jì)算方法與系統(tǒng)
- 一種基于BNN的稠密雙目SLAM方法
- 對(duì)稱(chēng)型存儲(chǔ)單元及BNN電路





