TWI760746B - 運用於類神經網路系統的乘積累加電路之控制電路 - Google Patents
運用於類神經網路系統的乘積累加電路之控制電路 Download PDFInfo
- Publication number
- TWI760746B TWI760746B TW109116120A TW109116120A TWI760746B TW I760746 B TWI760746 B TW I760746B TW 109116120 A TW109116120 A TW 109116120A TW 109116120 A TW109116120 A TW 109116120A TW I760746 B TWI760746 B TW I760746B
- Authority
- TW
- Taiwan
- Prior art keywords
- transistor
- circuit
- neuron
- terminal
- voltage
- 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/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
- 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
- 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)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Software Systems (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個暫存器對應地儲存一第一層的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,431':處理器
510,610:電壓鉗位電路
520,620:電流電壓轉換器
530,630:類比計算電路
5300~530L-1,6300~630L-1:放大電路
540,640:類比數位轉換器
第1圖為辨識數字的類神經網路系統示意圖。
2A圖至第2C圖為乘積累加電路器的方塊圖、習知乘積累加電路組與控制電路示意圖。
第3A圖至第3C圖為憶阻性記憶胞的各種範例以及相關的記憶胞陣列。
第4圖為本發明的控制電路。
第5A圖為處理器示意圖。
第5B圖為電流電壓轉換器的一實施例。
第5C圖與第5D圖為類比數位轉換器的二個實施例。
第6圖為處理器的另一實施例。
眾所周知,憶阻器(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圖,其所繪示為處理器示意圖。處理器431包括一電壓鉗位電路(voltage clamping circuit)510、電流電壓轉換器(current to voltage converter)520、類比計算電路(analog computing circuit)530以及類比數位轉換器(ADC)540。其中,類比數位轉換器540可將類比電流轉換成數位數值。
在處理器431中,電流電壓轉換器520連接至電壓鉗位電路510,用以接收位元線電流IBL1,並產生轉換電壓Va(converted voltage)。也就是說,電流電壓轉換器520的輸入端可接收乘積累加電路421所產生的位元線電流IBL1,並於電壓轉換器520的輸出端產生轉換電壓Va至類比計算電路530。
電壓鉗位電路510包括一控制電晶體Mc與一運算放大器512,控制電晶體Mc的第一汲/源極端連接至位元線BL1,控制電晶體Mc的第二汲/源極端連接至電流電壓轉換器520的輸入端,運算放大器512的正輸入端接收一偏壓電壓(bias voltage)Vb,運算放大器512的負輸入端連接至控制電晶體Mc的第一汲/源極端,運算放大器512的輸出端連接至控制電晶體Mc的閘極端。因此,當乘積累加電路421在運作時,位元線BL1會被固定在偏壓電壓Vb。
當然,在實際的設計上,處理器431也可以將壓鉗位電路510予以省略,並將電流電壓轉換器520的輸入端連接至位元線BL1,使得電流電壓轉換器520直接接收乘積累加電路421產生的位元線電流IBL1並產生轉換電壓Va。
類比計算電路530連接於電流電壓轉換器520與類比數位轉換器(ADC)540之間。類比計算電路530包括L個放大電路(amplifying circuit)5300~530L-1,每個放大電路皆有相同的構造。以放大電路5300為例,放大電路5300包括一開關sw0、一電容器C0、一放大電晶體(amplifying transistor)M0。開關sw0的第一端連接至電壓轉換器520的輸出端,開關sw0的第二端連接至電容器C0的第一端以及放大電晶體M0的閘極端,電容器C0的第二端連接至接地端Gnd,放大電晶體M0的第一汲/源端連接至節點d,放大電晶體M0的第二汲/源極端連接至接地端Gnd,節點d連接至類比數位轉換器(ADC)540。再者,類比計算
電路530接收開關信號S,而L個放大電路5300~530L-1中的開關sw0~swL-1根據開關信號S運作。
根據本發明的實施例,放大電路5300~530L-1中的放大電晶體M0~ML-1的長寬比(aspect ratio)有固定的冪次方(power)關係。舉例來說,放大電晶體M0的長寬比為20×(W/L)、放大電晶體M1的長寬比為21×(W/L),依此類推,放大電晶體ML-1的長寬比為2L-1×(W/L)。
首先,於類神經網路系統的訓練程序(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]。同理,乘積累加電路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)。每一次運作會產生一位元線電流IBL1至處理器431,使得處理器431根據所有的位元線電流IBL1來產生神經元數值Do_1。
舉例來說,神經元數值Din_1~Din_n為8位元(8bits)。第一神經元數值儲存電路410會依序提供神經元數值Din_1~Din_n內的一個位元用來控制對應的n條字元線WL1~WLn,使得乘積累加電路421中的憶阻性記憶胞c11~cn1產
生記憶胞電流I1,1~In,1,並且加總後成為位元線電流IBL1經由位元線BL1傳遞至處理器431。由於神經元數值Din_1~Din_n為8位元(8bit),所以乘積累加電路421共會產生8個位元線電流IBL1依序輸入處理器431。在處理器431內部,電流電壓轉換器520依序將8個位元線電流IBL1轉換成8筆轉換電壓Va並輸入至類比計算電路530,使得類比計算電路530產生一輸出電流Iout。之後,類比數位轉換器(ADC)540根據輸出電流Iout產生下一層的神經元數值Do_1。
同理,當神經元數值Din_1~Din_n為L位元(L bits)時,乘積累加電路421共會產生L個位元線電流IBL1依序輸入處理器431。在處理器431內部,電流電壓轉換器520依序將L個位元線電流IBL1轉換成L筆轉換電壓Va並輸入至類比計算電路530。之後,類比計算電路530即產生一輸出電流Iout至類比數位轉換器(ADC)540,使得類比數位轉換器(ADC)540產生下一層的神經元數值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開啟(turn on),並且憶阻性記憶胞c11輸出記憶胞電流I1,1。反之,當二進位碼的數值為"0"時,則字元線WL1會不動作(inactivated)使得開關電電晶體M1,1關閉(turn off),並且憶阻性記憶胞c11不輸出記憶胞電流I1,1。當然,本發明也可以利用相反的控制方式來實現,亦即當二進位碼的數值為"0"時,字
元線WL1會動作(activated);當二進位碼的數值為"1"時,字元線WL1會不動作(inactivated)。
另外,根據暫存器411提供二進位碼(binary code)的順序,開關信號S控制類比計算電路530中的開關sw0~swL-1。舉例來說,暫存器411提供二進位碼(binary code)的順序是由最高位元(MSB)至最低位元(LSB),則開關信號S依序將開關swL-1~sw0控制為閉合狀態(close state)。換句話說,當暫存器411提供最高位元(MSB)時,開關信號S控制開關swL-1為閉合狀態,其他開關swL-2~sw0則為開路狀態(open state)。依此類推,當暫存器411提供最低位元(LSB)時,開關信號S控制開關sw0為閉合狀態,其他開關swL-1~sw1則為開路狀態。當然,如果暫存器411提供二進位碼(binary code)的順序是由最低位元(LSB)至最高位元(MSB)時,則開關信號S依序將開關sw0~swL-1控制為閉合狀態。
在乘積累加電路421第一次運作時,第一神經元數值儲存電路410提供暫存器411~41n的最高位元(MSB)來控制字元線WL1~WLn。亦即,第一神經元數值儲存電路410根據暫存器411提供的"a1,L-1"來控制字元線WL1,根據暫存器412提供的"a2,L-1"來控制字元線WL2,依此類推,根據暫存器41n提供的"an,L-1"來控制字元線WLn。因此,乘積累加電路421第一次運作時所產生的位元線電流IBL1即為,。
接著,電流電壓轉換器520將位元線電流IBL1轉換成第一筆轉換電壓Va至類比計算電路530。由於開關swL-1為閉合狀態,所以放大電路530L-1的電容器CL-1儲存轉換電壓Va。其中,轉換電壓Va正比例於(proportional)位元線電流IBL1。亦即,位元線電流IBL1越大,轉換電壓Va越大。
依此類推,在乘積累加電路421倒數第二次[第(L-1)次]運作時,第一神經元數值儲存電路410提供暫存器411~41n的第二位元來控制字元線WL1~WLn。亦即,第一神經元數值儲存電路410根據暫存器411提供的"a1,1"來控制字元線WL1,根據暫存器412提供的"a2,1"來控制字元線WL2,依此類推,根據暫存器41n提供的"an,1"來控制字元線WLn。因此,乘積累加電路421第(L-1)次運作時所產生的位元線電流IBL1即為,。
接著,電流電壓轉換器520將位元線電流IBL1轉換成第(L-1)筆轉換電壓Va並儲存至放大電路5301的電容器C1。相同地,轉換電壓Va正比例於位元線電流IBL1。
同理,在乘積累加電路421最後一次[第L次]運作時,第一神經元數值儲存電路410提供暫存器411~41n的最低位元(LSB)來控制字元線WL1~WLn。亦即,第一神經元數值儲存電路410根據暫存器411提供的"a1,0"來控制字元線WL1,根據暫存器412提供的"a2,0"來控制字元線WL2,依此類推,根據暫存器41n提供的"an,0"來控制字元線WLn。因此,乘積累加電路421第L次運作時所產生的位元線電流IBL即為,。
接著,電流電壓轉換器520將位元線電流IBL1轉換成第L筆轉換電壓Va,並儲存至放大電路5300的電容器C0。相同地,轉換電壓Va正比例於位元線電流IBL1。
當乘積累加電路421進行L次運作後,放大電路5300~530L-1的電容器C0~CL-1皆儲存各自的轉換電壓Va。接著,類比數位轉換器540接收致能信號EN
而開始運作,而類比計算電路530產生輸出電流Iout,使得類比數位轉換器540根據輸出電流Iout產生下一層的神經元數值Do_1。詳細說明如下。
由於放大電路5300~530L-1中的放大電晶體M0~ML-1的長寬比(aspect ratio)有固定的冪次方(power)關係,所以放大電路5300產生的放大電流I0與轉換電壓Va之間的關係為I0=20×p1×Va2,放大電路5301產生的放大電流I1與轉換電壓Va之間的關係為I1=21×p1×Va2,依此類推,放大電路530L-1產生的放大電流IL-1與轉換電壓Va之間的關係為IL-1=2L-1×p1×Va2。其中,放大電晶體M0~ML-1操作在飽和區(saturation region),且p1為常數(constant)。舉例來說,p1可為電晶體M0的元件參數(device parameter)。
在上式中,由於c為常數,因此(c×Ii,1)即為神經元連接權重。其中,i為整數且1≦i≦n。換言之,調整n個記憶胞電流I1,1~In,1即可調整對應的n神經元連接權重。另外,類比數位轉換器540將輸出電流Iout進行轉換後確實可產生數位的神經元數值Do_1。
請參照第5B圖,其所繪示為電流電壓轉換器的一實施例。電流電壓轉換器520包括二極體式連接(diode connected)的電晶體Md。電晶體Md的第一汲/源極端接收位元線電流IBL1,電晶體Md的第二/源極端連接至接地端Gnd,電晶體Md的閘極端與第一汲/源極端相互連接。因此,轉換電壓Va=rmd×IBL1。其
中,rmd即為二極體式連接的電晶體Md的內阻值。當然本發明並不限定電流電壓轉換器的實際架構,除了第5B圖的電流電壓轉換器520之外,在此領域的技術人員也可以利用其他電流電壓轉換器來進行電流與電壓之間的轉換。
請參照第5C圖,其所繪示為類比數位轉換器的一實施例。類比數位轉換器540可將類比電流轉換成數位數值。類比數位轉換器540包括一電晶體Me、一電阻R與一電壓式類比數位轉換器(voltage analog to digital converter,ADC_v)550。
電晶體Me的第一汲/源極端接收供應電壓Vs,電晶體Me的第二/源極端連接至節點c,電晶體Me電晶體Md的閘極端接收致能信號EN。電阻R的第一端連接至節點c,第二端連接至節點d用以接收輸出電流Iout。另外,電壓式類比數位轉換器550的輸入端連接至節點c,電壓式類比數位轉換器550的輸出端產生數位的神經元數值Do_1。
基本上,當致能信號EN動作時(例如低準位的致能信號EN),電晶體Me開啟(turn on),且節點c的電壓Vc即為R×Iout。因此,電壓式類比數位轉換器550即將節點c的電壓Vc轉換為數位的神經元數值Do_1。當然本發明並不限定類比數位轉換器的實際架構,除了第5C圖的類比數位轉換器530之外,在此領域的技術人員也可以利用其他類比數位轉換器來實現本發明。
請參照第5D圖,其所繪示為類比數位轉換器的另一實施例。類比數位轉換器540可將類比電流轉換成數位數值。類比數位轉換器540包括一電流鏡555、一電阻R與一電壓式類比數位轉換器(voltage analog to digital converter,ADC_v)550。
電流鏡555的電流接收端連接至節點d用以接收輸出電流Iout。電流鏡555的控制端接收致能信號EN。電流鏡555的電流鏡射端連接至節點c。電流鏡555根據致能信號EN,在電流鏡555的電流鏡射端產生輸出電流Iout。電阻R的第一端連接至節點c,第二端連接至接地端Gnd。另外,電壓式類比數位轉換器550的輸入端連接至節點c,電壓式類比數位轉換器550的輸出端產生數位的神經元數值Do_1。
另外,電流鏡555包括電晶體Me1~Me4。電晶體Me1的第一汲/源極端接收供應電壓Vs,電晶體Me1的第二/源極端連接至電晶體Me2的第一汲/源極端,電晶體Me1的閘極端連接至節點d。電晶體Me2的第二汲/源極端連接至節點d,電晶體Me2的閘極端接收致能信號EN。電晶體Me3的第一汲/源極端接收供應電壓Vs,電晶體Me3的第二/源極端連接至電晶體Me4的第一汲/源極端,電晶體Me3的閘極端連接至節點d。電晶體Me4的第二汲/源極端連接至節點c,電晶體Me4的閘極端接收致能信號EN。
當致能信號EN動作時(例如低準位的致能信號EN),電流鏡555被致能,使得節點c的電壓Vc為R×Iout。因此,電壓式類比數位轉換器550即將節點c的電壓Vc轉換為數位的神經元數值Do_1。
參照第6圖,其所繪示為處理器的另一實施例。此處理器431'是改變第5A圖中處理器431內電晶體的形態後所組成,亦即將p型電晶體改為n型電晶體,將n型電晶體改為p型電晶體。
如第6圖所示,處理器431'包括一電壓鉗位電路610、電流電壓轉換器620、類比計算電路630以及類比數位轉換器640。其中,電壓鉗位電路610
中包括一運算放大器612,且類比計算電路630中包括L個放大電路6300~630L-1。再者,類比數位轉換器640可將類比電流轉換成數位數值。
基本上,處理器431'的連接關係與運作原理皆類似於第5A圖中處理器431,所以此處不再贅述其運作原理。
由以上的說明可知,本發明提出一種運用於類神經網路系統的乘積累加電路及其相關控制電路。在本發明的控制電路中,利用前一層神經元數值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 (16)
- 一種運用於類神經網路系統的控制電路,包括:一第一乘積累加電路,包括n個憶阻性記憶胞,該n個憶阻性記憶胞的第一端接收一供應電壓,該n個憶阻性記憶胞的第二端連接至一第一位元線,該n個憶阻性記憶胞的控制端連接至對應的n條字元線;一第一神經元數值儲存電路,連接至該n條字元線,該第一神經元數值儲存電路包括n個暫存器對應地儲存一第一層的n個神經元數值;以及一第一處理器,連接至該第一位元線;其中,於該類神經網路系統的一應用程序時,該第一神經元數值儲存電路根據該n個神經元數值的二進位碼來控制該n條字元線,使得該第一乘積累加電路產生複數個第一位元線電流經由該第一位元線至該第一處理器,且該第一處理器利用類比計算的方式,將該些第一位元線電流轉換為一輸出電流後,再將該輸出電流轉換為一第二層的一第一神經元數值;其中,該n個憶阻性記憶胞中的一第一憶阻性記憶胞包括:一開關電晶體與一浮動閘電晶體,該開關電晶體的一閘極端作為該第一憶阻性記憶胞的該控制端,該開關電晶體的一第一汲/源極端作為該第一憶阻性記憶胞的該第一端,該開關電晶體的一第二汲/源極端連接至該浮動閘電晶體的一第一汲/源極端,且該浮動閘電晶體的一第二汲/源極端作為該第一憶阻性記憶胞的該第二端。
- 如請求項1所述之控制電路,其中於該類神經網路系統的一訓練程序時,調整該浮動閘電晶體的一電阻值。
- 如請求項2所述之控制電路,其中調整該電阻值用以調整一神經元連接權重。
- 一種運用於類神經網路系統的控制電路,包括:一第一乘積累加電路,包括n個憶阻性記憶胞;其中,在該第一乘積累加電路中,該n個憶阻性記憶胞的第一端接收一供應電壓,該n個憶阻性記憶胞的第二端連接至一第一位元線,該n個憶阻性記憶胞的控制端連接至對應的n條字元線;一第二乘積累加電路,包括n個憶阻性記憶胞;其中,在該第二乘積累加電路中,該n個憶阻性記憶胞的第一端接收該供應電壓,該n個憶阻性記憶胞的第二端連接至一第二位元線,該n個憶阻性記憶胞的控制端連接至對應的該n條字元線;一第一神經元數值儲存電路,連接至該n條字元線,該第一神經元數值儲存電路包括n個暫存器對應地儲存一第一層的n個神經元數值;一處理電路,包括一第一處理器與一第二處理器,該第一處理器連接至該第一位元線,且該第二處理器連接至該第二位元線,其中於該類神經網路系統的一應用程序時,該第一神經元數值儲存電路根據該n個神經元數值的二進位碼來控制該n條字元線,使得該第一乘積累加電路產生複數個第一位元線電流經由該第一位元線至該第一處理器,並使得該第二乘積累加電路產生複數個第二位元線電流經由該第二位元線至該第二處理器,該第一處理器根據該些第一位元線電流產生一第二層的一第一神經元數值,且該第二處理器根據該些第二位元線電流產生該第二層的一第二神經元數值;以及一第二神經元數值儲存電路,包括一第一暫存器連接至該第一處理器用以儲存該第二層的該第一神經元數值,以及一第二暫存器連接至該第二處理器用以儲存該第二層的該第二神經元數值。
- 一種運用於類神經網路系統的控制電路,包括: 一第一乘積累加電路,包括n個憶阻性記憶胞,該n個憶阻性記憶胞的第一端接收一供應電壓,該n個憶阻性記憶胞的第二端連接至一第一位元線,該n個憶阻性記憶胞的控制端連接至對應的n條字元線;一第一神經元數值儲存電路,連接至該n條字元線,該第一神經元數值儲存電路包括n個暫存器對應地儲存一第一層的n個神經元數值;以及一第一處理器,連接至該第一位元線;其中,於該類神經網路系統的一應用程序時,該第一神經元數值儲存電路根據該n個神經元數值的二進位碼來控制該n條字元線,使得該第一乘積累加電路產生複數個第一位元線電流經由該第一位元線至該第一處理器,且該第一處理器利用類比計算的方式,將該些第一位元線電流轉換為一輸出電流後,再將該輸出電流轉換為一第二層的一第一神經元數值;其中,該第一層的該n個神經元數值的二進位碼有L位元,該第一神經元數值儲存電路依序提供L次該n個神經元數值中的一個位元用以控制該第一乘積累加電路的該n條字元線,使得該第一乘積累加電路產生L次該第一位元線電流。
- 如請求項5所述之控制電路,其中該第一處理器包括:一電流電壓轉換器,該電流電壓轉換器的一輸入端接收該第一位元線上產生的L次該第一位元線電流,並由該電流電壓轉換器的一輸出端產生L筆轉換電壓;一類比計算電路,包括L個放大電路接收對應的L筆轉換電壓,並產生L筆放大電流加總後成為一輸出電流,且該類比計算電路的一輸出端輸出該輸出電流;以及一類比數位轉換器,連接至該類比計算電路,其中於一致能號動作時,接收該輸出電流,並將該輸出電流轉換為該第二層的該第一神經元數值。
- 如請求項6所述之控制電路,其中L個該放大電路將接收的轉換電壓乘上對應的冪次方以及一第一常數後成為L筆該放大電流。
- 如請求項6所述之控制電路,其中該第一處理器更包括一電壓鉗位電路,連接至該第一位元線,用以將該第一位元線固定在一偏壓電壓,且該些第一位元線電流經由該電壓鉗位電路傳遞至該電流電壓轉換器。
- 如請求項8所述之控制電路,其中該電壓鉗位電路包括:一控制電晶體,該控制電晶體的一第一汲/源極端連接至該第一位元線,該控制電晶體的一第二汲/源極端連接至該電流電壓轉換器的該輸入端,用以提供該些第一位元線電流;以及一運算放大器,該運算放大器的一正輸入端接收該偏壓電壓,該運算放大器的一負輸入端連接至控制電晶體的該第一汲/源極端,該運算放大器的一輸出端連接至該控制電晶體的一閘極端。
- 如請求項6所述之控制電路,其中該類比計算電路中的每一該放大電路包括:一開關、一電容器與一放大電晶體,其中該開關的一第一端連接至該電流電壓轉換器的該輸出端,該開關的一第二端連接至該電容器的一第一端與該放大電晶體的一閘極端,該開關的一控制端接收一開關信號,該放大電晶體的一第一汲/源極端連接至該類比計算電路的該輸出端,該放大電晶體的一第二汲/源極端連接至該電容器的一第二端。
- 如請求項10所述之控制電路,其中該些放大電路中的該些放大電晶體,其長寬比有特定的冪次方關係。
- 如請求項10所述之控制電路,其中該開關信號控制該些放大電路中的該些開關,使得該些開關其中之一為一閉合狀態,其他為開路狀態。
- 如請求項6所述之控制電路,其中該電流電壓轉換器包括:一第一電晶體,該第一電晶體的一第一汲/源極端接收該些第一位元線電流,該第一電晶體的一閘極端連接至該第一電晶體的該第一汲/源極端,該第一電晶體的一第二汲/源極端產生該些轉換電壓。
- 如請求項6所述之控制電路,其中該類比數位轉換器包括:一第二電晶體,該第二電晶體的一第一汲/源極端接收一供應電壓,該第二電晶體的一閘極端接收該致能信號;一電阻,該電阻的一第一端連接至該第二電晶體的一第二汲/源極端,該電阻的一第二端接收該輸出電流;以及一電壓式類比數位轉換器,該電壓式類比數位轉換器的一輸入端連接至該電阻的該第一端,該電壓式類比數位轉換器的一輸出端產生該第二層的該第一神經元數值。
- 如請求項6所述之控制電路,其中該類比數位轉換器包括:一電流鏡,該電流鏡的一電流接收端接收該輸出電流,該電流鏡的一控制端接收該致能信號;一電阻,該電阻的一第一端連接至該電流鏡的一電流鏡射端,該電阻的一第二端連接至一接地端;以及一電壓式類比數位轉換器,該電壓式類比數位轉換器的一輸入端連接至該電阻的該第一端,該電壓式類比數位轉換器的一輸出端產生該第二層的該第一神經元數值。
- 如請求項15所述之控制電路,其中該電流鏡包括:一第二電晶體、一第三電晶體、一第四電晶體與一第五電晶體,該第二電晶體的一第一汲/ 源極端接收一供應電壓,該第二電晶體的一第二汲/源極端連接至該第三電晶體的一第一汲/源極端,該第二電晶體一閘極端連接至該第三電晶體的一第二汲/源極端,該第三電晶體的該第二汲/源極端接收該輸出電流,該第三電晶體的一閘極端接收該致能信號,該第四電晶體的一第一汲/源極端接收該供應電壓,該第四電晶體的一第二汲/源極端連接至該第五電晶體的一第一汲/源極端,該第四電晶體一閘極端連接至該第二電晶體的該閘極端,該第五電晶體的該第二汲/源極端連接至該電阻的該第一端,該第五電晶體的一閘極端接收該致能信號。
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 |
---|---|
TW202044126A TW202044126A (zh) | 2020-12-01 |
TWI760746B true TWI760746B (zh) | 2022-04-11 |
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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109116121A TWI744899B (zh) | 2019-05-22 | 2020-05-15 | 運用於類神經網路系統的乘積累加電路之相關控制電路 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11436478B2 (zh) |
EP (1) | EP3742351B1 (zh) |
CN (2) | CN111985607B (zh) |
TW (2) | TWI744899B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI705391B (zh) * | 2018-05-29 | 2020-09-21 | 英屬開曼群島商意騰科技股份有限公司 | 適用於人工神經元的記憶體內運算記憶體裝置及記憶體內運算記憶體區塊 |
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 |
TWI751048B (zh) * | 2021-03-04 | 2021-12-21 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
US11482282B2 (en) | 2021-03-04 | 2022-10-25 | Macronix International Co., Ltd. | Memory device and operation method thereof |
CN113655993A (zh) * | 2021-03-17 | 2021-11-16 | 神盾股份有限公司 | 乘积和运算装置 |
KR20220145223A (ko) | 2021-04-21 | 2022-10-28 | 삼성전자주식회사 | 프로세싱 소자 및 프로세싱 소자를 포함하는 전자 장치 |
JP2023001953A (ja) * | 2021-06-22 | 2023-01-10 | キオクシア株式会社 | 半導体集積回路及び演算システム |
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201209734A (en) * | 2010-07-07 | 2012-03-01 | Qualcomm Inc | Methods and systems for memristor-based neuron circuits |
US20180121796A1 (en) * | 2016-11-03 | 2018-05-03 | Intel Corporation | Flexible neural network accelerator and methods therefor |
TW201833824A (zh) * | 2017-03-03 | 2018-09-16 | 美商慧與發展有限責任合夥企業 | 類比乘法累加器 |
US20180285727A1 (en) * | 2017-04-04 | 2018-10-04 | Hailo Technologies Ltd. | Neural Network Processing Element Incorporating Compute And Local Memory Elements |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0385436B1 (en) * | 1989-02-28 | 1996-05-01 | Fujitsu Limited | An error absorbing system in a neuron computer |
WO2010151247A1 (en) * | 2009-06-22 | 2010-12-29 | Hewlett-Packard Development Company, L.P. | Memristive adaptive resonance networks |
KR101888468B1 (ko) * | 2011-06-08 | 2018-08-16 | 삼성전자주식회사 | Stdp 기능 셀을 위한 시냅스, stdp 기능 셀 및 stdp 기능 셀을 이용한 뉴로모픽 회로 |
CN102611424B (zh) * | 2011-12-22 | 2014-06-11 | 北京大学 | 利用阻变器件实现积分运算方法 |
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 |
US9484094B2 (en) * | 2015-01-21 | 2016-11-01 | Ememory Technology Inc. | Control method of resistive random-access memory |
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 |
US9563505B2 (en) * | 2015-05-26 | 2017-02-07 | Winbond Electronics Corp. | Methods and systems for nonvolatile memory data management |
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 |
EP3286762A4 (en) * | 2016-02-25 | 2018-04-18 | 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 |
KR20180070187A (ko) * | 2016-12-16 | 2018-06-26 | 에스케이하이닉스 주식회사 | 신경망 장치의 정규화 장치 및 방법 |
CN106815636B (zh) * | 2016-12-30 | 2019-03-05 | 华中科技大学 | 一种基于忆阻器的神经元电路 |
US10699778B2 (en) * | 2017-04-28 | 2020-06-30 | 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 |
US10802899B2 (en) | 2017-07-03 | 2020-10-13 | Transocean Sedco Forex Ventures Limited | Drilling tubular identification |
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 CN CN202010411120.6A patent/CN111985607B/zh active Active
- 2020-05-15 CN CN202010411115.5A patent/CN111985630B/zh active Active
- 2020-05-15 TW TW109116120A patent/TWI760746B/zh active
- 2020-05-15 US US16/874,842 patent/US11436478B2/en active Active
- 2020-05-15 EP EP20174853.0A patent/EP3742351B1/en active Active
- 2020-05-15 US US16/874,875 patent/US11521050B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201209734A (en) * | 2010-07-07 | 2012-03-01 | Qualcomm Inc | Methods and systems for memristor-based neuron circuits |
US20180121796A1 (en) * | 2016-11-03 | 2018-05-03 | Intel Corporation | Flexible neural network accelerator and methods therefor |
TW201833824A (zh) * | 2017-03-03 | 2018-09-16 | 美商慧與發展有限責任合夥企業 | 類比乘法累加器 |
US20180285727A1 (en) * | 2017-04-04 | 2018-10-04 | Hailo Technologies Ltd. | Neural Network Processing Element Incorporating Compute And Local Memory Elements |
Also Published As
Publication number | Publication date |
---|---|
US20200372330A1 (en) | 2020-11-26 |
US20200372331A1 (en) | 2020-11-26 |
CN111985607A (zh) | 2020-11-24 |
US11436478B2 (en) | 2022-09-06 |
EP3742351A1 (en) | 2020-11-25 |
CN111985630A (zh) | 2020-11-24 |
EP3742351B1 (en) | 2024-09-04 |
TWI744899B (zh) | 2021-11-01 |
CN111985607B (zh) | 2024-03-26 |
CN111985630B (zh) | 2024-07-12 |
US11521050B2 (en) | 2022-12-06 |
TW202044126A (zh) | 2020-12-01 |
TW202044122A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI760746B (zh) | 運用於類神經網路系統的乘積累加電路之控制電路 | |
US10534840B1 (en) | Multiplication using non-volatile memory cells | |
US11604974B2 (en) | Neural network computation circuit including non-volatile semiconductor memory element | |
US20230004789A1 (en) | MULTI-BIT, SoC-COMPATIBLE NEUROMORPHIC WEIGHT CELL USING FERROELECTRIC FETS | |
US11615299B2 (en) | Neural network computation circuit including non-volatile semiconductor memory element | |
TWI773076B (zh) | 運用於二進位類神經網路系統的乘積累加電路 | |
US11157803B2 (en) | Neuromorphic device including a synapse having a variable resistor and a transistor connected in parallel with each other | |
US11081148B2 (en) | Binary weighted voltage encoding scheme for supporting multi-bit input precision | |
KR20190107143A (ko) | 혼합-신호 연산 시스템 및 방법 | |
CN114400031B (zh) | 一种补码映射的rram存算一体芯片及电子设备 | |
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 | |
US20220309328A1 (en) | Compute-in-memory devices, systems and methods of operation thereof | |
TW202201406A (zh) | 記憶體裝置及其讀取方法 | |
US20200395053A1 (en) | Integrated circuits | |
CN114121089B (zh) | 基于忆阻器阵列的数据处理方法及装置 | |
CN116453563A (zh) | 操作忆阻器阵列的方法和电子装置 | |
CN116451751A (zh) | 单个非易失性器件存储正负权重的突触结构、神经网络电路、存算一体芯片和电子设备 | |
TW202032433A (zh) | 類比計算的方法 |