CN112801271B - 生成神经网络的方法、数据处理方法、智能行驶控制方法 - Google Patents

生成神经网络的方法、数据处理方法、智能行驶控制方法 Download PDF

Info

Publication number
CN112801271B
CN112801271B CN202110088842.7A CN202110088842A CN112801271B CN 112801271 B CN112801271 B CN 112801271B CN 202110088842 A CN202110088842 A CN 202110088842A CN 112801271 B CN112801271 B CN 112801271B
Authority
CN
China
Prior art keywords
node
neural network
candidate
target
layer structure
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.)
Active
Application number
CN202110088842.7A
Other languages
English (en)
Other versions
CN112801271A (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 Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development 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 Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN202110088842.7A priority Critical patent/CN112801271B/zh
Publication of CN112801271A publication Critical patent/CN112801271A/zh
Application granted granted Critical
Publication of CN112801271B publication Critical patent/CN112801271B/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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Abstract

本公开提供了一种生成神经网络的方法、数据处理方法、智能行驶控制方法,该生成神经网络的方法包括:生成超网络对应的树结构;利用从超网络中采样出的多个第一神经网络结构的预测误差,确定第一神经网络结构对应的多个节点的性能参数数据;根据性能参数数据,基于树结构确定多个候选神经网络结构;利用样本数据对多个候选神经网络结构进行测试,根据测试结果从多个候选神经网络结构中确定目标神经网络结构;基于目标神经网络结构生成目标神经网络。

Description

生成神经网络的方法、数据处理方法、智能行驶控制方法
技术领域
本公开涉及深度学习技术领域,具体而言,涉及一种生成神经网络的方法、数据处理方法、智能行驶控制方法、装置、电子设备及存储介质。
背景技术
神经网络结构搜索是目前深度学习研究领域的热点和重点,其旨在自动确定性能较高的神经网络结构,以解决手工设计神经网络结构的高成本问题和对专家经验的高要求问题,实现以较低的成本确定性能较好的神经网络结构。其中,该神经网络结构搜索可以广泛应用于图像分类、语义分割、目标检测等领域。
一般的,神经网络结构搜索方法可以采用启发式搜索方法,从巨大的搜索空间中确定神经网络结构,比如启发式搜索算法为遗传算法、贝叶斯算法等,为了在较小的搜索代价基础上搜索到神经网络结构,启发式搜索方法忽视了网络结构不同层之间选择的关联性,造成获取到性能较高的神经网络结构的可能性较低。
发明内容
有鉴于此,本公开至少提供一种生成神经网络的方法、数据处理方法、智能行驶控制方法、装置、电子设备及存储介质。
第一方面,本公开提供了一种生成神经网络的方法,包括:
生成超网络对应的树结构,其中,所述超网络包括多个网络层,每个网络层包括至少一个表征运算操作的算子;所述树结构中包含多个层结构,每个所述层结构对应一个所述网络层,每个层结构包括至少一个节点,各所述节点分别与所在层结构对应的所述网络层中的一个算子相对应;
利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据;
根据所述性能参数数据,基于所述树结构确定多个候选神经网络结构;
利用样本数据对所述多个候选神经网络结构进行测试,根据测试结果从所述多个候选神经网络结构中确定目标神经网络结构;
基于所述目标神经网络结构生成目标神经网络。
采用上述方法,通过生成超网络对应的树结构,比如该树结构可以为蒙特卡洛树,树结构中结合了不同层结构的采样关系,比如,在选取了第一层结构的节点之后,基于第一个层结构中被选取的节点来确定第二层结构中可选择的节点,通过结合不同层结构之间的相关性,可以较准确的获取到性能较高的目标神经网络结构。同时,根据性能参数数据,可以基于树结构确定多个性能较好的候选神经网络结构,进而在根据每个候选神经网络结构的测试结果,可以较准确的获取到性能较高的目标神经网络结构,进而可以得到性能较好的目标神经网络。
一种可能的实施方式中,在生成超网络对应的树结构之前,还包括:
从所述超网络中选取第二神经网络结构;
基于选取的所述第二神经网络结构,对所述超网络进行训练,直至训练后的所述超网络满足预设截止条件。
上述实施方式下,在生成树结构之前,可以对超网络进行预训练,调整超网络中包括的至少一个算子的网络参数,使得预训练后的超网络中,任意两个神经网络结构之间的性能可以被对比,进而在生成树结构之后,可以较准确的从树结构中搜索性能较好的目标神经网络结构。
一种可能的实施方式中,所述生成超网络对应的树结构,包括:
从所述超网络中选取满足预设的运算约束条件的第三神经网络结构,基于所述第三神经网络结构构建对应的树结构。
这里,通过基于满足预设的运算约束条件的第三神经网络结构,构建对应的树结构,由于不满足预设的运算约束条件的神经网络结构属于运行性能较差的网络结构,故将超网络中不满足预设的运算约束条件的神经网络结构筛掉,可以提高目标神经网络的生成效率。
一种可能的实施方式中,所述利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据,包括:
从所述超网络中采样出满足预设的运算约束条件的所述第一神经网络结构,利用样本数据对所述第一神经网络结构进行训练;
基于对所述第一神经网络结构训练得到的所述预测误差,确定所述树结构中与所述第一神经网络结构对应的多个所述节点的性能参数数据。
经研究确定满足运算约束条件的神经网络结构的性能,要优于不满足运算约束条件的神经网络结构,故这里可以从超网络中采样满足预设的运算约束条件的第一神经网络结构,利用样本数据对第一神经网络结构进行训练;而对不满足运算约束条件的神经网络结构不进行处理,以提高目标神经网络结构的确定效率。
一种可能的实施方式中,所述性能参数数据包括节点价值和节点分值,所述利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据,包括:
基于所述第一神经网络结构的预测误差,生成所述第一神经网络结构的滑动损失;基于所述第一神经网络结构的预测误差和所述滑动损失,生成所述第一神经网络结构对应的每个所述节点的本次训练后的所述节点价值;
基于所述第一神经网络结构对应的每个所述节点对应的上一次训练后的节点分值、所述节点对应的本次训练后的所述节点价值,生成所述节点对应的本次训练后的所述节点分值;
其中,所述节点价值用于表征本次训练后的所述神经网络结构的性能与本次训练后的所述超网络的性能之间的对比结果;所述节点分值用于表征所述超网络中包含与节点对应的算子的至少一个神经网络结构的平均性能;所述滑动损失用于表征在本次训练所述神经网络结构之后所述超网络的收敛程度。
一种可能的实施方式中,在利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据之后,还包括:
基于所述树结构中每个节点的性能参数数据,从所述树结构的各个层结构中选取目标节点,基于目标节点构建对应的第四神经网络结构;
利用样本数据对所述第四神经网络结构进行训练,并基于训练所述第四神经网络结构得到的预测误差,更新所述第四神经网络结构对应的目标节点的性能参数数据。
上述实施方式下,可以基于树结构中每个节点的性能参数数据,从树结构的各个层结构中选取目标节点,基于目标节点构建对应的性能较好的第四神经网络结构,利用样本数据对第四神经网络结构进行训练,并基于训练得到的预测误差,更新第四神经网络结构对应的每个目标节点的性能参数数据,以便基于更新后的树结构,可以较准确的找到性能较好的目标神经网络结构。
一种可能的实施方式中,在所述性能参数数据包括节点更新次数的情况下,所述基于所述树结构中每个节点的性能参数数据,从所述树结构的各个层结构中选取目标节点,基于目标节点构建对应的第四神经网络结构,包括:
基于所述树结构中的第一个所述层结构中各个节点的第一概率分布,从所述第一个层结构的各个节点中选取所述第一个层结构的目标节点;其中,所述第一概率分布用于表征各个节点分别被选中的概率,每个节点被选中的概率为基于该节点对应的所述性能参数数据生成的;
将所述树结构中的第i+1个层结构中与第i个层结构的目标节点相连的节点作为候选节点,基于所述第i+1个层结构中多个所述候选节点的节点更新次数,确定所述i+1个层结构中多个候选节点的第一总更新次数;其中,所述节点更新次数用于表征本次训练后所述节点的性能参数数据更新的次数,所述i=1、2、…、N-1;N为所述树结构中所述层结构的数量;
在所述第一总更新次数大于或等于设置的更新次数阈值的情况下,基于所述第i+1个层结构中多个候选节点的第一概率分布,从所述第i+1个层结构的多个候选节点中,选取第i+1个层结构的所述目标节点;
基于各个所述层结构分别对应的所述目标节点,构建包含所述超网络的所述网络层中与所述目标节点对应的算子的所述第四神经网络结构。
一种可能的实施方式中,所述方法还包括:
在所述第一总更新次数小于所述更新次数阈值的情况下,基于所述第i+1个层结构的各个候选节点的性能参数数据,从所述第i+1个层结构的多个候选节点中,选取第i+1个层结构对应的目标候选节点,基于第i+1个层结构的所述目标候选节点构建对应的第五神经网络结构;
利用样本数据对所述第五神经网络结构进行训练,更新所述第五神经网络结构对应的所述第i+1个层结构的所述多个候选节点的性能参数数据;
返回至从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的目标候选节点的步骤,直至所述第i+1个层结构的多个候选节点对应的第一总更新次数达到设置的总更新次数阈值。
考虑到树结构中层结构较深时,包括的节点的数量越多;层结构较浅时,包括的节点的数量较少;在节点的数量较多时,节点的节点更新次数可能不足,而在节点的节点更新次数不足时,该节点的性能参数数据的准确度较低。为了解决上述问题,在第一总更新次数小于更新次数阈值时,可以基于第i+1个层结构的多个候选节点中每个候选节点的性能参数数据,从多个候选节点中选取第i+1个层结构的目标候选节点,构建第五神经网络结构,利用样本数据对第五神经网络结构进行训练,直至第i+1个层结构的多个候选节点对应的第一总更新次数等于设置的总更新次数阈值。
一种可能的实施方式中,所述基于所述第i+1个层结构的各个候选节点的性能参数数据,从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的目标候选节点,基于第i+1个层结构的所述目标候选节点构建对应的第五神经网络结构,包括:
基于所述第i+1个层结构的各个候选节点的性能参数数据,生成所述第i+1个层结构的多个所述候选节点的第二概率分布;
基于所述第i+1个层结构的多个所述候选节点的所述第二概率分布,从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的目标候选节点;
随机选择第i+2个层结构至第N个层结构中每个层结构对应的目标候选节点;
基于第一个层结构至第i个层结构分别对应的所述目标节点、以及第i+1个层结构至第N个层结构分别对应的所述目标候选节点,构建对应的所述第五神经网络结构。
一种可能的实施方式中,所述根据所述性能参数数据,基于所述树结构确定多个候选神经网络结构,包括:
重复执行如下步骤以生成多个候选神经网络结构:
基于更新后的所述树结构中第一个所述层结构中每个节点的性能参数数据,生成所述第一个层结构中各个节点的第一概率分布;
基于所述树结构的第一个层结构中各个节点的所述第一概率分布,从所述第一个层结构的各个节点中,选取所述第一个层结构对应的目标节点;
将所述树结构中的第i+1个层结构中与第i个层结构的目标节点相连的多个节点作为候选节点,基于所述候选节点的节点更新次数,确定所述i+1个层结构中多个候选节点的第二总更新次数;其中,所述i=1、2、…、N-1;N为所述树结构中所述层结构的数量;
在所述第二总更新次数大于或等于设置的更新次数阈值的情况下,基于所述第i+1个层结构中多个候选节点的第一概率分布,从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的所述目标节点;
基于各个所述层结构分别对应的所述目标节点,生成对应的一个所述候选神经网络结构。
上述实施方式下,通过根据节点的性能参数数据,依次确定每一个层结构的目标节点,该目标节点为该层结构对应的较佳节点,故可以使得由各个层结构的目标节点对应的算子,构成的候选神经网络结构的性能较高;同时,通过选取多个候选神经网络结构,可以提高搜索到性能较好的神经网络结构的概率。
一种可能的实施方式中,在所述性能参数数据包括:节点价值、节点更新次数和节点分值的情况下,根据下述步骤生成多个候选节点的所述第一概率分布:
针对所述多个候选节点中的每个候选节点,基于所述候选节点的至少一个所述节点价值和所述节点更新次数,生成所述候选节点对应的平均节点价值;
基于所述候选节点的节点更新次数,生成所述候选节点对应的搜索度;
基于所述平均节点价值、所述搜索度、和所述节点分值,生成所述候选节点对应的第一上限置信区域算法UCT值;
基于各个所述候选节点分别对应的所述第一UCT值,生成每个候选节点对应的被选中的第一概率;
基于各个所述候选节点被选中的第一概率,生成所述多个候选节点的所述第一概率分布。
一种可能的实施方式中,在所述性能参数数据包括:节点价值、节点更新次数和节点分值的情况下,根据下述步骤生成多个候选节点的所述第二概率分布:
针对所述多个候选节点中的每个候选节点,基于所述候选节点的至少一个所述节点价值和所述节点更新次数,生成所述候选节点对应的平均节点价值;
基于所述平均节点价值和所述节点分值,生成所述候选节点对应的第二UCT值;
基于各个所述候选节点分别对应的所述第二UCT值,生成每个候选节点对应的被选中的第二概率;
基于各个所述候选节点被选中的第二概率,生成所述多个候选节点的所述第二概率分布。
第二方面,本公开提供了一种数据处理方法,包括:
获取待处理数据;所述待处理数据包括:待处理图像、待处理文字、待处理的点云数据中任一种;
利用第一目标神经网络,对所述待处理数据进行处理,得到所述待处理数据的数据处理结果;其中,所述第一目标神经网络包括基于第一方面任一项所述的方法生成的目标神经网络。
第三方面,本公开提供了一种智能行驶控制方法,包括:
获取行驶装置在行驶过程中采集的图像或者点云数据;
利用第二目标神经网络,检测所述图像或者点云数据中的目标对象;其中,所述第二目标神经网络包括基于第一方面任一项所述的方法生成的目标神经网络;
基于检测的所述目标对象,控制所述行驶装置。
以下装置、电子设备等的效果描述参见上述方法的说明,这里不再赘述。
第四方面,本公开提供了一种生成神经网络的装置,包括:
第一生成模块,用于生成超网络对应的树结构,其中,所述超网络包括多个网络层,每个网络层包括至少一个表征运算操作的算子;所述树结构中包含多个层结构,每个所述层结构对应一个所述网络层,每个层结构包括至少一个节点,各所述节点分别与所在层结构的所述网络层中的一个算子相对应;
第二生成模块,用于利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据;
第一确定模块,用于根据所述性能参数数据,基于所述树结构确定多个候选神经网络结构;
第二确定模块,用于利用样本数据对所述多个候选神经网络结构进行测试,根据测试结果从所述多个候选神经网络结构中确定目标神经网络结构;
第三生成模块,用于基于所述目标神经网络结构生成目标神经网络。
第五方面,本公开提供了一种数据处理装置,包括:
第一获取模块,用于获取待处理数据;所述待处理数据包括:待处理图像、待处理文字、待处理的点云数据中任一种;
处理模块,用于利用第一目标神经网络,对所述待处理数据进行处理,得到所述待处理数据的数据处理结果;其中,所述第一目标神经网络包括基于第一方面任一项所述的方法生成的目标神经网络。
第六方面,本公开提供了一种智能行驶控制装置,包括:
第二获取模块,用于获取行驶装置在行驶过程中采集的图像或者点云数据;
检测模块,用于利用第二目标神经网络,检测所述图像或者点云数据中的目标对象;其中,所述第二目标神经网络包括基于第一方面任一项所述的方法生成的目标神经网络;
控制模块,用于基于检测的所述目标对象,控制所述行驶装置。
第七方面,本公开提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述第一方面或任一实施方式所述的生成神经网络的方法的步骤;或者执行如上述第二方面所述的数据处理方法的步骤;或者执行如上述第三方面所述的智能行驶控制方法的步骤。
第八方面,本公开提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第一方面或任一实施方式所述的生成神经网络的方法的步骤;或者执行如上述第二方面所述的数据处理方法的步骤;或者执行如上述第三方面所述的智能行驶控制方法的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种生成神经网络的方法的流程示意图;
图2a示出了本公开实施例所提供的一种生成神经网络的方法中,超网络的结构示意图;
图2b示出了本公开实施例所提供的一种生成神经网络的方法中,超网络对应的树结构的结构示意图;
图3示出了本公开实施例所提供的一种生成神经网络的方法中,更新神经网络结构中每个节点对应的性能参数数据的具体实现方式的流程示意图;
图4示出了本公开实施例所提供的一种数据处理方法的流程示意图;
图5示出了本公开实施例所提供的一种智能行驶控制方法的流程示意图;
图6示出了本公开实施例所提供的一种生成神经网络的装置的架构示意图;
图7示出了本公开实施例所提供的一种数据处理装置的架构示意图;
图8示出了本公开实施例所提供的一种智能行驶控制装置的架构示意图;
图9示出了本公开实施例所提供的一种电子设备的结构示意图;
图10示出了本公开实施例所提供的另一种电子设备的结构示意图;
图11示出了本公开实施例所提供的另一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,在对神经网络进行自动网络结构搜索时,若神经网络包括有n个网络层,每个网络层有m种可选的操作(即由m个可选的算子),则最终构成的搜索空间有mn条搜索路径,每条搜索路径由n层网络中每层网络的一个可选的操作连接形成,每条搜索路径分别对应于一个神经网络结构,其中m和n为正整数。
当前的自动网络结构搜索方法可以采用启发式搜索方法,从巨大的搜索空间中确定神经网络结构,比如启发式搜索算法为遗传算法、贝叶斯算法等,为了在较小的搜索代价基础上搜索到神经网络结构,启发式搜索方法忽视了网络结构不同网络层之间选择的关联性,比如,第二个网络层中选择的操作,与第一个网络层中已选择的操作之间存在关联,进而使得获取到性能较高的神经网络结构的可能性较低。为了解决上述问题,本公开实施例提供了一种生成神经网络的方法。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本公开实施例进行理解,首先对本公开实施例所公开的一种生成神经网络的方法、数据处理方法、和智能行驶控制方法进行详细介绍。本公开实施例所提供的生成神经网络的方法、数据处理方法、或智能行驶控制方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该生成神经网络的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例所提供的一种生成神经网络的方法的流程示意图,该方法包括S101-S105,其中:
S101,生成超网络对应的树结构,其中,超网络包括多个网络层,每个网络层包括至少一个表征运算操作的算子;树结构中包含多个层结构,每个层结构对应一个网络层,每个层结构包括至少一个节点,各节点分别与所在层结构对应的所述网络层中的一个算子相对应;
S102,利用从超网络中采样出的多个第一神经网络结构的预测误差,确定第一神经网络结构对应的多个节点的性能参数数据;
S103,根据性能参数数据,基于树结构确定多个候选神经网络结构;
S104,利用样本数据对多个候选神经网络结构进行测试,根据测试结果从多个候选神经网络结构中确定目标神经网络结构;
S105,基于目标神经网络结构生成目标神经网络。
采用上述方法,通过生成超网络对应的树结构,比如该树结构可以为蒙特卡洛树,树结构中结合了不同层结构的采样关系,比如,在选取了第一个层结构的节点之后,基于第一个层结构中被选取的节点来确定第二个层结构中可选择的节点,通过结合不同层结构之间的相关性,可以较准确的获取到性能较高的目标神经网络结构。同时,根据性能参数数据,可以基于树结构确定多个性能较好的候选神经网络结构,进而在根据每个候选神经网络结构的测试结果,可以较准确的获取到性能较高的目标神经网络结构,进而可以得到性能较好的目标神经网络。
下述对S101-S105进行具体说明。
针对S101:
这里,超网络可以是基于多个网络层中每个网络层包括的至少一个算子所形成的大型神经网络。其中,每个算子可以对应于一种操作或者一个基本网络结构单元,例如,某一个网络层的每个算子对应一种卷积操作,或者一个卷积网络单元。
示例性的,可选算子可以包括:卷积网络单元、池化网络单元、恒等映射网络单元、以及预先确定的功能块中至少一种。此处,预先确定的功能块,是指已经训练得到的某些神经网络;这些神经网络能过实现某一功能;例如用于细化、检测和分段的移动网络MobileNetV2块、一种用于移动设备的极其高效的卷积神经网络ShuffleNetV2等。其中,可选算子可以根据需要进行设置,此处仅为示例性说明。
示例性的,假设超网络中包括n个网络层,每个网络层有m种可选的算子,则超网络对应的搜索空间中包括有mn个神经网络结构。如图2a所示,本公开实施例提供一种超网络的示例性结构;在该超网络中,包括3个网络层,每个网络层中可选的算子有4种,分别为卷积网络单元、池化网络单元、恒等映射网络单元、以及功能块,则超网络对应的搜索空间中包括有43个神经网络结构。
其中,超网络对应的树结构可以为蒙特卡洛树,如图2b所示的一种超网络对应的蒙特卡洛树的示意图。图2b中包括3个层结构,每个层结构对应一个网络层,每个层结构包括至少一个节点21,各节点21分别与所在层结构对应的网络层中的一个算子相对应。比如,标号为1的节点21可以对应一个卷积网络单元,标号为2的节点21可以对应一个池化网络单元,标号为3的节点21可以对应一个恒等映射网络单元。
一种可选实施方式中,在生成超网络对应的树结构之前,还包括:
S1011,从超网络中选取第二神经网络结构。
S1012,基于选取的第二神经网络结构,对超网络进行训练,直至训练后的超网络满足预设截止条件。
在生成超网络对应的树结构之前,可以对超网络进行预训练,以便使得预训练之后的超网络中的两个神经网络结构之间的性能可以被比对,进而在生成树结构之后,可以较准确的从树结构中搜索性能较好的目标神经网络结构。
示例性的,第二神经网络结构可以为超网络中任意神经网络结构,即可以采用随机采样或均衡采样的方式从超网络中选取至少一个第二神经网络结构,比如,可以从每个网络层中随机选择一个算子构成选取的第二神经网络结构;利用样本数据对选取的第二神经网络结构进行训练,调整选取的第二神经网络结构中每个算子的网络参数,对超网络进行一次训练,得到本次训练后的超网络。返回至从本次训练后的超网络中选取一个第二神经网络结构的步骤,选取新的第二神经网络结构,直至训练后的超网络满足预设截止条件。
其中,预设截止条件可以根据需要进行设置,比如预设截止条件可以为超网络的训练次数等于设置的次数阈值;或者,可以为选取的第二神经网络结构的数量等于设置的结构数量阈值;或者,还可以为训练后的超网络的性能达到设置的性能要求等。
一种可选实施方式中,在生成超网络对应的树结构时,可以根据超网络中包含的所有神经网络结构,构建超网络对应的树结构,即针对超网络中的每个神经网络结构,在树结构中存在与该神经网络结构对应的、由各个层结构中的一个节点构成的子结构。
在另一种可能的实施方式中,生成超网络对应的树结构,包括:从超网络中选取满足预设的运算约束条件的第三神经网络结构,基于第三神经网络结构构建对应的树结构。
通过基于满足预设的运算约束条件的第三神经网络结构,构建对应的树结构,由于不满足预设的运算约束条件的神经网络结构属于运行性能较差的网络结构,故将超网络中不满足预设的运算约束条件的神经网络结构筛掉,可以提高目标神经网络的生成效率。
其中,预设的运算约束条件可以包括运算速度、运算的复杂度、运算所消耗的硬件资源等中的至少一项的约束条件。示例性的,预设的运算约束条件可以为每秒浮点运算次数(floating point operations per second,FLOPS)大于设置的运算阈值;或者,预设的运算约束条件可以为参数量parameters小于设置的参数阈值等。
这里,从超网络中选取满足预设的运算约束条件的第三神经网络结构,基于第三神经网络结构中包括的各个算子,构建超网络对应的树结构。其中,针对超网络中的每个第三神经网络结构,在树结构中存在与该第三神经网络结构对应的、由各个层结构中的一个节点构成的子结构;以及针对超网络中除第三神经网络结构之外的其他神经网络结构,树结构中不存在与该其他神经网络对应的子结构。
针对S102:
这里,神经网络结构的预测误差,可以为利用样本数据对神经网络结构进行训练时,得到的训练损失,比如,该训练损失可以为交叉熵损失等。该预测误差也可以是使用测试数据集对训练后的神经网络进行测试获得的、神经网络在执行具体的任务中的误差。具体实施时,可以重复多次下述过程,确定多个第一神经网络结构中,每个第一神经网络结构对应的多个节点的性能参数数据:从超网络中采样一个第一神经网络结构,利用样本数据对选取的第一神经网络结构进行训练,调整第一神经网络结构中每个算子的网络参数,同时可以得到第一神经网络结构的预测误差,利用得到的预测误差,确定第一神经网络结构对应的、树结构中的多个节点的性能参数数据。
一种可选实施方式中,S102中,利用从超网络中采样出的多个第一神经网络结构的预测误差,确定第一神经网络结构对应的多个节点的性能参数数据,包括:
S1021,从超网络中采样出满足预设的运算约束条件的第一神经网络结构,利用样本数据对第一神经网络结构进行训练。
S1022,基于对第一神经网络结构训练得到的预测误差,确定树结构中与第一神经网络结构对应的多个节点的性能参数数据。
经研究发现,神经网络结构的性能与运算性能相关,一般的,运算快的神经网络结构的性能优于运算慢的神经网络结构。故可以从超网络中采样满足预设的运算约束条件的第一神经网络结构,利用样本数据对第一神经网络结构进行训练,得到第一神经网络结构的预测误差,利用该预测误差调整选取的第一神经网络结构的网络参数。而对不满足运算约束条件的神经网络不进行处理,以提高目标神经网络结构的确定效率。
示例性的,表征神经网络结构的运算性能的运算指标可以为FLOPS、参数量parameters等;在运算指标为FLOPS时,预设的运算约束条件可以为FLOPS大于设置的运算阈值;在运算指标为parameters时,预设的运算约束条件可以为parameters小于设置的参数阈值等。其中,运算指标可以根据需要进行选择,以及运算阈值和参数阈值可以根据需要进行设置。
这里,第一神经网络结构选取时使用的运算约束条件与第三神经网络结构选取时使用的运算约束条件可以相同。若树结构为基于第三神经网络结构构建的,则这里可以随机从第三神经网络结构中采样处第一神经网络结构,确定第一神经网络结构对应的多个节点的性能参数数据。
在采样第一神经网络结构之后,可以利用样本数据对第一神经网络结构进行训练,调整第一神经网络结构中包括的每个算子的网络参数,并根据训练得到的预测误差,确定树结构中与第一神经网络结构对应的多个节点的性能参数数据。
具体实施时,可以从超网络中采样满足运算约束条件的第一神经网络结构,利用样本数据对第一神经网络结构进行训练,调整该第一神经网络结构中每个算子的网络参数,更新超网络;并基于训练得到的预测误差,确定树结构中与第一神经网络结构对应的多个节点的性能参数数据。然后可以返回至从更新后的超网络中采样第一神经网络结构的步骤,直至采样的满足预设的运算约束条件的第一神经网络结构的数量达到设定的数量阈值。
性能参数数据中可以包括节点价值,或者,可以包括节点价值和节点分值。其中,节点价值可以用于表征本次训练后的神经网络结构的性能、与本次训练后的超网络的性能之间的对比结果;比如,在生成超网络对应的树结构之后,若第t次从超网络中采样神经网络结构A,得到神经网络结构A对应的多个节点的节点价值A,多个节点的节点价值A可以表征第t次训练后的神经网络结构A的性能、与第t次训练后的超网络的性能之间的对比结果。
一个节点的节点分值可以用于表征超网络中包含与该节点对应的算子的至少一个神经网络结构的平均性能;比如,节点A对应的算子为3×3的卷积操作,且节点A位于树结构中的第二个层结构,则可以得到超网络中第二个网络层为3×3的卷积操作的多个神经网络结构A1、A2、…,节点A对应的节点分值可以表征多个神经网络结构A1、A2、…的平均性能。
在性能参数数据包括节点价值和节点分值的情况下,利用从超网络中采样出的多个第一神经网络结构的预测误差,确定第一神经网络结构对应的多个所述节点的性能参数数据,包括:
方式一、基于第一神经网络结构的预测误差,生成第一神经网络结构的滑动损失;基于第一神经网络结构的预测误差和滑动损失,生成第一神经网络结构对应的每个节点的本次训练后的节点价值。其中,滑动损失用于表征在本次训练神经网络结构之后超网络的收敛程度。
方式二、基于第一神经网络结构对应的每个节点在上一次训练后的节点分值、节点对应的本次训练后的节点价值,生成节点对应的本次训练后的节点分值。
在方式一中,可以根据下述公式(1)和公式(2)确定节点价值Q:
Figure BDA0002911967740000111
Figure BDA0002911967740000112
其中,αt为第t次从超网络中选取的第一神经网络结构,Ltrt)为第一神经网络结构αt的损失值,
Figure BDA0002911967740000113
为超网络对应的第t-1次训练后生成的滑动损失;
Figure BDA0002911967740000114
为超网络对应的第t次训练后生成的滑动损失,β为设置的位于[0,1]之间的系数;
Figure BDA0002911967740000115
为选取的神经网络结构中位于第l网络层的第i个节点,
Figure BDA0002911967740000116
为节点
Figure BDA0002911967740000117
的节点价值。
随着树结构中层结构的深度增加,节点的数量程指数增长,比如,若可选择的算子为5个,则树结构中第一个层结构中包括5个节点,第二个层结构中包括52=25个节点,第三个层结构中包括53=125个节点,第n个层结构中包括5n个节点。由于树结构中层结构的层数较多时,包括的节点的数量较多,在从树结构中选取神经网络结构时,很难保证结构层数较大的层结构中的每个节点均被访问。故为了缓解上述问题,这里提出了一种节点通讯方法,可以使得树结构的每一个层结构中具有相同操作的节点共享一个节点分值,即为超网络中每个网络层的中各个算子分别对应的节点,生成一对应的节点分值。
假设,可选择的算子包括3×3卷积算子、5×5卷积算子、7×7卷积算子、和恒等映射算子,在树结构的第5个层结构中包括45=1024个节点,该1024个节点中包括256个3×3卷积算子、256个5×5卷积算子、256个7×7卷积算子、和256个恒等映射算子。则256个3×3卷积算子可以共享一个节点分值,即第5个层结构中的每个3×3卷积算子对应的节点的节点分值相同、每个恒等映射算子对应的节点的节点分值相同。
比如,在第n次从超网络中选取第一神经网络结构后,基于该第一神经网络结构的损失值,生成该第一神经网络结构对应的第一个层结构中节点A(节点A与恒等映射算子匹配)的节点分值A之后,可以将树结构的第一个层结构中与恒等映射算子匹配的每个节点的节点分值,替换为生成的节点分值A。
其中,可以使用方式二确定节点分值。具体的,可以根据下述公式(3)确定节点分值G:
Figure BDA0002911967740000121
其中,G(oj)(l)为本次训练后的节点分值;Gf(oj)(l)为上一次训练后的节点分值;
Figure BDA0002911967740000122
为节点
Figure BDA0002911967740000123
对应的本次训练后的节点价值;γ为设置的位于[0,1]之间的系数。
具体实施时,性能参数数据中还可以包括节点更新次数,每个节点的节点更新次数的初始值可以设置为0,每访问一次节点(即在从树结构中选取的神经网络结构中包括该节点时,则该节点被访问),生成该节点对应的一个节点价值(即该节点的节点价值被更新一次),则被访问的节点的节点更新次数加1,进而可以实时的统计得到每个节点的节点更新次数。其中,节点的节点更新次数与节点中包括的节点价值的数量有关,即每访问一次节点,可以生成一个该节点对应的节点价值,比如,若节点A的节点更新次数为5,则节点A的性能参数数据中包括5个生成的节点价值。其中,节点更新次数用于表征本次训练后节点的性能参数数据更新的次数。
一种可选实施方式中,参见图3所示,在利用树结构中多个神经网络结构的损失值,生成神经网络结构关联的多个节点的性能参数数据之后,还包括:
S301,基于树结构中每个节点的性能参数数据,从树结构的各个层结构中选取目标节点,基于目标节点构建对应的第四神经网络结构。
S302,利用样本数据对第四神经网络结构进行训练,并基于训练第四神经网络结构得到的预测误差,更新第四神经网络结构对应的每个目标节点的性能参数数据。
上述实施方式下,可以基于树结构中每个节点的性能参数数据,从树结构的各个层结构中选取目标节点,基于目标节点构建对应的性能较好的第四神经网络结构,利用样本数据对第四神经网络结构进行训练,并基于训练得到的预测误差,更新第四神经网络结构对应的每个目标节点的性能参数数据,以便基于更新后的树结构,可以较准确的找到性能较好的目标神经网络结构。
这里,可以基于树结构中每个节点的性能参数数据,选取第四神经网络结构;利用样本数据对第四神经网络结构进行训练,得到该第四神经网络结构的预测误差;进而可以利用该预测误差对第四神经网络结构的网络参数进行调整,以及可以利用该预测误差,更新第四神经网络结构对应的每个目标节点的性能参数数据。
重复上述S301和S302,直至选取的第四神经网络结构的数量等于设置的数量阈值,完成对树结构的更新,即完成对树结构中多个节点的性能参数数据的更新。
可选地,在S301中,在性能参数数据包括节点更新次数的情况下,基于树结构中每个节点的性能参数数据,从树结构的各个层结构中选取目标节点,基于目标节点构建对应的第四神经网络结构,可以包括:
S3011,基于树结构中的第一个层结构中各个节点的第一概率分布,从第一个层结构的各个节点中选取第一个层结构的目标节点;其中,第一概率分布用于表征各个节点分别被选中的概率,每个节点被选中的概率为基于该节点对应的性能参数数据生成的;
S3012,将树结构中的第i+1个层结构中与第i个层结构的目标节点相连节点作为候选节点,基于第i+1个层结构中多个候选节点的节点更新次数,确定i+1个层结构中多个候选节点的第一总更新次数;其中,节点更新次数用于表征本次训练后节点的性能参数数据更新的次数,i=1、2、…、N-1;N为树结构中层结构的数量;
S3013,在第一总更新次数大于或等于设置的更新次数阈值的情况下,基于第i+1个层结构中多个候选节点的第一概率分布,从第i+1个层结构的多个候选节点中,选取第i+1个层结构的目标节点;
S3014,基于各个层结构分别对应的目标节点,构建包含超网络的网络层中与目标节点对应的算子的第四神经网络结构。
以下对S3011进行说明,可以基于树结构中的第一个层结构中多个节点分别对应的性能参数数据,生成第一个层结构中每个节点被选中的概率;再基于第一个层结构中多个节点分别对应的被选中的概率,生成第一个层结构中多个节点的第一概率分布。比如,第一个层结构的三个节点的第一概率分布可以为:节点一,[0,0.4);节点二,[0.4,0.7);节点三,[0.7,1]。可知,第一概率分布指示的节点一被选中的概率为0.4,节点二被选中的概率为0.3,节点三被选中的概率为0.3。
承接上述示例继续说明,可以随机生成一个0-1(包括0和1)之间的数值,根据该数值、和第一概率分布,从第一个层结构的多个节点中选取第一个层结构对应的目标节点。比如,若随机生成的数值为0.5,则0.5位于节点二对应的范围内,将节点二确定为第一个层结构的目标节点。
对S3012进行说明,N为树结构中层结构的数量,即N也为超网络中网络层的数量,N的值可以根据设计的神经网络的层数确定。
以i为1进行示例说明,在第一个层结构的目标节点确定之后,将第二个层结构中与第一个层结构的目标节点相连的多个节点,确定为第二个层结构中的多个候选节点。根据第二个层结构中多个候选节点分别对应的节点更新次数,确定第二个层结构中多个候选节点的第一总更新次数。
若第一总更新次数大于或等于设置的更新次数阈值,则执行S3013;若第一总更新次数小于设置的更新次数阈值,则执行后续的S3014。其中,更新次数阈值可以根据实际需要进行设置。
示例性的,还可以根据第二个层结构中多个候选节点分别对应的节点更新次数,确定第二个层结构中多个候选节点的平均更新次数;若平均更新次数大于或等于设置的平均更新次数阈值,则执行S3013;若平均更新次数小于设置的平均更新次数阈值,则执行后续的S3014。
在S3013中,在第一总更新次数大于或等于设置的更新次数阈值时,可以基于第二个层结构中多个候选节点的第一概率分布,从第二个层结构中的多个候选节点中,选取第二个层结构对应的目标节点。其中,第二个层结构对应的目标节点的选取过程,与第一个层结构的目标节点的选取过程相同,此处不再赘述。
在S3014中,在得到每个层结构对应的目标节点之后,可以基于各个层结构分别对应的目标节点,构建第四神经网络结构,第四神经网络结构中每个网络层的算子、与对应层结构的目标节点相匹配。比如,确定的第一个层结构的目标节点为卷积算子,第二个层结构对应的目标节点为全连接算子,则第四神经网络结构中第一个网络层对应卷积算子,第二个网络层对应全连接算子。
其中,可以根据下述步骤生成多个候选节点的第一概率分布:
一、针对多个候选节点中的每个候选节点,基于候选节点的至少一个节点价值和节点更新次数,生成候选节点对应的平均节点价值;基于候选节点的节点更新次数,生成候选节点对应的搜索度;基于平均节点价值、搜索度、和节点分值,生成候选节点对应的第一上限置信区域算法(Upper Confidence Bound Apply to Tree,UCT)值;
二、基于各个候选节点分别对应的第一UCT值,生成每个候选节点对应的被选中的第一概率;
三、基于各个候选节点被选中的第一概率,生成多个候选节点的第一概率分布。
在性能参数数据包括:节点价值、节点更新次数、和节点分值时,根据下述公式(4)计算每个候选节点的第一UCT值:
Figure BDA0002911967740000141
其中,
Figure BDA0002911967740000142
为候选节点
Figure BDA0002911967740000143
的第一UCT值,
Figure BDA0002911967740000144
为候选节点
Figure BDA0002911967740000145
的节点更新次数,
Figure BDA0002911967740000146
为候选节点
Figure BDA0002911967740000147
包括的至少一个节点价值的和,即在
Figure BDA0002911967740000148
为5时,则
Figure BDA0002911967740000149
为5个节点价值的总和;G(oj)(l)为候选节点
Figure BDA00029119677400001410
对应的节点分值;
Figure BDA00029119677400001411
为多个候选节点的总更新次数;C1和C2为设置的系数。
可知,
Figure BDA00029119677400001412
为候选节点对应的平均节点价值;
Figure BDA00029119677400001413
为候选节点对应的搜索度。
在性能参数数据包括:节点价值、和节点更新次数时,根据下述公式(5)计算每个候选节点的第一UCT值:
Figure BDA00029119677400001414
再可以根据下述公式(6)计算每个候选节点对应的被选中的第一概率:
Figure BDA00029119677400001415
其中,
Figure BDA00029119677400001416
为候选节点
Figure BDA00029119677400001417
对应的第一概率;τ为设置的温度系数,比如,τ的值可以设置为0.0025;
Figure BDA00029119677400001418
为候选节点
Figure BDA00029119677400001419
对应的第一UCT值;
Figure BDA00029119677400001420
为多个候选节点分别对应的第一UCT值。
在得到多个候选节点分别对应的第一概率后,可以基于各个候选节点被选中的第一概率,生成多个候选节点的第一概率分布。
其中,第一个层结构中包括的多个节点的第一概率分布的确定过程与多个候选节点的第一概率分布的确定过程相同,此处不再具体说明。
一种可选实施方式中,该方法还包括:S3015:该S3015中包括下述步骤一至步骤三;其中:
步骤一、在第一总更新次数小于更新次数阈值的情况下,基于第i+1个层结构的各个候选节点的性能参数数据,从第i+1个层结构的多个候选节点中,选取第i+1个层结构对应的目标候选节点,基于第i+1个层结构的目标候选节点构建对应的第五神经网络结构;
步骤二、利用样本数据对第五神经网络结构进行训练,更新第五神经网络结构对应的第i+1个层结构的多个候选节点的性能参数数据;
步骤三、返回至从第i+1个层结构的多个候选节点中,选取第i+1个层结构对应的目标候选节点的步骤,直至第i+1个层结构的多个候选节点对应的第一总更新次数达到设置的总更新次数阈值。
在第一总更新次数小于更新次数阈值时,可以基于第i+1个层结构的多个候选节点中每个候选节点的性能参数数据,选取第五神经网络结构,并利用样本数据对选取的第五神经网络结构进行训练,增加树结构的第i+1个层结构中多个候选算子的第一总更新次数,直至第i+1个层结构对应的多个候选算子的第一总更新次数等于设置的更新次数阈值,执行S3013。
一种可选实施方式中,步骤一中,基于第i+1个层结构的各个候选节点的性能参数数据,从第i+1个层结构的多个候选节点中,选取第i+1个层结构对应的目标候选节点,基于第i+1个层结构的目标候选节点构建对应的第五神经网络结构,包括:
一、基于第i+1个层结构的各个候选节点的性能参数数据,生成第i+1个层结构的多个候选节点的第二概率分布。
二、基于第i+1个层结构的多个候选节点的第二概率分布,从第i+1个层结构的多个候选节点中,选取第i+1个层结构对应的目标候选节点。
三、随机选择第i+2个层结构至第N个层结构中每个层结构对应的目标候选节点。
四、基于第一个层结构至第i个层结构分别对应的目标节点、以及第i+1个层结构至第N个层结构分别对应的目标候选节点,构建对应的第五神经网络结构。
首先,可以根据下述步骤生成多个候选节点的第二概率分布:
一、针对多个候选节点中的每个候选节点,基于候选节点的至少一个节点价值和节点更新次数,生成候选节点对应的平均节点价值;基于平均节点价值和节点分值,生成候选节点对应的第二UCT值;
二、基于各个候选节点分别对应的第二UCT值,生成每个候选节点对应的被选中的第二概率;
三、基于各个候选节点被选中的第二概率,生成多个候选节点的第二概率分布。
这里,在性能参数数据包括:节点价值、节点更新次数、和节点分值时,可以根据公式(7)计算每个候选节点对应的第二UCT值:
Figure BDA0002911967740000151
其中,
Figure BDA0002911967740000161
为候选节点对应的第二UCT值。
再可以根据上述公式(6)生成每个候选节点对应的被选中的第二概率,在利用公式(6)计算候选节点的第二概率时,公式(6)中的
Figure BDA0002911967740000162
为候选节点
Figure BDA0002911967740000163
对应的第二UCT值;
Figure BDA0002911967740000164
为多个候选节点分别对应的第二UCT值。
进而,可以基于各个候选节点被选中的第二概率,生成多个候选节点的第二概率分布。
接着,可以随机生成一个[0,1]之间的数值,根据随机生成数值、和多个候选节点的第二概率分布,从多个候选节点中选取第i+1个层结构的目标候选节点。比如,第i+1个层结构的多个候选节点的第二概率分布为:候选节点一,[0,0.2);候选节点二,[0.2,0.5);候选节点三,[0.5,1];随机生成的数值为0.9,则可以将候选节点三确定为第i+1个层结构的目标候选节点。
以及,可以随机选择第i+2个层结构至第N个层结构中每个层结构对应的目标候选节点。进而,可以基于第一个层结构至第i个层结构分别对应的目标节点、以及第i+1个层结构至第N个层结构分别对应的目标候选节点,构件第五神经网络结构,即构建的第五神经网络结构为包括第i+1个层结构的目标候选节点的网络结构。
在步骤二中,可以利用样本数据对选取的第五神经网络结构进行训练,得到第五神经网络结构的预测误差;进而可以利用该预测误差,更新第五神经网络结构对应的、第i+1个层结构的多个候选节点的性能参数数据。
在步骤三中,返回至从第i+1个层结构的多个候选节点中,选取第i+1个层结构的目标候选节点的步骤,直至多个候选节点对应的第一总更新次数等于设置的总更新次数阈值,在多个候选节点对应的第一总更新次数等于设置的总更新次数阈值时,可以执行步骤S3013,确定第i+1个层结构的目标节点。
由于蒙特卡洛树中存在不同层结构的节点更新不均衡的问题,即层结构较浅,该层结构中包括的节点较少,节点更新的次数较高;层结构越深,该层结构中包括的节点越多,节点更新的次数较少;在节点的数量较多时,节点的节点更新次数可能不足,而在节点的节点更新次数不足的情况下,该节点的性能参数数据的准确度较低。故本公开实施方式中,提出了一种分层节点选择方法,该分层节点选择方法即为S3011至S3015的过程。
针对S103:
一种可选实施方式中,S103中,根据性能参数数据,基于树结构确定多个候选神经网络结构,可以包括:
重复执行如下步骤以生成多个候选神经网络结构:
S1031,基于更新后的树结构中第一个层结构中每个节点的性能参数数据,生成第一个层结构中各个节点的第一概率分布;
S1032,基于树结构的第一个层结构中各个节点的第一概率分布,从第一个层结构的各个节点中,选取第一个层结构对应的目标节点;
S1033,将树结构中的第i+1个层结构中与第i个层结构的目标节点相连的多个节点作为候选节点,基于候选节点的节点更新次数,确定i+1个层结构中多个候选节点的第二总更新次数;其中,i=1、2、…、N-1;N为树结构中层结构的数量;
S1034,在第二总更新次数大于或等于设置的更新次数阈值的情况下,基于第i+1个层结构中多个候选节点的第一概率分布,从第i+1个层结构的多个候选节点中,选取第i+1个层结构对应的目标节点;
S1035,基于各个层结构分别对应的目标节点,生成对应的一个候选神经网络结构。
这里,可以根据分层节点选择方法,确定树结构的每个层结构的目标节点,进而基于各个层结构分别对应的目标节点,生成对应的一个候选神经网络结构。即在S1031至S1034的过程,可以参考上述S3011至S3015的描述,此处不再进行具体说明。在S1033之后,在第二总更新次数小于设置的更新次数阈值时具体的处理过程,与S1035相同,此处不再进行具体说明。
通过S1031至S1035,可以确定每个层结构对应的目标节点,基于每个层结构对应的目标节点,可以生成一个候选神经网络结构;重复S1031至S1035的步骤,可以生成多个候选神经网络结构。具体的,候选神经网络结构的数量可以根据需要进行确定。
上述实施方式下,通过根据节点的性能参数数据,依次确定每一个层结构的目标节点,该目标节点为该层结构对应的较佳节点,故可以使得由各个层结构的目标节点对应的算子,构建的候选神经网络结构的性能较高;同时,通过选取多个候选神经网络结构,可以提高搜索到性能较好的神经网络结构的概率。
针对S104以及S105:
这里,可以使用样本数据对每个候选神经网络结构进行测试,根据各个候选神经网络结构分别对应的测试结果,从多个候选神经网络结构中确定目标神经网络结构。比如,在测试结果为准确度时,可以从多个候选神经网络结构中选取准确度最高的候选神经网络结构,作为目标神经网络结构。
在确定了目标神经网络结构之后,可以利用样本数据对目标神经网络结构进行重新训练,生成满足训练条件的目标神经网络;其中,该训练条件可以为准确度大于阈值;或者,损失值小于设置的损失阈值等。
参见图4所示,本公开实施例还提供一种数据处理方法,包括:
S401,获取待处理数据;待处理数据包括:待处理图像、待处理文字、待处理的点云数据中任一种;
S402,利用第一目标神经网络,对待处理数据进行处理,得到待处理数据的数据处理结果;其中,第一目标神经网络包括基于本公开实施方式提供的生成神经网络的方法生成的目标神经网络。
示例性的:(1)针对所述待处理数据包括图像数据的情况,对待处理数据的处理包括:人脸识别、物体检测、以及语义分割中至少一种。这里,人脸识别例如包括:人脸关键点识别、人脸情绪识别、人脸属性(如年龄、性别等)识别,活体检测中至少一种。物体检测例如包括:物体位置检测、物体类别检测中至少一种。
(2)针对所述待处理数据包括文字数据的情况,对待处理数据的处理包括:对话生成、以及字符预测中至少一种。对话生成例如包括:智能问答、语音自助等中至少一种。字符预测例如包括:检索关键字预测、字符补全预测等。
(3)针对所述待处理数据包括点云数据的情况,对待处理数据的处理包括:障碍物检测、目标检测中至少一种。
本公开实施例提供的数据处理方法,使用了基于本公开任一实施例提供的生成神经网络的方法生成的第一目标神经网络来对待处理数据进行处理,由于所生成的第一目标神经网络具有更好的性能,因此所得到的数据处理结果具有更高的准确度。
参见图5所示,本公开实施例还提供一种智能行驶控制方法,包括:
S501,获取行驶装置在行驶过程中采集的图像或者点云数据;
S502,利用第二目标神经网络,检测图像或者点云数据中的目标对象;其中,第二目标神经网络包括基于本公开实施方式提出的生成神经网络的方法生成的目标神经网络;
S503,基于检测的目标对象,控制行驶装置。
在具体实施中,行驶装置例如但不限于下述任一种:自动驾驶车辆、装有高级驾驶辅助系统(Advanced Driving Assistance System,ADAS)的车辆、或者机器人等。目标对象可以包括行人、车辆、交通道路路标等。控制行驶装置,例如包括控制行驶装置加速、减速、转向、制动等,或者可以播放语音提示信息,以提示驾驶员控制行驶装置加速、减速、转向、制动等。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于相同的构思,本公开实施例还提供了一种生成神经网络的装置,参见图6所示,为本公开实施例提供的生成神经网络的装置的架构示意图,包括第一生成模块601、第二生成模块602、第一确定模块603、第二确定模块604、第三生成模块605,具体的:
第一生成模块601,用于生成超网络对应的树结构,其中,所述超网络包括多个网络层,每个网络层包括至少一个表征运算操作的算子;所述树结构中包含多个层结构,每个层结构对应一个所述网络层,每个层结构包括至少一个节点,各所述节点分别与所在层结构对应的所述网络层中的一个算子相对应;
第二生成模块602,用于利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据;
第一确定模块603,用于根据所述性能参数数据,基于所述树结构确定多个候选神经网络结构;
第二确定模块604,用于利用样本数据对所述多个候选神经网络结构进行测试,根据测试结果从所述多个候选神经网络结构中确定目标神经网络结构;
第三生成模块605,用于基于所述目标神经网络结构生成目标神经网络。
一种可能的实施方式中,在生成超网络对应的树结构之前,所述装置还包括:预训练模块606,用于:
从所述超网络中选取第二神经网络结构;
基于选取的所述第二神经网络结构,对所述超网络进行训练,直至训练后的所述超网络满足预设截止条件。
一种可能的实施方式中,所述第一生成模块601,在生成超网络对应的树结构时,用于:
从所述超网络中选取满足预设的运算约束条件的第三神经网络结构,基于所述第三神经网络结构构建对应的树结构。
一种可能的实施方式中,所述第二生成模块602,在利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据时,用于:
从所述超网络中采样出满足预设的运算约束条件的所述第一神经网络结构,利用样本数据对所述第一神经网络结构进行训练;
基于对所述第一神经网络结构训练得到的所述预测误差,确定所述树结构中与所述第一神经网络结构对应的多个所述节点的性能参数数据。
一种可能的实施方式中,在所述性能参数数据包括节点价值和节点分值的情况下,所述第二生成模块602,在利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据时,用于:
基于所述第一神经网络结构的预测误差,生成所述第一神经网络结构的滑动损失;基于所述第一神经网络结构的所述预测误差和所述滑动损失,生成所述第一神经网络结构对应的每个节点的本次训练后的所述节点价值;
基于所述第一神经网络结构对应的每个所述节点对应的上一次训练后的节点分值、所述节点对应的本次训练后的所述节点价值,生成所述节点对应的本次训练后的所述节点分值;
其中,所述节点价值用于表征本次训练后的所述神经网络结构的性能与本次训练后的所述超网络的性能之间的对比结果;所述节点分值用于表征所述超网络中包含与节点对应的算子的至少一个神经网络结构的平均性能;所述滑动损失用于表征在本次训练所述神经网络结构之后所述超网络的收敛程度。
一种可能的实施方式中,在利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据之后,还包括:更新模块607,用于:
基于所述树结构中每个节点的性能参数数据,从所述树结构的各个层结构中选取目标节点,基于目标节点构建对应的第四神经网络结构;
利用样本数据对所述第四神经网络结构进行训练,并基于训练所述第四神经网络结构得到的预测误差,更新所述第四神经网络结构对应的每个目标节点的性能参数数据。
一种可能的实施方式中,在所述性能参数数据包括节点更新次数的情况下,所述更新模块607,在基于所述树结构中每个节点的性能参数数据,从所述树结构的各个层结构中选取目标节点,基于目标节点构建对应的第四神经网络结构时,用于:
基于所述树结构中的第一个所述层结构中各个节点的第一概率分布,从所述第一个层结构的各节点中选取所述第一个层结构的目标节点;其中,所述第一概率分布用于表征各个节点分别被选中的概率,每个节点被选中的概率为基于该节点对应的所述性能参数数据生成的;
将所述树结构中的第i+1个层结构中与第i个层结构的目标节点相连的节点作为候选节点,基于所述第i+1个层结构中多个所述候选节点的节点更新次数,确定所述i+1个层结构中多个候选节点的第一总更新次数;其中,所述节点更新次数用于表征本次训练后所述节点的性能参数数据更新的次数,所述i=1、2、…、N-1;N为所述树结构中所述层结构的数量;
在所述第一总更新次数大于或等于设置的更新次数阈值的情况下,基于所述第i+1个层结构中多个候选节点的第一概率分布,从所述第i+1个层结构的多个候选节点中,选取第i+1个层结构的所述目标节点;
基于各个所述层结构分别对应的所述目标节点,构建包含所述超网络的所述网络层中与所述目标节点对应的算子的所述第四神经网络结构。
一种可能的实施方式中,所述更新模块607,还用于:
在所述第一总更新次数小于所述更新次数阈值的情况下,基于所述第i+1个层结构的各个候选节点的性能参数数据,从所述第i+1个层结构的多个候选节点中,选取第i+1个层结构对应的目标候选节点,基于第i+1个层结构的所述目标候选节点对构建应的第五神经网络结构;
利用样本数据对所述第五神经网络结构进行训练,更新所述第五神经网络结构对应的所述第i+1个层结构的所述多个候选节点的性能参数数据;
返回至从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的目标候选节点的步骤,直至所述第i+1个层结构的多个候选节点对应的第一总更新次数达到设置的总更新次数阈值。
一种可能的实施方式中,所述更新模块607,在基于所述第i+1个层结构的各个候选节点的性能参数数据,从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的目标候选节点,基于第i+1个层结构的所述目标候选节点构建对应的第五神经网络结构时,用于:
基于所述第i+1个层结构的各个候选节点中每个候选节点的性能参数数据,生成所述第i+1个层结构的多个所述候选节点的第二概率分布;
基于所述第i+1个层结构的多个所述候选节点的所述第二概率分布,从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的目标候选节点;
随机选择第i+2个层结构至第N个层结构中每个层结构对应的目标候选节点;
基于第一个层结构至第i个层结构分别对应的所述目标节点、以及第i+1个层结构至第N个层结构分别对应的所述目标候选节点,构建对应的所述第五神经网络结构。
一种可能的实施方式中,所述第一确定模块603,在根据所述性能参数数据,基于所述树结构确定多个候选神经网络结构时,用于:
重复执行如下步骤以生成多个候选神经网络结构:
基于更新后的所述树结构中第一个所述层结构中每个节点的性能参数数据,生成所述第一个层结构中各个节点的第一概率分布;
基于所述树结构的第一个层结构中各个节点的所述第一概率分布,从所述第一个层结构的各个节点中,选取所述第一个层结构对应的目标节点;
将所述树结构中的第i+1个层结构中与第i个层结构的目标节点相连的多个节点作为候选节点,基于所述候选节点的节点更新次数,确定所述i+1个层结构中多个候选节点的第二总更新次数;其中,所述i=1、2、…、N-1;N为所述树结构中所述层结构的数量;
在所述第二总更新次数大于或等于设置的更新次数阈值的情况下,基于所述第i+1个层结构中多个候选节点的第一概率分布,从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的所述目标节点;
基于各个所述层结构分别对应的所述目标节点,生成对应的一个所述候选神经网络结构。
一种可能的实施方式中,在所述性能参数数据包括:节点价值、节点更新次数和节点分值的情况下,所述更新模块607,用于根据下述步骤生成多个候选节点的所述第一概率分布:
针对所述多个候选节点中的每个候选节点,基于所述候选节点的至少一个所述节点价值和所述节点更新次数,生成所述候选节点对应的平均节点价值;
基于所述候选节点的节点更新次数,生成所述候选节点对应的搜索度;
基于所述平均节点价值、所述搜索度、和所述节点分值,生成所述候选节点对应的第一上限置信区域算法UCT值;
基于各个所述候选节点分别对应的所述第一UCT值,生成每个候选节点对应的被选中的第一概率;
基于各个所述候选节点被选中的第一概率,生成所述多个候选节点的所述第一概率分布。
一种可能的实施方式中,在所述性能参数数据包括:节点价值、节点更新次数、和节点分值的情况下,所述更新模块607,用于根据下述步骤生成多个候选节点的所述第二概率分布:
针对所述多个候选节点中的每个候选节点,基于所述候选节点的至少一个所述节点价值和所述节点更新次数,生成所述候选节点对应的平均节点价值;基于所述平均节点价值和所述节点分值,生成所述候选节点对应的第二UCT值;
基于各个所述候选节点分别对应的所述第二UCT值,生成每个候选节点对应的被选中的第二概率;
基于各个所述候选节点被选中的第二概率,生成所述多个候选节点的所述第二概率分布。
基于相同的构思,本公开实施例还提供了一种数据处理装置,参见图7所示,为本公开实施例提供的数据处理装置的架构示意图,包括第一获取模块701、处理模块702,具体的:
第一获取模块701,用于获取待处理数据;所述待处理数据包括:待处理图像、待处理文字、待处理的点云数据中任一种;
处理模块702,用于利用第一目标神经网络,对所述待处理数据进行处理,得到所述待处理数据的数据处理结果;其中,所述第一目标神经网络的神经网络结构包括基于本公开实施方式提出的生成神经网络的方法生成的目标神经网络。
基于相同的构思,本公开实施例还提供了一种智能行驶控制装置,参见图8所示,为本公开实施例提供的智能行驶控制装置的架构示意图,包括第二获取模块801、检测模块802、控制模块803,具体的:
第二获取模块801,用于获取行驶装置在行驶过程中采集的图像或者点云数据;
检测模块802,用于利用第二目标神经网络,检测所述图像或者点云数据中的目标对象;其中,所述第二目标神经网络包括基于第一方面任一项所述的生成神经网络的方法生成的目标神经网络;
控制模块803,用于基于检测的所述目标对象,控制所述行驶装置。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模板可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
基于同一技术构思,本公开实施例还提供了一种电子设备。参照图9所示,为本公开实施例提供的电子设备的结构示意图,包括处理器901、存储器902、和总线903。其中,存储器902用于存储执行指令,包括内存9021和外部存储器9022;这里的内存9021也称内存储器,用于暂时存放处理器901中的运算数据,以及与硬盘等外部存储器9022交换的数据,处理器901通过内存9021与外部存储器9022进行数据交换,当电子设备900运行时,处理器901与存储器902之间通过总线903通信,使得处理器901在执行以下指令:
生成超网络对应的树结构,其中,所述超网络包括多个网络层,每个网络层包括至少一个表征运算操作的算子;所述树结构中包含多个层结构,每个所述层结构对应一个所述网络层,每个层结构包括至少一个节点,各所述节点分别与所在层结构对应的所述网络层中的一个算子相对应;
利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据;
根据所述性能参数数据,基于所述树结构确定多个候选神经网络结构;
利用样本数据对所述多个候选神经网络结构进行测试,根据测试结果从所述多个候选神经网络结构中确定目标神经网络结构;
基于所述目标神经网络结构生成目标神经网络。
基于同一技术构思,本公开实施例还提供了一种电子设备。参照图10所示,为本公开实施例提供的电子设备的结构示意图,包括处理器1001、存储器1002、和总线1003。其中,存储器1002用于存储执行指令,包括内存10021和外部存储器10022;这里的内存10021也称内存储器,用于暂时存放处理器1001中的运算数据,以及与硬盘等外部存储器10022交换的数据,处理器1001通过内存10021与外部存储器10022进行数据交换,当电子设备1000运行时,处理器1001与存储器1002之间通过总线1003通信,使得处理器1001在执行以下指令:
获取待处理数据;所述待处理数据包括:待处理图像、待处理文字、待处理的点云数据中任一种;
利用第一目标神经网络,对所述待处理数据进行处理,得到所述待处理数据的数据处理结果;其中,所述第一目标神经网络包括基于本公开实施方式提出的生成神经网络的方法生成的目标神经网络。
基于同一技术构思,本公开实施例还提供了一种电子设备。参照图11所示,为本公开实施例提供的电子设备的结构示意图,包括处理器1101、存储器1102、和总线1103。其中,存储器1102用于存储执行指令,包括内存11021和外部存储器11022;这里的内存11021也称内存储器,用于暂时存放处理器1101中的运算数据,以及与硬盘等外部存储器11022交换的数据,处理器1101通过内存11021与外部存储器11022进行数据交换,当电子设备1100运行时,处理器1101与存储器1102之间通过总线1103通信,使得处理器1101在执行以下指令:
获取行驶装置在行驶过程中采集的图像或者点云数据;
利用第二目标神经网络,检测所述图像或者点云数据中的目标对象;其中,所述第二目标神经网络包括基于本公开实施方式提出的生成神经网络的方法生成的目标神经网络;
基于检测的所述目标对象,控制所述行驶装置。
此外,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的生成神经网络的方法的步骤、或所述的数据处理方法的步骤、或所述的智能行驶控制方法。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的生成神经网络的方法的步骤、或所述的数据处理方法的步骤、或所述的智能行驶控制方法,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (17)

