掌桥专利:专业的专利平台
掌桥专利
首页

目标检测模型的神经网络搜索方法、装置和电子设备

文献发布时间:2023-06-19 16:09:34



技术领域

本公开涉及人工智能技术领域,具体涉及智能搜索、深度学习、图像处理和计算机视觉技术领域,尤其涉及一种目标检测模型的神经网络搜索方法、装置和电子设备及存储介质。

背景技术

深度学习是机器学习的一个分支,目的在于建立一个模拟人脑进行分析学习的神经网络,通过模仿人脑的工作机制来进行数据处理,例如图像通常应用在视频识别、图像识别或者声音识别领域。

然而在计算资源的限制下,人为设计检测模型只能依据以往不断的实验与经验,无法对无尽的检测模型进行实验。目标检测模型依赖于骨干检测模型来学习图像特征,因此骨干检测模型的效果对目标检测模型的影响很大。然而由于学习任务不同,很难说最优的骨干检测模型在检测任务里也能带来最优的效果。

发明内容

本公开提供了一种用于目标检测模型的神经网络搜索方法、装置、电子设备及存储介质。

根据本公开的一方面,提供了一种目标检测模型的神经网络搜索方法,包括:

获取搜索空间,搜索空间包括多个网络模块,多个网络模块用于组合成骨干网络、检测颈部网络和检测头部网络;

对搜索空间中的网络模块进行多次神经网络结构搜索,得到多个候选检测模型,其中,候选检测模型包括候选骨干网络、候选检测颈部网络和候选检测头部网络;

针对任一候选检测模型,基于第一训练样本图像对候选检测模型进行训练,以对候选检测模型进行模型调整,得到训练后候选检测模型;

选取符合设定条件的训练后候选检测模型作为目标检测模型。

根据本公开的另一方面,提供了一种目标检测模型的神经网络搜索装置,包括:

获取模块,用于获取搜索空间,搜索空间包括多个网络模块,多个网络模块用于组合成骨干网络、检测颈部网络和检测头部网络;

搜索模块,用于对搜索空间中的网络模块进行多次神经网络结构搜索,得到多个候选检测模型,其中,候选检测模型包括候选骨干网络、候选检测颈部网络和候选检测头部网络;

训练模块,用于针对任一候选检测模型,基于第一训练样本图像对候选检测模型进行训练,以对候选检测模型进行模型调整,得到训练后候选检测模型;

确定模块,用于选取符合设定条件的训练后候选检测模型作为目标检测模型。

根据本公开的另一方面,提供了一种电子设备,包括:

至少一个处理器;以及

与至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述一方面实施例的目标检测模型的神经网络搜索方法。

根据本公开另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其上存储有计算机程序,计算机指令用于使计算机执行上述一方面实施例的目标检测模型的神经网络搜索方法。

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述一方面实施例的目标检测模型的神经网络搜索方法。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1为本公开实施例提供的一种目标检测模型的神经网络搜索方法的流程示意图;

图2为本公开实施例提供的一种目标检测模型的神经网络搜索方法的搜索空间的结构示意图;

图3为本公开实施例提供的另一种目标检测模型的神经网络搜索方法的流程示意图;

图4为本公开实施例提供的另一种目标检测模型的神经网络搜索方法的流程示意图;

图5为本公开实施例提供的另一种目标检测模型的神经网络搜索方法的流程示意图;

图6为本公开实施例提供的另一种目标检测模型的神经网络搜索方法的流程示意图;

图7为本公开实施例提供的一种目标检测模型的神经网络搜索方法的采样样本的示意图;

图8为本公开实施例提供的一种目标检测模型的神经网络搜索装置的结构示意图;

图9为根据本公开实施例的目标检测模型的神经网络搜索方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

下面参考附图描述本公开实施例的目标检测模型的神经网络搜索方法、装置和电子设备。

人工智能是研究使用计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术领域也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术包括计算机视觉技术、语音识别技术、自然语言处理技术以及深度学习、大数据处理技术、知识图谱技术等几大方向。

