CN112446468A - 用于创建脉冲神经网络的方法、设备和计算机程序 - Google Patents
用于创建脉冲神经网络的方法、设备和计算机程序 Download PDFInfo
- Publication number
- CN112446468A CN112446468A CN202010877946.1A CN202010877946A CN112446468A CN 112446468 A CN112446468 A CN 112446468A CN 202010877946 A CN202010877946 A CN 202010877946A CN 112446468 A CN112446468 A CN 112446468A
- Authority
- CN
- China
- Prior art keywords
- neural network
- deep neural
- spiking
- spiking neural
- layers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 212
- 238000012421 spiking Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 title claims abstract description 15
- 230000001934 delay Effects 0.000 claims abstract description 6
- 238000003860 storage Methods 0.000 claims abstract description 5
- 210000002569 neuron Anatomy 0.000 claims description 59
- 238000012549 training Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000004088 simulation Methods 0.000 description 19
- 230000004913 activation Effects 0.000 description 11
- 238000001994 activation Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 9
- 238000010304 firing Methods 0.000 description 9
- 230000010354 integration Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000013529 biological neural network Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000012528 membrane Substances 0.000 description 2
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
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
本发明涉及一种用于创建脉冲神经网络(英文Spiking Neural Network)的方法(10)。该方法开始于将可预先给定的控制模式(英文rollout pattern)分派给深度神经网络。接着,在使用该控制模式的情况下对该深度神经网络进行教导。接着,将该深度神经网络转换成该脉冲神经网络,其中根据该控制模式来分别给该脉冲神经网络的连接分配延迟。本发明还涉及一种用于实施该方法(10)的计算机程序和设备以及一种在其上存储有该计算机程序的机器可读存储元件。
Description
技术领域
本发明涉及一种用于通过将被教导的人工神经网络转换成脉冲神经网络来创建该脉冲神经网络的方法。本发明同样涉及一种分别被设立为实施该方法的设备和计算机程序。
背景技术
可能的是使人工神经网络完全并行地运行,如由作者Volker Fischer、Jan Köhler和Thomas Pfeil在他们的出版物“The streaming rollout of deep networks-towards fully model-parallel execution.”arXiv preprint arXiv:1806.04965(2018年)所示出以及在DE 20 2018 104 373 U1中所示出的那样。
公知脉冲神经网络(英文Spiking Neural Network,SNN)。脉冲神经网络是人工神经网络(英文Artifical Neural Network,ANN)的变体并且与生物神经网络非常相似。就像在生物神经网络中那样,脉冲神经网络的神经元并不是像在深度神经网络中所执行的那样在每个传播周期(英文propagation cycle)中都开火(feuern),而是只有当膜电位超过阈值时才开火。如果脉冲神经网络的神经元开火,则该神经元产生短脉冲(英文spike),该短脉冲传递到其它神经元,所述其它神经元又根据该脉冲来提高或降低所述其它神经元的膜电位。
脉冲神经网络要花费高地被教导,因为短脉冲序列(英文spike trains)通过狄拉克(Dirac)函数来呈现,所述狄拉克函数不能以数学方式推导。
可能的是:将被教导的人工神经网络转换成被教导的脉冲神经网络,如由作者Rueckauer Bodo、Lungu Iulia-Alexandra、Hu Yuhuang、Pfeiffer Michael、Liu Shih-Chii在他们的出版物“Conversion of Continuous-Valued Deep Networks to EfficientEvent-Driven Networks for Image Classification”《神经科学前沿》doi 10.3389/fnins.2017.00682(2017年), https://doi.org/10.3389/fnins.2017.00682所示出的那样。
本发明的优点
脉冲神经网络在推理期间高效,因为可以在专用硬件上完全并行地实施脉冲神经网络的层、尤其是神经元。然而,该优点在人工神经网络、尤其是具有跨接连接(英文skip-/recurrent-connection)的人工神经网络被转换成脉冲神经网络的情况下不能被充分利用。因为,如果具有跨接连接的人工神经网络被转变,则脉冲神经网络只能按顺序被实施、例如通过等待时钟按顺序被实施,但是这低效。
相对于脉冲神经网络而言,人工神经网络的区别还在于:人工神经网络并不随时间来整合信息,因为这些人工神经网络针对每个传播周期只立即处理并且紧接着转发相应当前供支配的信息。也就是说,人工神经网络将按顺序运行,而脉冲神经网络并行运行。
这可能导致:在通过转换人工神经网络来创建的脉冲神经网络中的信息没有在正确的时间点在正确的神经元处供支配。附加地,也存在如下问题:在教导人工神经网络时并没有考虑到脉冲神经网络的随时间的整合。这可能在脉冲神经网络的结果的精度和可靠性方面不利地表现出来。
相对于此,在下文所提出的方法具有如下优点:在教导深度神经网络时已经考虑脉冲神经网络如何运行。还可以在教导深度神经网络时就已经考虑脉冲神经网络的信息的随时间的整合。由此,接着执行的将深度神经网络转换成脉冲神经网络将得到具有高精度的特别高效的脉冲神经网络。
发明内容
在第一方面,介绍了一种用于创建脉冲神经网络(英文Spiking Neural Network,SNN)的尤其是计算机实现的方法。该方法包括如下步骤:将可预先给定的控制模式(英文rollout pattern)分派给深度神经网络。深度神经网络包括多个层,所述多个层分别按照可预先给定的顺序来彼此连接。该控制模式表征计算、尤其是按顺序的计算的至少一个顺序,深度神经网络的层或神经元按照该顺序来确定这些层或神经元的中间参量。该控制模式也可以表征多个顺序,这些顺序接着可以在深度神经网络运行时根据该控制模式并行地被实施。该控制模式还表征:深度神经网络的层中的至少一个层与顺序无关地来确定该层的中间参量。优选地在使用(非)线性激活函数的情况下,这些神经元或这些层根据被提供给它们的输入参量来确定它们的中间参量。这些神经元或这些层将它们的中间参量输出,这些中间参量又作为输入参量供随后的神经元/层支配。接着,在使用该控制模式的情况下并且尤其是在使用训练数据的情况下对深度神经网络进行教导。也就是说,在进行教导时,这些训练数据可以根据该控制模式被深度神经网络传播。接着,将深度神经网络转换成脉冲神经网络。根据该控制模式来分别给脉冲神经网络的连接或神经元分配时间延迟。可以说:该延迟对应于脉冲神经网络的神经元延迟地输出短脉冲或短脉冲序列或者所述连接延迟地转发该序列或者在目标神经元处延迟地处理短脉冲/脉冲序列的物理时长。该时间延迟可以被分配给脉冲神经网络的如下连接,该连接对应于深度神经网络的对应连接,该对应连接将深度神经网络的与顺序无关地来确定中间参量的层或神经元与随后的层/神经元连接。该时间延迟可以被分配给脉冲神经网络的如下神经元,该神经元对应于深度神经网络的对应神经元,该对应神经元与该顺序无关地来确定中间参量。
可设想的是:紧接着将脉冲神经网络寄存在存储器中或者使脉冲神经网络运行。脉冲神经网络的运行可以被理解为:脉冲神经网络获得输入参量,该输入参量被脉冲神经网络根据所分配的延迟来传播/处理,并且脉冲神经网络将输出参量输出,例如输出分类、回归等等。延迟可能导致:脉冲神经网络的连接有时间延迟地转发短脉冲,替选地,脉冲神经网络的层/神经元延迟地输出这些层/神经元的短脉冲。
该顺序可以限定深度神经网络的层分别确定它们的中间参量/输出参量的顺序,例如该顺序可以对应于这些层在深度神经网络中所布置的顺序。在深度神经网络的“常规/按顺序”的运行之后,每个层都逐步按照其在该顺序中的位置来确定其中间参量并且在此期间所有其它层都不活跃。如果该控制模式表征这些层中的一个层与该顺序无关地来确定该层的中间参量,则该层是活跃的,与其在该顺序中的位置无关。
脉冲神经网络可以被理解为如下人工神经网络,在该人工神经网络中,脉冲神经网络的神经元输出短脉冲(英文spikes)。人工神经网络可以被理解为受到生物神经网络启发的多个彼此连接的层。
人工神经网络基于对生物大脑中的神经元进行建模的所连接的神经元的聚集。每个连接就像生物大脑中的突触那样可以将中间参量从一个人工神经元传输到另一个人工神经元。这些层、尤其是神经元通过连接来彼此连接。这些连接对层/神经元的中间参量进行转发并且提供该中间参量作为随后的所连接的层/神经元的输入参量。这些连接可以分别分配有权重,该权重对中间参量进行加权。获得中间参量的人工神经元可以对该中间参量进行处理并且接着通过该人工神经元的连接来将该中间参量转发给其它与该人工神经元连接的人工神经元。在深度神经网络中,中间参量可以是实数,并且每个人工神经元的输出都通过该人工神经元的输入之和的(非)线性函数来被计算。相反,在脉冲神经网络中在神经元之间传输短脉冲的速率可以基本上平均对应于该实数。
已经认识到:在通过深度神经网络对训练数据的按顺序传播的情况下对深度神经网络的教导与脉冲神经网络的完全并行的实施模式完全相反。因为在脉冲神经网络中,所有神经元都可以同时更新它们的状态。因而,对已按顺序被教导的深度神经网络的转换可能导致其中信息在传播过程中在错误的时间点被处理的脉冲神经网络。该方法的优点在于:通过该控制模式可以保证信息会在正确的时间点存在于脉冲神经网络的正确的对应神经元处。根据该控制模式对脉冲神经网络的连接的延迟的适配能够实现在通过脉冲神经网络来传播时对这些信息的随时间的调整。因而,所提出的方法导致性能更好的脉冲神经网络,因为在对深度神经网络进行教导时考虑这些层/神经元的并行实施。
另一优点是:由于对深度神经网络的被改进的教导(使用该控制模式),对深度神经网络的转换或转变导致可以更好地掌控随时间的整合的脉冲神经网络。随时间的整合被理解为:在神经元中积累的信息可以在可预先给定的时间窗之内保留并且与在该时间窗之内要新添加的信息组合。因此,也可以更好地使用随时间的信息。这在脉冲神经网络的所确定的输出参量的精度方面反映出来。
可以说,在将深度神经网络转换成脉冲神经网络时,创建与该深度神经网络结构相同的另一神经网络,该另一神经网络满足脉冲神经网络的特性。在该转换时,深度神经网络的每个神经元都可以被脉冲神经网络的神经元替换。优选地注意:脉冲神经网络的神经元的开火速率(英文fire rate)平均对应于深度神经网络的相对应的神经元针对可预先给定的输入参量的激活。用于深度神经网络的ReLu激活函数是有利的,因为ReLu激活函数能够使用鲁棒的归一化技术,所述归一化技术对层的所有权重进行线性缩放,以便在脉冲神经网络中获得足够高的开火速率,从而在没有达到饱和的情况下维持活性。
提出:在分派该控制模式时给每个连接或每个层和/或每个神经元分配控制参量,该控制参量表征相应的随后的所连接的层/神经元的中间参量是按照该顺序被确定还是与该顺序无关地被确定。给这些层中的至少一个层分配控制参量,使得该层与该顺序无关地来确定该层的中间参量。与该顺序无关可以被理解为:对这些层的中间参量的计算与该顺序解耦合地进行。
提出:在根据该控制模式对深度神经网络的计算进行控制时,这些层中的分别一个层逐步、尤其是依次按照控制模式的顺序、尤其是在模拟时间点的序列的分别一个可预先给定的模拟时间点来确定该层的中间参量。模拟时间点的序列可以适配到物理时间点网格上或者对应于该物理时间点网格。与该顺序无关地确定其中间参量的那些层分别在每个步骤、尤其是在相应的可预先给定的模拟时间点来分别确定所述层的中间参量。
在下文规定:在模拟时间窗(英文rollout frame)之内,所有计算都按照该控制模式的顺序来被实施。即该模拟时间窗包含为了按照该控制模式的顺序来实施这些计算所需的所有模拟时间点。对于所有层与该顺序无关地来确定这些层的中间参量的情况来说,该模拟时间窗只包含一个模拟时间点,所有层都在该模拟时间点确定它们的中间参量,尤其是只有当在该模拟时间点给这些层提供输入参量时,这些层才在该模拟时间点确定它们的中间参量。
优选地,连接、尤其是神经元的延迟(d)取决于如下模拟时间窗的数目,所述模拟时间窗被实施得开始于在其之内确定第一层的中间参量的那个模拟时间窗直至在其之内通过该连接来与第一层连接的第二层确定其中间参量的那个模拟时间窗为止。该延迟(d)可以对应于按照该控制模式随时间展开(ausgerollt)的深度神经网络的如下模拟时间窗的数目,所述模拟时间窗被实施得直至通过该连接所连接的随后的层已经确定了它们的中间参量为止。
在下文规定:两个紧邻地连续的模拟时间点之差对应于时间步长。优选地,在深度神经网络中的每个时间步长都对应于脉冲神经网络的物理时间间隔Δt。在该物理时间间隔Δt期间,给予脉冲神经网络单个的输入参量(例如视频的单个图像)。
对于所有层都与该顺序无关地来确定它们的中间参量的情况来说,该模拟时间窗只包含一个模拟时间点并且借此可以具有一个时间步长的时长、优选地该物理时间间隔Δt的时长。因而,连接具有d个时间步长间距的两个层(在按照该控制模式展开的深度神经网络中,所有层都无关)的连接在脉冲神经网络中获得延迟dΔt。
对于随时间的整合来说可预先给定的时间窗可以包括多个时间步长。
应注意:在脉冲神经网络中,也可以给这些连接或神经元分配超过一个延迟。借此,该方法也能应用于时间卷积网络,其中为此可以将多个延迟用于时间过滤器。如果连接跨越例如三个模拟时间窗,则与此相应地必须针对该过滤器的相应的区域选择为d=0、d=1和d=2的延迟d。
还提出:深度神经网络具有至少一个跨接连接。根据该控制模式和/或根据脉冲神经网络的跨接连接的被跨接的层的数目来给该跨接连接分配延迟。
在脉冲神经网络中的跨接连接具有如下优点:这些跨接连接显著改善了脉冲神经网络的随时间的整合。在将具有跨接连接的深度神经网络转换成等效的脉冲神经网络时,特别频繁地出现如下问题:信息在深度神经网络中在与脉冲神经网络中所规定的时间点不同的时间点被处理。那么,引入延迟(dΔt)确保了:信息从不同的神经元沿着这些连接以及该跨接连接在正确的时间点到达脉冲神经网络中的正确的层/神经元。通过该控制模式,可以在进行教导时就已经考虑这一点。该做法还能够灵活地使用控制模式、例如根据在进行教导时可支配的计算资源来灵活地使用控制模式,以便在进行教导时仍然可以充分地考虑该随时间的整合。
可以将附加的跨接连接添加到深度神经网络。优点是:借此,该随时间的整合变得精确得多。
跨接连接可以是向前或向后的跨接连接(英文skip connection)或者是将同一层的输入端与输出端连接的连接(英文recurrent connection)。跨接连接的优点是:所述跨接连接使脉冲神经网络的接受域(英文receptive field)随时间增大。
还提出:使用随空间并且随时间展开的接受域(英文spatio-temporal recepticefield(时空接受域))。提出:该随空间并且随时间展开的接受域后延至少一个模拟时间窗,以便能够实现该随时间的整合。该随空间并且随时间展开的接受域可以通过该控制模式来规定。在考虑脉冲神经网络的相应的应用的情况下,随时间的接受域应该被选择为使得随时间的过程可以被分辨。
还提出:在进行教导时对深度神经网络的参数和/或中间参量进行量化。除了可以更快且更高效地执行该教导之外,该量化还具有如下令人意想不到的优点:该量化对深度神经网络到脉冲神经网络的转换有积极影响。因为为了分辨在激活中的小的区别,必须将每个模拟时间窗的模拟步骤的数目设定到高的值,这又导致更高的开火速率(英文firerates)和更低的能效。为了减少每个时间步长的所需的模拟步骤,在进行该教导期间通过对激活的量化来将在低开火速率的情况下的低分辨率的该固有限制整合起来。此外,模拟已经表明:通过对深度神经网络的量化,开火速率更快地收敛到脉冲神经网络的目标开火速率,因为该量化使多个特定的激活突出。
量化可以被理解为:使用可预先给定的数目个比特,以便呈现参数。这些参数(诸如权重或阈值)优选地利用少于32比特或16比特、8比特或4比特来量化。优选地,在进行教导时使用线性量化。在进行教导时,量化分辨率可以取决于最大激活()。该最大激活()可以是关于在该教导的向前传播时正激活的标准差的指数移动平均(英文exponential moving average)。可设想的是:每个层/神经元()都具有它自己的最大激活()。
还提出:该控制模式对应于流控制模式(英文Streaming Rrollout)。该流控制模式被理解为:深度神经网络的所有层/神经元都与顺序无关地被运行并且这些层/神经元在每个模拟时间点都分别根据输入参量来确定它们的中间参量。该流控制模式是有利的,因为该教导变得在计算和存储方面更高效。这是因为深度神经网络的层由于并行运行而始终活跃,这导致深度神经网络的更高的实施速度和更高的响应速度。深度神经网络运行的这种方式基本上对应于脉冲神经网络运行的方式,因为接着开火速率基本上对应于深度神经网络的激活。因而,通过该做法,可以以最低的花费来产生脉冲神经网络,除此之外也因为延迟接着可以统一地被设置等于1Δt。
还提出:在进行教导时使用空间信号丢失(英文Spatial Dropout)。在空间信号丢失的情况下,将整个过滤器暂时停用。例如,在输入端,图像可具有尺寸(3、30、40)(颜色、y、x)并且利用具有6个内核/通道的卷积层(英文convolutional layer)来处理。那么,输出的尺寸是(6、30、40)。在空间信号丢失的情况下,会随机将这6个内核中的至少一个内核停用,使得不能通过该路径来传输信息。神经网络通过不同的通道处理独立信息来进行学习。该特性在转换成脉冲网络的情况下保留。在这种情况下的优点是:该做法导致较少的神经元开火,由此来提高能效。
还提出:在该转换之后,运行脉冲神经网络,尤其是根据所述延迟来运行脉冲神经网络,而且脉冲神经网络的输入参量是基于事件的照片、尤其是基于事件的摄像机的基于事件的照片的序列或时间序列。替选地,输入参量可以是视频序列。由传感器以其它方式检测到的传感器值也是可设想的。
通过其特别有能效的推理及其快速的处理来表征的脉冲神经网络与同样可以特别有能效并且快速地捕获照片的基于事件的摄像机的组合得到特别快且有能效的系统。该系统可以在任何地方被使用,优选地在能源匮乏的情况下和/或在其中必须做出快速决策或分类的情况下被使用。例如,对网络的快速实施在危险识别方面和/或在对快速对象的定位方面有利。优选地,脉冲神经网络具有两个通道,这两个通道分别一个具有基于事件的摄像机的所有“打开(on)”事件而一个具有基于事件的摄像机的所有“关闭(off)”事件,以便使在脉冲神经网络的输入端处存在更高的信息量。
还提出:在脉冲神经网络运行时,使脉冲神经网络的连接的权重随时间缩放,尤其是使得在时间步长Δt之内早到达的短脉冲更快地引起所要发出的短脉冲。优选地,使权重的值沿着该时间步长Δt减小。由此,脉冲神经网络可以特别快地、有能效地并且可靠地确定其输出参量。
还提出:根据脉冲神经网络的所确定的输出参量来确定或提供用于控制技术系统的执行器的控制参量。该技术系统例如可以是至少部分自主机器、至少部分自主车辆、机器人、工具、工厂机器或者如无人驾驶飞机那样的飞行器。
在另一方面,提出了一种计算机程序。该计算机程序被设立为实施上文提到的方法之一。该计算机程序包括指令,当该计算机程序在计算机上运行时,这些指令促使该计算机以这些所提到的方法之一的所有步骤来实施该方法。还提出了一种机器可读存储模块,在其上存储有该计算机程序。还提出了一种设备,该设备被设立为实施这些方法之一。
附图说明
上述方面的实施例在随附的附图中示出并且在随后的描述中进一步予以阐述。在此:
图1示出了用于创建脉冲神经网络的方法的流程图的示意图;
图2示出了用于创建脉冲神经网络的设备的实施方式的示意图。
具体实施方式
图1示出了用于创建脉冲神经网络(英文Spiking Neural Network,SNN)的方法(10)的示意图。
该方法开始于步骤11。在该步骤中,提供深度神经网络。该深度神经网络包括多个层,所述多个层分别彼此连接。这些层可以分别包括多个神经元。深度神经网络可以是已经被教导的深度神经网络或者是其中参数例如随机初始化的深度神经网络。
在接下来的步骤12中,给深度神经网络分派控制模式。该控制模式表征这些层以怎样的顺序来确定它们的中间参量。例如,该控制模式可以表征这些层按顺序地依次计算它们的输出参量。在这种情况下,每个层都必须等待,直至向该层提供相同的输入参量,使得该层接着可以确定其中间参量。例如,该控制模式也可以表征:这些层完全并行地被实施(参见Streaming Rollout)。
在步骤12结束了之后并且如果所提供的深度神经网络在步骤11之后未被教导,则接着是步骤13。如果神经网络已经被教导,则跳过该步骤。在步骤13中,在使用该控制模式的情况下对深度神经网络进行教导。在这种情况下,在使用包括训练输入参量和相应所分配的训练输出参量的训练数据的情况下,教导使得深度神经网络根据训练输入参量来确定这些训练输入参量的相应所分配的训练输出参量。在这种情况下,可以借助于梯度下降法来使深度神经网络的参数适配,使得深度神经网络确定相应所分配的训练输出参量。梯度下降法可以根据深度神经网络的参数来优化“分类交叉熵(Categorical cross entropy)”代价函数。优选地,在进行教导时,输入参量、例如图像多次依次被施加给深度神经网络,并且深度神经网络基于该控制模式多次针对该输入参量分别确定输出参量。替选地,也可以使用输入参量序列。
在步骤13或步骤12结束了之后,接着是步骤14。在该步骤中,将被教导的深度神经网络转换成脉冲神经网络。在该转换时,使用深度神经网络的架构和参数化,以便创建脉冲深度神经网络。深度神经网络的神经元的激活可以被转化成脉冲神经网络的神经元的成比例的开火速率。对于关于该转换的做法的详细阐述来说,参阅开头所引用的文献“Conversion of Continuous-Valued Deep Networks to Efficient Event-DrivenNetworks for Image Classification”。附加地,根据深度神经网络的所使用的控制模式来给脉冲神经网络的连接分别分配延迟。优选地,使用脉冲神经网络的argmax输出层,该argmax输出层在可预先给定的时间间隔treadout期间对所有到达的脉冲进行计数并且通过该argmax输出层的神经元的所计数的脉冲来应用数学运算器。
接着可以实施可选的步骤15,在该可选的步骤15中,根据所分配的延迟来运行脉冲神经网络。
脉冲神经网络例如可以被用于至少部分自主机器人。该至少部分自主机器人例如可以是至少部分自主车辆。在另一实施例中,该至少部分自主机器人可以是服务机器人、装配机器人或固定式生产机器人,替选地可以是自主飞行器、如无人驾驶飞机。
在一个优选的实施方式中,该至少部分自主车辆包括基于事件的摄像机(英文eventbased camera)。该摄像机与脉冲神经网络连接,该脉冲神经网络根据所提供的摄像机图像来确定至少一个输出参量。该输出参量可以被转发给控制单元。该控制单元根据该输出参量来控制执行器,优选地将该执行器控制为使得车辆(10)实施无碰撞的机动动作。在第一实施例中,执行器可以是该车辆的马达或制动系统。在另一实施例中,该部分自主机器人可以是工具、工厂机器或制造机器人。工件的材料可以借助于脉冲神经网络来被分类。在这种情况下,执行器例如可以是驱动磨削头的马达。
图2示出了用于教导深度神经网络、尤其是用于实施教导步骤的设备(20)的示意图。设备(20)包括训练模块(21)和所要训练的模块(22)。该所要训练的模块(22)包含深度神经网络。设备(20)根据深度神经网络的输出参量并且优选地利用可预先给定的训练数据来教导深度神经网络。适宜地,这些训练数据包括分别被标记的多个所检测到的图像或者声音序列、文本片段、基于事件的信号、雷达信号,激光雷达信号或超声信号。在进行教导期间,使深度神经网络的寄存在存储器(23)中的参数适配。
该设备还包括计算单元(24)和机器可读存储元件(25)。在存储元件(25)上可以存储计算机程序,该计算机程序包括如下指令,在计算单元(24)上实施所述指令时,所述指令导致该计算单元(24)实施用于创建脉冲神经网络的方法,诸如在图1中所示出的那样。
Claims (12)
1.一种用于通过将深度神经网络转换成脉冲神经网络(英文Spiking NeuralNetwork)来创建脉冲神经网络的方法,所述方法包括如下步骤:
- 将可预先给定的控制模式(英文rollout pattern)分派给所述深度神经网络,
其中所述控制模式表征计算的顺序,所述深度神经网络的层或神经元按照所述顺序来确定所述层或神经元的中间参量,而且
其中所述控制模式表征所述深度神经网络的层或神经元中的哪些层或神经元与所述顺序无关地来确定其中间参量;
- 在使用所述控制模式的情况下对所述深度神经网络进行教导;
- 将所述深度神经网络转换成所述脉冲神经网络,
其中根据所述控制模式来选择被分配给所述脉冲神经网络的连接和/或神经元的延迟。
2.根据权利要求1所述的方法,其中所述深度神经网络具有至少一个跨接连接,
其中在将所述深度神经网络转换成所述脉冲神经网络时,根据所述控制模式和/或根据所述深度神经网络的通过所述脉冲神经网络的跨接连接被跨接的层的数目来选择所述跨接连接的所分配的延迟。
3.根据上述权利要求中任一项所述的方法,其中在进行所述教导时对所述深度神经网络的参数和/或中间参量进行量化。
4.根据上述权利要求中任一项所述的方法,其中所述控制模式对应于流控制模式(英文Streaming Rollout)。
5.根据上述权利要求中任一项所述的方法,其中在进行所述教导时使用空间信号丢失(英文Spatial Dropout)。
6.根据上述权利要求中任一项所述的方法,其中所述深度神经网络的训练输入参量分别多次相继被布置成相同输入参量的序列,或者所述训练输入参量是时间上连续的输入参量的序列,而且
其中基于所述序列来对所述深度神经网络进行教导。
7.根据上述权利要求中任一项所述的方法,其中在所述转换之后,运行所述脉冲神经网络,尤其是根据所述延迟来运行所述脉冲神经网络,
其中在所述脉冲神经网络运行时,使所述脉冲神经网络的权重或连接在如下时间步长之内缩放,在所述时间步长期间,有输入参量附在所述脉冲神经网络的输入端处。
8.根据权利要求7所述的方法,其中在所述脉冲神经网络运行时,所述脉冲神经网络的输入参量是基于事件的照片、尤其是基于事件的摄像机的基于事件的照片的序列或时间序列。
9.一种计算机程序,所述计算机程序包括如下指令,在通过计算机来实施所述计算机程序时,所述指令促使所述计算机来实施根据权利要求1至8中任一项所述的方法。
10.一种机器可读存储元件,在其上存储有根据权利要求9所述的计算机程序。
11.一种设备,所述设备被设立为实施根据权利要求1至8中任一项所述的方法。
12.一种脉冲神经网络,其通过实施根据权利要求1至8中任一项所述的方法来获得。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019212907.2A DE102019212907A1 (de) | 2019-08-28 | 2019-08-28 | Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines gepulsten neuronalen Netzes |
DE102019212907.2 | 2019-08-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112446468A true CN112446468A (zh) | 2021-03-05 |
Family
ID=74564534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010877946.1A Pending CN112446468A (zh) | 2019-08-28 | 2020-08-27 | 用于创建脉冲神经网络的方法、设备和计算机程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210064995A1 (zh) |
CN (1) | CN112446468A (zh) |
DE (1) | DE102019212907A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023212857A1 (zh) * | 2022-05-05 | 2023-11-09 | 中国科学院深圳先进技术研究院 | 一种基于类脑智能的脑机接口系统及设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210125049A1 (en) * | 2019-10-29 | 2021-04-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | System for executing neural network |
CN112966815A (zh) * | 2021-03-31 | 2021-06-15 | 中国科学院自动化研究所 | 基于脉冲神经网络的目标检测方法、系统及设备 |
CN113077017B (zh) * | 2021-05-24 | 2022-12-13 | 河南大学 | 基于脉冲神经网络的合成孔径图像分类方法 |
CN113375676B (zh) * | 2021-05-26 | 2024-02-20 | 南京航空航天大学 | 一种基于脉冲神经网络的探测器着陆点定位方法 |
CN115048979A (zh) * | 2022-04-29 | 2022-09-13 | 贵州大学 | 一种基于正则化的机器人触觉脉冲数据分类方法 |
CN114997235A (zh) * | 2022-06-13 | 2022-09-02 | 脉冲视觉(北京)科技有限公司 | 基于脉冲信号的目标检测处理方法、装置、设备和介质 |
-
2019
- 2019-08-28 DE DE102019212907.2A patent/DE102019212907A1/de active Pending
-
2020
- 2020-07-23 US US16/937,353 patent/US20210064995A1/en active Pending
- 2020-08-27 CN CN202010877946.1A patent/CN112446468A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023212857A1 (zh) * | 2022-05-05 | 2023-11-09 | 中国科学院深圳先进技术研究院 | 一种基于类脑智能的脑机接口系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210064995A1 (en) | 2021-03-04 |
DE102019212907A1 (de) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446468A (zh) | 用于创建脉冲神经网络的方法、设备和计算机程序 | |
CN107203134B (zh) | 一种基于深度卷积神经网络的前车跟随方法 | |
JP7235813B2 (ja) | 補助タスクを伴う強化学習 | |
KR101961421B1 (ko) | 소스 시스템들의 운영 데이터를 사용하여 초기에 트레이닝되는 제 1 재귀 신경망 모델 및 제 2 재귀 신경망 모델을 별도로 트레이닝함으로써 타겟 시스템을 제어하기 위한 방법, 제어기, 및 컴퓨터 프로그램 제품 | |
CN111507163A (zh) | 用于切换驾驶模式的rnn方法和设备 | |
US9489619B2 (en) | Method for the computer-assisted modeling of a technical system | |
US10482609B2 (en) | Optical flow determination system | |
KR102630320B1 (ko) | 다중 프레임 시맨틱 신호의 고속 cnn 분류 | |
CN111260027B (zh) | 一种基于强化学习的智能体自动决策方法 | |
WO2020108309A1 (zh) | 控制设备移动的方法、装置、存储介质及电子设备 | |
WO2021051930A1 (zh) | 基于动作预测模型的信号调节方法、装置和计算机设备 | |
US11842575B2 (en) | Method and system for vehicle analysis | |
US10762399B2 (en) | Using deep video frame prediction for training a controller of an autonomous vehicle | |
US20230367934A1 (en) | Method and apparatus for constructing vehicle dynamics model and method and apparatus for predicting vehicle state information | |
CN109657077A (zh) | 模型训练方法、车道线生成方法、设备及存储介质 | |
Tang et al. | Adaptive probabilistic vehicle trajectory prediction through physically feasible bayesian recurrent neural network | |
KR20180027972A (ko) | 입력 데이터를 학습하는 방법 및 학습 장치 | |
WO2019115253A1 (en) | Road marking determining apparatus for automated driving | |
Liu et al. | Driver lane changing behavior analysis based on parallel Bayesian networks | |
CN106228029B (zh) | 基于众包的量化问题求解方法和装置 | |
WO2023202313A1 (zh) | 位置预测方法、装置、电子设备及存储介质 | |
EP2898996A1 (en) | Method of controlling a robotic system and a robotic system controller for implementing this method | |
KR101632986B1 (ko) | Mr-댐퍼가 있는 콘크리트 구조물의 비선형 움직임을 예측하기 위한 웨이블릿 기반 시간 지연 퍼지-신경망 추론 시스템 | |
CN111783927B (zh) | 一种混沌蝙蝠算法uav网络控制系统及故障诊断方法 | |
CN116558517A (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 |