分布式系统的校准的制作方法



1.本公开涉及一种用于校准车辆中的神经网络模型的系统。


背景技术:



2.经训练的神经网络可以用于执行机器的控制操作、对象检测、音频处理等。神经网络可以部署在经由有线和/或无线通信互连的多个计算机中。计算机可以例如从传感器、输入装置等接收数据,并且将所接收的数据输入到神经网络,并且基于神经网络的输出来操作计算机。计算机中的每一者中的神经网络的性能可以部分地基于所接收的输入数据和用于训练神经网络的训练数据。


技术实现要素:



3.本文公开了一种用于校准联合系统中的神经网络模型的系统,其包括:第一计算机,所述第一计算机被编程为:操作神经网络的第一实例,接收输入到所述神经网络的所述第一实例的第一数据集,基于所述第一数据集来确定所述神经网络的所述第一实例中的所述神经网络的第一校准参数,以及将所述第一校准参数发送到服务器计算机;第二计算机,所述第二计算机被编程为:操作所述神经网络的第二实例,接收输入到所述神经网络的所述第二实例的第二数据集,基于所述第二数据集来确定所述神经网络的所述第二实例中的所述神经网络的第二校准参数,以及将所述第二校准参数发送到所述服务器计算机。服务器计算机被编程为聚合第一校准参数和第二校准参数以更新所述神经网络的模型,并基于所聚合的第一校准参数和第二校准参数针对第一计算机和第二计算机处的神经网络的第一实例和第二实例更新神经网络模型。
4.所述服务器计算机还可被编程为通过确定要应用于所述神经网络的所述模型的输出的聚合校准值来聚合所述第一校准参数和所述第二校准参数。
5.所述服务器计算机还可以被编程为接收来自所述第一计算机的第三校准参数和来自所述第二计算机的第四校准参数;以及基于所述第三校准参数和所述第四校准参数来调整所述聚合校准值,从而确定更新的聚合校准值。
6.所述服务器计算机还可被编程为通过计算所述第一校准参数和所述第二校准参数的平均值来确定所述聚合校准值。
7.所述第一计算机可以在第一车辆中,并且所述第二计算机可以在第二车辆中。
8.所述第一计算机可以被编程为周期性地将更新的校准参数从所述第一计算机发送到所述服务器计算机,并且所述第二计算机还可被编程为周期性地将更新的校准参数从第二计算机发送到所述服务器计算机,并且所述服务器计算机还被编程为在接收到所述更新的校准参数后,向所述第一计算机和所述第二计算机传输更新的聚合校准参数。
9.所述神经网络可被配置为操作车辆的照明、娱乐、座椅调整、驾驶员辅助功能或防撞。
10.所述第一数据集和所述第二数据集可包括(i)包括指定驾驶员行为的数据的传感
器数据,(ii)包括图像数据、环境数据的外部数据。
11.所述服务器计算机可被编程为基于以下中的一者或多者来选择所述第一计算机和所述第二计算机:(i)所述第一计算机和所述第二计算机的部署地理位置,(ii)用户组数据,(iii)指定激活来自所述第一计算机和所述第二计算机的数据收集的存储的数据。
12.本文还公开了一种用于校准联合系统中的神经网络模型的方法,其包括:在第一计算机处操作神经网络的第一实例,在所述第一计算机处接收输入到所述神经网络的所述第一实例的第一数据集,基于所述第一数据集来确定所述神经网络的所述第一实例中的所述神经网络的第一校准参数,在第二计算机处操作所述神经网络的第二实例,基于所述第一数据集来确定所述神经网络的所述第二实例中的所述神经网络的第二校准参数,将所述第一校准参数和所述第二校准参数发送到服务器计算机,然后,在所述服务器计算机中,聚合所述第一校准参数和所述第二校准参数以更新所述神经网络的模型;以及向所述第一计算机和所述第二计算机提供所述更新的神经网络模型。
13.聚合所述第一校准参数和所述第二校准参数可包括确定聚合校准值以应用于所述神经网络的所述模型的输出。
14.所述方法还可包括在服务器计算机中接收来自所述第一计算机的第三校准参数和来自所述第二计算机的第四校准参数;以及基于所述第三校准参数和所述第四校准参数来调整所述聚合校准值,从而确定更新的聚合校准值。
15.所述方法还可包括通过计算所述第一校准参数和所述第二校准参数的平均值来确定所述聚合校准值。
16.所述方法还可包括使用温度缩放技术来确定所述第一校准参数和所述第二校准参数。
17.所述方法还可包括包含softmax和sigmoid中的一者的归一化技术作为所述神经网络的最后阶段激活函数。
18.所述第一计算机可以在第一车辆中,并且所述第二计算机可以在第二车辆中。
19.所述方法还可以包括周期性地将更新的校准参数从所述第一计算机和所述第二计算机发送到所述服务器计算机,以及在接收到所述更新的校准参数后,从所述服务器计算机向所述第一计算机和所述第二计算机发送更新的聚合校准参数。
20.所述神经网络可被配置为操作车辆的照明、娱乐、座椅调整、驾驶员辅助功能或防撞。
21.所述第一数据集和所述第二数据集可包括(i)包括指定驾驶员行为的数据的传感器数据,(ii)包括图像数据、环境数据的外部数据。
22.所述方法还可包括基于以下中的一者或多者来选择所述第一计算机和所述第二计算机:(i)所述第一计算机和所述第二计算机的部署地理位置,(ii)用户组数据,(iii)指定激活来自所述第一计算机和所述第二计算机的数据收集的存储的数据。
23.还公开了一种计算装置,所述计算装置被编程为执行上述方法步骤中的任一者。
24.还公开了一种计算机程序产品,所述计算机程序产品包括计算机可读介质,所述计算机可读介质存储指令,所述指令可由计算机处理器执行以执行上述方法步骤中的任一者。
25.系统元件
26.计算机(诸如车辆中的计算机、机器人、制造控制器、无人机等)通常被编程为接收传感器数据,例如图像数据、音频数据、指定驾驶员行为的数据、环境数据等,并且基于输入数据输出对象检测数据,即,对象的分类或识别。为了处理输入数据,计算机可以包括各种类型的编程,诸如被配置为接收输入数据并且然后基于所接收的输入数据输出数据的神经网络。在本文档中,神经网络是接受输入数据并输出关于输入数据的一些确定(例如,对象的分类或识别)的软件程序。可以根据包括多层节点(或人工神经元)的模型来指定神经网络。模型通常指定节点(或神经元)之间的相应连接的权重。正权重表示兴奋性连接,而负权重值表示抑制性连接。因此,可以通过(例如,乘以)权重来修改至节点的所有输入,然后可以对修改后的输入进行求和以向节点提供输入。例如,可以用训练数据来训练神经网络以检测从相机传感器接收的图像数据中的对象,例如障碍物、人、动物等。训练数据意指包括地面实况数据的输入数据,例如,其中标记对象或人以训练神经网络的图像数据。
27.神经网络在检测对象中的性能至少部分地与用于针对该特定类型的对象训练相应神经网络的训练数据相关。暴露于新数据(例如,先前未用于训练对象检测神经网络的对象形状)可能导致校准误差,并且因此导致神经网络的性能不佳。在本上下文中,神经网络的性能测量神经网络提供预期操作的能力,例如,性能可以通过对象检测神经网络的对象检测率、语音识别神经网络中正确识别单词的比率等来测量。例如,当神经网络部署在计算机中(例如,车辆计算机中)时,用缺少消防栓的图像的训练数据来训练行人检测神经网络可能导致消防栓的误检测或检测失败。
28.神经网络可以在计算机中的操作期间用新数据进行训练。例如,部署在第一车辆中的神经网络可以基于从第一车辆传感器接收的传感器数据来改进其操作,例如具有在部署到车辆计算机之前在用于训练所述神经网络的训练数据中未包括的形状和尺寸的各种类型的其他车辆。然而,在第二车辆中操作的神经网络可能无法访问类似传感器数据,例如,由于在另一个区域中操作,因此无法改进其操作来检测在部署到第二车辆计算机之前在用于训练所述神经网络的训练数据中未包括的那些形状和尺寸。
29.联合系统中的神经网络的校准可以包括第一计算机被编程为操作神经网络的第一实例,接收输入到所述神经网络的所述第一实例的第一数据集,基于第一数据集确定所述神经网络的第一实例中的神经网络的第一校准参数,以及将所述第一校准参数发送到服务器计算机。系统中的第二计算机可被编程为操作神经网络的第二实例,接收输入到所述神经网络的所述第二实例的第二数据集,基于第二数据集确定所述神经网络的第二实例中的神经网络的第二校准参数,以及将所述第二校准参数发送到服务器计算机。系统中的服务器计算机可被编程为聚合第一校准参数和第二校准参数以更新所述神经网络,并基于所聚合的第一校准参数和第二校准参数针对第一计算机和第二计算机处的神经网络的第一实例和第二实例更新神经网络。
30.因此,有利地,通过将更新的神经网络模型数据发送到第一计算机和第二计算机,可以向第一计算机和第二计算机提供更新的模型。另外,所公开的解决方案在数据管理和控制方面可能是有利的。如上面所讨论的,从第一计算机和第二计算机中的每一者处的传感器和/或其他装置接收的数据用于确定第一校准参数和第二校准参数,然后将第一校准参数和第二校准参数发送到服务器计算机;因此,服务器计算机可能无法从第一计算机和第二计算机中的每一者访问所收集的传感器数据等,从而减少引入错误和/或盗用数据的
机会。
附图说明
31.图1是示出包括多个车辆的示例性系统车辆的框图,每个车辆包括神经网络的实例。
32.图2是示出图1的车辆的示例性部件的框图。
33.图3示出了用于确定图1的示例性联合系统的相应计算机节点中的校准参数的过程。
34.图4是示出校准神经网络的示例的框图。
35.图5是用于操作图1的系统的服务器计算机的示例性过程的流程图。
36.图6是用于操作图1的车辆的计算机的示例性过程的流程图。
具体实施方式
37.参考图1至图3,用于校准神经网络的示例性联合系统100。如下面所讨论的,联合系统100包括允许半自主分散组织的(即,分布式)节点(例如,计算机110)之间的互操作性和信息共享的架构。图1是包括具有神经网络140的服务器计算机130和多个车辆105的示例性联合系统的框图。每个车辆105-1、105-2、105-3中的计算机包括具有神经网络140的实例150-1、150-2、150-3。图2示出了示例性车辆105的框图。图3示出了用于校准车辆105计算机110中的神经网络140的实例150的过程300。
38.参考图1至图3,示例性联合系统100可以包括车辆105计算机110、神经网络聚合器120和服务器计算机130。存储在服务器计算机130中并作为实例150部署到计算机110的神经网络140可以被训练以操作车辆105的照明、娱乐、座椅调整、驾驶员辅助功能和/或防撞特征。尽管图1仅示出了包括计算机110的三个车辆105,但是系统100通常包括大量(例如,数千个)计算机110。
39.尽管根据包括更新车辆105中的计算机110的示例讨论和示出了系统100,但是系统100可以在各种上下文中实施,即,另外或替代地,系统100可以包括各种不同装置、机器或架构中的一个或多个计算机110,例如,计算机110可以包括在被配置为经由有线和/或无线通信网络与服务器计算机130通信的移动机器人、空中无人机、物联网(iot)装置等中。
40.联合系统100包括多个计算节点,例如计算机110,所述多个计算节点可以经由有线和/或无线计算机网络彼此通信并且可以在地理上分散。系统100的计算机110彼此独立地操作,例如,各自具有从服务器计算机130接收的神经网络140的实例150。例如,在车辆105的联合系统100中,使用增量改进技术周期性地更新车辆105计算机110中本地可用的神经网络的实例150以学习和改进它们的知识库。在本上下文中,神经网络140的实例150包括计算机110中描述神经网络的模型数据。在该上下文中,模型数据是存储在服务器计算机130中的神经网络140的版本的部分或完整副本。例如,服务器计算机130可以存储神经网络140的最新版本,而神经网络140的实例150可以包括来自该最新版本的数据或来自神经网络140的较旧或不同版本的数据。因此,计算机110执行从服务器计算机130接收的神经网络的本地副本(即,实例150)的块。实例150包括神经网络140模型的版本,例如,包括指定神经网络140的层、节点、权重等的数据。
41.图2示出了包括计算机110、致动器220和传感器230的示例性主车辆105。车辆105可以通过各种已知方式提供动力,例如利用电动马达和/或内燃发动机提供动力。车辆105可以经由车辆对基础设施(v2x)通信与一个或多个远程计算机(诸如服务器计算机130)进行通信。
42.计算机110包括诸如已知的处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储可由计算机110执行以执行各种操作(包括如本文所公开的操作)的指令。
43.计算机110可以在自主或半自主模式下操作车辆105。出于本公开的目的,自主模式被定义为其中车辆105的推进、制动和转向中的每一者由计算机110控制的模式;在半自主模式中,计算机110控制车辆105的推进、制动和转向中的一者或两者。
44.计算机110可以包括编程以操作车辆的制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算机110(而非人类操作员)是否以及何时控制此类操作。
45.计算机110可以包括或者(例如,经由在下文进一步描述的车辆通信总线)通信地耦接到一个以上处理器,所述处理器例如为在车辆中包括的用于监测和/或控制各种车辆控制器的控制器等,所述车辆控制器例如为动力传动系统控制器、制动控制器、转向控制器等。计算机110一般被布置成用于在车辆通信网络上进行通信,所述车辆通信网络诸如车辆中的总线,诸如控制器局域网(can)等。
46.计算机110可以经由车辆网络向车辆中的各种装置(例如,传感器230、致动器220等)传输消息和/或从所述各种装置接收消息。替代地或另外地,在计算机110包括多个装置的情况下,车辆通信网络可以用于在本公开中表示为计算机110的装置之间的通信。此外,如下所述,各种控制器和/或传感器可以经由车辆通信网络向计算机110提供数据。
47.可以经由如已知可以根据适当的控制信号致动各种车辆子系统的电路、芯片或其他电子部件来实施致动器220。致动器220可以用于控制车辆105的制动、加速和转向。作为示例,车辆105计算机110可输出用于控制致动器220的控制指令。
48.车辆105的传感器230(例如,gps(全球定位系统)传感器、相机、雷达和/或激光雷达(光成像探测和测距))可以提供涵盖车辆105的外部的至少一些的数据。例如,相机传感器230(例如,安装到车辆105的前挡风玻璃)可以提供对象检测,即,包括车辆105外部的在传感器230的视场内的对象的尺寸和/或相对位置的数据,例如,相对于三维笛卡尔坐标系的两个或三个轴(例如,由地理坐标和/或其他x,y,z坐标指定的)。
49.服务器计算机130包括被编程为执行本文公开的步骤的处理器,所述步骤包括但不限于更新一个或多个神经网络模型、从计算机110接收数据以及将关于神经网络的更新发送到计算机110。
50.聚合器120是包括用于聚合从计算机110接收的校准参数的指令的计算机程序,如下面所讨论的。在本文档的上下文中,“聚合”两个或更多个参数是指使用统计技术(诸如确定中值或平均值等和/或任何其他数学运算)基于输入参数来计算值,并且聚合器120包括用于使用统计技术(诸如确定中值或平均值等和/或任何其他数学运算)基于输入参数来计算值的指令。等式(1)示出了基于从n个计算机110接收的校准参数ti来计算聚合校准参数ta的示例性运算agr。聚合第一校准参数和第二校准参数包括确定聚合校准值ta以应用于神经网络140的输出。尽管在图1的示例性系统100中被示出为单独的块,但是聚合器120可以存储在服务器计算机130的存储器中,并且服务器计算机130的处理器可以被编程为执行聚合器120。另外或替代地,远程计算机可以被编程为执行聚合器120程序并且可通信地连接到服务器计算机130。
51.ta=agr(ti){i=1...n}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
52.服务器计算机130可以经由有线或无线通信网络与计算机110通信。例如,服务器计算机130可以经由无线v2x(车辆对基础设施)通信与车辆105进行通信。在另一个示例中,服务器计算机130可以经由有线互联网通信与安装在建筑物中的iot装置中的计算机110进行通信。
53.参考图1和图3,服务器计算机130可以被编程为例如经由有线或无线通信将神经网络140的实例150-1、150-2、150-3发送到计算机110。如上面所讨论的,神经网络140由包括指定层、节点、权重等的数据的模型指定。
54.多个计算机110(例如,第一计算机110和第二计算机110)可以被编程为操作相应计算机110中的每一个中的神经网络140的实例150-1、150-2。例如,可以训练神经网络140以检测车辆105相机传感器230的视场内的人类和/或动物对象。
55.参考图1和图3,第一计算机110可以被编程为从第一车辆105传感器230、装置等接收第一数据集310(i),并且将所接收的第一数据集310-1(例如,图像数据)输入到神经网络140的第一实例150-1。第二计算机110可以被编程为从第二车辆105传感器230、装置等接收第二数据集310-2,并且将所接收的第二数据集310-2(例如,图像数据)输入到神经网络140的第二实例150-2。
56.参考图3,可以在计算机110中的每一者中执行过程300,如下面参考图6的框630进一步讨论的。过程300表示在第i个计算机110中执行的校准过程。继续参考图1至图3,联合系统100的两个或更多个计算机110中的每一者(例如,第i个车辆105中的每个计算机110)可以使用校准过程(诸如温度缩放)来确定该车辆105中的神经网络140的校准参数ti,如下面所讨论的。通常,联合系统100包括大量计算机110。然而,为了简单起见,下面关于两个计算机110讨论这种技术。第一计算机110和第二计算机110中的每一者可以被编程为确定用于神经网络140的第一校准参数t1和第二校准参数t2。基于神经网络140的本地可用实例150以及本地收集的第一数据集310-1和第二数据集310-2在计算机110中本地执行确定第一校准参数t1和第二校准参数t2。在本文档的上下文中,校准参数ti是分配给例如第i个车辆105中的神经网络实例150-i的值,所述值(例如,作为乘数)应用于神经网络实例150的输出来向上调整或向下调整神经网络实例的输出概率估计,使得它们与底层神经网络140的性能一致。例如,当温度缩放技术用于校准时,温度参数ti是用于通过在应用softmax操作(下面进一步解释)之前缩放logit来控制预测的随机性的超参数。超参数是提供给神经网络模型的值,而神经网络的参数(例如,权重和偏差)由机器学习。因此,通常在将神经网络140的输出提供给例如车辆105导航算法之前应用校准参数t1、t2。例如,校准参数t1、t2可以向上或向下调整神经网络的置信水平输出。置信水平提供神经网络的确定是准确的可能性,例如,神经网络140可以检测道路上的动物并指定80%的置信水平。校准参数t1、t2可以向上或向下调整所确定的置信水平。另外或替代地,校准神经网络140可以包括修改神经网络140中
的权重。校准经训练的神经网络140可以提高神经网络140的输出的可靠性,从而提高神经网络140的性能,例如,在识别对象的类型时。校准参数t包括在神经网络140中。因此,将神经网络140的实例150发送到计算机110包括指定校准参数t的数据。
57.在一个示例中,计算机110可以被编程为将计算机110的位置(例如,车辆105的gps(全球定位系统)坐标)发送到服务器计算机130。服务器计算机130可以被编程为例如使用诸如偏差的统计方法将与车辆105相关联的校准参数t识别为异常值,并且将相应计算机110的地理区域确定为“热点”。在本文档的上下文中,地理区域是包括计算机110位置的区域,例如,计算机110位置、城市、州、社区等周围半径为5公里的区域。在本上下文中,热点是服务器计算机130相对于聚合以不同方式处理所接收的校准参数t的地理区域。例如,服务器计算机130可以被编程为忽略从热点接收的所接收的校准参数t,以不同的权重将它们聚合,例如,缩小来自热点的所接收的校准参数t的影响等。
58.存在用于校准神经网络140的各种技术,例如温度缩放技术。温度缩放(ts)使用单个温度参数t来支持检测和/或减少使用图像数据作为输入的神经网络140中的校准误差。这导致过度自信的神经网络,其输出概率估计不可靠且具有误导性。神经网络140架构以及用于训练的训练数据集二者均确定神经网络140中的校准误差程度。在本上下文中,校准误差意味着所确定的输出分数与预期的输出分数存在偏差,所述预期的输出分数等于或表示底层神经网络的真实统计性能(例如:分类任务中的准确度)。在该上下文中的真实统计性能是使用已经以训练数据集或验证数据集的形式可用的地面实况数据集来衡量的给定/底层神经网络模型的性能。例如,在分类特定任务中,准确度被用作常见的性能度量,其是指可用样本总数中正确分类的样本数量。当校准误差较高时,输出分数高于/低于神经网络的真实性能。由此产生的过度自信或缺乏自信的模型可能会产生误导并且不太可靠。
59.如下面所讨论的,可以聚合第一校准参数t1和第二校准参数t2以更新神经网络140,从而生成包括聚合校准参数ta的更新的神经网络模型140。服务器计算机130可以被编程为执行聚合器程序120。替代地,远程计算机可以被编程为执行聚合器程序120。
60.服务器计算机130可以被编程为向第一计算机110和第二计算机110提供更新的神经网络模型140的更新的实例150-1、150-2。在一个示例中,服务器计算机130可以被编程为将聚合校准参数(例如,聚合温度参数ta)发送到第一计算机110和第二计算机110。计算机110可以被编程为将聚合校准参数ta应用于神经网络140的本地实例的输出。因此,在一些示例中,将聚合校准参数ta发送到计算机110可能就足够了,因为神经网络140的权重和节点可能没有变化。在一些其他示例中,更新神经网络模型实例150-1、150-2可以包括更新神经网络140的其他数据,诸如权重、节点等。
61.图4示出了可以如何在例如将图像作为输入的对象检测器神经网络140的分类任务中使用温度缩放技术。如图4所示,校准流水线(过程)通常包括两个阶段。首先,进行验证以确定用于分类(即,确定诸如人、对象、动物等的类别)的神经网络140先前是否被校准过。这可以通过验证分类器(例如,对象检测神经网络140)是否具有先前存储的校准参数(例如,温度)t来完成。如果神经网络140未被校准过,则在第一步骤中,使用验证数据集来最小化负对数似然损失(nll-损失)以学习温度参数t。
62.一旦神经网络140在第一步骤中被校准,或者如果神经网络140被验证为先前被校准过,则使用相关联的温度参数t来调整输出logit,然后使用归一化技术将它们传递到归
一化阶段,例如sigmoid/softmax阶段,作为神经网络140的最后阶段激活函数,以获得校准的(可靠的)分类分数。神经网络140的输出通常是称为logit的向量。
[0063]“sigmoid函数”是具有特征性s形曲线或sigmoid曲线的数学函数。“softmax函数”(也称为softargmax或归一化指数函数)是逻辑函数到多个维度的泛化。逻辑函数是常见的s形(sigmoid)曲线。它通常用作神经网络的最后一个激活函数,以基于卢斯选择公理将网络的输出归一化为预测的输出类别的概率分布。
[0064]
逻辑模型(或logit模型)用于对存在的某个类别或事件(诸如通过/失败、赢/输、存活/死亡或健康/生病)的概率进行建模。
[0065]
计算机110可以被编程为例如经由有线通信网络、v2x通信等将相应的校准参数ti发送到服务器计算机130。
[0066]
如上面所讨论的,例如由服务器计算机130执行的聚合器120基于所接收的校准参数t1、t2来确定聚合校准参数ta。在一个示例中,聚合器120可以计算第一校准参数t1和第二校准参数t2的平均值。在另一个示例中,聚合器120可以确定从多个计算机110接收的校准参数的中值或平均值。
[0067]
更新神经网络140的实例150-1、150-2可以是增量的。例如,服务器计算机130可被编程为从第一计算机110接收第三校准参数并从第二计算机接收第四校准参数,并基于所述第三校准参数和第四校准参数调整聚合校准值ta,从而确定更新的聚合校准值ta。在一些示例中,在确定更新的聚合校准值ta时,可以例如通过使用运行平均技术来考虑聚合校准值ta的先前值以及最近接收的第三校准参数和第四校准参数。另外或替代地,可以基于神经网络140内的参数(例如,权重)来确定聚合校准值ta。因此,可以将聚合技术应用于神经网络140模型的权重。
[0068]
服务器计算机130可以被编程为周期性地从计算机110接收更新的校准参数t
x
,基于所接收的更新的校准参数t
x
来更新聚合校准参数ta,将更新的聚合校准参数ta发送到计算机110。计算机110可以被编程为在从服务器计算机130接收到更新的聚合校准参数ta时使用更新的聚合校准参数ta进行操作。
[0069]
如上面所讨论的,联合系统100包括例如在车辆105中的多个计算机110。关于图1,可以基于以下中的一者或多者来选择多个车辆105:(i)所选择的车辆105通常部署在其中的地理区域,例如,位于乡村、城市等中的车辆105内,(ii)用户组数据,例如年龄等,(iii)指定激活来自第一计算机和第二计算机的数据收集的存储的数据,例如,存储的隐私设置指定将车辆数据用于校准目的的许可。如上面所讨论的,系统100可以在各种上下文中实施。在一个示例中,系统100可以包括具有存储的隐私数据的智能电话装置,所述存储的隐私数据指定使用电话相机图像数据来改进智能电话的对象检测神经网络的许可。
[0070]
图5是用于操作服务器计算机130的示例性过程500的流程图。服务器计算机130可以被编程为执行过程500的框。
[0071]
过程500在框510中开始,其中计算机130将神经网络140存储在例如计算机130存储器中。可以训练存储的神经网络140以执行例如对象检测、行人检测、语音识别、机器人的控制等。
[0072]
接下来,在框520中,服务器计算机130将包括神经网络140的实例150的数据发送到多个计算机110,例如车辆105计算机110。
[0073]
接下来,在决策框530中,服务器计算机130确定是否从计算机110接收到校准参数t
x
。例如,参考图1,计算机130可以被编程为确定从车辆105计算机110接收到校准参数t1、t2、t3。在一个示例中,计算机130可以在确定从系统100中的至少指定百分比(例如,70%)的计算机130接收到校准参数tx时确定接收到校准参数t
x
。在另一个示例中,计算机130可以在确定计算机110中的每一者已经发送校准参数ti时确定接收到校准参数ti。如果服务器计算机130确定从计算机110接收到校准参数ti,则过程500前进到框540,否则过程500返回到决策框530,或者替代地过程500结束,但图5中未示出。
[0074]
在框540中,服务器计算机130基于所接收的校准参数ti来确定聚合校准参数ta,从而确定更新的神经网络140。例如,所述服务器计算机130可以被编程为通过计算所接收的校准参数t
x
的平均值、中值等来确定聚合校准参数ta。另外或替代地,如上面参考图4所讨论的,计算机130可以被编程为基于先前确定的校准参数t和所接收的校准参数ti来确定聚合校准参数ta。在一个示例中,先前确定的校准参数t可以是基于先前接收的校准参数ti(例如,从某个先前时间(例如,一小时前))确定的聚合校准参数ta。
[0075]
接下来,在框550中,服务器计算机130将神经网络的更新实例150发送140到计算机110。例如,计算机130可以被编程为将实例150-1、150-2发送到第一计算机110和第二计算机110。在一个示例中,发送更新的神经网络模型140的实例150可以包括将聚合校准参数ta发送到计算机110。
[0076]
在框550之后,过程500结束,或者替代地返回到框510,但图5中未示出。
[0077]
图6是用于操作图1的车辆105的计算机110的示例性过程600的流程图。在一个示例中,车辆105的计算机110可以被编程为执行过程600的框。在另一个示例中,机器人、iot装置等的计算机可以被编程为执行过程600的框。
[0078]
过程600在框610中开始,其中计算机110例如从(i)诸如相机传感器230的图像传感器、(ii)音频传感器230、(iii)诸如触摸屏的人机界面装置等接收输入数据集310(i)。
[0079]
接下来,在框620中,计算机110操作本地存储在计算机110中的神经网络140的实例150。计算机110可能已经经由有线和/或无线通信从服务器计算机130接收到神经网络140的实例150。计算机110可以通过将接收到的输入数据集310(例如,传感器230数据)输入到本地实例150并基于神经网络140的实例150的一个或多个输出操作例如车辆105来操作神经网络140的实例150。例如,计算机110可以在基于神经网络140的实例150的输出确定在车辆105路径上的预定距离(例如,50米)内检测到行人时致动车辆105的制动致动器220。
[0080]
接下来,在框630中,计算机110基于所接收的数据集310(i)使用例如温度缩放技术来确定神经网络140的校准参数ti。例如,第一计算机110和第二计算机110可以确定校准参数t1、t2。计算机110可以根据图3的过程300被编程为使用校准技术来确定校准参数ti。
[0081]
接下来,在框640中,计算机110例如经由有线和/或无线通信将所确定的校准参数di发送到服务器计算机130。在一个示例中,计算机110可以被编程为周期性地向服务器计算机130发送更新的校准参数ti。
[0082]
接下来,在决策框650中,计算机110确定是否从服务器计算机130接收到神经网络140的更新实例150。例如,计算机110可以从服务器计算机130接收聚合校准参数ta。计算机110可以用接收到的聚合校准参数ta替换本地存储的校准参数t,从而存储神经网络140的更新实例150。如果计算机110确定接收到神经网络140的更新实例150,则过程600前进到框
660,否则过程600结束,或者替代地,返回到框610,尽管图6中未示出。
[0083]
在框660中,计算机110操作神经网络140的更新实例150。计算机110可以用接收到的聚合校准参数ta替换本地存储的校准参数t,从而操作神经网络140的更新实例150。在框660之后,过程600结束,或者替代地返回到框610,尽管图6中未示出。
[0084]
本文公开的解决方案通过在地理上分布式系统中的大量计算机110上高效、有效且准确地提供神经网络模型知识的传播来有利地提高神经网络模型输出的可靠性。
[0085]
在连续学习期间,可以在本地神经网络内并入本地和区域特定数据。因此,传播它们可以帮助获得具有可靠估计的区域特定信息。所公开的技术在可个性化并且可使用用户的动作/操纵来注释新收集的数据集的应用中可能特别有用。一些示例包括车辆105的车厢配置(照明、音乐、座椅调整)、用于预测的通信网络数据研究以及基于地理/区域差异的用户行为。另外,所公开的技术通过以下方式具体地提高数据隐私:不直接传输传感器数据或用户数据,而是将本地神经网络数据(诸如校准参数t
x
)传输到服务器计算机130,在所述服务器计算机处聚合所接收的数据以更新神经网络。
[0086]
如本文所使用,副词“基本上”意指形状、结构、测量结果、数量、时间等因为材料、机加工、制造、数据传输、计算速度等的缺陷而可能偏离精确描述的几何形状、距离、测量结果、数量、时间等。
[0087]“基于”涵盖“全部基于或部分基于”。本文如果将第一物描述和/或主张为“基于”第二物,那么所述第一物是从所述第二物导出或计算得到,和/或是从接受所述第二物的一些或全部作为输入并且输出所述第一物的一些或全部的算法、过程或程序功能输出。
[0088]
如本文论述的计算装置一般各自包括可由一个或多个计算装置(例如,上文所识别的计算装置)执行并且用于实行上文描述的过程的框或步骤的指令。计算机可执行指令可以由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术单独地或组合地包括但不限于java
tm
、c、c++、visual basic、java script、perl、html等。一般来说,处理器(例如,微处理器)例如从存储器、计算机可读介质等接收指令,并且执行这些指令,从而执行一个或多个过程,包括本文所述的过程中的一个或多个。可以使用各种计算机可读介质来存储和传输此类指令和其他数据。计算装置中的文件通常是存储在计算机可读介质(诸如存储介质、随机存取存储器等)上的数据的集合。
[0089]
计算机可读介质包括参与提供可以由计算机读取的数据(例如,指令)的任何介质。此类介质可以采用许多形式,其包括但不限于非易失性介质、易失性介质等。非易失性介质包括例如光盘或磁盘和其他持久性存储器。易失性介质包括动态随机存取存储器(dram),其通常构成主存储器。常见形式的计算机可读介质包括例如软磁盘、软盘、硬盘、磁带、任何其他磁性介质、cd-rom、dvd、任何其他光学介质、穿孔卡、纸带、带有穿孔图案的任何其他物理介质、ram、prom、eprom、flash-eeprom、任何其他存储器芯片或盒式磁带或者计算机可读取的任何其他介质。
[0090]
关于本文所述的介质、过程、系统、方法等,应当理解,尽管已经将此类过程等的步骤描述为按照某个有序序列发生,但是此类过程可在所描述的步骤以本文所述的顺序之外的顺序执行的情况下来实践。还应理解,可以同时执行某些步骤,可以添加其他步骤,或者可以省略本文所述的某些步骤。换句话说,本文对系统和/或过程的描述是为了示出某些实施例的目的而提供,而决不应被解释为限制所公开的主题。
[0091]
因此,应理解,包括以上描述和附图以及所附权利要求的本公开意图为说明性的而非限制性的。在阅读了以上描述之后,除了所提供的示例之外的许多实施例和应用对于本领域技术人员而言将是明显的。本发明的范围不应参考以上描述来确定,而应参考所附的和/或基于此包括在非临时专利申请中的权利要求连同此类权利要求所赋予权利的等效物的全部范围来确定。设想并预期未来的发展将在本文讨论的技术中发生,并且所公开的系统和方法将并入到此类未来实施例中。总之,应理解,所公开的主题能够修改和变化。
[0092]
在权利要求中使用的所有术语意图具有本领域技术人员所理解的它们的平常和普通的含义,除非在本文作出相反的明确指示。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
[0093]
根据本发明,提供了一种用于校准联合系统中的神经网络模型的系统,其具有:第一计算机,所述第一计算机被编程为:操作神经网络的第一实例;接收输入到所述神经网络的所述第一实例的第一数据集;基于所述第一数据集来确定所述神经网络的所述第一实例中的所述神经网络的第一校准参数;以及将所述第一校准参数发送到服务器计算机;第二计算机,所述第二计算机被编程为:操作所述神经网络的第二实例;接收输入到所述神经网络的所述第二实例的第二数据集;基于所述第二数据集来确定所述神经网络的所述第二实例中的所述神经网络的第二校准参数;以及将所述第二校准参数发送到所述服务器计算机;其中所述服务器计算机被编程为:聚合所述第一校准参数和所述第二校准参数以更新所述神经网络的模型;以及基于所述聚合的第一校准参数和第二校准参数针对所述第一计算机和所述第二计算机处的所述神经网络的所述第一实例和第二实例来更新所述神经网络模型。
[0094]
根据一个实施例,所述服务器计算机还被编程为通过确定要应用于所述神经网络的所述模型的输出的聚合校准值来聚合所述第一校准参数和所述第二校准参数。
[0095]
根据一个实施例,所述服务器计算机还被编程为:接收来自所述第一计算机的第三校准参数和来自所述第二计算机的第四校准参数;以及基于所述第三校准参数和所述第四校准参数来调整所述聚合校准值,从而确定更新的聚合校准值。
[0096]
根据一个实施例,所述服务器计算机还被编程为通过计算所述第一校准参数和所述第二校准参数的平均值来确定所述聚合校准值。
[0097]
根据一个实施例,所述第一计算机在第一车辆中,并且所述第二计算机在第二车辆中。
[0098]
根据一个实施例,所述第一计算机被编程为周期性地将更新的校准参数从所述第一计算机发送到所述服务器计算机,并且所述第二计算机还被编程为周期性地将更新的校准参数从第二计算机发送到所述服务器计算机,并且所述服务器计算机还被编程为在接收到所述更新的校准参数后,向所述第一计算机和所述第二计算机传输更新的聚合校准参数。
[0099]
根据一个实施例,所述神经网络可被配置为操作车辆的照明、娱乐、座椅调整、驾驶员辅助功能或防撞。
[0100]
根据一个实施例,所述第一数据集和所述第二数据集包括(i)包括指定驾驶员行为的数据的传感器数据,(ii)包括图像数据、环境数据的外部数据。
[0101]
根据一个实施例,所述服务器计算机被编程为基于以下中的一者或多者来选择所述第一计算机和所述第二计算机:(i)所述第一计算机和所述第二计算机的部署地理位置,(ii)用户组数据,(iii)指定激活来自所述第一计算机和所述第二计算机的数据收集的存储的数据。
[0102]
根据本发明,一种用于校准联合系统中的神经网络模型的方法包括:在第一计算机处操作神经网络的第一实例;在所述第一计算机处接收输入到所述神经网络的所述第一实例的第一数据集;基于所述第一数据集来确定所述神经网络的所述第一实例中的所述神经网络的第一校准参数;在第二计算机处操作所述神经网络的第二实例;基于所述第一数据集来确定所述神经网络的所述第二实例中的所述神经网络的第二校准参数;将所述第一校准参数和所述第二校准参数发送到服务器计算机;然后,在所述服务器计算机中,聚合所述第一校准参数和所述第二校准参数以更新所述神经网络的模型;以及向所述第一计算机和所述第二计算机提供所述更新的神经网络模型。
[0103]
在本发明的一个方面,聚合所述第一校准参数和所述第二校准参数包括确定聚合校准值以应用于所述神经网络的所述模型的输出。
[0104]
在本发明的一个方面,所述方法包括:在服务器计算机中接收来自所述第一计算机的第三校准参数和来自所述第二计算机的第四校准参数;以及基于所述第三校准参数和所述第四校准参数来调整所述聚合校准值,从而确定更新的聚合校准值。
[0105]
在本发明的一个方面,所述方法包括通过计算所述第一校准参数和所述第二校准参数的平均值来确定所述聚合校准值。
[0106]
在本发明的一个方面,所述方法包括使用温度缩放技术来确定所述第一校准参数和所述第二校准参数。
[0107]
在本发明的一个方面,所述方法包括使用包括softmax和sigmoid中的一者的归一化技术作为所述神经网络的最后阶段激活函数。
[0108]
在本发明的一个方面,所述第一计算机在第一车辆中,并且所述第二计算机在第二车辆中。
[0109]
在本发明的一个方面,所述方法包括:周期性地将更新的校准参数从所述第一计算机和所述第二计算机发送到所述服务器计算机;并且在接收到所述更新的校准参数后,从所述服务器计算机向所述第一计算机和所述第二计算机发送更新的聚合校准参数。
[0110]
在本发明的一个方面,所述神经网络被配置为操作车辆的照明、娱乐、座椅调整、驾驶员辅助功能或防撞。
[0111]
在本发明的一个方面,所述第一数据集和所述第二数据集包括(i)包括指定驾驶员行为的数据的传感器数据,(ii)包括图像数据、环境数据的外部数据。
[0112]
在本发明的一个方面,所述方法包括基于以下中的一者或多者来选择所述第一计算机和所述第二计算机:(i)所述第一计算机和所述第二计算机的部署地理位置,(ii)用户组数据,(iii)指定激活来自所述第一计算机和所述第二计算机的数据收集的存储的数据。

