Dual Correlation Reduction Network

GitHub stars
GitHub forks

An official source code for paper Deep Graph Clustering via Dual Correlation Reduction, accepted by AAAI 2022. Any communications or issues are welcomed. Please contact [email protected]. If you find this repository useful to your research or work, it is really appreciate to star this repository. ❤️


Deep graph clustering, which aims to reveal the underlying graph structure and divide the nodes into different groups, has attracted intensive attention in recent years. However, we observe that, in the process of node encoding, existing methods suffer from representation collapse which tends to map all data into a same representation. Consequently, the discriminative capability of node representations is limited, leading to unsatisfied clustering performance. To address this issue, we propose a novel self-supervised deep graph clustering method termed Dual Correlation Reduction Network (DCRN) by reducing information correlation in a dual manner. Specifically, in our method, we first design a siamese network to encode samples. Then by forcing the cross-view sample correlation matrix and cross-view feature correlation matrix to approximate two identity matrices, respectively, we reduce the information correlation in dual level, thus improve the discriminative capability of the resulting features. Moreover, in order to alleviate representation collapse caused by over-smoothing in GCN, we introduce a propagation-regularization term to enable the network to gain long-distance information with shallow network structure. Extensive experimental results on six benchmark datasets demonstrate the effectiveness of the proposed DCRN against the existing state-of-the-art methods.

Illustration of the Dual Correlation Reduction Network (DCRN).


The proposed DCRN is implemented with python 3.8.5 on a NVIDIA 3090 GPU.

Python package information is summarized in requirements.txt:

  • torch==1.8.0
  • tqdm==4.50.2
  • numpy==1.19.2
  • munkres==1.1.4
  • scikit_learn==1.0.1

Quick Start

  • step1: using dblp.zip or download other datasets from Awesome Deep Graph Clustering
  • step2: unzip the dataset into ./dataset
  • step2: run python main.py –name dblp. The name parameter is the name of dataset



If you use this code for your research, please cite our paper.