## 3 Depthwise Separable Convolution Super-Resolution Generative Adversarial Network
### Depthwise Separable Convolution Dense Block  
[PERSON] [19] et al. first proposed the dense block structure, and solved some of the problems caused by deep neural networks by introducing a skip connection structure. Here \(\mathbf{x}_{l}\) is the input feature of the \(l\)th residual unit. \(\mathcal{W}_{l}=\left[\mathcal{W}_{l,k(1\leq k\leq K)}\right]\) is a set of weights (and biases) associated with the \(l\)th residual unit, and \(K\) is the number of layers in a residual unit. \(\mathcal{F}\) denotes the residual function. The function \(h\) is set as an identity mapping: \(h(\mathbf{x}_{l})=\lambda_{l}\mathbf{x}_{l}\). The main idea is shown in Equation (3):  
\[\mathbf{x}_{l+1}=\lambda_{l}\mathbf{x}_{l}+\mathcal{F}(\mathbf{x}_{l},\mathcal{W}_{l}). \tag{3}\]  
This paper proposes the DSC Dense Block, a dense block based on depthwise separable convolution. It is used for generator network learning and extraction of image features and includes the following structures: a depthwise separable convolution layer, a batch normalization layer, a leaky ReLU layer, and an element-wise sum layer. The architecture is shown in Figure 2. The \(\mathbf{x}_{l}\) are passed through the identity map \(h(\mathbf{x}_{l})\) and then extracted from the dense block multiple layer as a layer \(l+1\) input. \(f(\mathbf{x}_{l})\) represents the process, as shown in Equation (4):  
\[\mathbf{x}_{l+1}=f(\mathbf{x}_{l})+h(\mathbf{x}_{l}). \tag{4}\]  
Since \(h(\mathbf{x}_{l})\) is an identity map, Equation (5) can be derived:  
\[\mathbf{x}_{l+1}=f(\mathbf{x}_{l})+\mathbf{x}_{l}. \tag{5}\]  
After extraction and learning through multiple module connections, the \(L\) layer output is as in Equation (6):  
\[\mathbf{x}_{L}=\sum_{i=1}^{L-1}f(\mathbf{x}_{i})+\mathbf{x}_{l}. \tag{6}\]  
Figure 2: An overview of our DSCSRGAN. Kernel size(k), number of maps(n), in_channels(in), and stride(s) are indicated for each convolutional layer. The same color represents the same structure. (Best viewed in color).  
From the chain rule, the DSC Dense Block backpropagation feature ensures that the gradient does not disappear when the weight is arbitrarily small and not zero, as shown in Equation (7), where \(\varepsilon\) is the loss function:  
\[\frac{\partial\varepsilon}{\partial x_{l}}=\frac{\partial\varepsilon}{\partial x _{L}}\frac{\partial x_{L}}{\partial x_{l}}=\frac{\partial\varepsilon}{\partial x _{L}}\bigg{[}1+\frac{\partial}{\partial x_{l}}\sum_{l=1}^{L-1}f(x_{i})\bigg{]}. \tag{7}\]  
Experiments showed that after using DSC Dense Block, the characteristics and learning ability of the generator network improved, generating more realistic super-resolution images. The use of DSC Dense Block also significantly reduced the number of network parameters. When the number of input image channels is \(C_{in}\), the convolution kernel is \(f_{p}*f_{p}\). The number of output image channels is \(C_{out}\) when the bias is 1. The traditional convolution parameter total calculation method is shown in Equation (8):  
\[P_{n}=\Big{(}\Pi_{i=1}^{2}f_{p}^{i}\Big{)}C_{in}C_{out}+C_{out}. \tag{8}\]  
After using the depthwise separable convolution method, the total number of parameters is calculated as shown in Equation (9):  
\[P_{d}=\Big{(}\Pi_{i=1}^{2}f_{p}^{i}\Big{)}C_{in}+C_{out}*(C_{in}+1). \tag{9}\]  
Taking the number of input channels as eight, the number of output channels as 16, and the convolution kernel as \(3\times 3\) as an example, the total number of convolution parameters is 1168, which is reduced to 216 by the depthwise separable convolution method. For the activation function, the DSCSRGAN algorithm selects four common functions: PReLU, LeakyReLU, Tanhshrink, and Softsign to test. The experimental results showed that the LeakyReLU function performed best. Detailed experimental results are shown in Section 4.1.