1.一种智能行驶控制方法,其特征在于,包括:
获取行驶装置在行驶过程中采集的图像或者点云数据;
生成超网络对应的树结构,其中,所述超网络包括多个网络层,每个网络层包括至少一个表征运算操作的算子;所述树结构中包含多个层结构,每个所述层结构对应一个所述网络层,每个层结构包括至少一个节点,各所述节点分别与所在层结构对应的所述网络层中的一个算子相对应;
利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据;
根据所述性能参数数据,基于所述树结构确定多个候选神经网络结构;
利用样本数据对所述多个候选神经网络结构进行测试,根据测试结果从所述多个候选神经网络结构中确定目标神经网络结构;
基于所述目标神经网络结构生成目标神经网络;
利用所述目标神经网络,检测所述图像或者点云数据中的目标对象;
基于检测的所述目标对象,控制所述行驶装置。
2.根据权利要求1所述的方法,其特征在于,在生成超网络对应的树结构之前,还包括:
从所述超网络中选取第二神经网络结构;
基于选取的所述第二神经网络结构,对所述超网络进行训练,直至训练后的所述超网络满足预设截止条件。
3.根据权利要求1或2所述的方法,其特征在于,所述生成超网络对应的树结构,包括:
从所述超网络中选取满足预设的运算约束条件的第三神经网络结构,基于所述第三神经网络结构构建对应的树结构。
4.根据权利要求1或2所述的方法,其特征在于,所述利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据,包括:
从所述超网络中采样出满足预设的运算约束条件的所述第一神经网络结构,利用样本数据对所述第一神经网络结构进行训练;
基于对所述第一神经网络结构训练得到的所述预测误差,确定所述树结构中与所述第一神经网络结构对应的多个所述节点的性能参数数据。
5.根据权利要求1-4任一所述的方法,其特征在于,所述性能参数数据包括节点价值和节点分值,所述利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据,包括:
基于所述第一神经网络结构的预测误差,生成所述第一神经网络结构的滑动损失;基于所述第一神经网络结构的预测误差和所述滑动损失,生成所述第一神经网络结构对应的每个所述节点的本次训练后的所述节点价值;
基于所述第一神经网络结构对应的每个所述节点对应的上一次训练后的节点分值、所述节点对应的本次训练后的所述节点价值,生成所述节点对应的本次训练后的所述节点分值;
其中,所述节点价值用于表征本次训练后的所述神经网络结构的性能与本次训练后的所述超网络的性能之间的对比结果;所述节点分值用于表征所述超网络中包含与节点对应的算子的至少一个神经网络结构的平均性能;所述滑动损失用于表征在本次训练所述神经网络结构之后所述超网络的收敛程度。
6.根据权利要求1-5任一所述的方法,其特征在于,在利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据之后,还包括:
基于所述树结构中每个节点的性能参数数据,从所述树结构的各个层结构中选取目标节点,基于目标节点构建对应的第四神经网络结构;
利用样本数据对所述第四神经网络结构进行训练,并基于训练所述第四神经网络结构得到的预测误差,更新所述第四神经网络结构对应的目标节点的性能参数数据。
7.根据权利要求6所述的方法,其特征在于,在所述性能参数数据包括节点更新次数的情况下,所述基于所述树结构中每个节点的性能参数数据,从所述树结构的各个层结构中选取目标节点,基于目标节点构建对应的第四神经网络结构,包括:
基于所述树结构中的第一个所述层结构中各个节点的第一概率分布,从所述第一个层结构的各个节点中选取所述第一个层结构的目标节点;其中,所述第一概率分布用于表征各个节点分别被选中的概率,每个节点被选中的概率为基于该节点对应的所述性能参数数据生成的;
将所述树结构中的第i+1个层结构中与第i个层结构的目标节点相连的节点作为候选节点,基于所述第i+1个层结构中多个所述候选节点的节点更新次数,确定所述i+1个层结构中多个候选节点的第一总更新次数;其中,所述节点更新次数用于表征本次训练后所述节点的性能参数数据更新的次数,i=1、2、…、N-1;N为所述树结构中所述层结构的数量;
在所述第一总更新次数大于或等于设置的更新次数阈值的情况下,基于所述第i+1个层结构中多个候选节点的第一概率分布,从所述第i+1个层结构的多个候选节点中,选取第i+1个层结构的所述目标节点;
基于各个所述层结构分别对应的所述目标节点,构建包含所述超网络的所述网络层中与所述目标节点对应的算子的所述第四神经网络结构。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述第一总更新次数小于所述更新次数阈值的情况下,基于所述第i+1个层结构的各个候选节点的性能参数数据,从所述第i+1个层结构的多个候选节点中,选取第i+1个层结构对应的目标候选节点,基于第i+1个层结构的所述目标候选节点构建对应的第五神经网络结构;
利用样本数据对所述第五神经网络结构进行训练,更新所述第五神经网络结构对应的所述第i+1个层结构的所述多个候选节点的性能参数数据;
返回至从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的目标候选节点的步骤,直至所述第i+1个层结构的多个候选节点对应的第一总更新次数达到设置的总更新次数阈值。
9.根据权利要求8所述的方法,其特征在于,所述基于所述第i+1个层结构的各个候选节点的性能参数数据,从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的目标候选节点,基于第i+1个层结构的所述目标候选节点构建对应的第五神经网络结构,包括:
基于所述第i+1个层结构的各个候选节点的性能参数数据,生成所述第i+1个层结构的多个所述候选节点的第二概率分布;
基于所述第i+1个层结构的多个所述候选节点的所述第二概率分布,从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的目标候选节点;
随机选择第i+2个层结构至第N个层结构中每个层结构对应的目标候选节点;
基于第一个层结构至第i个层结构分别对应的所述目标节点、以及第i+1个层结构至第N个层结构分别对应的所述目标候选节点,构建对应的所述第五神经网络结构。
10.根据权利要求1-9任一所述的方法,其特征在于,所述根据所述性能参数数据,基于所述树结构确定多个候选神经网络结构,包括:
重复执行如下步骤以生成多个候选神经网络结构:
基于更新后的所述树结构中第一个所述层结构中每个节点的性能参数数据,生成所述第一个层结构中各个节点的第一概率分布;
基于所述树结构中的第一个层结构中各个节点的所述第一概率分布,从所述第一个层结构的各个节点中,选取所述第一个层结构对应的目标节点;
将所述树结构中的第i+1个层结构中与第i个层结构的目标节点相连的多个节点作为候选节点,基于所述候选节点的节点更新次数,确定所述i+1个层结构中多个候选节点的第二总更新次数;其中,i=1、2、…、N-1;N为所述树结构中所述层结构的数量;
在所述第二总更新次数大于或等于设置的更新次数阈值的情况下,基于所述第i+1个层结构中多个候选节点的第一概率分布,从所述第i+1个层结构的多个候选节点中,选取所述第i+1个层结构对应的所述目标节点;
基于各个所述层结构分别对应的所述目标节点,生成对应的一个所述候选神经网络结构。
11.根据权利要求7-10任一所述的方法,其特征在于,在所述性能参数数据包括:节点价值、节点更新次数和节点分值的情况下,根据下述步骤生成多个候选节点的所述第一概率分布:
针对所述多个候选节点中的每个候选节点,基于所述候选节点的至少一个所述节点价值和所述节点更新次数,生成所述候选节点对应的平均节点价值;
基于所述候选节点的节点更新次数,生成所述候选节点对应的搜索度;
基于所述平均节点价值、所述搜索度、和所述节点分值,生成所述候选节点对应的第一上限置信区域算法UCT值;
基于各个所述候选节点分别对应的第一UCT值,生成每个候选节点对应的被选中的第一概率;
基于各个所述候选节点被选中的第一概率,生成所述多个候选节点的所述第一概率分布。
12.根据权利要求9所述的方法,其特征在于,在所述性能参数数据包括:节点价值、节点更新次数和节点分值的情况下,根据下述步骤生成多个候选节点的所述第二概率分布:
针对所述多个候选节点中的每个候选节点,基于所述候选节点的至少一个所述节点价值和所述节点更新次数,生成所述候选节点对应的平均节点价值;
基于所述平均节点价值和所述节点分值,生成所述候选节点对应的第二UCT值;
基于各个所述候选节点分别对应的所述第二UCT值,生成每个候选节点对应的被选中的第二概率;
基于各个所述候选节点被选中的第二概率,生成所述多个候选节点的所述第二概率分布。
13.一种数据处理方法,其特征在于,包括:
获取待处理数据;所述待处理数据包括:待处理图像、待处理文字、待处理的点云数据中任一种;
利用第一目标神经网络,对所述待处理数据进行处理,得到所述待处理数据的数据处理结果;其中,所述第一目标神经网络包括基于权利要求1-12任一项所述的方法生成的目标神经网络。
14.一种智能行驶控制装置,其特征在于,包括:
第二获取模块,用于获取行驶装置在行驶过程中采集的图像或者点云数据;
第一生成模块,用于生成超网络对应的树结构,其中,所述超网络包括多个网络层,每个网络层包括至少一个表征运算操作的算子;所述树结构中包含多个层结构,每个所述层结构对应一个所述网络层,每个层结构包括至少一个节点,各所述节点分别与所在层结构的所述网络层中的一个算子相对应;
第二生成模块,用于利用从所述超网络中采样出的多个第一神经网络结构的预测误差,确定所述第一神经网络结构对应的多个所述节点的性能参数数据;
第一确定模块,用于根据所述性能参数数据,基于所述树结构确定多个候选神经网络结构;
第二确定模块,用于利用样本数据对所述多个候选神经网络结构进行测试,根据测试结果从所述多个候选神经网络结构中确定目标神经网络结构;
第三生成模块,用于基于所述目标神经网络结构生成目标神经网络;
检测模块,用于利用所述目标神经网络,检测所述图像或者点云数据中的目标对象;
控制模块,用于基于检测的所述目标对象,控制所述行驶装置。
15.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取待处理数据;所述待处理数据包括:待处理图像、待处理文字、待处理的点云数据中任一种;
处理模块,用于利用第一目标神经网络,对所述待处理数据进行处理,得到所述待处理数据的数据处理结果;其中,所述第一目标神经网络包括基于权利要求1-12任一项所述的方法生成的目标神经网络。
16.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至12任一所述的智能行驶控制方法的步骤;或执行如权利要求13所述的数据处理方法的步骤。
17.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至12任一所述的智能行驶控制方法的步骤;或执行如权利要求13所述的数据处理方法的步骤。
CN202110088842.7A 2021-01-22 2021-01-22 生成神经网络的方法、数据处理方法、智能行驶控制方法 Active CN112801271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110088842.7A CN112801271B (zh) 2021-01-22 2021-01-22 生成神经网络的方法、数据处理方法、智能行驶控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110088842.7A CN112801271B (zh) 2021-01-22 2021-01-22 生成神经网络的方法、数据处理方法、智能行驶控制方法

