## 3 Residual Dense Convolutional Graph-U-Net-Based GAN for Target Speech Enhancement
### Graph Construction  
In this article, the graph neural architecture is presented based on a message passing neural network, which operates through two phases, namely the message passing phase and the read-out phase [34; 39]. The operations of these two steps for graph construction are expressed in terms of feature aggregation and update. The k-nearest neighbors (k-NN) [34] aggregation is utilized for graph construction, whereby it is possible to acquire k-NN by computing the Euclidean feature distance matrix, \(D\in\mathbb{R}^{TF\times TF}\), formulated as follows:  
\[d_{mn}=\sqrt{\sum_{\text{D}}(v_{m}-v_{n})^{2}} \tag{21}\]  
In (21), the term \(d_{mn}\in\text{D}\) denotes the distance from node \(v_{m}\) to node \(v_{n}\). A graph is constructed by applying k-NN to every node where the resultant graph is of shape  
Figure 4: Architecture of the RDB utilized within each layer of encoder and decoder of the residual dense Graph-U-Net (The different colors denote the dense interconnections between convolutional layers within the dth residual block). Figure 5: Prediction of T-F mask using the residual dense convolution-based Graph-U-Net framework for speech enhancement. \(\text{D}\times F\times\text{T}\times k\), for which \(F\times\text{T}\) nodes with D features are linked by directed edges. More specifically, each node in the constructed graph points to an edge feature set of size \(k\) which contains \(k\) neighbor nodes. A self-loop is also represented by pointing a node to itself. The graph convolution operation can be represented as a sequence of aggregation and update operations which can be expressed as follows:  
\[\mathcal{G}^{\prime}=\boldsymbol{\mathcal{F}}(\mathcal{G},\mathcal{W}) \tag{22}\]  
\[=Update(Aggregate(\mathcal{G},W_{agg}),\ W_{update}) \tag{23}\]  
In Equations (22) and (23), \(\mathcal{G}\) denotes the input graph of a specific GCN layer, \(\mathcal{G}^{\prime}\) denotes the output graph of a specific GCN layer, \(W_{agg}\) denotes the learnable weights of the aggregation operator and \(W_{update}\) denotes the learnable weights of the update operator. The operation described in Equations (22) and (23) can be further elaborated with the help of Equations (24)-(27). If the set of neighbor nodes of the \(i\)-\(th\) node \(v_{i}\) is represented by \(\mathcal{N}(v_{i})\), the graph convolution operation represented by Equations (22) and (23) can be re-expressed as follows:  
\[v_{i}^{\prime}=h(v_{i},g(v_{i},\mathcal{N}(v_{i}),W_{agg}),W_{update}) \tag{24}\]  
While in the graph convolutional layer, the aggregate operator can be either of the permutation-invariant operators, such as mean, sum, max, attention etc., the max-relative operator is applied in Equation (24) for the aggregate operation, which can be expressed by Equations (25) and (26), as follows:  
\[\Psi_{ji}=v_{j}-v_{i}\ s.t.\ v_{j}\in\mathcal{N}(v_{i}) \tag{25}\]  
\[g(.)=v_{i}^{\prime}=\big{[}v_{i},\text{max}\big{\{}\Psi_{ji}\big{\}}\big{]} \tag{26}\]  
The update operation in Equation (24) is implemented by a multi-layer perception (MLP), as follows:  
\[h(.)=MLP\big{(}Concat\big{(}v_{i},v_{i}^{\prime}\big{)}\big{)} \tag{27}\]  
_B. Operation of the GCRNN module_  
The output of the last RDB, denoted by \(F_{d}\) of dimensions H-by-T'-by-F', is treated as a graph signal with H nodes and feature size T\"F'. The construction of the graph is mentioned in subsection A. The thus-constructed graph is processed by the GCRNN module embedded in the bottleneck layer, which acts as a bridge between the encoder and decoder. This bottleneck layer is responsible for capturing all of the critical features while maintaining spatial information. The output of the GCRNN layer is forwarded through the different residual dense convolutional layers of the decoder part, as a result of which the hidden features are transformed to the original dimension at the output of the decoder of the overall U-Net architecture.