CN113128677A - 模型生成方法和装置 - Google Patents

模型生成方法和装置 Download PDF

Info

Publication number
CN113128677A
CN113128677A CN202010025290.0A CN202010025290A CN113128677A CN 113128677 A CN113128677 A CN 113128677A CN 202010025290 A CN202010025290 A CN 202010025290A CN 113128677 A CN113128677 A CN 113128677A
Authority
CN
China
Prior art keywords
neural network
network model
preset
search space
current
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.)
Withdrawn
Application number
CN202010025290.0A
Other languages
English (en)
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 CN202010025290.0A priority Critical patent/CN113128677A/zh
Publication of CN113128677A publication Critical patent/CN113128677A/zh
Withdrawn legal-status Critical Current

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/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

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

Abstract

本公开涉及人工智能领域。本公开的实施例公开了模型生成方法和装置。该方法包括:通过依次执行多次迭代操作生成用于执行深度学习任务的神经网络模型;迭代操作包括:基于当前的奖励反馈值以及预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略;基于在当前的迭代操作中确定出的中间监督策略对预设的神经网络模型进行训练,并根据训练后的神经网络模型的性能更新奖励反馈值;响应于确定奖励反馈值达到预设的收敛条件或迭代操作的次数达到预设的阈值,停止迭代操作,基于当前迭代操作中训练后的神经网络模型的参数生成用于执行深度学习任务的神经网络模型。该方法可以加快神经网络的训练速度。

Description

