一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自适应共蒸馏模型的制作方法

2022-09-15 07:17:56 来源:中国专利 TAG:


1.本发明涉及自适应共蒸馏模型。


背景技术:

2.计算机模型用于各个领域,以使计算机系统能够分析特定情形的数据并基于该数据做出决策。已经开发了多种这样的模型。例如,诸如专家系统和决策树的符号模型和诸如神经网络和支持向量机的非符号模型是众所周知的。在机器学习中,模型是在数据集上训练的,而在符号系统中,模型通常是启发式地,即,使用人工决策设计的。随着不同实体使用的模型种类繁多,所以存在协作的机会。
3.在分布式机器学习中,使用分布在多个计算设备之间的数据来训练机器学习算法。这些计算设备中的每个计算设备可以存储其自己的训练数据集,该训练数据集用于在本地训练机器学习模型。然后,这些机器学习模型可被组合成集中式模型。例如,当使用计算设备的用户不想发送到中央服务器的私有数据来训练机器学习模型时,可以使用分布式机器学习。
4.然而,发明人已经确定了上述分布式机器学习的方法的以下技术缺点。在上述分布式机器学习的方法中,所有客户端机器学习模型具有相同的模型架构。因此,具有不同架构的多个客户端机器学习模型可以不被组合到中央机器学习模型中。此外,出于私有原因、竞争优势、许可或其他法律约束等,分布式客户端计算设备的用户可能期望保持他们用于客户端机器学习模型的特定机器学习模型架构的私有性。然而,上述分布式机器学习的方法在分布式用户之间共享同一模型架构,因此不能保持客户端模型架构的私有性。因此,提供一种促进由独立方开发的不同人工智能模型的学习的技术集成,同时保护训练这些不同人工智能模型中的每个模型的数据的数据私有性的人工智能系统存在技术挑战。
5.工业自动化领域是这些缺点呈现特定挑战的技术领域的一个实例。不同制造商已经配备了带有运动传感器和相机的制造设备,诸如机械臂、输送机等,这些运动传感器和相机例如在制造过程中从制造设备采集性能数据。这些性能数据被每个制造商用来训练人工智能模型,这些人工智能模型被用来在未来的制造过程中操作制造设备。上述不同架构的人工智能模型之间缺乏互操作性以及对于已经训练了这些不同模型的数据集的数据私有性的挑战,对在此类工业自动化系统中使用的人工智能模型的快速增长和发展带来了潜在障碍。


技术实现要素:

