CN111985607A - 运用于类神经网络系统的乘积累加电路的相关控制电路 - Google Patents
运用于类神经网络系统的乘积累加电路的相关控制电路 Download PDFInfo
- Publication number
- CN111985607A CN111985607A CN202010411120.6A CN202010411120A CN111985607A CN 111985607 A CN111985607 A CN 111985607A CN 202010411120 A CN202010411120 A CN 202010411120A CN 111985607 A CN111985607 A CN 111985607A
- Authority
- CN
- China
- Prior art keywords
- neuron
- circuit
- bit
- value
- terminal
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 29
- 238000009825 accumulation Methods 0.000 title claims abstract description 9
- 210000002569 neuron Anatomy 0.000 claims abstract description 128
- 210000004027 cell Anatomy 0.000 claims abstract description 99
- 230000001537 neural effect Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 4
- 101100063435 Caenorhabditis elegans din-1 gene Proteins 0.000 description 17
- 238000010586 diagram Methods 0.000 description 6
- 210000002364 input neuron Anatomy 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 210000004205 output neuron Anatomy 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
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
- 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
-
- 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
-
- 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 connectionweight)。如图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 oftraining)并获得所有神经元连接权重后,即可获得一个训练完成的(well-trained)类神经网络系统100。
在应用程序(application phase)时,即可在手写板102上写入数字,并由类神经网络系统100来进行辨识。如图1所示,在手写板102上写入数字7后,输出层130中的输出神经元O7数值最高,亦即类神经网络系统100辨识出数字7。
当然,图1的类神经网络系统100仅是一个范例。对于更复杂的类神经网络系统,可以使用多个隐藏层来让类神经网络系统具备更佳的辨识能力,而每个隐藏层的尺寸也不限定。
由于类神经网络系统中需要不断的进行乘法与加法运算,因此利用计算机系统可以进行上述的运算。举例来说,将所有的神经元连接权重存储在计算机系统的存储器中。接着,利用计算机系统的中央处理单元(CPU)来存取(access)存储器中的神经元连接权重,并进行乘法与加法运算后即可计算出所有神经元数值。
然而,当类神经网络系统的尺寸越大时,存储器的容量也必须增加以便用来存储神经元连接权重以及神经元数值。并且,由于中央处理单元必须不断地存取存储器中的数据,使得计算机系统的效能大幅地降低且耗费大量的功耗(power consumption)。
现今,针对类神经网络系统的特性,已发展出一种乘积累加电路(MultiplyAccumulate 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个电导(electricalconductance),其电导值(conductance value)分别为G1,1~Gn,1。其中,每个电导皆由可变电阻(variable resistor)所组成。而调整后(tuned)的可变电阻,其电阻值(resistancevalue)的倒数即为电导值。举例来说,调整好的电阻值为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条字线,使得该第一乘积累加电路产生多个第一输出电流至该第一处理器,且该第一处理器根据这些第一输出电流产生一第二层的一第一神经元数值。
为了对本发明的上述及其他方面有更佳的了解,下文特举优选实施例,并配合附图,作详细说明如下:
附图说明
图1为辨识数字的类神经网络系统示意图。
图2A至图2C乘积累加电路器的方块图、已知乘积累加电路组与控制电路示意图。
图3A至图3C为忆阻性存储器胞的各种范例以及相关的存储器胞阵列。
图4为本发明的控制电路。
图5A与图5B为处理器以及数字计算电路的运作示意图。
图6A与图6B为本发明数字计算电路的二个实施例。
【符号说明】
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位寄存器
具体实施方式
众所周知,忆阻器(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的二进位码(binarycode)来控制对应字线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 computingcircuit)的运作示意图。处理器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 rightregister)来实现。
图6A的数字计算电路可以产生数值作为神经元数值Do_1。在其他的实施例中,可以使用较简单的数字计算电路,用来产生神经元数值Do_1。请参照图6B,其所绘示为本发明数字计算电路的另一实施例。
数字计算电路530包括一L位加法器(L-bit adder)630与一L位寄存器(L-bitregister)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。
综上所述,虽然本发明已以优选实施例公开如上,然其并非用以限定本发明。本发明所属领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视所附权利要求书界定范围为准。
Claims (15)
1.一种运用于类神经网络系统的控制电路,包括:
第一乘积累加电路,包括n个忆阻性存储器胞,该n个忆阻性存储器胞的第一端接收供应电压,该n个忆阻性存储器胞的第二端连接至第一位线,该n个忆阻性存储器胞的控制端连接至对应的n条字线;
第一神经元数值存储电路,连接至该n条字线,该第一神经元数值存储电路包括n个寄存器对应地存储第一层的n个神经元数值;以及
第一处理器,连接至该第一位线;
其中,在该类神经网络系统的应用程序时,该第一神经元数值存储电路根据该n个神经元数值的二进位码来控制该n条字线,使得该第一乘积累加电路产生多个第一输出电流至该第一处理器,且该第一处理器根据这些第一输出电流产生第二层的第一神经元数值。
2.如权利要求1所述的控制电路,其中该n个忆阻性存储器胞中的第一忆阻性存储器胞包括:开关晶体管与忆阻器,该开关晶体管的栅极端作为该第一忆阻性存储器胞的该控制端,该开关晶体管的第一漏/源极端作为该第一忆阻性存储器胞的该第一端,该开关晶体管的第二漏/源极端连接至该忆阻器的第一端,且该忆阻器的第二端作为该第一忆阻性存储器胞的该第二端。
3.如权利要求2所述的控制电路,其中该忆阻器为浮动栅晶体管,该浮动栅晶体管的第一漏/源极端连接至该开关晶体管的该第二漏/源极端,且该浮动栅晶体管的第二漏/源极端作为该第一忆阻性存储器胞的该第二端。
4.如权利要求2所述的控制电路,其中在该类神经网络系统的训练程序时,调整该忆阻器的电阻值。
5.如权利要求4所述的控制电路,其中调整该电阻值用以调整神经元连接权重。
6.如权利要求2所述的控制电路,还包括:
第二乘积累加电路,包括n个忆阻性存储器胞,该n个忆阻性存储器胞的第一端接收该供应电压,该n个忆阻性存储器胞的第二端连接至第二位线,该n个忆阻性存储器胞的控制端连接至对应的n条字线;
处理电路,包括该第一处理器与第二处理器,且该第二处理器连接至该第二位线,其中在该类神经网络系统的该应用程序时,该第一神经元数值存储电路根据该n个神经元数值的二进位码来控制该n条字线,使得该第二乘积累加电路产生多个第二输出电流至该第二处理器,且该第二处理器根据这些第二输出电流产生该第二层的第二神经元数值;以及
第二神经元数值存储电路,包括第一寄存器连接至该第一处理器用以存储该第二层的该第一神经元数值,以及第二寄存器连接至该第二处理器用以存储该第二层的该第二神经元数值。
7.如权利要求1所述的控制电路,其中该第一层的该n个神经元数值的二进位码有L位,该第一神经元数值存储电路依序提供L次该n个神经元数值中的一个位用以控制该第一乘积累加电路的该n条字线,使得该第一乘积累加电路产生L次该第一输出电流。
8.如权利要求7所述的控制电路,其中该第一处理器包括:
模拟数字转换器,接收并转换L次该第一输出电流,并产生L笔输出数据;以及
数字计算电路,接收该L笔输出数据,并产生该第二层的该第一神经元数值。
9.如权利要求8所述的控制电路,其中该L笔数据分别乘上对应的幂次方并加总后成为该第二层的该第一神经元数值。
10.如权利要求8所述的控制电路,还包括电压钳位电路,连接至该第一位线,用以将该第一位线固定在偏压电压,其中L次该第一输出电流经由该电压钳位电路传递至该模拟数字转换器。
11.如权利要求10所述的控制电路,其中该电压钳位电路包括:
控制晶体管,该控制晶体管的第一漏/源极端连接至该第一位线,该控制晶体管的第二漏/源极端连接至该模拟转数字电路的输入端;以及
运算放大器,该运算放大器的正输入端接收该偏压电压,该运算放大器的负输入端连接至控制晶体管的该第一漏/源极端,该运算放大器的输出端连接至该控制晶体管的栅极端。
12.如权利要求8所述的控制电路,其中该数字计算电路包括:
加法器,该加法器的第一输入端接收该输出数据;以及
移位寄存器,该移位寄存器的输入端连接至该加法器的输出端,该移位寄存器的输出端连接至该加法器的第二输入端;
其中,该加法器输出端产生的加总值输入该移位寄存器,且该移位寄存器将该加总值移动一个位后产生移位数据,并输入该加法器的该第二输入端。
13.如权利要求12所述的控制电路,其中该加法器接收该L笔输出数据后,该加总值即为该第二层的该第一神经元数值。
14.如权利要求8所述的控制电路,其中该输出数据为L位输出数据,且该数字计算电路包括:
L位加法器,该L位加法器的第一输入端接收该L位输出数据,该L位加法器的第二输入端接收L位暂存数据,该L位加法器的输出端产生(L+1)位加总值;以及
L位移位寄存器,该L位寄存器的输入端连接至该加法器的该输出端用以接收该(L+1)位加总值中的前L位,并作为该L位暂存数据。
15.如权利要求14所述的控制电路,其中该加法器接收该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 |
---|---|
CN111985607A true CN111985607A (zh) | 2020-11-24 |
CN111985607B CN111985607B (zh) | 2024-03-26 |
Family
ID=70738307
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010411115.5A Pending CN111985630A (zh) | 2019-05-22 | 2020-05-15 | 运用于类神经网络系统的乘积累加电路的控制电路 |
CN202010411120.6A Active CN111985607B (zh) | 2019-05-22 | 2020-05-15 | 运用于类神经网络系统的乘积累加电路的相关控制电路 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010411115.5A Pending CN111985630A (zh) | 2019-05-22 | 2020-05-15 | 运用于类神经网络系统的乘积累加电路的控制电路 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11436478B2 (zh) |
EP (1) | EP3742351A1 (zh) |
CN (2) | CN111985630A (zh) |
TW (2) | TWI760746B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816335A (zh) * | 2022-06-28 | 2022-07-29 | 之江实验室 | 一种忆阻器阵列符号数乘法实现方法、装置及设备 |
WO2024103480A1 (zh) * | 2022-11-14 | 2024-05-23 | 中国科学院微电子研究所 | 存算一体电路、芯片及电子设备 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI705391B (zh) * | 2018-05-29 | 2020-09-21 | 英屬開曼群島商意騰科技股份有限公司 | 適用於人工神經元的記憶體內運算記憶體裝置及記憶體內運算記憶體區塊 |
US11436478B2 (en) * | 2019-05-22 | 2022-09-06 | Ememory Technology Inc. | Control circuit for multiply accumulate circuit of neural network system |
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 | 神盾股份有限公司 | 乘积和运算装置 |
TWI795967B (zh) * | 2021-06-29 | 2023-03-11 | 財團法人工業技術研究院 | 記憶體內的可配置運算單元 |
TWI794910B (zh) * | 2021-07-29 | 2023-03-01 | 旺宏電子股份有限公司 | 記憶體及用於基於記憶體的類神經網路的訓練方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815636A (zh) * | 2016-12-30 | 2017-06-09 | 华中科技大学 | 一种基于忆阻器的神经元电路 |
CN107615389A (zh) * | 2016-02-25 | 2018-01-19 | 慧与发展有限责任合伙企业 | 执行复数乘法累加运算 |
US20180095722A1 (en) * | 2016-09-30 | 2018-04-05 | Hewlett Packard Enterprise Development Lp | Multiply-Accumulate Circuits |
KR20180070187A (ko) * | 2016-12-16 | 2018-06-26 | 에스케이하이닉스 주식회사 | 신경망 장치의 정규화 장치 및 방법 |
US10127494B1 (en) * | 2017-08-02 | 2018-11-13 | Google Llc | Neural network crossbar stack |
CN109416760A (zh) * | 2016-07-07 | 2019-03-01 | 阿姆有限公司 | 人工神经网络 |
CN109460817A (zh) * | 2018-09-11 | 2019-03-12 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
CN109472344A (zh) * | 2017-09-08 | 2019-03-15 | 光宝科技股份有限公司 | 类神经网络系统的设计方法 |
CN111985630A (zh) * | 2019-05-22 | 2020-11-24 | 力旺电子股份有限公司 | 运用于类神经网络系统的乘积累加电路的控制电路 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69026740D1 (de) * | 1989-02-28 | 1996-06-05 | Fujitsu Ltd | Fehler absorbierendes System in einem neuronalen Rechner |
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 |
US9842646B2 (en) * | 2015-04-28 | 2017-12-12 | 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 |
US9779355B1 (en) * | 2016-09-15 | 2017-10-03 | International Business Machines Corporation | Back propagation gates and storage capacitor for neural networks |
US10949736B2 (en) * | 2016-11-03 | 2021-03-16 | Intel Corporation | Flexible neural network accelerator and methods therefor |
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 |
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 |
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 | 清华大学 | 神经突触单元电路、神经网络电路和信息处理系统 |
CN109460818A (zh) * | 2018-09-25 | 2019-03-12 | 电子科技大学 | 一种基于忆阻桥和阵列的多层神经网络设计方法 |
-
2020
- 2020-05-15 US US16/874,842 patent/US11436478B2/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 TW TW109116121A patent/TWI744899B/zh active
- 2020-05-15 US US16/874,875 patent/US11521050B2/en active Active
- 2020-05-15 CN CN202010411120.6A patent/CN111985607B/zh active Active
- 2020-05-15 EP EP20174853.0A patent/EP3742351A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107615389A (zh) * | 2016-02-25 | 2018-01-19 | 慧与发展有限责任合伙企业 | 执行复数乘法累加运算 |
CN109416760A (zh) * | 2016-07-07 | 2019-03-01 | 阿姆有限公司 | 人工神经网络 |
US20180095722A1 (en) * | 2016-09-30 | 2018-04-05 | Hewlett Packard Enterprise Development Lp | Multiply-Accumulate Circuits |
KR20180070187A (ko) * | 2016-12-16 | 2018-06-26 | 에스케이하이닉스 주식회사 | 신경망 장치의 정규화 장치 및 방법 |
CN106815636A (zh) * | 2016-12-30 | 2017-06-09 | 华中科技大学 | 一种基于忆阻器的神经元电路 |
US10127494B1 (en) * | 2017-08-02 | 2018-11-13 | Google Llc | Neural network crossbar stack |
CN109472344A (zh) * | 2017-09-08 | 2019-03-15 | 光宝科技股份有限公司 | 类神经网络系统的设计方法 |
CN109460817A (zh) * | 2018-09-11 | 2019-03-12 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
CN111985630A (zh) * | 2019-05-22 | 2020-11-24 | 力旺电子股份有限公司 | 运用于类神经网络系统的乘积累加电路的控制电路 |
Non-Patent Citations (3)
Title |
---|
ALI SHAFIEE 等: "ISAAC: A Convolutional Neural Network Accelerator with In-Situ Analog Arithmetic in Crossbars", 《2016 ACM/IEEE 43RD ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE》, pages 14 - 26 * |
ARINDAM BASU 等: "Low-Power, Adaptive Neuromorphic Systems:Recent Progress and Future Directions", 《IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS》, vol. 8, no. 1, pages 6 - 27 * |
张小红;齐彦丽;: "实数指数幂忆阻函数设计与电路仿真实现", 《系统仿真学报》, vol. 30, no. 10, pages 3807 - 3816 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816335A (zh) * | 2022-06-28 | 2022-07-29 | 之江实验室 | 一种忆阻器阵列符号数乘法实现方法、装置及设备 |
WO2024103480A1 (zh) * | 2022-11-14 | 2024-05-23 | 中国科学院微电子研究所 | 存算一体电路、芯片及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
TWI744899B (zh) | 2021-11-01 |
TW202044126A (zh) | 2020-12-01 |
EP3742351A1 (en) | 2020-11-25 |
CN111985630A (zh) | 2020-11-24 |
US20200372330A1 (en) | 2020-11-26 |
TWI760746B (zh) | 2022-04-11 |
US20200372331A1 (en) | 2020-11-26 |
US11436478B2 (en) | 2022-09-06 |
CN111985607B (zh) | 2024-03-26 |
TW202044122A (zh) | 2020-12-01 |
US11521050B2 (en) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111985607B (zh) | 运用于类神经网络系统的乘积累加电路的相关控制电路 | |
US20230113231A1 (en) | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array | |
US20210248452A1 (en) | Multiply accumulate circuit for binary neural network system | |
US11531898B2 (en) | Training of artificial neural networks | |
US11081148B2 (en) | Binary weighted voltage encoding scheme for supporting multi-bit input precision | |
CN111052154A (zh) | 使用非易失性半导体存储元件的神经网络运算电路 | |
US20220179658A1 (en) | Refactoring Mac Operations | |
CN114424198A (zh) | 乘法累加器 | |
US20240036825A1 (en) | Scalar product circuit, and method for computing binary scalar products of an input vector and weight vectors | |
US20200410334A1 (en) | Binary weighted voltage encoding scheme for supporting multi-bit input precision | |
US11200948B1 (en) | System for a flexible conductance crossbar | |
Lee et al. | Neuromorphic Computing Using Random Synaptic Feedback Weights for Error Backpropagation in NAND Flash Memory-Based Synaptic Devices | |
Mao et al. | A versatile ReRAM-based accelerator for convolutional neural networks | |
Li et al. | A neuromorphic computing system for bitwise neural networks based on ReRAM synaptic array | |
CN113160860B (zh) | 计算系统、计算器件和计算方法 | |
US20230177319A1 (en) | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array | |
US20240152332A1 (en) | Method for approximatively determining a scalar product using a matrix circuit | |
CN116524977A (zh) | 存储器系统和存储器阵列的操作方法 | |
CN116453563A (zh) | 操作忆阻器阵列的方法和电子装置 | |
CN111722830A (zh) | 快闪存储器的非易失性计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |