4khun

Life is fk's Movie.

Notes - 1 Deep Learning on Graphs: An Introduction - <Deep Learning on Graphs>

Book Website: Deep Learning on Graphs

@book{ma2021deep,
title={Deep Learning on Graphs},
author={Yao Ma and Jiliang Tang},
publisher={Cambridge University Press},
year={2021}
}

Preface

有两种主要的方法来提取特征来表示图,包括特征工程(feature engineering)和表示学习(representation learning)。特征工程依赖于手工设计的特征,这很耗时,而且对于给定的下游任务来说通常不是最佳的。而表示学习则是自动学习特征,它需要最少的人力,并且能够适应给定的下游任务。因此,图的表示学习得到了广泛的研究。

图上的计算任务,包括以节点为中心(node-focused)的任务和以图为中心(graph-focused)的任务。

本书概述:本书由四个部分组成:基础(Foundation)、方法(Methods)、应用(Applications)和进展(Advances)。基础部分介绍了图和深度学习的必要背景和基本概念。方法部分涵盖的主题包括现代图嵌入,简单图和复杂图的gnn, gnn的鲁棒性和可扩展性问题,以及gnn之外的深度图模型。应用部分介绍了GNN在最典型领域的应用,包括自然语言处理、计算机视觉、数据挖掘、生物化学和医疗保健。

1 Deep Learning on Graphs: An Introduction

image

image

1.5.1 Feature Selection on Graphs

特征选择的目的是自动选择一小部分与目标具有最小冗余(redundancy)但最大相关性(relevance)的特征子集。

在许多应用中,原始特征(original features)对于知识提取和模型解释至关重要。例如,在癌症研究的基因分析中,除了区分癌变组织外,更重要的是识别诱导癌变的基因(即原始特征)。

传统的特征选择假设数据实例是独立且同分布的(independent and identically distributed, i.i.d)。

独立同分布(independent and identically distributed,i.i.d.)在概率统计理论中,指随机过程中,任何时刻的取值都为随机变量,如果这些随机变量服从同一分布,并且互相独立,那么这些随机变量是独立同分布。- 独立同分布 independent and identically distributed

然而,许多应用中的数据样本被嵌入(embedded)到图形中,而这些图形本身就不是独立的。

给定一个图\(\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}\),其中\(\mathcal{V}\)是节点集,\(\mathcal{E}\)是边集,我们假设每个节点最初与一个包含有\(d\)个特征的集合\(\mathcal{F}=\left\{f_1, f_2, \ldots, f_d\right\}\)关联。

这个问题最初是在有监督的场景下研究的:图上的特征选择旨在从\(\mathcal{F}\)中选择\(K\)个特征来表示每个节点,其中\(K\ll{d}\)。一个线性分类器(linear classifier)被用来将所选特征映射(map)到类别标签上,并引入了一个图的正则化项(regularization term)来捕捉特征选择的结构信息。特别是,该正则化项旨在确保具有所选特征的连接节点(connected nodes)能够被映射为类似的标签。

无监督的情况下对该问题进行了进一步的研究:如从结构信息中提取伪标签,作为监督来指导特征选择过程。或者假设节点内容和结构信息都是从一组高质量的特征中生成的,这些特征可以通过最大化生成过程的可能性(likelihood)来获得。后来,这个问题从简单的图扩展到复杂的图,如动态图(dynamic graphs)、多维图(multidimensional graphs)、符号图(signed graphs)和属性图。

1.5.2 Representation Learning on Graphs

1) 谱聚类(spectral clustering)

