技术领域
本技术涉及适用于使用模拟系统的乘积累加运算的乘积累加运算装置、乘积累加运算电路、乘积累加运算系统和乘积累加运算方法。
背景技术
例如,专利文献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个输入信号线输入的电信号表示的信号值(输入值)x
[数学式1]
权重值w
此外,例如,可以将设置权重值w
在神经网络等中,可以使用称为二进制连接的方法,该方法将权重值w
如上所述,在二进制连接中,权重值w
注意,乘积累加运算的目标信号值x
在图1所示的实例中,从一个信号源(输入单元2、乘积累加运算装置3)输出单个电信号(单个信号值x
因此,例如,在将M个信号源连接到乘积累加运算设3的情况下,将M个输入信号线连接到乘积累加运算装置3。然后,输入到乘积累加运算装置3的电信号的总数为M。注意,在图1中所示的运算装置100中,N=M。注意,可以从一个信号源输出一对正负电信号(一对信号值x
如图1所示,运算装置100具有分层结构,其中在多个层中的每个层中设置多个乘积累加运算装置3。通过配置乘积累加运算装置3的层结构,例如,构造多层感知机类型的神经网络等。例如,通过将多个乘积累加运算装置3彼此连接以获得网络电路,可以构造乘积累加运算系统。适当地设计每层中设置的乘积累加运算装置3的数量、层的数量等,使得例如可以执行期望的处理。在下文中,在某些情况下,将在第j级的层中设置的乘积累加运算装置3的数量称为N
例如,由N个输入单元2生成的N个电信号被输入到设置在第一级的层(最低层)中的每个乘积累加运算装置3。第一级中的每个乘积累加运算装置3计算与输入数据的信号值x
将表示在第一层中计算出的乘积累加结果的N
以此方式,在运算装置100中,基于下层的乘积累加运算装置3计算的乘积累加结果和随后的非线性变换处理的结果,计算上层的乘积累加运算装置3的乘积累加结果。多次执行这样的处理,并且从包括在顶层(图1中的第三级的层)中的乘积累加运算装置3输出处理结果。因此,例如,可以执行诸如基于通过对猫进行成像而获得的图像数据(输入数据4)来确定对象是猫的图像识别的处理。
注意,将乘积累加运算装置3彼此连接的方法等不受限制,并且,例如,多个乘积累加运算装置3可以适当地彼此连接,以便可以执行期望的处理。例如,即使在乘积累加运算装置3相互连接以构成不同于分层结构的另一结构的情况下,本技术也适用。
在上述神经网络模型中,执行诸如以下的处理:使用激活函数对每个乘积累加运算装置3的乘积累加结果进行非线转换,并将转换结果输入到上层。
在运算装置100中,例如,使用通过激活函数对电信号执行非线性变换的函数转换电路5。函数转换电路5例如是设置在下层和上层之间的电路,该电路适当地转换要输入的电信号的信号值,并根据转换结果输出电信号。例如,为每个信号线1提供函数转换电路5。例如,根据在运算装置100中执行的数学模型来适当地设置函数转换电路5的数量、布置等。
作为激活函数,例如,使用ReLU函数(斜坡函数)等。在ReLU函数中,例如在信号值x
图2是示出输入到乘积累加运算装置3的电信号的示例的示意图。图2示意性地示出了表示输入到一个乘积累加运算装置3的多个电信号的波形的图。图的横轴表示时间轴,纵轴表示电信号的电压。注意,每个图的时间轴是通用的。
在本实施方式中,使用使用脉冲宽度调制(PWM)系统的电信号。例如,PWM系统是一种使用脉冲波形的脉冲宽度τ
此外,在预定的输入时段T期间,电信号被输入到乘积累加运算装置3。更具体地,各个电信号被输入到乘积累加运算装置3,使得电信号的脉冲波形落入输入时段T内。因此,电信号的脉冲宽度的最大值与输入时段T相同。注意,输入各个脉冲波形(电信号)的定时等不受限制,只要脉冲波形落入输入时段T内即可。
在PWM系统中,例如,可以使用脉冲宽度τ
根据本实施方式的乘积累加运算装置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计算由电信号表示的信号值x
如下所述,为突触回路8设置正权重值w
注意,在突触回路8中,不管权重值w
如上所述,突触回路8被配置为根据权重值w
在本实施方式中,单个输入信号线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中累积的电荷是与信号值x
例如,当在电容器13a中累积正权重电荷时,正电荷输出线7a相对于GND的电势升高。因此,正电荷输出线7a的电势具有与正权重电荷的总和相对应的值。注意,正电荷输出线7a的电势对应于电容器13a保持的电压。
类似地,当在电容器13b中累积负权重电荷时,负电荷输出线7b相对于GND的电势升高。因此,负电荷输出线7b的电势具有与负权重电荷的总和相对应的值。注意,负电荷输出线7b的电势对应于电容器13b保持的电压。
输出单元12基于在累加单元11中累加的电荷输出表示乘积值w
[数学式2]
在这里,N+和N-分别是正权重值w
例如,输出单元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。
具有对应于信号值x
正电荷输出线7a输出与通过将信号值x
对应于多个输入信号线1a设置有多个突触回路8。在本实施方式中,为一个输入信号线1a提供一个突触回路8。多个突触回路8中的每一个包括电阻器17,该电阻器17连接在多个输入信号线1a的对应的输入信号线1a与正电荷输出线7a和负电荷输出线7b中的任一个之间。电阻器17可具有非线性特性,并且可具有防止电流回流的功能。然后,将对应于乘积值w
例如,在希望在每个突触回路8中将信号值x
在希望在每个突触回路8中将信号值x
注意,作为电阻器17,使用具有与要设置的权重值w
作为电阻器17,例如,使用固定电阻器元件、可变电阻器元件、在次阈值区域中工作的MOS晶体管等。例如,通过使用在次阈值区域中工作的MOS晶体管作为电阻器17,可以降低功耗。不用说,可以使用其他任意电阻器。
累加单元11累加与由多个突触回路8中的每一个生成的乘积值w
电容器13a经由开关16b连接到正电荷输出线7a,并且累加由突触回路8a生成的正权重电荷的和。在本实施方式中,电容器13a用作正权重累加单元。
电容器13b经由开关16c连接到负电荷输出线7b,并且累加由突触回路8b生成的负权重电荷的和。在本实施方式中,电容器13b用作负权重累加单元。
充电单元15以与预定的充电速度对其中累加了与乘积值w
电流源18a经由开关16a连接至连接至电容器13a的正电荷输出线7a的一侧(与GND相对的一侧)。电流源18b经由开关16d连接至连接至电容器13b的负电荷输出线7b的一侧(与GND相对的一侧)。
在本实施方式中,电流源18a和18b以相同的充电速度对电容器13a和13b充电。这增加了正电荷输出线7a的电势V+(由电容器13a保持的电压)和负电荷输出线7b的电势V-(由电容器13b保持的电压)。电流源18的具体配置不受限制,并且可以任意设计。
在充电单元15开始充电之后,输出单元12对由累加单元11保持的电压由预定阈值执行阈值确定来输出表示乘积值w
比较器20a在电容器13a保持的电压大于预定阈值θ1时检测定时。注意,由电容器13a保持的电压的大小由电容器13a中累积的正权重电荷的总量和电荷量(充电速度×时间)确定。
比较器20b在电容器13b保持的电压大于预定阈值θ2时检测定时。注意,由电容器13b保持的电压的大小由电容器13b中累积的负权重电荷的总量和电荷量(充电速度×时间)确定。
注意,在本实施方式中,通过以相同的阈值对电容器13a和13b中的每一个执行阈值确定来输出乘积累加信号。即,阈值θ1被设定为等于阈值θ2。
信号生成单元21基于比较器20a检测到的定时和比较器20b检测到的定时输出表示乘积值w
在本实施方式中,PWM信号被输出为乘积累加信号,该PWM信号是其中脉冲宽度被调制的脉冲信号。信号生成单元21的具体电路配置等不受限制,并且可以任意设计。
图6和图7分别是描述由图5所示的乘积累加运算装置3进行的乘积累加信号的计算示例的图。在本实施方式中,根据基于电容器13a中累积的正权重电荷的正权重电荷的乘积累加结果和基于电容器13b中累积的负权重电荷的负权重电荷的乘积累加结果来计算表示包括正负值的整个乘积累加结果的信号。
正权重电荷的乘积累加结果的计算和负权重电荷的乘积累加结果的计算是相等的处理。首先,将参照图6描述基于在电容器13中累积的电荷而没有正负区别的计算乘积累加结果的方法(乘积累加运算方法)。
将描述图6中描述的参数。"t"表示时间。"T"表示每个输入时段和输出时段。"t
在本实施方式中,输入时段T的长度和输出时段T的长度被设置为彼此相等。此外,从输入时段T的结束定时t
"α"表示与充电单元15(电流源18)的充电相对应的电势上升的斜率,并且与充电速度相对应。"θ"表示输出单元12(比较器20)用于阈值确定的阈值。
"S
"V
在该示例中,设置了开关16b和16c,并且特别地,可以通过用该开关断开输出线来降低功耗并提高充电精度。
此处,如以下公式所示,输入值(信号值)x
[数学式3]
图5所示的突触回路8产生与通过将信号值x
然后,在输入时段T的结束定时t
[数学式4]
p
电容器13中累积的电荷的总量V
[数学式5]
在输入时段T的结束定时t
电流源18从输入时段T的结束定时t
当将乘积累加信号的脉冲宽度τ
[数学式6]
因此,通过将信号值x
[数学式7]
即,乘积累加结果是从αR
图7是表示基于正权重电荷和负权重电荷的乘积累加结果的整个乘积累加结果的乘积累加信号的计算例的示意图。在图7中,将表示正权重电荷的乘积累加结果的乘积累加信号定义为"S
在输入时段T的结束定时t
[数学式8]
在输入时段T的结束定时t
[数学式9]
当将正乘积累加信号S
[数学式10]
当将负乘积累加信号S
[数学式11]
因此,当使用上述公式(数学式2)时,整个乘积累加结果由以下公式给出。
[数学式12]
即,通过充电速度α,乘积信号S
然后,如图7所示,作为表示整个乘积累加结果的乘积累加信号,可以容易地输出具有脉冲宽度"τ
本文中,本发明的发明人研究了充电速度α和阈值θ,以生成表示乘积累加结果的乘积累加信号S
图8至图10分别是用于说明充电速度α和阈值θ的设置的示意图。如上所述,通过对其中累积了与乘积值w
在此,本发明的发明人着眼于电容器13的累加状态,重新设计了充电速度α和阈值θ的设置。也就是说,本发明的发明人新设计了使用与电容器13的累加状态相关联的充电速度α和阈值θ作为用于生成表示乘积累加结果的乘积信号S
注意,在本公开中,电容器13的累加状态包括关于在电容器13中累积多少电荷的信息,并且例如包括电容器13中累积的电荷的估计结果和模拟结果。例如,通过使用与估计结果和模拟结果相关的充电速度α和阈值θ,可以提高乘积累加运算的精度。
例如,当使用利用乘积累加运算装置3的运算装置100构造神经网络时,执行使用学习数据的学习处理。然后,设置要在各个突触回路8中设置的权重。学习处理的方法不受限制,并且可以使用诸如使用计算机模拟的方法的任意方法。
例如,在通过学习处理设定了各个权重之后(例如,在将预定电阻器设置在预定位置之后),将电容器13中累积的权重的总量估计为电容器13的累加状态。
基于估计结果,相对于累加权重的总量确定要计算为乘积累加信号的有效范围。估计总权重的方法不受限制。例如,可以使用诸如使用计算机模拟的方法,使用概率分布的方法以及基于将多个样本数据输入到乘积累加运算装置3的结果的估计方法的任意方法。注意,通过估计电荷总量获得的估计结果也可以称为通过模拟电荷总量获得的模拟结果。
例如,假定获得如图8的部分A所示的分布作为在预定电容器13中累积的电荷总量的估计结果。在这种情况下,例如,从分布的最小值min到最大值max的范围被设置为要被计算为乘积累加信号的有效范围E。
在下文中,将有效范围E的最小值min和最大值max称为有效最小值min和有效最大值max。有效最小值min和有效最大值max是从与由累加单元11累加的乘积值w
例如,基于从有效最大值max到有效最小值min的有效范围E来设定充电速度α和阈值θ。具体地,设定充电速度α和阈值θ,以使得有效范围E在输出时段T中处于可以输出乘积累加信号的范围内。即,设定充电速度α和阈值θ,以使得有效范围E中包括的电荷总量在输出时段T中通过充电变得大于阈值θ。
例如,如图9的部分A和B所示,在累加电荷的总量为有效最大值max的情况下,用于计算乘积累加信号的计算定时(保持电压变得大于阈值θ的定时)是紧接在输出时段T的开始定时t
例如,将比有效最大值max稍大的值设定为阈值θ。然后,设定充电速度α,以使与有效最大值max对应的计算定时为在输出时段T的开始定时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
设置有效范围E,以便以较高的分辨率检测到有效范围E+和有效范围E
充电速度α和阈值θ基于在有效最小值min和有效最大值max中规定的有效范围E来设定。因此,可以计算出具有非常高精度的整个乘积累加结果。不用说,本技术并不限于这种方法。
此外,在如图1所示的配置中,通常,相同的充电速度α和阈值θ共同用于相同层中包括的多个乘积累加运算装置3。因此,由从每个乘积累加运算装置3输出的乘积累加信号(PWM信号)表示的输出作为根据相同标准的值被输出到下一层。此外,还可以简化各个乘积累加运算装置3的设计。
作为共同充电速度α和α阈值θ的设置,例如,在每个乘积累加运算装置中,为累加在累加单元11中的电荷总量设定有效范围E。然后,设定共同的有效范围以涵盖所有有效范围E。可以基于整个有效范围来设置共同的充电速度α和共同的阈值θ。不用说,本技术并不限于此方法,并且可以使用任意方法。
注意,本技术并不限于使用共同的充电速度α和共同的阈值θ的情况,并且可以在每个乘积累加运算装置3中设置最优充电速度α和最优阈值θ。即,可以在每个乘积累加运算装置3中设置有效范围E,并且可以优化充电速度α和阈值θ。即使在这种情况下,可以通过适当地执行例如学习处理来实现例如期望的处理精度。
在对乘积累加运算装置3进行充电速度α和阈值θ的设定时,例如在配置乘积累加运算装置3时将预先优化的充电速度α和阈值θ设定为固定值。可替代地,可以将乘积累加运算装置3配置为使得充电速度α和阈值θ可以动态地改变。然后,可以在执行识别处理等的同时动态地执行充电速度α和阈值θ的优化。能够动态改变充电速度α和阈值θ的具体电路配置并不受限制,并且可以任意设计。
如上所述,在根据本实施方式的运算装置100和乘积累加运算装置3中,与累加单元11的累加状态相关联地设置用于对累加单元11进行充电的充电速度和用于输出表示乘积值w
当将乘积累加运算的输出结果的最大值和最小值转换为脉冲输出时段T内的脉冲定时时,预先检查乘积累加运算结果的分布。然后,根据最大值/最小值设置阈值θ的值和电流源((独立的)电荷输出单元)的电流值。这样可以最大程度地利用脉冲输出时段的分辨率。即,可以将与乘积累加运算结果相对应的电压有效地转换为脉冲定时。
例如,可以考虑在电容器中累积其脉冲在对应于信号值x
在本实施方式中,在PWM乘积累加运算装置3中分别设置输入时段T和输出时段T。然后,在输入时段T结束之后对电容器充电,并且进行阈值确定以计算乘积累加信号。因此,由于可以将输入的乘积累加运算过程和将电荷转换为定时的过程彼此分离,所以可以防止上述问题。
此外,执行正负乘积累加运算和定时输出,然后,获得定时之间的差别。因此,可以在相同的电路配置中执行正负乘积累加运算,并且可以充分地抑制电路变化的影响。注意,当正负乘积累加结果彼此基本相等时,差异很小,并且有可能降低表示整个正负乘积累加结果的分辨率。但是,在本实施方式中,通过优化充电速度α和阈值θ,能够最大程度地利用脉冲输出时段的分辨率,因此能够充分地防止这样的问题。
<第二实施方式>
将描述根据本发明的第二实施方式的乘积累加运算装置。在下面的描述中,将省略或简化与上述实施方式中描述的乘积累加运算装置3类似的配置和效果的描述。
图11,图12
图11是示出根据本实施方式的乘积累加运算装置的示例的示意图。图12是用于描述由图11所示的乘积累加运算装置对乘积累加信号的计算示例的图。
在本实施方式的乘积累加运算装置203中,将正负结果一并输入至一个电容器213,并且,保持与正权重电荷的总量与负权重电荷的总量之差相对应的电荷(V
在图11所示的示例中,由被配置为正权重乘积单元的突触回路208a生成正权重电荷,并经由正电荷输出线207a累积在累加单元211中包括的电容器213中。同时,由被配置为负权重乘积单元的突触回路208b生成的负权重电荷经由负电荷输出线207b从电容器213释放。
因此,对应于正权重电荷的总量与负权重电荷的总量之差的电荷(V
尽管在图11中未示出,但放电电路等被配置为通过负电荷输出线207b从电容器213释放由突触回路208b生成的负权重电荷。输入信号(PMW信号)in
用于释放负重电荷的放电电路等是包括在累加单元211中的元件。此外,用于将输入信号(PMW信号)in
在图12所示的输入时段T的开始定时,断开开关216a,而接通开关216b。然后,在输入时段T内输入输入信号。注意,在图12中,仅示出了输入信号in
与输入信号in
在输入时段T的结束定时t
另外,由电容器213保持的电压变得大于阈值θ的定时由输出单元212的比较器220检测。信号生成单元221基于检测到的定时来计算乘积累加信号(PWM信号)。
在本实施方式中,与第一实施例类似地设置与电容器213的累加状态相关联的充电速度α和阈值θ。即,作为电容器213的累加状态,估计电容器213中累积的权重的总量。根据估计结果,为累积的权重的总量设置有效范围E(有效最小值min至有效最大值max)。
如在第一实施方式中所述,基于设定的有效范围E来设置充电速度α和阈值θ。因此,可以非常高精度地计算与电荷(V
<第三实施方式>
图13是示出根据本发明的第三实施例的乘积累加运算装置的示例的电路原理图。
在根据本实施方式的乘积累加运算装置303中,累积正权重电荷的电容器313a和累积负权重电荷的电容器313b以相反的方向串联连接。因此,可以通过整个累加单元311保持与正权重电荷的总量和负权重电荷的总量之间的差相对应的电荷(V
在输入时段T的开始定时处,断开开关316a,316d和316e,并且接通开关316b,316c,316f和316g。然后,在输入时段T内输入输入信号。与输入信号相对应的正权重电荷累积在电容器313a中,并且与输入信号相对应的负权重电荷累积在电容器313b中。
在输入时段T的结束定时t
此外,接通开关316a,并且开始通过充电单元315(电流源318)的充电。由电容器313a和313b保持的电压变得大于阈值θ的定时通过输出单元312的比较器320来检测。由信号生成单元321基于检测到的定时来计算乘积累加信号(PWM信号)。注意,开关316d用于刷新电容器313a。
同样在本实施方式中,设置与串联连接的电容器313a和313b的累加状态相关联的充电速度α和阈值θ。即,将电容器313a和313b中累积的权重的总数估计为电容器313和313b的累加状态。根据估计结果,为累积的权重的总量设置有效范围E(有效最小值min至有效最大值max)。
基于设定的有效范围来设置充电速度α和阈值θ。因此,可以非常高精度地计算与电荷(V
<第四实施方式>
图14是示出根据本发明的第四实施方式的乘积累加运算装置的示例的示意电路图。
在根据本实施方式的乘积累加运算装置403中,差分放大电路425输出与正权重电荷的总量和负权重电荷的总量之间的差相对应的电荷(V
在输入时段T的开始定时处,接通开关416a,416b和416c,并且断开开关416b。然后,在输入时段T内输入输入信号。由差分放大电路425输出的电荷(V
在输入时段T的结束定时t
此外,由电容器和413保持的电压变得大于阈值θ的定时通过输出单元412的比较器420来检测。由信号生成单元221基于检测到的定时来计算乘积累加信号(PWM信号)。
即使在本实施方式中,设置与电容器和413的累加状态相关联的充电速度α阈值θ。即,将电容器413中累积的权重的总数估计为电容器413的累加状态。根据估计结果,为累积的权重的总量设置有效范围E(有效最小值min至有效最大值max)。
基于设定的有效范围来设置充电速度α和阈值θ。因此,可以非常高精度地计算与电荷(V
<其它实施方式>
本发明并不限于上述实施方式,并且可以实现各种其他实施方式。
图15是示出具有与信号值x
即,相对于尖峰定时信号适当地设置脉冲的下降定时使得可以将本技术应用为具有与信号值x
对于充电速度α和阈值θ的设置,在输出时段T中将α设置为θ/T。因此,公式(数学式6)、(数学式7)、(数学式10)和(数学式11)中由充电速度α、阈值θ和输出时段T限定的常数可以设为零,并且可以简化处理。
作为有效范围的有效最大值和有效最小值,可以采用从与累加单元累加的乘积值的和相对应的电荷理论值获得的理论最大值和理论最小值。例如,在通过学习处理设置各个权重之后,在与输入的最大值相对应的输入信号被输入到所有输入线的情况下累积的电荷的和被计算为理论最大值。此外,在与输入的最小值相对应的输入信号被输入到所有输入线的情况下累积的电荷的和被计算为理论最小值。不用说,计算理论最大值和理论最小值的方法是不受限制的。
图16是示出图4所示的神经元回路9的具体配置示例的电路图。图16所示的神经元回路9是在输入时段T之后以恒定的充电速度对电容器13充电的电路。此外,神经元回路9通过从一对输出线7接收一对正负输出作为输入,从单个输出信号线10(在图4中称为信号线1b)输出一个乘积累加结果,类似于图4。在图16中,将描述由PWM信号生成的电荷被输入到神经元回路9的情况。
在下文中,输入时段T称为T
除了图4所示的累加单元11和输出单元12之外,神经元回路9还包括充电单元80。充电单元80在输入时段T
充电单元80包括用于改变电容器13a的连接目标的第一选择开关81a、第二选择开关82a和第三选择开关83a,以及用于改变电容器13b的连接目标的第一选择开关81b、第二选择开关82b和第三选择开关83b。此外,第一控制线SW1、第二控制线SW2和电流线In连接到充电单元80。注意,每个选择器开关的连接状态(接通或断开)如图16所示表示输入时段T
第一选择开关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通过在输出时段T
输出单元12包括正比较器85a和负比较器85b以及ReLU函数电路86此外,输出单元12连接到提供预定阈值电压的阈值电压线Vth。正比较器85a(负比较器85b)连接到输出节点84a(输出节点84b)和阈值电压线Vth,并且在输出节点84a(输出节点85b)的电压超过阈值θ(阈值电压)的情况下,将输出电平从低切换到高。比较器85a和85b中的每一个的具体配置不受限制。
注意,例如,在输出时段T
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的运算示例。
首先,在输入时段T
因此,在执行乘积累加运算之前,输出线7a和7b可以被初始化为GND电平(安装电平)并且复位为初始状态。因此,累积在电容器13中的电荷和累积在输出线7的寄生电容中的电荷等被释放到GND。因此,重置了先前运算中累积的电荷等,因此,可以重复执行适当的算术处理。
注意,当完成电荷的重置时,第一选择开关81a和81b分别通过第一控制线SW1被设置为断开状态。此外,第二选择开关82a和82b均保持在断开状态,而第三选择开关83a和83b均保持在接通状态。在这种状态下,开始输入时段T
在输入时段T
例如,如图17的部分A所示,从+轴突(1)到+轴突(n)的PWM信号被输入到正输出线7a。因此,根据每个PWM信号的脉冲宽度(信号值)对正侧的电容器13a充电,并且根据每个PWM信号对正输出线7a的输入增加电容器13a的电压(+树突)。例如,如图17的部分B所示,从-轴突(1)到-轴突(n')的PWM信号被输入到负输出线7a。因此,根据每个PWM信号对负输出线7a的输入,增加负侧的电容器13a的电压(-树突)。请注意,在输入时段T
当输入时段T
此外,基本上同时,第二选择开关82a和82b分别被设置为接通状态,并且电流线In连接到电容器13a和13b。因此,电容器13a和13b由电流线In充电。具体地,如图17的部分A和部分B所示,In
在本实施方式中,电流线In用作恒定电流源。因此,流入各个电容器13a和13b的电流(In
例如,如图17的部分A和部分B所示,作为电容器13a和13b的电压的±树突通过连接到电流线而在输出时段T
电流线In提供电流,直到±树突达到阈值θ。然后,当±树突达到阈值θ时,分别从比较器85a和85b生成输出信号S
如图17所示的示例中,由于在输入时段T
表示正乘积累加结果和负乘积累加结果的信号(S
因此,在图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按原样输出表示正负乘积累加结果的一对乘积累加信号S
充电单元580在输入时段T
图19是示出图18所示的神经元回路509的运算示例的定时图。图19的部分A和图19的部分B分别是示出正权重值和负权重值的乘积累加运算的定时图。
在图19中,即使在输入时段T
因此,在图19中,各个轴突线以及正负输出线7a和7b用作充电单元580的一部分。在这种情况下,例如,神经元回路509可以在排除图18所示的第二选择开关582a和582b以及电流线In并且第三选择开关583a和583b短路的配置中运算。因此,可以简化用于给电容器513充电的电路配置。
首先,在输入时段T
在输入时段T
电容器513a和513b的输出节点584a和584b的电压均以恒定速率增加。然后,当输出节点584a和584b的电压(±树突)达到比较器585a和585b的阈值θ(阈值电压)时,分别产生正乘积累加信号S
图20是示出图18所示的神经元回路509的运算示例的定时图。图20的部分A和图20的部分B分别是示出正权重值和负权重值的乘积累加运算的定时图。在图20中,在输入时段T
在将输出线7a和7b等中的每一个复位到初始状态之后,开始输入时段T
在图20中,在输入时段T
此外,第二选择开关582a和582b在输出线7a和7b被分开时基本上同时被设置为接通状态。因此,电容器513a和513b中的每一个都连接到电流线In并且分别被提供有恒定电流In
如上所述,即使在使用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 运算装置。
机译: 包括电阻可变电阻元件和乘法累加单元的乘积运算装置,具有这些装置的每个神经元元件的神经网络以及乘积运算方法
机译: 多精度数据乘积求和运算电路和蒙哥马利乘法累加残差运算电路
机译: 在乘法累加器块中执行乘积运算的方法和装置
开通会员
免费获取本篇文献