What is mask or masking in Graph Neural Networks? I am new to Graph Neural Networks and have a basic question. I read a lot about the term mask or masking in the papers (for example this paper) and tutorials about GNNs. What does the term mask/masking refer to?
 A: You can think of masking as a form of dropout where the contribution (output) of a node is nullified (made zero). This is similar to stochastic depth for residuals in ResNets if you are to consider ResNets as just a special case of GNNs that have no directed cycles.
Just like dropout, each node has a 'survival rate' which determines the probability of being masked. When the node is masked it is effectively removed from the graph along with any nodes which have been completely orphaned by the node's removal (and recursively the process is applied to their children too).
However there is a special case with node masking where the output is not nullified, this is when the masked node is a root of its own aggregation tree; in this case only the child occurances of the masked node are nullified but not the root occurrence.
Figure 7 from this paper illustrates the process fairly well for a 2-aggregation tree of an example graph. 
And, again, just like dropout, masking helps a GNN generalise better by effectively treating the GNN as an ensemble of smaller GNNs with certain nodes removed during training. This helps reduce overfitting by reducing the model's effective capacity at during training, forcing the non-masked subset of nodes to try and learn to the best of their ability without 'help' from the nodes which have been nullified.
