CN107871159A - 神经网络设备和操作神经网络设备的方法 - Google Patents
神经网络设备和操作神经网络设备的方法 Download PDFInfo
- Publication number
- CN107871159A CN107871159A CN201710826342.2A CN201710826342A CN107871159A CN 107871159 A CN107871159 A CN 107871159A CN 201710826342 A CN201710826342 A CN 201710826342A CN 107871159 A CN107871159 A CN 107871159A
- Authority
- CN
- China
- Prior art keywords
- linear
- layer
- feature
- current signature
- linear layer
- 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
- 230000007935 neutral effect Effects 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 55
- 241001269238 Data Species 0.000 claims abstract description 15
- 239000011248 coating agent Substances 0.000 claims description 4
- 238000000576 coating method Methods 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 9
- 210000005036 nerve Anatomy 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 1
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Abstract
在操作神经网络设备的方法中,由输入层接收多个连续输入数据。基于当前输入数据与先前输入数据之间的差,由输入层生成增量数据。基于通过对增量数据和第一先前特征执行第一线性运算而生成的第一增量特征,由第一线性层生成第一当前特征。基于通过对第一当前特征和第二先前特征执行第一非线性运算而生成的第二当前特征,由第一非线性层生成第二增量特征。基于通过对第二增量特征和第三先前特征执行第二线性运算而生成的第三增量特征,由第二线性层生成第三当前特征。
Description
相关申请的交叉引用
本申请要求于2016年9月23日提交的韩国专利申请第10-2016-0122471号和于2016年12月23日提交的韩国专利申请第10-2016-0177466号的优先权,其公开内容通过引用全部并入本文。
技术领域
本发明构思的示例性实施例涉及神经网络设备,且更具体地,涉及一种增加神经网络设备的运算速度的方法。
背景技术
也称为人造神经网络的神经网络是指以图案排列的硬件和/或软件的系统,使得其类似于人脑中的神经元的操作来操作。人造神经网络可以包括多个层,其中的每个层接收输入数据并通过处理输入数据来生成输出数据。
随着神经网络技术进步,诸如无人机(drone)、高级驾驶员辅助系统(ADAS)、机器人等的各种电子系统可以包括神经网络设备以从输入数据中提取有用信息。
发明内容
本发明构思的示例性实施例提供了一种操作可以增加运算速度的神经网络设备的方法,以及可以增加运算速度的神经网络设备。
根据本发明构思的示例性实施例,一种操作神经网络设备的方法包括:由输入层接收多个连续输入数据。神经网络设备包括包括输入层、第一线性层、第一非线性层和第二线性层的神经网络。该方法进一步包括,基于来自多个连续输入数据当中的当前输入数据与先前输入数据之间的差,由输入层生成增量数据。该方法进一步包括由第一线性层生成第一当前特征。第一当前特征对应于基于第一增量特征和第一先前特征对当前输入数据执行第一线性运算的结果。通过对增量数据执行第一线性运算来生成第一增量特征。第一先前特征存储在第一线性层中的第一寄存器中。该方法进一步包括基于第二当前特征和第二先前特征,由第一非线性层生成第二增量特征。通过对第一当前特征执行第一非线性运算来生成第二当前特征。第二先前特征存储在第一非线性层中的第二寄存器中。该方法进一步包括基于第三增量特征和第三先前特征,由第二线性层生成第三当前特征。第三当前特征对应于对第二当前特征执行第二线性运算的结果。通过对第二增量特征执行第二线性运算来生成第三增量特征。第三先前特征存储在第二线性层中的第三寄存器中。
根据本发明构思的示例性实施例,一种神经网络设备包括神经网络的输入层、神经网络的第一线性层、神经网络的第一非线性层和神经网络的第二线性层。输入层被配置为接收多个连续输入数据,并且基于来自多个连续输入数据当中的当前输入数据与先前输入数据之间的差生成增量数据。第一线性层被配置为通过对增量数据执行第一线性运算来生成第一增量特征,并且基于第一增量特征和第一先前特征生成第一当前特征。第一当前特征对应于对当前输入数据执行第一线性运算的结果。第一先前特征存储在第一线性层的第一寄存器中。第一非线性层被配置为通过对第一当前特征执行第一非线性运算来生成第二当前特征,并且基于第二当前特征和第二先前特征生成第二增量特征。第二先前特征存储在第一非线性层的第二寄存器中。第二线性层被配置为通过对第二增量特征执行第二线性运算来生成第三增量特征,并且基于第三增量特征和第三先前特征生成第三当前特征。第三当前特征对应于对第二当前特征执行第二线性运算的结果。第三先前特征存储在第二线性层的第三寄存器中。
根据本发明构思的示例性实施例,一种识别视频流中的对象的方法包括使用神经网络的输入层来接收在视频流中包括的多个连续数据帧,使用神经网络的输入层,基于来自多个连续数据帧当中的当前数据帧与先前数据帧之间的差,生成增量数据,以及使用神经网络的第一线性层生成第一当前特征。第一当前特征对应于基于第一增量特征和第一先前特征对当前数据帧执行第一线性运算的结果。通过对增量数据执行第一线性运算来生成第一增量特征。第一先前特征存储在第一线性层中的第一寄存器中。该方法进一步包括使用神经网络的第一非线性层,基于第二当前特征和第二先前特征来生成第二增量特征。通过对第一当前特征执行第一非线性运算来生成第二当前特征。第二先前特征存储在第一非线性层中的第二寄存器中。该方法进一步包括使用神经网络的第二线性层,基于第三增量特征和第三先前特征来生成第三当前特征。第三当前特征对应于对第二当前特征执行第二线性运算的结果。通过对第二增量特征执行第二线性运算来生成第三增量特征。第三先前特征存储在第二线性层中的第三个寄存器中。该方法进一步包括使用第三当前特征识别视频流中的对象。
附图说明
通过参考附图详细描述其示例性实施例,本发明构思的上述和其他特征将变得更加明显,在附图中:
图1是图示根据发明构思的示例性实施例的神经网络设备的框图。
图2是图示根据发明构思的示例性实施例的操作神经网络设备的方法的流程图。
图3是图示根据发明构思的示例性实施例的图2的第一线性层生成第一当前特征的过程的示例的流程图。
图4是图示根据发明构思的示例性实施例的图3的第一线性层通过对增量数据执行第一线性运算来生成第一增量特征的过程的示例的图。
图5是图示根据发明构思的示例性实施例的图2的第一非线性层生成第二增量特征的过程的示例的流程图。
图6是图示根据发明构思的示例性实施例的图5的第一非线性层通过对第一当前特征执行第一非线性运算来生成第二当前特征的过程的示例的图。
图7是图示根据发明构思的示例性实施例的图2的第二线性层生成第三当前特征的过程的示例的流程图。
图8是图示根据发明构思的示例性实施例的图7的第二线性层通过对第二增量特征执行第二线性运算来生成第三增量特征的过程的示例的图。
图9是图示根据发明构思的示例性实施例的神经网络设备的框图。
图10是图示根据发明构思的示例性实施例的操作神经网络设备的方法的流程图。
具体实施方式
将在下文中参考附图更全面地描述本发明构思的示例性实施例。遍及附图相同的附图标记可以指相同的元件。
图1是图示根据发明构思的示例性实施例的神经网络设备的框图。
参考图1,神经网络设备10包括输入层IN_L 100、第一线性层L1_L 200、第一非线性层NL1_L 300、第二线性层L2_L 400和输出层O_L 700。输入层IN_L 100、第一线性层L1_L200、第一非线性层NL1_L 300、第二线性层L2_L 400和输出层O_L 700可以以图1所示的次序彼此顺序地连接。这里,线性层可以指执行线性运算的层,并且非线性层可以指执行非线性运算的层。
输入层100可以连续地接收多个输入数据IDATA。当输入层100被描述为连续地接收多个输入数据IDATA时,输入层100以顺序次序接收多个连续输入数据IDATA。例如,当输入数据IDATA对应于视频流时,多个连续输入数据IDATA对应于当以顺序次序形成视频流时的多个连续图像帧。在这种情况下,输入层100根据视频流以顺序次序接收多个连续输入数据IDATA。
当输入层100接收多个输入数据IDATA中的每一个时,输入层100可以基于当前输入数据IDATA(t)与先前输入数据IDATA(t-1)之间的差生成增量数据DDATA(t)。例如,输入层100可以基于来自多个输入数据当中的连续输入数据之间的差来生成增量数据。
在生成增量数据DDATA(t)之后,输入层100可以向第一线性层200提供增量数据DDATA(t)。在示例性实施例中,输入层100可以仅向第一线性层200提供增量数据DDATA(t),而不向第一线性层200提供多个输入数据IDATA的其余部分。这里,t表示等于或大于零的整数。
第一线性层200可以通过对从输入层100接收的增量数据DDATA(t)执行第一线性运算来生成第一增量特征D1_F(t)。第一线性层200可进一步基于第一增量特征D1_F(t)和存储在第一线性层200的第一寄存器210中的第一先前特征P1_F(t-1),生成与对当前输入数据IDATA(t)执行第一线性运算的结果对应的第一当前特征C1_F(t)。第一线性层200可以向第一非线性层300提供第一当前特征C1_F(t)。
在示例性实施例中,第一线性层200可对应于神经网络的卷积层。因此,第一线性运算可以包括对增量数据DDATA(t)和第一权重执行的加法运算和乘法运算。在示例性实施例中,第一权重可以是预定的。
第一非线性层300可以通过对从第一线性层200接收的第一当前特征C1_F(t)执行第一非线性运算来生成第二当前特征C2_F(t)。第一非线性层300可以进一步基于第二当前特征C2_F(t)和存储在第一非线性层300的第二寄存器310中的第二先前特征P2_F(t-1)来生成第二增量特征D2_F(t)。第一非线性层300可以向第二线性层400提供第二增量特征D2_F(t)。
在示例性实施例中,第一非线性层300可对应于神经网络的激活层(activationlayer)和池化层(pooling layer)中的一个。
第二线性层400可以通过对从第一非线性层300接收的第二增量特征D2_F(t)执行第二线性运算来生成第三增量特征D3_F(t)。第二线性层400可进一步基于第三增量特征D3_F(t)和存储在第二线性层400的第三寄存器410中的第三先前特征P3_F(t)生成与对第二当前特征C2_F(t)执行第二线性运算的结果对应的第三当前特征C3_F(t)。第二线性层400可以向输出层700提供第三当前特征C3_F(t)。
在示例性实施例中,第二线性层400可以对应于神经网络的全连接层。因此,第二线性运算可以包括对第二增量特征D2_F(t)和与第二权重对应的矩阵执行的矩阵乘法运算。在示例性实施例中,与第二权重对应的矩阵可以是预定的。
输出层700可以从第二线性层400接收第三当前特征C3_F(t)。
如上所述,由于第三当前特征C3_F(t)对应于对当前输入数据IDATA(t)连续执行第一线性运算、第一非线性运算和第二线性运算的结果,所以第三当前特征C3_F(t)可以隐含地包括在当前输入数据IDATA(t)中包括的信息。
因此,输出层700可以使用从第二线性层400接收的第三当前特征C3_F(t)识别在当前输入数据IDATA(t)中包括的信息,并且生成与识别的信息对应的识别信号REC。
在示例性实施例中,多个输入数据IDATA可对应于在视频流中包括的多个帧数据。在这种情况下,输出层700可以使用从第二线性层400接收的第三当前特征C3_F(t)来识别/检测在与当前输入数据IDATA(t)对应的帧数据中包括的对象,以及生成与识别的对象对应的识别信号REC。
图2是图示根据发明构思的示例性实施例的操作神经网络设备的方法的流程图。
可以由图1的神经网络设备10执行操作图2的神经网络设备的方法。
在下文中,将参考图1和图2描述操作神经网络设备10的方法。
输入层100可以连续地接收多个输入数据IDATA(操作S110)。
在示例性实施例中,在多个输入数据IDATA中包括的连续输入数据可以具有高度相似性。例如,多个输入数据IDATA可以对应于在视频流中包括的多个帧数据。例如,在视频流的多个帧数据中包括的连续帧可以相对彼此具有高度相似性。
在下文中,多个输入数据IDATA将被假定为在视频流中包括的多个帧数据。然而,本发明构思不限于此。例如,根据示例性实施例,多个输入数据IDATA可以是其中连续数据具有高度相似性的任何类型的数据。
当输入层100接收多个输入数据IDATA中的每一个时,输入层100可以基于当前输入数据IDATA(t)与先前输入数据IDATA(t-1)之间的差来生成增量数据DDATA(t)(操作S120)。
例如,当输入层100接收多个输入数据IDATA中的每一个时,输入层100可以通过执行[等式1]的运算来生成增量数据DDATA(t):
[等式1]
DDATA(t)=IDATA(t),(如果,t=0)
DDATA(t)=IDATA(t)-IDATA(t-1),(如果,t>0)
如[等式1]所表示的,当输入层100接收第一输入数据IDATA(0)作为当前数据IDATA(t)时,输入层100可以从多个输入数据IDATA当中确定第一输入数据IDATA(0)作为增量数据DDATA(t)(例如,可以将第一输入数据IDATA(0)设置为增量数据DDATA(t)),并且当输入层100在接收第一输入数据IDATA(0)之后接收多个输入数据IDATA中的每一个时,通过从当前接收的当前输入数据IDATA(t)中减去先前接收的先前输入数据IDATA(t-1)来生成增量数据DDATA(t)。
在示例性实施例中,当当前输入数据IDATA(t)与先前输入数据IDATA(t-1)之间的差小于阈值时,输入层100可以确定增量数据DDATA(t)为0(例如,可以将增量数据DDATA(t)设置为0)。可替代地,当当前输入数据IDATA(t)与先前输入数据IDATA(t-1)之间的差等于或大于阈值时,输入层100可以确定当前输入数据IDATA(t)与先前输入数据IDATA(t-1)之间的差作为增量数据DDATA(t)(例如,可以将增量数据DDATA(t)设置为当前输入数据IDATA(t)与先前输入数据IDATA(t-1)之间的差)。
尽管[等式1]示出了通过从当前输入数据IDATA(t)中减去先前输入数据IDATA(t-1)来生成增量数据DDATA(t),但本发明构思不限于此。例如,根据示例性实施例,输入层100可以通过从当前输入数据IDATA(t)中减去在当前输入数据IDATA(t)之前多于两个周期接收的先前输入数据IDATA(t-a)来生成增量数据DDATA(t)。这里,a表示等于或大于2的整数。
例如,在示例性实施例中,输入层100可以通过从当前输入数据IDATA(t)中减去在当前输入数据IDATA(t)之前两个周期接收的先前输入数据IDATA(t-2)来生成增量数据DDATA(t),或通过从当前输入数据IDATA(t)中减去在当前输入数据IDATA(t)之前三个周期接收的先前输入数据IDATA(t-3)来生成增量数据DDATA(t)。
当多个输入数据IDATA对应于在视频流中包括的多个帧数据时,当前输入数据IDATA(t)和先前输入数据IDATA(t-1)可以具有高度相似性。因此,在增量数据DDATA(t)中包括的大多数值可以是0。
输入层100可以仅向第一线性层200提供增量数据DDATA(t),而不向第一线性层200提供多个输入数据IDATA的其余部分。
第一线性层200可以通过对从输入层100接收的增量数据DDATA(t)执行第一线性运算来生成第一增量特征D1_F(t)。第一线性层200可进一步基于第一增量特征D1_F(t)和存储在第一线性层200的第一寄存器210中的第一先前特征P1_F(t-1)来生成与对当前输入数据IDATA(t)执行第一线性运算的结果对应的第一当前特征C1_F(t)(操作S130)。
存储在第一线性层200的第一寄存器210中的第一先前特征P1_F(t-1)可以对应于对先前输入数据IDATA(t-1)执行第一线性运算的结果。
图3是图示根据发明构思的示例性实施例的图2的第一线性层生成第一当前特征的过程的示例的流程图。根据发明构思的示例性实施例,图3的流程图中所图示的操作对应于图2的流程图中的操作S130。
参考图3,第一线性层200可以通过对从输入层100接收的增量数据DDATA(t)执行第一线性运算来生成第一增量特征D1_F(t)(操作S131)。
在示例性实施例中,第一线性层200可对应于神经网络的卷积层。在这种情况下,第一线性运算可以包括使用第一权重的卷积运算。因此,第一线性层200可以通过执行[等式2]的运算来生成第一增量特征D1_F(t):
[等式2]
D1_F(t)=DDATA(t)*k
这里,*表示卷积运算,并且k表示卷积运算中使用的第一权重。
图4是图示根据发明构思的示例性实施例的图3的第一线性层通过对增量数据执行第一线性运算来生成第一增量特征的过程的示例的图。
在图4中,作为示例,增量数据DDATA(t)具有(n1×m1)个值,并且第一增量特征D1_F(t)具有(n2×m2)个值。这里,n1、m1、n2和m2中的每一个表示正整数。
如图4所示,第一线性层200可以设置增量数据DDATA(t)中的第一窗口W1,并使用第一权重对在第一窗口W1中包括的值执行第一线性运算L1_OP,以生成第一增量特征D1_F(t)的一个值。以这种方式,第一线性层200可以通过使用第一权重对在第一窗口W1中包括的值执行第一线性运算L1_OP同时在增量数据DDATA(T)中移动第一窗口W1来生成第一增量特征D1_F(t)的值。
然而,应当理解,图4中所图示的第一线性运算L1_OP是示例性的,并且发明构思不限于此。例如,根据示例性实施例,第一线性运算L1_OP可以包括任何线性运算(例如,除了图4所图示的线性运算L1_OP之外的线性运算)。
再次参考图3,由于第一线性运算L1_OP包括对增量数据DDATA(t)和第一权重执行的加法和乘法运算,所以第一线性运算L1_OP可以满足交换律、分配律和结合律。
因此,如[等式3]所表示的,与对当前输入数据IDATA(t)执行第一线性运算L1_OP的结果对应的第一当前特征C1_F(t)可以表示为存储在第一线性层200的第一寄存器210中并且与对先前输入数据IDATA(t-1)执行第一线性运算L1_OP的结果对应的第一先前特征P1_F(t-1)以及通过对增量数据DDATA(t)执行第一线性运算L1_OP而生成的第一增量特征D1_F(t)之和:
[等式3]
C1_F(t)=IDATA(t)*k
=(IDATA(t-1)+DDATA(t))*k
=IDATA(t-1)*k+DDATA(t)*k
=P1_F(t-1)+D1_F(t)
因此,第一线性层200可以通过将第一增量特征D1_F(t)与存储在第一线性层200的第一寄存器210中的第一先前特征P1_F(t-1)相加来生成第一当前特征C1_F(t)(操作S133)。
此外,第一线性层200可以通过将第一当前特征C1_F(t)存储在第一寄存器210中来将第一寄存器210从第一先前特征P1_F(t-1)更新为第一当前特征C1_F(t)(操作S135)。例如,第一线性层200可以通过用第一当前特征C1_F(t)替换第一先前特征P1_F(t-1)来更新第一寄存器210。
如上参考图3和图4所述,在示例性实施例中,第一线性层200不通过对当前输入数据IDATA(t)直接执行第一线性运算L1_OP来生成第一当前特征C1_F(t)。相反,在示例性实施例中,第一线性层200以递归方式生成第一当前特征C1_F(t),其中第一线性层200通过对增量数据DDATA(t)执行第一线性运算L1_OP来生成第一增量特征D1_F(t),并且然后将第一增量特征D1_F(t)与第一先前特征P1_F(t-1)相加。
如上所述,当多个输入数据IDATA对应于在视频流中包括的多个帧数据时,当前输入数据IDATA(t)和先前输入数据IDATA(t-1)可以具有高度相似性。因此,在增量数据DDATA(t)中包括的大多数值可以为0。结果,第一线性层200可以以高速对增量数据DDATA(t)执行第一线性运算L1_OP。因此,第一线性层200可以以高速生成与对当前输入数据IDATA(t)执行第一线性运算L1_OP的结果对应的第一当前特征C1_F(t)。
一旦已经由第一线性层200生成第一当前特征C1_F(t),则第一线性层200可以仅向第一非线性层300提供第一当前特征C1_F(t)。
再次参考图2,第一非线性层300可以通过对从第一线性层200接收的第一当前特征C1_F(t)执行第一非线性运算来生成第二当前特征C2_F(t)。第一非线性层300可以进一步基于第二当前特征C2_F(t)和存储在第一非线性层300的第二寄存器310中的第二先前特征P2_F(t-1)来生成第二增量特征D2_F(t)(操作S140)。
存储在第一非线性层300的第二寄存器310中的第二先前特征P2_F(t-1)可以对应于对在先前周期期间从第一线性层200提供给第一非线性层300的特征执行第一非线性运算的结果。
图5是图示根据发明构思的示例性实施例的图2的第一非线性层生成第二增量特征的过程的示例的流程图。根据发明构思的示例性实施例,图5的流程图中所图示的操作对应于图2的流程图中的操作S140。
参考图5,第一非线性层300可以通过对从第一线性层200接收的第一当前特征C1_F(t)执行第一非线性运算来生成第二当前特征C2_F(t)(操作S141)。
在示例性实施例中,第一非线性层300可对应于神经网络的激活层和池化层中的一个。
图6是图示根据发明构思的示例性实施例的图5的第一非线性层通过对第一当前特征执行第一非线性运算来生成第二当前特征的过程的示例的图。
在图6中,作为示例,第一当前特征C1_F(t)具有(n2×m2)个值,并且第二当前特征C2_F(t)具有(n3×m3)个值。这里,n3和m3中的每一个表示正整数。
如图6所图示,第一非线性层300可以在第一当前特征C1_F(t)中设置第二窗口W2,并且从第二窗口W2中包括的值当中确定最大值作为第二当前特征C2_F(t)的一个值。以这种方式,第一非线性层300可以对第一当前特征C1_F(t)执行第一非线性运算NL1_OP,以通过从第二窗口W2中包括的值当中确定最大值作为第二当前特征C2_F(t)的一个值同时在第一当前特征C1_F(t)中移动第二窗口W2来生成第二当前特征C2_F(t)的值。
如上参考图6所述,在示例性实施例中,由于第一非线性运算NL1_OP不包括对第一当前特征C1_F(t)和权重的值执行的加法和乘法运算,所以第一非线性层300可以以高速执行第一非线性运算NL1_OP。
然而,应当理解,图6中所图示的第一非线性运算NL1_OP是示例性的,并且发明构思不限于此。例如,根据示例性实施例,第一非线性运算NL1_OP可以包括任何非线性运算(例如,除了图6所图示的非线性运算NL1_OP之外的非线性运算)。
再次参考图5,如[等式4]所表示的,第一非线性层300可以通过从第二当前特征C2_F(t)中减去存储在第一非线性层300的第二寄存器310中的第二先前特征P2_F(t-1)来生成第二增量特征D2_F(t)(操作S143):
[等式4]
D2_F(t)=C2_F(t)-P2_F(t-1)
此外,第一非线性层300可以通过将第二当前特征C2_F(t)存储在第二寄存器310中来将第二寄存器310从第二先前特征P2_F(t-1)更新为第二当前特征C2_F(t)(操作S145)。例如,第一非线性层300可以通过用第二当前特征C2_F(t)替换第二先前特征P2_F(t-1)来更新第二寄存器310。
第一非线性层300可以仅向第二线性层400提供第二增量特征D2_F(t)。
如上所述,当多个输入数据IDATA对应于在视频流中包括的多个帧数据时,当前输入数据IDATA(t)和先前输入数据IDATA(t-1)可以具有高度相似性。因此,与第二当前特征C2_F(t)和第二先前特征P2_F(t-1)之间的差对应的第二增量特征D2_F(t)中包括的大多数值可以是0。
再次参考图2,第二线性层400可以通过对从第一非线性层300接收的第二增量特征D2_F(t)执行第二线性运算来生成第三增量特征D3_F(t)。第二线性层400可以进一步基于第三增量特征D3_F(t)和存储在第二线性层400的第三寄存器410中的第三先前特征P3_F(t-1)来生成与对第二当前特征C2_F(t)执行第二线性运算的结果对应的第三当前特征C3_F(t)(操作S150)。
这里,存储在第二线性层400的第三寄存器410中的第三先前特征P3_F(t-1)可以对应于对存储在第一非线性层300的第二寄存器310中的第二先前特征P2_F(t-1)执行第二线性运算的结果。
图7是图示根据发明构思的示例性实施例的图2的第二线性层生成第三当前特征的过程的示例的流程图。根据发明构思的示例性实施例,图7的流程图中所图示的操作对应于图2的流程图中的操作S150。
参考图7,第二线性层400可以通过对从第一非线性层300接收的第二增量特征D2_F(t)执行第二线性运算来生成第三增量特征D3_F(t)(操作S151)。
在示例性实施例中,第二线性层400可以对应于神经网络的全连接层。在这种情况下,第二线性运算可以包括使用与第二权重对应的矩阵的矩阵乘法运算。因此,通过对第二增量特征D2_F(t)执行第二线性运算而生成的第三增量特征D3_F(t)的值中的每一个可以与第二增量特征D2_F(t)的所有值相关。
图8是图示根据发明构思的示例性实施例的图7的第二线性层通过对第二增量特征执行第二线性运算来生成第三增量特征的过程的示例的图。
在图8中,作为示例,第二增量特征D2_F(t)具有(n3×m3)个值,并且第三增量特征D3_F(t)具有(n4×m4)个值。这里,n4和m4中的每一个表示正整数。
如图8所图示的,第二线性层400可以通过对第二增量特征D2_F(t)的所有值以及与第二权重对应的矩阵执行矩阵乘法运算来对第二增量特征D2_F(t)执行第二线性运算L2_OP以生成第三增量特征D3_F(t)的值中的每一个。因此,通过对第二增量特征D2_F(t)执行第二线性运算L2_OP生成的第三增量特征D3_F(t)的值中的每一个可以与第二增量特征D2_F(t)的所有值相关。
然而,应当理解,图8中所图示的第二线性运算L2_OP是示例性的,并且发明构思不限于此。例如,根据示例性实施例,第二线性运算L2_OP可以包括任何线性运算(例如,除了图8中所图示的线性运算L2_OP之外的线性运算)。
再次参考图7,由于第二线性运算L2_OP包括对第二增量特征D2_F(t)的值和与第二权重对应的矩阵执行的加法和乘法运算,所以第二线性运算L2_OP可以满足交换律、分配律以及结合律。
因此,如[等式5]所表示的,与对第二当前特征C2_F(t)执行第二线性运算L2_OP的结果对应的第三当前特征C3_F(t)可以表示为存储在第二线性层400的第三寄存器410中并与对第二先前特征P2_F(t-1)执行第二线性运算L2_OP的结果对应的第三先前特征P3_F(t-1)以及通过对第二增量特征D2_F(t)执行第二线性运算L2_OP而生成的第三增量特征D3_F(t)之和:
[等式5]
C3_F(t)=C2_F(t)x M2
=(P2_F(t-1)+D2_F(t))x M2
=P2_F(t-1)x M2+D2_F(t)x M2
=P3_F(t-1)+D3_F(t)
这里,x表示第二线性运算L2_OP,并且M2表示与第二权重对应的矩阵。
因此,第二线性层400可以通过将第三增量特征D3_F(t)与存储在第二线性层400的第三寄存器410中的第三先前特征P3_F(t-1)相加来生成第三当前特征C3_F(t)(操作S153)。
此外,第二线性层400可以通过将第三当前特征C3_F(t)存储在第三寄存器410中来将第三寄存器410从第三先前特征P3_F(t-1)更新为第三当前特征C3_F(t)(操作S155)。例如,第二线性层400可以通过用第三当前特征C3_F(t)替换第三先前特征P3_F(t-1)来更新第三寄存器410。
如上参考图7和图8所述,在示例性实施例中,第二线性层400不通过对第二当前特征C2_F(t)直接执行第二线性运算L2_OP来生成第三当前特征C3_F(t)。相反,在示例性实施例中,第二线性层400以递归方式生成第三当前特征C3_F(t),其中第二线性层400通过对第二增量特征D2_F(t)执行第二线性运算L2_OP来生成第三增量特征D3_F(t),并且然后将第三增量特征D3_F(t)与第三先前特征P3_F(t-1)相加。
如上所述,当多个输入数据IDATA对应于在视频流中包括的多个帧数据时,与第二当前特征C2_F(t)和第二先前特征P2_F(t-1)之间的差对应的第二增量特征D2_F(t)中包括的大多数值可以为0。结果,第二线性层400可以以高速对第二增量特征D2_F(t)执行第二线性运算L2_OP。因此,第二线性层400可以以高速生成与对第二当前特征C2_F(t)执行第二线性运算L2_OP的结果对应的第三当前特征C3_F(t)。
第二线性层400可以仅向输出层700提供第三当前特征C3_F(t)。
如上所述,由于第三当前特征C3_F(t)对应于对当前输入数据IDATA(t)连续执行第一线性运算L1_OP、第一非线性运算NL1_OP和第二线性运算L2_OP的结果,所以第三当前特征C3_F(t)可以隐含地包括当前输入数据IDATA(t)中包括的信息。
因此,再次参考图2,输出层700可以使用从第二线性层400接收的第三当前特征C3_F(t)识别在当前输入数据IDATA(t)中包括的信息,并且生成与识别的信息对应的识别信号REC(操作S180)。
在示例性实施例中,多个输入数据IDATA可以对应于在视频流中包括的多个帧数据。在这种情况下,输出层700可以使用从第二线性层400接收的第三当前特征C3_F(t)识别与当前输入数据IDATA(t)对应的帧数据中包括的对象,并且生成与识别的对象对应的识别信号REC。
如上参考图1至图8所述,根据示例性实施例的神经网络设备10可以利用连续输入数据IDATA之间的高度相似性来以高速执行线性运算,使得可以提高神经网络设备10的运算速度。因此,即使当以高速提供多个输入数据IDATA时,根据示例性实施例的神经网络设备10也可以能够快速地识别在多个输入数据IDATA中包括的信息。
此外,根据示例性实施例的神经网络设备10可以减少由第一线性层200和第二线性层400执行的运算量。因此,可以减少神经网络设备10的功耗。
图9是图示根据发明构思的示例性实施例的神经网络设备的框图。
参考图9,神经网络设备20包括输入层IN_L 100、第一线性层L1_L 200、第一非线性层NL1_L 300、第二线性层L2_L 400、第二非线性层NL2_L 500、第三线性层L3_L 600和输出层O_L 700。输入层IN_L 100、第一线性层L1_L 200、第一非线性层NL1_L 300、第二线性层L2_L 400、第二非线性层NL2_L 500、第三线性层L3_L 600和输出层O_L 700可以以图9中所示的次序彼此顺序地连接。
图10是图示根据发明构思的示例性实施例的操作神经网络设备的方法的流程图。
可以由图9的神经网络设备20执行图10的操作神经网络设备的方法。
与图1的神经网络设备10相比,图9的神经网络设备20可以进一步包括第二非线性层500和第三线性层600。根据示例性实施例,附加的非线性层和/或线性层可进一步包括在图9的神经网络设备20中或图1的神经网络设备10中。
图9的神经网络设备20可以与图1的神经网络设备10类似地操作,除了在示例性实施例中第一线性层200对应于神经网络的卷积层并且第二线性层400对应于图1的神经网络设备10中神经网络的全连接层,而在图9的神经网络设备20中,在示例性实施例中,第一线性层200和第二线性层400对应于神经网络的卷积层,并且第三线性层600对应于神经网络的全连接层。
因此,为了便于说明,这里将参考图9和图10来描述第二非线性层500和第三线性层600的运算,并且可以省略先前描述的组件和过程的进一步描述。
第二非线性层500可以通过对从第二线性层400接收的第三当前特征C3_F(t)执行第二非线性运算来生成第四当前特征C4_F(t)。第二非线性层500可以进一步基于第四当前特征C4_F(t)和存储在第二非线性层500的第四寄存器510中的第四先前特征P4_F(t-1)来生成第四增量特征D4_F(t)(操作S160)。
这里,存储在第二非线性层500的第四寄存器510中的第四先前特征P4_F(t-1)可以对应于对在先前周期期间从第二线性层400提供给第二非线性层500的特征执行第二非线性运算的结果。
在示例性实施例中,第二非线性层500可对应于神经网络的激活层和池化层中的一个。
以其中第一非线性层300基于第一当前特征C1_F(t)和存储在第一非线性层300的第二寄存器310中的第二先前特征P2_F(t-1)生成第二增量特征D2_F(t)的类似方式,基于第三当前特征C3_F(t)和存储在第二非线性层500的第四寄存器510中的第四先前特征P4_F(t-1),第二非线性层500可以生成第四增量特征D4_F(t)。
为了便于说明,由于参考图5和图6在上面描述了第一非线性层300的运算,所以这里将省略关于第二非线性层500的运算的详细描述。
第三线性层600可以通过对从第二非线性层500接收的第四增量特征D4_F(t)执行第三线性运算来生成第五增量特征D5_F(t)。第三线性层600可以进一步基于第五增量特征D5_F(t)和存储在第三线性层600的第五寄存器610中的第五先前特征P5_F(t-1)生成与对第四当前特征C4_F(t)执行第三线性运算的结果对应的第五当前特征C5_F(t)(操作S170)。
这里,存储在第三线性层600的第五寄存器610中的第五先前特征P5_F(t-1)可以对应于对存储在第二非线性层500的第四寄存器510中的第四先前特征P4_F(t-1)执行第三线性运算的结果。
在示例性实施例中,第三线性层600可以对应于神经网络的全连接层。
以其中第二线性层400基于第二增量特征D2_F(t)和存储在第二线性层400的第三寄存器410中的第三先前特征P3_F(t-1)生成第三当前特征C3_F(t)的类似方式,基于第四增量特征D4_F(t)和存储在第三线性层600的第五寄存器610中的第五先前特征P5_F(t-1),第三线性层600可以生成第五当前特征C5_F(t)。
为了便于说明,由于上面参考图7和图8描述了第二线性层400的运算,所以这里将省略关于第三线性层600的运算的详细描述。
如上所述,由于第五当前特征C5_F(t)对应于对当前输入数据IDATA(t)连续地执行第一线性运算L1_OP、第一非线性运算NL1_OP、第二线性运算L2_OP、第二非线性运算和第三线性运算的结果,所以第五当前特征C5_F(t)可以隐含地包括当前输入数据IDATA(t)中包括的信息。
因此,输出层700可以使用从第三线性层600接收的第五当前特征C5_F(t)识别在当前输入数据IDATA(t)中包括的信息,并且生成与识别的信息对应的识别信号REC(操作S180)。
在示例性实施例中,多个输入数据IDATA可以对应于在视频流中包括的多个帧数据。在这种情况下,输出层700可以使用从第三线性层600接收的第五当前特征C5_F(t)来识别在与当前输入数据IDATA(t)对应的帧数据中包括的对象,并且生成与识别的对象对应的识别信号REC。
根据比较示例的通用神经网络设备可以对输入数据执行大量运算以从输入数据中提取有用信息。可能难以增加这种神经网络设备的运算速度或降低这种神经网络设备的功耗。因此,可能难以从以高速提供的输入数据中提取有用信息。此外,当使用电池操作的电子设备包括这种通用神经网络设备时,神经网络设备可能消耗来自电池的大量电力。
如上参考图1至图10所述,根据发明构思的示例性实施例的神经网络设备10和20可以通过利用连续输入数据IDATA之间的高度相似性来以高速执行线性运算,使得神经网络设备10和20的运算速度可以增加。因此,即使当以高速提供多个输入数据IDATA时,根据示例性实施例的神经网络设备10和20可以能够快速地识别在多个输入数据IDATA中包括的信息。
此外,根据示例性实施例的神经网络设备10和20可以减少由第一线性层200、第二线性层400和第三线性层600执行的运算量。因此,可以减少神经网络设备10和20的功耗。
如上所述,根据发明构思的示例性实施例,在神经网络设备10和20中包括的神经网络可以包括多个层。例如,神经网络可以包括输入层IN_L 100、输出层O_L 700以及设置在其间的线性层和非线性层(这些中间线性层和非线性层可以统称为隐藏层)。层中的每一个可以包括多个节点。节点可以通过具有连接权重的连接线连接到彼此。
可以使用一个或多个硬件组件、一个或多个软件组件或一个或多个硬件组件和一个或多个软件组件的组合来实现上述各种元件(包括例如层和节点)和方法。
硬件组件可以是例如物理地执行一个或多个运算的物理设备,但不限于此。硬件组件的示例包括放大器、低通滤波器、高通滤波器、带通滤波器、模数转换器、数模转换器和处理设备。
软件组件例如可以由软件或指令控制的处理设备实现来执行一个或多个运算,但不限于此。计算机、控制器或其他控制设备可能导致处理设备运行软件或执行指令。在示例性实施例中,在层中包括的节点中的每一个可以由处理设备实施。
处理设备可以使用一个或多个通用或专用计算机来实现,诸如,例如,处理器、控制器和算术逻辑单元、数字信号处理器、微型计算机、场可编程阵列、可编程逻辑单元、微处理器或能够运行软件或执行指令的任何其他设备。处理设备可以运行操作系统(OS),并且可以运行在OS下操作的一个或多个软件应用程序。处理设备可以在运行软件或执行指令时访问、存储、操纵、处理和创建数据。为了简单起见,在说明书中可以使用单个术语“处理设备”,但是本领域普通技术人员将理解,处理设备可以包括多个处理元件和多种类型的处理元件。例如,处理设备可以包括一个或多个处理器,或一个或多个处理器和一个或多个控制器。此外,不同的处理配置是可能的,诸如并行处理器或多核处理器。
根据发明构思的示例性实施例,本文描述的单元、结构、装置和模块(包括例如层和节点)中的任何一个或全部可以由特别构造为执行由本文所述的上述参考单元、结构、装置和模块(或其元件)中的任何一个或全部执行的本文描述的一些或全部操作的一个或多个电路或电路系统(例如,硬件)实现。根据示例性实施例,本文描述的上述参考单元、结构、装置和模块中的任何一个或全部可以包括存储器以及执行计算机可读代码(例如,软件)的一个或多个处理器或由其实现,该计算机可读代码存储在存储器中并且包括与如本文描述的上述参考单元、结构、装置和模块(或其元件)中的任何一个或全部执行的本文描述的一些或全部操作对应的指令。根据示例性实施例,可以通过例如上述参考的硬件和执行计算机可读代码的处理器的组合来实现本文所述的上述参考单元、结构、装置和模块中的任何一个或全部。
虽然已经参考本发明构思的示例性实施例特别示出和描述了本发明构思,但是本领域普通技术人员将会理解,在不脱离由所附权利要求限定的本发明构思的精神和范围的情况下可以在形式和细节上进行各种改变。
Claims (20)
1.一种操作神经网络设备的方法,所述方法包括:
由输入层接收多个连续输入数据,其中,神经网络设备包括神经网络,神经网络包括输入层、第一线性层、第一非线性层和第二线性层;
基于来自多个连续输入数据当中的当前输入数据与先前输入数据之间的差,由输入层生成增量数据;
由第一线性层生成第一当前特征,
其中,第一当前特征对应于基于第一增量特征和第一先前特征对当前输入数据执行第一线性运算的结果,通过对增量数据执行第一线性运算来生成第一增量特征,以及第一先前特征存储在第一线性层中的第一寄存器中;
基于第二当前特征和第二先前特征,由第一非线性层生成第二增量特征,
其中,通过对第一当前特征执行第一非线性运算来生成第二当前特征,并且第二先前特征存储在第一非线性层中的第二寄存器中;以及
基于第三增量特征和第三先前特征,由第二线性层生成第三当前特征,
其中,第三当前特征对应于对第二当前特征执行第二线性运算的结果,通过对第二增量特征执行第二线性运算来生成第三增量特征,并且第三先前特征存储在第二线性层中的第三寄存器中。
2.根据权利要求1所述的方法,其中,当输入层接收第一输入数据作为当前输入数据时,输入层将来自多个连续输入数据当中的第一输入数据设置为增量数据,
其中,当输入层在接收第一输入数据之后接收多个连续输入数据中的每一个时,输入层通过从当前输入数据中减去先前输入数据来生成增量数据,
其中,在当前输入数据之前接收先前输入数据。
3.根据权利要求1所述的方法,其中,输入层仅向第一线性层提供增量数据。
4.根据权利要求1所述的方法,其中,由第一线性层生成第一当前特征包括:
通过对增量数据执行第一线性运算来生成第一增量特征;
通过将第一增量特征与存储在第一寄存器中的第一先前特征相加来生成第一当前特征;以及
通过将第一当前特征存储在第一寄存器中,将第一寄存器从第一先前特征更新为第一当前特征。
5.根据权利要求1所述的方法,其中,存储在第一寄存器中的第一先前特征对应于对先前输入数据执行第一线性运算的结果。
6.根据权利要求1所述的方法,其中,第一线性层对应于神经网络的卷积层。
7.根据权利要求1所述的方法,其中,第一线性层仅向第一非线性层提供第一当前特征。
8.根据权利要求1所述的方法,其中,由第一非线性层生成第二增量特征包括:
通过对第一当前特征执行第一非线性运算来生成第二当前特征;
通过从第二当前特征中减去存储在第二寄存器中的第二先前特征来生成第二增量特征;以及
通过将第二当前特征存储在第二寄存器中,将第二寄存器从第二先前特征更新为第二当前特征。
9.根据权利要求1所述的方法,其中,存储在第二寄存器中的第二先前特征对应于对在先前周期期间从第一线性层提供给第一非线性层的特征执行第一非线性运算的结果。
10.根据权利要求1所述的方法,其中,第一非线性层对应于神经网络的激活层和池化层中的一个。
11.根据权利要求1所述的方法,其中,第一非线性层仅向第二线性层提供第二增量特征。
12.根据权利要求1所述的方法,其中,由第二线性层生成第三当前特征包括:
通过对第二增量特征执行第二线性运算来生成第三增量特征;
通过将第三增量特征与存储在第三寄存器中的第三先前特征相加来生成第三当前特征;以及
通过将第三当前特征存储在第三寄存器中,将第三寄存器从第三先前特征更新为第三当前特征。
13.根据权利要求1所述的方法,其中,存储在第三寄存器中的第三先前特征对应于对存储在第一非线性层的第二寄存器中的第二先前特征执行第二线性运算的结果。
14.根据权利要求1所述的方法,其中,第二线性层对应于神经网络的全连接层。
15.根据权利要求1所述的方法,进一步包括:
使用第三当前特征来识别在当前输入数据中包括的信息。
16.根据权利要求1所述的方法,其中,多个连续输入数据对应于在视频流中包括的多个帧数据。
17.根据权利要求16所述的方法,进一步包括:
使用第三当前特征识别与当前输入数据对应的帧数据中包括的对象。
18.一种神经网络设备,包括:
神经网络的输入层,其被配置为接收多个连续输入数据,并且基于来自多个连续输入数据当中的当前输入数据与先前输入数据之间的差来生成增量数据;
神经网络的第一线性层,其被配置为通过对增量数据执行第一线性运算来生成第一增量特征,并且基于第一增量特征和第一先前特征生成第一当前特征,
其中,第一当前特征对应于对当前输入数据执行第一线性运算的结果,并且第一先前特征存储在第一线性层的第一寄存器中;
神经网络的第一非线性层,其被配置为通过对第一当前特征执行第一非线性运算来生成第二当前特征,并且基于第二当前特征和第二先前特征生成第二增量特征,其中,第二先前特征存储在第一非线性层的第二寄存器中;以及
神经网络的第二线性层,其被配置为通过对第二增量特征执行第二线性运算来生成第三增量特征,并且基于第三增量特征和第三先前特征生成第三当前特征,
其中,第三当前特征对应于对第二当前特征执行第二线性运算的结果,并且第三先前特征存储在第二线性层的第三寄存器中。
19.根据权利要求18所述的神经网络设备,其中,多个连续输入数据对应于在视频流中包括的多个帧数据。
20.一种识别视频流中的对象的方法,包括:
使用神经网络的输入层接收在视频流中包括的多个连续数据帧;
使用神经网络的输入层,基于来自多个连续数据帧当中的当前数据帧与先前数据帧之间的差生成增量数据;
使用神经网络的第一线性层来生成第一当前特征,
其中,第一当前特征对应于基于第一增量特征和第一先前特征对当前数据帧执行第一线性运算的结果,通过对增量数据执行第一线性运算来生成第一增量特征,以及第一先前特征存储在第一线性层中的第一寄存器中;
使用神经网络的第一非线性层,基于第二当前特征和第二先前特征生成第二增量特征,
其中,通过对第一当前特征执行第一非线性运算来生成第二当前特征,并且第二先前特征存储在第一非线性层中的第二寄存器中;
使用神经网络的第二线性层,基于第三增量当前特征和第三先前特征生成第三当前特征,
其中,第三当前特征对应于对第二当前特征执行第二线性运算的结果,通过对第二增量特征执行第二线性运算来生成第三增量特征,并且第三先前特征存储在第二线性层中的第三寄存器中;以及
使用第三当前特征识别视频流中的对象。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0122471 | 2016-09-23 | ||
KR20160122471 | 2016-09-23 | ||
KR10-2016-0177466 | 2016-12-23 | ||
KR1020160177466A KR102665675B1 (ko) | 2016-09-23 | 2016-12-23 | 뉴럴 네트워크 장치 및 뉴럴 네트워크 장치의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107871159A true CN107871159A (zh) | 2018-04-03 |
CN107871159B CN107871159B (zh) | 2023-12-15 |
Family
ID=61687271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710826342.2A Active CN107871159B (zh) | 2016-09-23 | 2017-09-14 | 神经网络设备和操作神经网络设备的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10963775B2 (zh) |
CN (1) | CN107871159B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109887006A (zh) * | 2019-01-29 | 2019-06-14 | 杭州国芯科技股份有限公司 | 一种基于帧差法加速神经网络运算的方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10963775B2 (en) * | 2016-09-23 | 2021-03-30 | Samsung Electronics Co., Ltd. | Neural network device and method of operating neural network device |
KR20190078292A (ko) | 2017-12-26 | 2019-07-04 | 삼성전자주식회사 | 뉴럴 네트워크 연산을 수행하는 장치 및 이의 동작 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8167430B2 (en) * | 2009-08-31 | 2012-05-01 | Behavioral Recognition Systems, Inc. | Unsupervised learning of temporal anomalies for a video surveillance system |
US20140023343A1 (en) * | 2011-03-25 | 2014-01-23 | Nec Corporation | Video processing system and video processing method, video processing apparatus, control method of the apparatus, and storage medium storing control program of the apparatus |
CN105492928A (zh) * | 2013-09-30 | 2016-04-13 | 英特尔Ip公司 | 用于全球定位系统(gps)接收机的滤波 |
CN105488565A (zh) * | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
US20160171852A1 (en) * | 2014-12-12 | 2016-06-16 | Andy Lin | Real-time video analysis for security surveillance |
US20160189009A1 (en) * | 2014-12-30 | 2016-06-30 | Facebook, Inc. | Systems and methods for determining video feature descriptors based on convolutional neural networks |
CN105892989A (zh) * | 2016-03-28 | 2016-08-24 | 中国科学院计算技术研究所 | 一种神经网络加速器及其运算方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2797035B2 (ja) * | 1991-01-31 | 1998-09-17 | 日本ビクター株式会社 | ニューラルネットによる波形処理装置及びその設計方法 |
US5701398A (en) * | 1994-07-01 | 1997-12-23 | Nestor, Inc. | Adaptive classifier having multiple subnetworks |
US5805733A (en) | 1994-12-12 | 1998-09-08 | Apple Computer, Inc. | Method and system for detecting scenes and summarizing video sequences |
US9007197B2 (en) | 2002-05-20 | 2015-04-14 | Intelligent Technologies International, Inc. | Vehicular anticipatory sensor system |
US7346208B2 (en) | 2003-10-25 | 2008-03-18 | Hewlett-Packard Development Company, L.P. | Image artifact reduction using a neural network |
US9542626B2 (en) | 2013-09-06 | 2017-01-10 | Toyota Jidosha Kabushiki Kaisha | Augmenting layer-based object detection with deep convolutional neural networks |
US10671564B2 (en) * | 2015-10-08 | 2020-06-02 | Via Alliance Semiconductor Co., Ltd. | Neural network unit that performs convolutions using collective shift register among array of neural processing units |
JP6700712B2 (ja) * | 2015-10-21 | 2020-05-27 | キヤノン株式会社 | 畳み込み演算装置 |
US10157309B2 (en) * | 2016-01-14 | 2018-12-18 | Nvidia Corporation | Online detection and classification of dynamic gestures with recurrent convolutional neural networks |
US10963775B2 (en) * | 2016-09-23 | 2021-03-30 | Samsung Electronics Co., Ltd. | Neural network device and method of operating neural network device |
US10678508B2 (en) * | 2018-03-23 | 2020-06-09 | Amazon Technologies, Inc. | Accelerated quantized multiply-and-add operations |
-
2017
- 2017-07-24 US US15/657,950 patent/US10963775B2/en active Active
- 2017-09-14 CN CN201710826342.2A patent/CN107871159B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8167430B2 (en) * | 2009-08-31 | 2012-05-01 | Behavioral Recognition Systems, Inc. | Unsupervised learning of temporal anomalies for a video surveillance system |
US20140023343A1 (en) * | 2011-03-25 | 2014-01-23 | Nec Corporation | Video processing system and video processing method, video processing apparatus, control method of the apparatus, and storage medium storing control program of the apparatus |
CN105492928A (zh) * | 2013-09-30 | 2016-04-13 | 英特尔Ip公司 | 用于全球定位系统(gps)接收机的滤波 |
US20160171852A1 (en) * | 2014-12-12 | 2016-06-16 | Andy Lin | Real-time video analysis for security surveillance |
US20160189009A1 (en) * | 2014-12-30 | 2016-06-30 | Facebook, Inc. | Systems and methods for determining video feature descriptors based on convolutional neural networks |
CN105488565A (zh) * | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN105892989A (zh) * | 2016-03-28 | 2016-08-24 | 中国科学院计算技术研究所 | 一种神经网络加速器及其运算方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109887006A (zh) * | 2019-01-29 | 2019-06-14 | 杭州国芯科技股份有限公司 | 一种基于帧差法加速神经网络运算的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180089555A1 (en) | 2018-03-29 |
CN107871159B (zh) | 2023-12-15 |
US10963775B2 (en) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110084361B (zh) | 一种运算装置和方法 | |
CN107862374B (zh) | 基于流水线的神经网络处理系统和处理方法 | |
Zhuang et al. | A fast parallel SGD for matrix factorization in shared memory systems | |
CN111860813B (zh) | 一种用于执行卷积神经网络正向运算的装置和方法 | |
WO2017185391A1 (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
CN112084038B (zh) | 神经网络的内存分配方法及装置 | |
CN107871159A (zh) | 神经网络设备和操作神经网络设备的方法 | |
CN104145281A (zh) | 神经网络计算装置和系统及其方法 | |
CN108334944B (zh) | 一种人工神经网络运算的装置及方法 | |
US9939792B2 (en) | Systems and methods to adaptively select execution modes | |
US11544543B2 (en) | Apparatus and method for sparse training acceleration in neural networks | |
CN107679625A (zh) | 针对数据记录执行机器学习的分布式系统及其方法 | |
CN110276447A (zh) | 一种计算装置及方法 | |
CN110163350A (zh) | 一种计算装置及方法 | |
CN109218769A (zh) | 一种直播间的推荐方法以及相关设备 | |
CN109214515A (zh) | 一种深度神经网络推理方法及计算设备 | |
Vo et al. | A deep learning accelerator based on a streaming architecture for binary neural networks | |
CN109711540B (zh) | 一种计算装置及板卡 | |
Gao et al. | Finite-horizon optimal control of Boolean control networks: A unified graph-theoretical approach | |
EP3444758B1 (en) | Discrete data representation-supporting apparatus and method for back-training of artificial neural network | |
CN108509179B (zh) | 用于检测人脸的方法、用于生成模型的装置 | |
CN109993291B (zh) | 集成电路芯片装置及相关产品 | |
CN110647973A (zh) | 运算方法及相关方法和产品 | |
KR20210126398A (ko) | 시스톨릭 어레이를 갖는 신경망 연산 장치 | |
CN114037049A (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 |