Semi-Supervised Classification with Graph Convolutional Networks

Thomas N. Kipf, Max Welling

2017 · ICLR

Semi-Supervised Classification with Graph Convolutional Networks

Problem

Framing

Semi-supervised node classification on graphs lacked a simple model that used both node features and graph structure at full-graph scale. The paper closes this gap with a first-order spectral approximation that becomes a two-layer graph convolution and reaches 81.5% on Cora.

Currently Used Methods

Foundational

Proposed Method

Architecture

The model uses a full-batch two-layer GCN on a symmetric graph. Inputs are node features X\mathbf{X}, propagation uses A^=D~1/2A~D~1/2\hat{\mathbf{A}} = \tilde{\mathbf{D}}^{-1/2}\tilde{\mathbf{A}}\tilde{\mathbf{D}}^{-1/2} with A~=A+I\tilde{\mathbf{A}} = \mathbf{A}+\mathbf{I}, and outputs are class probabilities.

Two-panel Figure 1: left, a multi-layer GCN schematic with shared graph edges across layers; right, a t-SNE plot of hidden activations on Cora.

Loss / Objective

The paper trains the two-layer network with supervised cross-entropy on labeled nodes only.

Z=softmax ⁣(A^ReLU ⁣(A^XW(0))W(1))\mathbf{Z} = \mathrm{softmax}\!\left(\hat{\mathbf{A}}\,\mathrm{ReLU}\!\left(\hat{\mathbf{A}}\mathbf{X}\mathbf{W}^{(0)}\right)\mathbf{W}^{(1)}\right) L=lYLf=1FYlflnZlf\mathcal{L} = -\sum_{l \in \mathcal{Y}_L}\sum_{f=1}^{F} Y_{lf} \ln Z_{lf}

Sampling Rule / Algorithm

Each layer applies the renormalized neighborhood mixing rule.

H(l+1)=σ ⁣(A^H(l)W(l)),A^=D~1/2A~D~1/2,A~=A+I\mathbf{H}^{(l+1)} = \sigma\!\left(\hat{\mathbf{A}}\mathbf{H}^{(l)}\mathbf{W}^{(l)}\right), \qquad \hat{\mathbf{A}} = \tilde{\mathbf{D}}^{-1/2}\tilde{\mathbf{A}}\tilde{\mathbf{D}}^{-1/2}, \qquad \tilde{\mathbf{A}} = \mathbf{A}+\mathbf{I}

Training Procedure

Evaluation

Datasets

Metrics

Headline results

Ablations

Table 1: Dataset statistics used in the main experiments.

DatasetTypeNodesEdgesClassesFeaturesLabel rate
CiteseerCitation network3,3274,73263,7030.036
CoraCitation network2,7085,42971,4330.052
PubmedCitation network19,71744,33835000.003
NELLKnowledge graph65,755266,1442105,4140.001

Bar chart of wall-clock time per epoch versus graph size, comparing GPU and CPU implementations; the largest CPU case reaches seconds-per-epoch scale and one GPU case hits out-of-memory.

Method Strengths and Weaknesses

Strengths

Weaknesses

Suggestions from the authors

Links

Prior Papers

No prior vault papers identified yet.

Further Papers