深度学习是机器学习领域中一个新的研究方向。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。

图像处理技术是用计算机对图像信息进行处理的技术。主要包括图像数字化、图像增强和复原、图像数据编码、图像分割和图像识别等。处理图像最基本的方法是点处理方法,由于该方法处理的对象是像素,故此得名。点处理方法简单而有效,主要用于图像的亮度调整、图像对比度的调整,以及图像亮度的反置处理等。

计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。

智能搜索是结合了人工智能技术的新一代搜索引擎。他除了能提供传统的快速检索、相关度排序等功能,还能提供用户角色登记、用户兴趣自动识别、内容的语义理解、智能信息化过滤和推送等功能。

图1为本公开实施例提供的一种目标检测模型的神经网络搜索方法的流程示意图。

S101,获取搜索空间,搜索空间包括多个网络模块,多个网络模块用于组合成骨干网络、检测颈部网络和检测头部网络。

搜索空间包括多层神经网络,各层网络存在对应的搜索神经网络的网络模块集合,网络模块集合包括由多个神经元组成的基本网络模块(block)。搜索空间的设计在自然检测模型检索(Neural Architecture Search,NAS)中至关重要。

基于神经网络结构都包含网络模块(block)数和通道(channel)数这一点,本公开实施例提出了一种搜索空间,这种搜索空间针对检测模型的block和channel进行不同组合,以构造不同的检测模型,也就是说在模型深度和模型宽度上进行任意组合,得到不同深度和宽度的检测模型。本公开方案中提出的搜索空间可以实现自动搜索来设计检测模型,使得实用性更强。

搜索空间中可包含多个block,需要说明的是,block可以组成检测超网络。在本公开实施例中,block是组成检测骨干网络、检测颈部网络和检测头部网络的基础网络单元。每个block为多个卷积函数组成的模块,可通过不同的组合实现特定的功能。

对于检测模型来说,骨干网络、检测颈部网络和检测头部网络的功能各不相同。

在本公开实施例中,骨干网络是目标检测任务的基本特征提取器,举例来说,骨干网络可用于提取输入数据中的图像数据或者声音数据等。不同场景下需要的骨干网络的结构和功能可为不同,对于精度与效率的不同要求,人们可以选择更深且连接密集的主干网络,如ResNet、ResNeXt或者AmoebaNet等,或轻量级主干网络,如MobileNet、ShuffleNet、SqueezeNet、Xception或者MobileNetV2等。检测颈部网络和检测头部网络用于对骨干网络提取的数据传输以及处理。

需要说明的是,骨干网络可以控制block数和输出到检测颈部的channel数,颈部的输出进一步控制检测头部的channel数。

S102,对搜索空间中的网络模块进行多次神经网络结构搜索,得到多个候选检测模型,其中,候选检测模型包括候选骨干网络、候选检测颈部网络和候选检测头部网络。

对于检测网络来说,骨干网络、检测颈部网络和检测头部网络部分贡献的功能不同。不同的骨干网络、检测颈部网络和检测头部网络设计拼凑在一起成为一个检测网络,其三部分所占比重应该根据具体情况来适当修改才能使检测网络实现最优性能。

而本公开实施例中提出的搜索空间,是直接搜索整个检测模型,而非将骨干网络、检测颈部网络和检测头部网络进行分别解耦,这种搜索出的检索模型具有更高的一致性,流程更加简单。

在本公开实施例中,可通过提前设定好最大block数和最大channel数,采用NAS技术在搜空间中构建多个候选检测模型,需要说明的是,每个候选检测模型的block数和channel数为随机生成的,可为不同,生成的每个候选检测模型的block数小于设定好的最大block数,以及每个候选检测模型的channel数小于设定好的最大channel数。NAS可通过一个激活函数在搜索空间中得到一个候选检测模型,举例来说,这个激活函数可为多种,此处不作任何限定。