谱聚类是一种基于图的聚类技术,它的定义是:利用数据的相似度矩阵(affinity matrix)的特征值和特征向量来进行降维和聚类的方法。它的原理是:首先根据数据的相似度构建一个图,然后对图的拉普拉斯矩阵进行特征分解,得到一组特征值和特征向量,选择一些特征向量作为数据在低维空间中的表示,最后用传统的聚类算法(如k-means)对低维表示进行聚类。它的方法可以分为以下几个步骤:

  • 构建相似度矩阵:根据数据之间的距离或者相似度函数,计算一个对称的相似度矩阵,其中每个元素表示两个数据点之间的相似度或者连接强度。
  • 构建拉普拉斯矩阵:根据相似度矩阵和度矩阵(表示每个节点的度数)计算一个拉普拉斯矩阵,它反映了图的结构特性,如连通性、聚类性等。
  • 特征分解:对拉普拉斯矩阵进行特征分解,得到一组特征值和特征向量,按照特征值的大小排序,选择前k个最小(或最大)的特征值对应的特征向量,将它们组合成一个矩阵,每一行代表一个数据点在低维空间中的坐标。
  • 聚类:对低维空间中的数据点进行聚类,可以使用k-means或者其他聚类算法,得到数据点的类别标签。

它的应用有很多,例如图像分割、社区发现、文本聚类等。您可以参考以下网页¹²³⁴,它们都有一些相关的介绍和示例。
谱嵌入是在特征分解的环节,它是将数据点从高维空间映射到低维空间的过程,利用了拉普拉斯矩阵的特征值和特征向量来保持数据点在图中的结构信息。
源: 与必应的对话, 2023/4/21(1) Spectral clustering - Wikipedia. https://en.wikipedia.org/wiki/Spectral_clustering 访问时间 2023/4/21.
(2) Spectral Clustering. Foundation and Application | by William Fleshman .... https://towardsdatascience.com/spectral-clustering-aba2640c0d5b 访问时间 2023/4/21.
(3) Spectral Clustering - an overview | ScienceDirect Topics. https://www.sciencedirect.com/topics/computer-science/spectral-clustering 访问时间 2023/4/21.
(4) Spectral Clustering Definition | DeepAI. https://deepai.org/machine-learning-glossary-and-terms/spectral-clustering 访问时间 2023/4/21.

2) 基于图的降维技术(graph-based dimensionality reduction)

图的降维技术是一种利用图的特征和结构来减少数据维度的方法。它可以帮助我们发现数据中的模式和关系,提高数据分析和挖掘的效率和效果。图的降维技术有很多种,例如主成分分析(PCA)、局部线性嵌入(LLE)、拉普拉斯特征映射(LE)等。这些方法都是基于图的相似度矩阵或者拉普拉斯矩阵来进行特征分解,然后选择一些特征向量作为低维空间中的节点表示。您可以参考以下网页¹,它对图的降维技术进行了详细的介绍和比较。
谱嵌入是一种基于图的降维技术,它可以将高维的数据点嵌入到一个低维的特征空间中,同时保持数据点在图中的结构信息。
源: 与必应的对话, 2023/4/21(1) Graph-Based Dimensionality Reduction | Request PDF - ResearchGate. https://www.researchgate.net/publication/345627260_Graph-Based_Dimensionality_Reduction 访问时间 2023/4/21.
(2) Graph optimization for unsupervised dimensionality reduction with .... https://link.springer.com/article/10.1007/s10489-022-03534-z 访问时间 2023/4/21.
(3) Graph-Based Dimensionality Reduction for Hyperspectral Imagery: A Review. http://journal.bit.edu.cn/jbit/en/article/doi/10.15918/j.jbit1004-0579.2021.012 访问时间 2023/4/21.

3) 矩阵分解(matrix factorization)

上述方法往往需要对相似度矩阵(或邻接矩阵或拉普拉斯矩阵)进行特征分解。因此,它们通常在计算上很昂贵。矩阵是最流行的表示图的方法之一,例如邻接矩阵、关联矩阵和拉普拉斯矩阵。因此,矩阵分解可以自然地应用于学习节点表示。假设我们使用邻接矩阵来表示一个图。在这种情况下,它旨在将节点嵌入到低维空间中,在该空间中可以利用新的节点表示来重建邻接矩阵。文档语料库可以表示为二分图,其中文档和单词是节点,如果单词出现在文档中,则单词和文档之间存在一条边。 LSI 采用截断 SVD (Singular Value Decomposition,奇异值分解)来学习文档和单词的表示。在推荐系统中,用户和项目之间的交互可以被捕获为二分图,矩阵分解已被用来学习用户和项目的表示以进行推荐。矩阵分解还用于学习节点表示以进行节点分类、链接预测和社区检测。