Publications (2)

Publication Number Publication Date
CN112801271A CN112801271A (zh) 2021-05-14
CN112801271B true CN112801271B (zh) 2023-04-07

Family

ID=75811225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110088842.7A Active CN112801271B (zh) 2021-01-22 2021-01-22 生成神经网络的方法、数据处理方法、智能行驶控制方法

Country Status (1)

Country Link
CN (1) CN112801271B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113516101B (zh) * 2021-08-02 2024-02-20 合肥工业大学 一种基于网络结构搜索的脑电信号情绪识别方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020150904A1 (en) * 2019-01-22 2020-07-30 SZ DJI Technology Co., Ltd. Neural network based obstacle detection for mobile platforms, and associated systems and methods

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180336453A1 (en) * 2017-05-19 2018-11-22 Salesforce.Com, Inc. Domain specific language for generation of recurrent neural network architectures
WO2019118299A1 (en) * 2017-12-13 2019-06-20 Sentient Technologies (Barbados) Limited Evolving recurrent networks using genetic programming
US20190286984A1 (en) * 2018-03-13 2019-09-19 Google Llc Neural architecture search by proxy
CN111325338B (zh) * 2020-02-12 2023-05-05 暗物智能科技(广州)有限公司 神经网络结构评价模型构建和神经网络结构搜索方法
CN111783937A (zh) * 2020-05-19 2020-10-16 华为技术有限公司 一种神经网络构建方法以及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020150904A1 (en) * 2019-01-22 2020-07-30 SZ DJI Technology Co., Ltd. Neural network based obstacle detection for mobile platforms, and associated systems and methods

