Task01:图深度学习介绍

简介

章节地址:https://datawhalechina.github.io/grape-book/#/docs/01%E4%BB%8B%E7%BB%8D/01%E4%BB%8B%E7%BB%8D

飞书笔记:https://oq07ful5ge8.feishu.cn/wiki/QAprwCDqoizW3gkvovHcXAKznlf?from=from_copylink

第一节对图深度学习进行一个简单引入,主要包括图的一些分类以及神经网络在图应用上的挑战,那本节就从图用于建模哪些图的分类和应用、图结构数据上的机器学习以及神经网络在图应用上的挑战进行探讨。

一、图的分类及应用

在了解图的分类和应用之前我们要先了解一些什么是图,图是一种数据结构,用于建模实体之间的复杂关系,在现实世界中,如社交网络、地理位置信息等都属于图,图数据普遍存在我们的生活当中。

那什么是图深度学习呢?图深度学习是一种结合了图论和深度学习技术的机器学习方法,用来处理和分析具有复杂结构的数据。它通过在图结构数据上应用深度学习模型来捕捉节点之间的关系和依赖性,从而实现对这些数据的有效理解和预测。

那么在图深度学习中,图可以用于建模多种类型的图,包括但不限于:

  1. 社交网络:通过识别图中的社交网络关系进行分类。

  2. 知识图谱:用节点表示实体,用连边表示关系的图结构组织方式。

  3. 互联网:在互联网领域,图数据结构被广泛应用于各种场景,如社交网络等。

  4. 蛋白质和化合物分子:微观上,蛋白质、化合物分子等都可以用图结构来建模和表示。

  5. 场景图:给定一幅图像,可以生成描述图像中物体及其关系的场景图。

那这些图从解释来看它们可以用在各个领域,比如:

  1. 生物/化学信息学:在生物化学方面,它可以对分子属性的判断和发现新型药物等。

  2. 城市规划:社交网络可以进行社交网络分析、城市计算以及网络安全等。

  3. 推荐系统:建立用户与物品两者之间的关系,为用户提供适合的物品。

  4. 物理模拟:在场景图中,根据图像中物体之间的关系模拟出一个虚拟场景。

下面给一张图建模中的思维导图,来总结上面的内容,这同时也是图在建模上的一个分类,其实就是知识图谱。

image.png

二、图结构数据上的机器学习

对于图学习任务,通常包括以下几类任务:

  1. 节点级别(Node-level)的任务,这类任务涉及节点的分类、回归、聚类等操作。这些任务关注于图中的单个节点,旨在对每个节点进行某种形式的预测或分类。

  2. 边级别(Edge-level)的任务,包括边分类和链接预测。边分类旨在确定图中存在的边,而链接预测则试图预测图中未来可能存在的边。

  3. 图级别(Graph-level)的任务,包括图分类、图回归和图匹配,所有的技术都需要学习图的表示。

  4. 图嵌入(Graph Embedding),这是一种将图结构转换为低维向量表示的方法,以便于机器学习模型处理。

image-sqht.png

三、神经网络在图应用上的挑战

下面是我针对神经网络在图应用上的挑战,在网上搜集的资料总结的内容,主要包括以下几个方面:

  1. 图数据结构的挑战:图数据结构的不规则性、稀疏性、动态性以及节点邻居数量的幂律分布和样本间的相互依赖,对高效访存和分布式计算系统提出了挑战。这些特性使得图神经网络(GNN)在处理大规模数据时面临性能和效率的限制。

  2. 模型层面的挑战:图神经网络模型本身存在一些问题,如网络结构较浅时,堆叠过多层数可能导致所有顶点趋同(收敛至相同值),这限制了模型的学习能力和泛化能力。此外,对于非结构化场景缺乏通用有效的图生成方法也是一个挑战。

  3. 可扩展性问题:随着图神经网络在不同领域的应用越来越广泛,对训练图神经网络系统的性能要求也越来越高,这导致了大规模图神经网络训练的挑战。如何设计开发能够有效应对大规模数据处理的神经网络训练系统成为了一个重要的研究方向。

  4. 信息平滑问题:注意到堆叠多层图神经网络可能引起信息平滑的问题,很多工作将残差机制应用于图神经网络中,以解决这一问题。这表明在设计图神经网络时,需要考虑如何保持信息的丰富性和多样性,避免过度的信息平滑导致的性能下降。

  5. 理论研究与实际应用之间的差距:尽管图神经网络在多个领域显示出了巨大的潜力和实际应用价值,但它们在实际应用和理论研究中依然面临着一系列挑战。这些挑战不仅影响了GNN的性能和效率,也限制了它们在更广泛场景下的应用。

神经网络在图应用上面临的挑战包括但不限于图数据结构的复杂性、模型设计的局限性、可扩展性问题、信息平滑问题以及理论研究与实际应用之间的差距。解决这些挑战需要跨学科的研究努力,包括算法优化、硬件平台的支持以及新的理论框架的建立等。

以上就是我对第一节的一个总结,欢迎大家指出错误!

参考:

https://cloud.tencent.com/developer/article/2353343

https://zhuanlan.zhihu.com/p/115422316

https://www.cnblogs.com/codingbao/p/17763315.html

https://zhuanlan.zhihu.com/p/686999532