Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IJCAI2020.Deep Learning for Community Detection: Progress, Challenges and Opportunities (Survey) #70

Open
soroush-ziaeinejad opened this issue Jan 23, 2023 · 0 comments
Assignees
Labels
literature-review Summary of the paper related to the work

Comments

@soroush-ziaeinejad
Copy link
Contributor

Why did I choose this paper? Community Detection is the foundation of my research, Community Prediction. As we can see in #69 turning successful methods for static data into methods for dynamic data can end up with improvements in model performance and big data handling. This paper analyses SOTA in community detection up to 2020 and it gives very good insight for researchers in community prediction area as well.

A brief summary of the whole paper:
This paper explores the use of deep learning techniques for community detection in networks. It describes the progress that has been made in the field, highlighting the various architectures and methods that have been proposed. The paper also identifies the main challenges that have been encountered and the opportunities for future research. The overall conclusion is that while significant progress has been made in using deep learning for community detection, there is still much room for improvement and further research is needed to fully realize the potential of these methods.

Main problem:

The main problem addressed in the paper is the use of deep learning techniques for community detection in networks.

Applications:

The applications of community detection in networks are numerous, including social networks, biological networks, and information networks.

Definitions:

Network: A network can be defined as a set of nodes and edges that represent the relationships or interactions between the nodes. Networks can be represented by various types of data, such as an adjacency matrix or a graph Laplacian.

Community: A community is defined as a group of nodes in a network that have a higher density of connections within the group compared to the connections between groups. Community detection is the process of identifying these groups of tightly connected nodes in a network.

Why Deep Learning for Community Detection:

  1. Scalability: Deep learning models can handle large-scale networks with a large number of nodes and edges.
  2. Flexibility: Deep learning models can be applied to various types of networks, including attributed networks, temporal networks, and multilayer networks.
  3. Representation learning: Deep learning models can learn low-dimensional representations of the network that can be used for community detection. These representations can capture the complex non-linear relationships between nodes in the network.
  4. Improving performance: Deep learning models have been shown to improve the performance of community detection compared to traditional methods.
  5. Handling noisy and incomplete data: Deep learning models can handle noisy and incomplete data that are common in real-world networks.

Existing work:

The paper describes the various architectures and methods that have been proposed for deep learning-based community detection in networks, highlighting the progress that has been made in the field. However, the paper also identifies gaps in the existing literature, such as the lack of attention to temporal networks, and the limited use of unsupervised methods.

Methodologies Tree:

  1. Deep Neural Network-based Community Detection:
    The three most popular deep neural network models in the community detection domain are:
  • Convolutional Neural Networks (CNNs): CNNs can learn local patterns in the input data by applying filters that slide over the input, and it can be used for community detection by using the learned representations for clustering or classification.
  • AutoEncoders (AEs): An autoencoder typically consists of two parts: an encoder that maps the input to a low-dimensional representation and a decoder that maps the low-dimensional representation back to the original input. Autoencoders can be used for community detection by training the model to reconstruct the input network and then using the low-dimensional representations for clustering or classification.
  • Generative Adversarial Networks (GANs): A generative adversarial network (GAN) is a type of deep learning model that consists of two parts: a generator that generates new samples and a discriminator that tries to distinguish the generated samples from the real samples. GANs can be used for community detection by training the generator to generate new networks that are similar to the input network, and then using the generated networks for community detection.
  1. Deep Graph Embedding-based Community Detection: Deep Graph Embedding-based Community Detection is an approach that uses deep neural networks to detect communities within a graph. These methods aim to capture the underlying structure of the graph by learning a set of latent variables. Two main methods used in this approach are:
  • Deep matrix factorization (deep-NMF) which is a non-negative matrix factorization method that uses deep neural networks to learn the representations of nodes in a graph.

  • Deep sparse filters (deep-SF) which is a method that uses deep neural networks to learn sparse representations of nodes in a graph.

  • Community Embedding-based Approach is another approach to community detection in graphs that involves learning low-dimensional representations of nodes and communities simultaneously. The main idea is to learn a set of embeddings for both the nodes and the communities in the graph, such that nodes that belong to the same community have similar embeddings.

  1. Graph Neural Network-based Community Detection: GNNs (Graph Neural Networks) are a combination of graph mining and deep learning that can model and capture complex relationships in graph-based data. GCNs (Graph Convolutional Networks) is a type of GNNs that improves the fast learning of CNNs by integrating a probabilistic model that takes into account the probability distribution of entities in the network. They are used for community detection, with different variants of GCNs being used for different network properties and problem requirements.

Challenges:

  1. Challenge I: An Unknown Number of Communities
  2. Challenge II: Hierarchical Networks
  3. Challenge III: Network Heterogeneity
  4. Challenge IV: Signed Information on Edges
  5. Challenge V: Community Embedding
  6. Challenge VI: Network Dynamics
  7. Challenge VII: Large-scale Networks

Inputs:

The inputs for the methods discussed in the paper are typically network structures, such as adjacency matrices or graph Laplacians.

Outputs:

The outputs of the methods discussed in the paper are typically community assignments for the nodes in the network.

Conclusion:

The paper concludes that deep learning techniques have shown promise for community detection in networks, but there are still many open research questions that need to be addressed to fully realize the potential of these methods.


Please note that the paper is a review paper which aims to survey the current state of the field, thus the details of experimental setup, datasets, evaluation strategy, baselines and results are not included in the paper.

@soroush-ziaeinejad soroush-ziaeinejad added the literature-review Summary of the paper related to the work label Jan 23, 2023
@soroush-ziaeinejad soroush-ziaeinejad self-assigned this Jan 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
literature-review Summary of the paper related to the work
Projects
None yet
Development

No branches or pull requests

1 participant