A model training method, data generation method and device

By iteratively training the target model of the generation model and the discriminant model, using data adversarial training of the source domain and the target domain, the problem of generating high-quality target domain data is solved, and efficient data generation based on source domain features is realized.

CN112633385BActive Publication Date: 2025-04-08HUAWEI TECH CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202011567739.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-25
Publication Date
2025-04-08
Estimated Expiration
2040-12-25

AI Technical Summary

Technical Problem

In the field of artificial intelligence, it is difficult to generate a large amount of high-quality target domain data through data in the source domain, especially when the target domain data label is insufficient.

Method used

By iteratively training a target model that includes a generative model and a discriminant model, the source domain data and tagged target domain data are used for adversarial training to generate high-quality target domain data.

Benefits of technology

The problem of "label-dominated" is effectively avoided, ensuring that the generated target domain data is based on the characteristics of the source domain data. The generated model can obtain a large amount of high-quality target domain data based on the source domain data, reducing the cost of target domain data annotation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112633385B_ABST
    Figure CN112633385B_ABST
Patent Text Reader

Abstract

The present application discloses a method for model training, which relates to the field of artificial intelligence, including: iteratively training a target model based on source domain data without labels and target domain labeled data, wherein each iterative training includes: inputting the source domain data without labels into a first generation model to output a first generation result. Combining the label not carried by the source domain data and the first generation result to obtain first combined data. Inputting the first combined data and the target domain labeled data into a first discriminant model to output a first discriminant result. Obtaining a first loss value based on the first discriminant result. Fixing the parameters of the first generation model, updating the first discriminant model based on the first loss value, or fixing the parameters of the first discriminant model, updating the parameters of the first generation model based on the first loss value. Through the scheme provided by the present application, a large amount of high-quality target domain data can be obtained based on the data in the source domain.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence technology, and specifically to a model training method, a data generation method and a device. Background Art

[0002] Artificial intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a branch of computer science that attempts to understand the essence of intelligence and produce a new type of intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is also the study of the design principles and implementation methods of various intelligent machines, so that machines have the functions of perception, reasoning and decision-making.

[0003] In recent years, in the field of artificial intelligence, the use of domain adaptation strategies to solve tasks such as image classification and detection has become a hot topic. Domain adaptation refers to a learning process that uses the similarities between data, tasks, or models to apply models learned in the source domain to the target domain. Generating a large amount of high-quality target domain data from the source domain data is conducive to training a model with better performance based on the large amount of high-quality target domain data obtained. Therefore, how to generate a large amount of high-quality target domain data based on the source domain data needs to be solved urgently. Summary of the invention

[0004] The embodiments of the present application provide a model training method, a data generation method and a device to generate a large amount of high-quality target domain data through data in the source domain.

[0005] To achieve the above objectives, the present application provides the following technical solutions:

[0006] The first aspect of the present application provides a method for model training, which may include: iteratively training a target model according to source domain data without labels and target domain labeled data, and the target model may include a first generation model and a first discriminant model. The first generation model and the first discriminant model may be neural networks, such as residual neural networks (Resnet), for example, specifically Resnet50. The first generation model and the first discriminant model may also be other types of neural networks, or the first generation model and the first discriminant model may also be VGG, AlexNet, or the first generation model and the first discriminant model may also be, for example, a fully connected network, the number of layers of the fully connected network may be selected (for example, but not limited to: a nine-layer fully connected network), or the first generation model and the first discriminant model may also be a convolutional neural network. It should be noted that the first generation model and the first discriminant model may be the same type of neural network, for example, both use Resnet50; the first generation model and the first discriminant model may also be different types of neural networks, for example, the first generation model uses Resnet50 and the first discriminant model uses AlexNet. The source domain data in the present application may be image data, text data or voice data, and the embodiment of the present application does not limit the type of source domain data. The target domain data in the present application has the same data type as the source language data. Among them, each iteration training may include: inputting the source domain data without a label into the first generation model to output a first generation result. Combining the label not carried by the source domain data with the first generation result to obtain the first combination data. Taking the image data as an example, it is assumed that the source domain data includes image 1 (labeled as "cat"). Image 1 (without the label "cat") is input into the first generation model. For image 1, the first generation model generates 1 generated image, assuming that it is generated image 1. Combining the label not carried by the source domain data with the first generation result to obtain the first combination data can be understood as combining the generated image 1 with the label "cat" not carried by image 1 to obtain a set of combined data. The first combination data and the target domain labeled data are input into the first discriminant model to output the first discriminant result. The data in the target domain includes labeled data and unlabeled data. It should be noted that the source domain data without labels means that the source domain data is labeled, but it is not carried when input into the first generation model, and the target domain unlabeled data means that the target domain data is unlabeled. Obtain the first loss value according to the first discrimination result. Fix the parameters of the first generation model, and update the first discrimination model according to the first loss value, or fix the parameters of the first discrimination model, and update the first generation model according to the first loss value. The first discrimination model is used to determine whether the data input into the first discrimination model is the real target domain data or the data generated by the first generator.The training goal of the first discriminant model is to discriminate the first combination data as a negative sample and discriminate the target domain labeled data as a positive sample. The purpose of training the first discriminant model is to enable the first discriminant model to more accurately discriminate which of the acquired data is generated by the generator and which is labeled data in the target domain. The iterative training process can be regarded as a training process of adversarial training of the first generative model and the first discriminant model according to the first loss value. Adversarial training refers to the formation of a dynamic "game process" between the first generative model and the first discriminant model, which confront and promote each other. It can be understood that the training of the first generative model is to make the first discriminant model unable to correctly judge whether the received data is from the first generative model or from the real target domain data, and the training of the first discriminant model is to accurately distinguish whether the received data is from the first generative model or from the real target domain data. Repeat the above iterative training process until the preset stop condition is met, wherein the stop condition includes but is not limited to meeting the preset number of training times, the first generative model meets the convergence condition, and the first discriminant model cannot correctly judge whether the received data is from the first generative model or from the real target domain data. The present application provides a method for model training, which iteratively trains a target model based on source domain data without labels. The first generation model in the target model can only generate a first generation result based on the characteristics of the source domain data itself. Avoid the problem of "label dominance" in generating the first generation result, ignoring the characteristics of the source domain data itself, such as ignoring the semantic information of the image. Therefore, the model obtained by the training method provided by the present application can obtain a large amount of high-quality target domain data based on the data in the source domain.

[0007] In a possible implementation, the target model may further include a second generation model, and the method may further include: inputting the first generation result into the second generation model to output the second generation result. Obtaining a second loss value based on the difference between the second generation result and the source domain data without a label. Updating the first generation model based on the first loss value may include: updating the first generation model based on the first loss value and the second loss value, and the second loss value is also used to update the second generation model. In this implementation, a specific scheme is provided for updating the first generation model based on the first loss value during adversarial training, specifically updating the first generation model based on the first loss value and the second loss value, so that the output target data corresponds to and is associated with the input source domain data.

[0008] In a possible implementation, iteratively training the target model based on unlabeled source domain data and labeled target domain data may include: iteratively training the target model based on unlabeled source domain data, labeled target domain data, and unlabeled target domain data. In a typical application scenario of the solution provided in the present application, training a model, such as training a model for performing classification tasks, generally requires a large number of labeled samples. However, for some fields, such as the medical field and the industrial vision field, it is not easy to obtain labeled samples, which may be costly, time-consuming and labor-intensive. Through the solution provided in the present application, a large number of labeled samples in the target domain can be obtained based on a small number of labeled samples in the target domain, a large number of unlabeled samples in the target domain, and a large number of labeled samples in the source domain, thereby reducing costs. In another typical application scenario of the solution provided in the present application, for an enterprise that wants to purchase training data from other enterprises, in order to ensure the stability of the supply of training data, the enterprise may purchase training data from multiple other enterprises. The training data from different companies can be regarded as a data domain respectively. The training data from different companies may not satisfy independent and identical distribution. Even if the training data is purchased from the same company, the training data may be collected by different generations of equipment of the company. For example, some data is collected by the first generation of products, and some data is collected by the second generation of products, which leads to the collected data not satisfying independent and identical distribution. The training data for training a model is required to satisfy independent and identical distribution. In addition, if the distribution of the training data is greatly different from that of the test data, the performance of the model will often decrease significantly. The solution provided by this application can solve this problem very well. The training data purchased from other companies is regarded as labeled target domain data. Through the solution provided by this application, there is no need to purchase a large amount of labeled target domain data from other companies. Only a small amount of labeled target domain data needs to be purchased. According to the solution provided by this application, a large amount of labeled target domain data can be generated based on the small amount of labeled target domain data, some unlabeled target domain data, and source domain data, thereby saving costs, and making the generated large amount of labeled target domain data meet independent and identical distribution, improving the efficiency of model training.

[0009] In a possible implementation, the target model may further include a second discriminant model, and each iteration training may further include: combining the first generation result and the preset label to obtain second combination data. Combining the target domain unlabeled data and the preset label to obtain third combination data. Inputting the second combination data and the third combination data into the second discriminant model to output a second discrimination result. Obtaining a third loss value according to the second discrimination result. Updating the first discriminant model according to the first loss value may include: updating the first discriminant model according to the first loss value and the third loss value. Updating the first generation model according to the first loss value may include: updating the first generation model according to the first loss value and the third loss value. Since the number of labeled data in the target domain is too small, the information that can be provided to the discriminant model during the training process is limited, which is not conducive to the training of the model. In this implementation, the target domain unlabeled data is used in the training process, and the target domain unlabeled data is combined with the preset label to obtain a large amount of target domain labeled data, and then a large amount of real target domain labeled data can be obtained.

[0010] In a possible implementation, the target model may further include a first classification model, and each iterative training may further include: inputting the target domain unlabeled data into the first classification model to output a first predicted label. The target domain unlabeled data and the first predicted label are combined to obtain fourth combined data. The fourth combined data is input into the first discriminant model to output a third discriminant result. A fourth loss value is obtained according to the third discriminant result. Updating the first discriminant model according to the first loss value may include: fixing the parameters of the first generation model and the parameters of the first classification model, and updating the first discriminant model according to the first loss value and the fourth loss value. Each iterative training may further include: fixing the parameters of the first discriminant model, and updating the first classification model according to the fourth loss value. In this implementation, a classifier may also be introduced into the target network to obtain more training data based on the target domain unlabeled data.

[0011] In a possible implementation, the target model may further include a second classification model, and each iteration of training may further include: inputting the first generated result and the target domain labeled data into the second classification model to output a second predicted label. Obtaining a fifth loss value according to the second predicted label. Updating the first classification model according to the fourth loss value may include: updating the first classification model according to the fourth loss value and the fifth loss value, and the fourth loss value and the fifth loss value are also used to update the second classification model. In this implementation, by increasing the training samples used to train the first classification model, the training efficiency of the first classification model is improved, thereby improving the performance of the trained target model.

[0012] The second aspect of the present application provides a method for data generation, which may include: obtaining source domain data without labels. Inputting the source domain data without labels into a target generation model to obtain target domain data. The target generation model is obtained by iteratively training the target model with source domain training data without labels and target domain labeled training data. The target model may include a first generation model and a first discriminant model. The target generation model is the first generation model after training. The parameters of the target generation model are obtained by fixing the parameters of the first discriminant model and updating the parameters of the first generation model with a first loss value. The first loss value is also used to update the first discriminant model when the parameters of the first generation model are fixed. The first loss value is obtained according to the first discrimination result. The first discrimination result is obtained by inputting the first combined training data and the target domain labeled training data into the first discriminant model. The first combined data is obtained by combining the label not carried by the source domain training data and the first generation result. The first generation result is obtained by inputting the source domain training data without labels into the first generation model. According to a data generation method provided by the present application, a large amount of high-quality data in the target domain can be obtained according to the source domain data. In addition, new models can be trained based on the acquired data in the target field, such as training new classification models using the acquired data in the target field.

[0013] In a possible implementation, the target model may further include a second generation model, and the parameters of the target generation model are specifically obtained by fixing the parameters of the first discriminant model and updating the parameters of the first generation model by using the first loss value and the second loss value, the second loss value is obtained based on the difference between the second generation result and the source domain training data without labels, the second generation result is obtained by inputting the first generation result into the second generation model, and the second loss value is also used to update the second generation model.

[0014] In a possible implementation, the target generation model is specifically obtained by iteratively training the target model using source domain training data without labels, target domain training data with labels, and target domain training data without labels.

[0015] In a possible implementation, the target model may further include a second discriminant model, and the parameters of the target generation model are specifically obtained by fixing the parameters of the first discriminant model, and updating the parameters of the first generation model with the first loss value and the third loss value, the third loss value is obtained through the second discriminant result, the second discriminant result is obtained by inputting the second combined data and the third combined data into the second discriminant model, the second combined data is obtained by combining the first generation result and the preset label, the third combined data is obtained by combining the labeled domain unlabeled training data and the preset label, and the first loss value and the third loss value are also used to update the first discriminant model.

[0016] In a possible implementation, it may also include: inputting the target domain training data into the target classification model to obtain a prediction result, wherein the target classification model is obtained by fixing the parameters of the first discriminant model, and updating the first classification model through a fourth loss value, the fourth loss value is obtained through a third discriminant result, the third discriminant result is obtained by inputting fourth combined data into the first discriminant model, the fourth combined data is obtained by combining the target domain unlabeled training data and the first predicted label, the first predicted label is obtained by inputting the target domain unlabeled training data into the first classification model, and the fourth loss value is also used to update the first discriminant model when fixing the parameters of the first generation model and the parameters of the first classification model.

[0017] In a possible implementation, the target model may further include a second classification model, which specifically fixes the parameters of the first discriminant model and is obtained by updating the first classification model through the fourth loss value and the fifth loss value, the fifth loss value is obtained through the second prediction label, and the second prediction label is obtained by inputting the first generated result and the target domain labeled training data into the second classification model, and the fourth loss value and the fifth loss value are also used to update the second classification model.

[0018] The third aspect of the present application provides a device for model training, which may include: a training module, which is used to iteratively train a target model based on source domain data without labels and target domain labeled data, the target model may include a first generation model and a first discriminant model, and the training module may include an input module, a combination module, an acquisition module and an update module, wherein, during each iterative training, the input module is used to input the source domain data without labels into the first generation model to output a first generation result. The combination module is used to combine the label without the source domain data and the first generation result to obtain the first combination data. The input module is also used to input the first combination data and the target domain labeled data into the first discriminant model to output the first discriminant result. The acquisition module is used to obtain a first loss value according to the first discriminant result. The update module is used to fix the parameters of the first generation model and update the first discriminant model according to the first loss value, or fix the parameters of the first discriminant model and update the first generation model according to the first loss value.

[0019] In a possible implementation, the target model may further include a second generation model, an input module, further used to input the first generation result into the second generation model to output the second generation result. The acquisition module is further used to acquire a second loss value according to the difference between the second generation result and the source domain data without the label. The update module is specifically used to update the first generation model according to the first loss value and the second loss value, and the second loss value is also used to update the second generation model.

[0020] In a possible implementation, the training module is specifically used to iteratively train the target model according to source domain data without labels, target domain labeled data, and target domain unlabeled data.

[0021] In a possible implementation, the target model may further include a second discriminant model, a combination module, and a combination module for combining the first generated result and the preset label to obtain second combined data, and combining the target domain unlabeled data and the preset label to obtain third combined data. The input module is also used to input the second combined data and the third combined data into the second discriminant model to output a second discriminant result. The acquisition module is also used to obtain a third loss value based on the second discriminant result. The update module is specifically used to update the first discriminant model based on the first loss value and the third loss value. The update module is specifically used to update the first generated model based on the first loss value and the third loss value.

[0022] In a possible implementation, the target model may also include a first classification model, an input module, and a module for inputting target domain unlabeled data into the first classification model to output a first predicted label. The combination module is also used to combine the target domain unlabeled data and the first predicted label to obtain fourth combined data. The input module is also used to input the fourth combined data into the first discriminant model to output a third discriminant result. The acquisition module is also used to obtain a fourth loss value based on the third discriminant result. The update module is specifically used to fix the parameters of the first generation model and the parameters of the first classification model, and update the first discriminant model according to the first loss value and the fourth loss value. The update module is also used to fix the parameters of the first discriminant model and update the first classification model according to the fourth loss value.

[0023] In a possible implementation, the target model may further include a second classification model, an input module, and a method for inputting the first generated result and the target domain labeled data into the second classification model to output a second predicted label. The acquisition module is further used to obtain a fifth loss value according to the second predicted label. The update module is specifically used to update the first classification model according to the fourth loss value and the fifth loss value, and the fourth loss value and the fifth loss value are also used to update the second classification model.

[0024] The fourth aspect of the present application provides a data generation device, which may include: an acquisition module for acquiring source domain data without labels. A generation module is used to input the source domain data without labels into a target generation model to obtain target domain data. Wherein, the target generation model is obtained by iteratively training the target model with source domain training data without labels and target domain labeled training data. The target model may include a first generation model and a first discriminant model. The target generation model is the first generation model after training. The parameters of the target generation model are obtained by fixing the parameters of the first discriminant model and updating the parameters of the first generation model by a first loss value. The first loss value is also used to update the first discriminant model when the parameters of the first generation model are fixed. The first loss value is obtained according to the first discrimination result. The first discrimination result is obtained by inputting the first combined training data and the target domain labeled training data into the first discriminant model. The first combined data is obtained by combining the label not carried by the source domain training data and the first generation result. The first generation result is obtained by inputting the source domain training data without labels into the first generation model.

[0025] In a possible implementation, the target model may further include a second generation model, and the parameters of the target generation model are specifically obtained by fixing the parameters of the first discriminant model and updating the parameters of the first generation model by using the first loss value and the second loss value, the second loss value is obtained based on the difference between the second generation result and the source domain training data without labels, the second generation result is obtained by inputting the first generation result into the second generation model, and the second loss value is also used to update the second generation model.

[0026] In a possible implementation, the target generation model is specifically obtained by iteratively training the target model using source domain training data without labels, target domain training data with labels, and target domain training data without labels.

[0027] In a possible implementation, the target model may further include a second discriminant model, and the parameters of the target generation model are specifically obtained by fixing the parameters of the first discriminant model, and updating the parameters of the first generation model with the first loss value and the third loss value, the third loss value is obtained through the second discriminant result, the second discriminant result is obtained by inputting the second combined data and the third combined data into the second discriminant model, the second combined data is obtained by combining the first generation result and the preset label, the third combined data is obtained by combining the labeled domain unlabeled training data and the preset label, and the first loss value and the third loss value are also used to update the first discriminant model.

[0028] In a possible implementation, a classification module may also be included, which is used to input the target domain training data into the target classification model to obtain a prediction result, wherein the target classification model is obtained by fixing the parameters of the first discriminant model and updating the first classification model through a fourth loss value, the fourth loss value is obtained through a third discriminant result, the third discriminant result is obtained by inputting fourth combined data into the first discriminant model, the fourth combined data is obtained by combining the target domain unlabeled training data and the first prediction label, the first prediction label is obtained by inputting the target domain unlabeled training data into the first classification model, and the fourth loss value is also used to update the first discriminant model when fixing the parameters of the first generation model and the parameters of the first classification model.

[0029] In a possible implementation, the target model may further include a second classification model, which specifically fixes the parameters of the first discriminant model and is obtained by updating the first classification model through the fourth loss value and the fifth loss value, the fifth loss value is obtained through the second prediction label, and the second prediction label is obtained by inputting the first generated result and the target domain labeled training data into the second classification model, and the fourth loss value and the fifth loss value are also used to update the second classification model.

[0030] The fifth aspect of the present application provides a model training device, which may include: a memory for storing computer-readable instructions. It may also include a processor coupled to the memory for executing the computer-readable instructions in the memory to perform the method described in any one of claims 1 to 6.

[0031] In a sixth aspect, the present application provides a data generation device, which may include: a memory for storing computer-readable instructions, and may also include a processor coupled to the memory for executing the computer-readable instructions in the memory to perform the method as described in any one of claims 7 to 12.

[0032] A seventh aspect of the present application provides a computer-readable storage medium, which, when instructions are executed on a computer device, enables the computer device to execute the method described in the first aspect.

[0033] An eighth aspect of the present application provides a computer-readable storage medium, which, when instructions are executed on a computer device, enables the computer device to execute the method described in the second aspect.

[0034] A ninth aspect of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the method as described in the first aspect.

[0035] The tenth aspect of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the method described in the second aspect.

[0036] An eleventh aspect of the present application provides a chip, which is coupled to a memory and is used to execute a program stored in the memory to perform the method described in the first aspect.

[0037] The twelfth aspect of the present application provides a chip, which is coupled to a memory and is used to execute a program stored in the memory to perform the method described in the second aspect.

[0038] The solution provided by the present application enables the first generation model in the target model to generate the first generation result only according to the characteristics of the source domain data itself. Avoid the problem of "label dominance" in generating the first generation result, ignoring the characteristics of the source domain data itself, such as ignoring the semantic information of the image. In addition, the present application provides a variety of solutions for training the first generation model, including training models based on source domain data, target domain labeled data, and target domain unlabeled data. The solution provided by the present application provides more information for model training, improves the performance of the trained model, and solves the problem of existing solutions that only consider the labeled data in the source domain and the labeled data in the target domain during the training process, and have a deep dependence on the labeled data in the target domain. Therefore, the model obtained by the training method provided by the present application can obtain a large amount of high-quality target domain data based on the data in the source domain. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 A schematic diagram of the architecture of a generative adversarial network;

[0040] Figure 2 A schematic diagram of the structure of a ring-shaped generative adversarial network;

[0041] Figure 3 A schematic diagram of the architecture of a low-resource domain-adaptive enhanced ring adversarial network;

[0042] Figure 4 A flowchart of a model training method provided in an embodiment of the present application;

[0043] Figure 5 A schematic diagram of the architecture of a target model provided in an embodiment of the present application;

[0044] Figure 6 A flowchart of a model training method provided in an embodiment of the present application;

[0045] Figure 7 A schematic diagram of another target model architecture provided in an embodiment of the present application;

[0046] Figure 8 A flowchart of a model training method provided in an embodiment of the present application;

[0047] Fig. 9 A schematic diagram of another target model architecture provided in an embodiment of the present application;

[0048] Fig.10 A flowchart of a model training method provided in an embodiment of the present application;

[0049] Fig.11 A schematic diagram of another target model architecture provided in an embodiment of the present application;

[0050] Fig.12 A flowchart of a model training method provided in an embodiment of the present application;

[0051] Fig.13 A schematic diagram of another target model architecture provided in an embodiment of the present application;

[0052] Fig.14 A flowchart of a data generation method provided in an embodiment of the present application;

[0053] Fig.15 A schematic diagram of the architecture of a data generation model provided in an embodiment of the present application;

[0054] Fig.16 A schematic diagram of the structure of a computer device provided in an embodiment of the present application;

[0055] Fig.17 A schematic diagram of the structure of another computer device provided in an embodiment of the present application;

[0056] Fig.18 A schematic diagram of the structure of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION

[0057] The following describes the embodiments of the present application in conjunction with the accompanying drawings. Obviously, the described embodiments are only embodiments of a part of the present application, rather than all embodiments. It is known to those skilled in the art that with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0058] The present application provides a model training method, a data generation method and a device. The model obtained by the model training method provided by the present application can obtain a large amount of high-quality target domain data based on the data in the source domain.

[0059] Since the present application involves a large amount of knowledge related to domain adaptation, in order to better understand the solution provided by the present application, the terms related to domain adaptation involved in the present application are introduced below.

[0060] 1. Domain Adaptation

[0061] Domain adaptation refers to a learning process that uses the similarities between data, tasks or models to apply the model learned in the source domain (hereinafter referred to as the source domain) to the target domain (hereinafter referred to as the target domain). In this application, the domain can be regarded as a data domain, the source domain can be regarded as a domain that can provide a large amount of labeled data, and the target domain can be regarded as a domain that cannot provide a large amount of labeled data, that is, the small amount of labeled data provided by the target domain is not enough to train a model. It should be noted that the source domain and the target domain need to have certain similarities, but at the same time there are differences, which means that the model trained using the source domain data cannot be directly used for target domain prediction. Among them, the similarity can be reflected in the fact that the label sets of the source domain and the target domain are the same, and the difference can be reflected in the different styles of the data. For example, the source domain is real picture data, and the target domain is oil painting style picture data; for example, the difference can be reflected in the different sources of data. For example, the source domain is data collected from device A, and the target domain is data collected from device B. Device A and device B may be devices from different manufacturers, or different models of devices from the same manufacturer; for example, in the telecommunications operation and maintenance network, fault detection data will be generated during the telecommunications operation and maintenance process, and the data from different regions can be regarded as one domain respectively.

[0062] 2. Generative adversarial networks (GAN)

[0063] The most commonly used method to solve domain adaptation problems is adversarial training. Figure 1 , is a schematic diagram of the architecture of a generative adversarial network. Figure 1 As shown, the generative adversarial network usually includes two parts, one is the generative model (sometimes referred to as the generator in this application), and the other is the discriminative model (sometimes referred to as the discriminator in this application). These two models are trained against each other to produce better output. Among them, the generative model captures the potential distribution of real training samples and generates new samples. The discriminative model is a binary classifier used to determine whether the input sample is a real sample or a generated sample. By iteratively optimizing the generative model and the discriminative model, when the discriminative model cannot correctly determine the data source of the input sample, it can be considered that the generative model has learned the distribution of the real training data.

[0064] 3. Cycle generative adversarial networks (CycleGAN)

[0065] For the Generative Adversarial Network (GAN), it is unpredictable what kind of data the trained generator will output, and the generated data may have nothing to do with the input data. In order to make the output data correspond to and be related to the input data, the CycleGAN was born. Figure 2 , is a schematic diagram of the structure of a ring-shaped generative adversarial network. Figure 2 As shown in Figure 1, the CycleGAN usually consists of two generators and two discriminators. Figure 2 As shown, the source domain data is input into the generative model 1 as training data. The generative model 1 outputs the generated data 1 for the acquired source domain data. This process can be understood as the source domain data generates the target domain data through the generative model 1. The generated data 1 is input into the generative model 2 to output the generated data 2. This process can be understood as the generated target domain data regenerates the source domain data. The loss value is determined according to the difference between the generated data 2 (generated source domain data) and the source domain data input into the generative model 1 as training data, and the generator 1 and the generator 2 are updated according to the loss value so that the output data corresponds to and is associated with the input data. In addition, the discriminator 1 is used to determine whether it is the generated target domain data or the real target domain data, and the discriminator 2 is used to determine whether it is the generated source domain data or the real source domain data. In the training process, after the parameters of the generator and the discriminator are initialized, in each iteration, the parameters of the generator (generator 1 and generator 2) are first fixed, and only the parameters of the discriminator (the parameters of the discriminator 1 and discriminator 2) are updated. The training goal of the discriminator is to give a high score if the input comes from real domain data (real source domain data, real target domain data); and give a low score if it is data generated by the generator (generated data 1 and generated data 2). Next, fix the parameters of the discriminator and update the generator. At this stage, the parameters of the discriminator have been fixed, and the generators (generator 1 and generator 2) need to adjust their own parameters so that the generated data output by the generator has a higher score than the discriminator.

[0066] 4. Augmented cyclic adversarial learning for low resource domain adaptation (ACAL)

[0067] Although CycleGAN can solve the problem that the output data corresponds to and is related to the input data to a certain extent, CycleGAN cannot guarantee that the labels of the data generated by the generator and the data input to the generator are consistent. For example, when the source domain data input to Generator 1 is a cat in a real photo style, the target domain data generated by Generator 1 may be a dog in an oil painting style. After passing through Generator 2, the cat in a real photo style is regenerated. In this case, the output result of the generator can already confuse the discriminator, that is, Discriminator 1 believes that the data output by Generator 1 is the real target domain data, and Discriminator 2 believes that the data output by Generator 2 is the real source domain data. This is because, for CycleGAN, the influence of labels is not considered during the training process. ACAL is a solution based on CycleGAN that can solve the problem that CycleGAN cannot guarantee that the labels of the data generated by the generator and the data input to the generator are inconsistent. Reference Figure 3 , is a schematic diagram of the architecture of a low-resource domain adaptive enhanced ring adversarial network. Figure 3 As shown in the figure, the low-resource domain adaptive enhanced circular adversarial network ACAL adds two classifiers based on CycleGAN. Among them, classifier 1 is used to obtain the category of the target domain data generated by generator 1, and classifier 2 is used to obtain the category of the source domain data generated by generator 2. The loss value is obtained by the difference between the category of the generated target domain data and the category of the generated source domain data, and the classifier and generator are updated through the loss value.

[0068] The applicant has found that the existing solutions to the domain adaptation problem have at least the following two problems:

[0069] 1) The existing solutions have the problem of "label dominance". Taking ACAL as an example, the source domain data input to generator 1 must include labels. For example, if the source domain data is image data, the data input to generator 1 is a combination of "image + label". This will cause generator 1 to be dominated by labels when generating target domain data, and only generate target domain data corresponding to the label, while ignoring the semantic information of the source domain data. Specifically, for a large amount of source domain data with the same label, generator 1 only needs to generate a small amount of target domain data with the same label as the large amount of source domain data to confuse the discriminator. For example, the style of the source domain data is a real shooting style, and the style of the target domain data is an oil painting style. The data input to generator 1 includes 5 different types of cats in real shooting styles, and the labels of the 5 different types of cats in real shooting styles are all "cat". Then for these 5 different types of cats in real shooting styles, generator 1 may only generate one type of cat in oil painting style. The applicant discovered this problem: the existing solution to the problem of domain adaptation cannot generate a large amount of target domain data based on the source domain data.

[0070] 2) Existing solutions only consider labeled data in the source domain and labeled data in the target domain during training, and are heavily dependent on labeled data in the target domain. However, in reality, labeled data in the target domain is small, while unlabeled data in the target domain is large. How to use unlabeled data in the target domain during training to provide more information for model training and improve the performance of the trained model has not yet been solved.

[0071] In order to solve the above problems, an embodiment of the present application provides a model training method and a data generation method. Through the solution provided by the present application, the "label-dominant" problem existing in the prior art is solved. The model is trained according to source domain data, target domain labeled data and target domain unlabeled data. The model obtained by the training method provided by the present application can obtain a large amount of high-quality target domain data based on the source domain data.

[0072] 1. Training Model

[0073] See also Figure 4 , which is a flow chart of a model training method provided in an embodiment of the present application.

[0074] like Figure 4 As shown, a model training method provided by the present application may include the following steps:

[0075] 401. Input source domain data without labels into a first generation model to output a first generation result.

[0076] Figure 4 The method shown can be applied to Figure 5 The target model is shown in Figure 1. Figure 5 , is a schematic diagram of the architecture of a target model provided in an embodiment of the present application. Figure 5 As shown, a target model provided by an embodiment of the present application includes a generative model (first generative model) and a discriminative model (first discriminative model). The generative model includes an input and an output, and the discriminative model includes two inputs and one output. Figure 4In the described method, the input of the generation model is the source domain data without labels. The output of the generation model is the first generation result. One input of the first discriminant model is the first combination data, and the other input is the target domain labeled data, which is understood with reference to step 403. The source domain data in the present application may be image data, text data or voice data, and the embodiment of the present application does not limit the type of the source domain data. The target domain data in the present application has the same data type as the source language data. It is introduced above that the source domain can be regarded as a domain that can provide a large amount of labeled data. The source domain data is illustrated by taking the image data as an example. It is assumed that the source domain data includes the first image data and the second image data, wherein the first image data includes the first label and the second image data includes the second label. Inputting the source domain data without labels into the first generation model can be understood as inputting the first image data (without the first label) and the second image data (without the second label) into the first generation model. Since the source domain data input into the first generation model does not carry labels, the first generation model cannot generate the first generation result according to the label of the source domain data, but can only generate the first generation result according to the characteristics of the source domain data, such as the semantic information of the image. Through such an input design, the first generation model can only generate the first generation result according to the characteristics of the source domain data itself, avoiding the problem of "label dominance" in generating the first generation result, ignoring the characteristics of the source domain data itself, such as ignoring the semantic information of the image. In addition, the source domain data without labels can be input into the first generation model in batches. For example, a preset number of source domain data without labels is input into the first generation model each time.

[0077] In a possible implementation, the first generation model may adopt a generator in an existing adversarial network such as GAN, CycleGAN, etc.

[0078] In one possible implementation, the first generation model may be a deep neural network (DNN).

[0079] In addition, in this application, labels are sometimes referred to as annotations, and the two have the same meaning.

[0080] 402. Combine the label not carried by the source domain data and the first generated result to obtain first combined data.

[0081] Taking the picture data as an example, it is assumed that the source domain data includes picture 1 (labeled as "cat"), picture 2 (labeled as "dog"), and picture 3 (labeled as "chicken"). By executing step 401, picture 1 (without the label "cat"), picture 2 (without the label "dog"), and picture 3 (without the label "chicken") are input into the first generation model. For picture 1, picture 2, and picture 3, the first generation model generates three generated pictures respectively, assuming that they are generated picture 1, generated picture 2, and generated picture 3 respectively. The labels not carried by the source domain data are combined with the first generation result to obtain the first combined data. It can be understood that the generated picture 1 and the label "cat" not carried by picture 1 are combined to obtain a set of combined data, the generated picture 2 and the label "dog" not carried by picture 2 are combined to obtain another set of combined data, and the generated picture 3 and the label "chicken" not carried by picture 3 are combined to obtain another set of combined data. In the above, a total of three sets of combined data are obtained.

[0082] 403. Input the first combined data and the target domain labeled data into a first discriminant model to output a first discriminant result.

[0083] The data in the target domain includes labeled data and unlabeled data. It should be noted that the source domain data without labels means that the source domain data is labeled, but it is not carried when input into the first generation model, while the target domain unlabeled data means that the data in the target domain is unlabeled. The first discriminant model is used to determine whether the data input into the first discriminant model is real target domain data or data generated by the first generator. The training goal of the first discriminant model is to determine whether the first combination data is a negative sample and to determine whether the target domain labeled data is a positive sample. Among them, if the first discriminant model determines that it is a negative sample, the first discriminant model can output "0" or "false", and if the first discriminant model determines that it is a positive sample, the first discriminant model can output "1" or "true". The purpose of training the first discriminant model is to enable the first discriminant model to more accurately determine which of the acquired data is generated by the generator and which is labeled data in the target domain.

[0084] In a possible implementation, the first discriminant model may adopt a discriminator in an existing adversarial network such as GAN or CycleGAN.

[0085] In a possible implementation, the first discriminant model may be a deep neural network (DNN).

[0086] 404. Obtain a first loss value according to the first discrimination result.

[0087] A first loss value is obtained according to a difference between the first discrimination result and a training target of the first discrimination model.

[0088] In a possible implementation, when the first combined data is input into the first discrimination model to output the first discrimination result, the first loss value can be understood with reference to formula 1-1:

[0089]

[0090] Where E represents expectation, x represents data without labels, y represents labels that x does not carry, ps(x,y) represents the joint probability distribution between data without labels in the source domain and labels that do not carry, Dt() represents the input of the first discriminator, G S→T () represents the input of the first generation model.

[0091] In a possible implementation, when the target domain labeled data is input into the first discriminant model to output the first discriminant result, the first loss value can be understood with reference to formula 1-2:

[0092]

[0093] 405. Perform adversarial training on the first generation model and the first discriminant model according to the first loss value.

[0094] Adversarial training refers to a dynamic "game process" between the first generative model and the first discriminative model, which confront and promote each other. It can be understood that the training of the first generative model is to make the first discriminative model unable to correctly judge whether the received data comes from the first generative model or from the real target domain data, and the training of the first discriminative model is to accurately distinguish whether the received data comes from the first generative model or from the real target domain data.

[0095] Repeat steps 401 to 405 until a preset stop condition is met, wherein the stop condition includes but is not limited to meeting a preset number of training times, the first generation model meeting a convergence condition, and the first discriminant model being unable to correctly determine whether the received data is from the first generation model or from real target domain data.

[0096] In the process of one iterative training, the parameters of the first generative model can be fixed first, that is, the parameters of the first generative model are kept unchanged first, and the first discriminant model is updated according to the first loss value to obtain the first updated discriminant model (the updated first discriminant model). Or in one iterative training, the parameters of the first discriminant model can be fixed first, and the first generative model is updated according to the first loss value to obtain the first updated generative model (the updated first generative model). The steps of updating the first discriminant model and updating the first generative model are performed alternately. Since the first generative model has to be trained against the first discriminant model, the specific update of the first generative model according to the first transformation loss value L1' can be understood by referring to formula 1-3. The first transformation loss value L1' is the opposite of the first loss value:

[0097]

[0098] Taking the above iterative training as an example, the source domain data without labels (such as the first source domain data) is input into the first generation model, and the first loss value (hereinafter referred to as the first loss value a) is obtained by executing steps 401 to 404. The parameters of the first generation model are fixed, and the first discriminant model is updated according to the first loss value a (hereinafter referred to as the first discriminant model obtained after the update here is referred to as the first discriminant model a). The first discriminant model a is fixed, and the source domain data without labels (such as the second source domain data) is input into the first generation model, and another first loss value (hereinafter referred to as the first loss value b) is obtained by executing steps 401 to 404, and the first transformation loss value b' is obtained according to the first loss value. The first generation model is updated according to the first transformation loss value b' (hereinafter referred to as the first generation model obtained after the update here is referred to as the first generation model b). The source domain data without labels (such as the third source domain data) is input into the first generation model, and another first loss value (hereinafter referred to as the first loss value c) is obtained by executing steps 401 to 404. The parameters of the first generative model b are fixed, and the first discriminant model a is updated according to the first loss value c (hereinafter, the first discriminant model obtained after the update is referred to as the first discriminant model b). The first discriminant model b is fixed, and the source domain data without labels (such as the fourth source domain data) is input into the first generative model. Another first loss value (hereinafter referred to as the first loss value d) is obtained by executing steps 401 to 404, and the first transformation loss value d' is obtained according to the first loss value d. The first generative model b is updated according to the first transformation loss value d', and so on. Each time new source domain data without labels is input into the first generative model, the first discriminant model and the first generative model are updated alternately according to the obtained first loss value until the preset stop condition is met. It should be noted that in the above example, each time new source domain data without labels is input into the first generative model, the first discriminant model and the first generative model are updated alternately according to the obtained first loss value. In some possible implementations, after inputting new source domain data without labels into the first generation model multiple times, the first discriminant model and the first generation model may be updated alternately according to the first loss value obtained. For example, when the first generation model receives the first source domain data to the third source domain data, the parameters of the first generation model are fixed and the first discriminant model is updated. When the fourth source domain data is received, the updated first discriminant model is fixed and the first generation model is updated.

[0099] Depend on Figure 4 It can be seen from the corresponding embodiments that the present application provides a model training method, which iteratively trains the target model based on source domain data without labels. Figure 4The corresponding embodiment enables the first generation model in the target model to generate the first generation result only according to the characteristics of the source domain data itself. This avoids the problem of "label dominance" in generating the first generation result, ignoring the characteristics of the source domain data itself, such as ignoring the semantic information of the image. Therefore, the model obtained by the training method provided by this application can obtain a large amount of high-quality target domain data based on the data in the source domain.

[0100] See also Figure 6 , which is a flow chart of a model training method provided in an embodiment of the present application.

[0101] like Figure 6 As shown, a model training method provided in this application may include the following steps:

[0102] 601. Input source domain data without labels into a first generation model to output a first generation result.

[0103] 602. Combine the label not carried by the source domain data and the first generated result to obtain first combined data.

[0104] 603. Input the first combined data and the target domain labeled data into a first discriminant model to output a first discriminant result.

[0105] 604. Obtain a first loss value according to the first discrimination result.

[0106] Steps 601 to 604 can refer to Figure 4 The steps 401 to 404 in the corresponding embodiment are understood and will not be repeated here.

[0107] 605. Input the first generation result into the second generation model to output the second generation result.

[0108] Figure 6 The corresponding embodiments can be applied in Figure 7 For the corresponding target model, see Figure 7 , is a schematic diagram of another target model architecture provided in an embodiment of the present application. Figure 7 As shown, a target model provided by an embodiment of the present application includes two generation models and one discriminant model. The source domain data without labels is input into the first generation model as training data. The first generation model outputs generation data 1 for the acquired source domain data without labels. This process can be understood as generating target domain data from the source domain data without labels through the first generation model. The generation data 1 is input into the second generation model to output generation data 2. This process can be understood as regenerating the source domain data without labels from the generated target domain data.

[0109] 606. Obtain a second loss value according to a difference between the second generated result and the source domain data without the label.

[0110] The loss value is determined based on the difference between the generated data 2 (generated source domain data without labels) and the source domain data without labels input into the first generation model as training data, and the first generation model and the second generation model are updated based on the loss value. Exemplarily, in a possible implementation, it can be understood with reference to formulas 1-4:

[0111]

[0112] Among them, E represents the expectation, x represents the data without labels, y represents the label that x does not carry, and p s (x, y) represents the probability joint distribution between the source domain data and the label, G T→S ()() represents the input of the second generation model, p t (x, y) represents the probability joint distribution between the target domain data and labels, G S→T () represents the input of the first generation model.

[0113] 607. Fix the parameters of the first discriminant model, and update the parameters of the first generative model according to the first loss value.

[0114] The parameters of the first discriminant model are fixed, and the parameters of the first generative model are updated according to the first loss value and the second loss value. Specifically, the parameters of the first generative model are updated according to the first transformation loss value and the second loss value.

[0115] In the process of iterative training of the target model, if the current iterative training is to fix the parameters of the first discriminant model and update the parameters of the first generative model, the parameters of the first generative model are updated according to the first loss value and the second loss value. The second loss value is also used to update the second generative model. In one possible implementation, updating the parameters of the first generative model according to the first loss value and the second loss value can be understood as weighting the opposite of the first loss value and the second loss value, and updating the parameters of the first generative model and the parameters of the second generative model according to the loss value obtained after the weighted processing.

[0116] Figure 6 The corresponding embodiment provides a specific solution for updating the first generative model according to the first loss value when conducting adversarial training. The following describes how to update the first discriminative model according to the first loss value when conducting adversarial training.

[0117] See also Figure 8 , which is a flow chart of a model training method provided in an embodiment of the present application.

[0118] like Figure 8 As shown, a model training method provided in this application may include the following steps:

[0119] 801. Input source domain data without labels into a first generation model to output a first generation result.

[0120] 802. Combine the label not carried by the source domain data and the first generation result to obtain first combined data.

[0121] 803. Input the first combined data and the target domain labeled data into a first discriminant model to output a first discriminant result.

[0122] 804. Obtain a first loss value according to the first discrimination result.

[0123] Steps 801 to 804 can refer to Figure 4 The steps 401 to 404 in the corresponding embodiment are understood and will not be repeated here.

[0124] 805. Combine the first generated result and the preset label to obtain second combined data.

[0125] In order to increase the number of training samples and obtain more training samples, the increase in the number of training samples helps to improve the performance of the model obtained by training. Assume that the preset label can be "unknown label", and the first generation result includes generating picture 1, generating picture 2, and generating picture 3. Then, generate picture 1 and "unknown label" are combined to obtain a set of second combination data, then generate picture 2 and "unknown label" are combined to obtain another set of second combination data, then generate picture 3 and "unknown label" are combined to obtain another set of second combination data.

[0126] 806. Combine the target domain unlabeled data and the preset label to obtain third combined data.

[0127] Since the number of labeled data in the target domain is too small, the information that can be provided to the discriminant model during the training process is limited, which is not conducive to the training of the model. The solution provided in the present application utilizes the target domain unlabeled data during the training process, and combines the target domain unlabeled data with preset labels to obtain a large amount of target domain labeled data, and then a large amount of real target domain labeled data can be obtained. By adding a large amount of real target domain labeled data as training samples during the training process, the efficiency of the training model is improved, and the performance of the trained model is better. Specifically, the performance of the discriminant model and the generative model after training is better. Combining the target domain unlabeled data with the preset label to obtain the third combination data is similar to the process of obtaining the second combination data. For example, the target domain unlabeled data includes data 1, data 2, and data 3. Then, data 1 and "unknown label" are combined to obtain a set of third combination data, then data 2 and "unknown label" are combined to obtain another set of third combination data, then data 3 and "unknown label" are combined to obtain another set of third combination data.

[0128] 807. Input the second combined data and the third combined data into a second discrimination model to output a second discrimination result.

[0129] Figure 8 The corresponding embodiments can be applied in Fig. 9 In the target model shown, see Fig. 9 , is a schematic diagram of another target model architecture provided in an embodiment of the present application. Fig. 9 As shown, a target model provided in an embodiment of the present application includes at least one generative model and two discriminative models. When a generative model is included, reference can be made to Figure 5 To understand the first generation model in a target model shown in FIG. 1 , when two generation models are included, reference can be made to Figure 7The first generation model and the second generation model in a target model shown in the figure are understood, and no further details are given here. The second discriminant model is used to discriminate whether the data input to the second discriminant model is real target domain data or data generated by the generator, wherein the real target domain data includes the combined data obtained by combining the target domain unlabeled data and the preset label. The training goal of the second discriminant model is to discriminate the second combined data as a negative sample and the third combined data as a positive sample. Among them, if the second discriminant model discriminates as a negative sample, the second discriminant model can output "0" or "false", and if the second discriminant model discriminates as a positive sample, the second discriminant model can output "1" or "true". The training goal of the second discriminant model is to discriminate the second combined data as a negative sample, which can be understood as the training goal of the second discriminant model is to discriminate the second combined data as data generated by the generator, and the training goal of the second discriminant model is to discriminate the third combined data as data that is real target domain data. The purpose of training the second discriminant model is to enable the second discriminant model to more accurately discriminate which of the acquired data is data generated by the generator and which is data with labels in the target domain.

[0130] 808. Obtain a third loss value according to the second discrimination result.

[0131] The third loss value is obtained according to the difference between the second discrimination result and the training target of the second discrimination model.

[0132] In a possible implementation, when the second combination data is input into the second discriminant model, the training goal of the second discriminant model is to discriminate the second combination data as a negative sample, and obtaining the third loss value according to the second discrimination result can be understood by referring to formula 1-5:

[0133]

[0134] In a possible implementation, when the third combination data is input into the second discriminant model, the training goal of the second discriminant model is to discriminate the third combination data as a positive sample, and obtaining the third loss value according to the second discrimination result can be understood by referring to formula 1-6:

[0135]

[0136] Among them, E represents the expectation, x represents the data without labels, and p u (x) represents the marginal probability distribution of unlabeled data in the target domain, Dt() represents the input of the first discriminator, and K represents the number of labels included in the label set in the source domain / target domain. u (x) represents the marginal probability distribution of the unlabeled data in the source domain.

[0137] 809. Fix the parameters of the first generation model, and update the first discriminant model according to the first loss value and the third loss value.

[0138] In the process of iterative training of the target model, if the current iterative training is to fix the parameters of the first generative model and update the first discriminant model, the first discriminant model can be updated according to the first loss value and the third loss value. The first loss value and the third loss value are also used to update the second discriminant model, that is, the first discriminant model and the second discriminant model share model parameters. In one possible implementation, updating the parameters of the first discriminant model according to the first loss value and the third loss value can be understood as weighting the first loss value and the third loss value, and updating the parameters of the first discriminant model according to the loss value obtained after the weighted processing.

[0139] 810. Fix the parameters of the first discriminant model, and update the parameters of the first generative model according to the first loss value and the third loss value.

[0140] In the process of iterative training of the target model, if the current iterative training is to fix the parameters of the first discriminant model and update the first generative model, the first generative model can be updated according to the first loss value and the third loss value, for example, the first discriminant first generative model is updated according to the opposite number of the first loss value and the opposite number of the third loss value. In a possible implementation, the first generative model can be updated according to the opposite number of the first loss value, the second loss value, and the opposite number of the third loss value.

[0141] Figure 8 The corresponding embodiment provides a specific solution for updating the discriminant model and the generative model according to the first loss value during adversarial training. In some possible implementations, a classifier can also be introduced into the target network to obtain more training data based on the target domain unlabeled data.

[0142] See also Fig.10 , which is a flow chart of a model training method provided in an embodiment of the present application.

[0143] like Fig.10 As shown, a model training method provided in this application may include the following steps:

[0144] 1001. Input source domain data without labels into a first generation model to output a first generation result.

[0145] 1002. Combine the label not carried by the source domain data and the first generated result to obtain first combined data.

[0146] 1003. Input the first combined data and the target domain labeled data into a first discriminant model to output a first discriminant result.

[0147] 1004. Obtain a first loss value according to the first discrimination result.

[0148] Steps 1001 to 1004 can refer to Figure 4 The steps 401 to 404 in the corresponding embodiment are understood and will not be repeated here.

[0149] 1005. Input the target domain unlabeled data into a first classification model to output a first predicted label.

[0150] Fig.10 The corresponding embodiments can be applied in Fig.11 In the target model shown, see Fig.11 , is a schematic diagram of another target model architecture provided in an embodiment of the present application. Fig.11 As shown, a target model provided in an embodiment of the present application includes at least one generation model, at least one discrimination model and a classification model. When a generation model is included, reference can be made to Figure 5 To understand the first generation model in a target model shown in FIG. 1 , when two generation models are included, reference can be made to Figure 7 The first generative model and the second generative model in the target model shown in FIG. 1 are understood by reference, and no further description is given here. When two discriminant models are included, one of the discriminant models can refer to Fig. 9 The second discrimination model in the corresponding embodiment is understood, and will not be repeated here. In a possible implementation, the first classification model can be a convolutional neural network (CNN).

[0151] 1006. Combine the target domain unlabeled data and the first predicted label to obtain fourth combined data.

[0152] Assuming that target domain unlabeled data a is input into the first classification model, and the first classification model outputs a first predicted label a for the target domain unlabeled data a, the target domain unlabeled data and the first predicted label a are combined to obtain a set of fourth combined data. For another example, target domain unlabeled data b is input into the first classification model, and the first classification model outputs a first predicted label b for the target domain unlabeled data b, the target domain unlabeled data and the first predicted label b are combined to obtain a set of fourth combined data.

[0153] 1007. Input the fourth combination data into the first discrimination model to output a third discrimination result.

[0154] The above embodiments have introduced that the first discriminant model is used to discriminate whether the data input to the first discriminant model is real target domain data or data generated by the generator. Fig.10 In the corresponding embodiment, the training goal is that the fourth combination of data has a preset probability of being judged as real target domain data, and also has a preset probability of being judged as data generated by the generator. For example, in one possible implementation, the training goal of the first discriminant model also includes a 50% probability of judging that the fourth combination of data is real target domain data, and a 50% probability of judging that the fourth combination of data is data generated by the generator. For another example, in a possible implementation, the training goal of the first discriminant model is related to the accuracy of the first classification model. For example, if the accuracy of the first classification model does not reach 60%, the first discriminant model uses the judgment that the fourth combination of data is data generated by the generator as the training goal. If the accuracy of the first classification model reaches 60%, the first discriminant model uses the judgment that the fourth combination of data is real target domain data as the training goal.

[0155] 1008. Obtain a fourth loss value according to the third discrimination result.

[0156] The fourth loss value is obtained according to the difference between the third discrimination result and the training target of the first discrimination model. The training target of the first discrimination model in step 1108 is understood with reference to the training target described in step 1107. Exemplarily, it can be understood with reference to formula 1-7:

[0157]

[0158] Among them, μ represents a natural number between 0 and 1, E represents expectation, x represents data without labels, y represents the label that x does not carry, ps(x, y) represents the probabilistic joint distribution between data without labels in the source domain and labels that are not carried, Dt() represents the input of the first discriminator, and C1(x) represents the input of the first classification model.

[0159] 1009. Update the first classification model according to the fourth loss value.

[0160] In one possible implementation, the classification model and the generation model are updated simultaneously, the parameters of the first discriminant model are fixed, and the first classification model is updated according to the inverse of the fourth loss value. If two discriminant models are included, the parameters of the first discriminant model and the parameters of the second discriminant model are fixed, and the first classification model is updated according to the inverse of the fourth loss value.

[0161] 1010. Fix the parameters of the first generation model and the parameters of the first classification model, and update the first discriminant model according to the first loss value and the fourth loss value.

[0162] In one possible implementation, the parameters of the first generation model and the parameters of the first classification model are fixed, and the first discriminant model is updated according to the first loss value and the fourth loss value. For example, the first loss value and the fourth loss value are weighted, and the first discriminant model is updated according to the loss value obtained after the weighted processing.

[0163] In one possible implementation, the parameters of the first generation model and the parameters of the first classification model are fixed, and the first discriminant model is updated according to the first loss value, the third loss value, and the fourth loss value. For example, the first loss value, the third loss value, and the fourth loss value are weighted, and the first discriminant model is updated according to the loss value obtained after the weighted processing. The process of obtaining the third loss value can refer to Figure 8 The steps 805 to 808 in the corresponding embodiment are understood and will not be repeated here.

[0164] In some possible implementations, the training efficiency of the first classification model is improved, the performance of the trained target model is improved, and the training samples used to train the first classification model can be increased.

[0165] See also Fig.12 , which is a flow chart of a model training method provided in an embodiment of the present application.

[0166] like Fig.12 As shown, a model training method provided by the present application may include the following steps:

[0167] 1201. Input source domain data without labels into a first generation model to output a first generation result.

[0168] 1202. Combine the label not carried by the source domain data and the first generated result to obtain first combined data.

[0169] 1203. Input the first combined data and the target domain labeled data into a first discriminant model to output a first discriminant result.

[0170] 1204. Obtain a first loss value according to the first discrimination result.

[0171] Steps 801 to 804 can refer to Figure 4 The steps 401 to 404 in the corresponding embodiment are understood and will not be repeated here.

[0172] 1205. Input the target domain unlabeled data into the first classification model to output a first predicted label.

[0173] 1206. Combine the target domain unlabeled data and the first predicted label to obtain fourth combined data.

[0174] 1207. Input the fourth combination data into the first discrimination model to output a third discrimination result.

[0175] 1208. Obtain a fourth loss value according to the third discrimination result.

[0176] Steps 1205 to 1208 can refer to Fig.10 Steps 1005 to 1008 in the corresponding embodiment can be understood and will not be repeated here.

[0177] 1209. Input the first generated result and the target domain labeled data into a second classification model to output a second predicted label.

[0178] Fig.12 The corresponding embodiments can be applied in Fig.13 In the target model shown, see Fig.13 , is a schematic diagram of another target model architecture provided in an embodiment of the present application. Fig.13 As shown, a target model provided in an embodiment of the present application includes at least one generation model, at least one discrimination model and two classification models. Figure 5 To understand the first generation model in a target model shown in FIG. 1 , when two generation models are included, reference can be made to Figure 7 The first generation model and the second generation model in the target model shown in the figure can be understood, and no further details will be given here. When a discriminant model is included, reference can be made to Figure 5 , Fig. 9 as well as Fig.11 To understand the first discriminant model in, including two discriminant models, you can refer to Fig. 9 as well as Fig.11 In one possible implementation, the second classification model may be a convolutional neural network (CNN).

[0179] 1210. Obtain a fifth loss value according to the second prediction label.

[0180] The fifth loss value is obtained according to the difference between the second prediction result and the label not carried by the source domain data. In addition, the fifth loss value is obtained according to the difference between the second prediction result and the actual label of the target domain. When the input of the second classification model is the first generation result, the fifth loss value is obtained according to the difference between the second prediction result and the label not carried by the target source domain data. For example, the input of the first generation model includes source domain data without labels as source domain data a, and the label not carried by the source domain data a is label a. The generator generates a first generation result according to the source domain data a. Assuming that it is the first generation result a, the first generation result a is input into the second classification model to obtain the second prediction label. For example, if it is the predicted label a, the fifth loss value is obtained according to the difference between the predicted label a and the label a. Exemplarily, it can be understood with reference to formula 1-8:

[0181]

[0182] Among them, K represents the number of labels included in the label set in the source domain / target domain, E represents the expectation, x represents the data without labels, and p u (x) represents the marginal probability distribution of unlabeled data in the target domain, C1() represents the input of the first classifier, where C1(i|x) represents the probability of the input x and the output i-th class.

[0183] When the input of the second classification model is the labeled data of the target domain, the fifth loss value is obtained according to the difference between the second prediction result and the real label of the target domain. For example, the input of the second classification model includes the target domain data b (the label of the data b is label b), and it is assumed that the second prediction result obtained by the second classification model for the target domain data b is the predicted label b, then the fifth loss value is obtained according to the difference between the predicted label b and the label b. For example, it can be understood by referring to formula 1-9:

[0184]

[0185] Among them, μ represents a natural number between 0 and 1, E represents expectation, x represents unlabeled data, y represents the label that x does not carry, ps(x, y) represents the probabilistic joint distribution between unlabeled data in the source domain and uncarried labels, and C2(x) represents the input of the second classification model.

[0186] 1211. Update the second classification model according to the fifth loss value.

[0187] In one possible implementation, the classification model and the generation model are updated simultaneously, the parameters of the first discriminant model are fixed, and the second classification model is updated according to the fifth loss value. If two discriminant models are included, the parameters of the first discriminant model and the parameters of the second discriminant model are fixed, and the second classification model is updated according to the fifth loss value.

[0188] In one possible implementation, the classification model can be updated later than the generation model. For example, after the generation model (the first generation model, or the first generation model and the second generation model) has been iteratively trained for a preset number of times, the classification model begins to be updated synchronously with the generation model. Specifically, the second classification model is iteratively trained, including fixing the parameters of the first discriminant model and updating the second classification model according to the fifth loss value. If two discriminant models are included, the parameters of the first discriminant model and the parameters of the second discriminant model are fixed, and the second classification model is updated according to the fifth loss value.

[0189] 1212. Update the first classification model according to the fourth loss value and the fifth loss value.

[0190] In one possible implementation, the fourth loss value and the fifth loss value are weighted, and the first classification model is updated according to the loss value obtained after the weighted processing. In this implementation, the first classification model and the second classification model share model parameters.

[0191] The above introduces a model training method provided in an embodiment of the present application. The following describes how to apply the trained model to perform data generation tasks.

[0192] 2. Perform data generation tasks through the trained model.

[0193] See also Fig.14 , which is a flow chart of a data generation method provided in an embodiment of the present application.

[0194] like Fig.14 As shown, a data generation method provided by the present application may include the following steps:

[0195] 1401. Obtain source domain data without labels.

[0196] 1402. Input the source domain data without labels into a first generation model to obtain target domain data.

[0197] Among them, the first generation model is Figure 4 , Figure 6 , Figure 8 , Fig.10 as well as Fig.12 The first generative model after training is obtained by the training method described in any corresponding embodiment.

[0198] It should be noted that according to a data generation method provided by the present application, a large amount of high-quality target domain data can be obtained based on the source domain data. In addition, a new model can be trained based on the obtained target domain data, such as training a new classification model based on the obtained target domain data. In one possible implementation, Fig.14 The trained second classification model described in the corresponding embodiment can be used to perform classification tasks on data in the target domain.

[0199] See also Fig.15 , is a schematic diagram of the architecture of a data generation model provided in an embodiment of the present application, Fig.14 The method described in the corresponding embodiment can be applied to Fig.15 The data generation model shown in FIG. 1 includes a first generation model for generating data in the target domain. In one possible embodiment, a second classification model may be included. The second classification model is trained based on the generated data in the target domain, so that the trained second classification model can perform classification tasks for the data in the target domain. The input data of the first generation model is the source domain data without labels, and the output is the target domain data including labels. The first generation model is generated by Figure 4 , Figure 6 , Figure 8 , Fig.10 as well as Fig.12 The first generation model after training is obtained by the training method described in any one of the corresponding embodiments. The second classification model is obtained by Fig.14 The trained second classification model is obtained by the training method described in the corresponding embodiment.

[0200] In a typical application scenario of the solution provided in this application, training a model, such as training a model for performing classification tasks, generally requires a large number of labeled samples. However, for some fields, such as the medical field and the industrial vision field, it is not easy to obtain labeled samples, which may be costly, time-consuming and labor-intensive. Through the solution provided in this application, a large number of labeled samples in the target domain can be obtained based on a small number of labeled samples in the target domain, a large number of unlabeled samples in the target domain, and a large number of labeled samples in the source domain, thereby reducing costs.

[0201] In another typical application scenario of the solution provided in this application, for an enterprise that wants to purchase training data from other enterprises, in order to ensure the stability of the supply of training data, the enterprise may purchase training data from multiple other enterprises. The training data from different enterprises can be regarded as a data domain respectively. The training data from different enterprises may not satisfy independent and identical distribution. Even if the training data is purchased from the same enterprise, the training data may be data collected by different generations of equipment of the enterprise. For example, some data is collected from the first generation of products, and some data is collected from the second generation of products, which leads to the collected data not satisfying independent and identical distribution. The training data for training a model is required to satisfy independent and identical distribution. In addition, if the distribution of the training data is greatly different from that of the test data, the performance of the model will often drop significantly. The solution provided by this application can solve this problem very well. The training data purchased from other companies is regarded as labeled target domain data. Through the solution provided in this application, there is no need to purchase a large amount of labeled target domain data from other companies. Only a small amount of labeled target domain data needs to be purchased. According to the solution provided in this application, a large amount of labeled target domain data can be generated based on the small amount of labeled target domain data, some unlabeled target domain data, and source domain data, thereby saving costs and ensuring that the large amount of labeled target domain data generated satisfies independent and identical distribution, thereby improving the efficiency of model training.

[0202] The data generation method of the embodiment of the present application is introduced in detail above in combination with the accompanying drawings. The advantages of the scheme provided by the present application are demonstrated below in combination with specific experimental data. In the experimental process, the present application uses the commonly used data sets SVHN (hereinafter referred to as S data set), MNIST (hereinafter referred to as M data set) and USPS (hereinafter referred to as U data set). The data included in these three data sets are all picture data. The first scheme and the second scheme are existing schemes for generating target domain data based on source domain data. The classification models are trained respectively according to the target domain data obtained by different schemes, and the accuracy of the classification models is compared, thereby demonstrating the advantages of different schemes. As shown in Table 1, "SM" means that the S data set is used as the source domain data and the M data set is used as the target domain data. "Tagged data for each category" is q, which means that there are q labeled pictures on each category in the target domain data set, and other pictures on the category have no labels. The q labeled pictures are used as the target domain labeled data, and the other pictures included in the category are used as the target domain unlabeled data. The other values ​​in the table represent the accuracy rate. The higher the accuracy rate, the higher the performance of the classifier. As shown in Table 1, the classifier obtained by training the data generated by the scheme provided by the present application (which can be understood as the second classification model described in the above embodiment) has a much higher classification effect on the data in the target domain than other existing schemes. The test results shown in Table 1 are for the case of low resources, and Table 2 is the test results for high resources, where high resources and low resources are determined according to the number of unlabeled data included in the target domain. High resources refer to the target domain including a large amount of unlabeled data, and low resources refer to the target domain including a small amount of unlabeled data, or limited. Referring to Table 2, "unlabeled data of each category" is p, which means that there are p unlabeled pictures on each category in the target domain data set. As can be seen from Table 2, the scheme provided by the present application can obtain a better performance classification model when there is a large amount of unlabeled data in the target domain data. Referring to Table 3, when the target domain has more and more unlabeled data, the performance of the classification model trained by the scheme provided by the present application will continue to improve, and the best scheme for generating target domain data based on the ACAL scheme cannot guarantee such a trend.

[0203] Table 1:

[0204]

[0205]

[0206] Table 2:

[0207]

[0208]

[0209] Table 3

[0210]

[0211] The above describes a method for model training and a method for data generation provided by the present application, and the scheme provided by the embodiments of the present application. It is understandable that the above-mentioned training device and translation device include hardware structures and / or software modules corresponding to the execution of each function in order to realize the above-mentioned functions. It should be easily appreciated by those skilled in the art that, in combination with the modules and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0212] Describing from the hardware structure, Figure 4 , Figure 6 , Figure 8 , Fig.10 , Fig.12 The execution subject in the embodiment may be implemented by one physical device, or may be implemented by multiple physical devices together, or may be a logical function module within one physical device, and the embodiments of the present application do not specifically limit this. Fig.14 The execution subject in the embodiment may be implemented by one physical device, or may be implemented by multiple physical devices together, or may be a logical function module within one physical device, and the embodiments of the present application do not specifically limit this.

[0213] Based on the aforementioned model training method and data generation method, the model training device and data generation device provided by the present application are described below. The model training device is used to perform the aforementioned Figure 4 , Figure 6 , Figure 8 , Fig.10 , Fig.12 The data generating device is used to execute the above-mentioned steps. Fig.14 The corresponding method steps.

[0214] For example, a model training device or a data generation device can be Fig.16 The computer equipment in the Fig.16 The figure shows a hardware structure diagram of a computer device provided in an embodiment of the present application, including: a communication interface 1601 and a processor 1602 , and may also include a memory 1603 .

[0215] The communication interface 1601 can use any transceiver or other device for communicating with other devices or communication networks. In this solution, the end-side device can use the communication interface 1601 to communicate with the server, such as uploading a model or downloading a model. In a possible implementation, the communication interface 1601 can communicate with the server using technologies such as Ethernet, radio access network (RAN), and wireless local area networks (WLAN).

[0216] Processor 1602 includes, but is not limited to, one or more of a central processing unit (CPU), a network processor (NP), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD). The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. Processor 1602 is responsible for communication lines 1604 and general processing, and may also provide various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions.

[0217] The memory 1603 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor 1602 via a communication line 1604. The memory 1603 may also be integrated with the processor 1602. If the memory 1603 and the processor 1602 are independent devices, the memory 1603 and the processor 1602 are connected, for example, the memory 1603 and the processor 1602 can communicate through a communication line. The communication interface 1601 and the processor 1602 can communicate through a communication line, and the communication interface 1601 can also be directly connected to the processor 1602.

[0218] The communication line 1604 may include any number of interconnected buses and bridges, and the communication line 1604 links together various circuits including one or more processors 1602 represented by the processor 1602 and a memory represented by the memory 1603. The communication line 1604 may also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are all well known in the art and therefore will not be further described in this application.

[0219] In one possible implementation, the computer device is a model training apparatus, and the model training apparatus includes a memory for storing computer-readable instructions. It may also include a communication interface and a processor coupled to the memory. The communication interface is used to obtain training data, and the training data may include source domain data without labels and target domain labeled data. The processor is used to execute the computer-readable instructions in the memory to perform Figure 4 The corresponding steps are steps 401 to 404 in the embodiment.

[0220] In one possible implementation, the computer device is a model training apparatus, and the model training apparatus includes a memory for storing computer-readable instructions. It may also include a communication interface and a processor coupled to the memory. The communication interface is used to obtain training data, and the training data may include source domain data without labels and target domain labeled data. The processor is used to execute the computer-readable instructions in the memory to perform Figure 6 The corresponding steps are steps 601 to 607 in the embodiment.

[0221] In one possible implementation, the computer device is a model training apparatus, and the model training apparatus includes a memory for storing computer-readable instructions. It may also include a communication interface and a processor coupled to the memory. The communication interface is used to obtain training data, wherein the training data may include source domain data without labels, target domain labeled data, and target domain unlabeled data. The processor is used to execute the computer-readable instructions in the memory to perform Figure 8 The corresponding steps are steps 801 to 810 in the embodiment.

[0222] In one possible implementation, the computer device is a model training apparatus, and the model training apparatus includes a memory for storing computer-readable instructions. It may also include a communication interface and a processor coupled to the memory. The communication interface is used to obtain training data, wherein the training data may include source domain data without labels, target domain labeled data, and target domain unlabeled data. The processor is used to execute the computer-readable instructions in the memory to perform Fig.10 The corresponding steps are steps 1001 to 1010 in the embodiment.

[0223] In one possible implementation, the computer device is a model training apparatus, and the model training apparatus includes a memory for storing computer-readable instructions. It may also include a communication interface and a processor coupled to the memory. The communication interface is used to obtain training data, wherein the training data may include source domain data without labels, target domain labeled data, and target domain unlabeled data. The processor is used to execute the computer-readable instructions in the memory to perform Fig.12 The corresponding steps are steps 1201 to 1212 in the embodiment.

[0224] In one possible implementation, the computer device is a data generating device, which includes a memory for storing computer-readable instructions. It may also include a communication interface and a processor coupled to the memory. The communication interface is used to obtain source domain data for executing Fig.14 The corresponding embodiment of step 1401. The processor is used to execute the computer readable instructions in the memory to perform Fig.14The corresponding step is 1202 in the embodiment.

[0225] In the embodiment of the present application, the communication interface can be regarded as the transceiver module 1701 of the computer device, the processor with processing function can be regarded as the processing module 1702 of the computer device, and the memory can be regarded as the storage module of the computer device (not shown in the figure). Fig.17 , is a structural diagram of a computer device provided in an embodiment of the present application.

[0226] The embodiment of the present application does not limit the name of the model. For example, when the computer device is a device for model training, the processing module 1702 can be regarded as a training module, or the processing module can be regarded as an input module, a combination module, an acquisition module, and an update module. In one possible implementation, the device for model training may include: a training module for iteratively training a target model based on source domain data without labels and target domain labeled data. The target model may include a first generation model and a first discriminant model. The training module may include an input module, a combination module, an acquisition module, and an update module. In each iterative training, the input module is used to input the source domain data without labels into the first generation model to output a first generation result. The combination module is used to combine the label not carried by the source domain data and the first generation result to obtain the first combination data. The input module is also used to input the first combination data and the target domain labeled data into the first discriminant model to output the first discriminant result. The acquisition module is used to obtain the first loss value according to the first discriminant result. An updating module is used to fix the parameters of the first generation model and update the first discriminant model according to the first loss value, or to fix the parameters of the first discriminant model and update the first generation model according to the first loss value.

[0227] In a possible implementation, the target model may further include a second generation model, an input module, further used to input the first generation result into the second generation model to output the second generation result. The acquisition module is further used to acquire a second loss value according to the difference between the second generation result and the source domain data without the label. The update module is specifically used to update the first generation model according to the first loss value and the second loss value, and the second loss value is also used to update the second generation model.

[0228] In a possible implementation, the training module is specifically used to iteratively train the target model according to source domain data without labels, target domain labeled data, and target domain unlabeled data.

[0229] In a possible implementation, the target model may further include a second discriminant model, a combination module, and a combination module for combining the first generated result and the preset label to obtain second combined data, and combining the target domain unlabeled data and the preset label to obtain third combined data. The input module is also used to input the second combined data and the third combined data into the second discriminant model to output a second discriminant result. The acquisition module is also used to obtain a third loss value based on the second discriminant result. The update module is specifically used to update the first discriminant model based on the first loss value and the third loss value. The update module is specifically used to update the first generated model based on the first loss value and the third loss value.

[0230] In a possible implementation, the target model may also include a first classification model, an input module, and a module for inputting target domain unlabeled data into the first classification model to output a first predicted label. The combination module is also used to combine the target domain unlabeled data and the first predicted label to obtain fourth combined data. The input module is also used to input the fourth combined data into the first discriminant model to output a third discriminant result. The acquisition module is also used to obtain a fourth loss value based on the third discriminant result. The update module is specifically used to fix the parameters of the first generation model and the parameters of the first classification model, and update the first discriminant model according to the first loss value and the fourth loss value. The update module is also used to fix the parameters of the first discriminant model and update the first classification model according to the fourth loss value.

[0231] In a possible implementation, the target model may further include a second classification model, an input module, and a method for inputting the first generated result and the target domain labeled data into the second classification model to output a second predicted label. The acquisition module is further used to obtain a fifth loss value according to the second predicted label. The update module is specifically used to update the first classification model according to the fourth loss value and the fifth loss value, and the fourth loss value and the fifth loss value are also used to update the second classification model.

[0232] When the computer device is a data generation device, the processing module 1701 can be regarded as an acquisition module, and the processing module 1702 can be regarded as a generation module. In a possible implementation, the data generation device may include: an acquisition module, used to acquire source domain data without labels. A generation module, used to input the source domain data without labels into a target generation model to acquire target domain data. Among them, the target generation model is obtained after iterative training of the target model by using source domain training data without labels and target domain labeled training data. The target model may include a first generation model and a first discriminant model. The target generation model is the trained first generation model. The parameters of the target generation model are obtained by fixing the parameters of the first discriminant model and updating the parameters of the first generation model by using a first loss value. The first loss value is also used to update the first discriminant model when fixing the parameters of the first generation model. The first loss value is obtained according to the first discriminant result. The first discriminant result is obtained by inputting the first combined training data and the target domain labeled training data into the first discriminant model. The first combined data is obtained by combining the label not carried by the source domain training data and the first generation result. The first generation result is obtained by inputting the source domain training data without labels into the first generation model.

[0233] It should be understood that the above is only an example provided in an embodiment of the present application, and the model training device / data generation device may have more or fewer components than those shown, may combine two or more components, or may have different configurations of components.

[0234] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

[0235] The model training device / data generation device provided in the embodiment of the present application can be a chip, and the chip includes: a processing unit and a communication unit, the processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, a pin or a circuit. When the model training device is a chip, the processing unit can execute the computer execution instructions stored in the storage unit to enable the chip to execute the above Figure 4 , Figure 6 , Figure 8 , Fig.10 , Fig.12 In another possible implementation, when the data generating device is a chip, the chip performs the above Fig.14The method for generating data described in the illustrated embodiment. Optionally, the storage unit is a storage unit in the chip, such as a register, a cache, etc. The storage unit may also be a storage unit located outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM), etc.

[0236] Specifically, the aforementioned processing unit or processor may be a central processing unit (CPU), a neural-network processing unit (NPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0237] For details, please refer to Fig.18 , Fig.18 A schematic diagram of the structure of a chip provided in an embodiment of the present application, the chip can be expressed as a neural network processor NPU180, NPU180 is mounted on the host CPU (Host CPU) as a coprocessor, and the host CPU assigns tasks. The core part of the NPU is the operation circuit 1803, which is controlled by the controller 1804 to extract matrix data from the memory and perform multiplication operations.

[0238] In some implementations, the operation circuit 1803 includes multiple processing units (process engines, PEs) inside. In some implementations, the operation circuit 1803 is a two-dimensional systolic array. The operation circuit 1803 can also be a one-dimensional systolic array or other electronic circuits capable of performing mathematical operations such as multiplication and addition. In some implementations, the operation circuit 1803 is a general-purpose matrix processor.

[0239] For example, assume there is an input matrix A, a weight matrix B, and an output matrix C. The operation circuit takes the corresponding data of matrix B from the weight memory 1802 and caches it on each PE in the operation circuit. The operation circuit takes the matrix A data from the input memory 1801 and performs matrix operations with matrix B. The partial results or final results of the obtained matrix are stored in the accumulator 1808.

[0240] The unified memory 1806 is used to store input data and output data. The weight data is directly transferred to the weight memory 1802 through the direct memory access controller (DMAC) 1805. The input data is also transferred to the unified memory 1806 through the DMAC.

[0241] The bus interface unit (BIU) 1810 is used for the interaction between the AXI bus and the DMAC and the instruction fetch buffer (IFB) 1809.

[0242] The bus interface unit 1810 (BIU) is used for the instruction fetch memory 1809 to obtain instructions from the external memory, and is also used for the storage unit access controller 1805 to obtain the original data of the input matrix A or the weight matrix B from the external memory.

[0243] DMAC is mainly used to transfer input data in the external memory DDR to the unified memory 1806 or to transfer weight data to the weight memory 1802 or to transfer input data to the input memory 1801.

[0244] The vector calculation unit 1807 includes multiple operation processing units, which further process the output of the operation circuit when necessary, such as vector multiplication, vector addition, exponential operation, logarithmic operation, size comparison, etc. It is mainly used for non-convolutional / fully connected layer network calculations in neural networks, such as batch normalization, pixel-level summation, upsampling of feature planes, etc.

[0245] In some implementations, the vector calculation unit 1807 can store the processed output vector to the unified memory 1806. For example, the vector calculation unit 1807 can apply a linear function and / or a nonlinear function to the output of the operation circuit 1803, such as linear interpolation of the feature plane extracted by the convolution layer, and then, for example, a vector of accumulated values ​​to generate an activation value. In some implementations, the vector calculation unit 1807 generates a normalized value, a pixel-level summed value, or both. In some implementations, the processed output vector can be used as an activation input to the operation circuit 1803, for example, for use in a subsequent layer in a neural network.

[0246] The controller 1804 is connected to an instruction fetch buffer 1809 for storing instructions used by the controller 1804 .

[0247] Unified memory 1806, input memory 1801, weight memory 1802 and instruction fetch memory 1809 are all on-chip memories. External memories are private to the NPU hardware architecture.

[0248] Among them, the operations of each layer in the recurrent neural network can be performed by the operation circuit 1803 or the vector calculation unit 1807.

[0249] The processor mentioned in any of the above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more processors for controlling the above Figure 4 , Figure 6 , Figure 8 , Fig.10 , Fig.12 or, in another possible embodiment, controlling the above Fig.14 The method is performed by a program of an integrated circuit.

[0250] It should also be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the drawings of the device embodiments provided by the present application, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.

[0251] Through the description of the above implementation mode, the technicians in the field can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. In general, all functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the present application, software program implementation is a better implementation mode in more cases. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0252] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

[0253] In an embodiment of the present application, a computer-readable storage medium is also provided, in which a program for training a model is stored, and when the program is run on a computer, the computer executes the above-mentioned Fig. 9 or Fig.10 The illustrated embodiments describe steps in a method.

[0254] The present application also provides a computer-readable storage medium in which a program for data processing is stored. When the program is run on a computer, the computer executes the above-mentioned Figure 4 , Figure 6 , Figure 8 , Fig.10 , Fig.12 The steps in the method described in the embodiment shown. Or make the computer execute the above Fig.14 The illustrated embodiments describe steps in a method.

[0255] The embodiment of the present application also provides a digital processing chip. The digital processing chip integrates a circuit and one or more interfaces for implementing the above-mentioned processor, or the function of the processor. When the digital processing chip integrates a memory, the digital processing chip can complete the method steps of any one or more of the above-mentioned embodiments. When the digital processing chip does not integrate a memory, it can be connected to an external memory through a communication interface. The digital processing chip implements the actions performed by the model training device / data generation device in the above-mentioned embodiment according to the program code stored in the external memory.

[0256] A computer program product is also provided in the embodiment of the present application, and the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a server, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server, or data center. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or a data center that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk Solid State Disk (SSD)), etc.

[0257] A person skilled in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the relevant hardware through a program, and the program can be stored in a computer-readable storage medium, which can include: ROM, RAM, disk or CD, etc.

[0258] The training method, data processing method and related equipment of the model provided in the embodiments of the present application are introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

[0259] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments described here can be implemented in a sequence other than the content illustrated or described here. The term "and / or" in the present application is only a kind of association relationship describing the associated objects, indicating that there can be three kinds of relationships, for example, A and / or B can be represented: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are an "or" relationship. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or modules is not necessarily limited to those steps or modules clearly listed, but may include other steps or modules that are not clearly listed or inherent to these processes, methods, products or devices. The naming or numbering of the steps in this application does not mean that the steps in the method flow must be executed in the time / logical sequence indicated by the naming or numbering. The named or numbered process steps can change the execution order according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved. The division of modules in this application is a logical division. There may be other division methods when it is implemented in actual applications. For example, multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between each other shown or discussed can be through some ports, and the indirect coupling or communication connection between modules can be electrical or other similar forms, which are not limited in this application. In addition, the modules or submodules described as separate components may or may not be physically separated, may or may not be physical modules, or may be distributed in multiple circuit modules, and some or all of the modules can be selected according to actual needs to achieve the purpose of the present application solution.

Claims

1. A model training method, characterized in that: include: The target model is iteratively trained according to the source domain data without labels and the target domain labeled data, wherein the target model includes a first generation model and a first discriminant model, wherein each iterative training includes: Inputting the source domain data without labels into the first generation model to output a first generation result, where the first generation result is generated by the first generation model according to the features of the source domain data; Combining the label not carried by the source domain data with the first generation result to obtain first combined data; Inputting the first combined data and the target domain labeled data into the first discriminant model to output a first discriminant result; Obtaining a first loss value according to the first discrimination result; Fix the parameters of the first generation model and update the first discriminant model according to the first loss value, or fix the parameters of the first discriminant model and update the first generation model according to the first loss value.

2. The method according to claim 1, characterized in that The target model also includes a second generation model, and the method further includes: Inputting the first generation result into a second generation model to output a second generation result; Obtaining a second loss value according to a difference between the second generated result and the source domain data without the label; The updating the first generation model according to the first loss value includes: The first generation model is updated according to the first loss value and the second loss value, and the second loss value is also used to update the second generation model.

3. The method according to claim 1 or 2, characterized in that: The iterative training of the target model according to the source domain data without labels and the target domain labeled data includes: The target model is iteratively trained according to the source domain data without labels, the target domain labeled data and the target domain unlabeled data.

4. The method according to claim 1 or 2, characterized in that: The target model also includes a second discriminant model, and each iterative training further includes: Combining the first generated result and the preset label to obtain second combined data; Combining the target domain unlabeled data with the preset label to obtain third combined data; Inputting the second combined data and the third combined data into a second discrimination model to output a second discrimination result; Obtaining a third loss value according to the second discrimination result; The updating the first discriminant model according to the first loss value comprises: Update the first discriminant model according to the first loss value and the third loss value; The updating the first generation model according to the first loss value includes: Update the first generation model according to the first loss value and the third loss value.

