Graph Pooling in GNN

Preface

The application of GNN/GCN in non-European data has great mining value. Generally, the application of GNN is divided into two types: 1, node classification; 2, graph classification.

Node classification can be used in point cloud segmentation, social network node classification, recommendation algorithms, and so on.

Image classification can be used in pose estimation, protein classification, etc., of course, can also be used in image classification.

For node classification, the graph structure will not change in the forward phase, only the hidden layer attributes of the node will be changed. as follows:

For graph classification, the graph structure will be downsize when it is forwarded , and finally aggregated into a point feature before doing MLP:

The screenshot is from the paper: https://arxiv.org/abs/1901.00596 

The downsize used for graph classification is the protagonist of this article graph pooling . --Finally lead out...


Graph Pooling

The first popular application of GNN/GCN was in Node classification, and then became rich first and then became rich. Graph classification is also being studied by more and more people. Therefore, the research of Graph Pooling started relatively late .

Pooling is a pooling operation. Friends who are familiar with CNN know that Pooling is just downsampling of feature maps. If you are not familiar with CNN, please press ctrl+w. The pooling of the image is very simple, it can be done only by specifying the step size and the pooling type. However, Graph pooling is limited to non-European data structures and cannot be simply operated.

In short, graph pooling is the downsize to rationalize the graph.

There are currently three categories of methods for graph pooling:

1. Hard rule

The hard rule is very simple, because the Graph structure is known, and the pooling nodes can be pre-defined:

As shown in the figure, we pre-defined the [1,2,3,5] node, the [6,7] node and the [4] node are merged to get new a, b, c nodes. This is the pooling method under hard regulations. Better to understand.

2. Graph coarsening

Graph roughening is one of the current mainstream learning pooling methods.

Representative paper: DiffPool

Link to the paper: https://arxiv.org/abs/1806.08804

This method is the trainable version of the hard rule. The nodes are clustered first, and then a super node is synthesized to achieve the pooling effect.

The thought process is probably: soft clustering -> super node -> coarsening

3. Node selection

Node selection is to select some important nodes to replace the original image :

Representative paper: self-attention graph pooling

Link to the paper: https://arxiv.org/pdf/1904.08082.pdf

This self-attention is similar to analyzing the importance of nodes, and the method is similar to the operation of node classification.

Guess you like

Origin blog.csdn.net/leviopku/article/details/106949616
GNN