4)Word2Vec

Word2vec是一种生成词嵌入的技术。它将一个大型文本语料库作为输入,并为语料库中的每个独特的词产生一个向量表示。Word2vec在各种自然语言处理任务中的巨大成功,促使人们越来越努力地应用Word2vec,特别是Skip-gram模型来学习图域中的节点表示。DeepWalk迈出了实现这一目标的第一步。具体来说,把给定图中的节点看作是一种人工语言中的单词,把随机游走(random walk)产生的节点序列看作是这种语言中的句子。然后,它使用Skip-gram模型来学习节点表征,在这些随机漫步中保留了节点的共现性(node co-occurrence)

随机游走是一种从图中采样节点序列的方法,它从一个节点开始,每次以一定的概率沿着边跳到相邻的节点,直到达到一定的长度或者回到起点。这样,就可以得到很多包含节点信息和结构信息的序列,作为训练数据。节点共现(node co-occurrence) 是指在一个随机游走序列中,两个节点出现在一定范围内(称为上下文窗口)的情况。节点共现反映了节点之间的相似度或者关联度,越经常共现的节点越相似或者关联。您可以参考以下网页,它们都有一些相关的介绍和示例。
源: 与必应的对话, 2023/4/21(1) Semantic-aware network embedding via optimized random walk and .... https://www.sciencedirect.com/science/article/pii/S1877750322001880 访问时间 2023/4/21.
(2) DeepWalk Explained | Papers With Code. https://paperswithcode.com/method/deepwalk 访问时间 2023/4/21.
(3) DeepWalking Backwards: From Node Embeddings Back to Graphs. https://www.isi.it/media/609 访问时间 2023/4/21.


之后,大量的工作在三个主要方向上得到了发展:

  • 1 开发先进的方法来保留节点共现;
  • 2 保留其他类型的信息,如节点的结构作用(structural role),社区信息(community information)和节点状态(node status);
  • 3 为复杂图设计框架,如有向图(directed graphs)、异质图(heterogeneous graphs)、二元图(bipartite graphs)、多维图(multi-dimensional graphs)、签名图(signed graphs)、超图(hyper graphs)和动态图(dynamic graphs)。

节点的社区信息(community information)是指节点在图中所属的社区或者子图的标识。社区是一组相互连接或者相似的节点的集合,它们在图中形成一个密集的区域,而与其他区域的连接较少。社区信息可以反映节点之间的关系和属性,例如兴趣、偏好、角色等。您可以参考以下网页¹,它对社区信息进行了详细的介绍和分析。
节点的结构角色(structural role)是指节点在图中的位置和功能的标识。结构角色反映了节点与其他节点的连接方式和模式,例如中心性、桥接性、局部密度等。结构角色可以帮助我们发现图中的重要节点和异常节点,以及图的拓扑结构和组织形式。您可以参考以下网页¹²³,它们都有一些相关的介绍和示例。
源: 与必应的对话, 2023/4/21(1) Node (computer science) - Wikipedia. https://en.wikipedia.org/wiki/Node_(computer_science) 访问时间 2023/4/21.
(2) Learning Structural Node Representations Using Graph Kernels. https://ieeexplore.ieee.org/document/8869809 访问时间 2023/4/21.
(3) [2107.01495] On Positional and Structural Node Features for Graph .... https://arxiv.org/abs/2107.01495 访问时间 2023/4/21.
(4) CLNIE: A Contrastive Learning Based Node Importance Evaluation Method .... https://link.springer.com/chapter/10.1007/978-3-031-30672-3_46 访问时间 2023/4/21.
(5) graphrole · PyPI. https://pypi.org/project/graphrole/ 访问时间 2023/4/21.

