## 3 Methods
### SigAugment  
The goal of data augmentation is to cover, as far as possible, situations that are not covered by the original input data through efficient transformations that may occur in test situations. It is not feasible to simply stack the data generated by all data augmentation methods together to achieve an increase in data volume. Since each data augmentation method performs differently in different models, stacking the data may compromise the performance of the model. One possible approach is to use an automatic data augmentation strategy [38]. AutoAugment is a method for learning augmentation strategies from data that designs a search space in which each strategy consists of many sub-strategies and uses a search algorithm to find the best strategy that allows the model to produce the highest validation performance on the target dataset. However, the search process of AutoAugment is expensive, and therefore it usually finds optimized hyperparameters through proxy tasks on small datasets where it is doubtful whether these hyperparameters are optimal on the target dataset. RandAugment [39] simplifies the space for augmented policy search and allows the search for hyperparameters to be carried out directly on the target dataset.  
Therefore, we proposed an efficient automatic data augmentation method for radio signal data named SigAugment. The execution of SigAugment during the model training process is shown in Figure 2. For a batch of IQ samples, SigAugment selects the data augmentation sequence according to two alternative strategies provided: (1) selecting a constant number of transformations from the set of transformations and (2) selecting a random number of transformations from the set of transformations. Depending on the strategies, we named them SigAugment-C and SigAugment-R, respectively. The proposed RandAugment approach consists of two steps:  
1. The first step is to define a set of data transformations. In this paper, these transformations included the following: jitter, rotation, flip, channel shuffle, inversion, split and permutation, scaling, and flip and channel shuffle. This set is extensible.  
2. The second step is to select either the SigAugment-R or SigAugment-C method to obtain the transformation sequence. If SigAugment-R is used, a random number of transformation sequences are obtained for each sample in each training batch. If SigAugment-C is used, a constant number of transformation sequences is obtained for each sample in each training batch.  
With just one line of code, the method can be used as a plug-and-play component for training any deep learning-based AMR model. SigAugment is an online data augmentation method that provides two alternative transform selection methods, SigAugment-C and SigAugment-R, both of which use a fixed transform magnitude. SigAugment-C inherits from RandAugment the use of a fixed number of transformations, while SigAugment-R uses a random number of transformations. The augmentation transformations set, for example, contains \(T=8\) methods, and SigAugment-C employs \(N=4\) transformations. If the effect of the order of augmentation transformations is ignored, the possible augmentation combinations are \(C_{T}^{N}\), while the possible SigAugment-R combinations are \(\sum_{t=0}^{T}C_{T}^{i}\). In SigAugment, we used the eight data augmentation methods described in the previous section to construct the transformation pool. SigAugment-R randomly generated the N transformations used for augmentation. The value of \(N\) was generated randomly generated at each epoch, and \(N\) was the maximum number of transformations that could be chosen, \(N\in[0,T]\). Therefore, the number of transformations generated by SigAugment-R may not be the same for each epoch.