随着图数据在多个领域的广泛应用,图神经网络(GNN)已成为处理图结构数据的强大工具。然而,随着网络层数的增加,GNN的训练效率和计算成本急剧上升,这限制了其在大规模图数据上的应用。因此,研究者们一直在探索如何提高GNN的效率,同时保持或提升其性能。
Fast and Deep Graph Neural Networks (AAAI 2020)
本文提出了一种名为 Fast and Deep Graph Neural Networks (FDGNN) 的模型,旨在提高图神经网络(GNN)的效率和性能。FDGNN 通过将每个输入图表示为动态系统的一个固定点,并利用递归神经网络(RNN)来实现这一表示。该模型的核心在于利用深层架构组织递归单元,并通过稳定性条件来初始化权重,从而避免了对递归单元权重的训练,显著提高了模型的训练效率。
关键特点
-
动态系统表示:FDGNN 将每个输入图表示为一个动态系统的固定点,这个动态系统通过递归神经网络实现,允许模型捕捉图的结构信息。
其中 ( A ) 是邻接矩阵,( X ) 是节点特征,( W ) 是投影系数,( P = \varphi(A) ) 是 ( A ) 的一个函数。
-
深层架构:模型采用深层架构组织递归单元,使得网络能够学习输入图的层次化抽象表示。
-
稳定性条件:在初始化权重时,FDGNN 引入了稳定性条件,确保了动态系统的稳定性,从而保证了图嵌入的唯一性和鲁棒性。
其中 表示谱半径, 是递归权重矩阵, 是图的度。
-
无训练的权重:与常规的 GNN 模型不同,FDGNN 在稳定性条件下初始化权重后,不再对这些权重进行训练,这大大减少了模型的训练成本。
-
稀疏连接:FDGNN 使用小型且非常稀疏的网络,其中递归单元的权重在稳定性条件下未经训练,这有助于提高计算效率。
实验结果
通过在多个图分类基准数据集上的实验,FDGNN 显示出与最先进的图神经网络模型和图核方法相竞争的性能,同时在训练效率上有显著提升。
Decouple Graph Neural Networks: Train Multiple Simple GNNs Simultaneously In (TPAMI 2024)
这篇论文提出了一种名为 Decouple Graph Neural Networks (GNNs) 的方法,通过将多层 GNN 分解为多个简单模块来提升训练效率,同时保留图结构信息。传统 GNN 随着层数增加会导致节点依赖指数增长,使得训练变得低效且耗时。作者通过引入正向训练(FT)和反向训练(BT),实现了模块之间的双向信息传递,从而解决了单向传递带来的性能局限。
本提出了Stacked Graph Neural Networks (SGNN)方法。SGNN的核心思想是将多层图神经网络(GNN)解耦为多个简单的GNN模块,并同时训练这些模块,而不是随着深度的增加而连接它们。框架如图所示。
关键特点
-
解耦架构:SGNN将复杂的多层GNN解耦为多个简单模块,每个模块可以独立训练,同时保留图结构信息。
其中 ( A ) 是邻接矩阵,( X ) 是节点特征,( W ) 是权重矩阵。
-
正向训练(FT):每个模块 ( M_t ) 通过正向训练独立学习,利用图结构信息进行特征提取。
表示度量函数, 是映射函数。
-
反向训练(BT):通过反向训练机制,前面的模块能够根据后面的模块反馈的信息进行调整,增强模型的表示能力。
是第 个模块的输出, 是预期输入特征。
-
效率与性能平衡:SGNN在保持合理性能的同时,显著提高了训练效率,适用于大规模图数据的处理。
-
理论证明:文章还提供了理论分析,证明了在无监督任务中,线性SGNN模块的误差在大多数情况下不会累积。
算法流程
以下为SGNN的算法流程:
实验结果
本文通过实验验证了SGNN的性能和效率。实验包括节点聚类和半监督节点分类任务,使用了四个常见的数据集:Cora、Citeseer、Pubmed和Reddit。
在节点聚类任务中,本文比较了包括基线聚类模型K-means、三种不考虑训练效率的GCN模型(GAE、ARGA、MGAE)以及六种快速GCN模型(GraphSAGE、FastGAE、ClusterGAE、AGC、S2GC和GAE-S2GC)等共10种方法。实验结果表明,SGNN在大多数数据集上表现优于其他方法。
此外,本文还提供了SGNN在节点分类任务上的可视化结果,展示了SGNN的非线性和后向训练对特征的影响。
总结
这两篇论文都致力于解决多层GNN以及大规模图训练的效率和计算成本问题。FDGNN 证明了在不牺牲性能的情况下,可以通过简化模型的训练过程来提高 GNN 的效率。而SGNN框架通过将多层GNN解耦为多个简单模块,并采用正向与反向训练策略,显著提升了模型的训练效率和性能。这些实验方法都为多层GNN的提效提供了解决方案,具有一定的理论和实践意义。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。