CN111325338B - 神经网络结构评价模型构建和神经网络结构搜索方法 - Google Patents

神经网络结构评价模型构建和神经网络结构搜索方法 Download PDF

Info

Publication number
CN111325338B
CN111325338B CN202010088856.4A CN202010088856A CN111325338B CN 111325338 B CN111325338 B CN 111325338B CN 202010088856 A CN202010088856 A CN 202010088856A CN 111325338 B CN111325338 B CN 111325338B
Authority
CN
China
Prior art keywords
neural network
network structure
target
evaluation
search
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
CN202010088856.4A
Other languages
English (en)
Other versions
CN111325338A (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.)
DMAI Guangzhou Co Ltd
Original Assignee
DMAI Guangzhou 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 DMAI Guangzhou Co Ltd filed Critical DMAI Guangzhou Co Ltd
Priority to CN202010088856.4A priority Critical patent/CN111325338B/zh
Publication of CN111325338A publication Critical patent/CN111325338A/zh
Application granted granted Critical
Publication of CN111325338B publication Critical patent/CN111325338B/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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural 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/045Combinations of networks

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了神经网络结构评价模型构建和神经网络结构搜索方法,其中所述神经网络结构评价模型构建方法,包括:获取神经网络结构参数;根据所述神经网络结构参数,构建目标搜索结构集,所述目标搜索结构集由多个神经网络结构组成;获取神经网络结构的多个评价指标;基于所述多个评价指标以及所述目标搜索结构集,对机器学习模型进行迭代训练,直至所述机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型。通过训练得到的包含多个评价器的神经网络结构评价模型可以高效的对任一待评价神经网络结构进行全局评价,提高了获取满足使用要求的神经网络结构的效率。

Description

