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

  • 相关阅读:
    dp学习笔记1
    hdu 4474
    hdu 1158(很好的一道dp题)
    dp学习笔记3
    dp学习笔记2
    hdu 4520+hdu 4522+hdu 4524(3月24号Tencent)
    hdu 1025(最长非递减子序列的n*log(n)求法)
    hdu 2063+hdu 1083(最大匹配数)
    hdu 1023
    《 Elementary Methods in Number Theory 》Exercise 1.3.12
  • 原文地址:https://www.cnblogs.com/shona/p/13794900.html
Copyright © 2011-2022 走看看