沙巴体育标准盘意思

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台

一种基于FPGA的图神经网络加速器解决方案_发动机下护板

发布时间:2021-08-18    信息来源:webegoo.com.cn    作者:儒安机械

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台(白皮书编号:WP024)

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台得益于大数据的兴起和计算能力的快速提升,机器学习技术近年来经历了革命性的发展。诸如图像分类、语音识别和自然语言处理等机器学习任务,都是对具有一定大小、维度和有序排列的欧几里得数据进行处理。然而,在许多现实场景中,数据是由复杂的非欧几里得数据(例如图形)表示的。这些图形不仅包含数据,还包含数据之间的依赖关系,例如社交网络、蛋白质分子结构、电子商务平台中的客户数据等。数据复杂性的提升给传统的机器学习算法设计及其实现技术带来了严峻的挑战。在这种情况下,许多全新的基于图形的机器学习算法或图神经网络(GNN)不断在学术界和工业界涌现。

GNN对计算能力和存储有非常高的要求,而且其算法的软件实现效率非常低。因此,业界对GNN的硬件加速有着非常迫切的需求。尽管传统的卷积神经网络(CNN)硬件加速有很多种解决方案,但GNN的硬件加速还没有得到充分的讨论和研究。在撰写本白皮书时,谷歌(Google)和百度(Baidu)都无法搜索到关于GNN硬件加速的中文研究资料。本白皮书的写作动机是将国外最新的GNN算法、对加速技术的研究以及对基于现场可编程逻辑门阵列(FPGA)的GNN加速技术的探讨相结合,并以概述的形式呈现给读者。

对图神经网络(GNN)的介绍

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台在宏观层面上,GNN的架构与传统CNN有很多相似之处,诸如卷积层、池化、激活函数、机器学习处理器(MLP)、全连接层(FC layer)等模块,这些都可以应用到GNN。下图展示了一个相对简单的GNN架构。

图1:典型的GNN架构(来源:https://arxiv.org/abs/1901.00596)

但是,GNN中的图形数据卷积计算与传统CNN中的二维卷积计算不同。以下图为例,红色目标节点的卷积计算过程如下所示:

1、图卷积 - 使用近邻函数对周围节点的特征进行采样,并计算平均值。相邻节点的数量是不确定且无序的(非欧几里得数据)

2、二维卷积——使用卷积核对周围节点的特征进行采样,并计算加权平均值。相邻节点的数量是确定且有序的(欧几里得数据)

图2:图卷积和二维卷积(来源:https://arxiv.org/abs/1901.00596)

对GraphSAGE算法的介绍

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台学术界对GNN算法进行了大量的研究和探讨,提出了相当多的创新实现方法。其中,由斯坦福大学(Stanford University)于2017年提出的GraphSAGE是一种归纳表示学习算法,用于预测大规模图中动态的、全新的、未知的节点类型,还专门针对节点数量庞大、节点特征丰富的图进行了优化。如下图所示,GraphSAGE算法的计算过程可以分为三个主要步骤:

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台1、相邻节点采样——用于降低复杂性,一般采样两层,每层采样几个节点。

2、聚合——用于嵌入目标节点,即图的低维向量表示。

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台3、预测——使用嵌入作为全连接层的输入,以预测目标节点d的标签。

图3:GraphSAGE算法的可视化表示(来源:)

1.Sample neighborhood

1、样本邻域

2.Aggregate feature informaTIon from neighbors

2、聚合来自邻域的特征信息

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台3.Predict graph context and label using aggregated informaTIon

3、利用聚合信息预测图形情况和标签

为了在FPGA中实现GraphSAGE算法加速,必须了解其数学模型,以便将算法映射到不同的逻辑模块。下图所示的代码说明了该算法的数学过程。

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台图4:GraphSAGE算法的数学模型(来源:)

Step 1: Sample a sub-graph node with neighborhood funcTIon N[}。

步骤1:使用近邻函数N[}对子图节点进行采样。

Step 2: Aggregate features from neighbor nodes, e.g. mean[}, lstm[}, polling[}

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台步骤2:聚合相邻节点的特征,例如mean[}、lstm[}、polling[}

Step3: Combine aggregated node features. E.g. convoluTIon[}

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台步骤3:合并聚合的节点特征。例如卷积[}

Step 4: Nonlinear activation, e.g, relu[}

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台步骤4:非线性激活,例如relu[}

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台Step 5: Iterate for each neighbor with a sub-graph

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台步骤5:使用子图迭代每个邻域

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台Step 6: Normalize

步骤6:标准化

Step 7: Iterate for each search-depth

步骤7:对每个深度搜索进行迭代

Step 8: Final node embedding of node v

步骤8:节点v的最终节点嵌入

对于每个要处理的目标节点xv,GraphSAGE算法都会执行以下操作:

1、通过近邻采样函数N(v)对子图中的节点进行采样。

2、聚合要采样的相邻节点的特征。聚合函数可以是mean()、lstm()或polling()等。

3、将聚合结果与上一次迭代的输出表示合并起来,并使用Wk进行卷积。

4、对卷积结果进行非线性处理。

5、多次迭代以结束当前第k层的所有相邻节点的处理。

6、对第k层迭代的结果进行标准化处理。

24k88的注册送38-龙成国际注册送38元-注册送38金游戏平台7、多次迭代以结束对所有K层采样深度的处理。

8、将最终的迭代结果zv嵌入到输入节点xv。

GNN加速器设计所面临的挑战

GNN算法涉及大量的矩阵计算和存储访问操作。在传统的x86架构服务器上运行这种算法的效率是非常低的,表现为速度慢、能耗高等。

上一篇:5G技术应用先锋企业!_发动机测试
下一篇:金鹰重型工程机械股份有限公司首次公开发行股票并在创业板上市之上市公告书_发动机清洁剂
pc加拿大官方网站-加拿大28稳赚计划-加拿大28百分百中算法 加拿大28稳赚计划-加拿大28算法90胜率-加拿大28百分百中算法 加拿大28预测网-加拿大28算法90胜率-加拿大28预测凤凰算法 加拿大28单双算法-加拿大28算法90胜率-加拿大28百分百中算法 加拿大28稳赚计划-加拿大28算法90胜率-加拿大28预测凤凰算法 十大外围足彩网站-足球外围平台-足球外围网站推荐