CN114008641A - 使用超参数预测器提高自动机器学习模型选择的准确度 - Google Patents
使用超参数预测器提高自动机器学习模型选择的准确度 Download PDFInfo
- Publication number
- CN114008641A CN114008641A CN202080038456.0A CN202080038456A CN114008641A CN 114008641 A CN114008641 A CN 114008641A CN 202080038456 A CN202080038456 A CN 202080038456A CN 114008641 A CN114008641 A CN 114008641A
- Authority
- CN
- China
- Prior art keywords
- hyper
- mml
- model
- data set
- machine learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
在实施例中,对于多个微型机器学习模型(MML模型)中的每个MML模型,训练预测第一数据集的相应超参数设置集的相应超参数预测器集。每个MML模型表示多个参考机器学习模型(RML模型)中的相应RML模型。从第一数据集生成第一多个数据集样本。生成第一多个第一元特征集。使用超调算法为所述每个MML模型生成相应的超参数设置目标集。第一多个第一元特征集和相应的超参数设置目标集用于训练相应的超参数预测器集。每个超参数预测器集用于提高为每个数据集选择RML模型的准确度。
Description
技术领域
本公开涉及机器元学习。本文介绍了用于基于经训练的特定于算法的回归器的性能预测对机器学习算法进行优化选择的技术,以及用于训练回归器的技术。
背景技术
本节中描述的方法是可以采用的方法,但不一定是先前已经设想或采用的方法。因此,除非另有说明,否则不应仅由于将本节中所述的任何方法包括在本节中而认为本节中的任何方法都有资格作为现有技术。
机器学习用于各种应用和领域,诸如医疗保健、物联网(IOT)、金融和安全。数十年的研究已经创造了大量可以应用于这些应用的算法和技术。为应用选择最佳算法可能很困难且需要大量资源。例如,分类任务可以通过几种算法来完成,诸如支持向量机(SVM)、随机森林、决策树、人工神经网络,等等。这些算法中的每个算法都有许多变体和配置,并且对不同的数据集有不同的表现。选择最佳算法通常是由具有多年经验的数据科学家或机器学习专家执行的手动任务。
一些自动算法选择技术诸如在产品研究和开发(R&D)期间产生大量的计算开销,这会延长上市时间。有数百种机器学习算法。训练和测试每一种以找到最佳表现可能是不可行的。选择性训练的自动方法通常最终使用单个回归器/分类器来预测算法性能,这会导致不同算法在选择模型中相互干扰,从而降低准确度。这些方法也没有考虑会显著影响算法性能和行为的算法超参数。
附图说明
在附图中:
图1是描绘在实施例中基于通过使用超参数预测器的性能预测来最佳地选择可训练算法的示例计算机的框图。
图2是图示在实施例中使用预测的超参数的自动模型选择训练过程的框图。
图3是描绘在实施例中基于通过使用超参数预测器的性能预测来最佳地选择可训练算法的示例处理的流程图。
图4是图示在实施例中测量的使用预测的超参数的回归器的R2分数的改进的条形图。
图5是图示可以用于控制计算系统的操作的基本软件系统的框图。
图6是图示可以在其上实现本发明的实施例的计算机系统的框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明的透彻理解。但是,将显而易见的是,可以在没有这些具体细节的情况下实践本发明。在其它情况下,以框图形式示出了众所周知的结构和设备,以避免不必要地混淆本发明。
总体概述
提供了用于基于由经训练的特定于算法的回归器使用超参数预测器的性能预测来选择机器学习算法的技术。
使用两级方法来训练自动模型选择模型,该自动模型选择模型使用经训练的微型模型和关于数据集的数据集元特征(“元特征”)来为数据集选择最佳机器模型。微型模型是参考模型(RML),即完整模型,的较小版本,并且需要较少的计算资源来训练。经训练的微型模型使用超参数预测器基于数据集的元特征预测的超参数。超参数预测器是本文称为超参数预测器的机器学习模型。
在第一级训练中,为每个微型模型训练超参数预测器。具体而言,对于给定的微型模型和给定模型的每个超参数,使用数据集样本的元特征作为训练输入并且使用由针对数据集样本的超调算法(AHT算法)为数据集预测的最佳超参数设置作为目标,训练超参数预测器以预测最佳超参数设置。AHT算法在标题为“Algorithm-Specific Neural NetworkArchitectures for Automatic Machine Learning Model Selection”并且于2018年1月30日提交的相关美国专利申请No.15/884,163中有所描述,该申请的全部内容通过引用并入本文,如同在本文完全阐述一样。微型模型在标题为“Mini-Machine Learning”并且于2018年10月19日提交的相关美国专利申请No.16/166,039中有所描述,该申请的全部内容通过引用并入本文,如同在本文完全阐述一样。
在第二级训练中,对于每个RML,训练RML预测器。重要的是,RML预测器使用微型模型进行训练,该微型模型具有由微型模型的超参数预测器预测的最佳超参数设置。具体而言,训练输入包括为数据集样本生成的元特征和通过使用最佳超参数设置在样本上训练微型模型而生成的分数。目标是由AHT算法为全部数据集生成的分数。
使用预测的超参数用于微型模型提高了每个微型模型的分数的准确度,使得使用预测的超参数的微型模型的分数更接近于每个数据集的参考模型分数。微型模型的使用和改进的分数用于更高效、更准确地对给定数据集进行排名和选择最佳算法。
示例计算机
图1是描绘实施例中的示例计算机100的框图。计算机100基于通过使用超参数预测器的性能预测来最佳地选择机器学习算法。计算机100可以是一个或多个计算机,诸如嵌入式计算机、个人计算机、诸如刀片的机架服务器、大型机、虚拟机或在数字和符号处理期间使用暂时存储器(scratch memory)的任何计算设备。
机器学习算法
计算机100包含或访问多个不同的可训练机器学习算法,诸如121-123,的规范,每个算法可以执行诸如分类、回归、聚类或异常检测之类的分析。如本文所指,训练机器学习算法被定义为训练具有特定机器学习算法的模型。例如,机器学习算法121可以是支持向量机(SVM)或人工神经网络(ANN),并且机器学习算法122可以是决策树或随机森林。
机器学习算法121-123中的每一个都是可训练的,并且可能需要调整(重新训练)或尚未训练。机器学习算法121-123中的每一个可能已经准备好或可能没有准备好(被训练)在采样数据集110上立即使用。采样数据集110可以与数据集相关联,该数据集可以是每个机器学习算法121-123最终可以用于训练或推理(诸如数据挖掘)的详尽的或代表性的经验数据。
训练机器学习算法121-123在计算上非常昂贵,这可能会因采样数据集110中的原始数据量而恶化。计算可行性可能需要计算机100(或另一个计算机)仅训练机器学习算法121-123中的一个或其小的子集。
理想地,计算机100将(为训练和/或推理)选择可以利用采样数据集110产生最佳(最准确、最小误差)结果的几个机器学习算法121-123。但是,因为机器学习算法121-123中的一些或全部可能仍需要训练或再训练,因此机器学习算法121-123的准确度预测可能是困难的或不可能的。
准确度预测可能会因可用机器学习算法(诸如121-123)的数量而进一步恶化。机器学习有数百种机器学习算法,并且仍在快速增长。
元特征
数据集本身的特征作为整体被称为元特征。例如,采样数据集110具有元特征131-133。
元特征值171-173可以表征采样数据集110,使得有些相似的数据集应该具有有些相似的元特征值。同样,机器学习算法121的不同配置替代方案可能更适合或不太适合分析不同类别的数据集。
例如,如果采样数据集110是照片的集合,那么元特征131可以是照片的计数或每张照片的像素的算术平均值(mean),并且元特征132可以是所有照片的所有像素亮度的统计方差或计算起来可能有些严格的所有照片的边缘的中位数。
与可能具有许多值的超参数不同,每个元特征至多具有一个值。例如,元特征131具有值171。
一些元特征可能适用于一些但不是所有的数据集。例如,一些元特征可能自然缺少采样数据集110的值。例如,如果数据集110的照片都不包含人,那么统计模态理发样式的元特征可能缺少值。
超参数预测器
机器学习算法的特征被称为超参数。如果机器学习算法121是支持向量机,那么超参数通常包括C和伽玛(gamma)。如果机器学习算法121是神经网络,那么超参数可以包括诸如层的计数和/或每层神经元的计数之类的特征。
计算机100为机器学习算法121-123中的每一个创建或获得超参数预测器135,以预测和产生最佳微型模型超参数。微型模型超参数是最佳的,因为它们由系统按微型模型调整和产生,以相对于使用静态或标准超参数的先前技术提高微型模型分数的准确度。
超参数预测器135的训练和微型模型超参数的产生将在本文后面讨论。
微型模型
计算机100为机器学习算法121-123中的每一个创建或获得微型模型以快速且准确地预测每个机器学习算法的性能。微型模型140是较大机器学习模型(被称为RML)的较小版本,其由与其RML模型相关的两个主要特性定义,即,微型模型140需要显著更少的训练时间并且可以预测RML模型的分数(即,微型模型分数可以用作预测RML模型分数的特征)。这两个特性使微型模型非常强大,可作为各种用例中完整参考模型的直接替代物。
微型模型140在某个误差范围(ε)内密切跟踪RML模型的分数,从而允许用户通过简单地使用微型模型代替对应的数据集来判断RML模型在给定数据集上的相对性能。
RML预测器
计算机100为机器学习算法121-123中的每一个创建或获得RML预测器以快速且准确地预测每个机器学习算法的性能。例如,计算机100可以创建RML预测器145作为机器学习算法121的性能预测器。在实施例中,计算机100可以创建多个RML预测器作为机器学习算法121的性能预测器。
RML预测器145本身是可训练回归算法的实例,但是与RML预测器针对其进行训练的机器学习算法不同。例如,RML预测器145可以是已经被训练来预测机器学习算法121的性能的独特神经网络,预测机器学习算法121可以是支持向量机而不是神经网络。RML预测器的训练将在本文后面讨论。
在操作中,计算机100获得数据集110并且应该使用RML预测器145来选择机器学习算法121-123的或多或少最佳的子集以最终用采样数据集110或未采样数据集进行调整。当预测机器学习算法的性能时,RML预测器应该考虑机器学习算法的特征以及特征采样数据集110或非采样数据集。
分数
RML预测器145可以是已经训练的回归器,其处理输入以发出比较适合性分数。例如,RML预测器145发出分数160。
分数160共享性能测量量表。例如,分数可以预测性地测量特定机器学习算法的特定配置在使用特定训练数据集训练固定持续时间后会变得多么熟练(准确度,诸如错误率),对于该持续时间,采样数据集110(例如,小样本)代表训练数据集。
同样,分数可以替代地预测性地测量特定机器学习算法的特定配置需要多少时间来实现特定训练数据集的固定熟练程度。替代地,分数可以只是对特定数据集的特定机器学习算法的抽象适用性的比较性测量。
不管分数语义如何,每个机器学习算法的每个RML预测器发出分数。计算机100可以基于发出的RML预测器分数对每个机器学习算法进行排名,并且选择排名最高的机器学习算法作为输入数据集的最佳候选。
训练
图2图示了使用预测超参数的自动模型选择训练过程。图2是参考图1讨论的。下面的讨论包括如何训练诸如图1的超参数预测器、微型模型和RML预测器之类的组件的详细信息。
利用两级方法来训练自动模型选择模型。在第一级中,根据实施例,训练随机森林(RF)模型来预测每个数据集的微型模型超参数。在第二级中,来自数据集的元特征以及从第一级获得的微型模型分数用于训练推断参考模型性能的回归器。
在训练模型之前,对数据集216进行采样以生成采样数据集202。元特征204是从采样数据集202生成的。元特征204可以包括简单的统计元特征,诸如来自每个采样数据集的随机采样子集的n_samples、偏斜和标签熵。元特征204可以包括关于图1所讨论的元特征。
AHT算法用于为采样数据集202生成一组最佳微型模型超参数。AHT算法依赖于为不同的超参数组合调用多个离线训练会话,超参数范围通常由用户提供给算法。离线训练会话结束后,AHT算法输出一组最佳超参数,这些参数为输入数据集产生最佳分数和调整后的分数。对于给定的数据集,AHT算法会产生最佳超参数和调整后的分数作为输出。最佳超参数和调整后的分数用于训练自动模型选择模型的组件,如下面所讨论的。
在第一级训练中,使用元特征204作为输入并且使用AHT算法206产生的相应最佳超参数作为目标,针对AHT算法206生成的每个最佳超参数训练超模型208、210。对于分类超参数,训练超模型包括训练RF分类器。对于离散和/或连续超参数,训练超模型包括训练RF回归器。训练结束后,每个微型模型超参数都有一个RF预测器。当超模型被训练时,它们被用来产生预测的超参数,然后这些超参数被用作训练微型模型的输入。
使用采样数据集202和由超模型208、210产生的预测超参数作为输入和由AHT算法206产生的调整后的分数作为目标来训练微型模型212。一旦被训练,微型模型212产生密切跟踪相应微型模型的RML模型分数的微型模型分数。产生的微型模型分数然后被包括作为元特征以在第二级训练中训练RML预测器214。
在第二级训练中,使用来自采样数据集的元特征204作为训练输入和由微型模型212产生的微型模型分数作为输入和调整后的分数作为目标来训练RML预测器214。通过在数据集216上运行AHT算法218获得调整后的分数。
推理路径
在推理期间,随机采样数据集并提取基本元特征。然后使用元特征来预测微型模型的超参数。每个算法回归器使用微型模型分数和基本元特征来预测参考模型分数。机器学习算法然后基于它们的分数进行排名。
例如,如图1中所示,元特征131-133和对应的值171-173是基于采样数据集110生成的。元特征的值被输入到产生超参数作为输出的超参数预测器135。超参数与采样数据集110和/或元特征的值一起被用作微型模型的输入。微型模型140产生分数作为输出,并且该分数与元特征值一起用作RML预测器145的输入。RML预测器145产生分数。该分数被输入到排名算法,并且机器学习算法121的分数与其它机器学习算法122、123的分数一起进行排名。
示例自动模型选择过程
图3是描绘在实施例中计算机100基于通过使用超参数预测器的性能预测来最佳地选择可训练算法的流程图。参考图1和图2讨论图3。
步骤302-304是准备性的。在步骤302中,从第一数据集生成第一多个数据集样本。例如,采样数据集110可以从数据集生成。
在步骤304中,生成第一多个第一元特征集。每个第一元特征集描述所述第一多个数据集样本中的相应第一数据集样本。例如,元特征131-134可以由人类专家预定义为通常可从某个应用的许多或所有数据集获得的各方面。元特征值171-174可以从采样数据集110中提取或合成。
对于计算机100可用的多个MML模型中的每个微型机器学习模型(MML模型)重复步骤306、308、310和312。每个微型模型都与算法相关联,诸如算法121、122、123。因此,对于计算机100可用的每个可训练算法重复步骤306、308、310和312。另外,多个MML模型中的每个MML模型表示多个RML模型的相应参考机器学习模型(RML模型)。
在步骤306中,生成相应的超参数设置目标集。使用超调算法为每个MML模型生成相应的超参数设置目标集。例如,如关于图2所讨论的,AHT算法可以用于生成超参数设置目标集。在这个示例中,诸如AHT算法206之类的AHT算法从采样数据集202接收第一多个数据集样本并产生相应的超参数设置目标集。
在步骤308中,训练预测第一数据集的相应超参数设置集的相应超参数预测器集。超参数预测器集可以包括一个或多个超参数模型。使用在步骤304中生成的第一多个第一元特征集和在步骤306中生成的相应的超参数设置目标集来训练超参数预测器集中的每个超参数模型。例如,在图2的上下文中,使用元特征204作为输入并且使用AHT算法206的超参数输出作为目标来训练超参数预测器208、210。
在步骤310中,训练预测微型模型分数的相应MML模型。使用针对在步骤308中生成的第一数据集、在步骤302中生成的第一多个数据集样本的相应超参数设置集来训练MML模型。例如,在图2的上下文中,使用来自超模型208、210的超参数设置作为输入,使用采样数据集202作为输入来训练微型模型212。
在步骤312中,训练预测相应RML预测器分数的所述MML模型的相应参考RML预测器。参考RML预测器使用从步骤304中生成的数据集的样本生成的元特征、诸如在步骤310中生成的所述MML模型的微型模型分数以及通过将AHT应用于数据集生成的调整后的分数来训练。例如,在图2的上下文中,RML预测器214使用元特征204作为输入、分数输出但训练的微型模型212作为输入以及由AHT算法218调整的分数输出作为目标来训练。
在步骤314中,对于每个MML模型,通过调用相应的参考RML预测器来计算相应的RML预测器分数。相应的RML预测器分数基于元特征值的相应子集和相应的微型模型分数。
例如,可以用元特征值171-173的相应子集和微型模型140分数作为推理输入单独地刺激已经训练的RML预测器145。例如,RML预测器145基于元特征值171-172和微型模型140输出的分数来计算分数160。
在对每个机器学习算法重复上述步骤之后,所有机器学习算法121-123都有分数。每个机器学习算法基于分数进行排名。在实施例中,选择分数最高的RML预测器对应的机器学习算法作为数据集的最佳机器学习算法。例如,计算机100选择在所有机器学习算法中具有最高分数的RML预测器的机器学习算法122。
步骤312可以通过调用分数最高的算法对应的RML获得结果来结束。例如,结果可以是数据集110或更大数据集内的对象的分类/识别。
技术优势
本文的技术以各种方式改进计算机100本身的性能。通过修剪超参数超空间,避免训练过多数量的超参数配置。通过选择非常合适的机器学习算法和/或它们的配置,避免训练过多数量的不同机器学习算法。通过基于实际数据集元特征值的适合度进行评分,增加了选择的上下文适合性。
此外,使用微型模型的预测超参数提高了每个微型模型的分数的准确度,使得使用预测的超参数的微型模型的分数更接近于每个数据集的参考模型分数。改进后的分数用于更准确地对给定数据集进行排序和选择最优机器学习算法。
图4图示了测量的使用预测超参数的回归器的R2分数的改进。具体而言,图4示出了在~150个OpenML分类数据集上预测逻辑回归分类器的分数的回归器的R2分数的改进。当使用使用默认超参数对每个数据集进行评分的微型模型时,所得回归器的R2分数为~0.82。但是,当使用两级训练方法时,诸如本文讨论的方法,其中首先对每个数据集预测逻辑回归微型模型超参数,然后使用所得分数来训练第二级回归器,获得~0.95的R2分数。
因此,后续训练(例如,通过计算机100)发生得更快。同样,经训练的所选择的(一个或多个)机器学习算法在生产使用中(例如,通过计算机100)实现更高的准确度。因此,计算机100作为机器学习算法训练计算机被加速并且作为生产推理计算机更可靠(准确)。通过减少这些活动的计算负担,本文的技术被加速(节省时间)并节省能源。
机器学习模型
使用特定的机器学习算法来训练机器学习模型。一旦被训练,就将输入应用于机器学习模型以进行预测,该预测在本文中也可以被称为预测输出或输出。
机器学习模型包括模型数据表示或模型制品(artifact)。模型制品包括参数值,这些参数值在本文中可以被称为theta值,并且由机器学习算法将其应用于输入以生成预测输出。训练机器学习模型需要确定模型制品的theta值。theta值的结构和组织取决于机器学习算法。
在有监督的训练中,训练数据被有监督的训练算法用来训练机器学习模型。训练数据包括输入和“已知的”输出。在实施例中,有监督的训练算法是迭代过程。在每次迭代中,机器学习算法都将模型制品和输入应用于生成预测输出。使用目标函数计算预测输出与已知输出之间的误差或方差。实际上,目标函数的输出基于迭代中模型制品的特定状态来指示机器学习模型的准确度。通过应用基于目标函数的优化算法,可以调节模型制品的theta值。优化算法的示例是梯度下降。可以重复迭代,直到实现期望的准确度或满足某个其它准则为止。
在软件实施方式中,当称机器学习模型接收输入、执行和/或生成输出或谓词时,执行机器学习算法的计算机系统处理将模型制品应用于输入,以生成预测输出。计算机系统处理通过执行被配置为引起算法执行的软件来执行机器学习算法。
机器学习(ML)擅长的问题类别包括聚类、分类、回归、异常检测、预测和降维(即,简化)。机器学习算法的示例包括决策树、支持向量机(SVM)、贝叶斯网络、诸如遗传算法(GA)之类的随机算法以及诸如人工神经网络(ANN)之类的连接主义拓扑。机器学习的实施方式可以依赖于矩阵、符号模型以及分层和/或关联的数据结构。最佳机器学习算法的参数化(即,可配置)实施方式可以在开源库中找到,诸如Google的用于Python和C++的TensorFlow或佐治亚理工学院的用于C++的MLPack。Shogun是开源C++ML库,其带有用于几种编程语言(包括C#、Ruby、Lua、Java、Matlab、R和Python)的适配器。
人工神经网络
人工神经网络(ANN)是在高级别对由有向边互连的神经元系统进行建模的机器学习模型。在分层前馈神经网络的上下文中描述神经网络的概述。其它类型的神经网络共享下面描述的神经网络的特点。
在诸如多层感知器(MLP)之类的分层前馈网络中,每一层包括一组神经元。分层的神经网络包括输入层、输出层和被称为隐藏层的一个或多个中间层。
输入层和输出层中的神经元分别被称为输入神经元和输出神经元。隐藏层或输出层中的神经元在本文中可以被称为激活神经元。激活神经元与激活功能相关联。输入层不包含任何激活神经元。
从输入层和隐藏层中的每个神经元出发,在后续的隐藏层或输出层中存在一条或多条指向激活神经元的有向边。每条边与权重相关联。从神经元到激活神经元的边表示从神经元到激活神经元的输入,如由权重调节的。
对于神经网络的给定输入,神经网络中的每个神经元具有激活值。对于输入神经元,激活值只是该输入的输入值。对于激活神经元,激活值是激活神经元的相应激活函数的输出。
从特定神经元到激活神经元的每条边表示特定神经元的激活值是激活神经元的输入,即,激活神经元的激活函数的输入,如由边的权重调节的。因此,后续层中的激活神经元表示特定神经元的激活值是对激活神经元的激活函数的输入,如由边的权重调节的。激活神经元可以具有指向激活神经元的多条边,每条边表示来自源起源神经元的激活值(如由边的权重调节的)是激活神经元的激活函数的输入。
每个激活神经元与偏置相关联。为了生成激活神经元的激活值,将神经元的激活函数应用于加权的激活值和偏置。
用于神经网络的说明性数据结构
神经网络的制品可以包括权重和偏置的矩阵。训练神经网络可以迭代地调节权重和偏置的矩阵。
对于分层的前馈网络以及其它类型的神经网络,制品可以包括边W的一个或多个矩阵。矩阵W表示从层L-1到层L的边。假设层L-1和L中神经元的数量分别为N[L-1]和N[L],那么矩阵W的维度为N[L-1]列和N[L]行。
用于特定层L的偏置也可以存储在具有N[L]行的一列的矩阵B中。
矩阵W和B可以作为向量或数组存储在RAM存储器中,或以逗号分隔的值集合存储在存储器中。当制品被持久存储在持久性存储装置中时,矩阵W和B可以以压缩和/串行化形式或其它合适的持久性形式存储为逗号分隔的值。
应用于神经网络的特定输入包括每个输入神经元的值。特定输入可以被存储为向量。训练数据包括多个输入,每个输入被称为样本集中的样本。每个样本包括每个输入神经元的值。样本可以存储为输入值的向量,而多个样本可以存储为矩阵,矩阵中的每一行是一个样本。
当将输入应用于神经网络时,将为隐藏层和输出层生成激活值。对于每一层,激活值可以被存储在矩阵A的一列中,该矩阵对于层中的每个神经元具有一行。在用于训练的向量化方法中,激活值可以存储在矩阵中,矩阵中对于训练数据中每个样本有一列。
训练神经网络要求存储和处理附加矩阵。优化算法生成用于调节权重W和偏置B的矩阵的导数值的矩阵。生成导数值可以使用并要求存储在计算每一层的激活值时生成的中间值的矩阵。
神经元和/或边的数量确定了实现神经网络所需的矩阵的尺寸。神经网络中神经元和边的数量越少,矩阵和存储矩阵所需的存储器就越小。此外,越少数量的神经元和边减少了应用或训练神经网络所需的计算量。越少的神经元意味着在训练期间需要计算的激活值越少和/或需要计算的导数越少。
用于实现神经网络的矩阵的特性与神经元和边对应。矩阵W中的单元格表示从L-1层到L层中的神经元的特定边。激活神经元表示该层的激活函数,包括所述激活函数。L层中的激活神经元与矩阵W中用于L层和L-1层之间的边的权重的行以及矩阵W中用于L层和L+1层之间的边的权重的列对应。在执行神经网络期间,神经元还与针对该层存储在矩阵A中并由激活函数生成的一个或多个激活值对应。
ANN负责针对数据并行化进行向量化,其可以利用向量硬件,诸如单指令多数据(SIMD),诸如利用图形处理单元(GPU)。矩阵分区可以实现水平缩放,例如利用对称多处理(SMP),诸如利用多核中央处理单元(CPU)和/或多个协处理器(诸如GPU)。ANN内的前馈计算可以在每个神经层只有一步的情况下发生。基于前一层的激活值的加权传播来计算一层中的激活值,使得针对每个后续层依次计算值,诸如顺序地为每个后续层计算值,诸如利用for循环的相应迭代。分层强加了不可并行化的计算的排序。因此,网络深度(即,层数)可以造成计算时延。深度学习需要赋予多层感知器(MLP)多层。每一层实现数据抽象,而复杂的(即,具有几个输入的多维)抽象则需要实现级联处理的多层。基于可重用矩阵的ANN的实施方式和用于前馈处理的矩阵运算在神经网络库中很容易获得并且可并行化,诸如Google的用于Python和C++的TensorFlow、用于C++的OpenNN以及哥本哈根大学的快速人工神经网络(FANN)。这些库还提供模型训练算法,诸如反向传播。
反向传播
ANN的输出可以或多或少是正确的。例如,识别字母的ANN可能会将I误认为是L,因为这些字母具有相似的特征。正确的输出可以具有(一个或多个)特定的值,而实际的输出可以具有稍不同的值。可以根据损失函数将正确输出与实际输出之间的算术或几何差异测量为误差,使得零表示无误差(即,完全准确)的行为。对于任何层中的任何边,正确输出与实际输出之间的差异是增量值。
反向传播需要通过ANN的层向ANN内的所有连接边以不同的数量向后分发误差。误差的传播造成对边权重的调节,这取决于每条边上的误差的梯度。通过将边的误差增量乘以上游神经元的激活值来计算边的梯度。当梯度为负时,边对网络贡献的误差的量值越大,边的权重应当减少越多,这就是负加强。当梯度为正时,正加强需要增加其激活会减少误差的边的权重。边权重根据边的梯度的百分比进行调节。梯度越陡,调节越大。并非所有边权重都调节相同的量。随着模型训练以附加的输入样本继续进行,ANN的误差应当下降。当误差稳定(即,停止减少)或消失在阈值以下(即,接近零)时,训练可以停止。ChristopherM.Bishop在相关参考文献“EXACT CALCULATION OF THE HESSIAN MATRIX FOR THE MULTI-LAYER PERCEPTRON”中教导了用于前馈多层感知器(MLP)的示例数学公式和技术,包括矩阵运算和反向传播。
模型训练可以是监督式的,或者是非监督式的。对于监督式训练,对于训练集中的每个示例已经知道期望的(即,正确的)输出。训练集是通过(例如,人类专家)预先为每个示例指派分类标签来配置的。例如,用于光学字符识别的训练集可以具有各个字母的模糊照片,并且专家可以根据示出哪个字母预先标记每张照片。如上面所解释的,误差计算和反向传播发生。
因为需要在训练期间发现期望的输出,所以涉及更多的非监督式模型训练。非监督式训练可以更容易采用,因为不需要人类专家来预先标记训练示例。因此,非监督式训练节省人力。实现非监督式训练的自然方式是利用自动编码器,它是一种ANN。自动编码器用作具有两个层集合的编码器/解码器(编解码器)。第一层集合将输入示例编码为在模型训练期间需要被学习的浓缩代码。第二层集合对浓缩代码进行解码,以重新生成原始输入示例。两个层集合作为一个组合的ANN一起进行训练。误差被定义为原始输入与解码后重新生成的输入之间的差异。在充分训练之后,解码器或多或少确切地输出原始输入。
对于每个输入示例,自动编码器都依赖于浓缩代码作为中间格式。中间浓缩代码最初不存在,而是仅通过模型训练而出现,这可能与直觉相反。非监督式训练可以基于意外相关性的特征和区别来实现中间编码的词汇表。例如,在监督式训练期间使用了哪些示例和哪些标签可以取决于人类专家对问题空间的理解有些不科学(例如,轶事)或不完整。而非监督式训练则或多或少地完全基于统计趋势来发现合适的中间词汇表,该统计趋势由于通过重新生成解码而产生的内部反馈来以足够的训练可靠地收敛到最优性。在标题为“AUTO-ENCODER ENHANCED SELF-DIAGNOSTIC COMPONENTS FOR MODEL MONITORING”的相关美国专利申请No.14/558,700中教导了自动编码器的实现和集成技术。该专利申请将监督式或非监督式ANN模型提升为第一类对象,其负责管理技术,诸如模型开发期间(诸如训练期间)的监视和治理。
深度上下文概述
如上所述,ANN可以是无状态的,使得激活的定时或多或少与ANN行为无关。例如,识别特定字母可以孤立地发生而没有上下文。更复杂的分类可以或多或少地取决于附加的上下文信息。例如,瞬时输入的信息内容(即,复杂性)可以小于周围环境的信息内容。因此,语义可以基于上下文而发生,诸如跨输入的时间序列或输入示例内的扩展模式(例如,复合几何形状)。已经出现了使深度学习成为上下文的各种技术。一种一般策略是上下文编码,其将刺激输入及其上下文(即,周围/相关细节)打包到可以应用于ANN以进行分析的相同(例如,密集)编码单元中。用于上下文编码的一种形式是图形嵌入,它构造并修剪(例如,限制其范围)相关事件或记录的逻辑图(例如,在时间或语义上)。图嵌入可以被用作上下文编码和对ANN的输入刺激。
隐藏状态(即,存储器)是用于(尤其是时间上的)序列处理的强大ANN增强。排序可以促进预测和操作异常检测,这可以是重要的技术。递归神经网络(RNN)是有状态的MLP,其以拓扑步骤布置,拓扑步骤可以或多或少地作为处理流水线的阶段来操作。在折叠/卷起的实施例中,所有步骤都具有完全相同的连接权重,并且对于所有步骤可以共享单个一维权重向量。在递归实施例中,只有一个步骤将其输出中的一些再循环回到递归实现排序的该一个步骤。在展开/打开的实施例中,每个步骤可以具有不同的连接权重。例如,每个步骤的权重可以出现在二维权重矩阵的相应列中。
可以将输入的序列同时或顺序地应用于RNN的相应步骤,以引起对整个序列的分析。对于序列中的每个输入,RNN基于序列中的所有先前输入来预测下一个顺序输入。RNN可以预测或以其它方式输出已经接收到的几乎所有输入序列以及尚未接收到的下一个顺序输入。自己预测下一个输入可以是有价值的。将预测的序列与实际接收(和应用)的序列进行比较可以促进异常检测。例如,基于RNN的拼写模型可以预测在逐字母读取单词时U跟在Q后面。如果实际跟在Q后面的字母不是预期的U,那么检测到异常。
与由各个神经元组成的神经层不同,RNN的每个递归步骤都可以是由细胞组成的MLP,每个细胞包含一些专门布置的神经元。RNN神经元作为存储器的单元操作。RNN细胞可以由长短记忆(LSTM)单元格实现。LSTM布置列神经元的方式不同于触发器中如何布置晶体管,但是LSTM和数字逻辑的共同目标是专门布置有状态的几个控制门。例如,神经存储器单元格可以具有输入门、输出门和忘记(即,重置)门。与二进制电路不同,输入和输出门可以传导由单元格保留的(例如,单位归一化的)数值,也作为数值。
与其它MLP相比,RNN具有两个主要的内部增强函数。第一个是局部化的存储器单元格,诸如LSTM,它涉及微观细节。另一个是递归步骤的交叉激活,这是宏观的(即,总体拓扑)。每个步骤接收两个输入并输出两个输出。一个输入是按输入顺序从项目进行的外部激活。另一个输入是可以嵌入来自一些或所有先前步骤的细节的相邻的先前步骤的输出,这实现了顺序历史(即,时间上下文)。另一个输出是序列中的预测的下一个项目。在标题为“MEMORY CELL UNIT AND RECURRENT NEURAL NETWORK INCLUDING MULTIPLE MEMORY CELLUNITS”的相关美国专利申请No.15/347,501中教导了用于RNN和LSTM的示例数学公式和技术。
复杂的分析可以通过所谓的MLP堆栈来实现。示例堆栈可以将RNN夹在上游编码器ANN和下游解码器ANN之间,二者之一或两者可以是自动编码器。堆栈在MLP之间可以具有扇入和/或扇出。例如,RNN可以直接激活两个下游ANN,诸如异常检测器和自动解码器。自动解码器可能仅在模型训练期间存在,诸如用于监视训练的可见性或用在用于非监督式训练的反馈回路中。RNN模型训练可以使用一段时间内的反向传播,这是一种与普通反向传播相比可以为RNN模型实现更高准确度的技术。在标题为“MEMORY-EFFICIENT BACKPROGATINGTHROUGHH TIME”的相关W.I.P.O专利申请No.PCT/US2017/033698中教导了用于使用通过时间的反向传播训练RNN模型的示例数学公式、伪代码和技术。
云计算
本文一般地使用术语“云计算”来描述计算模型,该计算模型使得能够按需访问计算资源的共享池,诸如计算机网络、服务器、软件应用和服务,并且允许以最少的管理工作或服务提供商交互来快速提供和释放资源。
云计算环境(有时称为云环境或云)可以以各种不同方式实现,以最好地适应不同要求。例如,在公共云环境中,底层计算基础设施由组织拥有,该组织使其云服务可供其它组织或公众使用。相反,私有云环境一般仅供单个组织使用或在单个组织内使用。社区云旨在由社区内的若干组织共享;而混合云包括通过数据和应用可移植性绑定在一起的两种或更多种类型的云(例如,私有、社区或公共)。
一般而言,云计算模型使得先前可能由组织自己的信息技术部门提供的那些职责中的一些代替地作为云环境内的服务层来输送,以供消费者使用(根据云的公共/私人性质,在组织内部或外部)。取决于特定实现,由每个云服务层提供或在每个云服务层内提供的组件或特征的精确定义可以有所不同,但常见示例包括:软件即服务(SaaS),其中消费者使用在云基础设施上运行的软件应用,同时SaaS提供者管理或控制底层云基础设施和应用。平台即服务(PaaS),其中消费者可以使用由PaaS的供应者支持的软件编程语言和开发工具,以开发、部署和以其它方式控制它们自己的应用,同时PaaS提供者管理或控制云环境的其它方面(即,运行时执行环境下的一切)。基础设施即服务(IaaS),其中消费者可以部署和运行任意软件应用,和/或提供进程、存储装置、网络和其它基础计算资源,同时IaaS提供者管理或控制底层物理云基础设施(即,操作系统层下面的一切)。数据库即服务(DBaaS),其中消费者使用在云基础设施上运行的数据库服务器或数据库管理系统,而DbaaS提供者管理或控制底层云基础设施和应用。
上述基本计算机硬件和软件以及云计算环境是为了说明可以用于实现(一个或多个)示例实施例的基本底层计算机组件而给出。但是,(一个或多个)示例实施例不必限于任何特定的计算环境或计算设备配置。而是,(一个或多个)示例实施例可以在本领域技术人员根据本公开将理解为能够支持本文给出的(一个或多个)示例实施例的特征和功能的任何类型的系统体系架构或处理环境中实现。
在前面的说明书中,已经参考众多具体细节描述了本发明的实施例,这些细节可以在实施方式之间不同。因此,说明书和附图应被视为说明性而非限制性的。本发明范围的唯一和排他性指示,以及申请人意图作为本发明范围的内容,是以发布这种权利要求的具体形式从本申请发布的权利要求集合的字面和等同范围,包括任何后续更正。
软件概述
图5是可以用于控制计算系统600的操作的基本软件系统500的框图。软件系统500及其组件,包括它们的连接、关系和功能,仅是示例性的,并且不意味着限制(一个或多个)示例实施例的实现。适合于实现(一个或多个)示例实施例的其它软件系统可以具有不同的组件,包括具有不同连接、关系和功能的组件。
提供了用于指导计算系统700的操作的软件系统500。可以存储在系统存储器(RAM)606中和固定存储装置(例如,硬盘或闪存)610上的软件系统500包括内核或操作系统(OS)510。
OS 510管理计算机操作的低级方面,包括管理进程的执行、存储器分配、文件输入和输出(I/O)以及设备I/O。表示为502A、502B、502C…502N的一个或多个应用程序可以被“加载”(例如,从固定存储装置610传输到存储器606中),以由系统500执行。旨在在计算机系统600上使用的应用或其它软件也可以存储为一组可下载的计算机可执行指令,例如,用于从互联网位置(例如,Web服务器、应用商店或其它在线服务)下载和安装。
软件系统500包括图形用户界面(GUI)515,用于以图形(例如,“指示和点击”或“触摸手势”)的方式接收用户命令和数据。这些输入又可以由系统500根据来自操作系统510和/或(一个或多个)应用502的指令来起作用。GUI 515还用于显示来自OS 510和(一个或多个)应用502的操作结果,随后用户可以提供附加的输入或终止会话(例如,注销)。
OS 510可以直接在计算机系统600的裸硬件520(例如,(一个或多个)处理器505)上执行。替代地,可以在裸硬件520和OS 510之间插入管理程序或虚拟机监视器(VMM)530。在这个配置中,VMM 530充当OS 510与计算机系统600的裸硬件520之间的软件“缓冲”或虚拟化层。
VMM 530实例化并运行一个或多个虚拟机实例(“访客计算机”)。每个访客机器包括“访客”操作系统(诸如OS 510)和一个或多个应用(诸如(一个或多个)应用502),其被设计为在访客操作系统上执行。VMM 530向访客操作系统呈现虚拟操作平台,并管理访客操作系统的执行。
在一些情况下,VMM 530可以允许访客操作系统像其直接在计算机系统600的裸硬件520上运行一样来运行。在这些情况下,被配置为直接在裸硬件520上执行的访客操作系统的相同版本也可以在VMM 530上执行而无需修改或重新配置。换句话说,在一些情况下,VMM 530可以向访客操作系统提供完整的硬件和CPU虚拟化。
在其它情况下,客户操作系统可能被特殊设计或被配置为在VMM 530上执行以提高效率。在这些情况下,访客操作系统“知道”它在虚拟机监视器上执行。换句话说,在一些情况下,VMM 530可以向访客操作系统提供半虚拟化。
计算机系统进程包括硬件处理器时间的分配和存储器(物理和/或虚拟)的分配,存储器的分配用于存储由硬件处理器执行的指令、用于存储由执行指令的硬件处理器生成的数据,和/或用于当计算机系统进程未在运行时在硬件处理器时间的分配之间存储硬件处理器状态(例如,寄存器的内容)。计算机系统进程在操作系统的控制下运行,并且可以在计算机系统上正在执行的其它程序的控制下运行。
硬件概览
根据一个实施例,本文描述的技术由一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行本技术,或者可以包括被永久性地编程以执行本技术的数字电子设备,诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA),或者可以包括被编程为根据固件、存储器、其它存储装置或组合中的程序指令执行本技术的一个或多个通用硬件处理器。这种专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制的编程组合来实现本技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备或结合硬连线和/或程序逻辑来实现技术的任何其它设备。
例如,图6是图示可以在其上实现本发明的实施例的计算机系统600的框图。计算机系统600包括总线602或用于传送信息的其它通信机制以及与总线602耦合用于处理信息的硬件处理器604。硬件处理器604可以是例如通用微处理器。
计算机系统600还包括耦合到总线602用于存储信息和要由处理器604执行的指令的主存储器606,诸如随机存取存储器(RAM)或其它动态存储设备。主存储器606也可以用于在要由处理器604执行的指令的执行期间存储临时变量或其它中间信息。当这种指令被存储在处理器604可访问的非暂态存储介质中时,这种指令使计算机系统600成为被定制用于执行指令中指定的操作的专用机器。
计算机系统600还包括耦合到总线602用于存储静态信息和处理器604的指令的只读存储器(ROM)608或其它静态存储设备。诸如磁盘或光盘之类的存储设备610被提供并且被耦合到总线602,以用于存储信息和指令。
计算机系统600可以经由总线602耦合到用于向计算机用户显示信息的显示器612,诸如阴极射线管(CRT)。包括字母数字键和其它键的输入设备614耦合到总线602,用于将信息和命令选择传送到处理器604。另一种类型的用户输入设备是光标控件616,诸如鼠标、轨迹球或光标方向键,用于向处理器604传送方向信息和命令选择并且用于控制显示器612上的光标移动。这种输入设备典型地具有两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度,以允许设备在平面中指定位置。
计算机系统600可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,所述定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统结合使计算机系统600成为专用机器或将计算机系统600编程为专用机器。根据一个实施例,本文的技术由计算机系统600响应于处理器604执行主存储器606中包含的一条或多条指令的一个或多个序列而执行。这些指令可以从另一个存储介质(诸如存储设备610)读取到主存储器606中。在主存储器606中包含的指令序列的执行使处理器604执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路系统代替软件指令或与软件指令组合使用。
如本文使用的术语“存储介质”是指存储有使机器以特定方式操作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备610。易失性介质包括动态存储器,诸如主存储器606。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔模式的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒式磁带。
存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线602的电线。传输介质也可以采用声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些。
在将一条或多条指令的一个或多个序列携带到处理器604以供执行时可以涉及各种形式的介质。例如,指令最初可以携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机系统600本地的调制解调器可以在电话线上接收数据并使用红外线发射器将数据转换成红外线信号。红外线检测器可以接收红外线信号中携带的数据,并且适当的电路系统可以将数据放置在总线602上。总线602将数据携带到主存储器606,处理器604从主存储器606中检索并执行指令。由主存储器606接收的指令可以可选地在由处理器604执行之前或之后存储在存储设备610上。
计算机系统600还包括耦合到总线602的通信接口618。通信接口618提供耦合到网络链路620的双向数据通信,其中网络链路620连接到本地网络622。例如,通信接口618可以是综合业务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器、或向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口618可以是提供到兼容的局域网(LAN)的数据通信连接的LAN卡。也可以实现无线链路。在任何这样的实施方式中,通信接口618发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路620典型地通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路620可以通过本地网络622提供到主计算机624或到由互联网服务提供商(ISP)626操作的数据设备的连接。ISP 626又通过现在通常称为“互联网”628的全球分组数据通信网络提供数据通信服务。本地网络622和互联网628都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路620上并且通过通信接口618的信号是传输介质的示例形式,这些信号将数字数据携带到计算机系统600或携带来自计算机系统600的数字数据。
计算机系统600可以通过(一个或多个)网络、网络链路620和通信接口618发送消息和接收数据,包括程序代码。在互联网示例中,服务器630可以通过互联网628、ISP 626、本地网络622和通信接口618传输对于应用程序的所请求代码。
接收到的代码可以在它被接收时由处理器604执行,和/或存储在存储设备610或其它非易失性存储装置中以供以后执行。
Claims (20)
1.一种方法,包括:
对于多个微型机器学习模型(MML模型)中的每个MML模型,
训练预测相应的预测超参数设置集的相应超参数预测器集,其中所述每个MML模型表示相应的参考机器学习算法(RML),其中为所述每个MML模型训练所述相应的超参数预测器集包括:
生成用于训练所述相应的超参数预测器集的第一训练数据,其中生成第一训练数据包括:
从第一数据集生成第一多个数据集样本;
生成第一多个第一元特征集,所述第一多个第一元特征集中的每个第一元特征集描述所述第一多个数据集样本中的相应第一数据集样本;
使用超调算法为所述每个MML模型生成相应的超参数设置目标集。
2.如权利要求1所述的方法,其中训练所述相应的超参数预测器集包括:使用所述第一多个第一元特征集和所述相应的超参数设置目标集来训练所述相应的超参数预测器集。
3.如权利要求1所述的方法,还包括:
通过至少以下方式训练所述多个MML模型中的每个MML模型,从而生成多个经训练的MML模型中的所述每个MML模型的相应经训练的版本和相应分数:
从所述第一数据集生成第二多个数据集样本;
生成第二多个第二元特征集,所述第二多个第二元特征集中的第二第一元特征集描述所述第二多个数据集样本中的相应第二数据集样本;
通过将所述每个经训练的MML模型的相应的超参数预测器集应用于所述第二多个第二元特征集,生成相应的预测超参数设置。
4.如权利要求3所述的方法,还包括:
通过以下方式训练所述多个经训练的MML模型中的所述每个经训练的MML模型的相应参考RML预测器:
使用所述第二多个第二元特征集和所述每个经训练的MML模型的所述相应分数作为训练输入;
使用由所述超调算法在所述第一数据集上生成的分数作为目标。
5.如权利要求4所述的方法,其中训练所述每个经训练的MML模型的相应的参考RML预测器生成多个经训练的RML预测器的相应的经训练的RML预测器。
6.如权利要求5所述的方法,还包括:
从所述第一数据集生成第三多个数据集样本;
生成第三多个第三元特征集,每个第三元特征集描述所述第三多个数据集样本中的相应第三数据集样本;
通过以下方式为所述多个经训练的MML模型的所述每个经训练的MML模型的每个相应的经训练的RML预测器生成多个RML预测器分数:
针对每个第三数据集样本,使用所述相应的第三元特征集和所述每个经训练的MML模型的所述相应分数生成RML预测器分数。
7.如权利要求6所述的方法,还包括:
基于所述多个RML预测器分数选择多个机器学习算法中的一个或多个机器学习算法,其中每个机器学习算法与所述多个MML模型中的一个MML模型相关联;
基于第一数据集调用相应的RML模型以获得结果。
8.如权利要求7所述的方法,其中选择所述一个或多个机器学习算法包括基于所述多个RML预测器分数对所述多个机器学习算法进行排名。
9.如权利要求7所述的方法,其中所述多个机器学习算法中的每个机器学习算法包括以下中的至少一个:支持向量机(SVM)、随机森林、决策树或人工神经网络。
10.如权利要求7所述的方法,其中所述多个机器学习算法中的每个机器学习算法包括以下中的一个:分类、回归或异常检测。
11.一种存储指令序列的非暂态计算机可读存储介质,所述指令序列在由一个或多个处理器执行时,使得:
对于多个微型机器学习模型(MML模型)中的每个MML模型,
训练预测相应的预测超参数设置集的相应的超参数预测器集,其中所述每个MML模型表示相应的参考机器学习算法(RML),其中为所述每个MML模型训练所述相应的超参数预测器集包括:
生成用于训练所述相应的超参数预测器集的第一训练数据,其中生成第一训练数据包括:
从第一数据集生成第一多个数据集样本;
生成第一多个第一元特征集,所述第一多个第一元特征集中的每个第一元特征集描述所述第一多个数据集样本中的相应第一数据集样本;
使用超调算法为所述每个MML模型生成相应的超参数设置目标集。
12.如权利要求11所述的非暂态计算机可读存储介质,其中训练所述相应的超参数预测器集包括:使用所述第一多个第一元特征集和所述相应的超参数设置目标集来训练所述相应的超参数预测器集。
13.如权利要求11所述的非暂态计算机可读存储介质,所述指令序列包括当由所述一个或多个处理器执行时,使得执行以下操作的指令:
通过至少以下方式训练所述多个MML模型中的每个MML模型,从而生成多个经训练的MML模型中的所述每个MML模型的相应经训练的版本和相应分数:
从所述第一数据集生成第二多个数据集样本;
生成第二多个第二元特征集,所述第二多个第二元特征集中的第二第一元特征集描述所述第二多个数据集样本中的相应第二数据集样本;
通过将所述每个经训练的MML模型的相应的超参数预测器集应用于所述第二多个第二元特征集,生成相应的预测超参数设置。
14.如权利要求13所述的非暂态计算机可读存储介质,所述指令序列包括当由所述一个或多个处理器执行时,使得执行以下操作的指令:
通过以下方式训练所述多个经训练的MML模型中的所述每个经训练的MML模型的相应参考RML预测器:
使用所述第二多个第二元特征集和所述每个经训练的MML模型的所述相应分数作为训练输入;
使用由所述超调算法在所述第一数据集上生成的分数作为目标。
15.如权利要求14所述的非暂态计算机可读存储介质,其中训练所述每个经训练的MML模型的相应的参考RML预测器生成多个经训练的RML预测器的相应的经训练的RML预测器。
16.如权利要求15所述的非暂态计算机可读存储介质,所述指令序列包括当由所述一个或多个处理器执行时,使得执行以下操作的指令:
从所述第一数据集生成第三多个数据集样本;
生成第三多个第三元特征集,每个第三元特征集描述所述第三多个数据集样本中的相应的第三数据集样本;
通过以下方式为所述多个经训练的MML模型的所述每个经训练的MML模型的每个相应的经训练的RML预测器生成多个RML预测器分数:
针对每个第三数据集样本,使用所述相应的第三元特征集和所述每个经训练的MML模型的所述相应分数生成RML预测器分数。
17.如权利要求16所述的非暂态计算机可读存储介质,所述指令序列包括当由所述一个或多个处理器执行时,使得执行以下操作的指令:
基于所述多个RML预测器分数选择多个机器学习算法中的一个或多个机器学习算法,其中每个机器学习算法与所述多个MML模型中的一个MML模型相关联;
基于第一数据集调用相应的RML模型以获得结果。
18.如权利要求17所述的非暂态计算机可读存储介质,其中选择所述一个或多个机器学习算法包括基于所述多个RML预测器分数对所述多个机器学习算法进行排名。
19.如权利要求17所述的非暂态计算机可读存储介质,其中所述多个机器学习算法中的每个机器学习算法包括以下中的至少一个:支持向量机(SVM)、随机森林、决策树或人工神经网络。
20.如权利要求17所述的非暂态计算机可读存储介质,其中所述多个机器学习算法中的每个机器学习算法包括以下中的一个:分类、回归或异常检测。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/388,830 US11620568B2 (en) | 2019-04-18 | 2019-04-18 | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection |
US16/388,830 | 2019-04-18 | ||
PCT/US2020/026376 WO2020214428A1 (en) | 2019-04-18 | 2020-04-02 | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114008641A true CN114008641A (zh) | 2022-02-01 |
Family
ID=70476356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080038456.0A Pending CN114008641A (zh) | 2019-04-18 | 2020-04-02 | 使用超参数预测器提高自动机器学习模型选择的准确度 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11620568B2 (zh) |
CN (1) | CN114008641A (zh) |
WO (1) | WO2020214428A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11120368B2 (en) | 2017-09-27 | 2021-09-14 | Oracle International Corporation | Scalable and efficient distributed auto-tuning of machine learning and deep learning models |
US11544494B2 (en) | 2017-09-28 | 2023-01-03 | Oracle International Corporation | Algorithm-specific neural network architectures for automatic machine learning model selection |
US11176487B2 (en) | 2017-09-28 | 2021-11-16 | Oracle International Corporation | Gradient-based auto-tuning for machine learning and deep learning models |
US11790242B2 (en) | 2018-10-19 | 2023-10-17 | Oracle International Corporation | Mini-machine learning |
US11531879B1 (en) | 2019-04-25 | 2022-12-20 | Perceive Corporation | Iterative transfer of machine-trained network inputs from validation set to training set |
US11610154B1 (en) | 2019-04-25 | 2023-03-21 | Perceive Corporation | Preventing overfitting of hyperparameters during training of network |
US12112254B1 (en) | 2019-04-25 | 2024-10-08 | Perceive Corporation | Optimizing loss function during training of network |
US11900238B1 (en) | 2019-04-25 | 2024-02-13 | Perceive Corporation | Removing nodes from machine-trained network based on introduction of probabilistic noise during training |
US20200364608A1 (en) * | 2019-05-13 | 2020-11-19 | International Business Machines Corporation | Communicating in a federated learning environment |
US20210019615A1 (en) * | 2019-07-18 | 2021-01-21 | International Business Machines Corporation | Extraction of entities having defined lengths of text spans |
US20210142224A1 (en) * | 2019-10-21 | 2021-05-13 | SigOpt, Inc. | Systems and methods for an accelerated and enhanced tuning of a model based on prior model tuning data |
US11556568B2 (en) * | 2020-01-29 | 2023-01-17 | Optum Services (Ireland) Limited | Apparatuses, methods, and computer program products for data perspective generation and visualization |
US11841925B1 (en) * | 2020-12-10 | 2023-12-12 | Amazon Technologies, Inc. | Enabling automatic classification for multi-label classification problems with label completion guarantees |
CN113111901B (zh) * | 2020-12-17 | 2022-06-14 | 哈尔滨工业大学 | 水下非合作平台运动要素最优解算过程的选择方法及系统 |
CN112561180B (zh) * | 2020-12-21 | 2022-05-17 | 深圳大学 | 基于元学习的短期风速预测方法、装置、计算机设备及存储介质 |
CN112671757B (zh) * | 2020-12-22 | 2023-10-31 | 无锡江南计算技术研究所 | 一种基于自动机器学习的加密流量协议识别方法及装置 |
CN114819442A (zh) * | 2021-01-28 | 2022-07-29 | 华为云计算技术有限公司 | 一种运筹优化方法、装置和计算设备 |
US11966340B2 (en) * | 2021-02-18 | 2024-04-23 | International Business Machines Corporation | Automated time series forecasting pipeline generation |
CN113434212B (zh) * | 2021-06-24 | 2023-03-21 | 北京邮电大学 | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 |
CN113835964B (zh) * | 2021-09-26 | 2023-07-18 | 湘潭大学 | 基于小样本学习的云数据中心服务器能耗预测方法 |
CN116564442B (zh) * | 2022-01-24 | 2024-11-01 | 腾讯科技(深圳)有限公司 | 材料筛选方法、装置、计算机设备及存储介质 |
US11868230B2 (en) * | 2022-03-11 | 2024-01-09 | International Business Machines Corporation | Automated unsupervised machine learning utilizing meta-learning |
CN114996010B (zh) * | 2022-06-06 | 2024-05-24 | 中国地质大学(北京) | 面向移动边缘环境下的智能服务保障方法 |
WO2024013794A1 (ja) * | 2022-07-11 | 2024-01-18 | 恒林日本株式会社 | 深層学習モデル生成装置、及び蓄電池の特性値算出装置 |
US20240152797A1 (en) * | 2022-11-07 | 2024-05-09 | Genpact Luxembourg S.à r.l. II | Systems and methods for model training and model inference |
US12111855B1 (en) | 2023-03-29 | 2024-10-08 | Kyndryl, Inc. | Computation, prediction, and use of vandalism scores |
CN116647844A (zh) * | 2023-04-18 | 2023-08-25 | 广州大学 | 一种基于堆叠集成算法的车载网络入侵检测方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169735A1 (en) | 2001-03-07 | 2002-11-14 | David Kil | Automatic mapping from data to preprocessing algorithms |
WO2008133509A1 (en) | 2007-04-25 | 2008-11-06 | Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno | Machine learning hyperparameter estimation |
US20140188768A1 (en) | 2012-12-28 | 2014-07-03 | General Electric Company | System and Method For Creating Customized Model Ensembles On Demand |
US9330362B2 (en) | 2013-05-15 | 2016-05-03 | Microsoft Technology Licensing, Llc | Tuning hyper-parameters of a computer-executable learning algorithm |
US10496927B2 (en) | 2014-05-23 | 2019-12-03 | DataRobot, Inc. | Systems for time-series predictive data analytics, and related methods and apparatus |
JP2018508427A (ja) | 2015-03-27 | 2018-03-29 | フィリップ・モーリス・プロダクツ・ソシエテ・アノニム | 切り抜きを含むスペーサーを備えた消費者物品用の容器 |
US20160358099A1 (en) | 2015-06-04 | 2016-12-08 | The Boeing Company | Advanced analytical infrastructure for machine learning |
JP6555015B2 (ja) | 2015-08-31 | 2019-08-07 | 富士通株式会社 | 機械学習管理プログラム、機械学習管理装置および機械学習管理方法 |
US10691491B2 (en) | 2016-10-19 | 2020-06-23 | Nutanix, Inc. | Adapting a pre-trained distributed resource predictive model to a target distributed computing environment |
US20180225391A1 (en) | 2017-02-06 | 2018-08-09 | Neural Algorithms Ltd. | System and method for automatic data modelling |
US11227188B2 (en) | 2017-08-04 | 2022-01-18 | Fair Ip, Llc | Computer system for building, training and productionizing machine learning models |
US11397887B2 (en) | 2017-09-26 | 2022-07-26 | Amazon Technologies, Inc. | Dynamic tuning of training parameters for machine learning algorithms |
US11120368B2 (en) | 2017-09-27 | 2021-09-14 | Oracle International Corporation | Scalable and efficient distributed auto-tuning of machine learning and deep learning models |
US11176487B2 (en) | 2017-09-28 | 2021-11-16 | Oracle International Corporation | Gradient-based auto-tuning for machine learning and deep learning models |
US11544494B2 (en) | 2017-09-28 | 2023-01-03 | Oracle International Corporation | Algorithm-specific neural network architectures for automatic machine learning model selection |
US11321133B2 (en) | 2018-06-08 | 2022-05-03 | International Business Machines Corporation | Determining an allocation of stage and destage tasks by using a machine learning module |
US11748654B2 (en) | 2018-06-25 | 2023-09-05 | Nasdaq, Inc. | Systems and methods of windowing time series data for pattern detection |
US11048727B2 (en) | 2018-09-10 | 2021-06-29 | Ciena Corporation | Systems and methods for automated feature selection and pattern discovery of multi-variate time-series |
US11341281B2 (en) | 2018-09-14 | 2022-05-24 | International Business Machines Corporation | Providing differential privacy in an untrusted environment |
US11790242B2 (en) | 2018-10-19 | 2023-10-17 | Oracle International Corporation | Mini-machine learning |
US11392859B2 (en) | 2019-01-11 | 2022-07-19 | Microsoft Technology Licensing, Llc | Large-scale automated hyperparameter tuning |
US11429895B2 (en) | 2019-04-15 | 2022-08-30 | Oracle International Corporation | Predicting machine learning or deep learning model training time |
US11868854B2 (en) | 2019-05-30 | 2024-01-09 | Oracle International Corporation | Using metamodeling for fast and accurate hyperparameter optimization of machine learning and deep learning models |
US20210390466A1 (en) | 2020-06-15 | 2021-12-16 | Oracle International Corporation | Fast, predictive, and iteration-free automated machine learning pipeline |
US11989657B2 (en) | 2020-10-15 | 2024-05-21 | Oracle International Corporation | Automated machine learning pipeline for timeseries datasets utilizing point-based algorithms |
-
2019
- 2019-04-18 US US16/388,830 patent/US11620568B2/en active Active
-
2020
- 2020-04-02 CN CN202080038456.0A patent/CN114008641A/zh active Pending
- 2020-04-02 WO PCT/US2020/026376 patent/WO2020214428A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US11620568B2 (en) | 2023-04-04 |
WO2020214428A1 (en) | 2020-10-22 |
US20200334569A1 (en) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11620568B2 (en) | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection | |
EP3857377B1 (en) | Disk drive failure prediction with neural networks | |
US11544630B2 (en) | Automatic feature subset selection using feature ranking and scalable automatic search | |
US20200097810A1 (en) | Automated window based feature generation for time-series forecasting and anomaly detection | |
US12079282B2 (en) | Name matching engine boosted by machine learning | |
US20210390466A1 (en) | Fast, predictive, and iteration-free automated machine learning pipeline | |
US20220129791A1 (en) | Systematic approach for explaining machine learning predictions | |
US11615265B2 (en) | Automatic feature subset selection based on meta-learning | |
US11205050B2 (en) | Learning property graph representations edge-by-edge | |
US12020131B2 (en) | Sparse ensembling of unsupervised models | |
US20220027777A1 (en) | Generalized expectation maximization | |
US20220188645A1 (en) | Using generative adversarial networks to construct realistic counterfactual explanations for machine learning models | |
US20220198277A1 (en) | Post-hoc explanation of machine learning models using generative adversarial networks | |
CN114429170A (zh) | 用于比较异常检测模型的异常分数的分离最大化技术 | |
US20200257982A1 (en) | Categorical feature encoding for property graphs by vertex proximity | |
CN113785313A (zh) | 机器学习中用于不平衡缓解和数据集大小缩减的自适应采样 | |
US12061872B2 (en) | Non-lexicalized features for language identity classification using subword tokenization | |
US11615309B2 (en) | Forming an artificial neural network by generating and forming of tunnels | |
US20240095231A1 (en) | Expert-optimal correlation: contamination factor identification for unsupervised anomaly detection | |
Ansari | Deep Learning and Artificial Neural Networks | |
US20240355469A1 (en) | System and method for processing unstructured dataset corresponding to a lung cancer technical field | |
US20240370500A1 (en) | Name matching engine boosted by machine learning | |
Arora et al. | 19 Novel Deep-Learning Approaches for Future Computing Applications | |
CN118871933A (zh) | 用于无监督异常检测的学习超参数缩放模型 | |
WO2024063828A1 (en) | Expert-optimal correlation: contamination factor identification for unsupervised anomaly detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |