[go: up one dir, main page]

TW201816669A - 用於神經網路量化的方法以及裝置 - Google Patents

用於神經網路量化的方法以及裝置 Download PDF

Info

Publication number
TW201816669A
TW201816669A TW106123446A TW106123446A TW201816669A TW 201816669 A TW201816669 A TW 201816669A TW 106123446 A TW106123446 A TW 106123446A TW 106123446 A TW106123446 A TW 106123446A TW 201816669 A TW201816669 A TW 201816669A
Authority
TW
Taiwan
Prior art keywords
network
quantization
neural network
parameters
hansen
Prior art date
Application number
TW106123446A
Other languages
English (en)
Other versions
TWI767922B (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 TW201816669A publication Critical patent/TW201816669A/zh
Application granted granted Critical
Publication of TWI767922B publication Critical patent/TWI767922B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

本發明描述裝置及其製造方法、系統及在深度神經網路中執行網路參數量化的方法。在一態樣中,判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線,且接著用以加權(漢森加權)網路參數執行作為部分量化的網路參數。在另一態樣中,使用網路參數的梯度的一次及二次矩估計值來訓練神經網路,且接著以二次矩估計值加權網路參數作為部分量化的網路參數。在又一態樣中,藉由使用熵約束純量量化(ECSQ)迭代演算法來執行網路參數量化。在又一態樣中,藉由同時一起量化深度神經網路的所有層的網路參數來執行網路參數量化。

Description

用於神經網路量化的方法以及裝置
本揭露內容大體上是關於深度神經網路(deep neural network),且更特定言之,是關於一種用於神經網路量化的方法以及裝置。
機器學習技術正不斷地演進,且已開始支援現代社會的許多態樣,其範圍是網頁搜尋(web search)、內容篩選(content filtering)、商家網站上的自動化推薦(automated recommendation)、自動化競賽(automated game playing)、物件偵測(object detection)、影像分類(image classification)、語音辨識(speech recognition)、機器翻譯(machine translation)、藥物探索(drug discovery)以及染色體組(genomic)。機器學習領域中的當前先進技術是深度神經網路,深度神經網路使用由多個處理層構成的計算模型,所述處理層學習具有多個抽象層次的資料(通常是極大量的資料)的表示—在此為術語「深度學習(deep learning)」、「深度網路(deep network)」等等。參見 (例如)楊立昆(LeCun, Yann)、約書亞·本吉奧(Yoshua Bengio)及傑弗里·辛頓(Geoffrey Hinton)的「深度學習(Deep learning)」(《自然(Nature)》,第521卷,第436頁至第444頁(2015年5月28日)),其全文是以引用的方式併入本文中。
機器學習中的第一且最重要的階段是訓練。考慮用於影像的分類的機器學習系統(machine learning system)。收集(例如)人、寵物、汽車及房屋(各自被標記有對應類別)的影像的大資料集。在訓練期間,向機器展示影像,且機器產生呈得分的向量的形式的輸出,對於每一類別產生一個得分。最終目標是使正確的類別具有所有類別的最高得分,但此不可能在訓練之前發生。在訓練中使用量測輸出得分與所要得分型樣之間的誤差(或距離)的目標函數(objective function)。更具體言之,機器修改其內部可調整參數以縮減自目標函數計算的誤差。此等可調整參數(常常被稱為權數)是定義機器的輸入-輸出函數的參數。在典型的深度學習系統中,可存在數億個此類可調整權數/參數,以及用以訓練機器的數億個經標記實例。
為了適當地調整權數向量,學習演算法計算對於每一權數指示誤差在權數被增大微小量的情況下將增大或減小何量的梯度向量。接著在與梯度向量相對的方向上調整權數向量。遍及所有訓練實例被求平均值的目標函數可在權數值的高維空間中被可視化為一種丘陵地形。負梯度向量指示此地形中的最陡下降方向,從而使其較接近於最小值,其中輸出誤差平均起來低。實務上,通常使用被稱為隨機梯度下降(stochastic gradient descent;SGD)的程序。此由以下各者組成:展示用於幾個實例的輸入向量;計算輸出及誤差;計算用於彼等實例的平均梯度;以及相應地調整權數。對於來自訓練集的實例的許多小集合重複所述過程,直至目標函數的平均值停止減小。其之所以被稱為隨機是因為實例的每一小集合給出遍及所有實例的平均梯度的有干擾的估計值。此簡單程序與複雜得多的最佳化技術相比較通常快得令人驚訝地找到權數的良好集合。在訓練之後,在被稱為測試集的實例的不同集合上量測系統的效能。此用來測試機器的一般化能力—其產生關於其從未在訓練期間看見的新輸入的可感測回答的能力。
如上文所提及,可存在數億個網路參數/權數,其要求儲存大量的記憶體。因此,儘管深度神經網路極其強大,但其實施起來亦需要大量的資源,特別是在記憶體儲存方面。參見 (例如)阿萊克斯·克里澤夫斯基(Krizhevsky, Alex)、伊利亞·蘇茨科弗(Ilya Sutskever)及傑弗里E·辛頓(Geoffrey E. Hinton)的「運用深度捲積神經網路的影像網路分類(Imagenet classification with deep convolutional neural networks)」(《神經資訊處理系統進展(Advances in neural information processing systems)》,2012(具有六千一百萬個網路參數))以及西蒙恩(Simonyan)、卡倫(Karen)及安德魯·基澤曼(Andrew Zisserman)的「用於大規模影像辨識的極深度捲積網路(Very deep convolutional networks for large-scale image recognition)」(arXiv預印本arXiv:1409.1556(2014)(具有一億三千八百萬個網路參數)),以上兩者的全文是特此以引用的方式併入本文中。
此使難以在具有有限儲存的設備(諸如行動/可攜式設備)上部署深度神經網路。
因此,已作出本揭露內容以至少處理本文中所描述的問題及/或缺點且至少提供下文所描述的優點。
根據本揭露內容的態樣,提供一種神經網路量化方法,其判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森(Hessian)矩陣)的對角線,且使用經判定的對角線對網路參數進行加權(漢森加權)以作為量化的網路參數的部分。
根據本揭露內容的態樣,提供一種神經網路量化方法,其使用網路參數的梯度的一次矩估計值及二次矩估計值來訓練神經網路,且使用二次矩估計值對網路參數進行加權以作為量化的網路參數的部分而。
根據本揭露內容的態樣,提供一種在神經網路量化中的裝置,包含:一或多個非暫時性電腦可讀媒體;以及至少一個處理器,其在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟:判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及使用經判定的對角線對網路參數進行加權(漢森加權)以作為量化的網路參數的部分而。
根據本揭露內容的態樣,提供一種在神經網路量化中的裝置,包含:一或多個非暫時性電腦可讀媒體;以及至少一個處理器,其在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟:使用網路參數的梯度的一次矩估計值及二次矩估計值來訓練神經網路;以及使用二次矩估計值對網路參數進行加權以作為量化的網路參數的部分而。
根據本揭露內容的態樣,提供一種用於製造晶片組的方法,晶片組包含:至少一個處理器,其在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟:判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及使用經判定的對角線對網路參數進行加權(漢森加權)以作為量化的網路參數的部分;以及一或多個非暫時性電腦可讀媒體,其儲存指令及經判定的對角線。
根據本揭露內容的態樣,提供一種用於測試裝置的方法,包含:測試裝置是否具有在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟的至少一個處理器:判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及使用經判定的對角線對網路參數進行加權(漢森加權)以作為量化的網路參數的部分;以及測試裝置是否具有儲存指令的一或多個非暫時性電腦可讀媒體。
在下文中,參考隨附圖式來詳細地描述本揭露內容的實施例。應注意,儘管在不同圖式中展示相同元件,但由相同圖式元件符號指定相同元件。在以下描述中,僅僅提供諸如詳細組態及組件的特定細節以輔助對本揭露內容的實施例的整體理解。因此,對於在本領域具有知識者而言應顯而易見,可在不脫離本揭露內容的範疇的情況下對本文中所描述的實施例進行各種改變及修改。另外,出於清楚及簡明起見而省略熟知功能及構造的描述。下文所描述的術語是考慮到本揭露內容中的功能而定義的術語,且可根據使用者、使用者意圖或習慣而不同。因此,應基於整個說明書中的內容來判定術語的定義。
本揭露內容可具有各種修改及各種實施例,下文參考隨附圖式來詳細地描述各種實施例當中的實施例。然而,應理解,本揭露內容並不限於所述實施例,而是包含在本揭露內容的範疇內的所有修改、等效者及替代方案。
儘管包含諸如第一及第二的序數的術語可用於描述各種元件,但結構元件並不受到所述術語限定。所述術語僅用以區分一個元件與另一元件。舉例而言,在不脫離本揭露內容的範疇的情況下,可將第一結構元件稱作第二結構元件。相似地,亦可將第二結構元件稱作第一結構元件。如本文中所使用,術語「及/或」包含一或多個關聯項目中的任何及所有組合。
本文中的術語僅僅用以描述本揭露內容的各種實施例,而並不意欲限制本揭露內容。除非上下文另有明確指示,否則單數形式意欲包含複數形式。在本揭露內容中,應理解,術語「包含」或「具有」指示特徵、數字、步驟、操作、結構元件、部件或其組合的存在,且不排除一或多個其他特徵、數值、步驟、操作、結構元件、部件或其組合的存在或添加機率。
除非有不同定義,否則本文中所使用的所有術語皆具有與在本揭露內容所屬領域具有知識者所理解的含義相同的含義。除非本揭露內容中有明確定義,否則諸如常用辭典中所定義的術語的術語應被解譯為具有與相關技術領域中的上下文含義相同的含義,而不應被解譯為具有理想或過度形式的含義。
各種實施例可包含一或多個元件。元件可包含經配置以執行某些操作的任何結構。儘管一實施例可作為實例而被描述為具有呈某一配置的有限數目個元件,但所述實施例可對於給定實施方案視需要而包含呈替代配置的更多或更少元件。值得注意的是,對「一個實施例」或「一實施例」的任何參考皆意謂結合所述實施例所描述的特定特徵、結構或特性包含於至少一個實施例中。片語「一個實施例」(或「一實施例」)在本說明書中的各處的出現未必指代同一實施例。
如上文所論述,深度神經網路的記憶體要求會限制其使用—詳言之,其記憶體/儲存要求會排除具有有限記憶體資源的設備。然而,存在用以縮減神經網路的總體尺寸的多種手段,其有時被共同地稱作「網路壓縮」。參見 (例如)以下各者:米迦勒C莫澤爾(Michael C Mozer)及保羅·斯模棱斯基(Paul Smolensky)的「骨架化:用於經由相關性評定而自網路修整積餘的技術(Skeletonization: A technique for trimming the fat from a network via relevance assessment)」,在《神經資訊處理系統進展 》中,第107頁至第115頁,1989(「莫澤爾與斯模棱斯基1989」);楊立昆、約翰S登克爾(John S Denker)、薩拉A索拉(Sara A Solla)、李察E霍華德(Richard E Howard)及勞倫斯D雅克爾(Lawrence D Jackel)的「最佳腦損傷(Optimal brain damage)」,在《神經資訊處理系統進展 》中,第598頁至第605頁,1990(「立昆等人1990」);巴巴克·哈斯比(Babak Hassibi)及戴維G斯道克(David G Stork)的「用於網路修剪的二階導數:最佳腦醫師(Second order derivatives for network pruning: Optimal brain surgeon)」,在《神經資訊處理系統進展 》中,第164頁至第171頁,1993(「哈斯比與斯道克1993」);韓松(Song Han)、傑夫·普爾(Jeff Pool)、約翰·特蘭(John Tran)及威廉·達利(William Dally)的「學習用於高效神經網路的權數及連接兩者(Learning both weights and connections for efficient neural network)」,在《神經資訊處理系統進展 》中,第1135頁至第1143頁,2015(「韓等人2015a」);文森特·範霍克(Vincent Vanhoucke)、安德魯·西尼爾(Andrew Senior)及馬克Z毛(Mark Z Mao)的「改良CPU上的神經網路速度(Improving the speed of neural networks on CPUs)」,在《深度學習及無監督特徵學習研討會Deep Learning and Unsupervised Feature Learning Workshop )》中,NIPS ,2011(「範霍克等人2011」);黃圭沇(Kyuyeon Hwang)及孫文勇(Wonyong Sung)的「使用權數+1、0及-1的定點前饋深度神經網路設計(Fixed-point feedforward deep neural network design using weights +1, 0, and -1)」,在《關於信號處理系統的 IEEE 研討會IEEE Workshop on Signal Processing Systems )》中,第1頁至第6頁,2014(「黃與孫2014」);薩伊德·案瓦(Sajid Anwar)、黃圭沇及孫文勇的「用於物件辨識的深度捲積神經網路的定點最佳化(Fixed point optimization of deep convolutional neural networks for object recognition)」,在《關於聲學、語音及信號處理的 IEEE 國際會議IEEE International Conference on Acoustics, Speech and Signal Processing )》中,第1131頁至第1135頁,2015(「案瓦等人2015」);馬修·庫爾巴里奧(Matthieu Courbariaux)、讓-皮埃爾·戴維(Jean-Pierre David)及約書亞·本吉奧的「運用低精確度倍增來訓練深度神經網路(Training deep neural networks with low precision multiplications)」,arXiv 預印本 arXiv:1412.7024 ,2014(「庫爾巴里奧等人2014」);馬修·庫爾巴里奧、約書亞·本吉奧及讓-皮埃爾·戴維的「二進位連接:在傳播期間運用二進位權數來訓練深度神經網路(Binaryconnect: Training deep neural networks with binary weights during propagations)」,在《神經資訊處理系統進展 》中,第3123頁至第3131頁,2015(「庫爾巴里奧等人2015」);蘇約·笈多(Suyog Gupta)、安庫·阿格拉沃爾(Ankur Agrawal)、凱拉什·哥巴拉克里斯南(Kailash Gopalakrishnan)及普利提什·納拉亞南(Pritish Narayanan)的「運用有限數值精確度的深度學習(Deep learning with limited numerical precision)」,在《 32 屆機器學習國際會議的會議記錄Proceedings of the 32nd International Conference on Machine Learning )》中,第1737頁至第1746頁,2015(「笈多等人2015」);達瑞爾D林(Darryl D Lin)、薩欽S塔拉齊(Sachin S Talathi)及V斯里坎斯·安娜普蕾蒂(V Sreekanth Annapureddy)的「深度捲積網路的定點量化(Fixed point quantization of deep convolutional networks)」,arXiv 預印本 arXiv:1511.06393 ,2015(「林D等人2015」);林周漢(Zhouhan Lin)、馬修·庫爾巴里奧、羅納德·美密瑟維奇(Roland Memisevic)及約書亞·本吉奧的「運用極少倍增的神經網路(Neural networks with few multiplications)」,arXiv 預印本 arXiv:1510.03009 ,2015(「林Z等人2015」);穆罕默德·雷斯特嘉里(Mohammad Rastegari)、文森特·奧德內茲(Vicente Ordonez)、約瑟夫·雷德蒙(Joseph Redmon)及阿里·法汗迪(Ali Farhadi)的「XNOR網路:使用二進位捲積神經網路的影像網路分類(XNOR-Net: Imagenet classification using binary convolutional neural networks)」,arXiv 預印本 arXiv:1603.05279 ,2016(「雷斯特嘉里等人2016」);塔拉N賽乃夫(Tara N Sainath)、布萊恩·金布里(Brian Kingsbury)、維卡斯·辛德華尼(Vikas Sindhwani)、艾布魯·亞利索伊(Ebru Arisoy)及部瓦納·巴馬巴德蘭(Bhuvana Ramabhadran)的「用於運用高維輸出目標的深度神經網路訓練的低秩矩陣因子分解(Low rank matrix factorization for deep neural network training with high-dimensional output targets)」,在《關於聲學、語音及信號處理的 IEEE 國際會議 》中,第6655頁至第6659頁,2013(「賽乃夫等人2013」);薛建(Jian Xue)、李金羽(Jinyu Li)及鞏一凡(Yifan Gong)的「運用奇異值分解來重構深度神經網路聲學模型(Restructuring of deep neural network acoustic models with singular value decomposition)」,在《語音間INTERSPEECH )》中,第2365頁至第2369頁,2013(「薛等人2013」);馬克思·捷達伯格(Max Jaderberg)、安德利·維達迪(Andrea Vedaldi)及安德魯·基澤曼的「運用低秩擴展來加速捲積神經網路(Speeding up convolutional neural networks with low rank expansions)」,在《英國機器視覺會議的會議記錄Proceedings of the British Machine Vision Conference )》中,2014(「捷達伯格等人2014」);瓦蒂姆·列別捷夫(Vadim Lebedev)、雅羅斯拉夫·加寧(Yaroslav Ganin)、馬克西姆·拉卡巴(Maksim Rakhuba)、伊萬·歐瑟勒代茨(Ivan Oseledets)及維克托·蘭普蒂斯基(Victor Lempitsky)的「使用微調的CP分解來加速捲積神經網路(Speeding-up convolutional neural networks using fine-tuned CP-decomposition)」,arXiv 預印本 arXiv:1412.6553 ,2014(「列別捷夫等人2014」);楊子超(Zichao Yang)、馬辛·莫祖爾斯基(Marcin Moczulski)、米沙·德尼爾(Misha Denil)、南度·德·費瑞塔斯(Nando de Freitas)、阿萊克斯·斯摩拉(Alex Smola)、宋樂(Le Song)及王子瑜(Ziyu Wang)的「深度損壞convnet(Deep fried convnets)」,在《電腦視覺 IEEE 國際會議的會議記錄Proceedings of the IEEE International Conference on Computer Vision )》中,第1476頁至第1483頁,2015(「楊等人2015」);金勇德(Yong-Deok Kim)、樸恩慧(Eunhyeok Park)、劉聖珠(Sungjoo Yoo)、崔泰霖(Taelim Choi)、楊露(Lu Yang)及申東君(Dongjun Shin)的「用於快速及低功率行動應用的深度捲積神經網路的壓縮(Compression of deep convolutional neural networks for fast and low power mobile applications)」,arXiv 預印本 arXiv:1511.06530 ,2015(「金等人2015」);以及邰成(Cheng Tai)、肖彤(Tong Xiao)、王小剛(Xiaogang Wang)等人的「運用低秩正則化的捲積神經網路(Convolutional neural networks with low-rank regularization)」,arXiv 預印本 arXiv:1511.06067 ,2015(「邰等人2015」),以上各者的全文皆是特此併入本文中。
圖1說明根據一個實施例的在完成神經網路訓練之後實施的神經網路壓縮技術的例示性圖解。圖1展示一些典型網路壓縮方案,其全部旨在縮減待儲存的網路參數/權數的數目。圖1中的網路壓縮方案僅僅是實例,且本揭露內容並不以任何方式受到圖1所展示或未展示的內容限制。此外,在根據本揭露內容的實施例中,明確地包含網路壓縮技術的任何可能組合。
如圖1所展示,首先在110處完成神經網路訓練,此意謂已產生所有網路參數/權數。網路壓縮包含網路修剪120、未修剪網路參數微調130、網路量化140以及量化值微調150。
網路修剪120藉由將網路參數的值設定為零來完全地移除網路參數。對於已修剪網路,僅未修剪網路參數及其各別位置(索引)需要保持於原始模型中。為了更多細節,參見 (例如)以下各者:哈斯比與斯道克1993;韓等人2015a;以及立昆等人1990。
緊接著可執行未修剪網路參數微調130,以部分地恢復歸因於修剪的精確度損失。為了更多細節,參見(例如)同前。
緊接著,執行網路量化140。網路量化的基本想法是將網路參數分組成小數目個叢集,將每一網路參數量化為網路參數所屬的叢集中心的值,以及儲存二進位編碼量化值而非實際參數值。因此,網路量化藉由使(未修剪)網路參數量化且將其量化值編碼成具有較小位元尺寸的二進位碼字來縮減為表示所述參數所需要的位元的數目。可藉由使用小尺寸的查找表而自所儲存的二進位碼字而非實際值擷取量化值。參見 (例如)圖3A及圖3B以及其在下文對於實例的描述。
同一叢集中的網路參數將在預測階段中具有相同量化值(亦即,叢集中心)。換言之,叢集(叢集中心)的代表值(亦即,量化值)被編碼及儲存於記憶體中,且所編碼及儲存的值是基於所儲存的二進位碼字而非實際量化值被讀取,且用於預測。
最終,在150處微調量化值(亦即,叢集中心)。如上文所提及,存在不同的網路壓縮技術,且在這方面,微調階段130及微調階段150是任選的,但其隨著修剪及/或量化變得愈來愈積極(修剪變得愈來愈多、及/或叢集的數目變得愈來愈少)而變得對於恢復原始效能愈來愈必要。
下文參考圖2及圖3A至圖3B來論述網路量化的一個特定途徑,亦即, k 均值叢集,繼之以編碼。
圖2說明根據一個實施例的在完成神經網路訓練之後實施的神經網路壓縮技術的另一例示性圖解。在210處完成神經網路訓練之後,執行包含網路修剪220、未修剪網路參數微調230、網路量化240以及量化值微調250的網路壓縮。
在圖2中,進一步描述網路量化途徑240的特定細節。網路量化240包含叢集243及編碼245。叢集243包含 k 均值逐層叢集,其中將網路參數分割成k個不相交集(叢集),且接著將每一叢集中的網路參數量化為相同值或「代表值」,亦即,在此狀況下為其叢集中心值。在叢集之後,無損二進位編碼245將量化參數編碼成待儲存的二進位碼字而非實際參數值。固定長度二進位編碼或可變長度二進位編碼(諸如(例如)霍夫曼(Huffman)或藍波-立夫-衛曲(Lempel-Ziv-Welch)(LZW)寫碼)可用於編碼245。為了更多細節,參見 (例如)以下各者:韓、宋等人的「深度壓縮:運用修剪、已訓練量化及霍夫曼寫碼而對深度神經網路進行壓縮(Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding)」,arXiv 預印本 arXiv: 1510.00149 (2015)(「韓等人2015b」);以及鞏、雲超(Yunchao)等人的「使用向量量化而對深度捲積網路進行壓縮(Compressing deep convolutional networks using vector quantization)」,arXiv 預印arXiv :1412.6115 (2014)(「鞏等人2014」),以上各者的全文皆是特此以引用的方式併入本文中。
圖3A說明根據一個實施例的用於網路量化的叢集及編碼的例示性圖解。
在圖3A中,原始網路參數是32位元浮點數310。此等網路參數310被分組成具有叢集索引320的叢集。舉例而言,在圖3A中存在具有叢集索引1、2、3及4的四個叢集,四個叢集中的每一者具有一代表值330。換言之,叢集索引1、2、3及4中的每一者分別具有-1.00、0.00、1.50及2.00的值,如圖3A的「量化參數」中所展示。可看出,在此情況下,量化與原始32位元浮點數310相比較引起準確度損失。
固定長度編碼或可變長度編碼(例如,霍夫曼或藍波-立夫-衛曲)可用以將叢集索引1、2、3及4映射成固定長度二進位碼字00、01、10、11(340F)或可變長度二進位碼字1、01、001、000(340V)(例如,霍夫曼編碼碼字),如表350中所展示。
圖3B說明根據一個實施例的在解壓縮期間對二進位量化值進行解碼的例示性圖解。圖3B說明使用來自圖3A的實例的解碼。對由圖3A中的壓縮引起的可變長度二進位碼字340V進行解壓縮以擷取量化值。在此實例中,使用儲存於記憶體中的二進位碼字以自映射表讀取量化值。具體言之,在圖3B中,在使用第一壓縮叢集索引碼字341V(「000」)的情況下,映射表351展示匹配量化參數值是「2.00」,且因此第一解碼網路參數是解碼網路參數311中的「2.00」。接著將解碼值用於神經網路中以供預測。
然而,k均值叢集(諸如圖2及圖3A所展示以及韓等人2015b及鞏等人2014中所論述)具有其瑕疵,如下文進一步所論述。
首先,下文使用數學模型以大體上描述神經網路且接著特定地描述k均值叢集。
方程式(1)表示一般非線性神經網路,其結構執行將輸入映射成輸出向量的函數 其中是由可訓練網路參數 wi ( i =1, 2, …, N )中的每一者組成的向量,其中 N 是此類參數的總數目。
如上文所提及,使用目標函數以在神經網路訓練期間使誤差最小化以適當地調整權數向量(網路參數)。方程式(2)中的函數被定義為需要藉由訓練而平均地最小化的目標函數: 其中是用於輸入的神經網路的預測輸出,且是用於輸入的預期輸出。在本領域具有通常知識者將理解,存在許多類型的可使用的損失函數,包含(例如)交叉熵損失函數及均方誤差損失函數。
如下在方程式(3)(a)中定義用於任何輸入資料集的平均損失函數
隨著輸入資料集變得愈來愈大,平均損失函數變得愈來愈接近於預期損失函數,如方程式(3)(b)中所展示:
在給出訓練集的情況下,藉由使用(例如)具有迷你分批(mini-batch)的隨機梯度下降最佳化方法來求解方程式(4)而使網路參數最佳化():
如上文所論述,隨機梯度下降過程是如下所述的過程:在每一迭代中,對於幾個實例計算輸入向量、輸出及誤差,計算平均梯度,且調整參數,直至目標函數的平均值停止減小。
在訓練/最佳化之後(或在修剪及/或微調之後),在此狀況下,藉由 k 均值逐層叢集來執行網路量化,其中將網路參數叢集成 k 個不相交集/叢集 k 均值叢集產生使方程式(5)(a)中所定義的量化誤差最小化的叢集: 其中是如由方程式(5)(b)所定義的叢集中的網路參數/點的均值:
k 均值叢集是非確定性多項式時間困難(non-deterministic polynomial time hard;NP困難)問題;然而,在本領域具有通常知識者將知道,存在通常使用的快速地收斂至局部最佳解的數種高效試探演算法。最熟知的演算法中的一者是勞埃德演算法。參見斯圖亞特·勞埃德(Stuart Lloyd)的「PCM中的最小平方量化(Least squares quantization in PCM)」,《關於資訊理論的 IEEE 會刊IEEE transactions on information theory )》,28(2):129-137,1982,其全文是以引用的方式併入本文中。
圖4說明根據一個實施例的用於使用勞埃德演算法來執行 k 均值叢集的例示性流程圖。概括而言,勞埃德演算法藉由重複指派及更新的兩個步驟而繼續進行,直至勞埃德演算法收斂或達到最大數目個迭代。
在圖4中,在410處,使個叢集中心的集合初始化且將迭代索引n設定為1。在420處,將每一網路參數指派至中心最接近於參數值的叢集。此意謂根據使用叢集中心所產生的沃羅諾伊圖(Voronoi diagram)來分割點。在430處,在420中已(再)指派所有網路參數之後,計算個叢集中心的新集合(x =迭代數目)。在440處,更新迭代的數目(「n=n+1」),且在445處,判定迭代過程是否已結束。更具體言之,判定迭代的數目是否已超過極限(「n>N」)或是否不存在420處的指派的改變(此意謂演算法已有效地收斂)。若在445處判定過程已結束,則在450處產生用於量化網路參數的碼簿(相似於(例如)圖3A中的表350)。若在445處判定過程尚未結束,則過程重複至420處的指派。
緊接著,計算藉由將 k 均值叢集用於網路量化所達成的壓縮比。為了執行此等計算,假定在量化之前每一網路參數 wi ( i =1, 2, …, N )(其中 N 是此類參數的總數目)的長度為 b 個位元。因此,需要 Nb 個位元以在量化之前儲存網路參數。
假定 k 均值叢集與可變長度編碼一起使用,則假設 Ci 是叢集 i 中的網路參數的數目,其中1 i k ,且 bi 是為叢集 i 中的網路參數所指派的碼字(亦即,用於叢集 i 的碼字)的位元的數目。因此,二進位碼字僅是個位元而非 Nb 個位元。對於儲存具有其匹配量化網路參數值(每一值 b 個位元)的 k 個二進位碼字( bi 個位元,其中1 i k )的查找表,需要額外。因此,在方程式(6)(a)中:
如在上文所見,在運用可變長度編碼的 k 均值叢集中,壓縮比不僅取決於叢集的數目(亦即,),而且取決於各種叢集的尺寸(亦即,)及用於每一叢集碼字的位元的指派數目(亦即,,其中)。然而,對於固定長度碼(其中所有碼字具有相同長度,亦即,對於所有 i ),比率簡化為方程式(6)(b):
如在上文所見,在運用固定長度編碼的 k 均值叢集中,假定 N b 是給定的,則壓縮比僅取決於叢集的數目,亦即,。此處,沒有必要對於固定長度碼將 k 個二進位碼字儲存於查找表中,此是因為所述二進位碼字可(例如)在量化值以自0至 k - 1的增大值被編碼成二進位數的情況下是隱含地已知的,且所述二進位碼字是以相同次序被儲存。
使用諸如上文所論述的用於網路量化的習知 k 均值叢集方法的一個問題是所有網路參數被視為好像其具有相等重要性。然而,一些網路參數可對最終損失函數產生較多影響且藉此對神經網路的效能產生較多的影響,而其他網路參數可對量化及所得效能產生可忽略的影響。將所有網路參數視為具有相等權數(諸如用於網路量化的習知 k 均值叢集方法中的做法)在使對損失函數及/或最終所得效能的影響最小化時不是最佳方法。
習知 k 均值叢集的另一問題是編碼方案對壓縮比的影響未被考慮。假定使用固定長度編碼以對量化值進行編碼,則壓縮比僅僅是由叢集的數目 k 判定。參見 (例如)以上方程式(6)(b)。然而,當使用可變長度無損編碼方案時,壓縮比不僅是由叢集的數目 k 判定,而且是由叢集的尺寸及碼字的指派尺寸判定—所述指派尺寸是由所應用的寫碼判定。參見 (例如)以上方程式(6)(a)。因此,當使用可變長度編碼(諸如霍夫曼或藍波-立夫-衛曲編碼,其中平均碼字長度漸近地接近熵極限)時,習知 k 均值叢集不考量此等因子中的任一者,藉此導致甚至更大的效能損失。
為了尤其處理習知 k 均值叢集的此等問題,本揭露內容描述以下兩者:(1)利用關於網路參數的損失函數的二階偏導數(亦即,漢森矩陣的對角線)作為不同網路參數的有效度的量度;以及(2)在由所使用的特定二進位編碼方案引起的實際壓縮比的約束下求解網路量化問題。因此,將以下描述分成三個章節:I.使用漢森權數的網路量化;II.熵約束網路量化;以及III.實驗/模擬結果。
本揭露內容描述尤其相比於習知 k 均值叢集提供較大效能結果的網路壓縮技術,包含網路量化方案,諸如(例如): • 漢森加權 k 均值叢集 • 均勻量化(具有漢森加權叢集中心) • 用於熵約束純量量化(entropy-constrained scalar quantization;ECSQ)的迭代演算法 • 所有層一起的量化
本揭露內容的實施例可用以使神經網路的網路參數量化以便縮減網路的儲存(記憶體)尺寸,同時亦使效能降級最小化。本揭露內容中所描述的技術通常適用於任何類型的神經網路。
圖5展示根據本揭露內容的實施例的運用網路量化技術的網路壓縮方案。在圖5中,網路修剪520、未修剪網路參數微調530及量化值微調550可分別相似於圖2所展示的網路修剪220、未修剪網路參數微調230及量化值微調250。
圖5的網路量化540具有三個區塊:計算542、叢集544及編碼546。如本揭露內容中的別處所論述,計算542涉及計算漢森矩陣,此可在驗證階段期間進行,驗證階段是跟隨著網路訓練510。如本揭露內容中的別處所論述,叢集540可涉及漢森加權k均值叢集、均勻量化及用於熵約束純量量化(ECSQ)的迭代演算法中的一或多者。如本揭露內容中的別處所論述,編碼546可涉及固定長度編碼及可變長度編碼中的一或多者。在圖5的底部上在本揭露內容中的別處所識別及描述的SGD最佳化器對訓練510及微調530的影響方面提及所述最佳化器。 I. 使用漢森權數的網路量化
在此章節中,分析量化誤差對神經網路的損失函數的影響,且導出可用以在量化中使不同網路參數的有效度量化的漢森權數。
漢森矩陣或「漢森」由二階偏導數組成。在立昆等人1990及哈斯比與斯道克1993中,漢森矩陣用來修剪網路參數。
在下文,展示漢森(尤其是漢森的對角線)可用於網路量化中以及用以向不同網路參數的量化誤差給予不同權數。對於網路量化描述漢森加權 k 均值叢集方法,其中在用於網路參數叢集的加權 k 均值叢集中使用關於網路參數的網路損失函數的二階導數(亦稱為漢森)作為權數。A. 漢森加權量化誤差
可相對於 w 而運用泰勒級數(Taylor series)來擴展用於任何輸入資料集的平均損失函數,如方程式(7)(a)中所展示: 其中,且如方程式(7)(b)中所展示: 其中g(w)是梯度的矩陣,且H(w)是由二階偏導數組成的漢森方矩陣。假定訓練/微調已完成,則網路參數被最佳化且損失函數已達到局部最小值()。在局部最小值處,梯度全部是零,亦即,,且因此可忽略方程式(7)(a)的右側的第一項。相似地,在平均損失函數在局部最小值處大致地是二次的假定下,亦可忽略方程式(7)(a)的右側的第三項。最終,出於簡單起見,藉由將漢森矩陣H(w)的非對角線項設定為零而將漢森矩陣H(w)近似為對角線矩陣。方程式(7)(c)是自方程式(7)(b)得出: 其中是關於處所評估的 Wi 的平均損失函數的二階偏導數, Wi 是漢森矩陣的第 i 對角線元素。緊接著,藉由將視為其局部最佳解處的網路參數 Wi 的量化誤差(亦即,)而使方程式(7)(c)與網路量化的問題相關,其中的量化值。因此,在處量化對平均損失函數的局部影響可被大致地量化為方程式(7)(d):
在局部最小值處,漢森矩陣的對角線元素(亦即,)全部是非負的,且因此方程式(7)(d)中的求和始終是加性的,此暗示平均損失函數增大或保持相同。
上文未考慮再訓練與量化之間的互動。在本揭露內容中,在假定無進一步再訓練的情況下分析歸因於所有網路參數的量化的預期損失,且集中於找到使效能損失最小化同時使壓縮比最大化的最佳網路量化方案。然而,在量化之後,在下文進一步所論述的實驗中微調量化值(叢集中心),使得可稍微恢復歸因於量化的損失且進一步改良效能。B. 漢森加權 k 均值 叢集
在先前章節中,在處漢森加權量化對平均損失函數的局部影響在方程式(7)(d)中被大致地量化。在此章節中,使用由方程式(7)(d)指示的關係以設計縮減記憶體要求且使量化損失最小化的網路量化方案。出於記法簡單起見,自現在起假定。自方程式(7)(d),使漢森加權失真量度最小化的最佳叢集是由方程式(8)(a)給出: 其中是關於網路參數的網路損失函數的二階偏導數,如方程式(8)(b)中所展示: 是叢集中的網路參數的漢森加權均值,如方程式(8)(c)中所展示:
與習知 k 均值叢集技術及其在方程式(5)(a)中的失真量度相對比,失真量度方程式(8)(a)中的叢集中心現在是漢森加權叢集中心,亦即,方程式(8)(c)中的叢集成員的漢森加權均值。
另外,方程式(8)(a)在二階導數較大以便避免自其原始值的大偏離時在計算量化誤差的過程中給出較大懲罰,此是因為歸因於量化而對損失函數的影響被預期為對於所述網路參數較大。漢森加權 k 均值叢集在固定長度二進位碼用於對量化值進行編碼時使量化損失最小化的過程中局部地最佳,其中壓縮比僅僅取決於如方程式(6)(b)中所展示的叢集的數目。
圖6說明根據一個實施例的用於使用勞埃德演算法來執行漢森加權 k 均值叢集的例示性流程圖。
在圖6中,在610處,使個叢集中心的集合初始化且將迭代索引n設定為1。在620處,將每一網路參數指派至中心最接近於參數值的叢集。此可藉由根據由叢集中心產生的沃羅諾伊圖來分割點而進行。在630處,在620中已(再)指派所有網路參數之後,計算漢森加權叢集中心均值的新集合。在640處,更新迭代的數目(「n=n+1」),且在645處,判定迭代過程是否已結束。更具體言之,判定迭代的數目是否已超過極限(「n>N」)或是否不存在620處的指派的改變(此意謂演算法已有效地收斂)。若在645中判定過程已結束,則在650處產生用於量化網路參數的碼簿。若在645中判定過程尚未結束,則過程重複至620處的指派。C. 漢森計算
為了執行漢森加權 k 均值叢集,需要評估關於網路參數中的每一者的平均損失函數的二階偏導數,亦即,需要計算方程式(9):
僅漢森矩陣的對角線元素(亦即,)受關注。在本領域具有通常知識者將知道,存在計算漢森矩陣的對角線元素的各種方式。一種計算漢森的對角線的高效方式是源於立昆等人1990及楊立昆的「連接學習模型(Mod`eles connexionnistes de l ' apprentissage )」,博士論文,巴黎6(Paris 6),1987(「立昆1987」)。此計算技術是基於相似於用於計算一階偏導數(梯度)的反向傳播演算法的反向傳播方法。因此,計算漢森矩陣的對角線元素具有與計算梯度的複雜度相同的複雜度。
因此,儘管在本文中所描述的一個實施例中在完成網路訓練之後執行漢森計算及網路量化,但在本揭露內容的其他實施例中,可甚至在計算梯度時在訓練階段期間執行漢森計算(或其他同等有效的計算,如下文在章節I.E中所論述)。
在一個實施例中用以計算漢森對角線的損失函數是遍及某一輸入集的平均損失函數。為此目的,可再使用用於訓練的同一資料集(亦即,訓練資料集),或可使用另一資料集,例如,驗證資料集。在實驗中,觀測到,甚至使用訓練/驗證資料集的小子集仍足以得到漢森對角線的良好近似值,此產生良好量化結果。D. 所有層的量化
根據本揭露內容的一實施例,藉由考量漢森權數而非執行逐層量化(如鞏等人(2014)及韓等人(2015a)中的做法)來同時一起對神經網路的所有層的網路參數執行量化。同時針對所有層執行量化的優點是以下事實:量化誤差對效能的影響跨越各層顯著地變化—一些層(例如,捲積層)相比於其他層可更重要。因此,對所有層執行量化連同使用本文中所揭露的漢森權數的網路量化方案可引起效能改良。
跨越所有層的量化的另一優點是深度神經網路的深度增大(亦即,變化層的數目增大)。參見 (例如)何愷明(He, Kaiming)等人的「用於影像辨識的深度殘差學習(Deep residual learning for image recognition)」,arXiv 預印本 arXiv :1512.03385 (2015)(何等人2015)(其中描述ResNet),其全文是以引用的方式併入本文中。在此類深度神經網路中,一起使所有層的網路參數量化是較高效的,此是因為用於逐層使叢集最佳化的時間相對於層的數目及/或複雜性按指數律成比例增大。E. 漢森權數的替代方案
根據本揭露內容的一實施例,使用梯度的二次矩估計值的函數作為使用漢森權數的替代方案。使用梯度的二次矩估計值的一個優點是可在訓練期間計算二次矩估計值且因此可儲存二次矩估計值以供稍後使用而無需額外計算。使用梯度的二次矩估計值的函數可在神經網路由進階隨機梯度下降最佳化器(諸如ADAM、Adagrad、Adadelta或RMSprop)訓練時特別有利。參見 (例如)以下各者:金馬(Kingma)、德里克(Diederik)及吉米·巴(Jimmy Ba)的「ADAM:隨機最佳化方法(ADAM: A method for stochastic optimization)」,arXiv預印本arXiv:1412.6980(2014)(「金馬等人2014」);杜齊(Duchi)、約翰(John)、埃拉德·哈贊(Elad Hazan)及尤倫·辛格(Yoram Singer)的「用於線上學習及隨機最佳化的調適性次梯度方法(Adaptive subgradient methods for online learning and stochastic optimization)」,《機器學習研究期刊Journal of Machine Learning Research )》,7月12日(2011):2121-2159(「杜齊等人2011」);澤勒(Zeiler)、馬修D(Matthew D)的「ADADELTA:調適性學習速率方法(ADADELTA: an adaptive learning rate method)」,arXiv預印本arXiv:1212.5701(2012)(「澤勒2012」);以及泰爾門(Tieleman)、帝門(Tijmen)及傑弗里·辛頓的「講演6.5-rmsprop:將梯度除以其最近量值的移動平均值(Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude)」,《COURSERA:用於機器學習的神經網路(COURSERA: Neural Networks for Machine Learning)》,4.2(2012)(「講演6.5」),以上各者的全文是以引用的方式併入本文中。
作為實例,當使用ADAM隨機梯度下降最佳化器(金馬等人(2014))時,可使用梯度的二次矩估計值的平方根作為漢森權數的替代方案,如方程式(10)(a)中所展示: 用於的平方根的某一函數,梯度 i 的二次矩估計值。
ADAM方法自梯度的一次矩及二次矩的估計值計算不同網路參數的個別調適性學習速率;名稱ADAM自身是源於調適性矩估計(adaptive moment estimation)。使用方程式(10)(b)在ADAM演算法中更新參數: 其中wi (t) 是迭代處更新的參數,是迭代處的動量(一次矩)的計算估計值,且是迭代處的二次矩的計算估計值。一次矩估計值及二次矩估計值藉由方程式(10)(c)被計算為迭代處的梯度的函數 其中如方程式(10)(d)中所展示而計算
此ADAM方法可與使用漢森權數的牛頓最佳化方法(Newton's optimization method)相比較。如方程式(11)中所展示而應用牛頓最佳化方法: 其中w(t)是迭代t 處更新的網路參數的向量,H-1 (t)是迭代t 處計算的漢森矩陣的逆矩陣,且g(t)是迭代t處的梯度。
自方程式(10)(b)及(11),可看出,方程式(10)(b)中的分母作用就像方程式(11)中的H (t ),而方程式(10)(b)中的分子對應於方程式(11)中的梯度g(t)。此對應性指示可使用梯度的二次矩估計值的某一函數(比如平方根)作為漢森權數的替代方案。可在崔等人的「接近網路量化極限(Towards the Limit of Network Quantization)」(arXiv 預印本 arXiv :1612.01543v1 ,2016年12月5日(「崔等人2016」),其全文是以引用的方式併入本文中)的附錄A.1中找到關於梯度的二次矩與二階導數之間的關係的進一步論述。
對於其他實施例,可找到二次矩估計值的相似函數且將其用於ADAM及任何其他隨機梯度下降最佳化器。如上文所提及,使用二次矩估計值的一個優點是在訓練期間計算二次矩估計值且可儲存二次矩估計值以供稍後使用而無需額外計算成本。 II. 熵約束網路量化
在章節I中,已考慮用於使歸因於網路量化的效能損失量化及最小化的方法。在此章節中,考慮用以使壓縮比最大化的方法,尤其是在使網路量化最佳化時適當地考量壓縮比方面。A. 熵寫碼
在叢集且視情況修剪網路參數之後,可藉由將具有不同長度的二進位碼字指派至不同符號(亦即,量化值)而將可變長度二進位碼用於無損資料壓縮。舉例而言,霍夫曼寫碼將相對短的碼字指派至頻繁的符號且將相對長的碼字指派至較不頻繁的符號。
理論上,存在可對於給定源達成最小平均碼字長度的最佳碼的集合。熵是可藉由無損資料壓縮而達成的每符號平均碼字長度的理論極限,如由香儂(Shannon)所證實。參見 克勞德E香儂(Claude E. Shannon)的「通信數學理論A Mathematical Theory of Communication )」,《貝爾系統技術期刊(Bell System Technical Journal)》,第27卷,第379頁至第423頁、第623頁至第656頁,1948。由於此情形,達成最佳/近最佳壓縮的寫碼有時被稱為熵寫碼。已知的是,最佳碼可在僅允許整數長度碼字時以小於1個位元的某一額外負擔達成此極限。參見 (例如)托馬斯M庫佛(Thomas M Cover)及喬伊A托馬斯(Joy A Thomas)的「資訊理論的元素Elements of information theory )」,約翰·維利(John Wiley)與宋斯(Sons),2012,其全文是以引用的方式併入本文中。B. 熵約束純量量化 ECSQ
當使用可變長度熵編碼時,壓縮比是由所使用的特定編碼方案達成的平均碼字長度的函數。在此類狀況下,可藉由在對平均碼字長度的約束下使量化損失最小化來使網路量化程序最佳化。當使用此類熵編碼方案時,可將網路量化的最佳化問題簡化為熵約束純量量化(ECSQ)問題,如下文所解釋。
對於量化值的固定長度編碼, k 均值叢集是至少用於使量化誤差最小化的最佳方案,此是因為壓縮速率僅取決於叢集的數目。然而,對於可變長度編碼(例如,霍夫曼或藍波-立夫-衛曲編碼),壓縮速率不僅取決於叢集的數目,而且取決於叢集的尺寸及碼字的長度。
因此,在此類狀況下,較佳的是在實際壓縮比的約束下使量化損失最小化,實際壓縮比是由最後所使用的特定編碼方案引起的平均碼字長度的函數。一種途徑是在對由方程式(12)(a)給出的壓縮比的約束下求解方程式(8)中的運用漢森權數的問題: 其中是平均碼字長度,亦即,方程式(12)(b):
在對任何任意可變長度二進位碼的壓縮比的約束的情況下求解此最佳化一般過於複雜,此是因為平均碼字長度可取決於叢集輸出而是任意的。然而,若假定在叢集之後使用最佳碼(諸如(例如)霍夫曼碼),則最佳化可被簡化。詳言之,因為最佳寫碼接近地達成源(亦即,熵)的平均碼字長度的下限,所以可如方程式(12)(c)中所展示而近似平均碼字長度 其中H 是叢集之後的量化網路參數的熵(亦即,「源」),此是假定是叢集 Ci 中的網路參數的數目對所有網路參數的數目的比率(亦即,「源分佈(source distribution)」)。假定,則方程式(12)(a)的分母中的項接近於零,如方程式(12)(d)中所展示:
自方程式(12)(c)及(12)(d),可將方程式(12)(a)中的約束更改為由方程式(12)(e)給出的熵約束: 其中
總體而言,假定在叢集之後使用最佳/熵寫碼,則對叢集輸出的熵的約束可大致地替換對壓縮比的約束。接著,將網路量化問題轉譯成運用熵約束的的量化問題,其在資訊理論中被稱為熵約束純量量化(ECSQ)。
在以下子章節中描述用於網路量化的熵約束純量量化的兩個高效試探解決方案,亦即,均勻量化、以及相似於用於k均值叢集的勞埃德演算法的迭代演算法。C. 均勻量化
均勻量化是最佳高解析度熵約束純量量化器,而不論用於均方誤差準則的源分佈,此暗示:隨著解析度變得無限,亦即,當叢集的數目k → ∞時,均勻量化在使具有合理平滑密度函數的任何隨機源的均方量化誤差最小化的過程中是漸近地最佳的。參見 吉什(Gish)、赫波特(Herbert)及約翰·皮爾斯(John Pierce)的「漸近高效量化(Asymptotically efficient quantizing)」,《關於資訊理論的 IEEE 會刊 》,14.5(1968):676-683(「吉什與皮爾斯1968」),其全文是以引用的方式併入本文中。
均勻量化是極簡單的方案,此是因為叢集是由均勻間隔臨限值判定且其代表值(叢集中心)是藉由(例如)取得每一叢集中的網路參數成員的均值(或漢森加權均值)而獲得。即使均勻量化是漸近地最佳的,但在模擬中觀測到其在用於網路量化時仍得到良好效能。因此,均勻量化在使用可變長度熵編碼(例如,霍夫曼或藍波-立夫-衛曲編碼)以最後在叢集之後對量化值進行編碼時對於網路量化有效。
圖7說明根據一個實施例的用於執行均勻量化的例示性流程圖。
在圖7中,在710中,設定均勻間隔叢集臨限值以便將網路參數劃分成叢集。接著,在720處,藉由對網路參數的值進行定限而將網路參數指派至其叢集中。在730中,對於每一叢集計算代表值。在此實施例中,將每一叢集的代表值設定為叢集的網路參數成員的計算均值(或計算漢森加權均值)。在均勻量化之後,一些叢集可為空的。在750中,藉由體現於所產生的碼簿中的寫碼而對網路參數進行編碼/壓縮。在此實施例中,使用霍夫曼編碼以將量化值編碼成用於所產生的碼簿的可變長度碼字。
可在崔等人2016的附錄A.3中找到具有非加權均值的均勻量化與具有漢森加權均值的均勻量化的效能比較,其全文是以引用的方式併入本文中。D. 用以求解 熵約束純量量化的 迭代演算法
上文在章節II.B中所闡述的經提議以求解熵約束純量量化問題的另一方案是迭代演算法,迭代演算法相似於用於 k 均值叢集的勞埃德演算法。儘管此方案相比於先前子章節中的均勻量化更複雜,但此方案找到任何給定離散輸入源的熵約束純量量化問題的局部最佳點。
所述迭代演算法相似於用於求解周(Chou)、飛利浦A.(Philip A.)、湯姆·盧卡鮑(Tom Lookabaugh)及羅伯特M.格雷(Robert M. Gray)的「熵約束向量量化(Entropy-constrained vector quantization)」(《關於聲學、語音及信號處理的 IEEE 會刊IEEE Transactions on Acoustics, Speech, and Signal Processing )》,37.1(1989):31-42(「周等人1989」),其全文是特此以引用的方式併入本文中)中提供的一般熵約束純量量化問題的迭代演算法,且其是自史蒂芬·博伊德(Stephen Boyd)及列問·凡登伯格(Lieven Vandenberghe)的「凸面最佳化(Convex Optimization)」(劍橋大學出版社(Cambridge University Press)(2004),其全文亦是特此以引用的方式併入本文中)中的拉格朗日(Lagrangian)乘數的方法得出。
為了將此情形應用於網路量化問題,首先必須定義拉格朗日成本函數 Jλ ,如方程式(13)(a)中所展示: 其中失真量度 D 及熵約束 H 是如方程式(13)(b)中所展示:
以上失真量度 D 可被正規化使得方程式(13)(a)中的拉格朗日成本函數可由網路參數的個別拉格朗日成本(由dλ (i,j) 代表)的均值表示,如方程式(13)(c)中所展示: 其源自方程式(13)(d):
網路量化問題現在簡化為如下在方程式(13)(e)中找到使拉格朗日成本函數最小化的 k 個不相交叢集
在此最佳化問題中,存在待選擇的兩個任選參數,亦即,拉格朗日乘數λ以及(初始)叢集的數目k。
拉格朗日乘數λ控制熵約束;運用λ的不同值來求解此最佳化會在不同熵約束下引起最佳量化。舉例而言,在最佳化中使用λ的較大值的情況下,對於熵H有效地給出較多懲罰,且因此其在較小熵約束下導致最小化的失真。熵約束與壓縮比相關,而失真判定效能損失。因此,在對於λ的不同值求解此最佳化問題的情況下,可在壓縮比與效能之間獲得折衷曲線,折衷曲線展示給定效能極限的最佳壓縮比或對於給定壓縮比可達成的效能。的不同值在被最佳化且繼之以霍夫曼編碼時提供具有不同平均碼字長度的不同叢集。
方程式(13)(e)中的問題的定義中的叢集的數目k不等於最佳化之後的剩餘叢集的數目,此是因為一些叢集可歸因於熵約束而最終是空的。只要k足夠大,最佳化輸出就不會受到k大量地影響,此是因為求解運用熵約束的此問題亦會自動地使非空叢集的數目最佳化。
實務上,為k選擇足夠大的值,且為λ的不同值求解最佳化,此將提供展示可對於不同壓縮比達成的最大效能的曲線。自此曲線,可選擇滿足目標效能及/或目標壓縮比的點。
在給出λ及k的情況下,下文在演算法(1)中呈現用以求解網路量化的此熵約束純量量化問題的試探迭代演算法。應注意,演算法(1)相似於用於k均值叢集的勞埃德演算法;唯一主要差異是如何在指派步驟處分割網路參數。在勞埃德演算法中,使歐幾里得(Euclidean)距離(量化誤差)最小化。對於熵約束純量量化,代替地使方程式(13)(c)中的個別拉格朗日成本函數(亦即,dλ (i, j))最小化,所述成本函數包含量化誤差及最佳編碼之後的預期碼字長度兩者。儘管如方程式(13)(b)中所展示的漢森加權量化誤差在此實施例中用於定義成本函數,但若漢森權數是不可用的或若其他量化誤差度量是較佳的,則可使用其他量化誤差度量。
可在崔等人2016的附錄A.2中找到關於演算法(1)的更多細節,其全文是以引用的方式併入本文中.
圖8說明根據一個實施例的用於執行迭代演算法來求解關於網路量化的熵約束純量量化問題的例示性流程圖。
在圖8中,在810中,執行初始化。在此實施例中,初始化810包含個叢集中心的初始化:,每一網路參數至叢集的初始指派,其漢森加權中心最接近於參數值,且計算初始指派,亦即,。在820處,執行指派。在此實施例中,在820中將每一網路參數指派至使個別拉格朗日成本最小化的叢集。參見 (例如)以上方程式(13)。
在830處,更新叢集中心及分佈。換言之,重新計算新叢集中心,亦即,重新計算每一叢集中的網路參數的均值(或漢森加權均值)、以及網路參數分佈。在840處,更新迭代的數目(「n=n+1」)。在845處,判定迭代過程是否已結束。更具體言之,判定迭代的數目是否已超過極限(「n>N」)或是否不存在820處的指派的改變(此意謂演算法已有效地收斂)。若在845中判定過程已結束,則在850處產生用於量化網路參數的碼簿。若在845中判定過程尚未結束,則過程重複至820處的指派。 III. 實驗 / 模擬結果
使用具有CIFAR10資料集的預訓練的32層ResNet以測試根據本揭露內容的實施例的漢森加權k均值叢集方法及均勻量化方法。CIFAR-10是具有8千萬個微小影像的資料集的經標記子集,其是由阿萊克斯·克里澤夫斯基、維諾德·奈爾(Vinod Nair)及傑弗里·辛頓收集。CIFAR-10由10種類別的60,000個32×32彩色影像組成,每類別具有6000個影像。存在50,000個訓練影像及10,000個測試影像。ResNet(何等人2015)是用於影像分類的目前先進技術深度捲積神經網路。其增大神經網路的深度,同時為較佳收斂添加識別路徑。預訓練的ResNet達成92.58%準確度。網路參數的總數目是464,154。
圖9A說明根據一個實施例的用於各種網路量化方法的碼長的例示性標繪圖。圖9B說明根據一個實施例的用於各種網路量化方法的壓縮比的例示性標繪圖。圖9A及圖9B中的網路量化方法包含k均值叢集、漢森加權k均值叢集以及均勻量化。圖9C說明根據一個實施例的用於各種網路量化方法的碼長的另一例示性標繪圖。圖9C中的網路量化方法包含k均值叢集、均勻量化以及運用迭代熵約束純量量化演算法的量化。
如上文詳細地所描述,本揭露內容尤其提供以下兩者:(1)利用關於網路參數的損失函數的二階偏導數(亦即,漢森矩陣的對角線)作為網路參數的重要性的量度;以及(2)在由所使用的特定二進位編碼方案引起的實際壓縮比的約束下求解網路量化問題。
此外,在本揭露內容中,導出可藉由使歸因於量化的漢森加權失真最小化來局部地使歸因於網路量化的效能損失最小化。自此結果,揭露用於在使用固定長度二進位編碼時進行網路量化的漢森加權k均值叢集。此外,描述用於網路量化的漢森加權 k 均值叢集方法,其中在用於網路參數叢集的加權k均值叢集中使用關於網路參數的網路損失函數的二階導數作為權數。
使用漢森加權量化方法的一個缺陷是需要計算網路損失函數的二階導數(漢森矩陣的對角線元素)。然而,本揭露內容亦展示可在正計算梯度時在訓練階段期間計算漢森加權的替代方案。另外,論述計算漢森的對角線的高效方式,其具有與計算梯度的複雜度相同的複雜度。此外,模擬結果展示甚至使用小尺寸的資料集仍足以得到漢森的良好近似值且產生良好量化結果。
本揭露內容亦展示對壓縮比的約束下的網路量化的最佳化問題可在使用熵寫碼(亦即,最佳可變長度寫碼,其給定源的平均碼字長度接近於源的熵)時簡化為熵約束純量量化(ECSQ)問題。
揭露用於網路量化的熵約束純量量化的兩個高效試探解決方案:均勻量化以及相似於勞埃德演算法的迭代演算法。對於均勻量化,設定均勻間隔臨限值以將網路參數劃分成叢集。在判定叢集之後,將每一叢集的代表值設定為叢集的成員的均值或漢森加權均值。即使均勻量化是漸近地最佳的,但模擬指示其在用於網路量化時仍得到良好效能。除了相似於用以求解網路量化的熵約束純量量化問題相似於勞埃德演算法的迭代演算法以外,亦描述迭代演算法的漢森加權版本,其中使用漢森加權量化損失作為在最佳化中最小化的目標函數。
本揭露內容亦描述使用網路參數的梯度的二次矩估計值的函數作為漢森加權的替代方案。此可與進階隨機梯度下降最佳化器一起使用。使用梯度的二次矩估計值與進階隨機梯度下降最佳化器的優點是在訓練/微調時計算二次矩估計值且因此可僅僅儲存二次矩估計值以供稍後使用(在網路量化期間)而無需額外計算。此使漢森加權對於深度神經網路更可行,深度神經網路具有數百萬個參數。
本揭露內容的網路量化方案可應用於同時一起使所有層的網路參數量化,而非執行逐層網路量化。因此,漢森加權可不僅在各層內而且跨越各層適當地處置量化誤差的不同影響。
在另一實施例中,可使用諸如藍波-立夫-衛曲的通用熵碼。藍波-立夫-衛曲壓縮的一個優點是其需要通過資料的單一遍次,且編碼器及解碼器兩者可在運作中構建辭典,而霍夫曼編碼需要在資料上的兩個遍次,一個遍次用以計算符號頻率,且另一遍次用於編碼,且需要產生/發送辭典。在使用可變至固定熵編碼(諸如藍波-立夫-衛曲)而非固定至可變長度熵編碼(諸如霍夫曼碼)的實施例中,使用熵約束純量量化的所揭露的量化方案仍成立。
在其他實施例中,可使用抖動純量量化(參見 (例如)趙(Zhao)、錢(Qian)、馮漢英(Hanying Feng)及米切爾·埃弗羅斯(Michelle Effros)的「使用熵約束抖動純量量化的多解析度源寫碼(Multiresolution source coding using entropy constrained dithered scalar quantization)」,《IEEE 資料壓縮會議 DCC 會議記錄 2004IEEE Data Compression Conference (DCC) Proceedings 2004 )》,其全文併入本文中),其中權數或網路參數在量化之前被恆定因子抖動,繼之以進行均勻純量量化且最終進行無損熵編碼,諸如藉由藍波-立夫-衛曲碼。
圖10A說明根據一個實施例的本裝置的例示性圖解。神經網路中的裝置1000包含至少一個處理器1010及一或多個非暫時性電腦可讀媒體1020。至少一個處理器1010在執行儲存於一或多個非暫時性電腦可讀媒體1020上的指令時執行以下步驟:判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及使用經判定的對角線對網路參數進行加權(漢森加權)以作為量化的網路參數的部分。此外,一或多個非暫時性電腦可讀媒體1020儲存用於使至少一個處理器1010執行判定步驟及使用步驟的指令。
在另一實施例中,至少一個處理器1010在執行儲存於一或多個非暫時性電腦可讀媒體1020上的指令時執行以下步驟:使用網路參數的梯度的一次矩估計值及二次矩估計值來訓練神經網路;以及使用二次矩估計值對網路參數進行加權以作為量化的網路參數的部分。此外,一或多個非暫時性電腦可讀媒體1020儲存用於使至少一個處理器1010執行訓練步驟及使用步驟的指令。
圖10B說明根據一個實施例的用於製造及測試本裝置的例示性流程圖。
在1050處,製造裝置(在此情況下為晶片組),裝置包含至少一個處理器及一或多個非暫時性電腦可讀媒體。在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時,至少一個處理器執行以下步驟:判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及使用經判定的對角線對網路參數進行加權(漢森加權)以作為量化的網路參數的部分。一或多個非暫時性電腦可讀媒體儲存用於使至少一個處理器執行判定步驟及使用步驟的指令。
在1060處,測試裝置(在此情況下為晶片組)。測試1060包含測試裝置是否具有在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟的至少一個處理器:判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及使用經判定的對角線對網路參數進行加權(漢森加權)以作為量化的網路參數的部分;以及測試裝置是否具有儲存用於使至少一個處理器執行判定步驟及使用步驟的指令的一或多個非暫時性電腦可讀媒體。
在另一實施例中,製造晶片組,晶片組包含至少一個處理器及一或多個非暫時性電腦可讀媒體。至少一個處理器在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟:使用網路參數的梯度的一次矩估計值及二次矩估計值來訓練神經網路;以及使用二次矩估計值對網路參數進行加權以作為量化的網路參數的部分。此外,一或多個非暫時性電腦可讀媒體儲存用於使至少一個處理器執行訓練步驟及使用步驟的指令。
在此實施例中,可藉由以下操作來測試晶片組:測試裝置是否具有在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟的至少一個處理器:使用網路參數的梯度的一次矩估計值及二次矩估計值來訓練神經網路;以及使用二次矩估計值對網路參數進行加權以作為量化的網路參數的部分;以及測試裝置是否具有儲存用於使至少一個處理器執行訓練步驟及使用步驟的指令的一或多個非暫時性電腦可讀媒體。
上文關於本揭露內容的一實施例所描述的步驟及/或操作可取決於特定實施例及/或實施方案而以不同次序或歷時不同時期等等而並行地或同時地發生,此將為在本領域具有通常知識者所理解。不同實施例可以不同次序或藉由不同方式或手段執行動作。在本領域具有通常知識者將理解,一些圖式是所執行的動作的簡化表示,其在本文中的描述簡化概覽,且現實世界實施方案將複雜得多、需要更多階段及/或組件且亦將取決於特定實施方案的要求而變化。作為簡化表示,此等圖式並不展示其他所需步驟,此是因為此等步驟可為在本領域具有通常知識者所知及理解,且可能不與本描述有關及/或對本描述有幫助。
相似地,一些圖式是僅展示有關組件的簡化方塊圖,且此等組件中的一些僅僅表示本領域中熟知的功能及/或操作,而非實際的硬體片件,此將為在本領域具有通常知識者所理解。在此類狀況下,組件/模組中的一些或全部可以多種方式及/或方式組合被實施或提供,諸如至少部分地以韌體及/或硬體,包含但不限於一或多個特殊應用積體電路(「application-specific integrated circuit;ASIC」)、標準積體電路、執行適當指令的控制器,且包含微控制器及/或嵌入式控制器、場可程式化閘陣列(「field-programmable gate array;FPGA」)、複雜可程式化邏輯設備(「complex programmable logic device;CPLD」)及類似者。系統組件及/或資料結構中的一些或全部亦可作為內容(例如,作為可執行或其他機器可讀軟體指令或結構化資料)儲存於非暫時性電腦可讀媒體(例如,作為硬碟、記憶體、電腦網路或蜂巢式無線網路或其他資料傳輸媒體;或待由適當磁碟機或經由適當連接件(諸如DVD或快閃記憶體元件)讀取的可攜式媒體物品)上,以便啟用或組態電腦可讀媒體及/或一或多個關聯計算系統或設備以執行或以其他方式使用或提供內容來執行所描述的技術中的至少一些。
可使用一或多個處理器、簡單微控制器、控制器及類似者(無論單獨地抑或呈多處理配置)以執行儲存於非暫時性電腦可讀媒體上的指令序列以實施本揭露內容的實施例。在一些實施例中,可代替或結合軟體指令而使用硬連線電路系統。因此,本揭露內容的實施例並不限於硬體電路系統、韌體及/或軟體的任何特定組合。
如本文中所使用的術語「電腦可讀媒體」指代儲存可被提供至處理器以供執行的指令的任何媒體。此類媒體可呈許多形式,包含但不限於非揮發性媒體或揮發性媒體。舉例而言,非暫時性電腦可讀媒體的常見形式包含軟碟、可撓性磁碟、硬碟、磁帶或任何其他磁性媒體、CD-ROM、任何其他光學媒體、打孔卡、紙帶、具有孔圖案的任何其他實體媒體、RAM、PROM及EPROM、FLASH-EPROM、任何其他記憶體晶片或卡匣、或儲存有可由處理器執行的指令的任何其他媒體。
可至少部分地在可攜式設備上實施本揭露內容的一些實施例。如本文中所使用的「可攜式設備」及/或「行動設備」指代有能力接收無線信號的任何可攜式或可移動電子設備,包含但不限於多媒體播放器、通信設備、計算設備、導航設備等等。因此,行動設備包含((但不限於))使用者裝備(user equipment;UE)、膝上型電腦、平板電腦、可攜式數位助理(Portable Digital Assistant;PDA)、mp3播放器、手持型PC、即時傳訊設備(Instant Messaging Device;IMD)、蜂巢式電話、全球導航衛星系統(Global Navigational Satellite System;GNSS)接收器、手錶、或可穿戴及/或攜帶於某個人身上的任何此類設備。
鑒於本揭露內容,本揭露內容的各種實施例可實施於積體電路(integrated circuit;IC)中,積體電路亦被稱為微晶片、矽晶片、電腦晶片或僅僅被稱為「晶片」,此將為在本領域具有通常知識者所理解。此類IC可為(例如)寬頻及/或基頻數據機晶片。
儘管已描述若干實施例,但應理解,可在不脫離本揭露內容的範疇的情況下進行各種修改。因此,對於在本領域具有通常知識者將顯而易見,本揭露內容並不限於本文中所描述的實施例中的任一者,而是具有僅由所附申請專利範圍及其等效者界定的涵蓋範圍。
110、210、510‧‧‧完成神經網路訓練
120、220、520‧‧‧網路修剪
130、230、530‧‧‧未修剪網路參數微調
140、240、540‧‧‧網路量化
150、250、550‧‧‧量化值微調
243、544‧‧‧叢集
245、546‧‧‧編碼
310‧‧‧32位元浮點數
311‧‧‧解碼網路參數
320‧‧‧叢集索引
330‧‧‧代表值
340F‧‧‧固定長度二進位碼字
340V‧‧‧可變長度二進位碼字
341V‧‧‧第一壓縮叢集索引碼字
350‧‧‧表
351‧‧‧映射表
410、420、430、440、445、450、610、620、630、640、645、650、710、720、730、750、810、820、830、840、845、850、1050、1060‧‧‧步驟
542‧‧‧計算
1000‧‧‧裝置
1010‧‧‧處理器
1020‧‧‧非暫時性電腦可讀媒體
本揭露內容的某些實施例的以上及其他態樣、特徵以及優點將自結合隨附圖式的以下詳細描述更顯而易見,在圖式中:
圖1說明根據一個實施例的在完成神經網路訓練之後實施的神經網路壓縮技術的例示性圖解。 圖2說明根據一個實施例的在完成神經網路訓練之後實施的神經網路壓縮技術的另一例示性圖解。 圖3A說明根據一個實施例的用於網路量化的叢集及編碼的例示性圖解。 圖3B說明根據一個實施例的在解壓縮期間對二進位編碼量化值進行解碼的例示性圖解。 圖4說明根據一個實施例的用於使用勞埃德演算法(Lloyd's algorithm)來執行 k 均值叢集的例示性流程圖。 圖5說明根據一個實施例的本網路量化系統的例示性圖解。 圖6說明根據一個實施例的用於使用勞埃德演算法來執行漢森加權 k 均值叢集的例示性流程圖。 圖7說明根據一個實施例的用於執行均勻量化的例示性流程圖。 圖8說明根據一個實施例的用於執行迭代演算法來求解關於網路量化的熵約束純量量化問題的例示性流程圖。 圖9A說明根據一個實施例的用於各種網路量化方法的碼長的例示性標繪圖。 圖9B說明根據一個實施例的用於各種網路量化方法的壓縮比的例示性標繪圖。 圖9C說明根據一個實施例的用於各種網路量化方法的碼長的另一例示性標繪圖。 圖10A說明根據一個實施例的本裝置的例示性圖解。 圖10B說明根據一個實施例的用於製造及測試本裝置的例示性流程圖。

Claims (21)

  1. 一種用於神經網路量化的方法,包括: 判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及 使用經判定的所述對角線對所述網路參數進行加權(漢森加權)以作為量化的所述網路參數的部分。
  2. 如申請專利範圍第1項所述的用於神經網路量化的方法,其中藉由使用漢森加權均值作為叢集中心而藉由所述網路參數的漢森加權 k 均值叢集來使所述網路參數量化。
  3. 如申請專利範圍第2項所述的用於神經網路量化的方法,其中藉由二進位編碼而對量化的所述網路參數進行編碼。
  4. 如申請專利範圍第1項所述的用於神經網路量化的方法,其中藉由均勻量化來將所述網路參數叢集,使用漢森加權均值作為叢集中心,且藉由可變長度二進位編碼而對量化的所述網路參數進行編碼。
  5. 如申請專利範圍第1項所述的用於神經網路量化的方法,其中所述神經網路是具有多個層的深度神經網路,且同時對所有層執行所述量化。
  6. 如申請專利範圍第1項所述的用於神經網路量化的方法,其中使用熵寫碼,且藉由使用熵約束純量量化(ECSQ)來執行量化叢集。
  7. 如申請專利範圍第6項所述的用於神經網路量化的方法,其中藉由均勻量化來將所述網路參數叢集,使用漢森加權均值作為叢集中心。
  8. 如申請專利範圍第6項所述的用於神經網路量化的方法,其中藉由使用迭代操作以執行所述熵約束純量量化來將所述網路參數叢集。
  9. 如申請專利範圍第8項所述的用於神經網路量化的方法,其中藉由使用迭代操作來將所述網路參數叢集包括: 在叢集之後在叢集的失真量度及所述網路參數的熵方面定義拉格朗日成本函數;以及 迭代地指派及更新叢集,直至所述拉格朗日成本函數縮減為小於臨限值。
  10. 如申請專利範圍第8項所述的用於神經網路量化的方法,其中漢森加權用於執行所述迭代操作。
  11. 一種用於神經網路量化的方法,包括: 使用網路參數的梯度的一次矩估計值及二次矩估計值來訓練神經網路;以及 使用所述二次矩估計值對所述網路參數進行加權以作為量化的所述網路參數的部分。
  12. 如申請專利範圍第11項所述的用於神經網路量化的方法,其中藉由隨機梯度下降(SGD)最佳化器執行所述訓練。
  13. 一種在神經網路量化中的裝置,包括: 一或多個非暫時性電腦可讀媒體;以及 至少一個處理器,其在執行儲存於所述一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟: 判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及 使用經判定所述的對角線對所述網路參數進行加權(漢森加權)以作為量化的所述網路參數的部分。
  14. 如申請專利範圍第13項所述的在神經網路量化中的裝置,其中藉由二進位編碼而對量化的所述網路參數進行編碼。
  15. 如申請專利範圍第13項所述的在神經網路量化中的裝置,其中藉由使用漢森加權均值作為叢集中心而藉由所述網路參數的漢森加權 k 均值叢集來使所述網路參數量化,且藉由固定長度二進位編碼而對所述網路參數進行編碼。
  16. 如申請專利範圍第13項所述的在神經網路量化中的裝置,其中藉由均勻量化來將所述網路參數叢集,使用漢森加權均值作為叢集中心,且藉由可變長度二進位編碼而對量化的所述網路參數進行編碼。
  17. 如申請專利範圍第13項所述的在神經網路量化中的裝置,其中所述神經網路是具有多個層的深度神經網路,且同時對所有層執行量化。
  18. 如申請專利範圍第13項所述的在神經網路量化中的裝置,其中使用熵寫碼(可變長度二進位編碼),且藉由使用熵約束純量量化(ECSQ)來執行量化叢集。
  19. 一種在神經網路量化中的裝置,包括: 一或多個非暫時性電腦可讀媒體;以及 至少一個處理器,其在執行儲存於所述一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟: 使用網路參數的梯度的一次矩估計值及二次矩估計值來訓練神經網路;以及 使用所述二次矩估計值對所述網路參數進行加權以作為量化的所述網路參數的部分。
  20. 一種方法,包括: 製造晶片組,所述晶片組包括: 至少一個處理器,其在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟: 判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及 使用經判定的所述對角線對所述網路參數進行加權(漢森加權)以作為量化的所述網路參數的部分;以及 所述一或多個非暫時性電腦可讀媒體,其儲存所述指令及經判定的所述對角線。
  21. 一種測試在神經網路量化中的裝置的方法,包括: 測試所述裝置是否具有在執行儲存於一或多個非暫時性電腦可讀媒體上的指令時執行以下步驟的至少一個處理器: 判定神經網路的網路參數的損失函數的二階偏導數矩陣(漢森矩陣)的對角線;以及 使用經判定的所述對角線對所述網路參數進行加權(漢森加權)以作為量化的所述網路參數的部分;以及 測試所述裝置是否具有儲存所述指令的所述一或多個非暫時性電腦可讀媒體。
TW106123446A 2016-10-19 2017-07-13 用於神經網路量化的方法以及裝置、以及製造晶片的方法 TWI767922B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662409961P 2016-10-19 2016-10-19
US62/409,961 2016-10-19
US15/433,531 US11321609B2 (en) 2016-10-19 2017-02-15 Method and apparatus for neural network quantization
US15/433,531 2017-02-15

Publications (2)

Publication Number Publication Date
TW201816669A true TW201816669A (zh) 2018-05-01
TWI767922B TWI767922B (zh) 2022-06-21

Family

ID=61903993

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106123446A TWI767922B (zh) 2016-10-19 2017-07-13 用於神經網路量化的方法以及裝置、以及製造晶片的方法

Country Status (4)

Country Link
US (1) US11321609B2 (zh)
KR (1) KR102382125B1 (zh)
CN (1) CN107967515B (zh)
TW (1) TWI767922B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI682325B (zh) * 2018-11-20 2020-01-11 新唐科技股份有限公司 辨識系統及辨識方法
CN111340226A (zh) * 2020-03-06 2020-06-26 北京市商汤科技开发有限公司 一种量化神经网络模型的训练及测试方法、装置及设备
TWI702536B (zh) * 2019-12-31 2020-08-21 財團法人工業技術研究院 基於適應標註的物件偵測模型的訓練方法及系統
TWI710981B (zh) * 2019-05-23 2020-11-21 開曼群島商創新先進技術有限公司 損失函數取值的確定方法、裝置和電子設備
US10956597B2 (en) 2019-05-23 2021-03-23 Advanced New Technologies Co., Ltd. Loss function value determination method and device and electronic equipment
TWI778493B (zh) * 2021-01-12 2022-09-21 鴻海精密工業股份有限公司 多神經網路模型載入方法、裝置、電子設備及電腦可讀取記錄媒體
TWI863974B (zh) * 2019-03-15 2024-12-01 南韓商三星電子股份有限公司 神經網路、用以修剪神經網路的層的權重及輸出特徵圖的方法、以及神經網路分析器

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4220630A1 (en) 2016-11-03 2023-08-02 Samsung Electronics Co., Ltd. Electronic device and controlling method thereof
US10748062B2 (en) 2016-12-15 2020-08-18 WaveOne Inc. Deep learning based adaptive arithmetic coding and codelength regularization
US11537869B2 (en) * 2017-02-17 2022-12-27 Twitter, Inc. Difference metric for machine learning-based processing systems
US11037330B2 (en) 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
US11429861B1 (en) 2017-05-01 2022-08-30 Perceive Corporation Device storing multiple sets of parameters for machine-trained network
US11250595B2 (en) * 2017-05-26 2022-02-15 Google Llc Tiled image compression using neural networks
US11410073B1 (en) * 2017-05-31 2022-08-09 The Mathworks, Inc. Systems and methods for robust feature selection
US10713265B2 (en) * 2017-06-20 2020-07-14 Vmware, Inc. Methods and systems to quantize and compress time series data
US11556775B2 (en) * 2017-10-24 2023-01-17 Baidu Usa Llc Systems and methods for trace norm regularization and faster inference for embedded models
JP2019080232A (ja) * 2017-10-26 2019-05-23 株式会社Preferred Networks 勾配圧縮装置、勾配圧縮方法及びプログラム
GB2568084B (en) * 2017-11-03 2022-01-12 Imagination Tech Ltd Error allocation format selection for hardware implementation of deep neural network
US11537870B1 (en) 2018-02-07 2022-12-27 Perceive Corporation Training sparse networks with discrete weight values
KR102688439B1 (ko) * 2018-05-09 2024-07-26 삼성전자주식회사 전자 장치 및 그 제어 방법
US11321504B2 (en) * 2018-05-09 2022-05-03 Palo Alto Research Center Incorporated Learning constitutive equations of physical components with constraints discovery
CN112424797B (zh) * 2018-05-17 2024-07-12 弗劳恩霍夫应用研究促进协会 神经网络的分布式学习和/或其参数化更新的传输的概念
CN109102064B (zh) * 2018-06-26 2020-11-13 杭州雄迈集成电路技术股份有限公司 一种高精度的神经网络量化压缩方法
CN109146057B (zh) * 2018-06-26 2020-12-08 杭州雄迈集成电路技术股份有限公司 一种基于查表计算的高精度的神经网络工程化方法
KR102732517B1 (ko) * 2018-07-04 2024-11-20 삼성전자주식회사 뉴럴 네트워크에서 파라미터를 처리하는 방법 및 장치
CN112437930A (zh) * 2018-07-12 2021-03-02 华为技术有限公司 以熟练的推理速度和功耗,生成神经网络的压缩表示
CN109086807B (zh) * 2018-07-16 2022-03-18 哈尔滨工程大学 一种基于空洞卷积堆叠网络的半监督光流学习方法
KR102728476B1 (ko) 2018-07-19 2024-11-12 삼성전자주식회사 전자 장치 및 그의 제어 방법
IT201800007377A1 (it) * 2018-07-20 2020-01-20 Rete neurale avente un numero ridotto di parametri
CN109165736B (zh) * 2018-08-08 2023-12-12 北京字节跳动网络技术有限公司 应用于卷积神经网络的信息处理方法和装置
CN109212960B (zh) * 2018-08-30 2020-08-14 周军 基于权值敏感度的二值神经网络硬件压缩方法
KR102825472B1 (ko) 2018-08-30 2025-06-30 삼성전자주식회사 전자 장치 및 그 제어 방법
CN110874636B (zh) * 2018-09-04 2023-06-30 杭州海康威视数字技术股份有限公司 一种神经网络模型压缩方法、装置和计算机设备
EP3620983B1 (en) 2018-09-05 2023-10-25 Sartorius Stedim Data Analytics AB Computer-implemented method, computer program product and system for data analysis
US12001949B2 (en) 2018-09-05 2024-06-04 Sartorius Stedim Data Analytics Ab Computer-implemented method, computer program product and system for data analysis
WO2020056718A1 (zh) * 2018-09-21 2020-03-26 华为技术有限公司 在设备中的神经网络模型的量化方法和装置
US11645535B2 (en) 2018-09-24 2023-05-09 Samsung Electronics Co., Ltd. Normalization method for training deep neural networks
WO2020064093A1 (en) * 2018-09-25 2020-04-02 Nokia Technologies Oy End-to-end learning in communication systems
WO2020080698A1 (ko) 2018-10-19 2020-04-23 삼성전자 주식회사 영상의 주관적 품질을 평가하는 방법 및 장치
WO2020080827A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Ai encoding apparatus and operation method of the same, and ai decoding apparatus and operation method of the same
WO2020080873A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Method and apparatus for streaming data
KR20200044653A (ko) 2018-10-19 2020-04-29 삼성전자주식회사 딥 뉴럴 네트워크를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
KR102525578B1 (ko) 2018-10-19 2023-04-26 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2020080765A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
US11720997B2 (en) 2018-10-19 2023-08-08 Samsung Electronics Co.. Ltd. Artificial intelligence (AI) encoding device and operating method thereof and AI decoding device and operating method thereof
CN111105007B (zh) * 2018-10-26 2024-04-12 中国科学院半导体研究所 用于目标检测的深度卷积神经网络的压缩加速方法
CN109523016B (zh) * 2018-11-21 2020-09-01 济南大学 面向嵌入式系统的多值量化深度神经网络压缩方法及系统
US12045725B1 (en) 2018-12-05 2024-07-23 Perceive Corporation Batch normalization for replicated layers of neural network
US12136039B1 (en) 2018-12-05 2024-11-05 Perceive Corporation Optimizing global sparsity for neural network
US10748033B2 (en) 2018-12-11 2020-08-18 Industrial Technology Research Institute Object detection method using CNN model and object detection apparatus using the same
CN109766993B (zh) * 2018-12-13 2020-12-18 浙江大学 一种适合硬件的卷积神经网络压缩方法
DE102018222345A1 (de) * 2018-12-19 2020-06-25 Robert Bosch Gmbh Verfahren zum Trainieren eines neuronalen Netzes
GB2580171B (en) * 2018-12-21 2021-02-17 Imagination Tech Ltd Methods and systems for selecting quantisation parameters for deep neural networks using back-propagation
CN109635935B (zh) * 2018-12-29 2022-10-14 北京航空航天大学 基于模长聚类的深度卷积神经网络模型自适应量化方法
KR20200089588A (ko) 2019-01-17 2020-07-27 삼성전자주식회사 전자 장치 및 이의 제어 방법
US10325352B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for transforming CNN layers to optimize CNN parameter quantization to be used for mobile devices or compact networks with high precision via hardware optimization
US10325185B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for online batch normalization, on-device learning, and continual learning applicable to mobile devices or IOT devices additionally referring to one or more previous batches to be used for military purpose, drone or robot, and testing method and testing device using the same
CN110309904B (zh) * 2019-01-29 2022-08-09 广州红贝科技有限公司 一种神经网络压缩方法
CN109782603A (zh) * 2019-02-03 2019-05-21 中国石油大学(华东) 旋转机械耦合故障的检测方法及监测系统
WO2020163970A1 (en) * 2019-02-15 2020-08-20 Surgical Safety Technologies Inc. System and method for adverse event detection or severity estimation from surgical data
CN113574887B (zh) * 2019-03-15 2024-09-27 交互数字Vc控股公司 基于低位移秩的深度神经网络压缩
CN111723901B (zh) * 2019-03-19 2024-01-12 百度在线网络技术(北京)有限公司 神经网络模型的训练方法及装置
CN110020616B (zh) * 2019-03-26 2021-05-11 深兰科技(上海)有限公司 一种目标识别方法及设备
JP7298266B2 (ja) 2019-04-19 2023-06-27 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN110135465B (zh) * 2019-04-22 2022-12-09 腾讯科技(深圳)有限公司 模型参数表示空间大小估计方法及装置、推荐方法
US10964362B2 (en) 2019-04-25 2021-03-30 Marvell Asia Pte, Ltd. Three-port memory cell and array for in-memory computing
WO2020220191A1 (en) * 2019-04-29 2020-11-05 Huawei Technologies Co., Ltd. Method and apparatus for training and applying a neural network
CN112001476A (zh) * 2019-05-27 2020-11-27 北京京东尚科信息技术有限公司 数据处理方法、装置和计算机可读存储介质
CN110222821B (zh) * 2019-05-30 2022-03-25 浙江大学 基于权重分布的卷积神经网络低位宽量化方法
KR102774094B1 (ko) 2019-06-05 2025-03-04 삼성전자주식회사 전자 장치 및 그의 연산 수행 방법
CN110263917B (zh) * 2019-06-06 2023-09-22 深圳前海微众银行股份有限公司 一种神经网络压缩方法及装置
KR102855809B1 (ko) * 2019-06-12 2025-09-04 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 신경망의 양자화 파라미터 확정방법 및 관련제품
DE102019208629A1 (de) * 2019-06-13 2020-12-17 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines maschinellen Lernsystems
CN110378467A (zh) * 2019-06-17 2019-10-25 浙江大学 一种针对深度学习网络参数的量化方法
WO2020260656A1 (en) * 2019-06-26 2020-12-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Pruning and/or quantizing machine learning predictors
US20220129759A1 (en) * 2019-06-26 2022-04-28 Intel Corporation Universal Loss-Error-Aware Quantization for Deep Neural Networks with Flexible Ultra-Low-Bit Weights and Activations
CN114080613A (zh) * 2019-07-02 2022-02-22 交互数字Ce专利控股公司 对深度神经网络进行编码的系统和方法
CN110443165B (zh) * 2019-07-23 2022-04-29 北京迈格威科技有限公司 神经网络量化方法、图像识别方法、装置和计算机设备
WO2021036412A1 (zh) * 2019-08-23 2021-03-04 上海寒武纪信息科技有限公司 数据处理方法、装置、计算机设备和存储介质
CN112418388B (zh) * 2019-08-23 2025-03-28 中兴通讯股份有限公司 一种实现深度卷积神经网络处理的方法及装置
CN112434781B (zh) * 2019-08-26 2024-09-10 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
US11949484B2 (en) * 2019-09-03 2024-04-02 Nokia Technologies Oy Signal demapping
CN110807336B (zh) * 2019-09-19 2023-10-31 平安科技(深圳)有限公司 基于最优传输损失的序列模型的翻译方法及相关设备
US11681911B2 (en) * 2019-10-15 2023-06-20 Naver Corporation Method and system for training neural sequence-to-sequence models by incorporating global features
CN110837856B (zh) * 2019-10-31 2023-05-30 深圳市商汤科技有限公司 神经网络训练及目标检测方法、装置、设备和存储介质
KR20210056179A (ko) * 2019-11-08 2021-05-18 삼성전자주식회사 Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
KR20210062485A (ko) 2019-11-21 2021-05-31 삼성전자주식회사 전자 장치 및 그 제어 방법
US12093816B1 (en) 2020-07-07 2024-09-17 Perceive Corporation Initialization of values for training a neural network with quantized weights
US11995555B1 (en) * 2019-12-17 2024-05-28 Perceive Corporation Training a neural network with quantized weights
US12169770B2 (en) * 2020-01-23 2024-12-17 Tencent America LLC Neural network model compression with structured weight unification
US12373700B2 (en) 2020-01-28 2025-07-29 Samsung Electronics Co., Ltd. Electronic device and controlling method of electronic device for applying a logical constraint to a neural network model
KR102287942B1 (ko) 2020-02-24 2021-08-09 삼성전자주식회사 전처리를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
EP4128219B1 (en) * 2020-05-07 2024-01-10 Google LLC Emitting word timings with end-to-end models
US12061981B1 (en) 2020-08-13 2024-08-13 Perceive Corporation Decomposition of weight tensors in network with value quantization
CN112116001B (zh) * 2020-09-17 2022-06-07 苏州浪潮智能科技有限公司 图像识别方法、装置及计算机可读存储介质
CN112132024B (zh) * 2020-09-22 2024-02-27 中国农业大学 水下目标识别网络优化方法及装置
CN114492811B (zh) * 2020-10-23 2024-05-07 本源量子计算科技(合肥)股份有限公司 量子连通图谱的优化方法、装置、终端及存储介质
DE102020213238A1 (de) * 2020-10-20 2022-04-21 Robert Bosch Gesellschaft mit beschränkter Haftung Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken
CN114519423B (zh) * 2020-11-20 2025-10-24 澜起科技股份有限公司 用于压缩神经网络的方法和装置
CN112488309B (zh) * 2020-12-21 2023-10-20 清华大学深圳国际研究生院 基于临界阻尼动量的深度神经网络的训练方法及系统
CN112529165B (zh) * 2020-12-22 2024-02-02 上海有个机器人有限公司 深度神经网络剪枝方法、装置、终端及存储介质
US12307333B2 (en) * 2020-12-28 2025-05-20 International Business Machines Corporation Loss augmentation for predictive modeling
US12165057B2 (en) 2020-12-28 2024-12-10 International Business Machines Corporation Split-net configuration for predictive modeling
CN114764609B (zh) * 2021-01-12 2025-10-03 富泰华工业(深圳)有限公司 多神经网络模型载入方法、装置、电子设备及存储介质
CN112906294B (zh) * 2021-01-28 2025-02-21 三星(中国)半导体有限公司 用于深度学习模型的量化方法和量化装置
KR102340091B1 (ko) * 2021-03-26 2021-12-16 세종대학교산학협력단 인공신경망의 양자화 오차 보상 시스템 및 그 방법
CN113096109A (zh) * 2021-04-22 2021-07-09 四川大学 一种肺部医学图像分析方法、设备及系统
US11777812B2 (en) * 2021-06-25 2023-10-03 Qualcomm Technologies, Inc. Zone-based federated learning
US20230073573A1 (en) * 2021-09-03 2023-03-09 Vianai Systems, Inc. Dynamic variable quantization of machine learning inputs
KR102815186B1 (ko) * 2022-03-16 2025-05-30 서울대학교산학협력단 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치
CN114720956B (zh) * 2022-06-07 2022-11-01 成都信息工程大学 针对双偏振天气雷达的水凝物粒子分类识别方法及装置
US20220300795A1 (en) * 2022-06-09 2022-09-22 Intel Corporation Two-stage decompression pipeline for non-uniform quantized neural network inference on reconfigurable hardware
CN116258196A (zh) * 2023-03-14 2023-06-13 上海壁仞智能科技有限公司 对神经网络进行训练的方法及更新神经网络参数的优化器
CN116306873B (zh) * 2023-03-24 2025-11-25 郑州云海信息技术有限公司 一种深度学习量化感知训练方法、装置、设备及介质
CN116884487B (zh) * 2023-07-24 2025-07-15 海南大学 一种基于最小熵算法的基因表达网络分析方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008133951A2 (en) * 2007-04-24 2008-11-06 Massachusetts Institute Of Technology Method and apparatus for image processing
US8229232B2 (en) 2007-08-24 2012-07-24 CVISION Technologies, Inc. Computer vision-based methods for enhanced JBIG2 and generic bitonal compression
US8503539B2 (en) 2010-02-26 2013-08-06 Bao Tran High definition personal computer (PC) cam
US9131163B2 (en) 2012-02-07 2015-09-08 Stmicroelectronics S.R.L. Efficient compact descriptors in visual search systems
US9716959B2 (en) 2013-05-29 2017-07-25 Qualcomm Incorporated Compensating for error in decomposed representations of sound fields
GB201313125D0 (en) * 2013-07-23 2013-09-04 Univ Singapore Technology & Design Method and system for classifying images
US9418458B2 (en) 2015-01-05 2016-08-16 Superfish Ltd. Graph image representation from convolutional neural networks

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI682325B (zh) * 2018-11-20 2020-01-11 新唐科技股份有限公司 辨識系統及辨識方法
TWI863974B (zh) * 2019-03-15 2024-12-01 南韓商三星電子股份有限公司 神經網路、用以修剪神經網路的層的權重及輸出特徵圖的方法、以及神經網路分析器
TWI710981B (zh) * 2019-05-23 2020-11-21 開曼群島商創新先進技術有限公司 損失函數取值的確定方法、裝置和電子設備
US10956597B2 (en) 2019-05-23 2021-03-23 Advanced New Technologies Co., Ltd. Loss function value determination method and device and electronic equipment
TWI702536B (zh) * 2019-12-31 2020-08-21 財團法人工業技術研究院 基於適應標註的物件偵測模型的訓練方法及系統
US11321590B2 (en) 2019-12-31 2022-05-03 Industrial Technology Research Institute Training method and system of objects detection model based on adaptive annotation design
CN111340226A (zh) * 2020-03-06 2020-06-26 北京市商汤科技开发有限公司 一种量化神经网络模型的训练及测试方法、装置及设备
CN111340226B (zh) * 2020-03-06 2022-01-25 北京市商汤科技开发有限公司 一种量化神经网络模型的训练及测试方法、装置及设备
TWI778493B (zh) * 2021-01-12 2022-09-21 鴻海精密工業股份有限公司 多神經網路模型載入方法、裝置、電子設備及電腦可讀取記錄媒體

Also Published As

Publication number Publication date
KR102382125B1 (ko) 2022-04-01
US11321609B2 (en) 2022-05-03
US20180107925A1 (en) 2018-04-19
TWI767922B (zh) 2022-06-21
CN107967515B (zh) 2024-01-09
KR20180043154A (ko) 2018-04-27
CN107967515A (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
TWI767922B (zh) 用於神經網路量化的方法以及裝置、以及製造晶片的方法
TWI801356B (zh) 網路量化的方法、神經網路中的設備、製造晶片組方法及測試設備方法
Choi et al. Towards the limit of network quantization
US11403528B2 (en) Self-tuning incremental model compression solution in deep neural network with guaranteed accuracy performance
Marin et al. Token pooling in vision transformers for image classification
Gysel et al. Hardware-oriented approximation of convolutional neural networks
Liu et al. Dynamic sparse graph for efficient deep learning
EP3276540B1 (en) Neural network method and apparatus
KR102615073B1 (ko) 유사도 검색을 위한 신경 해싱
Liu et al. SA-BNN: State-aware binary neural network
Verhoef et al. Fq-conv: Fully quantized convolution for efficient and accurate inference
Park et al. Quantized sparse training: A unified trainable framework for joint pruning and quantization in DNNs
CN118503746B (zh) 一种基于图结构学习的聚类模型构建方法及装置
Zhao et al. Towards compact 1-bit cnns via bayesian learning
Chen et al. Unsupervised speaker verification using pre-trained model and label correction
Sonkamble et al. Speech recognition using vector quantization through modified K-means LBG algorithm
JP4981122B2 (ja) 抑制されたベクトル量子化
CN113326922B (zh) 神经网络的生成方法、装置、电子设备及存储介质
CN103329198B (zh) 低复杂度目标矢量识别
CN113869337A (zh) 图像识别模型的训练方法及装置、图像识别方法及装置
Hu et al. Deep manifold graph auto-encoder for attributed graph embedding
Ai et al. Efficient approximate nearest neighbor search by optimized residual vector quantization
CN115101125A (zh) 一种基于随机森林和序列矩阵的蛋白互作预测方法
He et al. Learning pruned structure and weights simultaneously from scratch: An attention based approach
Harchli et al. Vector quantization for speech compression by a new version of PRSOM