CN112784954A - 确定神经网络的方法和装置 - Google Patents
确定神经网络的方法和装置 Download PDFInfo
- Publication number
- CN112784954A CN112784954A CN201911090334.1A CN201911090334A CN112784954A CN 112784954 A CN112784954 A CN 112784954A CN 201911090334 A CN201911090334 A CN 201911090334A CN 112784954 A CN112784954 A CN 112784954A
- Authority
- CN
- China
- Prior art keywords
- target
- candidate
- network
- networks
- neural network
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 597
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000011156 evaluation Methods 0.000 claims abstract description 91
- 238000012549 training Methods 0.000 claims description 67
- 238000001514 detection method Methods 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 13
- 238000011176 pooling Methods 0.000 claims description 10
- 238000003709 image segmentation Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000000605 extraction Methods 0.000 description 17
- 238000013527 convolutional neural network Methods 0.000 description 16
- 238000005070 sampling Methods 0.000 description 16
- 239000013598 vector Substances 0.000 description 13
- 230000001537 neural effect Effects 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 9
- 230000004913 activation Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请提供人工智能领域中确定神经网络的方法和相关装置。所述方法包括:获取多个初始搜索空间;根据所述多个初始搜索空间确定M个候选神经网络,所述候选神经网络包括多个候选子网络,所述多个候选子网络属于所述多个初始搜索空间,且所述多个候选子网络中任意两个候选子网络所属的初始搜索空间不同;对所述M个候选神经网络进行评估,得到M个评估结果;根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络。本申请提供的方法和相关装置,能够获得具有较高性能的组合式神经网络。
Description
技术领域
本申请涉及人工智能领域,更具体地,尤其涉及确定神经网络的方法和装置。
背景技术
神经网络是一类模仿生物神经网络(动物的中枢神经系统)的结构和功能的数学计算模型。一个神经网络可以包括多种不同功能的神经网络层,每层包括参数和计算公式。根据计算公式的不同或功能的不同,神经网络中不同的层有不同的名称,例如:进行卷积计算的层称为卷积层,所述卷积层常用于对输入信号(例如:图像)进行特征提取。
一些应用场景中所使用的神经网络可以由多个神经网络组合构成。例如,用于执行目标检测任务的神经网络可以由残差网络(residual networks,ResNet),多层次特征抽取模型和区域候选网络(RPN)组合构成。
因此,如何获得由多个神经网络组合而成的神经网络是一个亟待解决的技术问题。
发明内容
本申请提供确定神经网络的方法和相关装置,能够获得具有较高性能的组合式神经网络。
第一方面,本申请提供一种确定神经网络的方法,所述包括:获取多个初始搜索空间,所述初始搜索空间包括一个或多个神经网络,任意两个所述初始搜索空间中的神经网络的功能不同,同一个所述初始搜索空间中的任意两个神经网络的功能相同且网络结构不同;根据所述多个初始搜索空间确定M个候选神经网络,所述候选神经网络包括多个候选子网络,所述多个候选子网络属于所述多个初始搜索空间,且所述多个候选子网络中任意两个候选子网络所属的初始搜索空间不同,M为正整数;对所述M个候选神经网络进行评估,得到M个评估结果;根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,所述第一目标神经网络包括多个目标子网络,所述N个第一目标神经网络与所述M个候选神经网络中的N个候选神经网络一一对应,所述N个第一目标神经网络中第i个第一目标神经网络所包括的多个目标子网络与所述N个候选神经网络中第i个候选神经网络所包括的多个候选子网络一一对应,所述第i个第一目标神经网络所包括的多个目标子网络中的每个目标子网络所包括的块与所述第i个候选神经网络所包括的多个候选子网络中对应的候选子网络所包括的块相同,N为小于或等于M的正整数,i为小于或等于N的正整数。
本方法中,从多个初始搜索空间中采样得到候选神经网络后,对整个候选神经网络进行评估,然后再根据评估结果和该候选神经网络来确定第一目标神经网络。这种采样得到候选神经网络之后,根据候选神经网络整体的评估结果来确定第一目标神经网络,与分别评估候选子网络,然后根据候选子网络的评估结果来确定第一目标神经网络的方式相比,充分考虑候选子网络之间的组合方式,可以获得性能更好的第一目标神经网络。
在一些可能的实现方式中,所述候选神经网络的评估结果包括以下一种或多种:运行速度,精度、参数量或浮点运算次数。
在一些可能的实现方式中,所述根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,包括:根据所述M个评估结果,将所述M个候选神经网络中评估结果满足任务需求的N个候选神经网络确定为所述N个第一目标神经网络。
例如,将所述M个候选神经网络中运行速度和/或精度满足预设的任务需求的N个候选神经网络确定为所述N个第一目标神经网络。
在一些可能的实现方式中,所述候选神经网络的评估结果包括运行速度和精度。其中,所述根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,包括:根据所述M个评估结果,从所述M个候选神经网络中确定所述N个候选神经网络,所述N个候选神经网络为以运行速度和精度为目标时,所述M个候选神经网络的帕累托最优解;根据所述N个候选神经网络确定所述N个第一目标神经网络。
因为根据该实现方式得到的N个候选神经网络为这M个候选神经网络的帕累托最优解,所以这N个候选神经网络的性能相对于其他候选神经网络的性能更好,这使得根据这N个候选神经网络确定的N个第一目标神经网络的性能也更好。
在一些可能的实现方式中,所述根据所述N个候选神经网络确定所述N个第一目标神经网络,包括:将这N个候选神经网络确定为这N个第一目标神经网络。
在一些可能的实现方式中,所述根据所述N个候选神经网络确定所述N个第一目标神经网络,包括:根据所述第i个候选神经网络的多个候选子网络确定多个目标搜索空间,所述多个目标搜索空间与所述第i个候选神经网络的多个候选子网络一一对应,所述多个目标搜索空间中的每个目标搜索空间包括一个或多个神经网络,所述每个目标搜索空间中的每个神经网络所包括的块与所述每个目标搜索空间对应的候选子网络所包括的块相同;根据所述多个目标搜索空间确定所述第i个第一目标神经网络,所述第i个第一目标神经网络中的多个目标子网络属于所述多个目标搜索空间,且所述第i个第一目标神经网络的多个目标子网络中任意两个目标子网络所属的目标搜索空间不同。
也就是说,在不改变块的前提下,重新搜索得到性能更好的第一目标神经网络。
在一些可能的实现方式中,所述方法还包括:根据所述N个第一目标神经网络确定N个第二目标神经网络,其中,所述N个第二目标神经网络中的第i个第二目标神经网络为所述第i个第一目标神经网络经过如下一项或多种处理得到的:在所述第i个第一目标神经网络的目标子网络中的卷积层之后添加组合正则化层,在所述第i个第一目标神经网络的目标子网络中的全连接层之后添加组合正则化层,对所述第i个第一目标神经网络的目标子网络中的卷积层的权重进行归一化处理。
该实现方式可以提高第二目标神经网络的性能和提升第二目标神经网络的训练速度。
在一些可能的实现方式中,所述方法还包括:对所述N个第二目标神经网络进行评估,得到所述N个第二目标神经网络的评估结果。这N个评估结果可以用于根据任务需求从这N个第二目标神经网络中选择更为合适的第二目标神经网络,从而可以提高任务的完成质量。
在一些可能的实现方式中,所述对所述N个第二目标神经网络进行评估,得到所述N个第二目标神经网络的评估结果,包括:随机初始化所述第i个第二目标神经网络中的网络参数;根据训练数据对所述第i个第二目标神经网络进行训练;根据测试数据对训练后的所述第i个第二目标神经网络进行测试,以得到训练后的所述第i个第二目标神经网络的评估结果。
在一些可能的实现方式中,所述第一目标神经网络用于目标检测,其中,所述多个初始搜索空间包括第一初始搜索空间、第二初始搜索空间、第三初始搜索空间和第四初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络(ResNext)和/或不同深度的移动端网络(MobileNet),所述第二初始搜索空间包括不同层次的特征的连接路径,所述第三初始搜索空间包括普通区域候选网络(region proposalnet,RPN)和/或锚点导向的区域候选网络(region proposal by guided anchoring,GA-RPN),所述第四初始搜索空间包括一阶段的检测头部网络(Retina-head)、全连接的检测头部网络、全卷积的检测头部网络和/或级联网络头(Cascade-head)。
在一些可能的实现方式中,所述第一目标神经网络用于图像分类,其中,所述多个初始搜索空间包括第一初始搜索空间和第二初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的ResNext和/或不同宽度的稠密连接网络(DenseNet),所述第二初始搜索空间中的神经网络包括全连接层。
在一些可能的实现方式中,所述第一目标神经网络用于图像分割,其中,所述多个初始搜索空间包括第一初始搜索空间、第二初始搜索空间和第三初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的ResNext和/或不同宽度的高分辨率网络,所述第二初始搜索空间包括空洞空间卷积池化金字塔网络、池化金字塔网络和/或包括密集预测单元的网络,所述第三初始搜索空间包括U-Net模型和/或全卷积网络。
第二方面,本申请提供一种确定神经网络的装置,该装置包括:获取模块,用于获取多个初始搜索空间,所述初始搜索空间包括一个或多个神经网络,任意两个所述初始搜索空间中的神经网络的功能不同,同一个所述初始搜索空间中的任意两个神经网络的功能相同且网络结构不同;确定模块,用于根据所述多个初始搜索空间确定M个候选神经网络,所述候选神经网络包括多个候选子网络,所述多个候选子网络属于所述多个初始搜索空间,且所述多个候选子网络中任意两个候选子网络所属的初始搜索空间不同;评估模块,用于对所述M个候选神经网络进行评估,得到M个评估结果,M为正整数;所述确定模块还用于:根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,所述第一目标神经网络包括多个目标子网络,所述N个第一目标神经网络与所述M个候选神经网络中的N个候选神经网络一一对应,所述N个第一目标神经网络中第i个第一目标神经网络所包括的多个目标子网络与所述N个候选神经网络中第i个候选神经网络所包括的多个候选子网络一一对应,所述第i个第一目标神经网络所包括的多个目标子网络中的每个目标子网络所包括的块与所述第i个候选神经网络所包括的多个候选子网络中对应的候选子网络所包括的块相同,N为小于或等于M的正整数,i为小于或等于N的正整数。
在一些可能的实现方式中,所述候选神经网络的评估结果包括以下一种或多种:运行速度,精度、参数量或浮点运算次数。
在一些可能的实现方式中,所述候选神经网络的评估结果包括运行速度和精度。其中,所述确定模块具体用于:根据所述M个评估结果,从所述M个候选神经网络中确定所述N个候选神经网络,所述N个候选神经网络为以运行速度和精度为目标时,所述M个候选神经网络的帕累托最优解;根据所述N个候选神经网络确定所述N个第一目标神经网络。
在一些可能的实现方式中,所述确定模块具体用于:根据所述第i个候选神经网络的多个候选子网络确定多个目标搜索空间,所述多个目标搜索空间与所述第i个候选神经网络的多个候选子网络一一对应,所述多个目标搜索空间中的每个目标搜索空间包括一个或多个神经网络,所述每个目标搜索空间中的每个神经网络所包括的块与所述每个目标搜索空间对应的候选子网络所包括的块相同;根据所述多个目标搜索空间确定所述第i个第一目标神经网络,所述第i个第一目标神经网络中的多个目标子网络属于所述多个目标搜索空间,且所述第i个第一目标神经网络的多个目标子网络中任意两个目标子网络所属的目标搜索空间不同。
在一些可能的实现方式中,所述确定模块还用于:根据所述N个第一目标神经网络确定N个第二目标神经网络,其中,所述N个第二目标神经网络中的第i个第二目标神经网络为所述第i个第一目标神经网络经过如下一项或多种处理得到的:在所述第i个第一目标神经网络的目标子网络中的卷积层之后添加组合正则化层,在所述第i个第一目标神经网络的目标子网络中的全连接层之后添加组合正则化层,对所述第i个第一目标神经网络的目标子网络中的卷积层的权重进行归一化处理。
在一些可能的实现方式中,所述评估模块还用于:对所述N个第二目标神经网络进行评估,得到所述N个第二目标神经网络的评估结果。
在一些可能的实现方式中,所述评估模块具体用于:随机初始化所述第i个第二目标神经网络中的网络参数;根据训练数据对所述第i个第二目标神经网络进行训练;根据测试数据对训练后的所述第i个第二目标神经网络进行测试,以得到训练后的所述第i个第二目标神经网络的评估结果。
在一些可能的实现方式中,所述第一目标神经网络用于目标检测,其中,所述多个初始搜索空间包括第一初始搜索空间、第二初始搜索空间、第三初始搜索空间和第四初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络和/或不同深度的移动端网络,所述第二初始搜索空间包括不同层次的特征的连接路径,所述第三初始搜索空间包括普通区域候选网络和/或锚点导向的区域候选网络,所述第四初始搜索空间包括一阶段的检测头部网络、全链接的检测头部网络、全卷积的检测头部网络和/或级联检测头部网络。
在一些可能的实现方式中,所述第一目标神经网络用于图像分类,其中,所述多个初始搜索空间包括第一初始搜索空间和第二初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络和/或不同宽度的稠密连接网络,所述第二初始搜索空间中的神经网络包括全连接层。
在一些可能的实现方式中,所述第一目标神经网络用于图像分割,其中,所述多个初始搜索空间包括第一初始搜索空间、第二初始搜索空间和第三初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络和/或不同宽度的高分辨率网络,所述第二初始搜索空间包括空洞空间卷积池化金字塔网络、池化金字塔网络和/或包括密集预测单元的网络,所述第三初始搜索空间包括U-Net模型和/或全卷积网络。
第三方面,提供了一种确定神经网络的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面中的方法。
第四方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的指令,该指令用于实现第一方面中的方法。
第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的方法。
第六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的方法。
附图说明
图1是本申请确定神经网络的方法的一个示例性流程图;
图2是本申请用于执行目标检测任务的神经网络的初始搜索空间的一个示例图;
图3是本申请用于执行图像分类任务的神经网络的初始搜索空间的一个示例图;
图4是本申请用于执行图像分割任务的神经网络的初始搜索空间的一个示例图;
图5是本申请确定神经网络的方法的另一个示例性流程图;
图6是本申请候选神经网络的帕累托前沿的一个示例图;
图7是本申请确定神经网络的方法的另一个示例性流程图;
图8是本申请确定神经网络的方法的另一个示例性流程图;
图9是本申请实施例的确定神经网络的装置的一个示例性结构图;
图10是本申请实施例的确定神经网络的装置的一个示例性结构图;
图11是本申请候选神经网络的帕累托前沿的另一个示例图。
具体实施方式
为了便于理解,下面给出与本申请相关的概念的说明。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,系数W和偏移向量的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络中参数的大小,使得神经网络的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络的参数,例如权重矩阵。
(6)帕累托解
帕累托(Pareto)解又称非支配解或不受支配解(nondominated solutions),是指在有多个目标时,由于存在目标之间的冲突和无法比较的现象,一个解在某个目标上是最好的,在其他的目标上可能是最差的。这些在改进任何目标的同时,必然会削弱至少一个其他目标的解称为非支配解或Pareto解。
帕雷托最优(Pareto Optimality)是资源分配的一种状态,在不使任何目标变坏的情况下,不可能再使某些目标的变好。帕累托最优,也称为帕累托效率、帕累托改善。
一组目标最优解的集合称为Pareto最优集。最优集在空间上形成的曲面称为Pareto前沿面。
例如,目标为神经网络的运行速度和精度时,当一个神经网络的运行速度比其他神经网络的运动速度好时,该神经网络的精度可能很差,当该神经网络的精度比其他神经网络的精度好时,其运行速度可能很差。对于某个神经网络,若其运行精度不变坏的情况下,不可能提升其预测精度,则该神经网络可以称为以运行精度和预测精度为目标的帕雷托最优解。
(7)主干网络(backbone)
主干网络用于提取输入的图像的特征,以得到图像的多层次(多尺度)特征。常用的主干网络包括不同深度的ResNet、ResNext、MobileNet或DenseNet,不同系列的主干网络主要差别在于组成网络的基本单元不同。例如,ResNet系列包括ResNet-50、ResNet-101、ResNet-152,其基本单元为瓶颈网络块,ResNet-50包含16个瓶颈网络块,ResNet-101包含33个瓶颈网络块,ResNet-152包含50个瓶颈网络块。ResNext系列和ResNet系列的差别在于将基本单元由瓶颈网络块替换为分组卷积的瓶颈网络块。MobileNet系列的基本单元为深度级可分离卷积。DenseNet系列的基本单元为稠密单元模块和过渡网络模块。
(8)多层次特征抽取网络(Neck)
多层次特征抽取网络用于对多尺度的特征进行筛选融合,生成更紧凑更有表现力的特征向量。多层次特征抽取网络可以包括不同尺度连接的全卷积的金字塔网络、空洞空间卷积池化金字塔(atrous spatial pyramid pooling,ASPP)网络、池化金字塔网络或包括密集预测单元的网络。
(9)预测模块
预测模块用于输出与应用任务相关的预测结果。
预测模块可以包括头部预测网络,用于将特征转化成最终符合任务需要的预测结果。例如,图像分类任务中最终输出的预测结果是输入图像属于各个类别的概率向量;目标检测任务中的预测结果是输入图像中存在的所有候选目标框在图像中的坐标和候选目标框属于各个类别的概率;图像分割任务中的预测模块需要输出图像像素级的类别分类概率图。
头部预测网络可以包括Retina-head、全连接的检测头部网络、Cascade-head、U-Net模型或全卷积的检测头部网络。
在预测模块用于计算机视觉任务中的目标检测任务时,预测模块可以包括区域候选网络(region proposal network,RPN)和头部预测网络。
RPN是两阶段检测网络中的组成模块,用来生成粗糙的目标位置和类标信息的快速回归分类器,主要由两个分支组成,第一个分支对每个锚点进行前景和背景的分类,第二个分支计算边界框相对锚点的偏移量。
通常情况下,采用包含二值分类器和边框回归的两层简单网络来实现RPN。边框回归是一个用于目标检测的回归模型,在滑动窗口得到的目标定位附近寻找一个跟真实窗口更接近损失函数值更小的回归窗口。
此时的头部预测网络用于进一步优化RPN所得的分类检测结果,一般通过比RPN复杂的多的多层网络来实现。RPN与头部预测网络的结合使得目标检测系统能快速的去除大量无效的图像区域,并能集中力量细致的检测更有潜力的图像区域,达到又快又好的效果。
本申请的方法和装置可以应用在人工智能中的很多领域,例如,智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市等领域。
具体地,本申请的方法和装置可以具体应用在自动驾驶、图像分类、图像分割、目标检测、图像检索、图像语义分割、图像质量增强、图像超分辨率和自然语言处理等需要使用(深度)神经网络的领域。
例如,利用本申请的方法得到适用于相册分类的神经网络,就可以利用该相册分类神经网络对图片进行分类,从而为不同的类别的图片打上标签,便于用户查看和查找。另外,这些图片的分类标签也可以提供给相册管理系统进行分类管理,节省用户的管理时间,提高相册管理的效率,提升用户体验。
又如,利用本申请的方法得到可以对行人、车辆、交通标志或车道线等目标进行检测的神经网络,从而可以帮助自动驾驶车辆能够更加安全地在道路上行驶。
又如,例如本申请的方法得到可以对图像中的物体进行分割的神经网络,以便于根据分割结果对当前拍摄图像的内容进行理解,为拍照效果的渲染给出决策依据,从而为用户提供最佳的图像渲染效果。
下面将结合附图,对本申请中的技术方案进行描述。
图1是本申请确定神经网络的方法的一种示例性流程图。该方法包括S110至S140。
S110,获取多个初始搜索空间,所述多个初始搜索空间中,每个初始搜索空间包括一个或多个神经网络,任意两个初始搜索空间中的神经网络的功能不同,同一个初始搜索空间中的任意两个神经网络的功能相同且网络结构不同。
其中,所述多个初始搜索空间中的至少一个初始搜索空间包括多个神经网络。
本申请实施例中,神经网络的网络结构可以包括一个或多个阶段(stage),每个阶段中可以包括至少一个块(block)。其中,块可以由卷积神经网络中的基本原子组成,这些基本原子包括:卷积层、池化层、全连接层或非线性激活层等。块也可以称为基本单元,或基本模组。
在卷积神经网络中,特征通常都是以三维形式(长、宽及深度)存在的,可以将一个特征看成是多个二维特征的叠加,其中,特征的每一个二维特征可以称为特征图。或者,特征的一个特征图(二维特征)也可以称为特征的一个通道。特征图的长和宽也可以称为特征图的分辨率。
神经网络包括多个阶段时,不同阶段中的块的个数可以不同。类似地,不同阶段处理的输入特征图的分辨率和输出特征图的分辨率也可以不同。
神经网络中的一个段包括多个块时,不同块的通道数可以不同。应理解,块的通道数也可以称为块的宽度。类似地,不同块处理的输入特征图的分辨率和输出特征图的分辨率也可以不同。
任意两个神经网络的网络结构不同可以包括:任意两个神经网络所包括的阶段的个数、所述阶段中的块的个数、所述块的通道数、所述阶段的输入特征图的分辨率、所述阶段的输出特征图的分辨率、所述块的输入特征图的分辨率和/或所述块的输出特征图的分辨率不同。
通常情况下,初始搜索空间是根据目标任务确定的。也就是说,需要先确定目标任务,然后根据目标任务确定实现该目标任务所需要的目标神经网络可以由具备哪些功能的神经网络组合而成,再构建具备该功能的神经网络的初始搜索空间。
下面以目标任务为高层(high-level)计算机视觉任务为例,介绍确定初始搜索空间的实现方式。
用于解决高层计算机视觉任务的目标神经网络可以是具备统一的设计范式的卷积神经网络。高层计算机视觉任务包括目标检测、图像分割和图像分类等。
因为用于执行目标检测任务的目标神经网络可以包括主干网络、多层次特征抽取网络和预测网络,且预测网络又包括区域候选网络和头部预测网络,所以可以构建主干网络的初始搜索空间、多层次特征抽取网络的初始搜索空间、区域候选网络的初始搜索空间和头部预测网络的初始搜索空间。此外,还可以构建主干网络的输入图像的分辨率的初始搜索空间。
如图2所示,输入图像的分辨率的初始搜索空间可以包括512×512、800×600、1333×800等;主干网络的初始搜索空间中可以包括深度为18、34(即d=18,34…)等的ResNet,深度为18、34等的ResNext,以及MobileNet;多层次特征抽取网络的初始搜索空间中可以包括主干网络中不同尺度的融合路径,例如包括融合主干网络中相应的特征分辨率尺度相对原图减少的倍数为1、2、3、4的特征金字塔网络FPN1,2,3,4、减少倍数为2、4和5的特征金字塔网络FPN2,4,5;区域候选网络的初始搜索空间可以包括普通区域候选网络和锚点导向的区域候选网络(region proposal by guided anchoring,GA-RPN);头部预测网络的初始搜索空间可以包括全连接的检测头(FC检测头)、包含一阶段检测器的检测头、包含二阶段检测器的检测头和级联次数为2、3等的级联检测头,其中n表示级联次数。
因为用于执行图像分类任务的目标神经网络可以包括主干网络和头部预测网络,所以可以构建主干网络的初始搜索空间和头部预测网络的初始搜索空间。
如图3所示,主干网络的初始搜索空间中可以包括ResNet、ResNext以及DenseNet等用于分类的主干网络;头部预测网络的初始搜索空间可以包括FC。
因为用于执行图像任务的目标神经网络可以包括主干网络、多层次特征抽取网络和头部预测网络,所以可以构建主干网络的初始搜索空间、多层次特征抽取网络的初始搜索空间和头部预测网络的初始搜索空间。
如图4所示,主干网络的初始搜索空间中可以包括ResNet、ResNext和牛津大学视觉几何组(visual geometry group)提出的VGG网络;多层次特征抽取网络的初始搜索空间中可以包括ASPP网络、池化金字塔(pyramid pooling)网络和合并上采样过的多尺度特征(upsampling+concate)网络;头部预测网络的初始搜索空间可以包括U-Net模型、全卷积网络(fully convolutional networks,FCN)和稠密预测单元网络(DPC)。
图2至图4中的“+”表示搜索空间中的神经网络被采样之后的连接关系。
S120,根据所述多个初始搜索空间确定M个候选神经网络,所述候选神经网络包括多个候选子网络,所述多个候选子网络属于所述多个初始搜索空间,且所述多个候选子网络中任意两个候选子网络所属的初始搜索空间不同,M为正整数。
例如,可以从每个初始搜索空间中随机采样一个神经网络,并将采样得到的所有神经网络组成一个完整的神经网络,该完整的神经网络称为候选神经网络。
又如,可以从每个初始搜索空间中随机采样一个神经网络,并将采样得到的所有神经网络组成一个完整的神经网络,然后计算该完整神经网络的每秒浮点运算次数(floating-point operations per second,FLOPS),若该完整神经网络的FLOPS满足任务需求,则将该完整神经网络确定为一个候选神经网络;否则,丢弃该完整神经网络,重新进行采样。
例如,最后确定的目标神经网络是用在计算能力较小的终端设备上时,该完整神经网络的FLOPS通常来说不能超过该终端设备的计算能力,否则将该神经网络应用在该终端设备上执行任务的意义不大。
若每次采样得到完整神经网络与之前采样得到的完整神经网络的网络结构相同,可以丢弃本次采样得到完整神经网络,重新进行采样。
可选地,可以从部分搜索空间中进行采样,以得到候选神经网络模型。这样方式采样得到的候选神经网络可以仅包括部分搜索空间中的神经网络。
根据所述多个初始搜索空间进行多次采样,例如,进行至少M次采样,以得到M个候选神经网络。
S130,对所述M个候选神经网络进行评估,得到所述M个候选神经网络的M个评估结果。
例如,初始化这M个候选神经网络中的每个候选神经网络中的网络参数;向每个候选神经网络输入训练数据,对每个候选神经网络进行训练,从而得到M个训练后的候选神经网络。得到训练后的M个候选神经网络之后,向训练后的这M个候选神经网络输入测试数据,以获取这M个候选神经网络的评估结果。
其中,若构成候选神经网络中的候选子网络在构成候选神经网络之前已经经过训练,则初始化该候选子网络中的网络参数时,可以加载该候选子网络经过之前训练得到的网络参数以完成初始化。这样可以加快该候选神经网络的训练效率,保证该候选神经网络收敛。
例如,候选子网络为通过ImageNet数据集训练过的ResNet时,可以载入通过ImageNet数据集对该ResNet训练得到的网络参数。
ImageNet数据集是指图像网络大规模视觉识别挑战(ImageNet large scalevisual recognition challenge,ILSVRC)竞赛所用公开数据集。
当然,也可以通过其他方式初始化候选神经网络中的网络参数,例如随机生成候选神经网络中的网络参数。
候选神经网络的评估结果可以包括以下一种或多种:候选神经网络的运行速度,精度、参数量或浮点数运算量。其中的精度是指候选神经网络输入测试数据后,执行相应任务,得到的任务结果与预期结果相比的准确度。
通常情况下,候选神经网络的训练次数可以小于本领域神经网络的正常训练次数,候选神经网络每次训练的学习率可以小于本领域神经网络的正常学习率,候选神经网络的训练时长可以小于本领域神经网络的正常训练时长。也就是说,快速对候选神经网络进行训练。
S140,根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,所述第一目标神经网络包括多个目标子网络,所述N个第一目标神经网络与所述M个候选神经网络中的N个候选神经网络一一对应,所述N个第一目标神经网络中第i个第一目标神经网络所包括的多个目标子网络与所述N个候选神经网络中第i个候选神经网络所包括的多个候选子网络一一对应,所述第i个第一目标神经网络所包括的多个目标子网络中的每个目标子网络所包括的块与所述第i个候选神经网络所包括的多个候选子网络中对应的候选子网络所包括的块相同,N为小于或等于M的正整数,i为小于或等于N的正整数。
其中,第一目标神经网络中的目标子网络之间的连接关系与所述候选子网络中对应的候选子网络之间的连接关系相同。
其中,所述每个目标子网络所包括的块与对应的候选子网络所包括的块相同,可以包括:所述每个目标子网络所包括的块中的基本原子与对应的候选子网络所包括的块中的基本原子,这些基本原子的数量以及这些基本原子之间的连接关系相同。例如,候选子网络为多层次特征抽取模块,该多层次特征抽取模块具体为特征金字塔网络,且该特征金字塔网络以尺度2、3和4进行融合时,对应的目标子网络中还是保持2、3、4尺度的融合。又如,候选子网络为预测模块,且该预测模块包括级联次数为2的头部预测网络时,目标子网络仍然包括级联次数为2的头部预测网络。
可以理解的是,所述每个目标子网络中的块的堆叠次数、块的通道数、上采样的位置、特征图下采样的位置或卷积核大小中的一个或多个,与对应的候选子网络中的块的堆叠次数、块的通道数、上采样的位置、特征图下采样的位置或卷积核大小可以不同。
在一些可能的实现方式中,根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,可以包括:根据所述M个评估结果,将所述M个候选神经网络中评估结果满足任务需求的N个候选神经网络确定为所述N个第一目标神经网络。
例如,将所述M个候选神经网络中运行速度和/或精度满足预设的任务需求的N个候选神经网络确定为所述N个第一目标神经网络。
从多个初始搜索空间中采样得到候选神经网络后,对整个候选神经网络进行评估,然后再根据评估结果和该候选神经网络来确定第一目标神经网络。这种采样得到候选神经网络之后,根据候选神经网络整体的评估结果来确定第一目标神经网络,与分别评估候选子网络,然后根据候选子网络的评估结果来确定第一目标神经网络的方式相比,充分考虑候选子网络之间的组合方式,可以获得性能更好的第一目标神经网络,从而使得使用该第一目标神经网络执行任务时,可以获得较好的完成质量。
在一些可能的实现方式中,所述候选神经网络的评估结果可以包括运行速度和精度。这种实现方式中,根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,可以包括:根据所述M个评估结果,从所述M个候选神经网络中确定N个候选神经网络,所述N个候选神经网络为以运行速度和精度为目标时,所述M个候选神经网络的帕累托最优解;根据所述N个候选神经网络确定N个第一目标神经网络。
因为根据该实现方式得到的N个候选神经网络为这M个候选神经网络的帕累托最优解,所以这N个候选神经网络的性能相对于其他候选神经网络的性能更好,这使得根据这N个候选神经网络确定的N个第一目标神经网络的性能也更好。
候选神经网络的评估结果包括运行速度和预测精度,以运行速度为横坐标,以预测精度为纵坐标时,M个候选神经网络的空间位置关系如图5所示。其中,虚线表示这多个第一候选神经网络的帕累托前沿,位于虚线上的第一候选神经网络即为帕累托最优解,位于虚线上的所有第一候选神经网络组合的集合即为帕累托最优集。
其中,从第一次根据M个初始搜索每次根据M个初始搜索空间确定得到新的第一候选神经网络和其评估结果之后,根据该评估结果和之前的第一候选神经网络的评估结果的空间位置关系,重新确定第一候选神经网络的帕累托前沿,即更新第一候选神经网络的帕累托最优集。
本实施例中,根据所述N个候选神经网络确定N个第一目标神经网络时,可以根据第i个候选神经网络确定第i个第一目标神经网络。
在一些可能的实现方式中,根据第i个候选神经网络确定第i个第一目标神经网络,可以包括:将第i个候选神经网络确定为第i个第一目标神经网络。
根据第i个候选神经网络确定第i个第一目标神经网络的另一种实现方式的示例性流程图如图5所示。该方法可以包括S510和S520。
S510,根据第i个候选神经网络的多个候选子网络确定多个目标搜索空间,所述多个目标搜索空间与所述第i个候选神经网络的多个候选子网络一一对应,所述多个目标搜索空间中的每个目标搜索空间包括一个或多个神经网络,所述每个目标搜索空间中的每个神经网络所包括的块与所述每个目标搜索空间对应的候选子网络所包括的块相同。
具体地,根据所述多个候选子网络中的每个候选子网络确定该候选子网络对应的目标搜索空间,最终得到多个目标搜索空间。每个目标搜索空间中可以包括一个或多个神经网络,但是通常来说,至少有一个目标搜索空间包括多个神经网络。
根据第i个候选神经网络的多个候选子网络确定多个目标搜索空间时,可以根据每个候选子网络确定对应的目标搜索空间。例如,基于每个候选子网络中包括的块的结构来确定目标搜索空间。
在一些实现方式中,可以将候选子网络直接作为该候选子网络对应的目标搜索空间,。此时,该目标搜索空间中仅包括一个神经网络。也就是说,该候选子网络保持不变,直接作为一个目标子网络,并搜索第i个候选神经网络中其他候选子网络对应的目标子网络,然后将所有目标子网络组成目标神经网络。
在另一些实现方式中,可以基于候选子网络构建对应的目标搜索空间,该目标搜索空间中包括多个目标子网,且该目标搜索空间中的每个目标子网络所包括的块与该候选子网络所包括的块相同。
此时,每个目标子网络所包括的块与候选子网络所包括的块相同,可以理解为包括:每个目标子网络所包括的块中的基本原子与对应的候选子网络所包括的块中的基本原子,这些基本原子的数量以及这些基本原子之间的连接关系相同。例如,候选子网络为多层次特征抽取模块,该多层次特征抽取模块具体为特征金字塔网络,且该特征金字塔网络以尺度2、3和4进行融合时,对应的目标子网络中还是保持2、3、4尺度的融合。又如,候选子网络为预测模块,且该预测模块包括级联次数为2的头部预测网络时,目标子网络仍然包括级联次数为2的头部预测网络。
可以理解的是,所述每个目标子网络中的块的堆叠次数、块的通道数、上采样的位置、特征图下采样的位置或卷积核大小中的一个或多个,与对应的候选子网络中的块的堆叠次数、块的通道数、上采样的位置、特征图下采样的位置或卷积核大小可以不同。
S520,根据所述多个目标搜索空间确定所述第i个第一目标神经网络,所述第i个第一目标神经网络中的多个目标子网络属于所述多个目标搜索空间,且所述第i个第一目标神经网络的多个目标子网络中任意两个目标子网络所属的目标搜索空间不同。
例如,从每个目标搜索空间中分别选出一个目标子网络,再将选出的所有目标子网络组合成一个完整的神经网络。
从每个目标搜索空间选目标子网络时,可以随机选则一个神经网络作为目标子网络;也可以先计算该目标搜索空间中每个神经网络的参数量,然后选择参数量较小的神经网络作为目标子网络。当然,也可以通过其他方式来选择目标子网络,例如,使用现有技术中搜索神经网络的方法来选择目标子网络,本实施例对此不作限制。
得到完整的神经网络之后,一种实现方式中,可以计算该神经网络的FLOPS,在该神经网络的FLOPS满足任务需要的情况下,将该完整神经网络作为第一目标神经网络。
针对N个候选神经网络中每个候选神经网络均执行图5所示的方法之后,可以得到N个第一目标神经网络。
本实施例中,确定得到N个第一目标神经网络之后,可以对这N个第一目标神经网络进行评估,获取该N个第一目标神经网络的N个评估结果,并保存这N个评估结果,以便于用户根据这N个评估结果判断哪些第一目标神经网络满足任务需求,从而确定是否需要选用哪些第一目标神经网络。
每个第一目标神经网络的评估结果可以包括以下一种或多种:运行速度,精度或参数量。其中的精度是指第一目标神经网络输入测试数据后,执行相应任务,得到的任务结果与预期结果相比的准确度。
对第一目标神经网络进行评估的一种实现方式中,可以包括:初始化第一目标神经网络中的网络参数;向第一目标神经网络输入训练数据,对第一目标神经网络进行训练;向训练后的第一目标神经网络输入测试数据,以获取第一目标神经网络的评估结果。
本实施例中,第一目标神经网络的训练次数可以大于候选神经网络的训练次数,第一目标神经网络每次训练的学习率可以大于候选神经网络的学习率,第一目标神经网络的训练时长可以小于候选神经网络的正常训练时长。这样可以训练得到精度更高的目标神经网络。
本实施例中,在获得N个第一目标神经网络之后,在第一种实现方式中,可以在第一目标神经网络中每个目标子网络中的每个卷积层和/或每个全连接层之后添加组合正则化(group normalization,GN)层,以得到与该第一目标神经网络对应的第二目标神经网络。该第二目标神经网络的性能以及训练速度相比于第一目标神经网络而言,将得到提高。其中,若目标子网络中原本存在分批正则化(batch normalization,BN)层,则可以将该BN层替换为GN层。
例如,该第一目标神经网络为用于执行计算机视觉任务的卷积神经网络,且该卷积神经网络为由主干网络模块、多层次特征抽取模块和预测模块构成的神经网络,可以采用GN层替代主干网络模块中的BN层,并在多层次特征抽取模块和预测模块中每个卷积层和每个全连接层之后增加GN层,从而得到对应的第二目标神经网络。
因为计算机视觉任务需要较大尺寸的输入图像,受限于用于训练的图形处理器(graphics processing unit,GPU)的显存容量,所以训练过程中通常采用较小的输入批次(即一次输入的图像数较少)。这会导致采用BN相关的策略估计的输入数据的统计量(均值和方差)不准确,从而降低训练后的第一目标神经网络的精度。而GN对批次大小不敏感,因此能更好地估计输入数据的统计量,从而提高第二目标神经网络的性能以及加快其训练速度。
本申请实施例中,在获得N个第一目标神经网络之后,在第二种实现方式中,可以标准化每个第一目标神经网络中所有卷积层的权重(weight standardization,WS),从而得到对应的第二目标神经网络。也就是说,除了对激活函数进行标准化,还对卷积层的权重进行标准化,以加快训练速度,并且规避了对输入批次大小的依赖。
对卷积层的权重进行标准化,也可以称为对卷积层进行归一化。例如,可以通过下面的公式对卷积层进行归一化处理:
I=Cin×K
其中,表示卷积层的权重矩阵,*表示卷积操作,O表示输出的通道数,Cin表示输入的通道数,I表示每个输出通道在卷积核区域内的输入通道数,x表示卷积层的输入,y表示卷积层的输出,表示第i个输出通道对应的第j个卷积核区域内的输入通道上的权重;K表示卷积核大小。
例如,该第一目标神经网络为用于执行计算机视觉任务的卷积神经网络时,该卷积神经网络的训练过程中通常需要优化多个损失函数。例如,该第一目标神经网络为用于目标检测的卷积神经网络时,需要优化区域候选网络中的前景与背景的分类损失函数和边界框回归损失函数以及头部预测网络中具体类别的分类损失函数和边界框回归损失函数。这些损失函数的复杂性会阻碍损失函数的梯度向主干网络反向传播。而对卷积层中的权重进行标准化处理,可以是各个损失函数更加平滑,从而有助于损失函数的梯度向主干网络反向传播,从而可以提升对应的第二目标神经网络的性能和提升其训练速度。
本申请实施例中,在获得N个第一目标神经网络之后,在第三种实现方式中,可以既标准化每个第一目标神经网络中所有卷积层的权重,又在该第一目标神经网络中每个目标子网络中的每个卷积层和每个全连接层之后添加组合正则化层。
本实施例中,获得N个第二目标神经网络之后,可以获取这N个第二目标神经网络的评估结果,获取方式可以参考第一目标神经网络的评估结果的获取方式,此处不再赘述。
本实施例中,得到候选神经网络和候选神经网络的评估结果之后,可以根据该评估结果更新候选神经网络的帕累托最优集。
候选神经网络的评估结果包括运行速度和预测精度时,以运行速度为横坐标,以预测精度为纵坐标构建二维空间坐标系,则多次执行S120和S130得到的多个候选神经网络的空间位置关系如图6所示。其中,一个点表示一个候选神经网络的评估结果,虚线表示多个候选神经网络的帕累托前沿,位于虚线上的候选神经网络即为帕累托最优解,位于虚线上的所有候选神经网络组合的集合即为帕累托最优集。
每次确定得到新的候选神经网络和其评估结果之后,根据该评估结果和之前的候选神经网络的评估结果的空间位置关系,重新确定候选神经网络的帕累托前沿,即更新候选神经网络的帕累托最优集。
在一些实现方式中,作为帕累托最优解的候选神经网络的评估结果可以认为是满足任务需求的评估结果,从而可以根据该候选神经网络进一步确定目标神经网络。
在另一些实现方式中,可以从帕累托最优集中筛选出一个或多个帕累托最优解,这一个或多个帕累托最优解的评估结果才被认为是满足任务需求的评估结果。例如,任务需求要求第一目标神经网络的运行速度小于某个阈值时,帕累托最优集中运行速度小于该阈值的第一候选神经网络的评估结果才是满足任务需求的评估结果。
针对满足任务需求的候选神经网络,构建该候选神经网络中的每个候选子网络的目标搜索空间,并从每个候选子网络的目标搜索空间中搜索出该候选子网络对应的目标子网络,多个目标搜索空间中搜索得到的每个目标子网络即构成第一目标神经网络。
本实施例中,可以并行对多个候选神经网络执行图3中的步骤,以得到这多个候选神经网络对应的多个目标神经网络。这样可以节省搜索时间,提高搜索效率。
下面结合图7介绍本申请确定神经网络的方法的一种示例性流程图。
S701,准备任务数据。具体而言,准确训练数据和测试数据。
S702,初始化初始搜索空间和初始搜索参数。
其中,初始化初始搜索空间的实现方式可以参考前述确定初始搜索空间的实现方式,此处不再赘述。
其中,初始搜索参数包括根据对每个候选神经网络进行训练时的训练参数。例如,初始搜索参考可以包括对每个候选神经网络的训练次数、学习率和/或训练时长等。
S703,采样候选神经网络。该步骤的实现方式可以参考前述根据多个初始化搜索空间确定候选神经网络的实现方式,此处不再赘述。
S704,性能评估。该步骤的实现方式可以参考前述对候选神经网络进行评估的实现方式,此处不再赘述。
S705,更新帕累托前沿。该步骤可以参考前述更新帕累托前沿的实现方式,此处不再赘述。
S706,判断是否满足终止条件,是则重复执行S703,否则执行S707。满足终止条件时,可以搜索得到多个候选神经网络。
例如,当前候选神经网络与上一个候选神经网络的评估结果之间的差值小于或等于预设的阈值时,判断满足终止条件。
S707,帕累托前沿筛选。即S705得到的帕累托前沿中筛选出n个候选神经网络,这n个候选神经网络按顺序即为E1至En。然后针对这n个候选神经网络并行执行S708至S712。
例如,从S705得到的帕累托前沿中筛选出n个运行速度小于或等于预设的阈值的候选神经网络。
然后针对筛选出的n个候选神经网络中的每个候选神经网络执行图8中的方法。
S808,初始化目标搜索空间以及目标搜索参数。
其中,初始化目标搜索空间的实现方式可以参考前述确定目标搜索空间的实现方式,此处不再赘述。
其中,目标搜索参数包括根据对每个第一目标神经网络进行训练时的训练参数。例如,目标搜索参考可以包括对每个第一目标神经网络的训练次数、学习率和/或训练时长等。
S809,采样第一目标神经网络。该步骤的实现方式可以参考前述根据多个目标化搜索空间确定第一目标神经网络的实现方式,此处不再赘述。
S810,性能评估。该步骤的实现方式可以参考前述对第一目标神经网络进行评估的实现方式,此处不再赘述。
S811,更新帕累托前沿。将第一目标神经网络看作候选神经网络,根据第一目标神经网络的评估结果更新S707中筛选得到的n个候选神经网络的帕累托前沿,具体更新方式参考前述内容,此处不再赘述。
S812,判断是否满足终止条件,是则重复执行S809,否则执行S813。
例如,当前第一目标神经网络与上一次执行S809得到的第一目标神经网络的评估结果之间的差值小于或等于预设的阈值时,判断满足终止条件。
以图6所示的帕累托前沿为例,满足终止条件之后,最终更新得到的帕累托前沿如图11中的实线所示。如图11所示,最后更新得到的帕累托前沿对应的目标神经网络,在同等运行速度的约束下,预测精度更优。
S813,输出第一目标神经网络。此外,还可以输出这n个第一目标神经网络的评估结果。
例如,输出S811更新后的帕累托前沿对应的第一目标神经网络。
下面结合表1介绍使用本申请的方法得到的6个示例性第一目标神经网络(E1至E6)的结构以及相关信息。
表1第一目标神经网络的网络结构与相关信息表
表1中,mAP表示目标检测预测结果的平均准确率。对于主干网络模块,第一个占位符是卷积模组选择;第二个是基础通道数;“-”以不同的分辨率分隔每个阶段,后一阶段相较于前一阶段分辨率减半;“1”表示不改变通道的常规块,“2”表示该块中基础通道数量增加一倍。对于多层次特征抽取模块的网络结构(Neck),P1-P5表示被选中的来自主干网络模块的特征层次和“c”表示Neck的输出的通道数;对于RCNN头;“2FC”是两个共享的全连接层;“n”表示预测头部网络的级联次数;时间是每个图片的输入第一目标神经网络后的处理时间,单位为毫秒(ms);主干网络模块的每秒浮点运算次数的单位为吉(G)。
下面结合表2介绍对第一目标神经网络的卷积层权重进行标准化以及在第一目标神经网络中每个卷积层和全连接层之后添加组合正则化层之后,得到的第二目标神经网络的实验结果。
表2不同训练方法得到的神经网络的性能表
训练方法 | 纪元 | 批次 | 学习率 | mAP |
BN | 12 | 2*8 | 0.02 | 24.8 |
BN | 12 | 8*8 | 0.20 | 28.3 |
GN | 12 | 2*8 | 0.02 | 29.4 |
GN+WS | 12 | 4*8 | 0.02 | 30.7 |
其中,第一目标神经网络的主干网络模块是ResNet-50结构,多层次特征抽取模块是特征金字塔网络,头部预测模块是两层FC。并且,采用不同策略对该第一目标神经网络进行有效性分析实验训练,并在COCO(common objects in context)数据集上进行评估。COCO数据集是微软团队构建的,在目标检测领域比较有名的数据集;Epoch是训练纪元数(遍历一次训练子集表示一个训练纪元),Batch Size是输入批次大小,实验1至实验2是遵循标准检测模型的训练程序,分别训练了12个纪元。通过比较实验1、2、3可以发现,较小的输入批次会导致对输入数据的统计量估计不正确,从而导致准确率下降;而使用分组正则化可以缓解此问题,并将mAP从24.8%提高到29.4%。根据实验3与实验4对比发现,添加WS可以进一步平滑训练过程,将mAP提高了1.3%。因此,我们从头开始训练检测网络的方法,甚至比使用ImageNet预先训练的参数作为初始化的方法,更早结束训练。
图9是本申请训练神经网络的装置的一种示例性结构图。该装置900包括获取模块910,确定模块920和评估模块930。该装置900可以实现前述图1、图5或图7所示的方法。
例如,获取模块910用于执行S110,确定模块220用于执行S120和S140,评估模块930用于执行S130。
装置900可部署在云环境中,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。装置900可以是云数据中心中用于对神经网络进行训练的服务器。装置900也可以是创建在云数据中心中的用于对神经网络进行训练的虚拟机。装置900还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于对神经网络进行训练,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,装置900中的获取模块910、确定模块920和评估模块930可以分布式地部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。又如,确定模块920包括多个子模块时,这多个子模块可以部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。
装置900可以由云服务提供商在云服务平台抽象成一种确定神经网络的云服务提供给用户,用户在云服务平台购买该云服务后,云环境利用该云服务向用户提供确定神经网络的云服务,用户可以通过应用程序接口(application program interface,API)或者通过云服务平台提供的网页界面上传任务需求至云环境,由装置900接收任务需求,确定用于实现该任务的神经网络,最终得到的神经网络由装置900返回至用户所在的边缘设备。
当装置900为软件装置时,装置900也可以单独部署在任意环境的一个计算设备上。
本申请还提供一种如图10所示的装置1000,装置1000包括处理器1002、通信接口1003和存储器1004。装置1000的一种示例为芯片。装置1000的另一种示例为计算设备。
处理器1002、存储器1004和通信接口1003之间可以通过总线通信。存储器1004中存储有可执行代码,处理器1002读取存储器1004中的可执行代码以执行对应的方法。存储器1004中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等。
例如,存储器1004中的可执行代码用于实现图1所示的方法,处理器1002读取存储器1004中的该可执行代码以执行图1所示的方法。
其中,处理器1002可以为中央处理器(central processing unit,CPU)。存储器1004可以包括易失性存储器(volatile memory),例如随机存取存储器(random accessmemory,RAM)。存储器1004还可以包括非易失性存储器(2non-volatile memory,2NVM),例如只读存储器(2read-only memory,2ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态启动器(solid state disk,SSD)。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种确定神经网络的方法,其特征在于,包括:
获取多个初始搜索空间,所述初始搜索空间包括一个或多个神经网络,任意两个所述初始搜索空间中的神经网络的功能不同,同一个所述初始搜索空间中的任意两个神经网络的功能相同且网络结构不同;
根据所述多个初始搜索空间确定M个候选神经网络,所述候选神经网络包括多个候选子网络,所述多个候选子网络属于所述多个初始搜索空间,且所述多个候选子网络中任意两个候选子网络所属的初始搜索空间不同,M为正整数;
对所述M个候选神经网络进行评估,得到M个评估结果;
根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,所述第一目标神经网络包括多个目标子网络,所述N个第一目标神经网络与所述M个候选神经网络中的N个候选神经网络一一对应,所述N个第一目标神经网络中第i个第一目标神经网络所包括的多个目标子网络与所述N个候选神经网络中第i个候选神经网络所包括的多个候选子网络一一对应,所述第i个第一目标神经网络所包括的多个目标子网络中的每个目标子网络所包括的块与所述第i个候选神经网络所包括的多个候选子网络中对应的候选子网络所包括的块相同,N为小于或等于M的正整数,i为小于或等于N的正整数。
2.如权利要求1所述的方法,其特征在于,所述候选神经网络的评估结果包括以下一种或多种:运行速度,精度、参数量或浮点运算次数。
3.如权利要求2所述的方法,其特征在于,所述候选神经网络的评估结果包括运行速度和精度;
其中,所述根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,包括:
根据所述M个评估结果,从所述M个候选神经网络中确定所述N个候选神经网络,所述N个候选神经网络为以运行速度和精度为目标时,所述M个候选神经网络的帕累托最优解;
根据所述N个候选神经网络确定所述N个第一目标神经网络。
4.如权利要求3所述的方法,其特征在于,所述根据所述N个候选神经网络确定所述N个第一目标神经网络,包括:
根据所述第i个候选神经网络的多个候选子网络确定多个目标搜索空间,所述多个目标搜索空间与所述第i个候选神经网络的多个候选子网络一一对应,所述多个目标搜索空间中的每个目标搜索空间包括一个或多个神经网络,所述每个目标搜索空间中的每个神经网络所包括的块与所述每个目标搜索空间对应的候选子网络所包括的块相同;
根据所述多个目标搜索空间确定所述第i个第一目标神经网络,所述第i个第一目标神经网络中的多个目标子网络属于所述多个目标搜索空间,且所述第i个第一目标神经网络的多个目标子网络中任意两个目标子网络所属的目标搜索空间不同。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
根据所述N个第一目标神经网络确定N个第二目标神经网络,其中,所述N个第二目标神经网络中的第i个第二目标神经网络为所述第i个第一目标神经网络经过如下一项或多种处理得到的:在所述第i个第一目标神经网络的目标子网络中的卷积层之后添加组合正则化层,在所述第i个第一目标神经网络的目标子网络中的全连接层之后添加组合正则化层,对所述第i个第一目标神经网络的目标子网络中的卷积层的权重进行归一化处理。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
对所述N个第二目标神经网络进行评估,得到所述N个第二目标神经网络的评估结果。
7.如权利要求6所述的方法,其特征在于,所述对所述N个第二目标神经网络进行评估,得到所述N个第二目标神经网络的评估结果,包括:
随机初始化所述第i个第二目标神经网络中的网络参数;
根据训练数据对所述第i个第二目标神经网络进行训练;
根据测试数据对训练后的所述第i个第二目标神经网络进行测试,以得到训练后的所述第i个第二目标神经网络的评估结果。
8.如权利要求1至7中任一项所述的方法,其特征在于,所述第一目标神经网络用于目标检测,其中,所述多个初始搜索空间包括第一初始搜索空间、第二初始搜索空间、第三初始搜索空间和第四初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络和不同深度的移动端网络中至少一种,所述第二初始搜索空间包括不同层次的特征的连接路径,所述第三初始搜索空间包括普通区域候选网络和锚点导向的区域候选网络中至少一种,所述第四初始搜索空间包括一阶段的检测头部网络、全链接的检测头部网络、全卷积的检测头部网络和级联检测头部网络中至少一种。
9.如权利要求1至7中任一项所述的方法,其特征在于,所述第一目标神经网络用于图像分类,其中,所述多个初始搜索空间包括第一初始搜索空间和第二初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络和不同宽度的稠密连接网络中至少一种,所述第二初始搜索空间中的神经网络包括全连接层。
10.如权利要求1至7中任一项所述的方法,其特征在于,所述第一目标神经网络用于图像分割,其中,所述多个初始搜索空间包括第一初始搜索空间、第二初始搜索空间和第三初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络和不同宽度的高分辨率网络中至少一种,所述第二初始搜索空间包括空洞空间卷积池化金字塔网络、池化金字塔网络和包括密集预测单元的网络中至少一种,所述第三初始搜索空间包括U-Net模型和全卷积网络中至少一种。
11.一种确定神经网络的装置,其特征在于,包括:
获取模块,用于获取多个初始搜索空间,所述初始搜索空间包括一个或多个神经网络,任意两个所述初始搜索空间中的神经网络的功能不同,同一个所述初始搜索空间中的任意两个神经网络的功能相同且网络结构不同;
确定模块,用于根据所述多个初始搜索空间确定M个候选神经网络,所述候选神经网络包括多个候选子网络,所述多个候选子网络属于所述多个初始搜索空间,且所述多个候选子网络中任意两个候选子网络所属的初始搜索空间不同,M为正整数;
评估模块,用于对所述M个候选神经网络进行评估,得到M个评估结果;
所述确定模块还用于:根据所述M个评估结果和所述M个候选神经网络,确定N个第一目标神经网络,所述第一目标神经网络包括多个目标子网络,所述N个第一目标神经网络与所述M个候选神经网络中的N个候选神经网络一一对应,所述N个第一目标神经网络中第i个第一目标神经网络所包括的多个目标子网络与所述N个候选神经网络中第i个候选神经网络所包括的多个候选子网络一一对应,所述第i个第一目标神经网络所包括的多个目标子网络中的每个目标子网络所包括的块与所述第i个候选神经网络所包括的多个候选子网络中对应的候选子网络所包括的块相同,N为小于或等于M的正整数,i为小于或等于N的正整数。
12.如权利要求11所述的装置,其特征在于,所述候选神经网络的评估结果包括以下一种或多种:运行速度,精度、参数量或浮点运算次数。
13.如权利要求12所述的装置,其特征在于,所述候选神经网络的评估结果包括运行速度和精度;
其中,所述确定模块具体用于:
根据所述M个评估结果,从所述M个候选神经网络中确定所述N个候选神经网络,所述N个候选神经网络为以运行速度和精度为目标时,所述M个候选神经网络的帕累托最优解;
根据所述N个候选神经网络确定所述N个第一目标神经网络。
14.如权利要求13所述的装置,其特征在于,所述确定模块具体用于:
根据所述第i个候选神经网络的多个候选子网络确定多个目标搜索空间,所述多个目标搜索空间与所述第i个候选神经网络的多个候选子网络一一对应,所述多个目标搜索空间中的每个目标搜索空间包括一个或多个神经网络,所述每个目标搜索空间中的每个神经网络所包括的块与所述每个目标搜索空间对应的候选子网络所包括的块相同;
根据所述多个目标搜索空间确定所述第i个第一目标神经网络,所述第i个第一目标神经网络中的多个目标子网络属于所述多个目标搜索空间,且所述第i个第一目标神经网络的多个目标子网络中任意两个目标子网络所属的目标搜索空间不同。
15.如权利要求11至14中任一项所述的装置,其特征在于,所述确定模块还用于:
根据所述N个第一目标神经网络确定N个第二目标神经网络,其中,所述N个第二目标神经网络中的第i个第二目标神经网络为所述第i个第一目标神经网络经过如下一项或多种处理得到的:在所述第i个第一目标神经网络的目标子网络中的卷积层之后添加组合正则化层,在所述第i个第一目标神经网络的目标子网络中的全连接层之后添加组合正则化层,对所述第i个第一目标神经网络的目标子网络中的卷积层的权重进行归一化处理。
16.如权利要求15所述的装置,其特征在于,所述评估模块还用于:
对所述N个第二目标神经网络进行评估,得到所述N个第二目标神经网络的评估结果。
17.如权利要求16所述的装置,其特征在于,所述评估模块具体用于:
随机初始化所述第i个第二目标神经网络中的网络参数;
根据训练数据对所述第i个第二目标神经网络进行训练;
根据测试数据对训练后的所述第i个第二目标神经网络进行测试,以得到训练后的所述第i个第二目标神经网络的评估结果。
18.如权利要求11至17中任一项所述的装置,其特征在于,所述第一目标神经网络用于目标检测,其中,所述多个初始搜索空间包括第一初始搜索空间、第二初始搜索空间、第三初始搜索空间和第四初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络和不同深度的移动端网络中至少一种,所述第二初始搜索空间包括不同层次的特征的连接路径,所述第三初始搜索空间包括普通区域候选网络和锚点导向的区域候选网络中至少一种,所述第四初始搜索空间包括一阶段的检测头部网络、全链接的检测头部网络、全卷积的检测头部网络和级联检测头部网络中至少一种。
19.如权利要求11至17中任一项所述的装置,其特征在于,所述第一目标神经网络用于图像分类,其中,所述多个初始搜索空间包括第一初始搜索空间和第二初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络和不同宽度的稠密连接网络中至少一种,所述第二初始搜索空间中的神经网络包括全连接层。
20.如权利要求11至17中任一项所述的装置,其特征在于,所述第一目标神经网络用于图像分割,其中,所述多个初始搜索空间包括第一初始搜索空间、第二初始搜索空间和第三初始搜索空间,所述第一初始搜索空间包括不同深度的残差网络、不同深度的二代残差网络和不同宽度的高分辨率网络中至少一种,所述第二初始搜索空间包括空洞空间卷积池化金字塔网络、池化金字塔网络和包括密集预测单元的网络中至少一种,所述第三初始搜索空间包括U-Net模型和全卷积网络中至少一种。
21.一种确定神经网络的装置,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,实现如权利要求1至10中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于计算设备执行的指令,当所述计算设备执行所述指令时,实现如权利要求1至10中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911090334.1A CN112784954A (zh) | 2019-11-08 | 2019-11-08 | 确定神经网络的方法和装置 |
PCT/CN2020/095409 WO2021088365A1 (zh) | 2019-11-08 | 2020-06-10 | 确定神经网络的方法和装置 |
US17/738,685 US20220261659A1 (en) | 2019-11-08 | 2022-05-06 | Method and Apparatus for Determining Neural Network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911090334.1A CN112784954A (zh) | 2019-11-08 | 2019-11-08 | 确定神经网络的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112784954A true CN112784954A (zh) | 2021-05-11 |
Family
ID=75748498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911090334.1A Pending CN112784954A (zh) | 2019-11-08 | 2019-11-08 | 确定神经网络的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220261659A1 (zh) |
CN (1) | CN112784954A (zh) |
WO (1) | WO2021088365A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113408634A (zh) * | 2021-06-29 | 2021-09-17 | 深圳市商汤科技有限公司 | 模型推荐方法及装置、设备、计算机存储介质 |
CN114675975A (zh) * | 2022-05-24 | 2022-06-28 | 新华三人工智能科技有限公司 | 一种基于强化学习的作业调度方法、装置及设备 |
CN115099393A (zh) * | 2022-08-22 | 2022-09-23 | 荣耀终端有限公司 | 神经网络结构搜索方法及相关装置 |
CN115714920A (zh) * | 2021-08-20 | 2023-02-24 | 哲库科技(上海)有限公司 | 一种用于图像处理的方法、芯片、装置及电子设备 |
TWI805446B (zh) * | 2021-08-20 | 2023-06-11 | 聯發科技股份有限公司 | 執行網路空間搜索的方法和系統 |
WO2023143121A1 (zh) * | 2022-01-29 | 2023-08-03 | 华为技术有限公司 | 一种数据处理方法及其相关装置 |
CN117010447A (zh) * | 2023-10-07 | 2023-11-07 | 成都理工大学 | 基于端到端的可微架构搜索方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11651216B2 (en) * | 2021-06-09 | 2023-05-16 | UMNAI Limited | Automatic XAI (autoXAI) with evolutionary NAS techniques and model discovery and refinement |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109919304B (zh) * | 2019-03-04 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、可读存储介质和计算机设备 |
CN110298437B (zh) * | 2019-06-28 | 2021-06-01 | Oppo广东移动通信有限公司 | 神经网络的分割计算方法、装置、存储介质及移动终端 |
-
2019
- 2019-11-08 CN CN201911090334.1A patent/CN112784954A/zh active Pending
-
2020
- 2020-06-10 WO PCT/CN2020/095409 patent/WO2021088365A1/zh active Application Filing
-
2022
- 2022-05-06 US US17/738,685 patent/US20220261659A1/en active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113408634A (zh) * | 2021-06-29 | 2021-09-17 | 深圳市商汤科技有限公司 | 模型推荐方法及装置、设备、计算机存储介质 |
CN113408634B (zh) * | 2021-06-29 | 2022-07-05 | 深圳市商汤科技有限公司 | 模型推荐方法及装置、设备、计算机存储介质 |
CN115714920A (zh) * | 2021-08-20 | 2023-02-24 | 哲库科技(上海)有限公司 | 一种用于图像处理的方法、芯片、装置及电子设备 |
TWI805446B (zh) * | 2021-08-20 | 2023-06-11 | 聯發科技股份有限公司 | 執行網路空間搜索的方法和系統 |
WO2023143121A1 (zh) * | 2022-01-29 | 2023-08-03 | 华为技术有限公司 | 一种数据处理方法及其相关装置 |
CN114675975A (zh) * | 2022-05-24 | 2022-06-28 | 新华三人工智能科技有限公司 | 一种基于强化学习的作业调度方法、装置及设备 |
CN114675975B (zh) * | 2022-05-24 | 2022-09-30 | 新华三人工智能科技有限公司 | 一种基于强化学习的作业调度方法、装置及设备 |
CN115099393A (zh) * | 2022-08-22 | 2022-09-23 | 荣耀终端有限公司 | 神经网络结构搜索方法及相关装置 |
CN117010447A (zh) * | 2023-10-07 | 2023-11-07 | 成都理工大学 | 基于端到端的可微架构搜索方法 |
CN117010447B (zh) * | 2023-10-07 | 2024-01-23 | 成都理工大学 | 基于端到端的可微架构搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021088365A1 (zh) | 2021-05-14 |
US20220261659A1 (en) | 2022-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784954A (zh) | 确定神经网络的方法和装置 | |
CN109145939B (zh) | 一种小目标敏感的双通道卷积神经网络语义分割方法 | |
Cortinhal et al. | Salsanext: Fast, uncertainty-aware semantic segmentation of lidar point clouds | |
CN111382868B (zh) | 神经网络结构搜索方法和神经网络结构搜索装置 | |
CN113536383B (zh) | 基于隐私保护训练图神经网络的方法及装置 | |
CN113570029A (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
CN106548159A (zh) | 基于全卷积神经网络的网纹人脸图像识别方法与装置 | |
CN113128678A (zh) | 神经网络的自适应搜索方法及装置 | |
CN117157678A (zh) | 用于基于图的全景分割的方法和系统 | |
CN110889318A (zh) | 利用cnn的车道检测方法和装置 | |
CN112446888B (zh) | 图像分割模型的处理方法和处理装置 | |
CN113822315A (zh) | 属性图的处理方法、装置、电子设备及可读存储介质 | |
US20220207861A1 (en) | Methods, devices, and computer readable storage media for image processing | |
CN113806582B (zh) | 图像检索方法、装置、电子设备和存储介质 | |
CN114299607A (zh) | 一种基于自动驾驶汽车的人车碰撞危险度分析方法 | |
CN112464930A (zh) | 目标检测网络构建方法、目标检测方法、装置和存储介质 | |
Cancela et al. | Unsupervised trajectory modelling using temporal information via minimal paths | |
CN111508252A (zh) | 利用v2x信息集成技术更新高清地图的方法和装置 | |
WO2023125628A1 (zh) | 神经网络模型优化方法、装置及计算设备 | |
CN114612774A (zh) | 目标检测及其模型构建方法、电子设备和存储介质 | |
CN114998592A (zh) | 用于实例分割的方法、装置、设备和存储介质 | |
CN117671597B (zh) | 一种老鼠检测模型的构建方法和老鼠检测方法及装置 | |
Wang | Remote sensing image semantic segmentation algorithm based on improved ENet network | |
Ye et al. | Efficient transformer-based 3d object detection with dynamic token halting | |
CN116861262B (zh) | 一种感知模型训练方法、装置及电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |