Learning device, information processing device, learning method, information processing method and program
Patent Information
- Application Number
- JP2025060353
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2026-10-14
AI Technical Summary
【0023】 本発明により、より高い精度の推論の結果を得ることが可能となる。
Smart Images

Figure 2026167031000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a learning device, an information processing device, a learning method, an information processing method, and a program.
Background Art
[0002] When training a mathematical model using machine learning, a framework generally called supervised learning is used. Supervised learning is a method that prepares a large amount of paired data consisting of certain data and the correct label for that data (hereinafter referred to as "supervised data"), and trains the mathematical model so that when data is input to the mathematical model, it can correctly infer the paired correct label. In this way, the data used for training is referred to as training data.
[0003] It is known that a mathematical model trained using machine learning has a problem called the domain shift problem. A domain is a term that represents the environment and region from which data is acquired. The domain shift problem is a problem in that when the domain of training data (hereinafter referred to as "training domain") and the domain of data input to the mathematical model during inference (hereinafter referred to as "target domain") are significantly different, the inference performance of the model is remarkably degraded.
[0004] Even if correct inference can be performed for data that frequently appears in the training data of the model (for example, photograph data), it often becomes impossible to output correct inference results for data that is not abundantly included in the training data (for example, hand-drawn picture data). As a result, the inference accuracy is reduced.
[0005] As a method to address this problem, there is a method of preparing a large amount of supervised data for the target domain, and training the mathematical model using the supervised data of the target domain. However, preparing a large amount of supervised data has problems such as data collection costs and annotation costs for correct labels, making it difficult to apply to practical problems.
[0006] One way to address the domain shift problem is through a method called "domain adaptation." Domain adaptation is a method of adapting a mathematical model to a target domain by training the model using unlabeled data from the target domain (hereinafter referred to as "unsupervised data") so that the knowledge gained from the training domain can be successfully transferred to the target domain.
[0007] For domain adaptation, there are technologies such as those described in Patent Document 1 and Non-Patent Documents 1-3. Patent Document 1 discloses a technique for learning a transformation rule from the training domain to the target domain that minimizes the Maximum Mean Discrepancy (MMD) between the sample generation distribution in the training domain and the sample generation distribution in the target domain. Patent Document 1 also discloses a technique for transforming the data in the training domain using this learned transformation rule and using it to train a mathematical model.
[0008] Non-patent document 1 discloses a technique that reduces the impact of differences between the training domain and the target domain. Specifically, it discloses a technique in which a model is trained based on adversarial learning so that the feature quantities representing the characteristics of the samples in the training domain and the feature quantities representing the samples in the target domain become indistinguishable.
[0009] Non-Patent Document 2 discloses a technique that does not use training domain data for domain adaptation. Specifically, Non-Patent Document 2 discloses a technique that adapts a mathematical model trained on training domain data (hereinafter referred to as the "training domain trained model") to the target domain using only the target domain data and the training domain trained model. In the case of the techniques disclosed in Patent Document 1 and Non-Patent Document 1, training domain data is required for domain adaptation. Therefore, if training domain data cannot be used from the standpoint of intellectual property or privacy, the techniques in Patent Document 1 and Non-Patent Document 1 cannot be used. On the other hand, the technique in Non-Patent Document 2 does not have such problems.
[0010] Non-Patent Document 3 discloses a technique for adapting a pre-trained model to target domain data using the output results of the pre-trained model for target domain data and the target domain data itself. Here, we consider a scenario where the pre-trained model only provides the output results for input data in the form of an Application Programming Interface (API). In the case of the technique in Non-Patent Document 2, the pre-trained model itself is required. Therefore, the technique in Non-Patent Document 2 cannot be used in such a scenario. On the other hand, the technique in Non-Patent Document 3 does not require the pre-trained model itself, so it can be used even in the above scenario. [Prior art documents] [Patent Documents]
[0011] [Patent Document 1] Japanese Patent Publication No. 2019-101789 [Non-patent literature]
[0012] [Non-Patent Document 1] Tzeng, Eric, et al. "Adversarial discriminative domain adaptation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017. [Non-Patent Document 2] Liang, Jian, Dapeng Hu, and Jiashi Feng. "Do we really need to access the source data? source hypothesis transfer for unsupervised domain adaptation." International conference on machine learning. PMLR, 2020. [Non-Patent Document 3] Liang, Jian, et al. "Dine: Domain adaptation from single and multiple black-box predictors." Proceedings of the IEEE / CVF conference on computer vision and pattern recognition. 2022. [Overview of the project] [Problems that the invention aims to solve]
[0013] Incidentally, in recent years, a variety of AI-powered services (hereinafter referred to as "AI services") have been offered. More specifically, these AI services grant users the right to input data into a mathematical model (hereinafter referred to as "service model") that has been trained on data from a specified domain, and the right to obtain the inference results of the service model. A service model is an example of a training domain-trained model.
[0014] Some of these AI services do not disclose the training data used to obtain the service model, nor the service model itself. Furthermore, some of these services do not disclose the mathematical models that were used for training (hereinafter referred to as "trained models"). In addition, some of these AI services prohibit the use of the inference results of the trained models for training other mathematical models.
[0015] In such cases, the technologies disclosed in Patent Document 1 and Non-Patent Documents 1 to 3 cannot improve the inference accuracy of the trained model on target domain data. As a result, the inference accuracy of the service model on data from a domain different from the training domain may be low, and users of the service model may obtain inference results with low accuracy.
[0016] This situation is not limited to cases where the service is provided. Specifically, it was a common situation when the pre-trained model in the training domain, the training data used to obtain the pre-trained model in the training domain, the mathematical model being trained in that training (i.e., the model being trained), and the inference results of that model being trained were unavailable.
[0017] In view of the above circumstances, the present invention aims to provide a technique for obtaining more accurate inference results. [Means for solving the problem]
[0018] One aspect of the present invention comprises a control unit that performs a domain adaptor learning process, which is a learning target for a domain adaptor, which is a mathematical model that performs data transformation on input data, wherein the domain adaptor learning process includes a domain adaptor execution process, a first model execution process, a second model execution process, a pseudo-label generation process, a first loss acquisition process, a second loss acquisition process, a third loss acquisition process, and a learning control process, wherein the domain adaptor execution process is a process that performs the learning target on each original data included in the set of original data which is the data to be processed by the learning target, wherein the first model execution process inputs the set of original data used in the domain adaptor execution process and the set of transformed data into the first model, and obtains a feature vector inferred by the first model for each input original data, and a feature vector and estimated assignment probability vector inferred by the first model for each input transformed data, wherein the estimated assignment probability vector is a probability vector that represents the likelihood of belonging to one of the classes to be classified, and the transformed data is by the learning target The original data is the result of transformation, the first model is a mathematical model that infers the feature vector and estimated assignment probability vector of the data based on the input data, the second model execution process is a process of inputting the set of transformed data obtained in the domain adaptor execution process into the second model and obtaining the estimated assignment probability vector inferred by the second model for each of the transformed data input, the second model is a mathematical model different from the first model, and is a mathematical model that infers the estimated class assignment probability vector of the data based on the input data, the pseudo-label generation process is a process of inferring a pseudo-label for each of the transformed data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, the pseudo-label is a label that indicates which class of the classification target the transformed data belongs to, and the first loss acquisition process is,The first loss acquisition process is a process to obtain a first loss evaluation value based on the set of feature vectors of the original data obtained in the first model execution process and the set of feature vectors of the transformed data obtained in the first model execution process, wherein the first loss evaluation value is a loss with a predetermined definition that satisfies the condition that the smaller the difference between the feature vectors of the original data and the feature vectors of the transformed data obtained from the data transformation of the original data, the smaller the value, the second loss acquisition process is a process to obtain a second loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, wherein the second loss evaluation value is a loss with a predetermined definition that satisfies the condition that the larger the mutual information calculated using the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, and the third loss acquisition process obtains a first kind third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of pseudo-labels obtained in the pseudo-label generation process, and the transformed data obtained in the second model execution process The learning device is a process that obtains a second type third loss evaluation value based on a set of estimated class assignment probability vectors of the data and a set of pseudo-labels obtained in the pseudo-label generation process, wherein the first type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vectors of the modified data obtained in the first model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases, the second type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vectors of the modified data obtained in the second model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases, and the learning control process includes a process to update the target domain adaptor so that the integrated loss evaluation value becomes smaller based on the integrated loss evaluation value, and the integrated loss evaluation value is a loss that includes a linear sum of the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value and the second type third loss evaluation value.
[0019] One aspect of the present invention comprises a control unit that performs a domain adaptor learning process, which is a learning target for a domain adaptor, which is a mathematical model that performs data transformation on input data, wherein the domain adaptor learning process includes a domain adaptor execution process, a first model execution process, a second model execution process, a pseudo-label generation process, a first loss acquisition process, a second loss acquisition process, a third loss acquisition process, and a learning control process, wherein the domain adaptor execution process is a process that performs the learning target on each original data included in the set of original data which is the data to be processed by the learning target, wherein the first model execution process inputs the set of original data used in the domain adaptor execution process and the set of transformed data into the first model, and obtains a feature vector inferred by the first model for each input original data, and a feature vector and estimated assignment probability vector inferred by the first model for each input transformed data, wherein the estimated assignment probability vector is a probability vector that represents the likelihood of belonging to one of the classes to be classified, and the transformed data is by the learning target The original data is the result of transformation, the first model is a mathematical model that infers the feature vector and estimated assignment probability vector of the data based on the input data, the second model execution process is a process of inputting the set of transformed data obtained in the domain adaptor execution process into the second model and obtaining the estimated assignment probability vector inferred by the second model for each of the transformed data input, the second model is a mathematical model different from the first model, and is a mathematical model that infers the estimated class assignment probability vector of the data based on the input data, the pseudo-label generation process is a process of inferring a pseudo-label for each of the transformed data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, the pseudo-label is a label that indicates which class of the classification target the transformed data belongs to, and the first loss acquisition process is,The first loss acquisition process is a process to obtain a first loss evaluation value based on the set of feature vectors of the original data obtained in the first model execution process and the set of feature vectors of the transformed data obtained in the first model execution process, wherein the first loss evaluation value is a loss with a predetermined definition that is smaller the smaller the difference between the feature vectors of the original data and the feature vectors of the transformed data obtained by data transformation of the original data. The second loss acquisition process is a process to obtain a second loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, wherein the second loss evaluation value is a loss with a predetermined definition that is smaller the larger the mutual information calculated using the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process. The third loss acquisition process obtains a first kind third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of pseudo-labels obtained in the pseudo-label generation process. An information processing device comprising: a process for obtaining a second type third loss evaluation value based on the combined value and the set of pseudo-labels obtained in the pseudo-label generation process, wherein the first type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the first model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-labels increases; the second type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the second model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-labels increases; and an adaptation unit that performs data transformation using a learned domain adaptor obtained by a learning device, wherein the learning control process includes a process for updating the target domain adaptor so that the combined loss evaluation value becomes smaller based on the combined loss evaluation value, and the combined loss evaluation value is a loss that includes a linear sum of the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value, and the second type third loss evaluation value.
[0020] One aspect of the present invention includes a control step in which a computer executes a domain adaptor learning process, which is a mathematical model that performs data transformation on input data, the domain adaptor learning process, the domain adaptor learning process includes a domain adaptor execution process, a first model execution process, a second model execution process, a pseudo-label generation process, a first loss acquisition process, a second loss acquisition process, a third loss acquisition process, and a learning control process, the domain adaptor execution process is a process in which the learning target is executed on each original data included in the set of original data which is the data to be processed by the learning target, the first model execution process is a process in which the set of original data used in the domain adaptor execution process and the set of transformed data are input to the first model, and the first model obtains a feature vector inferred by the first model for each input original data, and a feature vector inferred by the first model and an estimated assignment probability vector for each input transformed data, the estimated assignment probability vector is a probability vector that represents the likelihood of belonging to one of the classes to be classified, and the transformed data is the learning target The original data is transformed by the elephant, the first model is a mathematical model that infers the feature vector and estimated assignment probability vector of the data based on the input data, the second model execution process is a process that inputs the set of transformed data obtained in the domain adaptor execution process into the second model and obtains the estimated assignment probability vector inferred by the second model for each of the transformed data input, the second model is a mathematical model different from the first model, and is a mathematical model that infers the estimated class assignment probability vector of the data based on the input data, the pseudo-label generation process is a process that infers a pseudo-label for each of the transformed data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, the pseudo-label is a label that indicates which class of the classification target the transformed data belongs to, the first loss acquisition process is,The first loss acquisition process is a process to obtain a first loss evaluation value based on the set of feature vectors of the original data obtained in the first model execution process and the set of feature vectors of the transformed data obtained in the first model execution process, wherein the first loss evaluation value is a loss with a predetermined definition that satisfies the condition that the smaller the difference between the feature vectors of the original data and the feature vectors of the transformed data obtained by data transformation of the original data, the smaller the value; the second loss acquisition process is a process to obtain a second loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, wherein the second loss evaluation value is a loss with a predetermined definition that satisfies the condition that the larger the mutual information calculated using the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, the smaller the value; and the third loss acquisition process is a process to obtain a second loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of pseudo-labels obtained in the pseudo-label generation process. The process involves obtaining a first type third loss evaluation value based on the above, and obtaining a second type third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process and the set of pseudo-labels obtained in the pseudo-label generation process, wherein the first type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases, and the second type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vectors of the transformed data obtained in the second model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases, and the learning control process includes a process to update the target domain adaptor so that the integrated loss evaluation value becomes smaller based on the integrated loss evaluation value. The learning method is such that the integrated loss evaluation value is a loss that includes a linear sum of the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value, and the second type third loss evaluation value.
[0021] One aspect of the present invention includes a control step of executing a domain adaptor learning process on a computer, which is a domain adaptor that is a mathematical model that performs data transformation on input data, the domain adaptor learning process includes a domain adaptor execution process, a first model execution process, a second model execution process, a pseudo-label generation process, a first loss acquisition process, a second loss acquisition process, a third loss acquisition process, and a learning control process, the domain adaptor execution process is a process of executing the learning target on each original data included in the set of original data which is the data to be processed by the learning target, the first model execution process is a process of inputting the set of original data used in the domain adaptor execution process and the set of transformed data into the first model, and obtaining a feature vector inferred by the first model for each input original data, and a feature vector inferred by the first model and an estimated assignment probability vector for each input transformed data, the estimated assignment probability vector is a probability vector that represents the likelihood of belonging to one of the classes to be classified, and the transformed data is the learning target The original data is transformed by the elephant, the first model is a mathematical model that infers the feature vector and estimated assignment probability vector of the data based on the input data, the second model execution process is a process that inputs the set of transformed data obtained in the domain adaptor execution process into the second model and obtains the estimated assignment probability vector inferred by the second model for each of the transformed data input, the second model is a mathematical model different from the first model, and is a mathematical model that infers the estimated class assignment probability vector of the data based on the input data, the pseudo-label generation process is a process that infers a pseudo-label for each of the transformed data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, the pseudo-label is a label that indicates which class of the classification target the transformed data belongs to, the first loss acquisition process is,The first loss evaluation is a process to obtain a first loss evaluation value based on the set of feature vectors of the original data obtained in the first model execution process and the set of feature vectors of the transformed data obtained in the first model execution process, wherein the first loss evaluation value is a loss with a predetermined definition that satisfies the condition that the smaller the difference between the feature vectors of the original data and the feature vectors of the transformed data obtained by data transformation of the original data, the smaller the value, the second loss acquisition process is a process to obtain a second loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, wherein the second loss evaluation value is a loss with a predetermined definition that satisfies the condition that the larger the mutual information calculated using the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, the third loss acquisition process obtains a first kind third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of pseudo-labels obtained in the pseudo-label generation process, and the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process and The learning control process includes a process to obtain a second type third loss evaluation value based on a set of pseudo-labels obtained in a pseudo-label generation process, wherein the first type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the first model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-labels increases; the second type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the second model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-labels increases; the learning control process includes a process to update the target domain adaptor so that the integrated loss evaluation value becomes smaller based on the integrated loss evaluation value, wherein the integrated loss evaluation value is a loss that includes a linear sum of the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value, and the second type third loss evaluation value; and the computer performs data transformation using the learned domain adaptor obtained in the learning method. ,
[0022] One aspect of the present invention is a program for causing a computer to function as either the above-described learning apparatus or the above-described information processing apparatus. Effects of the Invention
[0023] The present invention makes it possible to obtain inference results with higher accuracy. Brief Description of the Drawings
[0024] [Figure 1] An explanatory diagram illustrating the information processing system of the embodiment. [Figure 2] A flowchart showing an example of the flow of processing executed by the control unit in the embodiment. [Figure 3] A diagram showing an example of the hardware configuration of the learning apparatus in the embodiment. [Figure 4] A diagram showing an example of the hardware configuration of the information processing apparatus in the embodiment. [Figure 5] A flowchart showing an example of the flow of processing executed by the information processing apparatus in the embodiment. Modes for Carrying Out the Invention
[0025] (Embodiment) Figure 1 is an explanatory diagram illustrating an information processing system 100 of the embodiment. The information processing system 100 includes a learning apparatus 1 and an information processing apparatus 2. The learning apparatus 1 includes a control unit 11 provided with a processor 91 such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an NPU (Neural Network Processing Unit) connected via a bus, and a memory 92, and executes programs.
[0026] The control unit 11 executes the domain adaptor learning process by program execution. The domain adaptor learning process is a process that performs learning on domain adaptors as the learning target. Hereinafter, the domain adaptor that is the learning target in the domain adaptor learning process will be referred to as the target domain adaptor.
[0027] A domain adaptor is a mathematical model that performs data transformations on input data. Data transformation refers to any process that changes the data. Data transformation can be any process that transforms the data; for example, if the target is image data, it could be a process that changes the style of the image, or a process that adds a specific pattern to the image.
[0028] Learning is performed until a predetermined condition for the termination of learning (hereinafter referred to as the "learning termination condition") is met. The learning termination condition can be any condition relating to the termination of learning, for example, it may be a condition that the learning target has been updated a predetermined number of times. The learning termination condition may also be a condition that the change in the learning target due to the update is less than a predetermined change.
[0029] The learning termination condition may be, for example, that the change in the integrated loss evaluation value, as described later, is smaller than a predetermined change. The learning termination condition may also be, for example, that the change in other evaluation metrics different from the integrated loss evaluation value is smaller than a predetermined change. The target domain adaptor at the point when the learning termination condition is met (i.e., the trained target domain adaptor) will be hereinafter referred to as the trained target domain adaptor.
[0030] The information processing device 2 includes a control unit 21 equipped with a processor 93 such as a CPU (Central Processing Unit), GPU (Graphics Processing Unit), or NPU (Neural Network Processing Unit) connected by a bus, and memory 94, and executes a program. The control unit 21 performs a learned domain adaptor execution process upon program execution. The learned domain adaptor execution process is the process of applying a learned target domain adaptor to the data to be processed. In other words, the learned domain adaptor execution process is the process of inputting the data to be processed into the learned target domain adaptor and causing the learned target domain adaptor to perform data transformations on the data to be processed.
[0031] <Domain Adapter Learning Process> In the domain adaptor learning process, the control unit 11 executes the domain adaptor execution process, the first model execution process, the second model execution process, the pseudo-label generation process, the first loss acquisition process, the second loss acquisition process, the third loss acquisition process, and the learning control process.
[0032] <<Domain Adapter Execution Process>> The domain adaptor execution process is the process of executing the target domain adaptor on each piece of original data included in the set of original data. In the domain adaptor execution process, the target domain adaptor receives the set of original data and applies data transformations to each piece of original data received (i.e., input) based on parameters stored in a predetermined storage device such as the storage unit 13 described later. This data transformation generates a transformed result (hereinafter referred to as "transformed data") for each piece of original data. Therefore, by executing the domain adaptor execution process, a set of transformed data is obtained based on the set of original data. The set of transformed data generated by the domain adaptor execution process is output to the first model and the second model.
[0033] The source data is the data to be processed by the target domain adaptor. The set of source data received by the target domain adaptor may be pre-stored in a predetermined storage device, such as the memory unit 13. Alternatively, the set of source data received by the target domain adaptor may be the data input to the interface unit 12.
[0034] The first model is a mathematical model that infers the feature vector and estimated assignment probability vector of the input data. The first model may be, for example, an open-source mathematical model or a mathematical model created by the user.
[0035] A feature vector is a numerical vector that represents the features of data. In other words, a feature vector represents the necessary data features as a vector with n-dimensional feature elements. n can be any integer value; for example, n=256.
[0036] The estimated class assignment probability vector is a probability vector that represents the likelihood of belonging to one of the classes being classified. When the number of classes to be classified is C, it is a vector that has C dimensions and satisfies the condition that the sum of its elements is 1.
[0037] The second model is a mathematical model different from the first model, and it is a mathematical model that infers the estimated class assignment probability vector of the input data. The second model may be, for example, an open-source mathematical model, or it may be a mathematical model created by the user.
[0038] <<First Model Execution Process>> The first model execution process involves inputting the set of original data used in the domain adaptor execution process and the set of modified data obtained in the domain adaptor execution process into the first model, and obtaining the feature vector inferred by the first model for each input original data, and the feature vector and estimated assignment probability vector inferred by the first model for each input modified data.
[0039] The feature vectors of the original data obtained in the first model execution process are used in the first loss acquisition process. The feature vectors of the transformed data obtained in the first model execution process are used in the first loss acquisition process. The feature vectors of the transformed data obtained in the first model execution process may also be used in the pseudo-label generation process. The estimated class assignment probability vectors of the transformed data obtained in the first model execution process are used in the pseudo-label generation process and the third loss acquisition process.
[0040] <<Second Model Execution Process>> The second model execution process involves inputting the set of transformed data obtained in the domain adaptor execution process into the second model and obtaining the estimated assignment probability vector inferred by the second model for each transformed data input. The estimated class assignment probability vectors of the transformed data obtained in the second model execution process are used in the pseudo-label generation process, the second loss acquisition process, and the third loss acquisition process.
[0041] <<Pseudo-label generation process>> The pseudo-label generation process executes a pseudo-label generator. The pseudo-label generator is a mathematical model that infers a pseudo-label for each transformed data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors for the transformed data obtained in the first model execution process and the set of estimated class assignment probability vectors for the transformed data obtained in the second model execution process. The pseudo-label is a label that indicates which class of the transformed classification target it belongs to. Note that the classification target here is the same as the classification target whose plausibility is indicated by the estimated assignment probability vector.
[0042] Therefore, the pseudo-label generation process is a process that infers a pseudo-label for each of the transformed data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors for the transformed data obtained in the first model execution process and the set of estimated class assignment probability vectors for the transformed data obtained in the second model execution process.
[0043] Furthermore, the pseudo-label generator may also infer pseudo-labels based on the set of feature vectors of the transformed data obtained in the first model execution process. The set of pseudo-labels inferred in the pseudo-label generation process is used in the third loss acquisition process.
[0044] <<First Loss Acquisition Process>> The first loss acquisition process is a process that obtains a first loss evaluation value based on the set of feature vectors of the original data obtained in the first model execution process and the set of feature vectors of the modified data obtained in the first model execution process. The first loss evaluation value is a loss evaluation value with a predetermined definition that is used as a criterion for updating the parameters of the target domain adaptor. The obtained first loss evaluation value is used in the learning control process.
[0045] The first loss evaluation value is a loss defined by a predetermined criteria that satisfies the condition that the smaller the difference between the feature vector of the original data and the feature vector of the transformed data obtained by the data transformation applied to the original data, the smaller the value.
[0046] <<Second Loss Acquisition Process>> The second loss acquisition process is a process that obtains a second loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process. The second loss evaluation value is a loss evaluation value with a predetermined definition that serves as the basis for updating the parameters of the target domain adaptor, and is defined differently from the first loss evaluation value. The obtained second loss evaluation value is used in the learning control process.
[0047] The second loss evaluation value is a loss defined by a predetermined principle that becomes smaller as the mutual information, calculated using the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, increases.
[0048] <<Third Loss Acquisition Process>> The third loss acquisition process is a process that acquires a Type 1 Type 3 loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of pseudo-labels obtained in the pseudo-label generation process, and acquires a Type 2 Type 3 loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process and the set of pseudo-labels obtained in the pseudo-label generation process.
[0049] The first type third loss evaluation value and the second type third loss evaluation value are losses with a predetermined definition that serve as the basis for updating the parameters of the target domain adaptor, and are losses with a different definition from the first loss evaluation value and the second loss evaluation value. The obtained first type third loss evaluation value and the second type third loss evaluation value are used in the learning control process.
[0050] The first type third loss evaluation value is a predetermined loss defined using the estimated class assignment probability vector and pseudo-labels of the transformed data obtained in the first model execution process, and is a predetermined loss that satisfies the condition that the value becomes smaller as the class components of the pseudo-labels increase.
[0051] The Type II, Type III loss evaluation value is a loss defined by a predetermined definition, which is defined using the estimated class assignment probability vector and pseudo-labels of the transformed data obtained in the Type II model execution process, and satisfies the condition that the value becomes smaller as the class components of the pseudo-labels increase.
[0052] <<Learning Control Process>> The learning control process includes updating the target domain adaptor based on the integrated loss evaluation value, so that the integrated loss evaluation value becomes smaller. The integrated loss evaluation value is a loss that includes the linear sum of the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value, and the second type third loss evaluation value.
[0053] Furthermore, the learning control process includes a process that determines whether the learning termination condition has been met after the target domain adaptor has been updated. If the learning termination condition is met, the domain adaptor learning process ends. If the learning termination condition is not met, a new set of source data is acquired, and the domain adaptor execution process, the first model execution process, the second model execution process, the pseudo-label generation process, the first loss acquisition process, the second loss acquisition process, the third loss acquisition process, and the learning control process are executed.
[0054] The learning control process includes an integrated loss acquisition process, an update process, and a termination determination process. The integrated loss acquisition process is the process of obtaining an integrated loss evaluation value based on the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value, and the second type third loss evaluation value. The update process is the process of updating the parameter values of the target domain adaptor so that the integrated loss evaluation value becomes smaller. The termination determination process is the process of determining whether or not the learning termination condition has been met.
[0055] Updating the parameter values of the target domain adaptor means updating the parameter values of the target domain adaptor stored in a predetermined storage device, such as the memory unit 13.
[0056] Figure 2 is a flowchart showing an example of the processing flow performed by the control unit 11 in the embodiment. More specifically, Figure 2 is a flowchart showing an example of the domain adaptor learning process flow.
[0057] The control unit 11 obtains the set of raw data (step S101). Next, the control unit 11 executes the domain adaptor execution process (step S102). Next, the control unit 11 executes the first model execution process (step S103).
[0058] Next, the control unit 11 executes the second model execution process (step S104). Next, the control unit 11 executes the pseudo-label generation process (step S105). Next, the control unit 11 executes the first loss acquisition process (step S106). Next, the control unit 11 executes the second loss acquisition process (step S107). Next, the control unit 11 executes the third loss acquisition process (step S108). Next, the control unit 11 executes the integrated loss acquisition process (step S109). Next, the control unit 11 executes the update process (step S110). The execution of the update process updates the parameter values of the target domain adaptor.
[0059] Next, the control unit 11 executes a termination determination process (step S110). In the termination determination process, the control unit 11 determines whether or not the learning termination condition has been met (step S111).
[0060] If the learning termination condition is met (step S111: YES), the process ends. On the other hand, if the learning termination condition is not met (step S111: NO), the process returns to step S101.
[0061] Note that the processing in step S103 may be executed at any time as long as it is performed after step S102 and before step S105. Similarly, the processing in step S104 may be executed at any time as long as it is performed after step S102 and before step S105.
[0062] The processing in step S106 may be executed at any time, as long as it is performed after step S103 but before step S109. The processing in step S107 may be executed at any time, as long as it is performed after step S104 but before step S109. The processing in step S108 may be executed at any time, as long as it is performed after steps S103 and S104 but before step S109.
[0063] <The effects of learning> Here, we consider a scenario where we want to perform domain adaptation under the condition that the target model, the pre-trained model for the training domain, the training data obtained in the learning process to acquire the pre-trained model for the training domain, and the inference results of the target model are unavailable.
[0064] In such cases, the pre-trained domain model itself cannot be used, making domain adaptation impossible by updating the parameters of the pre-trained domain model. Therefore, the control unit 11 executes a domain adaptor learning process. Through this, the control unit 11 trains a domain adaptor that performs data transformation, and by performing data transformation, achieves domain adaptation without updating the parameters of the pre-trained domain model.
[0065] Furthermore, since the trained models themselves and their output results cannot be used in the training of the domain adaptor, they cannot be used to train the domain adaptor mentioned above. Therefore, the control unit 11 trains the domain adaptor using two surrogate models and data from the target domain. One of the surrogate models is the first model, and the other surrogate model is the second model.
[0066] In the domain adaptor learning process, domain adaptors are trained using data transformations that enable them to adapt to the same domain across two different surrogate models. This ensures that the domain adaptors are reusable even for domain-trained models that were not used in the initial training.
[0067] Furthermore, since data from the training domain cannot be used, only unsupervised data from the target domain can be used to train the domain adaptor. Therefore, the control unit 11 uses a pseudo-label generator and three loss evaluation values. In this way, the control unit 11 trains the domain adaptor, which transforms the data so that the target model can be adapted to the target domain, using unsupervised data from the target domain.
[0068] Thus, by executing the domain adaptor learning process, domain adaptation becomes possible under conditions where the target model, the trained domain-learned model, the training data obtained in learning to acquire the trained domain-learned model, and the inference results of the target model are unavailable.
[0069] Therefore, even in situations where the target model, the pre-trained model in the training domain, the training data obtained in the learning process to acquire the pre-trained model in the training domain, and the inference results of the target model are unavailable, the inference accuracy of the pre-trained model in the training domain on target domain data can be improved. As a result, users of the pre-trained model in the training domain, such as service models, can obtain more accurate inference results.
[0070] <Explanation using mathematical formulas> An example of domain adaptor learning processing will be explained using mathematical formulas. The set of raw data input to the target domain adaptor in the domain adaptor learning process (hereinafter referred to as the "data set") is represented by the following formula (1).
[0071]
number
[0072] Here, N is the number of original data points included in the set of original data points. N is a predetermined integer greater than or equal to 1. i is an identifier that identifies each original data point included in the set of original data points.
[0073] <<Explanation of target domain adaptors using mathematical formulas>> In step S102 of Figure 2, the target domain adaptor applies a data transformation to each original data point in the data set based on the parameter δ, and obtains transformed data for each original data point. The symbols in equation (2) represent the original data x i This represents the transformed data obtained by applying data transformations to the original data.
[0074]
number
[0075] The target domain adaptor can be configured in any way, as long as the parameter δ is differentiable with respect to the first, second, and third loss evaluation values. For example, the target domain adaptor may be configured as a neural network using the parameter δ.
[0076] <<Explanation of the first model execution process using mathematical formulas>> The first model execution process in step S103 of Figure 2 will be explained. The first model can be expressed as a function, where x is the original data of the data set. i The function F takes a data set as input and outputs a feature vector and an estimated class assignment probability vector. The first model applies the output of this function F (feature vector and estimated class assignment probability vector) to each original data point in the data set.
[0077] Below is the original data x i The feature vector output by the function F, which receives the input x, is expressed by equation (3), and the estimated class assignment probability vector output by the function F is expressed by equation (4). Therefore, the original data x i For a function F that takes as input, the input and output can be explicitly expressed by the following equation (5).
[0078]
number
[0079]
number
[0080]
number
[0081] Furthermore, the first model, upon receiving the transformed data represented by equation (2) as input, obtains a feature vector represented by the symbol in equation (6) and an estimated class assignment probability vector represented by the symbol in equation (7). Therefore, if we express this input-output relationship using the function F, it can be expressed by the following equation (8).
[0082]
number
[0083]
number
[0084]
number
[0085] The function F can be constructed in any way, as long as the parameter δ of the target domain adaptor is differentiable with respect to the first and third loss evaluation values. For example, the function F may be constructed using a neural network with parameter δ.
[0086] <<Explanation of the second model execution process using mathematical formulas>> The second model execution process in step S104 of Figure 2 will now be explained. Expressed as a function, the second model is function G, which takes the transformed data represented by equation (2) as input and outputs an estimated class assignment probability vector as output. The second model executes the output of this function G, consisting of a feature vector and an estimated class assignment probability vector, for each transformed data obtained in the target domain adaptor execution process.
[0087] Below, the estimated class assignment probability vector output by the function G, which receives the transformed data represented by equation (2) as input, is expressed by equation (9). Therefore, the function G that receives the transformed data represented by equation (2) as input can be expressed by explicitly stating the input and output as shown in equation (10).
[0088]
number
[0089]
number
[0090] The function G can be constructed in any way, as long as the parameter δ of the target domain adaptor is differentiable with respect to the second and third loss evaluation values. For example, the function G may be constructed using a neural network with parameter δ.
[0091] <<Explanation of pseudo-label generation process using mathematical formulas>> The pseudo-label generation process in step S105 of Figure 2 will now be explained. The pseudo-label generator is a mathematical model that takes an estimated class assignment probability vector represented by the notation in equation (7) and an estimated class assignment probability vector represented by the notation in equation (9) as input and outputs a pseudo-label represented by equation (11). If the process performed by the pseudo-label generator is represented by the notation in equation (12), the relationship between the input and output of the pseudo-label generator is represented by equation (13).
[0092]
number
[0093]
number
[0094]
number
[0095] The pseudo-label generator outputs pseudo-labels using the processing represented by the symbol in equation (12) for each transformed data obtained in the target domain adaptor execution process.
[0096] The pseudo-label generator may also receive feature vectors represented by the symbols in equation (6). In this case, the input-output relationship of the pseudo-label generator is expressed mathematically as equation (14).
[0097]
number
[0098] Such a pseudo-label generator can be configured in any way, as long as it can output something appropriate as a pseudo-label. The pseudo-label generator may be a mathematical model that executes algorithms such as label propagation or label diffusion. "Appropriate as a pseudo-label" means that it represents which of the modified classes of the object being investigated belongs to.
[0099] <<Explanation of the first loss acquisition process using mathematical formulas>> The first loss acquisition process in step S106 of Figure 2 will be explained. In the first loss acquisition process, the control unit 11 receives a set of feature vectors of the original data represented by equation (15) and a set of feature vectors of the transformed data represented by equation (16) as input from the first model, and outputs a first loss evaluation value represented by equation (17).
[0100]
number
[0101]
number
[0102]
number
[0103] <<Explanation of the second loss acquisition process using mathematical formulas>> The second loss acquisition process in step S107 of Figure 2 will be explained. In the second loss acquisition process, the control unit 11 receives a set of estimated class assignment probability vectors represented by equation (18) from the second model as input, and outputs a second loss evaluation value represented by equation (19).
[0104]
number
[0105]
number
[0106] Here, the term expressed in equation (20) represents the y-th component of the estimated class assignment probability vector expressed in equation (9).
[0107]
number
[0108] <<Explanation of the third loss acquisition process using mathematical formulas>> The third loss acquisition process in step S108 of Figure 2 will be explained. In the third loss acquisition process, the control unit 11 receives a set of estimated class assignment probability vectors represented by equation (21) from the first model as input, a set of estimated class assignment probability vectors represented by equation (18) from the second model, and a set of pseudo-labels represented by equation (22) from the pseudo-label generator, and outputs a third loss evaluation value for each set of estimated class assignment probability vectors.
[0109] The third loss valuation for the first model (i.e., the first type third loss valuation) is expressed, for example, by equation (23) below, and the third loss valuation for the second model (i.e., the second type third loss valuation) is expressed, for example, by equation (24) below.
[0110]
number
[0111]
number
[0112]
number
[0113]
number
[0114] The first type third loss evaluation value may be defined by equation (25) instead of equation (23), for example. Similarly, the second type third loss evaluation value may be defined by equation (26) instead of equation (24). Thus, equation (25) is an example of a first type third loss evaluation value, and equation (26) is an example of a second type third loss evaluation value.
[0115]
number
[0116]
number
[0117] Here, α represents an adjustable constant parameter, and the operations in equation (27) and equation (28) below represent the gradients of the parameter δ with respect to equations (23) and (24), respectively.
[0118]
number
[0119]
number
[0120] <<<Regarding the use of the losses in equations (25) and (26) in place of equations (23) and (24)>>> For equation (27), the following approximation, equation (29), holds.
[0121]
number
[0122] Equation (29) is derived using a Taylor expansion. The first term on the right-hand side of equation (29) is equation (23). The second term on the right-hand side of equation (29) is the value obtained by multiplying the dot product of the gradients of the parameter δ with respect to equations (23) and (24) by -1.
[0123] Gradient descent is commonly used to optimize the loss function of neural networks. It is also used, for example, to optimize the loss evaluation value in domain adaptor learning. In this case, if the gradients of the loss values obtained from different models have different directions, this can hinder the search for parameters that are optimal for both models.
[0124] The second term on the right-hand side of equation (29) directs the gradients of equations (23) and (24) in the same direction, facilitating the search for parameters that are optimal across different models. This allows for the search of parameters that can be applied to mathematical models not used in training. As a result, the effectiveness of the domain adaptor on the mathematical model can be improved.
[0125] <<Explanation of learning control processing using mathematical formulas>> The processing in steps S109 to S111 (i.e., the learning control processing) will be explained. An example of the integrated loss evaluation value can be expressed mathematically as equation (30) below.
[0126]
number
[0127] Here, λ1, λ2, λ3 F λ3 G These are constant parameters that adjust the weighting of the losses, namely λ1, λ2, and λ3. F λ3 G These are the weight coefficients of the linear sum described above.
[0128] In the learning control process, the domain adaptor is trained to minimize the loss shown in equation (30), for example. Here, the loss in equation (30) is configured to be differentiable with respect to the domain adaptor parameter δ. Therefore, the update process can be implemented by gradient descent. In the update process, the updated value of parameter δ is recorded in a predetermined storage location such as the storage unit 13.
[0129] <Example of hardware configuration for learning device 1> Figure 3 shows an example of the hardware configuration of the learning device 1 in the embodiment. The learning device 1 includes a control unit 11 that executes a program. By executing the program, the learning device 1 functions as a device comprising the control unit 11, an interface unit 12, and a storage unit 13.
[0130] More specifically, the processor 91 reads the program stored in the memory unit 13 and stores the read program in the memory 92. By executing the program stored in the memory 92, the learning device 1 functions as a device comprising a control unit 11, an interface unit 12, and a memory unit 13.
[0131] The control unit 11 controls the operation of each functional unit of the learning device 1. As described above, the control unit 11 performs, for example, domain adaptor learning processing. The control unit 11 also retrieves, for example, information stored in the memory unit 13. Specifically, the process of retrieving information stored in the memory unit 13 is read.
[0132] The interface unit 12 includes a communication interface for connecting the learning device 1 to an external device. The interface unit 12 communicates with the external device via wired or wireless means.
[0133] The external device is, for example, the device that sent the original data set. In such a case, the interface unit 12 obtains the original data set by communicating with the device that sent the original data set.
[0134] The external device may be, for example, an information processing device 2. In such a case, the information processing device 2 can execute the learned target domain adaptor through communication via the interface unit 12.
[0135] The interface unit 12 may include input devices such as a mouse, keyboard, or touch panel. The interface unit 12 may also be configured as an interface for connecting these input devices to the learning device 1. In this way, the input devices of the interface unit 12 receive various types of information to the learning device 1 via wired or wireless connections. Note that the information does not necessarily have to be input to the communication interface of the interface unit 12; it may also be input to the input devices of the interface unit 12.
[0136] The interface unit 12 outputs various types of information, for example. The interface unit 12 includes, for example, a display device such as a CRT (Cathode Ray Tube) display, a liquid crystal display, or an organic EL (Electro-Luminescence) display, as well as a speaker. The interface unit 12 may be configured as an interface for connecting these display devices or speakers to the learning device 1. Therefore, the interface unit 12 may output information input to its input device as an image or sound, for example.
[0137] The storage unit 13 is configured using a computer-readable storage medium (non-transitory computer-readable recording medium) such as a magnetic hard disk drive or a semiconductor memory device. The storage unit 13 stores various information related to the learning device 1. The storage unit 13 stores various information generated by the operation of the control unit 11, for example. The storage unit 13 may reside, for example, on the cloud.
[0138] <An example of the hardware configuration of the information processing device 2> Figure 4 shows an example of the hardware configuration of the information processing device 2 in the embodiment. The information processing device 2 includes a control unit 21 that executes programs. The information processing device 2 functions as a device comprising a control unit 21, an interface unit 22, and a storage unit 23 through the execution of programs.
[0139] More specifically, the processor 93 reads the program stored in the storage unit 23 and stores the read program in the memory 94. By executing the program stored in the memory 94, the information processing device 2 functions as a device comprising a control unit 21, an interface unit 22, and a storage unit 23.
[0140] The control unit 21 controls the operation of each functional unit of the information processing device 2. The control unit 21, for example, executes the learned domain adaptor execution process. That is, the control unit 21 performs data transformation using, for example, a learned domain adaptor. The control unit 21 retrieves information stored in, for example, the storage unit 23. Specifically, the process of retrieving information stored in the storage unit 23 is read.
[0141] The interface unit 22 includes a communication interface for connecting the information processing device 2 to an external device. The interface unit 22 communicates with the external device via wired or wireless means.
[0142] The external device is, for example, the device that transmits the data to be processed by the pre-trained domain adaptor execution process. That is, the external device is, for example, the device that transmits the data to be input to the pre-trained target domain adaptor. In such a case, the interface unit 22 obtains the data to be input to the pre-trained target domain adaptor by communicating with the device that transmits the data to be input to the pre-trained target domain adaptor.
[0143] The external device may be, for example, a learning device 1. In such a case, the information processing device 2 can execute the learned target domain adaptor obtained by the learning device 1 through communication via the interface unit 22.
[0144] The external device may be, for example, a device that executes an inference model to which the modified data obtained from a trained target domain adaptor is input. An inference model is a mathematical model that performs inference. The inference model may be, for example, a service model provided by an AI service. A trained domain model is an example of an inference model.
[0145] In such cases, the information processing device 2 inputs the modified data obtained by the trained target domain adaptor to the inference model that receives the modified data obtained by the trained target domain adaptor, via communication through the interface unit 22. In communication via the interface unit 22, the modified data is transmitted and received via a data communication circuit, such as an API. Furthermore, an external device that executes the inference model, which receives the modified data obtained by the trained target domain adaptor, may transmit the inference results to the information processing device 2 via communication through the interface unit 22. In communication via the interface unit 22, the inference results are transmitted and received via a data communication circuit, such as an API.
[0146] The interface unit 22 may include input devices such as a mouse, keyboard, or touch panel. The interface unit 22 may also be configured as an interface connecting these input devices to the information processing device 2. In this way, the input devices of the interface unit 22 receive various types of information to the information processing device 2 via wired or wireless connections. Note that the information does not necessarily have to be input to the communication interface of the interface unit 22; it may also be input to the input devices of the interface unit 22.
[0147] The interface unit 22 outputs various types of information, for example. The interface unit 22 is comprised of a display device such as a CRT display, liquid crystal display, or organic EL display, and a speaker. The interface unit 22 may be configured as an interface for connecting these display devices or speakers to the information processing device 2. Therefore, the interface unit 22 may output information input to its input device as an image or sound, for example.
[0148] The storage unit 23 is configured using a computer-readable recording medium such as a magnetic hard disk drive or a semiconductor memory device. The storage unit 23 stores various information related to the information processing device 2. The storage unit 23 stores various information generated by the operation of the control unit 21, for example. The storage unit 23 may reside, for example, on the cloud.
[0149] The program for the learned target domain adaptor may be stored in a memory device provided by the information processing device 2, such as the memory unit 23. In this case, the control unit 21 may execute the learned target domain adaptor by reading and executing the program from the memory device provided by the information processing device 2, such as the memory unit 23.
[0150] Furthermore, the inference model to which the modified data obtained by the trained target domain adaptor is input does not necessarily need to be an external device. The program for this inference model may be stored in a memory device of the information processing device 2, such as the memory unit 23, and executed by the control unit 21.
[0151] Figure 5 is a flowchart showing an example of the processing flow executed by the information processing device 2 in the embodiment. The control unit 21 acquires data to be processed by the learned domain adaptor execution process (step S201). Next, the control unit 21 has the learned domain adaptor execution process process the acquired data (step S202). That is, the control unit 21 executes the learned domain adaptor execution process. As a result, modified data is obtained in which the data acquired in step S201 has been modified.
[0152] Next, the control unit 21 outputs the modified data acquired in step S202 to a predetermined output destination (step S203). The predetermined output destination may be a predetermined storage device, such as the memory unit 23. The modified data output to the predetermined storage device may then be read from the storage device by the user and input into an inference model, such as a service model.
[0153] The predetermined output destination may be, for example, an inference model such as a service model. When the transformed data obtained in step S202 is output to the inference model such as a service model, the inference model performs inference based on that transformed data.
[0154] The inference performed by this inference model is, for example, the inference of the class to which the transformed data obtained in step S202 belongs. That is, the inference performed by this inference model is, for example, the inference of the class to which the data obtained in step S201 belongs. The result of the inference performed by this inference model may be, for example, an estimated class assignment probability vector for each class, or it may be an estimated result of which class the data belongs to.
[0155] The learning device 1 configured in this way performs domain adaptor learning processing. As a result, the learning device 1 is able to obtain inference results with higher accuracy, as described in <Effects of Learning>.
[0156] Furthermore, the information processing device 2, configured in this way, executes the trained target domain adaptor obtained by the learning device 1. This enables the information processing device 2 to obtain inference results with higher accuracy.
[0157] Furthermore, the information processing system 100 configured in this way includes a learning device 1. Therefore, the information processing system 100 is able to obtain inference results with higher accuracy.
[0158] (modified version) The first loss acquisition process obtains a first loss evaluation value by taking as input the set of feature vectors of the original data output from the first model and the set of feature vectors of the transformed data output from the first model, but the input is not limited to these. For example, in addition to the set of feature vectors of the original data and the set of feature vectors of the transformed data output by the first model, the set of feature vectors of the original data and the set of feature vectors of the transformed data output by the second model may also be accepted as input.
[0159] In this case, the first loss acquisition process obtains the first loss evaluation value based on the set of feature vectors of the original data output by the first model, the set of feature vectors of the transformed data output by the first model, the set of feature vectors of the original data output by the second model, and the set of feature vectors of the transformed data output by the second model.
[0160] Therefore, for example, instead of the process in equation (10), the set of estimated class assignment probability vectors and feature vectors for the original and transformed data may be obtained by the same process as in equations (5) and (8), and the first loss evaluation value may be obtained from the set of features of the original and transformed data by the same process as in equation (17).
[0161] The second loss acquisition process obtains a second loss evaluation value by taking the set of estimated class assignment probability vectors for the transformed data output from the second model as input, but the input is not limited to this. For example, in addition to the set of estimated class assignment probability vectors for the transformed data output from the second model, the set of estimated class assignment probability vectors for the transformed data output from the first model may also be accepted as input. In this case, the second loss acquisition process obtains the second loss evaluation value based on the set of estimated class assignment probability vectors for the transformed data output from the second model and the set of estimated class assignment probability vectors for the transformed data output from the first model.
[0162] Therefore, for example, the second loss evaluation value may be obtained by taking the set of estimated class assignment probability vectors for the transformed data output by the second model and the set of estimated class assignment probability vectors for the transformed data output by the first model as input, and processing similar to that in equation (19).
[0163] As shown in the specific examples in equations (23) to (29), in the third loss acquisition process, in addition to the first type third loss evaluation value and the second type third loss evaluation value, a loss that is smaller the more the parameter gradient vectors of the first principal third loss and the parameter gradient vectors of the second type third loss are in the same direction may also be acquired. This acquired loss may also be included in the integrated loss evaluation value. The parameter gradient vector of the first principal third loss is the parameter gradient vector of the target domain adaptor with respect to the first principal third loss evaluation value. The parameter gradient vector of the second principal third loss is the parameter gradient vector of the target domain adaptor with respect to the second principal third loss evaluation value.
[0164] The learning device 1 may be implemented using multiple information processing devices connected to each other via a network. In this case, each process executed by the control unit 11 may be performed in a distributed manner by the multiple information processing devices.
[0165] The information processing device 2 may be implemented using multiple information processing devices connected to each other via a network. In this case, each process executed by the control unit 21 may be performed in a distributed manner by multiple information processing devices.
[0166] Furthermore, all or part of the functions of the information processing system 100, the learning device 1, and the information processing device 2 may be implemented using hardware such as ASICs (Application Specific Integrated Circuits), PLDs (Programmable Logic Devices), or FPGAs (Field Programmable Gate Arrays). The program may be recorded on a computer-readable recording medium. Computer-readable recording media include, for example, portable media such as flexible disks, magneto-optical disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into computer systems. The program may also be transmitted via a telecommunications line.
[0167] Note that the control unit 21 is an example of an adaptive unit.
[0168] While embodiments of this invention have been described in detail above with reference to the drawings, the specific configuration is not limited to these embodiments and includes designs and the like that do not depart from the spirit of this invention. [Explanation of Symbols]
[0169] 100... Information processing system, 1... Learning device, 2... Information processing device, 11... Control unit, 12... Interface unit, 13... Storage unit, 21... Control unit, 22... Interface unit, 23... Storage unit, 91... Processor, 92... Memory, 93... Processor, 94... Memory
Claims
1. A control unit that performs a domain adaptor learning process, which involves learning a domain adaptor, a mathematical model that performs data transformations on input data, as the learning target. Equipped with, The domain adaptor learning process includes a domain adaptor execution process, a first model execution process, a second model execution process, a pseudo-label generation process, a first loss acquisition process, a second loss acquisition process, a third loss acquisition process, and a learning control process. The domain adaptor execution process is a process that executes the learning target on each original data included in the set of original data which is the data to be processed by the learning target, The first model execution process involves inputting the set of original data and the set of transformed data used in the domain adaptor execution process into the first model, and obtaining the feature vector inferred by the first model for each input original data, and the feature vector and estimated assignment probability vector inferred by the first model for each input transformed data. The aforementioned estimated assignment probability vector is a probability vector that represents the likelihood of which of the classes being quantified it belongs to. The modified data is the result of the original data being modified by the training target. The first model is a mathematical model that infers the feature vector and estimated assignment probability vector of the data based on the input data. The second model execution process involves inputting the set of modified data obtained in the domain adaptor execution process into the second model, and obtaining the estimated assignment probability vector inferred by the second model for each of the input modified data. The second model is a mathematical model different from the first model, and is a mathematical model that infers the estimated class assignment probability vector of the data based on the input data. The pseudo-label generation process is a process that infers a pseudo-label for each of the modified data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors of the modified data obtained in the first model execution process and the set of estimated class assignment probability vectors of the modified data obtained in the second model execution process. The pseudo-label is a label that indicates which class the transformed data belongs to, The first loss acquisition process is a process that obtains a first loss evaluation value based on the set of feature vectors of the original data obtained in the first model execution process and the set of feature vectors of the modified data obtained in the first model execution process. The first loss evaluation value is a loss defined by a predetermined definition that satisfies the condition that the smaller the difference between the feature vector of the original data and the feature vector of the transformed data obtained by data transformation of the original data, the smaller the value. The second loss acquisition process is a process that obtains a second loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process. The second loss evaluation value is a loss defined by a predetermined definition that satisfies the condition that it becomes smaller as the mutual information calculated using the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process increases, The third loss acquisition process is a process that acquires a first kind of third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of pseudo-labels obtained in the pseudo-label generation process, and acquires a second kind of third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process and the set of pseudo-labels obtained in the pseudo-label generation process. The aforementioned first type third loss evaluation value is a loss of a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the first model execution process and the pseudo-label, and is a loss of a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases. The aforementioned second type third loss evaluation value is a loss of a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the second model execution process and the pseudo-label, and is a loss of a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases. The learning control process includes updating the target domain adaptor based on the integrated loss evaluation value so that the integrated loss evaluation value becomes smaller. The aforementioned integrated loss evaluation value is a loss that includes a linear sum of the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value, and the second type third loss evaluation value. Learning device.
2. In the first loss acquisition process, the first loss evaluation value is further obtained based on the set of feature vectors of the original data output by the second model and the set of feature vectors of the modified data output by the second model. The learning device according to claim 1.
3. In the second loss acquisition process, the second loss evaluation value is further obtained based on the set of estimated class assignment probability vectors of the transformed data output by the first model. The learning device according to claim 1.
4. In the third loss acquisition process, in addition to the first type third loss evaluation value and the second type third loss evaluation value, a loss is acquired that includes a loss whose value becomes smaller the more the parameter gradient vector of the domain adaptor for the first type third loss evaluation value and the parameter gradient vector of the domain adaptor for the second type third loss evaluation value are in the same direction. The aforementioned loss is included in the integrated loss evaluation value. The learning device according to claim 1.
5. The system includes a control unit that performs a domain adaptor learning process, which is a learning process for a domain adaptor, which is a mathematical model that performs data transformations on input data, the domain adaptor learning process includes a domain adaptor execution process, a first model execution process, a second model execution process, a pseudo-label generation process, a first loss acquisition process, a second loss acquisition process, a third loss acquisition process, and a learning control process, the domain adaptor execution process is a process that performs the learning process on each original data included in the set of original data which is the data to be processed by the learning target, the first model execution process is a process that inputs the set of original data used in the domain adaptor execution process and the set of transformed data into the first model, and obtains a feature vector inferred by the first model for each input original data, and a feature vector and estimated assignment probability vector inferred by the first model for each input transformed data, the estimated assignment probability vector is a probability vector that represents the likelihood of belonging to one of the classes to be classified, and the transformed data is the original data The data is the result of being transformed, the first model is a mathematical model that infers the feature vector and estimated assignment probability vector of the data based on the input data, the second model execution process is a process of inputting the set of transformed data obtained in the domain adaptor execution process into the second model and obtaining the estimated assignment probability vector inferred by the second model for each of the transformed data input, the second model is a mathematical model different from the first model, and is a mathematical model that infers the estimated class assignment probability vector of the data based on the input data, the pseudo-label generation process is a process of inferring a pseudo-label for each of the transformed data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, the pseudo-label is a label that indicates which class of the classification target the transformed data belongs to, and the first loss acquisition process is,The first loss acquisition process is a process to obtain a first loss evaluation value based on the set of feature vectors of the original data obtained in the first model execution process and the set of feature vectors of the transformed data obtained in the first model execution process, wherein the first loss evaluation value is a loss with a predetermined definition that is smaller the smaller the difference between the feature vectors of the original data and the feature vectors of the transformed data obtained by data transformation of the original data. The second loss acquisition process is a process to obtain a second loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, wherein the second loss evaluation value is a loss with a predetermined definition that is smaller the larger the mutual information calculated using the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process. The third loss acquisition process obtains a first type third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of pseudo-labels obtained in the pseudo-label generation process. A process to obtain a second type third loss evaluation value based on a set of rate vectors and a set of pseudo-labels obtained in the pseudo-label generation process, wherein the first type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the first model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases, the second type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the second model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases, the learning control process includes a process to update the target domain adaptor so that the integrated loss evaluation value becomes smaller based on the integrated loss evaluation value, the integrated loss evaluation value is a loss that includes a linear sum of the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value and the second type third loss evaluation value, an adaptation unit that performs data transformation by a learned domain adaptor obtained by the learning device, An information processing device equipped with the following features.
6. A control step in which a computer executes a domain adaptor learning process, which involves learning a domain adaptor, a mathematical model that performs data transformations on input data, as the learning target. It has, The domain adaptor learning process includes a domain adaptor execution process, a first model execution process, a second model execution process, a pseudo-label generation process, a first loss acquisition process, a second loss acquisition process, a third loss acquisition process, and a learning control process. The domain adaptor execution process is a process that executes the learning target on each original data included in the set of original data which is the data to be processed by the learning target, The first model execution process involves inputting the set of original data and the set of transformed data used in the domain adaptor execution process into the first model, and obtaining the feature vector inferred by the first model for each input original data, and the feature vector and estimated assignment probability vector inferred by the first model for each input transformed data. The aforementioned estimated assignment probability vector is a probability vector that represents the likelihood of which of the classes being quantified it belongs to. The modified data is the result of the original data being modified by the training target. The first model is a mathematical model that infers the feature vector and estimated assignment probability vector of the data based on the input data. The second model execution process involves inputting the set of modified data obtained in the domain adaptor execution process into the second model, and obtaining the estimated assignment probability vector inferred by the second model for each of the input modified data. The second model is a mathematical model different from the first model, and is a mathematical model that infers the estimated class assignment probability vector of the data based on the input data. The pseudo-label generation process is a process that infers a pseudo-label for each of the modified data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors of the modified data obtained in the first model execution process and the set of estimated class assignment probability vectors of the modified data obtained in the second model execution process. The pseudo-label is a label that indicates which class the transformed data belongs to, The first loss acquisition process is a process that obtains a first loss evaluation value based on the set of feature vectors of the original data obtained in the first model execution process and the set of feature vectors of the modified data obtained in the first model execution process. The first loss evaluation value is a loss defined by a predetermined definition that satisfies the condition that the smaller the difference between the feature vector of the original data and the feature vector of the transformed data obtained by data transformation of the original data, the smaller the value. The second loss acquisition process is a process that obtains a second loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process. The second loss evaluation value is a loss defined by a predetermined definition that satisfies the condition that it becomes smaller as the mutual information calculated using the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process increases, The third loss acquisition process is a process that acquires a first kind of third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of pseudo-labels obtained in the pseudo-label generation process, and acquires a second kind of third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process and the set of pseudo-labels obtained in the pseudo-label generation process. The aforementioned first type third loss evaluation value is a loss of a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the first model execution process and the pseudo-label, and is a loss of a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases. The aforementioned second type third loss evaluation value is a loss of a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the second model execution process and the pseudo-label, and is a loss of a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-label increases. The learning control process includes updating the target domain adaptor based on the integrated loss evaluation value so that the integrated loss evaluation value becomes smaller. The aforementioned integrated loss evaluation value is a loss that includes a linear sum of the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value, and the second type third loss evaluation value. Learning methods.
7. The process includes a control step of executing a domain adaptor learning process on a computer, which is a domain adaptor that is a mathematical model that performs data transformations on input data, and the domain adaptor learning process includes a domain adaptor execution process, a first model execution process, a second model execution process, a pseudo-label generation process, a first loss acquisition process, a second loss acquisition process, a third loss acquisition process, and a learning control process, wherein the domain adaptor execution process is a process of executing the learning target on each original data included in the set of original data which is the data to be processed by the learning target, the first model execution process is a process of inputting the set of original data used in the domain adaptor execution process and the set of transformed data into the first model, and obtaining a feature vector inferred by the first model for each input original data, and a feature vector inferred by the first model and an estimated assignment probability vector for each input transformed data, wherein the estimated assignment probability vector is a probability vector that represents the likelihood of belonging to one of the classes to be classified, and the transformed data is by the learning target The original data is the result of transformation, the first model is a mathematical model that infers the feature vector and estimated assignment probability vector of the data based on the input data, the second model execution process is a process of inputting the set of transformed data obtained in the domain adaptor execution process into the second model and obtaining the estimated assignment probability vector inferred by the second model for each of the transformed data input, the second model is a mathematical model different from the first model, and is a mathematical model that infers the estimated class assignment probability vector of the data based on the input data, the pseudo-label generation process is a process of inferring a pseudo-label for each of the transformed data obtained in the domain adaptor execution process, based at least on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, the pseudo-label is a label that indicates which class of the classification target the transformed data belongs to, and the first loss acquisition process is,The first loss evaluation value is obtained based on the set of feature vectors of the original data obtained in the first model execution process and the set of feature vectors of the transformed data obtained in the first model execution process, wherein the first loss evaluation value is a loss with a predetermined definition that satisfies the condition that the smaller the difference between the feature vectors of the original data and the feature vectors of the transformed data obtained by data transformation of the original data, the smaller the value, the second loss acquisition process is obtained based on the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, wherein the second loss evaluation value is a loss with a predetermined definition that satisfies the condition that the larger the mutual information calculated using the set of estimated class assignment probability vectors of the transformed data obtained in the second model execution process, the smaller the value, and the third loss acquisition process obtains a first kind third loss evaluation value based on the set of estimated class assignment probability vectors of the transformed data obtained in the first model execution process and the set of pseudo-labels obtained in the pseudo-label generation process, and the estimated class assignment probability vectors of the transformed data obtained in the second model execution process A process to obtain a second type third loss evaluation value based on a set of pseudo-labels obtained in the pseudo-label generation process, wherein the first type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the first model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-labels increases, the second type third loss evaluation value is a loss with a predetermined definition defined using the estimated class assignment probability vector of the transformed data obtained in the second model execution process and the pseudo-labels, and is a loss with a predetermined definition that satisfies the condition that the value becomes smaller as the class component of the pseudo-labels increases, the learning control process includes a process to update the target domain adaptor so that the integrated loss evaluation value becomes smaller based on the integrated loss evaluation value, the integrated loss evaluation value is a loss that includes a linear sum of the first loss evaluation value, the second loss evaluation value, the first type third loss evaluation value and the second type third loss evaluation value, an adaptation step in which a computer performs data transformation using the learned domain adaptor obtained by the learning method, An information processing method having
8. A program for causing a computer to function as either a learning device according to any one of claims 1 to 4 or an information processing device according to claim 5.
Citation Information
Patent Citations
Model learning device, model learning method, and prediction system
JP2019101789A