针对多个神经网络的高效的同时推理计算的制作方法

文档序号:26588299发布日期:2021-09-10 20:02阅读:136来源:国知局
针对多个神经网络的高效的同时推理计算的制作方法

1.本发明涉及在共同的硬件平台上进行的针对多个神经网络的同时推理计算(inferenzberechnung)。


背景技术:

2.经过多次训练的神经网络被用于分类任务,例如用于识别图像中的对象。这种神经网络具有强大的概括能力。例如,可以在例如用足够数量的包含特定对象(例如车辆)的图像进行了训练之后,也可以识别这些对象(例如在所述训练之后才投放市场的车辆)的新变化。用于识别对象的神经网络例如由wo 2019/162241 a1公开。
3.同时,使用神经网络的应用也已经进入了诸如智能手机的移动设备。因此,例如用于管理照片的应用不仅在apple ios生态系统中而且也在google安卓生态系统中都已经以符合标准的方式配备有如下神经网络,所述神经网络根据在智能手机上所存储的照片中包含有哪些对象来对所述照片进行分类。例如,可以将
ꢀ“
车牌号”输入搜索栏中并且得以显示所有其中应看到车牌号的照片。
4.这样的推理计算需要高计算耗费,而这种高计算耗费特别是在移动设备的情况下以电池寿命为代价。


技术实现要素:

5.在本发明的范畴内开发了一种用于在硬件平台上进行多个神经网络的推理计算的方法。这些神经网络其中的每一个神经网络都具有多个神经元。这些神经元分别利用通过权重表征的传递函数(
ü
bertragungsfunktion)将一个或多个输入聚合(aggregieren)为网络输入。然后,激活函数(aktivierungsfunktion)处理所述网络输入以激活相应的神经元。
6.一般而言,所述神经网络可以例如被构造为分类器,用于将观察数据、诸如相机图像、热图像、雷达数据、lidar数据或超声数据分配至预给定分类的一个或多个类别。这些类别可以例如代表被观察区域中正需要被探测的对象或状态。所述观察数据可以例如源自安装在车辆上的一个或多个传感器。然后可以根据由神经网络所提供的对类别的分配来导出驾驶员辅助系统的或用于至少部分自动驾驶车辆的系统的动作,其中这些动作与具体的交通状况相匹配。所述神经网络可以是例如细分为多个层的卷积神经网络(convolutional neural networks,cnn)。
7.在所述方法中标识至少一个单元,所述单元包括一个或多个传递函数和/或完整的神经元并且以相同形式或以根据预给定标准相似的形式存在于这些网络其中的至少两个网络中。为所述单元在所述硬件平台上执行唯一的推理计算,使得所述单元提供输出集。在相应的网络中将该输出集进一步处理为所述单元的输出。
8.已看出,通过这种方式可以显著减少用于多个神经网络的同时进行的推理计算的计算耗费和能量消耗。此外还可以节省存储空间。这尤其是在所述神经网络使用相同或相
似的输入数据工作或执行类似的任务的情况下适用。
9.因此,例如在智能手机上,以符合标准的方式安装的所述用于管理照片的应用在此期间也与其他同样对图像数据执行推理计算的应用相结合(gesellen sich)。例如,存在如下应用,可以利用这些应用来按照特定人员的脸部来搜索照片集合,或者可以利用这些应用基于脸部图像计算该脸部过去曾看起来怎样或将来会看起来怎样。
10.此外,在开发用于对来自图像的对象进行分类或对来自音频数据的噪音进行分类的复杂系统时,将任务分给多个并行神经网络是一种有效的策略。特别是在这种系统的后续构建中,通过这种方式可以确保:所述系统仅能通过进一步的训练而获取(hinzugewinnen),并且关于一个方面的所述进一步的训练不会随之带来例如如下副作用:使关于另一方面的性能(leistung)再变差。通过这种方式,在扩展这样的分类系统时,也可以尽量避免必须再次更改已调试的(debuggen)和已测试的程序代码。
11.因此,例如用于音频数据的分类系统可以包括专用于识别语音的应用、专用于识别汽油发动机的噪声的应用以及专用于识别声学上的火警的应用。这里特别是如下第一层可以分别非常相似地工作,其中利用这些第一层从所述音频数据中提取基本特征。如果现在针对所有应用单独执行推理计算,则承担很多不必要的重复工作。利用所述方法可以节省大部分的这种额外耗费。虽然对网络中的自身推理计算能合并的彼此类似的单元的基于计算机的标识对于要同时评估的神经网络的每个新配置(konstellation)都花费一次计算时间,但是,这种耗费通过避免重复工作而很快又得以均衡(einspielen)。
12.也能够以更少的用于编程和训练的耗费来扩展所述分类系统。例如,如果期望扩展到识别柴油发动机的噪声,则可以将迄今为止用于汽油发动机噪声的神经网络作为模板来复制,必要时在该神经网络的架构方面进行适配,并且然后使用柴油发动机的噪声来训练所述神经网络。在此,已经通过训练获得的识别汽油发动机噪声的能力保持不受损害,因为新网络是独立用于柴油发动机的。但是,在所述方法的范畴内利用了与迄今为止用于汽油发动机的网络的共性(gemeinsamkeit),从而与从一开始就针对柴油发动机和汽油发动机共同训练的网络相比,在分开的网络中的针对柴油发动机和汽油发动机的实现方案的附加花费很少。
13.两个不同神经网络中的区域何时能够被合理地标识为同一单元的两次出现取决于相应的具体应用。下面说明了在以基于计算机的方式标识所述单元的情况下能够以单独或组合的方式被使用的标准(kriterium)的一些示例。
14.例如,所述预给定标准可以包含:所述单元在所述至少两个网络中获得相同或相似的输入。在两个神经网络相应推理计算中输送给所述两个神经网络的两个输入集应被视为彼此以何种程度“相似”可以特别是例如取决于:这些输入以何种程度与利用一个或多个传感器对同一个场景的物理观察有关。
15.在上面提到的其中应当识别不同类型的噪声的示例中,例如所使用的所有音频数据都可以源自麦克风的相同布置。但是,例如也可以将专门的麦克风用于识别火警,其中所述专门的麦克风恰好在对于火警而言常见的频率范围内特别灵敏。
16.同样,即使例如由多个相机记录的场景的图像是从不同角度记录的,这些图像仍然可以彼此足够“相似”以使得能够将推理计算合并。
17.替代地或与之组合地,两个输入集的相似性也可以取决于它们以何种程度源自相
同、相似和/或重叠的物理传感器。因此,例如,即使一个图像是使用智能手机的前置相机记录的而另一个图像是使用该智能手机的后置相机记录的,那么用于从图像中提取原始特征的基本步骤也是相似的。
18.替代地或与之组合地,所述预给定标准还可以包含:在所述至少两个网络中通过传递函数或神经元的相同或相似权重来表征所述单元。在这些权重中反映了在训练时获得的该网络的“知识”。在此,所述权重在数值方面(betragsm
äß
ig)不必一定相似。两个权重集的相似性还可以例如取决于通过这些权重集形成的分布以何种程度彼此相似。
19.例如,第一网络中的一个神经元可以从前一层的所有四个神经元获得相同加权的输入,而第二网络中的另一个神经元则从前一层的所有三个神经元获得相同加权的输入。于是,在比较这两个网络时,这些权重不仅在其数量方面也在其数值(zahlenwert)方面都是不同的。但是,仍然存在一种共同的模式,即:使用来自前一层的分别可用的所有神经元的输入,并且这些输入彼此相同地加权。
20.在一种特别有利的设计方案中,将所述单元在相应的网络中获得的多个输入集组合为唯一的输入集。通过这种方式,即使分别在网络中使用的输入略有不同,针对所述单元的这些推理计算仍可以合并(zusammenf
ü
hren)为唯一的推理计算。因此,相同的图像数据例如可以在使用第一神经网络的应用中以每像素8位的分辨率被处理而在使用第二神经网络的第二应用中则以每像素16位的分辨率被处理。于是,该差异不会成为在合并推理计算的道路上的障碍。只要输入的小变化不是
ꢀ“
对抗样本(adversarial examples)”的话,所述推理计算的结果在神经网络的情况下在一定程度上而言通常相对输入的这种小变化并不敏感,其中所述“对抗样本(adversarial examples)”是有针对性地被构建用于例如通过图像数据的光学上不明显的变化而引起误分类的。在训练具体的神经网络期间显示出所述推理计算的结果相对输入的或甚至权重的小变化具体有多不敏感。
21.类似地,也可以将表征相应网络中的所述单元的多个权重集组合为唯一的权重集。即使使用相同的训练数据先后训练相同的神经网络两次,在此也不会得到完全相同的权重。这因此是不可预期的,因为所述训练通常是从随机起始值开始的。
22.将多个输入集和/或权重集分别组合为唯一的集以用于推理计算可以例如包括:通过多个不同集以逐个元素的方式形成汇总式统计,例如平均值或中值。
23.在要同时评估的神经网络的具体配置中,可以标识一个或多个共同的单元,并且可以将这些单元的推理计算分别进行合并。例如,第一网络可以与第二网络共同具有一个单元,而所述第二网络同时与第三网络共同具有另一个单元。
24.在另一特别有利的设计方案中,将所述神经网络如此融合(verschmelzen)为唯一的神经网络,使得所述单元在该神经网络中仅出现一次。然后在所述硬件平台上为所述经融合的神经网络执行推理计算。通过所述融合,由这些神经网络构成的配置的架构总体上变得更加常见。另外,在每次推理计算时减少了用于分支到共同推理计算的耗费并且减少了用于将结果重发(zur
ü
ckspielen)到参与网络的耗费。
25.如上所述,在一种特别有利的设计方案中,所述神经网络的输入可以包括相同或相似的音频数据。于是所述神经网络可以分别被训练用于对不同的噪声进行分类。如上所述,于是可以非常容易地将用于噪声的分类系统扩展出对其他噪声的识别。
26.这同样在另一特别有利的设计方案中适用,其中所述神经网络的输入包括相同或
相似的图像数据、热图像数据、视频数据、雷达数据、超声数据和/或lidar数据,并且其中所述神经网络分别被训练用于对不同的对象分类。前面已经提到的在并没有使得关于之前已学习过的对象方面变差的风险的情况下的可扩展性是在道路交通中至少部分自动地驾驶车辆的情况下尤其重要的。如果并行评估多个神经网络,则例如可以事后装备对立法者新引入的交通标志的识别,而不会因此损害对迄今为止已知的交通标志的识别。这在为这种车辆获得官方许可时可以是有力的论据。
27.所述测量数据可以通过物理测量过程和/或通过对这种测量过程的部分或完全仿真和/或通过对能够用这种测量过程观察的技术系统的部分或完全仿真来获得。例如,可以借助于对光束的计算跟踪(“光线跟踪(raytracing)”)或使用神经生成器网络(例如,generative adversarial networks(生成对抗网络),gan)来产生状况的逼真图像。在此,也可以例如将来自技术系统仿真的认知、例如特定对象的位置引入作为辅助条件。可以鉴于有针对性地产生满足这些辅助条件的图像方面训练所述生成器网络(例如条件gan,cgan)。
28.通常,可以由一个或多个神经网络的推理计算结果形成操控信号。然后可以利用该操控信号来操控车辆和/或用于对批量制造的产品进行质量控制的系统和/或用于医学成像的系统和/或访问控制系统。
29.在开头提到的移动设备上的应用中,通常为不同的应用分派单独的、从相互访问中分离(abschotten)的存储区域。由此应当避免所述应用相互影响,或例如恶意应用可能窥探或损坏其他应用的数据库。而另一方面,这种安全机制也阻碍了在所述应用中执行的神经网络中找到相同或相似的单元。
30.因此,本发明还涉及在硬件平台上同时执行多个应用的另一种方法。该方法由此出发:给所述硬件平台上的每个应用分派如下存储区域,该存储区域被保护以免遭其他应用访问。在每个应用内,为至少一个神经网络执行至少一次推理计算。
31.在所述方法的范畴内,每个应用都向中央的工作进程(worker

prozess)请求由该应用所需的推理计算。在此,该应用相对于所述工作进程既指定了要评估的神经网络,又指定了要处理的输入。在所述中央的工作进程内,所有请求的推理计算都使用上述方法执行。然后,所述工作进程将这些推理计算的输出分别返回给进行请求的应用。
32.因此从每个应用的角度来看,对推理计算的请求类似于对子例程或程序库的常规调用。所述工作进程承担着在运行时间在同时要评估的神经网络中查找匹配的共同单元并且相对应地合并这些推理计算的任务。
33.在所述工作进程使用的存储区域中,同时执行由不同应用请求的推理计算。但是,不会由此破坏或甚至完全废除如下安全模型,根据该安全模型将这些应用彼此分离。所述应用没有机会使得所述存储区域中的可能恶意的二进制代码得到执行。所述工作进程仅接受对神经网络以及输入的指定(spezifikation)。
附图说明
34.下面与基于附图对本发明的优选实施例的描述一起进一步地示出改善本发明的其他措施。
35.图1示出了用于多个神经网络1、2的推理计算的方法100的实施例;
图2示出了具有共同单元5a

