图学习GNN笔记

第一部分:预测分析中的图学习

4.3 案例研究:图上的学习
  • 为什么是网络?

    • 网络是描述和建模复杂系统的通用语言。
    • 许多数据本质上就是网络,例如社交网络、经济网络、生物医学网络和信息网络。
    • 网络在不同领域之间的共通性,如计算机科学、社会科学、物理学、经济学、统计学和生物学。
    • 数据可用性增加,计算挑战也随之增加。
  • 机器学习与网络

    • 网络中的经典机器学习任务包括节点分类、链接预测、社区检测和网络相似性度量。
机器学习生命周期
  • 从原始数据到结构化数据,再到学习模型,最后到自动预测任务。

第二部分:图特征学习

特征表示与嵌入
  • 目标是为机器学习任务高效地学习图网络中节点的独立特征。
  • 例如,Zachary的空手道俱乐部网络,输入是网络结构,输出是节点的特征表示。
为什么难以学习?
  • 现代深度学习工具箱主要设计用于简单序列或网格。
  • 网络结构更加复杂,没有固定的节点排序或参考点,通常是动态的,并且具有多模态特征。

第三部分:节点嵌入

嵌入节点
  • 直觉是找到节点在d维空间中的嵌入,使得图中“相似”的节点在嵌入空间中彼此接近。
设置
  • 假设我们有一个图G,V是顶点集,A是邻接矩阵。
  • 目标是编码节点,使得嵌入空间中的相似性(例如,点积)近似于原始网络中的相似性。
学习节点嵌入
  1. 定义一个编码器(即从节点到嵌入的映射)。
  2. 定义一个节点相似性函数(即在原始网络中的相似性度量)。
  3. 优化编码器的参数。
浅层编码
  • 最简单的编码方法是编码查找,每个节点被分配一个独特的嵌入向量。
如何定义节点相似性?
  • 关键区别在于“浅层”方法如何定义节点相似性。

第四部分:随机游走方法

随机游走嵌入
  • 估计在随机游走中节点u和v共同出现的概率,并优化嵌入以编码这些随机游走统计数据。
为什么随机游走?
  • 表达性:灵活的随机定义节点相似性,结合了局部和高阶邻域信息。
  • 效率:不需要在训练时考虑所有节点对,只需要考虑在随机游走中共同出现的节点对。
随机游走优化
  • 从每个节点开始运行短随机游走,并收集在随机游走中访问的节点集合。
  • 优化嵌入以最大化随机游走共同出现的概率。
负采样
  • 解决方法是负采样,即不是针对所有节点进行归一化,而是只针对k个随机的“负样本”进行归一化。

数学公式解释

  1. 相似性度量
    [
    \text{similarity}(u, v) \approx \mathbf{z}_u \cdot \mathbf{z}_v
    ]
    这里,(\mathbf{z}_u) 和 (\mathbf{z}_v) 分别是节点u和v的嵌入向量,点积表示它们在嵌入空间中的相似性。

  2. 随机游走优化
    L = − ∑ u ∈ V , v ∈ N R ( u ) log ⁡ P ( v ∣ z u ) \mathcal{L} = -\sum_{u \in \mathcal{V}, v \in \mathcal{N}_R(u)} \log P(v | \mathbf{z}_u) L=uV,vNR(u)logP(vzu)
    这里, P ( v ∣ z u ) P(v | \mathbf{z}_u) P(vzu)是给定节点u的嵌入向量,预测节点v出现的概率。

  3. 负采样
    log ⁡ ( σ ( z u ⋅ z v ) ) → log ⁡ ( σ ( z u ⋅ z v + ) ) − ∑ i = 1 k log ⁡ ( σ ( z u ⋅ z v i − ) ) \log(\sigma(\mathbf{z}_u \cdot \mathbf{z}_v)) \rightarrow \log(\sigma(\mathbf{z}_u \cdot \mathbf{z}_v^+)) - \sum_{i=1}^k \log(\sigma(\mathbf{z}_u \cdot \mathbf{z}_{v_i}^-)) log(σ(zuzv))log(σ(zuzv+))i=1klog(σ(zuzvi))
    这里, z v + \mathbf{z}_v^+ zv+ 是正样本, z v i − \mathbf{z}_{v_i}^- zvi 是负样本, σ \sigma σ 是sigmoid函数。

