zoukankan      html  css  js  c++  java
  • Notes | 图神经网络

    课程链接

    Motivation

    输入是图:

    考虑结构和关系信息。

    如何在图结构中做Convolution?

    Spatial-based GNN

    Aggregate:用neighbor feature update下一层的hidden state

    Readout:把所有nodes的feature集合起来代表整个graph

    NN4G (Neural Networks for Graph)

     

    输出:

     

    每一层的结果取平均后再相加。

    DCNN (Diffusion-Convolution Neural Network)

    d为距离(图中表示的是到节点3的距离)

    第 i 层,找到距离为i的节点的特征取mean,再乘上权重。

    每个节点的表示,由k个这样的层组成:

    concat 之后, 乘以权重得到输出。

    DGC (Diffusion Graph Convolution)

    和上一篇类似,得到的输出是直接相加:

    MoNET (Mixture Model Networks)

    无脑相加 -> 给一个权重的定义:重新定义距离,用定义的距离做weight,再进行sum 或 mean。

     

    GraphSAGE

    对邻居feature的处理方式:

    mean

    max-pooling

    LSTM(把邻居节点喂给LSTM,output是hidden state,每次update时,随便sample一个邻居节点的顺序来消除LSTM对顺序的关注)

    GAT (Graph Attention Networks)

    对邻居做attention。

    节点特征:

    计算energy(weight):

    计算attention分数:

    每个节点的feature = sum{ 所有邻居节点 * 邻居节点各自的energy(attention weight) }

    GIN (Graph Isomorphism Network)

    自己的feature + sum(邻居features)

    用sum,不用mean或max pooling,区别不同形态的图:

    资源

    GNN库: Deep Graph Library dgl.ai

  • 相关阅读:
    2018-5-30 总结
    【数据结构系列】线段树(Segment Tree)
    Google Summer of Code 2017 经验谈
    二分查找
    Binary Indexed Tree
    Github-flavored Markdown 导出为 PDF
    Programming Languages
    Select 选择算法
    取样算法
    HTTP Status 500-Servlet.init() for servlet [springmvc] threw exception解决办法
  • 原文地址:https://www.cnblogs.com/shona/p/13794900.html
Copyright © 2011-2022 走看看