PROGRAM, INFORMATION PROCESSING APPARATUS AND INFORMATION PROCESSING METHOD
The program and device generate mini-batches with specific parameters to train inference models with varied properties, overcoming the limitations of existing methods by using a single dataset, thereby improving model diversity and effectiveness.
Patent Information
- Application Number
- JP2023000027
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-01-04
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2043-01-04
AI Technical Summary
Existing techniques for generating inference models require multiple datasets or random resampling, which limits the generation of models with properties beyond statistical fluctuations.
A program and information processing device that generates mini-batches of training data with specific extraction parameters, allowing the training of inference models with properties beyond statistical fluctuations using a single dataset.
Enables the generation of inference models with diverse properties without the need for multiple datasets, enhancing the diversity and effectiveness of model training.
Smart Images

Figure 0007815154000001 
Figure 0007815154000002 
Figure 0007815154000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a program, an information processing device, and an information processing method. [Background technology]
[0002] There are known techniques for generating inference models by performing machine learning using publicly available datasets that are generally available. To generate an inference model that can be applied to a specific application, it is desirable to use a dataset that is suitable for that application, for example.
[0003] For example, a technology has been proposed that generates multiple inference models with different properties (characteristics, features) by combining and learning from multiple datasets. Also, in bagging, which is used in random forests, an example of an inference model, a technology has been proposed that generates multiple different inference models by randomly resampling a dataset. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2022-045064 [Non-patent literature]
[0005] [Non-Patent Document 1] Ho, Tin Kam (1995). Random Decision Forests. Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, QC, 14-16 August 1995. pp. 278-282 Summary of the Invention [Problem to be solved by the invention]
[0006] However, these techniques have the problem that they require the preparation of multiple datasets, or that only a portion of the dataset is used for training because the dataset is randomly resampled. Furthermore, random sampling techniques cannot generate inference models with differences in properties that are greater than statistical fluctuations.
[0007] The present invention aims to provide a program, an information processing device, and an information processing method that can generate data with different properties beyond statistical fluctuations as training data for an inference model without preparing multiple data sets. [Means for solving the problem]
[0008] A program according to an embodiment causes a computer to function as a generation unit and a learning unit. The generation unit generates one or more mini-batches corresponding to one or more extraction parameters, each mini-batching a portion of a plurality of training data sets, each of which has one of a plurality of attributes, selected according to one or more extraction parameters that specify the properties of the selected training data sets. The learning unit uses the training data included in the one or more mini-batches to train one or more inference models. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram of an information processing apparatus according to a first embodiment. [Figure 2] FIG. 10 is a diagram showing an example of a training dataset. [Figure 3] FIG. 4 is a diagram showing an example of program control parameters. [Figure 4] FIG. 10 is a diagram showing an example of extraction parameters. [Figure 5] FIG. 10 is a diagram showing another example of extraction parameters. [Figure 6] 10 is a flowchart of a generation process according to the first embodiment. [Figure 7] Flowchart of the generation and learning process. [Figure 8] FIG. 10 is a block diagram of an information processing apparatus according to a second embodiment. [Figure 9] FIG. 10 is a diagram showing an example of extraction parameters. [Figure 10] 10 is a flowchart of a generation process according to the second embodiment. [Figure 11] FIG. 10 is a block diagram of an information processing apparatus according to a third embodiment. [Figure 12] 10 is a flowchart of a generation process according to the third embodiment. [Figure 13] FIG. 10 is a block diagram of an information processing apparatus according to a fourth embodiment. [Figure 14] FIG. 4 is a diagram showing an example of program control parameters. [Figure 15] 10 is a flowchart of a generation process according to the fourth embodiment. [Figure 16] 10 is a flowchart of the learning process of the destination inference model. [Figure 17] FIG. 10 is a block diagram of an information processing apparatus according to a fifth embodiment. [Figure 18] 13 is a flowchart of a generation process according to the fifth embodiment. [Figure 19] FIG. 10 is a diagram showing an example of the number of samples in a classification class. [Figure 20] FIG. 10 is a diagram showing an example of the number of samples in a higher class. [Figure 21] FIG. 1 is a hardware configuration diagram of an information processing apparatus according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of an information processing apparatus according to the present invention will be described in detail below with reference to the accompanying drawings.
[0011] In the following embodiments, an inference model is trained using multiple training data sets (hereinafter referred to as a training dataset) to provide suitable output for a specific inference task. The inference task may be any task commonly used in machine learning. For example, the inference task may be classification, regression, detection, translation, etc.
[0012] Each of the plurality of training data has one of a plurality of attributes, such as a plurality of classes to which the plurality of training data belong and a superclass that supervises the classes.
[0013] The information processing device of each embodiment selects training data from one training dataset according to one or more extraction parameters, and uses each of the selected one or more training data (hereinafter referred to as a mini-batch) for training one or more inference models. The extraction parameters are parameters that specify the properties of the training data to be selected. For example, the extraction parameters represent the proportions at which each of multiple attributes is selected. This allows mini-batches containing training data with properties that differ by more than statistical fluctuations to be generated from one training dataset without preparing multiple datasets, and can be used for training the inference models.
[0014] (First embodiment) The information processing device of the first embodiment uses one mini-batch selected from a training dataset according to one extracted parameter for training an inference model.
[0015] 1 is a block diagram showing an example of the configuration of an information processing device 100 according to the first embodiment. As shown in FIG. 1, the information processing device 100 includes a storage unit 110, a setting unit 101, a generation unit 102, a learning unit 103, and an output control unit 104.
[0016] The storage unit 110 stores various types of information used in the information processing device 100. For example, the storage unit 110 stores a training dataset 121, program control parameters 122, extracted parameters 123, a configuration file 124, a mini-batch 131, and an inference model 132. Each piece of information will be described in detail below.
[0017] 2 is a diagram showing an example of a training dataset 121. As shown in FIG. 2, the training dataset 121 includes a plurality of training data (generally referred to as training samples, but in this document, the term "training data" is used to refer to individual data included in the training dataset) 201. The training dataset 121 is used to generate mini-batches 131, which are indirectly used to train an inference model 132 through the mini-batches 131. Each training data 201 includes media data 201a and metadata 201b.
[0018] The media data 201a is data that stores some kind of event, such as an image, sound, sensor time-series data, character strings, etc. Events include, for example, events that occur in the real world, electronic data collected on the Internet, and computer simulation results.
[0019] The metadata 201b is data that stores information about events stored in the media data 201a. If the media data 201a is an image, the metadata 201b may include, for example, the type of object (including a person) appearing in the image and location information of the object in the image. If the media data 201a is audio, the metadata 201b may include, for example, a character string that is a transcription of the audio and attribute information of the speaker. If the media data 201a is sensor time-series data, the metadata 201b may include, for example, a record of an event in the real world at the time the sensor time-series data was collected and the operating status of a device equipped with a sensor. If the media data 201a is a character string, the metadata 201b may include, for example, class information that classifies the meaning of the character string and the character string when translated into another language. The metadata 201b may also include information such as the date, time, location, and environment at which the media data 201a was stored, and simulation parameters.
[0020] If the metadata 201b includes correct answer data for the inference task, the training dataset 121 is classified as a supervised dataset. If only the metadata 201b of some of the training data includes correct answer data for the inference task, the training dataset 121 is classified as a semi-supervised dataset. If the metadata 201b includes only information correlated with the correct answer value for the inference task, the training dataset 121 is classified as a weakly supervised dataset. If the metadata 201b does not include information on correct answer data for the inference task, the training dataset 121 is classified as an unsupervised dataset.
[0021] Returning to Fig. 1, the program control parameters 122 are data summarizing variables necessary for executing a program. Fig. 3 is a diagram showing an example of the program control parameters 122. As shown in Fig. 3, the program control parameters 122 include a loop count variable 301, a mini-batch size variable 302, and a loop count variable 303.
[0022] The loop count variable 301 and the loop count variable 303 are variables for managing the number of iterations (loop count) of the iterative process in the generation and learning process described below. The mini-batch size variable 302 is a variable that determines the number of training data stored in the mini-batch 131.
[0023] 1, the extraction parameters 123 are information that specifies the properties of the training data (mini-batches 131) selected from the training dataset 121. The extraction parameters 123 can also be interpreted as parameters that are set to control sampling characteristics when generating the mini-batches 131 from the training dataset 121.
[0024] FIG. 4 is a diagram showing an example of the extraction parameters 123. The extraction parameters PA in FIG. 4 are an example of extraction parameters when the media data 201a of the training dataset 121 is a supervised dataset for an image classification task. The extraction parameters PA also include a numerical value representing the proportion (probability) of selection for each classification class. The numerical value can also be interpreted as a weight for each classification class. FIG. 4 shows an example in which the classification classes are "dog," "cat," "car," and "airplane," and the proportions of each classification class are 0.2, 0.1, 0.4, and 0.3.
[0025] Fig. 5 is a diagram showing another example of the extraction parameter 123. The extraction parameter PA in Fig. 5 includes a numerical value representing the selection ratio (probability, weight) of each of a plurality of higher-level classes obtained by superimposing classification classes. Fig. 5 shows an example in which the higher-level class of the classification classes "dog" and "cat" is "animal," the higher-level class of "car" and "airplane" is "vehicle," and the ratios of the respective higher-level classes are 0.3 and 0.7.
[0026] 1, the configuration file 124 is a file containing data prepared before the program starts. The configuration file 124 is used, for example, to newly set and overwrite other variables stored in the storage unit 110. For example, the configuration file 124 is a file in which variables in a program are written as character strings in a format such as YAML, a temporary storage file for variables in a program stored in a format such as Pycache, or a combination thereof.
[0027] The mini-batch 131 is a set of stored training data included in the training dataset 121, and is used directly for training the inference model 132.
[0028] The inference model 132 is a model generated by learning. The inference model 132 is a calculation algorithm that inputs data in the format of the media data 201a and outputs an inference result of an inference task, and has updatable parameters that affect the input / output results. The inference model 132 may be any model, such as a deep learning model (deep neural network model) or a random forest.
[0029] The storage unit 110 can be configured from any commonly used storage medium, such as a flash memory, a memory card, a RAM (Random Access Memory), an HDD (Hard Disk Drive), or an optical disk.
[0030] The storage unit 110 may be implemented as physically different storage media or as different storage areas of the same physically different storage medium. For example, the above information (the training dataset 121, the program control parameters 122, the extracted parameters 123, the configuration file 124, the mini-batch 131, and the inference model 132) may be stored in a distributed manner across multiple physically different storage media or multiple storage areas.
[0031] The setting unit 101 executes setting processing for various types of information used in the information processing device 100. For example, the setting unit 101 generates new or updates part or all of the information stored in the storage unit 110 using data input by a user, data read from a setting file 124 stored in the storage unit 110 before a program is executed, and information obtained from an external device via a network or the like.
[0032] The generating unit 102 generates, from the training data set 121, one mini-batch corresponding to the extraction parameter PA, which includes a part of the plurality of training data included in the training data set 121 selected according to the extraction parameter PA.
[0033] The learning unit 103 learns one inference model using the learning data included in the mini-batch. The learning method used by the learning unit 103 may be any method depending on the inference model to be applied. The details of the learning method will be described later.
[0034] The output control unit 104 controls the output of various information used in the information processing device 100. For example, the output control unit 104 outputs the inference model 132 obtained by learning to an external device that performs a task using the inference model 132.
[0035] Each of the above units (setting unit 101, generating unit 102, learning unit 103, and output control unit 104) is realized, for example, by one or more processors. For example, each of the above units may be realized by having a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) execute a program, i.e., by software. Each of the above units may be realized by a processor such as a dedicated IC (Integrated Circuit), i.e., by hardware. Each of the above units may be realized by a combination of software and hardware. When multiple processors are used, each processor may realize one of the units, or may realize two or more of the units.
[0036] Next, a description will be given of the generation process of an inference model by the information processing device 100 of the first embodiment. Fig. 6 is a flowchart showing an example of the generation process in the first embodiment.
[0037] The setting unit 101 executes the setting process (step S101). The setting process is a process of newly generating or updating some or all of the information stored in the storage unit 110 or the information already stored, as described above.
[0038] Next, the generating unit 102 and the learning unit 103 execute a generation and learning process (step S102). Details of the generation and learning process will be described with reference to Fig. 7. Fig. 7 is a flowchart showing an example of the generation and learning process.
[0039] The generation unit 102 executes an initialization process (step S201). In the initialization process, for example, the generation unit 102 initializes the loop count variable 301. The initialization of the loop count variable 301 is a process of storing, in the loop count variable 301, a value indicating that the loop to be executed is the first time.
[0040] The generation unit 102 generates a mini-batch 131 according to the extraction parameter PA (step S202). For example, the generation unit 102 samples the training data included in the training dataset 121 by the number set in the mini-batch size variable 302 using an algorithm determined by the value of the extraction parameter PA, and stores the sampled training data as the mini-batch 131 in the storage unit 110. A specific example of this process will be described later.
[0041] The learning unit 103 uses the generated mini-batches 131 to learn the inference model 132 (step S203). For example, the learning unit 103 uses the generated mini-batches 131 to update the changeable parameters of the inference model 132 to values suitable for the inference task.
[0042] When the inference model 132 is a deep learning model, the learning unit 103 learns the inference model 132 by updating parameters using the backpropagation method, for example, using a loss function that determines whether the output when the media data 201a of the learning data included in the mini-batch 131 is input to the inference model 132 is an appropriate value.
[0043] Consider a case where the inference model 132 is a deep learning model, the training dataset 121 is a supervised dataset for a classification task, and the output of the inference model 132 is a likelihood score for each classification class. In this case, the learning unit 103 learns the inference model 132 by updating the parameters of the inference model 132 using backpropagation, with the cross entropy between the likelihood score and the correct classification score one-hot encoded for the correct value as the loss function.
[0044] Even when the inference model 132 is a deep learning model and the training dataset 121 is semi-supervised, weakly supervised, or unsupervised data, inference tasks that can be learned are known, and a learning method using backpropagation can be applied.
[0045] Consider a case where the inference model 132 is not a deep learning model but, for example, a random forest, and the training dataset 121 is a supervised dataset for a classification task. In this case, the learning unit 103 learns the inference model 132 by generating a decision tree optimized for the mini-batch 131 for each loop and adding it as a decision tree included in the random forest.
[0046] Next, the learning unit 103 increments the number of loops stored in the loop count variable 301 by one (step S204). The learning unit 103 determines whether the value of the loop count variable 301 has reached the specified number set in the loop count variable 303 (step S205). If the value of the loop count variable 301 has not reached the specified value (step S205: No), the process returns to step S202 and is repeated. If the value of the loop count variable 301 has reached the specified value (step S205: Yes), the generation and learning process ends. The program control parameters 122 and the generation and learning process (step S102) described here are merely examples. In addition to learning in which the number of loops is determined in advance, those skilled in the art can easily conceive of processes such as stopping the loop process when the evaluation value of the trained inference model exceeds a certain value, or stopping the loop process after a certain time has elapsed.
[0047] Below, a specific example will be described in which the inference task learned by the inference model 132 is a classification task, the training dataset 121 is a supervised dataset, and the extracted parameters are vectors representing weights for each classification class.
[0048] The extraction parameter PA in Figure 4 is a specific example of an extraction parameter when the media data 201a of the training dataset 121 is a supervised dataset for an image classification task. The generation unit 102 first randomly selects classification classes with overlap, the same number as the mini-batch size variable 302. In this random selection, the generation unit 102 selects each classification class with a probability proportional to the weight of the extraction parameter PA. For example, the generation unit 102 selects the classification class "dog" with a probability of 0.2, "cat" with a probability of 0.1, "car" with a probability of 0.4, and "airplane" with a probability of 0.3.
[0049] Next, for each selected classification class, the generation unit 102 randomly selects one piece of training data from the training data having the classification class as the correct value (correct data) for inference, and outputs data including the same number of training data as the mini-batch size variable 302 as the mini-batch 131. The correct data can be obtained, for example, from the metadata 201b of the training data.
[0050] A specific example will be described when using the extraction parameter PA in Fig. 5. When the extraction parameter PA is a vector representing the weight (proportion) of the upper class of the classification class as in Fig. 5, the generation unit 102 selects each upper class with a probability given by the extraction parameter PA, selects training data that includes the upper class as correct data in the metadata 201b, and generates the selected training data as the mini-batch 131, in the same manner as above.
[0051] The above procedure is merely an example and is not limiting. Other procedures may be used so that the statistical distribution of the correct values of the inferences for the training data included in the mini-batch 131 is the same as the distribution of the proportions of each classification class given by the extraction parameter PA.
[0052] Although a specific example has been shown for a supervised dataset, even if the metadata 201b does not include the correct answer value for the inference task, the same procedure can be applied by setting the extraction parameter PA to data representing the weight of some attribute included in the metadata 201b. For example, instead of the proportion of each classification class, the extraction parameter may be set to the proportion of the country where the image was taken for images, the proportion of the age of the people who recorded it for audio, or the proportion of the original corpus collected for text. The extraction parameters shown in the specific example here that do not have a direct correlation with the correct answer for the inference task can of course also be used in supervised cases.
[0053] In this way, the information processing device of the first embodiment can use one mini-batch selected from the training dataset according to the extraction parameters for training an inference model. By appropriately setting the extraction parameters, it is possible to generate training data with different properties beyond statistical fluctuations.
[0054] (Second embodiment) In the second embodiment, multiple inference models 132 are trained using multiple mini-batches selected from one training dataset according to multiple extracted parameters.
[0055] 8 is a block diagram showing an example of the configuration of an information processing device 100-2 according to the second embodiment. As shown in FIG. 8, the information processing device 100-2 includes a storage unit 110-2, a setting unit 101, a generation unit 102-2, a learning unit 103-2, and an output control unit 104.
[0056] The second embodiment differs from the first embodiment in the data structure of the extracted parameters 123-2 stored in the memory unit 110-2, the fact that the memory unit 110-2 further stores inference model metadata 133-2, the functions of the generation unit 102-2, and the functions of the learning unit 103-2. The other configurations and functions are the same as those in Figure 1, which is a block diagram of the information processing device 100 of the first embodiment, so the same symbols are used and their explanations are omitted here.
[0057] The extraction parameters 123-2 of this embodiment include a plurality of extraction parameters. Fig. 9 is a diagram showing an example of the extraction parameters 123-2. The extraction parameters PA and PB in Fig. 9 are set to different proportions as the proportions at which each of a plurality of attributes is selected. By using a plurality of extraction parameters in this way, it is possible to generate training data (mini-batches) with various different properties and train a plurality of inference models 132 with different properties.
[0058] The inference model metadata 133-2 stores the extracted parameters used to generate the inference model 132 and information about the inference model 132 corresponding to the extracted parameters.
[0059] The generation unit 102-2 generates, from the training data set 121, a plurality of mini-batches including training data selected according to a plurality of extraction parameters (for example, extraction parameters PA and PB).
[0060] The learning unit 103-2 learns a plurality of inference models 132 using the learning data included in each of the plurality of mini-batches.
[0061] Next, a description will be given of a process for generating the inference model 132 by the information processing device 100-2 according to the second embodiment. Fig. 10 is a flowchart showing an example of the generation process according to the second embodiment.
[0062] The setting process in step S301 is the same as step S101 in the information processing device 100 of the first embodiment, and therefore a description thereof will be omitted.
[0063] The generating unit 102-2 selects an unprocessed extracted parameter from among the plurality of extracted parameters 123-2 (step S302).
[0064] The generation unit 102-2 and the learning unit 103-2 execute the generation and learning process using the selected extracted parameters (step S303). The flow of the generation and learning process is the same as that shown in FIG. 7. The trained inference models 132 are individually stored in the storage unit 110-2. In addition, data associating the trained inference models 132 with the extracted parameters is stored in the inference model metadata 133-2.
[0065] The generation unit 102-2 determines whether all extracted parameters have been processed (step S304). If not all extracted parameters have been processed (step S304: No), the process returns to step S302, where the next unprocessed extracted parameter is selected and the process continues. If all extracted parameters have been processed (step S304: Yes), the generation process ends.
[0066] In this way, in the information processing device of the second embodiment, multiple mini-batches selected from the training dataset according to multiple extracted parameters can be used for training multiple inference models.
[0067] (Third embodiment) The information processing device of the third embodiment learns an ensemble inference model from a plurality of inference models learned by the second embodiment.
[0068] 11 is a block diagram showing an example of the configuration of an information processing device 100-3 according to the third embodiment. As shown in FIG. 11, the information processing device 100-3 includes a storage unit 110-3, a setting unit 101, a generation unit 102-2, a learning unit 103-3, and an output control unit 104.
[0069] The third embodiment differs from the second embodiment in that the storage unit 110-3 further stores an ensemble parameter 125-3, an ensemble inference model 134-3, and ensemble inference model metadata 135-3, and in the function of the learning unit 103-3. The other configurations and functions are the same as those in Figure 8, which is a block diagram of the information processing device 100-2 of the second embodiment, so the same reference numerals are used and their description will be omitted here.
[0070] The ensemble parameters 125-3 are data describing one or more combinations of multiple extracted parameters, and are used to generate the ensemble inference model 134-3.
[0071] The ensemble inference model 134-3 is an inference model generated from multiple inference models, and one or more of them can be stored in the memory unit 110-3.
[0072] The ensemble inference model metadata 135-3 stores combinations of extracted parameters described in the ensemble parameters 125-3 that have been used to generate the ensemble inference model 134-3, and information about the corresponding ensemble inference model 134-3.
[0073] The learning unit 103-3 uses the training data contained in the multiple mini-batches generated by the generation unit 102-2 to learn multiple inference models, and further generates an ensemble inference model 134-3 that combines the multiple inference models.
[0074] Next, a description will be given of a generation process of the inference model 132 and the ensemble inference model 134-3 performed by the information processing device 100-3 according to the third embodiment. Fig. 12 is a flowchart showing an example of the generation process according to the third embodiment.
[0075] Steps S401 to S404 are the same as steps S301 to S304 in the information processing device 100-2 of the second embodiment, and therefore description thereof will be omitted.
[0076] The learning unit 103-3 selects unprocessed ensemble parameters (information indicating a combination of multiple extracted parameters) from the ensemble parameter set 125-3 (step S405). The learning unit 103-3 generates an ensemble inference model 134-3 using multiple inference models generated from the extracted parameters included in the selected combination of extracted parameters (step S406) and stores the ensemble inference model 134-3 individually in the storage unit 110-3. At this time, the ensemble inference model 134-3 and information indicating the combination of extracted parameters used are linked and stored in the ensemble inference model metadata 135-3.
[0077] The ensemble inference model 134-3 is a model that includes trainable parameters of multiple inference models. For example, if the inference task is a classification task and the inference model outputs a likelihood score for a classification class as an inference value, the ensemble inference model 134-3 is a model that includes multiple trained inference models, inputs the input media data 201a to each inference model, calculates the multiple output likelihood scores, and outputs the average value. Also, if the inference model outputs an output reliability score, the ensemble inference model 134-3 may be a model that outputs the model with the highest accuracy among the outputs of the inference models included therein. Also, in the same case, the ensemble inference model 134-3 may be a model that weights the accuracy reliability of the outputs of the inference models included therein and outputs the average.
[0078] The learning unit 103-3 determines whether all the ensemble parameters 125-3 have been processed (step S407). If all the ensemble parameters 125-3 have not been processed (step S407: No), the next unprocessed ensemble parameter 125-3 is selected and the processing continues. If all the ensemble parameters 125-3 have been processed (step S407: Yes), the generation processing ends.
[0079] In this way, the information processing device of the third embodiment can generate an ensemble inference model that includes multiple inference models.
[0080] (Fourth embodiment) The information processing device of the fourth embodiment performs transfer learning using a transfer learning dataset different from the training dataset 121, based on an inference model trained to provide suitable output for a specific inference task using the method of the second embodiment. Transfer learning is, for example, retraining a trained inference model for a new inference task, or retraining the same inference task so that it can provide suitable output for data with different properties. Furthermore, the fourth embodiment is described to also include a case where an ensemble model is retrained on the training dataset 121 to improve the performance of the ensemble model described in the third embodiment, by appropriately interpreting a transfer learning dataset 126-4 (described later) as the same as the training dataset 121.
[0081] 13 is a block diagram showing an example of the configuration of an information processing device 100-4 according to the fourth embodiment. As shown in FIG. 13, the information processing device 100-4 includes a storage unit 110-4, a setting unit 101, a generation unit 102-4, a learning unit 103-4, and an output control unit 104.
[0082] The fourth embodiment differs from the second embodiment in the data structure of the program control parameters 122-4 stored in the storage unit 110-4, the fact that the storage unit 110-4 further stores a transfer learning dataset 126-4, transfer learning parameters 127-4, a transfer destination inference model 136-4, and transfer destination inference model metadata 137-4, the function of the generation unit 102-4, and the function of the learning unit 103-4. The other configurations and functions are similar to those of the information processing device 100-2 of the second embodiment in FIG. 8, which is a block diagram of the information processing device 100-2, and therefore the same reference numerals are used and the description thereof will be omitted here.
[0083] 14 is a diagram showing an example of the program control parameters 122-4. As shown in FIG. 14, the program control parameters 122-4 further include a transfer learning mini-batch size variable 304-4 and a transfer learning loop count variable 305-4.
[0084] The transfer learning mini-batch size variable 304 is a variable that determines the number of learning data items stored in the mini-batch 131 used in transfer learning. The transfer learning loop count variable 305-4 is a variable that manages the number of iterations of the iterative process in transfer learning.
[0085] 13, the transfer learning dataset 126-4 is data composed of multiple transfer learning data with the same configuration as the training dataset 121. Each training data in the transfer learning dataset 126-4 is composed of, for example, a combination of transfer learning media data and transfer learning metadata, and is used to generate the transfer-destination inference model 136-4.
[0086] The transfer learning parameters 127-4 are information that indicates one or more inference models 132 to be used to generate the transfer-destination inference model 136-4 from among the inference models 132 stored in the storage unit 110-4. Note that if only one inference model 132 is used to generate the transfer-destination inference model 136-4, the present embodiment may be configured to perform transfer learning on the first embodiment that generates one inference model.
[0087] The destination inference model 136-4 is the inference model 132 or the ensemble inference model 134-3 that has been retrained to obtain a suitable output for a new inference task using the transfer learning dataset 126-4. The destination inference model 136-4 can also be interpreted as an inference model that can output an inference value that is the correct answer for a new inference task using the transfer learning dataset 126-4.
[0088] The transfer destination inference model metadata 137-4 stores information on the inference models 132 that have been used to generate the transfer destination inference model 136-4, among the inference models 132 described in the transfer learning parameters 127-4, and the corresponding transfer destination inference model 136-4.
[0089] The generation unit 102-4 further generates a mini-batch for transfer learning from the transfer learning dataset 126-4, the mini-batch including a plurality of pieces of training data selected according to the extraction parameters.
[0090] The learning unit 103-4 further performs transfer learning to generate a destination inference model (an example of a destination model) using one or more inference models 132 as source models using a mini-batch for transfer learning.
[0091] Next, a description will be given of a generation process of an inference model and a transfer destination inference model by the information processing device 100-4 of the fourth embodiment. Fig. 15 is a flowchart showing an example of the generation process in the fourth embodiment.
[0092] Steps S501 to S504 are the same as steps S301 to S304 in the information processing device 100-2 of the second embodiment, and therefore description thereof will be omitted.
[0093] The learning unit 103-4 sets the inference model 132 entered as an unprocessed parameter among the transfer learning parameters 127-4 as a transfer-source model (step S505). The learning unit 103-4 generates a transfer-destination inference model 136-4 from the inference model 132 set as the transfer-source model and stores it individually in the storage unit 110-4 (step S506). At this time, the stored transfer-destination inference model 136-4 and information (such as the transfer-source model) of the transfer learning parameters 127-4 used to generate the transfer-destination inference model 136-4 are linked and stored in the transfer-destination inference model metadata 137-4.
[0094] The learning unit 103-4 determines whether all transfer learning parameters 127-4 have been processed (step S507). If all transfer learning parameters 127-4 have not been processed (step S507: No), the process returns to step S505, and the process is repeated for the next unprocessed transfer learning parameter 127-4. If all transfer learning parameters 127-4 have been processed (step S507: Yes), the generation process ends.
[0095] Next, the details of the learning process of the transfer destination inference model in step S506 will be described below. Fig. 16 is a flowchart showing an example of the learning process of the transfer destination inference model.
[0096] The learning unit 103-4 executes initialization processing (step S601). The initialization processing includes, for example, initialization of the transfer learning loop count variable 305-4 and processing for updating some of the parameters of the transfer destination inference model 136-4. The processing for updating some of the parameters of the transfer destination inference model 136-4 is, for example, processing for updating some of the parameters of the transfer destination inference model 136-4 to the corresponding parameters of the inference model 132 set as the transfer source model. For example, if the inference model 132 and the transfer destination inference model 136-4 are deep learning models, the learning unit 103-4 copies the parameters of the common layer from the inference model 132 to the transfer destination inference model 136-4.
[0097] The generation unit 102-4 generates mini-batches to be used for transfer learning (step S602) by a process similar to the process of generating mini-batches to be used for training the inference model 132 (step S202 in FIG. 7). For example, the generation unit 102-4 samples from the transfer learning dataset 126-4 instead of the training dataset 121 by the number stored in the transfer learning mini-batch size variable 304 instead of the mini-batch size variable 302, and generates the mini-batch 131.
[0098] The learning unit 103-4 uses the generated mini-batches to learn the transfer destination learning model (step S603). The learning unit 103-4 learns the transfer destination inference model 136-4, for example, by processing similar to the learning processing of the inference model 132. At this time, the learning unit 103-4 may perform learning using freezing to prevent some of the learnable parameters of the transfer destination inference model 136-4 from being updated, and fine tuning to keep the learning rate of some of the learnable parameters low.
[0099] Next, the learning unit 103-4 increments the number of loops stored in the loop count variable 301 by one (step S604). The learning unit 103-4 determines whether the value of the loop count variable 301 has reached the specified number set in the transfer learning loop count variable 305-4 (step S605). If the value of the loop count variable 301 has not reached the specified value (step S605: No), the process returns to step S602 and is repeated. If the value of the loop count variable 301 has reached the specified value (step S605: Yes), the learning process of the transfer destination inference model ends.
[0100] So far, we have described a case where the transfer destination inference model 136-4 is generated from a single trained inference model 132. The transfer destination inference model 136-4 may be in the form of an ensemble inference model 134-3. For example, the transfer destination inference model 136-4 may include multiple inference models 132, and the output value of one inference model 132, or in the case of a deep learning model, the intermediate layer feature of that inference model 132, may be used as input to the subsequent inference model 132. Furthermore, the transfer destination inference model 136-4 may have a gating mechanism, such as that used in an MoE (Mixture of Experts) model, that determines which output value or intermediate layer feature from which inference model 132 to use based on the input. When the transfer destination inference model 136-4 is in the form of an ensemble inference model 134-3, a combination of inference models, rather than an inference model, is entered in the transfer learning parameter 127-4.
[0101] In this way, in the information processing device of the fourth embodiment, the transfer destination inference model 136-4 can be generated by transfer learning using a trained inference model.
[0102] (Fifth embodiment) In the fourth embodiment, a preset transfer learning parameter 127-4 is used. The information processing device of the fifth embodiment generates the transfer learning parameter 127-4 by using the inference model metadata 133-2 and the transfer learning dataset 126-4.
[0103] 17 is a block diagram showing an example of the configuration of an information processing device 100-5 according to the fifth embodiment. As shown in FIG. 17, the information processing device 100-5 includes a storage unit 110-4, a setting unit 101, a generation unit 102-4, a learning unit 103-5, and an output control unit 104.
[0104] In the fifth embodiment, the function of the learning unit 103-5 is different from that in the fourth embodiment. The other configurations and functions are the same as those in FIG. 13, which is a block diagram of the information processing device 100-4 in the fourth embodiment, so the same reference numerals are used and the description here is omitted.
[0105] The learning unit 103-5 selects, from the one or more extracted parameters, one or more extracted parameters that are similar to a plurality of transfer learning data (transfer learning dataset 126-4) used for transfer learning, and generates transfer learning parameters 127-4 by entering an inference model 132 trained using learning data included in a mini-batch generated using the selected extracted parameters as the inference model 132 to be used for transfer learning. The learning unit 103-5 performs transfer learning using the transfer learning parameters 127-4 generated in this way.
[0106] Next, a description will be given of a generation process of an inference model and a transfer destination inference model by the information processing device 100-5 of the fifth embodiment. Fig. 18 is a flowchart showing an example of the generation process in the fifth embodiment.
[0107] Steps S701 to S704 and steps S706 to S708 are similar to steps S501 to S504 and steps S505 to S507 in information processing device 100-4 of the fourth embodiment, and therefore description thereof will be omitted.
[0108] In this way, step S705 for generating transfer learning parameters is added to the flowchart of the generation process of the fourth embodiment. The generation of transfer learning parameters can also be interpreted as a process for limiting the combinations of inference models 132 to be re-trained.
[0109] Below, we will explain a specific example in which the inference task that inference model 132 learns is to infer which of multiple classification classes media data 201a belongs to, the training dataset 121 is a supervised dataset, the destination inference model 136-4 also performs a similar task with another dataset, and the extracted parameters are vectors representing the weights (proportions) of each classification class.
[0110] Consider a case where the extracted parameters PA and the trained inference models MA and MB generated from the extracted parameters PB are stored in the storage unit 110-4 as shown in Figure 9. Furthermore, assume that the transfer learning dataset 126-4 has the same classification labels as the extracted parameters, and has samples with each classification class as the correct value for the inference task, with the number of samples shown in Figure 19.
[0111] At this time, the learning unit 103-5 calculates a vector that calculates the ratio of the number of samples in the transfer learning dataset 126-4 included in each classification class, and calculates the distribution closeness with each extracted parameter using, for example, least square error, cross entropy, etc. The distribution closeness is an example of an index for selecting extracted parameters similar to the transfer learning data.
[0112] Then, the learning unit 103-5 selects a predetermined number of extracted parameters in order of their distribution closest to the ratio of the number of samples in the transfer learning dataset 126-4, and enters an inference model generated from the selected extracted parameters into the transfer learning parameters 127-4. For example, in a configuration in which one extracted parameter with the closest distribution is selected, the learning unit 103-5 enters an inference model MA generated from the extracted parameter PA into the transfer learning parameters 127-4.
[0113] Furthermore, even if the classification class of the classification task for the transfer learning dataset 126-4 is different from that of the training dataset 121, if the superclass of each classification class is the same, similar processing can be achieved by using the number of samples in the superclass. FIG. 20 is a diagram showing an example of the number of samples in the superclass in this case. For example, the learning unit 103-5 selects a predetermined number of extraction parameters in order of their distribution in relation to the ratio of the number of samples in the superclass of the transfer learning dataset 126-4, and enters an inference model generated from the selected extraction parameters into the transfer learning parameters 127-4. In the specific examples described so far, the inference model to be entered into the transfer learning parameters 127-4 is selected based on the distribution of extraction parameters related to attributes that are directly correlated with the classification classes, such as classification classes and superclasses. However, it is also possible to use extraction parameters that utilize attributes that are not directly related to the classification classes, such as the proportion of countries where images were taken, the proportion of the ages of the people who recorded audio, or the proportion of the original corpus collected for text.
[0114] If the transfer destination inference model 136-4 is the ensemble inference model 134-3, a similar process can be used to enter a predetermined number of combinations of inference models 132 generated from extraction parameters close to the ratio of the number of samples in the transfer learning dataset 126-4 into the transfer learning parameter 127-4. Alternatively, as an alternative method, by ensembling an inference model 132 generated from extraction parameters close to the ratio of the number of samples and an inference model 132 generated from extraction parameters distant from the ratio of the number of samples, a predetermined number of combinations of complementary models with different properties can be entered into the transfer learning parameter 127-4.
[0115] In the fourth and fifth embodiments, the process of generating the inference model 132 (steps S501 to S504, steps S701 to S704) and the subsequent processes do not have to be executed consecutively. Furthermore, these two processes may be executed by different information processing devices that inherit the necessary data.
[0116] In this way, in the information processing device of the fifth embodiment, the inference model 132 corresponding to the extracted parameters similar to the transfer learning dataset 126-4 can be used for transfer learning.
[0117] As described above, according to the first to fifth embodiments, data with different properties beyond statistical fluctuations can be generated as training data for an inference model without preparing multiple data sets.
[0118] In each embodiment, an inference model with desired properties can be trained using training data generated based on extraction parameters that specify the properties of the training data, which makes it possible to prepare an inference model that may be effective for datasets other than the training dataset 121 used for training.
[0119] For example, in a service that generates and provides trained inference models trained to meet customer needs, if there are few trained models, the customer may not necessarily have a pre-trained model suitable for the training dataset they wish to evaluate. By using the method of this embodiment, it is possible to find an appropriate inference model from among multiple inference models (second to fifth embodiments). Furthermore, by generating an ensemble inference model of inference models with different properties, it is possible to create an inference model with high performance (third embodiment). Furthermore, by linking extracted parameters that represent the properties of the training dataset during training to the inference model, it becomes easier to find an appropriate model from among the countless trained models.
[0120] Next, a description will be given of the hardware configuration of the information processing device 100 of the above embodiment. Fig. 21 is a block diagram showing an example of the hardware configuration of the information processing device 100 of the above embodiment.
[0121] The information processing device 100 of the above embodiment has a hardware configuration that utilizes a conventional computer, in which a display unit 91, a communication I / F unit 93, an input unit 94, a CPU 86, a ROM (Read Only Memory) 88, a RAM 90, and an HDD 92 are interconnected via a bus 96.
[0122] The CPU 86 is a computing device that controls each process of the information processing device 100 of the above embodiment. Instead of the CPU 86, or together with the CPU 86, a GPU may be used as a computing device.
[0123] The RAM 90 stores data necessary for various processes performed by the CPU 86. The ROM 88 stores programs and the like that implement various processes performed by the CPU 86. The HDD 92 is a storage device that stores data, and corresponds to, for example, the storage unit 110 described above. Instead of the HDD 92, or together with the HDD 92, a non-volatile memory such as an SSD (Solid State Drive) may be used.
[0124] The communication I / F unit 93 is an interface that connects to external devices and external terminals via communication lines or the like and transmits and receives data between the connected external devices and external terminals. The display unit 91 is a display device that displays information. The input unit 94 is a keyboard, mouse, etc. that accepts operation instructions from the user.
[0125] The programs for executing the various processes executed by the information processing device 100 of the embodiment are provided in advance in the ROM 88 or the like.
[0126] The program executed by the information processing device 100 of the above embodiment may be configured to be provided as a computer program product by being recorded on a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, or a DVD (Digital Versatile Disk) in a format that can be installed on these devices or in a format that can be executed.
[0127] The programs executed by the information processing device 100 of the above embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. The programs for executing the above processes in the information processing device 100 of the above embodiment may be provided or distributed via a network such as the Internet.
[0128] The programs for executing the various processes executed by the information processing device 100 of the above embodiment are generated in the main storage device by the above-mentioned units.
[0129] The various information stored in the HDD 92 may be stored in an external device. In this case, the external device and the CPU 86 may be connected via a network or the like.
[0130] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0131] 100, 100-2, 100-3, 100-4, 100-5 Information processing device 101 Setting section 102, 102-2, 102-4 generation section 103, 103-2, 103-3, 103-4, 103-5 Learning Department 104 Output control section 110, 110-2, 110-3, 110-4 Storage section 121 training dataset 122, 122-4 Program control parameters 123, 123-2 Extraction parameters 124 Configuration Files 125-3 Ensemble parameters 126-4 Transfer Learning Dataset 127-4 Transfer learning parameters 131 mini batches 132 Inference Model 133-2 Inference Model Metadata 134-3 Ensemble inference model 135-3 Ensemble Inference Model Metadata 136-4 Destination inference model 137-4 Destination inference model metadata
Claims
1. Computer, a generation unit that generates one or more mini-batches corresponding to one or more extraction parameters, each mini-batching including a portion of a plurality of training data selected from a plurality of training data, each having any of a plurality of attributes, according to one or more extraction parameters that specify properties of the selected training data; a learning unit that learns one or more inference models using the learning data included in one or more of the mini-batches; the generation unit generates a plurality of the mini-batches corresponding to the plurality of extracted parameters, the learning unit learns a plurality of the inference models using the learning data included in a plurality of the mini-batches, and generates an ensemble inference model that combines the plurality of the inference models. program.
2. The extraction parameter represents a ratio of selecting each of the plurality of attributes. The program according to claim 1.
3. the plurality of attributes are a plurality of classes to which the plurality of training data belong; The extraction parameter represents a ratio of selecting each of the plurality of classes. The program according to claim 2.
4. the plurality of attributes are a plurality of classes to which the plurality of training data belong; The extraction parameter represents a ratio of selecting each of a plurality of higher-order classes obtained by superimposing the plurality of classes. The program according to claim 2.
5. The learning unit performs transfer learning to generate a destination model using one or more of the inference models as a source model. The program according to claim 1.
6. the learning unit selects, from the one or more extracted parameters, one or more extracted parameters that are similar to a plurality of transfer learning data used in the transfer learning, and performs the transfer learning using the inference model trained using the learning data included in a mini-batch generated using the selected extracted parameters as the transfer source model. The program according to claim 5.
7. The inference model is a deep neural network model or a random forest. The program according to claim 1.
8. a generation unit that generates one or more mini-batches corresponding to one or more extraction parameters, each mini-batching including a portion of a plurality of training data selected from a plurality of training data, each having any of a plurality of attributes, according to one or more extraction parameters that specify properties of the selected training data; a learning unit that learns one or more inference models using the learning data included in one or more of the mini-batches; the generation unit generates a plurality of the mini-batches corresponding to the plurality of extracted parameters, the learning unit learns a plurality of the inference models using the learning data included in a plurality of the mini-batches, and generates an ensemble inference model that combines the plurality of the inference models. Information processing device.
9. An information processing method executed by an information processing device, a generation step of generating one or more mini-batches corresponding to one or more extraction parameters, each mini-batching including a portion of a plurality of training data selected from a plurality of training data, each having any of a plurality of attributes, according to one or more extraction parameters that specify properties of the selected training data; a training step of training one or more inference models using the training data included in one or more of the mini-batches; the generating step generates a plurality of the mini-batches corresponding to a plurality of the extracted parameters, The learning step includes learning a plurality of the inference models using the learning data included in a plurality of the mini-batches, and generating an ensemble inference model that combines the plurality of the inference models. Information processing methods.
Citation Information
Patent Citations
Learning device, learning method and program
JP2019185121A
Computer system and information processing method
JP2022045064A