A method for unknown signal recognition based on adversarial learning
Through the method of generative adversarial learning, a convolutional neural network is constructed and a generative adversarial network is generated to generate obfuscated samples close to the real sample distribution, solving the problem of difficulty in identifying unknown signals in the prior art, and achieving effective identification of unknown signals and efficient classification of known signals.
Patent Information
- Application Number
- CN202411804530.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-10
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2044-12-10
AI Technical Summary
When facing unknown signal categories, the existing signal modulation recognition methods have poor generalization capabilities and robustness, and cannot effectively identify open-set signals, which affects the performance, safety and completeness of modulation recognition.
Using a method based on generative adversarial learning, a convolutional neural network classifier and a generative adversarial network are constructed. The obfuscation samples are generated through the generator network and trained in combination with the discriminator network. The generator network is optimized to generate obfuscation samples close to the real sample distribution, and the classifier training set is added to enhance the recognition ability of unknown categories.
Without modifying the classifier structure, the recognition ability of unknown categories is improved, the recognition performance of known categories is maintained, and the robustness and generalization ability of the model are enhanced.
Smart Images

Figure CN119652714B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of signal modulation recognition, and in particular to a method for identifying unknown signals based on generative adversarial learning. Background Art
[0002] Signal modulation identification (modulation classification) aims to accurately identify the modulation type of a received signal without prior knowledge of the modulation technique, laying the foundation for subsequent signal decoding. This technology plays a vital role in both commercial and defense fields. In commercial applications, with the rapid evolution of communication technologies and equipment, available radio spectrum resources are becoming increasingly valuable. To accommodate the rapid development of the communications industry, the radio spectrum has been divided into multiple segments, such as broadcasting, mobile communications, and satellite communications, for different business needs. Effective spectrum management requires preventing illegal use of spectrum resources and improving resource efficiency. Therefore, signal modulation identification has become a core task in spectrum monitoring, helping to identify the source of interference signals and ensure the smooth operation of communication networks.
[0003] Automated modulation recognition systems play a crucial role in non-cooperative communication environments and on intelligent radio platforms. The performance of these systems directly determines the effectiveness and reliability of the entire communication framework. Effective feature extraction techniques, diverse recognition algorithms, and the application of classifiers are crucial for accurate modulation identification and are key to the research of civil communication systems, software-defined radio (SDR), cognitive radio, and spectrum sensing technologies.
[0004] From the perspective of modulation recognition applications and recognition requirements, signal modulation recognition can be categorized into two types: "open-set modulation recognition" and "closed-set modulation recognition." Currently, traditional modulation recognition methods are designed for closed-set datasets. In closed-set dataset recognition, all categories in the training and test datasets are known. That is, categories seen during training also appear during testing. The model's task is to classify within these known categories. This type of modulation recognition is suitable for applications where the signal environment is known and the signal types do not change. Modulation models primarily focus on the classification accuracy of known categories and do not consider the handling of unknown signal types. Therefore, when encountering unknown signal types (i.e., open-set signal datasets), existing modulation models are unable to detect and label unknown signal modulation types. The system's generalization and robustness are poor, making it unable to cope with signal variations in various environments. This significantly impacts the performance, security, and completeness of modulation recognition. How to effectively identify unknown modulation types and effectively perform modulation recognition on open-set signal datasets has become a pressing challenge in the field of modulation recognition. Summary of the Invention
[0005] To solve the above technical problems, the present invention provides an unknown signal recognition method based on adversarial learning, comprising the following steps:
[0006] Step S1. Obtain a signal modulation recognition dataset and construct the model structures of a convolutional neural network classifier and a generative adversarial network respectively;
[0007] The generative adversarial network includes a generator network and a discriminator network. The input of the generator network is random noise with the same sample data length as the real sample data, which is used to generate a confused sample of the current input random noise. The input of the discriminator network is real sample data or confused sample, which is used to output the authenticity judgment result of the current input sample. The real sample data refers to the signal sample in the acquired signal modulation recognition dataset.
[0008] The input of the convolutional neural network classifier is a signal sample or a target signal to be identified. It includes a signal feature vector extraction network and a signal recognition output layer. The signal recognition output layer is used to calculate the classification probability of each known modulation category and output the maximum classification probability and its corresponding known modulation category index.
[0009] Step S2. Initialize the network parameters of the convolutional neural network classifier, generator network, and discriminator network, including random initialization of the weights and biases of each network, and select the network parameter optimization algorithm and learning rate;
[0010] Step S3. Jointly train the generator network and the discriminator network. The generator network generates obfuscated samples and optimizes them using adversarial training. The discriminator network determines the authenticity of the obfuscated samples, obtains the generator network loss, and feeds the generator network loss back to the generator network for iterative optimization, so that the obfuscated samples generated by the generator network are close to the distribution of the real sample data.
[0011] Step S4. Add the confusion samples generated by the generator network to the classifier training set, and then train the convolutional neural network classifier based on the current classifier training set;
[0012] Step S5. performing signal preprocessing on the target signal to be identified to match the input of the convolutional neural network classifier;
[0013] The target signal to be identified is then input into the convolutional neural network classifier trained in step S4 for modulation recognition and classification to obtain the recognition result: if the maximum classification probability output by the convolutional neural network classifier exceeds the established classification threshold, the modulation category recognition result of the current target signal to be identified is determined based on the category corresponding to the maximum classification probability; otherwise, the modulation category of the current target signal to be identified is an unknown category.
[0014] Furthermore, the convolutional neural network classifier includes a convolution layer, an average pooling layer, a batch normalization layer, a fully connected layer and a Dropout layer; wherein, the convolution layers and batch normalization layers connected in sequence constitute the first unit layer, and a Dropout layer is added after each stack of three first unit layers to form a first basic stacking block; the first stacking structure composed of several first basic stacking blocks is sequentially connected to an average pooling layer and at least one fully connected layer, and the last fully connected layer is used to map its input features to a specified known modulation category, calculate the classification probability of each known modulation category, and output the maximum classification probability and its corresponding known modulation category index to obtain the classification result of the signal; that is, the last fully connected layer is the signal recognition output layer of the convolutional neural network classifier; then the signal feature vector extraction network of the convolutional neural network classifier is the remaining network layers except the last fully connected layer; wherein, each convolution layer and batch normalization layer of the convolutional neural network classifier is provided with a corresponding activation function;
[0015] Furthermore, the generator network includes a transposed convolution layer (i.e., a deconvolution layer) and a batch normalization layer, and the generator network sequentially includes a second stacking structure of a plurality of second unit layers, and the second stacking structure is further connected to a convolution layer; wherein the second unit layer is composed of a transposed convolution layer and a batch normalization layer connected in sequence; and each transposed convolution layer and batch normalization layer of the generator network is provided with a corresponding activation function;
[0016] The transposed convolution layer of the generator network is used to upsample the input features using the transposed convolution kernel, thereby restoring the spatial resolution of the signal by increasing the size of the feature map layer by layer. The transposed convolution layer includes several transposed convolution kernels and generates an expanded feature map through the transposed convolution operation.
[0017] The batch normalization layer of the generator network is used to normalize the output feature maps of the transposed convolutional layer to stabilize the training process and accelerate convergence; and the activation function of the batch normalization layer is a nonlinear transformation, which is used to activate the feature maps after batch normalization.
[0018] Furthermore, the discriminator network includes a third stacking structure composed of several stacked first block unit layers, and the third stacking structure is sequentially connected to an average pooling layer and at least one fully connected layer; wherein, the last fully connected layer maps its input features to a probability value based on the Sigmoid activation function, which is used to represent the discrimination probability of whether the current input sample is real sample data, thereby judging whether the current input sample is real sample data or a confused sample.
[0019] Furthermore, the convolutional neural network classifier includes three first basic stacking blocks, a total of nine convolutional layers and nine batch normalization layers, three dropout layers; and one average pooling layer and a fully connected layer;
[0020] The input data of the first convolutional layer is the signal data of the specified sequence length of the two channels. N 8×1 convolution kernels are used to extract features on each channel, and the step size is set to 1. N is a preset value.
[0021] The second convolution layer uses N 8×1 convolution kernels with a stride of 1. The third convolution layer uses 2N 8×1 convolution kernels with a stride of 2 to achieve feature downsampling.
[0022] The fourth to sixth convolutional layers all use 2N 8×1 convolution kernels, and the stride is set to 2;
[0023] The seventh to ninth convolutional layers all use 2N 4×1 convolution kernels, and the stride is set to 2;
[0024] The nine convolutional layers of the convolutional neural network classifier all use 1 unit of edge padding;
[0025] The batch normalization layer connected after each convolutional layer is used to normalize the output features of the convolutional layer to adapt to the feature distribution of different signal categories. Each convolutional layer and batch normalization layer uses the LeakyReLU activation function, and its negative slope is set to 0.2 to ensure its nonlinearity.
[0026] The average pooling layer is used to map the multi-channel features of the network to a one-dimensional vector of fixed size, that is, to map the output features of the last Dropout layer to a one-dimensional vector of fixed size;
[0027] The fully connected layer uses 2N units, maps the output features of the average pooling layer to the specified number of categories based on linear transformation, and outputs the classification results of the signal.
[0028] Furthermore, a series of deconvolution layers, batch normalization layers, and ReLU activation functions are used in each second unit layer of the generator network to gradually reconstruct high-dimensional signal outputs from lower-dimensional features.
[0029] The generator network consists of four second-block unit layers, a total of five deconvolution layers and four batch normalization layers;
[0030] The first deconvolution layer receives a noise input and starts feature expansion by using 8N 4×1 deconvolution kernels, setting the stride to 2 and the edge padding to 0;
[0031] The second deconvolution layer uses 4N 4×1 deconvolution kernels with a stride of 2 and an edge padding of 1;
[0032] The third deconvolution layer uses 2N 4×1 deconvolution kernels with a stride of 2 and an edge padding of 1;
[0033] The fourth deconvolution layer uses N 4×1 deconvolution kernels with a stride of 2 and an edge padding of 1;
[0034] The fifth deconvolution layer uses two 4×1 deconvolution kernels with a stride of 2 and an edge padding of 1. The fifth deconvolution layer normalizes the deconvolution operation results to the range of [-1, 1] through its activation function.
[0035] Furthermore, the third stacked structure of the discriminator network includes three first block unit layers, one average pooling layer and one fully connected layer, that is, it includes four convolutional layers and three batch normalization layers;
[0036] In the discriminator network, the first convolutional layer uses N 4×1 convolution kernels with a stride of 2 and an edge padding of 1;
[0037] The second convolutional layer uses 2N 4×1 convolution kernels with a stride of 2 and an edge padding of 1;
[0038] The third convolutional layer uses 4N 4×1 convolution kernels with a stride of 2 and an edge padding of 1;
[0039] The fourth convolutional layer uses 8N 4×1 convolution kernels with a stride of 2 and an edge padding of 1;
[0040] A batch normalization layer is set after the second to fourth convolutional layers respectively, and both the convolutional layer and the batch normalization layer use the LeakyReLU activation function, and the negative slope of the activation function is set to 0.2 to ensure its nonlinearity;
[0041] After completing the convolutional feature extraction, the discriminator network uses the average pooling layer to reduce the dimension of the output features of the third batch normalization layer and then feeds them into the fully connected layer;
[0042] The fully connected layer maps its input features to a single output and compresses the output to the [0, 1] interval through the Sigmoid activation function to represent the probability that the input sample is judged as a real signal.
[0043] Furthermore, the discriminator network is trained using both the obfuscated samples and the real sample data, and the loss value of the discriminator network for the real sample data and the loss value for the obfuscated samples are calculated respectively, and the two errors are combined to obtain a discriminant loss model. Based on the obtained loss value of the real sample data and the loss value of the obfuscated sample, the discriminator network is iterated through the error back propagation algorithm to update the discriminator network parameters and improve the discriminant network's ability to distinguish between real sample data and obfuscated samples. The discriminant loss model can be expressed as:
[0044]
[0045] Among them, D is the discriminator network, G is the generator network, D() represents the output of the discriminator network, and G() represents the output of the generator network.
[0046] n is the number of samples, x i is the real sample, z i is a random noise input.
[0047] Furthermore, the loss of the generator network during training includes the first loss of the generator network and the second loss of the generator network;
[0048] Among them, the first loss of the generator network is: z i represents the random noise input to the generator network, and the subscript i is the sample index;
[0049] The second loss of the generator network is: Among them, H(z i ,P) is the cross entropy of the signal feature vector distance between the confused sample and each cluster center of the modulation category clustering, P is the representation center of each known modulation category, and the output of the signal feature vector extraction network of the convolutional neural network classifier is used as the signal feature vector of the corresponding sample.
[0050] Preferably, clustering is used to cluster known modulation categories, and the signal feature vector of each cluster center is obtained, which is recorded as P k ; The confusion sample output by the generator network is sent to the convolutional neural network classifier, and the signal feature vector of the confusion sample is extracted based on its signal feature vector. The signal feature vector of the confusion sample and the signal feature vector P of each cluster center are calculated. k The vector distance between (such as Euclidean distance), based on the cross entropy calculation of the distance
[0051] Furthermore, step S4 includes the following steps:
[0052] S401-1. Initialize classifier network parameters;
[0053] S401-2. Input the real sample data into the classifier for forward propagation, obtain the prediction result based on the output of the classifier, and calculate the classification cross entropy loss between the real sample data and the real label;
[0054] S401-3. According to the second loss of the generator network, the classification cross entropy loss output by the classifier is combined to obtain the loss function of the classifier.
[0055] Furthermore, the loss function of the classifier can be expressed as:
[0056]
[0057] Among them, C is the classifier, L(x i ,y i ) is the classification cross entropy loss, x i is the real sample data (referred to as the real sample), y i is the label of the real sample (ie, the real label), H(z i ,P) is the second loss of the generator network, β is the preset balance hyperparameter, and n is the number of samples.
[0058] Furthermore, in step S5, the classification threshold is set to:
[0059]
[0060] Where α is the preset smoothing hyperparameter, and K is the number of known modulation categories.
[0061] The technical solution provided by this application brings at least the following beneficial effects:
[0062] 1) This application uses a generative adversarial network structure to model unknown class samples. By simulating the generation of unknown class samples (confusion samples), the classifier's ability to recognize unknown classes is enhanced without modifying its own structure. This allows the classifier to maintain robust discrimination efficiency when faced with new classes for which it has not been trained.
[0063] 2) This application introduces a novel loss function for traditional generators and classifiers to ensure that the generated confused samples are close enough to the known class samples in data distribution while maintaining a certain degree of unknownness.
[0064] 3) This application uses both real samples and confused samples to perform parameter adjustment during the classifier training phase to ensure that the model enhances the ability to recognize unknown classes while maintaining its modulation recognition performance for known classes. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0066] Figure 1 A training flow chart of an unknown signal recognition method based on adversarial learning provided in an embodiment of the present application;
[0067] Figure 2 Schematic diagram of the structure of the convolutional neural network classifier used in the embodiments of the present application.
[0068] Figure 3 Schematic diagram of batch normalization in an embodiment of the present application;
[0069] Figure 4 Schematic diagram of the dropout layer in an embodiment of the present application;
[0070] Figure 5 Schematic diagram of the structure of the generator network used in the embodiment of the present application;
[0071] Figure 6 Schematic diagram of the structure of the discriminator network used in the embodiment of the present application. DETAILED DESCRIPTION
[0072] In order to enable people skilled in the art to better understand the technical solutions in this specification, the technical solutions of the embodiments of the present application will be described in detail and completely below in combination with the drawings in the embodiments of the present application. Obviously, the embodiments described with reference to the drawings are exemplary and are intended to be used to explain the present application, and cannot be understood as limiting the present application.
[0073] like Figure 1 As shown, an embodiment of the present invention provides an unknown signal recognition method based on adversarial learning, comprising the following steps:
[0074] S1. Obtain a signal modulation recognition data set, and construct the model structures of a convolutional neural network classifier (referred to as the classifier) and a generative adversarial network respectively, wherein the generative adversarial network includes a generator network and a discriminator network; the input of the generator network is random noise (the sequence length of which is consistent with the real sample), which is used to generate confusion samples for tuning and training the classifier (in order to achieve the purpose of identifying unknown signal categories); the input of the discriminator includes real samples and generated confusion samples, which are used for the authenticity discrimination result of the current input signal (real sample or confusion sample); the input of the classifier is a signal sample or a target signal to be identified, which includes a signal feature vector extraction network and a signal recognition output layer, wherein the signal feature vector extraction network is used to extract the signal feature vector of the signal sample (including confusion sample and real sample data) or the target signal to be identified; the signal recognition output layer is used to calculate the classification probability of each known (signal) modulation category, and output the maximum classification probability and its corresponding known modulation category index, so as to obtain the classification and recognition result of the current input signal (confusion sample, real sample data or target signal to be identified).
[0075] Specifically, this embodiment uses the publicly available signal dataset "Panoradio HF" as the signal modulation identification dataset required for this embodiment. This dataset covers 18 radio signals with different waveforms: Morse Code, AM, USB, Navtex, MT63, DominoEx, Olivia 32 / 1000, Olivia 16 / 1000, Olivia 16 / 500, RTTY 100 / 850, RTTY 50 / 170, QPSK31, PSK63, fax, RTTY 45 / 170, PSK31, and LSB. Each signal is a 2048-dimensional IQ dual-channel signal.
[0076] For example, the data generation process in this embodiment includes: first, using standard software to modulate speech, music, and text information, then segmenting the modulated signal into several short time series; each time series is interfered with by Gaussian noise and subjected to random frequency and phase shifts. The data synthesized through this process can have a high degree of similarity to the actual received signal. The relevant parameters of the data set are shown in Table 1:
[0077] Table 1 Dataset related parameters
[0078] Parameter name Value Sampling frequency 6kHz Random frequency offset range ±250Hz Signal-to-noise ratio (SNR) -10dB:25dB
[0079] Specifically, the classifier based on convolutional neural network (CNN) used in this embodiment is as follows: Figure 2 As shown, it includes multiple convolutional layers (conv), batch normalization layers (BatchNorm, abbreviated as bn), Dropout layers (dr1, dr2, dr3), and 1 average pooling layer (AdaptiveAvgPool 1d) and a connection layer (Linear). The Dropout layer is added after a specific layer to improve the generalization ability. In this embodiment, after each stacking of three layers of convolutional layers and batch normalization layers, a Dropout layer is added, that is, a layer of Dropout layer connected after alternating three layers of convolutional layers and batch normalization layers constitutes a basic stacking block. After several cascaded basic stacking blocks, an average pooling layer and at least one fully connected layer are sequentially connected to output the classification results of the signal.
[0080] Preferably, in this embodiment, a total of three Dropout layers are set, that is, a total of 9 convolutional layers and 9 batch normalization layers, wherein the convolutional layer is configured as follows: the first convolutional layer (conv1) uses a convolution kernel of size 8×1 from 2 input channels to 64 output channels, a step size of 1, and an edge padding of 1; the next few convolutional layers (conv2 to conv9) adjust the number of output channels and the convolution kernel size according to different settings, keeping the step size and padding strategy consistent. In particular, a step size of 2 is used in conv3, conv6, and conv9 to achieve feature map downsampling. That is, a step size of 2 is used in the last convolution layer of each basic stacking block. In addition, the model includes 9 batch normalization layers, corresponding to the output after each convolution layer, which are used to stabilize the training process and accelerate convergence. The processing process diagram of the batch normalization layer is shown as follows: Figure 3 As shown. After the specific convolution layer, add the Dropout layer (dr1, dr2, dr3) and set the deactivation rate to 0.2, as shown Figure 4 As shown, this further enhances the model's resistance to overfitting. At the end of the network, a global average pooling layer is used to map the multidimensional features to one-dimensional features. Finally, a fully connected layer is used to complete the mapping from features to the specified number of categories. For example, this fully connected layer is a fully connected layer with a softmax function, which is used to calculate the classification probability of each known modulation category and output the maximum classification probability and its corresponding known modulation category index. The specific classifier network parameter settings are shown in Table 2:
[0081] Table 2 Classifier network parameter settings
[0082] Network layer Network layer type size Activation Function Edge expansion parameters conv1 Conv1d 64 LeakyReLU 1 bn1 BatchNorm 64 LeakyReLU - conv2 Conv1d 64 LeakyReLU 1 bn2 BatchNorm 64 LeakyReLU - conv3 Conv1d 128 LeakyReLU 1 bn3 BatchNorm 128 LeakyReLU - dr1 Dropout - - conv4 Conv1d 128 LeakyReLU 1 Bn4 BatchNorm 128 LeakyReLU - Conv5 Conv1d 128 LeakyReLU 1 bn5 BatchNorm 128 LeakyReLU - conv6 Conv1d 128 LeakyReLU 1 bn6 BatchNorm 128 LeakyReLU - dr2 Dropout - - conv7 Conv1d 128 LeakyReLU 1 bn7 BatchNorm 128 LeakyReLU - conv8 Conv1d 128 LeakyReLU 1 bn8 BatchNorm 128 LeakyReLU - conv9 Conv1d 128 LeakyReLU 1 bn9 BatchNorm 128 LeakyReLU - dr3 Dropout - - - avgpool AdaptiveAvgPool1d - - - fc Linear Nun_cls - -
[0083] It should be noted that "Nun_cls" in Table 1 represents the number of recognition categories of the classifier (the number of known modulation categories). Each convolutional layer and batch normalization layer is set with a corresponding activation function, such as LeakyReLU.
[0084] In one embodiment, the generator network used in this embodiment includes a transposed convolution layer (ConvTranspose1d) and a batch normalization layer, such as Figure 5 As shown, the generator network includes a stacked structure of several block unit layers consisting of transposed convolution layers and batch normalization layers, and the stacked structure is connected to a transposed convolution layer. In this embodiment, 4 block unit layers consisting of transposed convolution layers and batch normalization layers are included. It should be noted that the transposed convolution layers and batch normalization layers of the generator network are both provided with corresponding activation functions. In this embodiment, the activation function of the last transposed convolution layer is set to Tanh, and the activation functions of the remaining network layers (transposed convolution layers, batch normalization layers) are all set to ReLU.
[0085] See also Figure 5 , the generator network starts with a random noise vector with 100 dimensions (user-set value, which can be adjusted based on the actual application scenario), gradually expands its feature dimension through a series of convolutional transposition layers, and finally generates an output signal with 2 channels and a length of 2048. Specifically, the input noise vector is first expanded from 100 dimensions to 512 dimensions through a convolutional transposition layer, followed by batch normalization and application of the ReLU activation function. The network then gradually reduces the feature dimension through another three convolutional transposition layers. With each layer, the size of the feature map increases successively, and batch normalization and ReLU activation functions are applied after each layer. In the last convolutional transposition layer, the feature dimension is reduced to the target number of channels (2 channels), and the final output signal is obtained through the Tanh activation function. Finally, linear interpolation is used to adjust the length of the output signal to 2048 to match the target signal length. The specific generator network parameter settings are shown in Table 3:
[0086] Table 3 Generator network parameter settings
[0087] Network layer Network layer type size Activation Function Edge expansion parameters conv1 ConvTranspose1d 512 ReLU 0 bn1 BatchNorm 512 ReLU - conv2 ConvTranspose1d 256 ReLU 1 bn2 BatchNorm 256 ReLU - conv3 ConvTranspose1d 128 ReLU 1 bn3 BatchNorm 128 ReLU - conv4 ConvTranspose1d 64 ReLU 1 bn4 BatchNorm 64 ReLU - conv5 ConvTranspose1d 2 Tanh 1
[0088] In one embodiment, the discriminator network used in this embodiment is as follows: Figure 6 As shown, it includes a convolutional layer, which is connected to a stacked structure of block unit layers consisting of convolutional layers and batch normalization layers. The stacked structure is connected to the classification layer after a layer of average pooling layer (AdaptiveAvgPool 1d). In this embodiment, the discriminator network includes 3 block unit layers consisting of convolutional layers and batch normalization layers. The parameters of its model are specifically configured as follows: First, the signal size received by the input layer is (nc) x 2048, where nc represents the number of channels of the signal. The first convolutional layer uses 64 4x1 convolution kernels with a step size of 2, an edge padding of 1, and no bias parameters. Then the LeakyReLU activation function is applied (the slope is set to 0.2). The second convolutional layer doubles the feature dimension to 128, also using a 4x1 convolution kernel, a step size of 2, an edge padding of 1, and no bias parameters. This layer is followed by a batch normalization layer and a LeakyReLU activation function. The third convolutional layer further doubles the feature dimension to 256, and the fourth convolutional layer increases the feature dimension to 512. The network uses a global average pooling layer (AdaptiveAvgPool1d) to reduce the feature dimension from the spatial dimension to 1 to accommodate processing by the subsequent fully connected layer. Finally, the classification layer consists of a fully connected layer and a sigmoid activation function, mapping the reduced features to a probability value used to determine whether the current input signal is a true signal or a scrambled signal. The specific discriminator network parameter settings are shown in Table 4:
[0089] Table 4 Discriminator network parameter settings
[0090] Network layer Network layer type size Activation Function Edge expansion parameters conv1 Conv1d 64 LeakyReLU 1 conv2 BatchNorm 128 LeakyReLU 1 bn1 Conv1d 128 LeakyReLU - conv3 BatchNorm 256 LeakyReLU 1 bn2 Conv1d 256 LeakyReLU - conv4 BatchNorm 512 LeakyReLU 1 bn3 Dropout 512 LeakyReLU - avgpool AdaptiveAvgPool1d - - - fc Linear 1 Sigmoid -
[0091] It should be noted that the convolution layer and batch normalization layer of the discriminator network of the present application are both provided with corresponding activation functions. In this embodiment, the activation functions of the convolution layer and the batch normalization layer are both set to LeakyReLU.
[0092] S2. Initialize the network parameters of the classifier, generator network, and discriminator network, including random initialization of weights and biases, and selection of an optimization algorithm and learning rate;
[0093] S3. Based on the network parameter settings and experimental dataset in step S2, the generator network and the discriminator network are jointly trained. The generator network generates obfuscated samples and optimizes the obfuscated samples using adversarial training. The discriminator network judges the authenticity of the obfuscated samples, obtains the generator network loss, and feeds the generator network loss back to the generator network for iterative optimization, so that the obfuscated samples generated by the generator network are close to the distribution of the real sample data. The generator network loss can be expressed as:
[0094]
[0095] Where D is the discriminator network, G is the generator network, D() represents the output of the discriminator network, G() represents the output of the generator network, log D(iG(z i )) is the first loss of the generator network, H(z i ,P) is the second loss of the generator network, z i is the random noise input, P is the center of each classification category, n is the number of samples, and β is the balance hyperparameter.
[0096] Step S4. Add the confusion samples generated by the generator network to the classifier training set, and then train the convolutional neural network classifier based on the current classifier training set;
[0097] Step S5. performing signal preprocessing on the target signal to be identified to match the input of the convolutional neural network classifier;
[0098] The target signal to be identified is then input into the convolutional neural network classifier trained in step S4 for modulation recognition and classification, obtaining a recognition result. If the maximum classification probability output by the convolutional neural network classifier exceeds a predetermined threshold, the modulation category of the target signal to be identified is determined based on the category corresponding to the maximum classification probability. Otherwise, the modulation category of the target signal to be identified is unknown. This allows the classifier, trained with the addition of the confounding samples, to recognize both known and unknown signal categories.
[0099] Preferably, the convolutional neural network classifier includes a convolution layer, an average pooling layer, a batch normalization layer, a fully connected layer, and a dropout layer. The convolution layer is used to perform a convolution operation to extract the spatial features of the input data. The convolution layer can be expressed as:
[0100]
[0101] in, Represents the i-th feature map output by the current convolutional layer, that is, l is used to represent the layer number of the current convolutional layer, i is used to represent the output channel number of the current convolutional layer, and h l-1 Represents the input feature map of the current convolutional layer, is the convolution kernel, subscript m is the convolution kernel number, is the bias term of the current convolutional layer, f(·) is the activation function, Represents the convolution operation;
[0102] The average pooling layer is used to calculate the average value of adjacent pixels on the feature map to reduce the feature dimension and increase the robustness to position changes. The average pooling layer can be expressed as:
[0103]
[0104] in, Represents the pooling result of the current average pooling layer, avgpool(·) represents the average pooling operation, Represents the input feature map of the current average pooling layer, and l is the layer number of the current Dropout layer;
[0105] The batch normalization layer is used to provide batch normalization processing for different characteristics of the input data. The batch normalization layer can be expressed as:
[0106]
[0107] in, is the output after batch normalization of layer l, represents the batch normalization function, Represents the input feature map of the current batch normalization layer;
[0108] The fully connected layer is used to integrate the features of the previous layer and map them to the label space of the sample. The fully connected layer can be expressed as:
[0109]
[0110] in, is the fully connected layer output of layer l, W l and b l are the weight and bias of the current fully connected layer, is the activation function, n′ l-1 Represents the input features of the current fully connected layer;
[0111] The Dropout layer is used to prevent overfitting by randomly discarding the activation outputs of some neurons during the training phase. The Dropout layer can be expressed as:
[0112]
[0113] Among them, Dropout(·,p) represents the Dropout function, Represents the output result of the current Dropout layer, that is, the result after applying the Dropout function, p is the drop probability, l is the layer number of the current Dropout layer, is the output of the batch normalization layer connected to the Dropout layer, which represents the input feature map of the current Dropout layer.
[0114] Preferably, the discriminator network in the generative adversarial network includes a convolution layer, a batch normalization layer and an average pooling layer; the input sample is classified through the convolution layer, the batch normalization layer and the activation function to determine the probability that the input sample is a known class signal.
[0115] Preferably, the transposed convolution layer of the generator network is used to perform upsampling operations on the input features using transposed convolution kernels, and to restore the spatial resolution of the signal by increasing the size of the feature map layer by layer. The transposed convolution layer includes several transposed convolution kernels, and generates an expanded feature map through the transposed convolution operation. The transposed convolution layer operation can be expressed as:
[0116] a (l) =W (l) ★x (l-1) +b (l)
[0117] Among them, a (l) Represents the output feature map of the current transposed convolutional layer, x (l-1) Represents the input feature map of the current transposed convolutional layer, l is the layer number of the current transposed convolutional layer, W (l) and b (l) They represent the transposed convolution kernel weights and bias of the current transposed convolution layer respectively, and ★ represents the transposed convolution operation.
[0118] The batch normalization layer is used to normalize the feature maps of each layer to stabilize the training process and speed up convergence;
[0119] The activation function is a nonlinear transformation used to activate the feature map after batch normalization.
[0120] Preferably, the discriminator network is trained using both the obfuscated samples and the real data, and the loss value of the discriminator network for the real data and the loss value for the obfuscated samples are calculated respectively, and the two errors are combined to obtain a discriminant loss model. Based on the obtained loss value of the real data and the loss value of the obfuscated samples, the discriminator network is iterated through the error back propagation algorithm to update the discriminator network parameters and improve the discriminant network's ability to distinguish between real data and obfuscated samples. The discriminant loss model can be expressed as:
[0121]
[0122] Among them, D is the discriminator network, G is the generator network, G() and D() are the output of the generator network and the output of the discriminator network respectively, n is the number of samples, x i is the real sample, z i is a random noise input.
[0123] Preferably, the adversarial training in step S3 includes the following steps:
[0124] S301-1. Input random noise to the generator network to generate a confused sample;
[0125] S301-2. The discriminator network judges the obfuscated samples and calculates the first loss of the generator network. The first loss of the generator network is calculated based on the difference between the discriminator network's output of the obfuscated data and the true label. The first loss of the generator network can be expressed as:
[0126]
[0127] S301-3. Obtain the feature center of each true category (such as obtained based on a clustering algorithm), which can be expressed as:
[0128]
[0129] Among them, k is the true category, P k As the feature center, the feature sample set of the kth category can be expressed as:
[0130]
[0131] Among them, B ki′ represents the i′(i ′ =1,…,n k ) feature samples, that is, the feature vector before the classifier output layer, n k Indicates the number of samples in the kth category.
[0132] S301-4. Based on the obtained feature center and feature sample set, the second loss of the generator network is calculated. The second loss of the generator network can be expressed as:
[0133]
[0134] Where n is the number of samples, N is the number of known modulation types, S(z i ,P k )=softmax(de(C(G(z i )),P k ), C(·) is defined as the output of the network structure of the classifier without the output layer, that is, the input feature vector of the output layer of the classifier, which is used to represent the signal feature vector, and de(·) is the Euclidean distance:
[0135]
[0136] Where x represents the input signal of the classifier, and m is the dimension of the signal feature vector, that is, the dimension of the input feature vector of the output layer of the classifier;
[0137] S301-4. Combine the first loss of the generator network and the second loss of the generator network to obtain the generator network loss and construct a generator network loss model.
[0138] Preferably, step S4 includes the following steps:
[0139] S401-1. Initialize classifier network parameters;
[0140] S401-2. Perform forward propagation on the real data sample input, obtain the prediction result through the classifier network, and calculate the classification cross entropy loss between the real data and the real label;
[0141] S401-3. According to the generator network second loss obtained in step S3, the cross entropy loss and the generator network second loss are combined to obtain a classifier loss model, which can be expressed as:
[0142]
[0143] Among them, C is the classifier, L(x i ,y i ) is the classification cross entropy loss, x i is the real sample, y i is the label of the real sample, H(z i ,P) is the second loss of the generator network, β is the balance hyperparameter, and n is the number of samples.
[0144] Preferably, in step S5, when performing modulation recognition classification of the signal, known and unknown modulation recognition are included, wherein the unknown modulation recognition determines the unknown nature of the signal modulation recognition data set by setting a threshold, and the threshold can be expressed as:
[0145]
[0146] Where α is a smoothing hyperparameter and K is the number of known categories. In practice, the optimal value of the smoothing hyperparameter α can be selected using grid search.
[0147] Preferably, when the highest output logic value of the input signal modulation recognition data set through the classifier is greater than the threshold thr, the classifier will classify it as a known category in the traditional classifier manner; if it is less than the threshold thr, it is considered to be an unknown category, and the classification result can be expressed as:
[0148]
[0149] Where C(·) is defined as the output of the network structure of the classifier without the output layer, which is used to characterize the signal feature vector of the input signal of the classifier, and q is the signal modulation recognition dataset.
[0150] Specifically, in this embodiment, the experimental environment is a 64-bit Ubuntu 18.04LTS system, the model is built using the PyTorch framework, and the NVIDIA RTX 3090 graphics card is used to accelerate the training process. The experimental data uses the public modulated signal dataset Panoradaio HF, of which 80% of the data is divided into a training set and 20% is used for testing. During the training process, the generator uses the cross-entropy loss function, and the optimizer uses SGD, where the momentum parameter is set to 0.9 and the decay parameter is set to 0.0001. The discriminator uses a binary cross-entropy loss function, and the optimizer uses Adam. The number of training iterations is set to 200. The batch size of both training and test data is set to 1024.
[0151] In order to test the signal open set recognition performance of the unknown signal recognition method based on adversarial learning proposed in this application, this embodiment randomly selects 15 categories from 18 modulation categories as known categories, and the remaining three categories as unknown categories. That is, the classifier is trained as a model that can recognize 15 modulation categories. Confusion samples are added during the training process to enhance the model's recognition ability for unknown categories. The average value of the ten experimental results is taken as the final result. For the convenience of comparison, the open set recognition method of this embodiment is compared with the standard classification method. The accuracy of the known class and the unknown class in the test class are compared in the modulation data set. The specific comparison results are shown in Table 5, and the classification statistical indicators of each modulation category are shown in Table 6:
[0152] Table 5 Experimental results of modulation dataset
[0153]
[0154] Table 6 Statistical indicators of each modulation category
[0155] Signal Type P(%) R(%) F1(%) Morse Code 77.87 92.37 84.50 AM 94.03 72.15 81.65 USB 80.35 80.40 80.37 DominoEx 78.15 73.36 75.68 Navtex 85.74 95.03 90.15 Olivia 32 / 1000 74.09 88.08 80.48 MT63 93.26 79.60 85.89 Olivia 16 / 1000 72.16 71.84 72.00 Olivia 16 / 500 98.62 79.02 87.74 RTTY 50 / 170 92.40 79.43 85.43 RTTY 100 / 850 75.76 91.16 82.75 QPSK31 70.16 88.49 78.27 PSK63 93.65 95.73 94.68 fax 90.50 83.69 86.96 Unknown signal 87.71 84.94 86.30
[0156] According to the experimental results in Table 5, the unknown signal recognition method based on adversarial learning proposed in the embodiment of the present application has a significant advantage in the accuracy of unknown classes. Compared with the unknown class accuracy of the standard classification model of only 26.86%, the open set recognition model improves this to 85.17%. The addition of confusing samples enables the model to learn a wider range of unknown signal features, thus having a huge advantage in identifying unknown signals. In terms of the accuracy of known classes, the performance of the method proposed in the embodiment of the present application is slightly lower than that of the standard classification model (87.23%-91.35%). This decline may be due to the fact that the model sacrifices part of the recognition accuracy of known classes in the process of trying to generalize and identify unknown classes.
[0157] At the same time, according to the classification statistical indicators of each modulation category in Table 6, it can be seen that the classifier has relatively high precision, recall and F1 scores for unknown signals, which is particularly critical for scenarios facing unknown signals in practical applications. The high F1 score indicates that the model can effectively identify most unknown class signals while maintaining a good balance between precision and recall. In addition to unknown class signals, the unknown signal recognition method based on adversarial learning proposed in the embodiment of the present application also shows good recognition performance on known signal types. For example, the precision and recall rates of the PSK63 signal type are as high as 93.65% and 95.73% respectively, and the F1 score reaches 94.68%, showing the high recognition ability of the present application method for such signals. Similarly, the high recall rate (95.03%) and relatively high precision rate (85.74%) of the Navtex signal type demonstrate the advantages of the present application method in identifying most of its positive class samples. Furthermore, for certain signal types, such as Olivia 16 / 1000 and QPSK31, the precision and recall rates are relatively low, likely because their waveforms are similar to other known signals, making them difficult to distinguish. Therefore, the open-set recognition model derived from the proposed method improves the model's ability to discriminate unknown categories while maintaining a relatively high recognition accuracy for known categories, ensuring the model's usability and robustness in practical applications.
[0158] The present invention is not limited to the above optional embodiments, and anyone can derive various other forms of products under the guidance of the present invention. The above specific embodiments should not be understood as limiting the scope of protection of the present invention. The scope of protection of the present invention should be based on the definition in the claims, and the description can be used to interpret the claims. The above shows and describes the basic principles and main features of the present invention and the advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments, and the above embodiments and descriptions are only for illustrating the principles of the present invention.
[0159] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification and features of different embodiments or examples without contradiction.
[0160] Furthermore, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the technical features being referred to. Thus, a feature defined as "first," "second," etc., may explicitly or implicitly include at least one of the features.
[0161] Any process or method description described in a flowchart or otherwise in this specification may be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may be performed in a different order than shown or discussed, including performing functions in a substantially simultaneous manner or in a reverse order depending on the functions involved, as should be understood by those skilled in the art to which the embodiments of the present application pertain.
[0162] It should be understood that various parts of the present application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used to implement: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application-specific integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0163] Those skilled in the art will understand that all or part of the steps in the method of the above embodiment can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.
[0164] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
[0165] The above are only some embodiments of the present application. For those skilled in the art, several modifications and improvements can be made without departing from the inventive concept of the present application, and these all fall within the scope of protection of the present application.
Claims
1. A method for identifying unknown signals based on adversarial learning, characterized in that: The following steps are involved: Step S1. Obtain a signal modulation recognition dataset and construct the model structures of a convolutional neural network classifier and a generative adversarial network respectively; The generative adversarial network includes a generator network and a discriminator network. The input of the generator network is random noise with the same sample data length as the real sample data, which is used to generate a confused sample of the current input random noise. The input of the discriminator network is real sample data or confused sample, which is used to output the authenticity judgment result of the current input sample. The real sample data refers to the signal sample in the acquired signal modulation recognition dataset. The input of the convolutional neural network classifier is a signal sample or a target signal to be identified. It includes a signal feature vector extraction network and a signal recognition output layer. The signal recognition output layer is used to calculate the classification probability of each known modulation category and output the maximum classification probability and its corresponding known modulation category index. Step S2. Initialize the network parameters of the convolutional neural network classifier, generator network, and discriminator network, including random initialization of the weights and biases of each network, and select the network parameter optimization algorithm and learning rate; Step S3. Jointly train the generator network and the discriminator network. The generator network generates obfuscated samples and optimizes them using adversarial training. The discriminator network determines the authenticity of the obfuscated samples, obtains the generator network loss, and feeds the generator network loss back to the generator network for iterative optimization, so that the obfuscated samples generated by the generator network are close to the distribution of the real sample data. Step S4. Add the confusion samples generated by the generator network to the classifier training set, and then train the convolutional neural network classifier based on the current classifier training set; Step S5. performing signal preprocessing on the target signal to be identified to match the input of the convolutional neural network classifier; The target signal to be identified is then input into the convolutional neural network classifier trained in step S4 for modulation recognition and classification to obtain the recognition result: if the maximum classification probability output by the convolutional neural network classifier exceeds the established classification threshold, the modulation category recognition result of the current target signal to be identified is determined based on the category corresponding to the maximum classification probability; otherwise, the modulation category of the current target signal to be identified is an unknown category.
2. The method according to claim 1, wherein The convolutional neural network classifier includes a convolution layer, an average pooling layer, a batch normalization layer, a fully connected layer, and a dropout layer. The convolution layers and batch normalization layers connected in sequence form a first unit layer. After each stack of three first unit layers, a dropout layer is added to form a first basic stacking block. The first stacking structure composed of several first basic stacking blocks is followed by an average pooling layer and at least one fully connected layer. Among them, the last fully connected layer of the convolutional neural network classifier is the signal recognition output layer, and the remaining network layers are signal feature vector extraction networks; and each convolution layer and batch normalization layer of the convolutional neural network classifier is set with a corresponding activation function.
3. The method according to claim 1, wherein The generator network includes a transposed convolution layer and a batch normalization layer. The generator network in turn includes a second stacking structure of stacking several second block unit layers, and the second stacking structure is further connected to a convolution layer; wherein the second block unit layer is composed of a transposed convolution layer and a batch normalization layer connected in sequence; and each transposed convolution layer and batch normalization layer of the generator network is set with a corresponding activation function.
4. The method according to claim 3, wherein The generator network consists of four second-block unit layers, a total of five deconvolution layers and four batch normalization layers; The first deconvolution layer is used to receive random noise and start feature expansion by using 8N 4×1 deconvolution kernels, setting the step size to 2, the edge padding to 0, and N to the preset value; The second deconvolution layer uses 4N 4×1 deconvolution kernels with a stride of 2 and an edge padding of 1; The third deconvolution layer uses 2N 4×1 deconvolution kernels with a stride of 2 and an edge padding of 1; The fourth deconvolution layer uses N 4×1 deconvolution kernels with a stride of 2 and an edge padding of 1; The fifth deconvolution layer uses two 4×1 deconvolution kernels with a stride of 2 and an edge padding of 1. The fifth deconvolution layer normalizes the deconvolution operation results to [-1, 1] through its activation function.
5. The method according to claim 1, wherein The discriminator network includes a third stacking structure consisting of several stacked first-block unit layers, which is followed by an average pooling layer and at least one fully connected layer. The last fully connected layer maps its input features to a probability value based on the Sigmoid activation function, which is used to characterize the probability of whether the current input sample is real sample data.
6. The method according to claim 5, wherein The third stacked structure of the discriminator network includes three first block unit layers, an average pooling layer and a fully connected layer; In the discriminator network, the first convolutional layer uses N 4×1 convolution kernels with a stride of 2 and an edge padding of 1, where N is a preset value. The second convolutional layer uses 2N 4×1 convolution kernels with a stride of 2 and an edge padding of 1; The third convolutional layer uses 4N 4×1 convolution kernels with a stride of 2 and an edge padding of 1; The fourth convolutional layer uses 8N 4×1 convolution kernels with a stride of 2 and an edge padding of 1; A batch normalization layer is set after the second to fourth convolutional layers respectively, and both the convolutional layer and the batch normalization layer use the LeakyReLU activation function, and the negative slope of the activation function is set to 0.2; Then use the average pooling layer to reduce the dimension of the output features of the third batch normalization layer and send them to the fully connected layer; The fully connected layer maps its input features to a single output and compresses the output to the range [0, 1] through the Sigmoid activation function.
7. The method according to any one of claims 1 to 6, wherein: The discriminant loss model used by the discriminator network during training is: Among them, D is the discriminator network, G is the generator network, D() represents the output of the discriminator network, g() represents the output of the generator network, n is the number of samples, x i is the real sample data, z i is a random noise input.
8. The method according to any one of claims 1 to 6, wherein: The loss of the generator network during training includes the first loss of the generator network and the second loss of the generator network; Among them, the first loss of the generator network is: D() represents the output of the discriminator network, z i represents the random noise input to the generator network, and the subscript i is the sample index; The second loss of the generator network is: Among them, H(z i ,P) is the cross entropy of the signal feature vector distance between the confused sample and each cluster center of the modulation category clustering, P is the representation center of each known modulation category, and the output of the signal feature vector extraction network of the convolutional neural network classifier is used as the signal feature vector of the corresponding sample.
9. The method according to any one of claims 1 to 6, wherein: Step S4 includes the following steps: S401-1. Initialize classifier network parameters; S401-2. Input the real sample data into the classifier for forward propagation, obtain the prediction result based on the output of the classifier, and calculate the classification cross entropy loss between the real sample data and the real label; S401-3. Based on the second loss of the generator network, the classification cross entropy loss output by the classifier is combined to obtain the loss function of the classifier; Among them, the second loss of the generator network Among them, H(z i ,P) is the cross entropy of the distance between the signal feature vector of the confused sample and each cluster center of the modulation category cluster, z i Represents the random noise input to the generator network, subscript i is the sample index; P is the representation center of each known modulation category, and the output of the signal feature vector extraction network of the convolutional neural network classifier is used as the signal feature vector of the corresponding sample.
10. The method according to any one of claims 1 to 6, characterized in that In step S5, the classification threshold is set to: Where α is the preset smoothing hyperparameter, and K is the number of known modulation categories.
Citation Information
Patent Citations
Communication signal modulation pattern identification method and device based on self-supervised contrast learning
CN115935252A
Multi-instance multi-label learning aliasing modulation signal identification method under weak supervision
CN116340846A