CN115398446A - 使用符号编程的机器学习算法搜索 - Google Patents

使用符号编程的机器学习算法搜索 Download PDF

Info

Publication number
CN115398446A
CN115398446A CN202180026970.7A CN202180026970A CN115398446A CN 115398446 A CN115398446 A CN 115398446A CN 202180026970 A CN202180026970 A CN 202180026970A CN 115398446 A CN115398446 A CN 115398446A
Authority
CN
China
Prior art keywords
machine learning
algorithm
search
candidate
tree
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
CN202180026970.7A
Other languages
English (en)
Inventor
彭代毅
卢一峰
国·V·勒
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN115398446A publication Critical patent/CN115398446A/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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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

Abstract

描述了一种用于搜索输出机器学习(ML)算法以执行ML任务的方法。该方法包括:接收指定输入ML算法的数据;接收指定搜索候选ML算法的搜索算法和评估候选ML算法的性能的评估功能的数据;从输入ML算法生成表示符号树的数据;从符号树生成表示超符号树的数据;为候选ML算法搜索从超符号树定义一组可能的具体符号树的算法搜索空间,并训练候选ML算法以确定每个候选ML算法的相应性能度量;并且,基于确定的性能度量,在训练的候选ML算法中选择一种或多种训练的候选ML算法。

Description