Also Published As

Publication number Publication date
CN112801271A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN108509463B (zh) 一种问题的应答方法及装置
CN109783817B (zh) 一种基于深度强化学习的文本语义相似计算模型
CN108920654B (zh) 一种问答文本语义匹配的方法和装置
CN110096567B (zh) 基于qa知识库推理的多轮对话回复选择方法、系统
CN106899440B (zh) 一种面向云计算的网络入侵检测方法及系统
CN112487168B (zh) 知识图谱的语义问答方法、装置、计算机设备及存储介质
CN110717034A (zh) 一种本体构建方法及装置
CN112365171B (zh) 基于知识图谱的风险预测方法、装置、设备及存储介质
CN109635083B (zh) 一种用于搜索ted演讲中话题式查询的文档检索方法
CN109165309B (zh) 负例训练样本采集方法、装置及模型训练方法、装置
CN106844788B (zh) 一种图书馆智能搜索排序方法及系统
CN112381227B (zh) 神经网络生成方法、装置、电子设备及存储介质
CN111966810B (zh) 一种用于问答系统的问答对排序方法
CN112115716A (zh) 一种基于多维词向量下文本匹配的服务发现方法、系统及设备
CN111564179B (zh) 一种基于三元组神经网络的物种生物学分类方法及系统
CN111160049B (zh) 文本翻译方法、装置、机器翻译系统和存储介质
CN112801271B (zh) 生成神经网络的方法、数据处理方法、智能行驶控制方法
CN106776782B (zh) 基于人工智能的语义相似度获取方法及装置
CN113239697B (zh) 实体识别模型训练方法、装置、计算机设备及存储介质
CN110413750B (zh) 根据用户问句召回标准问句的方法和装置
CN111325328A (zh) 神经网络的生成方法、数据处理方法及装置
CN116561338A (zh) 工业知识图谱生成方法、装置、设备及存储介质
CN112800752A (zh) 纠错方法、装置、设备以及存储介质
CN114911894A (zh) 信息检索方法及相关系统、存储介质
Dash Hill-climber based fuzzy-rough feature extraction with an application to cancer classification

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