5c的示例性神经网络1、2,图3示出了由图2所示的网络1、2融合的网络7;图4示出了用于同时执行多个应用a、b的方法200的实施例;图5示出了在执行方法200期间的示例性硬件平台30。
具体实施方式
36.图1是用于多个神经网络1、2的推理计算的方法100的实施例的示意性流程图。在步骤110中标识在网络1、2中相同或相似的单元5a

5c。在步骤120中,在硬件平台30上为这些单元5a

5c分别执行唯一的推理计算,从而这些单元5a

5c分别提供输出6a

6c。在步骤130中,将这些输出6a

6c在网络1、2中处理为单元5a

5c的输出。这意味着:在网络1、2中就好像分别为网络1、2中的单元5a

5c独立地执行了推理计算那样对输出6a

6c进行进一步计算。因此,最终产生网络1、2的推理结果1*、2*。在步骤140中,可以由这些推理结果形成操控信号140a。在步骤150中,使用所述操控信号操控车辆50和/或分类系统60和/或用于对批量制造的产品进行质量控制的系统70和/或用于医学成像的系统80和/或访问控制系统90。
37.图2示出了两个示例性的神经网络1和2。第一网络1由神经元11

16组成,并且将输入3a

3d处理为神经元15和16的激活4a和4b,这些激活形成网络1的输出1*。第二网络2由神经元17

