Graph Representation Learning学习笔记-chapter6

Chapter6 Graph Neural Networks in Practice

讨论应用、优化问题、损失函数和正则化的使用

6.1 Applications and Loss Functions

GNNs的主要应用:

  • node classification 节点分类
    • 如预测用户是否为机器人
  • graph classification 图分类
    • 如基于分子结构的性质预测
  • relation prediction 关系预测
    • 如线上平台的内容推荐

参数:

  • z u z_u zu:最后一层GNN的节点嵌入
  • z G z_G zG:通过池化函数产生的graph-level嵌入

6.1.1 GNNs for Node Classification

全监督的形式训练GNNs

  • 用softmax classification和negative log-likelihood loss来定义损失函数

请添加图片描述

- $Y_u$:one-hot vector
    - 指示训练节点u的类别
- softmax($Z_u,Y_u$):节点u属于类别$Y_u$的预测的可能性

请添加图片描述

    - $w_i$:可训练的参数

训练节点:消息传递中包含的节点同时也被用来计算损失
转换测试节点:一些节点没有标签,虽然会被用于消息传递时生成hidden representation,但输出的最后一层嵌入中这些节点不会用于损失函数的计算
归纳测试节点:既不用于消息传递也不用于损失函数

6.1.2 GNNs for Graph Classification

方法1:softmax classification loss

  • 不同点在于该损失是通过标签好的图的graph-level嵌入计算的

方法2:squared-error loss

请添加图片描述

  • MLP:具有单变量输出的密连接神经网络
  • y G i yG_i yGi:训练图 G i G_i Gi的目标值

6.1.3 GNNs for Relation Prediction

方法:采用Chapter3&4里面的pairwise node embedding loss functions

6.1.4 Pre-training GNNs

如对节点分类的损失微调之前,预先训练GNN来重建缺失的边

在GNN中,由于消息传递过程以及很好地encode邻居信息,所以pre-training的效果不佳,但是在DGI中表现很好

Pre-training损失函数:让GNN模型可以学习生成能够区分真实的图和它的损坏部分的节点嵌入??

6.2 Efficiency Concerns and Node Sampling

node-level消息传递方程如果直接实现在计算上很低效(因为很多节点会有共同邻居)

6.2.1 Graph-level Implementations

基本思想:基于稀疏矩阵乘法来实现消息传递操作

请添加图片描述

  • H ( k ) H^{(k)} H(k):包含了k层图中所有节点的嵌入的矩阵
  • 优点:没有冗余计算
  • 缺点:
    • 需要对整个图和所有节点特征进行操作,会占用很大的内存
    • 限制了one to full-batch gradient descent

6.2.2 Subsampling and Mini-Batching

为了限制内存占用和方便mini-batch training,可以采用节点的子集来进行消息传递。

  • 在图中每个patch的子集上计算node-level GNN equation
  • 挑战:
    • 不能只跑每个子集的消息传递而不计算损失
    • 每次移除一个节点,需要同时移除对应的边,不能保证选择的随机子集能构成一个连通的图
    • 为每个mini-batch选择随机子集不利于模型的性能
  • 解决方式:subsampling node neighborhoods
    • 基本思想:首先为一个batch选择目标节点集合,然后递归地采样这些集合的邻居来确保图的连通性

6.3 Parameter Sharing and Regularization

GNN正则化方法

  • 标准正则化方法
    • L2 Regularization
    • dropout
    • layer normalization
  • 针对GNN的正则化方法
    • Parameter Sharing Across Layers
      • 在GNN的所有AGGREGATE和UPDATE方法上使用相同的参数
      • 对于大于6层的GNN最有效
    • Edge Dropout
      • 在训练过程中随机丢弃邻接矩阵中的边
        • 使GNN不容易过拟合
        • 增加GNN对于邻接矩阵中的噪音的鲁棒性
      • 适合知识图谱和GAT
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 图表示学习是一种机器学习技术,旨在将图形数据转换为低维向量表示,以便于计算机进行处理和分析。这种技术可以应用于各种领域,如社交网络分析、生物信息学、推荐系统等。通过图表示学习,可以更好地理解和分析图形数据,从而提高数据处理和应用的效率。 ### 回答2: 图表示学习是一种机器学习的方法,用于学习和提取图结构中的有用信息和特征。图表示学习的目标是将图中的节点和边转化为向量表达,从而实现对图结构的分析和预测。 图表示学习可以应用于各种各样的领域,如社交网络分析、生物信息学、推荐系统等。通过学习图中节点的向量表达,我们可以对节点进行聚类、分类、推荐等任务。同时,图表示学习还可以揭示图结构中的隐藏关系和模式,帮助我们理解和挖掘图中的信息。 图表示学习有多种方法和技术。其中一种常用的方法是基于图的随机游走。通过模拟随机游走的过程,我们可以收集节点的邻居信息,并根据节点的邻居关系来学习节点的向量表达。还有一种常用的方法是基于图的图卷积网络。这种方法利用图结构的局部连接性来学习节点的向量表达,通过多层图卷积网络可以逐步提取节点的更高级别的特征。 图表示学习在图挖掘和数据分析领域具有广泛的应用和研究价值。它可以帮助我们理解和解释复杂的图结构,从而更好地处理和分析图数据。同时,图表示学习还能够应对大规模和高维度的图数据,提高计算效率和准确性。未来,我们可以进一步研究和发展图表示学习的方法和技术,以应对图数据分析的挑战。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值