TWI744899B - 運用於類神經網路系統的乘積累加電路之相關控制電路 - Google Patents
運用於類神經網路系統的乘積累加電路之相關控制電路 Download PDFInfo
- Publication number
- TWI744899B TWI744899B TW109116121A TW109116121A TWI744899B TW I744899 B TWI744899 B TW I744899B TW 109116121 A TW109116121 A TW 109116121A TW 109116121 A TW109116121 A TW 109116121A TW I744899 B TWI744899 B TW I744899B
- Authority
- TW
- Taiwan
- Prior art keywords
- neuron
- circuit
- bit
- output
- terminal
- 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/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
- 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
- G06N3/065—Analogue means
-
- 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
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B63/00—Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
- H10B63/80—Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Semiconductor Memories (AREA)
- Analogue/Digital Conversion (AREA)
- Logic Circuits (AREA)
Abstract
一種運用於類神經網路系統的控制電路,包括:一第一乘積累加電路、一第一神經元數值儲存電路與一第一處理器。第一乘積累加電路包括n個憶阻性記憶胞。n個憶阻性記憶胞的一第一端接收一供應電壓,n個憶阻性記憶胞的一第二端連接至一第一位元線,n個憶阻性記憶胞的控制端連接至對應的n條字元線。一第一神經元數值儲存電路儲存一第一層的n個神經元數值。於一應用程序時,該第一神經元數值儲存電路根據該n個神經元數值的二進位碼來控制該n條字元線,使得第一處理器產生一第二層的一第一神經元數值。
Description
本發明是有關於一種運用於類神經網路系統的電路,且特別是有關於一種運用於類神經網路系統的乘積累加電路之控制電路。
近年來,類神經網路系統(neural network system)已經廣泛的運用在人工智慧的用途(AI application)以提供智慧處理能力,例如圖形辨識(pattern recognition)、資料辨識(data classification)和物件偵測(object detection)。以下先簡單介紹具備辨識數字能力的類神經網路系統。
請參照第1圖,其所繪示為辨識數字的類神經網路系統示意圖。利用類神經網路系統100可運用於辨識手寫板102上所書寫的數字,其中手寫板102是由784(28×28)個感應點(sense point)所建構而成。
類神經網路系統100包括輸入層(input layer)110、隱藏層(hidden layer)120與輸出層(output layer)130。基本上,手寫板102上的每個感應點會對應到輸入層的一個輸入神經元(input neuron),因此輸入層110共有784(28×28)個輸入神經元I0~I783,並可視為輸入層110的大小(size)為784。
由於類神經網路系統100需要辨識0~9的十個數字,因此輸出層130共有10個輸出神經元(output neuron)O0~O9,並可視為輸出層130的大小(size)為10。
再者,類神經網路系統100的隱藏層120被設計為具有30個神經元H0~H29,亦即隱藏層130的大小(size)為30。因此,類神經網路系統100的尺寸為784-30-10。
每個神經元之間的連線皆代表一個神經元連接權重(neuron connection weight)。如第1圖所示,輸入層110中的784個輸入神經元I0~I783連接至隱藏層120的神經元H0,而對應的784個神經元連接權重為(IH0,0~IH783,0)。同理,輸入層110中的784個輸入神經元I0~I783對應地連接至隱藏層120的30個神經元H0~H29。因此,輸入層110與隱藏層120之間有734×30個神經元連接權重(IH0,0~IH783,0)、(IH0,1~IH783,1)~(IH0,29~IH783,29)。
同理,隱藏層120的30個神經元H0~H29對應地連接至輸出層130的10個神經元O0~O9。因此,隱藏層120與輸出層130之間有30×10個神經元連接權重(HO0,0~HO29,0)~(HO0,9~HO29,9)。其中,類神經網路系統100中所有的神經元連接權重(IH0,0~IH783,0)~(IH0,29~IH783,29)與(HO0,0~HO29,0)~(HO0,9~HO29,9)即組合成為一權重群組(weight group)。
基本上,將前一層(previous layer)的每個神經元數值乘以對應的神經元連接權重後並加總之後即可獲得下一層(next layer)的神經元數值。以隱藏層120的神經元數值H0為例,。同理,隱藏層120中其他神經元H1~H29也是以相同的方式來計算。
在實際應用類神經網路系統100之前,需要進行訓練程序(training phase),以獲得權重群組中所有的神經元連接權重。舉例來說,經過多次的疊代訓練(iterations of training)並獲得所有神經元連接權重後,即可獲得一個訓練完成的(well-trained)類神經網路系統100。
在應用程序(application phase)時,即可在手寫板102上寫入數字,並由類神經網路系統100來進行辨識。如第1圖所示,於手寫板102上寫入數字7後,輸出層130中的輸出神經元O7數值最高,亦即類神經網路系統100辨識出數字7。
當然,第1圖的類神經網路系統100僅是一個範例。對於更複雜的類神經網路系統,可以使用複數個隱藏層來讓類神經網路系統具備更佳的辨識能力,而每個隱藏層的尺寸也不限定。
由於類神經網路系統中需要不斷的進行乘法與加法運算,因此利用電腦系統可以進行上述的運算。舉例來說,將所有的神經元連接權重儲存於電腦系統的記憶體中。接著,利用電腦系統的中央處理單元(CPU)來存取(access)記憶體中的神經元連接權重,並進行乘法與加法運算後即可計算出所有神經元數值。
然而,當類神經網路系統的尺寸越大時,記憶體的容量也必須增加以便用來儲存神經元連接權重以及神經元數值。並且,由於中央處理單元必
須不斷地存取記憶體中的資料,使得電腦系統的效能大幅地降低且耗費大量的功耗(power consumption)。
現今,針對類神經網路系統的特性,已發展出一種乘積累加電路(Multiply Accumulate circuit,簡稱MAC),用來計算神經元數值。
請參照第2A圖至第2C圖,其所繪示為乘積累加電路器的方塊圖(block diagram)、習知乘積累加電路組(MAC group)與控制電路示意圖。
應用到類神經網路系統時,乘積累加電路200中的權重W1,j~Wn,j即為神經元連接權重。將前一層(previous layer)的多個神經元數值即為輸入數值,而乘積累加電路200的輸出值Yj即為下一層(next layer)的神經元數值。
如第2B圖所示,乘積累加電路組250包括j個乘積累加電路251~25j,此乘積累加電路組250可以進行類神經網路系統中前一層大小(size)n,下一層的大小(size)j的運算。
以乘積累加電路251為例來作說明,乘積累加電路251包括n個電導(electrical conductance),其電導值(conductance value)分別為G1,1~Gn,1。其中,每個電導皆由可變電阻(variable resistor)所組成。而調整後(tuned)的可變電阻,其電阻值(resistance value)的倒數即為電導值。舉例來說,調整好的電阻值為5歐姆(ohm,Ω),其電導值為0.2西門子(siemens,S)。再者,根據類神經網路系統中的神經元連接權重來調整對應的電導值G1,1~Gn,1。
再者,乘積累加電路251的n個輸入端接收n個輸入電壓V1~Vn,每個電壓值V1~Vn分別代表前一層的n個神經元數值,乘積累加電路251的輸出端產生一個輸出電流I1代表下一層的神經元數值。乘積累加電路251的n個輸入端與輸出端之間連接對應的電導G1,1~Gn,1。再者,乘積累加電路252~25j也有相同的結構,此處不再贅述。
於類神經網路系統的訓練程序(training phase)時,可調整每個乘積累加電路251~25j中的所有n×j個電導值G1,1~Gn,j作為n×j個神經元連接權重。
於類神經網路系統的應用程序(application phase)時,所有乘積累加電路251~25j的輸入端接收n個輸入電壓V1~Vn,所有輸出端連接至接地電壓(未繪示)。因此,所有乘積累加電路251~25j的輸出端產生的輸出電流I1~Ij即代表下一層的j個神經元數值。
以乘積累加電路251為例,n個電導G1,1~Gn,j接收對應的n個輸入電壓V1~Vn後,產生n個電流I1,1~In,1。而疊加的(superposed)n個電流I1,1~In,1即為輸出電流I1,亦即。
如第2C圖所示,控制電路290包括數位類比轉換器(digital-to-analog converter,DAC)260、乘積累加電路組250、類比數位轉換器(analog-to-digital converter,ADC)270。其中,數位類比轉換器260可將數位數值轉換為類比電壓,類比數位轉換器270可將類比電流轉換成數位數值。
首先,前一層的n個神經元數值Din_1~Din_n輸入數位類比轉換器260,並轉換為對應的n個輸入電壓V1~Vn。再者,乘積累加電路組250接收n個輸入電壓V1~Vn,並產生j個輸出電流I1~Ij。之後,類比數位轉換器270接收j個
輸出電流I1~Ij,並轉換為下一層的j個神經元數值Do_1~Do_j。其中,神經元數值Din_1~Din_n、Do_1~Do_j皆為數位數值。
換言之,任意尺寸的類神經網路系統即可利用第2C圖的控制電路290來組成。以第1圖的類神經網路系統100為例,其尺寸為784-30-10。因此,類神經網路系統100包括二個控制電路。第一個控制電路接收輸入層110的748個神經元數值I0~I783,並產生隱藏層120的30個神經元數值H0~H29。第二個控制電路接收隱藏層120的30個神經元數值H0~H29,並產生輸出層130的10個神經元數值O0~O9。
本發明的目的在於提出一種全新架構的乘積累加電路及其相關控制電路,並運用於類神經網路系統。
本發明係有關於一種運用於類神經網路系統的控制電路,包括:一第一乘積累加電路,包括n個憶阻性記憶胞,每個憶阻性記憶胞的一第一端接收一供應電壓,每個憶阻性記憶胞的一第二端連接至一第一位元線,該n個憶阻性記憶胞的控制端連接至對應的n條字元線;一第一神經元數值儲存電路,連接至該n條字元線,該第一神經元數值儲存電路包括n個暫存器對應地儲存一第一層(first layer)的n個神經元數值;一第一處理器,連接至該第一位元線;其中,於該類神經網路系統的一應用程序時,該第一神經元數值儲存電路根據該n個神經元數值的二進位碼來控制該n條字元線,使得該第一乘積累加電路產生複數個第一輸出電流至該第一處理器,且該第一處理器根據該些第一輸出電流產生一第二層的一第一神經元數值。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
100:類神經網路系統
102:手寫板
110:輸入層
120:隱藏層
130:輸出層
200,251~25j,421~42j:乘積累加電路
250:乘積累加電路組
260:數位類比轉換器
270:類比數位轉換器
290,400:控制電路
310,320:憶阻性記憶胞
410,450:神經元數值儲存電路
411~41n,451~45j:暫存器
420:記憶胞陣列
430:處理電路
431~43j:處理器
510:電壓鉗位電路
520:類比數位轉換器
530:數位計算電路
610:加法器
620:移位暫存器
630:L位元加法器
640:L位元暫存器
第1圖為辨識數字的類神經網路系統示意圖。
第2A圖至第2C圖乘積累加電路器的方塊圖、習知乘積累加電路組與控制電路示意圖。
第3A圖至第3C圖為憶阻性記憶胞的各種範例以及相關的記憶胞陣列。
第4圖為本發明的控制電路。
第5A圖與第5B圖為處理器以及數位計算電路的運作示意圖。
第6A圖與第6B圖為本發明數位計算電路的二個實施例。
眾所周知,憶阻器(memristor)為一種電子元件,其具有電阻(resistor)的特性。再者,利用特定偏壓來設定憶阻器,可使得憶阻器具有特定電阻值。當此特定偏壓消失後,憶阻器的電阻值仍會維持在特定電阻值而不會改變。如果要再次改變憶阻器的電阻值,則需要提供其他的偏壓至憶阻器。一般來說,憶阻器可運用於非揮發性記憶體,例如可變電阻式記憶體(Resistive random access memory,簡稱RRAM或者ReRAM)或者浮動閘電晶體(floating gate transistor)所構成的非揮發性記憶體。
請參照第3A圖至第3C圖,其所繪示為憶阻性記憶胞(memristive cell)的各種範例以及相關的記憶胞陣列(cell array)。如第3A圖所示,憶阻性記憶胞310包括一開關電晶體M以及一憶阻器R。開關電晶體M的第一汲/源極端(drain/source terminal)作為憶阻性記憶胞310的第一端t1。開關電晶體M的第二汲/源極端連接至憶阻器R的第一端,憶阻器R的第二端作為憶阻性記憶胞310的第二端t2。再者,開關電晶體M的閘極端作為憶阻性記憶胞310的控制端tc。其中,經由提供特定偏壓至憶阻性記憶胞310的三個端t1、t2、tc,可以控制憶阻器R的電阻值。
另外,第3A圖的憶阻性記憶胞310,其開關電晶體M為n型電晶體,當然開關電晶體也可以利用p型電晶體來實現。再者,憶阻器R也可以由n型浮動閘電晶體或者p型浮動閘電晶體來實現。
如第3B圖所示,憶阻性記憶胞320包括一開關電晶體M以及一浮動閘電晶體F。開關電晶體M的第一汲/源極端作為憶阻性記憶胞320的第一端t1。開關電晶體M的第二汲/源極端連接至浮動閘電晶體的第一汲/源極端,浮動閘電晶體的第二汲/源極端作為憶阻性記憶胞320的第二端t2。再者,開關電晶體M的閘極端作為憶阻性記憶胞320的控制端tc。經由提供特定偏壓至憶阻性記憶胞320的三個端t1、t2、tc,可以控制特定數量的熱載子(hot carrier)注入浮動閘極(floating gate),用以控制浮動閘電晶體的內電阻值(internal resistance value)。
另外,利用上述憶阻性記憶胞310、320可以組成記憶胞陣列(cell array)。以下以憶阻性記憶胞320為例來進行說明,當然記憶胞陣列也可以由其他憶阻性記憶胞所組成。
如第3C圖所示,記憶胞陣列350包括n×j個憶阻性記憶胞c11~cnj,每個憶阻性記憶胞c11~cnj中包括一開關電晶體M1,1~Mn,j以及一浮動閘電晶體F1,1~Fn,j。再者,每個憶阻性記憶胞c11~cnj的結構相同於第3B圖的憶阻性記憶胞320,其詳細結構不再贅述。其中,每個憶阻性記憶胞c11~cnj的第一端皆接收供應電壓Vs。
在記憶胞陣列350中,第一列j個憶阻性記憶胞c11~c1j的控制端皆連接至字元線WL1,而第二端連接至對應的位元線BL1~BLj。第二列j個憶阻性記憶胞c21~c2j的控制端皆連接至字元線WL2,而第二端連接至對應的位元線BL1~BLj。同理,其他列的憶阻性記憶胞也有類似的連接關係,此處不再贅述。
基本上,記憶胞陣列350可運用於非揮發性記憶體用來儲存或者讀取資料。當於非揮發性記憶體的編程動作(program action)或者讀取動作(read action)時,記憶胞陣列350中n條字元線WL1~WLn中僅有一條字元線會動作(activated),其他字元線則不會動作。舉例來說,於編程動作時,字元線WL1動作。此時,提供各種偏壓至位元線BL1~BLj,使得不同數量的熱載子注入第一列的j個憶阻性記憶胞c11~c1j中浮動閘電晶體F1,1~F1,j的浮動閘極,用以控制浮動閘電晶體F1,1~F1,j的內電阻值(internal resistance value)。
本發明利用第3C圖的記憶胞陣列350來實現乘積累加電路。實際上,本發明利用異於非揮發性記憶體的記憶胞陣列350操作控制,將記憶胞陣列結合其他電路來形成控制電路,用來作為類神經網路系統的乘積累加電路。
請參照第4圖,其所繪示為本發明的控制電路。控制電路400包括第一神經元數值儲存電路410、記憶胞陣列420、處理電路(processing circuit)430與第二神經元數值儲存電路450。
第一神經元數值儲存電路410包括n個暫存器(register)411~41n,每一個暫存器411~41n儲存前一層的n個神經元數值Din_1~Din_n。其中,n個神經元數值Din_1~Din_n為數位數值。
記憶胞陣列420包括n×j個憶阻性記憶胞c11~cnj,每個憶阻性記憶胞c11~cnj的結構相同於第3B圖之憶阻性記憶胞320。當然,記憶胞陣列420也可以由第3A圖之憶阻性記憶胞310組成。以憶阻性記憶胞c11為例,憶阻性記憶胞c11包括一開關電晶體M1,1與一浮動閘電晶體F1,1。憶阻性記憶胞c11的第一端接收供應電壓Vs,第二端連接至位元線BL1,控制端連接至字元線WL1。
記憶胞陣列420的字元線WL1~WLn連接至第一神經元數值儲存電路410。再者,記憶胞陣列420中,每一行(column)的n個憶阻性記憶胞組成一乘積累加電路。亦即,記憶胞陣列420包括j個乘積累加電路421~42j連接至n條字元線WL1~WLn,並連接至對應的位元線BL1~BLj。以乘積累加電路421為例,乘積累加電路421包括n個憶阻性記憶胞c11~cn1,n個憶阻性記憶胞c11~cn1的第一端接收供應電壓Vs,第二端連接至位元線BL1,控制端連接至對應的字元線WL1~WLn。同理,其他乘積累加電路422~42j也有類似結構,此處不再贅述。
處理電路430包括j個處理器(processor)431~43j,連接至對應的位元線BL1~BLj。第二神經元數值儲存電路450包括j個暫存器451~45j,每一個暫存器451~45j儲存j個處理器431~43j輸出的下一層的神經元數值Do_1~Do_j。其中,j個神經元數值Do_1~Do_j為數位數值。
根據本發明的實施例,記憶胞陣列420的n條字元線WL1~WLn直接根據n個神經元數值Din_1~Din_n運作。亦即,n個神經元數值Din_1~Din_n不需經過數位轉類比轉換器(DAC)的轉換。記憶胞陣列420直接根據神經元數值
Din_1~Din_n的二進位碼(binary code)來控制對應字元線WL1~WLn的動作或者不動作。換句話說,記憶胞陣列420中同時動作的字元線WL1~WLn數目可能會大於2條以上。
再者,由於神經元數值Din_1~Din_n為數位數值,乘積累加電路421~42j會根據神經元數值Din_1~Din_n的位元數目(bit number)進行多次運作(operation)。舉例來說,神經元數值Din_1~Din_n為8位元(8bit),乘積累加電路421~42j會進行8次運作,並於對應的位元線BL1~BLj上產生8次的輸出電流。
另外,處理電路430中的處理器431~43j,會多次接收對應位元線BL1~BLj上的輸出電流,並進行運算以產生神經元數值Do_1~Do_j,並儲存至第二神經元數值儲存電路450的j個暫存器451~45j。
以下僅以單一乘積累加電路421搭配單一處理器431來說明乘積累加電路421與處理器431的運作。
請參照第5A圖與第5B圖,其所繪示為處理器以及數位計算電路(digital computing circuit)的運作示意圖。處理器431包括一電壓鉗位電路(voltage clamping circuit)510、類比數位轉換器(ADC)520以及數位計算電路530。其中,類比數位轉換器520連接至電壓鉗位電路510,用以接收類比的輸出電流I1,並轉換成數位的輸出資料(output data)Data。
電壓鉗位電路510包括一控制電晶體Mc與一運算放大器512,控制電晶體Mc的第一汲/源極端連接至位元線BL1,控制電晶體Mc的第二汲/源極端連接至類比轉數位電路(ADC)520的輸入端,運算放大器512的正輸入端接收一偏壓電壓(bias voltage)Vb,運算放大器512的負輸入端連接至控制電晶體Mc的第
一汲/源極端,運算放大器512的輸出端連接至控制電晶體Mc的閘極端。因此,當乘積累加電路421在運作時,位元線BL1會被固定在偏壓電壓Vb。
當然,在實際的設計上,處理器431也可以將壓鉗位電路510予以省略,並將類比數位轉換器520的輸入端連接至位元線BL1,用以接收類比的輸出電流I1,並轉換成數位的輸出資料(output data)Data。
首先,於類神經網路系統的訓練程序(training phase)時,可調整每個乘積累加電路421中所有n個浮動閘電晶體F1,1~Fn,1的內電阻值。舉例來說,浮動閘電晶體F1,1~Fn,1的內電阻值被調整為r1,1~rn,1。因此,在憶阻性記憶胞c11中,當字元線WL1動作時,開關電晶體M1,1開啟(turn on),憶阻性記憶胞c11產生的記憶胞電流(cell current)I1,1即為[(Vs-Vb)/r1,1],而此記憶胞電流I1,1即代表神經元連接權重。同理,乘積累加電路421中,其他憶阻性記憶胞c21~cn1分別產生不同的記憶胞電流I2,1~In,1作為對應的神經元連接權重。
另外,當字元線WL1未動作時,憶阻性記憶胞c11不會產生記憶胞電流I1,1,亦即I1,1=0。同理,當其他字元線WL2~WLn未動作時,對應的憶阻性記憶胞c21~cn1不會產生記憶胞電流I2,1~In,1。
根據本發明的實施例,於類神經網路系統的應用程序(application phase)時,乘積累加電路421會根據神經元數值Din_1~Din_n的位元數目(bit number)進行多次運作(operation)。每一次運作會產生一輸出電流I1至處理器431,使得處理器431根據所有的輸出電流I1來產生神經元數值Do_1。
舉例來說,神經元數值Din_1~Din_n為8位元(8bits)。第一神經元數值儲存電路410會依序提供神經元數值Din_1~Din_n內的一個位元用來控制對應的n條字元線WL1~WLn,使得乘積累加電路421中的憶阻性記憶胞c11~cn1產
生記憶胞電流I1,1~In,1,並且加總後的輸出電流I1經由位元線BL1傳遞至處理器431。由於神經元數值Din_1~Din_n為8位元(8bit),所以乘積累加電路421共會產生8個輸出電流I1至處理器431。而類比數位轉換器520依序將8個輸出電流I1轉換成8筆輸出資料Data至數位計算電路530。數位計算電路530將8筆輸出資料Data進行運算後產生神經元數值Do_1。
同理,當神經元數值Din_1~Din_n為L位元(L bits),則乘積累加電路421共會產生L個輸出電流I1至處理器431。而類比數位轉換器520依序將L個輸出電流I1轉換成L筆輸出資料Data至數位計算電路530。數位計算電路530將L筆輸出資料Data進行運算後產生神經元數值Do_1。
以下更詳細地介紹乘積累加電路421的運算。
首先,第一神經元數值儲存電路410會依序提供暫存器411~41n中的一個位元,並根據每個位元的數值來控制對應的字元線WL1~WLn。
以暫存器411為例來作說明。暫存器411儲存L位元的神經元數值Din_1,其二進位碼(binary code)由最高位元(MSB)至最低位元(LSB)的數值依序為"a1,L-1、...、a1,1、a1,0"。當二進位碼的數值為"1"時,則字元線WL1會動作(activated)使得開關電晶體M1,1開啟,並且憶阻性記憶胞c11輸出記憶胞電流I1,1。反之,當二進位碼的數值為"0"時,則字元線WL1會不動作(inactivated)使得開關電電晶體M1,1關閉(turn off),並且憶阻性記憶胞c11不輸出記憶胞電流I1,1。當然,本發明也可以利用相反的控制方式來實現,亦即當二進位碼的數值為"0"時,字元線WL1會動作(activated);當二進位碼的數值為"1"時,字元線WL1會不動作(inactivated)。
在乘積累加電路421第一次運作時,第一神經元數值儲存電路410提供暫存器411~41n的最高位元(MSB)來控制字元線WL1~WLn。亦即,第一神
經元數值儲存電路410根據暫存器411提供的"a1,L-1"來控制字元線WL1,根據暫存器412提供的"a2,L-1"來控制字元線WL2,依此類推,根據暫存器41n提供的"an,L-1"來控制字元線WLn。因此,乘積累加電路421第一次運作時所產生的輸出電流I1即為,。
接著,類比數位轉換器520將輸出電流I1轉換成第一筆輸出資料Data至數位計算電路530。
如第5B圖所示,由於第一神經元數值儲存電路410提供暫存器411~41n的最高位元(MSB),其冪次方(power)為(L-1)。所以數位計算電路530將第一筆(1st)的輸出資料Data乘上2L-1,成為。
依此類推,在乘積累加電路421倒數第二次[第(L-1)次]運作時,第一神經元數值儲存電路410提供暫存器411~41n的第二位元來控制字元線WL1~WLn。亦即,第一神經元數值儲存電路410根據暫存器411提供的"a1,1"來控制字元線WL1,根據暫存器412提供的"a2,1"來控制字元線WL2,依此類推,根據暫存器41n提供的"an,1"來控制字元線WLn。因此,乘積累加電路421第(L-1)次運作時所產生的輸出電流I1即為,。
接著,類比數位轉換器520將輸出電流I1轉換成第(L-1)筆輸出資料Data至數位計算電路530。
在乘積累加電路421最後一次運作(第L次)時,第一神經元數值儲存電路410提供暫存器411~41n的最低位元(LSB)來控制字元線WL1~WLn。亦即,第一神經元數值儲存電路410根據暫存器411提供的"a1,0"來控制字元線WL1,根據暫存器412提供的"a2,0"來控制字元線WL2,依此類推,根據暫存器41n提供的"an,0"來控制字元線WLn。因此,乘積累加電路421最後一次運作時所產生的輸出電流I1即為,。
接著,類比數位轉換器520將輸出電流I1轉換成最後一筆輸出資料Data至數位計算電路530。
換言之,本發明的控制電路400確實可將前一層的n個神經元數值Din_1~Din_n乘上對應的神經元連接權重I1,1~In,j,並獲得下一層的j個神經元數值Do_1~Do_j。
另外,本發明的數位計算電路530更可利用移位暫存器(shift register)來達成。請參照第6A圖,其所繪示為本發明數位計算電路的示意圖。數位計算電路530包括一加法器610與一移位暫存器620。移位暫存器620可為左移移位暫存器(shift left register)。其中,加法器610的第一輸入端接收輸出資料Data,加法器610的第二輸入端連接至移位暫存器620的輸出端,加法器610的輸出端連接至移位暫存器620的輸入端。
舉例來說,當加法器610接收到第一筆輸出資料Data後,其加總值輸入移位暫存器620,且移位暫存器620將該加總值Data向左移一個位元產生移位資料(shifted data,Data_s),亦即將加法器620的加總值乘上2。
之後,當加法器610接收到第二筆輸出資料Data後,第二筆輸出資料Data與移位暫存器620的移位資料Data_s相加之後,其加總值輸入移位暫存器620,且移位暫存器620將該加總值Data向左移一個位元,並產生移位資料Data_s。依此類推,因此,當加法器610接收到第L筆的輸出資料Data後,加法器610輸出的加總值即為神經元數值Do_1。
當然,如果第一神經元數值儲存電路410提供的次序是由最低位元(LSB)至最高位元(MSB),則數位計算電路530中的移位暫存器620可利用右移移位暫存器(shift right register)來實現。
第6A圖的數位計算電路可以產生數值作為神經元數值Do_1。在其他的實施例中,可以使用較簡單的數位計算電路,用來產生神經元數值Do_1。請參照第6B圖,其所繪示為本發明數位計算電路的另一實施例。
數位計算電路530包括一L位元加法器(L-bit adder)630與一L位元暫存器(L-bit register)640。L位元加法器(L-bit adder)630可以將二筆L位元數值(亦即,Data<dL-1:d0>與R<rL-1:r0>)相加,並產生包含進位位元(carry bit)共(L+1)位元的加總值(亦即,C<cL:c0>)。
根據本發明的實施例,L位元暫存器630接收一部分的加總值。實際上,L位元暫存器640僅接收加總值中的前L位元C<cL:c1>,並作為L位元暫存資料R<rL-1:r0>。另外,而加總值的最低位元(LSB),亦即c0,則被捨棄。
舉例來說,假設第一神經元數值儲存電路410提供的次序是由最低位元(LSB)至最高位元(MSB),當L位元加法器630接收到第一筆輸出資料Data<dL-1:d0>後,部分的加總值C<cL:c1>輸入L位元暫存器640,並作為L位元暫存資料R<rL-1:r0>。
之後,當L位元加法器630接收到第二筆輸出資料Data<dL-1:d0>後,第二筆輸出資料Data<dL-1:d0>與L位元暫存器640的暫存資料R<rL-1:r0>相加之後,產生加總值C<cL:c0>。接著,部分的加總值C<cL:c1>再輸入L位元暫存器640,並作為暫存資料R<rL-1:r0>。依此類推,因此,當加法器630接收到第L筆的輸出資料Data後,當進位位元cL為0時,輸出加法器630的加總值C<cL-1:c0>為神經元數值Do_1;當進位位元cL為1時,輸出加法器630的加總值C<cL:c1>為神經元數值Do_1。
由以上的說明可知,本發明提出一種運用於類神經網路系統的乘積累加電路及其相關控制電路。在本發明的控制電路中,利用前一層神經元數值Din_1~Din_n的二進位碼來依序控制記憶胞陣列420中的乘積累加電路421~42j。再者,處理電路430接收乘積累加電路421~42j所產生的輸出電流,並產生下一層的神經元數值Do_1~Do_j。
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
400:控制電路
410,450:神經元數值儲存電路
411~41n,451~45j:暫存器
420:記憶胞陣列
421~42j:乘積累加電路
430:處理電路
431,43j:處理器
Claims (14)
- 一種運用於類神經網路系統的控制電路,包括:一第一乘積累加電路,包括n個憶阻性記憶胞,該n個憶阻性記憶胞的一第一端接收一供應電壓,該n個憶阻性記憶胞的一第二端連接至一第一位元線,該n個憶阻性記憶胞的控制端連接至對應的n條字元線;一第一神經元數值儲存電路,連接至該n條字元線,該第一神經元數值儲存電路包括n個暫存器對應地儲存一第一層的n個神經元數值;以及一第一處理器,連接至該第一位元線;其中,於該類神經網路系統的一應用程序時,該第一神經元數值儲存電路根據該n個神經元數值的二進位碼來控制該n條字元線,使得該第一乘積累加電路產生複數個第一輸出電流至該第一處理器,且該第一處理器根據該些第一輸出電流產生一第二層的一第一神經元數值;其中,該n個憶阻性記憶胞中的一第一憶阻性記憶胞包括:一開關電晶體與一憶阻器,該開關電晶體的一閘極端作為該第一憶阻性記憶胞的該控制端,該開關電晶體的一第一汲/源極端作為該第一憶阻性記憶胞的該第一端,該開關電晶體的一第二汲/源極端連接至該憶阻器的一第一端,且該憶阻器的一第二端作為該第一憶阻性記憶胞的該第二端。
- 如請求項1所述之控制電路,其中該憶阻器為一浮動閘電晶體,該浮動閘電晶體的一第一汲/源極端連接至該開關電晶體的該第二汲/源極端,且該浮動閘電晶體的一第二汲/源極端作為該第一憶阻性記憶胞的該第二端。
- 如請求項1所述之控制電路,其中於該類神經網路系統的一訓練程序時,調整該憶阻器的一電阻值。
- 如請求項3所述之控制電路,其中調整該電阻值用以調整一神經元連接權重。
- 如請求項1所述之控制電路,更包括:一第二乘積累加電路,包括n個憶阻性記憶胞,該n個憶阻性記憶胞的一第一端接收該供應電壓,該n個憶阻性記憶胞的一第二端連接至一第二位元線,該n個憶阻性記憶胞的控制端連接至對應的n條字元線;一處理電路,包括該第一處理器與一第二處理器,且該第二處理器連接至該第二位元線,其中於該類神經網路系統的該應用程序時,該第一神經元數值儲存電路根據該n個神經元數值的二進位碼來控制該n條字元線,使得該第二乘積累加電路產生複數個第二輸出電流至該第二處理器,且該第二處理器根據該些第二輸出電流產生該第二層的一第二神經元數值;以及一第二神經元數值儲存電路,包括一第一暫存器連接至該第一處理器用以儲存該第二層的該第一神經元數值,以及一第二暫存器連接至該第二處理器用以儲存該第二層的該第二神經元數值。
- 一種運用於類神經網路系統的控制電路,包括:一第一乘積累加電路,包括n個憶阻性記憶胞,該n個憶阻性記憶胞的一第一端接收一供應電壓,該n個憶阻性記憶胞的一第二端連接至一第一位元線,該n個憶阻性記憶胞的控制端連接至對應的n條字元線;一第一神經元數值儲存電路,連接至該n條字元線,該第一神經元數值儲存電路包括n個暫存器對應地儲存一第一層的n個神經元數值;以及一第一處理器,連接至該第一位元線; 其中,於該類神經網路系統的一應用程序時,該第一神經元數值儲存電路根據該n個神經元數值的二進位碼來控制該n條字元線,使得該第一乘積累加電路產生複數個第一輸出電流至該第一處理器,且該第一處理器根據該些第一輸出電流產生一第二層的一第一神經元數值;其中,該第一層的該n個神經元數值的二進位碼有L位元,該第一神經元數值儲存電路依序提供L次該n個神經元數值中的一個位元用以控制該第一乘積累加電路的該n條字元線,使得該第一乘積累加電路產生L次該第一輸出電流。
- 如請求項6所述之控制電路,其中該第一處理器包括:一類比數位轉換器,接收並轉換L次該第一輸出電流,並產生L筆輸出資料;以及一數位計算電路,接收該L筆輸出資料,並產生該第二層的該第一神經元數值。
- 如請求項7所述之控制電路,其中該L筆資料分別乘上對應的冪次方並加總後成為該第二層的該第一神經元數值。
- 如請求項7所述之控制電路,更包括一電壓鉗位電路,連接至該第一位元線,用以將該第一位元線固定在一偏壓電壓,其中L次該第一輸出電流經由該電壓鉗位電路傳遞至該類比數位轉換器。
- 如請求項9所述之控制電路,其中該電壓鉗位電路包括:一控制電晶體,該控制電晶體的一第一汲/源極端連接至該第一位元線,該控制電晶體的第二汲/源極端連接至該類比轉數位電路的一輸入端;以及一運算放大器,該運算放大器的一正輸入端接收該偏壓電壓,該運算放大器的一負輸入端連接至控制電晶體的該第一汲/源極端,該運算放大器的一輸出端連接至該控制電晶體的一閘極端。
- 如請求項7所述之控制電路,其中該數位計算電路包括:一加法器,該加法器的一第一輸入端接收該輸出資料;以及一移位暫存器,該移位暫存器的一輸入端連接至該加法器的一輸出端,該移位暫存器的一輸出端連接至該加法器的一第二輸入端;其中,該加法器輸出端產生的一加總值輸入該移位暫存器,且該移位暫存器將該加總值移動一個位元後產生一移位資料,並輸入該加法器的該第二輸入端。
- 如請求項11所述之控制電路,其中該加法器接收該L筆輸出資料後,該加總值即為該第二層的該第一神經元數值。
- 如請求項7所述之控制電路,其中該輸出資料為一L位元輸出資料,且該數位計算電路包括:一L位元加法器,該L位元加法器的一第一輸入端接收該L位元輸出資料,該L位元加法器的一第二輸入端接收一L位元暫存資料,該L位元加法器的一輸出端產生一(L+1)位元加總值;以及一L位元移位暫存器,該L位元暫存器的一輸入端連接至該加法器的該輸出端用以接收該(L+1)位元加總值中的前L位元,並作為該L位元暫存資料。
- 如請求項13所述之控制電路,其中該加法器接收該L筆輸出資料後,輸出該(L+1)位元加總值中的L位元為該第二層的該第一神經元數值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962851582P | 2019-05-22 | 2019-05-22 | |
US62/851,582 | 2019-05-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202044122A TW202044122A (zh) | 2020-12-01 |
TWI744899B true TWI744899B (zh) | 2021-11-01 |
Family
ID=70738307
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109116121A TWI744899B (zh) | 2019-05-22 | 2020-05-15 | 運用於類神經網路系統的乘積累加電路之相關控制電路 |
TW109116120A TWI760746B (zh) | 2019-05-22 | 2020-05-15 | 運用於類神經網路系統的乘積累加電路之控制電路 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109116120A TWI760746B (zh) | 2019-05-22 | 2020-05-15 | 運用於類神經網路系統的乘積累加電路之控制電路 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11521050B2 (zh) |
EP (1) | EP3742351A1 (zh) |
CN (2) | CN111985630A (zh) |
TW (2) | TWI744899B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11379714B2 (en) * | 2018-05-29 | 2022-07-05 | British Cayman Islands Intelligo Technology Inc. | Architecture of in-memory computing memory device for use in artificial neuron |
TWI744899B (zh) * | 2019-05-22 | 2021-11-01 | 力旺電子股份有限公司 | 運用於類神經網路系統的乘積累加電路之相關控制電路 |
US20210166110A1 (en) * | 2019-12-03 | 2021-06-03 | Anaflash Inc. | Serialized neural network computing unit |
US11189339B1 (en) * | 2020-05-29 | 2021-11-30 | Macronix International Co., Ltd. | Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays |
US11404106B2 (en) * | 2020-07-27 | 2022-08-02 | Robert Bosch Gmbh | Read only memory architecture for analog matrix operations |
US11195090B1 (en) * | 2020-08-06 | 2021-12-07 | National Tsing Hua University | Memory unit with adaptive clamping voltage scheme and calibration scheme for multi-level neural network based computing-in-memory applications and computing method thereof |
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 |
US11482282B2 (en) | 2021-03-04 | 2022-10-25 | Macronix International Co., Ltd. | Memory device and operation method thereof |
TWI751048B (zh) * | 2021-03-04 | 2021-12-21 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
CN113655993A (zh) * | 2021-03-17 | 2021-11-16 | 神盾股份有限公司 | 乘积和运算装置 |
TWI795967B (zh) * | 2021-06-29 | 2023-03-11 | 財團法人工業技術研究院 | 記憶體內的可配置運算單元 |
TWI794910B (zh) * | 2021-07-29 | 2023-03-01 | 旺宏電子股份有限公司 | 記憶體及用於基於記憶體的類神經網路的訓練方法 |
CN114816335B (zh) * | 2022-06-28 | 2022-11-25 | 之江实验室 | 一种忆阻器阵列符号数乘法实现方法、装置及设备 |
CN118072788A (zh) * | 2022-11-14 | 2024-05-24 | 中国科学院微电子研究所 | 存算一体电路、芯片及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201642274A (zh) * | 2015-05-26 | 2016-12-01 | 華邦電子股份有限公司 | 記憶體系統及其管理方法 |
US20180315473A1 (en) * | 2017-04-28 | 2018-11-01 | Arizona Board Of Regents On Behalf Of Arizona State University | Static random access memory (sram) cell and related sram array for deep neural network and machine learning applications |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5216746A (en) * | 1989-02-28 | 1993-06-01 | Fujitsu Limited | Error absorbing system in a neuron computer |
US8812418B2 (en) * | 2009-06-22 | 2014-08-19 | Hewlett-Packard Development Company, L.P. | Memristive adaptive resonance networks |
US20120011092A1 (en) * | 2010-07-07 | 2012-01-12 | Qualcomm Incorporated | Methods and systems for memristor-based neuron circuits |
KR101888468B1 (ko) * | 2011-06-08 | 2018-08-16 | 삼성전자주식회사 | Stdp 기능 셀을 위한 시냅스, stdp 기능 셀 및 stdp 기능 셀을 이용한 뉴로모픽 회로 |
US9754203B2 (en) * | 2013-03-24 | 2017-09-05 | Technion Research And Development Foundation Ltd. | Analog multiplier using a memristive device and method for implemening Hebbian learning rules using memrisor arrays |
FR3007867B1 (fr) * | 2013-06-26 | 2018-02-09 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Neurone artificiel comprenant une memoire resistive |
WO2016175770A1 (en) * | 2015-04-28 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Memristor apparatus with variable transmission delay |
US9934463B2 (en) * | 2015-05-15 | 2018-04-03 | Arizona Board Of Regents On Behalf Of Arizona State University | Neuromorphic computational system(s) using resistive synaptic devices |
WO2016203397A1 (en) * | 2015-06-17 | 2016-12-22 | King Abdullah University Of Science And Technology | Compensated readout of a memristor array, a memristor array readout circuit, and method of fabrication thereof |
US10332004B2 (en) * | 2015-07-13 | 2019-06-25 | Denso Corporation | Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit |
US10650308B2 (en) * | 2015-09-23 | 2020-05-12 | Politecnico Di Milano | Electronic neuromorphic system, synaptic circuit with resistive switching memory and method of performing spike-timing dependent plasticity |
US11507761B2 (en) * | 2016-02-25 | 2022-11-22 | Hewlett Packard Enterprise Development Lp | Performing complex multiply-accumulate operations |
GB2552014B (en) * | 2016-07-07 | 2020-05-13 | Advanced Risc Mach Ltd | Reconfigurable artificial neural networks comprising programmable non-volatile memory elements |
US9779355B1 (en) * | 2016-09-15 | 2017-10-03 | International Business Machines Corporation | Back propagation gates and storage capacitor for neural networks |
US10180820B2 (en) * | 2016-09-30 | 2019-01-15 | HEWLETT PACKARD ENTERPRlSE DEVELOPMENT LP | Multiply-accumulate circuits |
US10949736B2 (en) * | 2016-11-03 | 2021-03-16 | Intel Corporation | Flexible neural network accelerator and methods therefor |
KR20180070187A (ko) * | 2016-12-16 | 2018-06-26 | 에스케이하이닉스 주식회사 | 신경망 장치의 정규화 장치 및 방법 |
CN106815636B (zh) * | 2016-12-30 | 2019-03-05 | 华中科技大学 | 一种基于忆阻器的神经元电路 |
US11315009B2 (en) * | 2017-03-03 | 2022-04-26 | Hewlett Packard Enterprise Development Lp | Analog multiplier-accumulators |
US10387298B2 (en) * | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
WO2019010036A1 (en) | 2017-07-03 | 2019-01-10 | Transocean Sedco Forex Ventures Limited | IDENTIFICATION OF DRILLING TUBING |
US10127494B1 (en) * | 2017-08-02 | 2018-11-13 | Google Llc | Neural network crossbar stack |
CN109472344A (zh) * | 2017-09-08 | 2019-03-15 | 光宝科技股份有限公司 | 类神经网络系统的设计方法 |
WO2019100036A1 (en) | 2017-11-20 | 2019-05-23 | The Regents Of The University Of California | Memristive neural network computing engine using cmos-compatible charge-trap-transistor (ctt) |
US11620500B2 (en) * | 2018-01-11 | 2023-04-04 | Winbond Electronics Corp. | Synapse system and synapse method to realize STDP operation |
CN108921290B (zh) * | 2018-06-29 | 2020-11-24 | 清华大学 | 神经突触单元电路、神经网络电路和信息处理系统 |
CN109460817B (zh) * | 2018-09-11 | 2021-08-03 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
CN109460818A (zh) * | 2018-09-25 | 2019-03-12 | 电子科技大学 | 一种基于忆阻桥和阵列的多层神经网络设计方法 |
TWI744899B (zh) * | 2019-05-22 | 2021-11-01 | 力旺電子股份有限公司 | 運用於類神經網路系統的乘積累加電路之相關控制電路 |
-
2020
- 2020-05-15 TW TW109116121A patent/TWI744899B/zh active
- 2020-05-15 US US16/874,875 patent/US11521050B2/en active Active
- 2020-05-15 TW TW109116120A patent/TWI760746B/zh active
- 2020-05-15 CN CN202010411115.5A patent/CN111985630A/zh active Pending
- 2020-05-15 EP EP20174853.0A patent/EP3742351A1/en active Pending
- 2020-05-15 US US16/874,842 patent/US11436478B2/en active Active
- 2020-05-15 CN CN202010411120.6A patent/CN111985607B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201642274A (zh) * | 2015-05-26 | 2016-12-01 | 華邦電子股份有限公司 | 記憶體系統及其管理方法 |
US20180315473A1 (en) * | 2017-04-28 | 2018-11-01 | Arizona Board Of Regents On Behalf Of Arizona State University | Static random access memory (sram) cell and related sram array for deep neural network and machine learning applications |
Non-Patent Citations (2)
Title |
---|
ALI SHAFIEE ; ANIRBAN NAG ; NAVEEN MURALIMANOHAR ; RAJEEV BALASUBRAMONIAN ; JOHN PAUL STRACHAN ; MIAO HU ; R. STANLEY WILLIAM: "ISAAC", ACM SIGARCH COMPUTER ARCHITECTURE NEWS, ACM SPECIAL INTEREST GROUP ON COMPUTER ARCHITECTURE, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, vol. 44, no. 3, 18 June 2016 (2016-06-18), 2 Penn Plaza, Suite 701 New York NY 10121-0701 USA , pages 14 - 26, XP058300608, ISSN: 0163-5964, DOI: 10.1145/3007787.3001139 * |
ALI SHAFIEE ET AL: "ISAAC", ACM SIGARCH COMPUTER ARCHITECTURE NEWS, ACM SPECIAL INTEREST GROUP ON COMPUTER ARCHITECTURE, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, vol. 44, no. 3, 18 June 2016 (2016-06-18), pages 14 - 26, XP058300608, ISSN: 0163-5964, DOI: 10.1145/3007787.3001139, https://www.cs.utah.edu/~rajeev/pubs/isca16.pdf。 |
Also Published As
Publication number | Publication date |
---|---|
CN111985607B (zh) | 2024-03-26 |
CN111985630A (zh) | 2020-11-24 |
EP3742351A1 (en) | 2020-11-25 |
TW202044122A (zh) | 2020-12-01 |
US20200372330A1 (en) | 2020-11-26 |
US11436478B2 (en) | 2022-09-06 |
US20200372331A1 (en) | 2020-11-26 |
US11521050B2 (en) | 2022-12-06 |
TW202044126A (zh) | 2020-12-01 |
TWI760746B (zh) | 2022-04-11 |
CN111985607A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI744899B (zh) | 運用於類神經網路系統的乘積累加電路之相關控制電路 | |
US10339202B2 (en) | Resistive memory arrays for performing multiply-accumulate operations | |
US20200202204A1 (en) | Neural network computation circuit including non-volatile semiconductor memory element | |
US10534840B1 (en) | Multiplication using non-volatile memory cells | |
US11501141B2 (en) | Shifting architecture for data reuse in a neural network | |
US11615299B2 (en) | Neural network computation circuit including non-volatile semiconductor memory element | |
US20210248452A1 (en) | Multiply accumulate circuit for binary neural network system | |
US11081148B2 (en) | Binary weighted voltage encoding scheme for supporting multi-bit input precision | |
TW202141497A (zh) | 仿神經型態計算裝置及其操作方法 | |
Jing et al. | VSDCA: A voltage sensing differential column architecture based on 1T2R RRAM array for computing-in-memory accelerators | |
US20200410334A1 (en) | Binary weighted voltage encoding scheme for supporting multi-bit input precision | |
WO2021038182A2 (en) | Refactoring mac computations for reduced programming steps | |
US20240036825A1 (en) | Scalar product circuit, and method for computing binary scalar products of an input vector and weight vectors | |
He et al. | Rvcomp: Analog variation compensation for rram-based in-memory computing | |
US20230005529A1 (en) | Neuromorphic device and electronic device including the same | |
US20200395053A1 (en) | Integrated circuits | |
CN113571109A (zh) | 存储器电路及其操作方法 | |
CN116453563A (zh) | 操作忆阻器阵列的方法和电子装置 | |
US20230161557A1 (en) | Compute-in-memory devices and methods of operating the same | |
CN116524977A (zh) | 存储器系统和存储器阵列的操作方法 | |
TW202341150A (zh) | 記憶體系統及記憶體陣列的操作方法 | |
TW202032433A (zh) | 類比計算的方法 | |
CN115796250A (zh) | 权重部署方法及装置、电子设备和存储介质 |