  Graph Convolutional Neural Network (GCN), a widely adopted method for
analyzing relational data, enhances node discriminability through the
aggregation of neighboring information. Usually, stacking multiple layers can
improve the performance of GCN by leveraging information from high-order
neighbors. However, the increase of the network depth will induce the
over-smoothing problem, which can be attributed to the quality and quantity of
neighbors changing: (a) neighbor quality, node's neighbors become overlapping
in high order, leading to aggregated information becoming indistinguishable,
(b) neighbor quantity, the exponentially growing aggregated neighbors submerges
the node's initial feature by recursively aggregating operations. Current
solutions mainly focus on one of the above causes and seldom consider both at
once.
  Aiming at tackling both causes of over-smoothing in one shot, we introduce a
simple Two-Sided Constraint (TSC) for GCNs, comprising two straightforward yet
potent techniques: random masking and contrastive constraint. The random
masking acts on the representation matrix's columns to regulate the degree of
information aggregation from neighbors, thus preventing the convergence of node
representations. Meanwhile, the contrastive constraint, applied to the
representation matrix's rows, enhances the discriminability of the nodes.
Designed as a plug-in module, TSC can be easily coupled with GCN or SGC
architectures. Experimental analyses on diverse real-world graph datasets
verify that our approach markedly reduces the convergence of node's
representation and the performance degradation in deeper GCN.
