# Deep Learning-Based Community Detection Approach on Multimedia Social Networks
## 2 Related Works
### Community Detection Algorithm  
Identifying groups of users who share similar interests has become a relevant topic in different application domains. Nevertheless, the main issues about this task are related to the existence of numerous community definitions and the high time complexity requirements of many community detection algorithms. The definition of modularity considers both an interaction between entities (the nodes) belonging to the same community and contextually also a weak interaction with nodes that are outside of that community. Since there are different structural definitions that satisfy the modularity criterion, no formal definition of community is universally accepted [21; 22]. In addition, communities can have different properties, often derived from the domain in question, such as hierarchical organization, and nodes that can belong to multiple communities (_overlapped_). For all these reasons, community identification has been approached from different perspectives, but still remains one of the outstanding research problems in graph analysis. In the following, a classification of existing methods for community identification in an OSN is discussed. We can consider five classes of community and cluster graph discovery methods, which depend on the methodological principle and the adopted community definition [23; 24; 25]: **cohesive sub-graph discovery**, which analyzes the topology of a sub-graph of the network that should satisfy being a community (i.e., cliques or k-core); **vertex clustering**, whose goal is classical cluster discovery (i.e., k-means or hierarchical clustering); **community quality optimization**, which constructs clusters by optimizing a cluster quality metric (i.e., conductance or modularity); **divisive**, identifying communities based on the arcs that interconnect them (i.e., Girvan and Newman); **model-based**, relying on statistical models for generating network divisions (i.e., label propagation analysis)  
In the last few years, deep-learning models have been designed for dealing with community detection. [PERSON] [26] designed a method that combines an auto-encoder deep network and K-means for respectively encoding the input data and clustering them in order to identify communities. [PERSON] et al. [27] developed a community detection method based on a modularity function for building a low-dimensional embedding matrix (modularity matrix) by using an auto-encoder scheme. An iterative learning algorithm, named _DeepWalk_, was designed by [PERSON] et al. [28], which is composed of two phases. The first phase is a random walk generator that generates a tree graph starting from a vertex chosen as the root and examining all vertices up to the maximum depth of the tree. In the second phase, SkipGram moves on to the next node and creates the tree from it in order to generate the topological information of the network. Furthermore, more recently, [PERSON] [29] proposed the _GraphGAN_ framework, which is based on the union of generative and discriminative methods through adversarial training in a minimax game. It was evaluated in three real scenarios, i.e., link prediction, node classification, and recommendation. Instead, [PERSON] et al. [30] propose Community-Aware Network Embedding (_CANE_), using the adversarial learning framework. The model can sample a set of candidate nodes within the community and relies on dual feedback, one given by the community detection model and the other by the discriminative model. Finally, _DNNNC_, a novel method for node classification using deep learning, was proposed by [31]. It tries to find the suboptimal solution by pre-existing network embedding methods. It was the first deep node classification model that only relies on the network structure information (and not other information, such as node characteristics). Nevertheless, these approaches are subject to some limitations in terms of the size and heterogeneity of the dataset or encoding approach that lead to losing some information that could be useful for community detection.