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

用于模型更新的方法、设备和程序产品与流程

2022-08-17 00:53:09 来源:中国专利 TAG:


1.本公开的实施例涉及人工智能(ai)领域,并且更具体地,涉及用于模型更新的方法、设备和计算机程序产品。


背景技术:

2.目前机器学习技术被广泛应用在计算机视觉、人机交互、推荐系统、安全防护等多种多样的领域。要获得可应用的机器学习模型,需要利用训练数据来训练模型。模型训练的时间成本和资源开销通常较大。
3.不同于其他软件,由于环境改变,例如对象的行为改变或采集数据的传感器的漂移等,机器学习模型的性能可能会随着时间而下降。因此,需要对机器学习模型进行更新,以使机器学习模型能够适应于新环境并且提供期望的性能。


技术实现要素:

4.本公开的实施例提供了一种用于模型更新的方案。
5.在本公开的第一方面,提供了一种用于模型更新的方法。该方法包括确定已训练的机器学习模型在运行时的性能度量;确定在运行时由机器学习模型处理的验证数据集相对于用于训练机器学习模型的训练数据集的同质程度;基于性能度量和同质程度来确定机器学习模型的概念漂移的类型;以及基于概念漂移的类型,执行对机器学习模型的更新,更新包括部分更新或全局更新。
6.在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器;以及存储有计算机可执行指令的至少一个存储器,至少一个存储器和计算机可执行指令被配置为与至少一个处理器一起使得电子设备执行动作。动作包括确定已训练的机器学习模型在运行时的性能度量;确定在运行时由机器学习模型处理的验证数据集相对于用于训练机器学习模型的训练数据集的同质程度;基于性能度量和同质程度来确定机器学习模型的概念漂移的类型;以及基于概念漂移的类型,执行对机器学习模型的更新,更新包括部分更新或全局更新。
7.在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括计算机可执行指令,计算机可执行指令在被执行时使设备执行动作。动作包括确定已训练的机器学习模型在运行时的性能度量;确定在运行时由机器学习模型处理的验证数据集相对于用于训练机器学习模型的训练数据集的同质程度;基于性能度量和同质程度来确定机器学习模型的概念漂移的类型;以及基于概念漂移的类型,执行对机器学习模型的更新,更新包括部分更新或全局更新。
8.提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
9.通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
10.图1示出了本公开实施例可以在其中被实施的环境的示意图;
11.图2示出了根据本公开的一些实施例的用于模型更新的过程的流程图;
12.图3示出了根据本公开的一些实施例的机器学习模型的结构的示例;
13.图4示出了根据本公开的一些实施例的机器学习模型的结构的另一示例;以及
14.图5示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
15.下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
16.在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
17.如本文中所使用的,术语“机器学习”指的是涉及高性能计算、机器学习和人工智能算法的处理。在本文中,术语“机器学习模型”也可以称为“学习模型”、“学习网络”、“网络模型”、或“模型”。“神经网络”(nn)或“深度神经网络(dnn)”是一种深度学习模型。概括来说,机器学习模型能够接收输入数据并且基于输入数据执行预测和输出预测结果。
18.机器学习主要可以划分为三个阶段,即训练阶段、测试阶段和应用阶段(也称为推理阶段)。在训练阶段,给定的机器学习模型可以使用大量的训练样本进行训练,不断迭代,直到机器学习模型能够从训练样本中获得一致的、与人类智慧所能够做出的推理类似的推理。机器学习模型通过训练,可以被认为能够从训练数据中学习从输入到输出之间的映射或关联关系。经过训练后,机器学习模型的参数值集合被确定。在测试阶段,可以利用测试样本对已训练的机器学习模型进行测试,以确定机器学习模型的性能。在应用阶段,机器学习模型可以被用于基于训练得到的参数值集合,对实际的输入数据进行处理,以给出对应的输出。
19.如以上提及的,为了应对模型性能降级的情况,需要执行模型更新。传统上,通过检测模型的准确度来确定是否要重新训练机器学习模型。然而,整个模型的重新训练需要耗费较长时间并且需要较大计算开销。因此,在实际应用中,这样的重新训练的频率较低,可能会在准确度无法令人接受时才触发重新训练。还有一种方案是利用小样本来高频率地执行在线训练,并将训练后的模型重新部署到现场。然而,这个方案的计算开销更大,并且对网络环境也有要求。
20.本公开的示例实施例提出了一种自适应模型更新的方案。在该方案中,基于机器学习模型在运行时的性能度量,以及在训练和运行时的数据集之间的同质程度,来确定机
器学习模型的概念漂移的类型。取决于所确定的概念漂移的类型,对机器学习模型执行部分更新或全局更新。通过该方案,可以根据机器学习模型的不同概念偏移的情况,选择适当的更新方式。由此,可以维持机器学习模型的良好性能,同时避免频繁全局更新导致的高时间和计算资源成本。
21.图1示出了本公开实施例可以在其中被实施的环境100的示意图。在图1的示例中,计算设备110被配置为利用训练数据集102来训练机器学习模型112。训练数据集102包括多个训练数据样本。训练得到的机器学习模型112可以被提供到实际应用场景中运行。例如,如果机器学习模型112是人脸认证模型,用于认证用户是否是有效用户,在训练后,机器学习模型112可以被部署到用户的终端进行运行以执行人脸认证的任务。
22.机器学习模型112包括能够执行各种处理任务的任何类型的模型。机器学习模型112的一些示例包括但不限于支持向量机(svm)模型,贝叶斯模型,随机森林模型,各种深度学习/神经网络模型,诸如卷积神经网络(cnn)、循环神经网络(rnn)等。
23.随着机器学习模型112的运行,由于环境改变,例如要处理的对象的行为改变或采集数据的传感器的漂移等,机器学习模型112需要进行更新。在环境100中,计算设备120被配置为更新机器学习模型112,以提供更新后的机器学习模型122。在本公开的实施例,机器学习模型112的更新参考先前用于训练机器学习模型112的训练数据集102,并且还参考在运行时由机器学习模型112处理的数据集(称为验证数据集)115。验证数据集115包括多个验证数据样本。计算设备120对机器学习模型112的更新将在下文更详细讨论。
24.计算设备110或计算设备120可以包括或被实现为具有计算能力的任何计算系统或服务器。在一些情况中,计算设备110或计算设备120可能是处理和/或存储资源有限的计算设备,例如是终端设备,诸如移动电话、膝上型计算机、台式计算机、平板计算机、物联网(iot)的边缘计算设备、边缘网关等。虽然在图1中被示出为分离的设备,在一些实施例中,计算设备110和计算设备120可以被集成到单个计算系统中。
25.下文将参考附图来更详细地讨论本公开中的计算机交互的示例实施例。
26.首先参考图2,其示出了根据本公开的一些实施例的用于模型更新的过程200的流程图。过程200可以由计算设备120来实现。为便于讨论,参考图1来讨论过程200。
27.如图2所示,在框210,计算设备120确定已训练的机器学习模型112在运行时的性能度量,并且在框220,计算设备120确定在运行时由机器学习模型112处理的验证数据集相对于用于训练机器学习模型的训练数据集的同质程度。
28.根据本公开的实施例,期望通过探索一些因素来确定机器学习模型的概念偏移的类型,从而确定对当前机器学习模型112的高效、合适且低成本的更新方式。在此,通过在机器学习模型112在运行时阶段的性能度量以及所处理的数据集与训练数据集之间同质或同质程度,来确定机器学习模型112相对于预期目标之间的概念漂移的类型。
29.机器学习模型112可以是先前已经被训练,例如基于训练数据集102被训练。在详细讨论性能度量和同质程度的确定之前,先简单介绍机器学习模型的示例结构。
30.图3示出了机器学习模型112的示例结构。在图3的示例中,机器学习模型112示出了深度神经网络(dnn)的示例结构。dnn是在输入层和输出层之间具有多层的人工神经网络。如图3所示,机器学习模型112可以包括输入层310,多个隐藏层320、330等,以及输出层340。可以理解,神经网络也可以包括其他数目的隐藏层数以及相应的神经元的数目。本公
开的保护范围在此方面也不受限制。
31.在图3所示的实施例中,机器学习模型112中的各个层320分别包括多个神经元。这些神经元中的每个神经元都可以包括一个激活函数,该激活函数例如可以是非线性或者线性的函数。该函数例如可以为正弦函数,也可以为其他函数。此外,可以为每个神经元规定相同的激活函数或者不同的激活函数。本公开的保护范围在此方面不受限制。
32.在dnn的示例中,机器学习模型112是典型的前向网络,要处理的数据(即模型输入)从输入层流向输出层,而不会循环返回。dnn创建了一个虚拟神经元地图。在训练时,神经元之间的连接被分配随机数值或“权重”,称为参数值。权重用于调整神经元的输入,得到输出。如果当前模型无法准确识别特定模式,训练算法将调整权重。通过这种方式,训练算法可以使某些参数更具影响力,直至其确定处理操作以正确处理数据。
33.在本公开的一些实施例中,为了便于模型的自适应更新,机器学习模型112总体可以被划分为特征提取部分和输出部分。特征提取部分用于接收模型输入,提取模型输出的特征表示。输出部分用于将特征表示映射到模型输出。在图3的示例中,输出层310以及其中的多个隐藏层320、330等组成机器学习模型112的特征提取部分302,该特征提取部分302的最后一个隐藏层的输出被称为模型输入的特征表示。输出层340被称为输出部分304,输出部分用于将特征表示映射到模型输出。
34.图4还示出了机器学习模型112的另一个示例。在该示例中,机器学习模型112被配置自动编解码器(autocoder)。自动编解码器能够以无监督的方式学习高效的数据编码,以学习将模型输入复制到模型输出的神经网络。自动编解码器的目的是通过训练网络忽略信号“噪声”,学习模型输入的特征表示(编码)。如图4所示,被配置为自动编码器的机器学习模型112包括用于将模型输入映射为编码420(被表示为“h”)的编码器410(被表示为“x”),以及用于将编码420模拟成原始模型输入的重建的解码器430(被表示为“x
’”
)。编码器410和解码器430包括描述用于生成和处理编码的一个或多个隐藏层。
35.编码器410处理模型输入,生成输入对应的编码420。编码420的学习主要是通常用于对数据的降维。除了降维度,机器学习模型112中的解码器430还学习了数据重建侧,以试图从简化的编码中生成尽可能接近其原始输入的表示,得到模型输出。基本模型存在多种变体,旨在强制输入的学习表示呈现有用的属性。
36.在本公开的一些实施例中,为了便于模型的自适应更新,被构造为自动编解码器的机器学习模型112总体也可以被划分为特征提取部分和输出部分。在图5的示例中,编码器410和输出的编码420组成机器学习模型112的特征提取部分402。解码器430被称为输出部分404。
37.图3和图4给出了机器学习模型112的一些示例。根据需要和配置,还可以存在其他模型结构。本公开的实施例在此方面不受限制。
38.如以上提及的,在机器学习模型112训练完成并被运行在实际环境中后,为了模型更新的目的,可以检测机器学习模型112在运行时的性能度量,以及验证数据集115相对于训练数据集102的同质程度。
39.在机器学习模型112的运行时,计算设备120可以采集验证数据集115。验证数据集115至少包括多个验证数据样本,每个验证数据样本包括机器学习模型112在运行时处理的模型输入。在一些实施例中,验证数据集115还可以包括多个验证数据样本对应的真实输出
(而不是机器学习模型112通过对验证数据样本处理后给出的预测输出)。真实输出可以以多种手段进行采集。例如,如果机器学习模型112被配置为预测推荐信息的点击率,那么可以从服务器采集该推荐信息的真实点击率,作为对应的真实输出。
40.在一些实施例中,机器学习模型112的性能度量可以包括准确度度量和排序度量。准确度度量用于衡量机器学习模型112在运行时对验证数据样本所给出的预测输出与真实输出之间的差异。如果差异越大,则准确度越低。排序度量用于衡量机器学习模型112在运行时对验证数据样本所给出的预测输出的趋势是否与真实输出的趋势相一致,即输出排序是否一致。例如,对于一些验证数据样本,对应的真实输出分别是0.1、0.2和0.3,但机器学习模型112给出的预测输出分别是1、2和3,那么预测输出与真实输出之间的绝对差异比较大,但预测输出的趋势与真实输出的趋势类似,因此排序度量可以指示这样的趋势相似性。
41.在一些实施例中,准确度度量和排序度量的选择可以基于机器学习模型112的输出部分的处理类型。总体上,按机器学习模型112的输出部分的处理类型,机器学习模型112的输出部分可以包括回归处理和分类处理。
42.回归处理通常将由特征提取部分提取的特征表示映射到连续取值范围内的模型输出。例如,假设模型输入被表示为x,特征提取部分的处理被表示为f(x),那么输出部分的回归处理可以被表示为y=w
t f(x)。分类处理通常将由特征提取部分提取的特征表示映射到属于离散的多个类别中的模型输出。例如,输出部分的分类处理可以被表示为y=sigmoid(w
t
f(x)),其中假设输出部分的处理为sigmoid函数。
43.取决于机器学习模型112的输出部分的回归处理或是分类处理,机器学习模型112的排序度量和/或准确度度量可以存在不同选择。在一些实施例中,在基于回归处理的示例中,机器学习模型112的排序度量可以包括机器学习模型112对验证数据集115给出的预测输出与它们的真实输出之间的pearson相关度,也称为pearson系数。在基于回归处理的示例中,机器学习模型112的准确度通过衡量预测输出与真实输出之间的均方根误差(rmse)、均方误差(mse)等来确定。
44.在一些实施例中,在基于分类回归的示例中,机器学习模型112的排序度量可以包括机器学习模型112对验证数据集115给出的预测输出与它们的真实输出之间的曲线下面积(area under roc curve,auc)。auc指的是对机器学习模型112的受试者工作特征(receiver operating characteristic,roc)曲线下的面积。roc是通过对预测输出与真实输出确定的真正率(tpr)和假正率(fpr)描绘出的曲线。在基于分类回归的示例中,机器学习模型112的准确度度量可以通过以下来衡量:基于真实输出(其指示验证数据样本的正确分类),确定预测输出(其指示由机器学习模型112为验证数据样本预测的分类)的分类准确度。
45.不同类型的输出部分的示例性能度量在以下表1中总结:
46.表1.不同类型的输出部分的示例性能度量
[0047] 排序度量准确度度量回归处理pearson相关度rmse分类处理auc分类准确度
[0048]
以上给出的示例性能度量是机器学习领域的技术人员所熟知的,在此不再赘述。应当理解,以上给出的性能度量,特别是表1中列出的度量,仅是一些示例。在一些实施例
中,还可以选择其他排序度量和准确度度量。在其他实施例中,还可以利用其他性能度量。性能度量用于衡量机器学习模型112的当前工作性能。如果机器学习模型112无法给出令人满意的性能,可能需要对机器学习模型112进行更新。
[0049]
除性能度量之外,还考虑验证数据集115相对于训练数据集102的同质程度。同质程度用于指示验证数据集的分布情况与训练数据集的分布是否一致。因为机器学习模型112是从训练数据集上进行学习,如果实际应用中面临模型输入中新的特征,可能无法展现良好的性能。同质程度用于确定是否在运行中出现这样的情况。
[0050]
在一些实施例中,验证数据集115相对于训练数据集102的同质程度可以在数据的特征空间中确定。具体地,计算设备120可以确定或者从计算设备120获得训练数据集102中的多个训练数据样本各自的特征表示(称为“训练特征表示”)。训练特征表示是由机器学习模型112,例如它的的特征提取部分提取的特征表示。计算设备120还可以利用机器学习模型112的特征提取部分提取验证数据集115中的多个验证数据样本的特征表示(称为“验证特征表示”)。计算设备120可以确定多个验证特征表示相对于多个训练特征表示的同质程度。
[0051]
特征表示可以是由多个维度的数值组成。为了衡量两组特征表示之间的同质程度,在一些实施例中,计算设备120聚类多个训练特征表示,以确定多个训练特征表示的多个聚类的相应质心。例如,计算设备120可以利用聚类算法,例如k均值(k-means)聚类算法来聚类训练特征表示。聚类算法可以将具有较高相似度的特征表示划分到同一聚类中,将具有较高差异度的特征表示划分到不同聚类中。在聚类完成后,计算设备120可以获得多个聚类,并确定多个聚类的相应质心,例如被表示为(c1、c2、

、ck)。在一些实施例中,聚类的数目(例如,k)可以是预定的,例如在分类处理的实施例中可以将k设置为等于分类的数目。当然,也可以设置其他聚类的数目。在一些示例中,每个聚类的质心也可以由多个维度的数值组成。
[0052]
在获得要衡量当前采集到的验证数据集115相对于训练数据集102的同质程度时,计算设备102可以确定从验证数据集115的各个验证数据样本提取的多个验证特征表示与多个聚类的相应质心之间的相应距离。在确定距离时,对于每个验证特征表示,计算设备102可以确定与该验证特征表示具有最小差异的聚类,并将该验证特征表示指派到该质心对应的聚类。验证特征表示与各个聚类之间的距离例如可以通过欧式距离或者其他衡量向量的相似度的度量来表示。验证特征表示到聚类的分配可以基于最小均方欧式距离(msed)来确定。这类似于根据平均值生成的voronoi图对验证特征表示进行划分。msed可以被用于衡量验证特征表示相对于训练特征表示的同质程度。
[0053]
在框230,计算设备120基于性能度量和同质程度来确定机器学习模型112的概念漂移的类型。
[0054]
在机器学习中,概念漂移是指模型试图预测的目标变量的统计特性随着时间以不可预见的方式发生变化。这导致会引发问题,因为随着时间的推移,模型的预测变得越来越不准确。在本公开的实施例中,将机器学习的概念漂移划分为不同类型。在一些实施例中,概念漂移的类型包括涉及与机器学习模型112的输出部分相关的漂移,被表示为p(y)。在一些实施例中,概念漂移的类型包括涉及与机器学习模型112的模型输入相关的漂移,被表示为p(x)。在一些实施例中,概念漂移包括涉及与机器学习模型112的输出部分和模型输入均
p(x)
××
√p(x|y)
×××
[0064]
在框240,计算设备120基于概念漂移的类型,执行对机器学习模型112的更新。经过更新,得到更新后的机器学习模型122。
[0065]
更新包括部分更新或全局更新。如以上讨论的,针对不同概念漂移的类型,可以对机器学习模型112执行不同方式的更新。
[0066]
在一些实施例中,部分更新包括在第一类型的概念偏移的情况下对机器学习模型112的输出部分的输出校准。在这样的实施例中,相比于机器学习模型112,更新后的机器学习模型122在结构上包括额外的输出校准的处理。
[0067]
在一些实施例中,对于回归处理,计算设备120可以基于验证数据集115来确定反向回归的参数,例如对验证数据集115所给出的预测输出y’到真实模型输出y之间的反向回归,来校准机器学习模型112的输出部分,使得校准后的输出与真实输出之间的误差降低或达到预期目标。在一些实施例中,对于分类处理,计算设备120可以基于保序回归的方式来确定对机器学习模型112的输出部分的输出校准。
[0068]
在一些实施例中,部分更新包括在第二类型的概念偏移的情况下对机器学习模型112的输出部分的局部重新训练。局部重新训练中,输出部分的参数值会被更新,但特征提取部分的参数值不会被更新。在一些实施例中,全局更新包括在第三类型的概念偏移的情况下对机器学习模型112的全局重新训练。全局重新训练会导致对机器学习模型112的特征提取部分和输出部分的参数值的重新确定。
[0069]
在一些实施例中,局部重新训练或全局重新训练可以至少基于验证数据集115来执行。在一些实施例中,局部重新训练或全局重新训练还可以在训练数据集102的基础上增加验证数据集115执行训练。
[0070]
输出校准的确定、局部重新训练或全局重新训练可以利用当前可用的或者将来待开发的学习技术。本公开的实施例在此方面不受限制。
[0071]
图5示出了可以用来实施本公开的实施例的示例设备500的示意性框图。设备500可以用于实现图2的过程200。设备500可以被实现为或被包括在图1示出的计算机交互系统110。
[0072]
如图所示,设备500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的计算机可执行指令或者从存储单元508加载到随机访问存储器(ram)503中的计算机可执行指令,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数据。cpu 501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0073]
设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0074]
处理单元501执行上文所描述的各个方法和处理,例如过程200。例如,在一些实施例中,过程200可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,诸如非瞬态计算机可读介质,诸如存储单元508。在一些实施例中,计算机程序的部分
或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram 503并由cpu 501执行时,可以执行上文描述的过程200的一个或多个步骤。备选地,在其他实施例中,cpu 501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程200。
[0075]
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
[0076]
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
[0077]
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。
再多了解一些

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

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

相关文献