# Radio Signal Modulation Recognition Method Based on Deep Learning Model Pruning
## 4 The Proposed Approach  
A network structure is proposed using the CNN+LSTM mode in Figure 1. When long-time series are directly processed by LSTM, the calculation requirements are very high. Therefore, a CNN is generally used to process part of the data before the use of LSTM, and the long series is replaced by the short series. The data are input to a CNN layer, are put through pooled processing, and are finally compressed to prevent overfitting. Then, batch standardization is carried out, using spatial dropout for data discarding to prevent overfitting. Then, another convolutional layer is passed, and the size of the convolutional kernel is equal to the size of the convolutional kernel of the previous convolutional layer; the boundaries are filled with zero to maintain the original size. After that, the batch standardization and pooling are carried out again; after changing the shape, the data are entered into the double-layer LSTM and are eventually classified using the full-connection layer. LSTM is used in our model, which is mainly composed of an Input Gate, Forget Gate, Cell Update, and Output Gate. The structure of LSTM is shown in Figure 2.  
Figure 1: The model structure. These gates' functions are explained below. Input Gate: This controls how much of the current input \(x_{t}\) and the previous output \(h_{t-1}\) will be entered into the new cell:  
\[i_{t}=\sigma(W_{i}x_{t}+U_{i}h_{t-1}+b_{i}) \tag{8}\]  
where \(i_{t}\) is the output of the input gate, \(W_{i}\) and \(U_{i}\) are the weights of the input gate, \(b_{i}\) is the bias of the input gate, \(x_{i}\) is the input of this cell, and \(h_{t-1}\) is the output of the last cell. Forget Gate: This decides whether to erase (set to zero) or to keep individual components of the memory:  
\[f_{t}=\sigma(W_{f}x_{t}+U_{f}h_{t-1}+b_{f}) \tag{9}\]  
where \(f_{t}\) is the output of the forget gate, \(W_{f}\) and \(U_{f}\) are the weights of the forget gate, and \(b_{f}\) is the bias of the forget gate. Cell Update: This transforms the input and previous state to be considered into the current state:  
\[\widetilde{c}_{t}=\tanh(W_{c}x_{t}+U_{c}h_{t-1}+b_{c}) \tag{10}\]  
where \(\widetilde{c}_{t}\) is the candidate cell state, \(W_{c}\) and \(U_{c}\) are the weights of the forget gate, and \(b_{c}\) is the bias of the forget gate. Output Gate: This scales the output from the cell:  
\[o_{t}=\sigma(W_{o}x_{t}+U_{o}h_{t-1}+b_{o}) \tag{11}\]  
where \(o_{t}\) is the output coefficient of this cell, \(W_{o}\) and \(U_{o}\) are the weights of the output gate, and \(b_{o}\) is a bias of the output gate. Internal State update: This computes the current time step's state using the gated previous state and the gated input:  
\[c_{t}=\widetilde{c}_{t}\cdot i_{t}+c_{t-1}\cdot f_{t} \tag{12}\]  
where \(c_{t}\) is the cell status. Hidden layer: the output of the LSTM, scaled by a tanh (squashed) transformation of the current state:  
\[h_{t}=o_{t}\cdot\tanh(c_{t}) \tag{13}\]  
where \(h_{t}\) is the output of this cell. The accuracy of the results is improved by removing the third CNN layer, combining the first and second layers of CNN, and adding a layer of the LSTM layer. The pruning process is shown in Figure 3.  
Figure 2.0 LSTM structure. In the CNN module, after convolution and pooling, the data features are reconstructed and input into the LSTM unit. At this point, the data comprise 32 feature maps, each of which includes 128 feature values. After being processed by the first LSTM unit, the data become a second-order vector composed of 32 timestamps, each of which contains 256 features. The first layer uses the LSTM unit to further extract the features extracted from the convolution layer. The role of LSTM in the second layer is to reduce the dimension of the time steps of the data and compress all features into a timestamp; the output at this time is 256 feature values, which can be directly sent to the classification layer for classification.