模型生成方法和装置
技术领域
本公开的实施例涉及计算机技术领域,具体涉及人工智能技术领域,尤其涉及模型生成方法和装置。
背景技术
随着人工智能技术和数据存储技术的发展,深度神经网络在许多领域取得了重要的成果。深度神经网络训练中通常采用梯度下降、反向传播的方法来迭代更新网络参数。然而,随着深度的增加,会出现梯度消失的问题,由此导致误差无法准确传导至各个网络层。
针对梯度消失的问题,可以采用中级监督的方式,在深度神经网络的中间层加入用于监督训练的损失函数,使得神经网络的中层误差传导至前面的网络层,并联合深度神经网络最后的输出层的总体损失函数一起训练神经网络。目前的方案可以在指定的中间层加入中级损失函数。而加入损失函数的位置和数量对神经网络的精度、训练速度以及训练所占用的内存资源会产生直接的影响,可能产生模型在训练中无法收敛的问题。
发明内容
本公开的实施例提出了模型生成方法和装置、电子设备和计算机可读介质。
第一方面,本公开的实施例提供了一种模型生成方法,包括:通过依次执行多次迭代操作生成用于执行深度学习任务的神经网络模型;其中,迭代操作包括:基于当前的奖励反馈值以及预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略,其中,奖励反馈值的初始值是预设的数值,预设的中间监督策略搜索空间包括在预设的神经网络模型加入的中间损失函数的数量搜索空间和位置搜索空间,中间损失函数用于监督预设的神经网络模型中对应位置之前的网络层的训练;基于在当前的迭代操作中确定出的中间监督策略对预设的神经网络模型进行训练,得到训练后的神经网络模型的性能,并根据训练后的神经网络模型的性能更新奖励反馈值;响应于确定奖励反馈值达到预设的收敛条件或迭代操作的次数达到预设的阈值,停止迭代操作,基于当前迭代操作中训练后的神经网络模型的参数生成用于执行深度学习任务的神经网络模型。
在一些实施例中,上述基于当前的奖励反馈值,在预设的中间监督策略搜索空间中确定出预设的神经网络模型在当前迭代操作中的中间监督策略,包括:基于当前的奖励反馈值,在数量搜索空间内确定出当前迭代操作加入的中间损失函数的数量;基于当前的奖励反馈值以及搜索出的加入的中间损失函数的数量,在位置搜索空间内搜索出当前迭代操作加入的中间损失函数的位置。
在一些实施例中,上述预设的中间监督策略搜索空间还包括加入的中间损失函数的参数搜索空间;基于预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略,包括:基于数量搜索空间和位置搜索空间确定当前迭代操作中在预设的神经网络模型加入的中间损失函数的目标数量和目标位置;在参数搜索空间内确定出当前迭代操作中在预设的神经网络模型加入的中间损失函数的参数,并基于所确定出的参数构建当前迭代操作中在各目标位置加入的中间损失函数。
在一些实施例中,上述用于执行深度学习任务的神经网络模型包括用于检测目标对象的关键点的神经网络模型;加入的中间损失函数的参数搜索空间包括:关键点热力图的尺寸参数的搜索空间,关键点热力图中的像素值表征关键点落在对应像素位置的置信度。
在一些实施例中,上述训练后的神经网络模型的性能按照如下方式得到:基于当前的迭代操作中加入的各中间损失函数在神经网络模型训练后的损失函数值,确定训练后的神经网络模型的性能。
在一些实施例中,上述基于当前迭代操作中训练后的神经网络模型的参数生成用于执行深度学习任务的神经网络模型,包括:采用当前迭代操作中的中间监督策略,对当前迭代操作中训练后的神经网络模型进行训练,得到用于执行深度学习任务的神经网络模型。
第二方面,本公开的实施例提供了一种模型生成装置,包括:生成单元,被配置为通过依次执行多次迭代操作生成用于执行深度学习任务的神经网络模型;其中,迭代操作包括:基于当前的奖励反馈值以及预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略,其中,奖励反馈值的初始值是预设的数值,预设的中间监督策略搜索空间包括在预设的神经网络模型加入的中间损失函数的数量搜索空间和位置搜索空间,中间损失函数用于监督预设的神经网络模型中对应位置之前的网络层的训练;基于在当前的迭代操作中确定出的中间监督策略对预设的神经网络模型进行训练,得到训练后的神经网络模型的性能,并根据训练后的神经网络模型的性能更新奖励反馈值;响应于确定奖励反馈值达到预设的收敛条件或迭代操作的次数达到预设的阈值,停止迭代操作,基于当前迭代操作中训练后的神经网络模型的参数生成用于执行深度学习任务的神经网络模型。
在一些实施例中,上述生成单元被配置为按照如下方式执行迭代操作中在预设的中间监督策略搜索空间中确定出预设的神经网络模型在当前迭代操作中的中间监督策略的步骤:基于当前的奖励反馈值,在数量搜索空间内确定出当前迭代操作加入的中间损失函数的数量;基于当前的奖励反馈值以及搜索出的加入的中间损失函数的数量,在位置搜索空间内搜索出当前迭代操作加入的中间损失函数的位置。
在一些实施例中,上述预设的中间监督策略搜索空间还包括加入的中间损失函数的参数搜索空间;生成单元被配置为按照如下方式执行基于预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略的操作:基于数量搜索空间和位置搜索空间确定当前迭代操作中在预设的神经网络模型加入的中间损失函数的目标数量和目标位置;在参数搜索空间内确定出当前迭代操作中在预设的神经网络模型加入的中间损失函数的参数,并基于所确定出的参数构建当前迭代操作中在各目标位置加入的中间损失函数。
在一些实施例中,上述用于执行深度学习任务的神经网络模型包括用于检测目标对象的关键点的神经网络模型;加入的中间损失函数的参数搜索空间包括:关键点热力图的尺寸参数的搜索空间,关键点热力图中的像素值表征关键点落在对应像素位置的置信度。
在一些实施例中,上述训练后的神经网络模型的性能按照如下方式得到:基于当前的迭代操作中加入的各中间损失函数在神经网络模型训练后的损失函数值,确定训练后的神经网络模型的性能。
在一些实施例中,上述生成单元进一步被配置为按照如下方式执行基于当前迭代操作中训练后的神经网络模型的参数生成用于执行深度学习任务的神经网络模型的步骤:采用当前迭代操作中的中间监督策略,对当前迭代操作中训练后的神经网络模型进行训练,得到用于执行深度学习任务的神经网络模型。
第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的模型生成方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现第一方面提供的模型生成方法。
本公开的上述实施例的模型生成方法和装置,通过依次执行多次迭代操作生成用于执行深度学习任务的神经网络模型;其中,迭代操作包括:基于当前的奖励反馈值以及预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略,其中,奖励反馈值的初始值是预设的数值,预设的中间监督策略搜索空间包括在预设的神经网络模型加入的中间损失函数的数量搜索空间和位置搜索空间,中间损失函数用于监督预设的神经网络模型中对应位置之前的网络层的训练;基于在当前的迭代操作中确定出的中间监督策略对预设的神经网络模型进行训练,得到训练后的神经网络模型的性能,并根据训练后的神经网络模型的性能更新奖励反馈值;响应于确定奖励反馈值达到预设的收敛条件或迭代操作的次数达到预设的阈值,停止迭代操作,基于当前迭代操作中训练后的神经网络模型的参数生成用于执行深度学习任务的神经网络模型。该模型生成方法和装置能够自动搜索出最优的中级监督策略,从而加快神经网络模型在训练中的收敛速度,减少模型训练所占用的内存资源,提升运算效率,同时确保模型的性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图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还可以是为终端设备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,基于当前的奖励反馈值以及预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略。
奖励反馈值可以表征迭代操作中所获得的模型性能(诸如准确率、计算效率、所消耗的内存资源)的优劣程度。具体地,在本实施例中,模型性能的优劣程度还可以通过搜索出的中间监督策略与最优监督策略的匹配程度表示。在本实施例中,以最大化奖励反馈值作为目标来执行多次迭代操作。
可以采用强化学习的方法,利用表征神经网络模型的性能的奖励奖励反馈值(reward)来引导对中间监督策略的更新。奖励反馈值的初始值可以是预设的数值,例如可以预先设定为0。在每一次迭代操作中,基于上一次迭代操作后更新的奖励反馈值来更新中间监督策略,并基于中间监督策略对模型训练,评估模型的性能后更新奖励反馈值。这样,奖励反馈值在多次迭代操作中被迭代更新。
在本实施例中,可以将预设的神经网络模型作为待训练的神经网络模型,或者作为待搜索最优中间监督策略的神经网络模型。通常神经网络模型包括多个网络层,对于复杂的任务或精度要求较高的场景,网络的层数较多。中间监督策略表示在神经网络模型的若干中间网络层加入中间损失函数以监督加入中间损失函数的位置之前的网络层的训练的策略。在本实施例中,中间监督策略可以包括在预设的神经网络模型中加入中间损失函数的数量和位置。上述中间监督策略搜索空间可以是预先构建的,可以包括在预设的神经网络模型加入的中间损失函数的数量搜索空间和位置搜索空间。在这里,中间损失函数用于监督预设的神经网络模型中对应位置之前的网络层的训练。
作为示例,在一个中间监督策略中,加入中间损失函数的数量为3,加入中间损失函数的位置分别为第10层、第50层和第100层,则采用对应的中间监督策略训练神经网络模型时,在神经网络的第10层、第50层和第100层共加入3级中间损失函数,基于神经网络模型在第10层、第50层和第100层的输出分别计算对应的中间损失函数的值,并在训练中将10层、第50层和第100层的中间损失函数的值分别反向传导至第10层之前的网络层、第50层之前的网络层和第100层之前的网络层。
上述数量搜索空间可以是由加入的中间损失函数的各可选数量构建的。在具体的实现中,上述中间损失函数的数量搜索空间可以是加入的中间损失函数的数量取值范围,例如范围在[0,10]的整数。位置搜索空间可以包括预设的神经网络模型中所有可选的加入中间损失函数的位置。在确定出当前迭代操作中的中间监督策略时,可以从数量搜索空间和位置搜索空间中搜索出加入中间损失函数的数量及位置。
在本实施例的一些可选的实现方式中,可以按照如下方式确定出预设的神经网络模型在当前迭代操作中的中间监督策略:首先,基于当前的奖励反馈值,在数量搜索空间内确定出当前迭代操作加入的中间损失函数的数量;然后基于当前的奖励反馈值以及搜索出的加入的中间损失函数的数量,在位置搜索空间内搜索出当前迭代操作加入的中间损失函数的位置。具体地,以最大化奖励反馈值为目标,采用强化学习的方法首先搜索出当前迭代操作中在预设的神经网络模型中加入的中间损失函数的数量,然后在位置搜索空间内搜索出满足该数量的中间损失函数的位置。
在预设的神经网络模型中加入的中间损失函数可以是预先根据神经网络模型所执行的深度学习任务确定的,例如神经网络模型所执行的深度学习任务是人脸识别,则对应的中间损失函数可以例如表征基于神经网络模型的中间卷积层提取出的特征进行人脸识别的错误判别概率。在一个神经网络模型的不同位置加入的中间损失函数可以相同,也可以不相同,本实施例对此不作特殊限定。
在本实施例的一些可选的实现方式中,上述预设的中间监督策略搜索空间还可以包括加入的中间损失函数的参数搜索空间。中间损失函数可以基于神经网络模型的网络层的输出构建,则中间损失函数的参数可以包括神经网络的网络层的参数。在一些场景中,中间损失函数可以是对多个损失项进行加权后取和值、平均值等计算得到的,则中间损失函数的参数可以包括各损失项的权重。在这里,损失项可以是L2损失,或者交叉熵损失,等等。
在搜索当前迭代操作的中间监督策略时,可以首先基于上述数量搜索空间和位置搜索空间确定当前迭代操作中在预设的神经网络模型加入的中间损失函数的目标数量和目标位置,然后,在上述参数搜索空间内确定出当前迭代操作中在预设的神经网络模型加入的中间损失函数的参数,并基于所确定出的参数构建当前迭代操作中在各目标位置加入的中间损失函数。
通过预先构建损失函数的参数搜索空间,可以在一定范围内对损失函数进行优化选择,基于搜索空间搜索出加入损失函数的数量和位置、以及加入的损失函数,进一步拓展了中间监督策略的搜索范围,能够进一步搜索出最优的损失函数,加快神经网络模型的收敛速度,提升神经网络模型训练的运算效率。
进一步地,上述用于执行深度学习任务的神经网络模型包括用于检测目标对象的关键点的神经网络模型。在关键点检测任务中,加入的中间损失函数的参数搜索空间包括:关键点热力图的尺寸参数的搜索空间。关键点热力图中各像素的像素值表征关键点落在该像素位置的置信度。热力图可以是圆形、椭圆等规则形状或不规则形状。热力图的尺寸越大,表征关键点位置的置信度的分布越离散。
作为示例,关键点热力图可以是圆形热力图,其所表征的关键点位置的置信度分布可以呈高斯分布,中心位置置信度值最大,由中心向外置信度值逐步减小。在该示例中,关键点热力图的尺寸参数可以是关键点热力图的半径或直径。
上述关键点尺寸参数的搜索空间可以是关键点尺寸参数的取值范围,每次迭代操作中步骤201确定出的中间监督策略中的中间损失函数对应的关键点尺寸参数可以是该取值范围内的一个值。
上述损失函数可以基于关键点的热力图半径计算,例如可以针对标注的样本中的关键点进行高斯处理,得到标注的关键点的高斯热力图,然后基于神经网络模型输出的关键点的热力图与该关键点的高斯热力图之间的差异构建该关键点的检测误差,进而联合各关键点的检测误差得到损失函数。
在目标对象的关键点检测任务中,预设的神经网络模型用于基于图像、三维点云或其他数据检测目标对象的关键点。由于神经网络直接学习关键点的位置难度较大,所以通常将关键点的检测任务转换为关键点热力图的回归任务以减小神经网络的学习难度,加快神经网络的学习速度。中间损失函数可以是基于目标对象的关键点热力图构建,具体可以基于目标对象的关键点热力图所表征的关键点位置的概率分布与目标对象真实的关键点位置之间的差异构建中间损失函数。在从上述关键点热力图的尺寸参数的搜索空间搜索出当前迭代操作中在预设的神经网络模型加入的中间损失函数对应的关键点热力图的尺寸参数之后,基于搜索出的尺寸参数构建中间损失函数,形成当前迭代操作的中间监督策略。
通过构建的关键点热力图的尺寸参数搜索空间,可以在目标对象的关键点检测任务中(例如人体关键点检测等)搜索出合适的关键点热力图大小,提升了神经网络模型在训练中对关键点(例如手腕关键点、头部关键点)的位置的学习速度,并且,传统的方法中针对不同位置关键点热力图尺寸参数相同,本实施例通过搜索各关键点热力图的尺寸参数,能够搜索出不同位置的各关键点对应的热力图尺寸参数,可以避免不同位置的关键点的学习速度差异过大而导致不必要的内存资源占用。
步骤202,基于在当前的迭代操作中确定出的中间监督策略对预设的神经网络模型进行训练,得到训练后的神经网络模型的性能,并根据训练后的神经网络模型的性能更新奖励反馈值。
每次迭代操作中,基于确定出的中间监督策略,对预设的神经网络模型进行训练。在训练过程中,可以基于预设的神经网络模型的总体损失函数以及确定出的中间监督策略中的中间损失函数共同监督该预设的神经网络模型的参数迭代。预设的神经网络模型的总体损失函数可以是基于最后一个网络层的输出构建的、用于表征神经网络模型的总体性能的损失函数。
在训练完成后,可以采用深度学习任务的测试数据集来训练后的神经网络模型的性能。神经网络模型的性能可以包括但不限于以下至少一项:运算效率、精度、计算复杂度、处理器的延时、在达到一定的性能指标(例如在特定的训练数据集上达到95%的正确率)的前提下所消耗的内存资源和/或计算时间等等。
在实践中,还可以针对具体的深度学习任务,确定对应的性能指标。例如对于认证任务,可以将认证结果的准确率作为神经网络模型的性能指标;对于分类任务,可以将最大概率的分类结果的准确率和分类的速度作为神经网络模型的性能指标。对于回归类的任务,例如检测目标位置,可以将检测结果的准确度作为神经网络模型的性能指标。
可以将基于当前迭代操作中确定出的中间监督策略训练后的神经网络模型的性能作为新的奖励反馈值reward,也可以对训练后的神经网络模型的性能参数做数学变换(例如对错误率取倒数、做归一化处理等)之后作为新的奖励反馈至reward。这样,在下一次迭代操作中,可以基于新的奖励反馈值对中间监督策略进行更新。
步骤203,响应于确定奖励反馈值达到预设的收敛条件或迭代操作的次数达到预设的阈值,停止迭代操作,基于当前迭代操作中训练后的神经网络模型的参数生成用于执行深度学习任务的神经网络模型。
更新奖励反馈值之后,可以判断奖励反馈值是否达到了预设的收敛条件,例如奖励反馈值在最近的连续几次迭代操作中的变化率是否低于预设的变化率阈值,若是,则可以停止迭代操作,还可以将当前的迭代操作中获得的神经网络模型作为所生成的用于执行深度学习任务的神经网络模型。
可选地,还可以在停止迭代操作后,基于当前迭代操作中的中间监督策略,继续对当前迭代操作中训练后的神经网络模型进行训练,完成训练后的神经网络模型即为用于执行深度学习任务的神经网络模型。
这样,可以基于通过迭代操作搜索出的最优中间监督策略继续训练预设的神经网络模型,进一步提升神经网络模型的性能。并且,由于搜索出了合适的中间监督策略,可以提升神经网络模型的训练速度,快速提升神经网络模型的性能。
上述实施例的模型生成方法,通过多次迭代操作在搜索空间内自动地搜索出预设的神经网络模型的最优中间监督策略,从而避免神经网络训练中梯度消失导致网络无法收敛的问题,可以加快神经网络模型在训练中的收敛速度,减少模型训练所占用的内存资源,提升运算效率,同时确保模型的性能。
继续参考图3,其示出了本公开的模型生成方法的另一个实施例的流程示意图。如图3所示,本实施例的模型生成方法的流程300,包括通过依次执行多次迭代操作生成用于执行深度学习任务的神经网络模型。其中,迭代操作包括步骤301、步骤302以及步骤303。
在步骤301中,基于当前的奖励反馈值以及预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略。
其中,奖励反馈值的初始值是预设的数值,预设的中间监督策略搜索空间包括在预设的神经网络模型加入的中间损失函数的数量搜索空间和位置搜索空间,中间损失函数用于监督预设的神经网络模型中对应位置之前的网络层的训练
在步骤302中,基于在当前的迭代操作中确定出的中间监督策略对预设的神经网络模型进行训练,基于当前的迭代操作中加入的各中间损失函数在神经网络模型训练后的损失函数值,确定训练后的神经网络模型的性能,并根据训练后的神经网络模型的性能更新奖励反馈值。
可以对当前迭代操作中训练后的神经网络模型的各中间损失函数的加权平均值,以及训练后的神经网络模型的总体损失函数的值进行加权平均,得到训练后的神经网络模型的总体性能参数。或者,可以直接对各中间损失函数以及上述总体损失函数的值进行加权平均,作为训练后的神经网络模型的性能参数。还可以结合上述各级中间损失函数、总体损失函数、以及基于当前迭代操作中的中间监督策略训练神经网络模型所消耗的计算资源、训练时间等来评估训练后的神经网络模型的性能。然后根据训练后的神经网络模型的性能来更新奖励反馈值。
在步骤303中,响应于确定奖励反馈值达到预设的收敛条件或迭代操作的次数达到预设的阈值,停止迭代操作,基于当前迭代操作中训练后的神经网络模型的参数生成用于执行深度学习任务的神经网络模型。
本实施例的步骤301、步骤303分别与前述实施例的步骤201、步骤203一致,步骤301、步骤302的具体实施方式以及所带来的有益效果可分别参考前述实施例中步骤201、步骤203的描述,此处不再赘述。
本实施例中利用中间损失函数来更新奖励反馈值,从而在每一次迭代操作中基于上一次迭代操作中的中间损失函数的值来搜索新的中间监督策略,使得中间损失函数不仅可以用于监督神经网络模型的训练,还可以被反向传导至中间监督策略的搜索中,进而可以搜索出更准确、效率更高的中间监督策略,帮助提升神经网络模型的训练速度和训练得出的神经网络模型的准确性。
请参考图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以及RAM 503通过总线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 (14)

