本技术涉及执行乘积累加运算的乘积累加运算设备。
背景技术:
乘积累加运算是其中每一个载荷(权重)被分别添加到多个输入值中的每一个并且将多个输入值中的每一个彼此相加的运算,并且例如,利用乘积累加运算以便通过神经网络识别图像和语音。在乘积累加运算处理中可以使用作为多层感知机类型的神经网络模型。该处理可以通过通用数字计算机或者数字专用集成电路执行,并且在非专利文献1中描述了利用数字专用集成电路的具体实例。非专利文献1中的实例是其中尖峰神经元模型作为神经网络的一种方法的实例。在非专利文献2中描述了尖峰神经元模型的乘积累加运算。
在此,从减小乘积累加运算处理的电能消耗的角度来说,可以设想模拟集成电路比数字集成电路更优越。为了实现与有机体(最终,人类)的大脑相似的集成度和相似的电能消耗,研究了模拟集成电路的采用,并且其内容在非专利文献3中描述。
现有技术文献
非专利文献
非专利文献1:p.a.merolla等的“amillionspiking-neuronintegratedcircuitwithascalablecommunicationnetworkandinterface”,science,vol.345,no.6179,pp.668-673,2014
非专利文献2:w.maass的“fastsigmoidalnetworksviaspikingneurons”,neuralcomputation,vol.9,pp.279-304,1997
非专利文献3:t.tohara等的“siliconnanodiskarraywithafinfield-effecttransistorfortime-domainweightedsumcalculationtowardmassivelyparallelspikingneuralnetworks”,appl.phys.express,vol.9,pp.034201-1-4,2016
技术实现要素:
本发明要解决的问题
然而,在非专利文献2和3中未阐明其中正载荷和负载荷彼此同时存在的乘积累加运算,并且存在在正载荷和负载荷存在的情况下模拟集成电路的安装方式不清楚的问题。
鉴于上述情况,本发明的目的是提供能够执行其中正载荷和负载荷通过模拟方法彼此同时存在的乘积累加运算的处理的乘积累加运算设备。
问题的解决方案
根据按照该目的的本发明的一种乘积累加运算设备,通过使用模拟电路执行一系列处理,该一系列处理包括使给予的n个电信号中的每一个与每一个载荷对应,将每一个电信号的值乘以每一个与电信号对应的载荷的值以获得n个乘积值,并且导出n个乘积值的总和;该模拟电路包括:n+个第一输出装置,使在预定的时段t1中被给予的n+个电信号中的每一个与每一个正载荷对应并且分别输出电荷,每一个电荷具有根据每一个电信号的值和每一个与电信号对应的正载荷的值的大小,第一存储装置,n+个第一输出装置并联连接至该第一存储装置并且从n+个第一输出装置中的每一个输出的电荷被存储在该第一存储装置中,(n-n+)个第二输出装置,使在时段t1中被给予的(n-n+)个电信号中的每一个与负载荷的每一个绝对值对应并且分别输出电荷,每一个电荷具有根据每一个电信号的值和与电信号对应的负载荷的每一个绝对值的大小,第二存储装置,(n-n+)个第二输出装置并联连接至该第二存储装置并且从(n-n+)个第二输出装置中的每一个输出的电荷被存储在该第二存储装置中,以及乘积累加导出装置,当检测到保持在第一存储装置中的电压达到预置的第一阈值时计算第一乘积累加值,当检测到保持在第二存储装置中的电压达到预置的第二阈值时计算第二乘积累加值,并且通过从第一乘积累加值减去第二乘积累加值获得n个乘积值的总和,第一乘积累加值是通过将与n+个电信号对应的每一个正载荷分别乘以n+个电信号中的每一个的值获得的n+个乘积值的总和,第二乘积累加值是通过将与(n-n+)个电信号对应的负载荷的每一个绝对值分别乘以(n-n+)个电信号中的每一个的值获得的(n-n+)个乘积值的总和;在乘积累加运算设备中,第一阈值具有与n+个正载荷的总和与时段t1的长度的乘积成比例的大小,第二阈值具有与(n-n+)个负载荷的绝对值的总和与时段t1的长度的乘积成比例的大小,并且乘积累加运算设备在时段t1之后的具有与时段t1的长度相同长度的时段t2中导出第一乘积累加值和第二乘积累加值,其中,n是2以上的自然数,并且n+是n以下的自然数。
根据本发明的乘积累加运算设备,其中,该乘积累加运算设备可以:将假载荷添加至n+个正载荷的总和或者(n-n+)个负载荷的绝对值的总和中的较小的一个,假载荷与具有值0的虚拟电信号对应,并且是通过将-1乘以n+个正载荷的总和与(n-n+)个负载荷的绝对值的总和的差值而获得的数;使n+个正载荷的总和等于(n-n+)个负载荷的绝对值的总和;并且基于保持在第一存储装置中的电压达到第一阈值的第一定时与保持在第二存储装置中的电压达到第二阈值的第二定时的差值获得n个乘积值的总和。
根据本发明的乘积累加运算设备,其中,多个模拟电路可以经由开关机构分级连接,在第一定时与第二定时相同的情况下或者在第一定时早于第二定时的情况下,每一个开关机构可以将在下层中的每一个模拟电路获得的n个乘积值的总和传输至上层中的每一个模拟电路,并且在第一定时晚于第二定时的情况下,每一个开关机构可以将值0传输至上层中的每一个模拟电路。
本发明的效果
根据本发明的乘积累加运算设备可以执行其中正载荷和负载荷通过模拟法彼此同时存在的乘积累加运算,这是因为乘积累加运算设备中的模拟电路包括:n+个第一输出装置,使在预定的时段t1中被给予的n+个电信号中的每一个与每一个正载荷对应并且分别输出电荷,每一个电荷具有根据每一个电信号的值和每一个与电信号对应的正载荷的值的大小;第一存储装置,在第一存储装置中存储从n+个第一输出装置中的每一个输出的电荷;(n-n+)个第二输出装置,使在时段t1中被给予的(n-n+)个电信号中的每一个与负载荷的每一个绝对值对应并且分别输出电荷,每一个电荷具有根据每一个电信号的值和每一个与电信号对应的负载荷的绝对值的大小;第二存储装置,在第二存储装置中存储从(n-n+)个第二输出装置中的每一个输出的电荷;以及乘积累加导出装置,当检测到保持在第一存储装置中的电压达到第一阈值时计算第一乘积累加值,当检测到保持在第二存储装置中的电压达到第二阈值时计算第二乘积累加值,并且通过从第一乘积累加值减去第二乘积累加值获得n个乘积值的总和,第一乘积累加值是通过将与n+个电信号对应的每一个正载荷分别乘以n+个电信号中的每一个的值而获得的n+个乘积值的总和,第二乘积累加值是通过将与(n-n+)个电信号对应的每一个负载荷的绝对值分别乘以(n-n+)个电信号的每一个的值而获得的(n-n+)个乘积值的总和。此外,乘积累加运算设备可以在时段t1之后的具有与时段t1的长度相同长度的时段t2中导出第一乘积累加值和第二乘积累加值,并且模拟电路可以具有更简单的结构。此外,乘积累加运算设备在相同类型的电路中分别单独执行关于正载荷和负载荷的乘积累加运算中的每一个,并且每一个电荷仅在一个方向上移动。结果,可以实现减小每一个电路运算的电能消耗。
附图说明
图1的(a)和(b)是分别示出了根据本发明的第一实施方式的包括在乘积累加运算设备中的每一个模拟电路、以及每一个模拟电路计算每一个算出对象值的每一个计算定时的说明性示图。
图2是示出了乘积累加运算设备的说明性示图。
图3是示出了模拟电路的参考实例的说明性示图。
图4是示出了包括在乘积累加运算设备中的每一个模拟电路的电路图。
图5是示出了算术部的变形例的说明性示图。
图6是示出了包括在乘积累加运算设备中的算术部的说明性示图。
图7的(a)、(b)和(c)是分别示出了包括在乘积累加运算设备中的每一个模拟电路、模拟电路的第一变形例以及模拟电路的第二变形例的电路图。
图8是示出了根据本发明的第二实施方式的乘积累加运算设备的说明性示图。
图9是示出了relu函数电路的说明性示图。
图10是示出了应用于模拟的每一个载荷和每一个电信号的说明性示图。
图11是示出了在不需要假载荷的情况下的电路的说明性示图。
图12是示出了通过每一个转换开关切换每一个电阻的情况下的电路的说明性示图。
具体实施方式
随后,参考附图,为了理解本发明,将描述和提供详细说明本发明的实施方式。
如图1的(a)、图1的(b)和图2所示,根据本发明的第一实施方式的乘积累加运算设备10是通过使用模拟电路11执行一系列处理的设备,一系列处理包括使给予到每一个模拟电路11的n个电信号ii中的每一个与每一个载荷(权重)wi对应,将每一个电信号ii的值乘以每一个与电信号ii对应的载荷wi的值以获得n个乘积值,并且导出n个乘积值的总和,其中,n是2以上的自然数,并且i是n以下的自然数(i=1、2...n)。在下文中,将详细描述乘积累加运算设备10。
电信号ii(在下文中,简单地称为“电信号”)值被称为xi,并且n个电信号(在本实施方式中,脉冲信号)在预定的时段t1中被给予一个模拟电路11。以下示出了模拟电路11的算出对象值(换言之,n个乘积值的总和)。
[数学式1]
如图2所示,乘积累加运算设备10具有其中多个模拟电路11分别设置在多个层中的每一个的结构。最下层中的多个模拟电路11中的每一个基于分别从多个输入部12给予的n个(多个)电信号(在本实施方式中,脉冲信号)的值xi和施加至电信号的载荷wi来获得算出对象值,并且将指示算出对象值的电信号传输至上层中的模拟电路11。
上层中的每一个模拟电路11通过使从最下层(换言之,下层)中的多个模拟电路11传输的每一个电信号的值分别与每一个载荷wi对应来获得算出对象值,并且将指示算出对象值的电信号传输至更上层中的模拟电路11。在本实施方式中,乘积累加运算设备10被设计成适用于神经网络,并且例如,通过多次执行其中基于在下层中的每一个模拟电路11中获得的算出对象值而由上层中的每一个模拟电路11获得算出对象值的处理,乘积累加运算设备10来执行图像的识别等。
首先,将描述电信号的值xi是0以上且1以下的变量的情况下根据参考实例的模拟电路11a的结构,在参考实例中模拟电路11a通过执行与由模拟电路11执行的处理和由模拟电路11a执行的处理基本上相同的处理来获得算出对象值。应注意,载荷wi包括正载荷wi+和负载荷wi-,(因为正载荷wi+和负载荷wi-单独计算),并且在模拟电路11a中,然而,载荷wi被认为在正载荷wi+和负载荷wi-之间没有差异。
如图3所示,模拟电路11a包括:n个输出装置13,使在时段t1中被给予的n个电信号中的每一个与每一个载荷wi对应并且分别输出电荷,每一个电荷具有根据每一个电信号的值和每一个与电信号对应的载荷wi的值的大小;以及存储装置14,n个输出装置13并联连接至该存储装置并且从n个输出装置13中的每一个输出的电荷被存储在该存储装置中。
每一个输出装置13包括:输入端子15,每一个电信号被给予该输入端子;电阻16,输入端子15串联连接至该电阻;以及二极管17,电阻16串联连接至该二极管。每一个输出装置13的载荷wi的大小可以通过每一个电阻16的电阻值来确定。
具有不同大小的电信号在时段t1中的不同定时被给予每一个输出装置13的输入端子15。
时段t1的长度被称为tin,并且电信号给予输出装置13的输入端子15的定时被称为ti。如图1的(b)所示,在模拟电路11a中,给予输入端子15的每一个电信号的值xi被转换为通过使用以下描述的等式1给予每一个电信号的定时ti。
[数学式2]
ti=tin(1-xi)(等式1)
在从给予电信号的定时ti产生并且与经过时间t成比例增加或减小的波形被称为响应波形w(参见图1的(b))的情况下,示出利用存储装置14从每一个输出装置13供应的电荷的量的电荷量pi(t)可以由响应波形w的大小示出。在响应波形w关于经过时间ti的波动的倾角被称为ki的情况下,以下描述的等式2可应用于将载荷wi转换为ki。
[数学式3]
ki=λwi(等式2)
应注意,λ是正常数。
在此,如图1的(b)所示,通过添加所有响应波形w而形成的波形被称为合成波形tw。合成波形tw的大小是p1(t)、p2(t)、p3(t)...pn(t)的总和,并且等于通过存储在存储装置14中的电荷所产生的电压。合成波形tw的大小,换言之,保持在存储装置14中的电压被称为vn(t)。当vn(t)达到预置的阈值(阈值的大小被称为θ)时,输出与保持在存储装置14中的电压对应的脉冲信号。vn(t)达到阈值θ的定时被称为tν,并且结果,获得以下描述的等式3。
[数学式4]
β是载荷wi的总和,并且β由以下描述的等式4表示。
[数学式5]
基于等式1至4,模拟电路11a的算出对象值由以下描述的等式5表示。
[数学式6]
在此,所有载荷wi被假设为正值。当给予所有输入端子15的每一个电信号的值xi是最小值0时,等式5的左侧是0。因此,定时tν是最新的,并且定时tνmin由以下描述的等式6表示。
[数学式7]
等式5的左侧是0意味着与保持在存储装置14中的电压对应的输出定时是最新的。
另一方面,当给予所有输入端子15的每一个电信号的值xi是最大值1时,等式5的左侧是β。结果,定时tν是最早的,并且定时tνmax由以下描述的等式7表示。
[数学式8]
等式5的左侧是β意味着与保持在存储装置14中的电荷量对应的输出定时是最早的。结果,基于等式6和7,其中与保持在存储装置14中的电压对应的脉冲信号被输出的时段t2是[tνmax,tνmin],并且时段t2的时间长度tν通过以下描述的等式8给出。
[数学式9]
因此,与保持在存储装置14中的电压对应的脉冲信号被输出的时段t2的时间长度tv等于电信号被给予每一个输出装置13的时段t1的时间长度tin。
为了使模拟电路11a的算出对象值反映给予每一个输出装置13的所有电信号,在时段t1之后存在t2并且θ是合适值是必须的。因此,由以下描述的等式9表示的条件是必须的。
[数学式10]
基于等式7,等式9可以用以下描述的等式10替换。
[数学式11]
θ>λβtin(等式10)
在此,定义了微小数ε(>0)。通过使用ε,阈值θ由以下描述的等式11表示。
[数学式12]
θ=(1+ε)λβtin(等式11)
基于等式11,阈值θ具有与载荷wi的总和β与时段t1的长度tin的乘积成比例的大小。
此外,以下描述的等式12通过等式6和11获得,并且以下描述的等式13通过等式7和11获得。
[数学式13]
[数学式14]
因此,时段t2的时间范围可以由等式12和13表示。
接下来,将描述获得其中载荷wi划分成正载荷wi+和负载荷wi-的算出对象值的模拟电路11。
每一个模拟电路11使在时段t1中被给予的n个电信号的n+(n+是n以下的自然数)个电信号中的每一个与每一个正载荷wi+对应,并且使在时段t1中被给予的n个电信号的(n-n+)个电信号中的每一个与负载荷wi-的每一个绝对值对应。
如图4所示,模拟电路11包括:n+个第一输出装置18,分别输出具有根据在时段t1中被给予的n+个电信号中的每一个的值和与n+个电信号对应的正载荷wi的每一个的值的大小的电荷;以及第一存储装置19,n+个第一输出装置18并联连接至该第一存储装置并且从n+个第一输出装置18中的每一个输出的电荷被存储在第一存储装置中。每一个第一输出装置18对应于每一个正载荷wi+。
每一个第一输出装置18包括被给予电信号的输入端子20、pmos晶体管21、连接至输入端子20的pmos晶体管21的源极侧、以及连接至pmos晶体管21的漏极侧的二极管(整流管)22。将栅极电压(偏置电压)给予每一个pmos晶体管21的电压输出端子23连接至每一个第一输出装置18,并且每一个第一输出装置18具有在每一个第一输出装置18的pmos晶体管21中产生相同电阻的状态。
在本实施方式中,第一存储装置19是电容器(能够转移mos晶体管的栅极电容),并且在保持在第一存储装置19中的电压达到预置的第一阈值的定时(在下文中,该定时也被称为“第一定时”)输出脉冲信号的信号传输部24连接至第一存储装置19。保持在第一存储装置19中的电压的大小通过存储在第一存储装置19中的电荷的量确定。
此外,模拟电路11包括:n-(n-=n-n+)个第二输出装置26,使在时段t1中被给予的n-个电信号中的每一个与负载荷wi-的每一个绝对值对应并且分别输出具有根据在时段t1中被给予的n-个电信号中的每一个的值和与n-个电信号对应的负载荷wi-的每一个绝对值的大小的电荷;以及第二存储装置27,n-个第二输出装置26并联连接至第二存储装置27并且从n-个第二输出装置26中的每一个输出的电荷被存储在第二存储装置27中。每一个第二输出装置26对应于每一个负载荷wi-。
因此,n+个电信号被给予n+个第一输出装置18的时段与n-个电信号被给予n-个第二输出装置26的时段一致。
每一个第二输出装置26包括被给予电信号的输入端子28、pmos晶体管29、连接至输入端子28的pmos晶体管29的源极侧、以及连接至pmos晶体管29的漏极侧的二极管30。将栅极电压给予每一个pmos晶体管29的电压输出端子31连接至每一个第二输出装置26,并且每一个第二输出装置26具有在每一个第二输出装置26的pmos晶体管29中产生相同电阻的状态。每一个第一输出装置18的载荷wi+的大小由每一个第一输出装置18的pmos晶体管21确定,并且每一个第二输出装置26的载荷wi-的大小由每一个第二输出装置26的pmos晶体管29确定。
在本实施方式中,第二存储装置27是电容器(能够转移mos晶体管的栅极电容),并且在保持在第二存储装置27中的电压达到预置的第二阈值的定时(在下文中,该定时也被称为“第二定时”)输出脉冲信号的信号传输部32连接至第二存储装置27。保持在第二存储装置27中的电压的大小通过存储在第二存储装置27中的电荷的量确定。
在此,第一阈值的大小被称为θ+,第二阈值的大小被称为θ-,n+个正载荷wi+的总和被称为β+,并且n-个负载荷wi-的绝对值的总和被称为β-。β+和β-分别由以下描述的等式14和15表示。
[数学式15]
[数学式16]
在第一定时被称为tν+并且第二定时被称为tν-的情况下,基于n=n++n-、β=β+-β-和等式3,θ+和θ-分别由以下描述的等式16和17表示。
[数学式17]
[数学式18]
应注意,在等式16和17中,假设λ=1。
因此,在算出对象值(n个乘积值的总和)划分成正载荷wi+和负载荷wi-的情况下,获得以下描述的等式18和19。
[数学式19]
[数学式20]
在本实施方式中,通过等式18计算的值被称为第一乘积累加值(通过将与n+个电信号对应的每一个正载荷wi+分别乘以n+个电信号中的每一个的值获得的n+个乘积值的总和),并且通过等式19计算的值被称为第二乘积累加值(通过将与n-个电信号对应的负载荷wi-的每一个绝对值分别乘以n-个电信号中的每一个的值获得的n-个乘积值的总和)。如图4所示,模拟电路11包括通过从第一乘积累加值减去第二乘积累加值导出算出对象值的算术部33。算术部33连接至信号传输部24和32,在检测到脉冲信号从信号传输部24传输时计算第一乘积累加值,并且在检测到脉冲信号从信号传输部32传输时计算第二乘积累加值。
因此,算术部33在检测到保持在第一存储装置19中的电压达到第一阈值θ+时计算第一乘积累加值,并且在检测到保持在第二存储装置27中的电压达到第二阈值θ-时计算第二乘积累加值。结果,算术部33通过从第一乘积累加值减去第二乘积累加值而获得算出对象值。在本实施方式中,信号传输部24和32以及算术部33主要包括在导出算出对象值的乘积累加导出装置34中。
用于获得算出对象值的等式由以下描述的等式20表示。
[数学式21]
在此,假设算术部33在时段t2中计算第一乘积累加值和第二乘积累加值。为了使算出对象值反映给予每一个第一输出装置18的所有电信号以及给予每一个第二输出装置26的所有电信号,在时段t1之后存在时段t2是必须的。时段t1的时间长度和时段t2的时间长度都是tin。因此,第一阈值θ+和第二阈值θ-必须分别满足以下描述的等式21和22。
[数学式22]
θ+=(1+ε)λβ+tin(等式21)
[数学式23]
θ-=(1+ε)λβ-tin(等式22)
通过等式21和22,使第一阈值θ+具有与n+个载荷wi+的总和β+与时段t1的长度tin的乘积成比例的大小,并且使第二阈值θ-具有与n-个载荷wi-的绝对值的总和β-与时段t1的长度tin的乘积成比例的大小。结果,示出了可以通过算出对象值反映给予每一个第一输出装置18的所有电信号和给予每一个第二输出装置26的所有电信号。在本实施方式中,为了分别满足等式21和22,设置了值θ+和θ-。
此外,tν+和β+的乘积以及tν-和β-的乘积存在于等式20的右侧,并且为了基于等式20计算该算出对象值,作为图5中的类似物的电路单元35是算术部中的正载荷wi+和负载荷wi-中的每一个分别所需要的。结果,算术部必须具有复杂的电路结构。应注意,图5中的电路单元35对应于等式18并且用于正载荷wi+,并且与θ+和β+(tin-tν+)成比例的电荷可以存储在电容器36中。
因此,在本实施方式中,为了使算术部33的电路结构简单,与具有值0的虚拟电信号对应并且通过将-1乘以β+(换言之,n+个正载荷wi+的总和)和β-(换言之,n-个负载荷wi-的绝对值的总和)的差值而获得的假载荷w0(w0由以下描述的等式23表示)的绝对值被添加至β+或者β-中的较小的一个。
[数学式24]
wo=-(β+-β-)(等式23)
通过添加假载荷w0,β+和β-彼此相等。此时,β+=β-,并且基于等式21和22,θ+=θ-。因此,在假设β+=β-=β0的情况下,等式20可以用以下描述的等式24替换。
[数学式25]
基于等式24,在正载荷wi+和负载荷wi-彼此同时存在的情况下,基于第一定时和第二定时的差值获得算出对象值。
如图6所示,算术部33包括与门38、供应具有大小β0的电流的电流供应端子39、开关40、以及电容器41。与门38通过开关40将电流供应端子39连接至电容器41并且使电流供应端子39仅在保持在第一存储装置19中的电压达到第一阈值θ+的状态(in+处于接通状态)和保持在第二存储装置27中的电压没有达到第二阈值θ-的状态(in-处于断开状态)的时段中向电容器41供应电流。由于此,电容器41用与β0{(tν-)-(tν+)}成比例的电荷充电,并且可以获得具有与β0{(tν-)-(tν+)}成比例的大小的电压。结果,可以通过等式24导出算出对象值。
如图4和图7的(a)所示,在本实施方式中,来自每一个输入端子20的电信号在不同定时被供应到pmos晶体管21的每一个源极,并且来自一个电压输出端子23的电压被给予pmos晶体管21的每一个栅极。然而,并不局限于此。
如图7的(b)所示,例如,来自每一个输入端子20的电信号(电压)可以在不同定时被给到pmos晶体管21的每一个栅极,来自一个电压输出端子23的电信号(电压)可以被给到pmos晶体管21的每一个源极,并且可以改变每一个第一输出装置42的电阻值。如图7的(c)所示,可替换地,可以采用在其上设置可变电阻43的第一输出装置44,并且具有相同大小的电信号(电压脉冲)可以在不同定时被给到第一输出装置44的每一个输入端子20。
如图7的(a)和(b)所示,在模拟电路中使用mos晶体管的情况下,输入端子的电压和输出端子的电压之间的差异可以自动防止如下所述的逆流,并且模拟电路具有不需要二极管的优势。因此,例如,当每一个pmos晶体管21的阈值电压为-0.7v时,假设0.6v被施加到电压输出端子23,并且在预定定时从0v升高到1v的跨步电压被给到每一个输入端子20。在信号传输部24的检测阈值θ为0.3v的情况下,作为第一存储装置19的电容器的端子电压具有值0v至0.3v。此时,当跨步电压为1v时,每一个输入端子20的一侧是每一个pmos晶体管21的源极,并且电容器端子的一侧是漏极。结果,栅极和源极之间的电压为-0.4v,并且电流在每一个pmos晶体管21的次阈值区域中流动。另一方面,当跨步电压为0v时,每一个输入端子20的一侧是漏极,并且电容器端子的一侧是源极。因此,栅极和源栅极之间的电压为+0.3v至+0.6v,并且电流几乎不流动。以此方式,可以仅通过mos晶体管实现逆流防止功能,并且不必插入二极管。
此外,本发明可以应用于通过尖峰脉冲显示信息的尖峰神经网络模型。在下文中,参考图8和图9,将描述适用于尖峰神经网络模型的根据本发明的第二实施方式的乘积累加运算设备50。应注意,相同的参考符号附于乘积累加运算设备50的与乘积累加运算设备10的结构相似的结构,并且将省去其详细说明。
如图8所示,多个模拟电路11设置在乘积累加运算设备50的多个层中的每一个中,并且多个输入部12与将偏压值给予每一个模拟电路11的信号输出端子51连接至最下层中的多个模拟电路11中的每一个。
在正常的神经网络模型中,偏压值被输入至神经元。因此,信号输出端子51将表示作为偏压值的值1的电信号给予每一个模拟电路11,并且结果,乘积累加运算设备50通过乘积累加运算处理输入至神经元的偏压值。
神经网络模型重复其中在每一个神经元中由乘积累加运算获得的值通过由以下描述的等式25表示的激活函数f被非线性转换并且传递至上层中的每一个神经元的处理。
[数学式26]
近年来在深度神经网络模型中,所谓的灯函数或relu函数(参见以下描述的等式26)用作激活函数。
[数学式27]
因此,在乘积累加运算设备50中,执行relu函数(激活函数的实例)的处理的relu函数电路(开关机构的实例)52被设置在每一层之间,并且多个模拟电路11经由relu函数电路52分级连接。
在通过下层中的每一个模拟电路11获得的算出对象值是正的或0的情况下,每一个relu函数电路52将表示算出对象值的电信号照原样传输至上层中的每一个模拟电路11,并且在从下层中的每一个模拟电路11输出的算出对象值是负的情况下,每一个relu函数电路52将表示值0(零)的电信号传输至上层中的每一个模拟电路11。
在算出对象值是正的情况下,基于tν+≤tν-,在第一定时与第二定时相同的情况下,或者,在第一定时早于第二定时的情况下,每一个relu函数电路52将表示算出对象值的电信号传输至上层中的每一个模拟电路11。在第一定时晚于第二定时的情况下,每一个relu函数电路52将表示值0的电信号传输至上层中的每一个模拟电路11。
例如,每一个relu函数电路52可包括图9中的电路。每一个relu函数电路52包括与第一存储装置19对应的输入端子53、开关54、经由产生不变的延迟时间的延迟电路和开关54连接至输入端子53的输出端子55、与第二存储装置27对应的输入端子56和开关57、以及经由产生不变的延迟时间的延迟电路和开关57连接至输入端子56的输出端子58。
开关59和60中的每一个分别连接至输出端子55和58中的每一个,并且控制开关54、57、59和60中的每一个的通/断的控制部61连接至开关54、57、59和60中的每一个。此外,当开关59和60中的每一个接通时将与值0对应的电信号传输至输出端子55和58中的每一个的信号传输部62连接至开关59和60中的每一个。
在第一定时与第二定时相同的情况下,或者,在第一定时早于第二定时的情况下,控制部61接通开关54和57中的每一个并且断开开关59和60中的每一个,并且使输出端子55和58中的每一个输出算出对象值。
在第一定时晚于第二定时的情况下,控制部61断开开关54和57中的每一个并且接通开关59和60中的每一个,并且使输出端子55和58中的每一个输出表示值0的电信号。
此外,采用假载荷的原因在于使正载荷的总和与负载荷的总和中的每一个彼此相等。在图8中神经网络具有多个层的情况下,从最下层至上层的每一个输入是单个信号线。然而,更上层之间的每一个连接必须需要与正载荷和负载荷对应的一对信号线。通过分别提供用于正载荷的信号线和用于负载荷的信号线,自动满足使正载荷的总和与负载荷的总和中的每一个彼此相等的条件,并且结果,假载荷是不必要的。
此外,类似地,通过利用一对信号线从最下层改变信号线,假载荷是不必要的。因此,如图11所示,当提供了其中电阻(或者mos晶体管)作为介于其间的载荷的多对输入线和输出线,并且对应于载荷wi的电阻值连接至每一对中的输入线和输出线时,可以不提供假载荷。应注意,在图11中,为了简化,未示出用于防止逆流的每一个二极管。如通过等式1表示的,通过在至最下层的每一个输入中将对应于输入值xi的定时ti和对应于输入值0的定时tin配对,来构造输入信号线。
如图12所示,通过其中由每一个转换开关63切换每一个电阻(或者mos晶体管)的结构,也容易切换正载荷或负载荷中的每一个。根据第一实施方式的乘积累加运算设备10仅具有执行乘积累加运算的结构。然而,还产生了其中在外部执行学习功能,并且然后更新载荷值,载荷值从正载荷更新至负载荷、或者载荷值从负载荷更新至正载荷的情况。根据图12中的实例,可以仅通过切换每一个转换开关63实现该情况,并且因此,可以容易地执行安装。应注意,如通过等式24表示的,在通过具有多个层的网络传输定时的情况下,通过将系数β0/tin乘以定时获得乘积累加运算的结果,并且通过将设置到下一个上层的载荷通过系数的乘法逆元归一化而可以阻止载荷值发散。
此外,在上述实施方式中,有效的是诸如电阻随机存取存储设备或铁电栅极式mos晶体管的非易失性存储设备应用于用作每一个负载值的电阻或mos晶体管,或者应用于每一个转换开关以便每一个电阻至和每一个阈值是可变的。
实验例
接下来,将描述为确认本发明的效果而执行的数值模拟实验。
在本模拟中,在将电信号给予模拟电路的500个输入部以及给予偏压值的信号输出端子连接至的乘积累加运算设备中采用假载荷的情况下并且在将电信号给予模拟电路的500个输入部以及给予偏压值的信号输出端子连接至的乘积累加运算设备中不采用假载荷的情况下,确认算出对象值是否彼此相等。
在图10的(a)、(b)、(c)和(d)中分别示出了每一个正载荷、与正载荷对应的每一个电信号的值、每一个负载荷、以及与负载荷对应的每一个电信号的值。应注意,在图10的(c)和(d)中分别包括和示出了与偏压对应的载荷和偏压的值。
根据模拟结果,在采用假载荷的情况下和不采用假载荷的情况下,算出对象值为4.718,并且确认算出对象值彼此相等。
如上所述,描述了本发明的实施方式。然而,本发明不仅局限于实施方式,并且在本发明的适用范围中不背离本发明的大意的情况下,可以进行条件等的变化。
例如,可以不必采用假载荷来获得算出对象值。在不采用假载荷的情况下,可以提供基于等式20获得算出对象值的电路。
此外,不必需要通过激活函数进行的处理。
工业适用性
根据本发明的乘积累加运算设备可以改进神经网络的运算能力,并且结果,期望的是根据本发明的乘积累加运算设备被应用和开发到iot传感边缘终端等。
符号的说明
10:乘积累加运算设备,11、11a:模拟电路,12:输入部,13:输出装置,14:存储装置,15:输入端子,16:电阻,17:二极管,18:第一输出装置,19:第一存储装置,20:输入端子,21:pmos晶体管,22:二极管,23:电压输出端子,24:信号传输部,26:第二输出装置,27:第二存储装置,28:输入端子,29:pmos晶体管,30:二极管,31:电压输出端子,32:信号传输部,33:算术部,34:乘积累加导出装置,35:电路单元,36:电容器,38:与门,39:电流供应端子,40:开关41:电容器,42:第一输出装置,43:可变电阻,44:第一输出装置,50:乘积累加运算设备,51:信号输出端子,52:relu函数电路,53:输入端子,54:开关,55:输出端子,56:输入端子,57:开关,58:输出端子,59、60:开关,61:控制部,62:信号传输部,63:转换开关。