本申請提供一種一次性網絡架構搜索方法及硬件加速器,所述方法包括:構建超級網絡,超級網絡由多個層結構組成,獲取一次性超級網絡訓練算法,基于一次性超級網絡訓練算法,對超級網絡進行訓練,得到目標深度神經網絡;基于目標深度神經網絡,利用遺傳算法并結合FPGA加速器,使用FPGA感知的網絡架構搜索,得到具有最優精度和硬件性能的網絡架構,以解決目前基于乘法算子的深度神經網絡在執行圖像分類任務時的分類精度雖然高,但是在硬件實現時,能耗和面積開銷巨大,很難應用到移動設備或者物聯網設備中;而基于無乘法算子的深度神經網絡雖然在硬件實現時,具有優越的硬件執行效率,但其在完成圖像分類任務時,分類精度較低的問題。
【技術實現步驟摘要】
本申請涉及神經網絡,尤其涉及一種一次性網絡架構搜索方法及硬件加速器。
技術介紹
1、深度神經網絡(deep?neural?network,dnn)在計算機視覺任務中取得了巨大的成功,促使基于dnn的方法在實際應用中的需求增加。
2、然而,dnn中廣泛使用的乘法運算主導了其硬件消耗,并在很大程度上限制了dnn可實現的硬件效率,這促使了無乘法dnn的發展,其采用硬件友好的算子,如加法和位移位(它們需要更少的能耗和面積開銷),來代替乘法。
3、雖然無乘法dnn具有優越的硬件效率,但是其任務精度通常不如基于乘法運算的dnn。因此需要同時結合以上兩者的優點來構造乘法數目減少的混合dnn,以實現性能和效率的權衡。
技術實現思路
1、為解決傳統基于乘法算子的深度神經網絡在硬件實現時,能耗和面積開銷巨大,而無乘法的深度神經網絡的任務精度不足的問題,本申請通過以下方面提供一種一次性網絡架構搜索方法及硬件加速器。
2、本申請第一方面提供了一種一次性網絡架構搜索方法,包括:
3、構建超級網絡,所述超級網絡由多個層結構組成,所述層結構包括:第一卷積層、以及與所述第一卷積層連接的候選模塊組、以及與所述候選模塊組連接的池化模塊、以及與所述池化模塊連接的池化層、以及與所述池化層連接的分類器;所述層結構的最后兩層為固定層,其余的所述層結構則需要從所述候選模塊組的搜索空間中搜索;所述候選模塊組的搜索空間包括:卷積層和非卷積層,所述非卷積層包括:加法層和移位層;
4、獲取一次性超級網絡訓練算法,基于所述一次性超級網絡訓練算法,對所述超級網絡進行訓練,得到目標深度神經網絡;
5、基于所述目標深度神經網絡,利用遺傳算法并結合fpga加速器,使用fpga感知的網絡架構搜索,得到具有最優精度和硬件性能的網絡架構。
6、在一些實施例中,所述候選模塊組的搜索空間共設置有7個階段,每個階段包括至少一個備選模塊,每個所述備選模塊包括兩個逐點卷積層和一個逐通道卷積層,以五個超參數表示;所述候選模塊組的搜索空間的超參數為:
7、候選模塊組的輸出通道數量,包括:第一階段{16,24},第二階段{24,32},第三階段{32,40},第四階段{64,72},第五階段{112,120,128},第六階段{192,200,208,216},第七階段{216,224};
8、候選模塊組的輸出通道擴張比例,包括:第一階段{1},第二階段{4,5,6},第三階段{4,5,6},第四階段{4,5,6},第五階段{4,5,6},第六階段{6},第七階段{6};
9、候選模塊組的卷積核尺寸,包括:第一階段{3,5},第二階段{3,5},第三階段{3,5},第四階段{3,5},第五階段{3,5},第六階段{3,5},第七階段{3,5};
10、候選模塊組的模塊數量,包括:第一階段{1,2},第二階段{3,4,5},第三階段{3,4,5,6},第四階段{3,4,5,6},第五階段{3,4,5,6,7,8},第六階段{3,4,5,6,7,8},第七階段{1,2};
11、層類型包括:卷積層、加法層和移位層;
12、其中,第一卷積層以及池化模塊的卷積核大小和層類型被分別設置為1和卷積層,其輸出通道數可被搜索,輸出通道數搜索空間的超參數為:
13、第一卷積層的輸出通道數量,包括:{16,24};
14、池化模塊的輸出通道數量,包括:{1792,1984}。
15、在一些實施例中,所述基于所述一次性超級網絡訓練算法,對所述超級網絡進行訓練,得到目標深度神經網絡包括:
16、基于所述一次性超級網絡訓練算法,對所述超級網絡進行精簡,得到精簡后的超級網絡;
17、對所述精簡后的超級網絡進行訓練,得到目標深度神經網絡。
18、在一些實施例中,對所述精簡后的超級網絡進行訓練,包括:
19、基于三明治規則對所述精簡后的超級網絡進行采樣,得到采樣模型;所述采樣模型包括:最小的子網絡、最大的子網絡、隨機抽樣的子網絡;
20、基于所述采樣模型,利用優化模型優化所述采樣模型的權重,得到優化后的采樣模型;
21、基于所述優化后的采樣模型,利用α散度對所述優化后的采樣模型進行知識蒸餾訓練,得到目標深度神經網絡。
22、在一些實施例中,所述使用fpga感知的網絡架構搜索,包括:
23、基于fpga獲取初始的網絡架構集合;
24、基于所述初始的網絡架構集合,對所述初始的網絡架構集合執行交叉和變異指令,得到擴展的網絡架構集合;
25、更新所述擴展的網絡架構集合,得到目標網絡架構集合,利用所述目標網絡架構集合進行搜索。
26、本申請第二方面提供了一種硬件加速器,所述硬件加速器用于加速上述第一方面中任意一項所述的一次性網絡架構搜索方法得到的目標深度神經網絡,包括:加速核模塊;所述加速核模塊包括卷積加速核、移位加速核和加法加速核;
27、所述卷積加速核設置有用于處理卷積的乘累加單元,所述移位加速核設置有用于支持移位層的移位累加單元,所述加法加速核則設置有用于支持加法層的加法累加單元;
28、所述硬件加速器還包括:全局緩沖區、控制器、片外存儲模塊;
29、其中,所述片外存儲模塊用于存儲預先訓練好的模型參數以及輸入數據和輸出數據;
30、所述全局緩沖區用于讀取所述輸入數據、緩存片內中間計算數據;
31、所述卷積加速核用于加速深度神經網絡中的卷積層,包括多個乘累加單元,所述多個乘累加單元構成脈動陣列;
32、所述控制器用于協調、控制各個模塊間的協同與邏輯;
33、所述移位加速核用于加速深度神經網絡中的移位層,包括多個移位累加單元,所述多個移位累加單元構成脈動陣列;
34、所述加法加速核用于加速深度神經網絡中的加法層,包括多個加法累加單元,所述多個加法累加單元構成脈動陣列。
35、在一些實施例中,所述乘累加單元設置有一個數字信號處理器,所述數字信號處理器內置有27比特×18比特乘法器,用于執行(a+d)×b的乘法操作,其中a是30比特,d是27比特,b是18比特。
36、在一些實施例中,所述移位累加單元設置有第一查找表,所述第一查找表用于實現混合模型移位層中的移位操作。
37、在一些實施例中,所述加法累加單元設置有第二查找表,所述第二查找表用于利用fpga上的查找表資源。
38、在一些實施例中,所述的硬件加速器,還包括:
39、分配單元,所述分配單元用于將fpga上的數字信號處理器和查找表資源按照不同層類型的操作數量分配給對應的所述加速核模塊。
40、本申請提供一種一次性網絡架構搜索方法及硬件加速器,所述方法包括:構建超級網絡,所述超級網絡由多個層結構組成本文檔來自技高網
...
【技術保護點】
1.一種一次性網絡架構搜索方法,其特征在于,包括:
2.根據權利要求1所述的一次性網絡架構搜索方法,其特征在于,所述候選模塊組的搜索空間共設置有七個階段,每個階段包括至少一個備選模塊,每個所述備選模塊包括兩個逐點卷積層和一個逐通道卷積層,以五個超參數表示;所述候選模塊組的搜索空間的超參數為:
3.根據權利要求1所述的一次性網絡架構搜索方法,其特征在于,所述基于所述一次性超級網絡訓練算法,對所述超級網絡進行訓練,得到目標深度神經網絡包括:
4.根據權利要求3所述的一次性網絡架構搜索方法,其特征在于,對所述精簡后的超級網絡進行訓練,得到目標深度神經網絡包括:
5.根據權利要求1所述的一次性網絡架構搜索方法,其特征在于,所述使用FPGA感知的網絡架構搜索,包括:
6.一種硬件加速器,所述硬件加速器用于加速上述權利要求1至5中任意一項所述的一次性網絡架構搜索方法得到的目標深度神經網絡,其特征在于,包括:加速核模塊;所述加速核模塊包括卷積加速核、移位加速核和加法加速核;
7.根據權利要求6所述的硬件加速器,其特征在于,所述乘累加單元設置有一個數字信號處理器,所述數字信號處理器內置有27比特×18比特乘法器,用于執行(A+D)×B的乘法操作,其中A是30比特,D是27比特,B是18比特。
8.根據權利要求6所述的硬件加速器,其特征在于,所述移位累加單元設置有第一查找表,所述第一查找表用于實現混合模型移位層中的移位操作。
9.根據權利要求6所述的硬件加速器,其特征在于,所述加法累加單元設置有第二查找表,所述第二查找表用于利用FPGA上的查找表資源。
10.根據權利要求6所述的硬件加速器,其特征在于,還包括:
...
【技術特征摘要】
1.一種一次性網絡架構搜索方法,其特征在于,包括:
2.根據權利要求1所述的一次性網絡架構搜索方法,其特征在于,所述候選模塊組的搜索空間共設置有七個階段,每個階段包括至少一個備選模塊,每個所述備選模塊包括兩個逐點卷積層和一個逐通道卷積層,以五個超參數表示;所述候選模塊組的搜索空間的超參數為:
3.根據權利要求1所述的一次性網絡架構搜索方法,其特征在于,所述基于所述一次性超級網絡訓練算法,對所述超級網絡進行訓練,得到目標深度神經網絡包括:
4.根據權利要求3所述的一次性網絡架構搜索方法,其特征在于,對所述精簡后的超級網絡進行訓練,得到目標深度神經網絡包括:
5.根據權利要求1所述的一次性網絡架構搜索方法,其特征在于,所述使用fpga感知的網絡架構搜索,包括:
6.一種硬件加速器,所述硬件加速器用...
【專利技術屬性】
技術研發人員:王中風,石卉虹,徐揚,王越非,毛文東,
申請(專利權)人:南京大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。