DYNAMIC SELF-TRAINING FRAMEWORK  FOR GRAPH CONVOLUTIONAL NETWORKS

1 INTRODUCTION . Graphs or networks can be used to model any interactions between entities such as social interactions ( Facebook , Twitter ) , biological networks ( protein-protein interaction ) , and citation networks . There has been an increasing research interest in deep learning on graph structured data , e.g. , ( Bruna et al. , 2014 ; Defferrard et al. , 2016 ; Monti et al. , 2017 ; Kipf & Welling , 2017 ; Hamilton et al. , 2017 ; Velickovic et al. , 2018 ; Tang et al. , 2015 ; Perozzi et al. , 2014 ) . Semi-supervised node classification on graphs is a fundamental learning task with many applications . Classic methods rely on some underly diffusion process to propagate label information . Recently , network embedding approaches have demonstrate outstanding performance on node classification ( Tang et al. , 2015 ; Grover & Leskovec , 2016 ; Bojchevski & Günnemann , 2018 ) . This approach first learns a lower-dimensional embedding for each node in an unsupervised manner , and then the embeddings are used to train a supervised classifier for node classification , e.g. , logistic regression or multi-layer perceptron ( MLP ) . Graph neural networks ( GNN ) are semi-supervised models and have achieved state-of-the-art performance on many benchmark data sets ( Monti et al. , 2017 ; Kipf & Welling , 2017 ; Velickovic et al. , 2018 ) . GNNs generalize convolution to graph structured data and typically have a clear advantage when the number of training examples is reasonably large . However , when there are very few labeled nodes , GNNs is outperformed by embedding based method ( as shown by our experimental results ) , e.g. , G2G from ( Bojchevski & Günnemann , 2018 ) and DGI from ( Veličković et al. , 2019 ) . To overcome this limitation of GCNs ( Kipf & Welling , 2017 ) , Li et al . ( Li et al. , 2018 ) propose to apply self-training and co-training techniques ( Scudder , 1965 ) . The idea of these techniques is to augment the original training set by adding in some unlabeled examples together with their label predictions . Such “ pseudo-label ” information is either from the base model trained on the original training set ( self-training ) or another learning algorithm ( co-training ) . The results from ( Li et al. , 2018 ) demonstrate the effectiveness of co-training and self-training . However , among the four variants implemented in ( Li et al. , 2018 ) , there is not a single one that achieves the best performance across different settings ; and from our experiments , G2G and DGI outperforms all the four variants when the number of labels from each class is less than 10 . There are clear restrictions in prior self-training approaches . First , the pseudo-label set is incremental only , i.e. , after an unlabeled example is added to the training set , it will never be deleted and its pseudo-label will never change even if its prediction and/or the corresponding margin has changed drastically . Secondly , all the pseudo-labels are considered equal , although they may have very different classification margins . Furthermore , it introduces extra hyper-parameters such as the number of unlabeled nodes to be added into the training set and the total number of self-training iterations . The performance gain is sensitive to such parameters and their optimal values may differ for different data sets and label rates ( Buchnik & Cohen , 2018 ) . To fully understand and explore the power of self-training on the node classification task , we propose a novel self-training framework , named Dynamic Self-training , which is general , flexible , and easy to use . We provide a simple instantiation of the framework based on GCN ( Kipf & Welling , 2017 ) and empirically show that it outperforms state-of-art methods including GNNs , self-trained GCN ( Li et al. , 2018 ) , and embedding based methods . Our framework has the following distinguishing features compared with ( Li et al. , 2018 ; Buchnik & Cohen , 2018 ) . 1 . We augment the training set and recalculate the pseudo-labels after each epoch . So the number self-training iterations is the same as the number of epochs and the pseudo-label assigned to an unlabeled example may change during the training process . 2 . In stead of inserting a fixed number of new pseudo-labels with highest margin in each iteration , we use a threshold-based rule , i.e. , insert an unlabeled node if and only if its classification margin is above the threshold . 3 . The pseudo-label set is dynamic . When the margin of an unlabeled node is above the threshold , we activate it by adding it to the loss function , but if the margin of this node becomes lower than the threshold in a later epoch , we will deactivate it . 4 . We assign a ( dynamic ) personalized weight to each active pseudo-label proportional to its current classification margin . The total pseudo-label loss is thus the weighted sum of losses corresponds to all pseudo-labels . 2 PRELIMINARIES . 2.1 GRAPH NOTATION AND PROBLEM DEFINITION . In the problem , we are given an undirected graph with node attributes G = ( V , E , X ) , where V is the vertex set , E is the edge set . Here , X is the feature matrix , the i-th row of which , denoted as xi , is the feature vector of node i . We assume each node belongs to exactly one class and use yi to denote the class label of the i-th node . The aim is to design learning algorithms to predict the labels of all nodes based on the labels of a small set of training nodes provided in the beginning . We use Nk ( i ) to denote the set of nodes whose distance to node i is at most k. L ⊂ V is the set of labeled nodes and U = V \ L is the set of unlabeled nodes . 2.2 GRAPH CONVOLUTIONAL NETWORKS . GCN introduced in ( Kipf & Welling , 2017 ) is a graph neural network model for semi-supervised classification . GCN learns the representations of each node by iteratively aggregating the embeddings of its neighbors . Specifically , GCN consists of L > 0 layers each with the same propagation rule defined as follows . In the l-th layer , the hidden representations H ( l−1 ) are averaged among one-hop neighbors as : H ( l ) = σ ( D̃− 1 2 ÃD̃− 1 2H ( l−1 ) W ( l ) ) . ( 1 ) Here , Ã = A+ In is the adjacency matrix of G after adding self-loops ( In is the identity matrix ) , D̃ is a diagonal matrix with D̃ii = ∑ j Ãij , W ( l ) is a trainable weight matrix of the l-th layer , and σ is a nonlinear activation function ; H ( l ) ∈ Rn×dl denotes hidden feature matrix of the l-th layer and H ( 0 ) = X and fi = H ( L ) i represents the output of i-th node . We use l ( yi , fi ) to denote the classification loss of node i , which is typically the cross entropy function . Thus , loss function used by GCN is of the form : L = ∑ i∈L l ( yi , fi ) ( 2 ) For a k-layer GCN , the receptive field of each training example is its order-k neighborhood . When there are only few training samples , we need to increase the number of layers in order to cover most of the unlabeled nodes . However , deeper GCN will cause the problem of over-smoothing , i.e. , critical features of the vertices may be smoothed through the iterative averaging process , which makes nodes from different class indistinguishable ( Xu et al. , 2018 ; Li et al. , 2018 ) . 2.3 SELF TRAINING . Recently ( Li et al. , 2018 ) apply self-training to overcome these limitations of GCNs . Self-training is a natural and general approach to semi-supervised learning , which is particularly well-motivated in the context of node classification ( Buchnik & Cohen , 2018 ; Li et al. , 2018 ) . Assume we have a base model/algorithm for the learning problem , which takes as input a set of labeled examples and makes predictions for other examples . Typically , for each unlabeled node , the base algorithm will also return an associated margin or confidence score . The self-training framework trains and applies the base model in rounds , where at the end of each round , the highest-confidence predictions are converted to become new labeled examples in the next round of training and prediction . Thus , the receptive fields of all the labeled nodes increases and will eventually cover the entire graph , which resolve the issue of GCNs without adding more layers . 3 OUR METHOD . 3.1 A GENERALIZED SELF-TRAINING FRAMEWORK . Algorithm 1 : Dynamic Self-training Framework 1 Generate initial parameter θ0 for model f ( · , · ) , and the initial confidence score vector SV . 2 for each epoch t = 1 , 2 , ... , T do 3 Compute prediction fV ← f ( G , θt−1 ) 4 Update confidence score SV ← UC ( fV ) . 5 Update model parameter by confidence score . θt ← UP ( fV , SV , f ) 6 if stopping criteria is met then 7 Break 8 end 9 end Sun et al . ( Sun et al. , 2019 ) proposed Multi-stage Training Framework as generalization for selftraining method in ( Li et al. , 2018 ) . Inspired by this , we propose a more generalized end-to-end self-training framework named Dynamic Self-training Framework shown in algorithm 1 . Instead of operating on data split , we maintain a confidence score in each iteration . There is no specified training stages here , but we update the confidence value for each unlabeled node after every epoch . Consider the original model f ( · , · ) as a forward predicting function with backward trainable parameters . The graph data G and the trainable parameters θt is the input of this function , and the output of this model is collected into fV ∈ Rn×C , where fv denotes the output vector ( before assigned with label ) of node v ∈ V , and C = dL is the number of classes . Then we construct the confidence score vector SV ∈ Rn from the model output fv using a function UC , which can be instantiated in many forms . For example , Algorithm 2 illustrates how standard multi-stage self-training GCN implement this part . Finally we update the model parameters using a specified algorithm such as gradient descent , where the confidence score vector plays a role . The confidence score participates in the parameter updating process in an end-to-end manner . An example of this part can be seen in section 3.3 . 3.2 PSEUDO LABEL METHOD . Define the pseudo label ỹi ∈ RdL of i-th node which satisfies : ỹij = { 1 if j = argmaxj′ fij′ 0 otherwise ( 3 ) Algorithm 2 : Update confidence score for Multi-stage Self-training GCN 1 if the stage is currently switched then 2 for each class k do 3 Find the top m vertices v in fV and v ∈ U 4 Change the value of v in SV to 1 5 end 6 return SV 7 end ( Lee , 2013 ) introduced a pseudo label version of semi-supervised losses : L = ∑ i∈L l ( yi , fi ) + λ ∑ i∈U l ( ỹi , fi ) , ( 4 ) where λ = nn′ γ , n = |L| , n ′ = |U| , γ ∈ R is a hyper-parameter and the additive term ∑ i∈U l ( ỹi , fi ) is the pseudo label loss . Here , λ measures how much the pseudo label term influence the training process . This is equivalent to Entropy Regularization for classification problems ( Lee , 2013 ) .

Summary: This paper proposes a generalised self-training framework to build a Graph Neural Network to label graphs.  Of importance is the dynamic nature of the self-training. The authors do not change the GCN but extend the self-training portion as per the prior GCN paper by introducing Dynamic Self-Training that keeps a confidence score of labels predicted for unlabelled nodes.