2023/9/3周报 GNN

本文介绍了图神经网络(GNN)的基本概念,包括其在处理复杂数据结构中的作用,数学原理如傅里叶级数和变换。文章详细列举了GNN的应用实例,如分类和生成任务,并概述了不同类型的GNN模型,如Spatial-basedConvolution、DCNN、MoNET和GraphSAGE。GNN在路线规划、欺诈检测等领域有广泛应用,展示了其强大的价值。

摘要

GNN是指基于图的神经网络,它是一种特殊的深度学习模型,主要用于处理具有复杂结构的数据。它使用神经网络来处理具有复杂结构的数据,比如图形、文本和时序等。GNN可以将具有复杂结构的数据转换为有用的特征,从而为模型的训练提供有用的信息。本周对GNN进行初步的学习,学习GNN的一些应用以及模型。重点关注了GNN背后的一些数学原理,例如傅里叶级数、傅里叶变换等等。

Abstract

GNN refers to graph based neural networks, which are a special deep learning model mainly used for processing data with complex structures. Using neural networks of GNN to process data with complex structures, such as graphics, text, and time series. We can transform data with complex structures into useful features, providing useful information for model training with GNN. This week, I conduct a preliminary study on GNN, learn some applications and models of GNN,and focus on some mathematical principles behind GNN, such as Fourier series, Fourier transform, and so on.

GNN

应用举例:
Classification(分类)、Generation(生成)等

分类
分子是否突变
在这里插入图片描述
分子结构生成 graphVAE
在这里插入图片描述
寻找凶手
在这里插入图片描述

GNN Roadmap:
在这里插入图片描述

GNN常见模型

Spatial-based Convolution
在这里插入图片描述

NN4G
• layer0做的是简单的embedding
aggregation
在这里插入图片描述

Readout
在这里插入图片描述

DCNN (Diffusion - CNN)
• 第n层看离当前节点距离n的节点信息
在这里插入图片描述

把每一层的feature叠加起来(concat)
在这里插入图片描述

对每个节点进行分类
在这里插入图片描述

MoNET (Mixture Model Network)
• deg(x) 表示x的出入度数
• u(x,y) 自定义的距离计算方式
在这里插入图片描述

GraphSAGE
在这里插入图片描述

Graph Signal Processing and Spectral-based GNN

向量空间
• 任何信号都是由基础信号的加权和组成
• 单个基础信号的权重可以由信号点乘该基础信号求得
• 基础信号都是正交的
在这里插入图片描述

傅里叶级数
基础信号是sin,cos:
在这里插入图片描述
在这里插入图片描述

傅里叶变换
在这里插入图片描述

Spectral Graph Theory
• N是节点的个数
• A是邻接矩阵
• 只考虑无向图 (A是对称矩阵)
• D邻居数量
• f节点上的signal(具体问题具体含义,如温度等)
在这里插入图片描述

• Graph拉普拉斯L=D-A , 对称矩阵、半正定矩阵(所有特征值大于等于0)
• 特征分解, 在这里插入图片描述是frequency;在这里插入图片描述是正交基,且长度为1
在这里插入图片描述

示例
在这里插入图片描述

不同频率下的基
在这里插入图片描述

离散傅里叶基,帮助理解频率的概念
在这里插入图片描述

如果把L作用在f上,如下图,可以发现:Lf 某种程度上表示某个节点与邻居的能量差
在这里插入图片描述

可以归纳为如下:
在这里插入图片描述
能量的话要算平方(要去补一下信号处理)
在这里插入图片描述代表了节点之间的能量差异
在这里插入图片描述

如果把在这里插入图片描述替换成特征向量在这里插入图片描述 ,可以发现,最终就是特征值在这里插入图片描述
在这里插入图片描述

如何做filtering?
时域→频域→与filter相乘→时域
首先是时域转频域,下面的x就是上面的f,其实就是分析每个正交基上的投影,在每个频率在这里插入图片描述下的成分有多大
在这里插入图片描述

那么怎么转回去呢,先看下普通的信号处理,每个时刻把每个频率下成分大小叠加起来
在这里插入图片描述

图傅里叶也是一样的在这里插入图片描述,就得到了节点信息
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

整个过程如下,我们要学习的是在这里插入图片描述

在这里插入图片描述

