[發(fā)明專利]基于深度卷積神經(jīng)網(wǎng)絡(luò)的層內(nèi)非均勻的K平均聚類定點(diǎn)量化方法在審
| 申請?zhí)枺?/td> | 201710033021.7 | 申請日: | 2017-01-12 |
| 公開(公告)號: | CN106897734A | 公開(公告)日: | 2017-06-27 |
| 發(fā)明(設(shè)計)人: | 王中風(fēng);孫方軒;林軍 | 申請(專利權(quán))人: | 南京大學(xué) |
| 主分類號: | G06K9/62 | 分類號: | G06K9/62;G06N3/04;G06N3/063;G06N3/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210023 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 深度 卷積 神經(jīng)網(wǎng)絡(luò) 層內(nèi)非 均勻 平均 定點(diǎn) 量化 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及深度學(xué)習(xí)模型壓縮領(lǐng)域,特別是面向嵌入式系統(tǒng)的深度卷積神經(jīng)網(wǎng)絡(luò)的定點(diǎn)化領(lǐng)域。
背景技術(shù)
隨著人工智能的快速發(fā)展,以深度學(xué)習(xí)為主導(dǎo)的算法所設(shè)計的應(yīng)用已經(jīng)越來愈多的出現(xiàn)在人們的生活,工作和娛樂中。然而深度神經(jīng)網(wǎng)絡(luò)往往由其十幾甚至上百的卷積層構(gòu)成,計算過程中產(chǎn)生的特征映射需要占據(jù)大量的存儲空間。這意味著對于嵌入式應(yīng)用對導(dǎo)致產(chǎn)品面積大大增加。所以,研究深度卷積神經(jīng)網(wǎng)絡(luò)的定點(diǎn)壓縮問題,對于減小特征映射的存儲開銷,提高深度學(xué)習(xí)的實(shí)用價值有著非常非常重要的意義。
目前的深度卷積神經(jīng)網(wǎng)絡(luò)中的特征映射定點(diǎn)量化中主要是通過層間規(guī)則或者非規(guī)則量化方法,以減少特征映射的存儲開銷。
發(fā)明內(nèi)容
發(fā)明目的:本發(fā)明所要解決的技術(shù)問題是針對深度卷積神經(jīng)網(wǎng)絡(luò)中特征映射存儲開銷過大的問題,提供一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的層內(nèi)非均勻的K平均聚類定點(diǎn)量化方法,從而在保持模型精度的情況下使得存儲開銷得以大大減少。
為了解決上述技術(shù)問題,本發(fā)明公開了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的層內(nèi)非均勻的K平均聚類定點(diǎn)量化方法,包括以下步驟:
步驟一,選取部分深度卷積神經(jīng)網(wǎng)絡(luò)的能夠正確識別的圖像,并提取識別過程中產(chǎn)生的特征映射;
步驟二,對卷積神經(jīng)網(wǎng)絡(luò)中的特征映射進(jìn)行層間非規(guī)則量化,在保持模型精度情況下,確定每一層卷積網(wǎng)絡(luò)的最大量化位數(shù);
步驟三,對于模型中的每一卷積層,利用K平均聚類算法(K Means Clustering)確定滿足特征映射分布的定點(diǎn)值,并使定點(diǎn)值的范圍在最大量化位數(shù)能表示的范圍內(nèi),用定點(diǎn)值代表特征映射中的值,并以索引的形式進(jìn)行保存;
步驟四,利用神經(jīng)網(wǎng)絡(luò)模型微調(diào)方法(Fine Tuning Method)對模型進(jìn)行微調(diào),消除量化帶來的誤差。
本發(fā)明中,優(yōu)選地,所述步驟一包括以下步驟:
步驟(11),對已有深度卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行前向測試,由于正確樣本的特征映射的分布更具有代表性,故選取其中能夠正確識別的圖像;
步驟(12),提取正確樣本的特征映射。
本發(fā)明中,優(yōu)選地,所述步驟二包括以下步驟:
步驟(21),在滿足精度的前提下,通過將原本為全精度浮點(diǎn)數(shù)的特征映射改用固定位數(shù)的定點(diǎn)數(shù)表示,如果發(fā)生超過定點(diǎn)數(shù)表達(dá)范圍的數(shù),則在二進(jìn)制下將超過規(guī)定位數(shù)的比特位截斷,對深度卷積神經(jīng)網(wǎng)絡(luò)所有卷積層進(jìn)行統(tǒng)一量化位數(shù)的規(guī)則量化;
步驟(22),在不大于規(guī)則量化所確定的量化位數(shù)的前提下,通過層間非規(guī)則量化確定每一層卷積神經(jīng)網(wǎng)絡(luò)所滿足的最大量化位數(shù),以節(jié)省更多存儲空間;
本發(fā)明中,優(yōu)選地,所述步驟三包括以下步驟:
步驟(31),確定最大能容忍的精度損失,如果量化帶來的精度損失超過此閾值,則提高量化位數(shù);
步驟(32),將0和每層卷積層的最大量化位數(shù)能達(dá)到的最大值分別設(shè)為定點(diǎn)值的區(qū)間的起點(diǎn)和終點(diǎn);
步驟(33),在已確定的區(qū)間內(nèi)利用K平均聚類方法對提取的特征映射進(jìn)行聚類,將定點(diǎn)值設(shè)為將聚類中心點(diǎn),并確保定點(diǎn)值的數(shù)量小于最大量化位數(shù)可以表示的數(shù)量;
步驟(34),浮點(diǎn)數(shù)表示的將選取的定點(diǎn)值從小到大對應(yīng)以相應(yīng)的索引;
步驟(35),按向下取值的原則,將特征映射中的所有值分別替換為離其最近并小于自己的定點(diǎn)值并保證在小于能同人的最大精度損失的情況下盡可能減小定點(diǎn)值的數(shù)量;
步驟(36),表示索引所用的位數(shù)小于表示定點(diǎn)值所用的位數(shù),存儲時采用定點(diǎn)值對應(yīng)的索引進(jìn)行存儲可以在層間非規(guī)則量化的基礎(chǔ)上進(jìn)一步縮減存儲空間;
本發(fā)明中,優(yōu)選地,所述步驟四包括以下步驟:
步驟(41),在滿足定點(diǎn)約束的條件下,對模型進(jìn)行再訓(xùn)練對模型進(jìn)行微調(diào),消除誤差。
本發(fā)明的原理是通過提取識別過程中產(chǎn)生的特征映射。其次,對卷積神經(jīng)網(wǎng)絡(luò)中的特征映射進(jìn)行層間非規(guī)則K平均聚類量化。然后對于模型中的每一卷積層,在最大量化位數(shù)能表示的范圍內(nèi),通過K平均聚類方法,利用卷積神經(jīng)網(wǎng)絡(luò)的分布特征,選取定點(diǎn)值,并用定點(diǎn)值代表特征映射中的值,并以索引的形式進(jìn)行保存。最后,利用神經(jīng)網(wǎng)絡(luò)模型微調(diào)方法對模型進(jìn)行微調(diào),消除量化帶來的誤差。
有益效果:本發(fā)明通過軟件和硬件結(jié)合方法進(jìn)行模型壓縮,在對深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行層內(nèi)非均勻定點(diǎn)化后,即可大幅度減少其存儲開銷。本發(fā)明在深度神經(jīng)網(wǎng)絡(luò)在嵌入式設(shè)備中有廣泛的應(yīng)用前景。
附圖說明
該專利技術(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/201710033021.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06K 數(shù)據(jù)識別;數(shù)據(jù)表示;記錄載體;記錄載體的處理
G06K9-00 用于閱讀或識別印刷或書寫字符或者用于識別圖形,例如,指紋的方法或裝置
G06K9-03 .錯誤的檢測或校正,例如,用重復(fù)掃描圖形的方法
G06K9-18 .應(yīng)用具有附加代碼標(biāo)記或含有代碼標(biāo)記的打印字符的,例如,由不同形狀的各個筆畫組成的,而且每個筆畫表示不同的代碼值的字符
G06K9-20 .圖像捕獲
G06K9-36 .圖像預(yù)處理,即無須判定關(guān)于圖像的同一性而進(jìn)行的圖像信息處理
G06K9-60 .圖像捕獲和多種預(yù)處理作用的組合
- 卷積運(yùn)算處理方法及相關(guān)產(chǎn)品
- 一種卷積神經(jīng)網(wǎng)絡(luò)的計算方法及系統(tǒng)
- 卷積運(yùn)算方法及系統(tǒng)
- 卷積運(yùn)算方法、裝置及系統(tǒng)
- 深度神經(jīng)網(wǎng)絡(luò)裁剪方法、裝置及電子設(shè)備
- 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法和圖像處理裝置
- 卷積神經(jīng)網(wǎng)絡(luò)及基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法
- 一種圖像處理方法、裝置以及計算機(jī)存儲介質(zhì)
- 用于卷積神經(jīng)網(wǎng)絡(luò)的卷積運(yùn)算裝置
- 基于FPGA實(shí)現(xiàn)圖像識別的方法、裝置、設(shè)備及存儲介質(zhì)
- 硬件神經(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)化方法及裝置





