CN114021707B - 模型获取方法、系统、电子设备和存储介质 - Google Patents
模型获取方法、系统、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114021707B CN114021707B CN202210008648.8A CN202210008648A CN114021707B CN 114021707 B CN114021707 B CN 114021707B CN 202210008648 A CN202210008648 A CN 202210008648A CN 114021707 B CN114021707 B CN 114021707B
- Authority
- CN
- China
- Prior art keywords
- model
- node
- directed acyclic
- acyclic graph
- target
- 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
Links
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/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及神经网络结构搜索领域,特别涉及一种模型获取方法、系统、电子设备和存储介质。模型获取方法包括:获取模型获取信息,所述模型获取信息包括基础模型;对所述基础模型进行编码,生成所述基础模型的第一有向无环图;对所述第一有向无环图进行初始化操作,至少生成一个第二有向无环图;对各所述第二有向无环图进行模型解析,生成各所述第二有向无环图对应的各第一模型;根据预设的模型选取规则从各所述第一模型中选取目标模型,将所述目标模型和所述目标模型对应的所述第二有向无环图作为模型获取结果并输出。旨在实现神经网络结构模型获取时的网络深度和神经网络的节点数不受限制,和灵活的描述任意神经网络结构。
Description
技术领域
本申请实施例涉及神经网络结构搜索领域,特别涉及一种模型获取方法、系统、电子设备和存储介质。
背景技术
现有神经网络大多是由有着丰富神经网络和图像处理知识的专家们针对特定的数据集,在反复的试错中设计出的网络结构。随着数据集的改变,有时网络结构还需要作出相应的修改。这需要大量的时间、精力、丰富的计算资源和专业知识。神经网络结构(NeuralArchitecture Search ,简称NAS)简化了神经网络的设计过程,降低了使用门槛。有多种搜索策略可以用于NAS,遗传算法是一种基于基因选择的优化搜索算法,它模拟了自然界中种群优胜略汰的进化过程,是一种全局最优的稳定的优化算法,自然也成为了近年来的研究热点。
然而,基于遗传算法的搜索都要对搜索空间进行编码,编码方式通常分为固定长度和可变长度。固定长度的编码方式是指个体的编码长度在进化过程中不变,该方式实现起来直接简单,但也正是因为编码长度的固定,限制了搜索的网络深度,编码长度在一定意义上也成为了需要专业知识才能指定的超参,NAS的自动性下降。可变长度的编码方式在模型结构表达上更加丰富自由,有多种实现方式。可以利用字符串进行编码,这种编码方式下,字符串和表现型进行了绑定,不能灵活的描述任意神经网络结构模型,局限较大。
发明内容
本申请实施例的主要目的在于提出一种模型获取方法、系统、电子设备和存储介质。旨在实现神经网络结构模型获取时的网络深度和神经网络的节点数不受限制,和灵活的描述任意神经网络结构。
为实现上述目的,本申请实施例提供了一种模型获取方法,包括:获取模型获取信息,所述模型获取信息包括基础模型;对所述基础模型进行编码,生成所述基础模型的第一有向无环图;对所述第一有向无环图进行初始化操作,至少生成一个第二有向无环图;对各所述第二有向无环图进行模型解析,生成各所述第二有向无环图对应的各第一模型;根据预设的模型选取规则从各所述第一模型中选取目标模型,将所述目标模型和所述目标模型对应的所述第二有向无环图作为模型获取结果并输出。
为实现上述目的,本申请实施例还提供一种模型获取系统,包括:获取模块,用于获取模型获取信息,所述模型获取信息包括基础模型;编码模块,用于对所述基础模型进行编码,生成所述基础模型的第一有向无环图;生成模块,用于对所述第一有向无环图进行初始化操作,至少生成一个第二有向无环图;解码模块,用于对各所述第二有向无环图进行模型解析,生成各所述第二有向无环图对应的各第一模型;输出模块,用于根据预设的模型选取规则从各所述第一模型中选取目标模型,将所述目标模型和所述目标模型对应的所述第二有向无环图作为模型获取结果并输出。
为实现上述目的,本申请实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的模型获取方法。
为实现上述目的,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的模型获取方法。
本申请提出的模型获取方法,在模型获取的过程中,获取模型获取信息,所述模型获取信息包括基础模型;对所述基础模型进行编码,生成所述基础模型的第一有向无环图;对所述第一有向无环图进行初始化操作,至少生成一个第二有向无环图;对各所述第二有向无环图进行模型解析,生成各所述第二有向无环图对应的各第一模型;根据预设的模型选取规则从各所述第一模型中选取目标模型,将所述目标模型和所述目标模型对应的所述第二有向无环图作为模型获取结果并输出。通过将基础模型编码为第一有向无环图,使得本申请可以使用第一有向无环图表示任意结构的神经网络模型,对神经网络模型中的节点数、深度和宽度都没有限制;解决了由于编码长度的固定限制模型获取时的网络深度和不能灵活描述任意神经网络结构的技术问题。
附图说明
图1是本申请实施方式提供的模型获取方法的流程图;
图2是本申请实施方式提供的模型获取方法的步骤102的流程图;
图3是本申请实施方式提供的模型获取方法的流程图;
图4是本申请实施方式提供的模型获取方法的流程图;
图5是本申请实施方式提供的残差块的结构示意图;
图6是本申请实施方式提供的OP搜索时的DAG编码示意图;
图7是本申请实施方式提供的block搜索时的DAG编码示意图;
图8是本申请实施方式提供的节点插入的进化操作的示意图;
图9是本申请实施方式提供的节点插入的进化操作的示意图;
图10是本申请实施方式提供的节点插入的进化操作的示意图;
图11是本申请实施方式提供的模型获取系统的结构示意图;
图12是本申请实施方式提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
在神经网络结构模型的获取过程中,也可以用笛卡尔遗传规划(CartesianGenetic Programming,简称CGP)的方式对网络结构进行编码,每个基因记录了节点类型和连接,把网络表示成一个有向无环图(Directed Acyclic Graph ,简称DAG)。CGP需要指定3个参数,行数Ncol、列数Nrow和回溯度Levels-back,这3个参数及节点之间的连接规则保证了DAG的有效性。更具体一点说,CGP用一个2维的网格(Ncol,Nrow)定义计算节点,即网络最大容量是Ncol*Nrow个节点。第n列的节点只能和(n-1)和(n-L)之间的节点相连。由此可见,CGP限制了模型的最大宽度和深度,编码相对复杂。不管哪种编码方式,在实现时,模型获取算法一般都和一个运行平台(如TensorFlow、PyTorch)进行了绑定,用户无法选择。
本申请的一个实施例涉及一种模型获取方法,如图1所示,包括。
步骤101,获取模型获取信息,模型获取信息包括基础模型。
在一示例实施中,通过提供供用户调用并运行相关算法的接口,并通过参数的方式指导用户提供模型获取信息,用户提供的模型获取信息包括基础模型等等,用户提供的基础模型是以模型描述语言的方式提供的,且基础模型的运行平台也不受任何限制,可以是TensorFlow、PyTorch和其他类型平台,如:用户提供的基础模型是基于TensorFlow平台的模型描述语言Functional Api描述的Keras模型。
步骤102,对基础模型进行编码,生成基础模型的第一有向无环图。
在一示例实施中,把基础模型采用有向无环图DAG的形式描述,就是对基础模型进行编码的过程,编码的结果是生成基础模型的第一有向无环图,第一有向无环图是一张具有有向边的图,且从一个节点无法通过若干条边回到该节点。
在一示例实施中,有向无环图DAG的节点中编码了节点标识、节点名称、节点类型和节点类型对应的所有参数信息,节点标识在每张DAG中都能唯一表示该节点。DAG的边表示节点和节点之间的有向连接,DAG的边用开始节点标识和结束节点标识的有序对表示,DAG的边的方向与网络中数据的流向一致;通过DAG中节点的边的有序对,可以明确知道节点和节点之间的连接关系,如两节点是否相连,指定节点的前驱、后继等,这些连接关系,可以保证相关算法下DAG的正确性;每张有向无环图DAG都有一个全局唯一的DAG标识、一个存储了节点标识和节点的字典和一个存储了节点标识有序对(开始节点标识,结束节点标识)和边的字典。
在一示例实施中,由于基础模型的运行平台不同,导致用户提供的基础模型的模型描述语言存在一定的差异,从而使得将各平台的基础模型编码为有向无环图的过程存在差异,因此,用户所指定的模型获取信息中还包括基础模型的模型平台类型,步骤102可以由如图2示的各子步骤实现,具体包括。
子步骤1021,根据模型平台类型确定模型描述语言的信息提取方式。
在一示例实施中,基础模型的运行平台不同,会使得模型描述语言之间存在一定的差异,而将基础模型编码成有向无环图,需要从基础模型的模型描述语言中提取出编码时所需的模型编码信息;各平台的模型描述语言之间的差距使得从各平台的模型描述语言中提取模型编码信息的方式存在不同。
在一示例实施中,可以预先设定好模型平台类型和信息提取方式的对应关系,在确定好基础模型的模型平台类型之后,从预设的对应关系中,确定与该模型平台类型对应的信息提取方式。
子步骤1022,根据信息提取方式从模型描述语言中提取模型编码信息。
在一示例实施中,在基础模型的模型描述语言的信息提取方式确定好之后,便可以根据确定好的信息提取方式从模型描述语言中提取到对模型描述语言进行编码的模型编码信息。
子步骤1023,对模型编码信息进行编码,生成第一有向无环图。
在一示例实施中,对所提取的模型编码信息进行编码,生成基础模型的第一有向无环图。
步骤103,对第一有向无环图进行初始化操作,至少生成一个第二有向无环图。
在一示例实施中,以第一有向无环图作为种群的原型,对第一有向无环图进行初始化操作,至少生成一个第二有向无环图;所生成的多个第二有向无环图构成一个基础模型的模型种群,初始化操作可以为对第一有向无环图中各节点对应的参数信息进行修改。
在一示例实施中,在对第一有向无环图进行初始化操作时,可以使用同一初始化方法对第一有向无环图进行多次初始化操作,生成多个相同的第二有向无环图;也可以使用不同的初始化方法对第一有向无环图进行多次初始化操作,生成多个不同的第二有向无环图;具体的初始化方法本申请并不进行限制。
步骤104,对各第二有向无环图进行模型解析,生成各第二有向无环图对应的各第一模型。
在一示例实施中,由于有向无环图只是模型的一种描述方式,并不是可以投入使用的模型,因此在输出模型之前,需要先对各第二有向无环图进行模型解析操作,生成各第二有向无环图对应的各第一模型,而在对各第二有向无环图进行模型解析时,是根据基础模型的模型平台类型进行的模型解析,以保证所生成的各第一模型能够在相对于的平台上运行。
步骤105,根据预设的模型选取规则从各第一模型中选取目标模型,将目标模型和目标模型对应的第二有向无环图作为模型获取果并输出。
在一示例实施中,生成的第一模型的数量由第二有向无环图的数量决定,当包含多个第一模型时,需要从各第一模型中选取出一个第一模型作为目标模型,之后将该目标模型和目标模型对应第二有向无环图作为模型获取结果并输出,最终输出的实际上并不是第二有向无环图本身,而是第二有向无环图的描述信息。
在一示例实施中,在从各第一模型中选取目标模型时,可以根据各第一模型的模型性能指标来选取。
本申请实施例,在模型获取的过程中,获取模型获取信息,所述模型获取信息包括基础模型;对所述基础模型进行编码,生成所述基础模型的第一有向无环图;对所述第一有向无环图进行初始化操作,至少生成一个第二有向无环图;对各所述第二有向无环图进行模型解析,生成各所述第二有向无环图对应的各第一模型;根据预设的模型选取规则从各所述第一模型中选取目标模型,将所述目标模型和所述目标模型对应的所述第二有向无环图作为模型获取结果并输出。通过将基础模型编码为第一有向无环图,使得本申请可以使用第一有向无环图表示任意结构的神经网络模型,对神经网络模型中的节点数、深度和宽度都没有限制;解决了现有技术中由构的技术问题。
本申请的一个实施例涉及一种模型获取方法,如图3示,包括。
步骤201,获取模型获取信息,模型获取信息包括基础模型。
在一示例实施中,本步骤与本申请实施例的步骤101大致相同,此处不一一赘述。
步骤202,对基础模型进行编码,生成基础模型的第一有向无环图。
在一示例实施中,本步骤与本申请实施例的步骤102大致相同,此处不一一赘述。
步骤203,对第一有向无环图进行初始化操作,至少生成一个第二有向无环图。
在一示例实施中,本步骤与本申请实施例的步骤103大致相同,此处不一一赘述。
步骤204,对各第二有向无环图进行模型解析,生成各第二有向无环图对应的各第一模型。
在一示例实施中,本步骤与本申请实施例的步骤104大致相同,此处不一一赘述。
步骤205,根据训练数据集,对各第一模型进行训练,生成各第一训练模型。
在一示例实施中,用户在指定模型获取信息时,也会提供进行模型训练时的训练数据集,再获取到各第二有向无环图对应的各第一模型之后,将训练数据集输入各第一模型中,对各第一模型进行训练,在各第一模型训练结束之后,便生成各第一模型对应的各第一训练模型;各第一模型的训练方法保持一致,训练方式与基础模型的结构、作用和训练数据集有关。
步骤206,对各第一训练模型进行模型性能评估,获取各第一训练模型的模型性能。
在一示例实施中,用户在指定模型获取信息时,也会指定模型性能指标,若用户未指定模型性能指标时,使用默认的模型性能指标;在获取到各第一训练模型之后,根据模型性能指标对各第一训练模型进行性能评估,获取各第一训练模型的模型性能;其中,模型性能指标可以是模型精度、模型计算代价等等。
步骤207,将模型性能最优的第一训练模型作为目标模型, 将目标模型和目标模型对应的第二有向无环图作为模型获取结果并输出。
在一示例实施中,按照各第一训练模型的模型性能的大小对各第一训练模型进行降序排序,将模型性能第一的第一训练模型作为目标模型,同时将目标模型和目标模型对应的第二有向无环图作为模型获取的获取结果并输出,可以将第二有向无环图直接输出,也可以将第二有向无环图的描述信息作为输出结果。
本申请的实施例,在其他实施例的基础之上还可以根据用户指定的训练数据集对生成的各第一模型进行训练,并根据训练后的第一模型的模型性能来选取目标模型,以此来提高所获取的目标模型的精度。
本申请的一个实施例涉及一种模型获取方法,如图4所示,包括。
步骤301,获取模型获取信息,模型获取信息包括基础模型、搜索空间和搜索方式。
在一示例实施中,本步骤与本申请实施例的步骤101大致相同,此处不一一赘述。
在一示例实施中,用户提供的模型获取信息还可以包括搜索空间和搜索方式,用户提供的搜索方式可以是算子搜索(即:OP搜索)或者是块搜索(即:block搜索);用户提供的搜索空间是与搜索方式对应的,当搜索方式为OP搜索时,用户提供的搜索空间为OP搜索空间,当搜索方式为block搜索时,用户提供的搜索空间为block搜索空间。
在一示例实施中,OP搜索空间是自定义的OP搜索子空间的集合。每个算子OP对应于一个自定义的OP搜索子空间,OP搜索子空间用OP类型作为名字,在OP搜索空间中作为OP搜索子空间的唯一标识。该OP搜索子空间定义了子空间名字、子空间类型、子空间可以进行突变的参数和突变范围。OP搜索子空间根据OP的入参元数,分为普通型和聚合型,如Conv2D、MaxPooling2D、Dense等都是属于普通型,Add、Concatenate属于聚合型。OP搜索子空间的样式包括:当OP算子为二维卷积算子Conv2D时,所对应的节点类型为普通型,所对应的节点的参数及变化范围为内核大小范围∈[(3,5,7),(3,5,7)]Discrete、跨度范围∈(1,2,3)Discrete和滤波范围∈(8, 256)UniformInt;当OP算子为二维最大池化算子MaxPooling2D时,所对应的节点类型为普通型,所对应的节点的参数及变化范围为池化范围∈[(2,3,4,7),(1,2)]Discrete和跨度范围∈(1,2,3)Discrete;当OP算子为累加算子Add时,所对应的节点类型为聚合型;上述各参数的变化范围可以由用户进行自定义,Discrete表示取参数指定区间的离散值,UniformInt表示在参数指定区间内均匀分布、随机采样和取整数。
在一示例实施中,block搜索空间是自定义block搜索子空间的集合,每个block对应于一个自定义的block搜索子空间。block搜索子空间用block类型作为名字,在block搜索空间中作为block搜索子空间的唯一标识。该block搜索子空间定义了子空间名字、子空间可以进行突变的参数和突变范围。block通过堆叠的方式连接,故不需要像OP搜索子空间那样,定义子空间类型(普通型和聚合型)。block是若干算子的组合,常用的block如残差块residual_block、residual_bottleneck和其对应的搜索子空间。残差块residual_block的结构示意图如图5所示,残差块residual_block的搜索子空间的样式包括:当block算子为残差块residual_block时,所对应的节点的参数及变化范围为内核大小范围∈[(3,5,7),(3,5,7)]Discrete和跨度范围∈(1,2)Discrete;上各参数的变化范围可以用用户进行自定义,Discrete表示取参数指定区间的离散值。
在一示例实施中,在用户指定模型获取信息时,搜索方式是必须有用户进行指定的,其余信息(基础模型和搜索空间等)均可以使用默认值,如:搜索方式为OP搜索时,设置有默认的基础模型;搜索方式为block搜索时,使用系统默认的以block为基础的模型。搜索空间可以使用默认值,搜索方式为OP搜索时,搜索空间是OP级别的子空间,搜索方式为block搜索时,搜索空间是block级别的子空间。
步骤302,对基础模型进行编码,生成基础模型的第一有向无环图。
在一示例实施中,本步骤与本申请实施例的步骤102大致相同,此处不一一赘述。
在一示例实施中,第一有向无环图的各节点对应于各算子OP或者对应于各block,与用户指定的搜索方式相关,而一个算子OP对应于一个OP搜索子空间,一个block对应于一个block搜索子空间,因此,也可以说第一有向无环图的各节点对应于各OP搜索子空间或者对应于各block搜索子空间。任意一个有向无环图DAG的节点中编码的节点类型与该节点对应的搜索子空间名字一致。
步骤303,对第一有向无环图进行初始化操作,至少生成一个第二有向无环图。
在一示例实施中,本步骤与本申请实施例的步骤103大致相同,此处不一一赘述。
步骤304,对各第二有向无环图进行模型解析,生成各第二有向无环图对应的各第一模型。
在一示例实施中,本步骤与本申请实施例的步骤104大致相同,此处不一一赘述。
步骤305,各第二有向无环图构成基础模型的模型种群,获取模型种群的繁衍次数。
在一示例实施中,对第一有向无环图进行初始化操作时,所生成的各第二有向无环图构成一个基础模型的模型种群,第一有向无环图的初始化操作的整个过程可以看作是对第一有向无环图进行繁衍,繁衍多次之后便形成了模型种群中的各第二有向无环图;在繁衍的过程中还会形成一个繁衍次数。
步骤306,繁衍次数是否满足终止条件。
在一示例实施中,在获取用户指定的模型获取信息时,还会获取用户指定的遗传终止代数generation和模型种群数population;用户所指定的遗传终止代数generation便是模型获取的终止条件;当繁衍次数达到遗传终止代数generation时,则说明模型获取步骤可以结束,执行步骤309;当繁衍次数未达到遗传终止代数generation时,则说明还需要继续进行模型获取,执行步骤307至步骤309。
步骤307,根据预设的选取规则从模型种群中选取指定数量的第二有向无环图,构成第一模型种群。
在一示例实施中,当繁衍次数未达到遗传终止代数generation时,模型种群中的第二有向无环图的总数是大于或等于模型种群数population的。可以根据各第二有向无环图对应的第一模型的模型性能大小对各第二有向无环图进行降序排序,保证模型种群数population不变;首先选择模型性能靠前的population/2个第二有向无环图加入到第一模型种群中,然后再从没有被选择的第二有向无环图中随机选择population/2个第二有向无环图加入到第一模型种群中。
步骤308,根据搜索方式和搜索空间,通过遗传算法对第一模型种群中的各第二有向无环图进行进化操作,生成各第三有向无环图,对各第三有向无环图进行模型解析,生成各第三有向无环图对应的各第一模型。
在一示例实施中,根据用户指定的搜索方式和搜索空间,通过遗传算法对各第二有向无环图进行进化操作,生成各第三有向无环图;也就是,各第三有向无环图是对各第二有向无环图进行进化操作(如选择、变异和或交叉等操作)获取的。
在一示例实施中,在搜索方式为OP搜索时,第二有向无环图的每一个节点对应于OP搜索空间的一个OP搜索子空间,OP搜索时的DAG编码示意图如图6所示;在搜索方式为block搜索时,第二有向无环图的每一个节点对应于block搜索空间的一个block搜索子空间,block搜索时的DAG编码示意图如图7所示。
在一示例实施中,当搜索方式为OP搜索时,进化操作包括以下之一或任意组合:节点替换、节点不变参数替换、节点插入、跳连接插入、节点的删除、跳连接删除;各进化操作过程具体如下。
(1)节点替换:a,从DAG中任意选取一个节点作为目标节点,并查看该节点类型。b,如果节点属于普通型,在搜索空间中任意选取一个普通型的子空间,生成新节点;如果节点属于聚合型,在搜索空间中任意选取一个聚合型的子空间,生成新节点。c,用新节点替换目标节点,将新节点放入DAG中,删除目标节点,更新存储了节点id和节点的字典,按原有的边的方向生成新的边,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。
(2)节点不变参数的替换:a,从DAG中任意选取一个节点作为目标节点,并查看该节点类型。b,如果节点属于聚合型,不进行参数替换;如果节点属于普通型,根据该节点对应的子搜索空间随机生成参数,更新目标节点的参数。
(3)节点的插入:a,从DAG中任意选取2个节点。b,如果这2个节点是直接相连的,进入步骤c;如果这2个节点不是直接相连的,但是有前后关系进入步骤d;如果这2个节点不是直接相连的,也没有前后关系进入步骤e。c,在搜索空间中任意选取一个普通型的子空间,生成新的节点。在DAG中,两节点是有前趋后继关系的。判断出两节点的关系,假设前面的节点记做node_p,后面的节点记做node_s,将新生成的插入普通节点插入到前节点node_p之后,后节点node_s之前。更新存储了节点id和节点的字典,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。d,判断出两节点的关系,假设前节点记做node_p,后节点记做node_s。如果node_s是图中的最后一个节点,不进行任何操作,返回。否则,在搜索空间中任意选取一个普通型的子空间,生成插入普通节点。在搜索空间中任意选取一个聚合型的子空间,生成聚插入合节点。通过引入插入聚合节点将这两个节点的输出进行融合,并且插入聚合节点连接在位置靠后的节点后面。更新存储了节点id和节点的字典,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。e,在搜索空间中任意选取一个普通型的子空间,生成插入普通节点。在搜索空间中任意选取一个聚合型的子空间,生成插入聚合节点。通过插入聚合节点融合这两个节点的输出,并随机从这两个节点选择一个,连接插入聚合节点在该节点后面。更新存储了节点id和节点的字典,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。节点直接相连的插入操作示意图如图8所示,节点不直接相连但有前后关系的插入操作示意图如图9所示,节点不直接相连但无前后关系的插入操作示意图如图10所示。
(4)跳连接的插入:a,从DAG中任意选取2个节点。b,如果这2个节点是直接相连的,不支持该操作,返回;如果这2个节点不是直接相连的,但是有前后关系进入步骤c;如果这2个节点不是直接相连的,也没有前后关系进入步骤d。c,假设前面的节点记做node_p,后面的节点记做node_s。如果node_s是图中的最后一个节点,不进行任何操作,返回。否则,在搜索空间中任意选取一个聚合型的子空间,生成聚合节点。通过引入聚合节点将这两个节点的输出进行融合,并且聚合节点连接在位置靠后的节点后面。更新存储了节点id和节点的字典,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。d,在搜索空间中任意选取一个聚合型的子空间,生成聚合节点。通过聚合节点融合这两个节点的输出,并随机从这两个节点选择一个,连接聚合节点在该节点后面。更新存储了节点id和节点的字典,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。
(5)节点的删除:a,从DAG中任意选取一个节点作为目标节点,并查看该节点类型。b,如果节点是聚合类型的,不进行任何操作,返回。否则将目标节点的父节点作为开始节点,和目标节点的所有子节点相连,即生成新的边,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。删除目标节点,并更新存储了节点id和节点的字典。
(6)跳连接的删除:a,在DAG的所有节点中查找聚合类型的节点,如果没有聚合类型,则不进行任何操作,返回。否则在聚合节点中随机选取一个作为目标节点。b,获取目标节点的所有父节点,记做目标父节点。取每一个父节点,判断其子节点数。如果子节点数>1,把该父节点加入待删除跳连接的父节点列表。如果该列表为空,进入步骤c,否则进入步骤d。c,不进行任何操作,返回。d,从待删除跳连接的父节点列表中随机选取一个节点,删除该节点和目标节点之间的边,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。
在一示例实施中,当搜索方式为block搜索时,进化操作包括以下之一或任意组合:节点替换、节点不变参数替换、节点插入、节点的删除;各进化操作过程具体如下:
(1)节点替换:a,从DAG中任意选取一个节点作为目标节点。b,在搜索空间中任意选取一个子空间,生成新节点。c,用新节点替换目标节点:将新节点放入DAG中,删除目标节点,更新存储了节点id和节点的字典,按原有的边的方向生成新的边,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。
(2)节点不变参数替换:a,从DAG中任意选取一个节点作为目标节点。b,根据该节点类型找到对应的搜索子空间随机生成参数,更新目标节点的参数。
(3)节点插入:a,从DAG中任意选取2个节点b,如果这2个节点是直接相连的,进入步骤c;其他情况不进行任何操作,返回。c,在搜索空间中任意选取一个子空间,生成新的节点。在DAG中,两节点是有前趋后继关系的。判断出两节点的关系,假设前面的节点记做node_p,后面的节点记做node_s,将新生成的节点插入到node_p之后,node_s之前。更新存储了节点id和节点的字典,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。
(4)节点的删除:a,从DAG中任意选取一个节点作为目标节点。b,将目标节点的父节点作为开始节点,和目标节点的所有子节点相连,生成新的边,更新节点标识有序对(开始节点标识,结束节点标识)和边的字典。删除目标节点,并更新存储了节点id和节点的字典。
在一示例实施中,生成各第三有向无环图之后,需要对各第三有向无环图进行模型解析操作,生成各第三有向无环图对应的各第一模型。
步骤309,根据预设的模型选取规则从各第一模型中选取目标模型,将目标模型和目标模型对应的第二有向无环图作为模型获取结果并输出。
在一示例实施中,本步骤与本申请实施例的步骤105大致相同,此处不一一赘述。
本申请的实施例,在其他实施例的基础之上还可以根据模型种群的繁衍次数,来判断模型获取是否终止,在模型种群的繁衍次数没有达到终止条件时,从模型种群在选取出一定数量的第二有向无环图进行进化操作,之后再进行模型解析和模型选取,提高本申请进行模型获取时的灵活度和提高所选取的目标模型的准确度。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本申请的另一个实施例涉及一种模型获取系统,下面对本实施例的模型获取系统的细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本例的必须,图11是本实施例所述的模型获取系统的示意图,包括:获取模块401、编码模块402、生成模块403、解码模块404和输出模块405。
其中,获取模型401,用于获取模型获取信息,模型获取信息包括基础模型。
编码模块402,用于对基础模型进行编码,生成基础模型的第一有向无环图。
生成模块403,用于对第一有向无环图进行初始化操作,至少生成一个第二有向无环图。
解码模块404,用于对各第二有向无环图进行模型解析,生成各第二有向无环图对应的各第一模型。
输出模块405,用于根据预设的模型选取规则从各第一模型中选取目标模型,将目标模型和目标模型对应的第二有向无环图作为模型获取结果并输出。
不难发现,本实施例为与上述方法实施例对应的系统实施例,本实施例可以与上述方法实施例互相配合实施。上述实施例中提到的相关技术细节和技术效果在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述实施例中。
需要说明的是,本系统实施例主要是针对方法实施例提供的模型获取方法在软件实现层面上的描述,其实现还需要依托于硬件的支持,如相关模块的功能可以被部署到处理器上,以便处理器运行实现相应的功能,特别地,运行产生的相关数据可以被存储到存储器中以便后续检查和使用。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请的创新部分,本实施例中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本申请另一个实施例涉及一种电子设备,如图12所示,包括:至少一个处理器501;以及,与所述至少一个处理器501通信连接的存储器502;其中,所述存储器502存储有可被所述至少一个处理器501执行的指令,所述指令被所述至少一个处理器501执行,以使所述至少一个处理器501能够执行上述各实施例中的模型获取方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本申请另一个实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (9)
1.一种模型获取方法,其特征在于,所述方法包括:
获取模型获取信息,所述模型获取信息包括基础模型和训练数据集;
对所述基础模型进行编码,生成所述基础模型的第一有向无环图;
对所述第一有向无环图进行初始化操作,至少生成一个第二有向无环图;
对各所述第二有向无环图进行模型解析,生成各所述第二有向无环图对应的各第一模型;
根据预设的模型选取规则从各所述第一模型中选取目标模型,将所述目标模型和所述目标模型对应的所述第二有向无环图作为模型获取结果并输出;
其中,所述根据预设的模型选取规则从各所述第一模型中选取目标模型,包括:
根据所述训练数据集,对各所述第一模型进行训练,生成各第一训练模型;
对各所述第一训练模型进行模型性能评估,获取各所述第一训练模型的模型性能;
将所述模型性能最优的所述第一训练模型作为所述目标模型。
2.根据权利要求1所述的模型获取方法,其特征在于,所述基础模型为模型描述语言,所述模型获取信息还包括模型平台类型;
所述对所述基础模型进行编码,生成所述基础模型的第一有向无环图,包括:
根据所述模型平台类型确定所述模型描述语言的信息提取方式;
根据所述信息提取方式从所述模型描述语言中提取模型编码信息;
对所述模型编码信息进行编码,生成所述第一有向无环图。
3.根据权利要求1至权利要求2中任一项所述的模型获取方法,其特征在于,各所述第二有向无环图构成所述基础模型的模型种群;
所述根据预设的模型选取规则从各所述第一模型中选取目标模型,之前包括:
获取所述模型种群的繁衍次数;
当所述繁衍次数满足预设的终止条件时,则根据所述模型选取规则从各所述第一模型中选取所述目标模型。
4.根据权利要求3所述的模型获取方法,其特征在于,所述模型获取信息还包括搜索空间和搜索方式;
当所述繁衍次数未满足所述终止条件时,所述方法还包括:
根据预设的选取规则从所述模型种群中选取指定数量的所述第二有向无环图,构成第一模型种群;
根据所述搜索方式和所述搜索空间,通过遗传算法对所述第一模型种群中的各所述第二有向无环图进行进化操作,生成各第三有向无环图;
对各第三有向无环图进行模型解析,生成各第三有向无环图对应的各所述第一模型。
5.根据权利要求4所述的模型获取方法,其特征在于,当所述搜索方式为算子搜索时,所述进化操作包括以下之一或任意组合:节点替换、节点不变参数替换、节点插入、跳连接插入、节点的删除、跳连接删除;
当所述搜索方式为块搜索时,所述进化操作包括以下之一或任意组合:所述节点替换、所述节点不变参数替换、所述节点插入和所述节点删除。
6.根据权利要求4所述的模型获取方法,其特征在于,所述搜索空间包含各搜索子空间;所述第二有向无环图的各节点对应于各所述搜索子空间,各所述节点包含节点标识、节点名称、节点类型和所述节点类型对应的参数信息。
7.一种模型获取系统,其特征在于,所述系统包括:
获取模块,用于获取模型获取信息,所述模型获取信息包括基础模型和训练数据集;
编码模块,用于对所述基础模型进行编码,生成所述基础模型的第一有向无环图;
生成模块,用于对所述第一有向无环图进行初始化操作,至少生成一个第二有向无环图;
解码模块,用于对各所述第二有向无环图进行模型解析,生成各所述第二有向无环图对应的各第一模型;
输出模块,用于根据预设的模型选取规则从各所述第一模型中选取目标模型,将所述目标模型和所述目标模型对应的所述第二有向无环图作为模型获取结果并输出;
其中,所述根据预设的模型选取规则从各所述第一模型中选取目标模型,包括:
根据所述训练数据集,对各所述第一模型进行训练,生成各第一训练模型;
对各所述第一训练模型进行模型性能评估,获取各所述第一训练模型的模型性能;
将所述模型性能最优的所述第一训练模型作为所述目标模型。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至权利要求6中任一项所述的模型获取方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求6中任一项所述的模型获取方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210008648.8A CN114021707B (zh) | 2022-01-06 | 2022-01-06 | 模型获取方法、系统、电子设备和存储介质 |
PCT/CN2023/071027 WO2023131302A1 (zh) | 2022-01-06 | 2023-01-06 | 模型获取方法、系统、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210008648.8A CN114021707B (zh) | 2022-01-06 | 2022-01-06 | 模型获取方法、系统、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114021707A CN114021707A (zh) | 2022-02-08 |
CN114021707B true CN114021707B (zh) | 2022-04-05 |
Family
ID=80069928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210008648.8A Active CN114021707B (zh) | 2022-01-06 | 2022-01-06 | 模型获取方法、系统、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114021707B (zh) |
WO (1) | WO2023131302A1 (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882078A (zh) * | 2010-05-28 | 2010-11-10 | 浙江大学 | 基于内存数据架构的模块间实时同步方法 |
CN112947935A (zh) * | 2021-02-26 | 2021-06-11 | 上海商汤智能科技有限公司 | 运算方法及装置、电子设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200302270A1 (en) * | 2019-03-19 | 2020-09-24 | Cisco Technology, Inc. | Budgeted neural network architecture search system and method |
CN110046706B (zh) * | 2019-04-18 | 2022-12-20 | 腾讯科技(深圳)有限公司 | 模型生成方法、装置及服务器 |
US11206229B2 (en) * | 2019-04-26 | 2021-12-21 | Oracle International Corporation | Directed acyclic graph based framework for training models |
US20210334663A1 (en) * | 2020-04-28 | 2021-10-28 | North Carolina State University | Compiler-based method for fast cnn pruning via composability |
CN113157183B (zh) * | 2021-04-15 | 2022-12-16 | 成都新希望金融信息有限公司 | 深度学习模型构建方法、装置、电子设备及存储介质 |
-
2022
- 2022-01-06 CN CN202210008648.8A patent/CN114021707B/zh active Active
-
2023
- 2023-01-06 WO PCT/CN2023/071027 patent/WO2023131302A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882078A (zh) * | 2010-05-28 | 2010-11-10 | 浙江大学 | 基于内存数据架构的模块间实时同步方法 |
CN112947935A (zh) * | 2021-02-26 | 2021-06-11 | 上海商汤智能科技有限公司 | 运算方法及装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于贝叶斯网络模型的船舶搁浅事故分析;肖仲明等;《安全与环境学报》;20170425(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2023131302A1 (zh) | 2023-07-13 |
CN114021707A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhamidi et al. | The multiplicative coalescent, inhomogeneous continuum random trees, and new universality classes for critical random graphs | |
CN112487168B (zh) | 知识图谱的语义问答方法、装置、计算机设备及存储介质 | |
JP7457125B2 (ja) | 翻訳方法、装置、電子機器及びコンピュータプログラム | |
Demir et al. | Multiobjective evolutionary clustering of web user sessions: a case study in web page recommendation | |
US11244026B2 (en) | Optimization problem arithmetic method and optimization problem arithmetic device | |
US20200090051A1 (en) | Optimization problem operation method and apparatus | |
CN109344969B (zh) | 神经网络系统及其训练方法以及计算机可读介质 | |
CN104657626A (zh) | 一种利用文本数据构建蛋白质相互作用网络的方法 | |
CN109460398B (zh) | 时间序列数据的补全方法、装置及电子设备 | |
CN116108384A (zh) | 一种神经网络架构搜索方法、装置、电子设备及存储介质 | |
CN114911844A (zh) | 基于机器学习的近似查询优化系统 | |
CN114021707B (zh) | 模型获取方法、系统、电子设备和存储介质 | |
JP2009505198A (ja) | 電子回路設計 | |
CN115599356A (zh) | 一种数据处理方法、装置及相关设备 | |
CN111683010A (zh) | 基于光缆网光路的双路由的生成方法及装置 | |
CN114547286A (zh) | 一种信息搜索方法、装置及电子设备 | |
CN110807092B (zh) | 数据处理方法及装置 | |
CN116090538A (zh) | 一种模型权重获取方法以及相关系统 | |
CN112926611A (zh) | 特征提取方法、装置及计算机可读存储介质 | |
CN112988372B (zh) | 确定硬件运算平台分配方式的方法和装置 | |
CN117041073B (zh) | 网络行为预测方法、系统、设备及存储介质 | |
CN117688898B (zh) | 一种集成电路的布线方案确定方法、装置及设备和介质 | |
CN116010602B (zh) | 一种基于大数据的数据调优方法及系统 | |
CN113946695B (zh) | 动物系谱的生成方法、装置及计算机设备 | |
US11900018B2 (en) | Method for generating designs based on automatically built design space grammars |
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 |