GPT-4 给图机器学习带来的挑战
本帖最后由 levycui 于 2023-4-19 17:19 编辑问题导读:
1、图机器学习基础设施发展到什么阶段?
2、图数据类型的发展到什么阶段?
3、图模型发展如何?
4、ChatGPT 对图学习范式的影响会有哪些?
引言
相比图像、文本等数据,图数据的复杂性也给模型训练、图任务性能带来较大的难度,在 Transformer 架构不断延伸至新的研究领域,ChatGPT、GPT-4 等大模型连续征服新的任务的当下,图机器学习如何面对这一趋势?
本文是 DataFun 对京东探索研究院算法工程师詹忆冰的访谈,探讨了上述问题,并梳理了图机器学习从基础设施到图任务的学界、业界发展现状。
詹忆冰,京东探索研究院算法工程师。2012 和 2018 年于中国科学技术大学分别获得学士学位和博士学位;2018-2020 年,于杭州电子科技大学计算机学院,任副研究员。其主要研究图神经网路和多模态学习,已在 NeurIPS、CVPR、ICCV、AAAI、IJCV 等顶级会议和期刊上发表多篇科学论文。
01.图机器学习基础设施的发展现状
图学习框架、图数据库等图机器学习基础设施的学界、业界发展现状如何?
图机器学习框架目前的主流是 PyG(PyTorch Geometric)和 DGL(Deep Graph Library)两大框架。很多企业也在尝试从不同层面构建框架,比如从底层的加速层面、上层的应用层面等等,大规模并行训练是目前行业的一个难点。
图数据跟别的数据不一样,图数据规模大了之后,它的计算代价不仅来自于模型,也来自于输入。比如把网上的社交网络整个输进模型中是非常恐怖的。
如果为了做分布式计算而把图进行 subsampling 或者其它操作后去训练它,反而会影响它的性能。因为图一旦分割,两个子图之间的关联实际上就被切掉了,目前行业内仍然在探讨更好的解决办法。
目前常见的方法中比如只计算邻域节点,或者用多个 GPU 来并行计算每个小子图,这样训练的时候整个大图神经网络是加速的。
我们做过简单的实验,将图数据切成几段输入到模型中,相比于直接输入完整的图,性能是下降的。但是一旦让中间某些层能进行信息传递,模型性能就会开始回升。
所以如果能做到并行训练,并且能让子图之间的信息能有一定的回传,对图网络性能有非常大的促进作用。
02.图数据类型的发展现状
图数据要如何分类?动态图、异质图等图数据类型的学界、业界发展现状如何?
从规模角度,图数据可以分成两大类,一类是需要处理规模非常大的图,一张图是一个完整的数据集,还有一种是做 graph level 的,比如由一个个单独的小图构成的分子图。
动态图和异质图在业界的应用都是较为广泛深入,相应模型落地潜力大,前景光明。
在真实的社交网络中,网络的拓扑结构, 节点属性都是在随时变化的, 需要动态图来表示刻画这种变化。例如前段时间twitter公开的推荐源码中, 就有关于twitter social graph的动态图构建,表征学习等相关内容, 用以支持twitter巨量规摸的推荐。
工业图数据相比于 benchmark datasets 通常内容和结构更加复杂, 通常需要构建异质图去挖掘图数据的表征和寓语义。目前,像中国移动等公司都已经引入异质图模型来提升推荐和风险识别的准确率。也有高校研究人员(北邮石川老师团队)推出异质图神经网络算法平台OpenHGNN,来支持异质图数据的存储与计算。
Heterophily 是指图中特性不一致的相邻节点会倾向于相连,比如社交网络中互相不喜欢的人,也是现在研究非常火的一个方向。在 CV 的很多场景中,比如我们需要让人、桌子、椅子等类别不同的节点进行关联,引入 Heterophily 图网络之后,对模型的性能提升还是比较大的。与 Heterophily 相对的概念是 Homophily,Homophily 是如今大部分图神经网络的一个潜在假设,也就是节点属性一致的节点一般倾向于相连。
GNN 或传统的图计算方法在Heterophily异配图上的效果不是特别好,所以人们也在探索其它方向,比如通过 structure learning 进行关联,或更改节点的传递性质等。
目前普遍的图都属于静态图。动态图会随时间持续进行变化。在 CV 领域,视频中动态图会用的比较多,比如一个物体的多个帧,它们之间的不同状态构成一个动态图,模型架构更多还是采用 Transformer。
03.图模型的发展现状
图注意力网络、图卷积网络、图循环网络等图模型的学界、业界发展现状如何?学界在图模型方面有哪些前沿方向?
业界现在用的更多的图网络还比较简单,比如 GCN。在学界,图模型正在兴起的架构是 Graph Transformer。多个基于 Graph Transformer 的模型都在 OGB graph classification challenge 排在前面。今年的会议上也有大量的工作是 Graph Transformer 方向的。
Graph Transformer 会这么火,首先是因为 Transformer 本身应用越来越广,而且它在NLP 里面获得了巨大的成功,其次是在 CV 领域,2020 年 Vision Transformer 火起来之后,到如今 Transformer 已经屠榜很多 CV task 了。
Graph Transformer 将 Transformer 的结构引入到图里面,谷歌曾指出 Transformer 就是一种图网络。
Graph 原本也是有连接关系的,但更多是近邻连接,远距离学习能力就比较差,需要通过网络的堆叠实现。但是 Transformer 天然就是全连接的,所以即使节点邻居关系比较远,也更容易学习到关系。
另外,Transformer 给图网络引入了 position embedding,Graph 里面很少会引入 position embedding,GNN、GCN、GAT等都没有。另外它还引入了 structure embedding,一般用拉普拉斯频谱来计算,或者是用一些图结构来计算。
最后,Graph Transformer 本身具有 Transformer 的很多 technical details,残差、layers normalization 等。大图里面用 batch normalization 效果会比较好,但小图里面不用会比较好,这是现在的训练经验。
图神经网络从某种意义上来说还缺少一个大型的 Foundation Model,这也是大家一直在关注的方向,一旦有相关工作出现将会非常轰动。
04.ChatGPT 对图学习范式的影响
预训练、表示学习、对比学习、强化学习等图学习范式的学界发展现状如何?ChatGPT 给图学习范式带来了哪些影响?
图学习范式中,预训练、对比学习比较受关注。对于预训练,原本图任务中,node level、graph level、link level 都是独立的,比如 2020 年,Stanford SNAP 小组就考虑使用 Transformer 架构进行图预训练, 但是只关注在单一任务。行业希望能有一种统一的方式来实现图预训练。
今年一个 WWW 学术会议的一篇论文是用 prompt learning 来实现这一目标的。比如做node classification,可以用基于 graph pooling、link prediction 等任务训练来让模型的节点分类性能更强。
对比学习是自监督学习的一种,非常火。因为它是无监督形式的,一般也是作为网络的预训练方法,或者在做 classification 的时候作为一个额外的 loss 对模型的性能进行增强。当然,对比学习实际上一定程度上也是来自于 CV、NLP,所以 CV、NLP 有很多的结构可以借鉴到图对比学习上面进行扩展。
ChatGPT 让强化学习火的程度更上一层楼。图里面也有,用强化学习学习图网络,把图结构引入到强化学习的 loop 里等。ChatGPT 确实引发了人们对 human in the loop 的关注,未来也可能引入图领域中。
另一方面,ChatGPT 也带火了 foundation model 的产业化,影响很多公司今年的产业布局。
值得关注的是,它还引入了安全管控。GPT-3 原本会有泄露数据的问题。现在如果你提的问题比较隐私,或者比较恶意的话,ChatGPT 不会回答你的问题。
局限性方面,可能就是多模态能力,这一点被 GPT-4 在逐渐补足。
表示学习可以引入了一些规则、结构,使网络具有更强的学习能力。
还有一个比较有价值的方向是 continue learning 即持续学习。图数据量规模太大之后,标注是一个非常复杂的任务。那么,是不是可以通过持续学习去挑选那些未标注数据里面重要的数据进行标注,从而达到性能最大化?类似于现在的一些 budget training ,比如只给了你一台 GPU,只能训练 24 小时,使模型性能最大化。未来在业界,持续学习可能会越来越受关注。因为从产业上来讲,不可能无限制地找人去标注数据,最好有一种方式能找出那些核心数据来标记。
05.图学习任务的发展现状
节点分类、链接预测、图分类、图结构学习等图学习任务的学界、业界发展现状如何?
图基础任务,去年到现在比较受关注的有图生成,特别是 diffusion model。图网络中也有很多在用 diffusion model 去进行分子增强,进行药物发现,效果也非常的好。
链接预测分两种,一种是节点信息传递,用最后一层对两个节点之间计算它们的关联,还有一种是边会显式地给出来 relation。但是这一类网络由于计算的是边,比如 10 个节点可能会有 100 条边,计算开销会指数型上升。
图分类跟图节点分类不一样的是,图分类会用到 graph pooling 。现在最常用的策略,一类是 top-k,即逐层保留重要节点。还有一类是 hierarchy,即每一次生成新的检验点,把图规模变得越来越小。现在的预训练范式很希望把图分类和图节点分类用 uniform 的 model 计算出来。
图结构学习主要是把边进行重新学习。但图结构学习的计算时间复杂度比较大。模型压缩现在在图网络中也比较火。在 CV 或 NLP 中可以借鉴 graph pooling 或图结构学习来实现。并且图模型压缩压缩的是边,而不是神经网络中的权重。
作者:DataFun 大话数智
来源:https://mp.weixin.qq.com/s/OkM16YXF0-270UQ47rh9lA
最新经典文章,欢迎关注公众号http://www.aboutyun.com/data/attachment/forum/201903/18/215536lzpn7n3u7m7u90vm.jpg
页:
[1]