[發(fā)明專利]一種基于脈動陣列的深度可分離卷積實現(xiàn)方法有效
| 申請?zhí)枺?/td> | 202110562786.6 | 申請日: | 2021-05-24 |
| 公開(公告)號: | CN113313252B | 公開(公告)日: | 2022-10-25 |
| 發(fā)明(設(shè)計)人: | 陸生禮;張廣明;張娟;龐偉 | 申請(專利權(quán))人: | 東南大學(xué) |
| 主分類號: | G06N3/08 | 分類號: | G06N3/08;G06N3/04;G06F7/50 |
| 代理公司: | 南京瑞弘專利商標(biāo)事務(wù)所(普通合伙) 32249 | 代理人: | 陳國強 |
| 地址: | 211189 江*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 脈動 陣列 深度 可分離 卷積 實現(xiàn) 方法 | ||
本發(fā)明公開了一種基于脈動陣列的深度可分離卷積實現(xiàn)方法,采用M行N列個處理單元(Processing Element,PE單元)構(gòu)成脈動陣列結(jié)構(gòu):在水平方向上,相鄰的PE單元之間相互連接,左側(cè)的PE單元可以將數(shù)據(jù)傳遞給右側(cè)的PE單元;在垂直方向上,每個PE單元有各自的數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口。數(shù)據(jù)預(yù)取模塊為計算陣列提供特征圖數(shù)據(jù)和權(quán)重參數(shù)。加法樹對每一列PE單元并行輸出的部分和數(shù)據(jù)進行累加。每個PE單元內(nèi)部主要由寄存器、數(shù)據(jù)選擇器、加法器和乘法器構(gòu)成。本發(fā)明采用上述結(jié)構(gòu)的脈動陣列并配合數(shù)據(jù)預(yù)取模塊和加法樹,可以實現(xiàn)不同的數(shù)據(jù)流和數(shù)據(jù)重用方式,從而實現(xiàn)對標(biāo)準(zhǔn)卷積、點卷積和深度卷積的加速計算。
技術(shù)領(lǐng)域
本發(fā)明公開了一種基于脈動陣列的深度可分離卷積實現(xiàn)方法,涉及卷積神經(jīng)網(wǎng)絡(luò)硬件加速器結(jié)構(gòu),屬于計算、推算的技術(shù)領(lǐng)域。
背景技術(shù)
卷積神經(jīng)網(wǎng)絡(luò)由于具有很高的準(zhǔn)確性,已經(jīng)廣泛應(yīng)用于圖像分類、目標(biāo)檢測、目標(biāo)跟蹤等計算機視覺領(lǐng)域。然而,卷積神經(jīng)網(wǎng)絡(luò)是計算密集型的模型,在訓(xùn)練和部署期間,需要龐大的計算量和參數(shù)量,這影響了其在資源受限的嵌入式移動端的應(yīng)用。
為了滿足實際應(yīng)用的需求,網(wǎng)絡(luò)架構(gòu)向輕量級網(wǎng)絡(luò)發(fā)展,輕量級網(wǎng)絡(luò)架構(gòu)廣泛的采用深度可分離卷積代替標(biāo)準(zhǔn)卷積計算,將標(biāo)準(zhǔn)卷積分解為深度卷積與點卷積兩部分,使神經(jīng)網(wǎng)絡(luò)具有更少的參數(shù)量和計算量,同時具有與大網(wǎng)絡(luò)可比擬的準(zhǔn)確率。
然而,由于深度可分離卷積具有較少的數(shù)據(jù)重用和計算并行度,導(dǎo)致加速器在計算深度可分離卷積的時候計算陣列的利用率大幅降低,進而導(dǎo)致性能的降低。因此,設(shè)計一種基于脈動陣列的深度可分離卷積實現(xiàn)方法具有重要意義。
發(fā)明內(nèi)容
為了充分利用深度可分離卷積的數(shù)據(jù)重用和計算并行度,本發(fā)明提供了一種基于脈動陣列的深度可分離卷積實現(xiàn)方法,采用靈活的數(shù)據(jù)流,提高了加速器計算陣列的利用率,實現(xiàn)了加速器對標(biāo)準(zhǔn)卷積和深度可分離卷積的加速計算。
本發(fā)明為解決上述問題采用如下的技術(shù)方案:
一種基于脈動陣列的深度可分離卷積實現(xiàn)方法,包括數(shù)據(jù)預(yù)取模塊和脈動陣列,所述脈動陣列包括若干個水平方向和垂直方向上排布的PE單元,所述PE單元對于其輸入數(shù)據(jù)、部分和數(shù)據(jù)具有不同的處理方式;PE單元對于數(shù)據(jù)A,每個周期更新一次或者將數(shù)據(jù)A固定在PE單元內(nèi)部的寄存器中重復(fù)使用;PE單元對于數(shù)據(jù)B,每個周期更新一次,并將上一周期的數(shù)據(jù)B傳輸給相鄰的PE單元;對于部分和數(shù)據(jù)每個周期輸出一次或?qū)⒉糠趾驮赑E單元內(nèi)部累加,并保存在PE單元內(nèi)部,在特定的周期輸出;脈動陣列水平方向上相鄰的PE單元之間相互連接,垂直方向上每個PE單元有各自的數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口;脈動陣列在計算不同的卷積時,水平方向和垂直方向傳輸?shù)臄?shù)據(jù)是不同的,計算標(biāo)準(zhǔn)卷積和點卷積時,水平方向傳輸?shù)氖翘卣鲌D數(shù)據(jù),垂直方向傳輸?shù)氖菣?quán)重參數(shù);計算深度卷積時,水平方向傳輸?shù)氖菣?quán)重參數(shù),垂直方向傳輸?shù)氖翘卣鲌D數(shù)據(jù);所述數(shù)據(jù)預(yù)取模塊根據(jù)脈動陣列執(zhí)行不同的卷積計算時對特征圖數(shù)據(jù)和權(quán)重參數(shù)的需求,為脈動陣列提供特征圖數(shù)據(jù)和權(quán)重參數(shù)。
進一步的,脈動陣列在計算標(biāo)準(zhǔn)卷積和點卷積時,采用同時在輸入通道維度和輸出通道維度進行并行計算的方式,在水平方向,每一行PE單元并行計算不同的輸入通道,在垂直方向上,每一列PE單元計算不同的輸出通道;在計算深度卷積時,采用同時在輸入通道維度和卷積窗口維度進行并行計算的方式,在水平方向,每一行PE單元并行計算不同的輸入通道,在垂直方向上,每一列PE單元計算不同的卷積窗口。
進一步的,所述PE單元包括乘法器、加法器、寄存器和數(shù)據(jù)選擇器,所述寄存器為3個,分別為寄存器I、寄存器II和寄存器Ⅲ,所述數(shù)據(jù)選擇器為4個,分別為數(shù)據(jù)選擇器I、數(shù)據(jù)選擇器II、數(shù)據(jù)選擇器Ⅲ和數(shù)據(jù)選擇器Ⅳ,
輸入數(shù)據(jù)A不需要被重用時,輸入數(shù)據(jù)A直接經(jīng)過數(shù)據(jù)選擇器Ⅱ傳入乘法器,然后和輸入數(shù)據(jù)B相乘,
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于東南大學(xué),未經(jīng)東南大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110562786.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





