CN112384927A - 乘积累加运算装置、乘积累加运算电路、乘积累加运算系统和乘积累加运算方法 - Google Patents
乘积累加运算装置、乘积累加运算电路、乘积累加运算系统和乘积累加运算方法 Download PDFInfo
- Publication number
- CN112384927A CN112384927A CN201980045393.9A CN201980045393A CN112384927A CN 112384927 A CN112384927 A CN 112384927A CN 201980045393 A CN201980045393 A CN 201980045393A CN 112384927 A CN112384927 A CN 112384927A
- Authority
- CN
- China
- Prior art keywords
- multiply
- value
- input
- product
- unit
- 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.)
- Pending
Links
- 238000009825 accumulation Methods 0.000 title claims abstract description 223
- 238000000034 method Methods 0.000 title claims description 58
- 238000004364 calculation method Methods 0.000 claims description 25
- 230000007423 decrease Effects 0.000 claims description 6
- 239000003990 capacitor Substances 0.000 description 153
- 230000000946 synaptic effect Effects 0.000 description 45
- 210000002569 neuron Anatomy 0.000 description 42
- 238000010586 diagram Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 10
- 210000004027 cell Anatomy 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 210000003050 axon Anatomy 0.000 description 7
- 210000001787 dendrite Anatomy 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000003376 axonal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/16—Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
- G06G7/161—Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division with pulse modulation, e.g. modulation of amplitude, width, frequency, phase or form
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/18—Arrangements for performing computing operations, e.g. operational amplifiers for integration or differentiation; for forming integrals
- G06G7/184—Arrangements for performing computing operations, e.g. operational amplifiers for integration or differentiation; for forming integrals using capacitive elements
-
- 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/048—Activation functions
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/01—Modifications for accelerating switching
- H03K19/017—Modifications for accelerating switching in field-effect transistor circuits
- H03K19/01728—Modifications for accelerating switching in field-effect transistor circuits in synchronous circuits, i.e. by using clock signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/0806—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using charge transfer devices (DTC, CCD)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4814—Non-logic devices, e.g. operational amplifiers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Power Engineering (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
- Amplifiers (AREA)
- Analogue/Digital Conversion (AREA)
- Logic Circuits (AREA)
Abstract
乘积累加运算装置利用模拟电路执行乘积累加运算,并包括:多条输入线;多个乘积单元;累加单元;充电单元;以及输出单元。具有与输入值对应的脉冲宽度的脉冲信号被输入到多条输入线。基于输入到多条输入线中的每条输入线的脉冲信号,多个乘积单元生成与通过将输入值乘以权重值而获得的乘积值相对应的电荷。累加单元累加与由多个乘积单元中的每个乘积单元生成的乘积值相对应的电荷的和。充电单元以与累加单元的累加状态相关联的充电速度对其中已经累加了与乘积值相对应的电荷的和的累加单元进行充电。在充电单元开始充电之后,输出单元通过使用与累加单元的累加状态相关联的阈值对由累加单元保持的电压执行阈值确定来输出表示乘积值的和的乘积累加信号。
Description
技术领域
本技术涉及适用于使用模拟系统的乘积累加运算的乘积累加运算装置、乘积累加运算电路、乘积累加运算系统和乘积累加运算方法。
背景技术
例如,专利文献1描述了一种模拟电路,其中通过模拟系统执行乘积累加运算的处理。在该模拟电路中,设置与多个电信号中的每个电信号相对应的权重。此外,输出与相应电信号和权重的乘积相对应的电荷,并且将输出电荷适当地累积在电容器中。然后,基于其中累积了电荷的电容器的电压来计算表示乘积累加结果的信号。因此,例如,与使用数字系统的处理相比,可以减少乘积累加运算所消耗的功率(专利文献1的说明书第[0003],[0049]至[0053]和[0062]段以及图4等)。
引文列表
专利文献
专利文献1:WO 2018/034163
发明内容
技术问题
使用模拟系统的这种电路的使用预计将导致计算神经网络模型等的装置的功耗降低,并且需要能够提高乘积累加运算的精度的技术。
鉴于上述情况,本技术的目的是提供能够提高执行乘积累加运算的模拟系统中的运算的精度的乘积累加运算装置、乘积累加运算电路、乘积累加运算系统和乘积累加运算方法。
问题的解决方案
为了实现上述目的,根据本发明的实施方式的乘积累加运算装置是利用模拟电路执行乘积累加运算的乘积累加运算装置,并且包括:多条输入线;多个乘积单元;累加单元;充电单元;以及输出单元。
具有与输入值对应的脉冲宽度的脉冲信号被输入到多条输入线。
基于输入到多条输入线中的每条输入线的脉冲信号,多个乘积单元生成与通过将输入值乘以权重值而获得的乘积值相对应的电荷。
累加单元累加与由多个乘积单元中的每个乘积单元生成的乘积值相对应的电荷的和。
充电单元以与累加单元的累加状态相关联的充电速度对其中已经累加了与乘积值相对应的电荷的和的累加单元进行充电。
在充电单元开始充电之后,输出单元通过使用与累加单元的累加状态相关联的阈值对由累加单元保持的电压执行阈值确定来输出表示乘积值的和的乘积累加信号。
在该乘积累加运算装置中,与累加单元的累加状态相关联地设置对累加单元充电的充电速度和用于输出表示乘积值的和的乘积累加信号的阈值。因此,可以提高表示乘积累加运算结果的分辨率,并且可以提高运算的精度。
可以在具有预定长度的输入时段内将脉冲信号输入到多条输入线中的每条输入线。在这种情况下,充电单元可以在输入时段结束后开始充电。此外,在具有预定长度的输出时段内,输出单元还可以基于由累加单元保持的电压增加(或减小)到超过阈值的定时来输出乘积累加信号。
可以基于与乘积值相对应的电荷的和的有效最大值和有效最小值来设置充电速度和阈值,该有效最大值和有效最小值是从与累加单元所累加的乘积值相对应的电荷的和的估计结果中获得的。
设置充电速度和阈值,使得从有效最大值到有效最小值的范围是在输出时段中能够输出乘积累加信号的范围。
由累加单元保持的电压增加(或减小)到超过阈值的定时被用作计算乘积累加信号的计算定时,并且可以设置充电速度和阈值,使得与有效最大值对应的计算定时是紧接在输出时段的开始定时之后的定时,并且与有效最小值对应的计算定时是紧接在输出时段的结束定时之前的定时。
可以基于输出时段的长度来设置充电速度和阈值。
有效最大值和有效最小值可以分别是从与累加单元所累加的乘积值相对应的电荷的和的理论值获得的理论最大值和理论最小值。
输出时段的长度可以等于输入时段的长度。
充电单元可以在输入时段的结束定时处开始充电。在这种情况下,输出时段可以在充电单元的充电开始定时处开始。
多个乘积单元可以包括正权重乘积单元和负权重乘积单元,该正权重乘积单元生成与通过将输入值乘以正权重值而获得的乘积值相对应的正权重电荷,该负权重乘积单元生成与通过将输入值乘以负权重值而获得的乘积值相对应的负权重电荷。在这种情况下,累加单元可以包括正电荷累加单元和负电荷累加单元,该正电荷累加单元累加由正权重乘积单元生成的正权重电荷的和,该负电荷累加单元累加由负权重乘积单元生成的负权重电荷的和。此外,充电单元可以以相同的充电速度对正电荷累加单元和负电荷累加单元充电。此外,输出单元可以通过使用相同的阈值对正电荷累加单元和负电荷累加单元执行阈值确定,来输出乘积累加信号。
累加单元可以累加对应于通过将输入值乘以正权重值而获得的乘积值对应的正权重电荷总量与通过将输入值乘以负权重值而获得的乘积值对应的负权重电荷总量之间的差值的电荷。
正权重电荷和负权重电荷可以是彼此具有相同符号的电荷。在这种情况下,累加单元可以累加正权重电荷的和,并释放负权重电荷的和。
脉冲信号可以具有与从与输入时段中的输入值相对应的定时到输入时段的结束定时的时段相对应的脉冲宽度。
乘积累加运算装置还可以包括一条或多条输出线。在这种情况下,可以对应于多条输入线设置多个乘积单元。此外,多个乘积单元中的每个乘积单元可以包括限定权重值并且具有非线性特性的电阻器,该电阻器连接在多条输入线中的相应输入线与一条或多条输出线中的任何一条输出线之间,并且多个乘积单元中的每个乘积单元可以将与乘积值相对应的电荷输出到电阻器所连接的输出线。
乘积累加运算装置还可以包括正电荷输出线和负电荷输出线。在这种情况下,可以对应于多条输入线设置多个乘积单元。此外,正权重乘积单元可以包括限定正权重值并且具有非线性特性的电阻器,该电阻器连接在多条输入线的相应输入线与正电荷输出线之间,并且正权重乘积单元可以将与乘积值相对应的正权重电荷输出到正电荷输出线。此外,负权重乘积单元可以包括限定负权重值并且具有非线性特性的电阻器,该电阻器连接在多条输入线中的相应输入线与负电荷输出线之间,并且负权重乘积单元可以将与乘积值相对应的负权重电荷输出到负电荷输出线。
电阻器可以是固定电阻元件、可变电阻元件或在次阈值区域工作的MOS晶体管。
根据本技术的实施方式的乘积累加运算电路是通过模拟系统执行乘积累加运算的乘积累加运算电路,并且该乘积累加运算电路包括多条输入线、多个乘积单元、累加单元、充电单元和输出单元。
根据本技术的实施方式的乘积累加运算系统包括多条输入线和包括多个模拟电路的网络电路。
该多个模拟电路包括多个乘积单元、累加单元、充电单元和输出单元。
根据本技术的实施方式的乘积累加运算方法包括将具有对应于输入值的脉冲宽度的脉冲信号输入到多条输入线。基于输入到多条输入线中的每条输入线的脉冲信号,生成与通过将输入值乘以权重值而获得的乘积值相对应的电荷。
在累加单元中累加与乘积值相对应的所生成的电荷的和。
以与累加单元的累加状态相关联的充电速度对其中累加有与乘积值相对应的电荷的和的累加单元进行充电。
在开始充电之后,通过使用与累加单元的累加状态相关联的阈值对由累加单元保持的电压执行阈值确定,以输出表示乘积值的和的乘积累加信号。
本发明的有益效果
如上所述,根据本技术,可以提高执行乘积累加运算的模拟系统中的运算的精度。注意,这里描述的效果不一定是限制性的,并且可以提供本公开中描述的任何效果。
附图说明
[图1]是示出根据第一实施方式的包括乘积累加运算装置的运算装置的配置示例的示意图。
[图2]是示出输入到乘积累加运算装置的电信号的示例的示意图。
[图3]是示出用于实现运算装置的乘积累加运算装置的配置示例的示意图。
[图4]是示出神经元回路的配置示例的示意图。
[图5]是示出乘积累加运算装置的示例的示意电路图。
[图6]是用于描述由图5所示的乘积累加运算装置对乘积累加信号的计算示例的图。
[图7]是示出表示整个乘积累加结果的乘积累加信号的计算示例的示意图。
[图8]是用于描述充电速度和阈值的设置的示意图。
[图9]是用于描述充电速度和阈值的设置的示意图。
[图10]是用于描述充电速度和阈值的设置的示意图。
[图11]是示出根据第二实施方式的乘积累加运算装置的示例的电路原理图。
[图12]是用于描述由图11所示的乘积累加运算装置对乘积累加信号的计算示例的图。
[图13]是示出根据第三实施方式的乘积累加运算装置的示例的示意电路图。
[图14]是示出根据第四实施方式的乘积累加运算装置的示例的示意电路图。
[图15]是示出具有与信号值相对应的脉冲宽度的脉冲信号(PWM信号)的另一示例的示意图。
[图16]是示出图4所示的神经元回路的具体配置示例的电路图。
[图17]是示出图16所示的神经元回路的运算示例的定时图。
[图18]是示出神经元回路的另一配置示例的电路图。
[图19]是示出图18所示的神经元回路的运算示例的定时图。
[图20]是示出图18所示的神经元回路的另一运算示例的定时图。
具体实施方式
在下文中,参考附图,将描述根据本发明的实施方式。
<第一实施方式>
[乘积累加运算装置的配置]
图1是示出根据本技术的第一实施方式的包括乘积累加运算装置的运算装置的配置示例的示意图。运算装置100是使用模拟系统的运算装置,该运算装置执行包括乘积累加运算的预定算术处理。运算装置100能够根据数学模型执行算术处理。
运算装置100包括多条信号线1、多个输入单元2和多个乘积累加运算装置3。每条信号线1是传输预定方法的电信号的线。作为电信号,例如,使用表示使用诸如脉冲的定时和宽度的模拟量的信号值的模拟信号。在图1中通过箭头示意性地示出了电信号的传输方向。
例如,多条信号线1连接到一个乘积累加运算装置3。将电信号传输到乘积累加运算装置3的信号线1是与信号线1连接的乘积累加运算装置3的输入电信号的输入信号线。此外,传输乘积累加运算装置3输出的电信号的信号线1是为输出电信号的乘积累加运算装置3输出电信号的输出信号线。在本实施方式中,输入信号线对应于输入线。
多个输入单元2中的每个输入单元生成对应于输入数据4的多个电信号。输入数据4例如是使用由运算装置100执行的神经网络等要处理的数据。因此,也可以说根据输入数据4的多个电信号的各个信号值是运算装置100的输入值。
作为输入数据4,例如,使用要由运算装置100处理的诸如图像数据、音频数据和统计数据的任意数据。例如,在将图像数据用作输入数据4的情况下,生成具有与图像数据的每个像素的像素值(RGB值、亮度值等)相对应的信号值的电信号。另外,可以根据输入数据4的类型和运算装置100的处理内容适当地生成与输入数据4相对应的电信号。
乘积累加运算装置3是使用模拟系统的乘积累加运算电路,该乘积累加运算电路基于输入电信号执行乘积累加运算。乘积累加运算是对通过将多个输入值中的每个输入值乘以权重值而获得的多个乘积值相加的运算。因此,也可以说乘积累加运算是计算各个乘积值的和(以下称为乘积累加结果)的处理。
如图1所示,多条输入信号线连接到一个乘积累加运算装置3以提供多个电信号。在本实施方式中,输入到一个乘积累加运算装置3的电信号的总数为N。注意,根据例如算术处理的模型、精度等,为每个电路适当地设置要输入到每个乘积累加运算装置3的电信号的数量N。
在乘积累加运算装置3中,例如,计算从第i个输入信号线输入的电信号表示的信号值(输入值)xi与对应于信号值xi的权重值wi的乘积值wi·xi。此处,i是等于或小于N的自然数(i=1,2,...,N)。对每个电信号(输入信号线)执行乘积值运算,并计算N个乘积值。将N个乘积值的和作为一个乘积累加结果(N个乘积值的和)。因此,由一个乘积累加运算装置3计算出的乘积累加结果由下式表示。
[数学式1]
权重值wi被设定在例如-α≤wi≤+α的范围内。此处,α表示任意的实值。因此,权重值wi包括正权重值wi、负权重值wi、零的权重值wi等。
此外,例如,可以将设置权重值wi的范围标准化。在这种情况下,在-1≤wi≤1的范围内设置权重值wi。因此,例如,可以调整乘积累加结果的最大值、最小值等,并且可以以期望的精度执行乘积累加运算。
在神经网络等中,可以使用称为二进制连接的方法,该方法将权重值wi设置为+α或-α。例如,通过在深度神经网络(多层神经网络)等的图像识别领域中使用二进制连接,该二进制连接能够简化权重值wi的设置而不会降低识别精度等。
如上所述,在二进制连接中,权重值wi被二值化为二进制值(±α)。因此,例如,通过切换权重值wi的正负,可以容易地设置期望的权重值wi。此外,可以将二值化的权重值wi标准化以将权重值wi设置为±1。另外,权重值wi的设定范围、值等不受限制,并且可以适当地设定以例如实现期望的处理精度。
注意,乘积累加运算的目标信号值xi例如是由从每个输入单元2输出的电信号表示的值,或者是从每个乘积累加运算装置3输出的乘积累加结果。因此,也可以说,输入单元2和乘积累加运算装置3中的每一个都作为输出信号值xi的信号源。
在图1所示的实例中,从一个信号源(输入单元2、乘积累加运算装置3)输出单个电信号(单个信号值xi)。因此,相同的电信号输入到连接到一个信号源输出侧的多个信号线1。此外,一个信号源和从该信号源输出的电信号被输入到的乘积累加运算装置3通过单个输入信号线相互连接。
因此,例如,在将M个信号源连接到乘积累加运算设3的情况下,将M个输入信号线连接到乘积累加运算装置3。然后,输入到乘积累加运算装置3的电信号的总数为M。注意,在图1中所示的运算装置100中,N=M。注意,可以从一个信号源输出一对正负电信号(一对信号值xi +和xi -)。
如图1所示,运算装置100具有分层结构,其中在多个层中的每个层中设置多个乘积累加运算装置3。通过配置乘积累加运算装置3的层结构,例如,构造多层感知机类型的神经网络等。例如,通过将多个乘积累加运算装置3彼此连接以获得网络电路,可以构造乘积累加运算系统。适当地设计每层中设置的乘积累加运算装置3的数量、层的数量等,使得例如可以执行期望的处理。在下文中,在某些情况下,将在第j级的层中设置的乘积累加运算装置3的数量称为Nj。
例如,由N个输入单元2生成的N个电信号被输入到设置在第一级的层(最低层)中的每个乘积累加运算装置3。第一级中的每个乘积累加运算装置3计算与输入数据的信号值xi有关的乘积累加结果,并对所计算的乘积累加结果进行非线性变换处理,然后输出到设置在下一层(第二级)中的乘积累加运算装置3。
将表示在第一层中计算出的乘积累加结果的N1个电信号输入到设置在第二层(上层)中的各个乘积累加运算装置3。因此,当从第二级中的每个乘积累加运算装置3观察时,在第一级中计算出的每个累加结果是电信号的信号值xi。与第一级输出的信号值xi有关的乘积累加结果由第二级中的乘积累加运算装置3进行计算,经过非线性变换处理,然后输出到上层的乘积累加运算装置3。
以此方式,在运算装置100中,基于下层的乘积累加运算装置3计算的乘积累加结果和随后的非线性变换处理的结果,计算上层的乘积累加运算装置3的乘积累加结果。多次执行这样的处理,并且从包括在顶层(图1中的第三级的层)中的乘积累加运算装置3输出处理结果。因此,例如,可以执行诸如基于通过对猫进行成像而获得的图像数据(输入数据4)来确定对象是猫的图像识别的处理。
注意,将乘积累加运算装置3彼此连接的方法等不受限制,并且,例如,多个乘积累加运算装置3可以适当地彼此连接,以便可以执行期望的处理。例如,即使在乘积累加运算装置3相互连接以构成不同于分层结构的另一结构的情况下,本技术也适用。
在上述神经网络模型中,执行诸如以下的处理:使用激活函数对每个乘积累加运算装置3的乘积累加结果进行非线转换,并将转换结果输入到上层。
在运算装置100中,例如,使用通过激活函数对电信号执行非线性变换的函数转换电路5。函数转换电路5例如是设置在下层和上层之间的电路,该电路适当地转换要输入的电信号的信号值,并根据转换结果输出电信号。例如,为每个信号线1提供函数转换电路5。例如,根据在运算装置100中执行的数学模型来适当地设置函数转换电路5的数量、布置等。
作为激活函数,例如,使用ReLU函数(斜坡函数)等。在ReLU函数中,例如在信号值xi为0以上的情况下,照原样输出信号值xi,而在其他情况下输出0。
图2是示出输入到乘积累加运算装置3的电信号的示例的示意图。图2示意性地示出了表示输入到一个乘积累加运算装置3的多个电信号的波形的图。图的横轴表示时间轴,纵轴表示电信号的电压。注意,每个图的时间轴是通用的。
在本实施方式中,使用使用脉冲宽度调制(PWM)系统的电信号。例如,PWM系统是一种使用脉冲波形的脉冲宽度τi表示信号值xi的方法。即,在PWM系统中,电信号的脉冲宽度τi是与信号值xi对应的长度。通常,较长的脉冲宽度τi表示较大的信号值xi。
此外,在预定的输入时段T期间,电信号被输入到乘积累加运算装置3。更具体地,各个电信号被输入到乘积累加运算装置3,使得电信号的脉冲波形落入输入时段T内。因此,电信号的脉冲宽度的最大值与输入时段T相同。注意,输入各个脉冲波形(电信号)的定时等不受限制,只要脉冲波形落入输入时段T内即可。
在PWM系统中,例如,可以使用脉冲宽度τi与输入时段T的占空比Ri(=τi/T)来标准化信号值xi。即,标准化的信号值xi表示为信号值xi=Ri。注意,将信号值xi和脉冲宽度τi彼此关联的方法不受限制。例如,可以适当地设置表示信号值xi的脉冲宽度τi,使得可以以期望的精度执行算术处理等。在下文中,将假设由每个电信号表示的信号值xi为0以上且1以下的变量进行说明。
根据本实施方式的乘积累加运算装置3也可以称为PWM乘积累加运算装置3。在本实施方式中,能够进行使用PWM乘积累加运算装置3的时间轴模拟乘积累加运算。
图3是示出了用于实现图1所示的运算装置100的乘积累加运算装置3的配置示例的示意图。在图3中,示意性地示出了设置在一层中的多个乘积累加运算装置3。
每个乘积累加运算装置3包括一对输出线7、多个突触回路8和神经元回路9。如图3所示,一个乘积累加运算装置3被配置为沿预定方向(图中的纵向)延伸。在纵向上延伸的多个累加运算装置3在横向上并排布置,从而形成一个层次。
一对输出线7沿着乘积累加运算装置3的延伸方向彼此隔开。一对输出线7包括正电荷输出线7a和负电荷输出线7b。正电荷输出线7a和负电荷输出线7b中的每一个经由多个突触回路8连接到神经元回路9。
突触回路8计算由电信号表示的信号值xi与权重值wi的乘积值wi·xi。具体地,与乘积值相对应的电荷(电流)被输出到正电荷输出线7a和负电荷输出线7b中的任何一个。
如下所述,为突触回路8设置正权重值wi +或负权重值wi -。例如,对应于与正权重值wi +的乘积值的正权重电荷被输出到正电荷输出线7a。另外,例如,对应于与负权重值wi -的乘积值的负权重电荷被输出到负电荷输出线7b。
注意,在突触回路8中,不管权重值wi的正负如何,都输出具有相同符号的电荷(例如,正电荷)作为对应于乘积值的电荷。也就是说,正权重电荷和负权重电荷是相同符号的电荷。
如上所述,突触回路8被配置为根据权重值wi的符号将与乘积结果相对应的电荷输出到不同的输出线7a或7b。下面将详细描述突触回路8的具体配置。在本实施方式中,突触回路8对应于乘积单元。
在本实施方式中,单个输入信号线1a和一对输出线7连接到一个突触回路8。即,单个电信号被输入到一个突触回路8,并且与基于输入电信号计算的乘积值相对应的电荷被输出到输出线7a和7b中的一个。以这种方式,突触回路8是连接到单个输入信号线1a以及一对输出线7(正电荷输出线7a和负电荷输出线7b)的单输入双输出电路。
在一个乘积累加运算装置3中,沿着一对输出线7布置多个突触回路8。每个突触回路8并联连接到正电荷输出线7a(负电荷输出线7b)。在下文中,将位于最下游侧(与神经元回路9连接的一侧)的突触回路8称为第一突触回路。
如图3所示,多个输入信号线1a被布置成与多个乘积累加运算装置3中的每一个的一对输出线7交叉。通常,输入信号线1a与各个输出线7垂直地布置。即,运算装置100具有交叉开关配置,其中输入信号线1a和输出线7彼此交叉。通过使用交叉开关配置,例如,可以以高密度集成乘积累加运算装置3等。
此外,在运算装置100中,包括在每个乘积累加运算装置3中的第j个突触回路8与第j个输入信号线1a并联连接。因此,相似的电信号被输入到连接到相同输入信号线1a的突触回路8。因此,可以实现如图1所示的配置,其中包括在下层中的一个信号源连接到包括在上层中的多个乘积累加运算装置3。
注意,在图3所示的示例中,包括在下层中的乘积累加运算装置3(前神经元)示意性地示出为向每个输入信号线1a输入电信号的信号源。本技术不限于此,并且例如,即使在图1中例示的输入单元2被用作信号源的情况下,也可以使用交叉开关配置。
如上所述,在运算装置100中,多个乘积累加运算装置3与多个输入信号线1a并联连接。因此,例如,可以将电信号并行地输入到每个乘积累加运算装置3(每个突触回路8),并加速算术处理。因此,可以表现出优异的运算性能。
神经元回路9基于由每个突触回路8计算出的乘积值来计算公式(数学式1)中所示的乘积累加结果。具体地,基于经由一对输出线7输入的电荷,输出表示乘积累加结果的电信号。
图4是示出神经元回路9的配置示例的示意图。图4示出了连接到一对输出线7和单个输出信号线1b的双输入单输出神经元回路9。注意,在某些情况下,可以将双输入双输出电路等用作神经元回路9。
神经元回路9包括累加单元11和输出单元12。累加单元11累加由多个突触回路8输出到一对输出线7的电荷的和。累加单元11包括两个电容器13a和13b。电容器13a连接在正电荷输出线7a与GND之间。此外,电容器13b连接在负电荷输出线7b和GND之间。因此,从正电荷输出线7a和负电荷输出线7b流入的电荷分别累积在电容器13a和13b中。
例如,在电信号的输入时段T结束时的定时处,电容器13a中累积的电荷是与信号值xi和正权重值wi +的乘积值相对应的正权重电荷的总和。此外,类似地,电容器13b中累积的电荷是与信号值xi和负权重值wi -的乘积值相对应的负权重电荷的总和。
例如,当在电容器13a中累积正权重电荷时,正电荷输出线7a相对于GND的电势升高。因此,正电荷输出线7a的电势具有与正权重电荷的总和相对应的值。注意,正电荷输出线7a的电势对应于电容器13a保持的电压。
类似地,当在电容器13b中累积负权重电荷时,负电荷输出线7b相对于GND的电势升高。因此,负电荷输出线7b的电势具有与负权重电荷的总和相对应的值。注意,负电荷输出线7b的电势对应于电容器13b保持的电压。
输出单元12基于在累加单元11中累加的电荷输出表示乘积值wi·xi的的和的乘积累加信号。这里,乘积累加信号是例如表示整个乘积累加结果的信号,它是所有正负权重值wi与信号值xi的的乘积值的和。例如,由上述(数学式1)表示的乘积累加结果可以如下书写。
[数学式2]
在这里,N+和N-分别是正权重值wi +的总数和负权重值wi -的总数。因此,整个乘积累加结果可以计算为正权重电荷的乘积累加结果与负权重电荷的乘积累加结果之间的差值,该正权重电荷的乘积累加结果为乘积值wi +·xi与正权重值wi +的总和,该负权重电荷的乘积累加结果为乘积值|wi -|·xi与负权重值wi -的总和。
例如,输出单元12生成表示整个乘积累加结果的一个信号作为乘积累加信号(公式(数学式2)的左侧)。注意,本技术不限于此,并且输出单元12可以被配置为生成表示正权重电荷的乘积累加结果的正乘积累加信号和表示负权重电荷的乘积累加结果的负乘积累加信号的两个信号作为乘积累加信号。
例如,输出单元12基于正电荷输出线7a的电势(电容器13a保持的电压)来计算正权重电荷的乘积累加结果。例如,输出单元12基于负电荷输出线7b的电势(电容器13b保持的电压)来计算负权重电荷的乘积累加结果。例如,在图4所示的示例中,根据正负乘积累加结果之间的差值计算整个乘积累加结果,并作为一个乘积累加信号输出。此外,例如,可以从正负乘积累加结果分别输出正负乘积累加信号。
基于在累加单元11中累加的电荷生成乘积累加信号的方法不受限制。作为示例,将描述检测在一个电容器13中累积的电荷的方法。在使用PWM电信号的情况下,与乘积值相对应的电荷在输入时段T期间累积在电容器13中。即,在输入时段T之前和之后,不发生与乘积值相对应的电荷的累积。
例如,在输入时段T结束之后,电容器13以预定的充电速度充电。此时,使用比较器等来检测电容器13所连接的输出线的电势达到预定阈值电势的定时。例如,开始充电时的电荷越多,电势达到阈值电势的时间越早。因此,可以基于定时来表示在输入时段T期间累积的电荷(乘积累加结果)。注意,充电速度可以由例如每单位时间的电荷量表示,并且也可以称为充电率。
注意,该阈值确定对应于通过充电增加电容器13保持的电压,并检测达到阈值电压的定时。
如上所述,通过在输入时段T结束之后对累加单元11(电容器13a和13b)充电,检测到表示乘积累加结果的定时。根据检测结果适当地生成正权重电荷的乘积累加信号、负电荷的乘积累加信号或整个乘积累加信号。另外,例如,在输入时段T之后,可以直接读取电容器13的电势以计算乘积累加结果。
图5是示出根据本实施方式的乘积累加运算装置的示例的示意电路图。乘积累加运算装置3被设置成在垂直于多个输入信号线1a的方向上延伸。即,在图5所示的示例中,采用交叉开关配置。
乘积累加运算装置3均包括一对输出线(正电荷输出线7a和负电荷输出线7b)、多个突触回路(多个乘积单元)8和神经元回路9。在图5所示的示例中,神经元回路9包括累加单元11、充电单元15、输出单元12以及开关16a至16d。
具有对应于信号值xi的脉冲宽度的脉冲信号(PWM信号)作为输入信号in1至in6输入到多条输入信号线1a中。在图5所示的示例中,图示了6条输入信号线1a,但是输入线1a的数量不受限制。在具有预定长度的输入时段T内输入输入信号in1至in6(见图6)。
正电荷输出线7a输出与通过将信号值xi乘以正权重值wi +而获得的乘积值wi +·xi相对应的正权重电荷。负电荷输出线7b输出与通过将信号值xi乘以负权重值wi -而获得的乘积值|wi -|·xi相对应的负权重电荷。在本实施方式中,一对输出线7对应于一个或多个输出线。
对应于多个输入信号线1a设置有多个突触回路8。在本实施方式中,为一个输入信号线1a提供一个突触回路8。多个突触回路8中的每一个包括电阻器17,该电阻器17连接在多个输入信号线1a的对应的输入信号线1a与正电荷输出线7a和负电荷输出线7b中的任一个之间。电阻器17可具有非线性特性,并且可具有防止电流回流的功能。然后,将对应于乘积值wi +·xi(或|wi -|·xi)的电荷输出到与电阻器17连接的输出线7a(或7b)。
例如,在希望在每个突触回路8中将信号值xi乘以正权重值wi +的情况下,电阻器17连接在输入信号线1a与正电荷输出线7a之间,并且使正电荷输出线7a输出正权重电荷。在图5所示的示例中,输入了输入信号in1,in3和in6的突触回路8是被配置为生成正权重电荷的正权重乘积单元的突触回路8a。可以说突触回路8a是其中设置了正权重的乘积单元。
在希望在每个突触回路8中将信号值xi乘以负权重值wi -的情况下,电阻器17连接在输入信号线1a与负电荷输出线7b之间,并且使负电荷输出线7b输出负权重电荷。在图5所示的示例中,输入了输入信号in2,in4和in5的突触回路8是被配置为生成负权重电荷的负权重乘积单元的突触回路8b。可以说突触回路8b是其中设置了负权重的乘积单元。
注意,作为电阻器17,使用具有与要设置的权重值wi相对应的电阻值的电阻器。也就是说,电阻器17用作在乘积累加运算装置3中执行乘积累加运算的运算装置100中限定权重值wi的元件。
作为电阻器17,例如,使用固定电阻器元件、可变电阻器元件、在次阈值区域中工作的MOS晶体管等。例如,通过使用在次阈值区域中工作的MOS晶体管作为电阻器17,可以降低功耗。不用说,可以使用其他任意电阻器。
累加单元11累加与由多个突触回路8中的每一个生成的乘积值wi·xi相对应的电荷的和。在本实施方式中,设置两个电容器13a和13b作为累加单元11。
电容器13a经由开关16b连接到正电荷输出线7a,并且累加由突触回路8a生成的正权重电荷的和。在本实施方式中,电容器13a用作正权重累加单元。
电容器13b经由开关16c连接到负电荷输出线7b,并且累加由突触回路8b生成的负权重电荷的和。在本实施方式中,电容器13b用作负权重累加单元。
充电单元15以与预定的充电速度对其中累加了与乘积值wi·xi相对应的电荷的和的累加单元11进行充电。在本实施方式中,设置两个电流源18a和18b作为充电单元15。注意在输入时段T结束之后进行充电。
电流源18a经由开关16a连接至连接至电容器13a的正电荷输出线7a的一侧(与GND相对的一侧)。电流源18b经由开关16d连接至连接至电容器13b的负电荷输出线7b的一侧(与GND相对的一侧)。
在本实施方式中,电流源18a和18b以相同的充电速度对电容器13a和13b充电。这增加了正电荷输出线7a的电势V+(由电容器13a保持的电压)和负电荷输出线7b的电势V-(由电容器13b保持的电压)。电流源18的具体配置不受限制,并且可以任意设计。
在充电单元15开始充电之后,输出单元12对由累加单元11保持的电压由预定阈值执行阈值确定来输出表示乘积值wi·xi的和的乘积累加信号。在本实施方式中,设置两个比较器20a和20b以及信号生成单元21作为输出单元12。
比较器20a在电容器13a保持的电压大于预定阈值θ1时检测定时。注意,由电容器13a保持的电压的大小由电容器13a中累积的正权重电荷的总量和电荷量(充电速度×时间)确定。
比较器20b在电容器13b保持的电压大于预定阈值θ2时检测定时。注意,由电容器13b保持的电压的大小由电容器13b中累积的负权重电荷的总量和电荷量(充电速度×时间)确定。
注意,在本实施方式中,通过以相同的阈值对电容器13a和13b中的每一个执行阈值确定来输出乘积累加信号。即,阈值θ1被设定为等于阈值θ2。
信号生成单元21基于比较器20a检测到的定时和比较器20b检测到的定时输出表示乘积值wi·xi的和的乘积累加信号。即,信号生成单元21根据电容器13a所保持的电压达到阈值θ1的定时和电容器13b所保持的电压达到阈值θ2(=θ1)的定时输出乘积累加信号。
在本实施方式中,PWM信号被输出为乘积累加信号,该PWM信号是其中脉冲宽度被调制的脉冲信号。信号生成单元21的具体电路配置等不受限制,并且可以任意设计。
图6和图7分别是描述由图5所示的乘积累加运算装置3进行的乘积累加信号的计算示例的图。在本实施方式中,根据基于电容器13a中累积的正权重电荷的正权重电荷的乘积累加结果和基于电容器13b中累积的负权重电荷的负权重电荷的乘积累加结果来计算表示包括正负值的整个乘积累加结果的信号。
正权重电荷的乘积累加结果的计算和负权重电荷的乘积累加结果的计算是相等的处理。首先,将参照图6描述基于在电容器13中累积的电荷而没有正负区别的计算乘积累加结果的方法(乘积累加运算方法)。
将描述图6中描述的参数。"t"表示时间。"T"表示每个输入时段和输出时段。"tn"表示输入时段T的结束定时,"tm"表示输出时段T的结束定时。
在本实施方式中,输入时段T的长度和输出时段T的长度被设置为彼此相等。此外,从输入时段T的结束定时tn处开始输出时段T。因此,输入时段T的结束定时tn对应于输出时段T的开始定时。
"α"表示与充电单元15(电流源18)的充电相对应的电势上升的斜率,并且与充电速度相对应。"θ"表示输出单元12(比较器20)用于阈值确定的阈值。
"Si(t)"是要输入到第i条输入信号线1a的输入信号(PWM信号)。“τi”表示输入信号Si(t)的脉冲宽度。"Pi(t)"表示图5所示的各个突触回路8的内部状态(电势)的变化量。"wi"表示权重值,并且由图5所示的电阻器17的电阻值定义。
"Vn(t)"表示"Pi(t)"的总和,并且对应于电容器13中累积的电荷总量。"Sn(t)"表示表示乘积累加结果的乘积累加信号(PWM信号)。"τn"表示要输出的乘积累加信号的脉冲宽度。具体地,"τn"表示与从电容器13所保持的电压在输出时段T中变得大于阈值θ的定时到输出时段T的结束定时tm的长度对应的值。
在该示例中,设置了开关16b和16c,并且特别地,可以通过用该开关断开输出线来降低功耗并提高充电精度。
此处,如以下公式所示,输入值(信号值)xi由输入信号Si(t)的脉冲宽度τi与输入时段T的占空比Ri(=τi/T)给出。
[数学式3]
图5所示的突触回路8产生与通过将信号值xi与权重值wi相乘而获得的乘积值相对应的电荷。具体地,电阻器17的电阻以恒定斜率wi增加内部状态(电势)。
然后,在输入时段T的结束定时tn中,每个突触回路8的内部电势的变化量Pi(tn)由下式给出。注意,输入信号Si(t)的高电平值设置为1。
[数学式4]
pi(tn)=wiRiT=wixiT
电容器13中累积的电荷的总量Vn(tn)是Pi(tn)的总和,因此由下式给出。
[数学式5]
在输入时段T的结束定时tn处,图5所示的开关16a和16d被切换为接通,并且开关16b和16c被切换为断开。然后,在输入时段T的结束定时tn处,开始充电单元15(电流源18)的充电。因此,在本实施方式中,输出时段T在充电单元的充电开始定时处开始。即,在输入时段T的结束定时tn处同时开始充电和输出时段。
电流源18从输入时段T的结束定时tn处以斜率(充电速度)α增加每个突触回路8的内部电势。然后,生成具有对应于在输出时段T从电容器13所保持的电压大于阈值θ的定时到输出定时Tm的结束定时的长度的脉冲宽度τn的乘积累加信号(PWM信号)。
当将乘积累加信号的脉冲宽度τn与输出时段T的占空比定义为Rn(=τn/T)时,Rn由下式给出。注意,假设阈值θ等于或大于电荷的总量Vn(tn)。
[数学式6]
因此,通过将信号值xi与权重值wi相乘而得到的乘积值wi·xi的和的乘积累加结果由下式给出。
[数学式7]
即,乘积累加结果是从αRn=α·(τn/T)减去由充电速度α、阈值θ和输出时段T定义的常数而得到的值。以这种方式,可以基于在具有预定长度的输出时段T中由累加单元11所保持的电压大于阈值θ的定时来输出表示该乘积累加结果的乘积累加信号。
图7是表示基于正权重电荷和负权重电荷的乘积累加结果的整个乘积累加结果的乘积累加信号的计算例的示意图。在图7中,将表示正权重电荷的乘积累加结果的乘积累加信号定义为"Sn +(t)",并将其脉冲宽度定义为"τn +"。此外,将表示负权重电荷的乘积累加结果的乘积累加信号定义为"Sn -(t)",并将其脉冲宽度定义为“"τn -"。另外,将表示整个乘积累加结果的乘积累加信号定义为"Sn(t)",并且将其脉冲宽度定义为"τn"。
在输入时段T的结束定时tn处,累积在电容器13a中的正权重电荷的总量Vn +(tn)由下式表示。注意wi +表示正权重值。
[数学式8]
在输入时段T的结束定时tn处,累积在电容器13b中的负权重电荷的总量Vn -(tn)由下式表示。注意wi -为负权重值。
[数学式9]
当将正乘积累加信号Sn +(t)的占空比定义为Rn +(=τn +/T)时,通过将信号值xi乘以正权重值wi +而获得的乘积值wi +·xi的和的正乘积累加结果由以下公式给出。注意,假设阈值θ等于或大于正权重电荷的总量Vn +(tn)。
[数学式10]
当将负乘积累加信号Sn -(t)的占空比定义为Rn -(=τn -/T)时,通过将信号值xi乘以负权重值wi -而获得的乘积值|wi -|·xi的和的负乘积累加结果由以下公式给出。注意,充电速度α和阈值θ等于公式(数学式10)中使用的值。注意,假设阈值θ等于或大于负权重电荷的总量Vn -(tn)。
[数学式11]
因此,当使用上述公式(数学式2)时,整个乘积累加结果由以下公式给出。
[数学式12]
即,通过充电速度α,乘积信号Sn +(t)的脉冲宽度τn +,乘积信号Sn -(t)的脉冲宽度τn -,以及输入时段T获得整个乘积累加结果。即,根据比较器20a检测出的定时和比较器20b检测出的定时,可以很容易地计算出乘积累加结果。
然后,如图7所示,作为表示整个乘积累加结果的乘积累加信号,可以容易地输出具有脉冲宽度"τn"的乘积累加信号"Sn(t)"。
本文中,本发明的发明人研究了充电速度α和阈值θ,以生成表示乘积累加结果的乘积累加信号Sn(t)。然后,本发明的发明人设计了用于设置充电速度α和阈值θ的新技术。下面将详细描述。
图8至图10分别是用于说明充电速度α和阈值θ的设置的示意图。如上所述,通过对其中累积了与乘积值wi·xi相对应的电荷的和的电容器13进行充电,正权重电荷和负权重电荷中的任何一个都被转换为在输出时段T中电荷总量大于阈值θ的定时。因此,期望以更高的分辨率和在输出时段T中的定时来检测电容器13中累积的电荷总量。
在此,本发明的发明人着眼于电容器13的累加状态,重新设计了充电速度α和阈值θ的设置。也就是说,本发明的发明人新设计了使用与电容器13的累加状态相关联的充电速度α和阈值θ作为用于生成表示乘积累加结果的乘积信号Sn(t)的充电速度α和阈值θ。
注意,在本公开中,电容器13的累加状态包括关于在电容器13中累积多少电荷的信息,并且例如包括电容器13中累积的电荷的估计结果和模拟结果。例如,通过使用与估计结果和模拟结果相关的充电速度α和阈值θ,可以提高乘积累加运算的精度。
例如,当使用利用乘积累加运算装置3的运算装置100构造神经网络时,执行使用学习数据的学习处理。然后,设置要在各个突触回路8中设置的权重。学习处理的方法不受限制,并且可以使用诸如使用计算机模拟的方法的任意方法。
例如,在通过学习处理设定了各个权重之后(例如,在将预定电阻器设置在预定位置之后),将电容器13中累积的权重的总量估计为电容器13的累加状态。
基于估计结果,相对于累加权重的总量确定要计算为乘积累加信号的有效范围。估计总权重的方法不受限制。例如,可以使用诸如使用计算机模拟的方法,使用概率分布的方法以及基于将多个样本数据输入到乘积累加运算装置3的结果的估计方法的任意方法。注意,通过估计电荷总量获得的估计结果也可以称为通过模拟电荷总量获得的模拟结果。
例如,假定获得如图8的部分A所示的分布作为在预定电容器13中累积的电荷总量的估计结果。在这种情况下,例如,从分布的最小值min到最大值max的范围被设置为要被计算为乘积累加信号的有效范围E。
在下文中,将有效范围E的最小值min和最大值max称为有效最小值min和有效最大值max。有效最小值min和有效最大值max是从与由累加单元11累加的乘积值wi·xi相对应的电荷的估计结果获得的参数。
例如,基于从有效最大值max到有效最小值min的有效范围E来设定充电速度α和阈值θ。具体地,设定充电速度α和阈值θ,以使得有效范围E在输出时段T中处于可以输出乘积累加信号的范围内。即,设定充电速度α和阈值θ,以使得有效范围E中包括的电荷总量在输出时段T中通过充电变得大于阈值θ。
例如,如图9的部分A和B所示,在累加电荷的总量为有效最大值max的情况下,用于计算乘积累加信号的计算定时(保持电压变得大于阈值θ的定时)是紧接在输出时段T的开始定时tn之后的定时。此外,在累加电荷的总量为有效最小值min的情况下,用于计算乘积累加信号的计算定时是紧接在输出时段T的结束定时之前的定时。设置充电速度α和阈值θ以满足这些条件。
例如,将比有效最大值max稍大的值设定为阈值θ。然后,设定充电速度α,以使与有效最大值max对应的计算定时为在输出时段T的开始定时tn之后的脉冲宽度的最小单位的定时,并且使得与有效最小值min对应的计算定时为在输出时段T的结束定时之前的脉冲宽度的最小单位的定时。
在这种情况下,如图9的部分A和B所示,将脉冲宽度比输出时段T的脉冲宽度的最小单位小的脉冲宽度的PWM信号计算为与有效最大值max相对应的乘积累加信号。此外,具有与脉冲宽度的最小单位相对应的脉冲宽度的PWM信号被计算为与有效最小值min相对应的乘积累加信号。注意,计算定时也可以称为输出脉冲定时。
例如,如上所述,基于有效最小值min、有效最大值max和输出时段T来设置充电速度α和阈值θ。因此,可以通过使用输出时段T的大致整个区域以非常高的分辨率和定时来检测包括在有效范围E中的电荷总量。即,在本实施方式中,通过适当地设置充电速度α和阈值θ,可以将要计算的有效范围E扩展到输出时段T的整个区域。这等效于使乘积累加运算的输出结果的分布有效地对应于输出时段T。因此,可以计算出具有非常高精度的乘积累加结果。
注意,如何使运算结果的输出结果的分布对应于输出时段T不受限制,并且可以任意设置。
此外,基于估计结果来设置有效范围E的方法也不受限制。例如,如图8的部分B所示,可以将大于估计的电荷总量的分布的最小值的值设置为有效最小值min。此外,可以将小于估计的电荷总量的分布的最大值的值设置为有效最大值max。
在这种情况下,例如,在电荷总量小于有效最小值min的情况下,输出0作为乘积累加结果。此外,在电荷总量大于有效最大值max的情况下,输出与有效最大值max相对应的乘积累加结果作为乘积累加结果。不用说,本技术并不限于此。
可以任意设置有效范围E,以便在例如使用神经网络的识别处理中实现期望的处理精度。例如,可以计算诸如正态分布(高斯分布)的概率分布作为估计结果,并且可以参考1σ,2σ,3σ等的范围来设置有效范围E。
在图5所示的乘积累加运算装置3中,电流源18a和18b以相同的充电速度对电容器13a和13b充电。此外,使用相同的阈值对电容器13a和13b中的每一个执行阈值确定。即,使用相同的充电速度α和相同的阈值θ,计算正权重电荷的乘积累加结果和负权重电荷的乘积累加结果。
例如,如图10所示,基于累积在电容器13a中的正权重电荷的总量的估计结果来设置正权重电荷的有效范围E+(有效最小值min+至有效最大值max+)。此外,基于累积在电容器13b中的负权重电荷的总量的估计结果来设置负权重电荷的有效范围E-(有效最小值min-至有效最大值max-)。
设置有效范围E,以便以较高的分辨率检测到有效范围E+和有效范围E-中包括的电荷总量。为具体示例,将有效范围E+的有效最小值min+和有效范围E-的有效最小值min-相互比较,并且将较小的值用作有效最小值min。此外,将有效范围E+的有效最大值max+和有效范围E-的有效最大值max-进行比较,并将较大的值用作有效最大值max。
充电速度α和阈值θ基于在有效最小值min和有效最大值max中规定的有效范围E来设定。因此,可以计算出具有非常高精度的整个乘积累加结果。不用说,本技术并不限于这种方法。
此外,在如图1所示的配置中,通常,相同的充电速度α和阈值θ共同用于相同层中包括的多个乘积累加运算装置3。因此,由从每个乘积累加运算装置3输出的乘积累加信号(PWM信号)表示的输出作为根据相同标准的值被输出到下一层。此外,还可以简化各个乘积累加运算装置3的设计。
作为共同充电速度α和α阈值θ的设置,例如,在每个乘积累加运算装置中,为累加在累加单元11中的电荷总量设定有效范围E。然后,设定共同的有效范围以涵盖所有有效范围E。可以基于整个有效范围来设置共同的充电速度α和共同的阈值θ。不用说,本技术并不限于此方法,并且可以使用任意方法。
注意,本技术并不限于使用共同的充电速度α和共同的阈值θ的情况,并且可以在每个乘积累加运算装置3中设置最优充电速度α和最优阈值θ。即,可以在每个乘积累加运算装置3中设置有效范围E,并且可以优化充电速度α和阈值θ。即使在这种情况下,可以通过适当地执行例如学习处理来实现例如期望的处理精度。
在对乘积累加运算装置3进行充电速度α和阈值θ的设定时,例如在配置乘积累加运算装置3时将预先优化的充电速度α和阈值θ设定为固定值。可替代地,可以将乘积累加运算装置3配置为使得充电速度α和阈值θ可以动态地改变。然后,可以在执行识别处理等的同时动态地执行充电速度α和阈值θ的优化。能够动态改变充电速度α和阈值θ的具体电路配置并不受限制,并且可以任意设计。
如上所述,在根据本实施方式的运算装置100和乘积累加运算装置3中,与累加单元11的累加状态相关联地设置用于对累加单元11进行充电的充电速度和用于输出表示乘积值wi·xi的和的乘积累加信号的阈值θ。因此,可以提高表示乘积累加运算结果的分辨率,并且可以提高运算精度。
当将乘积累加运算的输出结果的最大值和最小值转换为脉冲输出时段T内的脉冲定时时,预先检查乘积累加运算结果的分布。然后,根据最大值/最小值设置阈值θ的值和电流源((独立的)电荷输出单元)的电流值。这样可以最大程度地利用脉冲输出时段的分辨率。即,可以将与乘积累加运算结果相对应的电压有效地转换为脉冲定时。
例如,可以考虑在电容器中累积其脉冲在对应于信号值xi的定时处上升的电子信号(尖峰定时信号)并根据累积的电子信号大于阈值电压的定时计算乘积累加信号的方法。在该方法中,输入的乘积累加运算过程和将电荷转换为表示输出定时的定时的过程相互连锁,从而对控制产生约束。
在本实施方式中,在PWM乘积累加运算装置3中分别设置输入时段T和输出时段T。然后,在输入时段T结束之后对电容器充电,并且进行阈值确定以计算乘积累加信号。因此,由于可以将输入的乘积累加运算过程和将电荷转换为定时的过程彼此分离,所以可以防止上述问题。
此外,执行正负乘积累加运算和定时输出,然后,获得定时之间的差别。因此,可以在相同的电路配置中执行正负乘积累加运算,并且可以充分地抑制电路变化的影响。注意,当正负乘积累加结果彼此基本相等时,差异很小,并且有可能降低表示整个正负乘积累加结果的分辨率。但是,在本实施方式中,通过优化充电速度α和阈值θ,能够最大程度地利用脉冲输出时段的分辨率,因此能够充分地防止这样的问题。
<第二实施方式>
将描述根据本发明的第二实施方式的乘积累加运算装置。在下面的描述中,将省略或简化与上述实施方式中描述的乘积累加运算装置3类似的配置和效果的描述。
图11,图12
图11是示出根据本实施方式的乘积累加运算装置的示例的示意图。图12是用于描述由图11所示的乘积累加运算装置对乘积累加信号的计算示例的图。
在本实施方式的乘积累加运算装置203中,将正负结果一并输入至一个电容器213,并且,保持与正权重电荷的总量与负权重电荷的总量之差相对应的电荷(V+-V-)。
在图11所示的示例中,由被配置为正权重乘积单元的突触回路208a生成正权重电荷,并经由正电荷输出线207a累积在累加单元211中包括的电容器213中。同时,由被配置为负权重乘积单元的突触回路208b生成的负权重电荷经由负电荷输出线207b从电容器213释放。
因此,对应于正权重电荷的总量与负权重电荷的总量之差的电荷(V+-V-)累积在电容器213中。即,在本实施方式中,正权重电荷被累加单元211累加并且负权重电荷被累加单元211释放。
尽管在图11中未示出,但放电电路等被配置为通过负电荷输出线207b从电容器213释放由突触回路208b生成的负权重电荷。输入信号(PMW信号)in2,in4和in5被输入到放电电路等,因此负权重电荷被释放。
用于释放负重电荷的放电电路等是包括在累加单元211中的元件。此外,用于将输入信号(PMW信号)in2,in4和in5输入到放电电路等的输入信号线是包括在多条输入线中的信号线。放电电路等的具体配置并不受限制并且可以任意设计。
在图12所示的输入时段T的开始定时,断开开关216a,而接通开关216b。然后,在输入时段T内输入输入信号。注意,在图12中,仅示出了输入信号in1,in2和in3以简化描述。在下文中,将以输入输入信号in1,in2和in3的情况为例进行描述。
与输入信号in1和in3相对应的正权重电荷累积在电容器213中,并且与输入信号in2相对应的负权重电荷被释放。注意,在本实施方式中,电容器213被预先充电,直到电容器电压达到预定的预设值(默认值)。因此,可以处理电荷的累积和释放,并保持电荷(V+-V-)。可任意地设置预设值。
在输入时段T的结束定时tn处,开关216a被切换为接通,并且开关216b被切换为断开。然后,在输入时段T的结束定时tn处,开始由充电单元215(电流源218)进行充电。
另外,由电容器213保持的电压变得大于阈值θ的定时由输出单元212的比较器220检测。信号生成单元221基于检测到的定时来计算乘积累加信号(PWM信号)。
在本实施方式中,与第一实施例类似地设置与电容器213的累加状态相关联的充电速度α和阈值θ。即,作为电容器213的累加状态,估计电容器213中累积的权重的总量。根据估计结果,为累积的权重的总量设置有效范围E(有效最小值min至有效最大值max)。
如在第一实施方式中所述,基于设定的有效范围E来设置充电速度α和阈值θ。因此,可以非常高精度地计算与电荷(V+-V-)相对应的乘积累加信号。如上所述,即使在正负权重电荷被输入到累加单元211的情况下,也可以获得乘积累加结果。
<第三实施方式>
图13是示出根据本发明的第三实施例的乘积累加运算装置的示例的电路原理图。
在根据本实施方式的乘积累加运算装置303中,累积正权重电荷的电容器313a和累积负权重电荷的电容器313b以相反的方向串联连接。因此,可以通过整个累加单元311保持与正权重电荷的总量和负权重电荷的总量之间的差相对应的电荷(V+-V-)作为组合电容器的端子电压。
在输入时段T的开始定时处,断开开关316a,316d和316e,并且接通开关316b,316c,316f和316g。然后,在输入时段T内输入输入信号。与输入信号相对应的正权重电荷累积在电容器313a中,并且与输入信号相对应的负权重电荷累积在电容器313b中。
在输入时段T的结束定时tn处,断开开关316b,316c和316f。然后,当接通开关316e时,电容器313a的负侧和电容器313b的正侧彼此连接。因此,电荷(V+-V-)被两个电容器313a和313b保持。
此外,接通开关316a,并且开始通过充电单元315(电流源318)的充电。由电容器313a和313b保持的电压变得大于阈值θ的定时通过输出单元312的比较器320来检测。由信号生成单元321基于检测到的定时来计算乘积累加信号(PWM信号)。注意,开关316d用于刷新电容器313a。
同样在本实施方式中,设置与串联连接的电容器313a和313b的累加状态相关联的充电速度α和阈值θ。即,将电容器313a和313b中累积的权重的总数估计为电容器313和313b的累加状态。根据估计结果,为累积的权重的总量设置有效范围E(有效最小值min至有效最大值max)。
基于设定的有效范围来设置充电速度α和阈值θ。因此,可以非常高精度地计算与电荷(V+-V-)相对应的乘积累加信号。
<第四实施方式>
图14是示出根据本发明的第四实施方式的乘积累加运算装置的示例的示意电路图。
在根据本实施方式的乘积累加运算装置403中,差分放大电路425输出与正权重电荷的总量和负权重电荷的总量之间的差相对应的电荷(V+-V-),并且电荷累积在累加单元411中包括的电容器413中。差分放大电路425的具体结构不受限制,并且可以任意设计。
在输入时段T的开始定时处,接通开关416a,416b和416c,并且断开开关416b。然后,在输入时段T内输入输入信号。由差分放大电路425输出的电荷(V+-V-)被累加在电容器413中。
在输入时段T的结束定时tn处,断开开关416c并且接通开关416d。然后,在输入时段T的结束定时tn处,开始通过充电单元415(电流源418)的充电。
此外,由电容器和413保持的电压变得大于阈值θ的定时通过输出单元412的比较器420来检测。由信号生成单元221基于检测到的定时来计算乘积累加信号(PWM信号)。
即使在本实施方式中,设置与电容器和413的累加状态相关联的充电速度α阈值θ。即,将电容器413中累积的权重的总数估计为电容器413的累加状态。根据估计结果,为累积的权重的总量设置有效范围E(有效最小值min至有效最大值max)。
基于设定的有效范围来设置充电速度α和阈值θ。因此,可以非常高精度地计算与电荷(V+-V-)相对应的乘积累加信号。
<其它实施方式>
本发明并不限于上述实施方式,并且可以实现各种其他实施方式。
图15是示出具有与信号值xi相对应的脉冲宽度的脉冲信号(PWM信号)的另一示例的示意图。例如,在与信号值xi对应的定时使脉冲上升,在输入时段T的结束定时tn使脉冲下降。即,生成具有脉冲宽度的脉冲信号,该脉冲宽度对应于从与输入时段T中的信号值xi相对应的定时到输入时段T的结束定时tn的时段。即使在将这样的脉冲信号用作输入信号的情况下,本技术也适用。
即,相对于尖峰定时信号适当地设置脉冲的下降定时使得可以将本技术应用为具有与信号值xi相对应的脉冲宽度的脉冲信号(PWM信号)。
对于充电速度α和阈值θ的设置,在输出时段T中将α设置为θ/T。因此,公式(数学式6)、(数学式7)、(数学式10)和(数学式11)中由充电速度α、阈值θ和输出时段T限定的常数可以设为零,并且可以简化处理。
作为有效范围的有效最大值和有效最小值,可以采用从与累加单元累加的乘积值的和相对应的电荷理论值获得的理论最大值和理论最小值。例如,在通过学习处理设置各个权重之后,在与输入的最大值相对应的输入信号被输入到所有输入线的情况下累积的电荷的和被计算为理论最大值。此外,在与输入的最小值相对应的输入信号被输入到所有输入线的情况下累积的电荷的和被计算为理论最小值。不用说,计算理论最大值和理论最小值的方法是不受限制的。
图16是示出图4所示的神经元回路9的具体配置示例的电路图。图16所示的神经元回路9是在输入时段T之后以恒定的充电速度对电容器13充电的电路。此外,神经元回路9通过从一对输出线7接收一对正负输出作为输入,从单个输出信号线10(在图4中称为信号线1b)输出一个乘积累加结果,类似于图4。在图16中,将描述由PWM信号生成的电荷被输入到神经元回路9的情况。
在下文中,输入时段T称为Tin,在某些情况下将在输入时段Tin之后生成乘积累加信号的输出时段称为Tout。注意,输入时段Tin和输出时段Tout通常是设置为相同连续长度T的时段(Tin=Tout=T)。
除了图4所示的累加单元11和输出单元12之外,神经元回路9还包括充电单元80。充电单元80在输入时段Tin之后的输出时段Tout中以恒定的充电速度对电容器13充电。如上所述,PWM信号是在输入时段Tin内通过脉冲宽度表示信号值的信号,并且在输入时段Tin之后所有PWM信号均为零(参见图2)。因此,在输出时段Tout中,输出到每条输出线7的电荷基本上为零。图4所示的充电单元80在该输出时段Tout中工作,以将电容器13连接到预定的电流线In,以对电容器13进行充电。
充电单元80包括用于改变电容器13a的连接目标的第一选择开关81a、第二选择开关82a和第三选择开关83a,以及用于改变电容器13b的连接目标的第一选择开关81b、第二选择开关82b和第三选择开关83b。此外,第一控制线SW1、第二控制线SW2和电流线In连接到充电单元80。注意,每个选择器开关的连接状态(接通或断开)如图16所示表示输入时段Tin中的连接状态。
第一选择开关81a在电容器13a的上游连接在正输出线7a(正电荷输出线)和GND之间。第二选择开关82a连接在电流线In和电容器13a的输出节点84a之间。这里,输出节点84a是与连接到GND的电容器13a的一侧相对的一侧上的节点(端子)。第三选择开关83a设置在输出节点84a(电容器13a)与正输出线7a之间。此外,输出节点84a连接到下一级的输出单元12。
第一选择开关81b在电容器13b的上游连接在负输出线7b(负电荷输出线)和GND之间。第二选择开关82b连接在电流线In和电容器13b的输出节点84b之间。第三选择开关83b设置在输出节点84b(电容器13b)与负输出线7b之间。此外,输出节点84b连接到下一级的输出单元12。
第一控制线SW1控制第一选择开关81a和81b。第二控制线SW2控制第二选择开关82a和82b以及第三选择开关83a和83b。注意,第二选择开关82a(82b)和第三选择开关83a(83b)被配置为其接通/断开状态彼此相反。在其中一个为接通的情况下,另一个为断开。每个选择开关的具体配置不受限制,并且,例如,可以使用利用CMOS电路等的模拟开关。此外,用于操作选择开关的控制信号被适当地输入到每条控制线。
输出单元12通过在输出时段Tout中对电容器13的电势执行阈值确定来输出乘积累加信号。此处,电容器13的电势是电容器13a和13b的每个输出节点84a和84b的电势。具体地,对输出节点84a和84b中的每一个的电势与GND电势之间的电势差(电压)进行阈值确定。在下文中,在某些情况下,将各个输出节点84a,84b的相对于GND的电势简称为电压。
输出单元12包括正比较器85a和负比较器85b以及ReLU函数电路86此外,输出单元12连接到提供预定阈值电压的阈值电压线Vth。正比较器85a(负比较器85b)连接到输出节点84a(输出节点84b)和阈值电压线Vth,并且在输出节点84a(输出节点85b)的电压超过阈值θ(阈值电压)的情况下,将输出电平从低切换到高。比较器85a和85b中的每一个的具体配置不受限制。
注意,例如,在输出时段Tout,将设置到阈值电压线Vth的阈值θ的值与电容器13的充电速度α一起设置,以便可以适当地检测正负乘积累加结果。具体地,在上述实施方式所述,适当地设置与电容器13的累加状态相关联的充电速度α和阈值θ。可选地,阈值θ可以根据电容器13等的电容来设置。另外,设置阈值θ等的方法不受限制。
ReLU函数电路86是实现参照图1描述的ReLU函数的电路。ReLU函数电路86可以使用例如逻辑电路来配置。此外,ReLU函数电路86用作图1等所示的函数电路5。即,可以说是图16所示的神经元回路9包括函数电路5。
图17是示出图16所示的神经元回路9的运算示例的定时图。图17的部分A和图17的部分B分别是示出正权重值和负权重值的乘积累加运算的定时图。此外,图17的部分C是示出ReLU函数电路86的运算的定时图。在下文中,将参考图16和图17描述神经元回路9的运算示例。
首先,在输入时段Tin开始之前,第一选择开关81a和81b分别被第一控制线SW1设置为接通状态,并且输出线7a和7b接地到GNDs。此时,第二选择开关82a和82b分别处于断开状态。此外,第三选择开关83a和83b均处于接通状态,并且电容器13a和13b分别连接至正输出线7a和负输出线7b。即,在输入时段Tin开始之前,充电单元80将电容器13连接至GND。
因此,在执行乘积累加运算之前,输出线7a和7b可以被初始化为GND电平(安装电平)并且复位为初始状态。因此,累积在电容器13中的电荷和累积在输出线7的寄生电容中的电荷等被释放到GND。因此,重置了先前运算中累积的电荷等,因此,可以重复执行适当的算术处理。
注意,当完成电荷的重置时,第一选择开关81a和81b分别通过第一控制线SW1被设置为断开状态。此外,第二选择开关82a和82b均保持在断开状态,而第三选择开关83a和83b均保持在接通状态。在这种状态下,开始输入时段Tin。因此,充电单元80在输入时段Tin中将电容器13连接到一对输出线7a和7b。
在输入时段Tin中,从多条输入信号线6(轴突线)输入PWM信号,并对电容器13a和13b充电。例如,在输入时段Tin中,多个PWM信号(输入信号)经由每个突触回路8(权重)输入到每个输出线7a和7b。在下文中,将输入到正输出线7a和负输出线7b的信号称为±轴突(n)。
例如,如图17的部分A所示,从+轴突(1)到+轴突(n)的PWM信号被输入到正输出线7a。因此,根据每个PWM信号的脉冲宽度(信号值)对正侧的电容器13a充电,并且根据每个PWM信号对正输出线7a的输入增加电容器13a的电压(+树突)。例如,如图17的部分B所示,从-轴突(1)到-轴突(n')的PWM信号被输入到负输出线7a。因此,根据每个PWM信号对负输出线7a的输入,增加负侧的电容器13a的电压(-树突)。请注意,在输入时段Tin结束之前,所有PWM信号均已输入。
当输入时段Tin结束时,输出时段Tout连续地开始。在输出时段Tout开始的定时处,第二控制线SW2将第三选择开关83a和83b分别设置为断开状态。因此,输出线7a和7b与神经元回路9的下一级(累加单元11和输出单元12)分离。
此外,基本上同时,第二选择开关82a和82b分别被设置为接通状态,并且电流线In连接到电容器13a和13b。因此,电容器13a和13b由电流线In充电。具体地,如图17的部分A和部分B所示,In+和In-通过连接到电流线In流入电容器13a和13b。
在本实施方式中,电流线In用作恒定电流源。因此,流入各个电容器13a和13b的电流(In+和In-)具有相同的值。这些电流使电容器13a和13b以恒定的充电速度α充电。因此,充电单元80将电容器13连接至在输出时段Tout中提供与恒定充电速度α相对应的电流的电流线In。因此,可以很容易地通过阈值确定准确地检测在输入时段Tin中累加的电荷。在图16所示的示例中,电流线In对应于电流源。
例如,如图17的部分A和部分B所示,作为电容器13a和13b的电压的±树突通过连接到电流线而在输出时段Tout的开始(输入时段Tin的结束)以恒定速率增加。该增加的斜率在电容器13a和13b之间彼此相等。因此,例如,±树突超过阈值θ的定时表示电容器13a,13b的每个的输入时段Tin的结束定时的电压。因此,可以适当地表示在输入时段Tin中累加的电荷,即正负乘积累加结果。
电流线In提供电流,直到±树突达到阈值θ。然后,当±树突达到阈值θ时,分别从比较器85a和85b生成输出信号Sn +(t)和Sn -(t)。Sn +(t)和Sn -(t)是乘积累加信号,分别表示正乘积累加结果和负乘积累加结果。
如图17所示的示例中,由于在输入时段Tin的结束定时处电容器13a的电压高于电容器13b的电压,所以Sn +(t)比Sn -(t)更早生成。如上所述,从比较器输出的信号是随着上升定时更早而具有较大累加结果的信号。
表示正乘积累加结果和负乘积累加结果的信号(Sn +(t)和Sn -(t))被输入到ReLU函数电路86,并且它们之间的差作为PWM信号Sn(t)输出。如图17的部分C所示,Sn(t)是当Sn +(t)高且Sn -(t)低时高电平的信号。Sn(t)的脉冲宽度表示正乘积累加结果和负乘积累加结果之间的差,即从一个模拟电路3输出的乘积累加运算的最终结果。注意,仅在Sn +(t)>Sn -(t)的情况下(正乘积累加结果和负乘积累加结果之间的差为0或以上时)才生成Sn(t)。
因此,在图16所示的神经元回路9中,可以输出由ReLU函数处理的乘积累加结果。注意,本技术并不限于图16所示的电路,并且可以使用能够读取电容器13中累积的电荷等的任意电路作为神经元回路9。
图18是示出神经元回路509的另一配置示例的电路图。图18所示的神经元回路509是在输入时段T之后以恒定的充电速度α对电容器513充电的电路。此外,神经元回路509从一对输出线7接收一对正负输出作为输入,并从一对输出信号线10a和10b输出正负乘积累加结果。在图18中,将描述由TACT系统(尖峰定时系统)的信号(阶跃信号)生成的电荷被输入到神经元回路509的情况。
除了累加单元511和输出单元512之外,神经元回路509还包括充电单元580。累加单元511和充电单元580具有例如与参照图16描述的充电单元80相同的配置。注意,在图18所示的神经元回路509中,分别从输出单元512的比较器585a和585b按原样输出表示正负乘积累加结果的一对乘积累加信号Sn +(t)和Sn -(t)。即,可以说输出单元512具有通过从图16所示的输出单元12移除ReLU函数电路86而获得的配置。
充电单元580在输入时段Tin之后的输出时段Tout中以恒定的充电速度α对电容器513充电。如上所述,阶跃信号是通过在输入时段Tin中的定时来表示信号值的信号。在此,使用在输入时段Tin中从低值上升到高值的定时表示信号值的信号。注意,此后上升阶跃信号继续保持高电平。
图19是示出图18所示的神经元回路509的运算示例的定时图。图19的部分A和图19的部分B分别是示出正权重值和负权重值的乘积累加运算的定时图。
在图19中,即使在输入时段Tin结束之后(在输出时段Tout期间),阶跃信号也保持在高电平。这些阶跃信号在输出时段Tout期间对电容器513充电。即,在输出时段Tout期间,多条输入信号线6(轴突线)和输出线7构成电流源,并且电容器13被充电。注意,在图19中,假设±轴突线的数量彼此相等(n=n')。因此,可以使电容器513a和513b的输出时段Tout中的充电速度α相等。
因此,在图19中,各个轴突线以及正负输出线7a和7b用作充电单元580的一部分。在这种情况下,例如,神经元回路509可以在排除图18所示的第二选择开关582a和582b以及电流线In并且第三选择开关583a和583b短路的配置中运算。因此,可以简化用于给电容器513充电的电路配置。
首先,在输入时段Tin开始之前,在连接正输出线7a和负输出线7b以及电容器513a和513b(第三选择开关583a和583b短路)的同时,通过第一控制线SW1分别将第一选择开关581a和581b设置为接通状态。因此,在执行乘积累加运算之前,可以将输出线7a和7b等初始化为GND电平(安装电平)并复位。
在输入时段Tin中,以对应于信号值的定时上升的阶跃信号被输入到多条轴突线。在TACT系统中,在输入时段Tin之后,随后从所有轴突线输入保持高电平的信号。也就是说,在输入时段Tin中输入阶跃信号时的定时有所变化,但是所有轴突线都处于高电平,并且在输出时段Tin中连续提供恒定电荷。因此,可以以恒定的充电速度对电容器513a和513b充电。
电容器513a和513b的输出节点584a和584b的电压均以恒定速率增加。然后,当输出节点584a和584b的电压(±树突)达到比较器585a和585b的阈值θ(阈值电压)时,分别产生正乘积累加信号Sn +(t)和负乘积累加信号Sn -(t)。生成的Sn +(t)和Sn -(t)作为一对乘积累加信号输出到下一级。如上所述,通过使用TACT系统的阶跃信号,可以以简单的配置生成表示乘积累加结果的乘积累加信号。
图20是示出图18所示的神经元回路509的运算示例的定时图。图20的部分A和图20的部分B分别是示出正权重值和负权重值的乘积累加运算的定时图。在图20中,在输入时段Tin结束之后,正输出线7a和负输出线7b是分开的。然后,在输出时段Tout期间,电容器513由电流线In充电。
在将输出线7a和7b等中的每一个复位到初始状态之后,开始输入时段Tin并且输入多个阶跃信号。这时,选择开关582a和582b设置为断开状态,并且第三选择开关583a和583b设置为接通状态。因此,对应于阶跃信号的信号值的电荷从正输出线7a和负输出线7b累积到电容器513a和513b中。
在图20中,在输入时段Tin结束的定时处,第二控制线SW2将第三选择开关583a和583b设置为断开状态,并且输出线7a和7b与神经元回路509的下一级(累加单元511和输出单元512)分开。因此,如图20的部分A和部分B所示,在输出时段Tout中切断来自每个轴突线的输入。
此外,第二选择开关582a和582b在输出线7a和7b被分开时基本上同时被设置为接通状态。因此,电容器513a和513b中的每一个都连接到电流线In并且分别被提供有恒定电流In+和In-。因此,以恒定的充电速度对电容器513a和513b充电。此外,当输出节点584a和584b的电压(±树突)达到比较器585a和585b的阈值θ时,分别生成正乘积累加信号Sn +(t)和负乘积累加信号Sn -(t)。
如上所述,即使在使用TACT系统的情况下,也可以使用电流线In来生成表示乘积累加结果的乘积累加信号。因此,例如,通过使用在PWM系统中使用的神经元回路9(参见图16)的设计,可以很容易地配置用于TACT系统的神经元回路509。
在以上描述中,已经举例说明了基于累加单元所保持的电压增加超过阈值的定时来输出乘积累加信号的情况。然而,可以采用基于由累加单元所保持的电压变得小于阈值电压的定时来输出乘积累加信号的配置。例如,预先进行充电直到充当累加单元的电容器的电压达到预定的预设值为止。后,在累积了与信号值和权重值的乘积值相对应的电荷的和之后,以预定速率对电容器放电。在这种情况下,可以根据电容器保持的电压小于阈值的定时来输出乘积累加信号。不用说,本技术并不限于这样的配置。注意,在本公开中,电容器放电包括在向电容器充电负电荷中。通过适当地设置阈值和放电速度,可以以非常高的精度计算乘积累加信号。
在以上描述中,已经描述了使用一对输出线的情况。本技术并不限于此,并且可以设置三条或更多条输出线。即,即使在使用任意数量的大于或等于1的输出线的情况下,上述本技术也适用。例如,乘积单元包括连接在相应的输入线和一条或多条输出线中的任何一条之间并定义权重值的电阻器,并且将与乘积值相对应的电荷输出到电阻器连接到的输出线。不用说,本技术并不限于此。
参考附图描述的运算装置、乘积累加运算装置、模拟电路、突触回路、神经元回路等的配置、生成乘积累加信号的方法等仅仅是一个实施方式,并且可以在不脱离现有发明本质的情况下进行任意修改。即,可以采用用于实施本发明的任何其他任意配置、方法等。
在本公开中,“相同”、“相等”、“垂直”等是包括“基本上相同”、“基本上相等”、“基本上垂直”等的概念。例如,还包括在参考“完全相同”、“完全相等”、“完全垂直”等的预定范围(例如,±10%)中包括的状态。
可以组合根据本技术的上述特征中的至少两个特征。即,在每个实施方式中描述的各种特征可以被任意组合,而无需将实施方式彼此区分开。此外,上述各种效果仅是示例而不是限制,并且可以发挥附加的效果。
应当注意,本技术可以采用以下配置。
(1)一种乘积累加运算装置,利用模拟电路执行乘积累加运算,该乘积累加运算装置包括:
多条输入线,具有与输入值对应的脉冲宽度的脉冲信号被输入到该多条输入线;
多个乘积单元,基于输入到多条输入线中的每条输入线的脉冲信号,该多个乘积单元生成与通过将输入值乘以权重值而获得的乘积值相对应的电荷;
累加单元,该累加单元累加与由多个乘积单元中的每个乘积单元生成的乘积值相对应的电荷的和;
充电单元,该充电单元以与累加单元的累加状态相关联的充电速度对其中已经累加了与乘积值相对应的电荷的和的累加单元进行充电;以及
输出单元,在充电单元开始充电之后,该输出单元通过使用与累加单元的累加状态相关联的阈值对由累加单元保持的电压执行阈值确定来输出表示乘积值的和的乘积累加信号。
(2)根据(1)所述的乘积累加运算装置,其中,
在具有预定长度的输入时段内将脉冲信号输入到多条输入线中的每条输入线,
在输入时段结束之后,充电单元开始充电,以及
在具有预定长度的输出时段内,输出单元可以基于由累加单元保持的电压增加或减小到超过阈值的定时来输出乘积累加信号。
(3)根据(2)所述的乘积累加运算装置,其中,
基于与乘积值相对应的电荷的和的有效最大值和有效最小值来设置充电速度和阈值,该有效最大值和有效最小值是从与累加单元所累加的乘积值相对应的电荷的和的估计结果中获得的。
(4)根据(3)所述的乘积累加运算装置,其中,
设置充电速度和阈值,使得从有效最大值到有效最小值的范围是在输出时段中能够输出乘积累加信号的范围。
(5)根据(3)或(4)所述的乘积累加运算装置,其中,
由累加单元保持的电压增加或减小到超过阈值的定时用作用于计算乘积累加信号的计算定时,并且
设置充电速度和阈值,使得与有效最大值相对应的计算定时为紧接在输出时段的开始定时之后的定时,并且与有效最小值相对应的计算定时为紧接在输出时段的结束定时之前的定时。
(6)根据(3)至(5)中任一项所述的乘积累加运算装置,其中,
基于输出时段的长度来设置充电速度和阈值。
(7)根据(3)至(6)中任一项所述的乘积累加运算装置,其中,
有效最大值和有效最小值分别是从与累加单元所累加的乘积值相对应的电荷的和的理论值获得的理论最大值和理论最小值。
(8)根据(2)至(7)中任一项所述的乘积累加运算装置,其中,
输出时段的长度等于输入时段的长度。
(9)根据(2)至(8)中任一项所述的乘积累加运算装置,其中,
充电单元在输入时段的结束定时处开始充电,以及
输出时段在充电单元的充电开始定时处开始。
(10)根据(1)至(9)中任一项所述的乘积累加运算装置,其中,
多个乘积单元包括正权重乘积单元和负权重乘积单元,该正权重乘积单元生成与通过将输入值乘以正权重值而获得的乘积值相对应的正权重电荷,该负权重乘积单元生成与通过将输入值乘以负权重值而获得的乘积值相对应的负权重电荷,
累加单元包括正电荷累加单元和负电荷累加单元,该正电荷累加单元累加由正权重乘积单元生成的正权重电荷的和,该负电荷累加单元累加由负权重乘积单元生成的负权重电荷的和,
充电单元以相同的充电速度对正电荷累加单元和负电荷累加单元进行充电,以及
输出单元通过使用相同的阈值对正电荷累加单元和负电荷累加单元执行阈值确定,来输出乘积累加信号。
(11)根据(1)至(9)中任一项所述的乘积累加运算装置,其中,
累加单元累加对应于通过将输入值乘以正权重值而获得的乘积值对应的正权重电荷总量与通过将输入值乘以负权重值而获得的乘积值对应的负权重电荷总量之间的差值的电荷。
(12)根据(11)所述的乘积累加运算装置,其中,
正权重电荷和负权重电荷是彼此具有相同符号的电荷,以及
累加单元累加正权重电荷的和,并释放负权重电荷的和。
(13)根据(2)至(12)中任一项所述的乘积累加运算装置,其中,
脉冲信号具有与从与输入时段中的输入值相对应的定时到输入时段的结束定时的时段相对应的脉冲宽度。
(14)根据(1)至(13)中任一项所述的乘积累加运算装置,还包括
一条或多条输出线,其中,
对应于多条输入线设置多个乘积单元,以及
多个乘积单元中的每个乘积单元包括限定权重值并且具有非线性特性的电阻器,该电阻器连接在多条输入线中的相应输入线与一条或多条输出线中的任何一条输出线之间,并且多个乘积单元中的每个乘积单元将与乘积值相对应的电荷输出到电阻器所连接的输出线。
(15)根据(10)所述的乘积累加运算装置,还包括:
正电荷输出线;和
负电荷输出线,其中,
对应于多条输入线设置多个乘积单元,
正权重乘积单元包括限定正权重值并且具有非线性特性的电阻器,该电阻器连接在多条输入线中的相应输入线与正电荷输出线之间,并且正权重乘积单元将与乘积值相对应的正权重电荷输出到正电荷输出线,以及
负权重乘积单元包括限定负权重值并且具有非线性特性的电阻器,该电阻器连接在多条输入线的相应输入线与负电荷输出线之间,并且负权重乘积单元将与乘积值相对应的负权重电荷输出到负电荷输出线。
(16)根据(14)或(15)所述的乘积累加运算装置,其中,
电阻器是固定电阻元件、可变电阻元件或在次阈值区域中工作的MOS晶体管。
(17)一种乘积累加运算电路,通过模拟方式执行乘积累加运算,该乘积累加运算电路包括:
多条输入线,具有与输入值对应的脉冲宽度的脉冲信号被输入到该多条输入线;
多个乘积单元,基于输入到多条输入线中的每条输入线的脉冲信号,该多个乘积单元生成与通过将输入值乘以权重值而获得的乘积值相对应的电荷;
累加单元,该累加单元累加与由多个乘积单元中的每个乘积单元生成的乘积值相对应的电荷的和;
充电单元,该充电单元以与累加单元的累加状态相关联的充电速度对其中已经累加了与乘积值相对应的电荷的和的累加单元进行充电;以及
输出单元,在充电单元开始充电之后,输出单元通过使用与累加单元的累加状态相关联的阈值对由累加单元保持的电压执行阈值确定来输出表示乘积值的和的乘积累加信号。
(18)一种乘积累加运算系统,包括:
多条输入线,具有与输入值对应的脉冲宽度的脉冲信号被输入到该多条输入线;
多个模拟电路,该多个模拟电路包括
多个乘积单元,基于输入到多条输入线中的每条输入线的脉冲信号,该多个乘积单元生成与通过将输入值乘以权重值而获得的乘积值相对应的电荷,
累加单元,该累加单元累加与由多个乘积单元中的每个乘积单元生成的乘积值相对应的电荷的和,
充电单元,该充电单元以与累加单元的累加状态相关联的充电速度对其中已经累加了与乘积值相对应的电荷的和的累加单元进行充电,以及
输出单元,在充电单元开始充电之后,输出单元通过使用与累加单元的累加状态相关联的阈值对由累加单元保持的电压执行阈值确定来输出表示乘积值的和的乘积累加信号;以及
网络电路,连接至多个模拟电路。
(19)一种乘积累加运算方法,包括:
将具有对应于输入值的脉冲宽度的脉冲信号输入到多条输入线;
基于输入到多条输入线中的每条输入线的脉冲信号,生成与通过将输入值乘以权重值而获得的乘积值相对应的电荷;
在累加单元中累加与乘积值相对应的所生成的电荷的和;
以与累加单元的累加状态相关联的充电速度对其中累加有与乘积值相对应的电荷的和的累加单元进行充电;以及
在开始充电之后,通过使用与累加单元的累加状态相关联的阈值对由累加单元保持的电压执行阈值确定,以输出表示乘积值的和的乘积累加信号。
附图标记列表
θ 阈值
α 充电速度
1 信号线
1a 输入信号线
3,203,303,403 乘积累加运算装置
7 一对输出线
7a,207a 正电荷输出线
7b,207b 负电荷输出线
8 突触回路
8a,208a 突触回路(正权值乘积单元)
8b,208b 突触回路(负权值乘积单元)
9,509 神经元回路
11,211,311,411,511 累加单元
12,212,312,412,512 输出单元
13,213,313,413,513 电容器
15,215,315,415,80,580 充电单元
17 电阻器
18,218,318,418 电流源
20,220,320,420 比较器
21,221,321 信号生成单元
100 运算装置。
Claims (19)
1.一种乘积累加运算装置,利用模拟电路执行乘积累加运算,所述乘积累加运算装置包括:
多条输入线,具有与输入值对应的脉冲宽度的脉冲信号被输入到所述多条输入线;
多个乘积单元,基于输入到所述多条输入线中的每条输入线的所述脉冲信号,所述多个乘积单元生成与通过将所述输入值乘以权重值而获得的乘积值相对应的电荷;
累加单元,所述累加单元累加与由所述多个乘积单元中的每个乘积单元生成的所述乘积值相对应的所述电荷的和;
充电单元,所述充电单元以与所述累加单元的累加状态相关联的充电速度对其中已经累加了与所述乘积值相对应的所述电荷的和的所述累加单元进行充电;以及
输出单元,在所述充电单元开始充电之后,所述输出单元通过使用与所述累加单元的所述累加状态相关联的阈值对由所述累加单元保持的电压执行阈值确定来输出表示所述乘积值的和的乘积累加信号。
2.根据权利要求1所述的乘积累加运算装置,其中,
在具有预定长度的输入时段内将所述脉冲信号输入到所述多条输入线中的每条输入线,
在所述输入时段结束之后,所述充电单元开始充电,以及
在具有预定长度的输出时段内,所述输出单元基于由所述累加单元保持的电压增加或减小到超过所述阈值的定时来输出所述乘积累加信号。
3.根据权利要求2所述的乘积累加运算装置,其中,
基于与所述乘积值相对应的电荷的和的有效最大值和有效最小值来设置所述充电速度和所述阈值,所述有效最大值和所述有效最小值是从与所述累加单元所累加的所述乘积值相对应的所述电荷的和的估计结果中获得的。
4.根据权利要求3所述的乘积累加运算装置,其中,
设置所述充电速度和所述阈值,使得从所述有效最大值到所述有效最小值的范围是在所述输出时段中能够输出所述乘积累加信号的范围。
5.根据权利要求3所述的乘积累加运算装置,其中,
由所述累加单元保持的电压增加或减小到超过所述阈值的所述定时用作用于计算所述乘积累加信号的计算定时,并且
设置所述充电速度和所述阈值,使得与所述有效最大值相对应的计算定时为紧接在所述输出时段的开始定时之后的定时,并且与所述有效最小值相对应的计算定时为紧接在所述输出时段的结束定时之前的定时。
6.根据权利要求3所述的乘积累加运算装置,其中,
基于所述输出时段的长度来设置所述充电速度和所述阈值。
7.根据权利要求3所述的乘积累加运算装置,其中,
所述有效最大值和所述有效最小值分别是从与所述累加单元所累加的所述乘积值相对应的所述电荷的和的理论值获得的理论最大值和理论最小值。
8.根据权利要求2所述的乘积累加运算装置,其中,
所述输出时段的长度等于所述输入时段的长度。
9.根据权利要求2所述的乘积累加运算装置,其中,
所述充电单元在所述输入时段的结束定时处开始充电,以及
所述输出时段在所述充电单元的充电开始定时处开始。
10.根据权利要求1所述的乘积累加运算装置,其中,
所述多个乘积单元包括正权重乘积单元和负权重乘积单元,所述正权重乘积单元生成与通过将所述输入值乘以正权重值而获得的乘积值相对应的正权重电荷,所述负权重乘积单元生成与通过将所述输入值乘以负权重值而获得的乘积值相对应的负权重电荷,
所述累加单元包括正电荷累加单元和负电荷累加单元,所述正电荷累加单元累加由所述正权重乘积单元生成的所述正权重电荷的和,所述负电荷累加单元累加由所述负权重乘积单元生成的所述负权重电荷的和,
所述充电单元以相同的充电速度对所述正电荷累加单元和所述负电荷累加单元进行充电,以及
所述输出单元通过使用相同的阈值对所述正电荷累加单元和所述负电荷累加单元执行阈值确定,来输出所述乘积累加信号。
11.根据权利要求1所述的乘积累加运算装置,其中,
所述累加单元累加对应于通过将所述输入值乘以正权重值而获得的乘积值对应的正权重电荷总量与通过将所述输入值乘以负权重值而获得的乘积值对应的负权重电荷总量之间的差值的电荷。
12.根据权利要求11所述的乘积累加运算装置,其中,
所述正权重电荷和所述负权重电荷是彼此具有相同符号的电荷,以及
所述累加单元累加所述正权重电荷的和,并释放所述负权重电荷的和。
13.根据权利要求2所述的乘积累加运算装置,其中,
所述脉冲信号具有与从与所述输入时段中的输入值相对应的定时到所述输入时段的结束定时的时段相对应的脉冲宽度。
14.根据权利要求1所述的乘积累加运算装置,还包括
一条或多条输出线,其中,
对应于所述多条输入线设置所述多个乘积单元,以及
所述多个乘积单元中的每个乘积单元包括限定所述权重值并且具有非线性特性的电阻器,所述电阻器连接在所述多条输入线中的相应输入线与所述一条或多条输出线中的任何一条输出线之间,并且所述多个乘积单元中的每个乘积单元将与所述乘积值相对应的电荷输出到所述电阻器所连接的输出线。
15.根据权利要求10所述的乘积累加运算装置,还包括
正电荷输出线;和
负电荷输出线,其中,
对应于所述多条输入线设置所述多个乘积单元,
所述正权重乘积单元包括限定所述正权重值并且具有非线性特性的电阻器,所述电阻器连接在所述多条输入线中的相应输入线与所述正电荷输出线之间,并且所述正权重乘积单元将与所述乘积值相对应的正权重电荷输出到所述正电荷输出线,以及
所述负权重乘积单元包括限定所述负权重值并且具有非线性特性的电阻器,所述电阻器连接在所述多条输入线中的相应输入线与所述负电荷输出线之间,并且所述负权重乘积单元将与所述乘积值相对应的负权重电荷输出到所述负电荷输出线。
16.根据权利要求14所述的乘积累加运算装置,其中,
所述电阻器是固定电阻元件、可变电阻元件或在次阈值区域中工作的MOS晶体管。
17.一种乘积累加运算电路,通过模拟方式执行乘积累加运算,所述乘积累加运算电路包括:
多条输入线,具有与输入值对应的脉冲宽度的脉冲信号被输入到所述多条输入线;
多个乘积单元,基于输入到所述多条输入线中的每条输入线的所述脉冲信号,所述多个乘积单元生成与通过将所述输入值乘以权重值而获得的乘积值相对应的电荷;
累加单元,所述累加单元累加与由所述多个乘积单元中的每个乘积单元生成的所述乘积值相对应的所述电荷的和;
充电单元,所述充电单元以与所述累加单元的累加状态相关联的充电速度对其中已经累加了与所述乘积值相对应的所述电荷的和的所述累加单元进行充电;以及
输出单元,在所述充电单元开始充电之后,所述输出单元通过使用与所述累加单元的所述累加状态相关联的阈值对由所述累加单元保持的电压执行阈值确定来输出表示所述乘积值的和的乘积累加信号。
18.一种乘积累加运算系统,包括:
多条输入线,具有与输入值对应的脉冲宽度的脉冲信号被输入到所述多条输入线;
多个模拟电路,所述多个模拟电路包括
多个乘积单元,基于输入到所述多条输入线中的每条输入线的所述脉冲信号,所述多个乘积单元生成与通过将所述输入值乘以权重值而获得的乘积值相对应的电荷,
累加单元,所述累加单元累加与由所述多个乘积单元中的每个乘积单元生成的所述乘积值相对应的所述电荷的和,
充电单元,所述充电单元以与所述累加单元的累加状态相关联的充电速度对其中已经累加了与所述乘积值相对应的所述电荷的和的所述累加单元进行充电,以及
输出单元,在所述充电单元开始充电之后,所述输出单元通过使用与所述累加单元的所述累加状态相关联的阈值对由所述累加单元保持的电压执行阈值确定来输出表示所述乘积值的和的乘积累加信号;以及
网络电路,连接至所述多个模拟电路。
19.一种乘积累加运算方法,包括:
将具有对应于输入值的脉冲宽度的脉冲信号输入到多条输入线;
基于输入到所述多条输入线中的每条输入线的所述脉冲信号,生成与通过将所述输入值乘以权重值而获得的乘积值相对应的电荷;
在累加单元中累加与所述乘积值相对应的所生成的电荷的和;
以与所述累加单元的累加状态相关联的充电速度对其中累加有与所述乘积值相对应的所述电荷的和的所述累加单元进行充电;以及
在开始充电之后,通过使用与所述累加单元的所述累加状态相关联的阈值对由所述累加单元保持的电压执行阈值确定,以输出表示所述乘积值的和的乘积累加信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-133750 | 2018-07-13 | ||
JP2018133750 | 2018-07-13 | ||
PCT/JP2019/026603 WO2020013069A1 (ja) | 2018-07-13 | 2019-07-04 | 積和演算装置、積和演算回路、積和演算システム、及び積和演算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112384927A true CN112384927A (zh) | 2021-02-19 |
Family
ID=69141673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980045393.9A Pending CN112384927A (zh) | 2018-07-13 | 2019-07-04 | 乘积累加运算装置、乘积累加运算电路、乘积累加运算系统和乘积累加运算方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US12008338B2 (zh) |
EP (1) | EP3822843A4 (zh) |
JP (1) | JP7283477B2 (zh) |
CN (1) | CN112384927A (zh) |
TW (1) | TWI799588B (zh) |
WO (1) | WO2020013069A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230274779A1 (en) * | 2020-07-17 | 2023-08-31 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and electronic device |
US20230049032A1 (en) * | 2021-08-02 | 2023-02-16 | Silicon Storage Technology, Inc. | Output circuitry for analog neural memory in a deep learning artificial neural network |
WO2023032158A1 (ja) * | 2021-09-03 | 2023-03-09 | 日本電気株式会社 | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法および学習済みモデル生成方法 |
US20230386566A1 (en) * | 2022-05-25 | 2023-11-30 | Stmicroelectronics International N.V. | Bit line voltage clamping read circuit for an in-memory compute operation where simultaneous access is made to plural rows of a static random access memory (sram) |
US20230410892A1 (en) * | 2022-05-25 | 2023-12-21 | Stmicroelectronics International N.V. | Bit line read current mirroring circuit for an in-memory compute operation where simultaneous access is made to plural rows of a static random access memory (sram) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141313A (ja) * | 1993-11-18 | 1995-06-02 | Fujitsu Ltd | 神経回路素子 |
JP2005122466A (ja) * | 2003-10-16 | 2005-05-12 | Canon Inc | 積和演算回路及びその方法 |
CN1867888A (zh) * | 2003-10-16 | 2006-11-22 | 佳能株式会社 | 运算电路及其运算控制方法 |
JP2010061428A (ja) * | 2008-09-04 | 2010-03-18 | Yazaki Corp | 掛算回路 |
JP2015195011A (ja) * | 2014-03-18 | 2015-11-05 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路およびその学習方法 |
WO2018034163A1 (ja) * | 2016-08-19 | 2018-02-22 | 国立大学法人 九州工業大学 | 積和演算装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792405B2 (en) * | 2013-01-17 | 2017-10-17 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
US9779355B1 (en) * | 2016-09-15 | 2017-10-03 | International Business Machines Corporation | Back propagation gates and storage capacitor for neural networks |
WO2018069785A1 (en) * | 2016-10-12 | 2018-04-19 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and system using the same |
US11315009B2 (en) * | 2017-03-03 | 2022-04-26 | Hewlett Packard Enterprise Development Lp | Analog multiplier-accumulators |
-
2019
- 2019-05-24 TW TW108117978A patent/TWI799588B/zh active
- 2019-07-04 EP EP19834552.2A patent/EP3822843A4/en active Pending
- 2019-07-04 CN CN201980045393.9A patent/CN112384927A/zh active Pending
- 2019-07-04 JP JP2020530140A patent/JP7283477B2/ja active Active
- 2019-07-04 WO PCT/JP2019/026603 patent/WO2020013069A1/ja unknown
- 2019-07-04 US US17/258,328 patent/US12008338B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141313A (ja) * | 1993-11-18 | 1995-06-02 | Fujitsu Ltd | 神経回路素子 |
JP2005122466A (ja) * | 2003-10-16 | 2005-05-12 | Canon Inc | 積和演算回路及びその方法 |
CN1867888A (zh) * | 2003-10-16 | 2006-11-22 | 佳能株式会社 | 运算电路及其运算控制方法 |
JP2010061428A (ja) * | 2008-09-04 | 2010-03-18 | Yazaki Corp | 掛算回路 |
JP2015195011A (ja) * | 2014-03-18 | 2015-11-05 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路およびその学習方法 |
WO2018034163A1 (ja) * | 2016-08-19 | 2018-02-22 | 国立大学法人 九州工業大学 | 積和演算装置 |
Non-Patent Citations (1)
Title |
---|
MOHAMMAD BAVANDPOUR ET AL.: "Energy-Efficient Time-Domain Vector-by-Matrix Multiplier for Neurocomputing and Beyond", ARXIV:1711.10673V1, pages 1 - 6 * |
Also Published As
Publication number | Publication date |
---|---|
EP3822843A1 (en) | 2021-05-19 |
EP3822843A4 (en) | 2021-09-01 |
JPWO2020013069A1 (ja) | 2021-08-02 |
JP7283477B2 (ja) | 2023-05-30 |
TWI799588B (zh) | 2023-04-21 |
TW202006611A (zh) | 2020-02-01 |
US12008338B2 (en) | 2024-06-11 |
US20210294573A1 (en) | 2021-09-23 |
WO2020013069A1 (ja) | 2020-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112384927A (zh) | 乘积累加运算装置、乘积累加运算电路、乘积累加运算系统和乘积累加运算方法 | |
US11392349B2 (en) | Multiply-accumulate operation device | |
EP1676197B1 (en) | Operation circuit and operation control method thereof | |
US11526738B2 (en) | Processing apparatus and inference system | |
US10643125B2 (en) | Methods and systems of neuron leaky integrate and fire circuits | |
US20220276837A1 (en) | Arithmetic apparatus and multiply-accumulate system | |
US11941370B2 (en) | Arithmetic apparatus and multiply-accumulate system | |
CN113614729B (zh) | 算术装置和乘法累加系统 | |
US20210318853A1 (en) | Arithmetic logic unit, multiply-accumulate operation device, multiply-accumulate operation system, and multiply-accumulate operation method | |
US20190392291A1 (en) | Electronic circuit for implementing generative adversarial network using spike neural network | |
US20210271452A1 (en) | Product-sum arithmetic device, product-sum arithmetic circuit, and product-sum arithmetic method | |
CN113574531A (zh) | 算术设备和乘法-累加系统 | |
US11782680B2 (en) | Arithmetic logic unit, multiply-accumulate operation device, multiply-accumulate operation circuit, and multiply-accumulate operation system | |
CN113474782A (zh) | 算术装置、积和算术系统和设定方法 | |
KR101023030B1 (ko) | 캐패시티브 커플링에 의한 크로스톡 효과를 고려한 게이트 지연 시간 계산 방법 |
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 |