使用符号编程的机器学习算法搜索
相关申请的交叉引用
本申请是在2020年5月5日提交的美国临时专利申请No.63/035,551的非临时申请并要求对于其的优先权,该临时申请的全部内容通过引用并入本文。
技术领域
本说明书涉及确定机器学习算法以执行机器学习任务。
背景技术
机器学习算法可以是例如神经网络。神经网络是机器学习模型,它使用一层或多层非线性单元来对于接收的输入预测输出。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作对于在网络中下一层的输入,该下一层即下一个隐藏层或输出层。网络的每一层根据相应参数集的当前值从接收到的输入生成输出。
发明内容
本说明书描述了在一个或多个位置的一个或多个计算机上实现为计算机程序的系统,该系统确定输出机器学习算法以执行特定机器学习任务。
本说明书中描述的主题可以在特定实施例中实施,以便实现以下优点中的一个或多个。通过将通过搜索空间的搜索(即神经架构搜索)作为控制流原语来操纵在定义搜索空间的符号树中的符号,所描述的系统可以有效地识别用于多种机器学习任务中的任何一个的高性能机器学习算法。特别是,通过使用符号编程在符号范式下制定机器学习算法的关键元素,所描述的技术允许目标机器学习算法(或目标程序)的所有部分普遍可搜索,并使搜索空间变得简单、富有表现力并且易于修改。因此,搜索算法可以以几乎零成本被重用和切换,使它们能够以计算有效的方式在复杂的搜索流中相互协作。此外,搜索过程可以被大大简化为带有反馈操作的for循环,允许基本的控制流模式表达任意复杂的搜索流。因此,通过使用所描述的手段,可以很容易地部署复杂的搜索流来识别高性能算法,可以容易地研究新的搜索空间,并且可以以较低的成本引入新的搜索算法。因此,本文描述的技术可以基于项目的不同概况、共享代码的比例以及引导新搜索以及引入复杂搜索方法和算法上的开发成本,在深度和广度上有效地扩展自动化机器学习(AutoML)。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中被阐述。本主题的其他特征、方面和优点将从描述、附图和权利要求中变得显而易见。
附图说明
图1示出了示例机器学习算法搜索系统。
图2A示出了输入机器学习算法的示例。
图2B示出了示例符号树。
图2C示出了超符号树的示例。
图3图示了用于针对候选ML算法搜索搜索空间的示例过程。
图4是用于搜索输出机器学习算法以执行机器学习任务的示例过程的流程图。
不同附图中相同的附图标号和标记指示相同的元件。
具体实施方式
本说明书描述了在一个或多个位置的一个或多个计算机上实现为计算机程序的系统,该系统确定输出机器学习算法以执行特定机器学习任务。
该机器学习算法定义了以下一项或多项:用于执行任务的机器学习模型(神经网络)的模型架构;用于训练模型以执行任务的超参数;或,在训练期间、之后或两者应用于输入的预处理技术(例如,数据增强策略)。
机器学习模型可以被配置为执行任何类型的机器学习任务,即可以被配置为接收任何类型的数字数据输入并基于该输入生成任何类型的分数、分类或回归输出。
在某些情况下,机器学习模型是神经网络,该神经网络被配置为执行图像处理任务,即接收输入图像并处理输入图像中像素的强度值或颜色值以对于输入图像生成网络输出。例如,任务可能是图像分类,并且神经网络为给定图像生成的输出可能是一组对象类别中每个类别的分数,每个分数表示图像包含属于某个类别的对象的图像的估计可能性。作为另一示例,任务可以是图像嵌入生成,并且神经网络生成的输出可以是输入图像的数字嵌入。作为又一示例,任务可以是对象检测,并且由神经网络生成的输出可以识别输入图像中描绘特定类型对象的位置。作为又一示例,任务可以是图像分割,并且神经网络生成的输出可以将输入图像的每个像素分配给来自一组类别的类别。
作为另一示例,如果对于神经网络的输入是互联网资源(例如网页)、文档或文档的部分或从互联网资源、文档或文档的部分中提取的特征,则任务可以是对资源或文档进行分类,即,神经网络为给定的互联网资源、文档或文档的部分生成的输出可以是一组主题中每个主题的分数,每个分数代表互联网资源、文档或文档的部分是关于该主题的估计可能性。
作为另一示例,如果对于神经网络的输入是特定广告的印象上下文的特征,则神经网络生成的输出可以是表示特定广告将被点击的估计可能性的分数。
作为另一示例,如果对于神经网络的输入是针对用户的个性化推荐的特征,例如表征推荐的上下文的特征,例如表征用户先前采取的动作的特征,则神经网络生成的输出可能是一组内容项中的每个的分数,每个分数表示用户将对被推荐内容项做出积极响应的估计可能性。
作为另一示例,如果对于神经网络的输入是一种语言的文本序列,则神经网络生成的输出可以是另一种语言的一组文本片段中的每个的分数,每个分数表示另一种语言的文本片段是输入文本正确翻译成另一种语言的估计可能性。
作为另一示例,该任务可以是音频处理任务。例如,如果对于神经网络的输入是表示口头话语的序列,则神经网络生成的输出可以是一组文本片段中的每个的分数,每个分数表示该文本片段是话语的正确转录本的估计可能性。作为另一示例,如果对于神经网络的输入是表示口头话语的序列,则神经网络生成的输出可以指示在话语中是否说出了特定的单词或短语(“热词”)。作为另一示例,如果对于神经网络的输入是表示口头话语的序列,则神经网络生成的输出可以识别出说出该话语所使用的自然语言。
作为另一示例,任务可以是自然语言处理或理解任务,例如,蕴涵任务、释义任务、文本相似性任务、情感任务、句子完成任务和语法任务等,其运行在一些自然语言的文本序列上。
作为另一示例,该任务可以是文本到语音的任务,其中,输入是自然语言的文本或自然语言的文本的特征,而网络输出是定义以自然语言正在说出的文本的音频频谱图或其他数据。
作为另一示例,该任务可以是健康预测任务,其中,输入是患者的电子健康记录数据,并且输出是与患者未来健康相关的预测,例如,应该对患者而言规定的预测治疗、对于患者发生不良健康事件的可能性或对于患者的预测诊断。这种电子健康记录数据可以包括与患者有关的生理数据,例如血糖、血压、体温或心率等。不良健康事件的示例包括低血糖和/或高血糖事件、心脏病发作或中风等。
作为另一示例,该任务可以是代理控制任务,其中,输入是表征环境状态的观察,并且输出定义代理响应于观察要执行的动作。例如,代理可以是现实世界或模拟机器人、工业设施的控制系统或控制不同类型代理的控制系统。观察或其他表征环境状态的数据的示例包括与代理相关的传感器数据,例如视觉数据、LIDAR读数或声纳读数等。输出定义要由代理执行的动作可以包括用于控制代理执行动作的控制信号,或可以被转换成这样的信号的数据。
图1示出了示例机器学习算法搜索系统100。系统100是在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例,其中,可以实现下文描述的系统、组件和技术。
为了确定输出机器学习算法(例如,输出机器学习算法150)以执行特定机器学习任务,系统100包括算法搜索子系统120,该算法搜索子系统120被配置为接收:(i)指定输入机器学习算法102的数据,该输入机器学习算法102执行特定机器学习任务;(ii)指定搜索候选机器学习算法的搜索算法104的数据;以及(iii)指定评估候选机器学习算法的性能的评估功能105的数据。
搜索算法104采用搜索策略从搜索空间中搜索候选机器学习算法。搜索策略可以是以下部分之一:(i)蛮力搜索策略,(ii)随机搜索策略,(iii)进化搜索策略,(iv)多阶段搜索策略,(v)嵌套搜索策略,(vi)混合搜索策略,(vii)权重共享搜索策略,(viii)基于强化学习(RL)的方法,(ix)基于梯度的方法或(x)神经预测器。例如,搜索算法104可以是随机搜索、贝叶斯优化、学习控制器策略的基于强化学习的搜索,该控制器策略使用近端策略优化(PPO)、正则化进化或高效神经架构搜索(TuNAS)来指导搜索。
子系统120还接收训练数据集126和验证数据集128,用于训练由候选机器学习算法(以下称为“候选ML算法”)定义的神经网络。训练数据集126包括一组训练示例。该组训练示例中的每个训练示例包括针对特定机器学习任务的示例输入和针对特定机器学习任务的对应示例输出。验证数据集128包括一组验证示例。该组验证示例中的每个验证示例包括针对特定机器学习任务的验证输入和针对特定机器学习任务的对应验证输出。例如,较大的训练数据集可能已被随机划分以生成训练数据集和验证数据集。
子系统120可以以多种方式中的任何一种接收指定输入ML算法102的数据、指定搜索算法104的数据、指定评估功能105的数据、训练数据集126和验证数据集128。例如,系统100可以例如使用由系统100可获得的应用程序编程接口(API)通过数据通信网络从另一个计算系统接收指定输入ML算法102的数据、指定搜索算法104的数据、指定评估功能105的数据、训练数据集126和验证数据集128。作为另一示例,系统100可以允许用户使用由系统100提供的用户界面来指定系统100已经维护的哪些数据应被用作指定输入ML算法102的数据、指定搜索算法104的数据、指定评估功能105的数据、训练数据集126和验证数据集128。
图2A示出了输入ML算法的示例。输入ML算法202用于使用优化器(例如Adam优化器)训练机器学习模型(例如ResNetLike)。输入ML算法202指定了包括多个块的机器学习模型的结构,每个块包括Conv(4,(3,3))、BatchNormalization()和ReLU()的序列,并且块的数量是12。
子系统120从输入机器学习算法102生成表示符号树106的数据。该符号树是节点树,其中,每个节点代表输入机器学习算法中的组件并且与具体值相关联。
图2B示出了从输入ML算法生成的符号树的示例。符号树204是从输入ML算法202生成的节点树。符号树204具有表示机器学习模型的节点203(本示例中的相应具体值是ResNetLike)、表示在机器学习模型中的块的架构的节点205(本示例中的相应具体值为Sequential(Conv(4,(3,3),BatchNormalization(),ReLU()))、表示在机器学习模型中的块数的节点214(本示例中的相应具体值为12)以及表示用于训练机器学习模型的优化器的节点216(本示例中的相应具体值为Adam(2e-4))。
参考图1,子系统120通过将符号树106中的多个节点的子集中的每个节点改变为具有相应占位符值的相应新节点,从符号树106生成表示超符号树108的数据。相应的新节点与相应的占位符值可以采用的对应的一组可能的具体值相关联。
节点的占位符值是超值。有多种类别的超值:1)连续值(例如,由floatv声明的值);2)离散值(例如,由intv声明的值);3)分类值(由oneof、manyof或permutate声明的值)。表1总结了不同的超值类及其语义。
Figure BDA0003875334100000071
Figure BDA0003875334100000081
表1:超值类及其语义
图2C示出了从符号树生成的超符号树的示例。系统通过将节点205改变为具有带有一组可能的具体值的占位符值的新节点208,从符号树204生成超符号树206。节点208的一组可能的具体值包括由一系列神经网络层(在本示例中为[Conv,BatchNormalization,ReLU])的排列定义的一组可能的块架构,其中,Conv层具有可搜索的过滤器大小(在这个示例中为([4,8])之一)。符号树204中的节点214被改变为新节点210,其中,可以从一组可能的具体值(在本示例中为6或12)中选择块的数量。符号树204中的节点216被改变为新节点212,其中,将节点216中的固定Adam优化器与在节点212中的在Adam优化器和具有在10-6至10-3的实数范围内的可搜索学习率(即学习率∈floatv(1e-6,1e-3))的RMSProp优化器之间的选择进行交换。
参考图1,子系统120搜索算法搜索空间110,该算法搜索空间110定义了来自超符号树108的一组可能的具体符号树。在可能的具体符号树中的每个节点对应于在超符号树中的相应节点并且采用来自与超符号树中的相应节点相关联的对应的一组可能的具体值的特定的具体值。每个可能的具体符号树对应于候选机器学习算法。
子系统120通过执行以下操作针对候选ML算法搜索算法搜索空间110。子系统120通过使用搜索算法104以在算法搜索空间110中搜索候选具体符号树来生成表示候选具体符号树的数据。具体地,子系统120从搜索空间110生成抽象搜索空间并使用搜索算法从抽象搜索空间中采样抽象候选算法。子系统120使用抽象候选算法306生成候选具体符号树。子系统120然后从候选具体符号树生成候选机器学习算法112。
下面参考图3更详细地描述使用搜索算法104针对候选ML算法搜索算法搜索空间110的示例过程。
子系统120使用接收到的训练数据集126和验证数据集128关于特定机器学习任务训练候选机器学习算法112。子系统120使用评估功能105确定指定关于特定机器学习任务训练的候选机器学习算法112的性能的性能度量118。
例如,性能度量可以是验证损失、训练损失、验证损失和训练损失的加权组合或适针对特定机器学习任务的任何度量。
在一些实现方式中,子系统120可以通过在单个验证数据集(例如,验证数据集104)的验证示例上关于训练的候选ML算法执行评估功能105来评估训练的候选机器学习算法的性能。
在一些其他实现方式中,子系统120可以通过在多个验证数据集的验证示例上关于训练的候选ML算法执行评估功能105来评估训练的候选机器学习算法的性能。这将允许将输出机器学习算法150更好地推广到新数据集(或新机器学习任务)。
子系统120可以多次重复上述操作以生成其他候选ML算法及其对应的性能度量,例如候选ML算法114及其性能度量122以及候选ML算法116及其性能度量124。
在生成并评估每个候选ML算法或一批多个候选者后,将候选ML算法或该批的性能度量反馈给搜索算法,以改进未来从抽象搜索空间中采样抽象候选算法。
为了确定输出ML算法150,子系统120基于确定的性能度量在训练的候选机器学习算法中选择一个或多个训练的候选机器学习算法。在一些实现方式中,子系统120可以在训练的候选机器学习算法中选择具有最佳性能度量的K个训练的候选机器学习算法。子系统120可以进一步训练或进一步微调K个训练的候选机器学习算法,并且然后选择最佳训练的候选机器学习算法作为用于机器学习任务的输出机器学习算法150。在一些其他实现方式中,子系统120可以在训练的候选机器学习算法中选择具有最高性能度量的训练的候选机器学习算法作为用于机器学习任务的输出机器学习算法150。
在一些实现方式中,系统100可以使用输出机器学习算法150处理机器学习输入以生成机器学习输出以执行特定机器学习任务。替代地或附加地,系统100可以将输出机器学习算法150提供给使用输出机器学习算法来处理新输入以生成新输出的另一个系统。
图3图示了用于使用搜索算法(例如,图1的搜索算法104)从搜索空间生成候选ML算法的示例过程。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的机器学习算法搜索系统,例如图1的机器学习算法搜索系统100,可以执行过程300。
该系统从由超符号树302定义的搜索空间生成抽象搜索空间304,以防止搜索算法看到完整的搜索空间规格。使用抽象搜索空间304,搜索算法只能看到它为了搜索的目的而需要看到的东西。抽象搜索空间304是搜索空间302的算法的视图。相比之下,完整的规格可以称为具体搜索空间(或仅称为“搜索空间”)。具体搜索空间和抽象搜索空间之间的区别是:具体搜索空间充当用于产生候选具体符号树(定义对应的候选ML算法)的样板,其包含所有算法细节(例如,固定部分)。然而,抽象搜索空间只看到需要决策的部分以及它们的可能的具体值(例如,数字范围)。基于抽象搜索空间304,该系统通过使用搜索算法生成抽象候选算法306。特别地,搜索算法基于为先前候选机器学习算法生成的性能度量从抽象搜索空间304中采样抽象候选算法306。对于超符号树302中的每个占位符值,抽象候选算法306可以包括占位符值采用的相应具体值(即,数字选择)。
该系统递归地合并来自超符号树302的占位符值(即,超值)和来自抽象候选算法306的数字选择以生成候选具体符号树308。对于连续或离散的超值,选择的值是要分配给树302中其目标节点的最终值,而对于分类的超值,选择的值是所选候选者的索引。例如,如图3所示,抽象算法306中的数字2指定了超符号树302中的Conv层(在三个层Identity()、MaxPool和Conv中的)的索引,数字0指定对于Conv层的过滤器而言的两个选择(即[4,8])中的第一选择(即4),数字1指定优化器的两个选择(即Adam和RMSProp)中的第二个选择(即RMSProp优化器),并且3e-4指定RMSProp优化器的学习率。给定在候选具体符号树308中的数据,系统生成候选ML算法310。
图4是用于搜索输出机器学习算法以执行机器学习任务的示例过程的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的机器学习算法搜索系统,例如图1的机器学习算法搜索系统100,可以执行过程400。
该系统接收指定执行特定机器学习任务的输入机器学习算法的数据(步骤402)。特定机器学习任务可以是以下任务之一:分类任务、回归任务或图像识别任务。
该系统接收指定搜索候选机器学习算法的搜索算法和评估候选机器学习算法的性能的评估功能的数据(步骤404)。
该搜索算法采用搜索策略从搜索空间中搜索候选机器学习算法。该搜索策略可以是以下部分之一:(i)蛮力搜索策略,(ii)随机搜索策略,(iii)进化搜索策略,(iv)多阶段搜索策略,(v)嵌套搜索策略,(vi)混合搜索策略,(vii)权重共享搜索策略,(viii)基于强化学习(RL)的方法,(ix)基于梯度的方法,或(x)神经预测器。例如,搜索算法104可以是:随机搜索;贝叶斯优化;学习控制器策略的基于强化学习的搜索,该控制器策略使用近端策略优化(PPO)来引导搜索;正则化进化;或高效神经架构搜索(TuNAS)。在一些实现方式中,搜索算法包括以分布式方式执行的多个搜索操作。
该系统还接收用于关于特定机器学习任务训练候选机器学习算法的训练数据集和验证数据集。
该系统从输入机器学习算法生成表示符号树的数据(步骤406)。该符号树是多个节点的树,其中,每个节点代表在输入机器学习算法中的组件,并与具体值相关联。在一些实现方式中,在该符号树中的节点可以与符号操作相关联。与在该符号树中的至少一个节点相关联的符号操作是以下部分之一:(i)变换节点的变换操作,(ii)提供关于节点属性的信息的推断操作,(iii)查询操作,其提供关于节点的相邻节点的信息,或(iv)提供节点副本的复制操作。符号操作可以被应用于由节点表示的输入机器学习算法的组件。
该系统通过将符号树中的多个节点的子集中的每个节点改变为具有带有对应的一组可能的具体值的相应占位符值的相应新节点来从符号树生成表示超符号树的数据(步骤408)。节点的占位符值是超值。该超值是连续值、离散值或分类值之一。
该系统通过至少执行一次步骤410-416从超符号树中搜索定义一组可能的具体符号树的算法搜索空间。可能的具体符号树中的每个节点对应于在超符号树中的相应节点并且采用来自与超符号树中的相应节点相关联的对应的一组可能的具体值中的一个特定的具体值。每个可能的具体符号树对应于候选机器学习算法。
该系统通过使用搜索算法在算法搜索空间中搜索候选具体符号树来生成表示候选具体符号树的数据(步骤410)。
具体而言,该系统从搜索空间生成抽象搜索空间。该抽象搜索空间是决策节点树,每个决策节点被映射到在超符号树中的相应占位符值。
该系统使用搜索算法从抽象搜索空间中采样抽象候选算法。特别地,该搜索算法基于为先前候选机器学习算法生成的性能度量从抽象搜索空间中采样该抽象候选算法。对于超符号树中的每个占位符值,抽象候选算法可以包括占位符值所采用的相应具体值(即,数字选择)。
该系统递归地合并来自超符号树的占位符值(即超值)和来自抽象候选算法的数字选择,以生成候选具体符号树。例如,下面是抽象搜索空间的简化示例:
Figure BDA0003875334100000131
上面的抽象搜索空间是深度为2的树(即,该树有两个深度级别)。第一子节点具有3个节点('a'、'b'、'c')的子树,而根的其他两个子节点是叶('x'、'y')。可以用抽象候选算法[0,1]来描述到达'b'的决策,这意味着选择在级别1的第一节点,并且然后选择在级别2的第二节点。由于由搜索空间确定树的深度,所以递归地执行生成候选具体符号树的过程。
该系统从候选具体符号树生成候选机器学习算法(步骤412)。
该系统使用接收到的训练数据集关于特定机器学习任务训练候选机器学习算法(步骤414)。
该系统使用评估功能确定性能度量,该性能度量关于特定机器学习任务指定训练的候选机器学习算法的性能(步骤416)。
例如,性能度量可以是验证损失、训练损失、验证损失和训练损失的加权组合或适针对特定机器学习任务的任何度量。
在一些实现方式中,该系统可以通过在单个验证数据集(例如,接收的验证数据集)的验证示例上关于训练的候选ML算法执行评估功能来评估训练的候选机器学习算法的性能。
在一些其他实现方式中,该系统可以通过在多个验证数据集的验证示例上关于训练的候选ML算法执行评估功能来评估训练的候选机器学习算法的性能。这将允许将输出机器学习算法更好地推广到新数据集(或新机器学习任务)。
该系统基于确定的性能度量在训练的候选机器学习算法中选择一种或多种训练的候选机器学习算法(步骤418)。
在一些实现方式中,该系统可以在训练的候选机器学习算法中选择具有最佳性能度量的K个训练的候选机器学习算法。该系统可以进一步训练或进一步微调K个训练的候选机器学习算法,并且然后选择最佳训练的候选机器学习算法作为针对机器学习任务的输出机器学习算法。在一些其他实现方式中,该系统可以在训练的候选机器学习算法中选择具有最高性能度量的一个训练的候选机器学习算法作为针对机器学习任务的输出机器学习算法。
在一些实现方式中,该系统可以使用输出机器学习算法处理机器学习输入以生成机器学习输出以执行特定机器学习任务。例如,输出机器学习算法可以被配置为处理数字数据输入,以基于数字数据输入生成分数、分类或回归输出,以执行机器学习任务。替代地或附加地,该系统可以将输出机器学习算法提供给使用输出机器学习算法来处理新输入以生成新输出的另一系统。
本说明书结合系统和计算机程序组件使用术语“被配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,其在运行中使得该系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序意味着该一个或多个程序包括当由数据处理装置执行时使该装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以被实现在数字电子电路中、在有形地体现的计算机软件或固件中、在计算机硬件(包括本说明书中公开的结构及其结构等同物)中或在它们的一个或多个的组合中。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,该指令用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。替代地或补充地,该程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号上,该信号被生成以编码信息以便传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指代数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置也可以是或还包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以选用地还包括创建用于计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
可以以任何形式的编程语言编写计算机程序(其也被称为或被描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码),该任何形式的编程语言包括编译或解释语言或者声明性或过程语言,并且该计算机程序可以以任何形式被部署,包括作为独立程序或作为适于在计算环境中使用的模块、组件、子例程或其他单元。程序可以但不需要对应于文件系统中的文件。程序可以被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所涉及的程序的单个文件中或者在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广泛用于指代任何数据集合:数据不需要以任何特定方式进行结构化,或者根本不需要结构化,并且它可以存储在一个或多个位置中的存储设备上。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”广泛用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,可以在同一个计算机或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或由专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或实施指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。该中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括一个或多个大容量存储设备,或可操作地耦合到一个或多个大容量存储设备以从其接收数据或将数据传输到该一个或多个大容量存储设备或该两者,该一个或多个大容量存储设备用于存储数据,例如是磁盘、磁光盘或光盘。但是,计算机不需要具有这样的设备。此外,计算机可以被嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),此处仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以实现在计算机上,该计算机具有:显示设备,例如,CRT(阴极射线管)或LCD(液晶显示器)监控器,用于向用户显示信息;以及键盘以及指示设备,例如,鼠标或轨迹球,用户可以通过该键盘以及指示设备向计算机提供输入。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过下述方式来与用户交互:向用户使用的设备发送文档和从用户使用的设备接收文档;例如,响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器。此外,计算机可以通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其他形式的消息并且继而从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断、工作负载。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft认知工具包框架、Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以被实现在计算系统中,该计算系统包括诸如作为数据服务器的后端组件,或者包括诸如应用服务器的中间件组件,或者包括诸如具有图形用户界面、Web浏览器或app的客户端计算机的前端组件,或者包括一个或多个这样的后端、中间件或前端组件的任何组合,用户可以通过该图形用户界面、Web浏览器或app与本说明书中描述的主题的实现方式交互。该系统的组件可以通过任何形式或介质的数字数据通信,例如,通信网络进行互连。通信网络的示例包括局域网(LAN)和广域网(WAN)(例如,因特网)。
计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从该用户接收用户输入的目的。可以在服务器处从用户设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实现方式细节,但是这些不应被解释为对任何发明的范围或可以要求保护的范围的限制,而是作为可能特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中被组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从所要求保护的组合中排除来自该组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变形。
类似地,虽然在附图中描绘了操作并且以特定顺序在权利要求中叙述了该操作,但是这不应该被理解为要求以所示的特定顺序或按依序顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以被一起集成在单个软件产品中或被打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,在权利要求中记载的动作可以以不同的顺序被执行并且仍然实现期望的结果。作为一个示例,在附图中描绘的过程不一定需要所示的特定顺序或依序顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

