GNN等优缺点总结及解决方案

https://www.zhihu.com/question/338051122
https://www.zhihu.com/question/346942899
https://zhuanlan.zhihu.com/p/291230435

  1. GCN的缺点在于它灵活性差transductive,并且扩展性非常差,除此之外这篇论文借助验证集来早停帮助性能提升,跟它半监督学习的初衷有点相悖。训练是full-batch的,难以扩展到大规模网络,并且收敛较慢
  2. GraphSage论文旨在提升gcn扩展性和改进训练方法缺陷。它将模型目标定于学习一个聚合器而不是为每个节点学习到一个表示,这中思想可以提升模型的灵活性和泛化能力。除此之外,得益于灵活性,它可以分批训练提升收敛速度。但是它的问题是因为节点采样个数随层数指数增长,会造成模型在time per batch上表现很差,弱于GCN,这方面的详细讨论可以参考Cluster-GCN这篇论文。虽然支持mini-batch方式训练,但是训练较慢,固定邻居数目的node-wise采样,精度和效率较低。
  3. GAT这篇论文创新之处是加入attention机制,给节点之间的边给予重要性,帮助模型学习结构信息。相对的缺点就是训练方式不是很好,其实这个模型可以进一步改,用attention做排序来选取采样节点,这样效果和效率方面应该会有提升。参数量比GCN多,也是full-batch训练;只用到1-hop的邻居,没有利用高阶邻居,当利用2阶以上邻居,容易发生过度平滑(over-smoothing)

Problem:

  1. Why? gcn增加深度会降低模型效果
  • 数据集太小,overfitting的问题,在一些数据上training acc为100%的大概率是这个问题,需要通过防止过拟合的技术来解决

  • vanishing gradient,这是CNN里一样存在的问题,当层数太深导致网络的参数不能得到有效的训练。这个问题可以加skip connections可以有效解决

  • over smoothing同一个连通分量里的节点会收敛的一个值,一个解决的方法是通过有效地改变图的结构或卷积的领接节点来解决。比如在点云里用动态knn/dilation来建边,但在其他图数据,这个方法会丢失边的信息。

  • 主要解决方案:skip-connection: 残差网络

    • DeepGCNs: Can GCNs Gobas Deep as CNNs?
      • 这篇论文主要讨论了GCN的深度问题,文中用了ResGCN,DenseGCN和Dilation等方法,最后效果比较明显。网络层数可以达到56层,并且有3.7个点的提升。
    • Deep insights into Graph Convolution Networks for Semi-supervised Learning
      • 这篇论文只看前面对于过度平滑的分析即可。
    • Representation learning on graphs with jumping knowledge networks
      • 这篇论文建立一个相对比较深的网络,在网络的最后当一个层聚合器来从所有层的输出中进行选择,来抑制noise information的问题。

PS: 即便使用了残差连接,GCN也不可能做的太深,基本就是3-5层左右的样子。
- 这是因为GCN可以被看作低通滤波器,叠加低通滤波器具有明显的过度平滑现象。如果想要做的更深,可以考虑一下DropEdge的方法,通过在训练过程中随机扔掉一些边来缓解过度平滑的现象,这种方法最近被证明是有效的。
- 修正:在采用了BN层和residual连接时,gcn可以做很深。

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Transformer和图神经网络(GNN)各有其优势和局限性,具体分析如下: **优势**: - **图神经网络 (GNN)**:专门设计用于处理图结构数据,如社交网络、知识图谱、分子结构等,能够有效捕捉关键的结构信息。GNN通过图卷积的方式在节点的局部邻域内传递信息,能够很好地捕捉图结构中的局部模式和节点间的相互关系。 - **Transformer**:具有全局感受野(global receptive field),能够一次性关注到序列中的所有位置,这在处理长距离依赖问题时特别有效。Transformer通过自注意力机制(self-attention)计算输入序列中所有位置之间的相关性,这使得它在处理序列数据时非常强大。 **局限性**: - **图神经网络 (GNN)**:传统的GNN在信息传播过程中可能会受到邻居数量的限制,导致感受野较小,难以捕捉远距离的节点间关系。此外,GNN在处理非欧几里得数据时表现不如Transformer灵活。 - **Transformer**:需要显式地编码位置信息,这对于图数据来说可能是一个挑战,因为图结构的数据通常没有固定的顺序。虽然Transformer可以看作是GNN的一种特例,但它并不是专门为图数据设计的,因此在处理图结构数据时可能不如GNN直观和高效。 综上所述,GNN在处理图结构数据方面更为专业,而Transformer在处理序列数据和全局依赖关系方面更为出色。在选择模型时,应根据具体的应用场景和数据类型来决定使用哪种模型或者考虑将两者结合以发挥各自的优势。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值