在本公开实施例中,在一次多次神经网络结构搜索中,每一次计算网络前向输出时,每个block可以选择一条路径,一条路径代表一个候选检测模型,即对应一个检测超网络的子网络。举例来说,如图2所示,block1被选择了,而block2被跳过,blocki被选中了,此时,block1和blocki便组成了一个子网络。需要说明的是,每一个block被选择和被跳过都是随机的。

S103,针对任一候选检测模型,基于第一训练样本图像对候选检测模型进行训练,以对候选检测模型进行模型调整,得到训练后候选检测模型。

在获取到多个候选检测模型后,可将第一训练样本图像输入至任一候选检测模型中,并根据候选检测模型输出的结果对该候选检测模型进行模型调整,以对候选检测模型进行初步优化。

可选地,可基于候选检测模型确定损失函数,然后基于输出结果和第一训练样本图像的真实结果确定损失值,然后基于损失值对候选检测模型进行调整,直至达到损失值小于损失阈值,训练结束,输出训练后候选检测模型。需要说明的是,损失阈值可为提前设定好的,并可根据实际的训练需要进行设定,此处不作任何限定。需要说明的是,后候选检测模型可为多个,每个后候选检测模型的损失函数可为相同,也可为不同,具体可根据实际情况而定。

可选地,还可提前设定好训练时间或者训练次数,当训练达到训练时间或者训练次数时,结束训练,输出训练后候选检测模型。需要说明的是,训练时间或者训练次数可为提前设定好的,并可根据实际的训练需要进行设定,此处不作任何限定。

S104,选取符合设定条件的训练后候选检测模型作为目标检测模型。

在本公开实施例中,设定条件可为多种。

可选地,在获取到训练后候选检测模型后,可对训练后候选检测模型进行精度分析,当训练后候选检测模型的精度达到设定精度,则认为训练后候选检测模型符合设定条件,认定为目标检测模型。例如,在后候选检测模型完成训练后,进入模型筛选阶段,既对后候选检测模型中任意组合的子网络的精度进行确认。

可选地,还可根据训练后候选检测模型的损失值进行判定,当训练后候选检测模型的损失值小于损失阈值时,则可认定训练后候选检测模型作为目标检测模型。

在本公开实施例中,首先获取搜索空间,搜索空间包括多个网络模块,多个网络模块用于组合成骨干网络、检测颈部网络和检测头部网络,然后对搜索空间中的网络模块进行多次神经网络结构搜索,得到多个候选检测模型,其中,候选检测模型包括候选骨干网络、候选检测颈部网络和候选检测头部网络,而后针对任一候选检测模型,基于第一训练样本图像对候选检测模型进行训练,以对候选检测模型进行模型调整,得到训练后候选检测模型,最后选取符合设定条件的训练后候选检测模型作为目标检测模型。由此,直接搜索获取目标检测模型,相较于现有技术,无需单独加载骨干网络,可以降低目标检测模型生成的成本,节约训练时间,增强生成的目标检测模型的一致性。

上述实施例中,选取符合设定条件的训练后候选检测模型作为目标检测模型,还可通过图3进一步解释,该方法包括:

S301,从多个训练后候选检测模型中,按照进化算法选取待验证的训练后候选检测模型。

在本公开实施例中,在获取到多训练后候选检测模型后,可按照进化算法。既随机选取一部分子网络进行验证,得到精度最高的K个子网络,根据这K个子网络衍生出其他子网络,重复上述步骤,直至历遍多个训练后候选检测模型中,如果K个子网络保持不变,输出选取待验证的训练后候选检测模型。需要说明的是,K为正整数,可根据实际需要进行调整,此处不作任何限定。

S302,基于验证样本图像对待验证的训练后候选检测模型进行精度验证,获取待验证的训练后候选检测模型的模型精度。

在本公开实施例中,精度验证可包括以下步骤:在候选检测模型完成训练后,进入搜索阶段,既对后候选检测模型中任意组合的子网络的精度进行确认,然后将后候选检测模型中子网络的精度进行汇总,以确定训练后候选检测模型的模型精度。

S303,选取模型性能参数和模型精度满足条件的待验证的训练后候选检测模型,作为目标检测模型。

