# A Survey on the Use of Graph Convolutional Networks for Combating Fake News
## 2 From Graph Embeddings to Graph Convolution Networks  
The social media platform that mostly attracts the interest of researchers that study the organized diffusion of fake news is Twitter. This is mainly because the platform provides information about the individual accounts (i.e., sources of news), the content they create (i.e., tweets) and the content the reproduce or share (i.e., by retweeting). The literature behind disinformation campaigns on Twitter is long [4; 13; 14; 15] and keeps growing when new election campaigns occur around the globe or when crypto-currency and stock investors want to influence the market through social media [16; 17; 18; 19]. A common feature in all these campaigns is the creation of fake accounts. These fake accounts, also called social bots or sybil accounts, are massively created by software programs and are used to artificially amplify fake news by reproducing them in social media. Social media and networking sites develop mechanisms to detect and block the bulk creation of fake accounts, while researchers develop machine learning techniques [20] and services to detect bots and check the veracity of news. However, there are still ways for bots to infiltrate social media [9; 21]. Graph representations naturally fit numerous application domains [8], particularly social analysis, because of their unique capability to capture the structural relations of social networks and the dynamics of data diffusion in them. Although the underlying connectivity patterns are often complex and diverse, the great success of representation learning in many domains makes graph representation learning a very promising yet challenging solution to many social network problems, including the detection of fake news and their diffusion networks. Graph embedding methods [22; 23] can simplify the underlying graph structure and support solving simpler tasks, such as edge or node classification. However, they still fail to capture more complex graph patterns, and this is where deep graph neural networks come in hand. Graph Convolutional Networks (GCNs) have a great expressive power to learn the stationarity and compositionality of graphs to extract hierarchical patterns and high-level features. GCNs [24] are multilayer neural networks that operate on a graph and learn embeddings for each node based on the properties of the node and its neighbors. Using a single layer of convolution, the GCN can only capture information about the immediate neighbors of the node, but this can be extended by stacking multiple GCN layers. Given a graph \(G=(V,E)\), with a set of \(n\) vertices \(V\) and a set of \(m\) edges \(E\) that connect them, the adjacency matrix \(A\) of \(G\) contains \(1s\) in the diagonal, if we assume that each vertex is connected to itself, and \(1\) in any place \(i,j\) when there is an edge \(e_{i,j}\) connecting node \(v_{i}\) to node \(v_{j}\). The feature matrix \(X\in\mathbb{R}^{n\times k}\) contains in each row \(x_{i}\) the feature vector for vertex \(v_{i}\), where \(k\) is the number of features that describe each vertex of \(G\). When a single layer GCN is employed, the q-dimensional node feature matrix \(L^{(1)}\) is defined as \(L^{(1)}=\sigma(\bar{A}XW_{0})\), where \(\bar{A}=D^{-1/2}AD^{-1/2}\) is the normalized symmetric adjacency matrix, \(D\) is the degree matrix of \(G\) (a diagonal matrix with \(D_{ii}=\sum_{j}A_{ij}\)), \(W_{0}\in\mathbb{R}^{k\times q}\) is a trainable weight matrix and \(\sigma\) is an activation function, such as ReLU. Consequently, \(X\) can be considered \(L^{(0)}\), the original feature vector representation of graph nodes. Higher order neighbor information (e.g., at \(h\) hops) can be incorporated by stacking multiple GCN layers and computing the representation in an iterative way:  
\[L^{h+1}=\sigma(\bar{A}L^{(h)}W_{h}), \tag{1}\]  
where \(W_{h}\) is a trainable weight matrix.