System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及計算機,特別涉及一種用于神經網絡卷積層的數據處理方法及硬件電路。
技術介紹
1、隨著人工智能的發展,卷積神經網絡(convolutional?neural?networks,cnn)、循環神經網絡(recurrent?neural?networks,rnn)、深度神經網絡(deep?neural?networks,dnn)等神經網絡模型已經被應用于各種領域中,例如,神經網絡模型可以應用于語音識別、圖片分類、物體檢測等。
2、在實際應用中,卷積層是組成神經網絡模型不可缺少的部分,卷積層用于提取語言和圖片特征,是神經網絡模型中主要的計算部分,卷積層對數據的計算能力也是決定著智能芯片物理面積以及算力的大小和功耗的高低。在卷積層中需要將處理數據從內存中搬運至緩存單元,并不斷的將相應數據送給計算單元進行乘加處理。多數情況下,卷積運算需要通過外部連接ddr等模塊,然而,大多數ddr使用的時dram,其訪問效率較低,內部運算的時鐘頻率要高于ddr的訪問頻率。因此,如何在使用神經網絡模型時減少卷積層的特征和權重系數的讀取變得至關重要。
技術實現思路
1、本專利技術的目的在于提供一種用于神經網絡卷積層的數據處理方法及硬件電路,以解決
技術介紹
中的問題。
2、為解決上述技術問題,本專利技術提供了一種用于神經網絡卷積層的數據處理方法,包括:
3、將卷積陣列中乘法器數量設計成卷積核中數據元素大小,使得在一次卷積運算過程中,只需要從存儲器中獲取一次權重數據,就
4、通過動態滑塊方式,從內存中獲取待運算的特征數據,減少特征數據的重復讀取,提高訪問效率;
5、將乘法器中插入跨零選擇器,對特征數據進行選擇,特征數據為零時則跳過乘法計算,降低卷積運算過程中計算功耗。
6、在一種實施方式中,將特征數據和權重數據按一定存放規則存儲在片上緩存的特定區域,并按特定位寬和存放地址從片上緩存進行讀取;在運算過程中,一次權重讀取將8個卷積核的權重數據加載到計算單元中,一次特征數據讀取輸出一個卷積部分和結果,將部分和結果送至累加單元緩存,并按通道方向進行累加后輸出卷積結果。
7、在一種實施方式中,所述卷積核將乘法器的個數設置成與卷積核中元素個數相匹配,僅需要從存儲器中獲取1次權重數據,就能處理8個卷積核的乘加運算。
8、在一種實施方式中,所述權重數據按寬w、高h、通道c、卷積核數k的四維格式排列,所述特征數據在通道c方向與卷積核對齊。
9、在一種實施方式中,所述權重數據以通道c→高h→寬w→卷積核數k順序存儲在片上緩存的權重緩存區域中,所述特征數據以通道c→高h→寬w順序存儲在片上緩存的特征緩存區域中。
10、本專利技術還提供一種用于神經網絡卷積層的硬件電路,包括片上緩存、卷積處理模塊以及激活處理模塊、池化處理模塊;
11、所述片上緩存包含權重緩存、特征緩存和偏置緩存和輸出緩存四個存儲區域;其中所述特征緩存采取ping-pong緩存的方法,劃分兩個bank,在同一時刻滿足讀寫特征數據并行,提高訪存效率;
12、所述卷積處理模塊包括卷積控制模塊、權重緩存cache、特征緩存cache、mac陣列模塊和卷積累加模塊;所述卷積控制模塊負責從寄存器組中讀取配置信息,以控制卷積操作的使能,以及控制讀權重和特征地址的產生;所述權重緩存cache、特征緩存cache緩存需要進行計算的權重數據和特征數據,并發送給mac陣列模塊;mac陣列模塊負責權重數據和特征數據的乘累加計算。
13、在一種實施方式中,所述mac陣列模塊由多個mac_cell單元組成,一個mac_cell包含72個乘法器和71個加法器,一次計算3×3×8立方大小的卷積計算,輸出一個計算結果。
14、在一種實施方式中,所述mac_cell單元采用跨零乘法器設計,由兩個選擇器和一個乘法器組成,對輸入特征數據進行是否0值判斷,若輸入0值特征數據則跨過乘法器的乘法計算,直接輸出0值。
15、本專利技術提供的一種用于神經網絡卷積層的數據處理方法及硬件電路,通過將神經網絡卷積層中用于卷積計算的權重數據和特征數據經過特定的映射規則排布在內存中,并設計合理的乘累加器陣列和與之相匹配的帶寬,使得設計的卷積神經網絡加速器能實現快速的卷積運算。在卷積運算過程中,一次獲取卷積層的多個待處理權重數據,不再重復讀取權重,就能處理整個待處理的特征數據。本專利技術使用一種動態滑塊取數方法,能夠大大減少特征數據的重復讀取,提高數據的使用效率。為進一步降低運算功耗,本專利技術采用跨零乘累加器結構,當特征數據存在零值填充時,能夠減少額外乘法次數。本專利技術具有運算準確,功耗低,面積小,性能優的優點,具有并行計算優勢的硬件加速模塊;根據卷積神經網絡的運算結構,各運算階段劃分合理,各運算單元功能明確,實現流水化計算、在降低運算功耗的同時提升內存的訪問效率。
本文檔來自技高網...【技術保護點】
1.一種用于神經網絡卷積層的數據處理方法,其特征在于,包括:
2.如權利要求1所述的用于神經網絡卷積層的數據處理方法,其特征在于,將特征數據和權重數據按一定存放規則存儲在片上緩存的特定區域,并按特定位寬和存放地址從片上緩存進行讀取;在運算過程中,一次權重讀取將8個卷積核的權重數據加載到計算單元中,一次特征數據讀取輸出一個卷積部分和結果,將部分和結果送至累加單元緩存,并按通道方向進行累加后輸出卷積結果。
3.如權利要求1所述的用于神經網絡卷積層的數據處理方法,其特征在于,所述卷積核將乘法器的個數設置成與卷積核中元素個數相匹配,僅需要從存儲器中獲取1次權重數據,就能處理8個卷積核的乘加運算。
4.如權利要求1所述的用于神經網絡卷積層的數據處理方法,其特征在于,所述權重數據按寬W、高H、通道C、卷積核數K的四維格式排列,所述特征數據在通道C方向與卷積核對齊。
5.如權利要求1所述的用于神經網絡卷積層的數據處理方法,其特征在于,所述權重數據以通道C→高H→寬W→卷積核數K順序存儲在片上緩存的權重緩存區域中,所述特征數據以通道C→高H→寬W順
6.一種用于神經網絡卷積層的硬件電路,其特征在于,包括片上緩存、卷積處理模塊以及激活處理模塊、池化處理模塊;
7.如權利要求6所述的用于神經網絡卷積層的硬件電路,其特征在于,所述MAC陣列模塊由多個mac_cell單元組成,一個mac_cell包含72個乘法器和71個加法器,一次計算3×3×8立方大小的卷積計算,輸出一個計算結果。
8.如權利要求7所述的用于神經網絡卷積層的硬件電路,其特征在于,所述mac_cell單元采用跨零乘法器設計,由兩個選擇器和一個乘法器組成,對輸入特征數據進行是否0值判斷,若輸入0值特征數據則跨過乘法器的乘法計算,直接輸出0值。
...【技術特征摘要】
1.一種用于神經網絡卷積層的數據處理方法,其特征在于,包括:
2.如權利要求1所述的用于神經網絡卷積層的數據處理方法,其特征在于,將特征數據和權重數據按一定存放規則存儲在片上緩存的特定區域,并按特定位寬和存放地址從片上緩存進行讀取;在運算過程中,一次權重讀取將8個卷積核的權重數據加載到計算單元中,一次特征數據讀取輸出一個卷積部分和結果,將部分和結果送至累加單元緩存,并按通道方向進行累加后輸出卷積結果。
3.如權利要求1所述的用于神經網絡卷積層的數據處理方法,其特征在于,所述卷積核將乘法器的個數設置成與卷積核中元素個數相匹配,僅需要從存儲器中獲取1次權重數據,就能處理8個卷積核的乘加運算。
4.如權利要求1所述的用于神經網絡卷積層的數據處理方法,其特征在于,所述權重數據按寬w、高h、通道c、卷積核數k的四維格式排列,所述特征數據在通道c方向與卷積核對齊。
5...
【專利技術屬性】
技術研發人員:王少華,張辛未,
申請(專利權)人:中電科申泰信息科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。