需要说明的是,模型性能参数可包括多种,举例来说,可包括模型算力(floatingpoint operations per second,FLOPS)、错误率(Error Rate)、查全率(Recall)等。

在本公开实施例中,可基于模型算力和模型精度来确定待验证的训练后候选检测模型。既,当模型算力大于预设算力同时模型精度大于预设精度时,则可认为训练后候选检测模型满足条件,可作为目标检测模型。需要说明的是,预设算力和预设精度可为提前设定好的,并可根据实际需要进行设定。

需要说明的是,最终输出的目标检测模型可为一个,也可为多个,也可为输出为0,既没有符合条件的候选检测模型,具体需要根据实际情况而定。

在本公开实施例中,首先从多个训练后候选检测模型中,按照进化算法选取待验证的训练后候选检测模型,然后基于验证样本图像对待验证的训练后候选检测模型进行精度验证,获取待验证的训练后候选检测模型的模型精度,最后选取模型性能参数和模型精度满足条件的待验证的训练后候选检测模型,作为目标检测模型。由此,基于预设的精度和模型性能参数对训练后候选检测模型进行进一步筛选,确定目标检测模型,可以提升目标检测模型的精度和算力。

图4为本公开实施例提供的另一种目标检测模型的神经网络搜索方法的流程示意图,如图所示,该方法包括:

S401,针对第i次神经网络结构搜索,确定前面i-1次在搜索空间内已搜索过的网络模块,其中,i为大于1的正整数,且不大于设定的总搜索次数。

在本公开实施例中,在搜索空间中进行搜索获取候选检测模型之前,需要先设定最大搜索次数,以此,可以防止随机获取的候选检测模型超过设定的模型的标准而无法使用,无法进行训练。

需要说明的是,最大搜索次数可根据实际设计需求进行更改,此处不作任何限定。

可选地,在本公开实施例中,在下一次多次神经网络结构搜索时,上一次已经使用过的block不会再次被选择,既每个候选检测模型的block各不相同。举例来说,搜索空间中包含block1、block2、block3……block i……block N等N个网络模块,采用NAS第一次搜索得到的候选检测模型包括block1和block2,第二次搜索需要在block3……block i……block N等N-2个网络模块中确定下一个候选检测模型。

S402,基于已搜索过的网络模块,确定搜索空间中剩余的网络模块,并在剩余的网络模块中进行搜索。

实现中在较大的搜索空间中,采样到同一个检测模型的概率几乎为0。举例来说,某检测模型包括10个网络模块,既搜索数量为10,每个模块有是否结束或者与其他九个网络模块组成检测模型的可能性,即共10种选择,那么检测模型的排列组合情况即为10的10次方。因此可以认为,在一个巨大的检测模型池中,重复选中同一个检测模型的几率为0。搜索空间的采样采用不放回采样的方式即可保证搜索点采样的公平性。

在本公开实施例中,首先针对第i次神经网络结构搜索,确定前面i-1次在搜索空间内已搜索过的网络模块,其中,i为大于1的正整数,且不大于设定的总搜索次数,然后基于已搜索过的网络模块,确定搜索空间中剩余的网络模块,并在剩余的网络模块中进行搜索。由此,通过采用不放回采样的方式,可以保证搜索点采样的公平性,为生成更加准确的后候选检测模型提供基础。

上述实施例中,在搜索空间中进行神经网络结构搜索,得到候选检测模型的过程,还可通过图5进一步解释,该方法包括:

S501,对搜索空间当前可搜索的网络模块中进行搜索,获取用于构成候选检测模型的第一网络模块。

获取第一网络模块的过程为随机的,在选取到设定数量的第一网络模块后,则停止搜索。

需要说明的是,每个第一网络模块不会被重复选取,因此每次搜索需要将前面搜索获取的网络模块从搜索空间去除,剩余的网络模块作为当前可搜索的网络模块。举例来说,搜索空间中包含block1、block2、block3……block i……block N等N个网络模块,当第一次搜索时,可搜索的网络模块为整个搜索空间,如果第一搜索得到的候选检测模型包括block1和block2,第二次搜索的可搜索的网络模块为block3……block i……block N等N-2个网络模块。