Claims (18)

1.一种在给定输入机器学习算法的情况下搜索输出机器学习算法以执行特定机器学习任务的方法,所述方法包括:
接收指定执行所述特定机器学习任务的输入机器学习算法的数据;
接收指定搜索候选机器学习算法的搜索算法和评估候选机器学习算法的性能的评估功能的数据;
从所述输入机器学习算法生成表示符号树的数据,其中,所述符号树是多个节点的树,其中,每个节点代表在所述输入机器学习算法中的组件并与具体值相关联;
通过将所述符号树中的所述多个节点的一子集中的每个节点改变为具有带有对应的一组可能的具体值的相应占位符值的相应新节点,从所述符号树生成表示超符号树的数据;
从所述超符号树中搜索定义一组可能的具体符号树的算法搜索空间,其中,在可能的具体符号树中的每个节点对应于在所述超符号树中的相应节点,并从与在所述超符号树中的相应节点相关联的对应的一组可能的具体值中获取特定的具体值,其中,每个可能的具体符号树对应于候选机器学习算法,并且其中,搜索所述算法搜索空间包括执行至少一次以下操作:
通过使用所述搜索算法在所述算法搜索空间中搜索所述候选具体符号树,生成表示候选具体符号树的数据;
从所述候选具体符号树生成候选机器学习算法,
关于所述特定机器学习任务训练所述候选机器学习算法,
使用所述评估功能确定性能度量,所述性能度量指定所训练的候选机器学习算法关于所述特定机器学习任务的性能;以及
基于所确定的性能度量,在所训练的候选机器学习算法中选择一种或多种训练的候选机器学习算法。
2.根据权利要求1所述的方法,其中,所述特定机器学习任务是以下任务之一:分类任务、回归任务或图像识别任务。
3.根据权利要求1或2所述的方法,其中,节点的占位符值是超值。
4.根据权利要求3所述的方法,其中,所述超值是连续值、离散值或分类值之一。
5.根据前述权利要求中任一项所述的方法,其中,所述符号树中的至少一个节点与符号操作相关联。
6.根据权利要求5所述的方法,其中,与所述符号树中的至少一个节点相关联的符号操作是以下之一:(i)变换所述节点的变换操作,(ii)提供关于所述节点的属性的信息的推断操作,(iii)提供关于所述节点的相邻节点的信息的查询操作,或(iv)提供所述节点的副本的复制操作,并且其中,所述方法包括将所述符号操作应用于由所述至少一个节点表示的输入机器学习算法的组件。
7.根据前述权利要求中任一项所述的方法,还包括从所述算法搜索空间生成抽象搜索空间,其中,所述抽象搜索空间是决策节点树,其中,每个决策节点被映射到所述超符号树中的相应占位符值。
8.根据权利要求7所述的方法,其中,通过使用所述搜索算法在所述算法搜索空间中搜索来生成表示所述候选具体符号树的数据还包括:
通过使用先前候选机器学习算法的先前性能度量在所述抽象搜索空间上应用所述搜索算法来生成表示所述候选具体符号树的数据。
9.根据权利要求8所述的方法,其中,所述搜索算法使用搜索策略来生成表示候选具体符号树的数据。
10.根据权利要求9所述的方法,其中,所述搜索策略是以下之一:(i)蛮力搜索策略,(ii)随机搜索策略,(iii)进化搜索策略,(iv)多阶段搜索策略,(v)嵌套搜索策略,(vi)混合搜索策略,(vii)权重共享搜索策略,(viii)基于强化学习(RL)的方法,(ix)基于梯度的方法,或(x)神经预测器。
11.根据前述权利要求中任一项所述的方法,其中,所述搜索算法包括以分布式方式执行的多个搜索操作。
12.根据前述权利要求中任一项所述的方法,其中,所述输出机器学习算法被配置为处理数字数据输入以基于所述数字数据输入生成分数、分类或回归输出,以执行所述机器学习任务。
13.根据前述权利要求中任一项所述的方法,其中,选择所述一个或多个训练的候选机器学习算法包括:在所述训练的候选机器学习算法中选择具有最佳性能度量的多个训练的候选机器学习算法。
14.根据权利要求13所述的方法,还包括:
关于所述特定机器学习任务进一步训练所述多个训练的候选机器学习算法,以及
在进一步地训练的候选机器学习算法中选择最佳候选机器学习算法作为针对所述机器学习任务的输出机器学习算法。
15.根据前述权利要求中任一项所述的方法,其中,选择所述一个或多个训练的候选机器学习算法包括:在所训练的候选机器学习算法中选择具有最高性能度量的训练的候选机器学习算法作为针对所述机器学习任务的输出机器学习算法。
16.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-15中任一项所述的相应方法的操作。
17.一种或多种存储指令的计算机存储介质,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-15中任一项所述的相应方法的操作。
18.一种方法,包括:
向算法搜索系统提供指定输入机器学习算法的数据;
使得所述算法搜索系统使用权利要求1-19中任一项的相应操作来搜索输出机器学习算法;以及
使用所述输出机器学习算法来执行特定机器学习任务。
CN202180026970.7A 2020-06-05 2021-06-04 使用符号编程的机器学习算法搜索 Pending CN115398446A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063035551P 2020-06-05 2020-06-05
US63/035,551 2020-06-05
PCT/US2021/036002 WO2021248068A1 (en) 2020-06-05 2021-06-04 Machine learning algorithm search with symbolic programming

