图神经网络架构搜索方法和装置

文档序号:34907446发布日期:2023-07-27 19:23阅读:42来源:国知局
图神经网络架构搜索方法和装置

本发明涉及人工智能及深度学习,尤其涉及一种图神经网络架构搜索方法和装置。


背景技术:

1、图神经网络(graph neural networks,gnn)是近年来新兴的一种深度学习方法,可以用于处理非欧空间数据。传统的深度学习方法,如卷积神经网络(convolutionalneural networks,cnn)可以有效提取规则化数据(图像、语音、文本)的特征。然而,现实世界中,许多实际应用场景的数据都是从非欧空间生成的,传统的深度学习方法并不适用于处理非欧空间数据。因此,图神经网络就被提出,用于处理非结构化数据,且在各个领域均取得了很大的进展。目前,图神经网络在社交网络分析、知识图谱、推荐系统、点云处理等各个研究领域均有很强的应用潜力,且逐渐成为主流方法。图神经网络的本质是图+神经网络,它可以在不规则的图数据上执行神经网络运算,具有强大的表示学习能力,可以有效提取非规则化数据中的空间拓扑特征。基本的图神经网络每一层包含节点聚合函数、节点更新函数、节点采样函数、激活函数等结构组件。

2、基于人工的图神经网络模型设计方法,往往依赖专家经验来为图神经网络层挑选不同的结构组件,在面对不同的任务、数据集时需要花费大量的时间去重新训练调优,并且人工难以考虑到模型的所有瓶颈点,很难在面对不同场景时高效的设计出极致性能的图神经网络模型。因此,目前出现了神经网络架构搜索的自动化设计技术。

3、神经网络架构搜索是一种自动化机器学习技术(automl),其主要任务:是给定一个神经网络模型的设计空间,在给定优化目标(如模型准确率)、搜索策略(如进化算法、强化学习)、评估方法等情况下,在设计空间中搜索出一个最优的网络模型结构。但是申请人发现,现有的神经网络架构搜索技术都具有如下缺陷:

4、1、搜索目标仅以准确率最优为单目标,在搜索系统的优化函数中没有引入硬件效率相关指标,导致最终搜索出来的图神经网络架构难以满足现实应用的计算效率需求。

5、2、缺乏有效的图神经网络架构硬件效率评估手段,很多目标部署设备较低的计算性能以及较高的通信延迟导致将子架构采样完成后实时部署到目标设备上进行硬件效率测试却发现不可行。

6、3、搜索策略采用简单的强化学习或者进化算法,每次采样子架构后都需要进行训练来获得子架构的准确率性能,搜索时间开销较大。


技术实现思路

1、有鉴于此,本发明提供一种图神经网络架构搜索方法和装置,以解决上述提及的至少一个问题。

2、为了实现上述目的,本发明采用以下方案:

3、根据本发明的第一方面,提供一种图神经网络架构搜索方法,所述方法包括:基于应用需求对图神经网络搜索空间进行超网构建,所述搜索空间包括函数空间和操作空间;执行对所述函数空间的搜索以确定一种使得所述超网准确率最高的函数组合;根据所述准确率最高的函数组合固定所述超网上每个位置的函数;执行对所述操作空间的搜索来确定满足所述应用需求中硬件效率需求及准确率需求的最优图神经网络架构。

4、作为本发明的一个实施例,上述方法还包括:获取目标应用的应用需求,所述应用需求包括:目标数据集、目标部署设备、准确率需求和硬件效率需求。

5、作为本发明的一个实施例,上述方法中执行对所述函数空间的搜索以确定一种使得所述超网准确率最高的函数组合包括:对所述函数空间进行采样生成函数空间子架构,所述函数空间子架构包括所述超网的上半部分及下半部分所分别对应的两组函数设定;基于所述函数设定对所述函数空间子架构进行训练来获得所述函数设定的准确率;重复对函数空间的采样以及对函数空间子架构的训练直到达到预设最大迭代次数;确定使得所述超网准确率最高的一组函数组合设定。

6、作为本发明的一个实施例,上述方法中根据所述准确率最高的函数组合固定所述超网上每个位置的函数之后,还包括:对所述超网进行预设回合的超网预训练,得到超网预训练权重。

7、作为本发明的一个实施例,上述方法中执行对所述操作空间的搜索来确定满足所述应用需求中硬件效率需求及准确率需求的最优图神经网络架构包括:对所述超网上每个位置的操作进行随机采样来获得操作空间子架构;将所述操作空间子架构输入硬件感知装置,由所述硬件感知装置获得所述操作空间子架构对应的硬件效率评分;判断所述硬件效率评分是否满足硬件效率需求;响应于所述硬件效率满足硬件效率需求,对所述操作空间子架构赋予超网预训练权重来在目标数据集的验证集上进行测试获得准确率评分;基于进化算法进行下一轮次的种群迭代直至达到设定的最大迭代次数,输出最优图神经网络架构。