S502,将可搜索的网络模块中剩余的第二网络模块通过设定卷积层进行替代。

在本公开实施例中,第二网络模块为搜索过程中被跳过的网络模块。如图2所示,block1被选择了,而block2被跳过,blocki被选中了,则block1和blocki为第一网络模块,block2为第二网络模块。

需要说明的是,以直接跳过方式的搜索搜索空间中的模块,会引起检测模型的不稳定。这种不稳定体现在检测模型精度和实际重训精度的非一致性。这种会大大影响检测模型的准确性。

因此,在本公开实施例中,当选择跳过第二网络模块时,可通过使用一个1×1的卷积层来替代直接跳过的这个模块,可以解决上述问题。从而增加了检测模型的稳定性

S503,基于第一网络模块和第二网络模块对应的设定卷积层,生成候选检测模型。

在本公开实施例中,首先对搜索空间当前可搜索的网络模块中进行搜索,获取用于构成候选检测模型的第一网络模块,然后将可搜索的网络模块中剩余的第二网络模块通过设定卷积层进行替代,最后基于第一网络模块和第二网络模块对应的设定卷积层,生成候选检测模型。由此,通过设置卷积层,可以增加候选检测模型的稳定性和精度,提升模型训练的效果。

在本公开实施例中,网络模块包括多个通道,多个通道共享最大通道数的权重,还可通过图6进一步解释,该方法包括:

S601,在神经网络结构搜索过程中为第一网络模块随机选取通道。

在本公开实施例中,第一网络模块的通道为随机选择的,并不固定,举例来说,第一网络模块的通道最小为64个,最大为128个,则可从64-128之间随机选取第一网络模块的通道数。

S602,在训练时选取通道共享最大通道数的权重进行训练。

需要说明的是,被选择的block中的卷积操作的通道数可以有不同选择,但没有不同路径的概念。

因此当选取的通道数小于最大通道数,从最大通道数的权重中切分出随机选取通道对应的权重,对随机选取通道对应的权重进行梯度更新。举例来说,第一网络模块的通道最小为64个,最大为128个,当选择64个通道时,仍采用共享最大通道数的权重,既采用128个通道数的权重对检测模型进行训练,在对检测模型训练结束后,对选择的64个通道进行梯度更新,而未被选择的剩余的64个通道则保持不变,由此可以保证训练的准确性。

在本公开实施例中,还需要基于第二训练样本图像对目标检测模型进行重新训练,由此可对目标检测模型进行进一步地优化,使目标检测模型更加准确。还需要删除目标检测模型中设定卷积层,基于第二训练样本图像对删除设定卷积层的目标检测模型进行重新训练。由此,可以生成完整的目标检测模型。

如图7所示,C3为最大的通道数,C2包括在C3内,C1包括在C2内,则当选择C1或者C2作为通道数进行训练时,权重值为C3的权重值。

在确定目标检测模型后,还可基于第二训练样本图像对目标检测模型进行重新训练,以获取最终的目标检测模型。需要说明的是,第二训练样本图像和第一训练样本图像可为相同,也可为不同,此处不作任何限定。

可选地,可基于目标检测模型确定损失函数,然后将第二训练样本图像输入至目标检测模型中,基于输出结果和第二训练样本图像的真实结果确定损失值,然后基于损失值对候选检测模型进行调整,直至达到损失值小于损失阈值,训练结束,输出训练后候选检测模型。需要说明的是,目标检测模型训练的损失阈值和损失函数与候选检测模型训练时的损失阈值和损失函数可为相同,也可为不同,具体需要进行设定,此处不作任何限定。

可选地,还可提前设定好训练时间或者训练次数,当训练达到训练时间或者训练次数时,结束训练,输出训练后的目标检测模型。需要说明的是,目标检测模型训练时的训练时间或者训练次数与候选检测模型训练时的训练时间或者训练次数可为相同,也可为不同,具体需要根据实际需要进行设定,此处不作任何限定。