鉴于DNNs在表征学习中的力量和成功,人们越来越努力地将DNNs推广到图中。这些方法被称为图神经网络(GNNs),可以大致分为空间方法(spatial approaches)谱方法(spectral approaches)。空间方法明确地利用了图的结构,如空间上的近邻,第一个空间方法是由(Scarselli等人,2005)介绍的。Spectral approaches utilize the spectral view of graphs by taking advantage of Graph Fourier Transform and the Inverse Graph Fourier Transform (Bruna et al, 2013).

“Spectral approaches utilize the spectral view of graphs by taking advantage of Graph Fourier Transform and the Inverse Graph Fourier Transform ”的意思是:谱方法利用了图的谱视角,通过使用图傅里叶变换(Graph Fourier Transform)和逆图傅里叶变换(Inverse Graph Fourier Transform)来处理图的信息。图的谱视角是指用图的邻接矩阵或者拉普拉斯矩阵的特征值和特征向量来描述图的特征和结构。图傅里叶变换是一种将图上的信号(如节点特征)从空间域转换到频域的方法,它可以用图的特征向量作为基函数来表示信号。逆图傅里叶变换是一种将频域上的信号转换回空间域的方法,它可以用图的特征向量作为权重来重构信号。您可以参考以下网页¹²³,它们都有一些相关的介绍和示例。
源: 与必应的对话, 2023/4/21(1) SPECTRAL GRAPH THEORY - University of Chicago. https://math.uchicago.edu/~may/REU2019/REUPapers/Purple.pdf 访问时间 2023/4/21.
(2) Spectral graph theory - Wikipedia. https://en.wikipedia.org/wiki/Spectral_graph_theory 访问时间 2023/4/21.
(3) Spectra of Graphs | SpringerLink. https://link.springer.com/book/10.1007/978-1-4614-1939-6 访问时间 2023/4/21.

关于GNNs目前的发展趋势:

  • ...

  • 对于以图为中心的任务,如图分类,需要整个图的表示。因此,许多集合方法被引入,以从节点表示中获得图的表示

  • 传统的DNN很容易受到对抗性攻击(adversarial attack)。GNNs继承了这个缺点。目前已经有很多研究关于各种图对抗性攻击,并开发了各种防御技术。

对抗攻击(adversarial attack)是指故意制造一些对人类来说很难察觉的扰动,添加到原始的输入数据上,使得深度神经网络(DNN)给出错误的输出。对抗攻击可以用来检测和攻击DNN的弱点和漏洞,也可以用来提高DNN的鲁棒性和安全性。对抗攻击有不同的类型,例如白盒攻击(white-box attack)、黑盒攻击(black-box attack)、定向攻击(targeted attack)和非定向攻击(non-targeted attack)。
针对对抗性攻击的防御技术有很多种,主要可以分为以下三类:

  • 对抗训练(adversarial training):这种方法是在训练深度神经网络的过程中,同时使用原始数据和对抗样本,使得网络能够提高对对抗样本的鲁棒性。这种方法的优点是可以有效地提高模型的防御能力,缺点是需要消耗更多的计算资源和时间。
  • 梯度掩盖(gradient masking):这种方法是在训练或者部署深度神经网络的过程中,隐藏或者混淆网络的梯度信息,使得攻击者无法利用梯度来生成对抗样本。这种方法的优点是可以防止一些基于梯度的攻击方法,缺点是可能会降低网络的性能和泛化能力,而且也不能防止一些不依赖梯度的攻击方法。
  • 对抗检测(adversarial detection):这种方法是在深度神经网络的输入端,增加一个预处理操作,用来识别和排除可疑的输入,例如使用滤波器、敏感度分析、统计检验等方法。这种方法的优点是可以避免对网络本身进行修改,缺点是可能会误判正常的输入,而且也不能完全保证检测出所有的对抗样本。

--- By New Bing.

  • ...

  • 处理复杂图,异质图,双位图,多维图...

  • 不同的深度架构已经被泛化到了图上,如自动编码器,循环神将网络...

  • 由于图是一种通用的数据表示,GNN已经被应用于推动许多领域,如自然语言处理、计算机视觉、数据挖掘和医疗保健。

posted on 2023-04-23 09:52  Khun8  阅读(39)  评论(0)    收藏  举报

导航