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

生成具有不确定性区间的性能预测的制作方法

2022-11-16 18:34:13 来源:中国专利 TAG:

生成具有不确定性区间的性能预测


背景技术:

1.本发明一般地涉及机器学习,并且更具体地,涉及用于生成具有不确定性区间的机器学习(ml)模型的性能预测的技术。
2.最近,ml模型已经越来越多地用于各种任务,包括(仅举几个例子)图像识别、语音处理、语言翻译和对象分类。通常,就训练和维护模型所需的计算资源和时间而言,用于这些任务的ml模型已经变得越来越复杂和昂贵。此外,由于每个任务的不相似目标,模型本身可能彼此显著不同,使得为一个任务或域训练的一个模型通常不能用于其它域,即使这些模型密切相关。由于这种可能性,已经尝试预测模型在给定任务的数据集上的性能。然而,性能预测可能遭受多个不确定性源,影响性能预测的准确度。


技术实现要素:

3.本文呈现的一个实施例包括用于生成机器学习(ml)模型的性能预测的计算机实现的方法。该计算机实现的方法一般包括获得被配置成执行任务的第一模型和包括未标记数据的生产数据集。该计算机实现的方法还包括使用第二模型生成预测在对生产数据集执行所述任务时第一模型的性能的至少一个度量。第二模型是与第一模型相关联的元模型(meta-model)。该计算机实现的方法还包括使用一个或多个第三模型生成预测所述至少一个度量的不确定性的至少一个值,所述至少一个度量预测在对生产数据集执行所述任务时第一模型的性能。所述一个或多个第三模型中的每一个是与第二模型相关联的元元模型(meta-meta-model)。该计算机实现的方法还包括提供预测第一模型的性能的所述至少一个度量和预测所述至少一个度量的不确定性的所述至少一个值的指示。
4.其它实施例包括但不限于计算机程序产品,其包括具有计算机可读程序代码的存储介质,该计算机可读程序代码使得处理单元能够实现所公开的方法的一个或多个方面,以及具有处理器、存储器和被配置为实现所公开的方法中的一个或多个的应用程序的系统。
附图说明
5.图1是示出根据一个实施例的用于预测任务处的模型的性能以及该任务处的模型的性能的不确定性的联网系统的框图。
6.图2a和2b示出了根据一个实施例的用于生成模型的性能预测和模型的性能预测的不确定性区间的堆叠式元建模工作流。
7.图3图示了根据一个实施例的用于生成用于训练元元模型的一个或多个数据集的示例过程。
8.图4示出了根据一个实施例的生成用于训练元元模型的特征的示例。
9.图5是根据一个实施例的用于预测模型在任务处的性能以及模型在该任务处的性能的不确定性的方法的流程图。
10.图6是根据一个实施例的用于训练堆叠式元模型工作流的元模型和元元模型以便
生成模型的性能预测和模型的性能预测的不确定性区间的方法的流程图。
11.图7是根据一个实施例的用于训练元元模型的方法的流程图。
12.图8示出了根据一个实施例的性能预测和不确定性区间的示例性仿真。
具体实施方式
13.ml工具越来越多地用于各种任务,包括但不限于回归和分类、优化、预测等。然而,在一些情况下,给定模型在任务处的性能可随时间而改变。例如,模型进行准确预测的能力可能随着时间而劣化,这取决于底层数据与模型的训练数据有多不同。当前,许多常规技术可用于预测模型在给定任务的性能。例如,一种常规技术涉及检测底层数据的一个或多个特征中的漂移量。另一种传统技术涉及通过测量正确预测(例如,任何类被正确预测的次数、接受者操作特性(roc)曲线下的面积等)随时间的比例来跟踪模型的准确度。然而,这些常规技术仅可用于性能预测,而不捕获模型的不确定性。
14.另外,存在许多用于单独预测不确定性(例如,不考虑下层的性能预测任务)的常规技术。这种技术的示例包括但不限于置信区间和概率(p)值。另外,在贝叶斯建模中,存在不同类型的模型不确定性,包括例如偶然不确定性和认知不确定性。偶然不确定性捕获数据中的内在不确定性,其示例可以包括噪声、各种数据间隙、混淆等。认知不确定性捕获由于模型(例如,模型架构、模型参数、模型假设、参数估计、训练不足等)而引起的不确定性。
15.上述方法的一个问题是它们通常假设在基础模型的架构上存在选择以使得能够预测模型的性能和/或模型的不确定性。在这种选择不存在的情况下,可以使用一些方法(诸如集成(ensemble)技术)来捕获不确定性,但是这些方法假设基础模型是白盒(例如,其中内部架构和参数是可见的或已知的模型)。然而,在许多情况下,在采用客户提供的模型的情况下,上述假设都是不可接受的。因此,可能期望提供一种用于生成模型的性能预测和模型的不确定性预测两者的技术。
16.本公开的实施例提供了用于预测ml模型在底层任务上的性能连同针对ml模型的预测性能的不确定性区间的技术。更具体地,给定经训练的ml模型和一组(未标记的)生产数据(其可以或可以不与模型的训练数据显著不同),实施例可以预测模型在该组生产数据上的性能(例如,准确度或其他性能或质量相关度量)以及不确定性区间(例如,预测周围的带或误差条)以考虑与模型在特定测试实例或一批测试实例处相关联的不确定性。
17.在下面更详细描述的一个实施例中,采用堆叠式元建模方法来生成性能预测和不确定性预测。例如,实施例生成两级元模型:(1)预测基础模型的性能的第一级元模型,以及(2)预测第一级元模型的不确定性(例如,关于其对基础模型的性能的预测)的第二级元元模型。使用堆叠式元建模方法使得实施例能够与任何架构的模型一起工作(例如,堆叠式元建模方法对于模型架构是不可知的并且不依赖于对模型的内部参数的访问)并且捕获多种类型的不确定性(例如,偶然不确定性、认知不确定性等)。
18.如在此所使用的,“元模型”通常指(较低级的)模型的模型,而“元元模型”通常指元模型的模型。例如,元模型捕捉在与数据交互的较低级模型上观察到的模式。注意,在本公开的各种实施例中,视觉任务(例如,处理图像以用于动作识别、对象检测、面部识别、数字或字符分类等)被用作示例来解释ml模型的功能。然而,本公开的实施例使用任何输入(例如,视觉、音频、文本等)容易地适用于任何数量的域。此外,如本文所使用的,模型的“性
能”可以指模型对未标记数据的一个或多个准确度相关的度量。类似地,“性能预测”可以指基于模型的方法,其预测底层基础模型在未标记数据上的一个或多个性能或质量相关度量。
19.已经出于说明的目的给出了本发明的各种实施例的描述,但是不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
20.下面,参考本公开中呈现的实施例。然而,本公开的范围不限于具体描述的实施例。相反,无论是否涉及不同的实施例,以下特征和元件的任何组合都被预期用于实现和实践预期的实施例。此外,尽管本文公开的实施例可以实现优于其他可能的解决方案或现有技术的优点,但是给定实施例是否实现特定优点不限制本公开的范围。因此,以下方面、特征、实施例和优点仅是说明性的,并且不被认为是所附权利要求的元素或限制,除非在权利要求中明确地陈述。同样,对“本发明”的引用不应被解释为对本文所公开的任何发明主题的概括,并且不应被认为是所附权利要求的元素或限制,除非在权利要求中明确记载。
21.图1是示出根据一个实施例的用于生成模型的性能预测和不确定性预测的联网系统100的框图。系统100包括计算系统102。计算系统102还可以经由网络140连接到其他计算机。网络140可以包括各种类型的一个或多个网络,包括局域网(lan)、一般广域网(wan)、电信或蜂窝网络和/或公共网络(例如,因特网)。
22.计算系统102通常包括经由总线150连接到存储器106、存储装置108、网络接口110、输入设备152和输出设备154的一个或多个处理器104。计算系统102通常在操作系统(未示出)的控制下。操作系统的示例包括unix操作系统、微软windows操作系统的各版本、以及linux操作系统的各发布。(unix是the open group在美国和其他国家的注册商标。微软和windows是微软公司在美国、其他国家或二者的商标。linux是linus torvalds在美国、其他国家或二者的注册商标)。更一般地,可以使用支持在此公开的功能的任何操作系统。所包括的处理器104表示单个cpu、多个cpu、具有多个处理核的单个cpu等。
23.存储器106可以包括为性能或其它能力选择的各种计算机可读介质:易失性和/或非易失性介质、可移动和/或不可移动介质等。存储器106可以包括高速缓存、随机存取存储器(ram)等。存储装置108可以是磁盘驱动器或闪存设备。尽管被示为单个单元,但是存储装置108可以是固定和/或可移动存储设备的组合,例如固定盘驱动器、固态驱动器、可移动存储卡、光存储装置、网络附接存储装置(nas)或存储区域网络(san)。网络接口110可以是允许计算系统102经由网络140与其他计算系统或设备通信的任何类型的网络通信设备。
24.输入设备152向计算系统102提供输入。例如,可以使用键盘和/或鼠标。输出设备154可以是用于向计算系统102的用户提供输出的任何设备。例如,输出装置154可以是任何常规的显示屏。尽管与输入设备152分开示出,但是输出设备154和输入设备152可以组合。例如,可以使用具有集成触摸屏的显示屏。
25.这里,存储装置108包括生产数据集130、基础模型132、测试数据集134、训练数据集136以及离线模型和数据集138。基础模型132是用于解决特定任务的模型(例如,用于图像分类的客户模型)。通常,任何合适类型的模型可用于基础模型132,其示例包括但不限于
人工神经网络、决策树、支持向量机、回归分析、贝叶斯网络、遗传算法等。基础模型132可以是黑盒模型(例如,其中架构和/或参数未知的模型)或白盒模型(例如,其中架构和/或参数已知的模型)。
26.可以在特定训练数据集(例如,训练数据集136)上训练/开发基础模型132,并且可以使用标记的测试数据集(例如,包括分类标记的测试数据集134)来评估基础模型。生产数据集130是没有地面真值(例如,分类标签)可用的未标记数据集。可以在部署基础模型132之后从操作状况收集生产数据集130。离线模型和/或数据集138包括各种模型和数据集,其中的一些可以与基础模型132的原始任务相关,其中的一些可以与基础模型132的原始任务无关。离线模型和/或数据集138将在下面参考图2b和图3更详细地讨论。
27.存储器106包括预测引擎120,其被配置为实现本文描述的用于生成模型的性能预测和不确定性区间的技术中的一个或多个。预测引擎120包括性能组件122和不确定性组件124,其每一个可包括软件、硬件或其组合。预测引擎120被配置为(经由性能组件122)生成基础ml模型132的性能预测(或预测性能),并且(经由不确定性组件124)生成性能预测的不确定性区间,例如使用堆叠式元建模方法。例如,性能组件122可使用(基础模型132的)元模型来预测基础模型132在未标记的生产数据集130上的性能(例如,一个或多个准确度相关的度量)。可以使用基础模型132、测试数据集134和训练数据集136中的一个或多个来训练元模型。
28.类似地,不确定性组件124可以使用(基础模型132的元模型的)元元模型来预测性能组件122的元模型的不确定性。可以使用离线模型/数据集138、性能组件122的元模型、基础模型132、生产数据集130、测试数据集134和训练数据集136的集合中的一者或多者来训练元元模型。在一个实施例中,不确定性组件124可以生成表示元模型的不确定性的不确定性区间(也称为误差条)。不确定性区间描绘了性能组件122的输出(例如,基础模型132的预测性能)周围的带(或容限)。该预测周围的这个带(或容限)可以考虑在特定测试实例处(例如,在生产数据集130上)与基础模型132相关联的不确定性。性能组件122和不确定性组件124在下文参考图2a和2b更详细地讨论。
29.注意,图1仅示出了系统100的一个参考示例,其可以生成模型的性能预测以及不确定性区间,并且系统100的其他配置可以适于生成模型的性能预测以及不确定性区间。例如,在一些实施例中,存储装置108的一个或多个内容(例如,生产数据集130、基础模型132、测试数据集134、训练数据集136和离线模型/数据集138)和/或一个或多个内容(例如,性能部件122和不确定性部件124)可以跨网络(例如,云计算环境)中的一个或多个计算系统102分布。在这样的实施例中,第一计算系统102可以从一个或多个第二计算系统102检索用于生成基础模型132的性能预测的一个或多个内容。类似地,第一计算系统102可以从一个或多个第二计算系统102检索用于生成基础模型132的预测性能的不确定性区间的一个或多个内容。在其他实施例中,性能预测和/或不确定性区间可以由单个计算系统102或多个计算系统102生成。
30.图2a-2b示出了根据一个实施例的用于生成基础模型(例如,基础模型132)的性能预测和基础模型的性能预测的不确定性区间的堆叠式元建模工作流200。这里,堆叠式元建模工作流200包括训练阶段210和使用(或部署)阶段212(图2a中所示)以及训练阶段214和使用阶段216(图2b中所示)。
31.如图2a所示,性能组件122包括元模型202,其通常在逐个实例的基础上学习预测基础模型132的成功和失败的概率。工作流200示出了在训练阶段210期间可以考虑的多个不同信息。在所描述的实施例中,基础模型132和(标记的)测试数据集134被处理并用作训练元模型202的输入。同样如图所示,在一些实施例中,训练数据集136也可以用作训练元模型202的附加输入。
32.训练阶段210描述了用于训练元模型202的监督学习方法。训练阶段210可以离线(例如,当元模型202不在使用中或被部署时)或在线(例如,当元模型202在使用中或被部署时)执行。然而,更一般地,可以使用与本文描述的功能一致的任何合适的机器学习训练机制。进一步注意,尽管基础模型132、测试数据集134和/或训练数据集136被示为在训练阶段210期间直接进入元模型202中,但是本领域普通技术人员将理解,在任何输入数据被馈送到元模型202中之前,该信息可以以各种方式被处理。
33.一旦元模型202已被训练,(未标记的)生产数据集130(例如,没有分类标签)可作为输入被馈送到元模型202中,并且元模型202可输出性能预测204(例如,在使用(部署)阶段212期间)。在一些情况下,基础模型132的输出预测得分(例如,softmax、logits)和/或基础模型132的原始输入特征也可作为输入被馈送到元模型202中。注意,尽管生产数据集130被示为直接进入元模型202中,但是本领域的普通技术人员将理解,在任何输入数据被馈送到元模型202中之前,该信息可以用各种方式被处理。
34.性能预测204是基础模型132在其任务(例如,对图像进行分类)处在(未标记的)生产数据集130上执行得有多好(或准确)的预测度量。例如,假设基础模型132是用于对象分类的模型,性能预测204可以包括指示基础模型132在分类来自生产数据集130的对象时的成功/失败的概率的百分比值(例如,74%)。更一般地,性能预测204可以包括基础模型132在生产数据集130上的一个或多个准确度相关的度量。这种准确度相关的度量的示例可以包括但不限于roc得分下的面积、真阳性率(tpr)、f1度量、假阳性率(fpr)、r平方得分、准确度得分(例如,模型的预测正确的百分比)等。
35.性能预测204可以是批量准确度预测或逐点准确度预测。在一些情况下,性能预测204可以用于基础模型132的部署前质量检查(例如,确定是否应当部署基础模型132)。在一些情况下,性能预测204可以用于在基础模型132的运行时或部署期间的质量控制/检查(例如,过滤不正确的预测、识别生产中的下降等)。然而,如上所述,性能预测204可能遭受未在准确度相关度量中捕获的多个不确定性源(例如,偶然不确定性、认知不确定性等)。为了解决这个问题,实施例使用不确定性组件124来预测关于性能预测204的不确定性区间。
36.如图2b所示,不确定性组件124包括元元模型206,其学习预测元模型202的误差和实际观察性能(例如,预测准确度减去实际准确度的绝对值)的函数。工作流200示出了在训练阶段214期间可以考虑的多个不同信息。在所描述的实施例中,离线模型/数据集138和元模型202被处理并被用作训练元元模型206的输入。同样如图所示,在一些实施例中,生产数据集130也可以用作训练元元模型206的附加输入或单独输入。
37.训练阶段214描述了用于训练元元模型206的监督学习方法。训练阶段214可以离线执行一遍或多遍。然而,更一般地,可以使用与本文描述的功能一致的任何合适的机器学习训练机制。进一步注意,尽管离线模型/数据集138、元模型202和/或生产数据集130被示为直接进入元元模型206中,但是本领域普通技术人员将理解,在任何输入数据被馈送到元
元模型206中之前,该信息可以以各种方式被处理。
38.元元模型206被配置成从训练阶段214的一个或多个离线运行中学习元模型202何时可能出错以及出错的程度。在一个实施例中,可以在多个背景离线模型/数据集138(不包括生产数据集130)上训练元元模型206,以学习指示元模型202的预期不确定性的一般特征。在另一实施例中,元元模型206可以在生产数据集130上被训练(例如,没有离线模型/数据集138)。在又一实施例中,可以在离线/模型/数据集138和生产数据集130上训练元元模型206。
39.离线模型/数据集138可包括与基础模型132的任务(例如,对象分类)相关的标记的数据集和/或与基础模型132的任务(例如,音频到文本转换)不相关的标记的数据集。在一些实施例中,用于训练元元模型206的离线模型/数据集138的至少一个(第一)数据集可以从离线模型/数据集138中的一个或多个(第二)数据集动态地生成。例如,可以基于对第二数据集中的一个或多个特征进行重新采样来生成(一个或多个)第一数据集。
40.图3示出了根据一个实施例的生成用于训练元元模型206的一个或多个数据集的示例。如图所示,给定(基础)标记的数据集302(其可以是离线模型/数据集138之一),预测引擎120可以生成一个或多个训练/测试数据集304-1至304-6以及一个或多个生产数据集306-1至306-6,用于训练元元模型206。在一个实施例中,预测引擎120可以通过基于标记的数据集302的一个或多个特征对(基础)标记的数据集302进行重采样来生成训练/测试数据集304和生产数据集306。
41.在一个示例中,训练/测试数据集304和生产数据集306可以通过基于各种特征对(基础)标记的数据集302进行重采样以引入协变量移位来生成。在该示例中,用于对训练/测试数据集304和生产数据集306的分布进行重新采样的(基础)标记的数据集302的特定特征可以由预测引擎120(例如,基于特征重要性)动态地选择。在另一示例中,训练/测试数据集304和生产数据集306可以通过基于实际类别标记对(基础)标记的数据集302进行重采样以引入先验概率移位来生成。
42.如图3所示,假设特征是“特征a”(例如,“狗”)(或“特征b”,诸如“猫”),则在训练/测试数据集304-1至304-6和生产数据集306-1至306-6中的每一个中可以改变“特征a”(或“特征b”)的比率(例如,通过对标记的数据集302中的特征重新采样)。这里,例如,训练/测试数据集304-1包括“特征a”的100%(或“特征b”的0%)的统计分布,并且对应的生产数据集306-1包括“特征a”的0%(或“特征b”的100%)的统计分布。类似地,在相反端,训练/测试数据集304-6包括“特征a”的0%(或“特征b”的100%)的统计分布,并且对应的生产数据集306-6包括“特征a”的100%(或“特征b”的0%)的统计分布。
43.返回参考图2b,在一些实施例中,训练元元模型206(例如,在训练阶段214期间)可以涉及基于关于输入数据集(例如,离线模型/数据集138,其可以包括训练/测试数据集304、生产数据集306等)的元数据和/或输入数据集的其他分布特征空间属性来生成一个或多个特征。在一个实施例中,一个或多个特征可以基于基础模型132和离线模型/数据集138(包括训练和生产数据集)。例如,预测引擎120可以计算测试数据集和生产数据集中的各种分布,并且比较各种分布之间的距离,以便创建用于训练元元模型206的一个或多个特征。
44.如图4所示,例如,可以基于测试数据集(例如,测试数据集304)计算第一分布(直方图402),并且可以基于生产数据集(例如,生产数据集306)计算第二分布(直方图404)。可
以计算分布之间的距离406(或者更一般地,散度)并将其用作特征(也称为特征值)408。以这种方式生成特征408以训练元元模型206可以考虑噪声显著(例如,高于阈值)的性能预测、来自元模型202的平均输出稳定但方差高(例如,高于阈值)的场景、逐样本不确定性对于逐批误差条而言太大的场景等。
45.在一个实施例中,一个示例特征408可以基于来自基础模型132的(一个或多个)最高置信度得分。例如,基础模型132可以用于对测试数据集和生产数据集中的样本进行评分。假设基础模型132用于对象分类(例如,在a类和b类之间),则可以针对测试数据集中的每个样本(或数据点)和生产数据集中的每个样本(或数据点)获得使用基础模型132的输出预测得分。作为示例,对于测试数据集中的第一样本,基础模型132可输出95%的a类,并且对于生产数据集中的第一样本,基础模型132可输出90%的a类。
46.在已经对测试数据集和生产数据集中的每一个中的所有样本进行评分之后,可以使用测试数据集和生产数据集中的经评分的样本的子集来构建直方图。例如,可以生成来自测试数据集中的评分样本的最高置信度得分(例如,在某些阈值范围之间,诸如在90-95%、95-98%、98-100%等之间)的(第一)直方图。同样,可以生成来自生产数据集中的评分样本的最高置信度得分(例如,在某些阈值范围之间)的(第二)直方图。然后,可以将两个直方图与发散函数(例如,相似度度量、差异度量)进行比较。在一个实施例中,可以计算这两个直方图之间的距离406(例如,海林格距离),并且距离406的值(例如,在[0,1]中)可以用作元元模型206的特征408。
[0047]
在一个实施例中,一个示例特征408可以基于阴影模型最高置信度得分。与基础模型最高置信度得分相比,在该实施例中,在用于训练基础模型132的相同训练数据集(例如,训练数据集136)上训练另一(代理)模型。然后使用该代理模型(例如,与基础模型132相对)计算来自测试数据集和生产数据集的最高置信度得分。可以基于最高置信度得分来生成直方图,并且直方图之间的距离可以用作元元模型206的特征408。
[0048]
在一个实施例中,一个示例特征408可以基于类频率距离。在该实施例中,例如,可以生成测试数据集和生产数据集中的样本的百分比的直方图,所述生产数据集由基础模型132预测为在每个类中。可以计算直方图之间的距离406(例如,海林格距离),并且该距离值可以用作元元模型206的特征408。
[0049]
在一个实施例中,一个示例特征408可以基于最高特征距离。在该实施例中,例如,阴影随机森林模型可以被训练并且用于识别具有最高特征重要性(例如,满足预定义条件)的数据特征。一旦被识别,测试数据集和生产数据集的直方图就可以被投影到该维度(例如,压缩的一维特征空间)上。可以计算直方图之间的距离406(例如,海林格距离),并且该距离值可以用作元元模型206的特征408。
[0050]
在一个实施例中,一个示例特征408可以基于元模型预测(例如,性能预测204)。在该实施例中,由元模型202预测的测试数据集和生产数据集之间的基础模型准确度的变化可被用作元元模型206的特征408。在一个实施例中,一个示例特征408可以基于(第一数据集的)第一统计分布与(第二数据集的)第二统计分布之间的统计假设测试。
[0051]
注意,上述特征仅作为可用于训练元元模型206的特征的参考示例来提供,可使用基于输入数据集的元数据的其它特征或特征的任何组合,这与本文所述的功能一致。在一些实施例中,例如,可以基于不同的特征生成/训练多个元元模型。在这些实施例中,在运行
阶段216期间使用的特定元元模型可以在运行时基于数据的特性(例如,关于数据集的元数据、特征的数量、分布特征空间属性等)动态地选择。
[0052]
一旦已经训练了元元模型206,则可以将基础模型132、测试数据集134、训练数据集136、元模型202、生产数据集130和性能预测204中的一个或多个作为输入馈送到元元模型206中,并且元元模型206可以输出不确定性预测208(例如,在使用(部署)阶段216期间)。不确定性预测208是从元模型202输出的性能预测204的不确定性的预测测量。例如,假设基础模型132是用于对象分类的模型,不确定性预测208可以指示表示性能预测204的不确定性量的区间(或容限)(例如,
±
4、
±
7、 2)。在一些实施例中,不确定性预测208可以用于基础模型132的附加部署前质量检查和/或用于在基础模型132的运行时或部署期间的质量控制/检查。
[0053]
图5是根据一个实施例的用于预测模型在任务处的性能以及模型在任务处的性能的不确定性的方法500的流程图。方法500可以由计算系统的预测引擎(例如,计算系统102的预测引擎120)来执行。
[0054]
方法500可在块502进入,其中预测引擎获得基础模型(例如,基础模型132)和一组生产数据(例如,生产数据集130)。在块504,预测引擎使用元模型(例如,元模型202)预测基础模型在生产数据集上的性能(例如,性能预测204)。例如,预测引擎可基于该组生产数据生成基础模型的一个或多个准确度相关的度量。在一个特定示例中,准确度相关度量可以指示使用该组生产数据的基础模型在其任务处的成功/失败的概率(例如,x%成功)。
[0055]
在块506,预测引擎使用元元模型(例如,元元模型206)预测针对该组生产数据的元模型的性能的一个或多个不确定性区间(例如,不确定性预测208)。例如,预测引擎可以使用该组生产数据生成指示基础模型在其任务处的预测性能的不确定性量的容差(或误差带)(例如,
±
y)。
[0056]
在一个实施例中,(在块506预测的)不确定性区间可以是不对称的。例如,预测引擎可以预测表示所预测性能的不确定性的误差的带符号值(例如, 或-)。在另一示例中,可以针对预测性能周围的上部带/范围生成第一不确定性区间,并且可以针对预测性能周围的下部带/范围生成第二不确定性区间。
[0057]
在一些实施例中,多个元元模型可以用于生成多个不确定性区间(例如,针对第一(上部)不确定性区间的第一元元模型和针对第二(下部)不确定性区间的第二元元模型)。在一些实施例中,可以利用单个元元模型生成多个不确定性区间。例如,单个元元模型可以包括用于预测上部不确定性区间和下部不确定性区间的两个子模块(或组件)。
[0058]
在块508,预测引擎提供基础模型的性能和一个或多个不确定性区间的指示。在一个实施例中,预测引擎可以在计算设备(例如,计算系统102)的显示器的用户界面上提供指示。在一个实施例中,预测引擎可响应于对基础模型针对一组生产数据的性能预测和不确定性预测的请求而提供该指示。例如,用户可使用预测引擎来确定在该组生产数据上使用(多个基础模型中的)哪个基础模型。在另一示例中,预测引擎可以监视基础模型的部署/运行时,并且向计算设备连续地提供指示(例如,以一个或多个预定义的时间间隔)。然后,该指示可以用于确定何时应该细化和/或替换基础模型。在一些情况下,预测引擎可以以与元模型相同的频率运行元元模型。
[0059]
图6是根据一个实施例的用于生成模型的性能预测和模型的性能预测的不确定性
区间的堆叠式元模型工作流中的用于训练元模型和元元模型的方法600的流程图。方法600可以由计算系统的预测引擎(例如,计算系统102的预测引擎120)执行。
[0060]
方法600可以在块602处进入,其中预测引擎检索基础模型(例如,基础模型132)、测试数据集(例如,测试数据集134)以及一个或多个附加数据集(例如,离线模型/数据集138)。在块604,预测引擎基于基础模型和测试数据集来训练元模型(例如,元模型202)以预测基础模型在任务处的性能。在块606,预测引擎基于元模型和一个或多个附加数据集来训练元元模型以预测基础模型在其任务处的性能的不确定性。
[0061]
图7是根据一个实施例的用于训练元元模型的方法700的流程图。方法700可以由计算系统的预测引擎(例如,计算系统102的预测引擎120)执行。
[0062]
方法700可在块702处进入,其中预测引擎获得标记的数据集(例如,标记的数据集302)。在块704,预测引擎基于标记的数据集来生成一个或多个附加数据集(例如,训练/测试数据集304、生产数据集306)。在块706,预测引擎基于对所述一个或多个附加数据集的评估来确定(或计算)一个或多个特征(例如,特征408)。在块708,预测引擎训练一个或多个元元模型(例如,元元模型206),每个元元模型被配置成至少部分地基于所述一个或多个特征来预测元模型(例如,元模型202)的不确定性区间。
[0063]
图8示出了根据一个实施例的基础模型的性能预测和性能预测的不确定性区间的示例仿真802和804。
[0064]
更具体地,仿真802描述了跨不同测试/生产数据集1-k的基础模型的性能预测。如图所示,基础模型准确度(例如基础模型的实际准确度)用线808表示,基础模型的预测准确度用线808表示,预测准确度的误差条用806表示。每个测试/生产数据集1-k可以具有特征/标记的不同统计分布。例如,测试/生产数据集1可以包括测试数据集中的100%“特征a”和生产数据集中的0%“特征a”的统计分布。同样,在相反端,测试/生产数据集k可以包括测试数据集中的0%“特征a”和生产数据集中的100%“特征a”的统计分布。
[0065]
对应于仿真802的仿真804示出了元模型误差(由840表示)、固定误差条(或不确定性值)820、以及元模型误差和实际基础模型输出之间的增量830。如图所示,通过使用堆叠式元模型工作流来生成模型的性能预测的不确定性区间,与使用固定不确定性值820相比,实施例可以生成更准确的不确定性区间。
[0066]
在前文中,参考了本公开中呈现的实施例。然而,本公开的范围不限于具体描述的实施例。相反,无论是否涉及不同的实施例,特征和元件的任何组合都被预期用于实现和实践预期的实施例。此外,尽管本文公开的实施例可以实现优于其他可能的解决方案或现有技术的优点,但是给定实施例是否实现特定优点不限制本公开的范围。因此,本文所讨论的方面、特征、实施例和优点仅仅是说明性的,并且不被认为是所附权利要求的元素或限制,除非在权利要求中明确地陈述。同样,对“本发明”的引用不应被解释为对本文所公开的任何发明主题的概括,并且不应被认为是所附权利要求的元素或限制,除非在权利要求中明确记载。
[0067]
本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,它们在本文中可以统称为“电路”、“模块”或“系统”。
[0068]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具
有计算机可读程序指令的计算机可读存储介质,所述计算机可读程序指令用于使处理器执行本发明的各方面。
[0069]
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
[0070]
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0071]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(例如smalltalk、c 等)以及常规的过程式编程语言(例如“c”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
[0072]
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
[0073]
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
[0074]
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
[0075]
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
[0076]
本发明的实施例可以通过云计算基础设施提供给终端用户。云计算通常是指通过网络提供可缩放的计算资源作为服务。更正式地,云计算可以被定义为提供计算资源与其底层技术架构(例如,服务器、存储装置、网络)之间的抽象的计算能力,从而实现对可配置计算资源的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或服务提供商交互被快速供应和释放。因此,云计算允许用户访问“云”中的虚拟计算资源(例如,存储、数据、应用,甚至完整的虚拟化计算系统),而不考虑用于提供计算资源的底层物理系统(或那些系统的位置)。
[0077]
通常,云计算资源在按使用付费的基础上被提供给用户,其中用户仅针对实际使用的计算资源(例如,用户消耗的存储空间量或用户实例化的虚拟化系统的数量)被收费。用户可以在任何时间以及从因特网上的任何地方访问驻留在云中的任何资源。在本发明的上下文中,用户可以访问云中可用的应用(例如,预测引擎120)或相关数据(例如,基础模型132、测试数据集134、训练数据集36、离线模型/数据集138、生产数据集130等)。例如,预测引擎120可以在云中的计算系统上执行,并且预测基础模型的性能以及基础模型的预测性能的不确定性区间。在这种情况下,应用可以从云中的存储位置检索用于生成性能预测和/或不确定性预测的输入信息中的一个或多个,并且将性能预测和/或不确定性预测存储在云中的存储位置处。
[0078]
虽然前述内容涉及本发明的实施例,但是在不偏离本发明的基本范围的情况下,可以设计本发明的其他和进一步的实施例,并且本发明的范围由所附权利要求确定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献