CN114207635A - 使用元建模对机器学习和深度学习模型进行快速准确的超参数优化 - Google Patents

使用元建模对机器学习和深度学习模型进行快速准确的超参数优化 Download PDF

Info

Publication number
CN114207635A
CN114207635A CN202080047804.0A CN202080047804A CN114207635A CN 114207635 A CN114207635 A CN 114207635A CN 202080047804 A CN202080047804 A CN 202080047804A CN 114207635 A CN114207635 A CN 114207635A
Authority
CN
China
Prior art keywords
hyper
training
configuration
parameter
dataset
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
Application number
CN202080047804.0A
Other languages
English (en)
Inventor
A·莫哈尔
V·瓦拉达拉珍
S·伊蒂库拉
S·阿格拉瓦尔
N·阿加瓦尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN114207635A publication Critical patent/CN114207635A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本文是训练(一个或多个)回归器以预测机器学习模型(MLM)如果用新的超参数和/或数据集训练将多有效的技术。在实施例中,对于每个训练数据集,计算机从数据集导出数据集元特征的值。针对MLM的包括特征点超参数配置的每个HC,计算机执行:基于HC来配置MLM,基于数据集来训练MLM,并获得指示当配置有HC时训练MLM如何有效的经验质量分数。生成性能元组,该性能元组包含:HC、数据集元特征的值、经验质量分数,以及对于每个特征点配置的:特征点配置的经验质量分数和/或特征点配置本身。基于性能元组,回归器被训练以基于给定的数据集和给定的HC来预测估计的质量分数。

Description

