最新用于训练预测模型的方法和装置与流程

这里介绍的最新用于训练预测模型的方法和装置与流程,小编今天为大家简单介绍一下。

这里介绍的最新用于训练预测模型的方法和装置与流程,小编今天为大家简单介绍一下。


本公开的实施例涉及计算机技术领域,具体涉及人工智能技术领域,尤其涉及用于训练预测模型的方法和装置。



背景技术:

随着人工智能技术和数据存储技术的发展,深度神经网络在许多领域取得了重要的成果。深度神经网络结构的设计对其性能具有直接的影响。传统的深度神经网络结构的设计由人工根据经验完成。人工设计网络结构需要大量的专家知识,并且针对不同的任务或应用场景需要分别针对性地进行网络结构的设计,成本较高。

nas(neuralarchitecturesearch,自动化神经网络结构搜索)是用算法代替繁琐的人工操作,自动搜索出最佳的神经网络架构。现有的模型结构自动搜索只能基于特定的约束条件进行搜索,例如针对指定的硬件设备型号进行搜索。然而,实际场景中的约束条件比较复杂,且变化很多,涉及到多种硬件种类,例如多种不同型号处理器。对每一种硬件,搜索约束也是繁多的,例如不同的延时约束。现有的方法需要针对每一种约束条件执行网络结构搜索,大量重复的网络结构搜索任务会消耗很多的计算资源,成本非常高。



技术实现要素:

本公开的实施例提出了用于训练预测模型的方法和装置、电子设备和计算机可读介质。

第一方面,本公开的实施例提供了一种用于训练预测模型的方法,预测模型用于预测神经网络结构的性能,用于训练预测模型的方法包括通过采样操作训练预测模型;采样操作包括:从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息;基于训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练预测模型;响应于确定当前采样操作中训练得到的预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量。

在一些实施例中,上述从已训练完成的超网络中采样出子网络,包括:采用初始的递归神经网络从已训练完成的超网络中采样出子网络;以及在对采样出的子网络进行训练之前,采样操作还包括:基于训练好的子网络的性能信息生成反馈信息,以基于反馈信息迭代更新递归神经网络;基于迭代更新后的递归神经网络重新从已训练完成的超网络中采样出子网络。

在一些实施例中,上述从已训练完成的超网络中采样出子网络,包括:从已训练完成的超网络中采样出未被采样过的子网络;以及上述基于训练完成的子网络和对应的性能信息构建样本数据,包括:基于当前采样操作中采样出的子网络和对应的性能信息、以及上一次采样操作中采样出的子网络和对应的性能信息构建样本数据。

在一些实施例中,上述采样操作还包括:响应于确定预测模型的精度满足预设的条件,基于当前的采样操作的训练结果生成训练完成的预测模型。

在一些实施例中,上述方法还包括:基于训练完成的预测模型对预设的模型结构搜索空间内的模型结构的性能预测结果,以及预设的深度学习任务场景的性能约束条件,在模型结构搜索空间中搜索出满足性能约束条件的神经网络模型结构。

第二方面,本公开的实施例提供了一种用于训练预测模型的装置,预测模型用于预测神经网络结构的性能,用于训练预测模型的装置包括采样单元,被配置为通过采样操作训练预测模型;采样单元执行的采样操作包括:从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息;基于训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练预测模型;响应于确定当前采样操作中训练得到的预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量。

用于训练预测模型的述采样单元按照如下方式从已训练完成的超网络中采样出子网络:采用初始的递归神经网络从已训练完成的超网络中采样出子网络;以及在对采样出的子网络进行训练之前,采样单元执行的采样操作还包括:基于训练好的子网络的性能信息生成反馈信息,以基于反馈信息迭代更新递归神经网络;基于迭代更新后的递归神经网络重新从已训练完成的超网络中采样出子网络。

用于训练预测模型的述采样单元按照如下方式从已训练完成的超网络中采样出子网络:从已训练完成的超网络中采样出未被采样过的子网络;以及采样单元按照如下方式构建样本数据:基于当前采样操作中采样出的子网络和对应的性能信息、以及上一次采样操作中采样出的子网络和对应的性能信息构建样本数据。

用于训练预测模型的述采样操作还包括:响应于确定预测模型的精度满足预设的条件,基于当前的采样操作的训练结果生成训练完成的预测模型。

用于训练预测模型的述装置还包括:搜索单元,被配置为基于训练完成的预测模型对预设的模型结构搜索空间内的模型结构的性能预测结果,以及预设的深度学习任务场景的性能约束条件,在模型结构搜索空间中搜索出满足性能约束条件的神经网络模型结构。

第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的用于训练预测模型的方法。

第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现第一方面提供的用于训练预测模型的方法。

本公开的上述实施例的用于训练预测模型的方法和装置,通过采样操作训练预测模型;其中,采样操作包括:从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息;基于训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练预测模型;响应于确定预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量,其中,预测模型用于预测神经网络结构的性能。该方法和装置可以获得预测任意模型结构的性能的预测模型,从而在应用至模型结构自动搜索中时针对不同的约束条件都只需搜索一次即可得出性能最优的模型结构,有效减少了模型结构搜索消耗的资源,降低了模型结构搜索成本。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:

图1是本公开的实施例可以应用于其中的示例性系统架构图;

图2是根据本公开的用于训练预测模型的方法的一个实施例的流程图;

图3是根据本公开的用于训练预测模型的方法的另一个实施例的流程图;

图4是本公开的用于训练预测模型的装置的一个实施例的结构示意图;

图5是适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

图1示出了可以应用本公开的用于训练超网络的方法或用于训练超网络的装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是用户端设备,其上可以安装有各种客户端应用。例如,图像处理类应用、信息分析类应用、语音助手类应用、购物类应用、金融类应用等。

终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是运行各种服务的服务器,例如运行基于图像或语音数据的目标跟踪、语音处理服务的服务器。服务器105可以从终端设备101、102、103获取深度学习任务数据、或者从数据库获取深度学习任务数据来构建训练样本,对用于执行深度学习任务的神经网络的模型结构进行自动搜索和优化。服务器105还可以运行用于预测神经网络结构的性能的预测模型,在进行模型结构自动搜索时基于该预测模型预测不同的神经网络结构的性能,进而快速确定出性能最优的神经网络模型结构。

在本公开的实施例的应用场景中,服务器105可以通过超网络来实现神经网络的模型结构的自动搜索。服务器105可以基于获取到的深度学习任务数据,例如图像、文本、语音等媒体数据,来训练超网络,在超网络训练完成后,服务器105可以从超网络中采样出子网络结构来执行相应的任务。

服务器105还可以是为终端设备101、102、103上安装的应用提供后端支持的后端服务器。例如,服务器105可以接收终端设备101、102、103发送的待处理的数据,使用神经网络模型对数据进行处理,并将处理结果返回至终端设备101、102、103。

在实际场景中,终端设备101、102、103可以向服务器105发送与语音交互、文本分类、对话行为分类、图像识别、关键点检测等任务相关的深度学习任务请求。服务器105上可以运行已针对相应的深度学习任务训练得到的神经网络模型,利用该神经网络模型来处理信息。

需要说明的是,本公开的实施例所提供的用于训练预测模型的方法一般由服务器105执行,相应地,用于训练预测模型的装置一般设置于服务器105中。

在一些场景中,服务器105可以从数据库、存储器或其他设备获取训练预测模型所需要的源数据(例如训练样本,已训练完成的超网络等),这时,示例性系统架构100可以不存在终端设备101、102、103和网络104。

需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,其示出了根据本公开的用于训练预测模型的方法的一个实施例的流程200。

本公开的预测模型用于预测神经网络结构的性能。神经网络结构的性能可以包括以下至少一项:神经网络结构执行相应深度学习任务的精度、神经网络结构在指定硬件或软件环境下的运行功耗、神经网络结构在指定硬件或软件环境下的运行延时、神经网络结构在指定硬件或软件环境下的内存占用率,等等。需要说明的是,针对不同的硬件或软件环境,可以分别训练相应的预测模型。针对不同的深度学习任务,也可以分别训练不同的预测模型。

本实施例中用于训练预测模型的方法的流程200,包括通过采样操作训练预测模型。其中,采样操作包括以下步骤201至步骤203。

在步骤201中,从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息。