技术特征:


1.一种用于校准联合系统中的神经网络模型的方法,其包括:在第一计算机处操作神经网络的第一实例;在所述第一计算机处接收输入到所述神经网络的所述第一实例的第一数据集;基于所述第一数据集来确定所述神经网络的所述第一实例中的所述神经网络的第一校准参数;在第二计算机处操作所述神经网络的第二实例;基于所述第一数据集来确定所述神经网络的所述第二实例中的所述神经网络的第二校准参数;将所述第一校准参数和所述第二校准参数发送到服务器计算机;然后,在所述服务器计算机中,聚合所述第一校准参数和所述第二校准参数以更新所述神经网络的模型;以及向所述第一计算机和所述第二计算机提供所述更新的神经网络模型。2.如权利要求1所述的方法,其中聚合所述第一校准参数和所述第二校准参数包括确定聚合校准值以应用于所述神经网络的所述模型的输出。3.如权利要求2所述的方法,其还包括:在所述服务器计算机中接收来自所述第一计算机的第三校准参数和来自所述第二计算机的第四校准参数;以及基于所述第三校准参数和所述第四校准参数来调整所述聚合校准值,从而确定更新的聚合校准值。4.如权利要求2所述的方法,其还包括通过计算所述第一校准参数和所述第二校准参数的平均值来确定所述聚合校准值。5.如权利要求1所述的方法,其还包括使用温度缩放技术来确定所述第一校准参数和所述第二校准参数。6.如权利要求1所述的方法,其还包括使用包括softmax和sigmoid中的一者的归一化技术作为所述神经网络的最后阶段激活函数。7.如权利要求1所述的方法,其还包括基于以下中的一者或多者来选择所述第一计算机和所述第二计算机:(i)所述第一计算机和所述第二计算机的部署地理位置,(ii)用户组数据,(iii)指定激活来自所述第一计算机和所述第二计算机的数据收集的存储的数据。8.如权利要求1所述的方法,其还包括:周期性地将更新的校准参数从所述第一计算机和所述第二计算机发送到所述服务器计算机;以及在接收到所述更新的校准参数后,从所述服务器计算机向所述第一计算机和所述第二计算机发送更新的聚合校准参数。9.如权利要求1所述的方法,其中所述神经网络被配置为操作车辆的照明、娱乐、座椅调整、驾驶员辅助功能或防撞。10.如权利要求1所述的方法,其中所述第一数据集和所述第二数据集包括(i)包括指定驾驶员行为的数据的传感器数据,(ii)包括图像数据、环境数据的外部数据。11.如前述权利要求中任一项所述的方法,其中所述第一计算机在第一车辆中,并且所述第二计算机在第二车辆中。
12.一种用于校准联合系统中的神经网络模型的系统,其包括:第一计算机,所述第一计算机被编程为:操作神经网络的第一实例;接收输入到所述神经网络的所述第一实例的第一数据集;基于所述第一数据集来确定所述神经网络的所述第一实例中的所述神经网络的第一校准参数;以及将所述第一校准参数发送到服务器计算机;第二计算机,所述第二计算机被编程为:操作所述神经网络的第二实例;接收输入到所述神经网络的所述第二实例的第二数据集;基于所述第二数据集来确定所述神经网络的所述第二实例中的所述神经网络的第二校准参数;以及将所述第二校准参数发送到所述服务器计算机;其中所述服务器计算机被编程为:聚合所述第一校准参数和所述第二校准参数以更新所述神经网络的模型;以及基于所述聚合的第一校准参数和第二校准参数针对所述第一计算机和所述第二计算机处的所述神经网络的所述第一实例和第二实例来更新所述神经网络模型。13.如权利要求12所述的系统,其中所述服务器计算机还被编程为通过确定要应用于所述神经网络的所述模型的输出的聚合校准值来聚合所述第一校准参数和所述第二校准参数。14.如权利要求13所述的系统,其中所述服务器计算机还被编程为:接收来自所述第一计算机的第三校准参数和来自所述第二计算机的第四校准参数;以及基于所述第三校准参数和所述第四校准参数来调整所述聚合校准值,从而确定更新的聚合校准值。15.如权利要求13所述的系统,其中所述服务器计算机还被编程为通过计算所述第一校准参数和所述第二校准参数的平均值来确定所述聚合校准值。

技术总结


本公开提供了“分布式系统的校准”。第一计算机可操作神经网络的第一实例,接收输入到神经网络的第一实例的第一数据集,基于第一数据集确定神经网络的第一实例中的神经网络的第一校准参数,以及将第一校准参数发送到服务器计算机。第二计算机可操作神经网络的第二实例,接收输入到神经网络的第二实例的第二数据集,基于第二数据集确定神经网络的第二实例中的神经网络的第二校准参数,以及将第二校准参数发送到服务器计算机。服务器计算机可聚合第一校准参数和第二校准参数以更新神经网络的模型,并基于所聚合的第一校准参数和第二校准参数针对第一计算机和第二计算机处的神经网络的第一实例和第二实例更新神经网络模型。络的第一实例和第二实例更新神经网络模型。络的第一实例和第二实例更新神经网络模型。


技术研发人员:

S

受保护的技术使用者:

福特全球技术公司

技术研发日:

2022.06.15

技术公布日:

2022/12/19

本文发布于:2024-09-24 17:07:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/41408.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   神经网络   计算机   参数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议