TW202004569A - 深度神經網絡中批量標準化層修剪的方法 - Google Patents

深度神經網絡中批量標準化層修剪的方法 Download PDF

Info

Publication number
TW202004569A
TW202004569A TW108112335A TW108112335A TW202004569A TW 202004569 A TW202004569 A TW 202004569A TW 108112335 A TW108112335 A TW 108112335A TW 108112335 A TW108112335 A TW 108112335A TW 202004569 A TW202004569 A TW 202004569A
Authority
TW
Taiwan
Prior art keywords
layer
batch normalization
model
normalization layer
layers
Prior art date
Application number
TW108112335A
Other languages
English (en)
Other versions
TWI785227B (zh
Inventor
謝必克
蘇俊傑
張博棟
劉峻誠
Original Assignee
耐能智慧股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 耐能智慧股份有限公司 filed Critical 耐能智慧股份有限公司
Publication of TW202004569A publication Critical patent/TW202004569A/zh
Application granted granted Critical
Publication of TWI785227B publication Critical patent/TWI785227B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一種從預先訓練的深度神經網絡模型中修剪批量標準化層的方法。輸入預先訓練的深度神經網絡模型作為候選模型;僅當至少一批量標準化層連接及鄰接至對應的線性運算層時,從候選模型中移除至少一批量標準化層來修剪候選模型,以形成修剪之候選模型;調整線性運算層的權重以補償至少一批量標準化層的移除;並輸出修剪之候選模型。

Description

深度神經網絡中批量標準化層修剪的方法
本發明係關於一種具有至少一批量標準化層的深度神經網絡,尤指一種從預先訓練的深度神經網絡修剪批量標準化層的方法。
大規模深度神經網絡(deep neural network, DNN)在機器視覺、圖像辨識和語音處裡領域有著顯著的功用。然而,這些現代深度神經網絡通常包含許多層數,並具有非常龐大的模型,且需要高的計算強度。這些特性使得在具在有低儲存和低運算能力的終端用戶設備(例如,行動電話)上使用深度神經網絡變得非常困難。如ResNet,MobileNet,GoogLeNet及Xception等現代深度神經網絡皆包含多個批量標準化層。這些批量標準化層通常放在卷積層,密集層或深度卷積層之前或之後,以幫助訓練神經網絡收斂。但是,在模型推論階段,這些批量標準化層會佔用大量的運算資源而導致裝置需要龐大的運算能力來處理神經網絡的訓練。因此將具有批量標準化層的深度神經網絡導入所有類型的硬體,如中央處理單元,圖形處理單元,數位訊號處理器等,仍然具有困難度。
本發明提供一種從一預先訓練的深度神經網絡模型中修剪批量標準化層的方法,該深度神經網絡模型包括複數個層,該複數個層包括至少一批量標準化層,所述方法包括,輸入該預先訓練的深度神經網絡模型作為一候選模型;從該候選模型中移除該至少一批量標準化層來修剪該候選模型,以在當該至少一批量標準化層連接及鄰接至一對應的線性運算層時,形成一修剪之候選模型;調整該線性運算層的權重以補償該至少一批量標準化層的移除,使該修剪之候選模型的推論精準度與該預先訓練的深度神經網絡模型的推論精準度實質上相同;輸出該修剪之候選模型。
為了解決在運算資源有限的裝置中實施使用批量標準化層(batch normalization layer)訓練深度神經網絡(deep neural network)的問題,我們提出了一種新的批量標準化層修剪技術,其通過修剪與線性運算層(linear operation layer)連接的任何批量標準化層以無損地壓縮深度神經網絡模型。線性運算層包括但不限於卷積層(convolution layers),密集層(dense layers),深度卷積層(depthwise convolution layers)及組卷積層(group convolution layers)。此外,批量標準化層修剪技術不會改變神經網絡模型中的其他層的結構,因此,批量標準化層修剪技術可以直接實施到現有的神經網絡模型平台中。
在揭露批量標準化層修剪技術的細節之前,這裡總結了本專利申請的主要請求項(但不是所有請求項)。
實施例提供一種用於模型推論的新型批量標準化修剪技術。此批量標準化層修剪技術適用於具有批量標準化層的任何神經網絡。當批量標準化層連接到任何線性運算層(在其之前或之後)時,批量標準化層修剪技術可以修剪整個批量標準化層。線性運算層包括但不限於卷積層,密集層,深度卷積層和組卷積層。批量標準化層修剪技術可以加速在任何類型的硬體平台上實施的神經網絡推論,特別是有限運算資源的平台,例如中央處理器,圖形處理器,數位訊號處理器等。批量標準化層修剪技術是無損的,若不考慮數值計算精準度,在應用批量標準化層修剪技術之前和之後神經網絡輸出結果完全相同。
一批量標準化層具有N個輸入特徵和相同量(N)的輸出特徵。對於每個輸入特徵x,批量標準化過程具有參數y,其中:
Figure 02_image001
(1)
E[x]是輸入特徵x的移動平均值,Var[x]為x的移動變異數,eps為一給定的數值,gamma和beta為訓練過的參數。在模型推論中,所有這些參數都為已知,因此,批量標準化過程可以簡化為:
Figure 02_image003
(2)
Figure 02_image005
(3)
Figure 02_image007
(4)
如果具有K輸入特徵及N輸出特徵的一線性運算層位於批量標準化層之前,那麼此線性運算層可表示為:
Figure 02_image009
(5)
其中xi 是表示為列向量(column vector)的第i個輸出特徵,zj 是表示為列向量的第j個輸入特徵,bi 是第i個輸出特徵的偏差,為一個標量(scalar),+bi 是逐元素加法,Aij 是第j個輸入特徵到第i個輸出特徵的線性核心(矩陣)。對於密集層,Aij 是一個標量(1乘1矩陣),它正好是連接第j個輸入節點和第i個輸出節點的分支上的權重。對於卷積層,卷積運算可為線性矩陣乘法,其中Aij 為卷積運算的矩陣。深度卷積層及組卷積層也具有與卷積層類似的表達方式,若第i個輸出特徵和第j個輸入特徵之間沒有連接,則除了一些Aij 矩陣之外,基本上該矩陣為零矩陣。
線性運算層和批量標準化層組合的輸出為:
Figure 02_image011
(6) 等於
Figure 02_image013
(7) 等於
Figure 02_image015
(8)
這裡
Figure 02_image017
為標量,
Figure 02_image017
的加法是逐元素加法。該公式表明,若修剪批量標準化層並將線性運算層的權重調整為Aij →Aij *a和bi →b+bi *a,則權重調整後的線性運算層的輸出特徵與原始線性運算層和批量標準化層組合的輸出特徵實質上相同。這裡a和b是標量,因此,這些類型的權重調整可以應用於卷積層,密集層,深度卷積層和組卷積層。
當批量標準化層在線性運算層(例如,卷積層,密集層,深度卷積層和組卷積層)之後時,這裡所提出的方法可以修剪批量標準化層,調整線性運算層的權重,使調整後線性運算層的輸出特徵與原始線性運算層和批量標準化層組合的輸出特徵實質上相同。
若具有N個輸入特徵和L個輸出特徵的線性運算層位於在批量標準化層之後,那麼可將該線性運算層表示為:
Figure 02_image019
(9)
其中zi 為列向量的第i個輸出特徵,yj 為列向量的第j個輸入特徵,bi 為列向量第i個輸出要素的偏差。
線性運算層和批量標準化層組合的輸出為:
Figure 02_image021
(10) 等於
Figure 02_image023
(11) 等於
Figure 02_image025
(12)
其中t是一全為1的列向量。該公式表示若修剪批量標準化層並將線性運算層的權重調整為
Figure 02_image027
Figure 02_image029
Figure 02_image031
Figure 02_image033
,則權重調整後的線性運算層的輸出特徵與原始線性運算層和批量標準化層組合的輸出特徵實質上相同。這裡a,b,bi 為標量。因此,這些權重調整可應用於卷積層,密集層,深度卷積層和組卷積層。例如,對於卷積層,組卷積層和深度卷積層,
Figure 02_image031
Figure 02_image033
可以簡化為
Figure 02_image031
Figure 02_image035
。對於密集層,
Figure 02_image031
Figure 02_image033
可以簡化為
Figure 02_image031
Figure 02_image037
,其中
Figure 02_image027
是從第j個輸入節點到第i個輸出節點的分支上的權重。
當批量標準化層位在線性運算層(例如,卷積層,密集層,深度卷積層和組卷積層等)之前時,這裡所提出的方法可以修剪批量標準化層,調整線性運算層的權重,使調整後線性運算層的輸出特徵與原始線性運算層和批量標準化層組合的輸出特徵實質上相同。
第1圖為批量標準化修剪方法100的流程圖。步驟110開始該流程。接下來在步驟120中,逐項檢查每個批量標準化層,若沒有未處理的批量標準化層,則在步驟160中結束該流程,否則至步驟130,流程轉至未處理的批量標準化層,若下一個未處理的批量標準化層與線性運算層連接,則至步驟140,使用本專利中描述的批量標準化層修剪方法修剪該批量標準化層,更新對應的線性運算層的權重,並更新神經網絡模型結構。若該批量標準化層未與線性運算層連接,則不修剪該批量標準化層。在步驟150中,將未修剪的批量標準化層標記為已處理並返回步驟120。
批量標準化層的修剪方法100可以以如第2圖所示的裝置200中實施。裝置200可以包括一處理器220,耦接至一記憶體210及用於執行批量標準化層的修剪方法100的所有必要連接。記憶體210可為暫時性或非暫時性記憶體,並且可以包括深度神經網絡230及程式碼240。程式碼240可使處理器執行第1圖所示之步驟。裝置200還可用於實施已用上述方法修剪過深度神經網絡230。
本發明公開的批量標準化層修剪方法相較於神經網絡領域中之先前技術有著顯著的進步性。因該方法以預先訓練的深度神經網絡模型作為輸入,所以該模型已有一定的收斂度和準確性。通過修剪預先訓練的深度神經網絡模型中線性運算層連接的批量標準化層,使得神經網絡模型規模可以降低,減少了所需的硬體規格。此外,本方法可以提高模型推論的速度及降低其運算要求,並同時確保推論的準確性。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧流程圖 110至160‧‧‧方法 200‧‧‧裝置 210‧‧‧記憶體 220‧‧‧處理器 230‧‧‧深度神經網絡 240‧‧‧程式碼
第1圖為批量標準化層修剪方法100的流程圖。 第2圖為實施第1圖之所示批量標準化層修剪方法的裝置。
100‧‧‧流程圖
110至160‧‧‧方法

Claims (10)

  1. 一種從一預先訓練的深度神經網絡模型中修剪批量標準化層的方法,該深度神經網絡模型包括複數個層,該複數個層包括至少一批量標準化層,所述方法包括: 輸入該預先訓練的深度神經網絡模型作為一候選模型; 從該候選模型中移除該至少一批量標準化層來修剪該候選模型,以在當該至少一批量標準化層連接及鄰接至一對應的線性運算層時,形成一修剪之候選模型; 調整該線性運算層的權重以補償該至少一批量標準化層的移除,使該修剪之候選模型的推論精準度與該預先訓練的深度神經網絡模型的推論精準度實質上相同;及 輸出該修剪之候選模型。
  2. 如請求項1所述的方法,其中該對應的線性運算層可是至少一卷積層,密集層,深度卷積層及組卷積層。
  3. 如請求項1所述的方法,其中該預先訓練的深度神經網絡模型包括複數個批量標準化層;所述方法另包括在該至少一批量標準化層連接及鄰接至對應的線性運算層時,從該候選模型中移除該複數個批量標準化層中的每一層以形成該修剪之候選模型。
  4. 如請求項3所述的方法,另包括調整從該候選模型中移除的每一批量標準化層所對應的該線性運算層的權重,以補償該批量標準化層的移除,使得該修剪之候選模型的推論精準度為與預先訓練的深度神經網絡模型的推論精準度實質上相同。
  5. 如請求項3所述的方法,另包括從該候選模型中移除該至少一批量標準化層,而不改變該深度神經網絡中非批量標準化層的結構。
  6. 如請求項1所述的方法,另包括當該至少一批量標準化層連接及鄰接至一先前對應的線性運算層時,從該候選模型中移除該至少一批量標準化層以形成該修剪之候選模型。
  7. 如請求項1所述的方法,另包括當該至少一批量標準化層連接及鄰接至一後續對應的線性運算層時,從該候選模型中移除該至少一批量標準化層以形成該修剪之候選模型。
  8. 如請求項1所述的方法,另包括僅當該至少一批量標準化層連接及鄰接至一對應的線性運算層時,才從該候選模型中移除該至少一批量標準化層以形成該修剪的候選模型。
  9. 如請求項1所述的方法,另包括單獨處理每一批量標準化層,其中單獨處理每一批量標準化層包括: 僅當該至少一批量標準化層連接及鄰接至一對應的線性運算層時,從該候選模型中移除該至少一批量標準化層及調整該對應的線性運算層的權重;及 當該至少一批量標準化層未連接及鄰接至一對應的線性運算層時,保持該至少一批量標準化層及其相鄰層的權重。
  10. 一種用於從一預先訓練的深度神經網絡模型中修剪一批量標準化層的裝置,該深度神經網絡模型包括複數個層,該複數個層包括至少一批量標準化層,該裝置包括: 一處理器;及 一非揮發性記憶體,耦合至該處理器,該記憶體包括程式碼,該程式碼使該處理器執行以下步驟: 輸入該預先訓練的深度神經網絡模型作為一候選模型; 從該候選模型中移除該至少一批量標準化層來修剪該候選模型,以在當該至少一批量標準化層連接及鄰接至對應的線性運算層時,形成一修剪之候選模型; 調整該線性運算層的權重以補償該至少一批量標準化層的移除,使該修剪之候選模型的推論精準度與該預先訓練的深度神經網絡模型的推論精準度實質上相同;及 輸出該修剪之候選模型。
TW108112335A 2018-06-03 2019-04-09 深度神經網絡中批量標準化層修剪的方法 TWI785227B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862679971P 2018-06-03 2018-06-03
US62/679,971 2018-06-03
US16/255,850 2019-01-24
US16/255,850 US11488019B2 (en) 2018-06-03 2019-01-24 Lossless model compression by batch normalization layer pruning in deep neural networks

Publications (2)

Publication Number Publication Date
TW202004569A true TW202004569A (zh) 2020-01-16
TWI785227B TWI785227B (zh) 2022-12-01

Family

ID=68693559

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108112335A TWI785227B (zh) 2018-06-03 2019-04-09 深度神經網絡中批量標準化層修剪的方法

Country Status (3)

Country Link
US (1) US11488019B2 (zh)
CN (1) CN110555509A (zh)
TW (1) TWI785227B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI774411B (zh) * 2021-06-07 2022-08-11 威盛電子股份有限公司 模型壓縮方法以及模型壓縮系統
TWI817591B (zh) * 2022-06-30 2023-10-01 創鑫智慧股份有限公司 神經網路模型的簡化裝置與簡化方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200023238A (ko) * 2018-08-23 2020-03-04 삼성전자주식회사 딥러닝 모델을 생성하는 방법 및 시스템
US11681920B2 (en) * 2019-09-27 2023-06-20 Baidu Usa Llc Method and apparatus for compressing deep learning model
KR20220009126A (ko) 2020-07-15 2022-01-24 삼성전자주식회사 뉴럴 네트워크 연산 처리 장치 및 방법
CN116235184A (zh) * 2020-08-26 2023-06-06 英特尔公司 在神经网络中动态地规范化数据的方法和装置
CN111898591B (zh) * 2020-08-28 2022-06-24 电子科技大学 一种基于剪枝残差网络的调制信号识别方法
CN112288084B (zh) * 2020-10-23 2022-09-02 武汉大学 基于特征图通道重要性的深度学习目标检测网络压缩方法
CN113837381B (zh) * 2021-09-18 2024-01-05 杭州海康威视数字技术股份有限公司 深度神经网络模型的网络剪枝方法、装置、设备及介质
CN116520256B (zh) * 2023-07-03 2023-09-01 中国人民解放军空军预警学院 一种基于深度学习的机载预警雷达干扰识别方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104049755B (zh) * 2014-06-18 2017-01-18 中国科学院自动化研究所 信息处理方法及装置
US20180107926A1 (en) * 2016-10-19 2018-04-19 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization
WO2018128741A1 (en) * 2017-01-06 2018-07-12 Board Of Regents, The University Of Texas System Segmenting generic foreground objects in images and videos
CN107688850B (zh) * 2017-08-08 2021-04-13 赛灵思公司 一种深度神经网络压缩方法
CN109711528A (zh) * 2017-10-26 2019-05-03 北京深鉴智能科技有限公司 基于特征图变化对卷积神经网络剪枝的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI774411B (zh) * 2021-06-07 2022-08-11 威盛電子股份有限公司 模型壓縮方法以及模型壓縮系統
TWI817591B (zh) * 2022-06-30 2023-10-01 創鑫智慧股份有限公司 神經網路模型的簡化裝置與簡化方法

Also Published As

Publication number Publication date
CN110555509A (zh) 2019-12-10
TWI785227B (zh) 2022-12-01
US20190370656A1 (en) 2019-12-05
US11488019B2 (en) 2022-11-01

Similar Documents

Publication Publication Date Title
TW202004569A (zh) 深度神經網絡中批量標準化層修剪的方法
JP6806412B2 (ja) パターン認識に適用可能なモデルを最適化するための方法および装置ならびに端末デバイス
JP6890607B2 (ja) 自動多閾値特徴フィルタリング方法及び装置
US11645529B2 (en) Sparsifying neural network models
TW202004658A (zh) 深度神經網絡自我調整增量模型壓縮的方法
CN111985523A (zh) 基于知识蒸馏训练的2指数幂深度神经网络量化方法
CN111758104B (zh) 适合于硬件实现的神经网络参数优化方法、神经网络计算方法和装置
CN109543029B (zh) 基于卷积神经网络的文本分类方法、装置、介质和设备
CN110458287B (zh) 神经网络优化器的参数更新方法、装置、终端及存储介质
CN113241064B (zh) 语音识别、模型训练方法、装置、电子设备和存储介质
TWI744724B (zh) 處理卷積神經網路的方法
CN115860100A (zh) 一种神经网络模型训练方法、装置及计算设备
CN111243574A (zh) 一种语音模型自适应训练方法、系统、装置及存储介质
CN110377909B (zh) 一种客户反馈信息的分类方法及装置
WO2020177378A1 (zh) 文本信息的特征提取方法、装置、计算机设备及存储介质
CN110874635B (zh) 一种深度神经网络模型压缩方法及装置
CN117521763A (zh) 一种融合组正则化剪枝和重要性剪枝的人工智能模型压缩方法
CN111695689B (zh) 一种自然语言处理方法、装置、设备及可读存储介质
CN115129831A (zh) 数据处理方法、装置、电子设备及计算机存储介质
CN110120009B (zh) 基于显著物体检测和深度估计算法的背景虚化实现方法
CN112561050A (zh) 一种神经网络模型训练方法及装置
WO2021244203A1 (zh) 参数优化的方法、电子设备和存储介质
WO2020041934A1 (zh) 一种数据处理设备以及一种数据处理方法
CN110852414A (zh) 高精度低位卷积神经网络
WO2020134829A1 (zh) 一种神经网络批归一化的优化方法及装置