## 3 Results and Discussion  
### Dataset and Parameters  
RML2016.10a [28] is the most popular dataset applied in AMC. RML2016.10a consists of 11 modulation categories: BPSK, QPSK, 8 PSK, 16 QAM, 64 QAM, BPSK, CPFSK, PAM4, WB-FM, AM-SSB, and AM-DSB. Signal dimension is \(2\times 128\), the length of per sample is 128, each sample has real and imaginary parts, so the dataset has 2 channels. The duration per sample is 128 \(\upmu\)s. The sampling frequency is 1 MHz, the sampless per symbol is 8. The number of samples under per SNR of each category is 1100, we choose 80% as our training set, 10% as our validation set, 10% as our test set. The SNR range is from \(-20\) dB to 18 dB, but in practical applications, the communication conditions under \(-5\) dB is useless for communication, therefore we choose \(-4\) dB to 18 dB for our experiments with interval of 2 dB. Therefore, the training samples in out experiments are 105,600, the validation samples and test samples are both 13,200. The shape of our training set is \(105,600\times 2\times 128\), the shapes of validation set and the test set are both \(13,200\times 2\times 128\).  
The input of the whole network is the raw complex data concatenated with the corresponding amplitude and phase. The channel of the complex dataset is 2 including the real data and its corresponding imaginary part. If we directly consider the two parts as two channels, we will lose the relation between the real part and the imaginary part. Therefore, we project the signal to polar coordinates and choose the amplitude and phase as two channels to concatenate with the initial complex data, which can be written as  
\[\begin{split} a_{i}&=\sqrt{{real_{i}}^{2}+{imag_{i }}^{2}},\\ p_{i}&=\arctan\frac{{imag_{i}}}{{real_{i}}}\end{split} \tag{21}\]  
where \({real_{i}}\) denotes the real part of the sample point and \({imag_{i}}\) denotes the imaginary of the sample point \(a_{i}\) and \(p_{i}\) respectively denote the amplitude and phase the sample point. Finally, we concatenate the amplitude channel and the phase channel with the complex data, and the input data has 4 channels. The output of hybrid parallel network also needs to be optimized by loss function. The loss function we choose is cross entropy, which is defined as  
\[\mathbb{L}(I,\mathbf{y})=-\sum_{k=1}^{K}t_{k}\log{l_{k}}, \tag{22}\]  
where \(I\) is the output vector of AM-softmax, \(\mathbf{t}\) denotes the label vector with one-hot formulation, \(t_{k}\) denotes the label of \(k\)-th element. Cross entropy loss can learn the difference between two distribution and coverage fast; this is the reason why we choose cross entropy loss as our loss function. The optimizer we choose is Adam optimizer [53], the initial learning rate is set to 0.001 decayed by 10 every 16 epochs. The parameters of AM-Softmax we choose are 0.1 for \(m\) and 10 for \(s\). The batch size is set to 512 and we run 40 epochs for training.  
Our proposed model cascades 4 hybrid parallel modules with different structure parameters which is illustrated by the following table:  
Table 1 illustrates the channels of the Inception modules applied in our structure. The hidden size of corresponding GRU modules is all set to half of the channels of the second Inception channels because of the bidirectional property. The size of the corresponding channels of convolution modules and iAFF module is 2 times of the output channels of Inception due to the concatenation of Inception and GRU. The number of multi-head attention mechanisms in hybrid parallel modules is 4. The stride of the convolution module in residual skip is 7 and the kernel size is \(1\times 1\). Following the last hybrid parallel module we flat all the features and send it to a multi-head attention module with 10 heads. Before the last AM-softmax function, we reduce the dimension of features by a linear layer with the output size 128. The total parameters of our model are 27,415,424. After training, the average inference time is 3 s.