  Graph Convolutional Networks (GCNs) have been widely applied in various
fields due to their significant power on processing graph-structured data.
Typical GCN and its variants work under a homophily assumption (i.e., nodes
with same class are prone to connect to each other), while ignoring the
heterophily which exists in many real-world networks (i.e., nodes with
different classes tend to form edges). Existing methods deal with heterophily
by mainly aggregating higher-order neighborhoods or combing the immediate
representations, which leads to noise and irrelevant information in the result.
But these methods did not change the propagation mechanism which works under
homophily assumption (that is a fundamental part of GCNs). This makes it
difficult to distinguish the representation of nodes from different classes. To
address this problem, in this paper we design a novel propagation mechanism,
which can automatically change the propagation and aggregation process
according to homophily or heterophily between node pairs. To adaptively learn
the propagation process, we introduce two measurements of homophily degree
between node pairs, which is learned based on topological and attribute
information, respectively. Then we incorporate the learnable homophily degree
into the graph convolution framework, which is trained in an end-to-end schema,
enabling it to go beyond the assumption of homophily. More importantly, we
theoretically prove that our model can constrain the similarity of
representations between nodes according to their homophily degree. Experiments
on seven real-world datasets demonstrate that this new approach outperforms the
state-of-the-art methods under heterophily or low homophily, and gains
competitive performance under homophily.
