CN112313675A - 人工神经网络的计算单元的选择性停用 - Google Patents
人工神经网络的计算单元的选择性停用 Download PDFInfo
- Publication number
- CN112313675A CN112313675A CN201980041250.0A CN201980041250A CN112313675A CN 112313675 A CN112313675 A CN 112313675A CN 201980041250 A CN201980041250 A CN 201980041250A CN 112313675 A CN112313675 A CN 112313675A
- Authority
- CN
- China
- Prior art keywords
- knn
- unit
- computing unit
- layer
- computing
- 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 13
- 230000009849 deactivation Effects 0.000 title claims description 26
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims abstract description 4
- 238000004364 calculation method Methods 0.000 claims description 34
- 230000000694 effects Effects 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 7
- 210000002569 neuron Anatomy 0.000 claims description 7
- 230000002123 temporal effect Effects 0.000 claims description 7
- 238000005265 energy consumption Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 2
- 230000003213 activating effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 15
- 238000012549 training Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000004335 scaling law Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
用于人工神经网络KNN(1)的硬件体系架构(10),其中所述KNN(1)包括由一个输入层(2)、多个处理层(3a,3b)和一个输出层(4)构成的紧靠排列,其中每一层(2、3a、3b、4)将一组输入变量映射为一组输出变量,并且其中输入层(2)和每个处理层(3a,3b)的输出变量分别是在所述紧靠排列中的后续层(3a、3b、4)的输入变量,其中所述硬件体系架构(10)包括大量计算单元(5a‑5h),其中每一层(2、3a、3b、4)的实现都划分到至少两个计算单元(5a‑5h)上,以及提供至少一个可复位的断开装置(6a‑6h),利用所述断开装置与输送给至少一个计算单元(5a‑5h)的输入变量无关地选择性地停用所述至少一个计算单元,使得在所述计算单元(5a‑5h)有助于实现的所有层(2、3a、3b、4)中还保持至少一个其他计算单元(5a‑5h)激活。用于运行人工神经网络KNN(1)的对应方法(100),其中选择性地停用(130)计算单元(5a‑5h)并随后再次激活(140)所述计算单元(5a‑5h)。相关联的计算机程序。
Description
技术领域
本发明涉及一种用于运行人工神经网络的方法以及一种相关联的硬件体系架构,所述方法规定在所述网络的运行时选择性地和可复位地停用硬件组件。
背景技术
人工神经网络KNN包括一个输入层、多个处理层和一个输出层。输入变量在所述输入层处被读入KNN中,并在所述输入变量的路径上基于通常已参数化的处理链通过所述处理层处理到所述输出层。在训练KNN时,为所述处理链的参数确定以下值,所述处理链利用这些值将所述输入变量的一组学习值最佳地映射为输出变量的相关联的一组学习值。
KNN的强项在于,通过在每层中多个物理计算单元相互作用,使得KNN可以大规模并行处理超高维的数据,例如高分辨率的图像。GB 2 552 242 A中公开了KNN的一种由许多计算单元组成的硬件体系架构的示例。该文献旨在利用该硬件体系架构减少为实现KNN所需要的硬件耗费和电流消耗。为此,将一层中累积的计算工作划分为两个子步骤,并将在这些子步骤中分别获得的子结果组合成最终结果。
发明内容
在本发明的范围中开发了用于人工神经网络KNN的硬件体系架构。所述KNN包括由一个输入层、多个处理层和一个输出层构成的紧靠排列。每一层将一组输入变量映射为一组输出变量。在此,所述输入层和每个处理层的输出变量分别是在所述紧靠排列中的后续层的输入变量。所述输入层的输入变量同时也是整个KNN的输入变量。所述输出层的输出变量同时也是整个KNN的输出变量。
所述硬件体系架构包括大量计算单元,其中每一层的实现都划分到至少两个计算单元上。从而例如该层的一半输入变量只能输送给第一计算单元,而另一半输入变量只能输送给第二计算单元。同样,例如在进行分类的输出层中,可以将特定类别的职责,也就是例如特定对象或状况的识别划分到不同的计算单元上。通过这种方式可以并行处理具有超高维数的数据。
在此也可能的是,同一个计算单元有份实现多个例如连续的层。从而可以利用两个并行工作的计算单元来实现例如三个连续的层。然后,第一层的输送给所述计算单元之一的输入变量例如可以在该计算单元内遍历所有三层,并且最后由该计算单元作为第三层的输出变量输出。
术语“计算单元”不限于以下事实:不同的计算单元必须位于在制造所述硬件体系架构时组装的物理分开的模块上。而是,例如由大量计算单元组成的装置可以组合在同一个专用集成电路ASIC中。因此,术语“计算单元”一般表示有助于实现所述KNN的至少一层并且可以被选择性地停用的单元、电路或组件。
提供至少一个可复位的断开装置,利用所述断开装置可与输送给至少一个计算单元的输入变量无关地选择性地停用所述至少一个计算单元,使得在该计算单元有助于实现的所有层中还保持至少一个其他计算单元激活。
已经认识到,通过这种方式可以在所述KNN的运行时调节计算精度一方与所述KNN的能耗以及放热另一方之间的动态折衷。通常,KNN中的大多数计算都对错误具有鲁棒性,即,这些计算中一定比例的错误只会稍微恶化所述KNN的输出质量。计算单元的停用导致特定的中间结果完全缺失,这被认为是计算错误的一种特殊情况。
在此情况下,在停用的计算单元有助于实现的所有层中还保持至少一个其他计算单元激活的条件确保了整个KNN能够继续工作。如果完全停用了所述KNN的层,则在该位置所述KNN的处理链将中断,并且所述KNN将不再提供任何输出。
所述断开装置可以复位的条件确保了计算单元的停用可以适配于运行状况。例如,可能最紧急的是暂时停用每个正好处于最强热负荷下的计算单元,以增加硬件的使用寿命。同样地,特定计算单元的停用会在多大程度上影响由整个KNN提供的最终结果取决于当前的运行状况。相反,到目前为止用于从所述KNN中移除神经元的“修剪”方案是静态的:无论是在所述KNN的训练之前、期间还是之后设定待移除的神经元,该设定都对所述KNN的整个后续推理运行具有约束力。
所述计算单元可以与输入给它的输入变量无关地被停用这一事实一方面确保了所述停用可以由上级实例强迫执行。例如,如果所述停用遵循的目标是减少所述计算单元的热负荷,则该目标可能具有最高优先级,以避免损坏硬件。另一方面,与简单地将输入变量设置为零相比,与所述输入变量无关的停用在对所述KNN的计算精度具有相同影响的同时具有减少所述计算单元的能耗的大得多的潜力。
选择性停用计算单元的可能性对于所述硬件体系架构的进一步小型化特别有益。过去,作为“Dennard缩放定律”已知的经验观察起作用,即,减小集成电路中的晶体管尺寸会成比例地降低能耗。几年来,晶体管尺寸的减小已经发展到能耗下降比成比例低的区域。因此根据可用于冷却的具体可能性,可能出现以下情况:所有存在的晶体管不再可能同时持续运行。
但是,如果原则上可以同时运行所有存在的计算单元,则选择性地停用计算单元也很有意义。每次节能同时也可以节省成本并在电池运行的设备中延长电池运行时间。此外为了提高可用性,可能有意义的是,有针对性地提供比达到预给定精度实际需要的更多的计算单元。于是,多余的计算单元可以例如首先保持停用,并且在其他计算单元失效时才接通。
在一种特别有利的设计中,提供了用于选择性地停用计算单元的控制单元。所述断开装置包括可通过所述控制单元致动的至少一个开关。所述开关可以例如是可以通过电途径切换的晶体管。但是,所述开关也可以例如是可通过光途径切换的半导体开关或光敏电阻。
在一种特别有利的设计中,所述开关被布置为使得所述开关能够中断时钟信号和/或供电电压向所述计算单元的输送。所述供电电压的中断可以完全阻止所述计算单元的能耗。如果仅中断所述时钟信号,则仍然节省大部分常见的能耗。在此,同时避免了在随后重新激活计算单元时必须重新初始化所述计算单元,从而于是所述计算单元可以更快地再次可用。
在所述控制单元中,可以根据任意条件来停用计算单元以及随后重新激活所述计算单元。例如,可以预给定省略的计算的分布。从而例如可以省略每第N个神经元的计算,其中N是自然数。但是代替这样的均匀分布,也可以基于在所述KNN的设计时对各个计算结果的重要性做出的评估来进行所述停用。于是优先断开具有较小相关性的计算。研究表明,在这种情况下所述KNN的输出质量恶化比均匀分布的情况小。
在一种特别有利的设计中,所述控制单元获得从至少一个计算单元输出的至少一个输出变量、至少一个计算单元的开关活动的度量、至少一个计算单元的能耗的度量和/或至少一个计算单元的温度的度量作为输入。
通过这种方式,例如可以在时间和/或空间上均匀分配对有助于实现所述KNN的给定层的多个计算单元的使用。因此可以减少硬件的老化过程。这些老化过程特别是取决于温度。从而例如半导体的电子特性会由于具有不同掺杂的相邻区域之间的相互扩散而逐渐恶化,其中这种相互扩散的速度与温度成指数关系。
可以以任何方式确定所述计算单元的温度。除了温度传感器之外,为此特别是例如还考虑能够同时实时检测许多计算单元的温度的热成像相机。另一种成本有利的可能性是通过开关活动间接确定温度。为此测量在特定时间段内的开关活动,并且使用从中预测所述计算单元的预期温度的模型。
另一方面,计算单元的选择性断开不一定取决于控制单元的存在。在另一种有利的设计中,至少一个计算单元包含断开装置,所述断开装置在满足针对所述计算单元的温度、和/或针对该温度的时间变化过程和/或针对所述计算单元的开关活动的时间变化过程的第一条件时自动停用所述计算单元,并且在满足针对所述计算单元的温度、和/或针对该温度的时间变化过程和/或针对所述计算单元的开关活动的时间变化过程的第二条件时再次自动激活所述计算单元。特别地,于是可以节省至中央控制单元的布线耗费。于是,所述KNN就总共负担的计算工作的分布发展出自己的动态性,所述计算工作尤其取决于具体以什么样的强度使用哪些计算单元。
本发明还涉及一种用于运行人工神经网络KNN的方法。所述KNN包括由一个输入层、多个处理层和一个输出层构成的紧靠排列。每一层将一组输入变量映射为一组输出变量。在此,所述输入层和每个处理层的输出变量分别是在该紧靠排列中的后续层的输入变量。所述输入层的输入变量同时也是整个KNN的输入变量。所述输出层的输出变量同时也是整个KNN的输出变量。
以大量的计算单元来实现所述KNN,使得每一层的实现都划分到至少两个计算单元上。
如果在所述KNN的运行期间满足预给定的停用条件,则与输送到至少一个计算单元的输入变量无关地选择性地停用所述至少一个计算单元,使得在该计算单元有助于实现的所有层中还保持至少一个其他计算单元激活。如果在所述KNN的运行期间满足预给定的激活条件,则重新激活停用的计算单元。
类似于先前针对所述硬件体系架构描述的内容,通过这种方式在所述KNN的运行时实现了计算精度一方与所述KNN的能耗以及放热另一方之间的动态折衷。
在一种特别有利的设计中,所述停用条件和/或所述激活条件包含至少一个输入变量的质量度量、至少一个输入变量的时间和/或空间的变化率度量、对至少一个输出变量的质量要求度量、和/或至少一个输出变量的相关性量度。
例如,如果确定了代表所述KNN的输入变量的输入数据具有高质量,则与所述输入数据质量较差的情况相比,在输出质量相同的同时通过停用所述KNN的内部计算步骤可以容忍更多的错误,因为可以预期在输入数据质量较高的情况下所述KNN的输出质量具有较高的基本水平。例如,可以将由于良好的光照条件而导致的相机图像的良好信噪比评估为所述输入数据的高质量的标志。
对输出变量的质量要求可以例如取决于是否有其他信息源可用于基于所述输出变量的问题。如果可以通过附加的信息源再次补偿所述KNN的输出中的不确定性,则可以停用更多的计算单元。这样的冗余信息源可以例如是其他不同的传感器数据处理系统。同样,在冗余信息源失效的情况下可以通过重新激活先前停用的计算单元来再次提高所述KNN的输出质量。
对输出变量的质量要求可以例如还取决于来自先前时间步骤的结果或其他上下文信息以什么样的程度存在。例如,如果所述KNN处理时间或空间上连续的输入数据流(例如视频数据序列),则来自当前待处理输入数据的时间或空间上邻近性的信息可以用于动态地适配所述网络的特定部分中的计算单元停用。例如,如果通过所述KNN跟踪视频序列中的对象,则所述神经网络中的特定部分与此相关,而其他部分当前没有对此做出任何贡献。相关的计算步骤通过被跟踪对象的特性(特征)以及所述对象在图像中的位置来加以确定。
如果在时间步骤t中所述对象的特征和位置通过所述KNN确定,则可以在接下来的时间步骤中将该信息用于在所述网络的处理当前不相关特征或负责输入图像的当前不相关区域的部分中停用更多的计算单元。对于当前不相关的神经元可以假设,它们的输出值无论如何都具有很小或为零的绝对值,从而通过断开对应的计算单元不会在所述KNN的输出中造成重大错误。所述方法可以通过图像信息的运动预测(例如,通过确定光流)来予以支持。
可以借助于各种方法来估计神经网络内各个计算结果的相关性。
一种示例性的可能性在于,针对训练数据的集合模拟所述KNN中特定计算单元的关闭,并测量对所述网络的输出质量的影响。所述模拟可以在实际硬件上进行,或者可以在硬件的虚拟原型中进行,或者可以在纯软件模拟环境中进行。如果在停用特定计算步骤时确定训练数据分布上的输出质量大大降低,则这些计算对于这些训练数据具有高度的相关性。
例如,也可以通过分析确定在省略特定计算步骤的情况下所述KNN的输出值变化。为此例如可以计算所述输出值相对于中间结果的梯度,或者可以将所述神经网络的输出函数分解为各个中间结果的贡献。
在两种示例性方案中,既可以确定全局相关性,即在完整的(训练)输入数据分布上得到的相关性,又可以确定特定输入数据组的相关性。从而例如可以将显示相同或相似对象的图像或其中相关对象位于特定区域中的图像进行组合,以便为这些组确定单独的相关性值。然后可以将该信息用于在给定上下文的情况下优先停用所述KNN的特定部分。
在另一特别有利的设计中,所述停用条件和/或所述激活条件包含至少一个计算单元的温度、和/或耦合到所述计算单元的至少一个散热器的温度和/或所述计算单元的开关活动的时间变化过程。通过这种方式,根据上面描述的内容特别是可以均衡硬件的老化过程。此外,例如可以将散热器的热容量用于在需求短暂增加的情况下调用更多计算单元的功率。
在另一特别有利的设计中,所述KNN用于基于输入变量来识别对象和/或状况。基于上下文信息确定所述对象和/或状况的第一子集比所述对象和/或状况的第二子集更不可能存在。在此,所述上下文信息可以来自任何源。除了外部源之外,替代地或组合地特别是例如考虑从所述输入变量本身的时间变化过程中确定所述上下文信息。于是,主要用于识别来自所述第一子集的对象和/或状况的计算单元的停用优先于主要用于识别来自所述第二子集的对象和/或状况的计算单元的停用。
通过这种方式,在所述KNN中使用的能量可以集中于识别那些更可能存在的对象和/或状况上。特别地,用于识别车辆环境中的对象和/或状况的系统(例如用于至少部分自动驾驶的系统)被设计为识别极大量的对象或状况。例如,至少部分自动驾驶的车辆必须能够对所有当前有效的交通标志作出反应,以便遵守规则地驾驶。但是,并非任何时间都类似地预计出现所有可能的交通标志和状况。从而例如在高速公路上既没有交通信号灯又没有人行横道或铁路交叉路口。同样,在远离水源的地方预计不会出现道路通往岸边的警告标志。因此,可以优先停用负责识别这种不可能的对象或状况的计算单元,而不会损害所述车辆的运行安全性。
因此,在一种特别有利的设计中,所述KNN用于识别车辆环境中的对象和/或状况,其中附加的上下文信息包括所述车辆的位置和/或所述车辆当前正在行驶的道路的道路类别。
基于该上下文信息控制的计算单元的停用将由所述停用不可避免地引入到所述KNN中的不确定性纳入了正轨。于是特别是可以在批准公共道路交通方面令人可信的是,由于计算单元的停用而引发的能量和放热的节省不以增加危险为代价。
如果所述KNN在硬件方面提供了选择性地停用计算单元的可能性,则所述方法可以全部或部分地在软件控制下执行。于是,对应的软件可以例如作为对现有控制设备的更新或升级出售,并且在这方面是独立的产品。因此,本发明还涉及一种具有机器可读指令的计算机程序,所述机器可读指令在计算机上和/或在控制设备上执行时促使所述计算机和/或所述控制设备执行由本发明提供的方法。
同样,本发明还涉及具有计算机程序的机器可读数据载体或下载产品。
附图说明
下面与基于附图对本发明的优选实施例的描述一起详细示出改进本发明的其他措施。
图1示出了用于KNN1的硬件体系架构10的实施例;
图2示出了方法100的实施例。
具体实施方式
根据图1,示例性地简化描绘的KNN1包括输入层2、两个处理层3a和3b以及输出层4。硬件体系架构10借助于八个彼此连接的计算单元5a-5h来实现该KNN1。每个计算单元5a-5h分别实现三个作为实心点示出的神经元。计算单元5a-5h中的每两个计算单元有助于实现层2、3a、3b、4中的每一层。
向计算单元5a-5h中的每一个计算单元分配了断开装置6a-6h,所述断开装置被实施为在供电电压和/或时钟信号的输送中的开关,通过所述断开装置可以使相应的计算单元停止运行。所有断开装置6a-6h都经由中央控制单元7操控。
KNN被构造为识别车辆环境中的对象。在图1中仅示出了四个交通标志作为示例性的对象1a-1d。在高速公路上的示例性驾驶状况中,可以想到存在来自第一子集8a的交通标志,这里是禁止货车超车1a或限速1b。相反,来自第二子集8b的交通标志(这里是用于人行横道的标志lc或者是用于警告岸边的危险标志ld)常规情况下不出现在高速公路上。因此,在高速公路上行驶时可以停用基本上负责识别交通标志lc、ld的计算单元,而不会损失交通安全。
图2示出了方法100的实施例。根据可选的步骤105,基于附加的上下文信息(例如当前行驶的道路的道路类别)确定较可能出现的对象1a、1b的子集8a和较不可能出现的对象1c、ld的子集8b。根据步骤110连续检查是否满足停用条件。如果满足停用条件(真值1),则在步骤120中停用计算单元5a-5h。如果在步骤105中确定了较不可能出现的对象1c、1d的子集8b,则根据步骤125,优先停用主要用于识别来自子集8b的对象1c、1d的计算单元5a-5h。
根据步骤130,连续检查是否满足重新激活先前停用的计算单元5a-5h的激活条件。如果满足(真值1),则在步骤140中再次激活这些计算单元5a-5h。
Claims (11)
1.一种用于人工神经网络KNN(1)的硬件体系架构(10),其中所述KNN(1)包括由层(2、3a、3b、4)构成的紧靠排列,
其中所述层(2、3a、3b、4)中的每一层将其输入变量映射为输出变量,并且其中每一层(2)的输出变量分别是在所述紧靠排列中的后续层(3a、3b、4)的输入变量,
其中所述硬件体系架构(10)包括大量计算单元(5a-5h),
其中每一层(2、3a、3b、4)的实现都划分到至少两个计算单元(5a-5h)上,以及
其中所述硬件体系架构(10)包括至少一个可复位的断开装置(6a-6h),所述断开装置被设置为,选择性地停用至少一个计算单元(5a-5h),特别是与输送给所述至少一个计算单元的输入变量无关地,使得在所述计算单元(5a-5h)有助于实现的所有层(2、3a、3b、4)中还保持至少一个其他计算单元(5a-5h)激活。
2.根据权利要求1所述的硬件体系结构(10),其中,所述层借助于多个神经元将所述输入变量映射为所述输出变量,其中在划分所述实现时将所述多个神经元的计算划分到至少两个计算单元上,其中至少一个计算单元有份实现多个层,并且其中提供控制单元(7)以用于选择性地停用计算单元(5a-5h),并且其中所述断开装置(6a-6h)包括能由所述控制单元(7)致动的至少一个开关。
3.根据权利要求2所述的硬件体系架构(10),其中,所述开关被布置为使得所述开关能够中断时钟信号和/或供电电压向所述计算单元(5a-5h)的输送。
4.根据权利要求2至3中任一项所述的硬件体系架构(10),其中,所述控制单元(7)获得从至少一个计算单元(5a-5h)输出的至少一个输出变量、至少一个计算单元(5a-5h)的开关活动的度量、至少一个计算单元(5a-5h)的能耗的度量和/或至少一个计算单元(5a-5h)的温度的度量作为输入。
5.根据权利要求1至4中任一项所述的硬件体系架构(10),其中,至少一个计算单元(5a-5h)包含断开装置(6a-6h),所述断开装置在满足针对所述计算单元(5a-5h)的温度、和/或针对所述温度的时间变化过程和/或针对所述计算单元(5a-5h)的开关活动的时间变化过程的第一条件时自动停用所述计算单元(5a-5h),并且在满足针对所述计算单元(5a-5h)的温度、和/或针对所述温度的时间变化过程和/或针对所述计算单元(5a-5h)的开关活动的时间变化过程的第二条件时再次自动激活所述计算单元(5a-5h)。
6. 一种用于运行人工神经网络KNN(1)的方法(100),其中所述KNN(1)包括由层(2、3a、3b、4)构成的紧靠排列,
其中所述层(2、3a、3b、4)中的每一层将其输入变量映射为输出变量,并且
其中每一层(2)的输出变量分别是在所述紧靠排列中的后续层(3a、3b、4)的输入变量,
其中以大量计算单元(5a-5h)来实现所述KNN(1),使得每一层(2、3a、3b、4)的实现都划分到至少两个计算单元(5a-5h)上,
其中如果在所述KNN(1)的运行期间满足预给定的停用条件(110),则选择性地停用(120)至少一个计算单元(5a-5h),特别是与输送给所述至少一个计算单元的输入变量无关地,使得在所述计算单元(5a-5h)有助于实现的所有层(2、3a、3b、4)中还保持至少一个其他计算单元(5a-5h)激活,
其中如果在所述KNN(1)运行期间满足预给定的激活条件(130),则再次激活(140)停用的计算单元(5a-5h)。
7.根据权利要求6所述的方法(100),其中,所述停用条件(110)和/或所述激活条件(130)包含至少一个输入变量的质量度量、至少一个输入变量的时间和/或空间的变化率度量、对至少一个输出变量的质量要求度量、和/或至少一个输出变量的相关性量度。
8.根据权利要求6至7中任一项所述的方法(100),其中,所述停用条件(110)和/或所述激活条件(130)包含至少一个计算单元(5a-5h)的温度、和/或耦合到所述计算单元(5a-5h)的至少一个散热器的温度和/或所述计算单元(5a-5h)的开关活动的时间变化过程。
9.根据权利要求6至8中任一项所述的方法(100),其中,所述KNN(1)用于基于输入变量来识别对象和/或状况(1a-1d),其中基于上下文信息确定(105)所述对象和/或状况(1a-1d)的第一子集(8a)比所述对象和/或状况(1a-1d)的第二子集(8b)更不可能存在,以及其中主要用于识别来自所述第一子集(8a)的对象和/或状况(1a,1b)的计算单元(5a-5h)的停用(120)优先(125)于主要用于识别来自所述第二子集(8b)的对象和/或状况(1c,1d)的计算单元(5a-5h)的停用。
10.根据权利要求9所述的方法(100),其中,所述KNN(1)用于识别车辆环境中的对象和/或状况(la-1d),并且其中附加的上下文信息包括所述车辆的位置和/或所述车辆当前正在行驶的道路的道路类别。
11.一种包含机器可读指令的计算机程序,所述机器可读指令在计算机上和/或在控制设备上执行时促使所述计算机和/或所述控制设备执行根据权利要求6至10中任一项所述的方法(100)。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018209897.2 | 2018-06-19 | ||
DE102018209897 | 2018-06-19 | ||
DE102019205079.4A DE102019205079A1 (de) | 2018-06-19 | 2019-04-09 | Selektive Deaktivierung von Recheneinheiten für künstliche neuronale Netzwerke |
DE102019205079.4 | 2019-04-09 | ||
PCT/EP2019/064307 WO2019243029A1 (de) | 2018-06-19 | 2019-06-03 | Selektive deaktivierung von recheneinheiten für künstliche neuronale netzwerke |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112313675A true CN112313675A (zh) | 2021-02-02 |
Family
ID=68724899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980041250.0A Pending CN112313675A (zh) | 2018-06-19 | 2019-06-03 | 人工神经网络的计算单元的选择性停用 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11698672B2 (zh) |
EP (1) | EP3811299A1 (zh) |
CN (1) | CN112313675A (zh) |
DE (1) | DE102019205079A1 (zh) |
WO (1) | WO2019243029A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11042611B2 (en) * | 2018-12-10 | 2021-06-22 | XNOR.ai, Inc. | Digital watermarking of machine-learning models |
FR3113159B1 (fr) * | 2020-08-03 | 2023-04-21 | Commissariat Energie Atomique | Architecture de calcul reconfigurable pour la mise en œuvre de réseaux de neurones artificiels. |
DE102020209900A1 (de) | 2020-08-05 | 2022-02-10 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Analysiereinrichtung zum Verarbeiten von Umfeldsensordaten |
JP7276282B2 (ja) * | 2020-08-24 | 2023-05-18 | トヨタ自動車株式会社 | 物体検出装置、物体検出方法及び物体検出用コンピュータプログラム |
DE102020214850A1 (de) | 2020-11-26 | 2022-06-02 | Robert Bosch Gesellschaft mit beschränkter Haftung | Energie- und speichereffizientes Training neuronaler Netzwerke |
DE102021206183A1 (de) | 2021-06-17 | 2022-12-22 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Vereinfachen eines künstlichen neuronalen Netzwerks |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095911A1 (en) * | 2004-11-04 | 2006-05-04 | Goh Uemura | Processor system with temperature sensor and control method of the same |
US20150033054A1 (en) * | 2012-01-27 | 2015-01-29 | Siemens Aktiengesellschaft | Method for operating at least two data processing units with high availability, in particular in a vehicle, and device for operating a machine |
US20160379109A1 (en) * | 2015-06-29 | 2016-12-29 | Microsoft Technology Licensing, Llc | Convolutional neural networks on hardware accelerators |
US20170277183A1 (en) * | 2016-03-24 | 2017-09-28 | Panasonic Intellectual Property Corporation Of America | Device, method, and program for detecting object |
CN107636693A (zh) * | 2015-03-20 | 2018-01-26 | 弗劳恩霍夫应用研究促进协会 | 针对人工神经网络的相关性分数指派 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7856562B2 (en) * | 2007-05-02 | 2010-12-21 | Advanced Micro Devices, Inc. | Selective deactivation of processor cores in multiple processor core systems |
US20090204835A1 (en) * | 2008-02-11 | 2009-08-13 | Nvidia Corporation | Use methods for power optimization using an integrated circuit having power domains and partitions |
US9261949B2 (en) * | 2010-10-29 | 2016-02-16 | Advanced Micro Devices, Inc. | Method for adaptive performance optimization of the soc |
US20140095896A1 (en) * | 2012-09-28 | 2014-04-03 | Nicholas P. Carter | Exposing control of power and clock gating for software |
US10091419B2 (en) * | 2013-06-14 | 2018-10-02 | Qualcomm Incorporated | Computer vision application processing |
GB201607713D0 (en) | 2016-05-03 | 2016-06-15 | Imagination Tech Ltd | Convolutional neural network |
US10948966B1 (en) * | 2018-03-07 | 2021-03-16 | Facebook, Inc. | Systems and methods for optimizing power usage for systems within quality-of-service constraints |
-
2019
- 2019-04-09 DE DE102019205079.4A patent/DE102019205079A1/de active Pending
- 2019-06-03 EP EP19728054.8A patent/EP3811299A1/de active Pending
- 2019-06-03 US US17/052,166 patent/US11698672B2/en active Active
- 2019-06-03 CN CN201980041250.0A patent/CN112313675A/zh active Pending
- 2019-06-03 WO PCT/EP2019/064307 patent/WO2019243029A1/de unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095911A1 (en) * | 2004-11-04 | 2006-05-04 | Goh Uemura | Processor system with temperature sensor and control method of the same |
US20150033054A1 (en) * | 2012-01-27 | 2015-01-29 | Siemens Aktiengesellschaft | Method for operating at least two data processing units with high availability, in particular in a vehicle, and device for operating a machine |
CN107636693A (zh) * | 2015-03-20 | 2018-01-26 | 弗劳恩霍夫应用研究促进协会 | 针对人工神经网络的相关性分数指派 |
US20160379109A1 (en) * | 2015-06-29 | 2016-12-29 | Microsoft Technology Licensing, Llc | Convolutional neural networks on hardware accelerators |
US20170277183A1 (en) * | 2016-03-24 | 2017-09-28 | Panasonic Intellectual Property Corporation Of America | Device, method, and program for detecting object |
Non-Patent Citations (1)
Title |
---|
SRIMAT CHAKRADHAR ET AL.: "A Dynamically Configurable Coprocessor for Convolutional Neural Networks", 《ISCA’10》, 23 June 2010 (2010-06-23), pages 247 - 257 * |
Also Published As
Publication number | Publication date |
---|---|
EP3811299A1 (de) | 2021-04-28 |
WO2019243029A1 (de) | 2019-12-26 |
US11698672B2 (en) | 2023-07-11 |
US20210232208A1 (en) | 2021-07-29 |
DE102019205079A1 (de) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112313675A (zh) | 人工神经网络的计算单元的选择性停用 | |
CN108475056B (zh) | 用于全自动地引导车辆系统的方法以及机动车 | |
CN111919225B (zh) | 使用模拟环境对自主机器进行培训、测试和验证 | |
CN109117709B (zh) | 用于自动驾驶车辆的碰撞避免系统 | |
EP3729397A1 (en) | System, device and method for detecting abnormal traffic events in a geographical location | |
KR102630320B1 (ko) | 다중 프레임 시맨틱 신호의 고속 cnn 분류 | |
CN110494863A (zh) | 确定自主车辆的可驾驶自由空间 | |
CN111950693A (zh) | 使用衰减参数进行神经网络推理 | |
WO2020081524A1 (en) | Enhanced in-system test coverage based on detecting component degradation | |
JP6979648B2 (ja) | 車載制御装置 | |
Vani et al. | Intelligent traffic control system with priority to emergency vehicles | |
CN109584579B (zh) | 基于人脸识别的交通信号灯控制方法及计算机设备 | |
US11693470B2 (en) | Voltage monitoring over multiple frequency ranges for autonomous machine applications | |
US20200097005A1 (en) | Object detection device, object detection method, and vehicle controller | |
CN109649479A (zh) | 汽车电动助力转向的控制方法及装置 | |
US12036995B2 (en) | Vehicle control calculation device, vehicle control apparatus, and vehicle control calculation method | |
CN114841336A (zh) | 修补用于自主机器应用的部署的深度神经网络 | |
US8086771B2 (en) | TCET expander | |
CN113844457A (zh) | 用于车辆能量管理的方法和设备 | |
Miyagi et al. | Zytlebot: FPGA integrated ros-based autonomous mobile robot | |
US20210350182A1 (en) | Training a function to respond predictably to differences | |
CN116391176A (zh) | 用于检测车辆的环境的系统和方法 | |
JP7120565B2 (ja) | 車載制御装置 | |
CN109410582B (zh) | 交通状况分析方法及终端设备 | |
CN113966526A (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 |