1.一种模型生成方法,包括:通过依次执行多次迭代操作生成用于执行深度学习任务的神经网络模型;
其中,所述迭代操作包括:
基于当前的奖励反馈值以及预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略,其中,所述奖励反馈值的初始值是预设的数值,所述预设的中间监督策略搜索空间包括在所述预设的神经网络模型加入的中间损失函数的数量搜索空间和位置搜索空间,所述中间损失函数用于监督所述预设的神经网络模型中对应位置之前的网络层的训练;
基于在当前的迭代操作中确定出的中间监督策略对所述预设的神经网络模型进行训练,得到训练后的神经网络模型的性能,并根据训练后的神经网络模型的性能更新所述奖励反馈值;
响应于确定奖励反馈值达到预设的收敛条件或迭代操作的次数达到预设的阈值,停止迭代操作,基于当前迭代操作中训练后的神经网络模型的参数生成所述用于执行深度学习任务的神经网络模型。
2.根据权利要求1所述的方法,其中,所述基于当前的奖励反馈值,在预设的中间监督策略搜索空间中确定出预设的神经网络模型在当前迭代操作中的中间监督策略,包括:
基于当前的奖励反馈值,在所述数量搜索空间内确定出当前迭代操作加入的中间损失函数的数量;
基于所述当前的奖励反馈值以及搜索出的加入的中间损失函数的数量,在所述位置搜索空间内搜索出当前迭代操作加入的中间损失函数的位置。
3.根据权利要求1或2所述的方法,其中,所述预设的中间监督策略搜索空间还包括加入的中间损失函数的参数搜索空间;
所述基于预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略,包括:
基于所述数量搜索空间和位置搜索空间确定当前迭代操作中在所述预设的神经网络模型加入的中间损失函数的目标数量和目标位置;
在所述参数搜索空间内确定出当前迭代操作中在所述预设的神经网络模型加入的中间损失函数的参数,并基于所确定出的参数构建当前迭代操作中在各目标位置加入的中间损失函数。
4.根据权利要求3所述的方法,其中,所述用于执行深度学习任务的神经网络模型包括用于检测目标对象的关键点的神经网络模型;
所述加入的中间损失函数的参数搜索空间包括:关键点热力图的尺寸参数的搜索空间,所述关键点热力图中的像素值表征关键点落在对应像素位置的置信度。
5.根据权利要求1或2所述的方法,其中,所述训练后的神经网络模型的性能按照如下方式得到:
基于所述当前的迭代操作中加入的各中间损失函数在所述神经网络模型训练后的损失函数值,确定所述训练后的神经网络模型的性能。
6.根据权利要求1或2所述的方法,其中,所述基于当前迭代操作中训练后的神经网络模型的参数生成所述用于执行深度学习任务的神经网络模型,包括:
采用所述当前迭代操作中的中间监督策略,对所述当前迭代操作中训练后的神经网络模型进行训练,得到所述用于执行深度学习任务的神经网络模型。
7.一种模型生成装置,包括:生成单元,被配置为通过依次执行多次迭代操作生成用于执行深度学习任务的神经网络模型;
其中,所述迭代操作包括:
基于当前的奖励反馈值以及预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略,其中,所述奖励反馈值的初始值是预设的数值,所述预设的中间监督策略搜索空间包括在所述预设的神经网络模型加入的中间损失函数的数量搜索空间和位置搜索空间,所述中间损失函数用于监督所述预设的神经网络模型中对应位置之前的网络层的训练;
基于在当前的迭代操作中确定出的中间监督策略对所述预设的神经网络模型进行训练,得到训练后的神经网络模型的性能,并根据训练后的神经网络模型的性能更新所述奖励反馈值;
响应于确定奖励反馈值达到预设的收敛条件或迭代操作的次数达到预设的阈值,停止迭代操作,基于当前迭代操作中训练后的神经网络模型的参数生成所述用于执行深度学习任务的神经网络模型。
8.根据权利要求7所述的装置,其中,所述生成单元被配置为按照如下方式执行所述迭代操作中在预设的中间监督策略搜索空间中确定出预设的神经网络模型在当前迭代操作中的中间监督策略的步骤:
基于当前的奖励反馈值,在所述数量搜索空间内确定出当前迭代操作加入的中间损失函数的数量;
基于所述当前的奖励反馈值以及搜索出的加入的中间损失函数的数量,在所述位置搜索空间内搜索出当前迭代操作加入的中间损失函数的位置。
9.根据权利要求7或8所述的装置,其中,所述预设的中间监督策略搜索空间还包括加入的中间损失函数的参数搜索空间;
所述生成单元被配置为按照如下方式执行基于预设的中间监督策略搜索空间确定出预设的神经网络模型在当前迭代操作中的中间监督策略的操作:
基于所述数量搜索空间和位置搜索空间确定当前迭代操作中在所述预设的神经网络模型加入的中间损失函数的目标数量和目标位置;
在所述参数搜索空间内确定出当前迭代操作中在所述预设的神经网络模型加入的中间损失函数的参数,并基于所确定出的参数构建当前迭代操作中在各目标位置加入的中间损失函数。
10.根据权利要求9所述的装置,其中,所述用于执行深度学习任务的神经网络模型包括用于检测目标对象的关键点的神经网络模型;
所述加入的中间损失函数的参数搜索空间包括:关键点热力图的尺寸参数的搜索空间,所述关键点热力图中的像素值表征关键点落在对应像素位置的置信度。
11.根据权利要求7或8所述的装置,其中,所述训练后的神经网络模型的性能按照如下方式得到:
基于所述当前的迭代操作中加入的各中间损失函数在所述神经网络模型训练后的损失函数值,确定所述训练后的神经网络模型的性能。
12.根据权利要求7或8所述的装置,其中,所述生成单元进一步被配置为按照如下方式执行基于当前迭代操作中训练后的神经网络模型的参数生成所述用于执行深度学习任务的神经网络模型的步骤:
采用所述当前迭代操作中的中间监督策略,对所述当前迭代操作中训练后的神经网络模型进行训练,得到所述用于执行深度学习任务的神经网络模型。
13.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN202010025290.0A 2020-01-10 2020-01-10 模型生成方法和装置 Withdrawn CN113128677A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010025290.0A CN113128677A (zh) 2020-01-10 2020-01-10 模型生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010025290.0A CN113128677A (zh) 2020-01-10 2020-01-10 模型生成方法和装置

