[發(fā)明專利]一種適用于移動終端的二值神經(jīng)網(wǎng)絡(luò)前向傳播框架在審
| 申請?zhí)枺?/td> | 201911410119.5 | 申請日: | 2019-12-31 |
| 公開(公告)號: | CN111160534A | 公開(公告)日: | 2020-05-15 |
| 發(fā)明(設(shè)計)人: | 陳剛;何晟宇 | 申請(專利權(quán))人: | 中山大學(xué) |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/08 |
| 代理公司: | 廣州粵高專利商標(biāo)代理有限公司 44102 | 代理人: | 陳偉斌 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 適用于 移動 終端 神經(jīng)網(wǎng)絡(luò) 傳播 框架 | ||
本發(fā)明涉及一種適用于移動終端的二值神經(jīng)網(wǎng)絡(luò)前向傳播框架,包括模型轉(zhuǎn)換模塊和前向傳播模塊;前向傳播模型包括數(shù)據(jù)儲存單元、運(yùn)算單元和優(yōu)化單元;數(shù)據(jù)儲存單元使用個數(shù)、高、寬、通道數(shù)的數(shù)據(jù)布局方式存儲數(shù)據(jù)并對數(shù)據(jù)進(jìn)行壓縮;運(yùn)算單元為GPU的計算單元,將二值化神經(jīng)網(wǎng)絡(luò)的操作層進(jìn)行合并;優(yōu)化單元在運(yùn)算單元中平衡線程讀寫數(shù)據(jù)量與計算量。相比于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)框架,提供了在手機(jī)上進(jìn)行前向傳播的方案,減少了存儲占用,提高了運(yùn)算速度,利用GPU提高了二值神經(jīng)網(wǎng)絡(luò)在手機(jī)上運(yùn)行的能耗比,可以在移動終端上高效運(yùn)行二值神經(jīng)網(wǎng)絡(luò)。
技術(shù)領(lǐng)域
本發(fā)明涉及神經(jīng)網(wǎng)絡(luò)框架領(lǐng)域,更具體地,涉及一種適用于移動終端的二值神經(jīng)網(wǎng)絡(luò)前向傳播框架。
背景技術(shù)
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經(jīng)網(wǎng)絡(luò)(NNs)或稱作連接模型(Connection Model),它是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型。這種網(wǎng)絡(luò)依靠系統(tǒng)的復(fù)雜程度,通過調(diào)整內(nèi)部大量節(jié)點(diǎn)之間相互連接的關(guān)系,從而達(dá)到處理信息的目的。
在應(yīng)用一個人工神經(jīng)網(wǎng)絡(luò)時,一般來說都分為4個步驟:1.根據(jù)需求訓(xùn)練相應(yīng)神經(jīng)網(wǎng)絡(luò);2.對訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)進(jìn)行調(diào)整和優(yōu)化,得到合適部署的模型;3.在目標(biāo)設(shè)備上加載模型進(jìn)行前向傳播,得到神經(jīng)網(wǎng)絡(luò)的計算結(jié)果;4.神經(jīng)網(wǎng)絡(luò)計算結(jié)果結(jié)合部分算法,得到整體最終結(jié)果。在傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)中,通常使用全精度(32bit)的浮點(diǎn)數(shù)保存權(quán)重和進(jìn)行計算,雖然可以保證較高精度,但是在手機(jī)等性能和功率有限的移動設(shè)備上。
現(xiàn)有的人工神經(jīng)網(wǎng)絡(luò)前向傳播框架有TensorFlow、Caffe和MXNet。但是這些框架不支持在移動終端使用GPU進(jìn)行人工神經(jīng)網(wǎng)絡(luò)的前向推理,只支持傳統(tǒng)的電腦和服務(wù)器通過GPU進(jìn)行人工網(wǎng)絡(luò)的前向推理,而在移動終端上使用CPU進(jìn)行傳統(tǒng)的浮點(diǎn)人工神經(jīng)網(wǎng)絡(luò)前向傳播的計算效率低、能耗大、速度慢。
發(fā)明內(nèi)容
本發(fā)明為克服上述現(xiàn)有技術(shù)中移動終端只使用CPU進(jìn)行人工神經(jīng)網(wǎng)絡(luò)前向推理導(dǎo)致計算效率低、能耗大和速度慢的問題,提供一種適用于移動終端的二值神經(jīng)網(wǎng)絡(luò)前向傳播框架,該框架在移動終端的GPU中運(yùn)行并通過計算優(yōu)化,提高計算效率、降低能耗和增加速度。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:一種適用于移動終端的二值神經(jīng)網(wǎng)絡(luò)前向傳播框架,包括模型轉(zhuǎn)換模塊和前向傳播模塊;所述模型轉(zhuǎn)換模塊用于將訓(xùn)練好的二值神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換為本框架專用的模型,在轉(zhuǎn)化過程中進(jìn)行數(shù)據(jù)的處理和預(yù)計算;所述前向傳播用于對轉(zhuǎn)換后的二值神經(jīng)網(wǎng)絡(luò)模型進(jìn)行前向傳播計算;
所述前向傳播模型包括數(shù)據(jù)儲存單元、運(yùn)算單元和優(yōu)化單元;
所述數(shù)據(jù)儲存單元使用個數(shù)、高、寬、通道數(shù)的數(shù)據(jù)布局方式存儲數(shù)據(jù)并對數(shù)據(jù)進(jìn)行壓縮;節(jié)約大量的存儲空間。
所述運(yùn)算單元為GPU的計算單元,將二值化神經(jīng)網(wǎng)絡(luò)的操作層進(jìn)行合并;節(jié)省數(shù)據(jù)I/O時間;
所述優(yōu)化單元在運(yùn)算單元中平衡線程讀寫數(shù)據(jù)量與計算量。
優(yōu)選的,轉(zhuǎn)換后的二值神經(jīng)網(wǎng)絡(luò)模型按照由粗到細(xì)的粒度表示成:網(wǎng)絡(luò),層,張量;在框架中,網(wǎng)絡(luò)被分為一個一個的層結(jié)構(gòu),每一個層中擁有相應(yīng)的參數(shù),框架中的數(shù)據(jù)都被存儲在張量中。網(wǎng)絡(luò)框架使用自己的GPU內(nèi)存管理與回收系統(tǒng),在第一次前向傳播時分配每一步所需要的內(nèi)存資源,并在層的層面使用指針進(jìn)行管理和分配,在第二次及以后的前向傳播過程中重復(fù)使用無需分配。
由于本框架使用NHWC(個數(shù)、高、寬、通道數(shù))的數(shù)據(jù)布局方式存儲數(shù)據(jù),用表示一個張量,其中H,W,C分別表示張量的高,寬,通道,并且有h,w,c使得h∈[0,H),w∈[0,W),c∈[0,C)。張量的數(shù)據(jù)塊被存儲在受框架管理的塊內(nèi)存中,并且按照行優(yōu)先進(jìn)行數(shù)據(jù)存儲,也就是說,訪問th,w,c可以使用公式(h×W+w)×C+c進(jìn)行尋址訪問。
該專利技術(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/201911410119.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 硬件神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法、計算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡(luò)
- 神經(jīng)網(wǎng)絡(luò)的生成方法、生成裝置和電子設(shè)備
- 一種舌診方法、裝置、計算設(shè)備及計算機(jī)存儲介質(zhì)
- 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法及相關(guān)轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲介質(zhì)和計算機(jī)設(shè)備
- 一種適應(yīng)目標(biāo)數(shù)據(jù)集的網(wǎng)絡(luò)模型微調(diào)方法、系統(tǒng)、終端和存儲介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡(luò)的處理器及其操作方法、電氣設(shè)備
- 一種圖像神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化方法及裝置