在本实施例中,用于训练预测模型的方法的执行主体可以获取预先训练完成的超网络。超网络的结构可以是预先设定的,包含网络结构搜索空间中的所有网络结构,超网络的每一层可以包含网络结构搜索空间中的多个网络结构单元。在这里,网络结构单元可以由单个网络层形成,例如单个卷积层、循环神经网络中的单个循环单元,也可以由多个网络层组合形成,例如由卷积层、批量归一化层、非线性层连接形成的卷积块(block)。超网络中,每个网络结构单元可以与其上一层和下一层的所有网络结构单元连接。超网络训练完成后,内部所有的网络结构在构建不同的子网络时共享参数。

可以随机地中超网络中采样子网络,或者可以利用经过训练的递归神经网络中超网络中采样出子网络。需要说明的是,在每一次采样操作中,可以采样出多个子网络。

可以获取训练数据,对采样出的子网络进行训练。训练数据可以是图像、文本、语音、视频等媒体数据,也可以是位置、价格、时间等数字型数据,可以根据所执行的深度学习任务确定,例如深度学习任务是图像分类任务,则训练数据是图像数据。

在本实施例中,训练数据可以是具有标注信息的数据,在子网络训练过程中,基于输入子网络的训练数据的标注信息来确定子网络的误差,进而通过误差反向传播的方式迭代调整子网络的参数,使得子网络在训练过程中逐步优化其参数。

在子网络训练完成之后,可以利用测试数据来测试子网络的性能。测试数据也可以有具有标注信息,根据训练完成的子网络对测试数据的处理结果与对应的标注信息得出训练完成的子网络的性能信息。

在步骤202中,基于训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练预测模型。

在本实施例中,可以根据步骤201训练完成的子网络与其性能信息构建成对的样本数据,在该样本数据中,子网络为输入信息,对应的性能信息为输入信息对应的标注信息。

可选地,可以将一部分样本数据作为训练样本,另一部分训练样本作为测试样本。

可以利用样本数据对待训练的预测模型进行训练。待训练的预测模型的结构可以是预先构建的,例如可以是基于nas的方法从搜索空间中自动搜索出的,或者可以是预先设定的卷积神经网络、循环神经网络等网络结构。在本实施例中,可以将样本数据中的子网络编码后输入待训练的预测模型,待训练的预测模型可以对输入的子网络的性能信息进行预测。根据待训练的预测模型对子网络的性能信息的预测结果与子网络的标注信息之间的差异构建目标函数,通过最小化目标函数来迭代调整待训练的预测模型的参数。在目标函数的值收敛至预设的范围内,或者迭代调整待训练的预测模型的参数的次数达到预设的次数阈值时,可以固定待训练的预测模型的参数,得到当前的采样操作中生成的预测模型。

由于子网络是从已训练的超网络中采样得出的,各子网络的初始参数精度较高,所以子网络在步骤202中训练时能够快速收敛,因而本实施例的方案可以快速地完成每次采样操作,从而加快预测模型的训练速度。

在步骤203中,响应于确定预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量。

在当前的采样操作中停止对待训练的预测模型的训练后,可以利用测试样本测试当前采样操作中训练得到的预测模型的预测精度,具体可以利用当前采样操作中训练得到的预测模型对测试样本中的各子网络的性能信息进行预测,将预测结果与测试样本中的各子网络的标注信息进行比对得到预测模型的预测精度。

若当前采样操作中训练得到的预测模型的精度不满足预设的条件,例如未达到预设的精度阈值,则可以执行下一次采样操作,在下一次采样操作中增加采样的子网络的数量。增加的子网络的数量可以预先设定,例如设定每次采样操作比前一次采样操作增加500个子网络。这样,相邻的两次采样操作中,后一次采样操作中预测模型的样本数量增加,较前一次采样操作可以达到更好的精度。并且,通过逐步增加采样的子网络的数量,能够避免过大的样本数量造成预测模型的训练消耗过多的内存资源。

上述实施例的用于训练预测模型的方法,通过采样操作训练预测模型,其中采样操作包括:从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息;基于训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练预测模型;响应于确定预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量。该方法可以获得预测任意模型结构的性能的预测模型,从而在应用至模型结构自动搜索中时针对不同的约束条件都只需搜索一次即可得出性能最优的模型结构,有效减少了模型结构搜索消耗的资源,降低了模型结构搜索成本。