神经网络结构评价模型构建和神经网络结构搜索方法
技术领域
本发明涉及神经网络技术领域,具体涉及神经网络结构评价模型构建和神经网络结构搜索方法。
背景技术
随着人工智能技术的兴起,用于人脸识别、图像标注等领域的神经网络结构越来越多。为了能获取到高效的神经网络结构,现有技术中基于进化算法来搜索目标结构模型,但该方法需要对搜索过程中每一个结构模型训练到收敛才能对该结构模型进行评估,导致整个搜索过程计算量大、耗时久;或者是基于贪心算法,通过固定其他层的结构单元逐层搜索当前最优的结构单元以得到目标结构模型,但该方法只能得到局部层最优的神经网络结构。故亟待提供一种效率高、效果好的神经网络结构搜索方法。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中神经网络结构获取方法效率低且获取的神经网络结构效果差的缺陷,从而提供神经网络结构评价模型构建和神经网络结构搜索方法。
根据第一方面,本发明实施例公开了一种神经网络结构评价模型构建方法,包括:获取神经网络结构参数;根据所述神经网络结构参数,构建目标搜索结构集,所述目标搜索结构集由多个神经网络结构组成;获取神经网络结构的多个评价指标;基于所述多个评价指标以及所述目标搜索结构集,对机器学习模型进行迭代训练,直至所述机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型
结合第一方面,在第一方面第一实施方式中,所述神经网络结构参数包括:神经网络结构的中每层网络的输出通道数、步长数和操作类别中的任意一种或多种。
结合第一方面,在第一方面第二实施方式中,所述基于所述多个评价指标以及所述目标搜索结构集,对机器学习模型进行迭代训练,直至所述机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型,包括:在利用所述目标搜索结构集中的任一神经网络结构对所述机器学习模型进行迭代训练时,确定之前迭代训练过程中是否包含与当前迭代训练相同的目标操作;当所述之前迭代训练过程中包含与当前迭代训练相同的目标操作,将所述之前迭代训练中所述目标操作的输出参数作为当前迭代训练中所述目标操作的输入参数。
结合第一方面,在第一方面第三实施方式中,所述评价指标包括神经网络结构的准确率、参数量和运行时间中的任意多种。
根据第二方面,本发明实施例公开了一种神经网络结构搜索方法,包括:获取搜索参数,所述搜索参数用于表征用户需要的神经网络结构的结构参数;根据所述搜索参数,在目标搜索结构集中获取多个神经网络结构;基于第一方面或第一方面任一实施方式中所述的神经网络结构评价模型构建方法得到的神经网络结构评价模型,对所述多个神经网络结构进行评价;根据评价结果,确定目标神经网络结构。
结合第二方面,在第二方面第一实施方式中,所述对所述多个神经网络结构进行评价,包括:确定在目标搜索结构集中搜索到的神经网络结构的数量;根据所述神经网络结构的数量,在所述神经网络结构评价模型中选取目标评价器;根据所述目标评价器,对所述多个神经网络结构进行评价。
结合第二方面第一实施方式,在第二方面第二实施方式中,所述根据所述目标评价器,对所述多个神经网络结构进行评价,包括:当所述目标评价器包括多个时,根据所述目标评价器的层级,按照目标顺序依次对所述多个神经网络结构进行评价。
根据第三方面,本发明实施例公开了一种神经网络结构评价模型构建装置,包括:结构参数获取模块,用于获取神经网络结构参数;构建模块,用于根据所述神经网络结构参数,构建目标搜索结构集,所述目标搜索结构集由多个神经网络结构组成;评价指标获取模块,用于获取神经网络结构的多个评价指标;神经网络结构评价模型获取模块,用于基于所述多个评价指标以及所述目标搜索结构集,对机器学习模型进行迭代训练,直至所述机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型。
根据第四方面,本发明实施例公开了一种神经网络结构搜索装置,包括:搜索参数获取模块,用于获取搜索参数,所述搜索参数用于表征用户需要的神经网络结构的结构参数;神经网络结构获取模块,用于根据所述搜索参数,在目标搜索结构集中获取多个神经网络结构;评价模块,用于基于第一方面或第一方面任一实施方式中所述的神经网络结构评价模型构建方法得到的神经网络结构评价模型,对所述多个神经网络结构进行评价;确定模块,用于根据评价结果,确定目标神经网络结构。
根据第五方面,本发明实施例公开了一种电子设备,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面及第一方面任一实施方式中所述的神经网络结构评价模型构建方法的步骤,或者是第二方面或第二方面任一实施方式中所述的神经网络结构搜索方法的步骤。
根据第六方面,本发明实施例公开了一种可读计算机存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述第一方面及第一方面任一实施方式中所述的神经网络结构评价模型构建方法的步骤,或者是第二方面或第二方面任一实施方式中所述的神经网络结构搜索方法的步骤。
本发明实施例提供的技术方案具有如下优点:
本发明实施例提供的神经网络结构评价模型构建方法,通过获取到的神经网络结构参数,构建由多个神经网络结构组成的目标搜索结构集,获取神经网络结构的多个评价指标,基于多个评价指标以及目标搜索结构集,对机器学习模型进行迭代训练,直至机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型。通过训练得到的包含多个评价器的神经网络结构评价模型可以高效的对任一待评价神经网络结构进行全局评价,提高了获取满足使用要求的神经网络结构的效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种神经网络结构评价模型构建方法的流程图;
图2为本发明实施例提供的一种神经网络结构搜索方法的流程图;
图3为本发明实施例提供的一种神经网络结构搜索方法对应的应用场景示意图;
图4为本发明实施例提供的一种神经网络结构搜索方法对应的应用场景示意图;
图5为本发明实施例提供的一种神经网络结构评价模型构建装置的结构示意图;
图6为本发明实施例提供的一种神经网络结构搜索装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本申请实施例提供一种神经网络结构评价模型构建方法,可应用于终端或服务器等电子设备中,本申请实施例以终端为例。如图1所示,该方法包括:
步骤101,获取神经网络结构参数。
示例性地,该神经网络结构参数的获取方式可以根据用户对模型的搜索偏好确定,比如该神经网络结构参数可以包括:神经网络结构的中每层网络的输出通道数、步长数和操作类别中的任意一种或多种,本申请实施例对该神经网络结构参数的类别不作限定,本领域技术人员可以根据实际使用需要,将可以确定模型结构的其他参数作为神经网络结构参数,比如神经网络结构的结构参数可以包括网络层数、模型下采样次数、模型粒度以及每层网络的连接方式等,其中模型粒度表征模型每层网络与下一层网络连接可以选择的候选操作类别的数量。本申请实施例对结构参数的类别不作限定,本领域技术人员可以根据需求确定可以构成神经网络结构的所需要的结构参数。操作类别和每层网络的连接方式的确定方式可以是预先获取并存储所有能用于神经网络结构的操作以及获取所有神经网络结构的连接方式。
步骤102,根据所述神经网络结构参数,构建目标搜索结构集,所述目标搜索结构集由多个神经网络结构组成。
示例性地,根据获取的神经网络结构参数,得到多个神经网络结构,根据得到的多个神经网络结构,构建出目标搜索结构集。该目标搜索结构集中的多个神经网络结构的结构参数不同。
目标搜索结构集的构建可以是采用随机数方式对每层网络的输出通道数、步长数以及每层网络的操作数进行设置,并根据目标搜索结构集的构建需求,确定目标搜索结构集中神经网络结构的网络层数、模型下采样次数、模型粒度,并从预先获取并建立的操作类别库和连接方式库中获取任意类别的操作和连接方式构成不同的神经网络结构。通过上述构建目标搜索结构集的方式构建神经网络结构的搜索空间,使得构建的目标搜索结构集可以覆盖到构建需求下的所有的神经网络结构。
步骤103,获取神经网络结构的多个评价指标。
示例性地,神经网络结构的评价指标可以包括准确率、参数量、运行时间和显存消耗等。本申请实施例对评价指标的类别不作限定,本领域技术人员可以根据实际需要确定。
步骤104,基于所述多个评价指标以及所述目标搜索结构集,对机器学习模型进行迭代训练,直至所述机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型。
示例性地,对目标搜索结构集中的多个神经网络结构按照评价指标的类别进行聚类分组,基于设定的损失函数对机器学习模型进行无监督的迭代训练,直至损失函数满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型,不同的评价器对应的评价的类别不同。本申请实施例对损失函数的类型不作限定,本领域技术人员可以根据实际使用需要确定;本申请实施例对该目标收敛条件不作限定,可以是损失函数的损失值维持在目标范围内,本申请对该目标范围不作限定,为了保证训练得到的神经网络结构评价模型的评价准确性,该目标范围越小越好;或者是损失函数的损失值趋于0。
作为本申请一个可选实施方式,步骤104,包括:在利用所述目标搜索结构集中的任一神经网络结构对所述机器学习模型进行迭代训练时,确定之前迭代训练过程中是否包含与当前迭代训练相同的目标操作;当所述之前迭代训练过程中包含与当前迭代训练相同的目标操作,将所述之前迭代训练中所述目标操作的输出参数作为当前迭代训练中所述目标操作的输入参数。
示例性地,以使用目标搜索结构集对机器学习模型进行准确率评价训练为例,若当前用于训练的神经网络结构A的网络层数为3,之前迭代训练过程中用于训练的神经网络结构中包含神经网络结构B,该神经网络结构B的网络层数为2。当神经网络结构B的每一层的操作与神经网络结构A前两层的神经网络结构的操作相同时,可以将神经网络B的输出参数作为神经网络结构A中相应操作的输入参数,以加快对机器学习模型的收敛速度,提高了对多层级神经网络结构评价模型的训练效率。
本申请实施例还提供了一种神经网络结构搜索方法,可应用于终端或服务器等电子设备中,本申请实施例以终端为例。如图2所示,该方法包括:
步骤201,获取搜索参数,所述搜索参数用于表征用户需要的神经网络结构的结构参数。
示例性地,用户可以通过应用界面交互窗口输入需要的神经网络结构的结构参数作为搜索参数,本申请实施例对该搜索参数的获取方式不作限定,本领域技术人员可以根据实际需要确定。
步骤202,根据所述搜索参数,在目标搜索结构集中获取多个神经网络结构。
示例性地,根据接收到的搜索参数,在目标搜索结构集中获取相应的神经网络结构,该目标搜索结构集的获取方式见上一实施例,在此不再赘述。例如当接收的搜索参数包括神经网络结构的输出通道数、步长数以及操作类别,则根据相应的搜索参数,在目标搜索结构集中得到对应的多个神经网络结构。
神经网络结构的搜索过程即在目标搜索结构集内获取用户实际需要的神经网络结构。以搜索参数为每层网络的输出通道数、每层网络的步长数以及每层网络包含的操作组合为例,目标搜索结构集中的神经网络结构的每层网络的输出通道数可表示为
Figure BDA0002383018970000101
其中nl为网络总层数,ci为第i层网络包含的通道数,
Figure BDA0002383018970000102
为目标搜索结构集中第i层网络可包含的最大通道数;每层网络的步长数可表示为
Figure BDA0002383018970000103
每层网络的操作组合可表示为
Figure BDA0002383018970000104
本申请实施例可使用{c,s,o|c∈C,s∈S,o∈O}表征可接收到的搜索参数集合,使用(c,s,o)表征该集合中任一元素,该元素对应目标搜索结构集中的一个神经网络结构。对任一神经网络结构
Figure BDA0002383018970000105
则可以表示为
Figure BDA0002383018970000106
基于评分结果得到的最优的神经网络结构可表示为
Figure BDA0002383018970000107
如图3所示的每层网络的输出通道数的搜索过程,图3左图中的每一个横条的长度表征目标搜索结构集对应网络层ni的最大通道数
Figure BDA0002383018970000111
图3右图为通过搜索操作后得到的某一个神经网络结构i的通道数,右图中“分隔边界”左侧的长度表征该神经网络结构i的通道数,通过图3可以看出通过搜索得到的神经网络结构的通道数满足下式(1):
ci=xi
Figure BDA0002383018970000112
其中,ci为搜索到的神经网络结构第i层的通道数,
Figure BDA0002383018970000113
为目标搜索结构集第i层的最大通道数。
搜索的神经网络结构的步长数的确定方式可以是接收用户输入的预先指定的随机数,终端根据采集到随机数匹配出相应的步长数。例如预先指定的随机数与步长数可以满足下式(2),以神经网络结构第i层为例;
Figure BDA0002383018970000114
Figure BDA0002383018970000115
其中,yi为搜索过程中接收到的“0”、“1”随机数,即当接收到的随机数为“0”时,该网络层i对应的步长数为“1”,当接收到的随机数为“1”时,该网络层i对应的步长数为“2”;nr为下采样次数,相应的约束条件表征任一层的随机数之和不大于目标搜索结构集的下采样次数。
对神经网络结构的操作组合的搜索,即对任一网络层包含的操作类别以及对应的操作的输出通道数的搜索。以第i层为例,假设该层通道数为ci,神经网络结构的操作组合
Figure BDA0002383018970000121
满足下式(3):
Figure BDA0002383018970000122
Figure BDA0002383018970000123
其中,
Figure BDA0002383018970000124
为对各个操作所生成的结果在通道的指标上进行拼接;count为计数器;zi,j为第i层网络层中第j个操作的输出通道数,该值可以为0,表征该操作不存在;
Figure BDA0002383018970000125
为组合搜索过程中在满足上式约束条件下得到的候选操作组合。ng为模型粒度,即该层所有操作的输出通道数取决于该层的最大通道数和目标搜索结构集中的模型粒度。
如图4所示为第i层网络包含的多个操作组合的操作过程,其中圆形节点表征不同的操作,每一个圆形节点的右上角的数字表征不同的操作对应的输出通道数,箭头表征数据流方向。在该图中zi,1=1,zi,2=3,
Figure BDA0002383018970000126
分别表征第i层网络的第一个操作对应的输出通道数为1,第二个操作对应的输出通道数为3,第no个操作对应的输出通道数为2。
步骤203,基于上一实施例所述的神经网络结构评价模型构建方法得到的神经网络结构评价模型,对所述多个神经网络结构进行评价。
步骤204,根据评价结果,确定目标神经网络结构。
示例性地,基于包含多个评价器的神经网络结构评价模型,对获取到的多个神经网络结构进行评价,得到的评价结果可以是对每一个神经网络结构进行评分,根据评分结果可以将最大的评分结果对应的神经网络结构作为满足用户需要的目标神经网络结构,或者是将位于目标评分范围内评分结果所对应的神经网络结构作为目标神经网络结构。本申请实施例对该目标评分范围不作限定,本领域技术人员可以根据实际需要确定。
本申请实施例提供的神经网络结构搜索方法,通过获取搜索参数,并根据搜索参数,在目标搜索结构集中获取多个神经网络结构,基于得到的包含多个评价器的神经网络结构评价模型,对多个神经网络结构进行评价;根据评价结果,确定目标神经网络结构。通过包含多个评价器的神经网络结构评价模型对搜索到的多个神经网络结构进行直接评价,根据评价结果得到目标神经网络结构,提高了获取满足使用要求的神经网络结构的效率。
作为本申请一个可选实施方式,步骤203,包括:
首先,确定在目标搜索结构集中搜索到的神经网络结构的数量。
示例性地,对神经网络结构的数量的获取方式可以是根据接收到的搜索参数设置方式确定。以对一个用于图像识别的神经网络结构的搜索为例,当用户采用随机数生成方法对该神经网络结构每一层的输出通道数和网络步长数进行设置,将每层网络包含的操作数设置为一个固定值时,则可以根据不同的层数以及不同的通道数的排列组合结果,得到搜索到的神经网络结构的数量。本申请实施例对神经网络结构数量的获取方式不作限定,本领域可以根据实际需要确定,比如当用户逐次输入需要的神经网络结构的结构参数,每输入一次,触发终端对搜索到的神经网络结构进行数量统计,继而得到神经网络结构的数量。
其次,根据所述神经网络结构的数量,在所述神经网络结构评价模型中选取目标评价器。
示例性地,由于不同的评价指标对应的评价耗时时长不同。以评价指标为准确率、准确率得分在密集区间的分布和准确率得分在稀疏空间的分布为例,假设评价神经网络结构的准确率的耗时时长大于评价准确率得分在密集区间的分布的耗时时长大于评价准确率得分在稀疏空间的分布的耗时时长。当在目标搜索结构集中搜索到的神经网络结构数量较大时,如果对多个神经网络结构直接进行准确率评价,评价耗时较长,即当神经网络结构的数量大于目标数量,如神经网络结构的数量n>104时,可以适当增加用于评价神经网络结构的评价器的数量,选择多个评价器作为目标评价器,以降低采用单一评价器耗时长的问题。
当采用多个评价器对搜索到的神经网络结构进行评价时,可以先对准确率得分在稀疏空间的分布进行评价,将不满足要求的神经网络结构先排除,然后再对剩下的神经网络结构进行准确率得分在密集区间的分布的评价,将不满足要求的神经网络结构排除,最后对剩下的神经网络结构进行准确率的评价,并根据最终的评价结果得到目标神经网络结构;或者是先对准确率得分在稀疏空间的分布进行评价,得到第一评分结果,将评分结果不满足要求的神经网络结构先排除,然后再对剩下的神经网络结构进行准确率得分在密集区间的分布进行评价,得到第二评分结果,将评分结果不满足要求的神经网络结构排除,最后对剩下的神经网络结构进行准确率的评价,得到第三评分结果,得到最终评分结果,将最大的最终评分结果对应的神经网络结构作为目标神经网络结构。如神经网络结构的数量n<104时,可以直接使用一个模型评价器对得到的神经网络结构进行评价,即可以直接通过准确率评价指标对应的评价器对得到的神经网络结构进行评价。当神经网络结构数量较少时,直接通过一个模型评价器对神经网络结构进行评价,提高了评价效率、节省了评价时间。
再次,根据所述目标评价器,对所述多个神经网络结构进行评价。
作为本申请一个可选实施方式,所述根据所述目标评价器,对所述多个神经网络结构进行评价,包括:当所述目标评价器包括多个时,根据所述目标评价器的层级,按照目标顺序依次对所述多个神经网络结构进行评价。
示例性地,当得到的目标评价器包括多个时,可以根据评价器的重要等级对多个目标评价器进行层级排序,继而可以按照层级顺序依次对神经网络结构进行评价。以评价指标为准确率、运行时间为例,当搜索的神经网络结构用于图片分类时,假设神经网络结构对图片分类的准确率的重要等级大于神经网络结构对应的运行时间,则按照重要等级排序,可以先对搜索到的多个神经网络结构的运行时间进行评价,在对满足运行时间要求的神经网络结构进行准确率评价,提高了获取的目标神经网络的准确性;同时当先对重要等级较高的准确率进行评价,再对满足准确率要求的神经网络结构进行运行时间评价,可以最大可能的节省评价时间,即如果任一神经网络结构不满足重要等级最高的准确率的评价,不需要再对其进行运行时间的评价。
为了表明本申请提供的神经网络结构搜索方法的效果,如表1所示提供了采用本方法与其他方法的对比结果,表1中DARTs方法之所以耗时短,是因为该方法只在小数据集(CIFAR-10)上搜索,再把搜索到的神经网络结构使用ImageNet进行训练以及测试;但本申请实施例提供的方法直接在ImageNet上进行搜索。对比同类方法,本申请实施例提供的方法减少了时间消耗,且测量误差均小于其他搜索方法。
表1:本发明与其他方法的对比
Figure BDA0002383018970000161
本申请实施例以每层网络的输出通道数、步长数以及操作类别为搜索参数,并根据上述实施例中的公式对搜索参数进行约束。假设模型的层数为19(不包括最后的分类层以及最大池化层),模型粒度为2,模型候选操作为6,模型下采样次数为4,每层网络的最大输出通道数cmax={64,32,48,48,64,64,64,128,128,128,128,192,192,192,320,320,320,640,2560},每层的步长可以选择1或2,其中选择步长为2的层数为4(等于模型下采样数)。
相应的候选操作可以包括采用轻量级神经网络操作方式,如MobileNetV2 Block、深度可分离卷积操作以及原始卷积操作。当采用轻量级的MobileNetV2 Block,对应的操作包括:首先进行升通道的Pointwise卷积操作、批规范化、线性整流函数ReLU6的进行线性修正,并通过扩展倍数来设定操作的输出通道数,然后进行Depthwise卷积操作、批规范化、线性整流函数ReLU6的进行线性修正,在此过程中可设置卷积核大小,最后进行Depthwise卷积和批规范化操作;当采用深度可分离卷积可以包括:Depthwise卷积操作、批规范化、线性整流函数ReLU6的进行线性修正以及Pointwise卷积操作,批规范化,线性整流函数ReLU6的进行线性修正,可设定Depthwise卷积操作的卷积核大小。
根据上述候选操作的类型,接收到的候选操作可以包括:第一个候选操作可以为卷积核大小为3x3,扩展倍数为6的MobileNetV2 Block,可缩写为MB6_Conv_3x3;第二个候选操作为卷积核大小为3x3,扩展倍数为3的MobileNetV2 Block,可缩写为MB3_Conv_3x3;第三个候选操作为卷积核大小为5x5,扩展倍数为6的MobileNetV2 Block,可缩写为MB6_Conv_5x5;第四个候选操作为卷积核大小为5x5,扩展倍数为3的MobileNetV2 Block,可缩写为MB3_Conv_5x5,第五个候选操作为卷积核大小为3x3的原始卷积,可缩写为Conv_3x3;第六个候选操作为卷积核大小为3x3的深度可分离卷积,可缩写为Sep_Conv_3x3。
根据上述设定好的搜索参数后,即可搜索得到相应的神经网络结构,例如可以得到某一神经网络结构的通道数可以设定为c=(32,16,24,36,64,48,48,32,32,64,64,144,144,96,160,160,160,320,1280);步长搜索中,产生的随机数可以为[0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0],根据上述公式(2),得到每层网络步长数s=(1,1,2,1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,1);模型的操作组合搜索过程产生总长度为19的随机数组:((0,0,0,0,32,0),(0,0,0,0,0,16),(8,0,16,0,0,0),(18,0,18,0,0,0,),(32,0,32,0,0,0,),(0,24,24,0,0,0,),(0,16,0,16,0,0),(0,0,32,32,0,0,),(16,0,0,48,0,0,)(0,72,0,72,0,0),(0,48,48,0,0,0),(40,0,0,120,0,0),(0,80,80,0,0,0),(0,0,120,40,0,0),(0,80,240,0,0,0),(320,0,0,960,0,0))。以第一组随机数组(0,0,0,0,32,0)为例,对得到的19组随机数组进行解释说明,(0,0,0,0,32,0)长度为6,对应上述6个候选操作数,这个数组表示此处只选取第五个操作且其通道数应为32(这一层的操作的通道数由随机到的通道数决定且这一层只有一个操作),对于(8,0,16,0,0,0)而言,表示选取第一个操作以及第三个操作,他们的通道数分别为8和16(这些操作的通道数的总和应该等于这一层设定的通道数24)。此处可以选择一个或者两个操作,由于粒度是2,两个网络操作间可以选择1~2个操作。
本申请实施例中只描述神经网络结构三层的组合情况,其它层以此类推。该层的组合随机数为(8,0,16,0),在该层的输出结果中,前8个通道数的结果可以由第一个候选操作MB6_Conv_3x3计算得到,后16个通道数的结果可以由第三个候选操作MB6_Conv_5x5计算得到。
在利用训练得到的神经网络结构评价模型,对任一个神经网络结构进行评分,可以将得分最高的结构作为目标神经网络结构。在本申请实施例中,神经网络结构评价模型可以使用下式对任一神经网络结构进行总评分:
Figure BDA0002383018970000191
其中,m为目标搜索结构集中任一模型;tp为设定的搜索参数阈值;tm为设定的模型显存消耗阈值;acc为模型的精确度;lat为模型的延时,para为模型的参数量大小,memo为模型的显存占用率。本申请实施例中,以指标为2的神经网络结构评价模型为例,以上述所述的参数共享的方式对一维的神经网络结构评价模型进行训练。本申请实施例中选择决策树作为指标为2的神经网络结构评价模型的评价器,在训练第二层级的模型评价器时,随机采样一维模型评价器,并通过一维模型评价器得到神经网络结构的评分。
假设通过设定好的搜索参数,得到80个神经网络结构,搜索参数与神经网络结构一一对应,可以将搜索参数视为神经网络结构的编码;通过较高层级的神经网络结构评价模型对80个神经网络结构进行评分,评分结果与搜索参数用于初始化决策树,初始化后的决策树可以通过搜索参数来判断神经网络结构是否用于较低层级的评价。决策树的性能取决于用于初始化的80个模型,为了提高决策树的性能,每得到100个新的神经网络结构的评分,可以将新得到的评分和编码对决策树进行更新,最后对所有评分进行排序,将评分最高的神经网络结构作为目标神经网络结构。
本申请实施例还提供了一种神经网络结构评价模型构建装置,如图5所示,包括:
结构参数获取模块301,用于获取神经网络结构参数;
构建模块302,用于根据所述神经网络结构参数,构建目标搜索结构集,所述目标搜索结构集由多个神经网络结构组成;
评价指标获取模块303,用于获取神经网络结构的多个评价指标;
神经网络结构评价模型获取模块304,用于基于所述多个评价指标以及所述目标搜索结构集,对机器学习模型进行迭代训练,直至所述机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型。
作为本申请一个可选实施方式,所述神经网络结构参数包括:神经网络结构的中每层网络的输出通道数、步长数和操作类别中的任意一种或多种。
作为本申请一个可选实施方式,神经网络结构评价模型获取模块304,用于在利用所述目标搜索结构集中的任一神经网络结构对所述机器学习模型进行迭代训练时,确定之前迭代训练过程中是否包含与当前迭代训练相同的目标操作;当所述之前迭代训练过程中包含与当前迭代训练相同的目标操作,将所述之前迭代训练中所述目标操作的输出参数作为当前迭代训练中所述目标操作的输入参数。
作为本申请一个可选实施方式,所述评价指标包括神经网络结构的准确率、参数量和运行时间中的任意多种。
本申请实施例还提供了一种神经网络结构搜索装置,如图6所示,包括:
搜索参数获取模块401,用于获取搜索参数,所述搜索参数用于表征用户需要的神经网络结构的结构参数;
神经网络结构获取模块402,用于根据所述搜索参数,在目标搜索结构集中获取多个神经网络结构;
评价模块403,用于基于上述实施例所述的神经网络结构评价模型构建方法得到的神经网络结构评价模型,对所述多个神经网络结构进行评价;
确定模块404,用于根据评价结果,确定目标神经网络结构。
本申请实施例提供的神经网络结构搜索装置,通过获取搜索参数,并根据搜索参数,在目标搜索结构集中获取多个神经网络结构,基于得到的包含包含多个评价器的神经网络结构评价模型,对多个神经网络结构进行评价;根据评价结果,确定目标神经网络结构。通过神经网络结构评价模型对搜索到的多个神经网络结构进行直接评价,根据评价结果得到目标神经网络结构,提高了获取满足使用要求的神经网络结构的效率。
作为本申请一个可选实施方式,评价模块403,用于确定在目标搜索结构集中搜索到的神经网络结构的数量;根据所述神经网络结构的数量,在所述神经网络结构评价模型中选取目标评价器;根据所述目标评价器,对所述多个神经网络结构进行评价。
作为本申请一个可选实施方式,评价模块403,用于当所述目标评价器包括多个时,根据所述目标评价器的层级,按照目标顺序依次对所述多个神经网络结构进行评价。
本申请实施例还提供了一种电子设备,如图7所示,包括处理器501和存储器502,其中处理器501和存储器502可以通过总线或者其他方式连接,图7中以通过总线连接为例。
处理器501可以为中央处理器(Central Processing Unit,CPU)。处理器501还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器502作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的神经网络结构评价模型构建方法或神经网络结构搜索方法对应的程序指令/模块。处理器501通过运行存储在存储器502中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器501所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至处理器501。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器502中,当被所述处理器501执行时,执行如图1、图2所示实施例中的方法。
上述电子设备的具体细节可以对应参阅图1、图2所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的神经网络结构评价模型构建方法或神经网络结构搜索方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (9)