21组成,并将输入3e

3g处理为神经元20和21的激活4c和4d,这些激活形成网络2的输出2*。
38.由于神经元17的输入3e与神经元13的输入3c相同,因此神经元13和17分别被视为在两个网络1和2中相似的单元5a。
39.由于神经元18的输入3f与神经元14的输入3d相同,因此神经元14和18分别被视为在两个网络1和2中相似的另一单元5b。
40.此外,神经元15和神经元20分别获得相似的数据并因此被视为在两个网络1和2中相似的另一单元5c。
41.对于单元5a,5b,5c仅需分别执行一次推理计算。
42.如图3中所示,两个网络1和2随后可以彼此融合,使得神经元13和17、14和18或16和20被合并(zusammenlegen)。对于以这种方式融合的网络7,可以在硬件平台30上执行所述推理计算。这一起提供了网络1和2的输出1*和2*。
43.图4是用于同时执行多个应用a、b的方法200的实施例的示意性流程图,这些应用a、b分别需要神经网络1、2的推理计算。
44.在步骤210中,每个应用a、b向中央的工作进程w请求该应用所需的推理计算,其中网络1、2以及要处理的输入3a

3d,3e

3g分别被传递(
ü
bergeben)。在步骤220中,工作进程w使用上述方法100执行所述推理计算,并在此产生输出1*、2*。在步骤230中将这些输出1*、2*返回到应用a、b。
45.图5示出了在执行方法200期间的示例性硬件平台30。分别向应用a和b分派分离的存储区域31和32,并且向工作进程w分派存储区域33。
46.在图5所示的示例中,应用a请求图2中所示的网络1的推理计算,而同时应用b则请求图2中所示的网络2的推理计算。所述工作进程使用图3中所示的由两个网络1和2融合的网络7。融合的网络7将网络1的输入3a

3d处理为输出1*,应用a可以将输出1*用作网络1的
输出。同样,融合的网络7将网络2的输入3e

3g处理为输出2*,应用b可以将输出2*用作网络2的输出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1