TWI722434B - 深度神經網絡自我調整增量模型壓縮的方法 - Google Patents

深度神經網絡自我調整增量模型壓縮的方法 Download PDF

Info

Publication number
TWI722434B
TWI722434B TW108117254A TW108117254A TWI722434B TW I722434 B TWI722434 B TW I722434B TW 108117254 A TW108117254 A TW 108117254A TW 108117254 A TW108117254 A TW 108117254A TW I722434 B TWI722434 B TW I722434B
Authority
TW
Taiwan
Prior art keywords
model
layer
candidate
compression
accuracy
Prior art date
Application number
TW108117254A
Other languages
English (en)
Other versions
TW202004658A (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 TW202004658A publication Critical patent/TW202004658A/zh
Application granted granted Critical
Publication of TWI722434B publication Critical patent/TWI722434B/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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

壓縮預先訓練的深度神經網絡模型的方法包括輸入預訓練的網絡模型作為候選模型,增加候選模型的稀疏度來壓縮候選模型,移除候選模型中至少一批量標準化層,將剩餘權重量化為定點表示以形成壓縮模型。以用戶的訓練和驗證資料確認壓縮模型的準確度,重複壓縮候選模型並輸出用於推論的壓縮模型。

Description

深度神經網絡自我調整增量模型壓縮的方法
本發明是關於一種大規模深度神經網絡壓縮的方法,特別是指一種具有保證準確度大規模深度神經網絡壓縮的方法。
大規模深度神經網絡在電腦視覺,圖像識別和語音識別領域有著了顯著的成效。因著大量的資料組,強大的計算能力和記憶體,深度學習模型變得越來越大且複雜。然而,這些巨大的模型無法安裝在具有低記憶體和計算能力有限的終端用戶裝置上,例如行動電話和嵌入式設備。此外,由於資料組有限,對於終端用戶裝置開發定制的深度學習模型無法從零開始學習。
本發明揭露一種壓縮預先訓練的深度神經網絡模型的方法,該深度神經網絡模型包括複數層,該複數層中的每一層包括表示權重的至少一節點。該方法包括輸入該預先訓練的深度神經網絡模型作為一候選模型,通過移除至少一層中的至少一節點,移除該候選模型中的至少一批量標準化層,及將所有剩餘權重量化為定點表示以形成一壓縮模型,用以增加該候選模型的稀疏度來壓縮該候選模型,以一用戶的訓練及驗證資料決定該壓縮模型的準確度,當該準確度提高及該準確度低於一用戶性能指標時,以該壓縮模型作為該候選模型 來重複壓縮該候選模型,調整超參數以壓縮該候選模型,並在該準確度下降時重複壓縮該候選模型,及當該準確度達到或超過該用戶性能指標時,輸出用於推論的該壓縮模型。
100:模型壓縮架構
110:輸入元件
112:預先訓練模型
114:用戶的訓練和驗證資料
116:用戶性能指標
130:自我調整增量模型壓縮
132、134、136:步驟
150:輸出元件
152:DNN權重修剪和量化模型
200:模型壓縮方法
230至240:步驟
300:裝置
310:記憶體
320:處理器
325:程式碼
第1圖為實施例模型壓縮架構的示意圖。
第2圖為實施例模型壓縮方法的流程圖。
第3圖為執行第2圖模型壓縮方法之裝置的示意圖。
本發明提出的模型壓縮方法移除了深度神經網絡(Deep Neural Network,DNN)中不必要的層,並自動在運算密集的層中導入稀疏結構。
第1圖為實施例模型壓縮架構100的示意圖。模型壓縮架構100包含一輸入元件110和一自我調整增量模型壓縮130,輸入元件110包括一DNN預先訓練模型112,例如AlexNet,VGG16,RestNet,MobileNet,GoogLeNet,Sufflenet,ResNext,Xception Network等,一用戶的訓練和驗證資料114及一用戶性能指標116。自我調整增量模型壓縮130會分析預先訓練模型112的稀疏性,自動修剪和量化網絡冗餘,並移除模型壓縮架構100中不必要的層。同時,所提出的技術可重新使用在源域資料上訓練的參數,並構建基本模型以描述用戶定制應用的共同特徵。
通過重複使用基礎模型的隱藏層作為初始值,則可使用小型資料組來構建用戶深度學習模型。應用所提出的技術,即可定制用戶深度學習模型之 規模及運算複雜度。
自我調整增量模型壓縮130包括三個步驟。第一步驟132是搜尋網絡冗餘,分析預先訓練模型112的稀疏性並修剪預先訓練模型112。對於用戶端的應用程序而言,某些網絡參數實為冗餘,而以模型壓縮的方法可以透過移除這些冗餘參數自動構建稀疏性。第二步驟134是移除網絡中的批量標準化層。導入批量標準化層會使模型訓練更容易收斂,而此方法已廣泛應用於大多數的神經網絡,如Inception V2,V3,V4,Xception及MobileNet。批量標準化層主要用於調整輸入權重,並在每個網絡功能上增加偏差值。即使批量標準化層的總運算量不大,這些批量標準化層也需要相當長的推論運算時間,因為中央處理器或圖形處理器幾乎無法加速此程序的運算。最後一步驟136是逐層將所有權重量化為定點表示,在執行自我調整增量模型壓縮130時會確認每層的定點整數位元寬度和小數位元寬度,對應量化該層中的所有權重。密集層和卷積層的內核權重和偏置權重具有另外的定點整數位元寬度和小數位元寬度。
在完成所有步驟132、134及136之後,權重修剪和量化的模型即處理完成。由於模型權重被量化並且批量標準化層被移除,因此模型推論速度可比原始模型要快。也因著神經網絡被修剪及權重量化,所以可通過某些壓縮方式,例如,霍夫曼編碼(Hoffman coding),來壓縮模型,以使用較少的記憶體來儲存此模型。
為了確認模型的推論準確度,步驟132、134及136都在監控準確度指標的情況下進行。自我調整增量模型壓縮130會以來自輸入元件110的用戶驗證資料組114和用戶性能指標116來測量準確性。
如第2圖所示,模型壓縮方法200包括執行模型壓縮架構100內的修剪步驟132,量化步驟136和批量標準化移除步驟134。在模型壓縮方法200中,步驟232可包括依照順序單次執行步驟132、134及136。在一些實施例中,至少需對步驟232至238重複執行三次,或可根據需要在步驟236之前對步驟132、134及136其中之一重複執行多次。步驟132、134及136可依順序執行。
根據用戶性能指標116或其他因素,模型壓縮方法200也可以僅執行步驟132、134及136的其中一或兩個步驟。步驟232中所包括的步驟132、134及136的任何組合所產生的DNN權重修剪和量化模型152仍包括在請求項的範圍內。
在步驟232之後,步驟236以用戶性能指標116來檢查準確度。若模型性能指標達到目標值,則繼續執行增量模型壓縮。若模型性能指標低於目標值,則進入步驟238。在步驟238中,首先將模型返回到前一個滿足精度要求的模型,然後調整模型壓縮的超參數,修剪參數占總參數的比例,需要壓縮的層的位置,定點化的位元寬等。調整超參數後,進入步驟232以繼續執行增量模型壓縮。若所有超參數都嘗試完成且所有層有壓縮完成,則進入步驟240。
一輸出元件150中的DNN權重修剪和量化模型152可用於對已知和未知數據進行推論並以一裝置300執行。第3圖中所示的裝置300可包括用於執行所需運算的一處理器320及包括DNN權重修剪和量化模型152的一記憶體310。在一些實施例中,DNN權重修剪和量化模型152可以利用軟體、韌體或硬體來實行。
裝置300還可作為執行本文描述的DNN模型壓縮方法的裝置,其中記 憶體310另包括一程式碼325,由處理器320執行DNN模型壓縮方法以產生DNN權重修剪和量化模型152。程式碼325的壓縮方法可以包括輸入預先訓練的DNN模型作為候選模型,通過移除候選模型至少一層的至少一節點來增加候選模型的稀疏度來壓縮候選模型,移除候選模型中的至少一批量標準化層,並將所有剩餘權重量化為定點表示以形成壓縮模型,以用戶的訓練及驗證資料確認壓縮模型的準確度,當準確度提高且低於用戶性能指標116時,以壓縮模型作為候選模型來重複壓縮候選模型,調整超參數以壓縮候選模型,並在準確度下降時重複壓縮候選模型,及當準確度達到用戶性能指標116時,輸出用於推論的壓縮模型。
DNN權重修剪和量化模型152提供了超過神經網絡領域中傳統技術的顯著進步性。因為本方法輸入預先訓練的模型作為訓練的起始,所以模型中已經存在收斂性和準確性。由於此方法可降低所需的深度神經網絡規模,因此也減少了如記憶體,硬體或處理器的要求。此外,由於所公開的壓縮方法,可以提高模型推論的速度和降低模型推論的運算要求。最後,此壓縮方法還可確保模型推論的準確性。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:模型壓縮架構
110:輸入元件
112:預先訓練模型
114:用戶的訓練和驗證資料
116:用戶性能指標
130:自我調整增量模型壓縮
132、134、136:步驟
150:輸出元件
152:DNN權重修剪和量化模型

Claims (12)

  1. 一種壓縮預先訓練的深度神經網絡模型的方法,該深度神經網絡模型包括複數層,該複數層中的每一層包括表示權重的至少一節點,該方法包括:輸入該預先訓練的深度神經網絡模型作為一候選模型;通過移除該候選模型之該複數層中至少一層中的至少一節點,移除該候選模型中的至少一批量標準化層,及將該複數層中每一層所包括之所有剩餘節點的權重量化為定點表示,且確定該每一層的定點整數位元寬度及小數位元寬度,及量化該層中的所有權重,用以增加該候選模型的稀疏度來壓縮該候選模型,以形成一壓縮模型;以一用戶的訓練及驗證資料確認該壓縮模型的準確度;當該準確度達到該用戶性能指標時,繼續以反覆運算方式壓縮該候選模型,並通過訓練恢復模型精確度;當該準確度低於一用戶性能指標時,以滿足該用戶精確度要求的該壓縮模型為基準,調整超參數後繼續壓縮該候選模型,直到該超參數調整完成;及檢查該超參數是否調整完成,並輸出用於推論的該壓縮模型;其中該超參數包含修剪參數占總參數的比例,需要壓縮的層的位置,定點化的位元寬等。
  2. 如請求項1所述的方法,另包括通過移除至少一冗餘參數來增加該候選模型的稀疏度。
  3. 如請求項1所述的方法,其中密集層及卷積層的核權重及偏置權重具 有另外的定點整數位元寬度和小數位元寬度。
  4. 一種壓縮預先訓練的深度神經網絡模型的方法,該深度神經網絡模型包括複數層,該複數層中的每一層包括表示權重的至少一節點,該方法包括:輸入該預先訓練的深度神經網絡模型作為一候選模型;通過移除該候選模型中的至少一節點或一層來壓縮該候選模型,並確定該候選模型之該複數層中每一層的定點整數位元寬度及小數位元寬度,及量化該層中的所有權重,以形成一壓縮模型;及使用該壓縮模型對一組未知數據進行推論。
  5. 如請求項4所述的方法,另包括在使用該壓縮模型進行推論之前,從至少一層移除至少一節點來增加該候選模型的稀疏度。
  6. 如請求項4所述的方法,另包括在使用該壓縮模型進行推論之前,移除該候選模型中至少一批量標準化層。
  7. 如請求項4所述的方法,另包括在使用該壓縮模型進行推論之前,將該複數層中每一層所包括之所有剩餘節點所表示的權重量化為定點表示以形成該壓縮模型。
  8. 如請求項4所述的方法,另包括使用用戶的訓練和驗證資料確認該壓縮模型的準確度。
  9. 如請求項8所述的方法,另包括在使用該壓縮模型進行推論之前,當該準確度提高時,使用滿足該用戶的高準確度的一壓縮模型作為該候選模型來重複壓縮該候選模型。
  10. 如請求項8所述的方法,另包括調整用於壓縮該候選模型的超參數,及在該準確度下降時,使用該壓縮模型進行推論之前,重複壓縮該候選模型,且該超參數包含修剪參數占總參數的比例,需要壓縮的層的位置,定點化的位元寬等。
  11. 如請求項8所述的方法,另包括在使用該壓縮模型進行推論之前,當該準確度超過一用戶性能指標時,將該壓縮模型儲存到一記憶體。
  12. 如請求項4所述的方法,其中通過移除至少一節點或一層來壓縮該候選模型以形成該壓縮模型包括從至少一層移除至少一節點來增加該候選模型的稀疏度以及移除該候選模型中至少一批量標準化層。
TW108117254A 2018-05-31 2019-05-20 深度神經網絡自我調整增量模型壓縮的方法 TWI722434B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862678278P 2018-05-31 2018-05-31
US62/678,278 2018-05-31
US16/388,840 2019-04-18
US16/388,840 US11403528B2 (en) 2018-05-31 2019-04-18 Self-tuning incremental model compression solution in deep neural network with guaranteed accuracy performance

Publications (2)

Publication Number Publication Date
TW202004658A TW202004658A (zh) 2020-01-16
TWI722434B true TWI722434B (zh) 2021-03-21

Family

ID=68693560

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108117254A TWI722434B (zh) 2018-05-31 2019-05-20 深度神經網絡自我調整增量模型壓縮的方法

Country Status (3)

Country Link
US (1) US11403528B2 (zh)
CN (1) CN110555510A (zh)
TW (1) TWI722434B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11562248B2 (en) * 2019-04-29 2023-01-24 Advanced Micro Devices, Inc. Data sparsity monitoring during neural network training
US11681920B2 (en) * 2019-09-27 2023-06-20 Baidu Usa Llc Method and apparatus for compressing deep learning model
EP4062375A4 (en) 2019-11-22 2022-12-28 Tencent America Llc METHOD AND APPARATUS FOR QUANTIZATION, ADAPTIVE BLOCK PARTITIONING AND CODEBOOK CODING FOR COMPRESSION OF A NEURAL NETWORK MODEL
US11245903B2 (en) * 2019-11-22 2022-02-08 Tencent America LLC Method and apparatus for quantization, adaptive block partitioning and codebook coding for neural network model compression
CN111275184B (zh) * 2020-01-15 2022-05-03 中山大学 一种实现神经网络压缩的方法、系统、装置和存储介质
CN111814983B (zh) * 2020-03-04 2023-05-30 中昊芯英(杭州)科技有限公司 数据处理方法、装置、芯片以及计算机可读存储介质
CN111814953B (zh) * 2020-06-16 2024-02-13 上海瀚讯信息技术股份有限公司 一种基于通道剪枝的深度卷积神经网络模型的定位方法
CN112396176B (zh) * 2020-11-11 2022-05-20 华中科技大学 一种硬件神经网络批归一化系统
KR102499517B1 (ko) * 2020-11-26 2023-02-14 주식회사 노타 최적 파라미터 결정 방법 및 시스템
KR102511225B1 (ko) * 2021-01-29 2023-03-17 주식회사 노타 인공지능 추론모델을 경량화하는 방법 및 시스템
CN112508194B (zh) * 2021-02-02 2022-03-18 支付宝(杭州)信息技术有限公司 模型压缩方法、系统和计算设备
CN112861997A (zh) * 2021-03-15 2021-05-28 北京小米移动软件有限公司 信息的处理方法、装置、存储介质和电子设备
TWI819880B (zh) * 2022-11-03 2023-10-21 財團法人工業技術研究院 硬體感知零成本神經網路架構搜尋系統及其網路潛力評估方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160321541A1 (en) * 2014-06-18 2016-11-03 Tencent Technology (Shenzhen) Company Limited Information processing method and apparatus
CN107688850A (zh) * 2017-08-08 2018-02-13 北京深鉴科技有限公司 一种深度神经网络压缩方法
CN107729999A (zh) * 2016-08-12 2018-02-23 北京深鉴科技有限公司 考虑矩阵相关性的深度神经网络压缩方法
CN107977703A (zh) * 2016-10-21 2018-05-01 辉达公司 用于修剪神经网络以实现资源有效推理的系统和方法
TW201818302A (zh) * 2016-10-19 2018-05-16 南韓商三星電子股份有限公司 網路量化的方法、設備、製造晶片組方法及測試設備方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11315018B2 (en) 2016-10-21 2022-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference
US20190138901A1 (en) * 2017-11-06 2019-05-09 The Royal Institution For The Advancement Of Learning/Mcgill University Techniques for designing artificial neural networks
US11875260B2 (en) * 2018-02-13 2024-01-16 Adobe Inc. Reducing architectural complexity of convolutional neural networks via channel pruning
US11734568B2 (en) * 2018-02-14 2023-08-22 Google Llc Systems and methods for modification of neural networks based on estimated edge utility
US11080590B2 (en) * 2018-03-21 2021-08-03 Nvidia Corporation Stereo depth estimation using deep neural networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160321541A1 (en) * 2014-06-18 2016-11-03 Tencent Technology (Shenzhen) Company Limited Information processing method and apparatus
CN107729999A (zh) * 2016-08-12 2018-02-23 北京深鉴科技有限公司 考虑矩阵相关性的深度神经网络压缩方法
TW201818302A (zh) * 2016-10-19 2018-05-16 南韓商三星電子股份有限公司 網路量化的方法、設備、製造晶片組方法及測試設備方法
CN107977703A (zh) * 2016-10-21 2018-05-01 辉达公司 用于修剪神经网络以实现资源有效推理的系统和方法
CN107688850A (zh) * 2017-08-08 2018-02-13 北京深鉴科技有限公司 一种深度神经网络压缩方法

Also Published As

Publication number Publication date
TW202004658A (zh) 2020-01-16
US11403528B2 (en) 2022-08-02
US20190370658A1 (en) 2019-12-05
CN110555510A (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
TWI722434B (zh) 深度神經網絡自我調整增量模型壓縮的方法
US10032463B1 (en) Speech processing with learned representation of user interaction history
Chelba et al. One billion word benchmark for measuring progress in statistical language modeling
US11741339B2 (en) Deep neural network-based method and device for quantifying activation amount
KR20210029785A (ko) 활성화 희소화를 포함하는 신경 네트워크 가속 및 임베딩 압축 시스템 및 방법
CN110874625B (zh) 一种数据处理方法及装置
CN112257858A (zh) 一种模型压缩方法及装置
CN111860783B (zh) 图节点低维表征学习方法、装置、终端设备及存储介质
CN113988449B (zh) 基于Transformer模型的风电功率预测方法
CN111091278A (zh) 机械设备异常检测的边缘检测模型构建方法及装置
CN110309904A (zh) 一种神经网络压缩方法
CN110874635B (zh) 一种深度神经网络模型压缩方法及装置
CN116432697A (zh) 一种融合长短期记忆网络与注意力机制的时间序列预测方法
WO2022246986A1 (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN113362804B (zh) 一种合成语音的方法、装置、终端及存储介质
CN116775497B (zh) 数据库测试用例生成需求描述编码方法
CN112613604A (zh) 神经网络的量化方法及装置
Ulkar et al. Ultra-low power keyword spotting at the edge
CN112446461A (zh) 一种神经网络模型训练方法及装置
CN110717022A (zh) 一种机器人对话生成方法、装置、可读存储介质及机器人
CN110852361B (zh) 基于改进深度神经网络的图像分类方法、装置与电子设备
CN114139678A (zh) 卷积神经网络量化方法、装置、电子设备和存储介质
CN113033422A (zh) 基于边缘计算的人脸检测方法、系统、设备和存储介质
CN113570037A (zh) 神经网络压缩方法及装置
CN110569331A (zh) 一种基于上下文的关联性预测方法、装置及存储设备

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees