A multi-discriminator generative adversarial network multi-terminal interference generation system and method
Patent Information
- Application Number
- CN202411400926.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-09
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2044-10-09
AI Technical Summary
[0004]上述方法虽可以生成多类别样本,但还存在如下问题:单个判别器拟合多个样本的W距离会使得判别器无法兼顾每一类数据的W距离,最终生成的数据与真实距离有差距;训练多判别器网络需要已知训练数据类别,无法用于类别未知的采集干扰信号
[0039]第一:在生成对抗神经网络中,生成器训练一直是个难题,生成对抗神经网络本质就是要求生成器生成的数据特征分布和训练数据具有相同特征。在生成对抗神经网络中鉴别器作用是最大程度区分数据是来自训练数据还是生成器生成数据。在多类别数据类型系统中,每个类别数据对应一个鉴别器,有利于提高鉴别器的鉴别效率,在多终端干扰噪声数据生成中,利用多鉴别器生成对抗神经网络性能要比单鉴别器生成对抗神经网络性能提高15%。
Smart Images

Figure CN119168015B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communication technology and relates to a multi-terminal interference generation system and method for a multi-discriminator generative adversarial network. Background Technology
[0002] From the first generation of mobile communication systems to today's 5G and 6G, the explosive growth of communication systems has led to a surge in the number of communication terminals. On the one hand, to increase the number of simultaneously online terminals and the total system capacity, various multiplexing technologies have emerged, such as frequency division multiplexing, time division multiplexing, wavelength division multiplexing, and spectrum sharing. On the other hand, the rapid development of industry applications has increased the testing and verification of new equipment and functions, as well as the complexity and cost of testing schemes due to large-scale traffic and connections from multiple users. This has led to the emergence of multi-terminal simulators, the key of which is to accurately model the terminal channel correlation and interference power distribution. Traditional interference modeling essentially uses a large amount of data to fit the distribution parameters, but due to the nonlinear distortion of the power amplifiers of interfering users, IQ imbalance, and other factors, interference spectrum leakage and its mirror spectrum are introduced on top of the original user spectrum, causing complexity in the interference distribution, which traditional methods are clearly inadequate for.
[0003] In 2014, Goodfellow proposed Generative Adversarial Networks (GANs), which synthesize data based on similar statistical distributions in a given dataset. They employ adversarial training and implicit modeling methods to avoid analytically modeling the high-dimensional distribution of the input data. Currently, there are dozens of GAN network structures and their main derivatives. CGAN introduces class indicator vectors for multi-class sample generation, while WGAN introduces Wasserstein distance (W distance) to improve the distribution distance. To achieve W distance fitting for multi-class sample generation, the discriminator and classifier in CGAN are separated; the discriminator fits the W distance, and the classifier determines the sample category.
[0004] While the above methods can generate multi-class samples, they still have the following problems: fitting the W distance of multiple samples with a single discriminator will make it impossible for the discriminator to take into account the W distance of each class of data, and the final generated data will have a difference from the true distance; training a multi-discriminator network requires known training data classes, and cannot be used to collect interference signals with unknown classes. Summary of the Invention
[0005] In view of this, the purpose of this invention is to provide a multi-terminal interference generation system and method using a multi-discriminator generative adversarial network. The objective is to label the training dataset, then use a multi-discriminator network to calculate the distribution distance of different distribution categories individually, obtain a fused value of the loss functions of multiple discriminator networks, and then use the fused loss to update the discriminator network D.
[0006] To achieve the above objectives, the present invention provides the following technical solution:
[0007] A multi-terminal interference generation system using a multi-discriminator generative adversarial network (GAN) comprises: at least one interference noise sample dataset module, at least one sample data type classifier, several discriminators, at least one generator, and at least one classifier, wherein...
[0008] The interference noise sample dataset module is used to generate multi-terminal interference noise sample data and add interference noise classification codes and noise classification label values to the multi-terminal interference noise data. Each type of terminal interference noise data is set with a unique corresponding interference noise classification code and noise classification label value.
[0009] The sample data type classification module inputs the data into the discriminator corresponding to the noise classification label value in the interference noise sample dataset for training.
[0010] The discriminator module includes several discriminators, each of which corresponds to a noise type specified by a noise classification label value;
[0011] The generator module is trained based on different noise classification label values and different discriminators in the interference noise sample dataset. After training, the generator is used to generate terminal interference noise data.
[0012] Specifically, the generator is input into a mini-batch of noise samples from the training set to obtain terminal noise data. The terminal noise data is then input into a discriminator corresponding to the noise classification label value of the mini-batch noise samples to calculate the generator gradient parameters. The terminal noise data and noise classification label value from the mini-batch noise samples are input into the corresponding discriminator to calculate the discriminator gradient parameters. The parameters of the generator and the corresponding discriminator are updated based on the calculated generator gradient parameters and discriminator gradient parameters, respectively.
[0013] The classifier module is used to correctly identify the noise classification label value corresponding to the interference noise data, and to determine the quality of the interference noise data generated by the generator in the neural network.
[0014] Furthermore, the generator module includes an input layer (in), a classification layer (labels), several deconvolutional layers, and an output layer. The deconvolutional layers are used to map the input data features from a low-dimensional space back to a high-dimensional space, thereby facilitating the reconstruction of input signal details and converting random noise into a high-quality output signal. The input layer is used to input random number vectors. The classification layer is used to input the classification code of the terminal interference noise data. The output layer is completed by the Tanh function and is used to output the generated interference noise data.
[0015] Furthermore, the discriminator module includes an input layer (imageinput), a classification layer (labels), several convolutional layers, and an output layer. The convolutional layers are used to extract features of the terminal interference noise data using convolution operations, effectively capturing the spatial structure and local correlations of the terminal interference noise data. The input layer is used to input the terminal interference noise data, and the classification layer is used to input the terminal interference noise classification code. The output layer is composed of a softMax function, which outputs the probability value for each noise type determined by the discriminator.
[0016] Furthermore, the classifier module consists of an input layer imageinput, several convolutional layers, and an output layer; the input layer is used to input terminal interference noise data, the labels layer is used to input the terminal interference noise classification code, that is, the classification code of the terminal interference noise data; the output layer is composed of a softMax function, which is the probability value for the noise classifier to determine each type of noise.
[0017] This invention also proposes a multi-terminal interference generation method for multi-discriminator generative adversarial networks, which includes the following steps:
[0018] S1. Based on the requirements for generating multi-terminal interference noise data, construct an interference noise sample dataset, which includes at least terminal interference noise data, interference noise classification code, and noise classification label value.
[0019] S2. Classify the interference noise sample dataset according to the noise classification label value to obtain several small batches of interference sample noise data with the same noise classification label value. All small batches of interference sample noise data form a training set.
[0020] S3. Input the small batch of interference sample noise data in the training set into the generator to obtain terminal interference noise data. Input the terminal interference noise data into the discriminator corresponding to the noise classification label value of the small batch of interference sample noise data to calculate the generator gradient parameters.
[0021] S4. Input the terminal interference noise data and noise classification label values from the small batch of interference sample noise data into the corresponding discriminator, and calculate the discriminator gradient parameters.
[0022] S5. Update the parameters of the generator and the corresponding discriminator based on the calculated generator gradient parameters and discriminator gradient parameters respectively;
[0023] S6. Use the updated generator to generate a set of terminal interference noise data. Classify the terminal interference noise data using a classifier. If the classification accuracy reaches the threshold, the training is complete. Save the current generator and use it to generate interference data. If the classification accuracy does not reach the threshold, return to step S3 and repeat the training until the threshold is reached.
[0024] Furthermore, in step S3, the generator gradient parameters are calculated as follows:
[0025] YGeneratedLoss=-crossentropy(YGenerated,T,'WeightsFormat','UC')
[0026] lossG = YGeneratedLoss
[0027] gradientsG=dlgradient(lossG,netG.Learnables,'RetainData',true,'EnableHigherDerivatives',true)
[0028] Where YGeneratedLoss represents the cross-entropy value of the generated terminal interference noise data through the discriminator, YGenerated represents the terminal interference noise data, and T is the noise classification label value corresponding to YGenerated; 'WeightsFormat' represents the option to specify the dimension of the weight parameter, 'UC' indicates that the elements in the weight vector correspond to the channel dimension of the predicted value, crossentropy() is the cross-entropy calculation function; lossG represents the loss value obtained by the discriminator from the terminal interference noise data generated by the generator.
[0029] `gradientsG` represents the generator gradient parameters, `netG.Learnables` represents the learnable parameters of the generator network, `'RetainData', true` indicates that intermediate data used for gradient calculation is retained, `'EnableHigherDerivatives', true` indicates that higher-order derivative calculations are enabled, and `dlgradient()` is the neural network gradient calculation function.
[0030] Furthermore, in step S4, the discriminator gradient parameters are calculated as follows:
[0031] YRealLoss=-crossentropy(YReal,T,'WeightsFormat','UC')
[0032] lossD=YRealLoss+(1-YGeneratedLoss)
[0033] gradientsD=dlgradient(lossD,netD.Learnables,'RetainData',true,'EnableHigherDerivatives',true)
[0034] Where YRealLoss represents the cross-entropy value of the real terminal interference noise data through the discriminator, YReal is the terminal interference noise data in the mini-batch interference noise sample data; T is the noise classification label value corresponding to YReal; lossD represents the loss value of the discriminator, netD.Learnables represents the learnable parameters of the discriminator network, crossentropy() is the cross-entropy calculation function; and dlgradient() is the neural network gradient calculation function.
[0035] Furthermore, in step S5, the parameters of the generator and discriminator are updated as follows:
[0036] [netG, trailingAvgG, trailingAvgSqG] = adamupdate(netG, gradientsG, trailingAvgG, trailingAvgSqG, iteration, learnRate, gradientDecayFactor, squaredGradientDecayFactor).
[0037] Where netG represents the update generator network, trailingAvgG represents the moving average of the parameter gradients, trailingAvgSqG represents the moving average of the squared gradients of the parameters, iteration represents the number of iterations, learnRate represents the global learning rate, gradientDecayFactor represents the gradient decay factor, squaredGradientDecayFactor represents the squared gradient decay factor, and adamupdate() represents the parameter update calculation function using the Adam algorithm for deep learning.
[0038] The beneficial effects of this invention are as follows:
[0039] First, generator training has always been a challenge in Generative Adversarial Neural Networks (GANs). The essence of GANs is to require that the data generated by the generator has the same feature distribution as the training data. In GANs, the discriminator's role is to distinguish, to the greatest extent possible, whether the data comes from the training data or the generator's data. In multi-class data type systems, each class of data corresponds to a discriminator, which helps improve the discriminator's discrimination efficiency. In the generation of noisy data from multiple terminals, a multi-discriminator GAN performs 15% better than a single-discriminator GAN.
[0040] Second: Multi-discriminator (MDD) Generative Adversarial Neural Networks (GANs) are suitable for generating multi-terminal interference noise. The training dataset for multi-terminal interference noise can be classified using data from interfering terminals. Therefore, directly mapping the number and type of interfering terminals to discriminators one-to-one is beneficial for improving the training effect of MDDs. In actual deployment, since only the number of discriminators is increased without modifying the generator, there is no increase in actual deployment complexity.
[0041] Other advantages, objectives, and features of the invention will be set forth in part in the description which follows, and in part will be apparent to those skilled in the art from the following examination, or may be learned from practice of the invention. The objectives and other advantages of the invention can be realized and obtained through the following description. Attached Figure Description
[0042] To make the objectives, technical solutions, and advantages of the present invention clearer, the preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings, wherein:
[0043] Figure 1 A schematic diagram of the overall process of a multi-terminal interference generation method for a multi-discriminator generative adversarial network;
[0044] Figure 2 A simplified structural diagram of a multi-terminal interference generation system using a multi-discriminator generative adversarial network;
[0045] Figure 3 The diagrams below illustrate the generative adversarial neural network structures with multiple discriminators and a single discriminator, as shown in the embodiments. Figure 3 a is a four-discriminator Figure 3 b is a discriminator;
[0046] Figure 4 A schematic diagram illustrating the training data generation process for a multi-discriminator adversarial neural network;
[0047] Figure 5 A schematic diagram of the training process for a multi-discriminator generative adversarial neural network;
[0048] Figure 6 This is a diagram illustrating the training progress of the classifier.
[0049] Figure 7 A schematic diagram showing the performance analysis results of the classifier;
[0050] Figure 8 A schematic diagram illustrating the training progress of an adversarial neural network for a single discriminator;
[0051] Figure 9 A schematic diagram illustrating the training progress of a multi-discriminator adversarial neural network;
[0052] Figure 10 Generate variance and mean distribution plots of interference noise data for a single discriminator adversarial neural network;
[0053] Figure 11 Generate variance and mean distribution plots of interference noise data for a multi-discriminator adversarial neural network;
[0054] Figure 12 Generate time-domain and frequency-domain plots of interference noise data for a single discriminator-based adversarial neural network;
[0055] Figure 13 Generate time-domain and frequency-domain plots of interference noise data for a multi-discriminator generative adversarial neural network;
[0056] Figure 14 A schematic diagram illustrating the accuracy of generating interference noise data for a single-instance analyzer using an adversarial neural network.
[0057] Figure 15 A schematic diagram illustrating the accuracy of generating interference noise data for a multi-discriminator adversarial neural network. Detailed Implementation
[0058] The following specific examples illustrate the implementation of the present invention. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of the present invention. Unless otherwise specified, the following embodiments and features can be combined with each other.
[0059] The accompanying drawings are for illustrative purposes only and are schematic diagrams, not actual pictures. They should not be construed as limiting the invention. To better illustrate the embodiments of the invention, some parts in the drawings may be omitted, enlarged, or reduced, and do not represent the actual product dimensions. It is understandable to those skilled in the art that some well-known structures and their descriptions may be omitted in the drawings.
[0060] In the accompanying drawings of the embodiments of the present invention, the same or similar reference numerals correspond to the same or similar components. In the description of the present invention, it should be understood that if terms such as "upper," "lower," "left," "right," "front," and "rear" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, they are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, the terms used to describe positional relationships in the drawings are only for illustrative purposes and should not be construed as limiting the present invention. For those skilled in the art, the specific meaning of the above terms can be understood according to the specific circumstances.
[0061] Please see Figures 1-15 This invention relates to a multi-terminal interference generation system and method for a multi-discriminator generative adversarial network.
[0062] Example
[0063] This invention provides a multi-terminal interference generation method for multi-discriminator generative adversarial networks, specifically, as follows: Figure 1 As shown, it includes the following steps:
[0064] S1. Based on the requirements for generating multi-terminal interference noise data, construct an interference noise sample dataset TrainDataSet (hereinafter referred to as S). The interference noise sample dataset S includes at least terminal interference noise data dsTrainData (hereinafter referred to as ds), interference noise classification code dcTrainData (hereinafter referred to as dc), and noise classification label value dTTrainData (hereinafter referred to as dt).
[0065] S2. Classify the interference noise sample dataset S according to the noise classification label value dt to obtain several small batches of interference sample noise data TrainMiniBatchData (hereinafter referred to as B) with the same noise classification label value LabelHotCode (hereinafter referred to as lc). All small batches of interference sample noise data B form the training set TrainMiniBatchDataSet (hereinafter referred to as T).
[0066] S3. Input the mini-batch interference sample noise data B in the training set T into the generator NetG (denoted as G) to obtain the terminal interference noise data YGenerated (denoted as YG). Input the terminal interference noise data YG into the discriminator NetD (denoted as D) corresponding to the noise classification label value lc of the mini-batch interference sample noise data B to calculate the generator gradient parameter gradientsG (denoted as g_G).
[0067] S4. Input the terminal interference noise data NoiseSubCarrier (denoted as nc) and noise classification label value lc from the small batch interference sample noise data B into the corresponding discriminator D, and calculate the discriminator gradient parameter grandientsD (denoted as g_D).
[0068] S5. Update the parameters of generator G and the corresponding discriminator D according to the calculated generator gradient parameter g_G and discriminator gradient parameter g_D respectively.
[0069] S6. Generate a set of terminal interference noise data using the updated generator G. Classify the terminal interference noise data using a classifier. If the classification accuracy reaches the threshold, the training is complete. Save the current generator G and use it to generate interference data. If the classification accuracy does not reach the threshold, return to step S3 and repeat the training until the threshold is reached.
[0070] This invention also provides a multi-terminal interference generation system using a multi-discriminator generative adversarial network, such as... Figure 2 As shown, it includes: at least one interference noise sample dataset module, at least one sample data type classifier, several discriminators, at least one generator, and at least one classifier, wherein:
[0071] The interference noise sample dataset module generates multi-terminal interference noise sample data, adding interference noise classification codes and noise classification label values to the multi-terminal interference noise data. Each type of terminal interference noise data has a unique corresponding interference noise classification code and noise classification label value. The array composed of the terminal interference noise data NoiseSubCarrier is denoted as dsTrainData; the array composed of the interference noise classification code Clabel array is denoted as dcTrainData; and the array composed of the noise classification label value LabelHotCode is denoted as dTTrainData. The data dcTrainData, dsTrainData, and dTTrainData constitute the complete interference noise sample dataset, denoted as TrainDataSet.
[0072] The sample data type classification module trains different discriminators NetD in the multi-discriminator generative adversarial neural network based on the noise classification label value LabelHotCode in the interference noise sample dataset TrainDataSet.
[0073] The discriminator module consists of multiple discriminators NetD, each NetD corresponding to a noise type specified by a noise classification label value. The number of discriminators NetD and noise classification label values LabelHotCode is the same.
[0074] The generator module is trained using different noise classification label values (LabelHotCode) and different discriminators (NetD) from the interference noise sample dataset (TrainDataSet). Once trained, the generator (NetG) is used to generate terminal interference noise data.
[0075] The classifier module uses data from the interference noise sample dataset TrainDataSet to train the classifier neural network NetClassifier, which is used to correctly identify the noise classification label values corresponding to the interference noise data. It is also used to determine the quality of the interference noise data generated by the generator NetG in the neural network.
[0076] The generator NetG consists of an input layer (in), a classification layer (labels), deconvolution layers 1, 2, and 3, and an output layer. The deconvolution layers are 4x1 in size with 64, 32, 8, and 8 channels respectively. These deconvolution layers are used to map input data features from low-dimensional space back to high-dimensional space, facilitating the reconstruction of input signal details and converting random noise into a high-quality output signal. The input layer (in) takes a random number vector (Z) as input, corresponding to a sequence of random bits of length 100. The classification layer (labels) takes the classification code (Clabel) of the terminal interference noise data as input. The output layer is generated by the Tanh function, outputting the interference noise data (X) generated by NetG. Here, the random number vector consists of either "1" or "0" and is 100 bits long. The generated interference noise data (X) is a complex value of length 128. Different classification codes (Clabels) of terminal interference noise data are input to obtain different types of terminal interference noise data. Since the input random number vector (Z) is different, the generated terminal interference noise data will also be different. The generator NetG deep neural network structure is shown in Table 1.
[0077] Table 1
[0078]
[0079]
[0080] The discriminator NetD consists of an input layer (imageinput layer), a classification layer (labels layer), convolutional layers 1, 2, 3, and an output layer. The convolutional layers are 4x1 in size with 16, 32, 64, and 128 channels respectively. These convolutional layers use convolution operations to extract features from the terminal interference noise data (X), effectively capturing the spatial structure and local correlations of the noise data. The input layer (imageinput layer) takes the terminal interference noise data (X) as input, corresponding to the terminal interference noise data (NoiseSubCarrier). The labels layer takes the terminal interference noise classification code (Clabel) as input. The output layer is composed of a softMax function, representing the probability value for each noise type determined by the discriminator (netD). Based on the input terminal interference noise classification code (Clabel), the corresponding terminal interference noise label value (LabelHotCode) can be retrieved, which is used to calculate the discriminator's loss value. Table 2 shows the deep neural network structure of the discriminator NetD.
[0081] Table 2
[0082]
[0083]
[0084] The noise classifier NetClassifier consists of an input layer (imageinput), convolutional layers 1, 2, 3, and an output layer. The input layer (imageinput) takes the terminal interference noise data (X) and the terminal interference noise data (NoiseSubCarrier) as input. The labels layer takes the terminal interference noise classification code (C) as input, which is the classification code (Clabel) of the terminal interference noise data. The output layer is composed of a softMax function, which is the probability value for NetClassifier to determine each noise type. The classifier and discriminator have the same structure, but different parameters. After training, the parameters of the two are also different. Table 3 shows the deep neural network structure of the NetClassifier classifier.
[0085] Table 3
[0086]
[0087]
[0088] In this embodiment, the generative adversarial neural network structure is as follows: Figure 3 As shown. Among them. Figure 3 'a' represents a multi-discriminator generative adversarial neural network, which is the network structure implemented using this invention. Figure 3In configuration a, there are four discriminators: NetD1, NetD2, NetD8, and NetD16. These correspond to the types of interference noise data formed by 1, 2, 8, and 16 interference terminals in the multi-terminal interference noise sample dataset. In this embodiment, the neural network structures of NetD1, NetD2, NetD8, and NetD16 are identical. Figure 3 In the single-discriminator generative adversarial neural network of b, there is only one discriminator, NetD. The following describes this embodiment in several steps.
[0089] In this embodiment, the interference noise sample dataset (TrainDataSet) consists of terminal interference noise data generated by 1, 2, 8, and 16 interference terminals. There are 2048 interference noise data samples for each number of terminals, and each interference noise data sample (frequency domain, complex representation) is 128 bytes long.
[0090] The interference noise data of a single terminal is expressed as: interference noise data (dsTrainSuData), interference noise classification code (dcTrainSuData), and noise classification label value (dTTrainSuData).
[0091] The interference noise data of the two terminals are expressed as: interference noise data (dsTrainMu2Data), interference noise classification code (dcTrain Mu2Data), and noise classification label value (dTTrain Mu2Data).
[0092] The interference noise data of the 8 terminals are expressed as: interference noise data (dsTrainMu8Data), interference noise classification code (dcTrain Mu8Data), and noise classification label value (dTTrain Mu8Data).
[0093] The interference noise data of the 16 terminals are expressed as: interference noise data (dsTrainMu16Data), interference noise classification code (dcTrain Mu16Data), and noise classification label value (dTTrain Mu16Data).
[0094] In the interference noise sample dataset (TrainDataSet), dsTrainXData records multi-terminal interference noise data (NoiseSubCarrier), which comes from multi-terminal interference noise data generated by Matlab simulation (or can be obtained from actual testing; in this embodiment, Matlab simulation is used to generate the data), representing the interference received by the frequency domain subcarrier, with a length of 128.
[0095] dcTrain XData records the classification code (Clabel) of multi-terminal interference noise data, randomly generates a random bit stream of length 100, generates one classification code stream for each noise type, and keeps it unchanged during the training and use of adversarial generative neural networks.
[0096] In this embodiment, the labels are recorded as follows: single terminal suClabel, 2 terminals mu2Clabel, 8 terminals mu8Clabel, and 16 terminals mu16Clabel.
[0097] dTTrain XData records the label values (LabelHotCode) of multi-terminal interference noise data. A label value is defined for each noise type. In this embodiment, there are four types of interference noise, so four label values (LabelHotCode) are used. The length is 4 bits. The label value for a single terminal, a_su, is [0 0 0 1]; the label value for two terminals, a_mu2, is [0 0 10]; the label value for eight terminals, a_mu8, is [0 1 0 0]; and the label value for sixteen terminals, a_mu16, is [10 0 0]. In (dsTrainXData, dcTrainXData, dTTrainXData), X represents Su, Mu2, Mu8, and Mu16.
[0098] In the training process of multi-discriminator generative adversarial neural networks, mini-batch training is used to improve training effectiveness. In this embodiment, for example... Figure 4 The diagram illustrates the training data generation process for a multi-discriminator generative adversarial neural network. In the interference noise sample dataset (TrainDataSet), the interference noise data for single-terminal, 2-terminal, 8-terminal, and 16-terminal systems are randomly sorted. Therefore, extracting mini-batch training data from this dataset may include interference noise data with different terminal label values, which does not meet the training requirements of a multi-discriminator generative adversarial neural network. Therefore, it is necessary to classify the data in the interference noise sample dataset (TrainDataSet) into mini-batch training data, ensuring that the terminal label value (LabelHotCode) is the same in each mini-batch. Specifically, this includes the following steps:
[0099] Step 1: Interference noise sample dataset (TrainDataSet), containing interference noise data for single-terminal, 2-terminal, 8-terminal, and 16-terminal devices. In this embodiment, the number of interference noise samples for each type of terminal is 2048. Each type of terminal interference noise includes interference noise data (dsTrainXData), interference noise classification code (dcTrainXData), and noise classification label value (dTTrainXData).
[0100] Step 2: Classify the training data according to the label values (LabelHotCode) in the noise classification label value (dTTrainXData) of the interference noise sample dataset (TrainDataSet). In this embodiment, the training data is divided into 4 classes: TrainXDataSet, where X represents single-terminal Su, 2-terminal Mu2, 8-terminal Mu8, and 16-terminal Mu16. The full names are TrainSuDataSet, TrainMu2DataSet, TrainMu8DataSet, and TrainMu16DataSet, respectively.
[0101] Step 3: Based on the training requirements of the multi-discriminator generative adversarial neural network, i.e., the training data volume is miniBatchSize each time, the TrainXDataSet is grouped to generate TrainXMiniBatchDataSet, where X represents single terminal Su, 2 terminals Mu2, 8 terminals Mu8, and 16 terminals Mu16. In this embodiment, miniBatchSize=4 is selected for training, so the group size for each label value classification is 2048 / 16=128.
[0102] Step 4: Merge the four categories of TrainXMiniBatchDataSet together to form a complete mini-batch noise sample dataset (TrainMiniBatchDataSet).
[0103] In this embodiment, the multi-discriminator generative adversarial neural network has four discriminators: NetD1, NetD2, NetD8, and NetD16.
[0104] In terms of training data usage, different discriminators are selected based on the label values in the mini-batch noise sample dataset. Training data with a single terminal label value a_suLabelHotCode[0 0 0 1] corresponds to the NetD1 discriminator; training data with a 2-terminal label value a_mu2LabelHotCode[0 0 1 0] corresponds to the NetD2 discriminator; training data with an 8-terminal label value a_mu8LabelHotCode[0 1 0 0] corresponds to the NetD8 discriminator; and training data with a 16-terminal label value a_mu16LabelHotCode[1 0 0 0] corresponds to the NetD16 discriminator. During training, to improve training effectiveness, the discriminator is randomly selected. Therefore, the mini-batch noise sample dataset (TrainMiniBatchDataSet) needs to be randomly sorted. The specific operation process is as follows... Figure 5 As shown, it includes the following specific steps:
[0105] Step 1: The mini-batch noise sample dataset (TrainMiniBatchDataSet) is a grouping of the noise sample dataset (TrainDataSet) according to the miniBatchSize. Since the grouped data lacks randomness, the selection of the discriminator during training loses its randomness, resulting in poor training performance. Therefore, before training, the sample data of the mini-batch noise sample dataset (TrainMiniBatchDataSet) are first randomly sorted according to the miniBatchSize group. In this embodiment, miniBatchSize is 4.
[0106] Step 2: Take out minBatchSize terminal interference noise sample data from the small batch interference noise sample dataset (TrainMiniBatchDataSet) in sequence, that is, one TrainMiniBatchData (the label values of these sample data are the same).
[0107] Step 3: Based on the classification label values (LabelHotCode) in TrainMiniBatchData, use the generator (NetG) to generate a set of terminal interference data YGenerated. Then, feed YGenerated into the corresponding discriminator and use cross-entropy to calculate the cross-loss value YGeneratedLoss of the generated interference noise data. The specific calculation method is as follows:
[0108] YGeneratedLoss=-crossentropy(YGenerated,T,'WeightsFormat','UC');
[0109] Where T is the noise classification label value (LabelHotCode) corresponding to YGenerated.
[0110] Step 4: Find the corresponding discriminator based on the classification label value (LabelHotCode) in TrainMiniBatchData, and feed TrainMiniBatchData into the corresponding discriminator. Calculate the cross-loss value YRealLoss of the sample interference noise data using cross-entropy. The specific calculation formula is as follows:
[0111] YRealLoss=-crossentropy(YReal,T,'WeightsFormat','UC');
[0112] Where: YReal is the terminal interference noise data (NoiseSubCarrier) in the small batch interference noise sample data (TrainMiniBatchData); T is the noise classification label value (LabelHotCode) corresponding to YReal; crossentropy() is the cross-entropy function;
[0113] Step 5: Using the calculated cross-loss values YRealLoss and YGeneratedLoss, calculate the loss value and gradient parameters of the generator (NetG), as well as the corresponding loss value and gradient parameters of the discriminator. Then, update the corresponding generator (NetG) and discriminator (NetD) parameters using the gradient parameters. The specific calculation formula is as follows:
[0114] lossD=YRealLoss+(1-YGeneratedLoss);
[0115] gradientsD=dlgradient(lossD,netD.Learnables,'RetainData',true,'EnableHigherDerivatives',true);
[0116] [netD, trailingAvgNetD, trailingAvgSqNetD] = adamupdate(netD, gradientsD, trailingAvgNetD, trailingAvgSqNetD, netDiteration, learnRate, gradientDecayFactor, squaredGradientDecayFactor);
[0117] lossG = YGeneratedLoss;
[0118] gradientsG=dlgradient(lossG,netG.Learnables,'RetainData',true,'EnableHigherDerivatives',true);
[0119] [netG, trailingAvgG, trailingAvgSqG] = adamupdate(netG, gradientsG, trailingAvgG, trailingAvgSqG, iteration, learnRate, gradientDecayFactor, squaredGradientDecayFactor);
[0120] Where: dlgradient() is the Matlab gradient calculation function; adamupdate() is the Matlab neural network parameter update function.
[0121] Step 6: Generate a set of terminal interference noise data using the updated generator (NetG). In this embodiment, 128 terminal interference noise data points are generated, and then a classifier (NetGlassifier) is used to obtain the probability of correct classification. If the correct probability meets the requirements, the training of the generative adversarial neural network ends; otherwise, return to step 2 to continue training. After the mini-batch interference noise sample dataset (TrainMiniBatchDataSet) is used up, return to step 1 to continue.
[0122] Each training iteration of a small batch of noise-intrusive samples (TrainMiniBatchDataSet) is called one epoch. In this embodiment, the maximum epoch value is set to 128.
[0123] This embodiment also performs performance analysis on the final generative adversarial neural network. In this invention, the classifier (NetClassifier) also adopts a deep neural network structure and is trained using the interference noise sample dataset (TrainDataSet) in this embodiment. After training, the classification accuracy of the classifier (NetClassifier) can reach more than 99%, which can be used to evaluate the performance of the generative adversarial neural network.
[0124] (1) Training progress and performance evaluation of the classifier (NetClassifier) module
[0125] Figure 6This is a training progress graph for the classifier (NetClassifier). The Accuracy subplot represents the classifier's prediction accuracy; red indicates predictions using validation data, and blue indicates predictions using training data. The FScore subplot represents the performance metric that considers both precision and recall. The Loss subplot represents the inconsistency parameter between the model's predictions and the actual values. From the Accuracy, FScore, and Loss subplots, it can be concluded that the model has converged, and the classifier (NetClassifier) has achieved an accuracy of over 99% on both the test and validation sets.
[0126] Figure 7 Further analysis of the classifier (NetClassifier) performance shows that it performs well in classifying 16-terminal and 8-terminal interference noise, achieving a 100% accuracy rate. Its performance is slightly worse in classifying single-terminal and 2-terminal cases, but the accuracy rates still reach 99.2% and 98.6% respectively. The overall average correct classification probability reaches 99%.
[0127] according to Figure 6 and Figure 7 This demonstrates that the trained classifier (NetClassifier) can be used to evaluate the quality of the noise-generated data by the generator (NetG).
[0128] (2) Generate a training progress chart of the adversarial deep neural network module
[0129] In this embodiment, as Figure 8 and Figure 9 As shown, a comparison of the training progress of single-discriminator and multi-discriminator generative adversarial neural networks is provided.
[0130] exist Figure 8 A single-discriminator generative adversarial neural network (NetG) achieves an accuracy of no more than 70% when the classifier (NetClassifier) checks the generator (NetG), typically only around 62%.
[0131] In the single-discriminator generative adversarial neural network, a miniBatchSize of 64 was selected. After multiple parameter verifications, a miniBatchSize of 64 yielded the best results.
[0132] exist Figure 9 In multi-discriminator generative adversarial neural networks (GANs), the classifier (NetClassifier) checks the generator (NetG) with an accuracy that, at best, does not exceed 85%, but typically exceeds 72%. In single-discriminator GANs, a miniBatchSize of 4 was chosen, and after multiple parameter validations, a miniBatchSize of 4 yielded the best results.
[0133] from Figure 8 and Figure 9 Compared to the generator (NetG), multi-discriminator neural networks outperform single-discriminator neural networks by about 15%.
[0134] (3) Comparison of mean and variance distributions of interference noise data generated by the generator (NetG)
[0135] In generative adversarial neural networks, the quality of the data generated by the generator (NetG) is often evaluated by comparing the sdt / mean distribution.
[0136] Figure 10 The analysis of interference noise data generated by a single-discriminator generative adversarial neural network (GAN) and its comparison with the distribution of sample noise data are presented. The mean and variance of the sample interference noise data and the interference noise data generated by the generator show good agreement across 1-terminal, 2-terminal, 8-terminal, and 16-terminal interference noise distributions.
[0137] Figure 11 This study analyzes the noise data generated by a multi-discriminator generative adversarial neural network (GAN) and compares it with the distribution of sample noise data. The distributions of noise data across 1-terminal, 2-terminal, 8-terminal, and 16-terminal scenarios show good agreement in terms of mean and variance between the sample noise data and the noise data generated by the generator.
[0138] from Figure 10 and Figure 11 Comparing the generators (NetG), both the multi-discriminator and single-discriminator generative adversarial neural networks (GANs) generate noise data that closely matches the distribution of the sample data. The noise data generated by the single-discriminator GAN is slightly less effective than that generated by the single-discriminator GAN.
[0139] (4) Comparison of time-domain and frequency-domain data generated by the generator (NetG) for interference noise.
[0140] In this embodiment, single-discriminator and multi-discriminator generative adversarial neural networks are used to generate interference noise data for single-terminal, 2-terminal, 8-terminal, and 16-terminal devices, and the results are compared and explained in the frequency domain and time domain.
[0141] Figure 12 In this process, a single discriminator generates an adversarial neural network to generate interference noise data. Whether from the time domain or the frequency domain, the more interference terminals there are, the more impact the sent subcarriers will have.
[0142] from Figure 12 and Figure 13Compared with the generator (NetG), the interference noise data generated by the multi-discriminator and single-discriminator generative adversarial neural networks both match the distribution of the sample data, but the quality of the interference noise data generated by the multi-discriminator and single-discriminator generative adversarial neural networks cannot be accurately determined.
[0143] (5) Quality analysis of interference noise data generated by the generator (NetG)
[0144] In generative adversarial deep neural networks, the above-mentioned comparison of the mean and variance distribution plots of the generated interference noise data, as well as the time domain and frequency domain plots, can only perform preliminary comparative analysis. In this embodiment, a classifier (NetClassifier) is used for comparison, which can more accurately describe the quality of the generated interference noise data.
[0145] exist Figure 14 In this study, a single-agent generative adversarial neural network randomly generated 128 noise data points, which were then classified and identified using a classifier, achieving an accuracy rate of 65.6%.
[0146] exist Figure 15 In this study, a multi-variable generative adversarial neural network randomly generated 128 noise data points, which were then classified and identified using a classifier, achieving an accuracy rate of 80%.
[0147] from Figure 14 and Figure 15 The generator (NetG) was compared with the multi-discriminator and single-discriminator generators to generate interference noise data generated by the adversarial neural network. After classification by the classifier (NetClassifier), the multi-discriminator was about 15% better than the single-discriminator generator in generating interference noise data generated by the adversarial neural network.
[0148] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.
Claims
1. A multi-terminal interference generation system using a multi-discriminator generative adversarial network, characterized in that: It includes: The system comprises at least one interference noise sample dataset module, at least one sample data type classifier module, a discriminator module, a generator module, and at least one classifier module, wherein... The interference noise sample dataset module is used to generate multi-terminal interference noise sample data and add interference noise classification codes and noise classification label values to the multi-terminal interference noise data. Each type of terminal interference noise data is set with a unique corresponding interference noise classification code and noise classification label value. The sample data type classification module inputs the data into the discriminator corresponding to the noise classification label value in the interference noise sample dataset for training. The discriminator module includes several discriminators, each of which corresponds to a noise type specified by a noise classification label value; The generator module is trained based on different noise classification label values and different discriminators in the interference noise sample dataset. After training, the generator is used to generate terminal interference noise data. Specifically, the generator is input into a mini-batch of noise samples from the training set to obtain terminal noise data. The terminal noise data is then input into a discriminator corresponding to the noise classification label value of the mini-batch noise samples to calculate the generator gradient parameters. The terminal noise data and noise classification label value from the mini-batch noise samples are input into the corresponding discriminator to calculate the discriminator gradient parameters. The parameters of the generator and the corresponding discriminator are updated based on the calculated generator gradient parameters and discriminator gradient parameters, respectively. The generator gradient parameters are calculated as follows: YGeneratedLoss = -crossentropy(YGenerated,T, 'WeightsFormat','UC') lossG = YGeneratedLoss gradientsG = dlgradient(lossG, netG.Learnables, 'RetainData',true,'EnableHigherDerivatives',true) Here, YGeneratedLoss represents the cross-entropy value of the generated terminal interference noise data through the discriminator, YGenerated represents the terminal interference noise data, and T is the noise classification label value corresponding to YGenerated; 'WeightsFormat' indicates the option to specify the dimension of the weight parameters, 'UC' indicates that the elements in the weight vector correspond to the channel dimension of the predicted value, crossentropy() is the cross-entropy calculation function; lossG represents the loss value obtained by the discriminator from the terminal interference noise data generated by the generator; gradientsG are the generator gradient parameters, netG.Learnables are the learnable parameters of the generator network, 'RetainData', true indicates that intermediate data used for gradient calculation is retained, 'EnableHigherDerivatives', true indicates that higher-order derivative calculation is enabled, and dlgradient() is the neural network gradient calculation function; The discriminator gradient parameters are calculated as follows: YRealLoss = -crossentropy(YReal,T, 'WeightsFormat','UC') lossD = YRealLoss +(1 - YGeneratedLoss) gradientsD = dlgradient(lossD, netD.Learnables, 'RetainData',true,'EnableHigherDerivatives',true) Where YRealLoss represents the cross-entropy value of the real terminal interference noise data through the discriminator, YReal is the terminal interference noise data in the mini-batch interference noise sample data; T is the noise classification label value corresponding to YReal; lossD represents the loss value of the discriminator, netD.Learnables represents the learnable parameters of the discriminator network, crossentropy() is the cross-entropy calculation function; dlgradient() is the neural network gradient calculation function; The classifier module is used to correctly identify the noise classification label value corresponding to the interference noise data, and to determine the quality of the interference noise data generated by the generator in the neural network.
2. The multi-terminal interference generation system of a multi-discriminator generative adversarial network according to claim 1, characterized in that: The generator module includes an input layer (in), a classification layer (labels), several deconvolutional layers, and an output layer. The deconvolutional layers are used to map the input data features from the low-dimensional space back to the high-dimensional space; the input layer is used to input random number vectors; the classification layer is used to input the classification code of the terminal interference noise data; and the output layer is completed by the Tanh function to output the generated interference noise data.
3. The multi-terminal interference generation system of a multi-discriminator generative adversarial network according to claim 1, characterized in that: The discriminator module includes an input layer (imageinput), a classification layer (labels), several convolutional layers, and an output layer. The convolutional layers are used to extract features of terminal interference noise data through convolution operations; the input layer is used to input terminal interference noise data; the classification layer is used to input terminal interference noise classification codes; and the output layer is composed of a softMax function, which outputs the probability value for each type of noise determined by the discriminator.
4. The multi-terminal interference generation system of a multi-discriminator generative adversarial network according to claim 1, characterized in that: The classifier module consists of an input layer (imageinput), several convolutional layers, and an output layer. The input layer is used to input terminal interference noise data, and the labels layer is used to input the terminal interference noise classification code, which is the classification code of the terminal interference noise data. The output layer is composed of a softMax function, which is the probability value for the noise classifier to determine each type of noise.
5. A method for generating multi-terminal interference using a multi-discriminator generative adversarial network (MPA), the method being used to execute the multi-terminal interference generation system of the MPA as described in any one of claims 1-4, characterized in that: It includes the following steps: S1. Based on the requirements for generating multi-terminal interference noise data, construct an interference noise sample dataset, which includes at least terminal interference noise data, interference noise classification code, and noise classification label value. S2. Classify the interference noise sample dataset according to the noise classification label value to obtain several small batches of interference sample noise data with the same noise classification label value. All small batches of interference sample noise data form a training set. S3. Input the mini-batch interference sample noise data from the training set into the generator to obtain terminal interference noise data. Input the terminal interference noise data into the discriminator corresponding to the noise classification label value of the mini-batch interference sample noise data to calculate the generator gradient parameters. In step S3, the generator gradient parameters are calculated as follows: YGeneratedLoss = -crossentropy(YGenerated,T, 'WeightsFormat','UC') lossG = YGeneratedLoss gradientsG = dlgradient(lossG, netG.Learnables, 'RetainData',true,'EnableHigherDerivatives',true) Here, YGeneratedLoss represents the cross-entropy value of the generated terminal interference noise data through the discriminator, YGenerated represents the terminal interference noise data, and T is the noise classification label value corresponding to YGenerated; 'WeightsFormat' indicates the option to specify the dimension of the weight parameters, 'UC' indicates that the elements in the weight vector correspond to the channel dimension of the predicted value, crossentropy() is the cross-entropy calculation function; lossG represents the loss value obtained by the discriminator from the terminal interference noise data generated by the generator; gradientsG are the generator gradient parameters, netG.Learnables are the learnable parameters of the generator network, 'RetainData', true indicates that intermediate data used for gradient calculation is retained, 'EnableHigherDerivatives', true indicates that higher-order derivative calculation is enabled, and dlgradient() is the neural network gradient calculation function; S4. Input the terminal interference noise data and noise classification label values from the small batch of interference sample noise data into the corresponding discriminator, and calculate the discriminator gradient parameters; in step S4, the discriminator gradient parameters are calculated as follows: YRealLoss = -crossentropy(YReal,T, 'WeightsFormat','UC') lossD = YRealLoss +(1 - YGeneratedLoss) gradientsD = dlgradient(lossD, netD.Learnables, 'RetainData',true,'EnableHigherDerivatives',true) Where YRealLoss represents the cross-entropy value of the real terminal interference noise data through the discriminator, YReal is the terminal interference noise data in the mini-batch interference noise sample data; T is the noise classification label value corresponding to YReal; lossD represents the loss value of the discriminator, netD.Learnables represents the learnable parameters of the discriminator network, crossentropy() is the cross-entropy calculation function; dlgradient() is the neural network gradient calculation function; S5. Update the parameters of the generator and the corresponding discriminator based on the calculated generator gradient parameters and discriminator gradient parameters respectively; S6. Use the updated generator to generate a set of terminal interference noise data. Classify the terminal interference noise data using a classifier. If the classification accuracy reaches the threshold, the training is complete. Save the current generator and use it to generate interference data. If the classification accuracy does not reach the threshold, return to step S3 and repeat the training until the threshold is reached.
6. The multi-terminal interference generation method of a multi-discriminator generative adversarial network according to claim 5, characterized in that: In step S5, the parameters of the generator and discriminator are updated as follows: [netG, trailingAvgG, trailingAvgSqG] = adamupdate(netG, gradientsG, trailingAvgG, trailingAvgSqG, iteration, learnRate, gradientDecayFactor,squaredGradientDecayFactor) Where netG represents the update generator network, trailingAvgG represents the moving average of the parameter gradients, trailingAvgSqG represents the moving average of the squared gradients of the parameters, iteration represents the number of iterations, learnRate represents the global learning rate, gradientDecayFactor represents the gradient decay factor, squaredGradientDecayFactor represents the squared gradient decay factor, and adamupdate() represents the parameter update calculation function using the Adam algorithm for deep learning.
Citation Information
Patent Citations
Knowledge complementing method and device for knowledge graph
CN110147450A
Method for training sleep stage classification model
CN116304882A
Finite sample electromagnetic interference signal classification method based on generative adversarial network
CN117435954A
