zoukankan      html  css  js  c++  java
  • GNN Visualization

    Introduction

    There are some traditional method for visualizing GNN and explanation system for it. But there is no specific visualization method for GNN. Based on the difference between GNN and other neural networks, there should be a specific method for GNN visualization.

    Background

    Machine learning task for graphs:

      node classification

      link prediction

      graph classification

    Here is a classical GNN model for node classification.

    Here is a classical GNN model for graph classification.

    Aims of visualization is to better understand how GNN helps to solve the tasks. So when doing visualization, they need to be dealed with separately. 

    Graph Neural Network

    Similar to Convolutional Neural Network, GNN also learns the weights for every features and sum them. The difference is that GNN aggregate from local neighbor rather than two-dimensional matrix. For multi-layer GNN, it can gradually learn more abstract features with the increasement of layers. It can be represented as:

     

    where W is the learning weight, A is adjacency matrix, H is hidden layer embeddings and σ is the activation function.  

    We can also transform the learning processes into three parts: Transform, Aggregate and Update. All the variants of GNN consist of these three parts.

    Transform:

      Transform the current node features to new features, usually using weights (HW)

    Aggregate:

      Aggregate information from neighborhood and calculates an aggregated message via an aggregation method

    Update:

      Update the representation of l layer from l-1 layer non-linearly.

    Here is a figure for GNN family.

    Classical Neural Network Visualization Method

    From the perspective of interpretability:

      simple proxy models of full neural networks

        linear models or sets of rules

        model-agnostic way

      identify important aspects of the computation

        feature gradients

        backpropagation of neurons’ contributions

        counterfactual reasoning

      attention mechanisms like GAT learned

        edge attention values can indicate important graph structure, the values are the same for predictions across all nodes.

    From the perspective of concrete technique:

      Representation plotting (direct plotting, t-SNE)

      Saliency map

      Variance and average

      Decomposition

      Attention

      ... ...

    Graph Neural Network Visualization

    1) saliency map

    Here we first uses saliency map to visualize GNN. We uses 

    Datasets

    Cora 

    The Cora dataset consists of 2708 scientific publications classified into one of seven classes. The citation network consists of 5429 links. Each publication in the dataset is described by a 0/1-valued word vector indicating the absence/presence of the corresponding word from the dictionary. The dictionary consists of 1433 unique words.

    For visualization task, it will be an important problem to visualize the 1433 dimensions. So the dimension selection will be a key point. 

    https://relational.fit.cvut.cz/dataset/CORA

    Reference

    Paper Reference:

    https://cs.stanford.edu/people/jure/pubs/gnnexplainer-neurips19.pdf (GNNExplainer)

    https://arxiv.org/pdf/1812.00279.pdf   (knowledge graph)

    http://openaccess.thecvf.com/content_CVPR_2019/papers/Pope_Explainability_Methods_for_Graph_Convolutional_Neural_Networks_CVPR_2019_paper.pdf    ( computer vision)

    https://arxiv.org/pdf/1807.03404.pdf (Materials Science)

    https://graphreason.github.io/papers/25.pdf (2019ICML workshop)

    https://arxiv.org/abs/1903.03768(unpublished)

    https://arxiv.org/pdf/1710.10903.pdf (GAT)

    Code Reference:

    https://github.com/rusty1s/pytorch_geometric

    https://github.com/baldassarreFe/graph-network-explainability

    https://github.com/RexYing/gnn-model-explainer

    Blog Reference:

  • 相关阅读:
    KNN算法
    mysql必须知道的
    励志的演讲
    30条程序员名言警句
    别人的文章:为什么软件开发,人多,事少,还会工作量大?
    分享一个比较受启发的文章“学历代表过去,能力代表现在,学习力代表未来”
    mvc 学前必知
    启动docker容器 防火墙问题报错 ! -i docker0' failed: iptables: No chain/target/match by that name.
    git指令详解总结
    git reset 版本回退的三种用法总结
  • 原文地址:https://www.cnblogs.com/sbj123456789/p/12817144.html
Copyright © 2011-2022 走看看