Contenu du post
Self-supervised learning of GNNs Self-supervised learning (SSL) is a paradigm of learning when we have large amounts unlabeled data and we want to get representation of the input which we can use later for the downstream tasks. The difference between unsupervised and self-supervised learning is that unsupervised learning attempts to learn a representation on a single input, while SSL assumes there is a model trained across several inputs. Examples of unsupervised learning on graphs is graph kernels that boil down to counting some statistics on graphs (e.g. motifs) which would represent a graph. Examples of SSL is when you first create multiple views of the same graph (e.g. by permuting the edges) and then train a model to distinguish views of different graphs. DeepWalk, node2vec and other pre-GNN node embeddings are somewhere in between: they are usually applied to a single graph, but the concept could be well applied to learning representations on many graphs as well. There is a recent boom in this area for graphs, so there are some fresh surveys available (here and here) as well as the awesome list of SSL-GNNs.