Publications (1)

Publication Number Publication Date
CN113128677A true CN113128677A (zh) 2021-07-16

Family

ID=76771096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010025290.0A Withdrawn CN113128677A (zh) 2020-01-10 2020-01-10 模型生成方法和装置

Country Status (1)

Country Link
CN (1) CN113128677A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642659A (zh) * 2021-08-19 2021-11-12 上海商汤科技开发有限公司 一种训练样本集生成的方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642659A (zh) * 2021-08-19 2021-11-12 上海商汤科技开发有限公司 一种训练样本集生成的方法、装置、电子设备及存储介质
CN113642659B (zh) * 2021-08-19 2023-06-20 上海商汤科技开发有限公司 一种训练样本集生成的方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110807515B (zh) 模型生成方法和装置
CN111406267B (zh) 使用性能预测神经网络的神经架构搜索
CN110852438B (zh) 模型生成方法和装置
CN110520871B (zh) 使用学习进度测量训练机器学习模型
CN110852421B (zh) 模型生成方法和装置
EP3446260B1 (en) Memory-efficient backpropagation through time
CN110766142A (zh) 模型生成方法和装置
CN112699991A (zh) 用于加速神经网络训练的信息处理的方法、电子设备和计算机可读介质
CN110263938B (zh) 用于生成信息的方法和装置
CN111523640B (zh) 神经网络模型的训练方法和装置
CN111340221B (zh) 神经网络结构的采样方法和装置
US20240127058A1 (en) Training neural networks using priority queues
CN111340220B (zh) 用于训练预测模型的方法和装置
CN111368973B (zh) 用于训练超网络的方法和装置
US11741371B2 (en) Automatically generating diverse text
CN111598253A (zh) 使用教师退火来训练机器学习模型
CN112650841A (zh) 信息处理方法、装置和电子设备
US20220101199A1 (en) Point-of-interest recommendation
CN111353601A (zh) 用于预测模型结构的延时的方法和装置
KR102580428B1 (ko) 최적 파라미터 결정 방법 및 시스템
CN111611390B (zh) 一种数据处理方法及装置
CN111738010A (zh) 用于生成语义匹配模型的方法和装置
CN116684330A (zh) 基于人工智能的流量预测方法、装置、设备及存储介质
CN113111996A (zh) 模型生成方法和装置
CN113128677A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210716

WW01 Invention patent application withdrawn after publication