## 3 Residual Dense Convolutional Graph-U-Net-Based GAN for Target Speech Enhancement
### Architecture of Residual Dense-U-Net with Embedded GCRNN
#### 3.3.1 Generator Network: Residual Dense Graph-U-Net  
The generator is a U-Net structure whose encoder is responsible for extracting the local and structural features. It halves the size of the feature maps using the convolutional kernel (whose stride is 2) instead of using pooling mechanism. Each convolutional layer is sequentially followed by one rectified linear unit (ReLU) and one instance normalization (IN) layer, which leads to significant reduction in the computational load. The process increases the receptive field of the network, which in turn improves model robustness.  
The skip connections in the U-Net bypass the intermediate compression stages and directly pass fine-grained information to the decoder. As their presence facilitates flow of gradients through deeper layers of the overall network architecture, the skip connections can lead to better training performance by the network.  
The operations of the generator network can be expressed in terms of hierarchical feature extraction and down-sampling at the encoder, the transformation of the multi-channel latent space of signals to the graph domain by the GCRNN module (embedded in the bottleneck layer), which leads to exploitation of spatio-temporal as well as spectral information in a more flexible manner, and up-sampling at the decoder. The operations of the residual dense blocks at the encoder part can be expressed as follows:  
\[F_{d}=H_{RDB}^{d}(F_{d-1})=H_{RDB}^{d}(H_{RDB}^{d-1}(\dots(H_{RDB}^{1}(F_{0})))) \tag{17}\]  
In Equation (17), the term \(H_{RDB}^{d}(.)\) represents the composite operation of convolution and ReLU at the RDB. As pointed out in [42; 43], the residual dense block implements a CM mechanism by passing the state of the preceding residual dense block to each layer of the current residual dense block. The operation of the c-th convolution layer within the d-th residual dense block can be expressed in terms of the concatenation of the feature maps provided by the \((d-1)\)th residual dense block as well as the \((\text{c}-1)\) convolutional layers \(1,2\dots(c-1)\) belonging to the d-th residual dense block, which results in \((G_{0}+(c-1)\). \(G_{0})\) feature maps. \(G_{0}\) is the number of output feature maps, also referred to as growth rate. This is the dense connectivity, which helps to preserve the feed-forward nature. The overall operation can be expressed as follows:  
\[F_{d}^{c}=ReLU(W_{d}^{c}[F_{d-1},F_{d}^{1},F_{d}^{2}\dots F_{d}^{c-1}]) \tag{18}\]  
In Equation (18), \(W_{d}^{c}\) represents the weights of the c-th convolutional layer, whereas \(F_{d}^{c}\) represents the output of the c-th convolution layer within the d-th residual dense block. The operation of the LFF component of the residual dense block can be expressed as follows:  
\[H_{d}^{LF}=H_{d}^{LFF}([F_{d-1},F_{d}^{1}\dots,F_{d}^{c},\dots F_{d}^{c}]) \tag{19}\]In Equation (19), \(H_{d}^{LFF}(.)\) represents the 1-by-1 convolutional operation in the d-th RDB. Finally, the output of the RDB can be expressed as the output of local residual learning operation, as follows:  
\[F_{d}=F_{d-1}+F_{d}^{LF} \tag{20}\]  
The RDB employed in this work is pictorially depicted in Figure 4.  
The last RDB of the encoder produces representations of dimension H-by-T'-by-F', where H denotes the number of filters in the last residual dense convolutional layer of the encoder. As shown in Figure 5, the representations obtained at the last residual dense convolutional layer of the encoder parts are used to construct a graph with H nodes.