TWI737228B - 基於記憶體內運算電路架構之量化方法及其系統 - Google Patents

基於記憶體內運算電路架構之量化方法及其系統 Download PDF

Info

Publication number
TWI737228B
TWI737228B TW109109478A TW109109478A TWI737228B TW I737228 B TWI737228 B TW I737228B TW 109109478 A TW109109478 A TW 109109478A TW 109109478 A TW109109478 A TW 109109478A TW I737228 B TWI737228 B TW I737228B
Authority
TW
Taiwan
Prior art keywords
quantization
function
convolution
expressed
quantized
Prior art date
Application number
TW109109478A
Other languages
English (en)
Other versions
TW202137075A (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 國立清華大學
Priority to TW109109478A priority Critical patent/TWI737228B/zh
Priority to US16/923,074 priority patent/US11899742B2/en
Application granted granted Critical
Publication of TWI737228B publication Critical patent/TWI737228B/zh
Publication of TW202137075A publication Critical patent/TW202137075A/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • 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/048Activation functions
    • 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/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本發明提供一種基於記憶體內運算電路架構之量化方法,其中參數分群步驟依據分群數值將量化權重分成分群量化權重,並依據分群數值將輸入激勵函數分成分群激勵函數。乘積累加步驟將分群量化權重及分群激勵函數執行乘積累加運算而產生卷積輸出。卷積量化步驟依據卷積目標位元將卷積輸出量化成量化卷積輸出。卷積合併步驟依據分群數值將量化卷積輸出執行部分和運算而產生輸出激勵函數。藉此,透過分群配對及考慮硬體限制,並藉由類比數位轉換器的分類分布及具體量化法搭配深度神經網路的穩健性質,可學習到較佳的權重參數。

Description

基於記憶體內運算電路架構之量化方法及其系統
本發明是關於一種量化方法及其系統,特別是關於一種基於記憶體內運算電路架構之量化方法及其系統。
在先前技術中,量化方法都是針對神經網路的輸入激勵函數及權重進行量化處理,並且透過數位電路實現低位元神經網路。近年來,記憶體內運算被提出,並在能源效率上比數位電路更好。然而,習知量化方法應用於記憶體內運算時,經神經網路訓練所得到之權重參數無法有效提升精準度。由上述可知,目前市場上缺乏一種能有效提升精準度並基於記憶體內運算電路架構之量化方法及其系統,故相關業者均在尋求其解決之道。
因此,本發明之目的在於提供一種基於記憶體內運算電路架構之量化方法及其系統,其針對神經網路的輸入激勵函數及權重進行分拆,以模擬記憶體內運算電路的字 元線及位元線的特性,並且在經過分群卷積後對輸出結果進行量化處理,以模擬類比數位轉換器的限制,最後在以部分和完成典型卷積運算。上述量化結合神經網路之權重更新,可提升精準度。
依據本發明的方法態樣之一實施方式提供一種基於記憶體內運算電路架構之量化方法,其包含量化參數提供步驟、參數分群步驟、乘積累加步驟、卷積量化步驟以及卷積合併步驟。其中量化參數提供步驟係提供量化參數,量化參數包含一輸入激勵函數、一量化權重及一分群數值。參數分群步驟係依據分群數值將量化權重分成複數個分群量化權重,並依據分群數值將輸入激勵函數分成複數個分群激勵函數。乘積累加步驟係將任一分群量化權重及任一分群激勵函數執行一乘積累加運算而產生一卷積輸出。卷積量化步驟係依據一卷積目標位元將卷積輸出量化成一量化卷積輸出。卷積合併步驟係依據分群數值將量化卷積輸出執行一部分和運算而產生一輸出激勵函數。
藉此,本發明之量化方法可將分群量化權重預先儲存至記憶體單元內,並且透過特定之記憶體內運算電路架構達到記憶體內的卷積運算功能,可避免傳統架構裡階層記憶體間大量的資料搬運之間題,進而能達到降低系統功耗、降低系統延遲以及提高能源效率。此外,本發明將量化權重與輸入激勵函數分群配對,並考慮有限位元線的記憶體單元、字元線輸入及卷積輸出的離散化,透過深度神經網路的穩健性質,學習到適合非揮發性記憶體內運算之 硬體限制的權重參數。
前述實施方式之其他實施例如下:前述輸入激勵函數可具有一輸入通道數,分群數值經由輸入通道數與一控制參數運算求得,分群數值等於輸入通道數除以控制參數。分群數值為正整數,並大於1且小於等於輸入通道數。
前述實施方式之其他實施例如下:前述基於記憶體內運算電路架構之量化方法可更包含一迭代執行步驟,此迭代執行步驟係依據一迭代次數重複執行乘積累加步驟、卷積量化步驟及卷積合併步驟,迭代次數等於分群數值。
前述實施方式之其他實施例如下:前述量化參數提供步驟可包含一權重量化步驟,此權重量化步驟係依據一權重目標位元將一權重量化成一量化權重。權重量化步驟包含權重目標位元、權重、映射後量化權重、量化方程式及量化權重,權重目標位元表示為b W ,權重表示為W l ,量化方程式表示為quan,量化權重表示為W l q 且符合下式:
Figure 109109478-A0101-12-0003-11
前述實施方式之其他實施例如下:前述基於記憶體內運算電路架構之量化方法可更包含一激勵量化步驟,此激勵量化步驟係依據一激勵目標位元將輸出激勵函數量化成一量化輸出激勵函數。激勵量化步驟包含輸出激勵函數、剪輯函數、映射後激勵函數、激勵目標位元、量化方程式及量化輸出激勵函數,輸出激勵函數表示為A l ,剪輯 函數表示為Clip,映射後激勵函數表示為
Figure 109109478-A0101-12-0003-12
,激勵目標位 元表示為b A ,量化方程式表示為quan,量化輸出激勵函數表示為
Figure 109109478-A0101-12-0004-149
且符合下式:
Figure 109109478-A0101-12-0004-14
前述實施方式之其他實施例如下:前述卷積量化步驟可包含執行一直通估計量化法,直通估計量化法包含卷積輸出、卷積目標位元、映射後卷積輸出、量化方程式及量化卷積輸出。卷積輸出表示為A l,k ,卷積目標位元表示 為b AD ,映射後卷積輸出表示為
Figure 109109478-A0101-12-0004-15
,量化方程式表示為 quan,量化卷積輸出表示為
Figure 109109478-A0101-12-0004-17
,直通估計量化法符合下式:
Figure 109109478-A0101-12-0004-16
前述實施方式之其他實施例如下:前述卷積量化步驟可包含執行一具體量化法,此具體量化法包含卷積輸出、代表位階、放大因子、偏差因子、電流數位值、激勵函數訊號、乙狀函數、標準差、具體函數、溫度常數、分類機率、隨機樣本、分群數值、激勵函數量化訊號及量化卷積輸出。卷積輸出表示為A l,k ,代表位階表示為R AD ,放大因子表示為α,偏差因子表示為β,電流數位值表示為r i ,激勵函數訊號表示為a,乙狀函數表示為sigmoid,標準差表示為σ i ,具體函數表示為Concrete,溫度常數表示為λ,分類機率表示為π i ,隨機樣本表示為s i ,分群數值表示為K,激勵函數量化訊號表示為a q ,量化卷積輸 出表示為
Figure 109109478-A0101-12-0005-18
,具體量化法符合下式:
Figure 109109478-A0101-12-0005-19
s i =Concrete(π i ,λ);及
Figure 109109478-A0101-12-0005-20
前述實施方式之其他實施例如下:前述具體函數包含雜訊、溫度常數、分類機率、隨機樣本、甘貝爾函數及歸一化指數函數,雜訊表示為n i ,甘貝爾函數表示為Gumbel,歸一化指數函數表示為softmax,具體函數符合下式:
n i =Gumbel(0,1);及
Figure 109109478-A0101-12-0005-21
依據本發明的結構態樣之一實施方式提供一種基於記憶體內運算電路架構之量化系統,其包含參數分群模組、乘積累加器、卷積量化器及加法器。其中參數分群模組依據一分群數值將一量化權重分成複數個分群量化權重,並依據分群數值將一輸入激勵函數分成複數個分群激勵函數。乘積累加器訊號連接參數分群模組,乘積累加器將任一分群量化權重及任一分群激勵函數執行一乘積累加運算而產生一卷積輸出。卷積量化器訊號連接乘積累加器,卷積量化器依據一卷積目標位元將卷積輸出量化成一量化卷積輸出。加法器訊號連接卷積量化器,加法器依據分群數值將量化卷積輸出執行一部分和運算而產生一輸出 激勵函數。
藉此,本發明的基於記憶體內運算電路架構之量化系統能考慮到硬體規格的位元數限制,並且藉由類比數位轉換器的分類分布及具體量化法,訓練一個不但能適應量化雜訊,而且對記憶體內運算友好的量化深度神經網路。
前述實施方式之其他實施例如下:前述輸入激勵函數可具有一輸入通道數,分群數值經由輸入通道數與控制參數運算求得,分群數值等於輸入通道數除以控制參數。分群數值為正整數,且分群數值大於1且小於等於輸入通道數。
前述實施方式之其他實施例如下:前述乘積累加器、卷積量化器及加法器可依據一迭代次數被重複執行,迭代次數等於分群數值。
前述實施方式之其他實施例如下:前述基於記憶體內運算電路架構之量化系統可更包含一權重量化器,此權重量化器訊號連接參數分群模組,權重量化器依據一權重目標位元將一權重量化成一量化權重,權重量化器包含權重目標位元、權重、映射後量化權重、量化方程式及量化權重。權重目標位元表示為b W ,權重表示為W l ,量化方程式表示為quan,量化權重表示為W l q ,權重量化器表示為Q W 且符合下式:
Figure 109109478-A0101-12-0006-22
前述實施方式之其他實施例如下:前述基於記憶體 內運算電路架構之量化系統可更包含一激勵函數量化器,此激勵函數量化器訊號連接加法器,激勵函數量化器依據一激勵目標位元將輸出激勵函數量化成一量化輸出激勵函數,激勵函數量化器包含輸出激勵函數、剪輯函數、映射後激勵函數、激勵目標位元、量化方程式及量化輸出激勵函數。輸出激勵函數表示為A l ,剪輯函數表示為Clip, 映射後激勵函數表示為
Figure 109109478-A0101-12-0007-23
,激勵目標位元表示為b A ,量化 方程式表示為quan,量化輸出激勵函數表示為
Figure 109109478-A0101-12-0007-150
,激勵函數量化器表示為Q A 且符合下式:
Figure 109109478-A0101-12-0007-24
前述實施方式之其他實施例如下:前述卷積量化器可執行一直通估計量化法,此直通估計量化法包含卷積輸出、卷積目標位元、映射後卷積輸出、量化方程式及量化卷積輸出。卷積輸出表示為A l,k ,卷積目標位元表示為 b AD ,映射後卷積輸出表示為
Figure 109109478-A0101-12-0007-25
,量化方程式表示為 quan,量化卷積輸出表示為
Figure 109109478-A0101-12-0007-26
,直通估計量化法符合下式:
Figure 109109478-A0101-12-0007-27
前述實施方式之其他實施例如下:前述卷積量化器可執行一具體量化法,此具體量化法包含卷積輸出、代表位階、放大因子、偏差因子、電流數位值、激勵函數訊號、乙狀函數、標準差、具體函數、溫度常數、分類機率、隨 機樣本、分群數值、激勵函數量化訊號及量化卷積輸出。卷積輸出表示為A l,k ,代表位階表示為R AD ,放大因子表示為α,偏差因子表示為β,電流數位值表示為r i ,激勵函數訊號表示為a,乙狀函數表示為sigmoid,標準差表示為σ i ,具體函數表示為Concrete,溫度常數表示為λ,分類機率表示為π i ,隨機樣本表示為s i ,分群數值表示為 K,激勵函數量化訊號表示為a q ,量化卷積輸出表示為
Figure 109109478-A0101-12-0008-28
, 具體量化法符合下式:
Figure 109109478-A0101-12-0008-29
s i =Concrete(π i ,λ);及
Figure 109109478-A0101-12-0008-30
前述實施方式之其他實施例如下:前述具體函數可包含雜訊、溫度常數、分類機率、隨機樣本、甘貝爾函數及歸一化指數函數,甘貝爾函數表示為Gumbel,雜訊表示為n i ,歸一化指數函數表示為softmax,具體函數符合下式:
n i =Gumbel(0,1);及
Figure 109109478-A0101-12-0008-31
100:量化系統
110:參數分群模組
120:乘積累加器
130:加法器
200:記憶體內運算電路架構
210:記憶體單元
220:類比數位轉換器
300:量化方法
S02:量化參數提供步驟
S022:權重量化步驟
S04:參數分群步驟
S06:乘積累加步驟
S08:卷積量化步驟
S10:卷積合併步驟
S12:迭代執行步驟
S14:激勵量化步驟
a 0 ,a 1 ,a m :激勵函數訊號
A l :輸出激勵函數
A l,k :卷積輸出
Figure 109109478-A0101-12-0026-111
:輸入激勵函數
Figure 109109478-A0101-12-0026-112
:分群激勵函數
Figure 109109478-A0101-12-0026-113
:量化卷積輸出
Figure 109109478-A0101-12-0026-156
:量化輸出激勵函數
b A :激勵目標位元
b AD :卷積目標位元
b W :權重目標位元
Bit:位元數
BL[0],BL[n]:位元線
C in :輸入通道數
FP32:32位元符點數
Figure 109109478-A0101-12-0026-165
,
Figure 109109478-A0101-12-0026-166
:電流
k,l:變數
NG:負權重群
PG:正權重群
p:分布
P:累積機率密度函數
Q A :激勵函數量化器
Q W :權重量化器
Q AD :卷積量化器
r i ,r 0 ,r 1 ,r 2 ,r 3 :電流數位值
SL[0],SL[n]:來源線
w 0,0 ,w 1,0 ,w m,0 ,w 0,n ,w 1,n ,w m,n :權重值
W l :權重
W l q :量化權重
Figure 109109478-A0101-12-0027-115
:分群量化權重
WK:權重張量
WL[0],WL[1],WL[8],WL[m]:字元線
x:輸入訊號
τ:控制參數
σ i ,σ 0 ,σ 1 ,σ 2 ,σ 3 :標準差
第1圖係繪示本發明第一實施例之基於記憶體內運算電路架構之量化系統的示意圖;
第2圖係繪示本發明第二實施例之記憶體內運算電路架構的示意圖;
第3圖係繪示第1圖之參數分群模組的權重張量對應到記憶體內運算電路架構的示意圖;
第4圖係繪示第1圖之乘積累加器的卷積輸出分布,其對應單一條位元線(Bit Line;BL)的累積電流分布;
第5圖係繪示第2圖之記憶體內運算電路架構的類比數位轉換器之分類分布的示意圖;
第6圖係繪示第5圖之各電流數位值之分類機率的示意圖;
第7圖係繪示本發明第三實施例之基於記憶體內運算電路架構之量化方法的流程示意圖;
第8圖係繪示本發明之具體量化法與直通估計量化法基於類比數位轉換器位元數的正確率之比較圖;以及
第9圖係繪示本發明之具體量化法與直通估計量化法基於控制參數的正確率之比較圖。
以下將參照圖式說明本發明之複數個實施例。為明確說明起見,許多實務上的細節將在以下敘述中一併說明。然而,應瞭解到,這些實務上的細節不應用以限制本發明。也就是說,在本發明部分實施例中,這些實務上的細節是非必要的。此外,為簡化圖式起見,一些習知慣用 的結構與元件在圖式中將以簡單示意的方式繪示之;並且重複之元件將可能使用相同的編號表示之。
此外,本文中當某一元件(或單元或模組等)「連接」於另一元件,可指所述元件是直接連接於另一元件,亦可指某一元件是間接連接於另一元件,意即,有其他元件介於所述元件及另一元件之間。而當有明示某一元件是「直接連接」於另一元件時,才表示沒有其他元件介於所述元件及另一元件之間。而第一、第二、第三等用語只是用來描述不同元件,而對元件本身並無限制,因此,第一元件亦可改稱為第二元件。且本文中之元件/單元/電路之組合非此領域中之一般周知、常規或習知之組合,不能以元件/單元/電路本身是否為習知,來判定其組合關係是否容易被技術領域中之通常知識者輕易完成。
本發明涵蓋對深度神經網路的權重及激勵函數量化。對於神經網路的權重量化之動機在於可以減少模型的大小以及在訓練和推論過程進行加速運算,就硬體而言,可以使用更少的記憶體與運算資源執行高精確的人工智慧(Artificial Intelligence;AI)應用。而對於激勵函數量化之動機在於能將二元運算代替內積(Inner Product)運算與減少層間資料,就硬體而言,除了可以減少暫存記憶體,還能降低系統內部傳輸所需的頻寬及延遲。
請一併參閱第1圖至第6圖,其中第1圖係繪示本發明第一實施例之基於記憶體內運算電路架構200之量化系統100的示意圖;第2圖係繪示本發明第二實施例之 記憶體內運算電路架構200的示意圖;第3圖係繪示第1圖之參數分群模組110的權重張量WK對應到記憶體內運算電路架構200的示意圖;第4圖係繪示第1圖之乘積累加器120的卷積輸出A l,k 分布,其對應單一條位元線(即第2圖的BL[0]~BL[n]之其中一條)的累積電流分布;第5圖係繪示第2圖之記憶體內運算電路架構200的類比數 位轉換器220之分類分布
Figure 109109478-A0101-12-0011-32
的示意圖;以及第6圖係繪 示第5圖之各電流數位值r i 之分類機率的示意圖。如圖所示,基於記憶體內運算電路架構200之量化系統100包含權重量化器Q W 、參數分群模組110、乘積累加器120、卷積量化器Q AD 、加法器130以及激勵函數量化器Q A
權重量化器Q W 依據一權重目標位元b W 將一權重W l 量化成一量化權重W l q ,權重量化器Q W 包含權重目標位 元b W 、權重W l 、映射後量化權重
Figure 109109478-A0101-12-0011-33
、量化方程式quan 及量化權重W l q ,且權重量化器Q W 符合下列式子(1)與(2):
Figure 109109478-A0101-12-0011-35
Figure 109109478-A0101-12-0011-36
上述權重W l 為32位元符點數(FP32),量化權重W l q 為權重目標位元b W 之數位值。
參數分群模組110訊號連接權重量化器Q W 並接收量化權重W l q 。參數分群模組110依據分群數值K將量化 權重W l q 分成複數個分群量化權重
Figure 109109478-A0101-12-0011-37
,並依據分群數值K將 一輸入激勵函數
Figure 109109478-A0101-12-0011-39
分成複數個分群激勵函數
Figure 109109478-A0101-12-0011-38
。詳細地 說,輸入激勵函數
Figure 109109478-A0101-12-0011-40
具有輸入通道數C in ,分群數值K經 由輸入通道數C in 與控制參數τ運算求得,分群數值K等於輸入通道數C in 除以控制參數τ。分群數值K為正整數,並大於1且小於等於輸入通道數C in 。具體而言,分群數值K可等於輸入通道數C in ,亦即控制參數τ等於1,但本發明不以此為限。
乘積累加器120訊號連接參數分群模組110,乘 積累加器120將任一分群量化權重
Figure 109109478-A0101-12-0012-41
及任一分群激勵函數
Figure 109109478-A0101-12-0012-48
執行乘積累加運算而產生卷積輸出A l,k
卷積量化器Q AD 訊號連接乘積累加器120,卷積 量化器Q AD 依據卷積目標位元b AD 將卷積輸出A l,k 量化 成量化卷積輸出
Figure 109109478-A0101-12-0012-42
。詳細地說,卷積量化器Q AD 可執行一 直通估計量化法(Straight-Through-Estimator-based quantization;STE-based quantization)或者一具體量化法(Concrete-based quantization)。其中直通估計量化法包含卷積輸出A l,k 、卷積目標位元 b AD 、映射後卷積輸出
Figure 109109478-A0101-12-0012-49
、量化方程式quan及量化卷積 輸出
Figure 109109478-A0101-12-0012-47
,直通估計量化法符合下列式子(3)~(5):
Figure 109109478-A0101-12-0012-43
Figure 109109478-A0101-12-0012-44
Figure 109109478-A0101-12-0012-45
上述直通估計量化法的主要概念是在量化過程中考慮到記憶體內運算電路架構200之類比數位轉換器220(Analog-to-Digital Convertor;ADC)有限的位元數,其中映射後卷積輸出
Figure 109109478-A0101-12-0012-162
會基於類比數位轉換器220 的位元數將卷積輸出A l,k 截止於特定值,此乃因非揮發性記憶體內運算(Nonvolatile In-Memory Computing;nvIMC)在類比數位轉換器220所能承受 之電流(如第2圖之
Figure 109109478-A0101-12-0013-50
)是有限的,本發明以類比數位 轉換器220位元數的極值作為能承受的電流極限,藉此將卷積輸出A l,k 限制在特定範圍內去模擬量化行為。然後, 透過線性量化得到量化卷積輸出
Figure 109109478-A0101-12-0013-51
具體量化法則包含卷積輸出A l,k 、代表位階R AD 、放大因子α、偏差因子β、電流數位值r i 、激勵函數訊號a、乙狀函數sigmoid、標準差σ i 、具體函數Concrete、溫度常數λ、分類機率π i 、隨機樣本s i 、分 群數值K、激勵函數量化訊號a q 及量化卷積輸出
Figure 109109478-A0101-12-0013-52
。具體 量化法符合下列式子(6)~(9):
Figure 109109478-A0101-12-0013-53
Figure 109109478-A0101-12-0013-54
s i =Concrete(π i ,λ) (8);
Figure 109109478-A0101-12-0013-55
上述代表位階R AD 等於
Figure 109109478-A0101-12-0013-163
。初始之放大因子
Figure 109109478-A0101-12-0013-160
,其中
Figure 109109478-A0101-12-0013-161
,偏差因子β=0,標準差σ i =α/3。具體函數Concrete包含雜訊n i 、溫度常數λ、分類機率π i 、隨機樣本s i 、甘貝爾函數Gumbel及歸一化指數函數softmax,具體函數Concrete符合下列式子 (10)~(11):
n i =Gumbel(0,1) (10);
Figure 109109478-A0101-12-0014-56
上述具體量化法透過放大因子α與偏差因子β能建構一個可學習的代表位階R AD ,並針對雜訊分佈p(η)與分 類分布
Figure 109109478-A0101-12-0014-60
進行機率模型建立,其中
Figure 109109478-A0101-12-0014-59
Figure 109109478-A0101-12-0014-58
。對 於雜訊分佈p(η),其雜訊模型假設為平均值為零的邏輯分佈(Logistic Distribution;L)且標準差以σ i 表示;也 就是說p(η)=L(0,σ i ),而分類分布
Figure 109109478-A0101-12-0014-61
,如第 5圖所示。以任意輸入訊號x舉例,當輸入訊號x落入雜訊 模型時,能在每一個分類分布
Figure 109109478-A0101-12-0014-65
計算出對應的尾端機 率,如第5圖的陰影區域。然後,將這些基於輸入訊號x的尾端機率作為輸入訊號x對於每一個電流數位值r i 的分類機率,如第6圖所示。以深度神經網路為例,每一個輸 入卷積量化器Q AD 之激勵函數訊號
Figure 109109478-A0101-12-0014-67
的分類機率符 合下列式子(12)~(13):
Figure 109109478-A0101-12-0014-66
Figure 109109478-A0101-12-0014-64
其中P代表累積機率密度函數(Cumulative Distribution Function;CDF)。由於邏輯分佈的CDF為乙狀函數sigmoid,因此透過邏輯分佈的假設,能受益於兩個優勢:第一個優點是邏輯分佈與常態分佈很像,也滿足位元線電流分佈;第二個優點是乙狀函數sigmoid可 以在訓練時的向後傳播階段進行偏微分運算,不用再產生虛擬梯度,進一步解決梯度不匹配的問題。由上述可知,具體量化法的主要概念是針對類比數位轉換器220之雜訊分佈建立機率模型,並對得到的分類機率π i 標準化。透過分類機率π i 的建立,不但可以模擬出類比數位轉換器220的量化雜訊,還能夠防止深度神經網路過度擬合。
加法器130訊號連接卷積量化器Q AD ,加法器 130依據分群數值K將量化卷積輸出
Figure 109109478-A0101-12-0015-68
執行部分和 (partial sum)運算而產生輸出激勵函數A l
激勵函數量化器Q A 訊號連接加法器130,激勵函數量化器Q A 依據激勵目標位元b A 將輸出激勵函數A l 量化成一量化輸出激勵函數
Figure 109109478-A0101-12-0015-151
。激勵函數量化器Q A 包含輸出 激勵函數A l 、剪輯函數Clip、映射後激勵函數
Figure 109109478-A0101-12-0015-69
、激勵目 標位元b A 、量化方程式quan及量化輸出激勵函數
Figure 109109478-A0101-12-0015-159
。激勵函數量化器Q A 符合下列式子(14)與(15):
Figure 109109478-A0101-12-0015-70
Figure 109109478-A0101-12-0015-71
上述乘積累加器120、卷積量化器Q AD 及加法器130可依據一迭代次數被重複執行,迭代次數等於分群數 值K。藉此,分群量化權重
Figure 109109478-A0101-12-0015-72
及分群激勵函數
Figure 109109478-A0101-12-0015-73
可分別 兩兩成對而完成卷積運算。
藉此,本發明的基於記憶體內運算電路架構200之量化系統100能考慮到硬體規格的位元數限制,並且藉 由類比數位轉換器220的分類分布
Figure 109109478-A0101-12-0015-74
及具體量化法,訓 練一個不但能適應量化雜訊,而且對記憶體內運算友好的量化深度神經網路。
記憶體內運算電路架構200包含記憶體單元210與類比數位轉換器220,其中記憶體單元210訊號連接類比數位轉換器220且包含複數個記憶體細胞元、複數條字元線(如第2圖之WL[0]~WL[m]及第3圖之WL[0]~WL[8])、複數條位元線(如第2圖之BL[0]~BL[n]及第3圖之正權重群(Positive-Weight Group;PG)與負權重群(Negative-Weight Group;NG))及複數條來源線(如第2圖之SL[0]~SL[n])。各記憶體細胞元連接一條字元線、一條位元線及一條來源線。各記憶體細胞元儲存權重值(如第2圖之w 0,0 ~w m,n ),各字元線傳送激勵函數訊號a(如第2圖之a 0 ~a m ),各位元線傳 送卷積輸出A l,k (如第2圖之電流
Figure 109109478-A0101-12-0016-75
),各來源線接地。 具體而言,記憶體單元210可為電阻式隨機存取記憶體(Resistive Random Access Memory;ReRAM),但本發明不以此為限。
舉第3圖為例,假設輸入特徵圖之大小為H×W×C in ,權重張量WK之大小為3×3×C in ×C out (第3圖僅顯示部分權重張量WK),進行卷積後輸出大小為H×W×C out 的輸出特徵圖。其中H、W分別代表輸入特徵圖的長度與寬度,C in 代表輸入通道數,C out 代表輸出通道數,且字元線數量等於9(即WL[0]~WL[8])。非揮發性記憶體內運算(nvIMC)的卷積運算過程為:將一個大小 3×3×1的部分輸入特徵圖對應到字元線上輸入,並與複數 條位元線上的分群量化權重
Figure 109109478-A0101-12-0017-76
(3×3個權重值)進行運算, 位元線的條數為C out 。經過一個循環時間後,nvIMC會輸出C out 個矩陣向量乘法運算(Matrix-Vector Multiplication;MVM)輸出值,然後透過等待C in 個循環時間後完成C in ×C out 個MVM輸出值,最後將這些MVM輸出值進行合併而獲得1×1×C out 的輸出特徵圖,透過更換WL的部分輸入特徵圖,最後完成一層的卷積運算並得到W×H×C out 大小的輸出特徵圖。藉此,本發明之nvIMC可 將分群量化權重
Figure 109109478-A0101-12-0017-77
預先儲存至記憶體單元210內,並且透 過特定之記憶體內運算電路架構200達到記憶體內的卷積運算功能,可避免傳統架構裡階層記憶體間大量的資料搬運之問題,進而能達到降低系統功耗、降低系統延遲以及提高能源效率。此外,本發明透過ReRAM之卷積將量化 權重W l q 與輸入激勵函數
Figure 109109478-A0101-12-0017-78
分群配對,並考慮有限位元線的 記憶體單元210、字元線輸入及卷積輸出A l,k 的離散化,透過深度神經網路的穩健性質,學習到適合nvIMC硬體限制的權重參數。
請一併參閱第1圖至第7圖,其中第7圖係繪示本發明第三實施例之基於記憶體內運算電路架構200之量化方法300的流程示意圖。基於記憶體內運算電路架構200之量化方法300包含量化參數提供步驟S02、參數分群步驟S04、乘積累加步驟S06、卷積量化步驟S08、卷積合併步驟S10、迭代執行步驟S12以及激勵量化步驟 S14。
量化參數提供步驟S02係提供量化參數,量化參 數包含輸入激勵函數
Figure 109109478-A0101-12-0018-79
、量化權重W l q 及分群數值K。詳細 地說,輸入激勵函數
Figure 109109478-A0101-12-0018-80
具有輸入通道數C in ,分群數值K 經由輸入通道數C in 與控制參數τ運算求得,分群數值K等於輸入通道數C in 除以控制參數τ。分群數值K為正整數,並大於1且小於等於輸入通道數C in 。再者,量化參數提供步驟S02包含權重量化步驟S022,權重量化步驟S022係依據權重目標位元b W 將權重W l 量化成一量化權重W l q ,權重量化步驟S022包含權重目標位元b W 、權重 W l 、映射後量化權重
Figure 109109478-A0101-12-0018-81
、量化方程式quan及量化權重W l q , 量化權重W l q 符合前述式子(1)與(2)。
參數分群步驟S04係依據分群數值K將量化權重 W l q 分成複數個分群量化權重
Figure 109109478-A0101-12-0018-83
,並依據分群數值K將輸入 激勵函數
Figure 109109478-A0101-12-0018-85
分成複數個分群激勵函數
Figure 109109478-A0101-12-0018-91
乘積累加步驟S06係將任一分群量化權重
Figure 109109478-A0101-12-0018-87
及任 一分群激勵函數
Figure 109109478-A0101-12-0018-86
執行一乘積累加運算而產生一卷積輸 出A l,k
卷積量化步驟S08係依據一卷積目標位元b AD 將 卷積輸出A l,k 量化成一量化卷積輸出
Figure 109109478-A0101-12-0018-90
。詳細地說,卷積 量化步驟S08包含執行一直通估計量化法或者一具體量化法,其中直通估計量化法包含卷積輸出A l,k 、卷積目標位 元b AD 、映射後卷積輸出
Figure 109109478-A0101-12-0018-88
、量化方程式quan及量化卷 積輸出
Figure 109109478-A0101-12-0018-89
,直通估計量化法符合前述式子(3)~(5)。至於 具體量化法則包含卷積輸出A l,k 、代表位階R AD 、放大因子α、偏差因子β、電流數位值r i 、激勵函數訊號a、乙狀函數sigmoid、標準差σ i 、具體函數Concrete、溫度常數λ、分類機率π i 、隨機樣本s i 、分群數值K、激勵函數 量化訊號a q 及量化卷積輸出
Figure 109109478-A0101-12-0019-92
。具體量化法符合前述式子 (6)~(9)。此外,具體函數Concrete包含雜訊n i 、溫度常數λ、分類機率π i 、隨機樣本s i 、甘貝爾函數Gumbel及歸一化指數函數softmax,具體函數Concrete符合前述式子(10)~(11)。
卷積合併步驟S10係依據分群數值K將量化卷積 輸出
Figure 109109478-A0101-12-0019-93
執行一部分和運算而產生一輸出激勵函數A l
迭代執行步驟S12係依據迭代次數重複執行乘積累加步驟S06、卷積量化步驟S08及卷積合併步驟S10,迭代次數等於分群數值K
激勵量化步驟S14係依據一激勵目標位元b A 將輸出激勵函數A l 量化成一量化輸出激勵函數
Figure 109109478-A0101-12-0019-152
,激勵量化步驟S14包含輸出激勵函數A l 、剪輯函數Clip、映射後激 勵函數
Figure 109109478-A0101-12-0019-94
、激勵目標位元b A 、量化方程式quan及量化輸 出激勵函數
Figure 109109478-A0101-12-0019-153
。量化輸出激勵函數
Figure 109109478-A0101-12-0019-154
符合前述式子(14)與(15)。
上述量化方法300可透過表一加以說明,表一顯展本發明的量化方法進行訓練神經網路,其將神經網路的 輸入激勵函數
Figure 109109478-A0101-12-0019-95
、權重W l 及MVM輸出值(即卷積輸出 A l,k )分別量化至b A b W b AD 位元,並考慮了記憶體內 運算有限數量的字元數,且引進數值τ作為部分和的控制參數。其中kl均為變數。
Figure 109109478-A0101-12-0020-96
表一第1行至第12行代表一個L深度神經網路推論部分的量化過程,而第13行與第14行分別代表神經網路的反向傳播與權重更新法則,其中SGD代表準確率梯度下降法(Stochastic Gradient Decent),ADAM代表適應性矩估計(Adaptive Moment Estimation),上述 反向傳播與權重更新法則均為習知技術,其細節不再贅述。
表一第1行與第12行代表從第一層(l=1)開始執行至第L層,每一層會執行第2行至第11行的運算。
表一第2行係對浮點數值的權重W l 進行線性量化至權重目標位元b W ,以獲得量化權重W l q
表一第3行係根據控制參數τ與量化權重W l q 及輸入 激勵函數
Figure 109109478-A0101-12-0021-97
的輸入通道數C in 進行運算,獲得當前層之分 群卷積的分群數值K。在深度學習中,量化權重W l q 與輸入 激勵函數
Figure 109109478-A0101-12-0021-98
在訓練階段都是一個四維的張量(tensor),其 中量化權重W l q 的四維分別是「卷積核長度、卷積核寬度、 輸入通道數C in 、輸出通道數C out 」;輸入激勵函數
Figure 109109478-A0101-12-0021-99
的四 維分別是「批次大小、輸入特徵圖長度H、輸入特徵圖寬度W、輸入通道數C in 」。
表一第4行至第9行係說明如何透過迭代運算進行分群卷積,此部份係模擬記憶體內運算電路架構200的有限字元線數量與類比數位轉換器220的轉換。
表一第4行係根據第3行的分群數值K,將量化 權重W l q 及輸入激勵函數
Figure 109109478-A0101-12-0021-100
進行分拆運算,分拆後的張量將 會變成五維的張量;換言之,量化權重W l q 的維度將會從原先的「卷積核長度、卷積核寬度、輸入通道數C in 、輸出通道數C out 」經由對輸入通道數C in 進行切割而變更為「卷積核長度、卷積核寬度、控制參數τ、輸出通道數C out 、分群 數值K」;而輸入激勵函數
Figure 109109478-A0101-12-0021-101
的維度則會從原先的「批次 大小、輸入特徵圖長度H、輸入特徵圖寬度W、輸入通道 數C in 」分切成「批次大小、輸入特徵圖長度H、輸入特徵圖寬度W、控制參數τ、分群數值K」。因此從第五維來看,能得到K組切割後的權重與張量;也就是說,能以(卷積核長度×卷積核寬度×τ)決定開啟字元線(WL)的數量,亦即由控制參數τ與卷積核大小決定。
表一第5行與第9行係執行迭代運算,其代表從k=1開始執行至k=K,每一次會執行第6行至第8行的運算。
表一第6行係將分群量化權重
Figure 109109478-A0101-12-0022-102
與分群激勵函數
Figure 109109478-A0101-12-0022-106
進行卷積運算。舉第一組分群(k=1)之分群量化權重
Figure 109109478-A0101-12-0022-107
與分群激勵函數
Figure 109109478-A0101-12-0022-104
為例,其中分群量化權重
Figure 109109478-A0101-12-0022-103
與分群 激勵函數
Figure 109109478-A0101-12-0022-105
的張量維度分別為「卷積核長度、卷積核寬 度、控制參數τ、輸出通道數C out 」與「批次大小、輸入特徵圖長度H、輸入特徵圖寬度W、控制參數τ」,將兩者進行卷積運算後可產生並輸出浮點數值的卷積輸出A l,k (即MVM輸出值)。
表一第7行係對浮點數值的卷積輸出A l,k 進行量 化,量化後將輸出一個b AD 位元的量化卷積輸出
Figure 109109478-A0101-12-0022-108
,此部 份模擬類比數位轉換器220的量化行為。
表一第8行係將量化後的數值(即量化卷積輸出
Figure 109109478-A0101-12-0022-109
) 進行部分和運算,將每次迭代的數值進行相加,以達到所提出的分群卷積等效於傳統卷積運算之目的。
表一第10行係對累加完成的部分和(即輸出激勵 函數A l )進行激勵函數的線性量化,運算後獲得b A 位元的量化輸出激勵函數
Figure 109109478-A0101-12-0023-155
。第11行係進行深度神經網路的其他運算(如池化),此為習知技術,其細節不再贅述。執行完第12行代表經過L層神經網路,且結束網路的正向傳遞(Forward Propagation)。
表二顯示在各式數據集上不同控制參數τ的測試錯誤率,其透過控制參數τ模擬字元線之開啟數量。字元線之開啟數量決定了位元線上的累加電流大小與極值,不同字元線之開啟數量對於測試錯誤率會造不同程度的影響。本實施例之控制參數τ={1,2,4},以核大小為3×3的卷積層來說,也就是字元線之L開啟數量相當於{9,18,36}條,可以從實驗結果得到一個論證,由於類比數位轉換器220的存在,過多的字元線之開啟數量會導致錯誤率的上升。在b W -b A -b AD 為2-2-4及CIFAR-10數據集的測試條件下,基於ReRAM卷積(τ=1)相較於不經ReRAM卷積(τ=V)之錯誤率能降低0.48%。在MNIST數據集也能有0.5%的錯誤率下降。
Figure 109109478-A0101-12-0023-110
第8圖係繪示本發明之具體量化法與直通估計量化法基於類比數位轉換器位元數(Bit)的正確率之比較圖,其測試條件包含使用圖像分類數據集CIFAR-10、權重目標位元b W 為2位元以及激勵目標位元b A 為2位元。在不同的卷積目標位元b AD 時,基於具體分佈的卷積量化器Q AD 在每一個位元都相較於基於直通估計量化法的卷積量化器Q AD 更好的表現,在3位元至8位元有著平均0.88%的優化,特別是在的卷積目標位元b AD 為2位元時,基於具體分佈的卷積量化器Q AD 能夠有9.52%的正確率提升。
第9圖係繪示本發明之具體量化法與直通估計量化法基於控制參數τ的正確率之比較圖,其測試條件包含使用圖像分類數據集CIFAR-10、權重目標位元b W 為2位元、激勵目標位元b A 為2位元以及卷積目標位元b AD 為2位元。在不同的控制參數τ時,基於具體分佈的卷積量化器Q AD 在每一個數值都相較於基於直通估計量化法的卷積量化器Q AD 有平均2.92%的進步。
由上述實施方式可知,本發明具有下列優點:其一,基於記憶體內運算電路架構之量化系統能考慮到硬體規格的位元數限制,並且藉由類比數位轉換器的分類分布及具體量化法,訓練一個不但能適應量化雜訊,而且對記憶體內運算友好的量化深度神經網路。其二,基於記憶體內運算電路架構之量化方法可將分群量化權重預先儲存至記憶體單元內,並且透過特定之記憶體內運算電路架構達 到記憶體內的卷積運算功能,可避免傳統架構裡階層記憶體間大量的資料搬運之問題,進而能達到降低系統功耗、降低系統延遲以及提高能源效率。其三,本發明將量化權重與輸入激勵函數分群配對,並考慮有限位元線的記憶體單元、字元線輸入及卷積輸出的離散化,透過深度神經網路的穩健性質,學習到適合非揮發性記憶體內運算之硬體限制的權重參數。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:量化系統
110:參數分群模組
120:乘積累加器
130:加法器
A l :輸出激勵函數
A l,k :卷積輸出
Figure 109109478-A0101-11-0003-2
:輸入激勵函數
Figure 109109478-A0101-11-0003-3
:分群激勵函數
Figure 109109478-A0101-11-0003-4
:量化卷積輸出
Figure 109109478-A0101-11-0003-5
:量化輸出激勵函數
b A :激勵目標位元
b AD :卷積目標位元
b W :權重目標位元
FP32:32位元符點數
Q A :激勵函數量化器
Q W :權重量化器
Q AD :卷積量化器
W l :權重
W l q :量化權重
Figure 109109478-A0101-11-0003-6
:分群量化權重

Claims (16)

  1. 一種基於記憶體內運算電路架構之量化方法,包含以下步驟:
    一量化參數提供步驟,係提供一量化參數,該量化參數包含一輸入激勵函數、一量化權重及一分群數值;
    一參數分群步驟,係依據該分群數值將該量化權重分成複數個分群量化權重,並依據該分群數值將該輸入激勵函數分成複數個分群激勵函數;
    一乘積累加步驟,係將任一該分群量化權重及任一該分群激勵函數執行一乘積累加運算而產生一卷積輸出;
    一卷積量化步驟,係依據一卷積目標位元將該卷積輸出量化成一量化卷積輸出;以及
    一卷積合併步驟,係依據該分群數值將該量化卷積輸出執行一部分和運算而產生一輸出激勵函數。
  2. 如請求項1所述之基於記憶體內運算電路架構之量化方法,其中該輸入激勵函數具有一輸入通道數,該分群數值經由該輸入通道數與一控制參數運算求得,該分群數值等於該輸入通道數除以該控制參數,該分群數值為正整數,並大於1且小於等於該輸入通道數。
  3. 如請求項2所述之基於記憶體內運算電路架構之量化方法,更包含:
    一迭代執行步驟,係依據一迭代次數重複執行該乘積累 加步驟、該卷積量化步驟及該卷積合併步驟,該迭代次數等於該分群數值。
  4. 如請求項1所述之基於記憶體內運算電路架構之量化方法,其中該量化參數提供步驟包含:
    一權重量化步驟,係依據一權重目標位元將一權重量化成該量化權重,該權重量化步驟包含該權重目標位元、該權重、一映射後量化權重、一量化方程式及該量化權重,該權重目標位元表示為b W ,該權重表示為W l ,該量化方程式表示為quan,該量化權重表示為W l q 且符合下式:
    Figure 109109478-A0101-13-0002-116
  5. 如請求項1所述之基於記憶體內運算電路架構之量化方法,更包含:
    一激勵量化步驟,係依據一激勵目標位元將該輸出激勵函數量化成一量化輸出激勵函數,該激勵量化步驟包含該輸出激勵函數、一剪輯函數、一映射後激勵函數、該激勵目標位元、一量化方程式及該量化輸出激勵函數,該輸出激勵函數表示為A l ,該剪輯函數表示為Clip,該映射後 激勵函數表示為
    Figure 109109478-A0101-13-0002-167
    ,該激勵目標位元表示為b A ,該量化方 程式表示為quan,該量化輸出激勵函數表示為
    Figure 109109478-A0101-13-0002-157
    且符合下式:
    Figure 109109478-A0101-13-0002-118
    Figure 109109478-A0101-13-0003-119
  6. 如請求項1所述之基於記憶體內運算電路架構之量化方法,其中該卷積量化步驟包含:
    執行一直通估計量化法,該直通估計量化法包含該卷積輸出、該卷積目標位元、一映射後卷積輸出、一量化方程式及該量化卷積輸出,該卷積輸出表示為A l,k ,該卷積目 標位元表示為b AD ,該映射後卷積輸出表示為
    Figure 109109478-A0101-13-0003-120
    ,該量化 方程式表示為quan,該量化卷積輸出表示為
    Figure 109109478-A0101-13-0003-121
    ,該直通 估計量化法符合下式:
    Figure 109109478-A0101-13-0003-122
  7. 如請求項1所述之基於記憶體內運算電路架構之量化方法,其中該卷積量化步驟包含:
    執行一具體量化法,該具體量化法包含該卷積輸出、一代表位階、一放大因子、一偏差因子、一電流數位值、一激勵函數訊號、一乙狀函數、一標準差、一具體函數、一溫度常數、一分類機率、一隨機樣本、該分群數值、一激勵函數量化訊號及該量化卷積輸出,該卷積輸出表示為A l,k ,該代表位階表示為R AD ,該放大因子表示為α,該偏差因子表示為β,該電流數位值表示為r i ,該激勵函數訊號表示為a,該乙狀函數表示為sigmoid,該標準差表示 為σ i ,該具體函數表示為Concrete,該溫度常數表示為λ,該分類機率表示為π i ,該隨機樣本表示為s i ,該分群數值表示為K,該激勵函數量化訊號表示為a q ,該量化卷積輸 出表示為
    Figure 109109478-A0101-13-0004-123
    ,該具體量化法符合下式:
    Figure 109109478-A0101-13-0004-124
    s i =Concrete(π i ,λ);及
    Figure 109109478-A0101-13-0004-125
  8. 如請求項7所述之基於記憶體內運算電路架構之量化方法,其中該具體函數包含一雜訊、該溫度常數、該分類機率、該隨機樣本、一甘貝爾函數及一歸一化指數函數,該雜訊表示為n i ,該甘貝爾函數表示為Gumbel,該歸一化指數函數表示為softmax,該具體函數符合下式:
    n i =Gumbel(0,1);及
    Figure 109109478-A0101-13-0004-126
  9. 一種基於記憶體內運算電路架構之量化系統,包含:
    一參數分群模組,依據一分群數值將一量化權重分成複數個分群量化權重,並依據該分群數值將一輸入激勵函數分成複數個分群激勵函數;
    一乘積累加器,訊號連接該參數分群模組,該乘積累加 器將任一該分群量化權重及任一該分群激勵函數執行一乘積累加運算而產生一卷積輸出;
    一卷積量化器,訊號連接該乘積累加器,該卷積量化器依據一卷積目標位元將該卷積輸出量化成一量化卷積輸出;以及
    一加法器,訊號連接該卷積量化器,該加法器依據該分群數值將該量化卷積輸出執行一部分和運算而產生一輸出激勵函數。
  10. 如請求項9所述之基於記憶體內運算電路架構之量化系統,其中該輸入激勵函數具有一輸入通道數,該分群數值經由該輸入通道數與一控制參數運算求得,該分群數值等於該輸入通道數除以該控制參數,該分群數值為正整數,並大於1且小於等於該輸入通道數。
  11. 如請求項10所述之基於記憶體內運算電路架構之量化系統,其中該乘積累加器、該卷積量化器及該加法器依據一迭代次數被重複執行,該迭代次數等於該分群數值。
  12. 如請求項9所述之基於記憶體內運算電路架構之量化系統,更包含:
    一權重量化器,訊號連接該參數分群模組,該權重量化器依據一權重目標位元將一權重量化成該量化權重,該權 重量化器包含該權重目標位元、該權重、一映射後量化權重、一量化方程式及該量化權重,該權重目標位元表示為b W ,該權重表示為W l ,該量化方程式表示為quan,該量化權重表示為W l q ,該權重量化器表示為Q W 且符合下式:
    Figure 109109478-A0101-13-0006-127
  13. 如請求項9所述之基於記憶體內運算電路架構之量化系統,更包含:
    一激勵函數量化器,訊號連接該加法器,該激勵函數量化器依據一激勵目標位元將該輸出激勵函數量化成一量化輸出激勵函數,該激勵函數量化器包含該輸出激勵函數、一剪輯函數、一映射後激勵函數、該激勵目標位元、一量化方程式及該量化輸出激勵函數,該輸出激勵函數表示為 A l ,該剪輯函數表示為Clip,該映射後激勵函數表示為
    Figure 109109478-A0101-13-0006-128
    , 該激勵目標位元表示為b A ,該量化方程式表示為quan,該量化輸出激勵函數表示為
    Figure 109109478-A0101-13-0006-158
    ,該激勵函數量化器表示為Q A 且符合下式:
    Figure 109109478-A0101-13-0006-129
  14. 如請求項9所述之基於記憶體內運算電路架構之量化系統,其中該卷積量化器執行一直通估計量化法,該直通估計量化法包含該卷積輸出、該卷積目標位元、 一映射後卷積輸出、一量化方程式及該量化卷積輸出,該卷積輸出表示為A l,k ,該卷積目標位元表示為b AD ,該映 射後卷積輸出表示為
    Figure 109109478-A0101-13-0007-131
    ,該量化方程式表示為quan,該 量化卷積輸出表示為
    Figure 109109478-A0101-13-0007-132
    ,該直通估計量化法符合下式:
    Figure 109109478-A0101-13-0007-133
  15. 如請求項9所述之基於記憶體內運算電路架構之量化系統,其中該卷積量化器執行一具體量化法,該具體量化法包含該卷積輸出、一代表位階、一放大因子、一偏差因子、一電流數位值、一激勵函數訊號、一乙狀函數、一標準差、一具體函數、一溫度常數、一分類機率、一隨機樣本、該分群數值、一激勵函數量化訊號及該量化卷積輸出,該卷積輸出表示為A l,k ,該代表位階表示為R AD ,該放大因子表示為α,該偏差因子表示為β,該電流數位值表示為r i ,該激勵函數訊號表示為a,該乙狀函數表示為sigmoid,該標準差表示為σ i ,該具體函數表示為Concrete,該溫度常數表示為λ,該分類機率表示為π i ,該隨機樣本表示為s i ,該分群數值表示為K,該激勵函數 量化訊號表示為a q ,該量化卷積輸出表示為
    Figure 109109478-A0101-13-0007-134
    ,該具體量 化法符合下式:
    Figure 109109478-A0101-13-0007-135
    Figure 109109478-A0101-13-0008-136
    s i =Concrete(π i ,λ);及
    Figure 109109478-A0101-13-0008-137
  16. 如請求項15所述之基於記憶體內運算電路架構之量化系統,其中該具體函數包含一雜訊、該溫度常數、該分類機率、該隨機樣本、一甘貝爾函數及一歸一化指數函數,該甘貝爾函數表示為Gumbel,該雜訊表示為n i ,該歸一化指數函數表示為softmax,該具體函數符合下式:
    n i =Gumbel(0,1);及
    Figure 109109478-A0101-13-0008-138
TW109109478A 2020-03-20 2020-03-20 基於記憶體內運算電路架構之量化方法及其系統 TWI737228B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW109109478A TWI737228B (zh) 2020-03-20 2020-03-20 基於記憶體內運算電路架構之量化方法及其系統
US16/923,074 US11899742B2 (en) 2020-03-20 2020-07-07 Quantization method based on hardware of in-memory computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109109478A TWI737228B (zh) 2020-03-20 2020-03-20 基於記憶體內運算電路架構之量化方法及其系統

Publications (2)

Publication Number Publication Date
TWI737228B true TWI737228B (zh) 2021-08-21
TW202137075A TW202137075A (zh) 2021-10-01

Family

ID=77747918

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109109478A TWI737228B (zh) 2020-03-20 2020-03-20 基於記憶體內運算電路架構之量化方法及其系統

Country Status (2)

Country Link
US (1) US11899742B2 (zh)
TW (1) TWI737228B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI838797B (zh) * 2022-07-22 2024-04-11 臺灣發展軟體科技股份有限公司 記憶體裝置及用於記憶體內運算的資料重排方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11366874B2 (en) * 2018-11-23 2022-06-21 International Business Machines Corporation Analog circuit for softmax function
US11393523B1 (en) * 2021-01-13 2022-07-19 National Tsing Hua University Memory unit with asymmetric group-modulated input scheme and current-to-voltage signal stacking scheme for non-volatile computing-in-memory applications and computing method thereof
US12040016B2 (en) * 2021-10-18 2024-07-16 Tetramem Inc. Crossbar circuits for performing convolution operations

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646243B1 (en) * 2016-09-12 2017-05-09 International Business Machines Corporation Convolutional neural networks using resistive processing unit array
US20170286830A1 (en) * 2016-04-04 2017-10-05 Technion Research & Development Foundation Limited Quantized neural network training and inference
WO2017214728A1 (en) * 2016-06-14 2017-12-21 The Governing Council Of The University Of Toronto Accelerator for deep neural networks
TW201928793A (zh) * 2017-12-14 2019-07-16 大陸商北京中科寒武紀科技有限公司 神經網絡正向運算方法及相關產品
TW201937410A (zh) * 2017-12-26 2019-09-16 南韓商三星電子股份有限公司 操作神經網路元件的方法、操作應用處理器的方法及計算元件
TW201937412A (zh) * 2018-02-27 2019-09-16 大陸商上海寒武紀資訊科技有限公司 集成電路芯片裝置及相關產品

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11507823B2 (en) * 2019-01-22 2022-11-22 Black Sesame Technologies Inc. Adaptive quantization and mixed precision in a network
KR102345409B1 (ko) * 2019-08-29 2021-12-30 주식회사 하이퍼커넥트 컨볼루션 뉴럴 네트워크에서 컨볼루션 연산을 가속하는 프로세서 및 프로세서의 동작 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286830A1 (en) * 2016-04-04 2017-10-05 Technion Research & Development Foundation Limited Quantized neural network training and inference
WO2017214728A1 (en) * 2016-06-14 2017-12-21 The Governing Council Of The University Of Toronto Accelerator for deep neural networks
US9646243B1 (en) * 2016-09-12 2017-05-09 International Business Machines Corporation Convolutional neural networks using resistive processing unit array
TW201928793A (zh) * 2017-12-14 2019-07-16 大陸商北京中科寒武紀科技有限公司 神經網絡正向運算方法及相關產品
TW201937410A (zh) * 2017-12-26 2019-09-16 南韓商三星電子股份有限公司 操作神經網路元件的方法、操作應用處理器的方法及計算元件
TW201937412A (zh) * 2018-02-27 2019-09-16 大陸商上海寒武紀資訊科技有限公司 集成電路芯片裝置及相關產品

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI838797B (zh) * 2022-07-22 2024-04-11 臺灣發展軟體科技股份有限公司 記憶體裝置及用於記憶體內運算的資料重排方法

Also Published As

Publication number Publication date
TW202137075A (zh) 2021-10-01
US11899742B2 (en) 2024-02-13
US20210294874A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
TWI737228B (zh) 基於記憶體內運算電路架構之量化方法及其系統
CN111353579A (zh) 利用反向传播为深度神经网络选择量化参数的方法和系统
CN107239825B (zh) 考虑负载均衡的深度神经网络压缩方法
CN101414366B (zh) 基于改进极端学习机方法的电力系统短期负荷预测方法
CN114418105B (zh) 一种基于量子线路处理量子应用问题的方法及装置
Moitra et al. Spikesim: An end-to-end compute-in-memory hardware evaluation tool for benchmarking spiking neural networks
CN111026544A (zh) 图网络模型的节点分类方法、装置及终端设备
CN110084364B (zh) 一种深度神经网络压缩方法和装置
WO2022213768A1 (zh) 发动机模型的优化方法、装置、计算机设备及存储介质
CN109508784A (zh) 一种神经网络激活函数的设计方法
Zhang et al. Pattpim: A practical reram-based dnn accelerator by reusing weight pattern repetitions
Wu et al. A 3.89-GOPS/mW scalable recurrent neural network processor with improved efficiency on memory and computation
CN115879530A (zh) 一种面向rram存内计算系统阵列结构优化的方法
Jiang et al. A low-latency LSTM accelerator using balanced sparsity based on FPGA
CN115080795A (zh) 一种多充电站协同负荷预测方法及装置
Zhang et al. A practical highly paralleled ReRAM-based DNN accelerator by reusing weight pattern repetitions
CN116362314A (zh) 一种存算一体装置和计算方法
CN111461308B (zh) 忆阻神经网络及权值训练方法
CN117421703A (zh) 一种深度符号回归加速器及深度符号回归方法
CN113496274A (zh) 基于存储器内运算电路架构的量化方法及其系统
CN110829434B (zh) 一种提高深度神经网络潮流模型扩展性的方法
CN114510872A (zh) 基于自注意力机制dlstm的云服务器老化预测方法
CN110852361B (zh) 基于改进深度神经网络的图像分类方法、装置与电子设备
CN114519423A (zh) 用于压缩神经网络的方法和装置
WO2023027128A1 (ja) 情報処理装置、及び記録媒体