可选地,上述采样操作还可以包括:响应于确定预测模型的精度满足预设的条件,基于当前的采样操作的训练结果生成训练完成的预测模型。若当前的采样操作中训练得到的预测模型的精度达到预设的精度阈值,可以将该预测模型作为训练完成的预测模型。这样,在经过多次采样操作逐步增加采样的子网络数量、增加预测模型的样本数量以对预测模型逐步进行优化后,当预测模型的精度满足预设的条件时可以停止采样操作,避免过多的采样操作消耗内存资源。

训练完成的预测模型可以预测预设的神经网络模型的性能。在实际场景中,在应用程序中的功能上线之前,可以利用该虚拟兰完成的预测模型对用于实现该功能的神经网络模型的性能进行预测,该预测结果可以作为参考信息来评估该功能的稳定性和可靠性。

在上述实施例的一些可选的实现方式中,上述从已训练完成的超网络中采样出子网络的步骤包括:从已训练完成的超网络中采样出未被采样过的子网络。也即,在每次采样操作中,之前的采样操作中已被采样过的子网络不会被重复采样,每次采样操作采样一批新的子网络。这时上述基于训练完成的子网络和对应的性能信息构建样本数据,包括:基于当前采样操作中采样出的子网络和对应的性能信息、以及上一次采样操作中采样出的子网络和对应的性能信息构建样本数据。也即,可以将当前的采样操作采样出的子网络添加至上一次采样操作中构建的样本数据中,以对样本数据进行扩充。这样可以最小化子网络采样造成的运算资源消耗并逐步增加样本数据的数量,有利于减少预测模型的占用的内存资源。

可选地,上述采样操作中,步骤201的子网络的采样可以按照如下方式实现:采用初始的递归神经网络从已训练完成的超网络中采样出子网络。在执行步骤202对采样出的子网络进行训练之前,采样操作还可以包括:基于训练好的子网络的性能信息生成反馈信息,以基于反馈信息迭代更新递归神经网络;基于迭代更新后的递归神经网络重新从已训练完成的超网络中采样出子网络。

具体地,在训练预测模型的过程中,还可以对用于从超网络中采样出子网络的递归神经网络进行训练。在每次一采样操作中,可以采用待训练的递归神经网络采样子网络,该待训练的递归神经网络的参数可以随机初始化,然后将待训练的递归神经网络采样出的子网络的误差等信息作为反馈信息反馈至递归神经网络,以使递归神经网络根据反馈信息更新参数,并重新采样子网络。

这样,通过基于子网络采样结果训练递归神经网络,可以优化递归神经网络,从而优化子网络采样结果,进而提升基于子网络采样结果训练得到的预测模型的预测精度。

请参考图3,其示出了本公开的用于训练预测模型的方法的另一个实施例的流程。如图3所示,本实施例的用于训练预测模型的方法的流程300,包括:

步骤301,通过采样操作训练预测模型。

其中,采样操作包括以下步骤3011、步骤3012和步骤3013。

步骤3011,从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息。

步骤3012,基于训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练预测模型。

步骤3013,响应于确定当前采样操作中训练得到的预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量。

可选地,上述步骤3011中,可以采用初始的递归神经网络从已训练完成的超网络中采样出子网络;以及在执行步骤3012对采样出的子网络进行训练之前,采样操作还包括:基于训练好的子网络的性能信息生成反馈信息,以基于反馈信息迭代更新递归神经网络;基于迭代更新后的递归神经网络重新从已训练完成的超网络中采样出子网络。

可选地,上述从以训练完成的超网络中采样出子网络的步骤3011可以包括:从已训练完成的超网络中采样出未被采样过的子网络。并且上述步骤3012中可以按照如下方式构建样本数据:基于当前采样操作中采样出的子网络和对应的性能信息、以及上一次采样操作中采样出的子网络和对应的性能信息构建样本数据。

可选地,采样操作还可以包括:响应于确定预测模型的精度满足预设的条件,基于当前的采样操作的训练结果生成训练完成的预测模型。

上述采样操作301中的步骤3011、步骤3012、步骤3013分别与前述实施例中的步骤201、步骤202、步骤203一致,步骤3011、步骤3012、步骤3013的具体实施方式及采样操作的可选实现方式可以分别参考前述实施例中对应步骤的描述,此处不再赘述。

