Models of Cogdl

Introduction to graph representation learning

Inspired by recent trends of representation learning on computer vision and natural language processing, graph representation learning is proposed as an efficient technique to address this issue. Graph representation aims at either learning low-dimensional continuous vectors for vertices/graphs while preserving intrinsic graph properties, or using graph encoders to an end-to-end training.

Recently, graph neural networks (GNNs) have been proposed and have achieved impressive performance in semi-supervised representation learning. Graph Convolution Networks (GCNs) proposes a convolutional architecture via a localized first-order approximation of spectral graph convolutions. GraphSAGE is a general inductive framework that leverages node features to generate node embeddings for previously unseen samples. Graph Attention Networks (GATs) utilizes the multi-head self-attention mechanism and enables (implicitly) specifying different weights to different nodes in a neighborhood.

CogDL now supports the following tasks

  • unsupervised node classification

  • semi-supervised node classification

  • heterogeneous node classification

  • link prediction

  • multiplex link prediction

  • unsupervised graph classification

  • supervised graph classification

  • graph pre-training

  • attributed graph clustering

CogDL provides abundant of common benchmark datasets and GNN models. You can simply start a running using models and datasets in CogDL.

from cogdl import experiment
experiment(model="gcn", dataset="cora")

Unsupervised Multi-label Node Classification

Model

Name in Cogdl

NetMF (Qiu et al, WSDM’18)

netmf

ProNE (Zhang et al, IJCAI’19)

prone

NetSMF (Qiu et at, WWW’19)

netsmf

Node2vec (Grover et al, KDD’16)

node2vec

LINE (Tang et al, WWW’15)

line

DeepWalk (Perozzi et al, KDD’14)

deepwalk

Spectral (Tang et al, Data Min Knowl Disc (2011))

spectral

Hope (Ou et al, KDD’16)

hope

GraRep (Cao et al, CIKM’15)

grarep

Semi-Supervised Node Classification with Attributes

Model

Name in Cogdl

Grand(Feng et al.,NLPS’20)

grand

GCNII(Chen et al.,ICML’20)

gcnii

DR-GAT (Zou et al., 2019)

drgat

MVGRL (Hassani et al., KDD’20)

mvgrl

APPNP (Klicpera et al., ICLR’19)

ppnp

GAT (Veličković et al., ICLR’18)

gat

GDC_GCN (Klicpera et al., NeurIPS’19)

gdc_gcn

DropEdge (Rong et al., ICLR’20)

dropedge_gcn

GCN (Kipf et al., ICLR’17)

gcn

DGI (Veličković et al., ICLR’19)

dgi

GraphSAGE (Hamilton et al., NeurIPS’17)

graphsage

GraphSAGE (unsup)(Hamilton et al., NeurIPS’17)

unsup_graphsage

MixHop (Abu-El-Haija et al., ICML’19)

mixhop

Multiplex Node Classification

Model

Name in Cogdl

Simple-HGN (Lv and Ding et al, KDD’21)

simple-hgn

GTN (Yun et al, NeurIPS’19)

gtn

HAN (Xiao et al, WWW’19)

han

GCC (Qiu et al, KDD’20)

gcc

PTE (Tang et al, KDD’15)

pte

Metapath2vec (Dong et al, KDD’17)

metapath2vec

Hin2vec (Fu et al, CIKM’17)

hin2vec

Knowledge graph completion

Model

Name in Cogdl

CompGCN (Vashishth et al, ICLR’20)

compgcn

Graph Classification

Model

Name in Cogdl

GIN (Xu et al, ICLR’19)

gin

Infograph (Sun et al, ICLR’20)

infograph

DiffPool (Ying et al, NeuIPS’18)

diffpool

SortPool (Zhang et al, AAAI’18)

softpool

Graph2Vec (Narayanan et al, CoRR’17)

graph2vec

PATCH_SAN (Niepert et al, ICML’16)

patchy_san

DGK (Yanardag et al, KDD’15)

dgk

Attributed graph clustering

Model

Name in Cogdl

AGC (Zhang et al, IJCAI 19)

agc

DAEGC (Wang et al, ICLR’20)

daegc