Publications (1)

Publication Number Publication Date
CN115398446A true CN115398446A (zh) 2022-11-25

Family

ID=76662555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180026970.7A Pending CN115398446A (zh) 2020-06-05 2021-06-04 使用符号编程的机器学习算法搜索

Country Status (3)

Country Link
US (1) US20230144138A1 (zh)
CN (1) CN115398446A (zh)
WO (1) WO2021248068A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116416492B (zh) * 2023-03-20 2023-12-01 湖南大学 一种基于特征自适应的自动数据增广方法

Also Published As

Publication number Publication date
US20230144138A1 (en) 2023-05-11
WO2021248068A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
US20210334624A1 (en) Neural architecture search using a performance prediction neural network
CN111602148B (zh) 正则化神经网络架构搜索
AU2018214675B2 (en) Systems and methods for automatic semantic token tagging
US11568207B2 (en) Learning observation representations by predicting the future in latent space
US20200104687A1 (en) Hybrid neural architecture search
EP3732631A1 (en) Neural architecture search for dense image prediction tasks
US11803731B2 (en) Neural architecture search with weight sharing
CN113826125A (zh) 使用无监督数据增强来训练机器学习模型
US20220108171A1 (en) Training neural networks using transfer learning
US20190228297A1 (en) Artificial Intelligence Modelling Engine
US20220253680A1 (en) Sparse and differentiable mixture of experts neural networks
CN117121016A (zh) 在低级基元上的粒度神经网络架构搜索
CN115398446A (zh) 使用符号编程的机器学习算法搜索
US20230063686A1 (en) Fine-grained stochastic neural architecture search
CN115066690A (zh) 搜索归一化-激活层架构
CN115485694A (zh) 机器学习算法搜索
US20240152809A1 (en) Efficient machine learning model architecture selection
JP7483751B2 (ja) 教師なしデータ拡張を使用した機械学習モデルのトレーニング
Wang et al. A Knowledge-Enhanced Inferential Network for Cross-Modality Multi-hop VQA

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