1.一种神经网络结构评价模型构建方法,其特征在于,包括:
获取神经网络结构参数,所述神经网络结构参数包括:神经网络结构的中每层网络的输出通道数、步长数和操作类别中的任意一种或多种;
根据所述神经网络结构参数,构建目标搜索结构集,所述目标搜索结构集由多个神经网络结构组成,目标搜索结构集的构建采用随机数方式对每层网络的输出通道数、步长数以及每层网络的操作数进行设置,并根据目标搜索结构集的构建需求,确定目标搜索结构集中神经网络结构的网络层数、模型下采样次数、模型粒度,并从预先获取并建立的操作类别库和连接方式库中获取任意类别的操作和连接方式构成不同的神经网络结构;
获取神经网络结构的多个评价指标,所述评价指标包括神经网络结构的准确率、参数量和运行时间中的任意多种;
基于所述多个评价指标以及所述目标搜索结构集,对机器学习模型进行迭代训练,直至所述机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个评价指标以及所述目标搜索结构集,对机器学习模型进行迭代训练,直至所述机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型,包括:
在利用所述目标搜索结构集中的任一神经网络结构对所述机器学习模型进行迭代训练时,确定之前迭代训练过程中是否包含与当前迭代训练相同的目标操作;
当所述之前迭代训练过程中包含与当前迭代训练相同的目标操作,将所述之前迭代训练中所述目标操作的输出参数作为当前迭代训练中所述目标操作的输入参数。
3.一种神经网络结构搜索方法,其特征在于,包括:
获取搜索参数,所述搜索参数用于表征用户需要的神经网络结构的结构参数;
根据所述搜索参数,在目标搜索结构集中获取多个神经网络结构;
基于权利要求1-2中任一项所述的神经网络结构评价模型构建方法得到的神经网络结构评价模型,对所述多个神经网络结构进行评价;
根据评价结果,确定目标神经网络结构。
4.根据权利要求3所述的方法,其特征在于,所述对所述多个神经网络结构进行评价,包括:
确定在目标搜索结构集中搜索到的神经网络结构的数量;
根据所述神经网络结构的数量,在所述神经网络结构评价模型中选取目标评价器;
根据所述目标评价器,对所述多个神经网络结构进行评价。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标评价器,对所述多个神经网络结构进行评价,包括:
当所述目标评价器包括多个时,根据所述目标评价器的层级,按照目标顺序依次对所述多个神经网络结构进行评价。
6.一种神经网络结构评价模型构建装置,其特征在于,包括:
结构参数获取模块,用于获取神经网络结构参数,所述神经网络结构参数包括:神经网络结构的中每层网络的输出通道数、步长数和操作类别中的任意一种或多种;
构建模块,用于根据所述神经网络结构参数,构建目标搜索结构集,所述目标搜索结构集由多个神经网络结构组成,目标搜索结构集的构建采用随机数方式对每层网络的输出通道数、步长数以及每层网络的操作数进行设置,并根据目标搜索结构集的构建需求,确定目标搜索结构集中神经网络结构的网络层数、模型下采样次数、模型粒度,并从预先获取并建立的操作类别库和连接方式库中获取任意类别的操作和连接方式构成不同的神经网络结构;
评价指标获取模块,用于获取神经网络结构的多个评价指标,所述评价指标包括神经网络结构的准确率、参数量和运行时间中的任意多种;
神经网络结构评价模型获取模块,用于基于所述多个评价指标以及所述目标搜索结构集,对机器学习模型进行迭代训练,直至所述机器学习模型对应的损失函数的损失值满足目标收敛条件,得到包含多个评价器的神经网络结构评价模型。
7.一种神经网络结构搜索装置,其特征在于,包括:
搜索参数获取模块,用于获取搜索参数,所述搜索参数用于表征用户需要的神经网络结构的结构参数;
神经网络结构获取模块,用于根据所述搜索参数,在目标搜索结构集中获取多个神经网络结构;
评价模块,用于基于权利要求1-2中任一项所述的神经网络结构评价模型构建方法得到的神经网络结构评价模型,对所述多个神经网络结构进行评价;
确定模块,用于根据评价结果,确定目标神经网络结构。
8.一种电子设备,其特征在于,包括:
处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-2中任一项所述的神经网络结构评价模型构建方法的步骤,或者是权利要求3-5中任一项所述的神经网络结构搜索方法的步骤。
9.一种可读计算机存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-2中任一项所述的神经网络结构评价模型构建方法的步骤,或者是权利要求3-5中任一项所述的神经网络结构搜索方法的步骤。
CN202010088856.4A 2020-02-12 2020-02-12 神经网络结构评价模型构建和神经网络结构搜索方法 Active CN111325338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010088856.4A CN111325338B (zh) 2020-02-12 2020-02-12 神经网络结构评价模型构建和神经网络结构搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010088856.4A CN111325338B (zh) 2020-02-12 2020-02-12 神经网络结构评价模型构建和神经网络结构搜索方法