ChebNet
减少了计算量
结论:先根据递归把x转换成 在这里插入图片描述,然后在这里插入图片描述是要学习的参数,k代表k-localized
在这里插入图片描述

GCN
Chebnet的基础上k=1
节点的特征在这里插入图片描述经过线性变换w,然后所有的邻居求和取平均,加上b,最后经过激活函数
在这里插入图片描述

总结

GNN是非常强大的工具,已经在路线规划、欺诈检测、网络优化和药物研究等领域得到广泛的应用。只要有相关实体的图形, GNN就可以帮助从现有数据中获得最大的价值。

### 图神经网络与LSTM结合的技术和应用 #### 技术背景 图神经网络(Graph Neural Networks, GNNs)是一种专门用于处理图结构数据的深度学习框架,能够捕捉节点之间的复杂关系。而长短时记忆网络(Long Short-Term Memory, LSTM)则擅长于建模序列数据中的时间依赖性。两者的结合可以充分利用GNN的空间特性和LSTM的时间特性,在动态图数据分析领域展现出强大的能力。 当GNN与LSTM相结合时,通常会采用以下几种方式实现: 1. **基于时间步的动态图嵌入** 动态图是指随着时间推移不断变化的图结构。在这种场景下,可以在每个时间步先通过GNN提取当前时刻的图表示,再将这些表示输入到LSTM中以捕获时间维度上的模式[^2]。 2. **联合优化机制** 可以设计一种端到端架构,其中GNN负责从静态或动态图中抽取空间特征,而LSTM专注于对这些特征随时间的变化进行建模。这种架构允许两者协同工作并共同训练,从而提升整体性能。 3. **多尺度融合策略** 对于某些复杂的任务来说,可能不仅需要关注局部区域内的交互作用还需要考虑更广范围的影响因素。此时可以通过引入多层次的信息传递过程以及相应的注意力机制来增强表达能力。 #### 应用案例分析 以下是几个典型的应用方向及其具体实施细节: - **交通流量预测** 利用道路网络构建拓扑连接关系形成一张无向加权图,并把每条路段视为一个节点;然后借助历史车流速度记录作为节点属性值送入模型当中去完成未来一段时间内各处通行状况估计的任务。在这里面,GNN部分用来描述地理位置相近之间存在的关联效应,LSTM则是为了记住过去几天甚至几周以来所积累下来的趋势规律以便更好地做出短期或者长期规划决策支持服务等方面贡献价值. ```python import torch from torch_geometric.nn import GCNConv from torch.nn import LSTM class SpatioTemporalModel(torch.nn.Module): def __init__(self, input_dim, hidden_dim_gnn, hidden_dim_lstm, num_classes): super(SpatioTemporalModel, self).__init__() # Spatial component using GNN self.gnn = GCNConv(input_dim, hidden_dim_gnn) # Temporal component using LSTM self.lstm = LSTM(hidden_dim_gnn, hidden_dim_lstm, batch_first=True) # Output layer self.fc = torch.nn.Linear(hidden_dim_lstm, num_classes) def forward(self, x, edge_index, time_steps): spatial_features = [] for t in range(time_steps.size(0)): out = self.gnn(x[t], edge_index) # Apply GNN at each timestamp spatial_features.append(out.unsqueeze(0)) temporal_input = torch.cat(spatial_features, dim=0).transpose(0, 1) lstm_out, _ = self.lstm(temporal_input) output = self.fc(lstm_out[:, -1, :]) # Use the last step's output return output ``` - **社交网络传播分析** 社交媒体平台上用户发布的内容往往伴随着转发评论点赞等一系列行为动作轨迹构成了一张高度活跃且瞬息万变的关系网路环境之下如何快速精准定位热点话题传播路径成为了研究重点之一。因此我们可以尝试运用上述提到的方法论体系来进行探索实践操作流程如下所示: 首先定义好目标群体范围内个体间相互影响程度指标参数集合X={xi| i∈V} ,接着依据实际需求选取合适的相似度衡量标准d() 来确定边权重wuv=f(d(u,v)) 最终得到完整的带标签有向有权图形式表述D=(V,E,W,Y). --- #### 局限性讨论 尽管如此优秀的组合方案具备诸多优势特点但仍存在一些不足之处有待改进完善比如计算资源消耗较大难以满足实时在线业务要求等问题亟待解决另外针对不同类型应用场景还需进一步细化调整相应配置参数才能达到最佳效果表现水平等等.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值