CN107622303A - 用于神经网络的方法和执行该方法的设备 - Google Patents
用于神经网络的方法和执行该方法的设备 Download PDFInfo
- Publication number
- CN107622303A CN107622303A CN201710570971.3A CN201710570971A CN107622303A CN 107622303 A CN107622303 A CN 107622303A CN 201710570971 A CN201710570971 A CN 201710570971A CN 107622303 A CN107622303 A CN 107622303A
- Authority
- CN
- China
- Prior art keywords
- input
- activation
- threshold
- vector
- artificial neuron
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000007935 neutral effect Effects 0.000 title claims abstract description 34
- 210000002569 neuron Anatomy 0.000 claims abstract description 225
- 230000004913 activation Effects 0.000 claims abstract description 155
- 230000004048 modification Effects 0.000 claims abstract description 91
- 238000012986 modification Methods 0.000 claims abstract description 91
- 230000004044 response Effects 0.000 claims abstract description 72
- 239000013598 vector Substances 0.000 claims description 152
- 238000013528 artificial neural network Methods 0.000 claims description 62
- 230000008859 change Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 33
- 238000009434 installation Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 15
- 230000000306 recurrent effect Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000001143 conditioned effect Effects 0.000 claims description 5
- 230000000946 synaptic effect Effects 0.000 claims description 2
- 238000006073 displacement reaction Methods 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000012549 training Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 9
- 239000000047 product Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000033228 biological regulation Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 210000004218 nerve net Anatomy 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 210000005036 nerve Anatomy 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 210000001367 artery Anatomy 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008555 neuronal activation Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
- -1 wherein Substances 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/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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
提供一种用于神经网络的方法和执行该方法的设备。提供一种用于操作人工神经元的方法和一种用于执行所述方法的设备。人工神经元可基于经由输入突触接收的输入信号来计算激活的改变量,响应于计算出的激活的改变量来确定新的事件是否发生,并响应于所述事件的发生将与所述事件相应的输出信号发送到输出突触。
Description
本申请要求于2016年7月13日提交到美国专利商标局的第62/361,626号美国临时申请和于2016年12月2日提交到美国专利商标局的第62/429,146号美国临时申请的权益,并且要求于2016年9月2日提交到韩国知识产权局的第10-2016-0113039号韩国专利申请和于2017年4月26日提交到韩国知识产权局的第10-2017-0053543号韩国专利申请的优先权,这些申请的公开通过各自整体引用全部包含于此。
技术领域
与示例性实施例一致的方法和设备涉及一种用于操作人工神经元的方法和设备。
背景技术
为了解决复杂的问题或引起未知危害的问题,将人类识别方法应用于装置的研究正在进行。一种这样的研究属于基于人类生物神经细胞的神经网络模型。神经网络采用模拟人类的学习能力的算法。神经网络可通过学习来执行输入模式与输出模式之间的映射。此外,基于学习的结果,神经网络可归纳未用于学习的剩余的输入模式以产生相对准确的输出结果。
发明内容
示例性实施例可至少解决以上提到的问题和/或以上未提到的其他问题。此外,示例性实施例不要求克服以上提到的问题,示例性实施例可不克服以上问题中的任何一个。
根据示例性实施例的一个方面,提供一种通过使用神经网络可执行的方法,所述方法包括:基于人工神经元的先前激活和经由人工神经元的输入突触接收的输入信号,确定人工神经元的当前激活;基于当前激活和与由于人工神经元先前已发生的事件相应的第二激活,确定第一激活的改变量;基于第一阈值和确定的第一激活的改变量,确定新的事件是否发生;响应于新的事件的发生,将与新的事件相应的输出信号发送到输出突触。
响应于确定的第一激活的改变量和第一阈值相交,新的事件可发生。输出信号可包括指示确定的改变量和第一阈值的相交的方向的符号位。所述方法还可包括:接收与经由输入突触连接的前一层相应的第二阈值,其中,确定当前激活的步骤可包括:基于先前激活、输入信号和第二阈值,确定当前激活。
输出信号可包括近似为预定的位精度的确定的第一激活的改变量。可基于来自要求精度和可用资源的量之中的至少一个来调节预定的位精度。可基于在预定时间间隔期间发生的事件的数量来调节第一阈值。可响应于在所述预定时间间隔期间发生的事件的数量超出预定的第三阈值,来增大第一阈值;可响应于在所述预定时间间隔期间发生的事件的数量小于预定的第四阈值,来减小第一阈值,第三阈值可大于第四阈值。
所述方法还可包括:在输出信号被发送之后,基于确定的当前激活,更新第一阈值。可基于来自固定步长、对数步长和数量级之中的至少一个调节第一阈值。所述方法还可包括:存储确定的当前阈值。
所述方法还可包括:接收指示预定操作模式的控制信号;经由输入突触,接收与指示的操作模式相应的帧化的输入信号;基于帧化的输入信号,确定当前激活。
神经网络可包括来自以下项中的任何一个:人工神经网络、全连接网络、深度卷积网络、循环神经网络和脉冲神经网络。
根据示例性实施例的另一方面,提供一种通过使用神经网络可执行的方法,所述方法包括:基于人工神经元的先前激活和经由人工神经元的输入突触接收的输入信号,确定人工神经元的当前激活;响应于包括先前激活的第一集群和包括确定的当前激活的第二集群,确定事件是否发生;响应于所述事件的发生,将与所述事件相应的输出信号发送到输出突触。
所述事件可响应于第一集群与第二集群不同而发生。输出信号可包括指示来自集群的改变方向和集群的改变量之中的至少一个的至少一个改变位。
根据示例性实施例的另一方面,提供一种通过使用循环神经网络可执行的方法,所述方法包括:基于与早于第一时间的第二时间相应的第二输入矢量和与第一时间相应的第一输入矢量之间的差,获得与第一时间相应的第一输入δ矢量;基于与早于第二时间的第三时间相应的第三隐藏状态矢量和与第二时间相应的第二隐藏状态矢量之间的差,获得与第二时间相应的隐藏状态δ矢量;基于与第一输入矢量相应的第一权重和与获得的第一输入δ矢量相应的第二权重的乘积以及与第二隐藏状态矢量相应的第三权重和与在t-1获得的隐藏状态δ矢量相应的第四权重的乘积,确定循环神经网络的至少一个参数;基于确定的循环神经网络的至少一个参数,确定与第一时间相应的第一隐藏状态矢量。
确定的循环神经网络中的至少一个参数可包括来自重置门的值、更新门的值和输出隐藏状态矢量的值之中的至少一个。
获得第一输入δ矢量的步骤可包括:响应于第二输入矢量与第一输入矢量之间的差大于预定阈值,将第二输入矢量与第一输入矢量之间的差确定为第一输入δ矢量;响应于第二输入矢量与第一输入矢量之间的差小于所述预定阈值,将零矢量确定为第一输入δ矢量。
获得第一输入δ矢量的步骤可包括:基于与第二时间相应的第二输入δ矢量,获得与第二时间相应的第二参考矢量;基于获得的第二参考矢量与第一输入矢量之间的差,获得第一输入δ矢量。
获得第二参考矢量的步骤可包括:响应于第二输入δ矢量大于预定阈值,将第二输入δ矢量确定为第二参考矢量;响应于第二输入δ矢量小于所述预定阈值,将与第三时间相应的第三参考矢量确定为第二参考矢量。
获得隐藏状态δ矢量的步骤可包括:响应于第二输入矢量与第一输入矢量之间的差大于预定阈值,将第一输入δ矢量确定为第二输入矢量与第一输入矢量之间的差;响应于第二输入矢量与第一输入矢量之间的差小于所述预定阈值,将第一输入δ矢量确定为零矢量。
根据示例性实施例的另一方面,提供一种电子装置,包括:多个处理组件,分别对应于多个人工神经元,其中,每个处理组件包括各自的处理器和被配置为存储各自的计算机可读指令的各自的存储器,针对每个各自的处理器,当由各自的处理器执行相应的指令时,各自的处理器被配置为:基于先前激活和经由输入链接接收的输入信号,确定当前激活,基于当前激活和与先前已发生的事件相应的第二激活,确定第一激活的改变量,基于第一阈值和确定的第一激活的改变量,确定新的事件是否发生,响应于新的事件的发生,将与新的事件相应的输出信号发送到输出链接。
每个各自的处理器还可被配置为:接收与经由输入链接连接的前一层相应的第二阈值,并基于先前激活、输入信号和第二阈值,确定当前激活。每个各自的处理器可被配置为:在输出信号被之后,基于确定的当前激活,更新第一阈值。每个各自的存储器可被配置为存储确定的当前激活。
附图说明
通过参照附图对确定的示例性实施例进行描述,以上和/或其他方面将更加清楚,其中:
图1是示出根据示例性实施例的神经网络的示图;
图2是示出根据示例性实施例的人工神经元的输入和输出的示图;
图3是示出根据示例性实施例的事件确定和输出信号的曲线图;
图4是示出根据另一示例性实施例的事件确定和输出信号的曲线图;
图5是示出根据示例性实施例的阈值的调节的曲线图;
图6是示出根据示例性实施例的集群(cluster)的改变的示图;
图7示出处理标准视频数据集的标准卷积网络的特征;
图8是示出循环神经网络(RNN)激活随时间的稳定性的示图;
图9是示出通过δ网络获得的计算的结果的示图;
图10是示出根据示例性实施例的电子装置的框图;
图11是示出根据另一示例性实施例的电子装置的示图;
图12是示出根据示例性实施例的用于操作人工神经元的方法的流程图。
具体实施方式
以下特定结构和功能的描述是示例性的,仅用于描述示例性实施例,示例性实施例的范围不限于在本说明书中提供的描述。本领域普通技术人员可对示例性实施例做出各种改变和修改。
尽管“第一”或“第二”的术语用于解释各个组件,但组件不限于这些术语。这些术语应仅用于将一个组件与另一组件区分开来。例如,根据本公开的构思,在不脱离权利的范围的情况下,“第一”组件可被称为“第二”组件,或者相似地,“第二”组件可被称为“第一”组件。
除非上下文另外明确地指示,否则如在此使用的单数形式也意在包括复数形式。还应理解,当在本说明书中使用术语“包括”和/或“包含”时,指定存在叙述的特征、整体、步骤、操作、元件、组件或它们的组合,但是不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。
除非在此另外定义,否则在此使用的所有术语(包括技术术语或科学术语)具有与本领域普通技术人员通常理解的含义相同的含义。除非在此另外定义,否则在通用字典中定义的术语应被解释为具有与在相关领域中的上下文含义相匹配的含义,并且不将被解释为理想的或过于正式的含义。
在下文中,将参照附图详细描述示例性实施例,相同的参考标号始终表示相同的元件。
图1是示出根据示例性实施例的神经网络的示图。参照图1,神经网络100包括均包含人工神经元的集合110、集合120、集合130、集合140和集合150。
神经网络100基于事件进行操作,以便可减少学习或识别所需的计算成本。神经网络100可用于深度学习。深度学习是用于通过使用大规模数据集处理与例如图像识别和声音或语音识别有关的复杂问题的机器学习方法。可经由有监督深度学习或无监督深度学习从多层神经网络提取特征。神经网络100可以是多层神经网络的示例。多层神经网络可包括全连接网络、深度卷积网络和循环神经网络中的任何一个。例如,全连接网络可用于大词汇量连续语音识别、三维(3D)对象识别、面部识别、面部匹配和视频分类(visualclassification)。
多层神经网络的尺寸和深度可大于一般神经网络的尺寸和深度。可由神经网络100的神经元的总数量来指示神经网络100的尺寸,可由每个网络的层的数量来指示神经网络100的深度。例如,用于最近的视觉应用的神经网络包括41个层,大约1.43亿个权重,3100万个神经元,并需要197亿次操作。因此,多层神经网络可能需要极大量的用于学习的时间以及大量的数据。
为了顺序地操作神经网络,神经网络可在处理器(例如,中央处理器(CPU)和图形处理器(GPU))上施加极大的计算成本。最近的研究显示,在超级计算机中训练数天或数周的百万个人工神经元已被使用。当使用顺序训练方法时,因为所有的人工神经元总是在每次输入新的样本时被更新,所以计算资源的量可随着网络复杂性增加而增加。如将在下面详细描述的,示例性实施例基于与使用输入样本相应的事件进行操作,从而可大大减少用于计算网络的输出的计算资源的量。
在神经网络100中,集合110、集合120、集合130、集合140和集合150中的每个集合包括人工神经元,包括在集合110、集合120、集合130、集合140和集合150中的每个集合中的人工神经元可连接到其他人工神经元。其他人工神经元可被包括在相同的集合(该集合包括包含在集合110、集合120、集合130、集合140和集合150中的每个集合中的人工神经元)中,或被包括在不同的集合中。集合110、集合120、集合130、集合140和集合150可以是层,并且集合110、集合120、集合130、集合140和集合150还可被称为层110、层120、层130、层140和层150。在这种情况下,神经网络100可包括均包含人工神经元的连续的层110、层120、层130、层140和层150。因此,神经网络100可以是多层神经网络的示例。
尽管为了描述的容易和方便图1示出五个层110、120、130、140和150,但是神经网络100可包括各种数量的层。层110指示输入层,层120、层130和层140指示中间层或隐藏层,层150指示输出层。包括在层110、层120、层130和层140中但不包括在输出层150中的人工神经元可经由被配置用于发送输出信号的链接,来连接到包括在后一层(subsequent layer)中的人工神经元。链接的数量可对应于包括在后一层中的人工神经元的数量。链接可被称为突触。
神经网络100可以是前馈网络。包括在神经网络100中的每个人工神经元可连接到后一层的所有的人工神经元,使得神经网络100形成全连接网络。可选地,如在卷积网络中,包括在神经网络100中的每个人工神经元可具有有限的空间连通性。
包括在神经网络100中的每个人工神经元可被配置为计算包括在前一层中的人工神经元的输入值x_i的第一线性组合。输入值x_i被乘以突触权重w_i。加权的输入值可彼此相加,加权的输入值之和y可被表示为如等式1所示。
[等式1]
y=∑w_i×x_i
加权的输入值之和y可被输入到激活函数f。例如,激活函数f可包括修正线性单元(ReLU)、sigmoid函数和双曲正切函数中的任何一个。如等式2所示,激活函数f可计算每个人工神经元的输出值o。
[等式2]
o=f(y)
在下文中,将基于人工神经元105来描述神经网络100的操作。然而,与人工神经元105有关的描述还应用于其余的人工神经元(例如,人工神经元125和人工神经元135)。人工神经元105的前一层也被称为层120,人工神经元105的后一层也被称为层140。人工神经元105与包括在层120中的每个人工神经元之间的链接也被称为输入突触,人工神经元105与包括在层140中的每个人工神经元之间的链接也被称为输出突触。
在一个示例中,当人工神经元105的激活被改变预定量时,人工神经元105可确定新的事件是否发生。可基于经由输入突触接收的输入和针对人工神经元105实施的激活函数来计算该激活。
神经网络100也被称为动态计算网(DCN)。如下面详细描述的,DCN可应用于各种类型的神经网络100,例如,人工神经网络(ANN)或脉冲神经网络(SNN)。当神经网络100是SNN时,人工神经元105的激活可以是人工神经元105的膜电位。
人工神经元105可响应于新的事件的发生,将与新的事件相应的输出信号发送到输出突触。新的事件可响应于激活的改变量与阈值相交(crossing)而发生。在这个方面,“激活的改变量与阈值相交”表示激活的改变量的绝对值变得大于阈值。输出信号可乘以输出突触的各个权重,包括在后一层中的人工神经元可接收加权的输出信号。
例如,输出信号包括指示激活的改变量相对于阈值的相交的方向的符号位。包括当事件发生时输出单个符号位的人工神经元的神经网络被称为基本DCN(basic dynamiccomputation net)。在这个示例中,人工神经元105的阈值还可被发送到包括在后一层中的人工神经元。作为另一示例,多个人工神经元可共享相同的阈值。例如,包括在同一层中的人工神经元可具有相同的阈值。在这个示例中,包括在后一层中的人工神经元可接收在包括在前一层中的人工神经元之间共享的阈值,从而可减小由阈值的传输引起的负荷。包括在后一层中的人工神经元可基于接收的符号位和阈值来确定各自的激活。人工神经元105可在将输出信号发送到后一层之后,更新人工神经元105的阈值或由包括在包含人工神经元105的层中的其他人工神经元共享的阈值。作为另一示例,可针对每个预定组的人工神经元设置不同的阈值,或者针对每个单个人工神经元设置不同的阈值。作为另一示例,整个神经网络可使用一个共同阈值。
在一个示例性实施例中,输出信号包括激活的改变量。激活的改变量被近似为预定的位精度(degree of bit precision)。在事件发生时输出被近似为预定的位精度的激活的改变量的神经网络也被称为模拟传输DCN。近似的激活的改变量可指示连续值。在这个示例中,与由符号位指示激活的改变量时相比,即使发送输出信号要求更多数量的位,包括在后一层中的每个人工神经元的激活也可被精确地计算。因为包括在后一层中的人工神经元基于接收的激活的改变量来确定各自的激活,所以可不发送人工神经元105的阈值。
人工神经元105可在将输出信号发送到后一层之后更新人工神经元105的阈值。在模拟传输DCN的情况下,激活的改变量被发送,因此所有的人工神经元具有各自的阈值。此外,每个人工神经元可基于与激活相关联的函数或可用资源的量(诸如,有限的总线容量)来动态地改变相应的阈值。
在基本DCN的情况下,当改变量大于阈值时,可能难以将激活的改变量发送到受限于符号位的输出信号。然而,模拟传输DCN的人工神经元105可发送精确地指示激活的改变量的单个事件来代替发送多个二进制事件。因此,模拟传输DCN可解决斜率过载(slopeoverload)问题。
如上所述,人工神经元的阈值可响应于新的事件的发生被更新。例如,可通过使用固定步长、对数步长或数量级中的任何一个基于各种方法中的任何一种来调节阈值。例如,当激活的改变量基本大于阈值时,阈值可响应于激活的改变量被调节。从149改变到150的激活可比从0改变到1的激活具有更小的意义。因此,阈值基于对数步长被调节,使得具有相对大的激活的人工神经元可仅在激活的改变量足够大时引起事件。基于对数步长调节阈值的神经网络也被称为log步长阈值DCN。包括在log步长阈值DCN中的人工神经元可基于基本DCN方法或模拟传输DCN方法进行操作。
例如,人工神经元105可基于人工神经元105的激活被分配到来自预定的多个集群(cluster)(例如,k个集群)之中的任何一个集群,并响应于集群包括正被改变的人工神经元105来确定事件是否发生。这里,k可以是自然数。例如,人工神经元105基于人工神经元105的先前激活而属于第一集群,而当人工神经元105基于人工神经元105的当前激活而属于第二集群时,人工神经元105可确定事件是否发生。
人工神经元105可响应于事件的发生将输出信号发送到输出突触。这里,输出信号包括至少一个改变位,该至少一个改变位指示来自集群的改变方向和集群的改变量之中的至少一个。例如,当包括人工神经元105的集群被改变为高级集群(high ranking cluster)时,人工神经元105可发送与正位相应的+1信号,其中,高级集群包括具有较大激活的人工神经元。当包括人工神经元105的集群被改变为低级集群(low ranking cluster)时,人工神经元105可发送与负位相应的-1信号,其中,低级集群包括具有较小激活的人工神经元。为了指示集群被改变至少两级,至少一个改变位可包括多于两个的位。包括当事件发生时输出至少一个改变位的人工神经元的神经网络也被称为K级DCN,其中,至少一个改变位指示集群的改变方向或集群的改变量中的至少一个。
人工神经元105可包括被配置为对输入信号进行解码的解码器、被配置为产生输出信号的编码器以及被配置为发送输出信号的发送器。编码器可响应于事件的发生产生与事件相应的输出信号。例如,输出信号可包括符号位、近似的激活的改变量或改变位。在基本DCN的情况下,发送器可发送符号位和阈值。例如,解码器、编码器和发送器可被实现为至少一个硬件模块或至少一个软件模块。
神经网络100可基于静态配置或动态配置进行操作,其中,在静态配置中神经网络100的设置值是固定的,在动态配置中神经网络100的设置值是动态改变的。设置值可包括阈值和位精度。与动态配置相关联的设置值可被周期改变,可在满足预定条件时被改变,和/或可响应于请求被改变。例如,可基于在预定时间间隔期间发生的事件的数量来调节阈值。响应于在预定时间间隔期间发生的事件的数量超出预定的第一阈值,增大阈值以减少事件的数量。响应于在预定时间间隔期间发生的事件的数量小于预定的第二阈值,减小阈值以增加事件的数量。这里,第一阈值大于第二阈值。
动态地改变设置值在用于神经网络100的实际实施的硬件资源的优化方面是有利的。例如,可基于要求精度和可用资源的量中的至少一个来调节设置值。详细地说,当相对高的优先级被分配以减少资源的消耗量或延迟而不是相对高的优先级被分配给检测精度时,可减小位精度或可增加阈值以对应于优先级顺序。在移动装置中,检测精度可设置为相对低以检测启动指令序列的核心关键字,并且检测精度可设置为相对高以响应于检测到核心关键字而检测连续字(consecutive word)。检测精度可设置为更低以检测除了核心关键字之外的剩余的关键字。
通过存储神经网络100的人工神经元的状态,人工神经元可执行状态操作。具体地说,每个人工神经元可在事件发生的时间点存储激活,以计算激活的改变量。如以下详细描述的,可基于当前激活和与先前已发生的事件相应的激活来确定激活的改变量。这里,当与先前已发生的事件相应的激活被存储时,激活的改变量可被计算。前馈网络的人工神经元可在不存储人工神经元的状态的情况下执行无状态操作,所有的人工神经元的状态可基于新的输入样本被再次设置。因为神经网络100响应于事件的发生而被部分更新,所以与当所有的网络在每次输入新的样本时被更新时相比,操作的数量可被大大减少。
详细地说,用于操作神经网络100的计算成本取决于神经网络100的架构和神经网络100所需的位精度。可基于人工神经元的模型、层的数量、每层的人工神经元的数量和每层的突触的数量来确定神经网络100的架构。根据用于计算网络参数的计算成本,下面将作为示例描述两层的全连接网络的顺序更新。
假设第一层包括N个人工神经元,第二层包括M个人工神经元,与位b相应的精度被使用,并且神经元的操作的复杂度对应于c,则计算成本可与用于全连接网络的顺序更新的每个步长的N×M×b×c个操作(即,N、M、b、c的积)相关联。在这种情况下,除非不改变人工神经元的输入值或者在输入值保持在零的条件下对N×M×b×c个操作中的任何一个进行去激活,否则可增大计算成本。
当α是对计算进行激活的输入值的比例时,神经网络100针对每个步长执行N×M×b×c×α个操作。当α对应于一(即,“1”)时,执行N×M×b×c个操作。当α对应于零(即,“0”)时,操作的数量是零。在神经网络100中,位b设置为相对小的值,从而计算成本可被减少。当位数b对应于1时,神经网络100基于二进制值的连接进行操作。位精度和神经网络100的精度可具有此消彼长的关系(trade-off relationship),但可选择满足位精度和神经网络100的精度两者的合适的位b。实时应用可不定期接收每一帧的改变量相对小的输入值。例如,在输入图像的相邻帧(consecutive frame)之间包括大量相同的像素。因此,可能会执行冗余操作。结果,神经网络100可减少冗余操作的数量。
当人工神经元发送输出信号时,神经网络100可在刷新所有的人工神经元的状态的刷新模式下进行操作。刷新模式可用于防止激活误差的量的累积。激活误差可由噪声引起。当到神经网络100的输入是所有通道的周期性的全部信息(cyclic full information)(例如,诸如图像的帧化的输入)和帧之间的预定通道的更新事件的结合时,刷新模式适合于有效地处理信息。尽管基于事件的操作可响应于在一般模式下发送的输出信号而终止,但所有的帧化的输入可在刷新模式下被处理。基于刷新模式的操作可以以周期被处理或响应于请求被处理。
人工神经元可接收指示预定操作模式(诸如,例如,刷新模式)的控制信号。在这个示例中,人工神经元经由输入突触来接收与操作模式相应的帧化的输入信号。人工神经元可基于帧化的输入信号,来确定人工神经元的状态(例如,当前激活)。
图2是示出根据示例性实施例的人工神经元的输入和输出的示图。图2示出前一层210的人工神经元、人工神经元225和后一层230的人工神经元。
人工神经元225基于人工神经元225的先前激活v_p以及输入信号i1、输入信号i2和输入信号i3来确定人工神经元225的当前激活v_c。人工神经元225通过使用等式3来确定当前激活v_c。
[等式3]
在等式3中,v_c表示当前激活,f表示激活函数,v_p表示先前激活,i表示输入信号之和,表示人工神经元的参数。人工神经元的参数包括人工神经元的偏差(bias)和人工神经元的状态。可基于输入信号i1、输入信号i2、输入信号i3之和来确定输入信号之和i。可基于通过将前一层210的人工神经元的输出信号与人工神经元225的输入突触的各自的权重相乘获得的结果,来确定输入信号i1、输入信号i2和输入信号i3。在当前激活v_c被确定之后,人工神经元225存储当前激活v_c。
人工神经元225基于当前激活v_c和与由于人工神经元225先前已发生的事件E_P对应的激活v_e,来确定激活的改变量△v。人工神经元225将通过从当前激活v_c减去激活v_e获得的值确定为激活的改变量△v。
人工神经元225基于激活的改变量△v和阈值VT来确定新的事件E_N是否发生。详细地说,人工神经元225响应于激活的改变量△v相对于阈值VT的相交,来确定新的事件E_N是否发生。阈值VT包括增的第一阈值和减的第二阈值。因此,第一阈值大于第二阈值。在这种情况下,当激活的改变量△v超出第一阈值或者激活的改变量△v小于第一阈值时,人工神经元225确定新的事件E_N发生。
人工神经元225响应于新的事件的发生将与新的事件E_N相应的输出信号o发送到输出突触。输出信号o被乘以每个输出突触的权重w1、权重w2和权重w3。因此,包括在后一层230中的人工神经元可基于连接到人工神经元225的输出突触的权重w1、权重w2和权重w3来接收不同的输入信号。
如上所述,在一个示例性实施例中,基本动态计算网(DCN)中的输出信号o可包括指示激活的改变量△v相对于阈值VT的相交的方向的符号位。例如,响应于激活的改变量△v超出第一阈值,人工神经元225将单个正位(即,+1)发送到包括在后一层230中的人工神经元。响应于激活的改变量△v小于第二阈值,人工神经元225将单个负位(即,-1)发送到包括在后一层230中的人工神经元。在这个方面中,阈值VT可经由输出突触被发送到包括在后一层230中的人工神经元,包括在后一层230中的人工神经元可基于阈值VT和从人工神经元225接收的符号位来确定各自的激活。
在另一示例性实施例中,在模拟传输DCN中,人工神经元225将激活的改变量△v近似为位精度,输出信号o包括近似的激活的改变量v_a。例如,响应于激活的改变量△v超出第一阈值,或者激活的改变量△v小于第二阈值,人工神经元225将近似为16位的改变量v_a发送到包括在后一层230中的人工神经元。在这个示例中,包括在后一层230中的人工神经元通过使用从人工神经元225接收的近似的激活的改变量v_a来确定各自的激活,因此阈值VT不被发送。
人工神经元225在输出信号o被发送到包括在后一层230中的人工神经元之后,更新阈值VT。人工神经元225基于使新的事件E_N能够发生的当前激活v_c来更新阈值VT。例如,人工神经元225可更新与当前激活v_c的相似值相应的阈值VT。例如,可选地,人工神经元225可基于使用固定步长、对数步长或数量级中的任何一个的各种方法的中的任何一个,来更新阈值VT。下面将提供关于阈值VT的调节的详细描述。
图3是示出根据示例性实施例的事件确定和输出信号的曲线图。图3是示出在基本动态计算网(DCN)中基于事件的输出信号和人工神经元的激活随时间流逝的曲线图。
响应于激活的改变量在时间点t1超出第一阈值VT1,事件E1发生。因为激活的改变量超出阈值VT1(例如,增的第一阈值),所以单个位(诸如,例如,具有指示+1的真逻辑值的信号)作为输出信号o被发送。在输出信号o被发送之后,阈值VT1可被维持或被更新为阈值VT2。
响应于激活的改变量在时间点t2超出阈值VT2并随后在时间点t3超出阈值VT3,事件E2和随后的事件E3分别发生。具体地说,指示+1的单个位作为输出信号o被发送。在时间点t3之后,阈值VT3被维持或被更新为阈值VT4。
响应于激活的改变量在时间点t4为负并其绝对值小于阈值VT4,事件E4发生。因为激活的改变量小于阈值VT4(例如,减的第二阈值),所以单个位(诸如,例如,具有指示-1的假逻辑值的信号)作为输出信号o被发送。在输出信号o被发送之后,阈值VT4可被维持或被更新为阈值VT5。
为了描述的容易和方便,在图3的示例中描述了阈值被保持而没有被更新,但如以上所述,阈值可响应于事件发生被更新。
图4是示出根据另一示例性实施例的事件确定和输出信号的曲线图。图4是示出在模拟传输动态计算网(DCN)中基于事件的输出信号和人工神经元的激活随时间流逝的曲线图。
响应于激活的改变量在时间点t1超出阈值VT1,事件E1发生。人工神经元将激活的改变量+1近似为预定的位精度。人工神经元将近似的激活的改变量+1作为输出信号o来发送。在输出信号o被发送之后,阈值VT1被维持或被更新为阈值VT2。
响应于激活的改变量在时间点t2超出阈值VT2,事件E2发生。人工神经元将激活的改变量+4.2近似为预定的位精度。人工神经元将近似的激活的改变量+4.2作为输出信号o来发送。在输出信号o被发送之后,阈值VT2被维持或被更新为阈值VT3。
响应于激活的改变量在时间点t3小于阈值VT3,事件E3发生。人工神经元将激活的改变量-1近似为预定的位精度。人工神经元将近似的激活的改变量-1作为输出信号o来发送。在输出信号o被发送之后,阈值VT3被维持或被更新为阈值VT4。
为了描述的容易和方便,在图4的示例中描述了阈值被保持而没有被更新,但如以上所述,阈值可响应于事件的发生被更新。
图5是示出根据示例性实施例的阈值的调节的曲线图。图5是示出在log步长阈值动态计算网(DCN)中基于事件的输出信号和人工神经元的激活随时间流逝的曲线图。
响应于激活的改变量在时间点t1超出阈值VT1,事件E1发生。因为激活的改变量超出阈值VT1(例如,增的第一阈值),所以人工神经元将指示+1的单个位作为输出信号o来发送。人工神经元将激活的改变量+1近似为预定的位精度。人工神经元将近似的激活的改变量+1作为输出信号o来发送。
在输出信号o被发送之后,阈值VT1被更新为阈值VT2。例如,阈值VT2基于对数步长被设置为两倍的阈值VT1。在图5中,阈值VT1对应于1,阈值VT2对应于2。
响应于激活的改变量在时间点t2超出阈值VT2,事件E2发生。因为激活的改变量超出阈值VT1(例如,增的第一阈值),所以人工神经元将指示+1的单个位作为输出信号o来发送。人工神经元将激活的改变量+2近似为预定的位精度,并将近似的激活的改变量+2作为输出信号o来发送。
在输出信号o被发送之后,阈值VT2被更新为阈值VT3。例如,阈值VT3基于对数步长被设置为两倍的阈值VT2。在图5中,阈值VT3对应于4。当激活增大时,阈值增大。因此,可在改变量相对大的时候发生事件。在这个方面,与激活的绝对量相比,相对小的改变量是无关紧要的。因此,这样的无意义的事件可通过调节阈值来简单地控制。
图6是示出根据示例性实施例的集群的改变的示图。图6示出集群610、集群620和集群630。
如上所述,人工神经元N响应于包括人工神经元N的集群的改变来确定事件E是否发生。详细地说,人工神经元N基于人工神经元N的先前激活v_p和经由人工神经元N的输入突触接收的输入信号i来确定人工神经元N的当前激活v_c,并响应于包括先前激活v_p的第一集群和包括当前激活v_c的第二集群来确定事件E是否发生。当第一集群与第二集群不同时,人工神经元N确定事件E发生。人工神经元N响应于事件的发生将与事件E相应的输出信号o发送到输出突触。
集群610、集群620和集群630可具有不同的范围。例如,在图6中,集群620具有大于或等于0并且小于1的范围。集群610具有大于或等于1并且小于10的范围。集群630具有大于或等于10的范围。集群620对应于等级1,集群610对应于等级2,集群630对应于等级3。在这个示例中,人工神经元N可基于人工神经元N的当前激活v_c,而被包括在集群610、集群620和集群630中的至少一个集群中。例如,具有大于或等于0并且小于1的激活的人工神经元可被包括在集群620中。可基于包括在神经网络中的人工神经元的激活的范围来确定集群的数量和集群的范围。更详细的说,当完成学习的人工神经元的激活的分布基于边界值0、1和10被划分时,集群可具有边界值0、1和10的范围。
输出信号o包括指示来自集群的改变方向和集群的改变量之中的至少一个的至少一个改变位。例如,当包括人工神经元N的集群被改变为高级集群时,人工神经元N发送指示+1的改变位。基于上述示例,集群610对应于集群620的高级集群,集群630对应于集群610的高级集群。此外,集群630对应于集群620的两级高级集群。改变位可包括大于或等于两个位的位的数量,用于指示集群被改变至少两级。例如,当包括人工神经元N的集群被改变为两级低级集群时,人工神经元N发送指示-2的改变位。
例如,当人工神经元N的先前激活v_p对应于1.5并且人工神经元N的当前激活v_c对应于10.5时,人工神经元N从集群610移动到集群630。在这个示例中,人工神经元N将指示+1的改变位作为输出信号o来发送。当人工神经元N的先前激活v_p对应于1.5并且人工神经元的当前激活v_c对应于0.5,人工神经元N从集群610移动到集群620。在这个示例中,人工神经元N将指示-1的改变位作为输出信号o来发送。此外,当人工神经元N的先前激活v_p对应于0.5并且人工神经元N的当前激活v_c对应于10.5,人工神经元N被从集群620移动到集群630。在这个示例中,人工神经元N将指示+2的改变位作为输出信号o来发送。
如上所述,在一个示例中,动态计算网(DCN)可被应用于人工神经网络(ANN)或脉冲神经网络(SNN)。下面参照图7、图8和图9来描述关于将DCN应用于循环神经网络(RNN)(ANN的一种类型)的示例性实施例。以下提供的描述不限制DCN的应用范围。DCN可应用于ANN或SNN。
以下示例性实施例提出一种被称为δ网络(delta network)的RNN架构。δ网络可对应于上述DCN。δ网络中的每个神经元可仅在神经元的激活的改变超出阈值时发送神经元的值。
例如,RNN可用于基于包括以下项中的一个或多个的因素的组合来处理时间序列(temporal sequence):处理大数据集的能力的增加、更强大的计算机资源(诸如,图形处理器(GPU))和训练算法的大的改进。例如,可通过使用RNN来实现用于结构预测的应用(诸如,自然语言处理、语音识别和基于注意力的模型)。RNN可包括存储器,并且使用门控单元(诸如,例如,长短期记忆(LSTM)单元)。门控循环单元(GRU)可大大改善RNN的训练处理。然而,可能需要相对大量的资源来实现RNN,因为RNN严重依赖于用于更新神经元激活的矩阵乘法。
在一个示例性实施例中,输入流的特征和与输入流相关联的神经表征(neuralrepresentation)的特征可用于减少用于实现RNN的资源量。在这个方面,神经表征可对应于上述神经元的激活。
总体上,到神经网络的输入可具有相对高的时间自相关(temporalautocorrelation)等级。当输入随时间缓慢地改变时,这可指示时间自相关等级相对高。例如,在帧之间的改变相对小的视频的情况下,时间自相关等级可相对高。当神经网络处理时间自相关等级相对高的输入时,可允许神经网络的状态产生相对缓慢改变的激活。
图7示出处理标准视频数据集的标准卷积网络的特征。参照图7,可允许处理标准视频数据集的标准卷积网络的状态产生相对缓慢改变的激活。在图7中,随时间(或者,帧)的激活可高度冗余。
例如,激活可随时间几乎不改变。图7可表示这样的结果:当将来自场景识别剪辑(scene recognition clip)的前几千帧(first thousands of frames)应用于标准卷积网络时随时间绘制的最高级特征矢量层的前五十个任意的特征。因为图7示出峰值随时间相对恒定,激活可指示一致性而不是随时间出现的随机激活。
图8是示出循环神经网络(RNN)激活随时间的稳定性的示图。图8示出应用到数字识别数据集的RNN的激活特征。更详细地说,图8中的上图示出针对说出的数字的梅儿频率(mel-frequency)倒谱系数(MFCC)特征。图8中的下图示出响应于MFCC特征的神经网络的激活。
参照图8,缓慢改变的激活特征可出现在处理神经输入的RNN的计算中。例如,当在输入中出现相对长并且相对稳定的表征时,随时间的激活可相对缓慢地改变,并且激活可具有随时间相对高等级的稳定性。
<δ网络的构思>
δ网络的目的是用于将密集的矩阵矢量乘法(诸如,例如,权重矩阵和状态矢量的乘积)变换为与全加结合的稀疏的矩阵矢量乘法。这种变换可导致在存储器访问和操作两者上的可观的节约。可如表示这个变换的等式4所示地定义矩阵矢量乘法。
[等式4]
r=Wx
在等式4中,r表示RNN的参数中的重置门。尽管下面参照重置门r来描述δ网络的构思,但是以下描述可应用于RNN的其他参数。基于等式4,为了计算大小为n×n的矩阵W和大小为n的矢量x的乘积,可使用n2个操作,执行n2+n个读取操作并且执行n个写入操作。针对长输入矢量序列xt,可考虑多个矩阵矢量乘法。具体地说,索引t等于1、2、……、n。可基于等式5递归地计算矩阵矢量乘法。
[等式5]
rt=WΔ+rt-1
在等式5中,Δ=xt-xt-1被获得,rt-1是从先前计算获得的结果。因此,等式5的计算成本在索引t等于零(即,“0”)。此外,x0=0并且r0=0。在这个示例中,Δ可被称为输入δ矢量。如果Δ与隐藏状态矢量相关联,则Δ可被称为隐藏状态δ矢量。如果Δ是稀疏矢量,如等式5中的形式在计算成本方面是有利的。更详细地说,rt可被计算为Δ(即,针对大小n的矢量的n个操作)的成本、加上储存的先前结果rt-1(n个操作)的成本、稀疏矩阵相乘WΔ(即,针对n×n权重矩阵和占有率s的稀疏矢量的n2个操作)的成本之和。类似地,可通过取得针对矩阵W获取n×s个权重并储存针对Δ的2n个值、针对rt-1的n个值和指示结果的n个值来确定计算rt的存储器成本。
描述阈值的使用以指明即使在x具有小的改变时也期望节约计算成本。计算成本可被表示为如在等式6中所示。
[等式6]
Ccomp,dense=n2
Ccomp,sparse=n2s+2n
此外,存储器成本可被表示为如在等式7中所示。
[等式7]
Cmem,dense=n2+n
Cmem,sparse=n2s+4n
如果占有率是10%,则Ccomp,dense/Ccomp,sparse≈n2/0.1n2≈10x可基于等式7被获得。因此计算速度可增加到10倍。
通过在由Δ=xt-xt-1计算的每个Δ中的零的数量来设置加速(即,速度增加)。可通过数据流来确定加速。例如,可通过xt与xt-1之间的相同的值的数量来确定加速。当指示输入、中间激活值,和RNN的输出的矢量x在每个时间步长缓慢地改变时,输入值xt和xt-1可高度冗余,并且低的占有率s和相应增加的加速可被获得。
<δ网络门控循环单元(GRU)>
在GRU中,可被δ网络操作代替的矩阵矢量乘法操作可出现多次。尽管下面作为与RNN相关的示例来描述将δ网络应用于GRU的情况,但是δ网络还可应用于其他方法(诸如,例如,长短期记忆(LSTM))。等式8代表GRU的参数。在等式8中,r表示重置门值(reset gatevalue),z表示更新门值,c表示输出隐藏状态矢量,h表示更新的隐藏状态矢量,σ表示非线性函数(诸如,Sigmoid、双曲正切(tanh)和修正线性单元(ReLU)),b表示偏差值(biasvalue)。此外,等式8中以粗体指示的部分指示矩阵矢量乘法操作。可在等式8中任意地执行W与x的移项(transposition)。
[等式8]
rt=σr(xtWxr+ht-1Whr+br)
ut=σu(xtWxu+ht-1Whu+bu)
ct=σc(xtWxc+rt⊙(ht-1Whc)+bc)
ht=(1-ut)⊙ht-1+ut⊙ct
在等式8中,Wxr、Wxu和Wxc均表示输入矢量x的各个权重,Whr、Whu、Whc均表示隐藏状态矢量h的各个权重。在下面,Wxr、Wxu和Wxc可由Wx代表,Whr、Whu和Whc可由Wh代表。t可表示时间戳(time stamp)。等式8中以粗体指示的部分可使用基于等式5定义的δ更新来代替,这可表示为如在等式9中所示。
[等式9]
Δx=xt-xt-1
Δh=ht-1-ht-2
rt=σr(ΔxWxr+zxr+ΔhWhr+zhr+br)
ut=σu(ΔxWxu+zxu+ΔhWhu+zhu+bu)
ct=σc(ΔxWxc+zxc+rt⊙(ΔhWhc+zhc)+bc)
ht=(1-ut)⊙ht-1+ut⊙ct
如在等式9中所示,可基于在t的输入矢量xt(即,对应于晚于第一时间的第二时间的输入矢量)与在t-1的输入矢量xt-1(即,对应于第一时间的输入矢量)之间的差,来获得在t的输入δ矢量Δx;可基于在t-1的隐藏状态矢量ht-1(即,对应于第一时间的隐藏状态矢量)与在t-2的隐藏状态矢量ht-2(即,对应于早于第一时间的第三时间的隐藏状态矢量)之间的差,来获得隐藏状态δ矢量Δh。此外,可基于在t的输入δ矢量Δx的权重Wx与在t的输入δ矢量Δx的乘积以及在t-1的隐藏状态δ矢量Δh的权重Wh与在t-1的隐藏状态δ矢量Δh的乘积,来确定参数r、u和c。可基于确定的参数r、u和c来确定在t的隐藏状态矢量ht。
在等式9中,zxr、zxu、zxc、zhr、zhu和zhc可递归地被确定为从输入状态或隐藏状态的先前计算获得的储存的结果。例如,zxr可被表示为如在等式10中所示。
[等式10]
zxr:=zxr,t-1=(xt-1-xt-2)Wxr+zxr,t-2
基于等式10的操作可被类似地应用于zxu、zxc、zhr、zhu和zhc。在时间x0的初始条件是z0:=0。此外,如在以上等式中所指示的,包括储存的满秩预激活状态和偏差的多个附加项可被合并到单值中。合并的单值可导致每一门类型的一个或多个储存的矢量值。例如,储存的矢量值可被表示为如在等式11中所示。
[等式11]
Mt-1:=zx,t-1+zh,t-1+b
最后,基于初始状态的上述条件,储存的值M可被初始化为恰当的偏差(例如,Mr,0=br、Mu,0=bu、Mxc,0=bc和Mhr,0=0)。通过这样,等式12可针对δ网络GRU来定义。
[等式12]
Δx=xt-xt-1
Δh=ht-1-ht-2
Mr,t:=ΔxWxr+ΔhWhr+Mr,t-1
Mu,t:=ΔxWxu+ΔhWhu+Mu,t-1
Mxc,t:=ΔxWxc+Mxc,t-1
Mhc,t:=ΔhWhc+Mhc,t-1
rt=σr(Mr,t)
ut=σu(Mu,t)
ct=σc(Mxc,t+rt⊙(Mhc,t))
ht=(1-ut)⊙ht-1+ut⊙ct
<δ网络中的近似计算>
上述等式被设计为提供与网络中的原始计算相同精确的解。例如,当在t的输入矢量与在t-1的输入矢量之间的差大于预定阈值时,在t的输入矢量与在t-1的输入矢量之间的差可被确定为输入δ矢量。当在t的输入矢量与在t-1的输入矢量之间的差小于预定阈值时,零矢量可被确定为输入δ矢量。隐藏状态δ矢量可基于相同的方法被确定。
可通过使用上述等式实现合适的方法。例如,代替当激活的改变等于零时跳过矢量乘法操作,当激活的改变小于预定阈值Θ时,可跳过矢量乘法操作。具体地说,激活的改变可对应于上述δ矢量。这可能不会精确地产生相同的结果,但作为替代可产生近似正确的结果。
图9是示出经由δ网络获得的计算的结果的示图。在图9中,非零值由黑色指示。参照图9,仅20%占有率的权重矩阵的可响应于20%占有率的δ矢量被获取。进一步考虑权重矩阵具有20%占有率,仅4%占有率的原始权重矩阵可出现以用于实际计算。
当使用非零阈值时,误差可随多个时间步长而累积。例如,尽管激活的显著改变累积,但是由于输入值xt在每个时间步长增加Θ,所以改变可能不会发生。因此,先前时间步长的存储器可被设置为存储导致超出阈值的改变的最近的值,而不是存储来自最近的时间步长的差。这样的操作可基于等式13被定义。
[等式13]
在等式13中,和表示参考矢量。例如,当在t-1的输入δ矢量Δx,t-1大于预定阈值Θ时,在t-1的输入矢量xi,t-1可被确定为在t-1的参考矢量当在t-1的输入δ矢量Δx,t-1小于预定阈值Θ时,在t-2的参考矢量可被确定为在t-1的参考矢量
具体地说,当计算输入δ矢量Δxi,t时,可使用输入的当前值xi,t与δ矢量的最近的值之间的差。在这个示例中,i表示在时间t的矢量的分量,并且具有非零值。此外,当输入δ矢量Δxi,t的绝对值小于预定阈值Θ时,输入δ矢量Δxi,t被设置为零,并且当充分大的改变产生非零更新时,可产生将被校正的小的近似误差。类似地,可通过使用等式13获得隐藏状态δ矢量Δhi,t。
在下文,提供计算δ网络模型的训练方法和优化方案的描述。当将额外的约束添加到训练处理时,可获得更具鲁棒性和更加快速的δ网络。下面将提供约束条件的描述。
<训练方法>
a)对网络激活进行取整:上述设阈值的δ网络计算可执行与部分计算的状态中的取整相似的功能。Δ项在小的差时被设置为零,但当差相对大时网络可被更新。针对在训练处理中执行取整时导致的小的取整误差可考虑用于加强网络的各种方法。为了增加精度,可执行激活取整。在这种情况下,网络被成功地训练,因此网络可具有针对这样的小的取整误差的鲁棒性。此外,低精度的计算可减少功耗量。
在这个方面,可使用确定性和梯度保留的取整,从高分辨率参数θ产生具有m个整数位和f个小数位的固定点形式Qm.f中的低分辨率参数θL。低分辨率参数θL可被表示为如在等式14中所示。
[等式14]
θL=round(2f·θ)·2-f
在等式14中,可通过确定夹在范围[-2m+f-1,2m+f-1]中的值2f·θ和等式15的取整函数来获得θL。
[等式15]
在等式15中,表示梯度运算符。在正向传递(forward pass)期间,低分辨率参数θL可用于产生考虑低精度的影响的输出,小的梯度更新可在高分辨率参数θ中随时间累积。当完成训练处理时,可弃用高参数θ,并可使用低分辨率参数θL。模拟结果的参数可以是激活。
b)将高斯噪声添加到网络激活:当应用阈值时,网络可针对小的改变的非传播具有相对地鲁棒性,并且相对大的改变可被认为是重要的。提供针对小的改变的鲁棒性的另一方法是将高斯噪声添加到具有设阈值的δ激活的所有位置。高斯噪声可如在等式16中所示地被添加。
[等式16]
rt=σr((xx+ηxr)Wxr+(ht-1+ηhr)Whr+br)
ut=σu((xt+ηxu)Wxu+(ht-1+ηhu)Whu+bu)
ct=σc((xt+ηxc)Wxc+rt⊙((ht-1+ηhc)Whc)+bc)
ht=(1-ut)⊙ht-1+ut⊙ct
在等式16中,针对各个η∈{ηxr,ηhr,ηxu,ηhu,ηxc,ηhc}和针对各个矢量中的各个分量,η~N(μ,σ)指示样本η的矢量的确定,其中,样本η来自具有均值η和方差σ的高斯分布。通常,值μ被设置为零,使得期望值是无偏的。例如,获得E[xt+ηxr]=E[xt]。方差σ可被设置,以估计由非更新造成的一般取整误差。
<δ网络模型中的直接计算>
添加高斯噪声的操作仍然与在设阈值的δ网络中执行的截断操作(truncationoperation)不同。因此,可在δ网络中直接训练模型。通过直接训练将被测试的模型,可使网络针对由设阈值的δ网络造成的一般类型的误差具有更强的鲁棒性。
<在稀疏成本中发生的激活的改变>
与通过使用δ网络模型训练的网络相同,成本可与δ条件相关联,或者成本可被添加到整个成本。在批处理中,针对Δh的范数L1可被计算为平均绝对δ改变,并且范数L1可通过加权因子β被调节。稀疏成本L可被添加到损失函数。等式17示出稀疏成本L。
[等式17]
LSparse=β||Δh||
在等式17中,β指示加权因子,Δh指示隐藏状态δ矢量。在这个示例中,范数L1用于确定Δh中的稀疏值,使得更少的δ更新被需要。在一个示例性实施例中,因为在训练期间没有优化Δ,所以Δx不是范数L1的目标。因此,Δx可不包括在关系式中。
<优化方法>
a)权重稀疏的影响:在训练之后的深度网络的权重矩阵的稀疏的量可影响计算成本的减少和速度增加。训练后的低精度网络中的权重矩阵的稀疏的量可相对较大。零可与δ矢量相乘,以产生更少数量的必要乘法累积操作。因此,通过考虑针对更新的数量的权重稀疏的影响,速度可被提高而不造成任何额外的精度损失。
图10是示出根据示例性实施例的电子装置的示例的框图。参照图10,电子装置1000包括处理器1010和存储器1020。前述的神经网络可在电子装置1000中实现。
处理器1010包括参照图1至图9描述的神经网络中的至少一个,或者处理器1010执行参照图1至图9描述的方法中的至少一个。例如,处理器1010可处理前述的人工神经元的操作。详细地说,针对包括在神经网络中的每个神经元,处理器1010处理用于基于先前激活和经由输入突触接收的输入信号来确定当前激活的操作、用于基于当前激活和与先前已发生的事件相应的激活来确定激活的改变量的操作、用于响应于激活的改变量和阈值来确定新的事件是否发生的操作和用于响应于新的事件的发生将与新的事件相应的输出信号发送到输出突触的操作。
存储器1020存储意在计算机中读取的指令。当存储在存储器1020中的指令在处理器1010中被执行时,处理器1010处理前述人工神经元的操作。存储器1020存储与前述的神经网络相关联的数据。例如,存储器1020存储每个人工神经元的激活和突触的权重。存储器1020可以是易失性存储器或非易失性存储器。
处理器1010执行程序并控制电子装置1000。电子装置1000经由输入和输出装置(未示出)连接到外部装置(诸如,个人计算机(PC)、移动装置或网络中的任何一个),从而执行数据交换。电子装置1000可包括各种电子系统(例如,电子装置(诸如,移动电话、智能电话、个人数字助理(PDA)、台式计算机和膝上型计算机)、计算装置(诸如,PC、台式计算机和上网本)和电子产品(诸如,电视(TV)、智能TV和用于门控的安全装置))中的任何一个。前述的描述可应用于电子装置1000,因此这里不重复进一步的描述。
图11是示出根据示例性实施例的电子装置的另一示例的框图。参照图11,电子装置1100包括与人工神经元相应的处理单元(还被称为“处理组件”)。
每个处理单元可对应于神经网络中的每个人工神经元。每个处理单元可处理每个相应的人工神经元的操作,和/或存储与每个相应的人工神经元相关联的数据。处理单元经由链接彼此连接。链接可对应于突触,并且链接可被限制为具有预定位宽。每个处理单元包括各自的处理器和被配置为存储计算机可读指令的各自的存储器。例如,包括在每个处理单元中的处理可被实现为算术逻辑单元(ALU)。每个处理单元可如全连接网络中一样,连接到另一层的所有的处理单元,或者每个处理单元可如在卷积网络中一样具有有限空间的连通性。
当在处理器中执行在存储器中存储的指令时,处理器基于先前激活和经由输入链接接收的输入信号来确定当前激活,基于当前激活和与先前已发生的事件相应的激活来确定激活的改变量,响应于激活的改变量和阈值来确定新的事件是否发生,并响应于新的事件的发生将与新的事件相应的输出信号发送到输出链接。存储器存储人工神经元的当前激活。前述的描述可应用于电子装置1100,因此这里不重复进一步的描述。
图12是示出根据另一示例性实施例的用于操作人工神经元的方法的流程图。参照图12,在操作1210中,人工神经元基于先前激活和经由人工神经元的输入突触接收的输入信号来确定人工神经元的当前激活。在操作1220中,人工神经元基于当前激活和与由于人工神经元先前已发生的事件相应的激活,来确定激活的改变量。在操作1230中,人工神经元响应于激活的改变量和阈值来确定新的事件是否发生。在操作1240中,人工神经元响应于新的事件的发生将与新的事件相应的输出信号发送到输出突触。前述的描述可应用于人工神经元的操作方法,因此这里不重复进一步的描述。
可使用硬件组件、软件组件或它们的组合来实现在此描述的示例性实施例。可使用一个或多个通用或专用计算机(诸如,处理器、控制器和算术逻辑单元、数字信号处理器、微型计算机、现场可编程阵列、可编程逻辑单元、微处理器或能够以限定方式响应并执行指令的任何其他装置)来实现处理装置。处理装置可运行存储系统(OS)和在OS上运行的一个或多个软件应用。处理装置还可响应于软件的执行来访问、存储、操作、处理和创建数据。为了简明的目的,处理装置的描述表示为单数,然而,本领域普通技术人员将理解,处理装置可包括多个处理元件和多种类型的处理元件。例如,处理装置可包括多个处理器或者一个处理器和一个控制器。此外,不同的处理配置是可行的(诸如,并行处理器)。
软件可包括计算机程序、代码段、指令或它们的一些组合,用于独立地或共同地指示或配置处理装置以如期望那样进行操作。可以以机器、组件、物理或虚拟设备、计算机存储介质或装置、或能够向处理装置提供指令或数据或能够被处理装置解释的传播信号波中的任何类型,来永久或暂时地实现软件和数据。软件还可分布在联网的计算机系统中,从而软件以分布式方式被存储和执行。可通过一个或多个非暂时性计算机可读记录介质来存储软件和数据。
根据上述示例性实施例的方法可被记录在非暂时性计算机可读介质中,该非暂时性计算机可读介质包括用于实现由计算机实施的各种操作的程序指令。该介质还可单独或结合地包括程序指令、数据文件、数据结构等。记录在介质上的程序指令可以是用于示例性实施例的目的而专门设计和构造的程序指令,或者可以是计算机软件领域的普通技术人员已知和可用的程序指令。非暂时性计算机可读介质的示例包括:磁介质(诸如,硬盘、软盘和磁带)、光介质(诸如,光盘-只读存储器(CD ROM)盘和数字通用光盘(DVD))、磁光介质(诸如,光学磁盘)、专门被配置为存储和执行程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例包括机器码(诸如,由编译器产生的)和包含可由计算机使用解释器执行的高级代码的文件两者。描述的硬件装置可被配置为用作一个或多个软件模块,以执行上述示例性实施例的操作,反之亦然。
尽管本公开包括特定的示例性实施例,但是在不脱离权利要求和它们的等同物的精神和范围的情况下,可在这些示例性实施例中做出形式和细节上各种改变,这对本领域普通技术人员将是清楚的。在此描述的示例性实施例被认为仅是描述性的,而非为了限制的目的。每一示例性实施例中的特征和方面的描述将被认为适用于其他示例性实施例中的相似特征和方面。如果描述的技术以不同的顺序被执行,和/或如果在描述的系统、架构、装置、或电路中的组件以不同的方式组合,和/或被其他组件或者它们的等同物代替或补充,则可实现合适的结果。因此,本公开的范围不是通过具体实施方式所限定,而是由权利要求和它们的等同物限定,并且在权利要求和它们的等同物的范围内的所有变化将被解释为被包括在本公开中。
Claims (34)
1.一种通过使用神经网络可执行的方法,所述方法包括:
基于人工神经元的先前激活和经由人工神经元的输入突触接收的输入信号,确定人工神经元的当前激活;
基于确定的当前激活和与由于人工神经元先前已发生的事件相应的第二激活,确定第一激活的改变量;
基于第一阈值和确定的第一激活的改变量,确定新的事件是否发生;
响应于新的事件的发生,将与新的事件相应的输出信号发送到输出突触。
2.如权利要求1所述的方法,其中,响应于第一阈值与确定的第一激活的改变量相交,新的事件发生,
其中,第一阈值与确定的第一激活的改变量相交指示确定的第一激活的改变量的绝对值变得大于第一阈值。
3.如权利要求1所述的方法,其中,输出信号包括指示确定的第一激活的改变量和第一阈值的相交的方向的符号位。
4.如权利要求1所述的方法,还包括:
接收与经由输入突触连接的前一层相应的第二阈值,
其中,确定当前激活的步骤包括:基于先前激活、输入信号和第二阈值,确定当前激活。
5.如权利要求1所述的方法,其中,输出信号包括近似为预定的位精度的确定的第一激活的改变量。
6.如权利要求5所述的方法,其中,基于来自要求精度和可用资源的量之中的至少一个,来调节预定的位精度。
7.如权利要求1所述的方法,其中,基于在预定时间间隔期间发生的事件的数量,来调节第一阈值。
8.如权利要求7所述的方法,其中,响应于在所述预定时间间隔期间发生的事件的数量超出预定的第三阈值,来增大第一阈值;响应于在所述预定时间间隔期间发生的事件的数量小于预定的第四阈值,来减小第一阈值,其中,第三阈值大于第四阈值。
9.如权利要求1所述的方法,还包括:
在输出信号被发送之后,基于确定的当前激活,更新第一阈值。
10.如权利要求9所述的方法,其中,基于来自固定步长、对数步长和数量级之中的至少一个,来更新第一阈值。
11.如权利要求1所述的方法,还包括:
存储确定的当前激活。
12.如权利要求1所述的方法,还包括:
接收指示预定操作模式的控制信号;
经由输入突触,接收与指示的操作模式相应的帧化的输入信号;
基于帧化的输入信号,确定当前激活。
13.如权利要求1所述的方法,其中,神经网络包括来自以下项之中的至少一个:人工神经网络、全连接网络、深度卷积网络、循环神经网络和脉冲神经网络。
14.一种通过使用神经网络可执行的方法,所述方法包括:
基于人工神经元的先前激活和经由人工神经元的输入突触接收的输入信号,确定人工神经元的当前激活;
响应于包括先前激活的第一集群和包括确定的当前激活的第二集群,确定事件是否发生;
响应于所述事件的发生,将与所述事件相应的输出信号发送到输出突触。
15.如权利要求14所述的方法,其中,所述事件响应于第一集群与第二集群不同而发生。
16.如权利要求14所述的方法,其中,输出信号包括至少一个改变位,所述至少一个改变位指示来自从第一集群到第二集群的改变方向和从第一集群到第二集群的改变量之中的至少一个。
17.一种通过使用循环神经网络可执行的方法,所述方法包括:
基于与第一时间相应的第一输入矢量和与早于第一时间的第二时间相应的第二输入矢量之间的差,获得与第一时间相应的第一输入δ矢量;
基于与第二时间相应的第二隐藏状态矢量和与早于第二时间的第三时间相应的第三隐藏状态矢量之间的差,获得在与第二时间相应的隐藏状态δ矢量;
基于与第一输入δ矢量相应的第一权重和第一输入δ矢量的乘积以及与隐藏状态δ矢量相应的第二权重和隐藏状态δ矢量的乘积,确定循环神经网络中的至少一个参数;
基于确定的循环神经网络中的至少一个参数,确定与第一时间相应的第一隐藏状态矢量。
18.如权利要求17所述的方法,其中,确定的循环神经网络中的至少一个参数包括:来自重置门的值、更新门的值和输出隐藏状态矢量的值之中的至少一个。
19.如权利要求17所述的方法,其中,获得第一输入δ矢量的步骤包括:
响应于第一输入矢量与第二输入矢量之间的差大于预定阈值,将第一输入矢量与第二输入矢量之间的差确定为第一输入δ矢量;
响应于第一输入矢量与第二输入矢量之间的差小于所述预定阈值,将零矢量确定为第一输入δ矢量。
20.如权利要求17所述的方法,其中,获得第一输入δ矢量的步骤包括:
基于与第二时间相应的第二输入δ矢量,获得与第二时间相应的第二参考矢量;
基于第一输入矢量与获得的第二参考矢量之间的差,获得第一输入δ矢量。
21.如权利要求20所述的方法,其中,获得第二参考矢量的步骤包括:
响应于第二输入δ矢量大于预定阈值,将第二输入δ矢量确定为第二参考矢量;
响应于第二输入δ矢量小于所述预定阈值,将与第三时间相应的第三参考矢量确定为第二参考矢量。
22.如权利要求17所述的方法,其中,获得隐藏状态δ矢量的步骤包括:
响应于第二隐藏状态矢量与第三隐藏状态矢量之间的差大于预定阈值,将隐藏状态δ矢量确定为第二隐藏状态矢量与第三隐藏状态矢量之间的差;
响应于第二隐藏状态矢量与第三隐藏状态矢量之间的差小于所述预定阈值,将隐藏状态δ矢量确定为零矢量。
23.一种存储在由处理器执行时使得处理器执行如权利要求1所述的方法的指令的非暂时性计算机可读介质。
24.一种电子装置,包括:
多个处理组件,分别对应于人工神经元,
其中,每个处理组件包括:各自的处理器和被配置为存储各自的计算机可读指令的各自的存储器,
其中,针对每个处理器,当由处理器执行相应的指令时,处理器被配置为:
基于先前激活和经由输入链接接收的输入信号,确定当前激活,
基于当前激活和与先前已发生的事件相应的第二激活,确定第一激活的改变量,
基于第一阈值和确定的第一激活的改变量,确定新的事件是否发生,
响应于新的事件的发生,将与新的事件相应的输出信号发送到输出链接。
25.如权利要求24所述的电子装置,其中,响应于第一阈值与确定的第一激活的改变量相交,新的事件发生。
26.如权利要求24所述的电子装置,其中,输出信号包括指示确定的第一激活的改变量和第一阈值的相交的方向的符号位。
27.如权利要求24所述的电子装置,其中,每个处理器还被配置为:接收与经由输入链接连接的前一层相应的第二阈值,并基于先前激活、输入信号和第二阈值,确定当前激活。
28.如权利要求24所述的电子装置,其中,输出信号包括与预定的位精度近似的确定的第一激活的改变量。
29.如权利要求28所述的电子装置,其中,预定的位精度基于来自要求精度和可用资源的量之中的至少一个被调节。
30.如权利要求24所述的电子装置,其中,第一阈值基于在预定时间间隔期间发生的事件的数量被调节。
31.如权利要求30所述的电子装置,其中,第一阈值响应于在所述预定时间间隔期间发生的事件的数量超出预定的第三阈值而增大,第一阈值响应于在所述预定时间间隔期间发生的事件的数量小于预定的第四阈值而减小,其中,第三阈值大于第四阈值。
32.如权利要求24所述的电子装置,其中,每个处理器被配置为:在输出信号被发送之后,基于相应的确定的当前激活,更新第一阈值。
33.如权利要求32所述的电子装置,其中,第一阈值基于来自固定步长、对数步长和数量级之中的至少一个被调节。
34.如权利要求24所述的电子装置,其中,每个存储器被配置为存储相应的确定的当前激活。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662361626P | 2016-07-13 | 2016-07-13 | |
US62/361,626 | 2016-07-13 | ||
KR20160113039 | 2016-09-02 | ||
KR10-2016-0113039 | 2016-09-02 | ||
US201662429146P | 2016-12-02 | 2016-12-02 | |
US62/429,146 | 2016-12-02 | ||
KR1020170053543A KR102399548B1 (ko) | 2016-07-13 | 2017-04-26 | 뉴럴 네트워크를 위한 방법 및 그 방법을 수행하는 장치 |
KR10-2017-0053543 | 2017-04-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107622303A true CN107622303A (zh) | 2018-01-23 |
CN107622303B CN107622303B (zh) | 2023-10-31 |
Family
ID=61071041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710570971.3A Active CN107622303B (zh) | 2016-07-13 | 2017-07-13 | 用于神经网络的方法和执行该方法的设备 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102399548B1 (zh) |
CN (1) | CN107622303B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108777157A (zh) * | 2018-05-08 | 2018-11-09 | 南京邮电大学 | 基于深度神经网络预测mlc闪存电压阈值的自适应方法 |
CN109102079A (zh) * | 2018-08-16 | 2018-12-28 | 辽宁大学 | 基于值导数gru的入侵检测算法 |
CN112119409A (zh) * | 2018-05-18 | 2020-12-22 | 渊慧科技有限公司 | 具有关系存储器的神经网络 |
CN112384935A (zh) * | 2018-07-12 | 2021-02-19 | 国际商业机器公司 | 分布式神经网络核心网络中的层级并行 |
CN112989346A (zh) * | 2021-04-09 | 2021-06-18 | 鹏城实验室 | 对抗样本生成方法、装置、终端设备以及存储介质 |
CN113905664A (zh) * | 2019-06-24 | 2022-01-07 | 成都时识科技有限公司 | 一种用于检测生理状况的事件驱动脉冲神经网络系统 |
CN113974607A (zh) * | 2021-11-17 | 2022-01-28 | 杭州电子科技大学 | 一种基于脉冲神经网络的睡眠鼾声检测系统 |
WO2023083121A1 (zh) * | 2021-11-09 | 2023-05-19 | 华为技术有限公司 | 去噪方法和相关设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102310490B1 (ko) | 2018-04-27 | 2021-10-08 | 한국과학기술원 | 재귀적 신경망에서 시계열 데이터의 데이터 누락 및 노이즈에 강건한 gru 기반의 셀 구조 설계 |
KR102239040B1 (ko) * | 2018-06-29 | 2021-04-13 | 성균관대학교산학협력단 | 운송 수단의 부품에 대한 고장예지 및 건전성 관리 시스템 및 방법 |
US10956814B2 (en) | 2018-08-27 | 2021-03-23 | Silicon Storage Technology, Inc. | Configurable analog neural memory system for deep learning neural network |
KR102019376B1 (ko) * | 2018-11-08 | 2019-09-06 | 주식회사 도아에스티 | 지능형 철강 제품 절단 가공 시스템 및 방법 |
KR102188044B1 (ko) * | 2019-11-29 | 2020-12-07 | 한남대학교 산학협력단 | 뉴로모픽 아키텍처 기반 지능형 응용 개발을 위한 프레임워크 시스템 |
KR102113876B1 (ko) * | 2019-12-13 | 2020-05-21 | 이큐엠텍(주) | 사출 금형 제조 공정을 위한 제어 방법 및 장치 |
US11164084B1 (en) * | 2020-11-11 | 2021-11-02 | DeepCube LTD. | Cluster-connected neural network |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2002681A1 (en) * | 1989-11-10 | 1991-05-10 | Patrick F. Castelaz | Neural network signal processor |
US5696883A (en) * | 1992-01-24 | 1997-12-09 | Mitsubishi Denki Kabushiki Kaisha | Neural network expressing apparatus including refresh of stored synapse load value information |
US20130325768A1 (en) * | 2012-06-04 | 2013-12-05 | Brain Corporation | Stochastic spiking network learning apparatus and methods |
US20140052679A1 (en) * | 2011-09-21 | 2014-02-20 | Oleg Sinyavskiy | Apparatus and methods for implementing event-based updates in spiking neuron networks |
US20140074761A1 (en) * | 2012-05-30 | 2014-03-13 | Qualcomm Incorporated | Dynamical event neuron and synapse models for learning spiking neural networks |
US20140317035A1 (en) * | 2011-08-17 | 2014-10-23 | Botond Szatmary | Apparatus and methods for event-based communication in a spiking neuron networks |
US20150372805A1 (en) * | 2014-06-23 | 2015-12-24 | Qualcomm Incorporated | Asynchronous pulse modulation for threshold-based signal coding |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5857177A (en) * | 1994-03-08 | 1999-01-05 | Alstroem; Preben | Neural network |
US9477924B2 (en) | 2013-08-21 | 2016-10-25 | Kunjumon Ittira Vadakkan | Artificial neural circuit forming re-activatible functional link between the postsynaptic terminals of two synapses |
US20150269481A1 (en) * | 2014-03-24 | 2015-09-24 | Qualcomm Incorporated | Differential encoding in neural networks |
-
2017
- 2017-04-26 KR KR1020170053543A patent/KR102399548B1/ko active IP Right Grant
- 2017-07-13 CN CN201710570971.3A patent/CN107622303B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2002681A1 (en) * | 1989-11-10 | 1991-05-10 | Patrick F. Castelaz | Neural network signal processor |
US5696883A (en) * | 1992-01-24 | 1997-12-09 | Mitsubishi Denki Kabushiki Kaisha | Neural network expressing apparatus including refresh of stored synapse load value information |
US20140317035A1 (en) * | 2011-08-17 | 2014-10-23 | Botond Szatmary | Apparatus and methods for event-based communication in a spiking neuron networks |
US20140052679A1 (en) * | 2011-09-21 | 2014-02-20 | Oleg Sinyavskiy | Apparatus and methods for implementing event-based updates in spiking neuron networks |
US20140074761A1 (en) * | 2012-05-30 | 2014-03-13 | Qualcomm Incorporated | Dynamical event neuron and synapse models for learning spiking neural networks |
US20130325768A1 (en) * | 2012-06-04 | 2013-12-05 | Brain Corporation | Stochastic spiking network learning apparatus and methods |
US20150372805A1 (en) * | 2014-06-23 | 2015-12-24 | Qualcomm Incorporated | Asynchronous pulse modulation for threshold-based signal coding |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108777157B (zh) * | 2018-05-08 | 2021-07-09 | 南京邮电大学 | 基于深度神经网络预测mlc闪存电压阈值的自适应方法 |
CN108777157A (zh) * | 2018-05-08 | 2018-11-09 | 南京邮电大学 | 基于深度神经网络预测mlc闪存电压阈值的自适应方法 |
CN112119409A (zh) * | 2018-05-18 | 2020-12-22 | 渊慧科技有限公司 | 具有关系存储器的神经网络 |
CN112119409B (zh) * | 2018-05-18 | 2024-04-05 | 渊慧科技有限公司 | 具有关系存储器的神经网络 |
CN112384935A (zh) * | 2018-07-12 | 2021-02-19 | 国际商业机器公司 | 分布式神经网络核心网络中的层级并行 |
CN109102079A (zh) * | 2018-08-16 | 2018-12-28 | 辽宁大学 | 基于值导数gru的入侵检测算法 |
CN109102079B (zh) * | 2018-08-16 | 2022-01-11 | 深圳市德瑞信息技术有限公司 | 基于值导数gru的入侵检测算法 |
CN113905664B (zh) * | 2019-06-24 | 2023-11-14 | 成都时识科技有限公司 | 一种用于检测生理状况的事件驱动脉冲神经网络系统 |
CN113905664A (zh) * | 2019-06-24 | 2022-01-07 | 成都时识科技有限公司 | 一种用于检测生理状况的事件驱动脉冲神经网络系统 |
CN112989346B (zh) * | 2021-04-09 | 2021-08-10 | 鹏城实验室 | 对抗样本生成方法、装置、终端设备以及存储介质 |
CN112989346A (zh) * | 2021-04-09 | 2021-06-18 | 鹏城实验室 | 对抗样本生成方法、装置、终端设备以及存储介质 |
WO2023083121A1 (zh) * | 2021-11-09 | 2023-05-19 | 华为技术有限公司 | 去噪方法和相关设备 |
CN113974607A (zh) * | 2021-11-17 | 2022-01-28 | 杭州电子科技大学 | 一种基于脉冲神经网络的睡眠鼾声检测系统 |
CN113974607B (zh) * | 2021-11-17 | 2024-04-26 | 杭州电子科技大学 | 一种基于脉冲神经网络的睡眠鼾声检测系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107622303B (zh) | 2023-10-31 |
KR102399548B1 (ko) | 2022-05-19 |
KR20180007657A (ko) | 2018-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107622303A (zh) | 用于神经网络的方法和执行该方法的设备 | |
US12056597B2 (en) | Method for recurrent neural network parameter calculations for utilization of sparsity and apparatus performing same method | |
US11488009B2 (en) | Deep learning-based splice site classification | |
KR102492318B1 (ko) | 모델 학습 방법 및 장치, 및 데이터 인식 방법 | |
CN109754078A (zh) | 用于优化神经网络的方法 | |
KR20210029785A (ko) | 활성화 희소화를 포함하는 신경 네트워크 가속 및 임베딩 압축 시스템 및 방법 | |
JP2019032808A (ja) | 機械学習方法および装置 | |
CN116415654A (zh) | 一种数据处理方法及相关设备 | |
CN105488563A (zh) | 面向深度学习的稀疏自适应神经网络、算法及实现装置 | |
WO2019240911A1 (en) | System and method for implementing a neural network | |
CN112308204A (zh) | 使用适应度估计的自动化神经网络生成 | |
Barman et al. | Transfer learning for small dataset | |
Dai et al. | Hybrid deep model for human behavior understanding on industrial internet of video things | |
CN111753995A (zh) | 一种基于梯度提升树的局部可解释方法 | |
CN112988851A (zh) | 反事实预测模型数据处理方法、装置、设备及存储介质 | |
Wang et al. | Structured feature sparsity training for convolutional neural network compression | |
CN118628736A (zh) | 基于聚类思想的弱监督室内点云语义分割方法、装置及介质 | |
CN114766024A (zh) | 用于修剪神经网络的方法和设备 | |
Mishra | Cnn and rnn using pytorch | |
Bal et al. | Rethinking Spiking Neural Networks as State Space Models | |
US20210081765A1 (en) | Efficient inferencing with fast pointwise convolution | |
CN112036546A (zh) | 序列处理方法及相关设备 | |
CN111695677A (zh) | 一种基于神经元复苏的神经网络训练加速方法 | |
Daniel et al. | Object Recognition Using Deep Learning | |
CN114168320B (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 |