CN116796815B - 一种基于多面体变换表示的神经网络架构搜索方法及系统 - Google Patents
一种基于多面体变换表示的神经网络架构搜索方法及系统Info
- Publication number
- CN116796815B CN116796815B CN202310971483.9A CN202310971483A CN116796815B CN 116796815 B CN116796815 B CN 116796815B CN 202310971483 A CN202310971483 A CN 202310971483A CN 116796815 B CN116796815 B CN 116796815B
- Authority
- CN
- China
- Prior art keywords
- neural network
- network architecture
- calculation
- distance
- layer
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于多面体变换表示的神经网络架构搜索方法及系统,方法包含:获得神经网络架构中任意两个神经网络架构之间的编辑距离,将编辑距离的度量空间转换为一个多面体结构;将多个核函数级联进行级联,将多个核函数计算的结果组合在一起;选择一个或多个块作为基础,通过对不同的块结构进行搜索和评估,找到最优的神经网络架构;将多个神经网络架构搜索任务分解成多个子任务,利用计算节点间的通信实现并行计算;系统包含:编辑距离计算模块、计算结果组合模块、最优架构输出模块及任务分解模块。本发明多面体表示实现并行性和可扩展性,通过将核函数的计算操作分布在多个面上,可以同时进行多个核函数的计算,从而提高计算效率。
Description
技术领域
本发明涉及神经网络架构搜索技术领域,特别涉及一种基于多面体变换表示的神经网络架构搜索方法及系统。
背景技术
神经网络结构搜索是一项旨在自动化神经网络模型设计的前沿研究领域。传统的神经网络模型设计通常依赖于人工经验和专业知识,需要耗费大量时间和精力进行试错和调优。随着机器学习算法和搜索策略技术的进步,神经网络结构搜索能够自动发现更加高效和优化的神经网络结构。神经网络结构搜索的应用:计算机视觉:神经网络结构搜索在计算机视觉领域有着广泛的应用。它可以用于图像分类、目标检测、图像分割等任务,通过自动搜索最优的网络结构,提高模型的准确率和泛化能力。自然语言处理:在自然语言处理领域,神经网络结构搜索可以用于文本分类、机器翻译、语音识别等任务。通过搜索最优的网络结构,能够提升模型在文本处理和语义理解方面的性能。强化学习:神经网络结构搜索还可以应用于强化学习领域,自动设计适合特定环境和任务的神经网络结构,提高智能体在复杂任务中的学习和决策能力。通过自动搜索最优的网络结构,可以提高模型性能、加速模型设计过程,并促进人工智能技术的发展。
现有技术一,申请号:CN202210705263.7公开了一种用于神经网络架构空间的可视分析系统和方法,该方法包括:接收至少一个神经网络架构;获得神经网络架构中任意两个神经网络架构之间的图编辑距离;根据图编辑距离,获得神经网络架构的聚类层次化结构,其中,聚类层次化结构的每一层包括至少一个神经网络架构类别,每个类别包括神经网络架构;以及对神经网络架构的聚类层次化结构中的至少一层进行可视化,其中可视化视图提供神经网络架构的全局概览和其中任意一个神经网络架构的上下文信息;虽然有利于神经网络架构设计人员设计或者神经网络架构搜索工具在搜索空间中搜索出在多种数据集上性能都较好的神经网络架构,并减少神经网络架构搜索工具的搜索空间和计算成本,但是编辑距离引导的基于层的进化限制了网络最终的预测精度,每次仅改变一个层对于整个神经网络架构的影响可能比较微弱,因此很多时候的进化都是低效的。
现有技术二,申请号:CN202211585844.8公开了一种网络搜索方法及装置、电子设备、存储介质,该网络搜索方法包括:从样本数据集中获取多个采样网络;将多个采样网络中的当前采样网络进行编码获取当前结构编码,并将当前结构编码与历史结构编码进行聚合,以获取模型均值;根据模型均值的优化精度损失获取优化结构编码;对优化结构编码进行解码获取优化网络结构,直至基于根据优化网络结构迭代获取到所有采样网络的优化网络结构为止确定目标网络结构,以基于目标网络结构对待处理对象进行处理操作。虽然能够提高网络搜索的精准性,但是进化过程需要计算传统编辑距离并和历史架构比较,寻找最优网络,这种计算始终存在非常严重的数据依赖,导致只能使用顺序的核函数,而缺乏并行机会;网络生成中的顺序核函数因此成为了一个重要的时序瓶颈。
现有技术三,申请号:CN202010144350.0公开了一种基于MPI的神经网络架构搜索并行化方法和设备,该方法包括:根据当前多机环境中的GPU数量启动MPI进程,并按顺序进行编排;启动后的MPI进程根据其自己的序号从训练集中指定位置读取数据,并进行梯度计算;每个节点的GPU根据分层结构进行梯度规约计算,将计算的结果汇总至GPU中的首个GPU中;首个GPU按环形结构进行梯度全规约计算;在每个节点内从该首个GPU开始,按分层结构广播梯度计算结果;利用该新的梯度值更新神经网络的权值和偏置值。虽然能够在保证神经网络架构搜索结果模型的识别率的基础上,有效地加速神经网络架构搜索训练效率,大幅度减少训练时间,从而提升自动化深度学习过程的效率;但是基于层结构的初始网络,其基本性能也比较落后,在一个基础性能较差的层结构上进行搜索,导致搜索出来的结果总是次优的,不能提供最优的搜索空间,最终不能搜出最好性能的神经网络架构。
目前现有技术一、现有技术二级现有技术三存在计算传统编辑距离并和历史架构比较,缺乏并行机会;编辑距离引导的基于层的进化限制了网络最终的预测精度;基于层结构的初始网络,性能落后,在一个基础性能较差的层结构上进行搜索,导致搜索出来的结果不是最优的;因而,本发明提供基于多面体变换表示的神经网络架构搜索方法,能够将顺序的编辑距离计算抽象成多面体变换的表示,在新的抽象层次上,将计算的依赖消除,并将计算并行实现在图形处理器上,提高了运行搜索的速度;面向新的抽象增加了基于块的变换,提高了神经网络模型结果的预测精度。
发明内容
为了解决上述技术问题,本发明提供了一种基于多面体变换表示的神经网络架构搜索方法,包含以下步骤:
接收至少一个神经网络架构;获得神经网络架构中任意两个神经网络架构之间的编辑距离,将编辑距离的度量空间转换为一个多面体结构,其中多面体结构的每个面均代表一个核函数操作;
按照核函数从简单到复杂的顺序,将多个核函数级联进行级联,每个核函数的输出作为下一个核函数的输入,形成一个多层的核函数结构,将多个核函数计算的结果组合在一起;
从当前神经网络架构的块结构中选择一个或多个块作为基础,对选择的块进行增加块的层数或改变块的参数操作,通过对不同的块结构进行搜索和评估,找到最优的神经网络架构;
将多个神经网络架构搜索任务分解成多个子任务,在最优的神经网络架构上不同计算节点执行不同的子任务,利用计算节点间的通信实现并行计算;平衡不同计算节点的负载,确保各个计算节点的计算任务均匀地分配和执行。
可选的,编辑距离的获取过程,包含以下步骤:
获得神经网络架构中任意两个神经网络架构,其中一个命名为第一神经网络架构图,另一个命名为第二神经网络架构图;将第一神经网络架构图和第二神经网络架构图进行抽象化图;
将第一神经网络架构图和第二神经网络架构图中层级关系转换为图中的节点和边,节点表示神经网络中的层,边表示层之间的连接关系;
在度量空间中,定义一个距离参数,距离参数用于度量两个神经网络架构之间的距离,距离函数选择欧式距离函数;对第一神经网络架构图和第二神经网络架构图进行并行遍历,在迭代期间计算每个节点之间的距离;
在每次迭代中,比较节点的层数,并选择|L|的层数作为当前迭代的距离计算,在每个迭代期间都能够并行计算min(M,N)距离,其中M表示第一神经网络架构的层数,N表示第二神经网络架构的层数;|L|是比较两个神经网络架构的最小层数;
直到完成所有节点的距离计算,输出最终的距离结果,距离结果表示两个神经网络架构之间的距离。
可选的,将多个核函数级联进行级联的过程,包含以下步骤:
将一个新的M层神经网络架构与两个历史神经网络架构连接,其中,两个历史神经网络架构分别包含N层和N’层;生成一个M*N矩阵的原始神经网络比较内核,矩阵中的每个元素表示新神经网络的第M层与历史神经网络的第N层之间的连接强度;
在当前神经网络的最后一层和附加网络的第一层之间添加零填充,生成一个M*(N+N’)的矩阵,用于并行执行计算;
在原始神经网络比较内核上逐层连接所有新生成的神经网络,生成一个二维内核,用于计算和分析。
可选的,M*(N+N’)的矩阵的拆分过程,包含以下步骤:
将整个M*(N+N’)的矩阵拆分为多个大小相匹配的小矩阵,每个小矩阵的大小与对应的神经网络图的大小相同,确保每个小矩阵的计算任务可以被一个线程块处理;
在图像处理器并行计算平台上,将每个小矩阵分配给一个线程块进行计算,线程块是一组并行执行的线程,共享内存和协同计算;
在每个线程块中,使用并行计算对小矩阵进行计算;对于每个线程块,根据新神经网络的第M层和历史神经网络的第N层之间的连接强度,在相应的小矩阵中进行计算;
利用线程块的共享内存存储中间计算结果,将每个线程块的计算结果合并,得到整个M*(N+N’)矩阵的计算结果;
逐层连接所有新生成的神经网络,生成一个二维内核,用于后续的计算和分析。
可选的,通过对不同的块结构进行搜索的过程,包含以下步骤:
添加一个选择的块进行扩展神经网络架构,添加新块之后,将新块与现有块进行串联,调整新块的权重、偏置值、激活函数活正则化项;
基于块的转换,对所选块增加内部的神经元数量参数进行缩放;使用进化算法搜索最优的网络架构和块参数,根据需求,定义目标函数和约束条件引导搜索过程;
完成转换后,对新的神经网络架构进行评估和测试,根据评估结果,进一步优化和调整。
可选的,不同计算节点执行不同的子任务的过程,包含以下步骤:
使用一个没有图形处理器的主节点生成异步控制逻辑,主节点负责协调逻辑任务分配;一旦生成和训练任务逻辑确定,主节点通过应用软件将任务调度到空闲节点;
在从节点上使用中央处理器和人工智能加速卡执行独立的任务,从节点负责异步执行网络生成和训练,每个从节点使用图形处理器并行生成和训练神经网络架构;同时,从节点将训练当前神经网络,并通过共享文件系统保存当前的模型文件。
可选的,所有节点访问共享的数据,以选择下一次迭代中的最佳候选神经网络并优化参数;通过访问共享数据,每个节点获取其他节点生成的候选神经网络和相应的性能指标,节点选择最优的候选神经网络,并更新参数以优化模型。
可选的,从节点分别读取共享文件系统中的历史候选神经网络结构,并在各自的节点上变换出一组新的候选神经网络。
本发明提供的一种基于多面体变换表示的神经网络架构搜索系统,包含:
编辑距离计算模块,负责接收至少一个神经网络架构;获得神经网络架构中任意两个神经网络架构之间的编辑距离,将编辑距离的度量空间转换为一个多面体结构,其中多面体结构的每个面均代表一个核函数操作;
计算结果组合模块,负责按照核函数从简单到复杂的顺序,将多个核函数级联进行级联,每个核函数的输出作为下一个核函数的输入,形成一个多层的核函数结构,将多个核函数计算的结果组合在一起;
最优架构输出模块,负责从当前神经网络架构的块结构中选择一个或多个块作为基础,对选择的块进行增加块的层数或改变块的参数操作,通过对不同的块结构进行搜索和评估,找到最优的神经网络架构;
任务分解模块,负责将多个神经网络架构搜索任务分解成多个子任务,在最优的神经网络架构上不同计算节点执行不同的子任务,利用计算节点间的通信实现并行计算;平衡不同计算节点的负载,确保各个计算节点的计算任务均匀地分配和执行。
可选的,编辑距离计算模块,包含:
抽象化处理单元,负责获得神经网络架构中任意两个神经网络架构,其中一个命名为第一神经网络架构图,另一个命名为第二神经网络架构图;将第一神经网络架构图和第二神经网络架构图进行抽象化图;
关系转换单元,负责将第一神经网络架构图和第二神经网络架构图中层级关系转换为图中的节点和边,节点表示神经网络中的层,边表示层之间的连接关系;
并行遍历单元,负责在度量空间中,定义一个距离参数,距离参数用于度量两个神经网络架构之间的距离,距离函数选择欧式距离函数;对第一神经网络架构图和第二神经网络架构图进行并行遍历,在迭代期间计算每个节点之间的距离;
迭代处理单元,负责在每次迭代中,比较节点的层数,并选择|L|的层数作为当前迭代的距离计算,在每个迭代期间都能够并行计算min(M,N)距离,其中M表示第一神经网络架构的层数,N表示第二神经网络架构的层数;|L|是比较两个神经网络架构的最小层数;
结果输出单元,负责完成所有节点的距离计算,输出最终的距离结果,距离结果表示两个神经网络架构之间的距离。
本发明引入多面体表示解决核函数的顺序计算通常会导致性能瓶颈的问题,多面体表示可以实现并行性和可扩展性,通过将核函数的计算操作分布在多个面上,可以同时进行多个核函数的计算,从而提高计算效率;采用多维内核级联来进一步优化搜索空间,实现大规模并行计算,通过将多个核函数的计算结果组合在一起,可以减小搜索空间,提高计算效率;同时,多维内核级联还可以通过并行计算加速整个神经网络架构搜索过程;引入基于块的变换的目的是改变网络的层架构,与传统的单个层结构变换不同,基于块的变换通过一次性改变一组层架构,可以更加灵活地寻找最优网络,可以通过对不同的块结构进行搜索和评估,找到最优的神经网络架构,通过这种方式,可以进一步提高神经网络模型的性能和效率;面向大规模集群的拓展通过将计算任务分配到不同的计算节点上,并利用计算节点间的通信来实现并行计算,可以充分利用集群的计算资源,进一步提高算法的效率和可扩展性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1中基于多面体变换表示的神经网络架构搜索方法流程图;
图2为本发明实施例1中编辑距离的获取过程图;
图3为本发明实施例2中基于编辑距离的序列核函数示意图;
图4为本发明实施例2中利用多面体表示法增加并行核函数关于编辑距离示意图;
图5为本发明实施例中。
图6为本发明实施例3中一维核函数串联以保持并行性示意图;
图7为本发明实施例3中面向大规模的二维核函数拼接并行计算示意图;
图8为本发明实施例4中M*(N+N’)的矩阵的拆分过程图;
图9为本发明实施例4中每个小矩阵分配给一个线程块进行计算流程图;
图10为本发明实施例5中通过对不同的块结构进行搜索的过程图;
图11为本发明实施例5中基于层的变换示意图;
图12为本发明实施例5中基于块的变换示意图;
图13为本发明实施例6中不同计算节点执行不同的子任务的过程图;
图14为本发明实施例6中解耦任务划分和任务执行示意图;
图15为本发明实施例7中基于多面体变换表示的神经网络架构搜索系统框图;
图16为本发明实施例8中编辑距离计算模块框图;
图17为本发明实施例9中计算结果组合模块框图;
图18为本发明实施例10中最优架构输出模块框图;
图19为本发明实施例11中任务分解模块框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包含多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
实施例1:如图1所示,本发明实施例提供了一种基于多面体变换表示的神经网络架构搜索方法,包含以下步骤:
S100:接收至少一个神经网络架构;获得神经网络架构中任意两个神经网络架构之间的编辑距离,将编辑距离的度量空间转换为一个多面体结构,其中多面体结构的每个面均代表一个核函数操作;
S200:按照核函数从简单到复杂的顺序,将多个核函数级联进行级联,每个核函数的输出作为下一个核函数的输入,形成一个多层的核函数结构,将多个核函数计算的结果组合在一起;
S300:从当前神经网络架构的块结构中选择一个或多个块作为基础,对选择的块进行增加块的层数或改变块的参数等操作,通过对不同的块结构进行搜索和评估,找到最优的神经网络架构;
S400:将多个神经网络架构搜索任务分解成多个子任务,在最优的神经网络架构上不同计算节点执行不同的子任务,利用计算节点间的通信实现并行计算;平衡不同计算节点的负载,确保各个计算节点的计算任务均匀地分配和执行;
上述技术方案的工作原理和有益效果为:本实施例首先接收至少一个神经网络架构;获得神经网络架构中任意两个神经网络架构之间的编辑距离,将编辑距离的度量空间转换为一个多面体结构,其中多面体结构的每个面均代表一个核函数操作;其次按照核函数从简单到复杂的顺序,将多个核函数级联进行级联,每个核函数的输出作为下一个核函数的输入,形成一个多层的核函数结构,将多个核函数计算的结果组合在一起;然后从当前神经网络架构的块结构中选择一个或多个块作为基础,对选择的块进行增加块的层数或改变块的参数等操作,通过对不同的块结构进行搜索和评估,找到最优的神经网络架构;最后将多个神经网络架构搜索任务分解成多个子任务,在最优的神经网络架构上不同计算节点执行不同的子任务,利用计算节点间的通信实现并行计算;平衡不同计算节点的负载,确保各个计算节点的计算任务均匀地分配和执行;上述方案引入多面体表示解决核函数的顺序计算通常会导致性能瓶颈的问题,多面体表示可以实现并行性和可扩展性,通过将核函数的计算操作分布在多个面上,可以同时进行多个核函数的计算,从而提高计算效率;采用多维内核级联来进一步优化搜索空间,实现大规模并行计算,通过将多个核函数的计算结果组合在一起,可以减小搜索空间,提高计算效率;同时,多维内核级联还可以通过并行计算加速整个神经网络架构搜索过程;引入基于块的变换的目的是改变网络的层架构,与传统的单个层结构变换不同,基于块的变换通过一次性改变一组层架构,可以更加灵活地寻找最优网络,可以通过对不同的块结构进行搜索和评估,找到最优的神经网络架构,通过这种方式,可以进一步提高神经网络模型的性能和效率;面向大规模集群的拓展通过将计算任务分配到不同的计算节点上,并利用计算节点间的通信来实现并行计算,可以充分利用集群的计算资源,进一步提高算法的效率和可扩展性。
本发明实施例能够将顺序的编辑距离计算抽象成多面体变换的表示。在新的抽象层次上,将计算的依赖消除,并将计算并行实现在图形处理器上,提高了运行搜索的速度,面向新的抽象增加了基于块的变换,提高了神经网络模型结果的预测精度;在抽象表示的基础上面向搜索速度和结果精度进行调优,实现了核函数高达10倍的加速,网络生成的3.92倍加速和20.03%的精度性能增益。
实施例2:如图2所示,在实施例1的基础上,本发明实施例提供的编辑距离的获取过程,包含以下步骤:
S101:获得神经网络架构中任意两个神经网络架构,其中一个命名为第一神经网络架构图,另一个命名为第二神经网络架构图;将第一神经网络架构图和第二神经网络架构图进行抽象化图;
S102:将第一神经网络架构图和第二神经网络架构图中层级关系转换为图中的节点和边,节点表示神经网络中的层,边表示层之间的连接关系;
S103:在度量空间中,定义一个距离参数,距离参数用于度量两个神经网络架构之间的距离,距离函数选择欧式距离函数;对第一神经网络架构图和第二神经网络架构图进行并行遍历,在迭代期间计算每个节点之间的距离;
S104:在每次迭代中,比较节点的层数,并选择|L|的层数作为当前迭代的距离计算,在每个迭代期间都能够并行计算min(M,N)距离,其中M表示第一神经网络架构的层数,N表示第二神经网络架构的层数;|L|是比较两个神经网络架构的最小层数;
S105:重复步骤S103和步骤S104,直到完成所有节点的距离计算,输出最终的距离结果,距离结果表示两个神经网络架构之间的距离;
上述技术方案的工作原理和有益效果为:本实施例首先获得神经网络架构中任意两个神经网络架构,其中一个命名为第一神经网络架构图,另一个命名为第二神经网络架构图;将第一神经网络架构图和第二神经网络架构图进行抽象化图;其次将第一神经网络架构图和第二神经网络架构图中层级关系转换为图中的节点和边,节点表示神经网络中的层,边表示层之间的连接关系;再次在度量空间中,定义一个距离参数,距离参数用于度量两个神经网络架构之间的距离,距离函数选择欧式距离函数;对第一神经网络架构图和第二神经网络架构图进行并行遍历,在迭代期间计算每个节点之间的距离;然后在每次迭代中,比较节点的层数,并选择较小的层数作为当前迭代的距离计算,在每个迭代期间都能够并行计算min(M,N)距离,其中M表示第一神经网络架构的层数,N表示第二神经网络架构的层数(图3和图4中N表示N层历史网络,M表示M层历史网络,→表示依赖关系);最后重复步骤,直到完成所有节点的距离计算,输出最终的距离结果,距离结果表示两个神经网络架构之间的距离;上述方案可以更好地理解和比较不同的神经网络架构,通过将神经网络架构抽象化为图,并计算图节点之间的距离,可以直观地看出不同架构之间的层级关系和连接方式。通过比较距离,可以得出不同架构的相似性和差异性;可以辅助神经网络架构的设计和选择。通过比较不同架构的距离,可以找到与目标架构相似度较高的架构,从而提供借鉴和参考,对于设计新的神经网络架构或选择合适的预训练模型非常有帮助;可以用于神经网络架构的优化和迁移学习。通过比较不同架构的距离,可以找到相似架构之间的共性和差异,进而指导网络参数的优化和迁移学习的策略。本发明实施例通过对神经网络架构进行抽象化、距离度量和比较,可以提供一种量化的方式来评估和比较不同架构之间的相似性和差异性,从而辅助神经网络的设计、选择和优化。
实施例3:如图5所示,在实施例1的基础上,本发明实施例提供的将多个核函数级联进行级联的过程,包含以下步骤:
S201:将一个新的M层神经网络架构与两个历史神经网络架构连接,其中,两个历史神经网络架构分别包含N层和N’层;生成一个M*N矩阵的原始神经网络比较内核,矩阵中的每个元素表示新神经网络的第M层与历史神经网络的第N层之间的连接强度;
S202:在当前神经网络的最后一层和附加网络的第一层之间添加零填充,生成一个M*(N+N’)的矩阵,用于并行执行计算;
S203:在原始神经网络比较内核上逐层连接所有新生成的神经网络,生成一个二维内核,用于计算和分析;
上述技术方案的工作原理和有益效果为:本实施例首先将一个新的M层神经网络架构与两个历史神经网络架构连接,其中,两个历史神经网络架构分别包含N层和N’层;生成一个M*N矩阵的原始神经网络比较内核,矩阵中的每个元素表示新神经网络的第M层与历史神经网络的第N层之间的连接强度;其次在当前神经网络的最后一层和附加网络的第一层之间添加零填充,生成一个M*(N+N’)的矩阵,用于并行执行计算(图6和图7中N表示N层历史网络,N’表示N’层历史网络,M表示M层历史网络,M’表示M’层历史网络,→表示依赖关系,相邻的N和N’之间的0也是零池zero pooling,相邻的M和M’之间的0也是零池zeropooling,);最后在原始神经网络比较内核上逐层连接所有新生成的神经网络,生成一个二维内核,用于计算和分析;上述方案提高了神经网络的表达能力,通过连接不同层级的神经网络,可以利用不同层级的特征和信息,提高网络的学习能力和表达能力;提高了神经网络的计算效率:通过添加零填充和并行执行计算,可以加快计算速度,提高神经网络的计算效率,从而更快地进行模型训练和推断;增加了神经网络的灵活性和适应性:通过逐层连接所有新生成的神经网络,可以根据具体任务和需求,灵活地调整网络结构,提高网络的适应性和泛化能力。本实施例的新的神经网络架构在提高神经网络的表达能力、计算效率和适应性方面具有重要意义,有望为神经网络的发展和应用带来新的突破。
实施例4:如图8所示,在实施例3的基础上,本发明实施例提供的M*(N+N’)的矩阵的拆分过程,包含以下步骤:
S2021:将整个M*(N+N’)的矩阵拆分为多个大小相匹配的小矩阵,每个小矩阵的大小与对应的神经网络图的大小相同,确保每个小矩阵的计算任务可以被一个线程块处理;
S2022:在图像处理器并行计算平台上,将每个小矩阵分配给一个线程块进行计算,线程块是一组并行执行的线程,共享内存和协同计算;
S2023:在每个线程块中,使用并行计算对小矩阵进行计算;对于每个线程块,根据新神经网络的第M层和历史神经网络的第N层之间的连接强度,在相应的小矩阵中进行计算;
S2024:利用线程块的共享内存存储中间计算结果,将每个线程块的计算结果合并,得到整个M*(N+N’)矩阵的计算结果;
S2025:重复步骤S2021-步骤S2024,逐层连接所有新生成的神经网络,生成一个二维内核,用于后续的计算和分析;
上述技术方案的工作原理和有益效果为:本实施例首先将整个M*(N+N’)的矩阵拆分为多个大小相匹配的小矩阵,每个小矩阵的大小与对应的神经网络图的大小相同,确保每个小矩阵的计算任务可以被一个线程块处理;其次在图像处理器并行计算平台上,将每个小矩阵分配给一个线程块进行计算(如图9所示),线程块是一组并行执行的线程,共享内存和协同计算;然后在每个线程块中,使用并行计算对小矩阵进行计算;对于每个线程块,根据新神经网络的第M层和历史神经网络的第N层之间的连接强度,在相应的小矩阵中进行计算;再次利用线程块的共享内存存储中间计算结果,将每个线程块的计算结果合并,得到整个M*(N+N’)矩阵的计算结果;最后重复步骤S2021-步骤S2024,逐层连接所有新生成的神经网络,生成一个二维内核,用于后续的计算和分析;上述方案通过拆分矩阵并将每个小矩阵分配给一个线程块,实现了并行计算和任务分配的优化,通过利用并行计算平台的特性,可以加速神经网络的计算过程,提高计算效率和性能;同时,通过使用共享内存和优化的计算算法,可以减少数据传输和访问延迟,进一步提高计算速度;可以应用于各种神经网络的计算任务,提高神经网络的训练和推断速度,提高整个系统的效率和性能。
实施例5:如图10所示,在实施例1的基础上,本发明实施例提供的通过对不同的块结构进行搜索的过程,包含以下步骤:
S301:添加一个选择的块进行扩展神经网络架构,添加新块之后,将新块与现有块进行串联,调整新块的权重、偏置值、激活函数活正则化项等;
S302:基于块的转换,对所选块增加内部的神经元数量参数进行缩放;使用进化算法搜索最优的网络架构和块参数,根据需求,定义目标函数和约束条件引导搜索过程;
S303:完成转换后,对新的神经网络架构进行评估和测试,根据评估结果,进一步优化和调整;
上述技术方案的工作原理和有益效果为:本实施例首先添加一个选择的块进行扩展神经网络架构,添加新块之后,将新块与现有块进行串联(图11为基于层的变换示意图),调整新块的权重、偏置值、激活函数活正则化项等(图12为基于块的变换示意图);其次基于块的转换,对所选块增加内部的神经元数量参数进行缩放;使用进化算法搜索最优的网络架构和块参数,根据需求,定义目标函数和约束条件引导搜索过程;最后完成转换后,对新的神经网络架构进行评估和测试,根据评估结果,进一步优化和调整;上述方案通过添加新的块,可以增加神经网络的深度和复杂性,提供更多的表达能力,使神经网络能够学习更复杂的模式和特征,从而提高神经网络的性能和泛化能力;通过将新块与现有块进行串联,并调整新块的参数,促进信息的传递和融合,提高神经网络的信息流动性,使神经网络更好地利用输入数据的信息,从而提高神经网络的性能;通过对所选块内部神经元数量参数进行缩放,可以调整块的容量和复杂度,使神经网络适应不同规模的任务和数据集,提高网络的灵活性和适应性;使用进化算法搜索最优的神经网络架构和块参数,可以自动化地优化网络,通过定义目标函数和约束条件,可以引导搜索过程,找到最优的神经网络结构和参数设置,从而提高神经网络的性能;通过对新的神经网络架构进行评估和测试,可以了解神经网络的性能和泛化能力,根据评估结果,可以进一步优化和调整网络,以获得更好的性能;本发明实施例通过添加新块、连接和参数调整、块的转换和缩放、进化算法搜索等方法,优化神经网络架构,提高神经网络的性能和适应性,可以使神经网络更好地适应不同的任务和数据集,实现更高的性能和效果。
实施例6:如图13所示,在实施例1的基础上,本发明实施例提供的不同计算节点执行不同的子任务的过程,包含以下步骤:
S401:使用一个没有图形处理器的主节点生成异步控制逻辑,主节点负责协调逻辑任务分配;一旦生成和训练任务逻辑确定,主节点通过应用软件将任务调度到空闲节点;
S402:在从节点上使用中央处理器和人工智能加速卡执行独立的任务,从节点负责异步执行网络生成和训练,每个从节点使用图形处理器并行生成和训练神经网络架构;同时,从节点将训练当前神经网络,并通过共享文件系统保存当前的模型文件;
上述技术方案的工作原理和有益效果为:本实施例首先使用一个没有图形处理器的主节点生成异步控制逻辑,主节点负责协调逻辑任务分配(图14为解耦任务划分和任务执行示意图);一旦生成和训练任务逻辑确定,主节点通过应用软件将任务调度到空闲节点;其次在从节点上使用中央处理器和人工智能加速卡执行独立的任务,从节点负责异步执行网络生成和训练,每个从节点使用图形处理器并行生成和训练神经网络架构;同时,从节点将训练当前神经网络,并通过共享文件系统保存当前的模型文件;上述方案所有节点都可以访问共享的数据,以选择下一次迭代中的最佳候选神经网络并优化参数;通过访问共享数据,每个节点可以获取其他节点生成的候选神经网络和相应的性能指标,节点可以选择最优的候选神经网络,并更新参数以优化模型;众多从节点分别读取共享文件系统中的历史候选神经网络结构,并在各自的节点上变换出一组新的候选神经网络;每个节点将生成的候选神经网络与历史结构进行比较,以评估其性能和改进的潜力;利用分布式计算的方式加速神经网络的生成和训练过程,通过将任务分配给多个从节点并利用中央处理器和人工智能加速卡的并行计算能力,可以大大缩短训练时间;同时,通过异步执行网络生成和训练,可以更好地利用计算资源,提高系统的效率;此外,通过使用共享文件系统保存当前的模型文件,可以保证在任何时候都可以访问到最新的模型,以便进行后续的推理或其他操作,分布式计算方案还可以实现灵活的任务调度和资源管理,从而更好地满足不同的应用需求;本实施例可以提高神经网络生成和训练的效率,并且能够更好地利用计算资源,实现更快速和灵活的任务处理。
实施例7:如图15所示,本发明实施例提供了一种基于多面体变换表示的神经网络架构搜索系统,包含:
编辑距离计算模块,负责接收至少一个神经网络架构;获得神经网络架构中任意两个神经网络架构之间的编辑距离,将编辑距离的度量空间转换为一个多面体结构,其中多面体结构的每个面均代表一个核函数操作;
计算结果组合模块,负责按照核函数从简单到复杂的顺序,将多个核函数级联进行级联,每个核函数的输出作为下一个核函数的输入,形成一个多层的核函数结构,将多个核函数计算的结果组合在一起;
最优架构输出模块,负责从当前神经网络架构的块结构中选择一个或多个块作为基础,对选择的块进行增加块的层数或改变块的参数等操作,通过对不同的块结构进行搜索和评估,找到最优的神经网络架构;
任务分解模块,负责将多个神经网络架构搜索任务分解成多个子任务,在最优的神经网络架构上不同计算节点执行不同的子任务,利用计算节点间的通信实现并行计算;平衡不同计算节点的负载,确保各个计算节点的计算任务均匀地分配和执行;
上述技术方案的工作原理和有益效果为:本实施例的编辑距离计算模块接收至少一个神经网络架构;获得神经网络架构中任意两个神经网络架构之间的编辑距离,将编辑距离的度量空间转换为一个多面体结构,其中多面体结构的每个面均代表一个核函数操作;计算结果组合模块按照核函数从简单到复杂的顺序,将多个核函数级联进行级联,每个核函数的输出作为下一个核函数的输入,形成一个多层的核函数结构,将多个核函数计算的结果组合在一起;最优架构输出模块从当前神经网络架构的块结构中选择一个或多个块作为基础,对选择的块进行增加块的层数或改变块的参数等操作,通过对不同的块结构进行搜索和评估,找到最优的神经网络架构;任务分解模块将多个神经网络架构搜索任务分解成多个子任务,在最优的神经网络架构上不同计算节点执行不同的子任务,利用计算节点间的通信实现并行计算;平衡不同计算节点的负载,确保各个计算节点的计算任务均匀地分配和执行;上述方案引入多面体表示解决核函数的顺序计算通常会导致性能瓶颈的问题,多面体表示可以实现并行性和可扩展性,通过将核函数的计算操作分布在多个面上,可以同时进行多个核函数的计算,从而提高计算效率;采用多维内核级联来进一步优化搜索空间,实现大规模并行计算,通过将多个核函数的计算结果组合在一起,可以减小搜索空间,提高计算效率;同时,多维内核级联还可以通过并行计算加速整个神经网络架构搜索过程;引入基于块的变换的目的是改变网络的层架构,与传统的单个层结构变换不同,基于块的变换通过一次性改变一组层架构,可以更加灵活地寻找最优网络,可以通过对不同的块结构进行搜索和评估,找到最优的神经网络架构,通过这种方式,可以进一步提高神经网络模型的性能和效率;面向大规模集群的拓展通过将计算任务分配到不同的计算节点上,并利用计算节点间的通信来实现并行计算,可以充分利用集群的计算资源,进一步提高算法的效率和可扩展性。
本发明实施例能够将顺序的编辑距离计算抽象成多面体变换的表示。在新的抽象层次上,将计算的依赖消除,并将计算并行实现在图形处理器上,提高了运行搜索的速度,面向新的抽象增加了基于块的变换,提高了神经网络模型结果的预测精度;在抽象表示的基础上面向搜索速度和结果精度进行调优,实现了核函数高达10倍的加速,网络生成的3.92倍加速和20.03%的精度性能增益。
实施例8:如图16所示,在实施例7的基础上,本发明实施例提供的编辑距离计算模块,包含:
抽象化处理单元,负责获得神经网络架构中任意两个神经网络架构,其中一个命名为第一神经网络架构图,另一个命名为第二神经网络架构图;将第一神经网络架构图和第二神经网络架构图进行抽象化图;
关系转换单元,负责将第一神经网络架构图和第二神经网络架构图中层级关系转换为图中的节点和边,节点表示神经网络中的层,边表示层之间的连接关系;
并行遍历单元,负责在度量空间中,定义一个距离参数,距离参数用于度量两个神经网络架构之间的距离,距离函数选择欧式距离函数;对第一神经网络架构图和第二神经网络架构图进行并行遍历,在迭代期间计算每个节点之间的距离;
迭代处理单元,负责在每次迭代中,比较节点的层数,并选择|L|的层数作为当前迭代的距离计算,在每个迭代期间都能够并行计算min(M,N)距离,其中M表示第一神经网络架构的层数,N表示第二神经网络架构的层数;|L|是比较两个神经网络架构的最小层数;
结果输出单元,负责完成所有节点的距离计算,输出最终的距离结果,距离结果表示两个神经网络架构之间的距离;
上述技术方案的工作原理和有益效果为:本实施例的抽象化处理单元获得神经网络架构中任意两个神经网络架构,其中一个命名为第一神经网络架构图,另一个命名为第二神经网络架构图;将第一神经网络架构图和第二神经网络架构图进行抽象化图;关系转换单元将第一神经网络架构图和第二神经网络架构图中层级关系转换为图中的节点和边,节点表示神经网络中的层,边表示层之间的连接关系;并行遍历单元在度量空间中,定义一个距离参数,距离参数用于度量两个神经网络架构之间的距离,距离函数选择欧式距离函数;对第一神经网络架构图和第二神经网络架构图进行并行遍历,在迭代期间计算每个节点之间的距离;迭代处理单元在每次迭代中,比较节点的层数,并选择|L|的层数作为当前迭代的距离计算,在每个迭代期间都能够并行计算min(M,N)距离,其中M表示第一神经网络架构的层数,N表示第二神经网络架构的层数;|L|是比较两个神经网络架构的最小层数;结果输出单元完成所有节点的距离计算,输出最终的距离结果,距离结果表示两个神经网络架构之间的距离;上述方案可以更好地理解和比较不同的神经网络架构,通过将神经网络架构抽象化为图,并计算图节点之间的距离,可以直观地看出不同架构之间的层级关系和连接方式。通过比较距离,可以得出不同架构的相似性和差异性;可以辅助神经网络架构的设计和选择。通过比较不同架构的距离,可以找到与目标架构相似度较高的架构,从而提供借鉴和参考,对于设计新的神经网络架构或选择合适的预训练模型非常有帮助;可以用于神经网络架构的优化和迁移学习。通过比较不同架构的距离,可以找到相似架构之间的共性和差异,进而指导网络参数的优化和迁移学习的策略。本发明实施例通过对神经网络架构进行抽象化、距离度量和比较,可以提供一种量化的方式来评估和比较不同架构之间的相似性和差异性,从而辅助神经网络的设计、选择和优化。
实施例9:如图17所示,在实施例7的基础上,本发明实施例提供的计算结果组合模块,包含:
架构连接单元,负责将一个新的M层神经网络架构与两个历史神经网络架构连接,其中,两个历史神经网络架构分别包含N层和N’层;生成一个M*N矩阵的原始神经网络比较内核,矩阵中的每个元素表示新神经网络的第M层与历史神经网络的第N层之间的连接强度;
矩阵生成单元,负责在当前神经网络的最后一层和附加网络的第一层之间添加零填充,生成一个M*(N+N’)的矩阵,用于并行执行计算;
内核生成单元,负责在原始神经网络比较内核上逐层连接所有新生成的神经网络,生成一个二维内核,用于计算和分析;
上述技术方案的工作原理和有益效果为:本实施例的架构连接单元将一个新的M层神经网络架构与两个历史神经网络架构连接,其中,两个历史神经网络架构分别包含N层和N’层;生成一个M*N矩阵的原始神经网络比较内核,矩阵中的每个元素表示新神经网络的第M层与历史神经网络的第N层之间的连接强度;矩阵生成单元在当前神经网络的最后一层和附加网络的第一层之间添加零填充,生成一个M*(N+N’)的矩阵,用于并行执行计算;内核生成单元在原始神经网络比较内核上逐层连接所有新生成的神经网络,生成一个二维内核,用于计算和分析;上述方案提高了神经网络的表达能力,通过连接不同层级的神经网络,可以利用不同层级的特征和信息,提高网络的学习能力和表达能力;提高了神经网络的计算效率:通过添加零填充和并行执行计算,可以加快计算速度,提高神经网络的计算效率,从而更快地进行模型训练和推断;增加了神经网络的灵活性和适应性:通过逐层连接所有新生成的神经网络,可以根据具体任务和需求,灵活地调整网络结构,提高网络的适应性和泛化能力。本实施例的新的神经网络架构在提高神经网络的表达能力、计算效率和适应性方面具有重要意义,有望为神经网络的发展和应用带来新的突破。
实施例10:如图18所示,在实施例7的基础上,本发明实施例提供的最优架构输出模块,包含:
层变换单元,负责添加一个选择的块进行扩展神经网络架构,添加新块之后,将新块与现有块进行串联,调整新块的权重、偏置值、激活函数活正则化项等;
块变换单元,负责基于块的转换,对所选块增加内部的神经元数量参数进行缩放;使用进化算法搜索最优的网络架构和块参数,根据需求,定义目标函数和约束条件引导搜索过程;
评估单元,负责完成转换后,对新的神经网络架构进行评估和测试,根据评估结果,进一步优化和调整;
上述技术方案的工作原理和有益效果为:本实施例的层变换单元添加一个选择的块进行扩展神经网络架构,添加新块之后,将新块与现有块进行串联,调整新块的权重、偏置值、激活函数活正则化项等;块变换单元基于块的转换,对所选块增加内部的神经元数量参数进行缩放;使用进化算法搜索最优的网络架构和块参数,根据需求,定义目标函数和约束条件引导搜索过程;评估单元完成转换后,对新的神经网络架构进行评估和测试,根据评估结果,进一步优化和调整;上述方案通过添加新的块,可以增加神经网络的深度和复杂性,提供更多的表达能力,使神经网络能够学习更复杂的模式和特征,从而提高神经网络的性能和泛化能力;通过将新块与现有块进行串联,并调整新块的参数,促进信息的传递和融合,提高神经网络的信息流动性,使神经网络更好地利用输入数据的信息,从而提高神经网络的性能;通过对所选块内部神经元数量参数进行缩放,可以调整块的容量和复杂度,使神经网络适应不同规模的任务和数据集,提高网络的灵活性和适应性;使用进化算法搜索最优的神经网络架构和块参数,可以自动化地优化网络,通过定义目标函数和约束条件,可以引导搜索过程,找到最优的神经网络结构和参数设置,从而提高神经网络的性能;通过对新的神经网络架构进行评估和测试,可以了解神经网络的性能和泛化能力,根据评估结果,可以进一步优化和调整网络,以获得更好的性能;本发明实施例通过添加新块、连接和参数调整、块的转换和缩放、进化算法搜索等方法,优化神经网络架构,提高神经网络的性能和适应性,可以使神经网络更好地适应不同的任务和数据集,实现更高的性能和效果。
实施例11:如图19所示,在实施例7的基础上,本发明实施例提供的任务分解模块,包含:
逻辑控制单元,负责使用一个没有图形处理器的主节点生成异步控制逻辑,主节点负责协调逻辑任务分配;一旦生成和训练任务逻辑确定,主节点通过应用软件将任务调度到空闲节点;
节点处理单元,负责在从节点上使用中央处理器和人工智能加速卡执行独立的任务,从节点负责异步执行网络生成和训练,每个从节点使用图形处理器并行生成和训练神经网络架构;同时,从节点将训练当前神经网络,并通过共享文件系统保存当前的模型文件;
上述技术方案的工作原理和有益效果为:本实施例的逻辑控制单元使用一个没有图形处理器的主节点生成异步控制逻辑,主节点负责协调逻辑任务分配;一旦生成和训练任务逻辑确定,主节点通过应用软件将任务调度到空闲节点;节点处理单元在从节点上使用中央处理器和人工智能加速卡执行独立的任务,从节点负责异步执行网络生成和训练,每个从节点使用图形处理器并行生成和训练神经网络架构;同时,从节点将训练当前神经网络,并通过共享文件系统保存当前的模型文件;上述方案所有节点都可以访问共享的数据,以选择下一次迭代中的最佳候选神经网络并优化参数;通过访问共享数据,每个节点可以获取其他节点生成的候选神经网络和相应的性能指标,节点可以选择最优的候选神经网络,并更新参数以优化模型;众多从节点分别读取共享文件系统中的历史候选神经网络结构,并在各自的节点上变换出一组新的候选神经网络;每个节点将生成的候选神经网络与历史结构进行比较,以评估其性能和改进的潜力;利用分布式计算的方式加速神经网络的生成和训练过程,通过将任务分配给多个从节点并利用中央处理器和人工智能加速卡的并行计算能力,可以大大缩短训练时间;同时,通过异步执行网络生成和训练,可以更好地利用计算资源,提高系统的效率;此外,通过使用共享文件系统保存当前的模型文件,可以保证在任何时候都可以访问到最新的模型,以便进行后续的推理或其他操作,分布式计算方案还可以实现灵活的任务调度和资源管理,从而更好地满足不同的应用需求;本实施例可以提高神经网络生成和训练的效率,并且能够更好地利用计算资源,实现更快速和灵活的任务处理。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种基于多面体变换表示的神经网络架构搜索方法,其特征在于,包含以下步骤:
接收至少一个神经网络架构,并获取接收架构中任意两个神经网络架构之间的编辑距离,将编辑距离的度量空间转换为多面体结构,其中多面体的每个面表示一个核函数操作;
按复杂度递增的顺序级联多个内核函数,其中每个内核函数的输出作为下一个内核函数的输入,形成多层内核函数结构,组合多个内核函数计算的结果;
从当前神经网络架构的块结构中选择一个或多个区块作为基础,对选择的块进行增加块的层数或改变块的参数操作;搜索和评估不同的块结构,以找到最优的神经网络架构;
将多个神经网络架构搜索任务分解为多个子任务,不同的计算节点在最优神经网络架构上执行不同的子任务;利用计算节点之间的通信实现并行计算,平衡不同计算节点的工作量,保证计算任务的均匀分布和执行;
将多个核函数级联进行级联的过程,包含以下步骤:
将一个新的M层神经网络架构与两个历史神经网络架构连接,其中,两个历史神经网络架构分别包含N层和N’层;生成一个M*N矩阵的原始神经网络比较内核,矩阵中的每个元素表示新神经网络的第M层与历史神经网络的第N层之间的连接强度;
在当前神经网络的最后一层和附加网络的第一层之间添加零填充,生成一个M*(N +N’)的矩阵,用于并行执行计算;
在原始神经网络比较内核上逐层连接所有新生成的神经网络,生成一个二维内核,用于计算和分析;
M*(N + N’)的矩阵的拆分过程,包含以下步骤:
将整个M*(N + N’)的矩阵拆分为多个大小相匹配的小矩阵,每个小矩阵的大小与对应的神经网络图的大小相同,确保每个小矩阵的计算任务被一个线程块处理;
在图像处理器并行计算平台上,将每个小矩阵分配给一个线程块进行计算,线程块是一组并行执行的线程,共享内存和协同计算;
在每个线程块中,使用并行计算对小矩阵进行计算;对于每个线程块,根据新神经网络的第M层和历史神经网络的第N层之间的连接强度,在相应的小矩阵中进行计算;
利用线程块的共享内存存储中间计算结果,将每个线程块的计算结果合并,得到整个M*(N + N’)矩阵的计算结果;
逐层连接所有新生成的神经网络,生成一个二维内核,用于后续的计算和分析。
2.如权利要求1所述的基于多面体变换表示的神经网络架构搜索方法,其特征在于,编辑距离的获取过程,包含以下步骤:
获得神经网络架构中任意两个神经网络架构,其中一个命名为第一神经网络架构图,另一个命名为第二神经网络架构图;将第一神经网络架构图和第二神经网络架构图进行抽象化图;
将第一神经网络架构图和第二神经网络架构图中层级关系转换为图中的节点和边,节点表示神经网络中的层,边表示层之间的连接关系;
在度量空间中,定义一个距离参数,距离参数用于度量两个神经网络架构之间的距离,距离函数选择欧式距离函数;对第一神经网络架构图和第二神经网络架构图进行并行遍历,在迭代期间计算每个节点之间的距离;
在每次迭代中,比较节点的层数,并选择|L|的层数作为当前迭代的距离计算,在每个迭代期间都能够并行计算min(X, Y)距离,其中X表示第一神经网络架构的层数,Y表示第二神经网络架构的层数;|L| 是比较两个神经网络架构的最小层数;
直到完成所有节点的距离计算,输出最终的距离结果,距离结果表示两个神经网络架构之间的距离。
3.如权利要求1所述的基于多面体变换表示的神经网络架构搜索方法,其特征在于,不同计算节点执行不同的子任务的过程,包含以下步骤:
使用一个没有图形处理器的主节点生成异步控制逻辑,主节点负责协调逻辑任务分配;一旦生成和训练任务逻辑确定,主节点通过应用软件将任务调度到空闲节点;
在从节点上使用中央处理器和人工智能加速卡执行独立的任务,从节点负责异步执行网络生成和训练,每个从节点使用图形处理器并行生成和训练神经网络架构;同时,从节点将训练当前神经网络,并通过共享文件系统保存当前的模型文件。
4.如权利要求3所述的基于多面体变换表示的神经网络架构搜索方法,其特征在于,所有节点访问共享的数据,以选择下一次迭代中的最佳候选神经网络并优化参数;通过访问共享数据,每个节点获取其他节点生成的候选神经网络和相应的性能指标,节点选择最优的候选神经网络,并更新参数以优化模型。
5.如权利要求3所述的基于多面体变换表示的神经网络架构搜索方法,其特征在于,从节点分别读取共享文件系统中的历史候选神经网络结构,并在各自的节点上变换出一组新的候选神经网络。
6.一种基于多面体变换表示的神经网络架构搜索系统,其特征在于,包含:
编辑距离计算模块,负责接收至少一个神经网络架构;获得神经网络架构中任意两个神经网络架构之间的编辑距离,将编辑距离的度量空间转换为一个多面体结构,其中多面体结构的每个面均代表一个核函数操作;
计算结果组合模块,负责按照核函数从简单到复杂的顺序,将多个核函数级联进行级联, 每个核函数的输出作为下一个核函数的输入,形成一个多层的核函数结构,将多个核函数计算的结果组合在一起;
最优架构输出模块,负责从当前神经网络架构的块结构中选择一个或多个块作为基础,对选择的块进行增加块的层数或改变块的参数操作,通过对不同的块结构进行搜索和评估,找到最优的神经网络架构;
任务分解模块,负责将多个神经网络架构搜索任务分解成多个子任务,在最优的神经网络架构上不同计算节点执行不同的子任务,利用计算节点间的通信实现并行计算;平衡不同计算节点的负载,确保各个计算节点的计算任务均匀地分配和执行;
将多个核函数级联进行级联的过程,包含:
将一个新的M层神经网络架构与两个历史神经网络架构连接,其中,两个历史神经网络架构分别包含N层和N’层;生成一个M*N矩阵的原始神经网络比较内核,矩阵中的每个元素表示新神经网络的第M层与历史神经网络的第N层之间的连接强度;
在当前神经网络的最后一层和附加网络的第一层之间添加零填充,生成一个M*(N +N’)的矩阵,用于并行执行计算;
在原始神经网络比较内核上逐层连接所有新生成的神经网络,生成一个二维内核,用于计算和分析;
M*(N + N’)的矩阵的拆分过程,包含:
将整个M*(N + N’)的矩阵拆分为多个大小相匹配的小矩阵,每个小矩阵的大小与对应的神经网络图的大小相同,确保每个小矩阵的计算任务被一个线程块处理;
在图像处理器并行计算平台上,将每个小矩阵分配给一个线程块进行计算,线程块是一组并行执行的线程,共享内存和协同计算;
在每个线程块中,使用并行计算对小矩阵进行计算;对于每个线程块,根据新神经网络的第M层和历史神经网络的第N层之间的连接强度,在相应的小矩阵中进行计算;
利用线程块的共享内存存储中间计算结果,将每个线程块的计算结果合并,得到整个M*(N + N’)矩阵的计算结果;
逐层连接所有新生成的神经网络,生成一个二维内核,用于后续的计算和分析。
7.如权利要求6所述的基于多面体变换表示的神经网络架构搜索系统,其特征在于,编辑距离计算模块,包含:
抽象化处理单元,负责获得神经网络架构中任意两个神经网络架构,其中一个命名为第一神经网络架构图,另一个命名为第二神经网络架构图;将第一神经网络架构图和第二神经网络架构图进行抽象化图;
关系转换单元,负责将第一神经网络架构图和第二神经网络架构图中层级关系转换为图中的节点和边,节点表示神经网络中的层,边表示层之间的连接关系;
并行遍历单元,负责在度量空间中,定义一个距离参数,距离参数用于度量两个神经网络架构之间的距离,距离函数选择欧式距离函数;对第一神经网络架构图和第二神经网络架构图进行并行遍历,在迭代期间计算每个节点之间的距离;
迭代处理单元,负责在每次迭代中,比较节点的层数,并选择|L|的层数作为当前迭代的距离计算,在每个迭代期间都能够并行计算min(X, Y)距离,其中X表示第一神经网络架构的层数,Y表示第二神经网络架构的层数;|L| 是比较两个神经网络架构的最小层数;
结果输出单元,负责完成所有节点的距离计算,输出最终的距离结果,距离结果表示两个神经网络架构之间的距离。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310971483.9A CN116796815B (zh) | 2023-08-03 | 2023-08-03 | 一种基于多面体变换表示的神经网络架构搜索方法及系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310971483.9A CN116796815B (zh) | 2023-08-03 | 2023-08-03 | 一种基于多面体变换表示的神经网络架构搜索方法及系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN116796815A CN116796815A (zh) | 2023-09-22 |
| CN116796815B true CN116796815B (zh) | 2025-09-23 |
Family
ID=88036547
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310971483.9A Active CN116796815B (zh) | 2023-08-03 | 2023-08-03 | 一种基于多面体变换表示的神经网络架构搜索方法及系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116796815B (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111160535A (zh) * | 2019-12-31 | 2020-05-15 | 北京计算机技术及应用研究所 | 基于Hadoop的DGCNN模型加速方法 |
| CN111325356A (zh) * | 2019-12-10 | 2020-06-23 | 四川大学 | 一种基于演化计算的神经网络搜索分布式训练系统及训练方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10769533B2 (en) * | 2015-09-04 | 2020-09-08 | Baidu Usa Llc | Systems and methods for efficient neural network deployments |
| CN111931904A (zh) * | 2020-07-10 | 2020-11-13 | 华为技术有限公司 | 神经网络的构建方法和装置 |
| CN115204390A (zh) * | 2022-06-21 | 2022-10-18 | 清华大学 | 一种用于神经网络架构空间的可视分析系统和方法 |
-
2023
- 2023-08-03 CN CN202310971483.9A patent/CN116796815B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111325356A (zh) * | 2019-12-10 | 2020-06-23 | 四川大学 | 一种基于演化计算的神经网络搜索分布式训练系统及训练方法 |
| CN111160535A (zh) * | 2019-12-31 | 2020-05-15 | 北京计算机技术及应用研究所 | 基于Hadoop的DGCNN模型加速方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116796815A (zh) | 2023-09-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20220391665A1 (en) | Method for splitting neural network model by using multi-core processor, and related product | |
| CN115543639A (zh) | 分布式执行深度学习任务的优化方法和分布式系统 | |
| US11645493B2 (en) | Flow for quantized neural networks | |
| US20250005455A1 (en) | Partitioning for an execution pipeline | |
| US20190340499A1 (en) | Quantization for dnn accelerators | |
| WO2022068663A1 (zh) | 内存分配方法、相关设备及计算机可读存储介质 | |
| CN116594748B (zh) | 针对任务的模型定制处理方法、装置、设备和介质 | |
| CN119647604B (zh) | 一种决策模型的训练推理方法、产品、电子设备及介质 | |
| Sood et al. | Neunets: An automated synthesis engine for neural network design | |
| CN115952856B (zh) | 一种基于双向分割的神经网络流水线并行训练方法及系统 | |
| WO2021238734A1 (zh) | 一种神经网络的训练方法及相关设备 | |
| Wen et al. | MapReduce-based BP neural network classification of aquaculture water quality | |
| Violos et al. | Predicting resource usage in edge computing infrastructures with CNN and a hybrid Bayesian particle swarm hyper-parameter optimization model | |
| Shi et al. | NASA: Neural architecture search and acceleration for hardware inspired hybrid networks | |
| CN116796815B (zh) | 一种基于多面体变换表示的神经网络架构搜索方法及系统 | |
| Moe et al. | Implementing spatio-temporal graph convolutional networks on graphcore ipus | |
| Meng et al. | Enhanced global optimization with parallel global and local structures for real-time control systems | |
| US20250315571A1 (en) | System and method for neural network accelerator and toolchain design automation | |
| US20240095309A1 (en) | System and method for holistically optimizing dnn models for hardware accelerators | |
| US20230162010A1 (en) | Synthesizing Zero-Loss Low-Power Approximate DNN Accelerators With Large-Scale Search | |
| Batzolis et al. | Accelerating Edge Intelligence: Challenges and Future Directions in Hardware-Driven Machine Learning | |
| Belatik et al. | Optimization of AI Models for Embedded Systems: A Literature Review and Comparative Analysis | |
| Zhao et al. | Bridging the Gap Between Memory and Communication Efficiency on Distributed Deep Learning Systems | |
| Sharma et al. | The Future of Transportation: AI in Autonomous Vehicles and Smart Traffic Systems | |
| He et al. | MIREDO: MIP-Driven Resource-Efficient Dataflow Optimization for Computing-in-Memory Accelerator |
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 |