# Multi-Scale Residual Depthwise Separable Convolution for Metro Passenger Flow Prediction
## 2 Methodology
### Multi-Scale Depthwise Separable Convolution Module  
Based on the two predefined graphs, we construct the MDSC module to achieve a balance between feature propagation and extraction, which complements the spatial fine-grained information. Since GCN can capture spatial relationships from graphical data (presented in Section 2.2), two parallel GCNs are used to extract inter-station correlation of graphs. The GCN model can obtain the topological relationship between the center node and its neighboring nodes to obtain the spatial features reflected by the network, which mainly includes self-looping, neighbor aggregation, and normalization, as illustrated in Figure 6.  
Figure 4: Depthwise separable convolution.  
Figure 5: Dilated convolution. (a) Dilation rate = 1; (b) Dilation rate = 2; (c) Dilation rate = 3.  
Taking the central node in Figure 6 as an example, a node's neighbors are the nodes directly connected to it in the graph. Self-looping means that central node can consider its own features when aggregating information from its neighbors during convolution operations. Subsequently, GCN aggregates information from these neighboring nodes to update the features of the central node. Finally, GCN normalizes the adjacency matrix to ensure the stability and controllability of information transmission. In this study, GCN revolves around the convolution operation in the spatial domain, i.e., spatial-based GCN. It performs convolution on the adjacency matrices of network structure correlation graph and passenger flow similarity graph. Each station accumulates and assigns weights to its own features and its adjacent stations' features. The functionality of the GCN can be mathematically expressed as shown in Equation (6).  
\[H^{(l+1)}=\sigma\Big{(}\hat{D}^{-\frac{1}{2}}\hat{A}\hat{D}^{-\frac{1}{2}}H^{(l) }W^{(l)}\Big{)} \tag{6}\]  
where \(H^{(l)}\) and \(H^{(l+1)}\) represent the feature matrix of the \(l\) layer and the \(l+1\) layer. \(\hat{A}\in R^{N\times N}\) represents the adjacency matrix with self-connections--that is, \(\hat{A}=A+l\). \(\text{A}\in R^{N\times N}\) is based on the predefined adjacent matrix of network structure correlation graph and passenger flow similarity graph, and \(l\) is the identity matrix. \(\hat{D}\in R^{N\times N}\) is the degree matrix of graph. \(W^{(l)}\) represents the weight matrix of the \(l\) layer, and \(\sigma(\cdot)\) is the sigmoid activation function.  
However, several studies have shown that the increase in the number of GCN layers not only leads to higher computational cost during backpropagation but also leads to the disappearance of gradients. Therefore, we input the inter-station correlation features \(H^{(l+1)}\) obtained through GCN into the multi-scale convolution for extracting multiple spatial features. A single convolutional kernel cannot capture dependencies on various scales, while several convolutional kernels of different sizes can be viewed as feature extractors that capture different levels of features. Multi-scale convolution is able to extend the multidimensional relationships between input and output, as shown in Figure 7, which consists of four branches combining a single convolutional layer with different kernel sizes and a \(3\times 3\) maximum pooling layer. Each branch uses a \(1\times 1\) filter to compress the number of channels and improve nonlinear fitting of the model.  
Figure 6: The process of graph convolution. (**a**) Self-looping; (**b**) Neighbor connections; (**c**) Normalization.  
Figure 7: Multi-scale convolution.