# Hybrid Dilated and Recursive Recurrent Convolution Network for Time-Domain Speech Enhancement
## 3 Model Description
### Recursive Learning Speech Enhancement Network (RLSENet)  
In order to improve the performance of speech enhancement, deeper and more complex networks are generally required, which usually leads to more training parameters. Therefore, multiple stages can deal with the speech enhancement problem. A conventional multi-stage solution is the addition of multiple sub-networks, but it will inevitably increased network parameters and easy overfitting. In contrast, sharing network parameters through multiple stages and using inter-stage recursive learning allows exploring the deeper network for speech enhancement without increasing parameters.  
The recursive mechanism works by combining the estimated output of the previous stage of the network model with the original noisy signal on the channel as the input of the next network. The output of each stage can be compared to a state between different stages, similar to the recurrent neural network, which can train the network model cyclically. In this way, the feature dependencies of different stages can be fully utilized, and the estimation of the network can be gradually refined. Figure 3 is the proposed recursive learning speech enhancement network. The output of each stage \(t\) in RLSENet can be defined as:  
\[x^{t-0.5}=f_{e}n(x^{t-1},y) \tag{2}\]  
\[x^{t}=f_{de}(f_{hdm}(f_{en}(x^{t-0.5}))) \tag{3}\]  
where, \(f_{en}\), \(f_{hdm}\), and \(f_{de}\) represent the fully convolutional encoder, hybrid dilated convolution module, and fully convolutional decoder in RLBlock, respectively. They are stage-invariant, and the parameters of network are reused in different stages. \(f_{en}\) combines the estimated \(x^{t-1}\) of the current stage and the noisy signal \(y\) as input. \(x^{t-0.5}\) represents the input of the fully convolutional decoder.  
RLBlock consists of three parts: encoder, decoder, and 6 HDMs. The input of RLBlock is the output of the previous stage and the original noisy signal. The full convolution encoder is used to extract the low-dimensional features of the input speech frames. The HDM combines dilated and conventional convolution to fully use contextual information without losing local information. The full convolution decoder is used to reconstruct the enhanced speech frames. The structure of RRBlock is shown in Figure 4b. The encoder consists of four one-dimensional convolution layers. The input size is \(1\times 2048\), in which one represents the number of channels and 2048 represents the frame length of speech. The convolution of each layer of the encoder will halve the frame length of the speech; that is, the step size is 2, and the number of output channels of each layer is 16, 32, 64, and 128. So, the output of the last layer is \(128\times 128\), the activation function of each layer in the encoder is  
Figure 2: Hybrid dilated and conventional convolution module.  
PReLU [39], and the filter size is 11. The expansion rate of the 6 HDMs grows exponentially and is set to 1, 2, 4, 8, 16, and 32, respectively. The decoder is a mirror-image of the encoder, with four layers of one-dimensional deconvolution [40], in which the hopping connection is used to connect each coding layer with its corresponding decoding layer, making up for the loss of features in the coding process. In the decoder, the activation function used in the first three layers is PReLU, and the activation function used in the last layer is Tanh. The filter size of each layer is 11.