TWI738048B - 算數框架系統及操作浮點至定點算數框架的方法 - Google Patents
算數框架系統及操作浮點至定點算數框架的方法 Download PDFInfo
- Publication number
- TWI738048B TWI738048B TW108131866A TW108131866A TWI738048B TW I738048 B TWI738048 B TW I738048B TW 108131866 A TW108131866 A TW 108131866A TW 108131866 A TW108131866 A TW 108131866A TW I738048 B TWI738048 B TW I738048B
- Authority
- TW
- Taiwan
- Prior art keywords
- point
- cnn
- dynamic fixed
- cnn model
- fixed
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/3824—Accepting both fixed-point and floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Neurology (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
Abstract
一種操作浮點至定點算數框架的系統,包含算數操作硬體上之浮點至定點算數框架。浮點至定點算數框架用以依據浮點預訓練卷積神經網路模型計算動態定點卷積神經網路模型。算數操作硬體可例如為中央處理器。動態定點卷積神經網路模型可在資源有限的嵌入式系統,例如行動電話或攝影機上實現高效能卷積神經網路。
Description
本發明關於機器學習技術,特別是一種算數框架系統,將浮點預訓練卷積神經網路(convolutional neural network,CNN)模型轉換為動態定點CNN模型。
大規模卷積神經網路(convolutional neural network,CNN)被認為是最值得注意的一種類神經網路,在機器學習應用領域的尖端科技,例如影像辨識、影像分類,語音辨識、自然語言處理及視訊分類中極為成功。由於大量的資料組,加強的運算功率及大量的儲存記憶體,CNN架構的高精度算數運算變得越來越多且越來越複雜,用以達成更佳效能。
然而在資源有限的嵌入式系統上,例如行動電話及視訊螢幕,儲存記憶體較少且運算能力較弱,因此難以達成高效能的CNN架構。這些限制在資源有限的嵌入式系統上成為實現高效能CNN的瓶頸。
本發明提出一種算數框架系統,包含算數操作硬體上之浮點至定點算數框架及記憶體。浮點至定點算數框架用以接收浮點預訓練卷積神經網路(convolution neural network,CNN)模型,擷取浮點預訓練CNN模型的每個CNN層之複數個權重、偏差及複數個激活值(activations),判定浮點預
訓練CNN模型的每個CNN層之等權重、偏差及等激活值的複數個動態定點格式以產生浮點預訓練CNN模型的每個CNN層之複數個動態定點格式權重、動態定點格式偏差及複數個動態定點格式激活值,加總浮點預訓練CNN模型的每個CNN層之每個動態定點格式權重及其對應動態定點格式激活值的複數個乘積,用以產生CNN模型的每個CNN層之第一輸出,依據等動態定點格式激活值截斷CNN模型的每個CNN層之第一輸出,用以產生CNN模型的每個CNN層之第二輸出,將CNN模型的每個CNN層之動態定點格式偏差及第二輸出相加,用以產生CNN模型的每個CNN層之第三輸出,依據等動態定點格式激活值截斷CNN模型的每個CNN層之第三輸出,用以產生CNN模型的每個CNN層之動態定點輸出,結合CNN模型的複數個CNN層之複數個動態定點輸出以產生動態定點CNN模型,及輸出動態定點CNN模型。記憶體用以儲存浮點預訓練CNN模型、CNN模型及動態定點CNN模型。
本發明提出另一種操作浮點至定點算數框架的方法,包含將浮點預訓練CNN模型輸入至浮點至定點算數框架,擷取浮點預訓練CNN模型的每個CNN層之複數個權重、偏差及複數個激活值,判定浮點預訓練CNN模型的每個CNN層之等權重、偏差及等激活值的複數個動態定點格式以產生浮點預訓練CNN模型的每個CNN層之複數個動態定點格式權重、動態定點格式偏差及複數個動態定點格式激活值,加總浮點預訓練CNN模型的每個CNN層之每個動態定點格式權重及其對應動態定點格式激活值的複數個乘積,用以產生CNN模型的每個CNN層之第一輸出,依據等動態定點格式激活值截斷CNN模型的每個CNN層之第一輸出,用以產生CNN模型的每個CNN層之第二輸出,將CNN模型的每個CNN層之動態定點格式偏差及第二輸出相加,用以產生CNN模型的每個CNN層之第三輸出,依據等動態定點格式激活值截斷CNN模型的每個CNN層之第三輸出,用以產生CNN模型的每個CNN層之動態定點輸出,結合CNN模型的複數個CNN層之複數個動態定點輸
出以產生動態定點CNN模型,及浮點至定點算數框架輸出動態定點CNN模型。
100:算數框架系統
102:算數操作硬體
104:浮點至定點算數框架
106:浮點預訓練CNN模型
108:記憶體
110:動態定點CNN模型
S202至S218:步驟
501、502、504、505:輸出資料
503:第一總和
506:第二總和
510:特徵圖
I:索引值
inc:輸入通道的數量
outc:輸出通道的數量
k:卷積核大小
N:權重的總數
W1至WN,Wi:權重
X1至XN,Xi:激活值
第1圖顯示本發明實施例之算數框架系統。
第2圖係為本發明實施例之運作浮點至定點算數框架的方法之流程圖。
第3圖顯示本發明實施例之CNN模型其中一層的動態定點流程之示意圖。
第4A至4C圖係為在通道中以3x3運算引擎為基礎的實施例。
第5圖顯示本發明實施例中之可重置的硬體設計之CNN模型其中一層之動態定點流程之示意圖。
本發明提供一種浮點至定點算數框架系統,用以輸出動態定點卷積神經網路(convolution neural network,CNN)模型。
第1圖顯示本發明實施例之算數框架系統100。算數框架系統100包含算數操作硬體102及記憶體108,記憶體108用以儲存浮點預訓練CNN模型、CNN模型及動態定點CNN模型。算數操作硬體102具有於其上執行的浮點至定點算數框架104。算數操作硬體102可以是中央處理單元(central processing unit,CPU)或圖形處理單元(graphics processing unit,GPU)。浮點預訓練CNN模型106被輸入至浮點至定點算數框架104。浮點至定點算數框架104輸出動態定點CNN模型110。動態定點CNN模型110係為符合硬體限制條件
的最佳化CNN模型。
第2圖係為本發明實施例之運作浮點至定點算數框架的方法之流程圖。第2圖的方法包含下列步驟:步驟S202:將浮點預訓練CNN模型106輸入至浮點至定點算數框架104;步驟S204:擷取浮點預訓練CNN模型106的每個CNN層之權重、偏差及激活值;步驟S206:判定浮點預訓練CNN模型106的每個CNN層之權重、偏差及激活值的動態定點格式以產生浮點預訓練CNN模型106的每個CNN層之動態定點格式權重、動態定點格式偏差及動態定點格式激活值;步驟S208:加總浮點預訓練CNN模型106的每個CNN層之每個動態定點格式權重及其對應動態定點格式激活值的乘積,用以產生CNN模型的每個CNN層之第一輸出;步驟S210:依據動態定點格式激活值截斷CNN模型的每個CNN層之第一輸出,用以產生CNN模型的每個CNN層之第二輸出;步驟S212:將CNN模型的每個CNN層之動態定點格式偏差及第二輸出相加,用以產生CNN模型的每個CNN層之第三輸出;步驟S214:依據動態定點格式激活值截斷CNN模型的每個CNN層之第三輸出,用以產生CNN模型的每個CNN層之動態定點輸出;步驟S216:結合CNN模型的CNN層之動態定點輸出以產生動態定點CNN模型;及步驟S218:浮點至定點算數框架104輸出動態定點CNN模型110。
第3圖顯示本發明實施例之CNN模型其中一層的動態定點流程之示意圖。在CNN運算中的主要元素係為權重及激活值的乘法,如公式(1)所示。
其中W係為權重,X係為激活值,B係為偏差,N=k.k.in c .out c 係為權重的總數。k係為卷積核(kernel)大小,inc係為輸入通道的數量,及out c 係為輸出通道的數量。在公式中可以看到CNN模型每層內具有N個算數運算。N個算數運算係為最複雜的部份,需要大量的算數運算。如第3圖所示,將W1及X1之乘積至WN及XN之乘積相加,接著將偏差B加入乘積的總和。符號”S2C”表示有符號數處理的二補數(signed two’s complement),且以”M1.M2”表示,M1表示整數字長(word length),及M2表示分數字長。舉例來說,權重W 1的S2C為”2.8”,表示整數字長為2及分數字長為8。激活值X 1的S2C為”2.14”,表示整數字長為2及分數字長為14。W 1及X 1的乘積的S2C為”2.22”,表示整數字長為4及分數字長為22。在將W1及X1之乘積至WN及XN之乘積相加之後,為了減低算數運算的負擔(overhead)會截斷乘積的總和以得到的S2C為”2.14”。
將具有”2.14”的S2C之偏差B加入總和以產生CNN模型之一層的動態定點輸出,動態定點輸出也具有”2.14”的S2C。
如前述方式,動態定點格式方法用以獲得權重、偏差及激活值的定點格式,及包含使用2個參數表示動態定點格式,如公式(2)所示:
s=(2 p-1-1)/Max v (2)
在公式(2)中,p表示量化位元長,及對稱動態範圍係為[-Max v ,Max v ]。由權重的觀點來看,Max v 等於max(|min(w)|,|max(w)|),其中|max(w)|係為具有最大值之權重的絕對值,及|min(w)|係為具有最小值之權重的絕對值。在第3圖中,若W1大於W2至WN,且W2係小於任意其他Wi,則Max v 等於|W 1|及|W 2|之最大值。由激活值及偏差的觀點來看,Max v 係分別為激活值及偏差的最大值。s係為純量因子,補足浮點值及定點值之間的缺口。
依據定義為M之動態定點的給定解析度,整數字長M1等於M減掉M2。
藉由使用浮點純量因子值,本發明實施例提出之演算法能達成近似的理論信號至量化雜訊比(signal-to-quantization noise ratio,SQNR)。
第4A至4C圖係為在通道中以3x3運算引擎為基礎的實施例。依據可重置的算數框架系統,使用3X3運算引擎作為可重配置單元以透過動態定點設計計算卷積層。為了簡化圖示,假設輸入影像大小為5x5x1,其中輸入寬度為5,輸入高度為5,輸入通道數量為in c ,輸出通道數量為out c ,及卷積核大小為3X3。
第4A圖顯示如何重新設置輸入影像以在通道1中有效使用可重置的3X3運算引擎。同時重建權重,如第4B圖所示。應用3X3卷積核權重,通道1的通用矩陣乘法(general matrix multiplication,GEMM)如第4C圖所示。在第4C圖中顯示透過通道1的GEMM計算產生Y(1,1)的例子。Y(1,1)等於
(W(1,1)*X(1,1)+W(1,2)*X(1,2)+…+W(3,3)*X(3,3))且接著應用動態定點方法與純量因子s相乘。之後,同樣的GEMM計算及動態定點方法被應用於剩下的通道。
第5圖顯示本發明實施例中之可重置的硬體設計之CNN模型其中一層之動態定點流程之示意圖。在本實施例中,3X3運算引擎可用作可重置單元以透過動態定點設計來計算卷積層。第一通道之使用動態定點方法的GEMM輸出第一資料501。將同樣使用動態定點方法的GEMM計算應用於第二通道以輸出第二資料502。依據CNN模型的其中之一層之動態定點激活值將輸出資料501及502截斷,及接著加總截斷結果以產生第一總和503。將同樣使用動態定點方法的GEMM計算應用於第三通道以輸出第三資料504,及應用於第四通道以輸出第四資料505。依據CNN模型的其中之一層之動態定點激活值將輸出資料504及505截斷,及接著加總截斷結果以產生第二總和506。這些步驟應用於CNN模型的其中之一層之剩餘通道,及輸出CNN模型的其中之一層之特徵圖(feature map)510。計算CNN模型每層會產生動態定點CNN模型。
本發明實施例提供運作浮點至定點算數框架的系統及方法。該系統及方法包含算數操作硬體上之浮點至定點算數框架,算數操作硬體例如為CPU,用以計算浮點預訓練CNN模型以產生動態定點CNN模型。浮點至定點算數框架接收浮點預訓練CNN模型及接收浮點預訓練CNN模型之每個CNN層的權重、偏差及激活值。浮點至定點算數框架接著計算浮點預訓練CNN模型的每層之每個通道,用以產生動態定點CNN模型。浮點至定點格式最佳化CNN模型符合相關的硬體限制條件。輸出之動態定點CNN模型能夠在資源有限的嵌入式系統上實現高效能CNN。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
S202至S218:步驟
Claims (8)
- 一種算數框架系統,包含:一算數操作硬體上之一浮點至定點算數框架(floating-to-fixed arithmetic framework),用以:接收一浮點預訓練卷積神經網路(convolution neural network,CNN)模型;擷取該浮點預訓練CNN模型的每個CNN層的複數個輸入通道之複數個權重、一偏差及複數個激活值(activations),以及該些權重及該些激活值的一統計分佈;判定該浮點預訓練CNN模型的該每個CNN層的該些輸入通道之該等權重、該偏差及該等激活值的複數個動態定點格式以產生該浮點預訓練CNN模型的該每個CNN層之複數個動態定點格式權重、一動態定點格式偏差及複數個動態定點格式激活值;加總該浮點預訓練CNN模型的該每個CNN層的該些輸入通道之每個動態定點格式權重及其對應動態定點格式激活值的複數個乘積,用以產生該些輸入通道的動態定點格式權重及動態定點格式激活值的複數個乘積的一統計分佈,及一CNN模型的每個CNN層的該些輸入通道之一第一輸出;依據該等動態定點格式激活值截斷該CNN模型的該每個CNN層的該些輸入通道之該第一輸出,用以產生該CNN模型的該每個CNN層之一第二輸出;將該CNN模型的該每個CNN層之該動態定點格式偏差及該第二輸出相加,用以產生該CNN模型的該每個CNN層之一第三輸出;依據該等動態定點格式激活值截斷該CNN模型的該每個CNN層之該第 三輸出,用以產生該CNN模型的該每個CNN層之一動態定點輸出;結合該CNN模型的複數個CNN層之複數個動態定點輸出以產生一動態定點CNN模型;及輸出該動態定點CNN模型;及一記憶體,用以儲存該浮點預訓練CNN模型、該CNN模型及該動態定點CNN模型。
- 如請求項1所述之算數框架系統,其中在做定點量化運算時,不需要提供訓練資料,並且不需要對定點量化後的CNN網路做訓練微調,該算數操作硬體的架構為個羽量級的一中央處理單元(Central Processing Unit,CPU)、一嵌入式數位訊號處理器(Digital Signal Processor,DSP)或一神經網路處理器(Neural Processing Unit,NPU)。
- 如請求項1所述之算數框架系統,其中該浮點至定點算數框架另用以:將該動態定點CNN模型輸入至該浮點至定點算數框架。
- 一種操作一浮點至定點算數框架的方法,包含:將一浮點預訓練CNN模型輸入至該浮點至定點算數框架;擷取該浮點預訓練CNN模型的每個CNN層的複數個輸入通道之複數個權重、一偏差及複數個激活值,以及該些權重及該些激活值的一統計分佈;判定該浮點預訓練CNN模型的該每個CNN層的該些輸入通道之該等權重、該偏差及該等激活值的複數個動態定點格式以產生該浮點預訓練CNN模 型的該每個CNN層之複數個動態定點格式權重、一動態定點格式偏差及複數個動態定點格式激活值;加總該浮點預訓練CNN模型的該每個CNN層的該些輸入通道之每個動態定點格式權重及其對應動態定點格式激活值的複數個乘積,用以產生該些輸入通道的動態定點格式權重及動態定點格式激活值的複數個乘積的一統計分佈,及一CNN模型的每個CNN層之一第一輸出;依據該等動態定點格式激活值截斷該CNN模型的該每個CNN層的該些輸入通道之該第一輸出,用以產生該CNN模型的該每個CNN層之一第二輸出;將該CNN模型的該每個CNN層之該動態定點格式偏差及該第二輸出相加,用以產生該CNN模型的該每個CNN層之一第三輸出;依據該等動態定點格式激活值截斷該CNN模型的該每個CNN層之該第三輸出,用以產生該CNN模型的該每個CNN層之一動態定點輸出;結合該CNN模型的複數個CNN層之複數個動態定點輸出以產生一動態定點CNN模型;及該浮點至定點算數框架輸出該動態定點CNN模型。
- 如請求項4所述之方法,另包含:將該動態定點CNN模型輸入至該浮點至定點算數框架。
- 如請求項4所述之方法,其中判定該浮點預訓練CNN模型的該每個CNN層之該等權重、該偏差及該等激活值的該等動態定點格式包含:判定該等權重的複數個絕對值之一最大值及該最大值的一負向值之間之一對稱動態範圍、該浮點預訓練CNN模型的複數個CNN層之複數個偏差的 一最大值、及該浮點預訓練CNN模型的每個CNN層之該等動態定點格式激活值的一最大值。
- 如請求項4所述之方法,其中依據該等動態定點格式激活值截斷該CNN模型的該每個CNN層之該第一輸出,用以產生該CNN模型的該每個CNN層之該第二輸出包含:將該CNN模型的該每個CNN層之該第二輸出表示為具有與該等動態定點格式激活值相同的該一整數字長(word length)及一分數字長。
- 如請求項4所述之方法,其中依據該等動態定點格式激活值截斷該CNN模型的該每個CNN層之該第三輸出,用以產生該CNN模型的該每個CNN層之該動態定點輸出包含:將該CNN模型的該每個CNN層之該動態定點輸出表示為具有與該等動態定點格式激活值相同的該一整數字長及一分數字長。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862733643P | 2018-09-20 | 2018-09-20 | |
US62/733,643 | 2018-09-20 | ||
US16/551,743 | 2019-08-27 | ||
US16/551,743 US11663464B2 (en) | 2018-09-20 | 2019-08-27 | Deep neural network with low-precision dynamic fixed-point in reconfigurable hardware design |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202013261A TW202013261A (zh) | 2020-04-01 |
TWI738048B true TWI738048B (zh) | 2021-09-01 |
Family
ID=69883495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108131866A TWI738048B (zh) | 2018-09-20 | 2019-09-04 | 算數框架系統及操作浮點至定點算數框架的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11663464B2 (zh) |
TW (1) | TWI738048B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210150313A1 (en) * | 2019-11-15 | 2021-05-20 | Samsung Electronics Co., Ltd. | Electronic device and method for inference binary and ternary neural networks |
US20220156567A1 (en) * | 2020-11-13 | 2022-05-19 | Mediatek Inc. | Neural network processing unit for hybrid and mixed precision computing |
EP4064133A3 (en) * | 2021-03-24 | 2022-12-28 | Samsung Electronics Co., Ltd. | Method for optimising a machine learning model for image processing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170220929A1 (en) * | 2014-09-09 | 2017-08-03 | Intel Corporation | Improved fixed point integer implementations for neural networks |
CN107636697A (zh) * | 2015-05-08 | 2018-01-26 | 高通股份有限公司 | 基于浮点神经网络量化的定点神经网络 |
CN108009625A (zh) * | 2016-11-01 | 2018-05-08 | 北京深鉴科技有限公司 | 人工神经网络定点化后的微调方法和装置 |
WO2018152205A1 (en) * | 2017-02-14 | 2018-08-23 | Google Llc | Implementing neural networks in fixed point arithmetic computing systems |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090319987A1 (en) * | 2008-06-19 | 2009-12-24 | Bartz Christopher T | Automatic Fixed Point Code Generation |
CN106502626A (zh) | 2016-11-03 | 2017-03-15 | 北京百度网讯科技有限公司 | 数据处理方法和装置 |
US11003985B2 (en) | 2016-11-07 | 2021-05-11 | Electronics And Telecommunications Research Institute | Convolutional neural network system and operation method thereof |
US10643297B2 (en) * | 2017-05-05 | 2020-05-05 | Intel Corporation | Dynamic precision management for integer deep learning primitives |
CN107480770B (zh) | 2017-07-27 | 2020-07-28 | 中国科学院自动化研究所 | 可调节量化位宽的神经网络量化与压缩的方法及装置 |
KR20200026455A (ko) * | 2018-09-03 | 2020-03-11 | 삼성전자주식회사 | 인공 신경망 시스템 및 인공 신경망의 고정 소수점 제어 방법 |
-
2019
- 2019-08-27 US US16/551,743 patent/US11663464B2/en active Active
- 2019-09-04 TW TW108131866A patent/TWI738048B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170220929A1 (en) * | 2014-09-09 | 2017-08-03 | Intel Corporation | Improved fixed point integer implementations for neural networks |
CN107636697A (zh) * | 2015-05-08 | 2018-01-26 | 高通股份有限公司 | 基于浮点神经网络量化的定点神经网络 |
CN108009625A (zh) * | 2016-11-01 | 2018-05-08 | 北京深鉴科技有限公司 | 人工神经网络定点化后的微调方法和装置 |
WO2018152205A1 (en) * | 2017-02-14 | 2018-08-23 | Google Llc | Implementing neural networks in fixed point arithmetic computing systems |
Also Published As
Publication number | Publication date |
---|---|
US11663464B2 (en) | 2023-05-30 |
US20200097816A1 (en) | 2020-03-26 |
TW202013261A (zh) | 2020-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451659B (zh) | 用于位宽分区的神经网络加速器及其实现方法 | |
US11055379B2 (en) | Information processing method, information processing apparatus, and computer-readable recording medium | |
Su et al. | Redundancy-reduced mobilenet acceleration on reconfigurable logic for imagenet classification | |
US10096134B2 (en) | Data compaction and memory bandwidth reduction for sparse neural networks | |
US10929746B2 (en) | Low-power hardware acceleration method and system for convolution neural network computation | |
TWI738048B (zh) | 算數框架系統及操作浮點至定點算數框架的方法 | |
US20210004663A1 (en) | Neural network device and method of quantizing parameters of neural network | |
KR102476343B1 (ko) | 자리수가 비교적 적은 고정 소수점 수치의 신경망 연산에 대한 지원 장치와 방법 | |
KR102469261B1 (ko) | 적응적 인공 신경 네트워크 선택 기법들 | |
CN107340993B (zh) | 运算装置和方法 | |
KR102562320B1 (ko) | 비트 연산 기반의 뉴럴 네트워크 처리 방법 및 장치 | |
US10872295B1 (en) | Residual quantization of bit-shift weights in an artificial neural network | |
CN111488985B (zh) | 深度神经网络模型压缩训练方法、装置、设备、介质 | |
TW201915835A (zh) | 人工神經元中以非零封包加速乘法運算的裝置及方法 | |
EP3931756A1 (en) | Neural network layer processing with normalization and transformation of data | |
CN110909874A (zh) | 一种神经网络模型的卷积运算优化方法和装置 | |
US11544521B2 (en) | Neural network layer processing with scaled quantization | |
WO2023207059A1 (zh) | 一种视觉问答任务处理方法、系统、电子设备及存储介质 | |
US20200134475A1 (en) | Constraining function approximation hardware integrated with fixed-point to floating-point conversion | |
CN114341882A (zh) | 用于训练深度神经网络的无损指数和有损尾数权重压缩 | |
CN111240746A (zh) | 一种浮点数据反量化及量化的方法和设备 | |
Gupta et al. | Align: A highly accurate adaptive layerwise log_2_lead quantization of pre-trained neural networks | |
Zhan et al. | Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems | |
CN112418388A (zh) | 一种实现深度卷积神经网络处理的方法及装置 | |
CN111160517A (zh) | 一种深度神经网络的卷积层量化方法及装置 |