谷歌、阿里、腾讯等在大规模图神经网络上必用的GNN加速算法(三)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 谷歌、阿里、腾讯等在大规模图神经网络上必用的GNN加速算法(三)

3.Subgraph sampling


3.1 cluster-GCN



80dda976dd53e6aa6df6b3c83c238e8a.png


论文标题:Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks


论文来源:KDD2019


论文方向:图卷积网络


论文链接:https://arxiv.org/abs/1905.07953


5910e6ac955589bf89bc5cc298fa33a5.png


**主要思路:**为了限制邻居数量的扩张和提高表示的效用,将图分割成多个cluster(限制子图的规模),在cluster上进行结点的batch training。


使用METIS进行图分割,使得cluster内的边多,cluster之间的边少。


594daf20469d4f709ac16e334fddb542.png


具体来说,对于图 分割成 个部分, , 由第 个分割中的结点构成, 仅由 中结点之间的边构成,故有 个子图:


52b42ef042d881a2b6252ee0199cec74.png

因此,邻居矩阵可以分为 的子矩阵:


0617603fc6a3dc2587b363532a9c239f.png8dbe614d78c216a2188878cc5f09eaff.png


同理也可以对结点特征矩阵 和 进行分割, 。


769e431156fee39a4395309676d57207.png


Loss可以分解为:


932eaa8b027f3cd8d7bcc28876bfadf7.png


两种训练方式:



1.随机挑选一个cluster进行训练(coarse clustering)


2.随机挑选 k 个cluster,然后连接他们再进行训练(stochastic multiple clustering)


3.2 GraphSAINT



763d3506c481fcd7b0343e436558d391.png


论文标题:GraphSAINT: Graph Sampling Based Inductive Learning Method


论文来源:ICLR2020


论文方向:图卷积网络


论文链接:https://arxiv.org/abs/1907.04931


主要思路:先采样子图,之后在子图上做完全连接的GCN。


e6fc884f54ff758b0c577ab44c1dd85e.png


通过在子图的GCN上添加归一化系数(通过预处理计算)来使得估计量无偏,Aggregation 的normalization为:


e1e1f0866f02616f003cdb6205b49c54.pngdf467638893b1f8f73d53ecc70b5e2fe.png


Loss的normalization为:


20e6f97c619a7fd952d969acb42e2835.png


从而:


0726bccd1ef4f780e22e2f6bd2824897.png


一个好的Samper应该使得:



1、相互具有较大影响的结点应该被sample到同一个子图;


2、每条边多有不可忽略的抽样概率。


设计Sampler减少评估的方差:


Random node sampler:


897a2d453be946d7c77460bfccf37b22.png


Random edge sampler:


3264d07075051260d9b34ba29a868987.png


Random walk based sampler:


c928caa87198f6602904b8c35d51ca1d.png


4.部分实验



427868b95f190ed12161056537a7dfe4.png





相关文章
|
存储 算法 Java
Java中,树与图的算法涉及二叉树的前序、中序、后序遍历以及DFS和BFS搜索。
【6月更文挑战第21天】Java中,树与图的算法涉及二叉树的前序、中序、后序遍历以及DFS和BFS搜索。二叉树遍历通过访问根、左、右子节点实现。DFS采用递归遍历图的节点,而BFS利用队列按层次访问。以下是简化的代码片段:[Java代码略]
282 4
|
存储 运维 安全
探秘阿里云云专线:企业上云网络连接的最优解
阿里云云专线(CCN)是专用网络连接服务,通过物理专线将企业本地网络与云端资源无缝连接。它具备高速稳定、安全可靠、灵活扩展和便捷管理等优势,适用于混合云架构、分支机构互联及数据灾备迁移等场景。用户可登录阿里云官网选择合适套餐并快速开通服务,关注公众号还能获取更多资讯。
1263 9
|
机器学习/深度学习 人工智能
Token化一切,甚至网络!北大&谷歌&马普所提出TokenFormer,Transformer从来没有这么灵活过!
Transformer模型在人工智能领域表现出色,但扩展其规模时面临计算成本和训练难度急剧增加的问题。北京大学、谷歌和马普所的研究人员提出了TokenFormer架构,通过将模型参数视为Token,利用Token-Parameter注意力(Pattention)层取代线性投影层,实现了灵活且高效的模型扩展。实验表明,TokenFormer在保持性能的同时大幅降低了训练成本,在语言和视觉任务上表现优异。论文链接:https://arxiv.org/pdf/2410.23168。
418 45
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
476 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
达摩院 供应链 JavaScript
网络流问题--仓储物流调度【数学规划的应用(含代码)】阿里达摩院MindOpt
本文通过使用MindOpt工具优化仓储物流调度问题,旨在提高物流效率并降低成本。首先,通过考虑供需匹配、运输时间与距离、车辆容量、仓库储存能力等因素构建案例场景。接着,利用数学规划方法,包括线性规划和网络流问题,来建立模型。在网络流问题中,通过定义节点(资源)和边(资源间的关系),确保流量守恒和容量限制条件下找到最优解。文中还详细介绍了MindOpt Studio云建模平台和MindOpt APL建模语言的应用,并通过实例展示了如何声明集合、参数、变量、目标函数及约束条件,并最终解析了求解结果。通过这些步骤,实现了在满足各仓库需求的同时最小化运输成本的目标。
|
达摩院 安全 调度
网络流问题--交通调度【数学规划的应用(含代码)】阿里达摩院MindOpt
本文探讨了如何利用数学规划工具MindOpt解决交通调度问题。交通调度涉及网络流分析,考虑道路容量、车辆限制、路径选择等因素,以实现高效运行。通过建立数学模型,利用MindOpt云平台和建模语言MAPL,设定流量最大化目标并确保流量守恒,解决实际的调度问题。案例展示了如何分配车辆从起点到终点,同时满足道路容量约束。MindOpt Studio提供在线开发环境,支持模型构建和求解,帮助优化大规模交通调度。
|
存储 算法 Python
“解锁Python高级数据结构新姿势:图的表示与遍历,让你的算法思维跃升新高度
【7月更文挑战第13天】Python中的图数据结构用于表示复杂关系,通过节点和边连接。常见的表示方法是邻接矩阵(适合稠密图)和邻接表(适合稀疏图)。图遍历包括DFS(深度优先搜索)和BFS(广度优先搜索):DFS深入探索分支,BFS逐层访问邻居。掌握这些技巧对优化算法和解决实际问题至关重要。**
336 1
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现深度学习模型:图神经网络(GNN)
使用Python实现深度学习模型:图神经网络(GNN)
1579 1
|
存储 算法 C++
c++算法学习笔记 (8) 树与图部分
c++算法学习笔记 (8) 树与图部分
|
数据采集 存储 算法
「AIGC算法」图搜索算法详解
本文探讨了图搜索算法,包括遍历和最短路径搜索。DFS和BFS是遍历算法,前者使用栈深入搜索,后者用队列逐层遍历。Dijkstra、Bellman-Ford、A*、Floyd-Warshall和Johnson算法则解决最短路径问题。文中还给出了DFS的Python实现示例。这些算法在路径规划、网络分析等领域有重要应用。
1166 0

热门文章

最新文章