在本公开实施例中,神经网络结构搜索过程中为第一网络模块随机选取通道,然后在训练时选取通道共享最大通道数的权重进行训练。由此,通过多个通道共享最大通道数的权重,可以增加检测模型训练的效果,提升检测模型训练的准确性。

与上述几种实施例提供的目标检测模型的神经网络搜索方法相对应,本公开的一个实施例还提供了一种目标检测模型的神经网络搜索装置,由于本公开实施例提供的目标检测模型的神经网络搜索装置与上述几种实施例提供的目标检测模型的神经网络搜索方法相对应,因此上述目标检测模型的神经网络搜索方法的实施方式也适用于本公开实施例提供的目标检测模型的神经网络搜索装置,在下述实施例中不再详细描述。

图8为本公开实施例提供的一种目标检测模型的神经网络搜索装置的结构示意图。

如图8所示,该目标检测模型的神经网络搜索装置800,可包括:获取模块801、搜索模块802、训练模块803和确定模块804。

其中,获取模块801,用于获取搜索空间,搜索空间包括多个网络模块,多个网络模块用于组合成骨干网络、检测颈部网络和检测头部网络。

搜索模块802,用于对搜索空间中的网络模块进行多次神经网络结构搜索,得到多个候选检测模型,其中,候选检测模型包括候选骨干网络、候选检测颈部网络和候选检测头部网络。

训练模块803,用于针对任一候选检测模型,基于第一训练样本图像对候选检测模型进行训练,以对候选检测模型进行模型调整,得到训练后候选检测模型。

确定模块804,用于选取符合设定条件的训练后候选检测模型作为目标检测模型。

在本公开实施例中,确定模块804,还用于:从多个训练后候选检测模型中,按照进化算法选取待验证的训练后候选检测模型;基于验证样本图像对待验证的训练后候选检测模型进行精度验证,获取待验证的训练后候选检测模型的模型精度;选取模型性能参数和检测模型精度满足条件的待验证的训练后候选检测模型,作为目标检测模型。

在本公开实施例中,确定模块804,还用于:基于第二训练样本图像对目标检测模型进行重新训练,以获取最终的目标检测模型。

在本公开实施例中,目标检测模型的神经网络搜索装置800,还用于:针对第i次神经网络结构搜索,确定前面i-1次在搜索空间内已搜索过的网络模块,其中,i为大于1的正整数,且不大于设定的总搜索次数;基于已搜索过的网络模块,确定搜索空间中剩余的网络模块,并在剩余的网络模块中进行搜索。

在本公开实施例中,搜索模块802,还用于:对搜索空间当前可搜索的网络模块中进行搜索,获取用于构成候选检测模型的第一网络模块;将可搜索的网络模块中剩余的第二网络模块通过设定卷积层进行替代;基于第一网络模块和第二网络模块对应的设定卷积层,生成候选检测模型。

在本公开实施例中,确定模块804,还用于:删除目标检测模型中设定卷积层;基于第二训练样本图像对删除设定卷积层的目标检测模型进行重新训练。

在本公开实施例中,确定模块804,还用于:在神经网络结构搜索过程中为第一网络模块随机选取通道;在训练时选取通道共享最大通道数的权重进行训练。

在本公开实施例中,训练模块803,还用于:响应于选取的通道数小于最大通道数,从最大通道数的权重中切分出随机选取通道对应的权重;对随机选取通道对应的权重进行梯度更新。

由此,通过目标检测模型的神经网络搜索装置,直接搜索获取目标检测模型,相较于现有技术,无需单独加载骨干网络,可以降低目标检测模型生成的成本,节约训练时间,增强神经网络模型的一致性。

本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元906载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。

设备900中的多个部件连接至I/O接口905,包括:输入单元906如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习检测模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如目标检测模型的神经网络搜索方法。例如,在一些实施例中,目标检测模型的神经网络搜索方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元906些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的目标检测模型的神经网络搜索方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行目标检测模型的神经网络搜索方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术分类

06120114724371