5. The method according to claim 1 or 2, characterized in that: The target model also includes a first classification model, and each iteration training further includes: Inputting the target domain unlabeled data into the first classification model to output a first predicted label; Combining the target domain unlabeled data and the first predicted label to obtain fourth combined data; Inputting the fourth combined data into the first discriminant model to output a third discriminant result; Obtaining a fourth loss value according to the third discrimination result; The updating the first discriminant model according to the first loss value comprises: Fixing the parameters of the first generation model and the parameters of the first classification model, and updating the first discriminant model according to the first loss value and the fourth loss value; Each iteration training also includes: The parameters of the first discriminant model are fixed, and the first classification model is updated according to the fourth loss value.

6. The method according to claim 5, characterized in that The target model also includes a second classification model, and each iteration training further includes: Inputting the first generated result and the target domain labeled data into a second classification model to output a second predicted label; Obtain a fifth loss value according to the second predicted label; The updating the first classification model according to the fourth loss value comprises: The first classification model is updated according to the fourth loss value and the fifth loss value, and the fourth loss value and the fifth loss value are also used to update the second classification model.

7. A method for generating data, characterized in that: include: Obtain source domain data without labels; Inputting the unlabeled source domain data into a target generation model to obtain target domain data; The target generation model is obtained by iteratively training the target model with source domain training data without labels and target domain labeled training data. The target model includes a first generation model and a first discriminant model. The target generation model is the first generation model after training. The parameters of the target generation model are obtained by fixing the parameters of the first discriminant model and updating the parameters of the first generation model with a first loss value. The first loss value is also used to update the first discriminant model when the parameters of the first generation model are fixed. The first loss value is obtained according to the first discrimination result. The first discrimination result is obtained by inputting the first combined training data and the target domain labeled training data into the first discriminant model. The first combined data is obtained by combining the label not carried by the source domain training data and the first generation result. The first generation result is obtained by inputting the source domain training data without labels into the first generation model. The first generation result is generated by the first generation model according to the features of the source domain data.

8. The method according to claim 7, characterized in that The target model also includes a second generation model, and the parameters of the target generation model are specifically obtained by fixing the parameters of the first discriminant model and updating the parameters of the first generation model by a first loss value and a second loss value, the second loss value is obtained based on the difference between the second generation result and the source domain training data without labels, the second generation result is obtained by inputting the first generation result into the second generation model, and the second loss value is also used to update the second generation model.

9. The method according to claim 7 or 8, characterized in that: The target generation model is specifically obtained by iteratively training the target model with source domain training data without labels, target domain labeled training data, and target domain unlabeled training data.

10. The method according to claim 7 or 8, characterized in that: The target model also includes a second discriminant model, and the parameters of the target generation model are specifically obtained by fixing the parameters of the first discriminant model, and updating the parameters of the first generation model with the first loss value and the third loss value, and the third loss value is obtained through a second discriminant result, and the second discriminant result is obtained by inputting second combined data and third combined data into the second discriminant model, and the second combined data is obtained by combining the first generation result and a preset label, and the third combined data is obtained by combining the target domain unlabeled training data and the preset label, and the first loss value and the third loss value are also used to update the first discriminant model.

11. The method according to claim 7 or 8, characterized in that: Also includes: The target domain training data is input into the target classification model to obtain a prediction result, wherein the target classification model is obtained by fixing the parameters of the first discriminant model and updating the first classification model through a fourth loss value, the fourth loss value is obtained through a third discriminant result, the third discriminant result is obtained by inputting fourth combined data into the first discriminant model, the fourth combined data is obtained by combining the target domain unlabeled training data and the first prediction label, the first prediction label is obtained by inputting the target domain unlabeled training data into the first classification model, and the fourth loss value is also used to update the first discriminant model when fixing the parameters of the first generation model and the parameters of the first classification model.

12. The method according to claim 11, characterized in that The target model also includes a second classification model, which specifically fixes the parameters of the first discriminant model and is obtained by updating the first classification model through a fourth loss value and a fifth loss value, the fifth loss value is obtained through a second prediction label, and the second prediction label is obtained by inputting the first generated result and the target domain labeled training data into the second classification model. The fourth loss value and the fifth loss value are also used to update the second classification model.

13. A device for model training, characterized in that: include: The training module is used to iteratively train the target model according to the source domain data without labels and the target domain labeled data, wherein the target model includes a first generation model and a first discrimination model, and the training module includes an input module, a combination module, an acquisition module and an update module, wherein each time the iterative training is performed, The input module is used to input the source domain data without labels into the first generation model to output a first generation result, where the first generation result is generated by the first generation model according to the features of the source domain data; The combining module is used to combine the label not carried by the source domain data and the first generation result to obtain first combined data; The input module is further used to input the first combined data and the target domain labeled data into the first discriminant model to output a first discriminant result; The acquisition module is used to acquire a first loss value according to the first discrimination result; The updating module is used to fix the parameters of the first generation model and update the first discriminant model according to the first loss value, or to fix the parameters of the first discriminant model and update the first generation model according to the first loss value.

14. The device according to claim 13, characterized in that The target model also includes a second generation model, The input module is further used to input the first generation result into the second generation model to output a second generation result; The acquisition module is further used to acquire a second loss value according to a difference between the second generated result and the source domain data without a label; The updating module is specifically used to update the first generation model according to the first loss value and the second loss value, and the second loss value is also used to update the second generation model.

15. The device according to claim 13 or 14, characterized in that The training module is specifically used for: The target model is iteratively trained according to the source domain data without labels, the target domain labeled data and the target domain unlabeled data.

16. The device according to claim 13 or 14, characterized in that The target model also includes a second discriminant model, The combining module is further used to combine the first generated result and the preset label to obtain second combined data, and to combine the target domain unlabeled data and the preset label to obtain third combined data; The input module is further used to input the second combined data and the third combined data into a second discrimination model to output a second discrimination result; The acquisition module is further used to acquire a third loss value according to the second discrimination result; The updating module is specifically configured to update the first discriminant model according to the first loss value and the third loss value; The updating module is specifically used to update the first generation model according to the first loss value and the third loss value.

17. The device according to claim 13 or 14, characterized in that The target model also includes a first classification model, The input module is further used to input the target domain unlabeled data into the first classification model to output a first predicted label; The combining module is further used to combine the target domain unlabeled data and the first predicted label to obtain fourth combined data; The input module is further used to input the fourth combination data into the first discrimination model to output a third discrimination result; The acquisition module is further used to acquire a fourth loss value according to the third discrimination result; The updating module is specifically used to fix the parameters of the first generation model and the parameters of the first classification model, and update the first discriminant model according to the first loss value and the fourth loss value; The updating module is also used to fix the parameters of the first discriminant model and update the first classification model according to the fourth loss value.

18. The device according to claim 17, characterized in that The target model also includes a second classification model, The input module is further used to input the first generated result and the target domain labeled data into a second classification model to output a second predicted label; The acquisition module is further used to acquire a fifth loss value according to the second prediction label; The updating module is specifically used to update the first classification model according to the fourth loss value and the fifth loss value, and the fourth loss value and the fifth loss value are also used to update the second classification model.

19. A data generating device, characterized in that: include: The acquisition module is used to obtain source domain data without labels; A generation module, used for inputting the source domain data without labels into a target generation model to obtain target domain data; The target generation model is obtained by iteratively training the target model with source domain training data without labels and target domain labeled training data. The target model includes a first generation model and a first discriminant model. The target generation model is the first generation model after training. The parameters of the target generation model are obtained by fixing the parameters of the first discriminant model and updating the parameters of the first generation model with a first loss value. The first loss value is also used to update the first discriminant model when the parameters of the first generation model are fixed. The first loss value is obtained according to the first discrimination result. The first discrimination result is obtained by inputting the first combined training data and the target domain labeled training data into the first discriminant model. The first combined data is obtained by combining the label not carried by the source domain training data and the first generation result. The first generation result is obtained by inputting the source domain training data without labels into the first generation model. The first generation result is generated by the first generation model according to the features of the source domain data.

20. The device according to claim 19, characterized in that The target model also includes a second generation model, and the parameters of the target generation model are specifically obtained by fixing the parameters of the first discriminant model and updating the parameters of the first generation model by a first loss value and a second loss value, the second loss value is obtained based on the difference between the second generation result and the source domain training data without labels, the second generation result is obtained by inputting the first generation result into the second generation model, and the second loss value is also used to update the second generation model.

21. The device according to claim 19 or 20, characterized in that The target generation model is specifically obtained by iteratively training the target model with source domain training data without labels, target domain labeled training data, and target domain unlabeled training data.

22. The device according to claim 19 or 20, characterized in that The target model also includes a second discriminant model, and the parameters of the target generation model are specifically obtained by fixing the parameters of the first discriminant model, and updating the parameters of the first generation model with the first loss value and the third loss value, and the third loss value is obtained through a second discriminant result, and the second discriminant result is obtained by inputting second combined data and third combined data into the second discriminant model, and the second combined data is obtained by combining the first generation result and a preset label, and the third combined data is obtained by combining the target domain unlabeled training data and the preset label, and the first loss value and the third loss value are also used to update the first discriminant model.

23. The device according to claim 19 or 20, characterized in that Also includes classification modules, The classification module is used to input the target domain training data into the target classification model to obtain a prediction result, wherein the target classification model is fixed with the parameters of the first discriminant model, and is obtained by updating the first classification model through a fourth loss value, the fourth loss value is obtained through a third discriminant result, the third discriminant result is obtained by inputting fourth combined data into the first discriminant model, the fourth combined data is obtained by combining the target domain unlabeled training data and the first prediction label, the first prediction label is obtained by inputting the target domain unlabeled training data into the first classification model, and the fourth loss value is also used to update the first discriminant model when the parameters of the first generation model and the parameters of the first classification model are fixed.

24. The device according to claim 23, characterized in that The target model also includes a second classification model, which specifically fixes the parameters of the first discriminant model and is obtained by updating the first classification model through a fourth loss value and a fifth loss value, the fifth loss value is obtained through a second prediction label, and the second prediction label is obtained by inputting the first generated result and the target domain labeled training data into the second classification model. The fourth loss value and the fifth loss value are also used to update the second classification model.

25. A model training device, characterized in that: include: a memory for storing computer readable instructions; The invention further comprises a processor coupled to the memory, configured to execute the computer-readable instructions in the memory to perform the method as described in any one of claims 1 to 6.

26. A data generating device, characterized in that: include: a memory for storing computer readable instructions; The invention further comprises a processor coupled to the memory, configured to execute the computer-readable instructions in the memory to perform the method as described in any one of claims 7 to 12.

27. A computer-readable storage medium, characterized in that: When the instructions are executed on a computer device, the computer device is caused to execute the method as described in any one of claims 1 to 6.

28. A computer-readable storage medium, characterized in that: When the instructions are executed on a computer device, the computer device is caused to execute the method as described in any one of claims 7 to 12.

29. A computer program product, when executed on a computer, enables the computer to perform the method as claimed in any one of claims 1 to 6.

30. A computer program product, when executed on a computer, enables the computer to perform the method as claimed in any one of claims 7 to 12.

31. A chip, characterized in that: The chip is coupled to a memory and is used to execute a program stored in the memory to perform the method according to any one of claims 1 to 6.

32. A chip, characterized in that: The chip is coupled to a memory and is used to execute a program stored in the memory to perform the method according to any one of claims 7 to 12.

Citation Information

Patent Citations

  • Neural network model training method and device, and computer device

    CN108898218A

  • Content identification method, model training method, data processing method, system and equipment

    CN111477212A

  • User identification method and device based on adversarial migration and electronic equipment

    CN111626381A

  • Cross-domain text classification model training method, classification method and device

    CN111831826A