CN111368973A - 用于训练超网络的方法和装置 - Google Patents

用于训练超网络的方法和装置 Download PDF

Info

Publication number
CN111368973A
CN111368973A CN202010116701.7A CN202010116701A CN111368973A CN 111368973 A CN111368973 A CN 111368973A CN 202010116701 A CN202010116701 A CN 202010116701A CN 111368973 A CN111368973 A CN 111368973A
Authority
CN
China
Prior art keywords
network
sub
super
trained
recurrent neural
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.)
Granted
Application number
CN202010116701.7A
Other languages
English (en)
Other versions
CN111368973B (zh
Inventor
希滕
张刚
温圣召
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010116701.7A priority Critical patent/CN111368973B/zh
Publication of CN111368973A publication Critical patent/CN111368973A/zh
Application granted granted Critical
Publication of CN111368973B publication Critical patent/CN111368973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/084Backpropagation, e.g. using gradient descent
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开涉及人工智能领域。本公开的实施例公开了用于训练超网络的方法和装置。该方法包括:通过依次执行多次迭代操作获得训练完成的超网络;迭代操作包括:初始化递归神经网络的参数,利用递归神经网络对当前的超网络进行采样以获得子网络;响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于训练数据对子网络进行训练以获得训练后的子网络的性能信息,对子网络的性能信息进行反向传播以更新超网络的参数,并保存反向传播的梯度值;响应于确定保存的梯度值的数量达到预设的数量,对保存的梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新超网络的参数。该方法可以提升超网络的训练效率。

Description

用于训练超网络的方法和装置
技术领域
本公开的实施例涉及计算机技术领域,具体涉及人工智能技术领域,尤其涉及用于训练超网络的方法和装置。
背景技术
随着人工智能技术和数据存储技术的发展,深度神经网络在许多领域取得了重要的成果。深度神经网络结构的设计对其性能具有直接的影响。传统的深度神经网络结构的设计由人工根据经验完成。人工设计网络结构需要大量的专家知识,并且针对不同的任务或应用场景需要分别针对性地进行网络结构的设计,成本较高。
NAS(neural architecture search,自动化神经网络结构搜索)是用算法代替繁琐的人工操作,自动搜索出最佳的神经网络架构。目前的一些NAS方法采用包含网络结构搜索空间中的所有网络结构的超网络,超网络内部所有的网络结构在构建不同的子网络时共享参数。
发明内容
本公开的实施例提出了用于训练超网络的方法和装置、电子设备和计算机可读介质。
第一方面,本公开的实施例提供了一种用于训练超网络的方法,包括:通过依次执行多次迭代操作获得训练完成的超网络;迭代操作包括:初始化递归神经网络的参数,并利用递归神经网络对当前的超网络进行采样以获得子网络;响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对子网络进行训练以获得训练后的子网络的性能信息,对子网络的性能信息进行反向传播以更新超网络的参数,并保存反向传播的梯度值;响应于确定保存的梯度值的数量达到预设的数量,对保存的梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新超网络的参数。
在一些实施例中,上述迭代操作还包括:响应于确定超网络满足预设的收敛条件,停止更新超网络的参数;其中,预设的收敛条件包括至少一项:超网络的参数更新率低于预设的阈值,利用递归神经网络对当前的超网络进行采样以获得的子网络的性能信息达到预设的性能约束条件,以及已执行的迭代操作的次数达到预设的次数阈值。
在一些实施例中,上述方法还包括:基于训练完成的超网络对用于从超网络中采样出子网络的递归神经网络进行训练。
在一些实施例中,上述基于训练完成的超网络对用于从超网络中采样出子网络的递归神经网络进行训练,包括:基于当前的递归神经网络的参数,从训练完成的超网络中采样出子网络;对从训练完成的超网络中采样出的子网络进行训练,以获取从训练完成的超网络中采样出的子网络的性能信息,基于从训练完成超网络中采样出的子网络的性能信息生成反馈信息,将反馈信息反馈至递归神经网络,以基于反馈信息更新递归神经网络的参数。
在一些实施例中,上述方法还包括:获取待处理的任务数据;基于待处理的任务数据,采用训练完成的递归神经网络对训练完成的超网络进行采样,得出用于处理待处理的任务数据的子网络;利用用于处理深度学习任务数据的子网络处理待处理的任务数据,得到任务处理结果。
第二方面,本公开的实施例提供了一种用于训练超网络的装置,包括:第一训练单元,被配置为通过依次执行多次迭代操作获得训练完成的超网络;迭代操作包括:初始化递归神经网络的参数,并利用递归神经网络对当前的超网络进行采样以获得子网络;响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对子网络进行训练以获得训练后的子网络的性能信息,对子网络的性能信息进行反向传播以更新超网络的参数,并保存反向传播的梯度值;响应于确定保存的梯度值的数量达到预设的数量,对保存的梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新超网络的参数。
在一些实施例中,上述第一训练单元执行的迭代操作还包括:响应于确定超网络满足预设的收敛条件,停止更新超网络的参数;其中,预设的收敛条件包括至少一项:超网络的参数更新率低于预设的阈值,利用递归神经网络对当前的超网络进行采样以获得的子网络的性能信息达到预设的性能约束条件,以及已执行的迭代操作的次数达到预设的次数阈值。
在一些实施例中,上述装置还包括:第二训练单元,被配置为基于训练完成的超网络对用于从超网络中采样出子网络的递归神经网络进行训练。
在一些实施例中,上述第二训练单元被配置为基于训练完成的超网络,按照如下方式对用于从超网络中采样出子网络的递归神经网络进行训练:基于当前的递归神经网络的参数,从训练完成的超网络中采样出子网络;对从训练完成的超网络中采样出的子网络进行训练,以获取从训练完成的超网络中采样出的子网络的性能信息,基于从训练完成超网络中采样出的子网络的性能信息生成反馈信息,将反馈信息反馈至递归神经网络,以基于反馈信息更新递归神经网络的参数。
在一些实施例中,上述装置还包括:获取单元,被配置为获取待处理的任务数据;采样单元,被配置为基于待处理的任务数据,采用训练完成的递归神经网络对训练完成的超网络进行采样,得出用于处理待处理的任务数据的子网络;处理单元,被配置为利用用于处理深度学习任务数据的子网络处理待处理的任务数据,得到任务处理结果。
第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的用于训练超网络的方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现第一方面提供的用于训练超网络的方法。
本公开的上述实施例的用于训练超网络的方法和装置,通过依次执行多次迭代操作获得训练完成的超网络;迭代操作包括:初始化递归神经网络的参数,并利用递归神经网络对当前的超网络进行采样以获得子网络;响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对子网络进行训练以获得训练后的子网络的性能信息,对子网络的性能信息进行反向传播以更新超网络的参数,并保存反向传播的梯度值;响应于确定保存的梯度值的数量达到预设的数量,对保存的梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新超网络的参数。该用于训练超网络的方法和装置基于递归神经网络从超网络中采样子网络来训练超网络,随着迭代次数增加采样出的子网络的性能逐步提升,有助于加快超网络的收敛速度,提升超网络的训练效率,减少超网络训练所占用的内存资源,提升运算效率,同时确保训练得到的超网络的准确性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图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还可以是为终端设备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。该用于训练超网络的方法,包括:通过依次执行多次迭代操作获得训练完成的超网络。
在本实施例中,可以预先设定迭代次数或迭代停止条件,在执行迭代操作的次数达到预先设定的迭代次数或迭代停止条件时,停止执行迭代操作。
具体地,迭代操作包括以下步骤201至步骤203:
步骤201,初始化递归神经网络的参数,并利用递归神经网络对当前的超网络进行采样以获得子网络。
在每次迭代操作中,可以首先初始化预先构建的递归神经网络的参数。该递归神经网络用于从待训练的超网络中采样网络结构形成子网络。采样得出的子网络是一个完整的神经网络模型,可以用于处理深度学习任务数据。
上述递归神经网络的参数可以随机初始化,或者按照预先设定的规则初始化,例如每一次迭代操作分别从预先设定的参数组集合中选择一组参数。或者,上述递归神经网络的参数可以在训练超网络的过程中随超网络的参数一并迭代更新,即在每一次迭代操作中,递归神经网络的参数随当前超网络的性能或采样出的子网络的性能变化,例如可以将当前超网络的性能信息或当前采样出的子网络的性能信息反向传播至递归神经网络。
上述超网络的结构可以是预先设定的,超网络的每一层可以包含网络结构搜索空间中的多个网络结构单元。在这里,网络结构单元可以由单个网络层形成,例如单个卷积层、循环神经网络中的单个循环单元,也可以由多个网络层组合形成,例如由卷积层、批量归一化层、非线性层连接形成的卷积块(block)。超网络中,每个网络结构单元可以与其上一层和下一层的所有网络结构单元连接。训练过程中通过多轮迭代操作优化超网络中的参数,包括权重参数、偏置参数、卷积核,等等。
递归神经网络从超网络中采样子网络的操作是将各层的网络结构单元作为节点、在超网络中选择路径的过程。在本实施例中,可以利用递归神经网络对表征当前的超网络的序列编码进行处理,递归神经网络输出的编码即为采样得到的子网络的编码。通过对子网络的编码解码得出采样到的子网络。
步骤202,响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对子网络进行训练以获得训练后的子网络的性能信息,对子网络的性能信息进行反向传播以更新超网络的参数,并保存反向传播的梯度值。
在第一次迭代操作中,可以对采样出的子网络进行训练,具体可以获取该子网络对应的深度学习任务的训练数据,采用有监督或无监督的方式训练子网络。在完成子网络的训练之后,利用测试数据获得训练后的子网络的性能信息,基于该性能信息进行反向传播以更新超网络的参数,并保存反向传播中计算得出的超网络的参数的梯度值。
在第二次及第二次之后的迭代操作中,可以判断保存的反向传播的梯度值的数量是否达到预设的数量,若未达到预设的数量,可以继续执行本次迭代操作,采用深度学习任务的训练数据对当前采样出的子网络进行训练,并测试训练后的子网络的性能得到训练后的子网络的性能信息。
训练后的子网络的性能信息可以是子网络执行相应任务的准确率,例如媒体内容识别或分类的准确率、目标定位精度等,还可以是执行相应任务达到预设的性能指标的功耗、延时、系统内存占用率等硬件相关的性能信息。
可以基于子网络所执行的深度学习任务构建目标函数,基于训练后的子网络的性能信息计算目标函数的值,并利用该目标函数,采用梯度下降法将性能信息反向传播至超网络,基于目标函数的梯度反向传播,更新超网络的参数。并且,可以对每一次迭代操作中的反向传播的梯度进行保存。
步骤203,响应于确定保存的梯度值的数量达到预设的数量,对保存的梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新超网络的参数。
若在当前的迭代操作中确定保存的反向传播的梯度值的数量达到预设的数量,则可以对保存的梯度值进行均一化处理,例如对每个参数的所有保存的梯度值求平均,作为当前迭代操作中该参数的反向传播的梯度值。或者,可以对当前迭代操作中超网络的若干参数的梯度求平均,将平均值作为当前迭代操作中该若干个参数的反向传播的梯度值。
利用梯度下降法更新超网络的参数时,不同参数的收敛速度不同。而超网络的参数的数量比一般的神经网络模型的参数的数量更多,因此为了使所有的参数都收敛,需要执行的迭代次数较多。并且,超网络的深度较深,随着迭代次数累加,可能出现梯度消失的情况。本实施例中通过在迭代过程中,当保存的梯度值的数量达到预设的数量时对梯度值进行均一化处理,可以均一化各参数的收敛速度,提升训练效率,同时改善梯度消失的问题。
在执行完当前的迭代操作之后,可以根据更新参数后的超网络执行下一次迭代操作。需要说明的是,下一次迭代操作中递归神经网络的参数可以与当前的迭代操作中的递归神经网络的参数相同,也可以重新初始化。
本公开的上述实施例的用于训练超网络的方法,通过依次执行多次迭代操作获得训练完成的超网络;迭代操作包括:初始化递归神经网络的参数,并利用递归神经网络对当前的超网络进行采样以获得子网络;响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对子网络进行训练以获得训练后的子网络的性能信息,对子网络的性能信息进行反向传播以更新超网络的参数,并保存反向传播的梯度值;响应于确定保存的梯度值的数量达到预设的数量,对保存的梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新超网络的参数。该用于训练超网络的方法和装置基于递归神经网络从超网络中采样子网络来训练超网络,随着迭代次数增加采样出的子网络的性能逐步提升,有助于加快超网络的收敛速度,提升超网络的训练效率,减少超网络训练所占用的内存资源,提升运算效率,同时确保训练得到的超网络的准确性。
在一些实施例中,上述迭代操作还包括:响应于确定超网络满足预设的收敛条件,停止更新超网络的参数。其中,预设的收敛条件包括至少一项:超网络的参数更新率低于预设的阈值,利用递归神经网络对当前的超网络进行采样以获得的子网络的性能信息达到预设的性能约束条件,以及已执行的迭代操作的次数达到预设的次数阈值。
超网络的参数更新率是超网络在连续几次迭代操作中的参数更新率,该参数更新率可以基于参数值的变化量与参数值的比值计算得出。在超网络达到上述预设的收敛条件时,可以固定超网络的参数,得到训练完成的超网络。由此获得的超网络具有良好的性能。
继续参考图3,其示出了根据本公开的用于训练超网络的方法的另一个实施例的流程图。如图3所示,本实施例的用于训练超网络的方法的流程300,包括以下步骤:
步骤301:通过依次执行多次迭代操作获得训练完成的超网络;
其中,迭代操作包括以下步骤3031、步骤3032以及步骤3033:
在步骤3031中,初始化递归神经网络的参数,并利用递归神经网络对当前的超网络进行采样以获得子网络。
在步骤3032中,响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对子网络进行训练以获得训练后的子网络的性能信息,对子网络的性能信息进行反向传播以更新超网络的参数,并保存反向传播的梯度值。
在步骤3033中,响应于确定保存的梯度值的数量达到预设的数量,对保存的梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新超网络的参数。
上述步骤3031、步骤3032、步骤3033分别与前述用于训练超网络的方法的流程200中的步骤201、步骤202、步骤203一致,步骤3031、步骤3032、步骤3033的具体实施方式可以分别参考前述实施例中步骤201、步骤202、步骤203的描述,此处不再赘述。
此外,可选地,迭代操作还可以包括:响应于确定超网络满足预设的收敛条件,停止更新超网络的参数;其中,预设的收敛条件包括至少一项:超网络的参数更新率低于预设的阈值,利用递归神经网络对当前的超网络进行采样以获得的子网络的性能信息达到预设的性能约束条件,以及已执行的迭代操作的次数达到预设的次数阈值。
在本实施例中,用于训练超网络的方法的流程300还可以包括:
步骤302,基于训练完成的超网络对用于从超网络中采样出子网络的递归神经网络进行训练。
在训练完成超网络之后,可以对构建的循环神经网络进行训练。该循环神经网络的结构可以预先设计,或者预先采用NAS的方式搜索得出。
可以按照如下方式训练递归神经网络:从超网络中采样出多个子网络作为训练样本,通过多次迭代调整递归神经网络的参数使得利用递归神经网络采样出的子网络与作为训练样本的子网络一致;然后从超网络中重新采样一批子网络添加至训练样本中,进一步迭代调整递归神经网络的参数使得利用递归神经网络采样出的子网络与更新后的训练样本中的子网络一致;重复多次执行上述从超网络中采样出多个子网络作为训练样本、多次迭代调整递归神经网络的参数使得利用递归神经网络采样出的子网络与作为训练样本的子网络一致的步骤,得到训练完成的递归神经网络。
在本实施例的一些可选的实现方式中,可以按照如下方式训练用于从超网络中采样出子网络的递归神经网络:首先,基于当前的递归神经网络的参数,以及相应的深度学习任务数据,从训练完成的超网络中采样出子网络;然后,对从训练完成的超网络中采样出的子网络基于相应的深度学习任务数据进行训练,以获取从训练完成的超网络中采样出的子网络的性能信息,基于从训练完成超网络中采样出的子网络的性能信息生成反馈信息,将反馈信息反馈至递归神经网络,以基于反馈信息更新递归神经网络的参数。
通过基于当前的递归神经网络的参数从训练完成的超网络中采样子网络,获取采样得到的子网络的性能信息并反向传播至递归神经网络,迭代更新递归神经网络的参数,从而逐步优化递归神经网络从超网络中采样出的子网络。在递归神经网络从超网络中采样出的子网络的性能信息达到预设的条件时可以停止对递归神经网络的参数的调整,得到训练完成的递归神经网络。
本实施例通过基于训练完成的超网络训练用于从超网络中采样出子网络的递归神经网络,能够优化递归神经网络,从而优化超网络的子网络采样策略,在应用至具体的场景中时,经过训练的递归神经网络可以快速、准确地采样出合适的子网络,提升了深度学习任务的神经网络的结构搜索效率。
在上述结合图2和图3描述的实施例的一些可选的实现方式中,用于训练超网络的方法还可以包括:获取待处理的任务数据;基于待处理的任务数据,采用训练完成的递归神经网络对训练完成的超网络进行采样,得出用于处理待处理的任务数据的子网络;利用用于处理深度学习任务数据的子网络处理待处理的任务数据,得到任务处理结果。
具体地,上述训练完成的递归神经网络可以根据待处理的任务数据在超网络中采样出子网络,利用采样出的子网络处理上述待处理的任务数据。在这里,上述递归神经网络可以将待处理任务数据的数据类型或待处理任务数据的任务类型编码作为输入,通过在训练完成的超网络中寻找最优路径来采样出子网络。采样出的子网络无需训练,可以直接对待处理的任务数据进行处理。
上述待处理的任务数据可以是具体应用场景中的数据,例如图像、文本、语音、视频等媒体数据,又例如位置、价格、销量、时间等数字型数据。
上述方法应用训练完成的递归神经网络对训练完成的超网络采样即可获得用于处理待处理的任务数据的神经网络结构,能够快速地搜索出与待处理的任务数据匹配的神经网络结构,从而使得该方法可以应对不同类型的深度学习任务,而无需针对每一类深度学习任务分别搜索最优的神经网络结构并训练,有效地提升了深度学习任务的处理效率。
请参考图4,作为对上述用于训练超网络的方法的实现,本公开提供了一种用于训练超网络的装置的一个实施例,该装置实施例与图2和图3所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的用于训练超网络的装置400包括第一训练单元401。第一训练单元,被配置为通过依次执行多次迭代操作获得训练完成的超网络;迭代操作包括:初始化递归神经网络的参数,并利用递归神经网络对当前的超网络进行采样以获得子网络;响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对子网络进行训练以获得训练后的子网络的性能信息,对子网络的性能信息进行反向传播以更新超网络的参数,并保存反向传播的梯度值;响应于确定保存的梯度值的数量达到预设的数量,对保存的梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新超网络的参数。
在一些实施例中,上述第一训练单元401执行的迭代操作还包括:响应于确定超网络满足预设的收敛条件,停止更新超网络的参数;其中,预设的收敛条件包括至少一项:超网络的参数更新率低于预设的阈值,利用递归神经网络对当前的超网络进行采样以获得的子网络的性能信息达到预设的性能约束条件,以及已执行的迭代操作的次数达到预设的次数阈值。
在一些实施例中,上述装置还包括:第二训练单元,被配置为基于训练完成的超网络对用于从超网络中采样出子网络的递归神经网络进行训练。
在一些实施例中,上述第二训练单元被配置为基于训练完成的超网络,按照如下方式对用于从超网络中采样出子网络的递归神经网络进行训练:基于当前的递归神经网络的参数,从训练完成的超网络中采样出子网络;对从训练完成的超网络中采样出的子网络进行训练,以获取从训练完成的超网络中采样出的子网络的性能信息,基于从训练完成超网络中采样出的子网络的性能信息生成反馈信息,将反馈信息反馈至递归神经网络,以基于反馈信息更新递归神经网络的参数。
在一些实施例中,上述装置还包括:获取单元,被配置为获取待处理的任务数据;采样单元,被配置为基于待处理的任务数据,采用训练完成的递归神经网络对训练完成的超网络进行采样,得出用于处理待处理的任务数据的子网络;处理单元,被配置为利用用于处理深度学习任务数据的子网络处理待处理的任务数据,得到任务处理结果。
上述装置400中的第一训练单元401与参考图2和图3描述的方法中的步骤相对应。由此,上文针对用于训练超网络的方法描述的操作、特征及所能达到的技术效果同样适用于装置400及其中包含的单元,在此不再赘述。
下面参考图5,其示出了适于用来实现本公开的实施例的电子设备(例如图1所示的服务器)500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图5中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:通过依次执行多次迭代操作获得训练完成的超网络;迭代操作包括:初始化递归神经网络的参数,并利用递归神经网络对当前的超网络进行采样以获得子网络;响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对子网络进行训练以获得训练后的子网络的性能信息,对子网络的性能信息进行反向传播以更新超网络的参数,并保存反向传播的梯度值;响应于确定保存的梯度值的数量达到预设的数量,对保存的梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新超网络的参数。。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括训练单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,训练单元还可以被描述为“通过依次执行多次迭代操作获得训练完成的超网络的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种用于训练超网络的方法,包括:通过依次执行多次迭代操作获得训练完成的超网络;
所述迭代操作包括:
初始化递归神经网络的参数,并利用所述递归神经网络对当前的超网络进行采样以获得子网络;
响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对所述子网络进行训练以获得训练后的子网络的性能信息,对所述子网络的性能信息进行反向传播以更新所述超网络的参数,并保存反向传播的梯度值;
响应于确定保存的所述梯度值的数量达到预设的数量,对保存的所述梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新所述超网络的参数。
2.根据权利要求1所述的方法,其中,所述迭代操作还包括:
响应于确定所述超网络满足预设的收敛条件,停止更新所述超网络的参数;
其中,所述预设的收敛条件包括至少一项:
所述超网络的参数更新率低于预设的阈值,
利用所述递归神经网络对当前的超网络进行采样以获得的子网络的性能信息达到预设的性能约束条件,以及
已执行的迭代操作的次数达到预设的次数阈值。
3.根据权利要求1所述的方法,其中,所述方法还包括:
基于所述训练完成的超网络对用于从所述超网络中采样出子网络的递归神经网络进行训练。
4.根据权利要求3所述的方法,其中,所述基于所述训练完成的超网络对用于从所述超网络中采样出子网络的递归神经网络进行训练,包括:
基于当前的递归神经网络的参数,从训练完成的超网络中采样出子网络;
对从训练完成的超网络中采样出的子网络进行训练,以获取从训练完成的超网络中采样出的子网络的性能信息,基于所述从训练完成超网络中采样出的子网络的性能信息生成反馈信息,将所述反馈信息反馈至所述递归神经网络,以基于所述反馈信息更新所述递归神经网络的参数。
5.根据权利要求1-4任一项所述的方法,其中,所述方法还包括:
获取待处理的任务数据;
基于所述待处理的任务数据,采用训练完成的递归神经网络对所述训练完成的超网络进行采样,得出用于处理所述待处理的任务数据的子网络;
利用所述用于处理所述深度学习任务数据的子网络处理所述待处理的任务数据,得到任务处理结果。
6.一种用于训练超网络的装置,包括:
第一训练单元,被配置为通过依次执行多次迭代操作获得训练完成的超网络;
所述迭代操作包括:
初始化递归神经网络的参数,并利用所述递归神经网络对当前的超网络进行采样以获得子网络;
响应于确定保存的反向传播的梯度值的数量未达到预设的数量,基于深度学习任务的训练数据对所述子网络进行训练以获得训练后的子网络的性能信息,对所述子网络的性能信息进行反向传播以更新所述超网络的参数,并保存反向传播的梯度值;
响应于确定保存的所述梯度值的数量达到预设的数量,对保存的所述梯度值进行均一化处理,将均一化处理的结果作为当前迭代操作中反向传播的梯度值,以更新所述超网络的参数。
7.根据权利要求6所述的装置,其中,所述第一训练单元执行的迭代操作还包括:
响应于确定所述超网络满足预设的收敛条件,停止更新所述超网络的参数;
其中,所述预设的收敛条件包括至少一项:
所述超网络的参数更新率低于预设的阈值,
利用所述递归神经网络对当前的超网络进行采样以获得的子网络的性能信息达到预设的性能约束条件,以及
已执行的迭代操作的次数达到预设的次数阈值。
8.根据权利要求6所述的装置,其中,所述装置还包括:
第二训练单元,被配置为基于所述训练完成的超网络对用于从所述超网络中采样出子网络的递归神经网络进行训练。
9.根据权利要求8所述的装置,其中,所述第二训练单元被配置为基于所述训练完成的超网络,按照如下方式对用于从所述超网络中采样出子网络的递归神经网络进行训练:
基于当前的递归神经网络的参数,从训练完成的超网络中采样出子网络;
对从训练完成的超网络中采样出的子网络进行训练,以获取从训练完成的超网络中采样出的子网络的性能信息,基于所述从训练完成超网络中采样出的子网络的性能信息生成反馈信息,将所述反馈信息反馈至所述递归神经网络,以基于所述反馈信息更新所述递归神经网络的参数。
10.根据权利要求6-9任一项所述的装置,其中,所述装置还包括:
获取单元,被配置为获取待处理的任务数据;
采样单元,被配置为基于所述待处理的任务数据,采用训练完成的递归神经网络对所述训练完成的超网络进行采样,得出用于处理所述待处理的任务数据的子网络;
处理单元,被配置为利用所述用于处理所述深度学习任务数据的子网络处理所述待处理的任务数据,得到任务处理结果。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN202010116701.7A 2020-02-25 2020-02-25 用于训练超网络的方法和装置 Active CN111368973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010116701.7A CN111368973B (zh) 2020-02-25 2020-02-25 用于训练超网络的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010116701.7A CN111368973B (zh) 2020-02-25 2020-02-25 用于训练超网络的方法和装置

Publications (2)

Publication Number Publication Date
CN111368973A true CN111368973A (zh) 2020-07-03
CN111368973B CN111368973B (zh) 2023-09-08

Family

ID=71212039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010116701.7A Active CN111368973B (zh) 2020-02-25 2020-02-25 用于训练超网络的方法和装置

Country Status (1)

Country Link
CN (1) CN111368973B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882035A (zh) * 2020-07-21 2020-11-03 北京百度网讯科技有限公司 基于卷积核的超网络搜索方法、装置、设备和介质
CN111968635A (zh) * 2020-08-07 2020-11-20 北京小米松果电子有限公司 语音识别的方法、装置及存储介质
CN112037800A (zh) * 2020-09-22 2020-12-04 平安科技(深圳)有限公司 声纹核身模型训练方法、装置、介质及电子设备
CN112686321A (zh) * 2020-12-31 2021-04-20 北京迈格威科技有限公司 确定网络的性能参数值的方法、装置、设备及介质
CN112862096A (zh) * 2021-02-04 2021-05-28 百果园技术(新加坡)有限公司 一种模型训练和数据处理方法、装置、设备及介质
WO2022126448A1 (zh) * 2020-12-16 2022-06-23 华为技术有限公司 一种基于演化学习的神经网络结构搜索方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110288084A (zh) * 2019-06-06 2019-09-27 北京小米智能科技有限公司 超网络训练方法和装置
CN110414372A (zh) * 2019-07-08 2019-11-05 北京亮亮视野科技有限公司 增强的人脸检测方法、装置及电子设备
CN110580520A (zh) * 2019-09-11 2019-12-17 北京百度网讯科技有限公司 基于超网络的模型结构采样、装置以及电子设备
CN110782034A (zh) * 2019-10-31 2020-02-11 北京小米智能科技有限公司 神经网络的训练方法、装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110288084A (zh) * 2019-06-06 2019-09-27 北京小米智能科技有限公司 超网络训练方法和装置
CN110414372A (zh) * 2019-07-08 2019-11-05 北京亮亮视野科技有限公司 增强的人脸检测方法、装置及电子设备
CN110580520A (zh) * 2019-09-11 2019-12-17 北京百度网讯科技有限公司 基于超网络的模型结构采样、装置以及电子设备
CN110782034A (zh) * 2019-10-31 2020-02-11 北京小米智能科技有限公司 神经网络的训练方法、装置及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JONATHAN LORRAINE 等: "Stochastic Hyperparameter Optimization through Hypernetworks", 《ARXIV:1802.09419V2》, pages 1 - 9 *
YAO LI 等: "Hypernetwork Construction and Feature Fusion Analysis Based on Sparse Group Lasso Method on fMRI Dataset", 《FRONT NEUROSCI》, pages 1 - 25 *
李航;王进;赵蕊;: "基于Spark的多标签超网络集成学习", 智能系统学报, vol. 12, no. 5, pages 624 - 639 *
赵蕊: "Spark平台下的多标签并行演化超网络", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 138 - 2094 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882035A (zh) * 2020-07-21 2020-11-03 北京百度网讯科技有限公司 基于卷积核的超网络搜索方法、装置、设备和介质
CN111968635A (zh) * 2020-08-07 2020-11-20 北京小米松果电子有限公司 语音识别的方法、装置及存储介质
CN111968635B (zh) * 2020-08-07 2024-03-05 北京小米松果电子有限公司 语音识别的方法、装置及存储介质
CN112037800A (zh) * 2020-09-22 2020-12-04 平安科技(深圳)有限公司 声纹核身模型训练方法、装置、介质及电子设备
WO2022126448A1 (zh) * 2020-12-16 2022-06-23 华为技术有限公司 一种基于演化学习的神经网络结构搜索方法和系统
CN112686321A (zh) * 2020-12-31 2021-04-20 北京迈格威科技有限公司 确定网络的性能参数值的方法、装置、设备及介质
CN112862096A (zh) * 2021-02-04 2021-05-28 百果园技术(新加坡)有限公司 一种模型训练和数据处理方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111368973B (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
CN110807515B (zh) 模型生成方法和装置
CN110288049B (zh) 用于生成图像识别模型的方法和装置
CN111368973B (zh) 用于训练超网络的方法和装置
CN110852421B (zh) 模型生成方法和装置
CN110766142A (zh) 模型生成方法和装置
CN108520470B (zh) 用于生成用户属性信息的方法和装置
CN109740018B (zh) 用于生成视频标签模型的方法和装置
CN111523640B (zh) 神经网络模型的训练方法和装置
CN111340220B (zh) 用于训练预测模型的方法和装置
CN111340221B (zh) 神经网络结构的采样方法和装置
CN111783810B (zh) 用于确定用户的属性信息的方法和装置
CN111104599B (zh) 用于输出信息的方法和装置
CN110688528A (zh) 生成视频的分类信息的方法、装置、电子设备和介质
CN111353601B (zh) 用于预测模型结构的延时的方法和装置
WO2022188534A1 (zh) 信息推送的方法和装置
CN110782016A (zh) 用于优化神经网络架构搜索的方法和装置
CN109829117B (zh) 用于推送信息的方法和装置
CN112241761B (zh) 模型训练方法、装置和电子设备
CN110046670B (zh) 特征向量降维方法和装置
CN111523639B (zh) 用于训练超网络的方法和装置
CN111582456B (zh) 用于生成网络模型信息的方法、装置、设备和介质
CN111353585B (zh) 神经网络模型的结构搜索方法和装置
CN113516524B (zh) 用于推送信息的方法和装置
CN111310896B (zh) 用于训练神经网络的方法和装置
CN114639072A (zh) 人流量信息生成方法、装置、电子设备和计算机可读介质

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
GR01 Patent grant
GR01 Patent grant