Definition

Graph convolutional network (GCN) is a CNN operating on Graph-structured data which takes two inputs: node features and its Adjacency Matrix . GCN learns hidden layer vectors that encode both node features and local graph structures on a fixed graph.
GCN Layer
The GCN layer Is a function of node feature and adjacency matrix. where:
- is the node feature matrix at layer , is the node features.
- is the Adjacency Matrix of the graph
- is the learnable weight matrix for layer It works similar to the filter in CNN with channel size. It is shared across all nodes and independent on the graph size.
- is a non-linear Activation Function
Normalized GCN Layer
To increase numerical stability by enforcing self-loop, the Adjacency Matrix is transformed by adding an identity matrix and normalizing with the Degree Matrix . where
GCN Layer With Self-Transform Term
In some scenario, the self transformation term is added to the GCN layer to help preserve node-specific information where is the learnable self-transformation matrix for layer
GCN Layer With Skip Connection
The skip connection can ease over-smoothing problem.
Neighborhood-Based approach
where is the neighbors of the node .
The aggregation function could be a mean, sum, or max operation:
Facts
The output of a GCN is permutation invariant: invariant to the ordering of nodes in the input graph. The output of each layer in a GCN is permutation equivalent: equivalent to the permutation of nodes in the input graph.