8、作为本发明的一个实施例,上述方法中硬件感知装置获得所述操作空间子架构对应的硬件效率评分包括:以所述操作空间子架构的每个操作作为节点,操作间的数据流向作为边,同时引入一个全局节点以存储输入目标数据集的图属性信息,所述全局节点连接其他所有节点,以此将所述操作空间子架构抽象成有向图;将所述有向图转换为邻接矩阵;基于独热码形式给每个节点赋予特征向量来构成特征矩阵;将目标设备的编码、所述邻接矩阵和所述特征矩阵作为图神经网络预测器的输入来通过所述图神经网络预测器输出硬件效率评分。

9、作为本发明的一个实施例,上述方法中图神经网络预测器通过如下方式进行训练:通过对图神经网络搜索空间进行随机采样n个图神经网络架构;在不同目标部署设备上进行测试来获得对应的硬件效率,以此构成图神经网络架构-硬件效率的数据集;基于所述数据集对所述图神经网络预测器进行预设回合数的训练来提高其预测精度。

10、根据本发明的第二方面,提供一种图神经网络架构搜索装置,所述装置包括:超网构建单元,用于基于应用需求对图神经网络搜索空间进行超网构建,所述搜索空间包括函数空间和操作空间;函数空间搜索单元,用于执行对所述函数空间的搜索以确定一种使得所述超网准确率最高的函数组合;超网函数固定单元,用于根据所述准确率最高的函数组合固定所述超网上每个位置的函数;操作空间搜索单元,用于执行对所述操作空间的搜索来确定满足所述应用需求中硬件效率需求及准确率需求的最优图神经网络架构。

11、作为本发明的一个实施例,上述装置还包括需求获取单元,用于获取目标应用的应用需求,所述应用需求包括:目标数据集、目标部署设备、准确率需求和硬件效率需求。

12、作为本发明的一个实施例,上述函数空间搜索单元具体用于:对所述函数空间进行采样生成函数空间子架构,所述函数空间子架构包括所述超网的上半部分及下半部分所分别对应的两组函数设定;基于所述函数设定对所述函数空间子架构进行训练来获得所述函数设定的准确率;重复对函数空间的采样以及对函数空间子架构的训练直到达到预设最大迭代次数;确定使得所述超网准确率最高的一组函数组合设定。

13、作为本发明的一个实施例,上述装置还包括预训练单元,用于对所述超网进行预设回合的超网预训练,得到超网预训练权重。

14、作为本发明的一个实施例,上述操作空间搜索单元具体包括:

15、随机采样模块,用于对所述超网上每个位置的操作进行随机采样来获得操作空间子架构;

16、输入模块,用于将所述操作空间子架构输入硬件感知装置,由所述硬件感知装置获得所述操作空间子架构对应的硬件效率评分;

17、判断模块,用于判断所述硬件效率评分是否满足硬件效率需求;

18、架构输出模块,用于响应于所述硬件效率满足硬件效率需求,对所述操作空间子架构赋予超网预训练权重来在目标数据集的验证集上进行测试获得准确率评分;基于进化算法进行下一轮次的种群迭代直至达到设定的最大迭代次数,输出最优图神经网络架构。

19、作为本发明的一个实施例,上述硬件感知装置获得所述操作空间子架构对应的硬件效率评分包括:以所述操作空间子架构的每个操作作为节点,操作间的数据流向作为边,同时引入一个全局节点以存储输入目标数据集的图属性信息,所述全局节点连接其他所有节点,以此将所述操作空间子架构抽象成有向图;将所述有向图转换为邻接矩阵;基于独热码形式给每个节点赋予特征向量来构成特征矩阵;将目标设备的编码、所述邻接矩阵和所述特征矩阵作为图神经网络预测器的输入来通过所述图神经网络预测器输出硬件效率评分。

20、作为本发明的一个实施例,上述图神经网络预测器通过如下方式进行训练:通过对图神经网络搜索空间进行随机采样n个图神经网络架构;在不同目标部署设备上进行测试来获得对应的硬件效率,以此构成图神经网络架构-硬件效率的数据集;基于所述数据集对所述图神经网络预测器进行预设回合数的训练来提高其预测精度。

21、根据本发明的第三方面,提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,处理器执行所述计算机程序时实现上述方法的步骤。

22、根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

23、由上述技术方案可知,本发明提供的图神经网络架构搜索方法和装置,采用了细粒度的设计方法,将搜索空间分为了函数空间和操作空间,且通过超网的形式来对搜索空间进行组织,可以有效降低搜索时间,进而解决图神经网络在边缘端设备上的高效部署并实时运行的问题。另外本技术结合所提出的硬件感知装置,可以有效提高搜索出的图神经网络架构在目标设备上的实际硬件效率,可以同时满足应用场景对图神经网络模型的准确率及硬件效率需求,与传统人工设计及无硬件感知手段的自动化设计技术相比具有显著优势。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1