Publications (2)

Publication Number Publication Date
CN111325338A CN111325338A (zh) 2020-06-23
CN111325338B true CN111325338B (zh) 2023-05-05

Family

ID=71168842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010088856.4A Active CN111325338B (zh) 2020-02-12 2020-02-12 神经网络结构评价模型构建和神经网络结构搜索方法

Country Status (1)

Country Link
CN (1) CN111325338B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001491A (zh) * 2020-07-27 2020-11-27 三星(中国)半导体有限公司 针对处理器确定神经网络架构的搜索方法和装置
CN112000450A (zh) * 2020-08-18 2020-11-27 中国银联股份有限公司 神经网络架构搜索方法以及装置
CN112001496B (zh) * 2020-08-27 2022-09-27 展讯通信(上海)有限公司 神经网络结构搜索方法及系统、电子设备及存储介质
CN114330699A (zh) * 2020-09-28 2022-04-12 华为技术有限公司 神经网络结构搜索方法及装置
CN112700006B (zh) * 2020-12-29 2024-06-28 平安科技(深圳)有限公司 网络架构搜索方法、装置、电子设备及介质
CN112801271B (zh) * 2021-01-22 2023-04-07 北京市商汤科技开发有限公司 生成神经网络的方法、数据处理方法、智能行驶控制方法
CN113408634B (zh) * 2021-06-29 2022-07-05 深圳市商汤科技有限公司 模型推荐方法及装置、设备、计算机存储介质
CN113743606A (zh) * 2021-09-08 2021-12-03 广州文远知行科技有限公司 一种神经网络的搜索方法、装置、计算机设备和存储介质
CN116563972B (zh) * 2023-07-06 2023-09-01 深圳市霆宝科技有限公司 一种基于ai模型的汽车热管理诊断系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019180314A1 (en) * 2018-03-20 2019-09-26 Nokia Technologies Oy Artificial neural networks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268627B (zh) * 2014-09-10 2017-04-19 天津大学 一种基于深度神经网络迁移模型的短期风速预报方法
CN106066851A (zh) * 2016-06-06 2016-11-02 清华大学 一种考虑评价指标的神经网络训练方法及装置
EP3610417A1 (en) * 2017-04-12 2020-02-19 Deepmind Technologies Limited Black-box optimization using neural networks
CN107578061A (zh) * 2017-08-16 2018-01-12 哈尔滨工业大学深圳研究生院 基于最小化损失学习的不平衡样本分类方法
WO2019102797A1 (ja) * 2017-11-21 2019-05-31 富士フイルム株式会社 ニューラルネットワークの学習方法、学習装置、学習済みモデル及びプログラム
CN108038435B (zh) * 2017-12-04 2022-01-04 中山大学 一种基于卷积神经网络的特征提取与目标跟踪方法
US10776668B2 (en) * 2017-12-14 2020-09-15 Robert Bosch Gmbh Effective building block design for deep convolutional neural networks using search
US11645493B2 (en) * 2018-05-04 2023-05-09 Microsoft Technology Licensing, Llc Flow for quantized neural networks
US10558913B1 (en) * 2018-10-24 2020-02-11 Equifax Inc. Machine-learning techniques for monotonic neural networks
CN109299142B (zh) * 2018-11-14 2020-10-27 中山大学 一种基于进化算法的卷积神经网络结构搜索方法及系统
CN110189291A (zh) * 2019-04-09 2019-08-30 浙江大学 一种基于多任务卷积神经网络的通用无参考图像质量评价方法
CN110210558B (zh) * 2019-05-31 2021-10-26 北京市商汤科技开发有限公司 评估神经网络性能的方法及装置
CN110543600A (zh) * 2019-09-11 2019-12-06 上海携程国际旅行社有限公司 基于神经网络的搜索排序方法、系统、设备和存储介质
CN110738132B (zh) * 2019-09-23 2022-06-03 中国海洋大学 一种具备判别性感知能力的目标检测质量盲评价方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019180314A1 (en) * 2018-03-20 2019-09-26 Nokia Technologies Oy Artificial neural networks