6.根据本公开的一个方面,提供了一种用于与计算设备一起使用的方法。该方法可以包括将输入数据集输入到已使用第一私有数据集生成的第一私有人工智能模型和已使用第二私有数据集生成的第二私有人工智能模型中。该方法还可以包括:作为将第一私有人工智能模型应用于输入数据集的结果,从第一私有人工智能模型接收第一结果数据集。该方法还可以包括:作为将第二私有人工智能模型应用于输入数据集的结果,从第二私有
人工智能模型接收第二结果数据集。在第一训练阶段,该方法还可以包括以输入数据集作为输入并且以第一结果数据集作为第一目标输出来训练自适应共蒸馏模型。在第二训练阶段,该方法还可以包括以输入数据集作为输入并且以第二结果数据集作为第二目标输出来训练自适应共蒸馏模型。自适应共蒸馏模型可以不在第一私有数据集或第二私有数据集上训练。
7.提供该发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。该发明内容并不旨在识别所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中指出的任何或所有缺点的实现方式。
附图说明
8.[图1]图1示意性地示出了根据一个示例性实施方式的可以训练自适应共蒸馏模型的示例性计算系统。
[0009]
[图2]图2示出了在根据图1的实施方式的自适应共蒸馏模型是深度神经网络的实例中的自适应共蒸馏模型的训练。
[0010]
[图3]图3示出了根据图1的实施方式的从组合分类标签集中选择分类标签的自适应共蒸馏模型。
[0011]
[图4]图4示出了根据图1的实施方式的使用多个系列的有序输入值训练自适应共蒸馏模型。
[0012]
[图5]图5是示出在图1的自适应共蒸馏模型的训练中使用加权损失函数的示意图。
[0013]
[图6]图6是示出在图5的加权损失函数中使用的加权因子的计算的示意图。
[0014]
[图7]图7示出了私有数据集和公共数据集中的两个示例性图像中的每一个图像之间的训练数据距离的计算。
[0015]
[图8]图8示出了图1的实施方式的图形用户界面的示例性自适应共蒸馏模型生成界面。
[0016]
[图9]图9示出了根据图1的实施方式的用于编辑分类置信度的示例性界面。
[0017]
[图10]图10示出了根据图1的实施方式的用于编辑训练数据距离的示例性界面。
[0018]
[图11a]图11a是示出根据图1的实施方式的针对一系列给定模型输入的公共模型输出与私有模型输出之间的误差、未加权损失和加权损失的示例图。
[0019]
[图11b]图11b是示出根据图1的实施方式的针对一系列给定模型输入的公共模型输出与私有模型输出之间的误差以及公共模型输出与加权的私有模型输出之间的损失的另一示例图。
[0020]
[图12]图12是示出了根据图1的实施方式在一个维度上的加权和未加权的损失表面的曲线图。
[0021]
[图13]图13示出了在服务器计算设备处训练模板机器学习模型时的图1的示例性计算系统。
[0022]
[图14]图14示出了根据图1的实施方式的在模板机器学习模型是深度神经网络的实例中的模板机器学习模型的训练。
[0023]
[图15a]图15a示出了根据图1的实施方式的训练自适应共蒸馏模型的示例性方法的流程图。
[0024]
[图15b]图15b示出了当执行图15a的方法时在一些实施方式中可以执行的附加步骤。
[0025]
[图16]图16示出了可以执行图1的计算系统的示例性计算环境的示意图。
具体实施方式
[0026]
为了解决以上问题,根据图1中所示的一个示例性实施方式,提供计算系统1。作为概述,计算系统1被配置为使得公共或共享人工智能模型能够被训练来模拟已使用私有数据集生成的一个或多个私有人工智能模型的行为。这是通过将来自公共或共享数据集的数据输入到每个私有人工智能模型中并使用私有人工智能模型的输出来训练公共人工智能模型来实现的。加权损失函数可用于降低公共或共享数据集中的较不相关数据的训练效果,如下文详细解释的。如下所述,加权损失函数可以例如是输出加权损失函数或输入加权损失函数。通过使用这样的系统,可共享每个私有人工智能模型的学习,同时维护每个私有数据集中的数据的私有性。
[0027]
在图1的实例中,计算系统1包括服务器计算设备10、第一客户端计算设备80和第二客户端计算设备90。服务器计算设备10可被配置为通过网络与第一客户端计算设备80和第二客户端计算设备90通信。尽管在图1的实例中仅示出了两个客户端计算设备,但是在一些实施方式中,服务器计算设备10可被配置为与两个以上的客户端计算设备通信。在一些实施方式中,服务器计算设备10的功能可跨通信耦合的多个物理计算设备分布。
[0028]
服务器计算设备10可包括处理器12。此外,服务器计算设备10可包括存储器14,该存储器14可存储可由处理器12执行的指令。存储器14可包括易失性存储装置和/或非易失性存储装置。第一客户端计算设备80和第二客户端计算设备90还可以包括相应的处理器82和92以及存储器84和94。在一些实施方式中,服务器计算设备10可包括一个或多个相应的输入设备16,诸如键盘、鼠标、触摸屏、触控板、麦克风、光学传感器、加速度计或一些其他类型的输入设备16。服务器计算设备10还可以包括一个或多个相应的输出设备18,诸如显示器、扬声器、触觉反馈设备或一些其他类型的输出设备18。第一客户端计算设备80和第二客户端计算设备90还可以包括一个或多个相应的输入设备和/或一个或多个相应的输出设备。
[0029]
服务器计算设备10的处理器12可被配置为将输入数据集50发送到第一客户端计算设备80和第二客户端计算设备90。因为输入数据集50在服务器计算设备、第一计算设备、和第二计算设备之间共享,每个计算设备可位于不同实体处,所以输入数据集50也可被称为共享数据集,并且在一些情况下可以是公共数据集。输入数据集50可包括多个输入数据条目52。如以下进一步详细讨论的,输入数据集50可用作用于在第一客户端计算设备80处执行的第一私有人工智能模型30和在第二客户端计算设备90处执行的第二私有人工智能模型40的输入,使得可以由这些模型产生输出,该输出可用于在服务器计算设备处训练自适应共蒸馏模型60。包括在输入数据集50中的输入数据条目52可以是未标记的数据。未标记的数据具有通常比标记的数据更容易获得的优点。此外,未标记的数据未指定第一私有人工智能模型30和第二私有人工智能模型40可将什么分类标签分配给输入数据条目52。在
其他实施方式中,输入数据集50可以是部分标记的数据集,在该部分标记的数据集中,输入数据条目52的子集具有相应的分类标签,如下文进一步详细讨论的。例如,通过使用输入数据集50中的未标记或部分标记的数据,私有人工智能模型根据每个私有模型已知且不包括在输入数据集50中的分类自由地对输入数据集50中的数据进行分类。
[0030]
如图1的实例中所示,已使用第一私有数据集32生成第一私有人工智能模型30。第一私有数据集32可包括多个第一私有条目34,这些条目可包括用于第一私有人工智能模型30的多个示例性输入和对应的示例性输出。第一私有人工智能模型30可以是使用第一私有数据集32作为训练数据集来训练的机器学习模型。可替代地,第一私有人工智能模型可以是在不使用机器学习技术的情况下基于第一私有数据集32编程的启发式模型,诸如符号人工智能模型。在一些实施方式中,可以在接收输入数据集50之前已经生成第一私有人工智能模型30,使得输入数据集50是第一私有人工智能模型30的运行时输入。由于第一私有人工智能模型30在第一客户端计算设备80处生成,因此第一私有数据集32不必被发送到服务器计算设备10,并且可被保留为私有数据集。
[0031]
如图1的实例所示,已使用第二私有数据集42生成第二私有人工智能模型40。第二私有数据集42可包括多个第二私有条目44,这些条目可包括用于第二私有人工智能模型40的多个示例性输入和对应的示例性输出。在第二私有人工智能模型40是机器学习模型的实施方式中,可使用第二私有数据集42作为训练数据集来训练第二私有人工智能模型40。可替代地,第二私有人工智能模型40可以是在不使用机器学习模型训练技术的情况下基于第二私有数据集42编程的启发式模型。类似于第一私有人工智能模型30,可以在接收输入数据集50之前已经使用第二私有数据集42生成第二私有人工智能模型40。
[0032]
在一些实施方式中,第一私有人工智能模型30可具有第一模型架构,并且第二私有人工智能模型40可具有不同于第一模型架构的第二模型架构。例如,第一私有人工智能模型30和第二私有人工智能模型40中的每个模型可以是深度神经网络、内核机或随机森林。当深度神经网络用于第一私有人工智能模型30或第二私有人工智能模型40时,深度神经网络可以例如是多层感知器、卷积神经网络、递归神经网络或一些其他类型的深度神经网络。如果需要,可以在每个私有人工智能模型中使用不同类型或架构的深度神经网络。当内核机用于第一私有人工智能模型30和/或第二私有人工智能模型40时,内核机可以是支持向量机或一些其他类型的内核机。第一模型架构与第二模型架构之间的差异可以是所使用的机器学习算法的类型的差异,或者可替代地,可以是当使用相同类型的机器学习算法时参数(诸如神经元的数量或层的数量)的差异。
[0033]
图2示出了两者均为深度神经网络的第一私有人工智能模型30和第二私有人工智能模型40。第一私有人工智能模型30具有其神经元之间的连接的多个第一私有模型权重31。此外,第一私有人工智能模型30具有用于每个神经元的相应的第一私有模型偏差33。可使用包括在第一私有数据集32中的多对示例性输入和对应的示例性输出通过第一训练算法100(图5中示出),诸如利用随机梯度下降的反向传播来训练第一私有人工智能模型30。在这样的实例中,第一私有模型可使用采用加权损失函数的成本函数36。加权损失函数可以是关于图11a示出和描述的输出加权损失函数或关于图11b示出和描述的输入加权损失函数。成本函数36用于机器学习期间的反向传播,并且可以例如是均方误差成本函数。可替代地,可使用另一合适成本函数,诸如交叉熵成本函数、指数成本函数等,如下文所描述。可
替代地,第一私有人工智能模型30可使用诸如坐标下降或子梯度下降的其他方法来训练。
[0034]
图2所示的第二私有人工智能模型40具有其神经元之间的连接的多个第二私有模型权重41。此外,第二私有人工智能模型40具有用于每个神经元的相应的第二私有模型偏差43。如在上文为第一私有人工智能模型30提供的实例中,第二私有人工智能模型40可通过使用利用随机梯度下降的反向传播的第二训练算法102(图5中示出)来训练。当使用反向传播时,第二私有模型成本函数46可以是均方误差成本函数或任何其他合适的成本函数,诸如交叉熵成本函数、指数成本函数等。诸如坐标下降或子梯度下降的其他训练方法可替代地用于训练第二私有人工智能模型40。
[0035]
返回图1,作为将第一私有人工智能模型30应用于输入数据集50的结果,第一客户端计算设备80可生成第一结果数据集20。第一结果数据集20可包括多个第一结果条目22。在一些实施方式中,第一结果数据集20还可以包括与第一结果条目22相关联的多个第一置信度23。例如,当从预定的潜在输出的列表中选择每个第一结果条目22时,第一结果数据集22可包括那些潜在输出中的每个输出的估计概率作为第一置信度23。在一些实施方式中,每个第一结果条目22可以是多个第一置信度23的向量。另外,第一结果数据集20可包括多个第一数据距离21,每个第一数据距离例如可以是在输入数据集50中的对应输入数据条目52与第一私有数据集32之间的训练数据距离,如由第一数据相似性算法35计算的。例如,第一数据距离21可用于计算加权损失函数,如下面关于图5所描述的。关于图6讨论了示例性数据相似性算法。
[0036]
继续参见图1,此外,作为将第二私有人工智能模型40应用于输入数据集50的结果,第二客户端计算设备90可生成第二结果数据集24。第二结果数据集24可包括多个第二结果条目26。第二结果数据集24还可以包括分别与第二结果条目26相关联的多个第二置信度27。第一客户端计算设备80的处理器82和第二客户端计算设备90的处理器92可以分别被配置为将第一结果数据集20和第二结果数据集24发送到服务器计算设备10。另外,第二结果数据集24可包括多个第二数据距离25,每个第二数据距离例如可以是输入数据集50中的对应输入数据条目52与第二私有数据集44之间的训练数据距离,如由第二数据相似性算法45所计算的。应当理解,第一数据相似性算法35和第二数据相似性算法45可以根据需要是相同或不同的算法。例如,第二数据距离25还可用于计算加权损失函数,如下文关于图5所描述的。
[0037]
继续参见图1,服务器计算设备10的处理器12还可被配置为以输入数据集50作为输入并且以结果数据集20(具体地,第一数据集20的第一数据条目22)作为第一目标输出来训练自适应共蒸馏模型60。在自适应共蒸馏模型60的训练期间,第一目标输出中还可以包括第一置信度23。例如,自适应共蒸馏模型60可以是机器学习模型,诸如深度神经网络、内核机或随机森林,或由人启发式设计的算法。在图2的实例中,自适应共蒸馏模型60是在其神经元之间具有多个自适应共蒸馏模型权重61的深度神经网络。自适应共蒸馏模型60还可具有用于每个神经元的相应自适应共蒸馏模型偏差63。可以在第一训练阶段62期间执行使用第一结果数据集20的训练。例如,可通过随机梯度下降利用自适应共蒸馏模型成本函数66(诸如均方误差成本函数)训练自适应共蒸馏模型60。可替代地,可如上文所论述使用一些其他成本函数。在一些实施方式中,除了随机梯度下降,可以使用一些其他训练自适应共蒸馏模型60的方法,诸如坐标下降或子梯度下降。
[0038]
在第二训练阶段64中,处理器12还可被配置为以输入数据集50作为输入并且以第二结果数据集24作为第二目标输出来训练自适应共蒸馏模型60。可以在第一训练阶段62之后执行第二训练阶段64。利用随机梯度下降的反向传播可用于利用输入数据集50和第二结果数据集24训练自适应共蒸馏模型60。在一些实施方式中,可以在第二训练阶段64中重复使用在第一训练阶段62中使用的自适应共蒸馏模型成本函数66。可替代地,如上文所论述,可使用一些其他成本函数。如下所述,成本函数可包括加权损失函数,其使得自适应共蒸馏模型能够从与第一私有训练数据集32和第二私有训练数据集42中的私有训练数据相似的训练数据中学习更多。
[0039]
自适应共蒸馏模型60的训练可根据以下实例象征性地表示。输入数据集50可表示为d
dist
=(x1,x2,...),其中,xn是输入数据条目52。第一私有人工智能模型30和第二私有人工智能模型40可各自将相应的模型输出值{mi(xn)|xn∈d
dist
}输出到服务器计算设备10,其中,mi是d
dist
的每个输入值xn的模型输出值。对于分类模型,输出值可以是分类,并且除了分类之外,模型还可被配置为输出置信度值。当训练自适应共蒸馏模型60时,服务器计算设备10的处理器12可被配置为使以下误差表达式最小化:
[0040]
[数学式1]
[0041][0042]
其中,以下术语具有以下意义:
[0043]
weightedloss:用于在训练期间被最小化的m
server
的成本函数;
[0044]mserver
:共享或公共模型(例如,自适应共蒸馏模型60);
[0045]
mi:私有模型(例如,第一私有人工智能模型30和第二私有人工智能模型40);
[0046]
loss:任何合适的损失函数,诸如均方误差、均值误差、均值偏差误差、支持向量机损失、交叉熵损失;
[0047]
xn:共享或公共数据集d
dist
(例如,输入数据集50)的元素n;
[0048]
w:加权因子;以及
[0049]
[数学式2]
[0050][0051]
以上表达式可被称为输出加权损失函数,因为损失函数的输出被加权并且可与以下描述的输入加权损失函数形成对比。加权因子可通过数据相似性算法35、45来计算,数据相似性算法35、45将公共或共享数据集d
dist
中的每个xn与生成mi的私有数据集di中的所有元素进行比较。数据相似性算法35、45还可基于输入数据元素xn与公共数据集之间的数据距离输出相应的加权因子w
i,n
。数据相似性算法35、45可在单个维度(即,对于单个自变量)或在多维度(即,对于多个自变量)中计算数据距离。作为将加权因子w
i,n
基于该数据距离的替换或除此之外,加权因子w
i,n
可基于另一度量,诸如来自相应私有人工智能模型30、40的置信度值或人工指定的输入,例如,如下文关于图8所论述的。可用作数据相似性算法35、45的合适算法例如包括欧几里德距离、曼哈顿距离、闵可夫斯基距离、第n次根相似性、余弦相似性、平方根和杰卡德距离。数据相似性算法35、45可首先计算数据距离,然后可以基于数据距离计算加权因子w
i,n
,例如,通过将数据距离归一化到零与一之间的值(距离越大,越接
近一),并且然后将加权因子计算为等于1减去归一化的数据距离值。由于用于训练共享或公共模型m
server
(例如,自适应共蒸馏模型60)的训练算法试图通过从较大损失学习更多来使加权损失最小化,共享或公共模型m
server
(例如,自适应共蒸馏模型60)将从公共数据集中与每个私有数据集mi中的数据类似的数据学习更多,并且将不会从公共数据集中与每个私有数据集中的数据不同的数据学习那么多。以下参考图9更详细地描述上述等式。
[0052]
在图1和图2的实例中,自适应共蒸馏模型60不是在第一私有数据集32或第二私有数据集42上直接训练的,并且不能访问它们。由于服务器计算设备10无需接收第一私有数据集32或第二私有数据集42来进行训练,所以可维护私有数据集的私有性。此外,由于处理器12接收第一结果数据集20和第二结果数据集24而不是第一私有人工智能模型30和第二私有人工智能模型40的参数,因此第一客户端计算设备80和第二客户端计算设备90的相应用户也可以保持其相应的机器学习模型的架构是私有的,由此有助于私有性、竞争优势、许可或其他法律约束等,第一客户端计算设备80和第二客户端计算设备90的相应用户例如可以是相应公司的员工或相应研究实体的研究人员。使用第一结果数据集20和第二结果数据集24来训练自适应共蒸馏模型60还允许为具有不同架构的私有人工智能模型生成自适应共蒸馏模型60。相反,通过在模型之间形成共享层来组合分布式机器学习模型的现有方法通常不可用于组合具有不同架构的模型。
[0053]
在一些实施方式中,如图1所示,可以至少部分地通过监督学习训练自适应共蒸馏模型60。在此类实施方式中,在自适应共蒸馏模型60的训练期间,处理器12还可配置为通过服务器计算设备10的一个或多个输出设备18向用户传送由自适应共蒸馏模型60产生的一个或多个自适应共蒸馏模型输出68。处理器12还可被配置为通过一个或多个输入设备16接收一个或多个监督学习用户输入56。一个或多个监督学习用户输入56可包括一个或多个自适应共蒸馏模型输出68的相应评估。例如,监督学习用户输入56可指示自适应共蒸馏模型60是否已将准确的分类标签应用于包括在输入数据集50中的输入数据条目52。基于该监督学习用户输入56,处理器12还可配置为更新自适应共蒸馏模型60的一个或多个参数。例如,在自适应共蒸馏模型60是深度神经网络的实施方式中,处理器12可更新一个或多个自适应共蒸馏模型权重61和/或一个或多个自适应共蒸馏模型偏差63。
[0054]
在一些实施方式中,如图3所示,自适应共蒸馏模型60可以是分类模型。在这样的实施方式中,第一结果数据集20和第二结果数据集24可各自包括相应的多个分类标签。图3示出了分别包括在第一结果数据集20和第二结果数据集24中的多个第一分类标签126和多个第二分类标签128。图3的实例中的自适应共蒸馏模型60包括组合分类标签集120,该组合分类标签集包括第一分类标签126和第二分类标签128中的每一个分类标签。在运行时,自适应共蒸馏模型60可接收包括一个或多个运行时输入数据条目112的运行时数据集110。响应于接收运行时输入数据集110,自适应共蒸馏模型可被配置为输出包括对应于一个或多个运行时输入数据条目112的一个或多个运行时分类标签142的运行时输出数据集140。在一些实施方式中,多个运行时分类标签142可与每个运行时输入数据条目112匹配。在这样的实施方式中,自适应共蒸馏模型60还可被配置为输出每个运行时分类标签142的相应的输出置信度144。因此,自适应共蒸馏模型60可被配置为执行由第一私有人工智能模型30和第二私有人工智能模型40两者执行的分类任务,而无需在第一私有数据集32或第二私有数据集42上训练。
[0055]
如图3所示,在自适应共蒸馏模型60是分类模型的实施方式中,输入数据集50可以是部分标记的数据集。在这样的实施方式中,输入数据集50可包括具有相应的输入分类标签54的输入数据条目52的第一子集和不具有相应的输入分类标签54的输入数据条目52的第二子集。在这样的实施方式中,多个输入分类标签54可包括在组合分类标签集120中。
[0056]
可替代地,在一些实施方式中,自适应共蒸馏模型60可以是回归模型。在这样的实施方式中,第一结果数据集20和第二结果数据集24可各自包括相应的多个数值。第一私有人工智能模型30和第二私有人工智能模型40两者都可被配置为将它们相应的输入映射到包括一个或多个数值的相应的第一结果条目22和第二结果条目26。例如,第一私有人工智能模型30和第二私有人工智能模型40可各自输出标量数值、数值的向量、或包括一个或多个数值的一些其他数据结构。在这样的实施方式中,自适应共蒸馏模型60可以根据输入数据条目52对第一结果条目22和第二结果条目26执行回归。
[0057]
在其他实施方式中,如图4的实例中所示,自适应共蒸馏模型60可以是递归神经网络。在图4的实例中,输入数据集250包括多个输入序列252,每个输入序列252包括多个有序输入值254。包括在每个输入序列252中的有序输入值254可经时间排序、空间排序或根据一些其他变量来排序。在自适应共蒸馏模型60是递归神经网络的实施方式中,训练第一私有人工智能模型30的第一私有数据集232可包括多个第一私有序列234。每个第一私有序列234可包括多个第一私有有序输入值236,其可根据与输入数据集250的输入序列252中包括的有序输入值254相同的变量来排序。此外,第二私有数据集242可包括多个第二私有序列244。每个第二私有序列244可包括多个第二私有有序输入值246,其可根据与输入数据集250的输入序列252中包括的有序输入值254相同的变量来排序。因此,第一私有人工智能模型30、第二私有人工智能模型40和自适应共蒸馏模型60可各自使用序列数据生成。
[0058]
在一些实施方式中,图1的第一结果数据集20或第二结果数据集24可被同态加密。当第一结果数据集20或第二结果数据集24被同态加密时,可以在服务器计算设备10的处理器12处对第一结果条目22或第二结果条目26执行一个或多个计算,同时那些条目的明文值保持隐藏。第一结果数据集20或第二结果数据集24可使用部分同态加密算法、特定同态加密算法、分层全同态加密算法或全同态加密算法进行加密。例如,作为部分同态方案,可使用paillier密码系统、rivest-shamir-adleman(rsa)、elgamal方案或goldwasser-micali方案,并且作为全同态方案,可使用brakerski-gentry-vaikuntahan方案或变体。第一结果数据集20或第二结果数据集24的加密可分别在第一客户端计算设备80或第二客户端计算设备90处执行。可利用同态加密的第一结果数据集20或第二结果数据集24训练自适应共蒸馏模型60。
[0059]
图5至图12总体上示出了计算机系统1的使计算机系统1能够利用加权损失函数的方面。如图5所示,输入数据集50(d
dist
)的每个元素xn可在使用私有数据集(诸如第一私有数据集32(di)和第二私有数据集42(di))生成那些模型中的每个模型之后,作为输入被提供给多个私有人工智能模型(诸如第一私有人工智能模型30和第二私有人工智能模型40)中。在将元素xn输入到私有模型30、40中的每一个个时,数据相似性算法(诸如第一数据相似性算法35和第二数据相似性算法45)将该元素xn与私有数据集32、40中的数据di进行比较。数据相似性算法可以例如是欧几里德距离、曼哈顿距离、闵可夫斯基距离、第n次根相似性、余弦相似性、平方根和杰卡德距离。私有模型30、40各自输出相应的结果数据集20、24,该结果数
据集20、24包括模型输出值(mi)、模型输出值中的置信度值以及通过相似性算法输出的训练数据距离。模型输入值(xn)也可在结果数据集20、24中传递,或者可以在服务器处从输入数据集50直接检索。私有模型30、40所输出的结果数据集20、24在相应的训练阶段中用于通过第一训练算法100和第二训练算法102训练自适应共蒸馏模型60(即,共享或公共模型)。使用来自每个私人模型30、40的xn作为输入以及mi作为其输出训练自适应共蒸馏模型60。第一训练算法100和第二训练算法102可从多种训练算法(诸如如上所述的利用梯度下降的反向传播)中选择。训练算法100、102中的每一个具有相关联的加权损失函数104、106,该加权损失函数试图在训练期间最小化。加权损失函数可例如基于从相应相似性算法35、45输出的相应训练数据距离21、25、基于从相关联私有模型30、40输出的相应置信度值23、27和/或基于人工输入,如下文更详细解释的。
[0060]
图6示出了将输入数据集50(即,共享或公共数据集(d
dist
))中的xn的具体实例(被机器人抓住的蛋的图像)与第一私有数据集di进行比较。在本实例中,di是被机器人抓住或未被机器人抓住(视情况而定)的高尔夫球的图像的标记集合,该标记是指示该图像是否示出机器人正确地抓住球的地面真值标记。特征提取算法108被应用于元素xn和私有数据集di并且产生其每个的参数化表示110、112。典型地,这些特征是尺度不变特征,并且它们可例如通过卷积神经网络来检测。可替代地,可提取其他类型的特征。例如,参数化表示110、112可以是多维特征向量。特征向量被馈送到第一相似性算法35,在该实例中,第一相似性算法35计算第一训练数据距离21,然后将其转换成加权因子114,用于对元素xn将对自适应共蒸馏模型60(即,共享或公共模型m
server
)具有的、值在零和一之间的学习效果进行加权。随着训练数据距离21增大,加权因子114减小,并且随着训练数据距离21减小,加权因子增大。两个值通常都在零和一之间的范围内。
[0061]
图7示出了通过第一相似性算法35将两个图像(一个图像是机器人抓住蛋和另一图像是机器人抓住棒球)与私有数据集di进行比较并且分别示出为具有低训练数据距离21和高训练数据距离21的实例。这个差异可归因于私有数据集di中蛋与高尔夫球的形状的差异,以及私有数据集di中的图像中的受关注区域(roi)中棒球与高尔夫球的形状的相似性。因此,相似性算法35计算对于具有蛋的图像为低的而对于具有棒球的图像为高的相应的加权因子114。应当理解,这仅是一个说明性实例,因为许多变化是可能的。
[0062]
图8示出了用于配置自适应共蒸馏模型60的图形用户界面(gui)116的私有模型所有者视图。如图所示,gui 116包括多个输入字段118,供用户指定到公共模型、公共数据集、第一私有数据集和第一私有数据模型的路径。提供可供件120以根据需要添加所有者拥有的附加私有数据集和私有模型。应当理解,不同私有数据集的其他所有者将使用gui 116的不同视图在附加私有模型上训练公共模型。gui 116还包括训练算法选择工具122,如图所示,该训练算法选择工具被设置为选择利用梯度下降的反向传播作为训练算法。gui 116还包括选择器124,以指定由第一训练算法100使用的一个或多个加权因子114。如图所示,加权因子选择器124包括多选复选框工具,用户可通过多选复选框工具在训练数据距离、模型输出置信度值或人工指定的因子(诸如人工编辑的置信度值、人工编辑的数据距离值或人工算法)中的一者或多者之间进行选择。显示用于定义这些人工指定值的链接126、128、130。一旦输入参数,用户可选择训练模型命令选择器132以开始由第一私有数据模型30处理公共数据集(例如,输入数据集50),以输出将被输入到自适应共蒸馏模型60中的第一结
果数据集20,并且因此,对自适应共蒸馏模型60进行训练。
[0063]
图9示出了在选择图9中的链接126时显示的人工编辑的置信度值用户界面134。如图所示,人工编辑的置信度值用户界面134包括作为到第一私有模型30的输入的来自输入数据集50的元素xn,以及第一结果数据集20的输出值(抓球分类)和输出置信度(0.88)。通过界面134的操作人员界面部分,操作人员可提供输入来修改第一私有模型30输出(例如,通过选择“是”来指示球被正确地抓住),并且可以输入1.00作为分类置信度,因为人们已经确定该分类作为用于训练的地面真值是正确的。该值还可通过键入特定值而被人工编辑。在所示实例中,私有模型计算了抓球分类,置信度值为0.88,其通过界面被人工编辑为1.00置信度。
[0064]
图10示出了用于提供人工编辑的训练数据距离值的人工编辑的训练数据距离用户界面136,其可以通过遍历图9中的链接128来访问。如图所示,用户界面134显示来自输入数据集50的元素xn,并显示来自第一私有数据集32(di)的元素。通常,界面136循环通过di中的元素中的每一个,以便接收人工编辑的输入,从而将xn与di中的每个元素进行比较。响应于所显示的每对图像,操作人员可选择“是”或者“否”选择器,以验证图像相似或者不相似。在0.01的训练数据距离中选择“是”默认值并且在1.0的训练数据距离中选择“否”默认值,这两者的值都可以由操作人员根据需要进一步编辑。选择“提交”循环到下一图像对,直到所有图像对的训练数据距离已被人工编辑。在所示实例中,第一相似性算法35计算了该对图像之间的训练数据距离为0.14,其被人工编辑为0.01。
[0065]
图11a是示出用于对在训练公共模型中使用的损失函数的输出进行加权的模型输入、模型输出、误差、未加权损失和加权损失之间的关系的注释图。附图的顶部是用于适应性共蒸馏模型(公共模型m
server
)和第一私有人工智能模型30(私有模型mi)的模型输入(公共数据集50的x1至x5样本元素中的每个)到模型输出的曲线图。两个输出之间的差值是误差e=m
server-mi。为了易于在单个维度中进行说明,示出了误差e,但更典型地是多维的,如m
server
和mi的输出。损失通常基于m
server
和mi的输出值根据损失函数来计算。如果使用使误差平方的损失函数,诸如均方误差,那么大的误差对损失的影响增加。在曲线图中,x1、x2、x4和x5是已通过第一相似性算法35使用图6中所示的处理被确定为与第一私有数据集32(di)相似(即,与该第一私有数据集32(di)具有低数据距离)的元素,而x3已被确定为与第一私有数据集32(di)具有高数据距离(即,低相似性)。出于这个原因,点划线未加权损失(例如,mse)向量被示出为大于x3的实线误差向量,而点划线未加权损失向量被示出为在长度上近似等于x1、x2、x4和x5的实线误差向量。在没有加权的情况下,数据元素x3对于通过自适应共蒸馏模型60(即,共享或公共数据模型)的学习的影响将大于数据元素x1、x2、x4、以及x5中的任何一个的影响。并且,由于x3至di的训练数据距离高,因此该较大的学习效果将未达到,并且导致自适应共蒸馏模型69(即,共享或公共数据模型)产生错误结果。为了解决这个问题,根据图6中所描述的处理,为x3计算比x1、x2、x4和x5相对更低的加权因子,并且该加权因子用于计算数据元素的加权损失。将加权因子w
i,n
输入到在图11a中再现在曲线图下方的公式中,该公式的第一项是加权因子的加权平均值。该加权平均值乘以损失函数(其可以是如上所述的任何合适的损失函数)的输出,并且结果是加权损失。由于图11a中的加权损失由训练数据距离加权,所以其也被称为训练数据加权损失。应注意,具有到di的高数据距离的数据元素xi的加权损失小于曲线图中的具有到di的较低数据距离的其他数据元素的加权损失,如
表示加权损失的虚线向量中的相对大小差异所示。应当理解,未加权和加权损失向量的相对大小用于说明性目的,并且损失和误差仅出于说明性目的在同一轴上示出。
[0066]
应当理解,作为根据以上给出的表达式计算加权损失的替代方案,可以使用加权的替代形式来使公共数据集中具有到私有数据集的高数据距离的数据元素的学习效果最小化。例如,可使用输入加权损失函数。图11b示出了当使用输入加权损失函数的以下表达式时类似于图11a的注释图:
[0067]
[数学式3]
[0068][0069]
在该表达式中,加权平均值被应用于每个模型输入xi的私有模型输出值mi而不是损失函数的输出。除了实际mi值,图11b还示出了用作损失函数的输入的加权mi值。如在图11a的实例中,该实例中的损失函数可以是均方误差或任何其他合适的损失函数。通过在将私有模型输出值mi输出到损失函数中之前对私有模型输出值进行加权,处理器12可减少传播到损失函数的计算值的私有模型输出值mi中的噪声量,并因此与从私有数据集具有低数据距离的数据元素学习相比,从公共数据集中的与私有数据集具有高数据距离的数据元素学习得较少。
[0070]
图12示出了作为曲线的示例性二维损失函数表面。该二维表示是为了便于说明,更典型地,损失函数是多维的。用图表示出了x1至x5中的每个的损失,在图11a中示出了相同的数据元素。由于图11a中所示的该数据元素的未加权损失较大,所以未加权损失表面以虚线示出,峰值在x3处。加权损失表面以实线示出并且峰值不在x3处。通过对损失表面进行加权,可以避免来自x3附近的高未加权损失的不适当的学习效果。以此方式,自适应共蒸馏模型可从输入数据集50中的数据中学习,而不从输入数据集中的与私有数据集中的数据不相似的数据中学习太多。
[0071]
图13示出了在服务器计算设备10的处理器12处训练模板机器学习模型70时的图1的计算系统1。如图13的实例所示,处理器12还可被配置为在第一客户端计算设备80和第二客户端计算设备90处用第一私有数据集32和第二私有数据集42训练第一私有人工智能模型30和第二私有人工智能模型40之前,在模板数据集72上训练模板机器学习模型70。模板数据集72可包括与相应的多个模板输出条目78相关联的多个模板输入条目74。模板输入条目74中的每一个可具有与包括在输入数据集50中的输入数据条目52的数据类型相同的数据类型。此外,模板输出条目78可各自具有自适应共蒸馏模型输出68的数据类型,随后训练自适应共蒸馏模型60产生该数据类型。
[0072]
图14更详细地示出了模板机器学习模型70是深度神经网络的实施方式中的模板机器学习模型70。在图14的实例中,模板机器学习模型具有用于其神经元之间的连接的多个模板权重71。此外,模板机器学习模型70具有用于每个神经元的相应的模板偏差73。模板机器学习模型70可以通过利用随机梯度下降的反向传播来训练,其可使用模板成本函数76。模板成本函数76可以例如是均方误差成本函数。可替代地,如以上所讨论的,可使用其他训练方法和其他成本函数。
[0073]
在模板机器学习模型70已被训练之后,服务器计算设备10的处理器12可被进一步
配置为将模板机器学习模型70的副本发送到第一客户端计算设备80和第二客户端计算设备90。在图14的实例中,模板机器学习模型70的第一副本75和第二副本77分别被发送到第一客户端计算设备80和第二客户端计算设备90。在图14的实例中的第一私有人工智能模型30是在模板机器学习模型70已在第一私有数据集32上进一步训练之后的第一副本75。类似地,第二私有人工智能模型40是在模板机器学习模型70已在第二私有数据集42上被进一步训练之后的第二副本77。因此,模板机器学习模型70可用作最初在模板数据集72上训练并且在第一客户端计算设备80和第二客户端计算设备90处进一步训练的第一私有人工智能模型30和第二私有人工智能模型40的模板。应当理解,根据图13和图14的实施方式,在已基于模板机器学习模型70和私有数据集32、42两者训练的第一私有机器学习模型30和第二私有机器学习模型40被馈送了未标记或部分标记的输入数据集50之后,它们产生第一结果数据集20和第二结果数据集24,第一结果数据集20和第二结果数据集24进而用于以先前关于图1的实施方式描述的相同方式训练自适应共蒸馏模型60。
[0074]
图15a示出可与计算系统一起使用的示例性方法300的流程图。图15a的方法300可与图1的示例性计算系统1或与其他计算系统一起使用。在步骤302,方法300可包括将输入数据集输入到已使用第一私有数据集生成的第一私有人工智能模型和已使用第二私有数据集生成的第二私有人工智能模型中。输入数据集可包括多个输入数据条目。在一些实施方式中,第一私有人工智能模型和第二私有人工智能模型可在对应的第一客户端计算设备和第二客户端计算设备处执行。在这种实施方式中,可将输入数据集从服务器计算设备发送到第一客户端计算设备和第二客户端计算设备。第一私有数据集可包括多个第一私有条目,这些第一私有条目可以是训练第一私有人工智能模型的示例性输入和对应的示例性输出。类似地,第二私有数据集可包括多个第二私有条目,这些第二私有条目可以是训练第二私有人工智能模型的示例性输入和对应的示例性输出。
[0075]
在步骤304,方法300还可以包括作为将第一私有人工智能模型应用于输入数据集的结果,从第一私有人工智能模型接收第一结果数据集。第一结果数据集可包括多个第一结果条目。第一结果数据集还可以包括与每个第一结果条目相关联的一个或多个第一置信度值。此外,在步骤306,方法300还可以包括作为将第二私有人工智能模型应用于输入数据集的结果,从第二私有人工智能模型接收第二结果数据集。第二结果数据集可包括多个第二结果条目。在一些实施方式中,第二结果数据集可包括与每个第二结果条目相关联的一个或多个第二置信度值。
[0076]
在一些实施方式中,第一私有人工智能模型可具有第一模型架构,并且第二私有人工智能模型可具有不同于第一模型架构的第二模型架构。例如,第一私有人工智能模型和第二私有人工智能模型中的每一个可以是深度神经网络、内核机或随机森林。用于第一私有人工智能模型的机器学习算法的类型可以不同于用于第二私有人工智能模型的机器学习算法的类型。可替代地,如果同一类型的机器学习模型被用于第一私有人工智能模型和第二私有人工智能模型两者,则两个模型之间的诸如神经元数量或层数量的参数可以不同。
[0077]
在步骤308,方法300还可以包括:在第一训练阶段,以输入数据集作为输入并且以第一结果数据集作为第一目标输出来训练自适应共蒸馏模型。因此,当给定输入数据集作为输入时,可训练自适应共蒸馏模型以产生与第一私有人工智能模型产生的相同的结果数
据。例如,可使用利用随机梯度下降的反向传播训练自适应共蒸馏模型。当使用反向传播来训练自适应共蒸馏模型时,自适应共蒸馏模型可具有自适应共蒸馏模型成本函数。
[0078]
在步骤310,方法300还可以包括:在第二训练阶段,以输入数据集作为输入并且以第二结果数据集作为第二目标输出来进一步训练自适应共蒸馏模型。第二训练阶段可以在第一训练阶段之后执行。类似于在第一训练阶段对自适应共蒸馏模型的训练,可通过反向传播来执行自适应共蒸馏模型在第二阶段中的训练。在训练自适应共蒸馏模型的方法300的步骤中,不在第一私有数据集或第二私有数据集上训练自适应共蒸馏模型。因此,第一私有数据集和第二私有数据集可以对服务器计算设备保持私有。此外,由于可以使用由第一私有人工智能模型和第二私有人工智能模型产生的结果数据集来训练自适应共蒸馏模型,而不明确参考第一私有人工智能模型和第二私有人工智能模型的模型架构,因此,第一私有人工智能模型和第二私有人工智能模型的结构也可以保持私有。
[0079]
在方法300中,应当理解,在至少308的第一训练阶段以及通常在310的第二训练阶段,使用利用加权损失函数的训练算法来训练自适应共蒸馏模型,如上所述。加权损失函数通过加权因子对自适应共蒸馏模型的预测输出与第一结果数据集和第二结果数据集的目标数据输出之间的损失进行加权,该加权因子基于以下中的一个或多个:(a)由第一(或第二)相似性算法确定的第一(或第二)输入数据集中的元素与第一(或第二)私有数据集之间的数据距离,(b)由第一或第二私有人工智能模型输出的第一结果数据集中的置信度值,以及人工指定的输入,如上文在图8中所示。
[0080]
图15b示出了当执行图15a的方法300时在一些实施方式中可执行的附加步骤。在步骤312,方法300还可以包括在模板数据集上训练模板机器学习模型。模板数据集可包括多个模板输入条目和多个模板输出条目。模板机器学习模型可以例如是深度神经网络、内核机或随机森林。在一些实施方式中,可以在服务器计算设备处训练模板机器学习模型。在步骤314,该方法还可以包括在第一私有数据集上训练模板机器学习模型的第一副本。类似地,在步骤316,方法300还可以包括在第二私有数据集上训练模板机器学习模型的第二副本。步骤314和步骤316可在第一客户端计算设备和第二客户端计算设备处执行,服务器计算设备的处理器可被配置为将模板机器学习模型的副本发送到第一客户端计算设备和第二客户端计算设备。因此,第一私有数据集和第二私有数据集可用于进一步在客户端计算设备处训练模板机器学习模型的副本。
[0081]
在步骤318,方法300还可以包括对第一结果数据集或第二结果数据集进行同态加密。用于对第一结果数据集或第二结果数据集进行同态加密的加密算法可以是部分同态加密算法、特定同态加密算法、分层全同态加密算法或完全同态加密算法。可以在将第一结果数据集或第二结果数据集发送到服务器计算设备之前在第一客户端计算设备或第二客户端计算设备处分别对第一结果数据集或第二结果数据集进行同态加密。因此,第一结果条目和第二结果条目的明文版本可以保持私有。
[0082]
尽管参考第一客户端计算设备80和第二客户端计算设备90描述了上面描述的示例性计算系统和方法,但是上述系统和方法可以与两个以上的客户端计算设备一起使用。每个客户端计算设备可具有用于训练私有人工智能模型的相应私有数据集。此外,每个客户端计算设备可将相应的结果数据集发送到服务器计算设备10。服务器计算设备10的处理器12可以在从多个客户端计算设备中的每个客户端计算设备接收的相应结果数据集上有
序地训练自适应共蒸馏模型60。在一些实施方式中,处理器12可使用包括两个或多个结果数据集的一个或多个批次来训练自适应共蒸馏模型60,同时利用两个或多个结果数据集训练自适应共蒸馏模型60。
[0083]
在一个示例性用例场景中,第一客户端计算设备和第二客户端计算设备的用户是制造诸如检验设备的电子设备的工业制造商。在该实例中,第一客户端计算设备执行支持向量机以在对电路组件进行分类时区分图像中的电阻器和电容器。第二客户端计算设备执行卷积神经网络以区分完好的和损坏的电子组件。使用支持向量机和卷积神经网络两者的输出训练自适应共蒸馏模型。在运行时,自适应共蒸馏模型区分完好电阻器、完好电容器、损坏的电阻器和损坏的电容器。这个实例的支持向量机和卷积神经网络都不在工业制造商之间共享,并且用于训练其每个的数据也针对每个工业制造商保持私有。
[0084]
在该实例中,作为卷积神经网络的替代方案,可使用启发式模型来区分完好的和损坏的电子组件。例如,启发式模型可以是被配置为确定电子组件(电阻器或电容器)是否具有开裂外表面的边缘检测器。在该实例中,第二私有数据集可被用作测试数据集而不是训练数据集。尽管启发式边缘检测器不是机器学习模型,但是启发式边缘检测器的输出可以与支持向量机的输出一起用于训练自适应共蒸馏模型。
[0085]
在另一示例性用例场景中,第一私有人工智能模型是被配置为生成语音的文本转录的递归神经网络。第二私有人工智能模型是被配置为在其语音被包括在音频输入中的多个人的语音之间进行区分的另一递归神经网络。当给定共享的音频输入集时,使用由两个递归的神经网络产生的输出,可以训练自适应共蒸馏模型来生成包括在音频输入中的语音的文本转录,并用指示来标记转录中的每个话语是哪个人说出的。这在不共享单独的递归神经网络本身或用于训练每个递归神经网络的数据的情况下实现。
[0086]
在另一示例性用例场景中,第一私有人工智能模型是被配置为控制机械臂的运动以便将制造品从工厂中的一个区域传递到另一区域的递归神经网络。第二私有人工智能模型是被配置为在机器人导航物理环境时移动自主机器人的另一递归神经网络。提供给第一私有人工智能模型和第二私有人工智能模型的共享输入数据集包括指示工厂环境中对象的大小、形状和位置的布局数据。使用第一私有人工智能模型和第二私有人工智能模型的相应输出,训练自适应共蒸馏模型以输出组合移动路径,通过该组合移动路径,将制造品从工厂环境的一个区域移动到工厂环境的另一区域。在每个组合移动路径中,通过机械臂将制造品从初始位置移动至自主机器人并且然后通过自主机器人移动至最终位置。自适应共蒸馏模型被训练以生成组合移动路径,而无需机械臂的制造商和自主机器人的制造商必须向训练自适应共蒸馏模型的用户提供访问其私有机器学习模型的权限。
[0087]
在其他示例性用例场景中,训练自适应共蒸馏模型以供在医疗环境中使用。在该实例中,第一私有人工智能模型是被配置为识别x射线图像中存在哪些骨骼的支持向量机。第二私有人工智能模型是被配置为确定x射线图像中的骨骼是否断裂的卷积神经网络。将包括多个x射线图像的输入数据集输入到第一私有人工智能模型和第二私有人工智能模型两者中,并且使用私有模型的输出来训练自适应共蒸馏模型。经训练的自适应共蒸馏模型被配置为接收x射线图像并且输出相应的标记,这些标记指示出现在x射线图像中的哪些骨骼(如果有的话)是断裂的。
[0088]
在其他示例性用例场景中,训练自适应共蒸馏模型来执行交通流分析。在该实例
中,第一私有人工智能模型是被配置为估计移动通过现场摄像机馈送或存储的视频中描绘的空间(例如,火车站)的一组人的流速的递归神经网络。第一私有人工智能模型是被配置为输出数值的回归模型。第二私有人工智能模型是被配置为估计在视频中示出的空间内的人的密度的另一回归模型。第一私有人工智能模型和第二私有人工智能模型两者都接收输入数据集,该输入数据集包括移动通过相应的多个物理环境的人群的多个视频。基于第一私有人工智能模型和第二私有人工智能模型的输出,训练自适应共蒸馏模型来估计移动通过物理区域的多个人的交通拥堵程度(定义为流速和密度的函数)。自适应共蒸馏模型是被配置为接收视频镜头作为输入并且输出交通拥堵程度的数值估计的回归模型。
[0089]
在一些实施方式中,本文描述的方法和过程可被绑定到一个或多个计算设备的计算系统。具体地,这种方法和过程可被实现为计算机应用程序或服务、应用编程接口(api)、库和/或其他计算机程序产品。
[0090]
图16示意性地示出了可执行上述方法和过程中的一个或多个的计算系统400的非限制性实施方式。以简化的形式示出了计算系统400。计算系统400可体现上述并且在图1中示出的计算系统1。计算系统400可采取以下形式:一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备、和可穿戴计算设备(诸如智能手表和头戴式增强现实设备)。
[0091]
计算系统400包括逻辑处理器402、易失性存储器404和非易失性存储设备406。计算系统400可任选地包括显示子系统408、输入子系统410、通信子系统412和/或图16中未示出的其他组件。
[0092]
逻辑处理器402包括被配置为执行指令的一个或多个物理设备。例如,逻辑处理器可被配置为执行作为一个或多个应用、程序、例程、库、对象、组件、数据结构或其他逻辑构造的一部分的指令。可以实现这样的指令以执行任务、实现数据类型、变换一个或多个组件的状态、实现技术效果、或以其他方式获得期望的结果。
[0093]
逻辑处理器可包括被配置为执行软件指令的一个或多个物理处理器(硬件)。另外或可替代地,逻辑处理器可包括被配置为执行硬件实现的逻辑或固件指令的一个或多个硬件逻辑电路或固件设备。逻辑处理器402的处理器可以是单核或多核,并且在其上执行的指令可被配置用于顺序、并行和/或分布式处理。逻辑处理器的各个组件可选地可分布在两个或多个单独的设备中,这些设备可远程定位和/或被配置用于协同处理。逻辑处理器的各方面可由以云计算配置配置的远程可访问的联网计算设备来虚拟化和执行。在这种情况下,应当理解,这些虚拟化方面在各种不同机器的不同物理逻辑处理器上运行。
[0094]
非易失性存储设备406包括一个或多个物理设备,该一个或多个物理设备被配置为保持可由逻辑处理器执行的指令以实现本文描述的方法和过程。当实现这种方法和过程时,可以对非易失性存储设备406的状态进行转换-例如,以保持不同的数据。
[0095]
非易失性存储设备406可包括可移动和/或内置的物理设备。非易失性存储设备406可包括光学存储器(例如,cd、dvd、hd-dvd、蓝光盘等)、半导体存储器(例如,rom、eprom、eeprom、闪速存储器等)和/或磁存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、mram等)、或其他大容量存储设备技术。非易失性存储设备406可包括非易失性、动态、静态、读/写、只读、顺序访问、位置可寻址、文件可寻址和/或内容可寻址设备。应当理解,非易失性存
储设备406被配置为即使当非易失性存储设备的电源被切断时也保持指令。
[0096]
易失性存储器404可包括物理设备,该物理设备包括随机存取存储器。易失性存储器404通常被逻辑处理器402利用以在处理软件指令期间临时存储信息。应当理解,当易失性存储器404的电源被切断时,易失性存储器404通常不继续存储指令。
[0097]
逻辑处理器402、易失性存储器404和非易失性存储设备406的各方面可以一起集成到一个或多个硬件逻辑组件中。这种硬件逻辑组件可例如包括现场可编程门阵列(fpga)、程序和应用专用集成电路(pasic/asic)、程序和应用专用标准产品(pssp/assp)、片上系统(soc)和复杂可编程逻辑设备(cpld)。
[0098]
术语“模块”、“程序”和“引擎”可用于描述通常由处理器在软件中实现以使用易失性存储器的部分执行特定功能的计算系统400的方面,该功能涉及专门配置处理器以执行该功能的转换处理。因此,可通过执行由非易失性存储设备406保持的指令的逻辑处理器402、使用易失性存储器404的部分来实例化模块、程序或引擎。应当理解,可从相同的应用、服务、代码块、对象、库、例程、api、函数等实例化不同的模块、程序和/或引擎。同样地,相同的模块、程序和/或引擎可以由不同的应用、服务、代码块、对象、例程、api、函数等实例化。术语“模块”、“程序”和“引擎”可涵盖单个或成组的可执行文件、数据文件、库、驱动器、脚本、数据库记录等。
[0099]
当包括显示子系统408时,显示子系统408可用于呈现由非易失性存储设备406保持的数据的视觉表示。视觉表示可采用图形用户界面(gui)的形式。由于此处所描述的方法和过程改变了由非易失性存储设备保持的数据,并且因此转换了非易失性存储设备的状态,因此同样可转换显示子系统408的状态以在视觉上表示底层数据的变化。显示子系统408可包括利用几乎任何类型的技术的一个或多个显示设备。这种显示设备可与逻辑处理器402、易失性存储器404、和/或非易失性存储设备406组合在共享壳体中,或者这种显示设备可以是外围显示设备。
[0100]
当包括输入子系统410时,输入子系统410可包括一个或多个用户输入设备(诸如键盘、鼠标、触摸屏或游戏控制器)或与一个或多个用户输入设备对接。在一些实施方式中,输入子系统可包括所选择的自然用户输入(nui)组件或与所选择的自然用户输入(nui)组件对接。这种组件可以是集成的或外围的,并且输入动作的转换和/或处理可以在板上或离板处理。nui组件的实例可包括用于语音和/或声音识别的麦克风;用于机器视觉和/或手势识别的红外、彩色、立体和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速度计和/或陀螺仪;以及用于评估大脑活动的电场感测组件;和/或任何其他合适的传感器。
[0101]
当包括通信子系统412时,通信子系统412可被配置为将本文描述的各种计算设备彼此通信地耦合和与其他设备通信地耦合。通信子系统412可包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性实例,通信子系统可被配置为通过无线电话网络或有线或无线局域网或广域网(诸如经由wi-fi连接的hdmi)进行通信。在一些实施方式中,通信子系统可允许计算系统400通过网络(诸如因特网)将消息发送至其他设备和/或从其他设备接收消息。
[0102]
根据本公开的一个方面,提供了一种用于与计算设备一起使用的方法。该方法可以包括将输入数据集输入到已使用第一私有数据集生成的第一私有人工智能模型和已使
用第二私有数据集生成的第二私有人工智能模型中。该方法还可以包括:作为将第一私有人工智能模型应用于输入数据集的结果,从第一私有人工智能模型接收第一结果数据集。该方法还可以包括:作为将第二私有人工智能模型应用于输入数据集的结果,从第二私有人工智能模型接收第二结果数据集。在第一训练阶段,该方法还可以包括以输入数据集作为输入并且以第一结果数据集作为第一目标输出来训练自适应共蒸馏模型。在第二训练阶段,该方法还可以包括进一步以输入数据集作为输入并且以第二结果数据集作为第二目标输出来训练自适应共蒸馏模型。自适应共蒸馏模型可以不在第一私有数据集或第二私有数据集上训练。
[0103]
根据该方面,第一私有人工智能模型可具有第一模型架构,并且第二私有人工智能模型可具有不同于第一模型架构的第二模型架构。
[0104]
根据该方面,第一私有人工智能模型和第二私有人工智能模型中的每一个是深度神经网络、内核机或随机森林。
[0105]
根据该方面,该自适应共蒸馏模型可以是分类模型。第一结果数据集和第二结果数据集可各自包括相应的多个分类标签。
[0106]
根据该方面,输入数据集可以是部分标记的数据集,其包括具有相应输入分类标签的输入数据条目的第一子集和不具有相应输入分类标签的输入数据条目的第二子集。
[0107]
根据该方面,自适应共蒸馏模型是一种回归模型。第一结果数据集和第二结果数据集可各自包括相应的多个数值。
[0108]
根据该方面,自适应共蒸馏模型可以是递归神经网络。输入数据集可包括多个输入序列,每个输入序列包括多个有序输入值。
[0109]
根据该方面,至少在第一训练阶段,可使用利用加权损失函数的训练算法来训练自适应共蒸馏模型。
[0110]
根据该方面,加权损失函数可通过加权因子对自适应共蒸馏模型的预测输出与第一结果数据集的目标数据输出之间的损失进行加权,该加权因子基于以下项中的一项或多项:通过第一相似性算法确定的在输入数据集中的元素与第一私有数据集之间的数据距离、第一结果数据集中的置信度值、以及人工指定的输入。
[0111]
根据该方面,第一结果数据集或第二结果数据集可被同态加密。
[0112]
根据该方面,可至少部分通过监督学习来训练自适应共蒸馏模型。
[0113]
根据本公开的另一方面,提供了一种计算系统,该计算系统包括服务器计算设备,该服务器计算设备包括处理器。该处理器可被配置为将输入数据集发送到第一客户端计算设备,该第一客户端计算设备被配置为执行已使用第一私有数据集生成的第一私有人工智能模型。处理器还可被配置为将输入数据集发送到第二客户端计算设备,该第二客户端计算设备被配置为执行已使用第二私有数据集生成的第二私有人工智能模型。处理器还可被配置为作为将第一私有人工智能模型应用于输入数据集的结果,从在第一客户端计算设备处执行的第一私有人工智能模型接收第一结果数据集。处理器还可被配置为作为将第二私有人工智能模型应用于输入数据集的结果,从在第二客户端计算设备处执行的第二私有人工智能模型接收第二结果数据集。在第一训练阶段,处理器还可被配置为以输入数据集作为输入并且以第一结果数据集作为第一目标输出来训练自适应共蒸馏模型。在第二训练阶段,处理器还可被配置为以输入数据集作为输入并且以第二结果数据集作为第二目标输出
来进一步训练自适应共蒸馏模型。该自适应共蒸馏模型可以不在第一私有数据集或第二私有数据集上训练。
[0114]
根据该方面,第一私有人工智能模型可具有第一模型架构,并且第二私有人工智能模型可具有不同于第一模型架构的第二模型架构。
[0115]
根据该方面,第一私有人工智能模型和第二私有人工智能模型中的每一个是可以是深度神经网络、内核机或随机森林。
[0116]
根据该方面,自适应共蒸馏模型可以是分类模型。第一结果数据集和第二结果数据集可各自包括相应的多个分类标签。
[0117]
根据该方面,自适应共蒸馏模型可以是回归模型。第一结果数据集和第二结果数据集可各自包括相应的多个数值。
[0118]
根据该方面,自适应共蒸馏模型可以是递归神经网络。输入数据集可包括多个输入序列,每个输入序列包括多个有序输入值。
[0119]
根据该方面,处理器还可被配置为在模板数据集上训练模板机器学习模型。处理器还可被配置为将模板机器学习模型发送到第一客户端计算设备和第二客户端计算设备。第一私有人工智能模型可以是已在第一私有数据集上被进一步训练的模板机器学习模型的第一副本。第二私有人工智能模型可以是已在第二私有数据集上被进一步训练的模板机器学习模型的第二副本。
[0120]
根据该方面,可以至少部分通过监督学习来训练自适应共蒸馏模型。
[0121]
根据本公开的另一方面,提供了一种用于与计算设备一起使用的方法。该方法可包括将输入数据集输入到已使用第一私有数据集生成的第一私有人工智能模型和已使用第二私有数据集生成的第二私有人工智能模型中。该方法还可以包括作为将第一私有人工智能模型应用于输入数据集的结果,从第一私有人工智能模型接收第一结果数据集。第一结果数据集可包括多个第一分类标签。该方法还可以包括:作为将第二私有人工智能模型应用于输入数据集的结果,从第二私有人工智能模型接收第二结果数据集。第二结果数据集可包括多个第二分类标签。在第一训练阶段,该方法还可以包括以输入数据集作为输入并且以第一结果数据集作为第一目标输出来训练自适应共蒸馏模型。在第二训练阶段,该方法还可以包括以输入数据集作为输入并且以第二结果数据集作为第二目标输出来进一步训练自适应共蒸馏模型。自适应共蒸馏模型可以不在第一私有数据集或第二私有数据集上训练。该方法还可以包括接收包括多个运行时输入数据条目的运行时数据集。对于多个运行时输入数据条目中的每一个,该方法还可以包括输出选自包括多个第一分类标签和多个第二分类标签的组合分类标签集的运行时分类标签。
[0122]
应当理解,在此描述的配置和/或方法本质上是示例性的,并且这些具体实施方式或实例不应被视为具有限制性意义,因为许多变化是可能的。本文描述的特定例程或方法可表示任何数量的处理策略中的一个或多个。因此,所图示和/或描述的各种动作可按所图示和/或描述的顺序、按其他顺序、并行地执行或省略。同样地,可改变上述过程的顺序。
[0123]
本公开的主题包括不同过程、系统和配置的所有新颖且非显而易见的组合和子组合、以及在本文公开的其他特征、功能、动作、和/或属性、以及其任何和全部等同物。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献