System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种基于端到端学习的异构加速方法、装置、设备及存储介质。
技术介绍
1、目前中央处理器(central processing unit, cpu)以及图形处理器(graphicsprocessing unit, gpu)上的软件解决方案,随着表达式复杂性的增加,很快就会受到计算限制,因此,使用异构硬件加速器件来进行异构加速被广泛应用,一方面可将大数据工作负载卸载到硬件加速卡上进行,可以获得更高的加速比,另一方面也可以释放部分cpu或gpu压力。现场可编程门阵列(field programmable gate array ,fpga)是一种常见异构加速卡,在数据中心被大量使用,fpga可以将正则表达式直接编译为非确定性有限自动机(nondeterministic finite automata,nfa),非确定性有限自动机遇到输入字符串时即时构建匹配路径,可以实现cpu或gpu中软件应用加速。但随着正则表达式复杂度的增加,相应的非确定性有限自动机可能会变得非常庞大和复杂,由于无法验证非确定性有限自动机是否准确表达了与正则表达式内容,高复杂度的正则表达式可能导致生成的非确定性有限自动机不合理,从而导致非确定性有限自动机处理大规模文本数据时匹配效率低,影响异构设备执行加速任务。
技术实现思路
1、本专利技术提供一种基于端到端学习的异构加速方法、装置、设备及存储介质,用以解决相关技术中,由于无法验证非确定性有限自动机是否准确表达了与正则表达式内容,高复杂度的正
2、本专利技术提供一种基于端到端学习的异构加速方法,包括:
3、通过本地硬件设备获取数据控制流,以及根据生成正则表达式生成非确定性有限自动机,所述非确定性有限自动机用于表征所述正则表达式,以对所述数据控制流进行分析和过滤;
4、通过异构设备接收所述数据控制流和所述非确定性有限自动机,基于集成聚类模块的图卷积神经网络模型对所述非确定性有限自动机进行分析,在所述非确定性有限自动机成与其所表征的正则表达式成匹配关系时,将所述非确定性有限自动机配置到对应正则引擎上,对所述数据控制流进行并行分析和过滤;
5、其中,所述集成聚类模块的图卷积神经网络模型基于可微分聚类模块与图卷积神经网络联合训练得到。
6、根据本专利技术提供一种基于端到端学习的异构加速方法,所述基于集成聚类模块的图卷积神经网络模型对所述非确定性有限自动机进行分析,包括:
7、将所述非确定性有限自动机转换为状态机无向图;
8、将所述状态机无向图中每个节点输入所述图卷积神经网络,获取每个节点的嵌入向量;
9、将所述每个节点的嵌入向量输入所述可微分聚类模块,得到多个正则字符簇;其中,所述图卷积神经网络和所述可微分聚类模块进行联合训练得到;
10、获取所述非确定性有限自动机对应的正则表达式中各个字符之间的相关性;
11、在各个正则字符簇与所述正则表达式中各个字符之间的相关性一致时,判定所述非确定性有限自动机成与其所表征的正则表达式成匹配关系。
12、根据本专利技术提供一种基于端到端学习的异构加速方法,所述将所述非确定性有限自动机转换为状态机无向图,包括:
13、获取所述非确定性有限自动机的状态机拓扑结构;
14、将所述状态机拓扑结构中一个节点到另一个节点的边作为状态机无向图中的一个边节点;
15、在状态机无向图中,若两个边节点在所述状态机拓扑结构中通过一个状态相连,则在所述两个边节点之间创建一个无向边;
16、基于多个边节点和多个无向边生成状态机无向图结构。
17、根据本专利技术提供一种基于端到端学习的异构加速方法,所述状态机拓扑结构中每个节点到另一个节点的边上设置有标签,若所述状态机拓扑结构中有多条边具有相同的标签并且连接到相同的状态,则将所述状态机拓扑结构中的多条边作为所述状态机无向图结构的一个边节点。
18、根据本专利技术提供一种基于端到端学习的异构加速方法,所述图卷积神经网络包括多个图卷积层,所述将所述状态机无向图中每个节点输入所述图卷积神经网络,获取每个节点的嵌入向量,包括:
19、基于所述状态机无向图生成邻接矩阵,所述邻接矩阵包括每个节点的邻居节点及其特征;
20、通过至少一个图卷积层对所述状态机无向图中的每个节点与其邻居节点进行特征聚合;
21、结合聚合到的邻居特征与自身特征获取每个节点的嵌入向量。
22、根据本专利技术提供一种基于端到端学习的异构加速方法,所述将所述每个节点的嵌入向量输入所述可微分聚类模块,得到多个正则字符簇,包括:
23、所述可微分聚类模块根据每个节点的嵌入向量与聚类中心之间的距离,将每个节点分配到最近的簇类中,得到多个正则字符簇。
24、根据本专利技术提供一种基于端到端学习的异构加速方法,所述图卷积神经网络和所述可微分聚类模块进行联合训练得到,包括:
25、获取训练数据集,所述训练数据集包括多个节点及对应标签;
26、将所述训练数据集输入所述图卷积神经网络,获取每个节点的嵌入向量;
27、将所述每个节点的嵌入向量输入所述可微分聚类模块,得到多个正则字符簇;
28、基于综合损失函数计算所述多个正则字符簇对应的损失值;
29、根据所述损失值进行反向传播及优化器更新模型参数,直到满足训练结束条件,得到训练好的集成聚类模块的图卷积神经网络模型;
30、其中,所述综合损失函数包括节点的分类损失、聚类损失以及拉普拉斯矩阵的正则化项;
31、所述基于综合损失函数计算所述嵌入向量的损失值,包括:
32、使用交叉熵损失函数来计算标记节点数据对应的嵌入向量与真实标签之间的差异;
33、使用拉普拉斯矩阵的正则化项利用所述状态机无向图的结构信息,鼓励未标记节点中相邻节点具有相似的特征表示;
34、使用所述聚类损失计算每个节点到其最近聚类中心的距离的平均值。
35、根据本专利技术提供一种基于端到端学习的异构加速方法,所述可微分聚类模块中聚类中心的训练方法包括:
36、初始化一组聚类中心,所述聚类中心的数量和维度为可训练参数;
37、同时计算所有数据点与所有聚类中心之间的距离;
38、将每个数据点到其最近聚类中心的距离的平均值作为聚类损失;
39、在所述图卷积神经网络的训练过程中,最小化所述聚类损失,以获取聚类中心的数量和维度。
40、根据本专利技术提供一种基于端到端学习的异构加速方法,所述计算所有数据点与所有聚类中心之间的距离包括:
41、通过pytorch中的增加数据点维度函数,增加数据点的形状特征维度,得到三本文档来自技高网...
【技术保护点】
1.一种基于端到端学习的异构加速方法,其特征在于,包括:
2.根据权利要求1所述的基于端到端学习的异构加速方法,其特征在于,所述基于集成聚类模块的图卷积神经网络模型对所述非确定性有限自动机进行分析,包括:
3.根据权利要求2所述的基于端到端学习的异构加速方法,其特征在于,所述将所述非确定性有限自动机转换为状态机无向图,包括:
4.根据权利要求3所述的基于端到端学习的异构加速方法,其特征在于,所述状态机拓扑结构中每个节点到另一个节点的边上设置有标签,若所述状态机拓扑结构中有多条边具有相同的标签并且连接到相同的状态,则将所述状态机拓扑结构中的多条边作为所述状态机无向图结构的一个边节点。
5.根据权利要求2所述的基于端到端学习的异构加速方法,其特征在于,所述图卷积神经网络包括多个图卷积层,所述将所述状态机无向图中每个节点输入所述图卷积神经网络,获取每个节点的嵌入向量,包括:
6.根据权利要求2所述的基于端到端学习的异构加速方法,其特征在于,所述将所述每个节点的嵌入向量输入所述可微分聚类模块,得到多个正则字符簇,包括:
< ...【技术特征摘要】
1.一种基于端到端学习的异构加速方法,其特征在于,包括:
2.根据权利要求1所述的基于端到端学习的异构加速方法,其特征在于,所述基于集成聚类模块的图卷积神经网络模型对所述非确定性有限自动机进行分析,包括:
3.根据权利要求2所述的基于端到端学习的异构加速方法,其特征在于,所述将所述非确定性有限自动机转换为状态机无向图,包括:
4.根据权利要求3所述的基于端到端学习的异构加速方法,其特征在于,所述状态机拓扑结构中每个节点到另一个节点的边上设置有标签,若所述状态机拓扑结构中有多条边具有相同的标签并且连接到相同的状态,则将所述状态机拓扑结构中的多条边作为所述状态机无向图结构的一个边节点。
5.根据权利要求2所述的基于端到端学习的异构加速方法,其特征在于,所述图卷积神经网络包括多个图卷积层,所述将所述状态机无向图中每个节点输入所述图卷积神经网络,获取每个节点的嵌入向量,包括:
6.根据权利要求2所述的基于端到端学习的异构加速方法,其特征在于,所述将所述每个节点的嵌入向量输入所述可微分聚类模块,得到多个正则字符簇,包括:
7.根据权利要求2所述的基于端到端学习的异构加速方法,其特征在于,所述图卷积神经网络和所述可微分聚类模块进行联合训练得到,包括:
8.根据权利要求7所述的基于端到端学习的异构加速方法,其特征在于,所述可微分聚类模块中聚类中心的训练方法包括:
9.根据权利要求8所述的基于端到端学习的异构加速方法,其特征在于,所述计算所有数据点与所有聚类中心之间的距离包括:
10.根据权利要求9所述的基于端到端学习的异构加速方法...
【专利技术属性】
技术研发人员:童浩南,任智新,张闯,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。