第五部分:图神经网络

图神经网络基础
  • 图神经网络(GNNs)基于局部邻域聚合的思想,其中节点基于其邻居的信息更新自己的嵌入。
邻域聚合
  • 核心思想是节点从其邻居那里聚合信息,并使用神经网络进行处理。
训练模型
  • 定义一个损失函数在嵌入上, ( L ( z u ) ) ( L(\mathbf{z}_u) ) (L(zu)) ,并使用随机梯度下降来训练聚合参数。
归纳能力
  • GNNs共享相同的聚合参数,并且能够泛化到未见过的节点。

第六部分:图卷积网络(GCNs)

GCNs 基础
  • GCNs是邻域聚合思想的变体,其中节点使用相同的变换矩阵来更新自己和邻居的嵌入。
批量实现
  • GCNs可以高效地使用稀疏批次操作实现,具有 ( O ( ∣ E ∣ ) ) ( O(|\mathcal{E}|) ) (O(E)) 的时间复杂度。

第七部分:GraphSAGE

GraphSAGE 思想
  • GraphSAGE提出了一种更一般化的邻居聚合方法,允许使用任何可微函数来聚合邻居向量。
GraphSAGE 变体
  • 包括均值(Mean)和池化(Pool)等不同的聚合函数,以及LSTM等更复杂的聚合模型。

第八部分:门控图神经网络

门控图神经网络
  • 为了构建多层的邻域聚合模型,门控图神经网络借鉴了现代循环神经网络的技术。
数学表达
  • 使用门控循环单元(GRU)来更新节点状态:
    h k = GRU ( h k − 1 , AGG ( h k − 1 , N ( u ) ) ) \mathbf{h}_k = \text{GRU}(\mathbf{h}_{k-1}, \text{AGG}(\mathbf{h}_{k-1}, \mathbf{N}(\mathbf{u}))) hk=GRU(hk1,AGG(hk1,N(u)))
    其中,(\text{AGG})是聚合函数,(\mathbf{N}(\mathbf{u}))是节点u的邻居集合。

第九部分:子图嵌入

子图嵌入
  • 除了节点级别的嵌入,还可以考虑子图嵌入,例如通过求和或平均节点嵌入,或者引入一个“虚拟节点”来代表整个子图。

第十部分:应用

推荐系统
  • 使用GraphSAGE为基础的模型在Pinterest上向数百万用户推荐内容。
计算生物学
  • 使用图神经网络预测多药物副作用。
实践洞察
  • 提供代码库和框架,以及未来发展方向。

数学公式解释(续)

  1. GCNs的聚合步骤
    h ( k ) = σ ( W k h ( k − 1 ) + b k ) \mathbf{h}^{(k)} = \sigma(\mathbf{W}^k \mathbf{h}^{(k-1)} + \mathbf{b}^k) h(k)=σ(Wkh(k1)+bk)
    其中,(\mathbf{h}{(k)})是第k层的节点嵌入,(\mathbf{W}k)和(\mathbf{b}^k)是可学习的权重和偏置。

  2. GraphSAGE的聚合函数
    h v ( k ) = AGG ( { h u ( k − 1 ) , u ∈ N ( v ) } ) \mathbf{h}_v^{(k)} = \text{AGG}\left(\left\{\mathbf{h}_u^{(k-1)}, u \in \mathcal{N}(v)\right\}\right) hv(k)=AGG({hu(k1),uN(v)})
    h v ( k ) = W k [ h v ( k − 1 ) , AGG ( h u ( k − 1 ) ) ] \mathbf{h}_v^{(k)} = \mathbf{W}^k \left[\mathbf{h}_v^{(k-1)}, \text{AGG}(\mathbf{h}_u^{(k-1)})\right] hv(k)=Wk[hv(k1),AGG(hu(k1))]
    这里,(\text{AGG})是一个聚合函数,可以是均值、池化或LSTM等。

  3. 门控图神经网络的更新
    h k = GRU ( h k − 1 , W h k − 1 A ) \mathbf{h}_k = \text{GRU}(\mathbf{h}_{k-1}, \mathbf{W} \mathbf{h}_{k-1} \mathbf{A}) hk=GRU(hk1,Whk1A)
    这里,(\mathbf{A})是邻接矩阵,(\mathbf{W})是变换矩阵。