使用元建模对机器学习和深度学习模型进行快速准确的超参 数优化
技术领域
本发明涉及机器学习(ML)模型的超参数优化。本文是训练(一个或多个)回归器以预测机器学习(ML)模型如果被配置有新的超参数值和/或在新数据集上训练则将多有效的技术。
背景技术
诸如深度学习(DL)之类的机器学习(ML)的使用正在行业和业务部门中迅速传播开,并且正在成为一些公司内无处不在的工具。优化ML模型的方法需要调优它的作为配置设置的超参数。在超参数调优期间,用不同的(例如改进的)超参数值反复训练ML模型,以探索多维配置超空间。该探索可能是时间和/或空间的资源密集型的。超参数设置对模型性能(例如准确性、f1分数等)有很强的影响。对模型的超参数进行调优非常困难,并且可能相当耗时,尤其是对于较大的数据集。
ML模型的超参数优化对于许多应用是必不可少的。这是因为在大多数情况下,超参数的默认值不导致表现最佳的模型。在超参数优化期间,为了让优化器探索超参数空间,使用不同的超参数值在数据集上多次训练和验证ML模型。这样的探索是耗时的。
与经典的凸优化问题不同,至少由于以下三个原因,ML模型的超参数优化是独特且具有挑战性的问题:
·黑盒优化:通常没有已知的分析公式来将ML模型的性能表示为其超参数的函数。这意味着人们不能依赖经典(例如凸)优化方法来找到最佳值,并且探索配置超空间的唯一方法是通过需要使用一组超参数值的训练和评估的试验。
·训练缓慢:单个模型的训练时间代价大,并且调优需要重新训练模型并在每次调优会话中对它们多次评估。
·大量的超参数:在深度神经网络模型中尤其如此,这些深度神经网络模型通常在每一层具有大量的超参数,诸如层数、神经元数、丢弃、L2正则化等,以及激活和优化器参数。
附图说明
在附图中:
图1A是描绘了示例计算机的框图,该示例计算机训练回归器以预测机器学习(ML)模型如果配置有新的超参数值和/或在新的数据集上训练则将多有效;
图1B是描绘了示例计算机的框图,该示例计算机使用超级星(hyperstar)来快速而简洁地揭示神秘配置超空间的一些轮廓;
图2是描绘了示例计算机过程的流程图,该过程用于训练回归器以预测机器学习(ML)模型如果配置有给定的超参数值且在给定的数据集上训练则将多有效。
图3是描绘了使用双回归器来适应(例如非同寻常的(extraordinary))数据集的示例计算机的框图;
图4是图示了可在其上实现本发明的实施例的计算机系统的框图;
图5是图示了可用于控制计算系统的操作的基本软件系统的框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以提供对本发明的透彻理解。然而,将明显的是,可以在没有这些具体细节的情况下实践本发明。在其他情况下,众所周知的结构和设备以框图形式显示以避免不必要地模糊本发明。
总体概述
为了针对冷启动(即未经训练的元模型或不熟悉的数据集)准备元模型(即元学习超参数优化器),在探索具有更有希望的超参数值集合的区域之前,若干初始点用于粗略调查用于配置机器学习(ML)模型的多维超参数空间。为了获得每个点,ML模型需要在数据集上被训练/评估,这通常是耗时的。大量的超参数导致优化器的搜索空间的高维性,这又可能会加剧冷启动问题:优化器需要更多的点来更好地覆盖高维搜索空间。
基于元学习的超参数优化过程包括以下三个阶段:
1.模型训练:通过用数据集重复训练模型来生成元数据集;
2.元模型训练:使用元数据集训练元模型;
3.推断:通过元模型针对新数据集进行模型超参数优化。
所有这些阶段都需要训练模型。第二阶段需要训练通用元模型。在实施例中,在线的第三阶段需要训练专用于新数据集的附加元模型。
在离线的训练阶段1-2中,需要跨数据集的语料库收集元数据集。为了搜集元数据,通过跨每个数据集的一系列值改变超参数并记录数据集和超参数配置的每个不同配对获得的分数来训练ML模型。这包括生成一组配置超级星(即特征点(landmark)),它们是可以跨多个数据集重用的性能参考点。超级星可用于快速而简洁地揭示神秘配置超空间和/或数据集的一些轮廓。本文中超级星用于针对元学习回归器使质量分数预测灵活且更准确。
数据集元特征针对每个数据集获得,并与超级星、当前的超参数配置和对应的性能分数相结合。回归器(即元模型)在元数据集上被调优和训练以针对模型预测性能分数。经过训练的回归器用于在线的第三阶段以引导超参数调优。这是通过首先从新的元数据集中提取元特征并将它们与一组(例如随机生成的)超参数组合来完成的。经过训练的回归器可针对新数据集预测每个生成的超参数配置的分数,并在具有最高预测分数的超参数配置上训练模型。
在线的第三阶段需要通过通用元模型进行推断,以用于在给定新数据集的情况下对ML模型进行超参数优化。关于新数据集的元特征与经过训练的元模型一起用于热启动超参数优化算法。通用元模型为随机生成的超参数配置集中的每一个预测ML模型的性能分数。具体地,为新数据集获得(例如从中提取)静态和动态元特征。生成许多超参数配置,并且将每一个与元特征相结合。一些顶级(top)预测的超参数配置可以被选择来用它们评估ML模型。与实际模型评估(即训练和验证)相比,预测阶段的运行时开销通常微不足道。
在实施例中,对于每个训练数据集,计算机从训练数据集导出数据集元特征的值。针对机器学习(ML)模型的包括特征点超参数配置的每个超参数配置,计算机执行:基于超参数配置来配置ML模型,基于训练数据集来训练ML模型,并获得指示当配置有超参数配置时指示训练ML模型如何有效的经验质量分数。生成性能元组,该性能元组包含:超参数配置、数据集元特征的值、经验质量分数,以及对于每个特征点配置包含特征点配置的经验质量分数。基于性能元组,回归器被训练以基于给定的数据集和给定的超参数配置来预测估计的质量分数。
在回归器用多个数据集训练以用于最终与许多新数据集重用的意义上而言,回归器是通用的。在实施例中,附加的回归器专用于学习和推断新的(即不熟悉的)数据集并且不暴露于其他数据集。在实施例中,通用回归器可以作为专用回归器的“训练轮”操作,使得通用回归器代替专用回归器或与专用回归器一起使用,至少直到专用回归器已经有足够的训练来针对新数据集胜过通用回归器。在实施例中,两个回归器的协作需要对它们置信加权以反映到目前为止专用回归器被训练得多好,并且专用回归器的训练仍在进行中。在实施例中,置信权重被重复调整以有利于专用回归器,以反映训练中专用回归器的性能质量的单调改进。
1.0示例计算机
图1A-图1B是实施例中交替地描绘相同示例计算机100的框图。在图1A中,计算机100训练回归器以预测机器学习(ML)模型如果配置有新的超参数值和/或在新的数据集上训练则将多有效。计算机100可以是诸如刀片之类的机架服务器、个人计算机、大型机、虚拟计算机、智能电话或其他计算设备中的一个或多个。
计算机100可以在其存储器内存储两个ML模型130和150。取决于实施例,ML模型130被设计用于聚类、分类、回归、异常检测、预测或降维(即简化)。ML算法的示例包括决策树、支持向量机(SVM)、贝叶斯网络、诸如遗传算法(GA)之类的随机算法以及诸如人工神经网络(ANN)之类的联结主义拓扑。ML的实现可能依赖于矩阵、符号模型和分层和/或关联数据结构。同类最佳ML模型类型的参数化(即可配置的)实现可以在开源库(诸如scikit-learn(sklearn)、用于Python和C++的Google的TensorFlow或用于C++的乔治亚理工学院的MLPack)中找到。Shogun是开源C++ML库,其带有用于若干编程语言(包括C#、Ruby、Lua、Java、MatLab、R和Python)的适配器。
ML模型130可以具有许多模型类型中的一种。每种模型类型可以具有可调整的属性(即诸如X-Y之类的超参数),这些属性可以被优化以在训练和/或推断期间以各种方式(诸如提高的推断准确性和/或减少的(一个或多个)资源(诸如时间和/或空间)的消耗)提高性能。不同的模型类型有不同数量和不同种类的超参数。
在训练之前,ML模型130应该被指派配置,诸如不同的配置180的121-122。每个配置由超参数X-Y中的每一个的相应值组成。例如,对于配置121,超参数X的值为5.5。
超参数X-Y中的每一个都具有一系列多个(例如无限多个)值。超参数X-Y的组合表示超维配置空间,其中超参数X-Y中的每一个都是配置空间的一个维度。
ML模型130的生命周期有两个阶段。第一阶段是准备性的,并且需要进行如图所示的诸如在实验室中的训练。第二阶段需要在生产环境中诸如使用实时和/或流数据进行推断(未显示)。
在推断期间,ML模型130被应用于(例如不熟悉的)样本,该样本可以作为输入被注入到ML模型130中。这导致ML模型130根据ML模型130的内部机制来处理样本,该内部机制是根据ML模型130在先前训练期间的强化学习而专门配置的。例如,如果ML模型130是分类器,则ML模型130可以为样本选择多个互斥标签(即分类)(诸如热和冷)中的一个。
在训练期间,配置空间的探索可以更改ML模型130的性能,这可以实现(一个或多个)改进和/或(一个或多个)降级。例如,改变(一个或多个)超参数的(一个或多个)值可能同时导致训练加速和降低的准确性。
ML模型130的监督训练可能需要处理训练语料库170以用于强化学习。训练语料库170至少包含训练数据集111-112,训练数据集可以各自包含文件、记录或ML模型130可以从中形成实现概括的印象的其他数据对象。
数据集111-112各自具有或多或少不同的内容。例如,数据集111可以包含彩色照片,而数据集112可以包含单色照片。在实施例中,训练语料库170本身是整体数据集,数据集111-112可以从该整体数据集中被分离为整体数据集的非重叠的交叉验证折叠(即部分)。用于概念证明的免费可用的基准数据集包括OpenML的二进制分类数据集。
无论数据集111-112多么相似或不相似,一些概括都是可能的,使得训练语料库170内的所有数据集对于相同的元特征集合都有它们自己的(例如不同的)值,这些元特征将数据集描述为整体,而或多或少地不考虑数据集中的任何特定项。例如,一个元特征可以计算呈现数据集中所有照片所需的调色板中有多少颜色,如果数据集是单色的,则其可能具有较小的整数值。
例如,元特征A可以是数据集中所有照片的平均亮度。例如,对于数据集111,元特征A的值是1.1。元特征的值可以符合相同的数据类型,诸如整数、实数或分类的,诸如具有一系列值的照片取向,诸如纵向和横向(portrait and landscape)。
从诸如111-112之类的数据集导出元特征A-B取决于实施例。元特征导出的示例包括训练数据集中项(即示例、样本)的计数、训练数据集中项的特征的计数或训练数据集中特征的值的统计矩(例如,第一、第二、第三、均值或方差)。其他元特征可能有更复杂的导出,诸如训练数据集中的第一特征和训练数据集中的分类标签或第二特征之间的互信息。
在训练期间,ML模型130被(例如同时)反复重新配置和重新训练,每次使用111-112的训练数据集和121-122的配置的不同配对。因为ML模型130的训练性能取决于哪个配置和哪个数据集,所以每次训练运行实现其自己的(例如不同的)显示为质量分数的性能测量结果。质量分数可以是准确性、误差、精确性、召回率、它们的组合或指示机器学习模型130被训练得多好的其他度量。
使用不同数据集和不同超参数值的不同分数,可以基于训练语料库170和配置180生成性能元组140。当忽略所示的说明性标题行时,例如,语料库170的第一数据行和配置180的第一数据行与它们共同实现的质量分数相结合,这形成性能元组140的第一数据行。
检测新超参数值的可能质量分数的一种方法是用这些值实际配置ML模型130并实际测量从训练ML模型130实现的质量。然而,ML模型130的训练时间可能是大量的,并且伴随着中央处理单元(CPU)电力消耗。如下在本文中,可以通过替代地让回归器150预测ML模型130的质量分数来节省时间和能量,而无需基于新的超参数值实际配置和训练ML模型130。例如,当用新的数据集和/或新的超参数配置进行推断时,回归器150可以预测ML模型130将实现估计的质量分数160。
计算机100进行元学习,因为预测回归器150通过观察ML模型130的性能来学习。性能元组140可以用作回归器150的训练数据集以进行学习以预测其他数据集和/或其他超参数配置的质量分数。例如,性能元组140的每行可以被编码为特征向量(例如其一部分),在训练期间回归器150可以被应用于该特征向量。
在实施例中,回归器150是学习质量分数、模型超参数和/或数据集元特征之间的相关性的随机森林或由该随机森林伴随。随机森林可以自然地为模型和/或数据集提供ML可解释性(MLX)。例如,随机森林可以揭示哪些超参数和/或元特征对影响质量分数最重要或最不重要。
在实施例中,对于给定的数据集,计算机100可以通过探索ML模型130的配置超空间,来发现潜在地或实际上实现最佳质量分数的有希望的超参数配置。例如,在回归器150被训练之后,随机下降(未显示)或其他多维优化可以利用(例如越来越好)不同的超参数配置来重复调用回归器150,以最终达到最佳配置。例如,诸如hyperopt之类的开源工具可以提供通过重复调用回归器150来优化的工具(harness)。在实施例中,最佳或一些最佳(即固定数量的)预测的(一个或多个)超参数配置用于实际训练ML模型130以验证预测和/或选择经验上最佳的配置。
这样的探索的终止(即收敛)标准取决于实施例。例如,回归器150可以被调用几次以快速找到好的配置,或者可以被调用多次以费力地找到好得多的配置。回归器150预测的任何质量分数和/或优化探索提出的任何超参数配置可能或可能不后续通过实际训练ML模型130而被经验地验证。
以下示例伪代码可以实现示例超参数优化。
Figure BDA0003441329400000091
2.0超级星
在图1B中,相同计算机100使用超级星来快速而简洁地揭示神秘配置超空间的一些轮廓。在图1B所示的各种表格数据结构中,显示为空的单元格实际上包含未显示的实际值。
虽然具有质量分数、数据集元特征和超参数配置的训练性能元组提供了好的信息,但该元组不足以描述可能的操作性能的自然范围,诸如对于相同的ML模型的其他超参数配置和/或其他数据集可能的质量分数。本文中,超级星是配置超空间内的点,其用作特征点,诸如185,并被引入以使质量分数预测对于回归器(例如150)灵活且更准确。
ML模型130的训练最初可以使用特征点配置185,其是在训练期间使用的配置180的小子集。特征点配置185被示为具有一些空单元格的表格。每个空单元格实际上包含训练数据集或ML模型130的超参数X或Y的相应标识符,其中特征点I-L中的每一个都具有这样的值的唯一组合。
用于生成特征点配置185的单独特征点I-L的示例启发法如下。在实施例中,针对每个超参数X-Y独立生成(一个或多个)特征点,而剩余的超参数保持恒定。在实施例中,剩余的超参数被设置为它们相应的默认值或它们相应的的值范围的相应中点。在实施例中,未保持恒定的超参数根据启发法(heuristic)而改变。
例如,对于不保持恒定的超参数,最小值、最大值、中点、默认值和/或规则网格间隔可能出现在特征点中。例如,如果超参数X具有4-10的整数范围,并且超参数Y默认为5,那么表示为(超参数X,超参数Y)的一些特征点配置可以是(4,5)、(4+10/2=7,5)和(10,5)。其他特征点配置可以替代地改变Y。默认值可以是人工产生的,例如通过实验或供应商推荐。
非特征点配置的生成可以使用随机值、默认值、网格间隔或由有状态的活动(诸如用梯度、二分查找、邻域或其他探索(例如优化))发现的值。这里,有状态的生成意味着后续配置可以(例如,贪婪地或随机地)基于先前的配置,诸如通过内插、外推或细化(诸如通过随机下降)。
最初,训练实际上使用对于ML模型130的特征点配置185并捕获显示为特征点配置185的最右侧的列的质量分数。在特征点配置185具有质量分数之后,ML模型130的训练可以用其他超参数配置和/或数据集继续,并且性能元组140的生成可以开始。
可以如上所讨论地生成性能元组140,以及一些附加的数据填充。性能元组140的每行(即元组)存储在性能元组140中显示为特征点分数I-L的每个特征点的相应质量分数。
在回归器150的训练之后,回归器150可以对新的数据集(诸如113)和/或新的超参数配置做预测。如图所示,用于推断的输入元组可以包括新数据集113的元特征、ML模型130的超参数和特征点分数。例如,当在生产环境中时,新生产数据集113的处理可以通过用新数据集113和特征点配置I-L实际训练ML模型130开始以生成生产输入表中所示的特征点分数。
在实施例中,这些配置特征点和/或它们的实现的质量分数作为特征被编码为特征向量,回归器150可以用该特征向量来训练或以其他方式应用。因此,新数据集的配置超空间的性能总览的(例如,非常)低分辨率概述可以被提供给回归器150,以提高回归器预测的准确性。
计算机100可以至少生成具有不同值集并且在至少超参数X-Y的配置超空间内良好地(例如均匀地和广泛地)间隔开的特征点配置I-L。特征点配置X-Y应该是至少提供配置超空间内的总览(即梯度)的一瞥的代表性的样本。例如,一旦特征点配置I-L的性能度量是已知的,那么一些外推和/或内插可以是可能的(即有些有效的)。在实施例中,生成固定数量的特征点配置。在实施例中,特征点配置的数量取决于涉及多少超参数(即维度)。用于生成特征点配置的技术在本文中稍后讨论。
以下示例伪代码获得用于训练预测回归器的元数据集。
Figure BDA0003441329400000111
3.0示例回归器训练过程
图2是描绘了实施例中计算机100训练回归器以预测机器学习(ML)模型如果配置有给定的超参数值并且在给定的数据集上训练则将多有效的流程图。参考图1A-图1B讨论图2。
图2的过程训练ML模型130和150两者。在步骤201-205中,用各种超参数配置重复训练目标ML模型130以收集目标性能数据。步骤206基于性能数据训练预测回归器150。
在实施例中,步骤206可以与其他步骤具有流水线并行性。例如,每当其他步骤生成单独的性能元组或一批元组时,该元组或批可以在等待或不等待其他步骤以生成所有性能元组的情况下由步骤206处理。
针对训练语料库中的每个训练数据集重复步骤201-205。步骤201是准备性的并且获得如以上针对图1A-图1B所讨论的当前训练数据集的元特征的值。在实施例中,步骤201针对不同的训练数据集同时发生。
针对ML模型130的许多不同超参数配置中的每一个重复步骤202-205。ML模型130的实际训练使用当前数据集和当前超参数配置在步骤202-204期间发生。在超参数配置180内是特征点配置185,其首先由步骤202-204处理。
步骤202用当前超参数配置来配置ML模型130,并且步骤203用当前数据集训练ML模型130。因此,步骤204能够测量相应的质量分数,该质量分数捕获具有当前超参数和数据集的ML模型130多有效(例如准确)。在实施例中,可以诸如通过独立的计算机和/或处理器核针对每个超参数配置同时重复步骤202-205。
步骤205基于质量分数、当前超参数和数据集以及如上所讨论的特征点分数生成性能元组。例如,性能元组140由步骤205的相应单独发生来单独生成。
在步骤202-204中重复地重新训练ML模型130之后,ML模型130可以稍后在更多训练运行中被重新训练,诸如当预测回归器150被最终(例如由hyperopt)用于进一步探索ML模型130的配置超空间以找到更多有可能改进的超参数配置,并有望找到新的最佳配置时被重新训练。
步骤206通过训练回归器150实现元学习以做出关于ML模型130的性能预测。如本文所讨论的,性能元组140内的特征点分数加速回归器150的训练并增加回归器150的准确性。
4.0双回归器
图3是描绘了实施例中示例计算机300的框图。计算机300使用双回归器来适应(例如非同寻常的)数据集。计算机300可以是计算机100的实现。在图3所示的表格数据结构中,显示为空的单元格实际上包含未显示的实际值。
共享回归器351部署在生产推断模式中,并且可以是之前讨论的回归器的实现。因此,共享回归器351已经在许多数据集上被训练,并旨在重用以在进行或不进行重新训练的情况下对多个新数据集(诸如310)做预测。
由于共享回归器351的性能训练语料库(未显示)内的项数量众多,统计数据可能具有导致共享回归器351的强化学习的中心趋势(例如模式)。在强化训练后,共享回归器351准备充分以识别处理常见示例的目标ML模型(未显示)的性能总览,常见示例可能或多或少地填充由目标ML模型处理的普通数据集。然而,目标ML模型的不常见数据集可能(例如偶然地)具有很多异常数据,这可能如下降低目标ML模型和共享回归器351的准确性。
不常见的目标数据集可能需要目标ML模型的不常见的(例如未发现的)超参数值。先前表现好的超参数值可能对于不寻常的目标数据集表现不佳。因此,共享回归器351可以被训练以针对不寻常的数据集(诸如310)做出有些不准确的预测。计算机300具有以下三种策略用于适应新数据集(例如不寻常的数据集)。
首先,最好有专用回归器,诸如352,它只用新的数据集310训练以针对数据集310做出特殊的预测。例如,在只用数据集310训练后,专用回归器352可以(例如由hyperopt)用于针对数据集310发现比共享回归器351可以发现的更好的目标超参数配置。
其次,尽管专用回归器352潜在地(即最终)比共享回归器351更好,但专用回归器352在新数据集310到达时最初未经训练。而共享回归器351已经被完全训练。因此,至少最初,最好使用共享回归器351做出关于新数据集310的预测。
在实施例中,回归器351-352的预测是置信加权的。共享回归器351最初可能具有中等或有些高的置信度。而未经训练的专用回归器352最初可能具有低置信度或没有置信度。
随着专用回归器352的训练的进行,专用回归器352的置信度单调增加,诸如按照时间表,诸如根据时间、迭代、到目前为止训练使用的性能元组、误差和/或其他收敛标准。在实施例中,回归器351-352中当前具有更大的权重的回归器对选择超参数配置值具有更大的影响。在多维优化(例如hyperopt)实施例中,回归器351-352中的每一个将所提出的超参数配置分别排名为排名R1和R2(未示出)。然后排名根据回归器351的权重W1和回归器352的W2被重新调节(rescale)。超参数配置的最终排名是R,其为R1*W1+R2*W2。在重新调节所有其他超参数配置的排名后,具有最高排名的顶级配置被选择。在实施例中,当专用回归器352的置信度超过阈值或超过共享回归器351的置信度达某个阈值量时,则回归器351不再用来针对新数据集310做预测。
计算机300适应新数据集310的第三方式涉及特征点分数M-N。即使共享回归器351没有关于新数据集310的训练经验,特征点分数M-N也或多或少直接提供了新数据集310的性能总览的粗略概述。因此,特征点分数M-N提高回归器351-352的准确性并加速专用回归器352的训练。
在所示的实施例中,回归器351-352两者重用相同的特征点配置以实现不同的特征点分数。在未显示的实施例中,用于训练回归器352的特征点配置可以包括用于回归器351的固定数量的最佳(例如非特征点)配置。
专用回归器352对于新数据集310的结果是元特征E-F的值贯穿专用回归器352的生命(即训练和推断)是恒定的,这意味着元特征E-F对专用回归器352的操作没有影响。因此,所有元特征E-F都与专用回归器352无关并且永远不需要被提供给专用回归器352。
在所示实施例中,指向回归器351-352的虚线箭头指示性能特征的哪个子集(即列)被提供给哪个回归器。如图所示,共享回归器351期望所有列。如图所示,元特征E-F不被提供给专用回归器352。
在所示的实施例中,特征点分数M-N未被提供给专用回归器352。替代地并且尽管未显示,但是特征点分数可以针对专用回归器352被调换,使得特征点作为具有存储在质量分数列中的相应的特征点分数的单独性能元组被提供给专用回归器352。
在那些方式中并且如图所示,专用回归器352可被应用于比共享回归器352的性能特征向量更窄(即更少字节)的性能特征向量。
下面的示例伪代码通过专用回归器R2实现元学习,该回归器R2由已经训练的通用回归器R1伴随。
Figure BDA0003441329400000161
硬件概览
根据一个实施例,本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是硬连线来执行这些技术的,或者可以包括被持久地编程以执行技术的数字电子设备,诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA),或者可以包括被编程为根据固件、存储器、其他存储装置或组合中的程序指令执行技术的一个或多个通用硬件处理器。这样的专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制编程相结合来完成技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或并入了硬连线和/或程序逻辑以实现技术的任何其他设备。
例如,图4是图示了可以在其上实施本发明的实施例的计算机系统400的框图。计算机系统400包括总线402或用于传送信息的其他通信机制,以及与总线402耦合用于处理信息的硬件处理器404。硬件处理器404可以是例如通用微处理器。
计算机系统400还包括耦合到总线402的主存储器406,诸如随机存取存储器(RAM)或其他动态存储设备,用于存储要由处理器404执行的指令和信息。主存储器406也可以用于在要由处理器404执行的指令的执行期间存储临时变量或其他中间信息。当这样的指令存储在处理器404可访问的非暂时性存储介质中时,使得计算机系统400成为被定制为执行指令中指定的操作的专用机器。
计算机系统400还包括耦合到总线402的只读存储器(ROM)408或其他静态存储设备,用于为处理器404存储静态信息和指令。存储设备410,诸如磁盘、光盘或固态驱动器被提供并耦合到总线402以用于存储信息和指令。
计算机系统400可以经由总线402耦合到显示器412,诸如阴极射线管(CRT),用于向计算机用户显示信息。包括字母数字键和其他键的输入设备414被耦合到总线402以用于将信息和命令选择传送到处理器404。另一种类型的用户输入设备是光标控件416,诸如用于将方向信息和命令选择传送到处理器404并用于控制显示器412上的光标移动的鼠标、轨迹球或光标方向键。此输入设备通常在两个轴(第一轴(例如,x)和第二轴(例如,y))中具有两个自由度,其允许设备指定平面中的位置。
计算机系统400可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,这些定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统相结合使得计算机系统400成为或将计算系统400编程为专用机器。根据一个实施例,本文中的技术由计算机系统400响应于处理器404执行包含在主存储器406中的一个或多个指令的一个或多个序列而执行。这样的指令可以从另一存储介质(诸如存储设备410)被读入主存储器406中。包含在主存储器406中的指令序列的执行使得处理器404执行本文描述的处理步骤。在替代实施例中,可以代替或结合软件指令使用硬连线电路。
本文使用的术语“存储介质”是指存储使得机器以具体方式操作的数据和/或指令的任何非暂时性介质。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘、磁盘或固态驱动器,诸如存储设备410。易失性介质包括动态存储器,诸如主存储器406。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、任何带有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、NVRAM、任何其他存储芯片或磁带盒。
存储介质不同于传输介质,但可以与传输介质结合使用。传输介质参与存储介质之间的信息传递。例如,传输介质包括同轴线缆、铜线和光纤,包括包含总线402的电线。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光波。
在将一个或多个指令的一个或多个序列携带到处理器404以用于执行时可能涉及各种形式的介质。例如,指令最初可以被携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机系统400本地的调制解调器可以接收电话线上的数据并使用红外线发射器将数据转换成红外线信号。红外线检测器可以接收红外线信号中携带的数据,并且适当的电路可以将数据放置在总线402上。总线402将数据携带到主存储器406,处理器404从主存储器406检索并执行指令。主存储器406接收的指令在由处理器404执行之前或之后可以可选地被存储在存储设备410上。
计算机系统400还包括耦合到总线402的通信接口418。通信接口418提供到被连接到本地网络422的网络链路420的双向数据通信耦合。例如,通信接口418可以是集成服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器,或提供到对应类型电话线的数据通信连接的调制解调器。作为另一个示例,通信接口418可以是提供到兼容LAN的数据通信连接的局域网(LAN)卡。也可以实现无线链路。在任何这样的实现中,通信接口418发送和接收携带表示各种类型的信息的数字数据流的电、电磁或光信号。
网络链路420通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路420可以提供通过本地网络422到主机424或到由因特网服务提供商(ISP)426操作的数据设备的连接。ISP 426继而通过现在通常被称为“因特网”428的全球分组数据通信网络提供数据通信服务。本地网络422和因特网428两者都使用携带数字数据流的电、电磁或光信号。通过各种网络的信号和网络链路420上的以及通过通信接口418的信号(这些信号将数字数据携带到计算机系统400以及从计算机系统400携带数字数据)是传输介质的示例形式。
计算机系统400可以通过(一个或多个)网络、网络链路420和通信接口418发送消息和接收数据,包括程序代码。在因特网示例中,服务器430可以通过因特网428、ISP 426、本地网络422和通信接口418发送应用程序的请求代码。
接收到的代码可以在其被接收到时由处理器404执行,和/或被存储在存储设备410或其他非易失性存储装置中以用于稍后执行。
软件概述
图5是可用于控制计算系统400的操作的基本软件系统500的框图。软件系统500及其组件,包括它们的连接、关系和功能,仅意味着是示例性的,并且不意味着限制(一个或多个)示例实施例的实现。适用于实施(一个或多个)示例实施例的其他软件系统可以具有不同的组件,包括具有不同连接、关系和功能的组件。
软件系统500被提供用于指导计算系统400的操作。可以被存储在系统存储器(RAM)406和固定存储装置(例如,硬盘或闪存)410上的软件系统500包括内核或操作系统(OS)510。
OS 510管理计算机操作的低级别方面,包括管理进程的执行、存储器分配、文件输入和输出(I/O)以及设备I/O。表示为502A、502B、502C…502N的一个或多个应用程序可以被“加载”(例如,从固定存储装置410传递到存储器406中)以由系统500执行。旨在用于在计算机系统400上使用的应用或其他软件还可以被存储为一组可下载的计算机可执行指令,例如,用于从因特网位置(例如,Web服务器、应用商店或其他在线服务)下载和安装。
软件系统500包括图形用户界面(GUI)515,用于以图形(例如,“点击”或“触摸手势”)方式接收用户命令和数据。这些输入继而可以由系统500根据来自操作系统510和/或(一个或多个)应用502的指令采取行动。GUI 515还用于显示来自OS 510和(一个或多个)应用502的操作结果,用户可以对其提供附加的输入或终止会话(例如,注销)。
OS 510可以直接在计算机系统400的裸硬件520(例如,(一个或多个)处理器404)上执行。替代地,可以在裸硬件520和OS510之间插入管理程序或虚拟机监视器(VMM)530。在此配置中,VMM 530充当OS 510和计算机系统400的裸硬件520之间的软件“缓冲”或虚拟化层。
VMM 530实例化并运行一个或多个虚拟机实例(“访客机器”)。每个访客机器包括“访客”操作系统(诸如OS 510)以及设计成在访客操作系统上执行的一个或多个应用(诸如(一个或多个)应用502)。VMM 530向访客操作系统呈现虚拟操作平台并管理访客操作系统的执行。
在一些情况下,VMM 530可以允许访客操作系统像它直接在计算机系统500的裸硬件520上运行一样运行。在这些情况下,被配置为直接在裸硬件520上执行的相同版本的访客操作系统也可以在VMM 530上执行而无需修改或重新配置。换句话说,在一些情况下,VMM530可以向访客操作系统提供完整的硬件和CPU虚拟化。
在其他情况下,为了效率,访客操作系统可以被专门设计或配置为在VMM 530上执行。在这些情况下,访客操作系统“知道”它在虚拟机监视器上执行。换句话说,在一些情况下,VMM 530可以向访客操作系统提供半虚拟化。
计算机系统进程包括硬件处理器时间的分配和存储器(物理的和/或虚拟的)的分配,存储器的分配用于存储由硬件处理器执行的指令,用于存储由硬件处理器执行指令所生成的数据,和/或用于存储在计算机系统进程未运行时在硬件处理器时间的分配之间的硬件处理器状态(例如寄存器的内容)。计算机系统进程在操作系统的控制下运行,并且可以在正在计算机系统上执行的其他程序的控制下运行。
云计算
术语“云计算”在本文中通常用于描述一种计算模型,该模型实现按需访问计算资源的共享池,诸如计算机网络、服务器、软件应用和服务,并且允许以最小的管理工作或服务提供商交互来快速供应和发布资源。
云计算环境(有时被称为云环境或云)可以通过各种各样的不同方式实现,以最佳地适合不同的需求。例如,在公共云环境中,底层计算基础设施由使其云服务可用于其他组织或一般公众的组织拥有。相比之下,私有云环境通常仅旨在供单个组织使用或在单个组织内使用。社区云旨在由社区内的若干组织共享;而混合云包括通过数据和应用可移植性绑定在一起的两种或更多种类型的云(例如,私有、社区或公共)。
通常,云计算模型使先前可能已经由组织自己的信息技术部门提供的那些职责中的一些替代地被交付为云环境内的服务层,供消费者(无论是组织内部还是外部的,根据云的公共/私有性质)使用。取决于特定的实现,由每个云服务层或在每个云服务层内提供的组件或特征的精确定义可能改变,但常见示例包括:软件即服务(SaaS),其中消费者使用在云基础设施上运行的软件应用,而SaaS提供商管理或控制底层云基础设施和应用。平台即服务(PaaS),其中消费者可以使用PaaS提供商支持的软件编程语言和开发工具来开发、部署和以其他方式控制他们自己的应用,而PaaS提供商管理或控制云环境的其他方面(即,运行时执行环境下的一切)。基础设施即服务(IaaS),其中消费者可以部署和运行任意软件应用,和/或提供处理、存储、网络和其他基础计算资源,而IaaS提供商管理或控制底层物理云基础设施(即,操作系统层以下的一切)。数据库即服务(DBaaS),其中消费者使用在云基础设施上运行的数据库服务器或数据库管理系统,而DbaaS提供商管理或控制底层云基础设施和应用。
上述基本计算机硬件和软件以及云计算环境是为了说明可以用于实现(一个或多个)示例实施例的基本底层计算机组件而呈现。然而,(一个或多个)示例实施例不一定限于任何特定的计算环境或计算设备配置。相反,(一个或多个)示例实施例可以在本领域技术人员根据此本公开将理解为能够支持本文呈现的(一个或多个)示例实施例的特征和功能的任何类型的系统架构或处理环境中实现。
机器学习模型
机器学习模型使用特定的机器学习算法训练。一旦经过训练,输入就被应用于机器学习模型以做预测,其在本文中也可以被称为预测的输出或输出。输入的属性可以被称为特征并且特征的值在本文中可以被称为特征值。
机器学习模型包括模型数据表示或模型人工制品(artifact)。模型人工制品包括参数值,其在本文中可被称为θ(theta)值,并且其由机器学习算法应用于输入以生成预测的输出。训练机器学习模型需要确定模型人工制品的θ值。θ值的结构和组织取决于机器学习算法。
在监督训练中,训练数据由监督训练算法用来训练机器学习模型。训练数据包括输入和“已知”输出。在实施例中,监督训练算法是迭代过程。在每次迭代中,机器学习算法应用模型人工制品和输入来生成预测输出。预测输出和已知输出之间的误差或方差使用目标函数来计算。实际上,目标函数的输出基于迭代中模型人工制品的特定状态来指示机器学习模型的准确性。通过应用基于目标函数的优化算法,模型人工制品的θ值被调整。优化算法的示例是梯度下降。可以重复迭代直到实现期望的准确性或满足一些其他标准。
在软件实现中,当机器学习模型被称为接收输入、执行和/或生成输出或预测时,执行机器学习算法的计算机系统进程针对输入应用模型人工制品以生成预测的输出。计算机系统进程通过执行被配置为导致算法执行的软件来执行机器学习算法。
机器学习(ML)擅长的问题类别包括聚类、分类、回归、异常检测、预测和降维(即简化)。机器学习算法的示例包括决策树、支持向量机(SVM)、贝叶斯网络、诸如遗传算法(GA)之类的随机算法以及诸如人工神经网络(ANN)之类的联结主义拓扑。机器学习的实现可能依赖于矩阵、符号模型和分层和/或关联数据结构。同类最佳机器学习算法的参数化(即可配置的)实现可以在开源库(诸如用于Python和C++的Google的TensorFlow或用于C++的乔治亚理工学院的MLPack)中找到。Shogun是带有用于若干编程语言(包括C#、Ruby、Lua、Java、MatLab、R和Python)的适配器的开源C++ML库。
人工神经网络
人工神经网络(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的一列中,该矩阵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实现和前馈处理的矩阵运算在神经网络库(诸如用于Python和C++的Google的TensorFlow、用于C++的OpenNN和哥本哈根大学的快速人工神经网络(FANN))中很容易获得并且可并行化。这些库还提供模型训练算法,诸如反向传播。
反向传播
ANN的输出可能或多或少是正确的。例如,识别字母的ANN可能会将I误认为是L,因为那些字母具有相似的特征。正确的输出可能有(一个或多个)特定的值,而实际的输出可能具有有些不同的值。正确的输出和实际的输出之间的算术或几何差异可以根据损失函数被测量为误差,使得零表示无误差(即完全准确)的行为。对于任何层中的任何边,正确的输出和实际的输出之间的差异是增量值。
反向传播需要将误差以不同的量通过ANN的层向后分布到ANN内的所有连接边。误差的传播导致对边权重的调整,这取决于每条边的误差梯度。边的梯度是通过将边的误差增量乘以上游神经元的激活值来计算的。当梯度为负时,边对网络贡献的误差的量值越大,边的权重应该被减少得更多,这是负强化。当梯度为正时,则正强化需要增加其激活减少了误差的边的权重。根据边的梯度的百分比调整边权重。梯度越陡,调整越大。并非所有边权重都被调整了相同的量。随着模型训练使用附加的输入样本而继续,ANN的误差应该下降。当误差稳定(即停止减少)或在阈值以下消失(即接近零)时,训练可以停止。前馈多层感知机(MLP)的示例数学公式和技术(包括矩阵运算和反向传播)在Christopher M.Bishop的相关参考文献“多层感知机的海塞矩阵的精确计算(EXACT CALCULATION OF THE HESSIANMATRIX FOR THE MULTI-LAYER PERCEPTRON)”中教导。
模型训练可能是有监督的或无监督的。对于有监督训练,对于训练集中的每个示例,期望(即正确)的输出都是已知的。训练集是通过(例如人类专家)向每个示例指派分类标签来预先配置的。例如,光学字符识别的训练集可能有单独字母的模糊照片,并且专家可以根据显示的字母来预先标记每张照片。误差计算和反向传播如上所解释那样发生。
无监督的模型训练被更多涉及,因为期望的输出需要在训练期间被发现。无监督训练可能更容易采用,因为人类专家不需要提前标记训练示例。因此,无监督训练节省人力。实现无监督训练的一种自然方式是使用自动编码器,该自动编码器是一种ANN。自动编码器用作具有两组层的编码器/解码器(编解码器)。第一组层将输入示例编码为需要在模型训练期间被学习的压缩代码。第二组层将压缩代码解码以重新生成原始输入示例。两组层作为一个组合的ANN被一起训练。误差被定义为原始输入和如解码后的重新生成的输入之间的差异。在足够的训练后,解码器或多或少地准确输出作为原始输入的任何内容。
自动编码器依赖于压缩代码作为每个输入示例的中间格式。中间压缩代码最初并不存在,而是仅通过模型训练出现,这可能与直觉相反。无监督训练可能实现基于意外相关性的特征和区别的中间编码词汇表。例如,在有监督训练期间使用哪些示例和哪些标签可能取决于人类专家对问题空间的有些不科学(例如传闻)或以其他方式不完整的理解。然而,无监督训练发现合适的中间词汇表,该中间词汇表或多或少完全基于统计趋势,由于通过重新生成的解码的内部反馈,这些统计趋势在足够的训练的情况下可靠地收敛于最优性。自动编码器实现和集成技术在题为“用于模型监控的自动编码器增强型自诊断组件(AUTO-ENCODER ENHANCED SELF-DIAGNOSTIC COMPONENTS FOR MODEL MONITORING)”的第14/558,700号的相关美国专利申请中教导。该专利申请将有监督或无监督的ANN模型提升为第一类对象,该第一类对象经受管理技术,诸如模型开发期间(诸如在训练期间)的监控和治理。
随机森林
随机森林或随机决策森林是学习方法的总体,其在训练阶段期间构建随机生成的节点和决策树的集合。不同的森林决策树被构造成每个随机限制为数据集的特征维度的仅特定子集,诸如使用特征引导聚合(装袋(bagging))。因此当决策树增长时决策树获得准确性,而不会像当决策树被强制学习数据集的所有特征维度时将发生的那样被迫过度拟合训练数据。可以基于来自不同决策树的预测的均值(或诸如柔性最大值(soft max)之类的其他积分)来计算预测。
随机森林超参数可能包括:森林中的树数、拆分节点所考虑的最大特征数、每个决策树中的级别数、叶节点上的最小数据点数、采样数据点的方法等。
在前述说明书中,已经参考可能随实现而改变的许多具体细节描述了本发明的实施例。因此,说明书和附图将被认为是说明性的而不是限制性的。本发明范围的唯一和排他性指标,以及申请人旨在成为本发明范围的内容,是以权利要求发布的具体形式从本申请发布的权利要求集的字面和等效范围,包括任何后续更正。

Claims (20)

1.一种方法,包括:
对于多个训练数据集中的每个训练数据集:
从该训练数据集导出多个数据集元特征的多个值;以及
针对机器学习ML模型的包括多个特征点超参数配置的多个不同的超参数配置中的每个超参数配置:
基于该超参数配置来配置所述ML模型;
基于该训练数据集来训练所述ML模型;
获得指示当配置有该超参数配置时训练所述ML模型如何有效的经验质量分数;以及
生成多个性能元组中的性能元组,其中所述性能元组包含:该超参数配置、所述多个数据集元特征的所述多个值、所述经验质量分数,以及,对于所述多个特征点超参数配置中的每个特征点配置的:该特征点配置的经验质量分数和/或该特征点配置;
基于所述多个性能元组,训练回归器以基于给定的数据集以及给定的超参数配置来预测估计的质量分数。
2.如权利要求1所述的方法,还包括:
从新数据集导出用于所述多个数据集元特征的新的多个值;
对于第二多个不同的超参数配置中的每个超参数配置,通过所述回归器预测多个质量分数中的新质量分数,其中所述新质量分数基于:所述超参数配置以及所述多个数据集元特征的所述新的多个值;
选择具有所述多个质量分数中的最佳质量分数的所述第二多个不同的超参数配置中的最佳超参数配置;
基于所述最佳超参数配置以及所述新数据集来训练所述ML模型。
3.如权利要求2所述的方法,其中:
所述多个不同的超参数配置包括多个特征点超参数配置;
所述第二多个不同的超参数配置包括所述多个特征点超参数配置。
4.如权利要求2所述的方法,其中:
选择所述最佳超参数配置包括选择固定数量的最佳超参数配置;
基于所述最佳超参数配置来训练所述ML模型包括:针对所述固定数量的最佳超参数配置中的每个超参数配置,基于该超参数配置来训练所述ML模型。
5.如权利要求4所述的方法,还包括,对于所述第二多个不同的超参数配置中的每个超参数配置:
基于所述固定数量的最佳超参数配置训练第二回归器以预测第二估计的质量分数,和/或
通过第二回归器预测第二多个质量分数的第二估计的质量分数;
其中:
第二估计的质量分数基于所述新数据集以及所述超参数配置;
选择第二多个不同的超参数配置中的所述最佳超参数配置包括基于所述多个质量分数中的所述最佳质量分数和所述第二多个质量分数中的所述最佳质量分数来选择。
6.如权利要求5所述的方法,其中基于所述多个质量分数中的所述最佳质量分数和所述第二多个质量分数中的所述最佳质量分数的选择包括所述多个质量分数中的所述最佳质量分数和具有可调节权重的所述第二多个质量分数中的所述最佳质量分数的加权平均,所述可调节权重单调增加以有利于所述第二多个质量分数中的所述最佳质量分数。
7.如权利要求1所述的方法,其中所述多个不同的超参数配置中的至少一个配置包括:针对一个或多个超参数中的每一个超参数的相应随机生成的值和/或默认值。
8.如权利要求1所述的方法,其中在随机下降期间生成所述多个不同的超参数配置中的至少一个配置。
9.如权利要求1所述的方法,其中所述多个数据集元特征包括:
所述训练数据集中示例的计数,
所述训练数据集中示例的特征的计数,
所述训练数据集中特征的值的统计矩,
所述训练数据集中的第一特征和所述训练数据集中的标签或第二特征之间的互信息。
10.一个或多个非暂时性计算机可读介质,所述一个或多个非暂时性计算机可读介质存储指令,所述指令当由一个或多个处理器执行时,使得:
对于多个训练数据集中的每个训练数据集:
从该训练数据集导出多个数据集元特征的多个值;以及
针对机器学习ML模型的包括多个特征点超参数配置的多个不同的超参数配置中的每个超参数配置:
基于该超参数配置来配置所述ML模型;
基于该训练数据集来训练所述ML模型;
获得指示当配置有该超参数配置时训练所述ML模型如何有效的经验质量分数;以及
生成多个性能元组中的性能元组,其中所述性能元组包含:该超参数配置、所述多个数据集元特征的所述多个值、所述经验质量分数,以及,对于所述多个特征点超参数配置中的每个特征点配置的:该特征点配置的经验质量分数和/或该特征点配置;
基于所述多个性能元组,训练回归器以基于给定的数据集以及给定的超参数配置来预测估计的质量分数。
11.如权利要求10所述的一种或多种非暂时性计算机可读介质,其中所述指令还使得:
从新数据集导出用于所述多个数据集元特征的新的多个值;
对于第二多个不同的超参数配置中的每个超参数配置,通过所述回归器预测多个质量分数中的新质量分数,其中所述新质量分数基于所述超参数配置以及所述多个数据集元特征的所述新的多个值;
选择具有所述多个质量分数中的最佳质量分数的所述第二多个不同的超参数配置中的最佳超参数配置;
基于所述最佳超参数配置以及所述新数据集来训练所述ML模型。
12.如权利要求11所述的一种或多种非暂时性计算机可读介质,其中:
所述多个不同的超参数配置包括多个特征点超参数配置;
所述第二多个不同的超参数配置包括所述多个特征点超参数配置。
13.如权利要求11所述的一种或多种非暂时性计算机可读介质,其中:
选择所述最佳超参数配置包括选择固定数量的最佳超参数配置;
基于所述最佳超参数配置来训练所述ML模型包括:针对所述固定数量的最佳超参数配置中的每个超参数配置,基于该超参数配置来训练所述ML模型。
14.如权利要求13所述的一种或多种非暂时性计算机可读介质,其中所述指令还使得对于所述第二多个不同的超参数配置中的每个超参数配置:
基于所述固定数量的最佳超参数配置来训练第二回归器以预测第二估计的质量分数,和/或
通过第二回归器预测第二多个质量分数的第二估计的质量分数;
其中:
第二估计的质量分数基于所述新数据集以及该超参数配置;
选择所述第二多个不同的超参数配置中的所述最佳超参数配置包括基于所述多个质量分数中的所述最佳质量分数和所述第二多个质量分数中的所述最佳质量分数来选择。
15.如权利要求14所述的一种或多种非暂时性计算机可读介质,其中基于所述多个质量分数中的所述最佳质量分数和所述第二多个质量分数中的所述最佳质量分数的选择包括所述多个质量分数中的所述最佳质量分数和具有可调节权重的所述第二多个质量分数中的所述最佳质量分数的加权平均,所述可调节权重单调增加以有利于所述第二多个质量分数中的所述最佳质量分数。
16.如权利要求10所述的一种或多种非暂时性计算机可读介质,其中所述多个不同的超参数配置中的至少一个配置包括:一个或多个超参数中的每一个超参数的相应随机生成的值和/或默认值。
17.如权利要求10所述的一种或多种非暂时性计算机可读介质,其中在随机下降期间生成所述多个不同的超参数配置中的至少一个配置。
18.如权利要求10所述的一种或多种非暂时性计算机可读介质,其中所述多个数据集元特征包括:
所述训练数据集中示例的计数,
所述训练数据集中示例的特征的计数,
所述训练数据集中特征的值的统计矩,
所述训练数据集中的第一特征和所述训练数据集中的标签或第二特征之间的互信息。
19.一个或多个计算机,所述一个或多个计算机被配置为:
对于多个训练数据集中的每个训练数据集:
从该训练数据集导出多个数据集元特征的多个值;以及
针对机器学习ML模型的包括多个特征点超参数配置的多个不同的超参数配置中的每个超参数配置:
基于该超参数配置来配置所述ML模型;
基于该训练数据集来训练所述ML模型;
获得指示当配置有该超参数配置时训练所述ML模型如何有效的经验质量分数;以及
生成多个性能元组中的性能元组,其中所述性能元组包含:该超参数配置、所述多个数据集元特征的所述多个值、所述经验质量分数,以及,对于所述多个特征点超参数配置中的每个特征点配置的:该特征点配置的经验质量分数和/或该特征点配置;
基于所述多个性能元组,训练回归器以基于给定的数据集以及给定的超参数配置来预测估计的质量分数。
20.如权利要求19所述的一个或多个计算机,还被配置为:
从新数据集导出用于所述多个数据集元特征的新的多个值;
对于第二多个不同的超参数配置中的每个超参数配置,通过所述回归器预测多个质量分数的新质量分数,其中所述新质量分数基于该超参数配置以及所述多个数据集元特征的所述新的多个值;
选择具有所述多个质量分数中的最佳质量分数的所述第二多个不同的超参数配置中的最佳超参数配置;
基于所述最佳超参数配置以及所述新数据集来训练所述ML模型。
CN202080047804.0A 2019-05-30 2020-05-14 使用元建模对机器学习和深度学习模型进行快速准确的超参数优化 Pending CN114207635A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/426,530 2019-05-30
US16/426,530 US11868854B2 (en) 2019-05-30 2019-05-30 Using metamodeling for fast and accurate hyperparameter optimization of machine learning and deep learning models
PCT/US2020/032774 WO2020242767A1 (en) 2019-05-30 2020-05-14 Using metamodeling for fast and accurate hyperparameter optimization of machine learning and deep learning models

Publications (1)

Publication Number Publication Date
CN114207635A true CN114207635A (zh) 2022-03-18

Family

ID=71083691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080047804.0A Pending CN114207635A (zh) 2019-05-30 2020-05-14 使用元建模对机器学习和深度学习模型进行快速准确的超参数优化

Country Status (3)

Country Link
US (1) US11868854B2 (zh)
CN (1) CN114207635A (zh)
WO (1) WO2020242767A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US11475327B2 (en) * 2019-03-12 2022-10-18 Swampfox Technologies, Inc. Apparatus and method for multivariate prediction of contact center metrics using machine learning
US11615265B2 (en) * 2019-04-15 2023-03-28 Oracle International Corporation Automatic feature subset selection based on meta-learning
US11429895B2 (en) 2019-04-15 2022-08-30 Oracle International Corporation Predicting machine learning or deep learning model training time
US11620568B2 (en) 2019-04-18 2023-04-04 Oracle International Corporation Using hyperparameter predictors to improve accuracy of automatic machine learning model selection
US11853388B1 (en) * 2019-09-05 2023-12-26 Amazon Technologies, Inc. Recalibration frequency determination for state space models
TWI769418B (zh) * 2019-12-05 2022-07-01 財團法人工業技術研究院 深度神經網路超參數選擇方法及電子裝置
US11797340B2 (en) * 2020-05-14 2023-10-24 Hewlett Packard Enterprise Development Lp Systems and methods of resource configuration optimization for machine learning workloads
US11151480B1 (en) * 2020-06-22 2021-10-19 Sas Institute Inc. Hyperparameter tuning system results viewer
US20220051049A1 (en) * 2020-08-11 2022-02-17 International Business Machines Corporation Using meta-learning to optimize automatic selection of machine learning pipelines
US20220092406A1 (en) * 2020-09-22 2022-03-24 Ford Global Technologies, Llc Meta-feature training models for machine learning algorithms
US11775878B2 (en) 2020-12-22 2023-10-03 Sas Institute Inc. Automated machine learning test system
US20230099635A1 (en) * 2021-09-28 2023-03-30 International Business Machines Corporation Context aware automated artificial intelligence framework
CN118131689B (zh) * 2024-02-19 2024-09-03 哈尔滨理工大学 一种基于Hyperopt优化神经网络预测机床加工能耗的方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842751B1 (en) 2000-07-31 2005-01-11 International Business Machines Corporation Methods and apparatus for selecting a data classification model using meta-learning
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
IL191744A0 (en) 2008-05-27 2009-02-11 Yuval Elovici Unknown malcode detection using classifiers with optimal training sets
US20110022907A1 (en) * 2009-06-23 2011-01-27 StarDFX Technologies, Inc. FPGA Test Configuration Minimization
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
US11501042B2 (en) 2014-03-24 2022-11-15 Imagars Llc Decisions with big data
CN107428433A (zh) 2015-03-27 2017-12-01 菲利普莫里斯生产公司 具有含有切口的隔片的用于消费制品的容器
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 富士通株式会社 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
WO2017201511A1 (en) * 2016-05-20 2017-11-23 Google Llc Training machine learning models
US10691491B2 (en) 2016-10-19 2020-06-23 Nutanix, Inc. Adapting a pre-trained distributed resource predictive model to a target distributed computing environment
US12014257B2 (en) * 2017-05-19 2024-06-18 Salesforce, Inc. Domain specific language for generation of recurrent neural network architectures
US20190043193A1 (en) * 2017-08-01 2019-02-07 Retina-Ai Llc Systems and Methods Using Weighted-Ensemble Supervised-Learning for Automatic Detection of Retinal Disease from Tomograms
US11397887B2 (en) 2017-09-26 2022-07-26 Amazon Technologies, Inc. Dynamic tuning of training parameters for machine learning algorithms
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
CN109784325A (zh) * 2017-11-10 2019-05-21 富士通株式会社 开集识别方法和设备及计算机可读存储介质
US20190244139A1 (en) 2018-02-02 2019-08-08 Oracle International Corporation Using meta-learning for automatic gradient-based hyperparameter optimization for machine learning and deep learning models
WO2020005895A1 (en) 2018-06-25 2020-01-02 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
US11392859B2 (en) * 2019-01-11 2022-07-19 Microsoft Technology Licensing, Llc Large-scale automated hyperparameter tuning
US11580325B2 (en) 2019-01-25 2023-02-14 Yahoo Assets Llc Systems and methods for hyper parameter optimization for improved machine learning ensembles
US11710034B2 (en) 2019-02-27 2023-07-25 Intel Corporation Misuse index for explainable artificial intelligence in computing environments
US11615265B2 (en) 2019-04-15 2023-03-28 Oracle International Corporation Automatic feature subset selection based on meta-learning
US11429895B2 (en) 2019-04-15 2022-08-30 Oracle International Corporation Predicting machine learning or deep learning model training time
US11562278B2 (en) 2019-05-16 2023-01-24 Siemens Aktiengesellschaft Quantum machine learning algorithm for knowledge graphs
US10832087B1 (en) 2020-02-05 2020-11-10 Sas Institute Inc. Advanced training of machine-learning models usable in control systems and other systems
US20210390466A1 (en) 2020-06-15 2021-12-16 Oracle International Corporation Fast, predictive, and iteration-free automated machine learning pipeline

Also Published As

Publication number Publication date
US11868854B2 (en) 2024-01-09
WO2020242767A1 (en) 2020-12-03
US20200380378A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
CN114207635A (zh) 使用元建模对机器学习和深度学习模型进行快速准确的超参数优化
US11429895B2 (en) Predicting machine learning or deep learning model training time
US11544630B2 (en) Automatic feature subset selection using feature ranking and scalable automatic search
US11620568B2 (en) Using hyperparameter predictors to improve accuracy of automatic machine learning model selection
US11410044B2 (en) Application development platform and software development kits that provide comprehensive machine learning services
US20210390466A1 (en) Fast, predictive, and iteration-free automated machine learning pipeline
US20230259778A1 (en) Generating and utilizing pruned neural networks
US11615265B2 (en) Automatic feature subset selection based on meta-learning
CN111164620A (zh) 用于自动机器学习模型选择的特定于算法的神经网络体系架构
US11205050B2 (en) Learning property graph representations edge-by-edge
US20220188645A1 (en) Using generative adversarial networks to construct realistic counterfactual explanations for machine learning models
US20220027777A1 (en) Generalized expectation maximization
US12020131B2 (en) Sparse ensembling of unsupervised models
US20220198277A1 (en) Post-hoc explanation of machine learning models using generative adversarial networks
US20200257982A1 (en) Categorical feature encoding for property graphs by vertex proximity
US20220366297A1 (en) Local permutation importance: a stable, linear-time local machine learning feature attributor
CN113011578B (zh) 使用神经网络选择计算内核变量
US20240330130A1 (en) Graph machine learning for case similarity
WO2020081858A2 (en) Data analytics platform
WO2022031561A1 (en) Memory usage prediction for machine learning and deep learning models
US11710042B2 (en) Shaping a neural network architecture utilizing learnable sampling layers
US20240095604A1 (en) Learning hyper-parameter scaling models for unsupervised anomaly detection
US20230334364A1 (en) N-1 experts: model selection for unsupervised anomaly detection
US20240037383A1 (en) Validation metric for attribution-based explanation methods for anomaly detection models
US20240303541A1 (en) Threshold tuning for imbalanced multi-class classification models

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