The present disclosure relates to a machine learning data generation method, a meta-learning method, a machine learning data generation apparatus, and a program.
Building a machine learning model involves training using a large volume of training data. When an insufficient volume of training data is available, data augmentation is performed to increase the data volume. Data augmentation is a technique for changing raw training data and generating various sets of data using a limited volume of raw training data.
Data augmentation is an effective technique in the field of meta-learning, which is learning of a learning process in machine learning. For example, Patent Literature 1 describes a method for training a meta-learning network.
For generalization learning that uses data in many domains to improve generalization performance, obtaining new data can be costly. Although the number of domains for learning may be increased in a pseudo manner, simply increasing the domain data may generate data that includes changed portions that are actually to be unchanged from the raw data. This may cause overfitting or cause difficulty in optimization in learning, thus failing to improve the generalization performance.
In such circumstances, one or more aspects of the present disclosure are directed to a method for generating training data that improves the generalization performance of a learning model.
In response to the above issue, a technique according to one or more aspects of the present disclosure provides the structures described below.
A machine learning data generation method according to an aspect of the present disclosure is a data generation method for generating data for domain generalization in machine learning. The method includes performing, with a computer, augmentation using training data as raw data usable to train a machine learning model, and extracting, with the computer, a dataset including the raw data and data generated through the data augmentation as a dataset for the domain generalization.
The above structure generates new data for generalization learning without being costly, and improves the generalization performance in generalization learning. A domain herein is a dataset obtained in a specific environment. Examples of machine learning include supervised learning, unsupervised learning, and reinforced learning. In supervised learning, a dataset is a set of data including pairs of data and labels. In unsupervised learning, a dataset is a set of data. In reinforced learning, a dataset represents the state of a space (environment) containing an agent. Domain generalization is a technique for building, using a set of training data extracted from multiple distributions, a machine learning model that is robust against domain shifts that occur from distributions of unknown domains. A domain shift herein refers to a difference in distribution between a set of training data and a set of testing data. A set of training data refers to a set of data used for training a machine learning model. A set of testing data refers to a set of data used for verifying (testing) a machine learning model.
The raw data and the data generated through the data augmentation may be stored as domains of data. The extracting may include extracting, as the dataset for the domain generalization, at least one domain of the raw data and at least one domain of the data generated through the data augmentation. This allows extracted domains for learning to include both a domain of raw data and a domain of generated data, thus preventing overfitting that may be caused by training data either being raw data alone or being generated data alone.
The raw data may include a target portion and a non-target portion. The augmentation may include performing data augmentation to change the non-target portion included in the raw data. This allows the non-target portion to be changed as appropriate, without changing the target portion that is to be unchanged before and after data augmentation. A target portion refers to a portion that directly affects a learning target (task) to be learned through machine learning and is a portion to be targeted by the task. A non-target portion refers to a portion that does not affect a task and mainly corresponds to an environment (e.g., a background or brightness) for which data is to be obtained.
In supervised learning, a target portion refers to a portion that affects the relationship between data and labels. An example target portion refers to information about a target to be recognized. A target is to undergo determination for use in machine learning. Examples of the target include an object to be recognized in image recognition (e.g., a vehicle in vehicle recognition), voice data excluding noise and ambient sound in voice recognition, and text in knowledge extraction. Examples of the non-target portion in supervised learning include an environment (e.g., a background or brightness) containing a target.
In unsupervised learning, a target portion refers to a portion that affects the relationship between data and features to be obtained from the data, and is information about, for example, a portion corresponding to a target to be clustered. Similarly to a target in supervised learning, a target in unsupervised learning is to undergo determination for use in machine learning. Examples of a non-target portion in unsupervised learning include an environment (e.g., a background or brightness) containing a target.
In reinforced learning, a target portion is information about a part of an environment containing an agent that affects rewarding (task completion) in the environment containing the agent. For a task of gripping an object with a robot, for example, a target portion is information about a target and information about factors that affect gripping of the target (e.g., tilting of a surface on which the target is placed or friction on the surface). A non-target portion in reinforced learning is information about a portion that does not affect rewarding. Examples of the non-target portion include the color of a surface on which the target is placed or the brightness on the surface.
The raw data may include image data. The target portion may include an image of a target. The augmentation may include performing data augmentation to change at least one of an environment of the target or an imaging condition for the target in an image included in the raw data. This allows generation of various sets of training data usable for generalization learning in training a learning model for image recognition.
The augmentation may include performing data augmentation to change the environment of the target by changing at least one of a brightness, a background, or a color tone of the image included in the raw data. This allows generation of various sets of training data simulating changes in environments for imaging, such as time and weather.
The augmentation may include performing data augmentation to change the imaging condition for the target by performing at least one of rotating, inverting, enlarging, reducing, moving, trimming, or filtering of the image included in the raw data. This allows generation of various sets of training data simulating different imaging conditions.
The raw data may include voice data. The target portion may include a specific voice. The augmentation may include performing data augmentation to change an ambient sound or noise included in the voice data included in the raw data. This allows generation of various sets of training data usable for generalization learning in training a learning model for voice recognition. The augmentation may include performing data augmentation to add an ambient sound to the voice data included in the raw data. This allows generation of various sets of training data simulating different sites at which voice data is obtained.
The raw data may include signal data. The target portion may include a specific signal pattern. The augmentation may include performing data augmentation to change noise in the signal data included in the raw data. This allows generation of various sets of training data usable for generalization learning in training a learning model for, for example, signal analysis.
The augmentation may include performing data augmentation to add noise to the signal data included in the raw data. This allows generation of various sets of training data simulating different sites at which signal data is obtained.
The raw data may include text data. The target portion may include a specific text pattern. The augmentation may include performing data augmentation to change a wording of the text data included in the raw data. This allows generation of various sets of training data usable for generalization learning in training a learning model for, for example, knowledge extraction.
The augmentation may include performing data augmentation to change at least one of a beginning or an ending of the text data included in the raw data. This allows generation of various sets of training data simulating different wordings.
The raw data may include data associated with a state of an environment containing an agent in reinforced learning. The target portion may include information about a portion affecting rewarding. The augmentation may include performing data augmentation to change a condition of a portion of the raw data not affecting the rewarding in the state of the environment. This allows generation of various sets of training data usable for generalization learning in training a reinforced learning model.
The extracting may include extracting the dataset to include a predetermined ratio of a domain of the raw data and a domain of the data generated through the data augmentation. This allows extracted domains for learning to include both a domain of raw data and a domain of generated data, thus preventing over—fitting that may be caused by training data either being raw data alone or being generated data alone. The predetermined ratio may be specified by a user or prestored as a parameter.
A meta-learning method according to an aspect of the present disclosure includes performing domain generalization through meta-learning using a dataset for the domain generalization generated with the above machine learning data generation method.
The above structure extracts a dataset including both raw data and data generated through augmentation in the learning process (learning loop), and performs meta-learning using the extracted dataset. This prevents over—fitting and improves the performance of domain generalization through meta-learning.
The domain generalization through meta-learning may include performing domain generalization through meta-learning using a plurality of datasets each including at least one domain of the raw data and at least one domain of the data generated through the data augmentation. This allows meta-learning to use a dataset including both the raw data and the data generated through data augmentation, prevents overfitting, and improves the performance of domain generalization through meta-learning.
A domain generalization learning method according to an aspect of the present disclosure includes performing domain generalization learning using a dataset for domain generalization generated with the above machine learning data generation method.
This structure extracts a dataset including both raw data and data generated through augmentation in an early stage of domain generalization learning, and performs domain generalization learning using the extracted dataset. This prevents overfitting and improves the generalization performance in domain generalization learning.
A machine learning data generation apparatus according to an aspect of the present disclosure is a data generation apparatus for generating data for domain generalization in machine learning. The machine learning data generation apparatus includes a data generator that performs data augmentation using training data as raw data usable to train a machine learning model, and a training data extractor that extracts, as a dataset for the domain generalization, a dataset including the raw data and data generated through the data augmentation.
The above structure generates new data for generalization learning without being costly, and improves the generalization performance in generalization learning.
A program according to an aspect of the present disclosure is a program stored on a non-transitory computer-readable storage medium containing executable program instructions for causing a computer to generate data for domain generalization in machine learning, wherein execution of the program instructions cause the computer to function as a data generator that performs data augmentation using training data as raw data usable to train a machine learning model and a training data extractor that extracts, as a dataset for the domain generalization, a dataset including the raw data and data generated through the data augmentation. The above structure generates new data for generalization learning without being costly, and improves the generalization performance in generalization learning.
The training data generation method according to the above aspects of the present disclosure improves the generalization performance of a learning model.
One or more embodiments of the present disclosure (hereafter, the present embodiment) will now be described with reference to the drawings. The embodiments described below are mere examples of the present disclosure in all aspects. The embodiments may be variously modified or altered without departing from the scope of the present disclosure. More specifically, the present disclosure may be implemented as appropriate using the configuration specific to each embodiment. Although data used in the present embodiment is described in a natural language, such data may be specifically defined using any computer-readable language, such as a pseudo language, commands, parameters, or a machine language.
An example use of a structure according to one embodiment of the present disclosure will be described with reference to
In the learning process, a predetermined number of datasets are extracted to include a domain of original data and a domain of generated data. The extracted datasets are then used as training datasets in meta-learning. For example, the original data is used to extract data at rainfall and data at nighttime, whereas the generated data is used to extract data at snowfall and data at daytime. The extracted datasets in these domains are then used as training datasets in meta-learning.
The raw data and the generated data have predetermined structures for meta-learning.
An example hardware configuration of the machine learning data generation apparatus 10 according to the present embodiment will now be described with reference to
The machine learning data generation apparatus 10 is a computer system including, as its hardware resource, a processor 11, a main memory 12, a camera interface 13, an input-output interface 14, a display interface 15, a communication interface 16, and a storage 17.
The storage 17 is a computer-readable recording medium, such as a disk medium (e.g., a magnetic recording medium or a magneto-optical recording medium), or a semiconductor memory (e.g., a volatile memory or a nonvolatile memory). Such a recording medium may be referred to as, for example, a non-transitory recording medium. The storage 17 stores a generalization learning program 20. The generalization learning program 20 is a computer program for causing the processor 11 to implement a meta-learning method according to the present embodiment. The generalization learning program 20 is loaded from the storage 17 into the main memory 12 and interpreted and executed by the processor 11 to implement the meta-learning method according to the present embodiment.
A camera 51 is connected to the camera interface 13. The camera 51 may include, for example, an image sensor that captures color images. The camera 51 may be incorporated in the machine learning data generation apparatus 10 or may be externally connected to the machine learning data generation apparatus 10. The images captured with the camera 51 are stored as original data in an original-data storage 31 included in the storage 17.
An input device 52 and an output device 53 are connected to the input-output interface 14. The input device 52 is, for example, a keyboard, a mouse, or a touchpad. The output device 53 outputs various processing results or other information. The output device 53 is, for example, a printer.
A display 54 is connected to the display interface 15. The display 54 includes a user interface for receiving instructions from a user, and displays raw data used in data augmentation and generated data resulting from the data augmentation.
The machine learning data generation apparatus 10 according to the embodiment of the present disclosure includes example functional components that will now be described with reference to
The storage 17 includes the original-data storage 31 and a generated-data storage 32. The original-data storage 31 stores raw data captured with, for example, the camera 51 to undergo data augmentation. The generated-data storage 32 stores data generated through data augmentation.
A method for generating machine learning data with the machine learning data generation apparatus 10 according to the present embodiment will now be described with reference to
In step S101, raw data for each domain is stored into the original-data storage 31 in the machine learning data generation apparatus 10. The raw data is, for example, a set of training data prepared by annotating image data captured at point A as shown in
The machine learning data generation apparatus 10 may obtain, through a communication line, images captured with the camera installed at point A, or may copy image data stored in an external storage device into the storage 17 in the machine learning data generation apparatus 10.
In step S102, the machine learning data generation apparatus 10 receives information about an operation of data augmentation. The information about an operation of data augmentation may be input by the user with, for example, the input device 52. As shown in, for example,
In step S103, the data generator 21 in the machine learning data generation apparatus 10 performs data augmentation on the raw data with the specified operation. For example, the data generator 21 may horizontally invert each image stored in the original-data storage 31.
In step S104, the data generator 21 in the machine learning data generation apparatus 10 stores image data generated through data augmentation into the generated-data storage 32. As shown in
In step S105, the machine learning data generation apparatus 10 performs generalization learning in meta-learning performed by the learning unit 23. In step S105, the processing in steps S1051 to S1055 is repeated the number of times the learning process is performed. A specific method of learning may be, for example, meta-learning for domain generalization (MLDG) (Reference 1), but may be any generalization learning method used in meta-learning.
In step S1051, the training data extractor 22 first extracts, from the storage 17, multiple domains including both a domain of raw data stored in the original-data storage 31 and a domain of generated data stored in the generated-data storage 32. The training data extractor 22 extracts, based on a parameter defined for extracting domains, domains of raw data and domains of generated data at a predetermined ratio. The parameter for domain extraction may be a value specified every time with the input device 52, or may be prestored in a domain extraction parameter definition table in the storage 17.
In step S1052, the training data extractor 22 sorts the multiple domains extracted in step S1051 into a dataset 1 (training domains) and a dataset 2 (verification domains). In step S1053, the learning unit 23 calculates a loss (loss 1) being a difference between a true label and a predicted label for the dataset 1, and temporarily updates the network parameter (machine learning parameter).
In step S1054, the learning unit 23 calculates a loss (loss 2) for the dataset 2 using the network parameter updated in step S1053 as an initial value.
In step S1055, the learning unit 23 updates the network parameter to minimize the weighted sum of the loss 1 and the loss 2. The processing in steps S1051 to S1055 is repeated the number of times the learning process is performed to optimize the network parameter.
With a domain generalization learning method such as a multi-task adversarial network (MTAN) (Reference 2), as shown in the flowchart in
Another example machine learning data generation method according to the embodiment of the present disclosure will now be described with reference to the flowchart in
In step S201, raw data for each domain is stored into the original-data storage 31, as in step S101 in
In step S202, information about an operation of data augmentation is received as in step S102 in
In steps S203 and S204, the data generator 21 sequentially performs data augmentation with n specified operations to generate data. More specifically, the first operation (e.g., inversion) of data augmentation is performed first, and the generated data is stored. The generated data resulting from the inversion then undergoes the second operation (e.g., enlargement) of data augmentation, and the generated data is stored. The generated data then undergoes subsequent operations up to the n-th operation of data augmentation, and the generated data resulting from the n-th operation is stored as final generated data for each domain into the generated-data storage 32.
In step S205, the machine learning data generation apparatus 10 performs generalization learning in meta-learning performed by the learning unit 23. In step S205, the same processing as in steps S1051 to S1055 in
The raw data includes portions to be unchanged before and after data augmentation (target portions), and also includes portions to be extended and modified through data augmentation (non-target portions). In the examples of
Example operations for augmenting image data include, for example, rotating, inverting, enlarging, reducing, moving, trimming, and filtering of an image included in raw data, changing the brightness of the image included in the raw data (to increase variations of weather and a time period), changing the background, and changing the color tones (to increase variations of weather and a time period).
Data augmentation may include augmenting the same raw data with different extensions to generate data in different domains. As shown in
An example method for extracting datasets in steps S1051 to S1055 in
In the example shown in
The parameter, such as the ratio for extracting domains or the number of domains to be extracted, may remain constant over repeated learning processes, rather than being changed at the end of each learning process. The parameter for extracting domains is not limited to the above example. For example, the parameter for extracting domains may be the number of domains of raw data to be extracted, in place of the ratio of raw data to be extracted.
Although the training data in the above embodiment is image data, the training data may be other than image data.
For the data type being an image (e.g., training data for an image recognition model), for example, the target may be a specific object (e.g., a vehicle for vehicle recognition and a face for face recognition). Examples of a change target for this data type and of augmentation include changing the imaging time by changing the image brightness, changing between an indoor setting and an outdoor setting by replacing the background, changing a season or a landscape by changing the colors, expressing a change in the lens fog, noise, or the focus of the lens by filtering, changing the camera tilt by rotating the image, and changing the imaging position by moving, enlarging, or reducing the image.
For the data type being a voice (e.g., training data for a voice recognition model), the target is a specific voice (e.g., a human voice). Examples of a change target for this data type and of augmentation include synthesizing ambient sound (e.g., sound from a traveling vehicle or sound from an operating machine) and adding the sound.
For the data type being a sound or a signal (e.g., training data for an abnormality detection model), the target may be a specific waveform pattern (e.g., an abnormal sound). Examples of a change target for this data type and of augmentation include adding ambient sound (e.g., sound from an operating machine), vibration, or noise from a microphone or from a sensor by using a synthesized signal.
For the data type being a text (e.g., training data for a model for knowledge extraction or summary generation), the target may be a specific text (e.g., a review article). Examples of a change target for this data type and of augmentation include changing the tone by replacing the ending of a sentence with another element (e.g., an interjection or a symbol).
In the example shown in
In reinforced learning, the raw data includes a target portion that affects rewarding, and a non-target portion serving as a data obtainment environment that does not affect rewarding. More specifically, the target portion includes, in addition to, for example, an object directly used in the task, an element that affects rewarding (e.g., the material or the angle of the floor on which the object to be gripped with the robotic arm is located). The non-target portion includes, for example, the brightness in the room or the color of the floor.
In EQA, a target (vehicle in this example) in the raw data to be viewed to answer the question, as well as an element (e.g., the angle of the floor surface, friction, or another factor) that affects a path to the destination and also affects the movement of the agent, affects rewarding and thus serves as a target portion. In contrast, the brightness or the color in the space serves as a non-target portion. The data thus undergoes data augmentation that increases the brightness (e.g., time) and the color in the space (e.g., the color of a wall) to generate datasets including data extended with these conditions.
In the present embodiment, as described above, data augmentation is performed using the training data for meta-learning as raw data to extract datasets including both raw data and data generated through data augmentation as datasets to be used in meta-learning. This generates training data that prevents overfitting and improves the generalization performance of meta-learning.
The raw data then includes the target portion unchanged and the non-target portion changed through data augmentation. This allows generation of various sets of training data usable for generalization learning without changing portions to be unchanged before and after data augmentation.
The embodiments of the present disclosure described in detail above are mere examples of the present disclosure in all respects. The embodiments may be variously modified or altered without departing from the scope of the present disclosure. The above embodiments may be partially or entirely expressed in, but not limited to, the following forms.
A machine learning data generation method for generating data for domain generalization in machine learning, the method comprising:
The machine learning data generation method according to appendix 1, wherein
The machine learning data generation method according to appendix 1 or appendix 2, wherein
The machine learning data generation method according to appendix 3, wherein
The machine learning data generation method according to appendix 4, wherein
The machine learning data generation method according to appendix 4, wherein
The machine learning data generation method according to appendix 3, wherein
The machine learning data generation method according to appendix 7, wherein
The machine learning data generation method according to appendix 3, wherein
The machine learning data generation method according to appendix 9, wherein
The machine learning data generation method according to appendix 3, wherein
The machine learning data generation method according to appendix 11, wherein
The machine learning data generation method according to appendix 2, wherein
The machine learning data generation method according to appendix 3, wherein
A meta-learning method, comprising:
The meta-learning method according to appendix 15, wherein
A domain generalization learning method, comprising:
A machine learning data generation apparatus (10) for generating data for domain generalization in machine learning, the apparatus (10) comprising:
A program for causing a computer (10) to generate data for domain generalization in machine learning to function as:
The various embodiments described above can be combined to provide further embodiments. All of the patents, applications, and publications referred to in this specification and/or listed in the Application Data Sheet are incorporated herein by reference, in their entirety. Aspects of the embodiments can be modified, if necessary to employ concepts of the various patents, applications, and publications to provide yet further embodiments.
These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled.
Number | Date | Country | Kind |
---|---|---|---|
2021-022715 | Feb 2021 | JP | national |
2021-122787 | Jul 2021 | JP | national |
This application is a U.S. national phase application based on International Application No. PCT/JP2022/001626, which claims priority to Japanese Patent Application Nos. 2021-22715 filed on Feb. 16, 2021, and 2021-122787 filed on Jul. 27, 2021, the contents of which are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2022/001626 | 1/18/2022 | WO |