顺德品牌网站建设价位,物流公司会计好做吗,深圳网站建设哪家公司便宜,nodejs网站开发一、GCN简介GNN模型主要研究图节点的表示(Graph Embedding)#xff0c;图边结构预测任务和图的分类问题#xff0c;后两个任务也是基于Graph Embedding展开的。目前论文重点研究网络的可扩展性、动态性、加深网络。谱卷积有理论支持#xff0c;但有时候会受到拉普拉斯算子的…一、GCN简介GNN模型主要研究图节点的表示(Graph Embedding)图边结构预测任务和图的分类问题后两个任务也是基于Graph Embedding展开的。目前论文重点研究网络的可扩展性、动态性、加深网络。谱卷积有理论支持但有时候会受到拉普拉斯算子的限制而空间域卷积更加灵活主要困难在于选择定量邻域上没有统一理论。未来方向加深网络: 研究表明随着网络层数增加模型性能急剧下降感受野:节点的感受野是指一组节点包括中心节点和其近邻节点有些节点可能只有一个近邻而有些节点却有数千个近邻可扩展性:大部分图神经网络并不能很好地扩展到大型图上。动态性和异质性:大多数当前的图神经网络都处理静态同质图。一方面假设图架构是固定的。另一方面假设图的节点和边来自同一个来源。GCN模型具备深度学习的三种性质层级结构(特征一层一层抽取一层比一层更抽象更高级)非线性变换 (增加模型的表达能力)端对端训练(不需要再去定义任何规则只需要给图的节点一个标记让模型自己学习融合特征信息和结构信息。)GCN的四个特征GCN 是对卷积神经网络在 graph domain 上的自然推广它能同时对节点特征信息与结构信息进行端对端学习是目前对图数据学习任务的最佳选择。图卷积适用性极广适用于任意拓扑结构的节点与图。在节点分类与边预测等任务上在公开数据集上效果要远远优于其他方法。通过谱图卷积的局部一阶近似来确定卷积网络结构通过图结构数据中部分有标签的节点数据对卷积神经网络结构模型训练使网络模型对其余无标签的数据进行进一步分类。二、spectral domain1.离散卷积是什么在CNN中发挥什么作用离散卷积本质加权求和CNN中的卷积本质上就是利用一个共享参数的过滤器(kernel)**通过计算中心像素点以及相邻像素点的加权和来构成feature map实现空间特征的提取**当然加权系数就是卷积核的权重系数。那么卷积核的系数如何确定的呢是随机化初值然后根据误差函数通过反向传播梯度下降进行迭代优化。这是一个关键点**卷积核的参数通过优化求出才能实现特征提取的作用GCN的理论很大一部分工作就是为了引入可以优化的卷积参数。**2.GCN中的Graph是指什么为什么要研究GCN?CNN是Computer Vision里的法宝效果为什么好呢原因在上面已经分析过了可以很有效地提取空间特征。但是有一点需要注意**CNN处理的图像或者视频数据中像素点(pixel)是排列成成很整齐的矩阵**(如图2所示也就是很多论文中所提到的Euclidean Structure)。与之相对应科学研究中还有很多Non Euclidean Structure的数据如图3所示。社交网络、信息网络中有很多类似的结构。实际上这样的网络结构(Non Euclidean Structure)就是图论中抽象意义上的拓扑图。所以**Graph Convolutional Network中的Graph是指数学(图论)中的用顶点和边建立相应关系的拓扑图。**那么为什么要研究GCN原因有二(1)因为CNN无法处理非欧几里得结构的数据学术上的表述是传统的离散卷积在非欧几里得结构的数据上无法保持平移不变性。通俗来说就是在拓扑图中每个顶点的相邻顶点数目都可能不同那就没办法用一个同样尺寸的卷积核来进行卷积操作(2)广义来讲任何数据在赋范空间内都可以建立拓扑关联谱聚类就是应用了这样的思想所以说拓扑连接是一种广义的数据结构GCN有很大的应用空间。综上GCN是要为除CV、NLP之外的任务提供一种处理、研究的模型。3.提供拓扑图空间特征的两种方式(1)vertex domain(spatial domain)提取拓扑图上的空间特征就是把每个顶点的相邻neighbors找出来a.按照什么条件去找中心vertex的neighbors如何确定receptive filedb.确定了receptive field之后按照什么方式处理包含不同数目neighbors的特征这种方法主要的缺点如下c.每个顶点提取出来的neighbors不同使得计算处理必须针对每个顶点d.提取特征的效果可能没有卷积好(2)spectral domain借助图谱的理论来实现拓扑图上的卷积操作。从研究的时间进程来看首先研究GSP(graph signal processing)的学者定义了graph上的傅里叶变换进而定义了graph上的卷积最后与深度学习结合提出了Graph convolutional network.Q1 什么是Spectral graph theory简单的概括就是**借助于图的拉普拉斯矩阵的特征值和特征向量来研究图的性质**Q2 GCN为什么要利用Spectral graph theory这应该是看论文过程中读不懂的核心问题了要理解这个问题需要大量的数学定义及推导短期内难以驾驭有时间再补4.什么是拉普拉斯矩阵为什么GCN要用拉普拉斯矩阵Graph Fourier Transformation及Graph Convolution定义都用到图的拉普拉斯矩阵那么首先来介绍一下拉普拉斯矩阵。对于图$G(V,E)$其Laplacian 矩阵的定义为 $LD-A$其中$L$是Laplacian 矩阵$D$ 是顶点的度矩阵(对角矩阵),对角线上元素依次为各个顶点的度$A$是图的邻接矩阵。常用的拉普拉斯矩阵实际用三种NO.1Combinatorial Laplacian$LD-A$NO.2Symmetric normalized Laplacian$L^{sys}D^{-1/2}LD^{-1/2}$NO.3Random walk normalized Laplacian$L^{rw}D^{-1}L$为什么GCN要用拉普拉斯矩阵(1)拉普拉斯矩阵是对称矩阵可以进行特征分解(谱分解)这就和GCN的spectral domain对应上了(2)拉普拉斯矩阵只在中心顶点和一阶相连的顶点上(1-hop neighbor)有非0元素其余之处均为0(3)通过拉普拉斯算子与拉普拉斯矩阵进类比(详见第6节)5.拉普拉斯矩阵的谱分解(特征分解)矩阵的谱分解特征分解对角化都是同一个概念不是所有的矩阵都可以特征分解**其充要条件为n阶方阵存在n个线性无关的特征向量。但是拉普拉斯矩阵是半正定对称矩阵**(半正定矩阵本身就是对称矩阵)有如下三个性质对称矩阵一定n个线性无关的特征向量半正定矩阵的特征值一定非负对阵矩阵的特征向量相互正交即所有特征向量构成的矩阵为正交矩阵。由上可以知道拉普拉斯矩阵一定可以谱分解且分解后有特殊的形式。对于拉普拉斯矩阵其谱分解为$$LU\begin{pmatrix}\lambda_1 \\ ... \\ \lambda_n\end{pmatrix}U^{-1}$$其中$U(\overrightarrow{u_1},\overrightarrow{u_2},...,\overrightarrow{u_n})$是列向量为单位特征向量的矩阵$\begin{pmatrix}\lambda_1 \\ ... \\ \lambda_n\end{pmatrix}$是n个特征值构成的对角阵。由于$U$是正交矩阵即$UU^TE$所以特征分解又可以写成$$LU\begin{pmatrix}\lambda_1 \\ ... \\ \lambda_n\end{pmatrix}U^{T}$$6.如何从传统的傅里叶变换、卷积类比到Graph上的傅里叶变换及卷积把传统的傅里叶变换以及卷积迁移到Graph上来核心工作其实就是把拉普拉斯算子的特征函数$e^{-iwt}$变为Graph对应的拉普拉斯矩阵的特征向量。(1)推广傅里叶变换(a)Graph上的傅里叶变换传统的傅里叶变换定义为$$F(W)F[(t)]\int f(t)e^{-iwt}dt$$信号$f(t)$与基函数$e^{-iwt}$ 的积分那么为什么要找$e^{-iwt}$作为基函数呢从数学上看$e^{-iwt}$是拉普拉斯算子的特征函数$w$就和特征值有关。$LV\lambda V$ $L$是拉普拉斯矩阵$V$是其特征向量离散积分就是一种内积形式仿上定义Graph上的傅里叶变换$$F(\lambda _l)\hat f(\lambda _l)\sum _{i1}^Nf(i)u_l^{*}(i)$$$\lambda_l$是拉普拉斯矩阵的第$l$个特征向量$f$是Graph上的$N$维向量$f(i)$与Graph的顶点一一对应$u_l(i)$表示第$l$个特征向量的第$i$个分量那么特征值(频率)$\lambda _l$下的$f$的Graph傅里叶变换就是与$\lambda_l$对应的特征向量$u_l$进行内积运算。傅里叶变换就是时域信号与拉普拉斯算子特征函数在时间上的积分**利用矩阵乘法将Graph上的傅里叶变换推广到矩阵形式**$$\begin{pmatrix}\hat f(\lambda_1) \\\hat f(\lambda_2) \\ ... \\\hat f(\lambda_N)\end{pmatrix}\begin{pmatrix}u_1(1) u_1(2) u_1(N)\\u_2(1) u_2(2) u_2(N)\\... ... ...\\u_N(1) u_N(2) u_N(N)\\\end{pmatrix}\begin{pmatrix}f(1)\\f(2) \\...\\ f(N) \\\end{pmatrix}$$即$f$在Graph上傅里叶变换的矩阵形式为$\hat fU^Tf$(b)Graph上的傅里叶逆变换$$F^{-1}(F(w))\frac{1}{2 \pi}\int F(w)e^{iwt}dw$$迁移到Graph上变为对特征值$\lambda_l$求和$$f(i)\sum _{i1}^N\hat f(\lambda_i)u_l(i)$$**利用矩阵乘法将Graph上的傅里叶逆变换推广到矩阵形式**$$\begin{pmatrix}f(1) \\f(2) \\ ... \\f(N)\end{pmatrix}\begin{pmatrix}u_1(1) u_2(1) u_N(1)\\u_1(2) u_2(2) u_N(2)\\... ... ...\\u_1(N) u_2(N) u_N(N)\\\end{pmatrix}\begin{pmatrix}\hat f(\lambda_1)\\\hat f(\lambda_2) \\...\\ \hat f(\lambda_N) \\\end{pmatrix}$$即$f$在Graph上傅里叶逆变换的矩阵形式为$fU\hat f$(2)推广卷积卷积定理函数卷积的傅里叶变换是函数傅立叶变换的乘积即对于函数$f(t)$与$h(t)$两者的卷积是其函数傅立叶变换乘积的逆变换$f*hF^{-1}[\hat f(w) \hat h(w)]\frac {1}{2\pi} \int \hat f(w) \hat h(w) e^{iwt}dw $类比到Graph上并把傅里叶变换的定义带入$f$与卷积核$h$在Graph上的卷积可按下列步骤求出$f$的傅里叶变换为$\hat fU^Tf$卷积核$h$的傅里叶变换写成对角矩阵的形式即为$$\begin{pmatrix}\hat h( \lambda_1) \\ ... \\ \hat h( \lambda_n)\end{pmatrix}$$$\hat h(\lambda_l)\sum ^N _{i1}h(i)u_l^*(i)$是根据需要设计的卷积核$h$在Graph上的傅里叶变换卷积为$(f*h)_GU\begin{pmatrix}\hat h( \lambda_1) \\ ... \\ \hat h( \lambda_n)\end{pmatrix}U^Tf$7.为什么拉普拉斯矩阵的特征向量可以作为傅里叶变换的基特征值表示频率(1)为什么拉普拉斯矩阵的特征向量可以作为傅里叶变换的基傅里叶变换一个本质理解就是**把任意一个函数表示成了若干个正交函数(由sin,cos 构成)的线性组合。graph傅里叶变换也把graph上定义的任意向量 ![[公式]](https://www.zhihu.com/equation?texf) 表示成了拉普拉斯矩阵特征向量的线性组合即$f\hat f(\lambda_1)u_1\hat f(\lambda_2)u_2...\hat f(\lambda _n)u_n$那么为什么graph上任意的向量$f$都可以表示成这样的线性组合原因在于$(\overrightarrow{u_1},\overrightarrow{u_2},...,\overrightarrow{u_n})$是graph上n维空间中的n个线性无关的正交向量(2)怎么理解拉普拉斯矩阵的特征值表示频率在graph空间上无法可视化频率的概念信息论告诉我们特征值越大对应的信息越多小的特征值就是低频分量信息较少是可以忽略的。在压缩图像的过程中也是把低频成分变为0高频(边缘)会被保留它带给我们更多的信息。8.深度学习中的图卷积(1)第一代GCN来自论文[Spectral Networks and Locally Connected Networks on Graphs](https://arxiv.org/abs/1312.6203)把$diag(\hat h(\lambda _l))$变成了卷积核$diag(\theta _l)$$y_{output} \sigma(Ug_{\theta}(\Lambda)U^Tx)$(为避免混淆下面称$g_{\theta}(\Lambda )$是卷积核$Ug_{\theta}(\Lambda)U$的运算结果为卷积运算矩阵)$g_{\theta}(\Lambda)\begin{pmatrix}\theta_1 \\ ... \\ \theta_n\end{pmatrix}$$\Theta(\theta_1,\theta_2,...,\theta_n$就跟三层神经网络中的weight一样是任意的参数通过初始化赋值然后利用误差反向传播进行调整$x$就是graph上对应于每个顶点的feature vector(由数据集提取特征构成的向量)第一代GCN的弊端每一次前向传播都要计算$U、g_{\theta}(\Lambda)、U^T$三者的矩阵乘积特别是对于大规模的graph计算的代价较高复杂度为$O(n^2)$卷积核不具有spatial localization卷积核需要n个参数(2)第二代GCN将$\hat{h}\left(\lambda_{l}\right)$巧妙地设计成了$\sum_{j0}^{K} \alpha_{j} \lambda_{l}^{j}$也就是$y_{\text {output}}\sigma\left(U g_{\theta}(\Lambda) U^{T} x\right)$$g_{\theta}(\Lambda)\left(\begin{array}{cccc}{\sum_{j0}^{K} \alpha_{j} \lambda_{1}^{j}} {} {} {} \\ {} {\ddots} {} {} \\ {} {} {} {\sum_{j0}^{K} \alpha_{j} \lambda_{n}^{j}}\end{array}\right)$下面利用矩阵乘法进行变换$\left(\begin{array}{cccc}{\sum_{j0}^{K} \alpha_{j} \lambda_{1}^{j}} {} {} \\ {} {\ddots} {} \\ {} {} {\sum_{j0}^{K} \alpha_{j} \lambda_{n}^{j}}\end{array}\right)\sum_{j0}^{K} \alpha_{j} \Lambda^{j}$进而可以导出$U \sum_{j0}^{K} \alpha_{j} \Lambda^{j} U^{T}\sum_{j0}^{K} \alpha_{j} U \Lambda^{j} U^{T}\sum_{j0}^{K} \alpha_{j} L^{j}$上式成立是因为 $L^{2}U \Lambda U^{T} U \Lambda U^{T}U \Lambda^{2} U^{T} \mathbb{E} U^{T} UE$$y_{output}$就变成了$y_{\text {output}}\sigma\left(\sum_{j0}^{K} \alpha_{j} L^{j} x\right)$其中$\left(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{K}\right)$是任意的参数通过初始化赋值然后利用误差反向传播进行调整。所设计的卷积核其优点在于a.卷积核只有K个参数一般K远小于n参数的复杂度被大大降低了b.矩阵变换后不需要做特征分解了直接用拉普拉斯矩阵L进行变换然而由于要计算$L^j$计算复杂度还是$O(n^2)$c.卷积核具有很好的spatial localization特别的K就是卷积核的receptive field也就是说每次卷积会将中心节点K-hop neighbor上的feature进行加权求和权系数就是$\alpha_k$更直观地看$K1$就是对每个顶点上一阶neighbor的feature进行加权求和如下图所示同理K2的情形如下图所示注上图只是以一个顶点作为实例GCN每一次卷积对所有的顶点都完成了图示的操作。第二代GCN的弊端参数太少了只有$K$个使得模型无法很好地实现在同阶的邻域上分配不同的权重给不同的邻居(也就是GAT论文里说的 enable specifying different weights to different nodes in a neighborhood)(3)第三代GCN---降低计算复杂度在第二代GCN中$L$是n*n的矩阵所以$L^j$的计算还是$O(n^2)$的《Wavelets on graphs via spectral graph theory》提出了利用Chebyshev多项式拟合卷积核的方法来逼近计算复杂度。卷积核$g_{\theta}(\Lambda)$可以用截断的(truncated)的shifted Chebyshev多项式来逼近。$g_{\theta}(\Lambda)\sum_{k0}^{K-1} \beta_{k} T_{k}(\tilde{\Lambda})$$\beta_k$是Chebyshev多项式的系数$T_{k}(\tilde{\Lambda})$是取$\tilde{\Lambda}2 \Lambda / \lambda_{\max }-I$的Chebyshev多项式进行这个shift变换的原因是Chebyshev多项式的输入要在[-1,1]之间。由Chebyshev多项式的性质可以得到如下的递推公式$T_{k}(\tilde{\Lambda}) x2 \tilde{\Lambda} T_{k-1}(\tilde{\Lambda}) x-T_{k-2}(\tilde{\Lambda}) x$$T_{0}(\tilde{\Lambda})I, T_{1}(\tilde{\Lambda})\tilde{\Lambda}$[$T_0(x)1,T_1(x)x,T_k(x)2xT_{k-1}(x)-T_{k-2}(x)$]其中$x$的定义同上是n维的由每个顶点的特征构成的向量(当然也可以是$n*m$的特征矩阵这时每个顶点都有$m$个特征但是$m$通常远小于$n$)不难发现上式的运算不再有矩阵乘积了只需要计算矩阵与向量的乘积即可。计算一次$T_{k}(\tilde{\Lambda}) x$的复杂度是$O(|E|)$$E$是图中边的几何整个运算的复杂度是$O(K|E|)$当graph是稀疏图的时候计算加速尤为明显这个时候复杂度远低于$O(n^2)$(4)第四代GCN通过使用Chebyshev多项式近似我们已经成功得降低了卷积核计算的复杂度。这篇文章中进一步对卷积核的计算做了近似产生了我们所熟知的GCN逐层传播公式。在GCN模型中作者首先做了额外的两个假设$\lambda_{\max}\approx 2, K1$, 这两个假设可以大大简化模型。而作者希望假设造成的误差可以通过神经网络参数训练过程来自动适应。在这两个假设的条件下$$y_{out} \sigma(Ug_\theta(\Lambda)U^\top x) \\Ug_\theta(\Lambda)U^\top x \approx \sum^1_{k0}\theta_kT_k(\tilde{\Lambda})x \theta_{0} x\theta_1\left(L-I\right) x\theta_0 x-\theta_1 D^{-\frac{1}{2}} A D^{-\frac{1}{2}} x$$上式有两个参数$\theta_0$和$\theta_1$。这两个参数可以在整个图所有节点的计算中共享。在实践中进一步限制参数的个数能够一定程度上避免过拟合的问题并且减少计算量。因此作者又引入了另一个假设$\theta\theta_0-\theta_1$做进一步的近似$$Ug_\theta(\Lambda)U^\top x \approx \theta\left(ID^{-\frac{1}{2}} A D^{-\frac{1}{2}}\right) x$$注意$ID^{-\frac{1}{2}} A D^{-\frac{1}{2}}$的特征值被限制在了[0,2]中。由于这一步生成的$y_{out}$可能作为下一层的输入$x$ 会再次与$ID^{-\frac{1}{2}} A D^{-\frac{1}{2}}$相乘重复这样的操作将会导致数值不稳定、梯度弥散/爆炸等问题。为了缓解这样的问题作者引入了这样的再正则化(renormalization)技巧$I_{N}D^{-\frac{1}{2}} A D^{-\frac{1}{2}} \rightarrow \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}}$其中$\tilde{A}AI_{N}, \tilde{D}_{i i}\sum_{j} \tilde{A}_{i j}$最后得到了大家耳熟能详的GCN逐层更新公式输入节点矩阵$X\in \mathbb{R}^{N\times C}$, 每个输入节点有C个通道(channels, 即每个图节点有C维特征)卷积操作包含F个滤波器(filters)或特征映射(feature maps), 如下$$Y\sigma\left(\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} X \Theta\right)$$其中$\Theta\in \mathbb{R}^{C\times F}$ 是filters的参数矩阵, $Y\in \mathbb{R}^{N\times F}$ 是卷积之后的节点矩阵。9.关于有向图问题前面的理论推导都是关于无向图如果是有向图问题最大的区别就是邻接矩阵会变成非对称矩阵这个时候不能直接定义拉普拉斯矩阵及其谱分解有两条思路解决问题“(1)要想保持理论上的完美就需要重新定义图的邻接关系保持对称性比如《MotifNet: a motif-based Graph Convolutional Network for directed graphs》提出利用Graph Motifs定义图的邻接关系。(2)如果只是为了应用有其他形式的GCN或者GAT可以处理有向图三、经典算法(一)Spectral domain1.半监督学习节点分类---两层GCN论文“SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS“,2017 ICLR作者阿姆斯特丹大学Thomas N. Kipf, Max Welling总结如果数据可以构成图可以考虑下图卷积GCN将卷积网络用于图数据上能对网络中的节点或者整个图进行分类能利用节点的属性和节点的label进行训练但这个算法不适应与规模大的图结构因为GCN需要输入整个邻接矩阵A和特征矩阵X这是非常耗内存的。2.基于多图卷积网络的自行车流量预测论文“Bike Flow Prediction with Multi-Graph Convolutional Networks“, 2018 ACM空间地理信息系统作者香港科技大学 Di Chai, Leye Wang, Qiang Yang问题描述利用t时刻以前的进站流和出站流预测t时刻的进站流和出站流三个模块构建和融合多图定义站点间不同关系并融合得到Graph。GCNencoder-decoder模型生成包含时间、空间、流量等信息的embeddingMLP结合embedding和节假日、天气等其他特征去预测站点流量。本文构建了多张空间关系通过多张图得到预测效果。encoder-decoder的结构存在局限性输入输出的维度是固定的。当预测短期的流量时本文的模型更适用。(二)Spatial domain1.DeepWalk( Random walk Word2vec)论文“DeepWalk: Online Learning of Social Representations”,2014 KDD作者纽约州立大学Bryan Perozzi, Rami Al-Rfou, Steven SkienaTransductive LearningCorpus : Graph作为”语料库”;随机游走(采样)构建”句子”可并行进行多个随机游走应用阿里提出了EGES(在DeepWalk的基础上引入物品信息)用于生成物品的embeddingsDeepWalk的主要问题是它缺乏泛化能力。 每当有新节点加入到图中时它必须重新训练模型以正确表示该节点( 直推式学习 )。 因此这种GNN不适用于图中节点不断变化的动态图。2.GraphSAGE( Graph SAmple and aggreGatE)论文”Inductive Representation Learning on Large Graphs”,2017 NIPS作者斯坦福大学William L. Hamilton, Rex Ying, Jure LeskovecInductive LearningDeepwalk,LINE, node2vec, SDNE等模型能够高效地得到每个节点的embedding。然而这些方法无法有效适应动态图中新增节点的特性 往往需要从头训练或至少局部重训练。通过对节点的本地邻域中的特征进行采样和聚合(平均/LSTM/pooling聚合)来生成嵌入而不是为每个节点训练单个嵌入。聚合器参数和权重变量的学习有监督情况下可以使用每个节点的预测label和真实label的交叉熵作为损失函数无监督情况下可以假设相邻节点的输出embedding应当尽可能相近保证相邻节点的embedding的相似度尽量大的情况下保证不相邻节点的embedding的期望相似度尽可能小。3.GAT基本的图神经网络算法GCN, 使用采样和聚合构建的inductive learning框架GraphSAGE, 然而图结构数据常常含有噪声意味着节点与节点之间的边有时不是那么可靠邻居的相对重要性也有差异解决这个问题的方式是在图算法中引入“注意力”机制(attention mechanism), 通过计算当前节点与邻居的“注意力系数”(attention coefficient), 在聚合邻居embedding的时候进行加权使得图神经网络能够更加关注重要的节点以减少边噪声带来的影响。三种注意力机制算法都可以用来生成邻居的相对重要性学习注意力权重(Learn attention weights)相似性注意力(Similarity-based attention)注意力引导的随机游走(Attention-guided walk)首先我们对“图注意力机制”做一个数学上的定义定义(图注意力机制)给定一个图中节点$v_0$ 和$v_0$的邻居节点$\left\{v_{1}, \cdots, v_{\vert\Gamma_{v_{0}}\vert}\right\} \in \Gamma_{v_{0}}$(这里的 $\Gamma_{v_{0}}$ 和GraphSAGE博文中的 $\mathcal{N}(v_0)$ 表示一个意思)。注意力机制被定义为将$\Gamma_{v_{0}}$中每个节点映射到相关性得分(relevance score)的函数$f^{\prime} :\left\{v_{0}\right\} \times \Gamma_{v_{0}} \rightarrow[0,1]$相关性得分表示该邻居节点的相对重要性。满足$\sum_{i1}^{\vert\Gamma_{v_{0}}\vert} f^{\prime}\left(v_{0}, v_{i}\right)1$四、举例从图数据中节点间的关系以及特征我们可以进行反欺诈以及商品推荐的操作。节点分类—反欺诈因为图中每个节点都拥有自己的特征信息。通过该特征信息我们可以构建一个风控系统如果交易节点所关联的用户 IP 和收货地址与用户注册 IP 和注册地址不匹配那么系统将有可能认为该用户存在欺诈风险。边结构预测—商品推荐图中每个节点都具有结构信息。如果用户频繁购买某种类别商品或对某种类别商品评分较高那么系统就可以认定该用户对该类商品比较感兴趣所以就可以向该用户推荐更多该类别的商品。参考文献