1.本公开涉及人工智能技术领域,具体而言,涉及一种神经网络生成及目标检测的方法、装置、设备及存储介质。
背景技术:2.随着人工智能技术的飞速发展,利用人工智能技术构建的神经网络可以被广泛应用于各种应用场景中,例如,目标检测、图像分类等。
3.以目标检测为例,在实现目标检测之前,往往需要构建用于进行目标检测的神经网络。相关技术中可以通过模块化搜索方式实现神经网络的构建。考虑到神经网络模块化搜索需要巨量的计算资源,因而在神经网络架构模块化的自动搜索中,常常以循环神经网络(recurrent neural network,rnn)结构为基础,结合进化算法实现模块化搜索。
4.然而,由于进化算法采用随机变异的规则,这虽然使得整体的搜索空间更大,但是搜索到的神经网络的性能却时好时坏,具有一定的不确定性。
技术实现要素:5.本公开实施例至少提供一种神经网络生成及目标检测的方法、装置、设备及存储介质。
6.第一方面,本公开实施例提供了一种神经网络生成的方法,包括:
7.获取包括有至少两个候选神经网络的神经网络集,所述至少两个候选神经网络中的每个候选神经网络包括网络组成模块;
8.在确定需要对所述神经网络集中的候选神经网络进行变异的情况下,基于预训练的强化学习网络对所述候选神经网络包括的至少一个网络组成模块进行变异,得到变异神经网络;
9.基于变异神经网络对所述神经网络集进行更新,得到更新后的神经网络集;所述更新后的神经网络集包括的神经网络符合预设性能要求。
10.采用上述神经网络生成的方法,在获取到初始的神经网络集的情况下,可以基于预训练的强化学习网络对神经网络集中的候选神经网络进行变异,基于得到的变异神经网络可以对神经网络集进行更新,且更新后的神经网络集包括的神经网络符合预设性能要求。本公开通过强化学习网络进行变异,避免了随机变异所带来的搜索不确定问题,使得搜索过程中可以利用预训练的强化学习网络学习到的较好的变异关系,在快速达到搜索收敛的同时,还使得所构建的更新后的神经网络集的网络性能更佳。
11.在一种可能的实施方式中,所述基于预训练的强化学习网络对所述候选神经网络包括的至少一个网络组成模块进行变异,包括:
12.循环执行以下步骤,直至神经网络维护序列中的神经网络数量达到预设数量:
13.基于预训练的强化学习网络对所述候选神经网络包括的至少一个网络组成模块进行变异,得到变异神经网络;将所述变异神经网络添加到所述神经网络维护序列;
14.所述基于变异神经网络对所述神经网络集进行更新,包括:
15.在所述神经网络维护序列中的神经网络数量达到预设数量的情况下,基于所述神经网络维护序列中的变异神经网络对所述神经网络集进行更新。
16.这里,可以利用神经网络维护序列对神经网络集进行更新,这样,在进行神经网络更新的过程中,可以很好的利用神经网络维护序列中所维护的变异神经网络,使得所更新得到的神经网络集更具有多样性。
17.在一种可能的实施方式中,所述基于所述神经网络维护序列中的变异神经网络对所述神经网络集进行更新,包括:
18.对所述神经网络维护序列中的各个变异神经网络进行性能检测,确定所述各个变异神经网络的网络性能;
19.选取网络性能符合所述预设性能要求的目标变异神经网络;
20.基于选取出的目标变异神经网络对所述神经网络集进行更新。
21.这里,在进行神经网络集更新的过程中,可以先通过性能检测结果选取符合预设性能要求的目标变异神经网络,而后基于目标变异神经网络实现更新,这一定程度上使得所更新得到的神经网络集更有更佳的网络性能。
22.在一种可能的实施方式中,所述基于选取出的目标变异神经网络对所述神经网络集进行更新,包括:
23.按照网络性能由高到低的顺序对选取出的目标变异神经网络和所述神经网络集中的各个候选神经网络进行排名,得到排名结果;
24.基于所述排名结果符合预设名次的神经网络确定更新后的神经网络集。
25.在一种可能的实施方式中,所述选取网络性能符合所述预设性能要求的目标变异神经网络,包括:
26.基于所述神经网络维护序列中的各个变异神经网络的预测准确率、所需计算量、以及存留时长中的至少一项,选取网络性能符合所述预设性能要求的目标变异神经网络。
27.在一种可能的实施方式中,所述基于预训练的强化学习网络对所述候选神经网络包括的至少一个网络组成模块进行变异,得到变异神经网络,包括:
28.确定所述候选神经网络包括的每个网络组成模块对应的变异概率;
29.基于各个网络组成模块分别对应的变异概率从所述候选神经网络的网络组成模块中确定当前需要进行变异的至少一个网络组成模块;
30.针对确定出的每个网络组成模块,基于预训练的强化学习网络学习到的网络连接关系,确定变异后的网络组成模块;
31.基于确定出的各个变异后的网络组成模块,得到变异神经网络。
32.这里,在进行网络变异的过程中,可以是结合变异概率和强化学习网络学习到的网络连接关系实现的变异,使得得到的变异神经网络更具一定的指向性,且指向更好的网络连接关系,网络性能更佳。
33.在一种可能的实施方式中,在得到变异神经网络之后,所述方法还包括:
34.在确定所述变异神经网络的网络性能符合所述预设性能要求的情况下,基于所述变异神经网络对所述强化学习网络进行网络更新,得到所述强化学习网络的更新网络参数值;所述更新网络参数值指示更新后的网络连接关系。
35.在一种可能的实施方式中,所述方法还包括:
36.从所述神经网络集中随机选取一个候选神经网络,并确定需要对选取的候选神经网络进行变异;或,
37.根据预设顺序从所述神经网络集中选取一个候选神经网络,并确定需要对选取的候选神经网络进行变异。
38.第二方面,本公开实施例还提供了一种目标检测的方法,包括:
39.获取图像采集装置对目标检测区域进行拍摄得到的视频流;
40.利用基于第一方面及其各种实施方式任一项所述方法得到的更新后的神经网络集,对所述视频流进行目标检测,得到目标对象在所述视频流中的检测结果。
41.采用上述目标检测的方法,在获取到视频流的情况下,可以利用更新后的神经网络集对视频流进行目标检测。由于更新后的神经网络集的网络性能更佳,这提升了检测结果的准确度。
42.在一种可能的实施方式中,所述对所述视频流进行目标检测,包括:
43.从所述更新后的神经网络集中选取网络性能最优的目标神经网络;
44.将所述视频流输入到所述目标神经网络,得到目标对象在所述视频流中的检测结果。
45.第三方面,本公开实施例还提供了一种神经网络生成的装置,包括:
46.获取模块,用于获取包括有至少两个候选神经网络的神经网络集,所述至少两个候选神经网络中的每个候选神经网络包括网络组成模块;
47.变异模块,用于在确定需要对所述神经网络集中的候选神经网络进行变异的情况下,基于预训练的强化学习网络对所述候选神经网络包括的至少一个网络组成模块进行变异,得到变异神经网络;
48.生成模块,用于基于变异神经网络对所述神经网络集进行更新,得到更新后的神经网络集;所述更新后的神经网络集包括的神经网络符合预设性能要求。
49.第四方面,本公开实施例还提供了一种目标检测的装置,包括:
50.获取模块,用于获取图像采集装置对目标检测区域进行拍摄得到的视频流;
51.检测模块,用于利用基于第一方面及其各种实施方式任一项所述方法得到的更新后的神经网络集,对所述视频流进行目标检测,得到目标对象在所述视频流中的检测结果。
52.第五方面,本公开实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式任一所述的神经网络生成的方法的步骤或者如第二方面及其实施方式所述的目标检测的方法的步骤。
53.第六方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面及其各种实施方式任一所述的神经网络生成的方法的步骤或者如第二方面及其实施方式所述的目标检测的方法的步骤。
54.关于上述装置、电子设备、及计算机可读存储介质的效果描述参见上述方法的说明,这里不再赘述。
55.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
56.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
57.图1示出了本公开实施例所提供的一种神经网络生成的方法的流程图;
58.图2示出了本公开实施例所提供的一种神经网络生成的方法中,网络变异的具体示意图;
59.图3示出了本公开实施例所提供的一种神经网络生成的方法的应用示意图;
60.图4示出了本公开实施例所提供的一种目标检测的方法的流程图;
61.图5示出了本公开实施例所提供的一种神经网络生成的装置的示意图;
62.图6示出了本公开实施例所提供的一种目标检测的装置的示意图;
63.图7示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
64.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
65.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
66.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
67.经研究发现,相关技术中可以通过模块化搜索方式实现神经网络的构建。考虑到神经网络模块化搜索需要巨量的计算资源,因而在神经网络架构模块化的自动搜索中,常常以循环神经网络(recurrent neural network,rnn)结构为基础,结合进化算法实现模块化搜索。
68.然而,由于进化算法采用随机变异的规则,这虽然使得整体的搜索空间更大,但是搜索到的神经网络的性能却时好时坏,具有一定的不确定性。
69.除此之外,相关技术中还存在诸如强化学习的模块化搜索方法。如何将两个或两
个以上完全不同的算法结合起来,从而充分利用两者的优势,同时达到搜索效率和效果上限的提高就成为了一个难题。
70.现有的一些工作中已经有相关的尝试,但是结合后的超参复杂,且算法的有效性缺少大量可靠的实验数据验证。
71.基于上述研究,本公开提供了一种基于强化学习进行网络变异,进而实现快速网络搜索的神经网络生成的方法,进而可以提升后续进行目标检测的准确度。
72.为便于对本实施例进行理解,首先对本公开实施例所公开的一种神经网络生成的方法进行详细介绍,本公开实施例所提供的神经网络生成的方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端等。在一些可能的实现方式中,该神经网络生成的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
73.参见图1所示,为本公开实施例提供的神经网络生成的方法的流程图,方法包括步骤s101~s103,其中:
74.s101:获取包括有至少两个候选神经网络的神经网络集,至少两个候选神经网络中的每个候选神经网络包括网络组成模块;
75.s102:在确定需要对神经网络集中的候选神经网络进行变异的情况下,基于预训练的强化学习网络对候选神经网络包括的至少一个网络组成模块进行变异,得到变异神经网络;
76.s103:基于变异神经网络对神经网络集进行更新,得到更新后的神经网络集;更新后的神经网络集包括的神经网络符合预设性能要求。
77.为了便于理解本公开实施例提供的神经网络生成的方法,接下来首先对该方法的应用场景进行简单描述。本公开实施例中的神经网路生成的方法主要可以应用于任何需要进行神经网络进行预测的相关决策智能场景中,例如,可以应用于针对自动驾驶场景下的车辆检测,还可以应用于针对智能安防场景下的行人检测等,在此不做具体的限制。
78.本公开实施例中,预先可以获取包括有至少两个候选神经网络的神经网络集,继而通过预训练的强化学习网络学习到的网络连接关系进行神经网络的变异,最后基于变异神经网络对神经网络集进行更新,以得到符合预设性能要求的神经网络集。由于这里的变异神经网络是基于强化学习网络实现的变异,使得网络变异更具指向性,一定程度上可以提升得到符合性能要求的神经网络的收敛速度。
79.本公开实施例中,有关更新后的神经网络集包括的神经网络可以是基于性能检测确定的网络性能,例如,可以是预测准确度、所需计算量等性能指标确定的。
80.其中,上述变异过程可以是对神经网络集中的一个或多个候选神经网络的变异,且在每次变异之后,可以得到一个变异神经网络。这里可以每得到一个变异神经网络均进行一次神经网络集的更新,也可以每得到多个变异神经网络的情况下才进行一次神经网络集的更新。另外,有关神经网络集的更新,可以是一次或多次更新,最终所得到的更新后的神经网络集包括的神经网络符合预设性能要求。也即,通过至少一次网络变异以及至少一次神经网络集更新,构建了具备较高网络性能的神经网络集。
81.需要说明的是,这里更新后的神经网络集指的是符合预设性能要求的神经网络的
集合。有关预设性能要求可以是针对神经网络的网络性能设置的指标数据,例如,可以是针对预测准确率设置的指标,还可以是针对网络运算快慢设置的指标,例如,可以选取预测准确率更高、网络运算速度更快的神经网络构成更新后的神经网络集,整个神经网络集的网络性能更好。
82.本公开实施例中,可以是在确定需要进行变异的情况下实现的网络变异。有关实现变异的条件可以是在更新得到的神经网络集中存在不符合预设性能要求的神经网络,还可以是累积到一次更新的变异次数的相关条件,还可以是其它条件,这里不做具体的限制。
83.在实际应用中,可以从神经网络集中随机选取的方式,从候选神经网络集中选取一个候选神经网络,并确定要对其进行变异。也可以对候选神经网络集中的候选神经网络预先设置某一个顺序,例如对各候选神经网络进行编号,并根据编号对各个候选神经网络进行排序;然后通过顺序选取方式从候选神经网络中选取一个候选神经网络,确定要对其进行变异。除此之外,还可以通过其它方式确定需要变异的候选神经网络,本公开实施例对此不做具体的限制。
84.这里的网络变异可以是针对候选神经网络包括的多个网络组成模块中的至少一个网络组成模块的变异,有关具体的变异操作可以是基于预训练的强化学习网络实现的。例如,对于包括五个网络组成模块的候选神经网络而言,本公开实施例可以基于预训练的强化学习网络实现其中的第二个、第三个、以及第五个模块的变异。
85.其中,本公开实施例中的网络组成模块可以包括用于进行特征图提取的特征图提取单元,还可以包括用于进行任务处理的任务检测单元,例如用于进行目标检测的检测单元。
86.在具体应用中,上述特征图提取单元可以是基于卷积运算实现的,还可以是基于transformer架构构建的,还可以是基于多层感知机(multilayer perceptron,mlp)实现的,还可以是基于其它具有特征提取功能的相关单元实现的,在此不做具体的限制;上述任务检测单元可以是基于卷积运算实现的,还可以是基于多层注意力机制实现,还可以是基于其它具有任务检测功能的相关单元实现的,在此也不做具体的限制。
87.在实际应用中,各个网络组成模块可以对应于不同功能的网络层,这样,在进行有关网络组成模块的变异过程中,可以是有关网络功能的变异,还可以是对应网络参数值的调整等,还可以是其它网络变异操作,这里不做具体的限制。
88.为了更快的实现搜索收敛,本公开实施例提供的神经网络生成的方法可以基于神经网络维护序列实现的神经网络集的更新,具体可以通过如下步骤来实现:
89.步骤一、循环执行以下步骤,直至神经网络维护序列中的神经网络数量达到预设数量:基于预训练的强化学习网络对候选神经网络包括的至少一个网络组成模块进行变异,得到变异神经网络;将变异神经网络添加到神经网络维护序列;
90.步骤二、在神经网络维护序列中的神经网络数量达到预设数量的情况下,基于神经网络维护序列中的变异神经网络对神经网络集进行更新。
91.这里的神经网络维护序列用于维护各个变异神经网络,在神经网络维护序列中的神经网络数量达到预设数量的情况下,可以基于神经网络维护序列中的变异神经网络对神经网络集进行更新,具体可以通过如下步骤来实现:
92.步骤一、对神经网络维护序列中的各个变异神经网络进行性能检测,确定各个变
异神经网络的网络性能;
93.步骤二、选取网络性能符合预设性能要求的目标变异神经网络;
94.步骤三、基于选取出的目标变异神经网络对神经网络集进行更新。
95.其中,有关各个变异神经网络的网络性能可以是基于各个变异神经网络的预测准确率、所需计算量、以及存留时长中的至少一项,选取网络性能符合预设性能要求的目标变异神经网络。
96.针对预测准确率而言,预测准确率越高,一定程度上说明所对应的变异神经网络的性能更佳,这种情况下被选取为目标变异神经网络的可能性也越大;针对所需计算量而言,所需计算量越小,一定程度上说明网络越轻量,在进行后续应用部署的过程中也越便利,基于这种考虑,这里可以选取所需计算量比较小的变异神经网络作为目标变异神经网络;针对存留时长,存留时间越久的神经网络其鲁棒性一定程度上较弱,在这种情况下,可以淘汰存留时间长的,将最新存留的高性能网络确定为目标变异神经网络。
97.需要说明的是,本公开实施例不仅可以针对变异神经网络可以采用上述网络性能确定的方式,对于其它需要进行网络性能判定的神经网络同样可以利用上述方式,在此不做具体的赘述。
98.为了尽可能的筛选出网络性能更好的神经网络,本公开实施例在进行基于选取出的目标变异神经网络对神经网络集更新的过程中,可以首先按照网络性能由高到低的顺序对选取出的目标变异神经网络和神经网络集中的各个候选神经网络进行排名,得到排名结果,而后可以从排名结果中选取出符合预设名次的神经网络确定更新后的神经网络集,例如,可以选取网络性能排名在前100名的神经网络构建更新后的神经网络集。
99.考虑到网络变异对于本公开实施例提供的神经网络生成的方法的关键作用,接下来可以着重对网络变异的过程进行说明,具体可以通过如下步骤:
100.步骤一、确定候选神经网络包括的每个网络组成模块对应的变异概率;
101.步骤二、基于各个网络组成模块分别对应的变异概率从候选神经网络的网络组成模块中确定当前需要进行变异的至少一个网络组成模块;
102.步骤三、针对确定出的每个网络组成模块,基于预训练的强化学习网络学习到的网络连接关系,确定网络组成模块对应的变异后的网络组成模块;
103.步骤四、基于确定出的各个变异后的网络组成模块,得到变异神经网络。
104.这里,可以预先确定候选神经网络包括的每个网络组成模块对应的变异概率,还可以基于不同网络组成模块对应的不同网络功能,确定对应的变异概率,例如,对应于主干网络层的网络组成模块可以设置更高的变异概率,以便于通过更高的变异概率实现网络变异的多样化。
105.其中,变异概率较高的网络组成模块在此次网络变异过程中被确定为需要进行变异的可能性更大,反之,变异概率较低的网络组成模块在此次网络变异过程中被确定为需要进行变异的可能性更小。
106.本公开实施例在进行具体的变异操作之前,可以首先基于上述变异概率确定是否变异的网络组成模块,而后针对需要变异的模块,基于预训练的强化学习网络学习到的网络连接关系,确定网络组成模块对应的变异后的网络组成模块,此后,将变异后的网络组成模块以及其它未变异的网络组成模块按照原来的排列顺序进行组合,即可得到变异神经网
络。
107.为了便于理解上述基于网络连接关系实现网络变异的过程,接下来可以结合图2进一步进行说明。
108.如图2所示的候选神经网络,该候选神经网络包括5个网络组成模块。利用包括有5个(recurrent neural network,rnn)模块的强化学习网络学习到的网络连接关系,实现了对第2个、第4个以及第5个网络组成模块的变异,生成了变异神经网络。
109.其中,这里的强化学习网络预先学习了网络连接关系,例如,第1个网络组成模块与更新后的第2个网络组成模块之间的网络连接关系,这样,在确定需要对候选神经网络中的第2个网络组成模块进行变异的过程中,可以利用这一网络连接关系得到变异后的第2个网络组成模块。类似的,可以得到变异后的第4个以及第5个网络组成模块。变异后的第2个、第4个以及第5个网络组成模块以及未变异的第1个以及第3个网络组成模块进行组合,即可以得到变异神经网络。
110.其中,上述网络连接关系可以是基于预训练的强化学习网络学习得到的,例如,将一定数量的样本数据输入到强化学习网络中,通过回报奖励的大小来确定网络组成模块之间的网络连接关系的好坏情况,进而可以指导当前候选神经网络的变异过程。
111.为了便于进一步提升强化学习网络的网络性能,这里,在每变异得到一个变异神经网络或者一组变异神经网络的情况下,可以确定变异神经网络的网络性能是否符合预设性能要求,并能够在符合预设性能要求的情况下,基于变异神经网络对强化学习网络进行网络更新,得到强化学习网络的更新网络参数值;更新网络参数值指示有更新后的网络连接关系。通过网络连接关系的更新,可以进一步提升变异操作的指向性,使得所变异得到的变异神经网络的网络性能更佳。
112.这里仍以图2所示的强化学习网络为例,可以利用得到的变异神经网络对强化学习网络进行网络参数值的更新,以使得强化学习网络可以更多的学习到变异神经网络之间的网络连接关系,进一步提升强化学习网络的训练性能。
113.为了便于进一步理解本公开实施例提供的神经网络生成的方法,接下来可以通过图3所示的应用示意图进行示例说明。
114.如图3所示,可以从父类神经网络(如cell_a,cell_b,
…
,cell_sel)所构成的集合(对应原始的神经网络集)中随机选取一个父类序列(对应候选神经网络),对该父类序列(候选神经网络)中的每一个网络组成模块分别进行变异概率p的判定。如果发生变异则按照rnn神经网络所构建的强化学习网络确定变异后对应的网络组成模块,若无变异则和父类序列所对应的网络组成模块保持一致,从而得到变异神经网络(对应新的子类序列)。
115.这里,可以对新的子类序列进行简单的评价测试,在得到网络评价后更新rnn强化学习网络的参数值,并将子代网络模型添加到维护序列,每添加一个子代网络模型维护序列中的网络数量随之增一。
116.本公开实施例中,可以维护一个存在最大上限数量的神经网络维护序列(对应cell_1,cell_2,
…
,cell_max),当维护序列数量扩充至上限(即维护的变异神经网络的数量达到预设数量)时,即进行进化筛选。在经过一次或多次进化筛选后,即可以得到更新后的父类神经网络(对应更新后的神经网络集)。
117.在具体应用中,有关维护序列中的各个变异神经网络的淘汰策略主要包括两个部
分,首先可以对各个变异神经网络的预测准确率和所需计算量给予一个权重评价指标,淘汰掉表现差的变异神经网络。再对变异神经网络的存在代数进行排序,淘汰掉部分存留时间较长的神经网络,进行筛选后可以保留固定数量的新一代父类神经网络(对应)。
118.若确定需要对新一代父类神经网络进行变异,这时可以按照上述步骤再次进行网络变异以及神经网络集的更新,且有关维护序列可以是再次达到上限开始下一轮进化筛选,从而得到符合预设性能要求的更新后的神经网络集。可知,通过变异迭代操作,构建了更有优良特性的神经网络,这为后续进行目标检测等任务提供了很好的网络支撑。
119.基于上述神经网络生成的方法,本公开实施例还提供了一种目标检测的方法,如图4所示,具体包括如下步骤:
120.s401:获取图像采集装置对目标检测区域进行拍摄得到的视频流;
121.s402:利用基于神经网络生成的方法得到的更新后的神经网络集,对视频流进行目标检测,得到目标对象在视频流中的检测结果。
122.这里,在获取到视频流的情况下,可以从更新后的神经网络集中选取网络性能最优的目标神经网络,继而将获取的视频流包括的各个视频帧依次输入到目标神经网络,从而得到目标对象在视频流中的检测结果。
123.其中,有关视频流可以是部署在具体的目标检测场景下的图像采集装置(如摄像机、摄像头等)采集得到的,图像采集装置的拍摄范围可以囊括整个目标检测区域,例如,可以获取十字路口设置的摄像头所抓拍的路口视频流。
124.在具体应用中,上述目标对象可以是车辆,还可以是行人,还可以是其它与场景相关的检测对象。有关检测结果可以是包括目标对象所处位置、所属对象类型等在内的结果,例如,在确定各个视频帧中的目标对象所处位置的情况下,可以确定目标对象的行使轨迹。
125.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
126.基于同一发明构思,本公开实施例中还提供了与方法对应的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
127.参照图5所示,为本公开实施例提供的一种神经网络生成的装置的示意图,装置包括:获取模块501、变异模块502、生成模块503;其中,
128.获取模块501,用于获取包括有至少两个候选神经网络的神经网络集,至少两个候选神经网络中的每个候选神经网络包括网络组成模块;
129.变异模块502,用于在确定需要对神经网络集中的候选神经网络进行变异的情况下,基于预训练的强化学习网络对候选神经网络包括的至少一个网络组成模块进行变异,得到变异神经网络;
130.生成模块503,用于基于变异神经网络对神经网络集进行更新,得到更新后的神经网络集;更新后的神经网络集包括的神经网络符合预设性能要求。
131.采用上述神经网络生成的装置,在获取到初始的神经网络集的情况下,可以基于预训练的强化学习网络对神经网络集中的候选神经网络进行变异,基于得到的变异神经网络可以对神经网络集进行更新,且更新后的神经网络集包括的神经网络符合预设性能要
求。本公开通过强化学习网络进行变异,避免了随机变异所带来的搜索不确定问题,使得搜索过程中可以利用预训练的强化学习网络学习到的较好的变异关系,在快速达到搜索收敛的同时,还使得所构建的更新后的神经网络集的网络性能更佳。
132.在一种可能的实施方式中,生成模块503,用于按照如下步骤基于变异神经网络对神经网络集进行更新:
133.循环执行以下步骤,直至神经网络维护序列中的神经网络数量达到预设数量:基于预训练的强化学习网络对候选神经网络包括的至少一个网络组成模块进行变异,得到变异神经网络;将变异神经网络添加到神经网络维护序列;
134.在神经网络维护序列中的神经网络数量达到预设数量的情况下,基于神经网络维护序列中的变异神经网络对神经网络集进行更新。
135.在一种可能的实施方式中,生成模块503,用于按照如下步骤基于神经网络维护序列中的变异神经网络对神经网络集进行更新:
136.对神经网络维护序列中的各个变异神经网络进行性能检测,确定各个变异神经网络的网络性能;
137.选取网络性能符合预设性能要求的目标变异神经网络;
138.基于选取出的目标变异神经网络对神经网络集进行更新。
139.在一种可能的实施方式中,生成模块503,用于按照如下步骤基于选取出的目标变异神经网络对神经网络集进行更新:
140.按照网络性能由高到低的顺序对选取出的目标变异神经网络和神经网络集中的各个候选神经网络进行排名,得到排名结果;
141.基于排名结果符合预设名次的神经网络确定更新后的神经网络集。
142.在一种可能的实施方式中,生成模块503,用于按照如下步骤选取网络性能符合预设性能要求的目标变异神经网络:
143.基于神经网络维护序列中的各个变异神经网络的预测准确率、所需计算量、以及存留时长中的至少一项,选取网络性能符合预设性能要求的目标变异神经网络。
144.在一种可能的实施方式中,变异模块502,用于按照如下步骤基于预训练的强化学习网络对候选神经网络包括的至少一个网络组成模块进行变异,得到变异神经网络:
145.确定候选神经网络包括的每个网络组成模块对应的变异概率;
146.基于各个网络组成模块分别对应的变异概率从候选神经网络中确定当前需要进行变异的至少一个网络组成模块;
147.针对确定出的每个网络组成模块,基于预训练的强化学习网络学习到的网络连接关系,确定变异后的网络组成模块;
148.基于确定出的各个变异后的网络组成模块,得到变异神经网络。
149.在一种可能的实施方式中,变异模块502,还用于:
150.在得到变异神经网络之后,在确定变异神经网络的网络性能符合预设性能要求的情况下,基于变异神经网络对强化学习网络进行网络更新,得到强化学习网络的更新网络参数值;更新网络参数值指示有更新后的网络连接关系。
151.在一种可能的实施方式中,变异模块502,还用于:
152.从神经网络集中随机选取一个候选神经网络,并确定需要对选取的候选神经网络
进行变异;或,
153.根据预设顺序从神经网络集中选取一个候选神经网络,并确定需要对选取的候选神经网络进行变异。
154.参照图6所示,为本公开实施例提供的一种神经网络生成的装置的示意图,装置包括:获取模块601、检测模块602;其中,
155.获取模块601,用于获取图像采集装置对目标检测区域进行拍摄得到的视频流;
156.检测模块602,用于利用基于神经网络生成的方法得到的更新后的神经网络集,对视频流进行目标检测,得到目标对象在视频流中的检测结果。
157.在一种实施方式中,检测模块602,用于按照如下步骤对视频流进行目标检测:
158.从更新后的神经网络集中选取网络性能最优的目标神经网络;
159.将视频流输入到目标神经网络,得到目标对象在视频流中的检测结果。
160.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
161.本公开实施例还提供了一种电子设备,如图7所示,为本公开实施例提供的电子设备结构示意图,包括:处理器701、存储器702、和总线703。存储器702存储有处理器701可执行的机器可读指令(比如,图5中的装置中获取模块501、变异模块502、生成模块503对应的执行指令等;再如,图6中的装置中获取模块601、检测模块602对应的执行指令等),当电子设备运行时,处理器701与存储器702之间通过总线703通信,机器可读指令被处理器701执行时执行如图1所示的神经网络生成的方法的步骤或者如图4所示的目标检测的方法的步骤。
162.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
163.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
164.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
165.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
166.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
167.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
168.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
169.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。