TW202013261A - 算數框架系統及操作浮點至定點算數框架的方法 - Google Patents

算數框架系統及操作浮點至定點算數框架的方法 Download PDF

Info

Publication number
TW202013261A
TW202013261A TW108131866A TW108131866A TW202013261A TW 202013261 A TW202013261 A TW 202013261A TW 108131866 A TW108131866 A TW 108131866A TW 108131866 A TW108131866 A TW 108131866A TW 202013261 A TW202013261 A TW 202013261A
Authority
TW
Taiwan
Prior art keywords
point
cnn
dynamic fixed
cnn model
floating
Prior art date
Application number
TW108131866A
Other languages
English (en)
Other versions
TWI738048B (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 TW202013261A publication Critical patent/TW202013261A/zh
Application granted granted Critical
Publication of TWI738048B publication Critical patent/TWI738048B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/5443Sum of products
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/3824Accepting both fixed-point and floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural 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 Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (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模型。
本發明提供一種浮點至定點算數框架系統,用以輸出動態定點卷積神經網路(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)所示。
Figure 02_image001
(1)
其中W係為權重,X係為激活值,B係為偏差,
Figure 02_image003
係為權重的總數。k係為卷積核(kernel)大小,
Figure 02_image005
係為輸入通道的數量,及
Figure 02_image007
係為輸出通道的數量。在公式中可以看到CNN模型每層內具有N個算數運算。N個算數運算係為最複雜的部份,需要大量的算數運算。如第3圖所示,將W1 及X1 之乘積至WN 及XN 之乘積相加,接著將偏差B加入乘積的總和。符號”S2C”表示有符號數處理的二補數(signed two’s complement),且以”M1.M2”表示,M1表示整數字長(word length),及M2表示分數字長。舉例來說,權重
Figure 02_image009
的S2C為”2.8”,表示整數字長為2及分數字長為8。激活值
Figure 02_image011
的S2C為”2.14”,表示整數字長為2及分數字長為14。
Figure 02_image009
Figure 02_image011
的乘積的S2C為”2.22”,表示整數字長為4及分數字長為22。在將W1 及X1 之乘積至WN 及XN 之乘積相加之後,為了減低算數運算的負擔(overhead)會截斷乘積的總和以得到的S2C為”2.14”。將具有”2.14”的S2C之偏差B加入總和以產生CNN模型之一層的動態定點輸出,動態定點輸出也具有”2.14”的S2C。
如前述方式,動態定點格式方法用以獲得權重、偏差及激活值的定點格式,及包含使用2個參數表示動態定點格式,如公式(2)所示:
Figure 02_image013
(2)
在公式(2)中,p表示量化位元長,及對稱動態範圍係為
Figure 02_image015
。由權重的觀點來看,
Figure 02_image017
等於
Figure 02_image019
,其中
Figure 02_image021
係為具有最大值之權重的絕對值,及
Figure 02_image023
係為具有最小值之權重的絕對值。在第3圖中,若W1 大於W2 至WN ,且W2 係小於任意其他Wi ,則
Figure 02_image017
等於
Figure 02_image025
Figure 02_image027
之最大值。由激活值及偏差的觀點來看,
Figure 02_image017
係分別為激活值及偏差的最大值。s係為純量因子,補足浮點值及定點值之間的缺口。
首先對每層來說,公式(2)提到的純量因子
Figure 02_image029
可由公式(3)表示:
Figure 02_image031
(3)
其中
Figure 02_image033
等於
Figure 02_image035
,n係為分數位元的數量,及q係表示s及
Figure 02_image037
之間的殘差值。
依據定義為M之動態定點的給定解析度,整數字長M1等於M減掉M2。藉由使用浮點純量因子值,本發明實施例提出之演算法能達成近似的理論信號至量化雜訊比(signal-to-quantization noise ratio,SQNR)。
第4A至4C圖係為在通道中以3x3運算引擎為基礎的實施例。依據可重置的算數框架系統,使用3X3運算引擎作為可重配置單元以透過動態定點設計計算卷積層。為了簡化圖示,假設輸入影像大小為5x5x1,其中輸入寬度為5,輸入高度為5,輸入通道數量為
Figure 02_image039
,輸出通道數量為
Figure 02_image007
,及卷積核大小為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。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
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模型其中一層之動態定點流程之示意圖。
S202至S218:步驟

Claims (8)

  1. 一種算數框架系統,包含: 一算數操作硬體上之一浮點至定點算數框架(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模型。
  2. 如請求項1所述之算數框架系統,其中該算數操作硬體係為一中央處理單元(central processing unit,CPU)或一圖形處理單元(graphics processing unit,GPU)。
  3. 如請求項1所述之算數框架系統,其中該浮點至定點算數框架另用以: 將該動態定點CNN模型輸入至該浮點至定點算數框架。
  4. 一種操作一浮點至定點算數框架的方法,包含: 將一浮點預訓練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模型。
  5. 如請求項4所述之方法,另包含: 將該動態定點CNN模型輸入至該浮點至定點算數框架。
  6. 如請求項4所述之方法,其中判定該浮點預訓練CNN模型的該每個CNN層之該等權重、該偏差及該等激活值的該等動態定點格式包含: 判定該等權重的複數個絕對值之一最大值及該最大值的一負向值之間之一對稱動態範圍、該浮點預訓練CNN模型的複數個CNN層之複數個偏差的一最大值、及該浮點預訓練CNN模型的每個CNN層之該等動態定點格式激活值的一最大值。
  7. 如請求項4所述之方法,其中依據該等動態定點格式激活值截斷該CNN模型的該每個CNN層之該第一輸出,用以產生該CNN模型的該每個CNN層之該第二輸出包含: 將該CNN模型的該每個CNN層之該第二輸出表示為具有與該等動態定點格式激活值相同的該一整數字長(word length)及一分數字長。
  8. 如請求項4所述之方法,其中依據該等動態定點格式激活值截斷該CNN模型的該每個CNN層之該第三輸出,用以產生該CNN模型的該每個CNN層之該動態定點輸出包含: 將該CNN模型的該每個CNN層之該動態定點輸出表示為具有與該等動態定點格式激活值相同的該一整數字長及一分數字長。
TW108131866A 2018-09-20 2019-09-04 算數框架系統及操作浮點至定點算數框架的方法 TWI738048B (zh)

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 true TW202013261A (zh) 2020-04-01
TWI738048B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI800979B (zh) * 2020-11-13 2023-05-01 聯發科技股份有限公司 神經網絡處理單元及系統

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12039430B2 (en) * 2019-11-15 2024-07-16 Samsung Electronics Co., Ltd. Electronic device and method for inference binary and ternary neural networks
US12112265B2 (en) 2020-12-18 2024-10-08 Analog Devices International Unlimited Company Architecture for running convolutional networks on memory and mips constrained embedded devices
EP4064133A3 (en) * 2021-03-24 2022-12-28 Samsung Electronics Co., Ltd. Method for optimising a machine learning model for image processing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319987A1 (en) * 2008-06-19 2009-12-24 Bartz Christopher T Automatic Fixed Point Code Generation
EP3192015A1 (en) 2014-09-09 2017-07-19 Intel Corporation Improved fixed point integer implementations for neural networks
US10373050B2 (en) 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
CN108009625B (zh) 2016-11-01 2020-11-06 赛灵思公司 人工神经网络定点化后的微调方法和装置
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
US10650303B2 (en) 2017-02-14 2020-05-12 Google Llc Implementing neural networks in fixed point arithmetic computing systems
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 삼성전자주식회사 인공 신경망 시스템 및 인공 신경망의 고정 소수점 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI800979B (zh) * 2020-11-13 2023-05-01 聯發科技股份有限公司 神經網絡處理單元及系統

Also Published As

Publication number Publication date
TWI738048B (zh) 2021-09-01
US20200097816A1 (en) 2020-03-26
US11663464B2 (en) 2023-05-30

Similar Documents

Publication Publication Date Title
TWI738048B (zh) 算數框架系統及操作浮點至定點算數框架的方法
Su et al. Redundancy-reduced mobilenet acceleration on reconfigurable logic for imagenet classification
US11055379B2 (en) Information processing method, information processing apparatus, and computer-readable recording medium
CN107451659B (zh) 用于位宽分区的神经网络加速器及其实现方法
US11481613B2 (en) Execution method, execution device, learning method, learning device, and recording medium for deep neural network
TWI684141B (zh) 人工神經元中以非零封包加速乘法運算的裝置及方法
CN107340993B (zh) 运算装置和方法
CN109840589B (zh) 一种在fpga上运行卷积神经网络的方法和装置
JP7325158B2 (ja) ニューラル・ネットワーク・コアにおける動的精度のためのデータ表現
US10491239B1 (en) Large-scale computations using an adaptive numerical format
US20210064985A1 (en) Machine learning hardware having reduced precision parameter components for efficient parameter update
CN114402596B (zh) 神经网络模型解码方法、装置、系统和介质
EP4008057B1 (en) Lossless exponent and lossy mantissa weight compression for training deep neural networks
US20200272881A1 (en) Neural network layer processing with scaled quantization
WO2023051335A1 (zh) 数据编码方法、数据解码方法以及数据处理装置
CN111240746A (zh) 一种浮点数据反量化及量化的方法和设备
JP2009217583A (ja) パターン認識装置及びその方法
Zhang et al. Training for multi-resolution inference using reusable quantization terms
CN111587441B (zh) 使用以比特值为条件的回归神经网络生成输出示例
CN112561050A (zh) 一种神经网络模型训练方法及装置
Fuketa et al. Image-classifier deep convolutional neural network training by 9-bit dedicated hardware to realize validation accuracy and energy efficiency superior to the half precision floating point format
US20140101215A1 (en) Dpd/bcd to bid converters
Zhan et al. Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems
CN112418388A (zh) 一种实现深度卷积神经网络处理的方法及装置
CN113313253A (zh) 神经网络压缩方法、数据处理方法、装置及计算机设备