Also Published As

Publication number Publication date
CN111325338A (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
CN111325338B (zh) 神经网络结构评价模型构建和神经网络结构搜索方法
US20220076150A1 (en) Method, apparatus and system for estimating causality among observed variables
CN112487168B (zh) 知识图谱的语义问答方法、装置、计算机设备及存储介质
CN113065013B (zh) 图像标注模型训练和图像标注方法、系统、设备及介质
US20190042956A1 (en) Automatic configurable sequence similarity inference system
CN111047563B (zh) 一种应用于医学超声图像的神经网络构建方法
Lou et al. Matchminer: Efficient spanning structure mining in large image collections
EP4425376A1 (en) Method and apparatus for searching for neural network ensemble model, and electronic device
CN112101430A (zh) 用于图像目标检测处理的锚框生成方法及轻量级目标检测方法
US20220383627A1 (en) Automatic modeling method and device for object detection model
US11809486B2 (en) Automated image retrieval with graph neural network
CN111667050A (zh) 度量学习方法、装置、设备及存储介质
CN110909868A (zh) 基于图神经网络模型的节点表示方法和装置
CN101901251B (zh) 基于马尔科夫过程亚稳性的复杂网络簇结构分析和识别方法
CN110968692A (zh) 一种文本分类方法及系统
CN112287656B (zh) 文本比对方法、装置、设备和存储介质
CN112131261A (zh) 基于社区网络的社区查询方法、装置和计算机设备
Wistuba et al. Inductive transfer for neural architecture optimization
Glowacka et al. Content-based image retrieval with multinomial relevance feedback
CN107944045B (zh) 基于t分布哈希的图像检索方法及系统
CN114611668A (zh) 一种基于异质信息网络随机游走的向量表示学习方法及系统
CN114781555A (zh) 改进knn方法的电子元器件数据分类方法
CN114357219A (zh) 一种面向移动端实例级图像检索方法及装置
CN114547286A (zh) 一种信息搜索方法、装置及电子设备
Wei et al. Salient object detection based on weighted hypergraph and random walk

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