这些公式和方法展示了图神经网络在实际应用中的广泛性和有效性,以及如何通过这些技术来解决复杂的推荐和生物信息学问题。

第十一部分:图神经网络的实际应用案例

Pinterest推荐系统(RW-GCNs)
  • RW-GCNs:利用随机游走和图卷积网络(Graph Convolutional Networks)来构建一个大规模的推荐系统,用于向Pinterest上的数百万用户提供个性化推荐。
随机游走和邻居采样
  • 通过随机游走来近似节点的PageRank得分,从而采样得到每个节点的邻居节点。
  • 这种方法可以有效地为高阶节点找到最相关的节点(项目)。
生产者-消费者训练流程
  • 选择一批pins(内容),运行随机游走,构建它们的计算图,进行多层聚合,然后在GPU上进行损失计算和反向传播。
课程学习
  • 通过逐渐增加更难的负样本来提高训练的效果。
MapReduce推理
  • 通过共享计算来避免在推理时重复计算,从而高效地推断出在训练期间未见过的节点的表示。
RW-GCN性能
  • 与标准GraphSAGE模型相比,推荐质量提高了72%。
Decagon:多药物副作用预测
  • Decagon:使用图卷积网络来预测多药物副作用。
数据:异构图
  • 结合药物、基因和患者数据,构建一个包含药物-基因相互作用和药物副作用的异构图。
神经网络架构:编码器
  • 输入图和额外的节点特征,输出节点嵌入。
边缘预测
  • 给定查询药物对及其嵌入,预测候选的多药物副作用。
实验设置
  • 使用分子数据(蛋白质-蛋白质相互作用和药物靶标关系)和患者数据(个体药物副作用,药物组合的多药物副作用)来训练模型。
预测性能
  • Decagon在AUROC、AUPRC和AP@50等指标上相较于基线模型有显著提升。

第十二部分:实用洞察和未来方向

图SAGE TensorFlow示例
  • 展示了如何使用GraphSAGE进行监督节点分类任务的关键步骤,包括预处理网络和训练数据,以及运行GraphSAGE。
未来方向
  • 子图嵌入:探索更好的池化策略,处理大规模图,学习“粗化”表示。
  • 动态图:预测图的演化,异常检测(例如,欺诈)。
  • 组合应用:通过图嵌入实现高效的SAT求解器,学习条款和文字的嵌入。
  • 强化学习:允许代理使用节点嵌入信息来做出决策。

数学公式解释(续)

  1. RW-GCNs的损失函数
    L = max ⁡ ( 0 , margin − pair similarity ) \mathcal{L} = \max(0, \text{margin} - \text{pair similarity}) L=max(0,marginpair similarity)
    其中,pair similarity是用户日志中连续点击的pins的嵌入相似度,margin是一个超参数。

  2. Decagon的预测性能指标

    • AUROC:Area Under the Receiver Operating Characteristic curve,接收者操作特征曲线下的面积。
    • AUPRC:Area Under the Precision-Recall Curve,精确率-召回率曲线下的面积。
    • AP@50:Average Precision at top 50 predictions,前50个预测的平均精确率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值