在本实施例中,用于训练预测模型的方法还包括:

步骤302,基于训练完成的预测模型对预设的模型结构搜索空间内的模型结构的性能预测结果,以及预设的深度学习任务场景的性能约束条件,在模型结构搜索空间中搜索出满足性能约束条件的神经网络模型结构。

预设的模型结构搜索空间可以是针对指定的深度学习任务构建的搜索空间,例如针对图像处理任务构建的包含卷积层的搜索空间、针对文本或语音等序列数据构建的包含注意力单元(attention)的搜索空间。可以利用在步骤301中训练完成的预测模型预测搜索空间内各模型结构的性能进行预测。然后将各模型结构的性能预测结果与预设的深度学习任务场景的性能约束条件进行匹配,将匹配成功的模型结构作为搜索出的满足该性能约束条件的神经网络模型结构。该搜索出的神经网络模型结构可以用于执行上述预设的深度学习任务场景中的任务数据。

上述性能约束条件可以由运行神经网络模型结构的设备的硬件或软件环境决定。例如在一种芯片上运行神经网络模型的最小延时为0.2秒,则可以在搜索空间内搜索出满足该延时条件的网络结构。或者,上述性能约束条件可根据由神经网络模型所执行的任务的需求确定。例如应用程序中的一个功能需要达到95%的精度,则可以从上述搜索空间内搜索出精度不低于95%的神经网络模型结构。

基于预测模型对搜索空间内的网络结构的性能预测结果以及预设的性能约束条件,能够快速搜索出合适的神经网络模型结构。从而该预测模型可以灵活地应用于搜索不同场景下适合的神经网络模型结构。

请参考图4,作为对上述用于训练预测模型的方法的实现,本公开提供了一种用于训练预测模型的装置的一个实施例,该装置实施例与图2和图3所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。其中,预测模型用于预测神经网络结构的性能。

如图4所示,本实施例的用于训练预测模型的装置400包括采样单元401。采样单元401被配置为通过采样操作训练预测模型;采样单元执行的采样操作包括:从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息;基于训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练预测模型;响应于确定当前采样操作中训练得到的预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量。

在一些实施例中,上述采样单元401按照如下方式从已训练完成的超网络中采样出子网络:采用初始的递归神经网络从已训练完成的超网络中采样出子网络;以及在对采样出的子网络进行训练之前,采样单元执行的采样操作还包括:基于训练好的子网络的性能信息生成反馈信息,以基于反馈信息迭代更新递归神经网络;基于迭代更新后的递归神经网络重新从已训练完成的超网络中采样出子网络。

在一些实施例中,上述采样单元401按照如下方式从已训练完成的超网络中采样出子网络:从已训练完成的超网络中采样出未被采样过的子网络;以及上述采样单元401按照如下方式构建样本数据:基于当前采样操作中采样出的子网络和对应的性能信息、以及上一次采样操作中采样出的子网络和对应的性能信息构建样本数据。

在一些实施例中,上述采样操作还包括:响应于确定预测模型的精度满足预设的条件,基于当前的采样操作的训练结果生成训练完成的预测模型。

在一些实施例中,上述装置还包括:搜索单元,被配置为基于训练完成的预测模型对预设的模型结构搜索空间内的模型结构的性能预测结果,以及预设的深度学习任务场景的性能约束条件,在模型结构搜索空间中搜索出满足性能约束条件的神经网络模型结构。

上述装置400中的采样单元401与参考图2和图3描述的方法中的步骤相对应。由此,上文针对用于训练预测模型的方法描述的操作、特征及所能达到的技术效果同样适用于装置400及其中包含的单元,在此不再赘述。

下面参考图5,其示出了适于用来实现本公开的实施例的电子设备(例如图1所示的服务器)500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。

如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图5中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:通过采样操作训练预测模型;采样操作包括:从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息;基于训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练预测模型;响应于确定当前采样操作中训练得到的预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量,其中,预测模型用于预测神经网络结构的性能。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括采样单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,采样单元还可以被描述为“通过采样操作训练预测模型的单元”。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。


技术特征:

1.一种用于训练预测模型的方法,所述预测模型用于预测神经网络结构的性能,所述方法包括通过采样操作训练所述预测模型;

所述采样操作包括:

从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息;

