https://www.youtube.com/playlist?list=PL-myaKI4DslVPIos0HopgT8SjOn7HLJw8
图是代表关系或者连接的数学结构。它由节点(vertex/node)和边(edge)组成。节点代表对象,边代表两节点之间的关系。如果两个节点之间有边连接,则称这两个节点是相邻的。
一个图可以用三元组G=(V,E,w)来表示:
无向图和有向图的不同在于:
以上笔记主要概括讲师介绍图结构的基本概念及通用应用,尽量保留关键信息,去除主观色彩,以markdown格式呈现。
网络的基本属性包括:
节点数 | V | 和边数 | E |
随机图模型假设随机生成图的结构,常见模型有:
这些随机图模型可以帮助理解真实网络的一些统计规律,如度分布,基数等特性。它们也为后续更复杂的网络模型打下基础。
网络结构属性与动态行为之间可能存在相互影响关系。例如社交网络的结构属性可能影响信息或流行病在网络中的传播效率。所以,研究网络属性对理解网络功能具有重要意义。
Snap.py是一个开源的Python网络分析库。它提供了丰富的网络数据结构和算法实现。
主要功能包括:
以上笔记主要记录了Snap.py网络分析库和如何在Google Cloud上进行部署并运行Snap.py相关内容。
网络模体是网络中的小型子结构模式,如三级和四级墨菲子图(Triadic and four-node motifs)。
研究发现在真实网络中,某些小模体比随机网络更趋于出现,这表明它们在网络发展中的重要作用。
通过比较一个节点与其邻居节点之间的相似性,可以将节点划分为不同的结构角色:
常用算法包括:
亲和度矩阵分析(Adjacency matrix representation)
Hope算法:根据节点相似度自动聚类分角色
角色矩阵分解算法:利用矩阵分解得到结构角色的隐含表示
识别结构角色可以帮助理解网络中节点的重要性与功能定向。
网络团聚结构指网络中的节点群体,内部连接更密集,而与其他群体连接较疏落。这种结构通常也称为网络团簇(Community)。
主要算法包括:
分层聚类algorithms:以节点间相似性进行分层聚类
之间度算法(Betweenness algorithms):以边的betweenness值来移除边,获得团簇
最大模糊团簇算法(Max flow/min cut algorithms):利用网络最大流理论实现
谐波算法:根据节点在频率上对网络的影响来测量团聚程度
共轭梯度算法:针对非常大规模网络优化性能
通过分析网络的团聚结构,可以得到以下属性:
团簇规模分布
团簇内外连接密度差异
节点所属团簇及角色
揭示网络中的隐含社区结构,有助于理解网络功能和属性。
以上内容旨在回顾线性代数、概率统计及证明方法等数学基础,为网络分析奠定理论基础。掌握这些基础知识对深入研究网络算法和模型是很重要的。
谱聚类算法通过矩阵的特征向量来划分数据点到不同的簇中。
主要步骤:
计算相似矩阵S
对S计算拉普拉斯矩阵L
对L计算k个最小非零特征向量
将特征向量作为点在新空间的坐标,进行k-means聚类
无正定拉普拉斯矩阵:L=D-S
对称拉普拉斯矩阵:L=D^-1/2(D-S)D^-1/2
随机walks拉普拉斯矩阵:L=I-D^-1S
其中D是S的度矩阵。
考虑全局结构信息,不容易陷入局部最优
自动推断簇数,无需预设
适用于不规则形状的簇分布
同时利用空间定位和特征信息分簇
广泛应用于网络分析、图像处理等领域。
消息传递是图神经网络的基本流程:
每个节点初始化状态
节点与其邻居交换消息
根据接收消息更新自己的状态
重复上述过程直至收敛
将节点分类问题规范成:
典型方法:
GCN层:以节点特征和结构信息为输入
消息聚合:通过注意机制将邻居信息浓缩到节点状态
传播学习:用消息更新节点状态,为下层分类任务定义
分类层:基于学习后的节点表示完成分类任务
充分利用结构信息实现端到端学习,是节点分类方法的一大进展。
将图数据表示成低维向量表示,同时捕获结构、关系和属性信息。
预训练高质量图表示可以用于:
为深度学习解决图结构数据任务 laid基础。
图神经网络通过消息传播和节点状态更新的机制,实现多轮信息传递与聚合,获得节点结构化特征表达。
GCN:采用成熟CNN设计思想,使用近似拉普拉斯算子定义消息函数;
GraphSAGE:设计采样策略并定义聚合函数实现消息传播;
GAT:引入注意机制实现结构性自适应;
完全监督训练:利用标签信息进行端到端训练;
预训练与微调:利用节点自信息进行预训练,微调到下游任务;
对抗训练:引入对抗样本或损失改进模型鲁棒性。
节点/图分类
链接预测
嵌入学习
等等,广泛应用在图/网络分析各个任务中。
图神经网络充分吸收了结构关系特征,在图学习任务中表现优异。
以实战项目详细说明GNN算法实现方法。
探索生成由节点与边组成的结构性图数据。
图生成模型在化学物质设计等领域得到广泛应用。
PageRank算法假设:用户在网络上随机跳转,留在高质量页面的时间更长。
设N个页面,PR矩阵P为N×N矩阵:
PageRank值通过迭代得到: PR=αP×PR+(1-α)v
考虑个性化序列:
反映了用户的个性偏好。
PageRank提出后广泛应用,提升了网络搜索质量。
网络效应指网络规模的扩大带来的增益,通常表现为每个额外用户带来的价值越来越大。
关联中心性与中间中心性节点对最大程度调控信息传播。根据节点类型精准定位干预,有效阻断负面传播。
研究传播模型,定量分析网络效应现象。
利用传播观测数据进行学习:
定量评估不同因素对传播的作用,学习个性化传播模型。
给定一个社交网络和一个初始活跃节点集,如何找到k个节点的种子集,使得被激活节点数量最大。
重要任务,推动社交网络研究与商业价值实现。
当网络上传播事件激活节点数量 superlinear增长时,应立即发出报警。
早期有效检测传播事故,有利于病毒控制与流言隔离。
网络随时间不断演变,主要机制包括:
利用时间序列数据学习网络生长机制,预测未来发展态势。
结合网络上结构与属性动态研究网络演化Regular性,揭示社交模式 hidden rules。
知识图通过实体(entity)与关系(relation)表示结构化知识。
提取所有路径来描述实体关系,构建路径统计方法。
每个关系表示为一个变换函数,连续应用得出结论。
利用知识库内置边和规则,进行 multi-hop推理得到新的事实。
利用GNN编码结构信息,进行实体分类、链接预测任务。
深入理解实体关系,进行自动多层次结合式地理解和响应问题。
GNN多层设计难以表达复杂结构,对大规模图处理能力有限。
With deeper neural network layers, node representations become more similar and lose distinguishing power.
GNN难以直接学习整个图的特征,更容易捕获局部结构。
对大规模动态图训练难收敛,易出现过拟合等问题。
多次通信后节点状态变化,难溯源于原始输入图结构信息。
模型难解释自身学到的图特征和决策过程。
图算法运算和通信开销大,难以应对大规模图性能瓶颈。
GNN研究面临诸多挑战,需要进一步提升模型表征和推理能力。
预测分子结构-性质关系,促进新材料发掘。
用户分类、链接预测、传播分析等任务。
问答、信息扩充、错误检测等知识服务。
网络入侵检测、恶意软件分析等保障网络安全。
车辆路网监测预测、优化交通流动性。
3D场景理解、对象识别、识别运动预测。
蛋白质结构预测、基因调控网络分析等。
服务网络故障定位、网络诊断与维护等。
GNN在不同网络应用中发挥重要作用,推动交叉研究。
图通过实体(节点)和关系(边)来表示结构化知识。
许多领域如社交网络、生物医学等可以自然地用图来表示,即实体及其关系可以建立节点和边。
除自然图外,知识信息、软件代码等也能通过图来捕获实体间的关系结构。
图表达能力强,能更加真实地模拟领域内实体关系,从而建立更准确模型。
深度学习工具面临图数据不定形和复杂拓朴结构的挑战。
通过学习节点间嵌入表示,自动学习图特征,为下游任务提供表征,无需人工设计特征。
传统图方法、节点嵌入、图神经网络等,以及其在生物医学、科学等领域的应用。
预测用户属性、链接、信息传播等。
问答、情报扩充、错误检测。
入侵检测、恶意软件分析。
车流监测预报、优化交通流动。
蛋白质结构预测、基因调控网络分析。
基于用户交互图推荐商品。
基于交易图发现可疑交易。
预测分子结构-性质关系,促进新材料发展。
物体识别、跟踪预测。
图神经网络在上述应用中发挥重要作用,推动交叉研究。
如何表示不定形的、动态变化的图结构数据?
用二维矩阵记录每个节点之间的连接关系。
用数组记录每个节点的 neighbor 节点列表。
记录节点自身特征如年龄、性别等。
记录边连接两个节点的关系类型或权重。
表示节点可以属于不同类型的多个图。
表示图结构和属性随时间的变化。
发现图结构中的重复子图形或模式。
获取节点/边/图上的低维表征,为下游任务提供特征。
不同表示选择影响后续算法效率和表征学习效果。
直接使用节点属性,或统计节点周围结构特征作为表示。
记录节点边连接的数量。
描述节点直接相邻节点属性频率。
描述节点共同邻居数量,反映关系强弱。
描述节点临近节点的度分布,展示结构影响。
记录从节点出发 Personalized PageRank 分布。
描述相对于整张图的节点位置特征。
统计节点参与不同尺寸或形状子图模式的频率。
人工设计的特征需要考虑图结构特点,但依赖经验知识。
直接使用连接两节点的关系类型或权重作为特征。
描述连接两节点的公共邻居数量,反映关系强弱。
量化节点通过共同邻居可能达成的关系密度。
记录连接两节点的度分布,描述结构影响关系形成。
从链接起点出发的Personalized PageRank分布。
描述两节点间最短路径长度,位置关系特征。
记录从一个节点随机游走到另一个节点的平均步数。
统计链接参与不同尺寸子图模式的频率。
直接使用定义的链接特征或关联节点特征进行描述。
直接使用图属性如节点/边数量作为特征。
统计图中不同尺寸子图模式的频率分布。
描述每个节点所处子图模式的频率分布。
统计图中所有实际最短路径长度分布。
使用图谱分析获取特征,如图拉普拉斯特征值。
统计特定阶数节点关系组合的频率。
描述图中含有哪些3-5阶子图网络模式。
统计每个节点一定跳数内子图统计值。
人工设计的图特征需要全面描述结构信息。
将节点映射到低维向量空间,相似节点近,差异节点远。
通过短随机游走生成窗口语料,使用Skip-gram学习嵌入。
改进DeepWalk,引入优化随机游走策略的超参数。
根据一阶和二阶相似性分别学习嵌入,然后整合输出。
根据节点结构角色学习嵌入,如同阶中心性节点。
通过图拉普拉斯计算节点分离度参数学习嵌入。
使用深度学习框架实现结构保留和特征学习目标。
通过节点短随机游走生成语料,采用Skip-gram模型学习嵌入。
从每个节点出发多次执行有放回随机游走。
将窗口内节点对作为训练样本,最大化连词预测概率。
通过两个超参数引导随机游走,取得结构丰富样本。
控制随机游走冗余性(q>1)和突出性(q<1)。
控制随机游走是否回溯曾经访问的节点。
Node2vec通过调整q、p改变样本分布,学习到更好结构表示。
DeepWalk和Node2vec利用随机游走和词向量技术从全局学习结构嵌入。
将图作为一个整体学习低维表达。
使用节点卡 Take node embedding averages/sums作为图embedding。
利用图谱特征如特征值/向量学习embedding。
使用紧凑自编码训练来学习时间序列表示法。
使用竞争性单调双线性层实现图间匹配。
运用图注意力机制将节点嵌入聚合到整体图中。
利用Frechet距离 loss约束学习不同尺度图嵌入。
直接提取或通过神经网络将结构表示为低维向量。
提供整体图表示供下游模型学习高级结构信息。
通过节点间持续信息共享求出节点重要度。
以一定概率随机跳转,或沿边传递信息值。
将PageRank视为网页互相传播的“电子脚本”。
算法随时间收敛到每个节点获得同样信息值的均匀状态。
引入个性化参数向量,强调指定节点传播能力。
利用PageRank优化在社交网络中的广告传播策略。
通过图分区和改进收敛等手段加速PageRank计算。
重复计算每个节点的PageRank值直至收敛
利用PR等于(1-d) M PR + d * v形式迭代计算
把PageRank求解视为概率分布的极大似然估计问题
利用图拉普拉斯矩阵构建线性系统求解PageRank值
应用图谱特征分解快速收敛到解
通过随机传播模拟界面值估算 PageRank
谱分解和Monte Carlo方法计算效率更高
人工设计求解策略或利用工具库进行优化
随机游走者在某一概率下会跳回指定节点重启游走。
随机游走者只能跳到指定子集内的节点。
随机游走者会均匀随机跳到图中所有节点。
通过统计随机游走者访问每个节点的次数来度量节点之间的关联程度。
以用户-物品二分图作为图,查询节点为特定物品,节点访问次数反映其他物品的相关性。
通过重复选择随机邻居并记录访问计数来模拟随机游走过程。
以一定概率α跳回查询节点集重启游走。
也可以将问题视为推断流量分布,通过特征向量迭代计算解决。
考虑连接强度、路径类型和度数影响,简单高效,即使实际模拟也得出接近结果。
将稀疏相似性矩阵分解为低秩近似,提取隐含结构。
用奇异值分解将矩阵分解成三个矩阵的乘积表达。
利用二阶随机游走生成结构相似性节点边集,构建相似矩阵并分解 learning embeddings。
通过模拟随机游走生成结构相似样本,训练词埋嵌模型学习节点表达。
定义第一阶和二阶 proximity,分别训练节点表达模型捕获各层次结构信息。
将生成的样本看作词汇,节点看作文档,使用词埋嵌框架训练低维分布式节点表达。
链接预测,社区检测,分类等任务,将节点表达作为特征进行训练。
能够很好捕获复杂结构信息,学习到低维分布式节点表达有利下游任务。
节点通过聚合每个一阶邻居信息更新自己的隐状态,迭代传递信息。
采用矩阵乘法表示信息传递,过滤器改变节点状态维度,成为GCN层实现信息传递。
基于图结构设计的深度学习模型,利用信息传递学习节点表示。
将节点表示作为特征,在标签数据集上训练分类器学习节点类型。
给定部分 labeled 节点,采用交叉熵损失函数优化分类器参数和 GCN 参数,获得准确分类结果。
生物信息学领域如蛋白质功能预测,社交网络用户类型识别等任务上效果显著。
能学习到包含结构信息的高维稠密节点表示,有效解决结构数据问题。
利用结构信息中节点关系依赖进行分类。
重复传播节点类别信息,依据相邻节点类别更新自身预测,迭代收敛预测结果。
建立连接矩阵来表示节点之间关系,迭代优化联合分布实现分类。
采用独立成分分析建立隐变量关系模型进行迭代推断。
视网络为博弈场景,迭代计算更新各节点角色预测。
利用PageRank思想实现信息在结构中的传播传递。
学习结构中相关联的标签扩展分类知识。
多轮信息交互传递后取得稳定的预测结果。
考虑节点分类结果的相互依赖关系采用迭代优化分类效果。
包含节点自身属性分类器和关系传播机制的参数。
重复使用当前节点预测更新相邻节点预测,迭代统计学平衡。
节点承接相邻节点平均标签作为自己下次预测。
تستخدم مصفوفات الاعتماد لنقل المعلومات بين العقد.
يستخدم التوزيعات الاحتمالية المشتركة لتحديث التنبؤات.
تحسين التصنيف من خلال الاستفادة من الاعتمادات البنيوية.
尺寸任意
拓扑结构复杂
没有空间局部性
没有固定顺序或参考点
带有节点和边上的多模态特征
动态演化
应用深度学习方法学习图表示
将图看作非线性变换操作后的节点表示输出
-每个节点表示受其一阶邻居影响
将图看作神经网络结构
通过信息传递学习节点表示
节点经历多轮操作互相影响学习新表示
信息传递机制
节点更新规则
嵌入融合规则
同网络结构中的相似性一致
解决不同任务如分类、链接预测等
可学习复杂图特征
拓展学习能力处理动态图
学习节点属性等更多信息
同传统深度学习端对端学习优势
图无固定结构更难定位节点
模型设计需要考虑结构信息
消息传递和聚合定义单层
层之间连接方式
图处理与特征增强
计算图构建
学习任务和目标
h^l+1i = Aggregate{j∈N(i)}m^l(h^l_i,h^l_j,e_{ij})
每层作为上一层的输入,无连接
使用跳连将不同层连接,加强特征传播
将上层特征直接输入到较深层以改进梯度流
为节点/边增加特征,如One-hot编码
添加节点、边或图信息,如k跳扩散图
通过域翻转生成新边或图,扩充网络流信息
预测节点类别
预测是否存在边
预测整张图属性
自监督学习图表示
节点分类用交叉熵
链接预测用BCELoss
图分类用交叉熵
无监督学习用重构或预测错误
预测节点类型或属性
预测节点之间是否有边连接
根据历史推荐新节点
判断图的类别或属性
在图中识别结构匹配的子图
根据部分观测信息生成新的图
数据集和注解
正负样本采样(链接预测)
特征选择(节点/图属性)
多任务联合学习
监督信号强度
模型和学习目标设置
正确设计预测任务有助于充分挖掘GNN优势。
GNN能否表示任意函数?
对于不同类函数,需要多少层才能充分表示?
GNN无法表示所有函数,受限于图结构
GNN可以逼近对称与平稳函数
利用卷积拓展结构可增加表示能力
深层GNN具有强大表达能力
普通GNN无法学习所有图函数
特定GNN在特定图结构下可以拟合任意函数
深层和多头注意力GNN表示能力更强
实际应用GNN效果很好,理论无法全面解释
未来工作将进一步研究GNN能力极限
通过堆叠多层单元来学习复杂特征
不同项目学习不同关系模式
加强深层特征传播
通过扩充图结构增加信息依赖程度
学习超越局部邻居的全局属性
充分利用图变化模式
不同目标joint学习
多个节点类型和多种关系
节点与关系带有不同属性
学习时需考虑类型和属性区分
经典类型包括人物、地点、组织等
复杂语义关系如”出生地”、”学历”
目的是从知识图中问答和推理
将不同实体和关系映射到连续向量空间
原始模型TransE假设关系为变转换的操作
后续模型如TransH、TransR等提升表征能力
学习嵌入后可用于链接预测和问答任务
将实体和关系映射为嵌入向量
预测缺失关系是否成立,可 formulize为预测两个实体向量与关系向量的关系
训练目标通常采用成对学习,将现有关系视为正例,随机对视为负例
常用损失函数如BCELoss
测试时根据预测关系得分排序,返回置信度最高的结果
将关系看作实体向量之间的平移,预测是否成立.
用点积表达关系,计算实体间关系表达式的值预测相关性.
complex值为实值,考虑关系的复数属性,能表示对称/反对称关系.
将实体和关系表示为矩阵,卷积核学习实体间互动过滤特征.
将关系看作旋转,预测实体向量旋转后的位置重合程度.
将所有实体和关系表示为三维张量,全面捕捉多阶相互信息.
根据多个关系连续推理出新的事实。
给出推理过程中每个关系的作用。
根据预设规则自动增强知识图。
判断给定语句是否属于知识图事实。
预测两个未连接实体之间的可能关系。
路径 ranking模型,对查询路径赋予权重排序。
卡方无监督学习,推断新特征与已知关系之间的相关性。
逻辑规则,学习事先定义的逻辑句法进行演绎。
对抗网络,生成假事实对抗训练可解释模型。
如果图中缺失关系,无法完成多跳查询路径遍历。
隐式补全缺失关系关系,预测查询答案。
将查询视为实体与关系的连接序列。
根据序列学习查询向量。
预测答案实体为查询向量距离最近。
将起点实体视为查询子计划。
学习子计划向量表示相应实体集合。
施加逻辑运算得出最终答案。
根据相似实体间关系,推断潜在新关系。
改进查询向量学习,考虑实体集合与逻辑关系。
在嵌入空间定义逻辑运算符如交集。
将查询表示为包含集合与逻辑关系的Box.
学习Box内集合与关系的向量表示.
用集合间距离衡量逻辑关系.
根据逻辑关系计算最终答案概率.
每个集合使用一个大致均匀分布的球体表示.
关系使用向量表示作用在集合间.
Box内集合・关系共同构成查询空间网格结构.
集合间距离衡量其逻辑关系程度.
交集关系集合距离近,并集关系较远.
关系向量学习使答案集合距离最小.
监督学习 queries、答案、Box结构.
推理预测未知query答案概率.
迭代更新Box向量提升预测效果.
给定查询子图Q和大型图G。
计算G中与Q同构子图的次数。
学习图节点向量表示。
为每个节点赋予分类向量,表示其对Q子图的贡献。
分类向量乘积即为匹配次数估计值。
学习自适应图特征,无需手工设计。
通过节点编码并行计算,时间复杂度与图大小无关。
表现优于图钩函数等经典算法。
给定查询子图Q和数据图G
判断是否存在Q同构子图嵌入在G中
使用GNN学习图节点表示
给每个节点赋予匹配/不匹配标签
最大化匹配节点,最小化不匹配节点的损失函数
使用注意力机制比较Q-G节点对
构建Q-G关系图纠正匹配
循环迭代提升匹配质量
化学反应图匹配
网络序列匹配检测欺诈
社交图结构相似度计算
生物最优路径对齐
枚举所有可能子图需要极高复杂度
失去结构信息,难以判断图式相似度
使用GNN学习全图嵌入
对嵌入向量应用K-Means聚类
每个簇代表一个含糊图式
将图划分成若干重叠图块
块内节点使用GNN学习表示
计算相似性筛选出频繁部分图
神经网络模型学习图结构特征
聚类识别图式,复杂度低于暴力枚举
预处理减少搜索规模,效率高
在真实网日志和蛋白质等数据集表现出色
社区内边数较多,社区间边数较少
独立子图模块化度Q越高,社区结构明显
轻启发式聚类CUT算法
spectrum截断分解图谱
Louvain算法 - 贪婪合并节点
Infomap算法 - 密度流模型
GNN学习图结构信息
节点分类判断其社区标签
监督或无监督学习
整图视角,考虑全局结构特征
在现实网络上效果好,被广泛采用
模块 - 高内联低外联结构
剪枝 - 树或星型结构
重叠 - 节点可属于多个社区
嵌套 - 小社区组成更大社区
谱 - 节点与整个图弱耦合
采用GNN学习节点集邻域信息
监督训练目标识别明确社区标签
非监督训练目标优化模块度
根据联合概率或独立概率预测社区
多尺度分析,发现各层次结构
考虑全局结构依赖关系
学习社区边界不需定义模板
识别难区分重叠结构
在大规模网络上性能更好
每个节点作为一个单独社区
重复以下步骤:
计算将每个节点移动到邻近社区后的模块度增益
将增益最大的节点移入对应社区
将连接在同一社区内的节点合成一个超节点
返回到步骤2,使用社区层次图重复计算
直到模块度停止增加,输出各层社区划分
时间复杂度低,仅为O(nlogn)
可以处理任意大小和结构的网络
能发现重叠和嵌套社区
效果很好,广泛使用在实际任务中
节点可以属于多个社区
社区边界不明显,结构复杂
将节点表示为 centroid的混合
centroid代表一个潜在社区
学习节点在每个centroid上的归一化分布
较高概率对应的centroid视为其社区
将网络表示为点-社区整体矩阵
最小化重构误差得到社区聚类
迭代更新每个节点在各社区的权重
权重高的社区作为节点社区
允许节点多社区分布
学习重叠分布不需前设模型
在真实网络上效果显著
学习图结构分布
生成新的结构一致且看起来自然的图
随机生成,失去结构特征
依赖于图引入不切实际假设
VAE使用检验函数对图表示求期望
GAN对抗训练区分真假图
组合额外的图结构约束
区分生成连通图质量
新物质设计
虚拟数据集合成
网络规划
异常图检测
输入节点数n和边形成概率p
每对节点之间依概率p独立形成一条边
图形结构简单,边随即生成
图中的结构特征由参数n和p决定
随着节点增多,图性质收敛于特定值
图结构难以复制现实情况
输入节点数n和概率p
对每个节点对,以概率p连接边
输出随机图
简单概率模型
理解某些随机图基本规律
作为基准模型与其他模型比对
每个节点与其他短距离节点通过局部联系相连
另外还包含少量长距离链接,可以将网络架构拉近
局部聚类高,但全局路径长度短
描述现实网络中的六度分割理论
兼具噪声图和规则图的优点
建立节点对之间的随机联系网络
重新连接部分边,建立一定数量的长距离边
输出小世界网络
解释社交网络中的信息传播效率
模拟生物神经网络或者电力网络结构
生成符合现实特征的新网络
小世界模型通过局部聚类和少量长连接边很好描述现实网络的结构特征。
使用矩阵乘法产生图结构
输入为多个克罗内克矩阵,重复相乘生成大型网络
可以生成真实网络的度分布和聚类特征
通过修改矩阵可以产生不同类型的网络
与网络规模一并增长,具有良好可扩展性
输入初始小矩阵
重复矩阵乘法,每次增加节点规模
最终输出大型克罗内克图
模拟社交网络、网站网络模拟增长
生成具有代表性模拟网络理解网络性质
进化网络学习网络变化趋势等
克罗内克图模型可以依据矩阵设计精细生成规模大的网络,并随着规模一块增长,具有很好的可扩展性。
使用深度学习方法生成和学习图表示
主要包括图生成对抗网络和变分自编码器
包含生成器和判别器两个神经网络
生成器生成图,判别器判断图的真伪
两者通过对抗学习得到生成目标分布
通过编码-解码框架学习图空间
编码器将图表示成浮点向量
解码器将向量重构为图
最小化重构误差训练模型
未标注图分类与图表示学习
图生成与推荐系统中的新图发现
多样性化生成新结构图
深度生成式图模型利用深度学习技术有效学习和生成图表示,在图处理任务中显示出广阔应用前景。
使用递归神经网络顺序生成图结构
每步选择添加新节点和连接的边
采用图注意力机制选择结点
初始化的时候生成一个小子图
递归生成新的节点和连接它的边
循环直到完成设定的图规模
输出最后生成的完整图
可以生成任意规模的图
考虑节点间结构依赖关系
生成的图连通性和特征好
在多个实际数据集上效果显著
图RNN采用递归生成顺序,利用注意力机制有效地学习图特征,生成连贯自然的大规模图结构。
模型参数和计算资源限制
生成过程难以平行化
难以评估大规模图质量
参数共享
简化网络结构
减小图注意力区域
动态图计算
利用图处理加速器
模型剪枝
统计检查功能分布
平衡真假样本分类
小规模图人工判断
图驻留时间分析
深度学习图生成任务在大规模情况下需要模型设计和评估方法的创新,促进其在现实应用中的推广。
每个步骤都是一个决定,根据隐藏状态的预测决定进行。
隐藏状态可以是隐式的,如RNN;也可以是显式的,如GCPN通过神经网络计算中间图进行编码。
模拟给定图集。
生成符合特征分布的新图。
分子生成,产生优化特定属性的分子。
任何图生成任务,如生成具有实际属性的地图、城市、道路网络等。
GCPN将生成视为强化学习问题,可以实现优化生成目标。
可以完成部分生成的分子结构或产生全新的分子。
优化分子的溶解度、logP等属性。
可以将不良的分子结构优化成理想属性的结构。
深度学习方法可以成功地实现复杂图的生成任务,并应用于分子设计等实际问题中。
图神经网络会将节点嵌入到一个连续的向量空间中。单层图神经网络可以将节点从其一跳邻居中编码,多层图神经网络可以编码更远距离的结构信息。
理想情况下,如果两个节点的邻域结构不同,它们应该嵌入到嵌入空间的不同位置。但是,实际应用中会出现以下两类问题:
位置敏感任务。两个节点可能在图中的位置不同,但其邻域结构相同。例如网格图中的两个边缘节点,图神经网络无法区分它们。
表达能力不足。图神经网络的表达能力受Weisfeiler-Lehman核测试限制。例如在不同周期的环形结构中,节点无法区分。
为解决这些问题,需要构建更强大的图神经网络模型:
位置感知图神经网络,考虑节点在图中的具体位置,而不仅仅是局部结构。
标识感知图神经网络,使用更强大的消息传递机制,表达能力超出Weisfeiler-Lehman测试。
总的来说,图神经网络在一些特殊案例下的局限性主要来自于模型本身表达能力的不足,需要扩展模型来提升其区分不同结构的能力。
位置感知任务需要根据节点在图中的位置来区分标签,而结构感知任务仅依赖局部结构。
定义锚节点或锚子集来描述节点在图中的位置。节点位置由它与随机选取的锚节点/子集的距离来表示。
锚子集以指数扩增的大小选择,但数量以1/2衰减。可以更精细定位节点位置。
节点特征增加位置编码后输入GNN,实现任务识别。但位置编码维度顺序可颠倒,无变化含义。
通过设计位置不变集合算子,提升位置编码表达能力。例如聚合算子保持输入输出顺序不变。
位置感知GNN通过利用锚节点标定位置信息,改善模型识别能力。节点可以识别局部结构和整体位置。
锚节点和锚子集概念、位置编码方式为定位感知任务提供新思路,提升GNN在实际问题上的应用。
许多任务需要识别节点的内在特征,而非仅看结构或位置。
分离GNN中的结构信息和标识信息。将节点特征分解为结构不变量部分和标识变量部分。
标识变量代表节点固有属性,不依赖于结构或位置,如节点类型。结构变量代表节点相对其他节点的位置信息。
将标识信息输入单独的MLP后,与结构信息进行拼接运算,得到最终表示。这能更好学习到节点内在属性。
标识感知GNN通过分离标识特征,弥补GNN仅学习结构信息的限制。它可以表征节点配对关系、分类等任务。
进一步的工作包括设计新的结构不变量算子,处理动态图形任务等。标识感知方法为开发更强大GNN奠定基础。
GNN在实践中面临的主要问题是对于输入的波动不敏感。
对图形进行变换后,如边的增加或删除,节点的重新排序,GNN的预测结果可能会大幅改变。
可以通过下列方法提高GNN的鲁棒性:
使用不变量网络结构,如结构感知块。
在训练时加入噪音,如随机删除部分边或重排序节点。
在测试时对榜单节点特征进行微小扰动,检测性能波动。
将结构信息和特征信息分解,在计算图表示时增加随机性。
其他方法还包括增加Dropoute预防过拟合,设计新的组合函数增强模型稳健性等。
提高GNN鲁棒性对于实际应用很重要。未来研究方向包括对动态图形和隐私保护的研究。
当处理大规模图时,图神经网络会面临计算资源和内存限制。
常用的优化策略包括:
分布式训练:将算子实现成支持分布式的形式,利用多GPU/机器加速训练。
随机梯度下降:采用小批量随机梯度下降,抽取子图并并行计算。
图上采样:在训练时动态采样图的子结构,减少计算量。
图特征抽象/负采样:压缩稀疏图,只考虑非零特征和重要边。
针对极大规模动态图还可采用在线学习方法,避免将图全局加载入内存。
未来可以探讨图神经网络加速器的设计,利用硬件提升训练速度。
大规模图学习仍需在内存效率、通信成本等多个维度进行优化,以实现真正规模的应用。
GraphSAGE框架支持大规模图学习。
采用邻居采样来替代全图运算,以加速训练和减少内存消耗。
对每个节点,随机采样相关部分邻居,忽略整体图结构。
采样数量可控制模型复杂度。
通过不同的聚合函数,例如平均、最大池化,来对邻居进行汇总。
在测试时,仍可使用全图信息推理。
采样带来近似计算,但在实验中效果不惜其速度提升明显。
采样思想广泛应用于其他框架,如GraphSAGE升级版本FastGCN也采用。
邻居采样大大减轻了大规模图学习任务的计算难题。
集群图卷积网络Cluster-GCN受GraphSAGE启发。
将大规模图划分为若干重叠子图或者集群。
每个集群使用独立的GCN计算其局部表示。
最后通过集群间的连接,整合各个集群的表示。
以分布式的方式并行处理每个集群子图。
能够很好的支持大规模版本的半监督学习任务。
与全局视角相比,在保持任务效果的同时可以显著提速训练。
类似思路也应用在其他模型设计中,如ASSG来进行大规模特征学习。
集群技术有效利用图结构局部性,对训练大规模图网络提供一种解决方案。
简化GNN结构可以减少参数数量,加速训练速度。
通过参数共享机制,如每个节点共享同一MLPparm,有效降低模型复杂度。
使用更浅层的CNN结构,如单层CNN,替代深层复杂网络。
减少聚合操作规则,如只考虑一跳邻居聚合。
分解复杂任务,将单独子任务训练简单模型实现。
使用更高效基于张量的运算,避免循环操作降低速度。
采样技术简化训练数据,只学习部分重要图结构信息。
通过设计简化后的复合模型,融合上述各种优化技术。
简化GNN可以有效解决大规模学习任务,在保持效果的同时提升训练速度。
生物系统可以通过分子交互网络等方式表示为图结构。
GNN可用于蛋白质结构预测、基因调控网络分析等任务。
通过学习蛋白质接触图,实现 folds 和 domains的预测。
通过合成生物技术设计新的调控网络实现特定功能。
根据蛋白质相互作用图实现功能注释。
利用细胞信号通路图执行细胞分类和癌症诊断。
根据基因调控网络分析病种,辨识重要基因。
学习代谢网络识别新类药物目标,促进新药开发。
GNN在此领域显示出成效,未来通过大数据支撑更有据可循。
许多深度学习任务采用预训练-微调方法取得成功。
针对图数据,可通过自超参数学习任务实现GNN预训练。
一个自超参数任务是预测图中随机遮盖节点的特征。
预训练模型学习整体图结构特征表示能力。
微调阶段加入少量标签数据,fine-tune最后一层,适用于下游任务。
预训练产生的embedding作为图表示,应用于不同领域下游任务。
预训练可采取设计新的预定义任务,如遮盖边预测、基于结构的节点分类等。
预训练涵盖更多公共图特征,微调后即可快速适应新任务。
该方法可能成为GNN模型学习的标准流程,提高模型效果与适用性。
印度非欧clide空间是一种非平面性几何结构,可以很好地嵌入树形结构。
在该空间中,点与点之间的距离随距离增加而缩小,且范围无限大。
这样可以很好表示带有层次结构的图,如社交网络中的用户关系。
对图进行商陋嵌入,将节点映射到实数型的非欧空间来表示结构信息。
嵌入考虑节点之间的弧长以及多跳路径长度。
相比欧式空间,非欧空间下的嵌入效果更佳,可以很好捕获结构特征。
计算更高效率,且支持动态嵌入新节点。
非欧空间嵌入为处理大规模网络提供一种新思路,同时也扩展了图学习的泛化能力。
GNN的设计空间包括消息传递方式、聚合函数和组合顺序等多个方面。
消息传递方式如节点间、边间、高阶等,代表信息交流规律。
聚合函数如平均、最大池化决定邻居贡献的计算方式。
GNN层数和结构决定表示能力,深层Network学习高阶特征。
图卷积机制如按结构展开CNN等不同实现思想。
设计目标函数可以考虑图聚类、节点嵌入等不同需求。
预训练任务和微调策略影响下游应用效果。
未来工作可以系统分类GNN设计要素,探索各种组合效果。
深入理解GNN设计原理有助于不断提升其表现能力。