基于所述训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练所述预测模型;

响应于确定当前采样操作中训练得到的预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量。

2.根据权利要求1所述的方法,其中,所述从已训练完成的超网络中采样出子网络,包括:

采用初始的递归神经网络从所述已训练完成的超网络中采样出子网络;以及

在对采样出的子网络进行训练之前,所述采样操作还包括:

基于所述训练好的子网络的性能信息生成反馈信息,以基于所述反馈信息迭代更新所述递归神经网络;

基于迭代更新后的递归神经网络重新从已训练完成的超网络中采样出子网络。

3.根据权利要求1所述的方法,其中,所述从已训练完成的超网络中采样出子网络,包括:

从已训练完成的超网络中采样出未被采样过的子网络;以及

所述基于所述训练完成的子网络和对应的性能信息构建样本数据,包括:

基于当前采样操作中采样出的子网络和对应的性能信息、以及上一次采样操作中采样出的子网络和对应的性能信息构建样本数据。

4.根据权利要求1所述的方法,其中,所述采样操作还包括:

响应于确定所述预测模型的精度满足预设的条件,基于当前的采样操作的训练结果生成训练完成的预测模型。

5.根据权利要求1-4任一项所述的方法,其中,所述方法还包括:

基于训练完成的所述预测模型对预设的模型结构搜索空间内的模型结构的性能预测结果,以及预设的深度学习任务场景的性能约束条件,在所述模型结构搜索空间中搜索出满足所述性能约束条件的神经网络模型结构。

6.一种用于训练预测模型的装置,所述预测模型用于预测神经网络结构的性能,所述装置包括采样单元,被配置为通过采样操作训练所述预测模型;

所述采样单元执行的采样操作包括:

从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息;

基于所述训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练所述预测模型;

响应于确定当前采样操作中训练得到的预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量。

7.根据权利要求6所述的装置,其中,所述采样单元按照如下方式从已训练完成的超网络中采样出子网络:

采用初始的递归神经网络从所述已训练完成的超网络中采样出子网络;以及

在对采样出的子网络进行训练之前,所述采样单元执行的采样操作还包括:

基于所述训练好的子网络的性能信息生成反馈信息,以基于所述反馈信息迭代更新所述递归神经网络;

基于迭代更新后的递归神经网络重新从已训练完成的超网络中采样出子网络。

8.根据权利要求6所述的装置,其中,所述采样单元按照如下方式从已训练完成的超网络中采样出子网络:

从已训练完成的超网络中采样出未被采样过的子网络;以及

所述采样单元按照如下方式构建样本数据:

基于当前采样操作中采样出的子网络和对应的性能信息、以及上一次采样操作中采样出的子网络和对应的性能信息构建样本数据。

9.根据权利要求6所述的装置,其中,所述采样操作还包括:

响应于确定所述预测模型的精度满足预设的条件,基于当前的采样操作的训练结果生成训练完成的预测模型。

10.根据权利要求6-9任一项所述的装置,其中,所述装置还包括:

搜索单元,被配置为基于训练完成的所述预测模型对预设的模型结构搜索空间内的模型结构的性能预测结果,以及预设的深度学习任务场景的性能约束条件,在所述模型结构搜索空间中搜索出满足所述性能约束条件的神经网络模型结构。

11.一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。

12.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。

技术总结
本公开涉及人工智能领域。本公开的实施例公开了用于训练预测模型的方法和装置。该预测模型用于预测神经网络结构的性能,该方法包括通过采样操作训练预测模型;采样操作包括:从已训练完成的超网络中采样出子网络,并对采样出的子网络进行训练,得到训练完成的子网络的性能信息;基于训练完成的子网络和对应的性能信息构建样本数据,并利用样本数据训练预测模型;响应于确定当前采样操作中训练得到的预测模型的精度不满足预设的条件,执行下一次采样操作,并在下一次采样操作中增加采样的子网络的数量。该方法可以降低神经网络模型结构的搜索成本。

技术研发人员:希滕;张刚;温圣召
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2020.02.25
技术公布日:2020.06.26

最新用于训练预测模型的方法和装置与流程的相关内容如下:

标题:最新用于训练预测模型的方法和装置与流程|http://www.wc10086.cn/327244.html

本文来自网络,不代表本站立场,转载请注明出处!