WO2021059909A1 - データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム - Google Patents

データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム Download PDF

Info

Publication number
WO2021059909A1
WO2021059909A1 PCT/JP2020/033311 JP2020033311W WO2021059909A1 WO 2021059909 A1 WO2021059909 A1 WO 2021059909A1 JP 2020033311 W JP2020033311 W JP 2020033311W WO 2021059909 A1 WO2021059909 A1 WO 2021059909A1
Authority
WO
WIPO (PCT)
Prior art keywords
sample
generator
feature
training
data
Prior art date
Application number
PCT/JP2020/033311
Other languages
English (en)
French (fr)
Inventor
大和 岡本
竜 米谷
中田 雅博
佳昭 宮田
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to CN202080056673.2A priority Critical patent/CN114207664A/zh
Priority to US17/636,388 priority patent/US20220300809A1/en
Priority to EP20867472.1A priority patent/EP4036561A4/en
Publication of WO2021059909A1 publication Critical patent/WO2021059909A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image

Definitions

  • the present invention relates to a data generation system, a learning device, a data generation device, a data generation method, and a data generation program.
  • Patent Document 1 a technique of photographing the manufactured product with a photographing device and inspecting the quality of the product based on the obtained image data has been used.
  • Patent Document 1 while moving the light source by an articulated robot, the appearance of the inspection object irradiated with the inspection light from the light source is photographed, and the obtained image is analyzed to obtain the appearance of the inspection object.
  • a visual inspection device for inspecting has been proposed.
  • Patent Document 2 when it is determined whether the inspection target imaged in the image is normal or abnormal based on the learned first neural network, and it is determined that the inspection target is abnormal.
  • An inspection device that classifies the type of the anomaly based on the learned second neural network has been proposed.
  • JP-A-2019-045330 Japanese Unexamined Patent Publication No. 2012-026982 JP-A-2018-175343 Japanese Unexamined Patent Publication No. 2019-071050 Japanese Unexamined Patent Publication No. 2018-024340 JP-A-2018-189522
  • the appearance inspection of the product can be carried out from the image obtained by shooting.
  • a method using a machine learning model such as a neural network as in Patent Document 2 it is not necessary to specify in detail the image processing for the obtained image (for example, a detection parameter for detecting a defect).
  • the present inventors have found that the above-mentioned conventional detection method has the following problems.
  • the collected training data is used for setting the values of detection parameters for detecting defects.
  • the collected learning data is used for machine learning for making the machine learning model acquire the ability to detect defects appearing in a given image. Defect detection may be to identify the type of defect. Basically, the more diverse the learning data collected, that is, the more diverse the situation of defects appearing in the learning data, the more the accuracy of the visual inspection can be improved.
  • the following problems may occur. That is, in the case of detecting defects by image processing, it becomes difficult to set the value of the detection parameter for the combination of the defect type for which the sample has not been obtained and the background type, and the defect appearing in the combination is detected. There is a possibility that the accuracy of processing will decrease. Similarly, even in the case where a machine learning model is used to detect defects, the combination of the type of defect for which no sample is obtained and the type of background cannot be reflected in machine learning, so that the defect due to the trained machine learning model for that combination cannot be reflected. The accuracy of the estimation regarding the detection of is reduced.
  • the bias of this sample is a machine learning model by machine learning. May adversely affect the ability to be acquired.
  • the combination of defect types and background types that appear in the sample is biased, and machine learning using this sample has the ability to detect defects according to the type in the machine learning model. There is a possibility that you will acquire the ability to identify the type of background.
  • the first product is likely to have a first defect and the second product is likely to have a second defect.
  • the obtained sample is biased to the image of the first product containing the first defect and the image of the second product containing the second defect. That is, it is assumed that the image of the first product including the second defect and the image of the second product including the first defect are not obtained as a sample of machine learning. It is assumed that the machine learning of the machine learning model was performed with the intention of learning the ability to detect defects according to the type using the samples obtained under this assumption.
  • the machine learning model acquires the ability to identify the background type, not the ability to detect and identify defects according to the type. There is a possibility that it will end up. That is, if the sample is biased, there is a possibility that the machine learning model will acquire an ability other than the intended ability. If you have mastered the ability to identify the type of background, the trained machine learning model will give the first product the first defect when given an image of the first product containing the second defect. Is erroneously detected.
  • the predetermined type of data includes, for example, sound data, numerical data, text data, and other measurement data obtained by a sensor, in addition to the above image data.
  • the scene of collecting a sample of a predetermined type of data in which a plurality of features can appear is a scene of performing a visual inspection of a product based on the above-mentioned photographed image, for example, a patient's condition based on a medical image showing an organ.
  • a scene that estimates the attributes of a moving object in a captured image a scene that estimates the driving state of a vehicle based on measurement data obtained by a sensor provided by the vehicle, and a sensor that observes the state of a machine.
  • This is a scene where the state of the machine is estimated based on the obtained measurement data.
  • the moving body is, for example, a pedestrian, a vehicle, or the like.
  • the attributes related to the moving body are, for example, the moving state of the moving body (for example, speed, route, etc.) and the degree of density of the moving body (for example, congestion degree, etc.).
  • Patent Document 3 proposes to detect a lesion region from a medical image by using two estimators.
  • Patent Document 4 proposes to estimate the density distribution and the distribution of the movement vector of a person appearing in a photographed image from the photographed image by using a trained neural network.
  • Patent Document 5 proposes to determine a driving tendency of a driver based on measurement data of acceleration measured while the driver is driving a vehicle.
  • Patent Document 6 proposes a method of diagnosing a sign of equipment failure by using measurement data of at least one of voice and vibration.
  • the present invention on the one hand, has been made in light of these circumstances, an object of which is the cost of collecting diverse samples of a given type of data that may exhibit at least two or more features. It is to provide technology for reduction.
  • the present invention adopts the following configuration in order to solve the above-mentioned problems.
  • the data generation system is a combination of a first sample of a predetermined type of data, a first sample including the first feature, and a first label indicating the type of the first feature.
  • a first acquisition unit that acquires a plurality of first training data sets, each of which is a second sample of the predetermined type of data and includes a second feature different from the first feature, and a second sample.
  • the second acquisition unit that acquires a plurality of second training data sets each composed of a combination of the second labels indicating the type of the second feature, and the acquired plurality of first training data sets
  • carrying out the machine learning of the first learning model is the first of the first training data sets.
  • a first training unit including training the first generator so that the pseudosample generated from the first label by the generator fits the first sample, and the plurality of acquired second learnings.
  • carrying out the machine learning of the second learning model is the second learning of each of the above.
  • a second training unit comprising training the second generator so that the pseudosamples generated from the second label by the second generator fit the second sample.
  • the first generator that generates the first pseudo sample including the first feature and the second generator corresponding to the second label.
  • a second generator that generates a second pseudo sample including the second feature, and the first generated in the generated first pseudo sample.
  • the first generator by machine learning using a plurality of first training data sets, the first generator generates a pseudo sample suitable for the first sample including the first feature from the first label. To be trained.
  • the second generator is trained to generate a pseudo sample from the second label that fits the second sample containing the second feature.
  • the first generator acquires the ability to generate a pseudo sample containing the first feature of the type corresponding to the given input value, and the second generator is the type corresponding to the given input value. Acquire the ability to generate pseudosamples containing the second feature of.
  • the data generation system related to the configuration generates the first pseudo sample and the second pseudo sample by using the first generator and the second generator, and synthesizes the generated first pseudo sample and the second pseudo sample. By doing so, a new sample of a predetermined type of data is generated.
  • the new sample generated based on the input given to the first generator and the second generator which have been trained (hereinafter, also referred to as “trained”), respectively. It is possible to control the types of the first feature and the second feature. That is, by using the trained first generator and second generator, respectively, it is possible to generate a new sample including the first feature and the second feature of any combination of types. If there is a combination of the first feature and the second feature types for which no sample has been obtained or the number of samples is small, a new sample containing the first feature and the second feature of the combination of the types can be freely prepared. Can be generated.
  • the first feature and the second feature may be appropriately selected according to the embodiment.
  • the first feature and the second feature may each relate to components that can appear directly or indirectly in the data. Appearing directly means appearing in the data itself, such as being reflected in image data. Indirect appearance means that it is derived from data such as estimated from image data. At least one of the first feature and the second feature may relate to a component that can be the target of some estimation process. Estimate may be read as "inference.” Estimating may include predicting. To estimate is, for example, to derive a discrete value (for example, a class corresponding to a specific feature) by grouping (classification, identification), and to derive a continuous value (for example, the probability that a specific feature appears) by regression.
  • a discrete value for example, a class corresponding to a specific feature
  • a continuous value for example, the probability that a specific feature appears
  • the estimation may include making some kind of certification such as detection or determination based on the result of the grouping or regression.
  • a predetermined type of data such as moving image data including sound data, may be composed of a plurality of types of data.
  • the first feature and the second feature may each relate to at least one of a plurality of types of data.
  • the first feature may be related to image data
  • the second feature may be related to sound data
  • the types of data related to the first feature and the second feature may be different as long as they can be synthesized.
  • the first generator and the second generator are each composed of a machine learning model.
  • the machine learning model of each generator is configured to generate a pseudo sample (pseudo sample) that imitates each sample of data in response to the input of the input value corresponding to each label.
  • "Pseudo-sample” refers to a sample generated by each generator.
  • the type of the machine learning model of each generator does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • a neural network may be used for the machine learning model of each generator.
  • the type of the neural network does not have to be particularly limited and may be appropriately selected depending on the embodiment.
  • the input values and synthetic parameters for each generator may be determined manually or automatically by a method such as random.
  • the first sample and the second sample used for training the first generator and the second generator may be obtained from the real world, or are artificially generated by simulation, manual operation, or the like. It may be a thing.
  • the predetermined type of data may include a first component and a second component different from the first component, and may include a second component to be a predetermined estimation target.
  • the first feature may relate to the first component
  • the second feature may relate to the second component.
  • the first learning model may further include a first classifier.
  • Training the first generator means that the input sample input to the first classifier is the first sample obtained from any of the plurality of first training data sets or the first generator.
  • a pseudo sample suitable for the first sample is generated according to the improvement of the discrimination performance of the first classifier. 1
  • the performance of the generator can be improved. Therefore, according to the configuration, it is possible to construct a trained first generator capable of generating an appropriate pseudo sample including the first feature, whereby the cost of collecting an appropriate and diverse sample can be constructed. Can be reduced.
  • the second learning model may further include a second classifier.
  • Training the second generator means that the input sample input to the second classifier is the second sample obtained from any of the plurality of second training data sets or the second generator.
  • a pseudo sample suitable for the second sample is generated according to the improvement of the discriminating performance of the second classifier. 2
  • the performance of the generator can be improved. Therefore, according to the configuration, it is possible to construct a trained second generator capable of generating an appropriate pseudo sample including the second feature, whereby the cost of collecting an appropriate and diverse sample can be constructed. Can be reduced.
  • the data generation system has a plurality of third learnings each composed of a sample value of the attribute of the second feature, a reflection level indicating the degree to which the second feature is reflected, and a combination of the second label. It is a third training unit that performs machine learning of a third training model including a third generator using the third acquisition unit that acquires the data set and the plurality of acquired third training data sets. , Performing machine learning of the third training model is a pseudo of the attribute of the second feature generated by the third generator from the reflection level and the second label for each of the third training data sets.
  • a third training unit, which includes training the third generator so that the target value matches the sample value, may be further provided.
  • the second input value corresponding to the second label and the third input value corresponding to the reflection level are given to the trained third generator, thereby simulating the attribute of the second feature.
  • the second pseudo sample is generated, and the second pseudo sample is converted so that the value of the attribute of the second feature included in the second pseudo sample matches the generated pseudo value, and the first pseudo sample is generated. May include synthesizing the second pseudo sample.
  • the third generator will generate pseudo-values from the reflection level and the second label that match the sample values of the attributes of the second feature. Be trained.
  • the third generator acquires the ability to generate pseudo-values of the attributes of the second feature corresponding to the given input. Therefore, it is possible to control the value of the attribute of the second feature included in the new sample generated based on the input given to the trained third generator. That is, by further using the trained third generator, a new sample including the second feature having an arbitrary attribute value can be freely generated. Therefore, according to this configuration, it is possible to generate a wider variety of samples for a predetermined type of data in which at least two or more features can appear.
  • the "attribute” relates to, for example, the degree or classification of properties having characteristics such as size, (temporal or regional) position, brightness, amplitude, and frequency (temporal or regional).
  • the data generation system has a plurality of third learnings each composed of a sample value of the attribute of the second feature, a reflection level indicating the degree to which the second feature is reflected, and a combination of the second label. It is a third training unit that performs machine learning of a third training model including a third generator using the third acquisition unit that acquires the data set and the plurality of acquired third training data sets. , Performing machine learning of the third training model is a pseudo of the attribute of the second feature generated by the third generator from the reflection level and the second label for each of the third training data sets.
  • a third training unit, which includes training the third generator so that the target value matches the sample value, may be further provided.
  • the predetermined type of data may include a first component and a second component different from the first component, and may include a second component to be a predetermined estimation target.
  • the first feature may relate to the first component
  • the second feature may relate to the second component.
  • the predetermined estimation may be to detect the second component.
  • the synthesis is a second input value corresponding to the second label and a third input value corresponding to the reflection level, and the third input value given according to the detection limit has been trained.
  • It may include converting the second pseudosample to fit and synthesizing the second pseudosample with the first pseudosample. According to this configuration, it is possible to generate various samples corresponding to the limit cases of detection for a predetermined type of data in which at least two or more features can appear. In addition, the accuracy of the estimation can be improved by reflecting the various generated samples in the execution of a predetermined estimation.
  • the third learning model may further include a third classifier.
  • Training the third generator means that the input value input to the third classifier is generated by the sample value obtained from any of the plurality of third training data sets or by the third generator.
  • each of the third learning data sets may further include the first label.
  • the reflection level, the second label, and the pseudo value of the attribute of the second feature generated by the third generator from the first label are the pseudo-values. Training the third generator to fit the sample values may be included.
  • the third generator is trained to generate pseudo-values for the attributes of the second feature, further corresponding to the type of first feature shown on the first label. Therefore, according to the trained third generator, the value of the attribute of the second feature can be controlled according to the type of the first feature. That is, by using the trained third generator, it is possible to freely generate a new sample including the second feature having the attribute value suitable for the type of the first feature. Therefore, according to this configuration, it is possible to generate a more diverse and appropriate sample for a predetermined type of data in which at least two or more features can appear.
  • the reflection level may be composed of continuous values. According to this configuration, since the attribute value of the second feature can be controlled by a continuous value, it is possible to generate a wider variety of samples for a predetermined type of data in which at least two or more features can appear.
  • the reflection level configuration is not limited to such an example.
  • the reflection level may be composed of discrete values.
  • acquiring the plurality of second training data sets is a third sample of the predetermined type of data, and the plurality of data including the first feature and the second feature, respectively.
  • step of obtaining a third sample of the above trained to estimate the input given to the first generator when generating the pseudosample from the pseudosample generated by the trained first generator.
  • a step of estimating an estimated value of the input given to the trained first generator to generate a pseudo sample corresponding to each third sample by giving each third sample to the estimator was estimated.
  • a step of generating the second sample of each of the second training data sets may be included.
  • the trained first generator is configured to generate a pseudo sample that includes the first feature and does not contain the second feature. Therefore, according to the configuration, a second sample that does not include the first feature and includes the second feature can be appropriately generated. Further, according to the configuration, since the second sample can be automatically generated from the third sample, the cost of acquiring the second sample can be reduced.
  • the data generation system is a sample value of the input given to the trained first generator and a fourth pseudo sample generated by giving the sample value to the trained first generator.
  • the estimator is subjected to machine learning.
  • performing machine learning of the estimator is an input given to the trained first generator for each of the fourth training data sets.
  • a fourth training unit which includes training the estimator so that the estimated value obtained by estimating from the fourth pseudo sample by the estimator matches the sample value, may be further provided. ..
  • machine learning using a plurality of fourth training data sets has been trained to generate a pseudo sample corresponding to the third sample, including the first feature, and not including the second feature. It is possible to generate a trained estimator capable of appropriately estimating the input value given to the first generator. Therefore, by using the generated trained estimator, a second sample that does not include the first feature and includes the second feature can be appropriately generated from the third sample.
  • the predetermined type of data may be image data including a background and a foreground.
  • the first feature may relate to the background and the second feature may relate to the foreground. According to this configuration, it is possible to reduce the cost of collecting samples of various types of background and foreground combinations for image data.
  • the predetermined type of data may be image data in which the product is captured.
  • the first feature may relate to a background that includes the product, and the second feature may relate to a defect in the product.
  • a device (or system) according to a new form may be configured by extracting at least a part of the configuration of the data generation system.
  • the learning device according to one aspect of the present invention may be configured by extracting a portion that generates at least one of the generators by machine learning from the data generation system according to each of the above embodiments.
  • the data generation device according to one aspect of the present invention is configured by extracting a portion for generating a new sample from the data generation system according to each of the above forms by using a trained generator. You can do it.
  • the learning device is a combination of a first sample of a predetermined type of data, a first sample including the first feature, and a first label indicating the type of the first feature.
  • a first acquisition unit that acquires a plurality of first training data sets, each of which is a second sample of the predetermined type of data and includes a second feature different from the first feature, and a second sample.
  • the second acquisition unit that acquires a plurality of second training data sets each composed of a combination of the second labels indicating the type of the second feature, and the acquired plurality of first training data sets
  • carrying out the machine learning of the first learning model is the first for each of the first learning data sets.
  • a first training unit including training the first generator so that the pseudosample generated from the first label by the generator fits the first sample, and the plurality of acquired second learnings.
  • carrying out the machine learning of the second learning model is the second learning of each of the above.
  • the data set includes a second training unit, which comprises training the second generator so that the pseudosample generated from the second label by the second generator fits the second sample. ..
  • the "learning device” may be read as a “model generator” for generating a trained machine learning model (generator) or simply a “generator”.
  • the learning method may be read as a model generation method for generating a trained machine learning model or simply a generation method. That is, the learning method corresponds to a method of generating (producing) a trained machine learning model.
  • the data generator is a first sample of a predetermined type of data, a first sample including the first feature, and a first label indicating the type of the first feature.
  • a first generator having a trained first generator constructed by machine learning using a plurality of first training data sets configured by the combination of the above, and the first generator by the machine learning. Is trained for each of the first training data sets so that the pseudosample generated from the first label by the first generator fits the first sample, and the first generator is the first label.
  • the first pseudo sample including the first feature is generated, the first generator and the second sample of the predetermined type of data.
  • the pseudo sample generated from the second label is trained to fit the second sample, and the second generator sends the second input value corresponding to the second label to the trained second generator.
  • the second generation unit that generates the second pseudo sample including the second feature and the second pseudo sample generated in the generated first pseudo sample are combined to obtain the predetermined type. It is provided with a data synthesis unit that generates a new sample of the data of.
  • one aspect of the present invention is an information processing method that realizes all or a part of each of the above configurations. It may be a program, or it may be a storage medium that stores such a program and can be read by a computer or other device, machine, or the like.
  • the storage medium that can be read by a computer or the like is a medium that stores information such as a program by electrical, magnetic, optical, mechanical, or chemical action.
  • the computer is a first sample of a predetermined type of data, the first sample including the first feature, and the first label indicating the type of the first feature.
  • carrying out the machine learning of the first learning model is the first step of carrying out the machine learning of the first learning model by the first generator for each of the first training data sets.
  • carrying out the machine learning of the second learning model including the generator is the first step of carrying out the machine learning of the second learning model by the second generator for each of the second training data sets.
  • the first which has been trained with a step and a first input value corresponding to the first label, including training the second generator so that the pseudosample generated from the second label fits the second sample.
  • the step of generating the first pseudo sample including the first feature and by giving the second input value corresponding to the second label to the trained second generator, the said By synthesizing the step of generating the second pseudo sample including the second feature and the second pseudo sample generated in the generated first pseudo sample, a new sample of the predetermined type of data is generated. It is an information processing method that executes steps.
  • the data generation method is a step in which a computer uses a trained first generator to generate a first pseudo sample including the first feature, which is the training.
  • the completed first generator is a first sample of a predetermined type of data, and is composed of a combination of a first sample including the first feature and a first label indicating the type of the first feature. It is constructed by machine learning using the first training data set, and in the machine learning, the first generator is a pseudo generated from the first label by the first generator for each of the first training data sets.
  • the sample is trained to fit the first sample, and the computer comprises the first feature by providing the trained first generator with a first input value corresponding to the first label.
  • the data generation program is a step of generating a first pseudo sample including the first feature by using a trained first generator in a computer, which is the training.
  • the completed first generator is a first sample of a predetermined type of data, and is composed of a combination of a first sample including the first feature and a first label indicating the type of the first feature. It is constructed by machine learning using the first training data set, and in the machine learning, the first generator is a pseudo generated from the first label by the first generator for each of the first training data sets.
  • the sample is trained to fit the first sample, and the computer comprises the first feature by providing the trained first generator with a first input value corresponding to the first label.
  • the pseudosample is trained to fit the second sample, and the computer provides the second feature by giving the trained second generator a second input value corresponding to the second label.
  • FIG. 1 schematically illustrates an example of a situation in which the present invention is applied.
  • FIG. 2A schematically illustrates an example of a sample including the first feature and the second feature according to the embodiment.
  • FIG. 2B schematically illustrates an example of a sample including the first feature and the second feature according to the embodiment.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the learning device according to the embodiment.
  • FIG. 4 schematically illustrates an example of the hardware configuration of the data generation device according to the embodiment.
  • FIG. 5 schematically illustrates an example of the hardware configuration of the estimation device according to the embodiment.
  • FIG. 6 schematically illustrates an example of the software configuration of the learning device according to the embodiment.
  • FIG. 7A schematically illustrates the process of machine learning of the first learning model by the learning device according to the embodiment.
  • FIG. 7B schematically illustrates the process of machine learning of the second learning model by the learning device according to the embodiment.
  • FIG. 7C schematically illustrates the process of machine learning of the third learning model by the learning device according to the embodiment.
  • FIG. 7D schematically illustrates the process of machine learning of the estimator by the learning device according to the embodiment.
  • FIG. 7E schematically illustrates the process of generating the second sample by the learning device according to the embodiment.
  • FIG. 8 schematically illustrates an example of the software configuration of the data generation device according to the embodiment.
  • FIG. 9 schematically illustrates an example of the software configuration of the estimation device according to the embodiment.
  • FIG. 10A illustrates an example of the processing procedure of machine learning of the first learning model by the learning device according to the embodiment.
  • FIG. 10A illustrates an example of the processing procedure of machine learning of the first learning model by the learning device according to the embodiment.
  • FIG. 10B illustrates an example of the processing procedure of the subroutine related to machine learning of the first learning model by the learning device according to the embodiment.
  • FIG. 11A illustrates an example of the processing procedure of machine learning of the second learning model by the learning device according to the embodiment.
  • FIG. 11B illustrates an example of the processing procedure of the subroutine related to machine learning of the second learning model by the learning device according to the embodiment.
  • FIG. 12A illustrates an example of the processing procedure of machine learning of the third learning model by the learning device according to the embodiment.
  • FIG. 12B illustrates an example of the processing procedure of the subroutine related to machine learning of the third learning model by the learning device according to the embodiment.
  • FIG. 13 illustrates an example of the processing procedure of machine learning of the estimator by the learning device according to the embodiment.
  • FIG. 14 illustrates an example of a processing procedure relating to the generation of the second sample by the learning device according to the embodiment.
  • FIG. 15 illustrates an example of the processing procedure of the data generator according to the embodiment.
  • FIG. 16 is a reception screen of the data generation device according to the embodiment, and schematically illustrates an example of the reception screen for receiving the input of each input value.
  • FIG. 17A illustrates an example of the processing procedure of the estimation device according to the embodiment.
  • FIG. 17B illustrates an example of the process of estimation processing relating to the second feature according to the embodiment.
  • FIG. 18A illustrates an example of the output screen of the data group according to the embodiment.
  • FIG. 18B illustrates an example of the output screen of the data group according to the embodiment.
  • FIG. 18A illustrates an example of the output screen of the data group according to the embodiment.
  • FIG. 20A schematically illustrates an example of the hardware configuration of the inspection device according to another form.
  • FIG. 20B schematically illustrates an example of the software configuration of the inspection device according to another form.
  • FIG. 21 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 22 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 23 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 24A schematically illustrates an example of the hardware configuration of the monitoring device according to another form.
  • FIG. 24B schematically illustrates an example of the software configuration of the monitoring device according to another form.
  • FIG. 25 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 24A schematically illustrates an example of the hardware configuration of the monitoring device according to another form.
  • FIG. 24B schematically illustrates an example of the software configuration of the monitoring device according to another form.
  • FIG. 25 schematically illustrates an example of another situation to which the present
  • FIG. 26A schematically illustrates an example of the hardware configuration of the abnormality detection device according to another form.
  • FIG. 26B schematically illustrates an example of the software configuration of the abnormality detection device according to another form.
  • FIG. 27 schematically illustrates an example of the configuration of the generator according to another form.
  • FIG. 28 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 29 schematically illustrates an example of the hardware configuration of another learning device according to another form.
  • FIG. 30 schematically illustrates an example of the software configuration of another learning device according to another form.
  • FIG. 31 illustrates an example of a processing procedure of another learning device according to another embodiment.
  • FIG. 32A schematically illustrates an example of the hardware configuration of the estimation device according to another embodiment.
  • FIG. 32B schematically illustrates an example of the software configuration of the estimation device according to another embodiment.
  • the present embodiment an embodiment according to one aspect of the present invention (hereinafter, also referred to as “the present embodiment”) will be described with reference to the drawings.
  • the embodiments described below are merely examples of the present invention in all respects. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. That is, in carrying out the present invention, a specific configuration according to the embodiment may be appropriately adopted.
  • the data appearing in the present embodiment is described in natural language, more specifically, it is specified in a pseudo language, a command, a parameter, a machine language, etc. that can be recognized by a computer.
  • FIG. 1 schematically illustrates an example of a situation in which the present invention is applied.
  • the estimation system 100 includes a learning device 1, a data generation device 2, and an estimation device 3.
  • the learning device 1 and the data generating device 2 generate the trained first generator 411 and the second generator 421, and utilize the generated learned first generator 411 and the second generator 421 to generate the trained first generator 411 and the second generator 421.
  • a data generation system for generating a new sample 65 of a predetermined type of data is configured.
  • the learning device 1 is a computer configured to generate the learned first generator 411 and the second generator 421 by performing machine learning, respectively. Specifically, the learning device 1 according to the present embodiment acquires a plurality of first learning data sets 51 each composed of a combination of a first sample 511 and a first label 512 of predetermined types of data. Further, the learning device 1 according to the present embodiment acquires a plurality of second learning data sets 52 each composed of a combination of a second sample 521 and a second label 522 of predetermined types of data.
  • the type of data is not particularly limited as long as the data of a predetermined type can exhibit some characteristics, and may be appropriately selected according to the embodiment.
  • the predetermined type of data may be, for example, image data, sound data, numerical data, text data, sensing data obtained by various sensors, or the like.
  • the predetermined type of data may be, for example, sensing data obtained by observing some object with a sensor.
  • the sensor may be, for example, a camera, a microphone, an encoder, a lidar sensor, a medical inspection device, a vital sensor, a motion sensor, an environmental sensor, or the like.
  • the camera is, for example, a general digital camera configured to acquire an RGB image, a depth camera configured to acquire a depth image, an infrared camera configured to image an amount of infrared rays, and the like.
  • the medical examination device may be, for example, an X-ray device, a CT device, an MRI device, or the like.
  • the vital sensor may be, for example, a thermometer, a sphygmomanometer, a pulse rate monitor, or the like.
  • the environmental sensor may be, for example, a photometer, a thermometer, a hygrometer, or the like.
  • the first sample 511 includes a first feature appearing in a predetermined type of data, and the first label 512 indicates the type of the first feature.
  • the second sample 521 includes a second feature different from the first feature, and the second label 522 indicates the type of the second feature.
  • Each of the first feature and the second feature may be appropriately selected according to the embodiment.
  • the first feature and the second feature may each relate to a component (element) that can appear directly or indirectly in a predetermined type of data. Appearing directly means appearing in the data itself, such as being reflected in image data. Indirect appearance means that it is derived from data such as estimated from image data. At least one of the first feature and the second feature may be subject to some estimation processing. It should be noted that the fact that the target sample contains the target feature corresponds to the fact that the target feature appears in the target sample.
  • the predetermined type of data may include a first component and a second component different from the first component.
  • the second component is subject to predetermined estimation.
  • the first feature contained in each first sample 511 relates to the first component
  • the second feature contained in each second sample 521 relates to the second component.
  • Estimating may include predicting. To estimate is, for example, to derive a discrete value (for example, a class corresponding to a specific feature) by grouping (classification, identification), and to derive a continuous value (for example, the probability that a specific feature appears) by regression. ) May be derived.
  • the estimation may include making some kind of certification such as detection or determination based on the result of the grouping or regression.
  • a predetermined type of data such as moving image data including sound data
  • the first feature and the second feature may each relate to at least one of a plurality of types of data.
  • the first feature may be related to image data
  • the second feature may be related to sound data
  • the types of data related to the first feature and the second feature may be different as long as they can be synthesized.
  • the learning device 1 uses the acquired plurality of first learning data sets 51 to perform machine learning of the first learning model 41 including the first generator 411.
  • the learning device 1 according to the present embodiment uses the acquired plurality of second learning data sets 52 to perform machine learning of the second learning model 42 including the second generator 421.
  • the trained first generator 411 and the second generator 421 are generated.
  • Each generator (411, 421) is composed of a machine learning model.
  • the machine learning model of each generator (411, 421) is a pseudo sample (pseudo) that imitates each sample (511, 521) of data in response to the input of the input value corresponding to each label (512, 522). Sample) is configured to generate.
  • Pseudo-sample refers to a sample generated by each generator (411, 421).
  • the type of machine learning model of each generator (411, 421) does not have to be particularly limited and may be appropriately selected according to the embodiment.
  • a neural network is used for the machine learning model of each generator (411, 421). Details will be described later.
  • the learning device 1 according to the present embodiment may be referred to as a "model generation device” for generating a trained machine learning model, or simply a "generation device”.
  • the data generator 2 is a computer configured to generate a new sample 65 of a predetermined type of data by using the trained first generator 411 and the second generator 421, respectively. is there. Specifically, the data generator 2 according to the present embodiment gives the first input value 221 corresponding to the first label 512 to the trained first generator 411, so that the first pseudo sample including the first feature is included. 61 is generated. Further, the data generator 2 according to the present embodiment gives the second pseudo sample 62 including the second feature by giving the second input value 223 corresponding to the second label 522 to the trained second generator 421. Generate. Then, the data generation device 2 according to the present embodiment generates a new sample 65 of a predetermined type of data by synthesizing the generated first pseudo sample 61 and the generated second pseudo sample 62.
  • the estimation device 3 is a computer configured to execute a predetermined estimation process for the second feature.
  • the predetermined estimation is to detect the second component (in other words, to detect the presence of the second feature).
  • the estimation device 3 acquires the target sample 325 and executes a process for detecting the second component in the acquired target sample 325.
  • the parameters in the detection process may be determined based on the data group 320.
  • the data group 320 is composed of a plurality of samples 321 of predetermined types of data.
  • the plurality of samples 321 may include a sample 65 generated by the data generation device 2.
  • each of the first feature and the second feature included in the new sample 65 generated based on the inputs given to the learned first generator 411 and the second generator 421, respectively.
  • the type can be controlled. That is, the data generator 2 according to the present embodiment uses the trained first generator 411 and the second generator 421, respectively, to newly include the first feature and the second feature of any kind of combination.
  • Sample 65 can be generated. When there is a combination of the first feature and the second feature types for which no sample is obtained or the number of samples is small, a new sample 65 including the first feature and the second feature of the combination of the types is freely available. Can be generated.
  • the accuracy of the estimation process can be improved by reflecting the new sample 65 generated as described above in the execution of the estimation process in the estimation device 3.
  • the learning device 1, the data generation device 2, and the estimation device 3 may be connected to each other via a network.
  • the type of network may be appropriately selected from, for example, the Internet, a wireless communication network, a mobile communication network, a telephone network, a dedicated network, and the like.
  • the method of exchanging data between the learning device 1, the data generation device 2, and the estimation device 3 does not have to be limited to such an example, and may be appropriately selected depending on the embodiment.
  • data may be exchanged between the learning device 1, the data generation device 2, and the estimation device 3 using a storage medium.
  • the learning device 1, the data generation device 2, and the estimation device 3 are separate computers.
  • the configuration of the system according to the present embodiment does not have to be limited to such an example, and may be appropriately determined according to the embodiment.
  • at least one pair of the learning device 1, the data generating device 2, and the estimating device 3 may be an integrated computer.
  • at least one of the learning device 1, the data generation device 2, and the estimation device 3 may be configured by a plurality of computers.
  • FIG. 2A schematically illustrates an example of the sample P10 including the first feature and the second feature obtained in the scene of performing the visual inspection of the product P1.
  • FIG. 2B schematically illustrates an example of the sample P20 including the first feature and the second feature, which is obtained in the scene of performing the state inspection of the machine based on the operating sound of the machine.
  • the image data in which the product P1 is captured is an example of a predetermined type of data.
  • the first feature relates to the background P11 including the product P1
  • the second feature relates to the defect P12 that may occur in the product P1. That is, the image of the background P11 including the product P1 in the sample P10 is an example of the first component, and the image of the defect P12 is an example of the second component.
  • the first sample 511 may be a sample of the image data in which the product P1 is captured, and the first label 512 may indicate the type of the product P1.
  • the second sample 521 may be a sample of image data in which the defect P12 appears, and the second label 522 may indicate the type of the defect P12.
  • Product P1 may be, for example, a product transported on a production line for electronic devices, electronic parts, automobile parts, chemicals, foods, and the like.
  • the electronic component may be, for example, a board, a chip capacitor, a liquid crystal, a winding of a relay, or the like.
  • the automobile parts may be, for example, connecting rods, shafts, engine blocks, power window switches, panels and the like.
  • the chemical may be, for example, a packaged tablet, an unpackaged tablet, or the like.
  • the product may be a final product produced after the completion of the manufacturing process, an intermediate product produced in the middle of the manufacturing process, or an initial product prepared before the manufacturing process is completed.
  • the defect P12 may be, for example, scratches, stains, cracks, dents, burrs, color unevenness, foreign matter contamination, or the like.
  • the learning device 1 generates a pseudo sample in which the background is captured, including the product P1 of the type corresponding to the input, by machine learning using the plurality of first learning data sets 51.
  • a trained first generator 411 can be constructed.
  • the learning device 1 according to the present embodiment is trained to generate a pseudo sample in the foreground including a defect P12 of a type corresponding to an input by machine learning using the plurality of second learning data sets 52.
  • the second generator 421 can be constructed.
  • a new sample 65 in which the product P1 and the defect P12 of any kind of combination are captured can be obtained. Many of the generated processes can be automated.
  • the accuracy of the visual inspection of the product P1 can be improved by diversifying the samples 321 included in the data group 320 by adding the generated new sample 65. it can.
  • the sound data including the operating sound of the machine is an example of a predetermined type of data.
  • the first feature relates to the environmental sound P21 such as the operating noise generated during normal operation of the machine and the noise around the machine
  • the second feature relates to the abnormal sound P22 caused by an abnormality such as aged deterioration or failure of the machine. .. That is, the component of the environmental sound P21 in the sample P20 is an example of the first component, and the component of the abnormal sound P22 is an example of the second component.
  • the first sample 511 may be a sample of sound data including the environmental sound P21
  • the first label 512 may indicate the type of the machine and the surrounding environment.
  • the second sample 521 may be a sample of sound data including the abnormal sound P22
  • the second label 522 may indicate the type of abnormality.
  • the machine and the type of abnormality may be arbitrarily selected.
  • the machine may be, for example, a device that constitutes a manufacturing line such as a conveyor device or an industrial robot.
  • the machine may be the entire device or a part of the device such as a motor.
  • the surrounding environment of the machine may be distinguished by, for example, the place where the machine is driven, the time, and the like.
  • the abnormality may be, for example, a failure, mixing of foreign matter, adhesion of dirt, or wear of components.
  • the learning device 1 generates a pseudo sample including the type of machine corresponding to the input and the environmental sound P21 of the surrounding environment by machine learning using the plurality of first learning data sets 51.
  • a first generator 411 trained to do so can be constructed.
  • the learning device 1 according to the present embodiment is trained to generate a pseudo sample including an abnormal sound P22 of a type corresponding to an input by machine learning using the plurality of second learning data sets 52.
  • 2 Generator 421 can be constructed.
  • the data generator 2 by using the learned first generator 411 and the second generator 421, respectively, a new sample including the environmental sound P21 and the abnormal sound P22 of any kind of combination is used. Many of the processes that generate 65 can be automated.
  • the estimation device 3 it is possible to reduce the cost of collecting various samples including the environmental sound P21 and the abnormal sound P22. Further, in the estimation device 3 according to the present embodiment, the accuracy of detecting an abnormality of the machine can be improved by diversifying the samples 321 included in the data group 320 by adding the newly generated sample 65. it can.
  • a feature having a relatively high appearance rate such as appearing at both normal time and abnormal time is selected as the first feature, and appears only at abnormal time.
  • a feature with a low appearance rate is selected as the second feature.
  • a feature having a relatively high appearance rate that can appear alone may be selected as the first feature, and a feature having a relatively low appearance rate that can appear together with the feature may be selected as the second feature.
  • detecting the second component corresponds to detecting an event having a relatively low appearance rate such as an abnormality occurrence.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the learning device 1 according to the present embodiment.
  • the control unit 11, the storage unit 12, the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 are electrically connected. It is a computer.
  • the communication interface and the external interface are described as "communication I / F" and "external I / F”.
  • the control unit 11 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like, which are hardware processors, and is configured to execute information processing based on a program and various data.
  • the storage unit 12 is an example of a memory, and is composed of, for example, a hard disk drive, a solid state drive, or the like. In the present embodiment, the storage unit 12 stores various information such as the learning program 81, the first to fourth learning data sets 51 to 54, and the first to fourth learning result data 121 to 124.
  • the learning program 81 is a program for causing the learning device 1 to execute information processing (FIGS. 10A to 14) described later, which generates each learned model by performing machine learning.
  • the learning program 81 includes a series of instructions for the information processing.
  • the learning program 81 may be referred to as a "model generation program” or simply a "generation program”.
  • the first to fourth training data sets 51 to 54 are used for machine learning of each model, respectively.
  • the first to fourth learning result data 121 to 124 show information about each trained model constructed by machine learning, respectively. In the present embodiment, the first to fourth learning result data 121 to 124 are generated as a result of executing the learning program 81, respectively. Details will be described later.
  • the communication interface 13 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network.
  • the external interface 14 is, for example, a USB (Universal Serial Bus) port, a dedicated port, or the like, and is an interface for connecting to an external device. The type and number of external interfaces 14 may be arbitrarily selected.
  • the learning device 1 may be connected to a sensor for obtaining samples such as the first sample 511 and the second sample 521 via the external interface 14.
  • the input device 15 is, for example, a device for inputting a mouse, a keyboard, or the like.
  • the output device 16 is, for example, a device for outputting a display, a speaker, or the like. An operator such as a user can operate the learning device 1 by using the input device 15 and the output device 16.
  • the drive 17 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading various information such as a program stored in the storage medium 91.
  • the type of the drive 17 may be appropriately selected according to the type of the storage medium 91.
  • At least one of the learning program 81 and the first to fourth learning data sets 51 to 54 may be stored in the storage medium 91.
  • the storage medium 91 electrically, magnetically, optically, mechanically or chemically acts on the information of the program or the like so that the computer or other device, the machine or the like can read various information of the stored program or the like. It is a medium that accumulates by.
  • the learning device 1 may acquire at least one of the learning program 81 and the first to fourth learning data sets 51 to 54 from the storage medium 91.
  • FIG. 3 illustrates a disc-type storage medium such as a CD or DVD as an example of the storage medium 91.
  • the type of the storage medium 91 is not limited to the disk type, and may be other than the disk type. Examples of storage media other than the disk type include semiconductor memories such as flash memories.
  • the type of the drive 17 may be appropriately selected according to the type of the storage medium 91.
  • the components can be omitted, replaced, or added as appropriate according to the embodiment.
  • the control unit 11 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, an FPGA (field-programmable gate array), a DSP (digital signal processor), or the like.
  • the storage unit 12 may be composed of a RAM and a ROM included in the control unit 11. At least one of the communication interface 13, the external interface 14, the input device 15, the output device 16 and the drive 17 may be omitted.
  • the learning device 1 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the learning device 1 may be a general-purpose server device, a PC (Personal Computer), or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 4 schematically illustrates an example of the hardware configuration of the data generation device 2 according to the present embodiment.
  • the control unit 21, the storage unit 22, the communication interface 23, the external interface 24, the input device 25, the output device 26, and the drive 27 are electrically connected. It is a computer that has been used.
  • the control units 21 to drive 27 and the storage medium 92 of the data generation device 2 may be configured in the same manner as the control units 11 to drive 17 and the storage medium 91 of the learning device 1, respectively.
  • the control unit 21 includes a CPU, RAM, ROM, etc., which are hardware processors, and is configured to execute various information processing based on programs and data.
  • the storage unit 22 is composed of, for example, a hard disk drive, a solid state drive, or the like.
  • the storage unit 22 stores various information such as the data generation program 82 and the first to third learning result data 121 to 123.
  • the data generation program 82 is a program for causing the data generation device 2 to execute information processing (FIG. 15) described later regarding the generation of a new sample 65.
  • the data generation program 82 includes a series of instructions for this information processing. At least one of the data generation program 82 and the first to third learning result data 121 to 123 may be stored in the storage medium 92. Further, the data generation device 2 may acquire at least one of the data generation program 82 and the first to third learning result data 121 to 123 from the storage medium 92.
  • the components can be omitted, replaced, or added as appropriate according to the embodiment.
  • the control unit 21 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, FPGA, DSP and the like.
  • the storage unit 22 may be composed of a RAM and a ROM included in the control unit 21. At least one of the communication interface 23, the external interface 24, the input device 25, the output device 26, and the drive 27 may be omitted.
  • the data generation device 2 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the data generation device 2 may be a general-purpose server device, a general-purpose PC, or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 5 schematically illustrates an example of the hardware configuration of the estimation device 3 according to the present embodiment.
  • the control unit 31, the storage unit 32, the communication interface 33, the external interface 34, the input device 35, the output device 36, and the drive 37 are electrically connected. It is a computer.
  • the control units 31 to drive 37 and the storage medium 93 of the estimation device 3 may be configured in the same manner as the control units 11 to drive 17 and the storage medium 91 of the learning device 1, respectively.
  • the control unit 31 includes a CPU, RAM, ROM, etc., which are hardware processors, and is configured to execute various information processing based on programs and data.
  • the storage unit 32 is composed of, for example, a hard disk drive, a solid state drive, or the like.
  • the storage unit 32 stores various information such as the estimation program 83, the data group 320, and the first and fourth learning result data (121, 124).
  • the estimation program 83 is a program for causing the estimation device 3 to execute information processing (FIG. 17A) described later regarding a predetermined estimation for the second feature.
  • the estimation program 83 includes a series of instructions for this information processing.
  • the data group 320 may be used to determine the value of the parameter in the predetermined estimation (in this embodiment, the detection of the second component) process.
  • At least one of the estimation program 83, the data group 320, and the first and fourth learning result data (121, 124) may be stored in the storage medium 93.
  • the estimation device 3 may acquire at least one of the estimation program 83, the data group 320, and the first and fourth learning result data (121, 124) from the storage medium 93.
  • the components can be omitted, replaced, or added as appropriate according to the embodiment.
  • the control unit 31 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, FPGA, DSP and the like.
  • the storage unit 32 may be composed of a RAM and a ROM included in the control unit 31. At least one of the communication interface 33, the external interface 34, the input device 35, the output device 36, and the drive 37 may be omitted.
  • the estimation device 3 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the estimation device 3 may be a general-purpose server device, a general-purpose PC, a PLC (programmable logic controller), or the like, in addition to an information processing device designed exclusively for the provided service.
  • PLC programmable logic controller
  • FIG. 6 schematically illustrates an example of the software configuration of the learning device 1 according to the present embodiment.
  • the control unit 11 of the learning device 1 expands the learning program 81 stored in the storage unit 12 into the RAM. Then, the control unit 11 controls each component by interpreting and executing the instruction included in the learning program 81 expanded in the RAM by the CPU.
  • the learning device 1 according to the present embodiment includes the first acquisition unit 111, the second acquisition unit 112, the third acquisition unit 113, the fourth acquisition unit 114, and the first training unit 115. It operates as a computer including a second training unit 116, a third training unit 117, a fourth training unit 118, and a storage processing unit 119 as software modules. That is, in the present embodiment, each software module of the learning device 1 is realized by the control unit 11 (CPU).
  • the first acquisition unit 111 is a plurality of first samples 511 of predetermined types of data, each composed of a combination of a first sample 511 including the first feature and a first label 512 indicating the type of the first feature.
  • the first training data set 51 of the above is acquired.
  • the first training unit 115 uses the acquired plurality of first training data sets 51 to perform machine learning of the first learning model 41 including the first generator 411.
  • the pseudo sample generated from the first label 512 by the first generator 411 fits the first sample 511.
  • the first generator 411 is trained as described above.
  • the second acquisition unit 112 is a combination of the second sample 521 of the predetermined type of data, the second sample 521 including the second feature different from the first feature, and the second label 522 indicating the type of the second feature. Acquires a plurality of second training data sets 52, each of which is configured by.
  • the second training unit 116 uses the acquired plurality of second training data sets 52 to perform machine learning of the second learning model 42 including the second generator 421. In the machine learning of the second training model 42, in the second training unit 116, for each second training data set 52, the pseudo sample generated from the second label 522 by the second generator 421 fits the second sample 521.
  • the second generator 421 is trained as described above.
  • the third acquisition unit 113 includes a plurality of third learning data sets 53, each of which is composed of a combination of a sample value 531 of the attribute of the second feature, a reflection level 532 indicating the degree of reflecting the second feature, and a second label 522.
  • the sample value 531 may be referred to as an attribute sample value. Attributes relate to, for example, the degree or classification of properties of a second feature such as size, (temporal or regional) position, brightness, amplitude, frequency (temporal or regional).
  • the third training unit 117 uses the acquired plurality of third training data sets 53 to perform machine learning of the third learning model 43 including the third generator 431.
  • the third training unit 117 for each third training data set 53, has the reflection level 532 and the attributes of the second feature generated by the third generator 431 from the second label 522.
  • the third generator 431 is trained so that the pseudo values match the sample value 531.
  • each third learning data set 53 may further include a first label 512.
  • the third training unit 117 pseudo-attributes the attributes of the second feature generated by the reflection level 532, the second label 522, and the first label 512 to the third generator 431.
  • the third generator 431 may be trained so that the target value matches the sample value 531.
  • the fourth acquisition unit 114 is a combination of an input sample value 541 given to the trained first generator 411 and a pseudo sample 542 generated by giving the sample value 541 to the trained first generator 411, respectively.
  • a plurality of configured fourth training data sets 54 are acquired.
  • the pseudo sample 542 is an example of the "fourth pseudo sample" of the present invention.
  • the fourth training unit 118 uses the acquired plurality of fourth training data sets 54 to perform machine learning of the estimator 44. In the machine learning of the estimator 44, the fourth training unit 118 obtains each fourth training data set 54 by estimating the input given to the trained first generator 411 from the pseudo sample 542 by the estimator 44.
  • the estimator 44 is trained so that the estimated value to be obtained matches the sample value 541.
  • the storage processing unit 119 generates information on the results of each machine learning, and stores the generated information in a predetermined storage area. Specifically, the storage processing unit 119 generates information about each of the trained generators (411, 421, 431) and the estimator 44 as the first to fourth learning result data 121 to 124. Then, the storage processing unit 119 stores the generated first to fourth learning result data 121 to 124 in a predetermined storage area.
  • the predetermined storage area does not have to be particularly limited and may be appropriately selected according to the embodiment.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, a storage medium 91, an external storage device, or a combination thereof.
  • FIG. 7A schematically illustrates an example of the machine learning process of the first learning model 41 according to the present embodiment.
  • the configuration of the first learning model 41 is not particularly limited as long as the first generator 411 can be trained to generate a pseudo sample including the first feature of the type according to the input, and the embodiment It may be determined as appropriate according to the above.
  • the first learning model 41 further includes a first classifier 412.
  • the first generator 411 and the first classifier 412 may be configured by any machine learning model capable of performing machine learning.
  • the first generator 411 and the first classifier 412 are each composed of a multi-layered neural network used for deep learning.
  • the first generator 411 and the first classifier 412 each include an input layer (4111, 4121), an intermediate (hidden) layer (4112, 4122), and an output layer (4113, 4123).
  • the structures of the first generator 411 and the first classifier 412 are not limited to such an example, and may be appropriately determined according to the embodiment.
  • the number of intermediate layers (4112, 4122) is not limited to one, and may be two or more.
  • the intermediate layer (4112, 4122) may be omitted.
  • the number of layers constituting each neural network does not have to be particularly limited and may be arbitrarily selected.
  • the structures of the first generator 411 and the first classifier 412 may or may not be at least partially matched.
  • Each layer (4111-4113, 4121-4123) comprises one or more neurons (nodes).
  • the number of neurons (nodes) included in each layer (4111 to 4113 to 4121 to 4123) does not have to be particularly limited and may be appropriately determined according to the embodiment.
  • Neurons in adjacent layers are appropriately connected. In the example of FIG. 7A, each neuron is connected to all neurons in adjacent layers. However, the connection relationship of each neuron does not have to be limited to such an example, and may be appropriately set according to the embodiment.
  • a weight (bonding load) is set for each coupling.
  • a threshold is set for each neuron, and basically, the output of each neuron is determined by whether or not the sum of the products of each input and each weight exceeds the threshold.
  • the threshold value may be expressed by an activation function. In this case, the output of each neuron is determined by inputting the sum of the products of each input and each weight into the activation function and executing the operation of the activation function.
  • the type of activation function does not have to be particularly limited and may be appropriately selected depending on the embodiment.
  • the weight of the connection between each neuron and the threshold value of each neuron included in each layer (4111 to 4113 to 4121 to 4123) are examples of arithmetic parameters of the first generator 411 and the first discriminator 412, respectively.
  • training the first generator 411 by machine learning alternately repeats the first training step for training the first classifier 412 and the second training step for training the first generator 411. It is composed by doing.
  • the input sample input to the first classifier 412 is the first sample 511 or the first generator obtained from any of the plurality of first training data sets 51.
  • the first classifier 412 is trained to discriminate between the pseudosamples 515 generated by 411. In other words, the first discriminator 412 is trained to discriminate whether the input sample is from a plurality of first training data sets 51 (learning data) or from the first generator 411.
  • learning data learning data
  • the fact that it is derived from the learning data is expressed as "true”, and the fact that it is derived from the first generator 411 is expressed as “false”.
  • "True” may be replaced with “1” and “false” may be replaced with "0".
  • the method for expressing each origin does not have to be limited to such an example, and may be appropriately selected depending on the embodiment.
  • the first training unit 115 trains the first generator 411 so as to generate a pseudo sample 515 that reduces the discrimination performance of the first classifier 412. That is, the machine learning of the first learning model 41 is composed of hostile learning between the first generator 411 and the first classifier 412.
  • the first training unit 115 extracts noise 510 (latent variable) from a predetermined probability distribution for each first training data set 51.
  • the type of predetermined probability distribution may be arbitrarily selected.
  • the predetermined probability distribution may be a known probability distribution such as a Gaussian distribution.
  • the first training unit 115 gives the extracted noise 510 and the first label 512 to the first generator 411 to generate a pseudo sample 515 from the extracted noise 510 and the first label 512.
  • the first training unit 115 inputs the extracted noise 510 and the first label 512 to the input layer 4111 of the first generator 411, and executes the arithmetic processing of the first generator 411.
  • the first training unit 115 acquires the output (that is, the pseudo sample 515) corresponding to the result of generating the pseudo sample from the noise 510 and the first label 512 from the output layer 4113 of the first generator 411.
  • the first training unit 115 inputs the generated pseudo sample 515 and the corresponding first label 512 to the input layer 4121 of the first classifier 412, and executes the arithmetic processing of the first classifier 412. As a result, the first training unit 115 acquires an output value corresponding to the result of discriminating whether the input input sample is derived from the learning data or the first generator 411 from the output layer 4123 of the first classifier 412. In this scene, since the input input sample is the pseudo sample 515, it is correct to identify the first classifier 412 as "false". The first training unit 115 calculates an error between the output value obtained from the output layer 4123 and the correct answer for each pseudo sample 515 generated by the first generator 411.
  • the first training unit 115 inputs each first learning data set 51 (first sample 511 and first label 512) to the input layer 4121 of the first classifier 412, and performs arithmetic processing of the first classifier 412. Run. As a result, the first training unit 115 acquires an output value corresponding to the result of discriminating whether the input input sample is derived from the learning data or the first generator 411 from the output layer 4123 of the first classifier 412. In this scene, since the input input sample is the first sample 511, the correct answer is that the first classifier 412 identifies it as "true". The first training unit 115 calculates an error between the output value obtained from the output layer 4123 and the correct answer for each first learning data set 51.
  • the first training unit 115 fixes the value of the calculation parameter of the first generator 411, and adjusts the value of the calculation parameter of the first classifier 412 so that the sum of the calculated errors becomes small. ..
  • the input sample input to the first classifier 412 is generated by the first sample 511 or the first generator 411 obtained from any of the plurality of first training data sets 51.
  • the first classifier 412 can be trained to acquire the ability to discriminate between the pseudo-samples 515.
  • the first training unit 115 extracts noise 510 (latent variable) from a predetermined probability distribution for each first learning data set 51. Subsequently, the first training unit 115 inputs the extracted noise 510 and the first label 512 to the input layer 4111 of the first generator 411, and executes the arithmetic processing of the first generator 411. As a result, the first training unit 115 acquires the output (that is, the pseudo sample 515) corresponding to the result of generating the pseudo sample from the noise 510 and the first label 512 from the output layer 4113 of the first generator 411.
  • the process of generating the pseudo sample 515 may be executed in common in the first training step and the second training step. That is, the pseudo sample 515 generated in the first training step may also be used in the second training step.
  • the first training unit 115 inputs the generated pseudo sample 515 and the corresponding first label 512 to the input layer 4121 of the first classifier 412, and executes the arithmetic processing of the first classifier 412. As a result, the first training unit 115 acquires an output value corresponding to the result of discriminating whether the input input sample is derived from the learning data or the first generator 411 from the output layer 4123 of the first classifier 412. In the training of the first generator 411, the correct answer is to reduce the discrimination performance of the first classifier 412 (that is, the discrimination result is incorrect). That is, the correct answer is that the output value obtained from the output layer 4123 corresponds to "true". The first training unit 115 calculates the error between the output value obtained from the output layer 4123 and the correct answer for each pseudo sample 515.
  • the first training unit 115 fixes the value of the calculation parameter of the first classifier 412, and adjusts the value of the calculation parameter of the first generator 411 so that the sum of the calculated errors becomes small. ..
  • the first training unit 115 can train the first generator 411 so as to acquire the ability to generate a pseudo sample 515 that reduces the discrimination performance of the first classifier 412.
  • the first training unit 115 can alternately improve the performance of the first classifier 412 and the first generator 411 by alternately and repeatedly performing the first training step and the second training step. As a result, it is possible to improve the performance of the first generator 411 that generates the pseudo sample 515 that matches the first sample 511 in accordance with the improvement of the discrimination performance of the first classifier 412. Therefore, in the present embodiment, the trained first generator 411 capable of generating an appropriate pseudo sample including the first feature can be constructed by the above machine learning.
  • the processing order of the first training step and the second training step may be arbitrary.
  • the storage processing unit 119 After the machine learning is completed, the storage processing unit 119 generates information indicating the structure and calculation parameters of the constructed trained first generator 411 as the first learning result data 121. Then, the storage processing unit 119 stores the generated first learning result data 121 in a predetermined storage area.
  • the content of the first learning result data 121 does not have to be limited to such an example as long as the trained first generator 411 can be reproduced. For example, when the structure of the first generator 411 is shared among the devices, the information indicating the structure of the first generator 411 may be omitted in the first learning result data 121.
  • the first learning result data 121 may further include information indicating the structure and calculation parameters of the constructed and trained first classifier 412.
  • FIG. 7B schematically illustrates an example of the machine learning process of the second learning model 42 according to the present embodiment.
  • the configuration of the second learning model 42 is not particularly limited as long as the second generator 421 can be trained to generate a pseudo sample including the second feature of the type according to the input, and the embodiment It may be determined as appropriate according to the above.
  • the second learning model 42 further includes a second classifier 422, similarly to the first learning model 41.
  • the second generator 421 and the second classifier 422 may be configured by any machine learning model capable of performing machine learning.
  • the second generator 421 and the second classifier 422 are configured by a multi-layered neural network used for deep learning, similarly to the first generator 411 and the like.
  • the second generator 421 and the second classifier 422 include an input layer (4211, 4221), an intermediate (hidden) layer (4212, 4222), and an output layer (4213, 4223), respectively.
  • the structures of the second generator 421 and the second classifier 422 are not limited to such an example as in the case of the first generator 411 and the like, and are appropriately determined according to the embodiment. You can.
  • the number of layers constituting each neural network may be arbitrarily selected.
  • the structures of the second generator 421 and the second classifier 422 may or may not be at least partially matched.
  • Each layer (4211-4213, 4221-4223) comprises one or more neurons (nodes).
  • the number of neurons (nodes) included in each layer (4211 to 4213, 4221 to 4223) is not particularly limited and may be appropriately determined according to the embodiment.
  • Neurons in adjacent layers are appropriately connected. In the example of FIG. 7B, each neuron is connected to all neurons in adjacent layers. However, the connection relationship of each neuron does not have to be limited to such an example, and may be appropriately set according to the embodiment.
  • Weights are set for each join.
  • a threshold is set for each neuron. The threshold value may be expressed by an activation function. The type of activation function does not have to be particularly limited and may be appropriately selected depending on the embodiment.
  • the weight of the connection between each neuron and the threshold value of each neuron included in each layer (4211 to 4213, 4221 to 4223) are examples of arithmetic parameters of the second generator 421 and the second discriminator 422, respectively.
  • training the second generator 421 by machine learning alternately repeats the third training step for training the second discriminator 422 and the fourth training step for training the second generator 421. It is composed by doing.
  • the second training unit 116 indicates that the input sample input to the second classifier 422 is the second sample 521 or the second generator obtained from any of the plurality of second training data sets 52.
  • the second classifier 422 is trained to discriminate between the pseudosamples 525 produced by 421. In other words, the second classifier 422 is trained to discriminate whether the input sample is from a plurality of second training data sets 52 (training data) or from the second generator 421.
  • each origin is expressed by the same method as in FIG.
  • the second training unit 116 trains the second generator 421 so as to generate a pseudo sample 525 that reduces the discrimination performance of the second classifier 422. That is, the machine learning of the second learning model 42 is composed of hostile learning between the second generator 421 and the second discriminator 422.
  • the machine learning process of the second learning model 42 may be the same as the machine learning of the first learning model 41, except that the data to be handled is different. That is, in the third training step, first, the second training unit 116 extracts noise 520 (latent variable) from a predetermined probability distribution (for example, Gaussian distribution) for each second training data set 52. Subsequently, the second training unit 116 inputs the extracted noise 520 and the second label 522 to the input layer 4211 of the second generator 421, and executes the arithmetic processing of the second generator 421. As a result, the second training unit 116 acquires the output (that is, the pseudo sample 525) corresponding to the result of generating the pseudo sample from the noise 520 and the second label 522 from the output layer 4213 of the second generator 421.
  • the output that is, the pseudo sample 525
  • the second training unit 116 inputs the generated pseudo sample 525 and the corresponding second label 522 to the input layer 4221 of the second classifier 422, and executes the arithmetic processing of the second classifier 422. As a result, the second training unit 116 acquires the output value corresponding to the result of identification for the input sample from the output layer 4223 of the second classifier 422. In this scene, since the input sample is the pseudo sample 525, the correct answer is that the second classifier 422 identifies it as "false". The second training unit 116 calculates an error between the output value obtained from the output layer 4223 and the correct answer for each pseudo sample 525 generated by the second generator 421.
  • the second training unit 116 inputs each second learning data set 52 (second sample 521 and second label 522) to the input layer 4221 of the second classifier 422, and performs arithmetic processing of the second classifier 422. Run. As a result, the second training unit 116 acquires the output value corresponding to the result of identification for the input sample from the output layer 4223 of the second classifier 422. In this scene, since the input sample is the second sample 521, the correct answer is that the second classifier 422 identifies it as "true". The second training unit 116 calculates the error between the output value obtained from the output layer 4223 and the correct answer for each second learning data set 52.
  • the second training unit 116 fixes the value of the calculation parameter of the second generator 421, and adjusts the value of the calculation parameter of the second classifier 422 so that the sum of the calculated errors becomes small. ..
  • the input sample input to the second classifier 422 is generated by the second sample 521 or the second generator 421 obtained from any of the plurality of second training data sets 52.
  • the second classifier 422 can be trained to acquire the ability to discriminate between the pseudo-samples 525 that have been made.
  • the second training unit 116 extracts noise 520 (latent variable) from a predetermined probability distribution for each second training data set 52. Subsequently, the second training unit 116 inputs the extracted noise 520 and the second label 522 to the input layer 4211 of the second generator 421, and executes the arithmetic processing of the second generator 421. As a result, the second training unit 116 acquires the output (that is, the pseudo sample 525) corresponding to the result of generating the pseudo sample from the noise 520 and the second label 522 from the output layer 4213 of the second generator 421.
  • the process of generating the pseudo sample 525 may be executed in common in the third training step and the fourth training step. That is, the pseudo sample 525 generated in the third training step may also be used in the fourth training step.
  • the second training unit 116 inputs the generated pseudo sample 525 and the corresponding second label 522 to the input layer 4221 of the second classifier 422, and executes the arithmetic processing of the second classifier 422. As a result, the second training unit 116 acquires the output value corresponding to the result of identification for the input sample from the output layer 4223 of the second classifier 422.
  • the correct answer is to reduce the discrimination performance of the second classifier 422 (that is, the discrimination result is incorrect). That is, the correct answer is that the output value obtained from the output layer 4223 corresponds to "true".
  • the second training unit 116 calculates the error between the output value obtained from the output layer 4223 and the correct answer for each pseudo sample 525.
  • the second training unit 116 fixes the value of the calculation parameter of the second discriminator 422, and adjusts the value of the calculation parameter of the second generator 421 so that the sum of the calculated errors becomes small. ..
  • the second training unit 116 can train the second generator 421 so as to acquire the ability to generate a pseudo sample 525 that reduces the discrimination performance of the second classifier 422.
  • the second training unit 116 can alternately and repeatedly execute the third training step and the fourth training step to improve the performance of the second discriminator 422 and the second generator 421.
  • the trained second generator 421 capable of generating an appropriate pseudo sample including the second feature can be constructed by the above machine learning.
  • the processing order of the third training step and the fourth training step may be arbitrary.
  • the storage processing unit 119 After the machine learning is completed, the storage processing unit 119 generates information indicating the structure and calculation parameters of the constructed and trained second generator 421 as the second learning result data 122. Then, the storage processing unit 119 stores the generated second learning result data 122 in a predetermined storage area.
  • the content of the second learning result data 122 does not have to be limited to such an example as long as the trained second generator 421 can be regenerated. For example, when the structure of the second generator 421 is shared between the devices, the information indicating the structure of the second generator 421 may be omitted in the second learning result data 122.
  • the second learning result data 122 may further include information indicating the structure and calculation parameters of the constructed and trained second classifier 422.
  • FIG. 7C schematically illustrates an example of the machine learning process of the third learning model 43 according to the present embodiment.
  • the configuration of the third learning model 43 should be able to train the third generator 431 to generate pseudo-values (pseudo-values) of the attributes of the second feature of type and degree (reflection level) according to the input.
  • the third learning model 43 further includes a third classifier 432 as well as the first learning model 41 and the like.
  • the third generator 431 and the third classifier 432 may be configured by any machine learning model capable of performing machine learning.
  • the third generator 431 and the third classifier 432 are configured by a multi-layered neural network used for deep learning, similarly to the first generator 411 and the like.
  • the third generator 431 and the third classifier 432 include an input layer (4311, 4321), an intermediate (hidden) layer (4312, 4322), and an output layer (4313, 4323), respectively.
  • the structures of the third generator 431 and the third classifier 432 may not be limited to such an example as in the case of the first generator 411 and the like, and are appropriately determined according to the embodiment. You can.
  • the number of layers constituting each neural network may be arbitrarily selected.
  • the structures of the third generator 431 and the third classifier 432 may or may not be at least partially matched.
  • Each layer (4311-4313, 4321-4323) comprises one or more neurons (nodes).
  • the number of neurons (nodes) contained in each layer (4311 to 4313, 4321 to 4323) is not particularly limited and may be appropriately determined according to the embodiment.
  • Neurons in adjacent layers are appropriately connected. In the example of FIG. 7C, each neuron is connected to all neurons in adjacent layers. However, the connection relationship of each neuron does not have to be limited to such an example, and may be appropriately set according to the embodiment.
  • Weights are set for each join.
  • a threshold is set for each neuron. The threshold value may be expressed by an activation function. The type of activation function does not have to be particularly limited and may be appropriately selected depending on the embodiment.
  • the weight of the connection between each neuron and the threshold value of each neuron included in each layer (4311 to 4313, 4321 to 4323) are examples of arithmetic parameters of the third generator 431 and the third discriminator 432, respectively.
  • training the third generator 431 by machine learning alternately repeats the fifth training step for training the third classifier 432 and the sixth training step for training the third generator 431. It is composed by doing.
  • the third training unit 117 finds that the input value input to the third classifier 432 is a sample value 531 or a third generator 431 obtained from any of the plurality of third training data sets 53.
  • the third classifier 432 is trained to discriminate between the pseudo values 535 generated by.
  • the third classifier 432 is trained to discriminate whether the input value is derived from a plurality of third training data sets 53 (learning data) or a third generator 431.
  • each origin is expressed by the same method as in FIG.
  • the third training unit 117 trains the third generator 431 so as to generate a pseudo value 535 of the attribute of the second feature that deteriorates the discrimination performance of the third classifier 432. To do. That is, the machine learning of the third learning model 43 is composed of hostile learning between the third generator 431 and the third classifier 432.
  • the machine learning process of the third learning model 43 may be the same as the machine learning of the first learning model 41 or the like, except that the data to be handled is different. That is, in the fifth training step, first, the third training unit 117 extracts noise 530 (latent variable) from a predetermined probability distribution (for example, Gaussian distribution) for each third training data set 53. Subsequently, the third training unit 117 inputs the extracted noise 530, the corresponding reflection level 532, and the corresponding second label 522 to the input layer 4311 of the third generator 431, and performs arithmetic processing of the third generator 431. To execute.
  • noise 530 latent variable
  • a predetermined probability distribution for example, Gaussian distribution
  • the third training unit 117 produces an output (that is, a pseudo value 535) corresponding to the result of generating a pseudo value of the attribute of the second feature from the noise 530, the reflection level 532, and the second label 522. 3 Obtained from the output layer 4313 of the generator 431.
  • the third training unit 117 further inputs the corresponding first label 512 to the input layer 4311 of the third generator 431 to execute the above process. You may.
  • the third training unit 117 inputs the generated pseudo value 535, the corresponding reflection level 532, and the corresponding second label 522 to the input layer 4321 of the third classifier 432, and calculates the third classifier 432. Execute the process. As a result, the third training unit 117 acquires the output value corresponding to the result of identification with respect to the input value from the output layer 4323 of the third classifier 432. In this situation, since the input value is a pseudo value 535, the correct answer is that the third classifier 432 identifies it as "false". The third training unit 117 calculates an error between the output value obtained from the output layer 4323 and the correct answer for each pseudo value 535 generated by the third generator 431.
  • the third training unit 117 inputs each third learning data set 53 (sample value 531, reflection level 532, and second label 522) to the input layer 4321 of the third classifier 432, and inputs the third classifier 432 to the input layer 4321. Executes the arithmetic processing of. As a result, the third training unit 117 acquires the output value corresponding to the result of identification with respect to the input value from the output layer 4323 of the third classifier 432. In this situation, since the input value is the sample value 531, the correct answer is that the third classifier 432 identifies it as "true". The third training unit 117 calculates the error between the output value obtained from the output layer 4323 and the correct answer for each third learning data set 53. When each third training data set 53 further includes the first label 512, the third training unit 117 further inputs the corresponding first label 512 to the input layer 4321 of the third classifier 432 and executes the above process. You may.
  • the third training unit 117 fixes the value of the calculation parameter of the third generator 431, and adjusts the value of the calculation parameter of the third classifier 432 so that the sum of the calculated errors becomes small. ..
  • the input value input to the third classifier 432 is generated by the sample value 531 or the third generator 431 obtained from any of the plurality of third training data sets 53.
  • the third classifier 432 can be trained to acquire the ability to discriminate between pseudo values 535.
  • the third training unit 117 extracts noise 530 (latent variable) from a predetermined probability distribution for each third learning data set 53. Subsequently, the third training unit 117 inputs the extracted noise 530, the corresponding reflection level 532, and the corresponding second label 522 to the input layer 4311 of the third generator 431, and performs arithmetic processing of the third generator 431. To execute. As a result, the third training unit 117 produces an output (that is, a pseudo value 535) corresponding to the result of generating a pseudo value of the attribute of the second feature from the noise 530, the reflection level 532, and the second label 522. 3 Obtained from the output layer 4313 of the generator 431.
  • each third training data set 53 further includes the first label 512
  • the third training unit 117 further inputs the corresponding first label 512 to the input layer 4311 of the third generator 431 to execute the above process. You may.
  • the process of generating the pseudo value 535 may be executed in common in the fifth training step and the sixth training step. That is, the pseudo value 535 generated in the fifth training step may also be used in the sixth training step.
  • the third training unit 117 inputs the generated pseudo value 535, the corresponding reflection level 532, and the corresponding second label 522 to the input layer 4321 of the third classifier 432, and calculates the third classifier 432. Execute the process. As a result, the third training unit 117 acquires the output value corresponding to the result of identification with respect to the input value from the output layer 4323 of the third classifier 432. In the training of the third generator 431, the correct answer is to reduce the discrimination performance of the third classifier 432 (that is, the discrimination result is incorrect). That is, the correct answer is that the output value obtained from the output layer 4323 corresponds to "true".
  • the third training unit 117 calculates the error between the output value obtained from the output layer 4323 and the correct answer for each pseudo value 535.
  • the third training unit 117 further inputs the corresponding first label 512 to the input layer 4321 of the third classifier 432 and executes the above process. You may.
  • the third training unit 117 fixes the value of the calculation parameter of the third classifier 432 and adjusts the value of the calculation parameter of the third generator 431 so that the sum of the calculated errors becomes small. ..
  • the third training unit 117 can train the third generator 431 so as to acquire the ability to generate a pseudo value 535 that reduces the discrimination performance of the third classifier 432.
  • the third training unit 117 can alternately and repeatedly execute the fifth training step and the sixth training step to improve the performance of the third classifier 432 and the third generator 431.
  • the trained first is capable of generating an appropriate pseudo value of the attribute of the second feature according to the input value and noise corresponding to the reflection level 532 and the second label 522, respectively, by the above machine learning.
  • 3 Generator 431 can be constructed.
  • the attribute of the second feature is appropriate according to the input value and noise corresponding to each of the reflection level 532, the second label 522, and the first label 512.
  • a trained third generator 431 capable of generating pseudo values can be constructed.
  • the processing order of the fifth training step and the sixth training step may be arbitrary.
  • the storage processing unit 119 After the machine learning is completed, the storage processing unit 119 generates information indicating the structure and calculation parameters of the constructed and trained third generator 431 as the third learning result data 123. Then, the storage processing unit 119 stores the generated third learning result data 123 in a predetermined storage area.
  • the content of the third learning result data 123 does not have to be limited to such an example as long as the trained third generator 431 can be regenerated. For example, when the structure of the third generator 431 is shared among the devices, the information indicating the structure of the third generator 431 may be omitted in the third learning result data 123.
  • the third learning result data 123 may further include information indicating the structure and calculation parameters of the constructed and trained third classifier 432.
  • FIG. 7D schematically illustrates an example of the machine learning process of the estimator 44 according to the present embodiment.
  • the estimator 44 may be configured by any machine learning model capable of performing machine learning.
  • the estimator 44 is configured by a multi-layered neural network used for deep learning, like the first generator 411 and the like.
  • the estimator 44 includes an input layer 441, an intermediate (hidden) layer 442, and an output layer 443.
  • the structure of the estimator 44 does not have to be limited to such an example as in the case of the first generator 411 and the like, and may be appropriately determined according to the embodiment.
  • the number of layers constituting the neural network of the estimator 44 may be arbitrarily selected.
  • Each layer 441 to 443 includes one or more neurons (nodes).
  • the number of neurons (nodes) included in each layer 441 to 443 does not have to be particularly limited and may be appropriately determined according to the embodiment.
  • Neurons in adjacent layers are appropriately connected. In the example of FIG. 7D, each neuron is connected to all neurons in adjacent layers. However, the connection relationship of each neuron does not have to be limited to such an example, and may be appropriately set according to the embodiment.
  • Weights are set for each join.
  • a threshold is set for each neuron. The threshold value may be expressed by an activation function. The type of activation function does not have to be particularly limited and may be appropriately selected depending on the embodiment.
  • the weight of the connection between each neuron and the threshold value of each neuron included in each layer 441 to 443 are examples of the arithmetic parameters of the estimator 44.
  • the estimator 44 is to estimate the input given to the trained first generator 411 when generating the pseudo sample from the pseudo sample generated by the trained first generator 411 by machine learning. To be trained. Each fourth learning data set 54 used for this machine learning may be appropriately generated by utilizing the trained first generator 411. As an example, the sample value 541 of the input given to the trained first generator 411 is appropriately determined. The sample value 541 may be determined manually by the input of the operator, or may be automatically determined by a method such as random. The sample value 541 corresponds to the first label 512 indicating the type of the first feature. Noise 540 (latent variable) is extracted from a predetermined probability distribution (for example, Gaussian distribution) corresponding to the sample value 541.
  • a predetermined probability distribution for example, Gaussian distribution
  • the order of the process of determining the sample value 541 and the process of extracting the noise 540 may be arbitrary.
  • the extracted noise 540 and the sample value 541 are input to the input layer 4111 of the trained first generator 411, and the arithmetic processing of the trained first generator 411 is executed.
  • the output that is, the pseudo sample 542 corresponding to the result of generating the pseudo sample from the noise 540 and the sample value 541 can be obtained from the output layer 4113 of the trained first generator 411.
  • the generated pseudo sample 542 is associated with the corresponding noise 540 and sample value 541.
  • each fourth training data set 54 can be generated.
  • the fourth training unit 118 uses the plurality of fourth learning data sets 54 to perform machine learning of the estimator 44 configured by the neural network.
  • the fourth training unit 118 uses the pseudo sample 542 in each fourth training data set 54 as training data (input data), and uses the noise 540 and the sample value 541 as correct answer data (teacher signal). ).
  • the fourth training unit 118 inputs the pseudo sample 542 to the input layer 441 of the estimator 44 and executes the arithmetic processing of the estimator 44. As a result, the fourth training unit 118 sets the output value corresponding to the result of estimating the input given to the trained first generator 411 when generating the pseudo sample 542 from the pseudo sample 542 in the output layer of the estimator 44. Obtained from 443.
  • the output values obtained include a first estimate corresponding to the noise given to the trained first generator 411 and a second estimate corresponding to the sample value.
  • the fourth training unit 118 calculates the error between each estimated value and each of the noise 540 and the sample value 541 for each fourth training data set 54.
  • the fourth training unit 118 adjusts the value of the calculation parameter of the estimator 44 so that the sum of the calculated errors becomes small.
  • the fourth training unit 118 receives the input () from the pseudo sample 542 generated by the trained first generator 411 to the trained first generator 411 when generating the pseudo sample 542.
  • a trained estimator 44 can be constructed that has acquired the ability to estimate noise 540 and sample value 541).
  • the storage processing unit 119 After the machine learning is completed, the storage processing unit 119 generates information indicating the structure and calculation parameters of the constructed trained estimator 44 as the fourth learning result data 124. Then, the storage processing unit 119 stores the generated fourth learning result data 124 in a predetermined storage area.
  • the content of the fourth learning result data 124 does not have to be limited to such an example as long as the trained estimator 44 can be reproduced. For example, when the structure of the estimator 44 is shared among the devices, the information indicating the structure of the estimator 44 may be omitted in the fourth learning result data 124.
  • FIG. 7E schematically illustrates an example of the production process of the second sample 521 according to the present embodiment.
  • the second sample 521 of each second learning data set 52 can be generated by using the trained first generator 411 and the estimator 44 generated by the machine learning.
  • the second acquisition unit 112 acquires a plurality of third samples 551 of predetermined types of data, and a plurality of third samples 551 including the first feature and the second feature, respectively. Subsequently, the second acquisition unit 112 gives each third sample 551 to the trained estimator 44 to generate a trained first generator 411 to generate a pseudo sample corresponding to each third sample 551. Estimate each estimate of the input given to. The resulting estimates (first and second estimates) are the trained first generator 411 if the pseudosamples corresponding to each third sample 551 are generated by the trained first generator 411. Corresponds to the inputs (noise and input values) that would have been given to.
  • the second acquisition unit 112 gives the estimated estimated values (first estimated value and second estimated value) to the trained first generator 411 to provide a pseudo sample 555 for each third sample 551. Generate.
  • the pseudo sample 555 is an example of the "third pseudo sample” of the present invention.
  • the second acquisition unit 112 generates the second sample 521 of each second learning data set 52 by differentiating the pseudo sample 555 from each third sample 551.
  • the trained first generator 411 has acquired the ability to generate a pseudo sample including the first feature by the above machine learning, but has not acquired the ability to generate a pseudo sample including the second feature. Therefore, basically, in the obtained pseudo sample 555, the first feature is reproduced, but the second feature is not reproduced. Therefore, by the process of differentiating the pseudo sample 555 from the third sample 551, a sample that does not include the first feature and contains the second feature that can be used as the second sample 521 can be appropriately generated.
  • FIG. 8 schematically illustrates an example of the software configuration of the data generation device 2 according to the present embodiment.
  • the control unit 21 of the data generation device 2 expands the data generation program 82 stored in the storage unit 22 into the RAM. Then, the control unit 21 controls each component by interpreting and executing the instruction included in the data generation program 82 expanded in the RAM by the CPU.
  • the data generation device 2 according to the present embodiment operates as a computer including the reception unit 211, the first generation unit 212, the second generation unit 213, and the data synthesis unit 214 as software modules. To do. That is, in the present embodiment, like the learning device 1, each software module of the data generation device 2 is also realized by the control unit 11 (CPU).
  • the reception unit 211 accepts the designation of the first input value 221 and the second input value 223.
  • the first input value 221 corresponds to the first label 512 indicating the type of the first feature
  • the second input value 223 corresponds to the second label 522 indicating the type of the second feature.
  • the first generator 212 includes the trained first generator 411 by holding the first learning result data 121.
  • the first generation unit 212 extracts noise 220 (latent variable) from a predetermined probability distribution (for example, Gaussian distribution).
  • the first generation unit 212 generates the first pseudo sample 61 including the first feature by giving the extracted noise 220 and the first input value 221 to the trained first generator 411.
  • the second generator 213 includes a trained second generator 421 by holding the second learning result data 122.
  • the second generation unit 213 extracts noise 222 (latent variable) from a predetermined probability distribution (for example, Gaussian distribution).
  • the second generation unit 213 generates the second pseudo sample 62 including the second feature by giving the extracted noise 222 and the second input value 223 to the trained second generator 421.
  • the data synthesis unit 214 generates a new sample 65 of a predetermined type of data by synthesizing the generated first pseudo sample 61 and the generated second pseudo sample 62.
  • the method for synthesizing the first pseudo sample 61 and the second pseudo sample 62 does not have to be particularly limited, and may be appropriately determined according to the embodiment.
  • the data synthesizing unit 214 holds the third learning result data 123 to generate a trained third generation for generating the attribute value of the second feature according to the degree of reflecting the second feature. It is equipped with a vessel 431. Therefore, the first pseudo sample 61 and the second pseudo sample 62 can be synthesized while adjusting the degree of reflecting the second feature.
  • the reception unit 211 accepts the designation of the third input value 225 corresponding to the reflection level 532 indicating the degree to which the second feature is reflected.
  • the third input value 225 may be given depending on the limit of detection of the second component.
  • the data synthesis unit 214 extracts noise 224 from a predetermined probability distribution (for example, Gaussian distribution).
  • the data synthesis unit 214 generates the pseudo value 63 of the attribute of the second feature by giving the extracted noise 224, the second input value 223, and the third input value 225 to the trained third generator 431.
  • the third generator 431 is configured to be able to further input the input value corresponding to the first label 512. ..
  • the data synthesizing unit 214 gives the extracted noise 224, the first input value 221 and the second input value 223 and the third input value 225 to the trained third generator 431, so that the second input value is 221. Generates a pseudo value 63 for the feature attribute.
  • the data synthesis unit 214 converts the second pseudo sample 62 so that the value of the attribute of the second feature included in the second pseudo sample 62 matches the generated pseudo value 63, and the first pseudo sample 61.
  • the second pseudo sample 62 is synthesized in.
  • the specific processing contents of each of the conversion and the synthesis may be appropriately determined according to the type of data.
  • the data synthesis unit 214 according to the present embodiment generates a new sample 65 of a predetermined type of data.
  • FIG. 9 schematically illustrates an example of the software configuration of the estimation device 3 according to the present embodiment.
  • the control unit 31 of the estimation device 3 expands the estimation program 83 stored in the storage unit 32 into the RAM. Then, the control unit 31 controls each component by interpreting and executing the instruction included in the estimation program 83 expanded in the RAM by the CPU.
  • the estimation device 3 according to the present embodiment operates as a computer including the acquisition unit 311, the estimation unit 312, the output unit 313, and the setting unit 314 as software modules. That is, in the present embodiment, each software module of the estimation device 3 is also realized by the control unit 11 (CPU) as in the learning device 1 and the like.
  • the acquisition unit 311 acquires a target sample 325 for executing a predetermined estimation process for the second feature.
  • the estimation unit 312 executes a predetermined estimation process on the acquired target sample 325.
  • the estimation unit 312 includes a trained first generator 411 and an estimator 44 by holding the first and fourth learning result data (121, 124).
  • the estimation unit 312 detects the second component for the target sample 325 using the trained first generator 411 and the estimator 44 (in other words, determines whether or not the second feature exists). ) Execute the process.
  • the estimator 312 gives each of the inputs to the trained first generator 411 to generate a pseudo sample corresponding to the target sample 325 by giving the trained estimator 44 the target sample 325. Estimate the estimated value.
  • the obtained estimates (first and second estimates) are given to the trained first generator 411 if the pseudosample corresponding to the target sample 325 is generated by the trained first generator 411.
  • the estimation unit 312 generates a pseudo sample 326 by giving each estimated estimated value to the trained first generator 411.
  • the estimation unit 312 generates a difference sample 327 by differentiating the pseudo sample 326 from the target sample 325.
  • the estimation unit 312 detects the second component by using the difference sample 327.
  • the trained first generator 411 has acquired the ability to generate a pseudo sample including the first feature, but has not acquired the ability to generate a pseudo sample including the second feature. Therefore, even when both the first feature and the second feature appear in the target sample 325, basically, in the obtained pseudo sample 326, the first feature is reproduced, whereas the second feature is Not reproduced. Therefore, when the target sample 325 contains the second component (that is, the second feature appears), the difference sample 327 also contains the second component. On the other hand, when the target sample 325 does not contain the second component (that is, the second feature does not appear), the difference sample 327 also does not contain the second component. Therefore, the estimation unit 312 can detect the second component based on the degree to which the second component is contained in the difference sample 327.
  • the output unit 313 outputs information regarding the estimation result by the estimation unit 312 (in the present embodiment, the detection result of the second component).
  • the setting unit 314 sets the value of the parameter in the estimation process based on the sample 321 included in the data group 320. Samples in which the first feature and the second feature appear can be used as sample 321 of the data group 320. At least a part of the sample 321 included in the data group 320 may be the sample 65 generated by the data generation device 2.
  • each software module of the learning device 1, the data generation device 2, and the estimation device 3 will be described in detail in an operation example described later.
  • an example in which each software module of the learning device 1, the data generation device 2, and the estimation device 3 is realized by a general-purpose CPU is described.
  • some or all of the above software modules may be implemented by one or more dedicated processors.
  • software modules may be omitted, replaced, or added as appropriate according to the embodiment.
  • FIG. 10A is a flowchart showing an example of a processing procedure related to machine learning of the first learning model 41 by the learning device 1 according to the present embodiment.
  • the processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S101 the control unit 11 operates as the first acquisition unit 111 and acquires a plurality of first learning data sets 51.
  • Each first training data set 51 is composed of a combination of a first sample 511 including the first feature and a first label 512 indicating the type of the first feature.
  • the method for generating each first learning data set 51 does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • a sample in which the first feature appears is acquired.
  • the sample acquisition method may be appropriately determined according to the first feature and the type of data.
  • a predetermined type of data is sensing data
  • the second feature does not appear and the first feature appears. You can get a sample that appears.
  • a sample showing the background P11 including the product P1 can be obtained by photographing the product P1 without defects with a camera.
  • FIG. 2A a sample showing the background P11 including the product P1 can be obtained by photographing the product P1 without defects with a camera.
  • a sample including the environmental sound P21 can be obtained by recording the operating sound of the machine without abnormality with a microphone.
  • a sample in which the first feature appears can be obtained.
  • the type of the first feature appearing in the acquired sample is identified, and the information indicating the identified result is associated with the sample as a label.
  • the identification of the type of the first feature may be performed by an operator such as a user.
  • a classifier may be used to identify the type of the first feature.
  • the classifier may be configured to identify the type of the first feature by known information processing such as image analysis, voice analysis, etc., or may be trained to identify the type of the first feature from the sample of interest. It may be composed of a machine learning model.
  • the information indicating the result of identifying the type of the first feature is associated with the sample as a label.
  • each first training data set 51 can be generated.
  • Each first learning data set 51 may be automatically generated by the operation of a computer, or may be manually generated by at least partially including an operator's operation. Further, each first learning data set 51 may be generated by the learning device 1 or by a computer other than the learning device 1.
  • the control unit 11 automatically or manually executes the series of generation processes by the operator via the input device 15, thereby performing a plurality of the above-mentioned series of generation processes.
  • the first training data set 51 of the above is acquired.
  • the control unit 11 may use, for example, a plurality of first learning data sets 51 generated by the other computer via a network, a storage medium 91, or the like. To get.
  • Some first training data sets 51 may be generated by the learning device 1, and other first training data sets 51 may be generated by one or more other computers.
  • the number of first learning data sets 51 to be acquired does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • the control unit 11 proceeds to the next step S102.
  • Step S102 the control unit 11 operates as the first training unit 115, and uses the acquired plurality of first training data sets 51 to perform machine learning of the first learning model 41 including the first generator 411. carry out.
  • the control unit 11 first generates for each first learning data set 51 so as to acquire the ability to generate a pseudo sample that matches the first sample 511 from the first label 512. Train vessel 411.
  • the configuration of the first learning model 41 and the machine learning method are not particularly limited, and may be appropriately selected according to the embodiment.
  • the first learning model 41 since the first learning model 41 further includes the first classifier 412, the machine learning of the first learning model 41 can be carried out by the following method.
  • FIG. 10B is a flowchart showing an example of the processing procedure of the subroutine related to machine learning in step S102 in the first learning model 41 according to the present embodiment.
  • the process of step S102 according to the present embodiment includes the following processes of steps S1021 to S1023.
  • the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • the machine learning model constituting the first generator 411 and the first classifier 412 to be processed by machine learning may be appropriately prepared.
  • Structure of each of the first generator 411 and the first classifier 412 to be prepared (for example, the number of layers, the number of neurons contained in each layer, the connection relationship between neurons in adjacent layers, etc.), the weight of the connection between each neuron, etc.
  • the initial value of and the initial value of the threshold value of each neuron may be given by a template or by input of an operator.
  • the control unit 11 may prepare each of the first generator 411 and the first classifier 412 based on the learning result data obtained by performing the past machine learning. Good.
  • Step S1021 the control unit 11 trains the first classifier 412 to identify the origin of the input sample using the pseudo sample 515 generated by the first training data set 51 and the first generator 411. ..
  • a stochastic gradient descent method, a mini-batch gradient descent method, or the like may be used for this machine learning training process. The same applies to other machine learning processes such as step S1022 described later.
  • the control unit 11 gives the noise 510 and the first label 512 extracted from the predetermined probability distribution to the first generator 411 for each first learning data set 51, and the first generator 411.
  • Execute arithmetic processing That is, the control unit 11 inputs the noise 510 and the first label 512 to the input layer 4111 of the first generator 411, and determines the firing of each neuron included in each layer 4111 to 4113 in order from the input side (that is, in order). Performs propagation operations).
  • the control unit 11 acquires the output value corresponding to the pseudo sample 515 generated from the noise 510 and the first label 512 from the output layer 4113 for each first learning data set 51.
  • the control unit 11 inputs the generated pseudo sample 515 and the corresponding first label 512 to the input layer 4121 of the first classifier 412, and fires each neuron contained in each layer 4121 to 4123 in order from the input side. Make a judgment. As a result, the control unit 11 acquires an output value corresponding to the result of identifying the origin of the input sample from the output layer 4123 of the first classifier 412. In this scene, since the input input sample is the pseudo sample 515, it is correct to identify the first classifier 412 as "false". The control unit 11 calculates an error between the output value obtained from the output layer 4123 and the correct answer for each pseudo sample 515.
  • control unit 11 inputs each first learning data set 51 (first sample 511 and first label 512) to the input layer 4121 of the first classifier 412, and is included in each layer 4121 to 4123 in order from the input side.
  • the firing judgment of each neuron is performed.
  • the control unit 11 acquires an output value corresponding to the result of identifying the origin of the input sample from the output layer 4123 of the first classifier 412.
  • the correct answer is that the first classifier 412 identifies it as "true”.
  • the control unit 11 calculates an error between the output value obtained from the output layer 4123 and the correct answer for each pseudo sample 515.
  • a loss function may be used to calculate each error (loss).
  • the loss function is a function that evaluates the difference (that is, the degree of difference) between the output of the machine learning model and the correct answer. The calculated error value becomes large.
  • the type of loss function used for calculating the error does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
  • the control unit 11 uses the error gradient of the output value calculated by the back propagation method to perform each calculation parameter of the first classifier 412 (weight of connection between neurons, threshold value of each neuron). Etc.) Calculate the error of the value.
  • the control unit 11 updates the value of each calculation parameter of the first classifier 412 based on each calculated error.
  • the degree to which the value of each calculation parameter is updated may be adjusted by the learning rate.
  • the learning rate may be given by the operator's designation, or may be given as a set value in the program.
  • the control unit 11 fixes the value of each calculation parameter of the first generator 411, and then sets each calculation parameter of the first classifier 412 so that the sum of the errors calculated by the above series of update processing becomes small. Adjust the value of. For example, the control unit 11 adjusts the value of each calculation parameter of the first classifier 412 by the above series of processes until a predetermined condition such as execution is performed a specified number of times or the sum of the calculated errors becomes equal to or less than the threshold value. May be repeated. As a result, the control unit 11 identifies whether the input input sample is the first sample 511 obtained from any of the plurality of first training data sets 51 or the pseudo sample 515 generated by the first generator 411. A first classifier 412 trained to do so can be constructed. When the training process of the first classifier 412 is completed, the control unit 11 proceeds to the next step S1022.
  • step S1022 the control unit 11 trains the first generator 411 to generate a pseudo sample 515 that reduces the discrimination performance of the first classifier 412. In other words, the control unit 11 trains the first generator 411 to generate a pseudo sample 515 such that the first classifier 412 identifies it as "true" (ie, from the training data).
  • the control unit 11 gives the noise 510 and the first label 512 extracted from the predetermined probability distribution to the first generator 411 for each first learning data set 51 in the same manner as in step S1021. Then, a pseudo sample 515 is generated.
  • the control unit 11 may omit a series of processes for generating the pseudo sample 515 in this step S1022.
  • the control unit 11 inputs the generated pseudo sample 515 and the corresponding first label 512 to the input layer 4121 of the first classifier 412, and fires each neuron contained in each layer 4121 to 4123 in order from the input side. Make a judgment. As a result, the control unit 11 acquires an output value corresponding to the result of identifying the origin of the input sample from the output layer 4123 of the first classifier 412. In this situation, the correct answer is that the first classifier 412 misidentifies that the input sample is "true" (ie, derived from the training data). The control unit 11 calculates an error between the output value obtained from the output layer 4123 and the correct answer for each pseudo sample 515. Similar to the above, a loss function may be used to calculate the error.
  • the control unit 11 back-propagates the gradient of the error of the output value calculated by the error back-propagation method to each calculation parameter of the first generator 411 via the first classifier 412, and causes the first generator 411 to perform back-propagation. Calculate the error of the value of each operation parameter.
  • the control unit 11 updates the value of each calculation parameter of the first generator 411 based on each calculated error. Similar to the above, the degree to which the value of each calculation parameter is updated may be adjusted by the learning rate.
  • the control unit 11 fixes the value of each calculation parameter of the first classifier 412, and then sets each calculation parameter of the first generator 411 so that the sum of the errors calculated by the above series of update processing becomes small. Adjust the value of. Similar to the training of the first classifier 412, the control unit 11 may repeat the adjustment of the value of each calculation parameter of the first generator 411 by the series of processes until a predetermined condition is satisfied. As a result, the control unit 11 can construct the first generator 411 trained to generate the pseudo sample 515 that reduces the discrimination performance of the first classifier 412. When the training process of the first generator 411 is completed, the control unit 11 proceeds to the next step S1023.
  • step S1023 the control unit 11 determines whether or not to repeat the processes of step S1021 and step S1022.
  • the criteria for repeating the treatment may be appropriately determined according to the embodiment. For example, a specified number of times to repeat the process may be set. The specified number of times may be given, for example, by the operator's designation, or may be given as a set value in the program.
  • the control unit 11 determines whether or not the number of times the processes of step S1021 and step S1022 have been executed has reached the specified number of times. When it is determined that the number of executions has not reached the specified number of times, the control unit 11 returns the process to step S1021 and executes the processes of step S1021 and step S1022 again. On the other hand, when it is determined that the number of executions has reached the predetermined number of times, the control unit 11 completes the machine learning process of the first learning model 41 and proceeds to the next step S103.
  • control unit 11 alternately and repeatedly executes the training step of the first classifier 412 and the training step of the first generator 411.
  • the performance of the first classifier 412 and the first generator 411 can be alternately improved.
  • the ability to generate pseudosamples matching the first label 512 to the first sample 511 ie, pseudosamples containing the first feature of the type corresponding to the input value
  • a trained first generator 411 can be constructed.
  • Step S103 the control unit 11 operates as the storage processing unit 119 and generates information about the trained first generator 411 constructed by machine learning as the first learning result data 121. Then, the control unit 11 stores the generated first learning result data 121 in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
  • the storage medium may be, for example, a CD, a DVD, or the like, and the control unit 11 may store the first learning result data 121 in the storage medium via the drive 17.
  • the external storage device may be, for example, a data server such as NAS (Network Attached Storage). In this case, the control unit 11 may store the first learning result data 121 in the data server via the network by using the communication interface 13. Further, the external storage device may be, for example, an external storage device connected to the learning device 1 via the external interface 14.
  • control unit 11 ends a series of processes related to machine learning of the first learning model 41.
  • the generated first learning result data 121 may be provided to the data generation device 2 and the estimation device 3 at an arbitrary timing.
  • the control unit 11 may transfer the first learning result data 121 to each of the data generation device 2 and the estimation device 3 as the process of step S103 or separately from the process of step S103.
  • the data generation device 2 and the estimation device 3 may each acquire the first learning result data 121 by receiving this transfer.
  • the data generation device 2 and the estimation device 3 access the learning device 1 or the data server via the network by using the communication interfaces (23, 33), respectively, to obtain the first learning result data 121. You may get it.
  • the data generation device 2 and the estimation device 3 may acquire the first learning result data 121 via the storage media (92, 93), respectively.
  • the first learning result data 121 may be incorporated in each of the data generation device 2 and the estimation device 3 in advance.
  • control unit 11 may update or newly generate the first learning result data 121 by repeating the processes of steps S101 to S103 periodically or irregularly. At the time of this repetition, at least a part of the plurality of first training data sets 51 may be changed, modified, added, deleted, or the like as appropriate. Then, the control unit 11 provides the updated or newly generated first learning result data 121 to each of the data generation device 2 and the estimation device 3 by an arbitrary method, so that each of the data generation device 2 and the estimation device 3 can be provided.
  • the first learning result data 121 to be held may be updated.
  • FIG. 11A is a flowchart showing an example of a processing procedure related to machine learning of the second learning model 42 by the learning device 1 according to the present embodiment.
  • the processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S111 the control unit 11 operates as the second acquisition unit 112 and acquires a plurality of second learning data sets 52.
  • Each second training data set 52 is composed of a combination of a second sample 521 including a second feature different from the first feature and a second label 522 indicating the type of the second feature.
  • each of the second learning data sets 52 may be the same as those of the first learning data set 51.
  • a feature that is difficult to appear alone is selected as the second feature as in the examples of FIGS. 2A and 2B, it may be difficult to obtain a sample containing only the second feature.
  • a sample containing only the second feature may be generated by acquiring a sample containing the first feature and the second feature and appropriately processing the obtained sample.
  • the second sample 521 can be generated by using the trained first generator 411 and estimator 44. Details of information processing will be described later.
  • the number of the second learning data set 52 to be acquired does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • the control unit 11 proceeds to the next step S112.
  • Step S112 the control unit 11 operates as the second training unit 116, and uses the acquired plurality of second training data sets 52 to perform machine learning of the second learning model 42 including the second generator 421. carry out.
  • the control unit 11 secondly generates for each second learning data set 52 so as to acquire the ability to generate pseudosamples that match the second sample 521 from the second label 522. Train vessel 421.
  • the configuration of the second learning model 42 and the machine learning method are not particularly limited, and may be appropriately selected according to the embodiment.
  • the second learning model 42 since the second learning model 42 further includes the second classifier 422, the machine learning of the second learning model 42 can be carried out by the following method.
  • FIG. 11B is a flowchart showing an example of the processing procedure of the subroutine related to machine learning in step S112 in the second learning model 42 according to the present embodiment.
  • the process of step S112 according to the present embodiment includes the following processes of steps S1121 to S1123.
  • the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • the machine learning model constituting the second generator 421 and the second classifier 422 to be processed by machine learning may be appropriately prepared.
  • Step S1121 the control unit 11 trains the second classifier 422 to identify the origin of the input sample using the pseudo sample 525 generated by the second training data set 52 and the second generator 421. ..
  • step S1121 may be the same as that of step S1021 except that the learning data is replaced. That is, the control unit 11 generates a pseudo sample 525 by giving the noise 520 extracted from the predetermined probability distribution and the second label 522 to the second generator 421 for each second learning data set 52. The control unit 11 gives the generated pseudo sample 525 and the corresponding second label 522 to the second classifier 422, acquires the output value corresponding to the result of identifying the origin of the input sample, and acquires the output value. Calculate the error between the correct answer and the correct answer. Further, the control unit 11 gives each second learning data set 52 (second sample 521 and second label 522) to the second classifier 422, and acquires an output value corresponding to the result of identifying the origin of the input sample.
  • second learning data set 52 second sample 521 and second label 522
  • the control unit 11 calculates the error of the value of each calculation parameter of the second classifier 422 by using the gradient of the error of the output value calculated by the error back propagation method.
  • the control unit 11 updates the value of each calculation parameter of the second classifier 422 based on each calculated error.
  • the control unit 11 fixes the value of each calculation parameter of the second generator 421, and then sets each calculation parameter of the second classifier 422 so that the sum of the errors calculated by the above series of update processing becomes small. Adjust the value of. Similar to step S1021 and the like, the control unit 11 may repeatedly adjust the value of each calculation parameter of the second classifier 422 by the series of processes until a predetermined condition is satisfied.
  • control unit 11 identifies whether the input input sample is the second sample 521 obtained from any of the plurality of second training data sets 52 or the pseudo sample 525 generated by the second generator 421. A second classifier 422 trained to do so can be constructed. When the training process of the second classifier 422 is completed, the control unit 11 proceeds to the next step S1122.
  • step S1122 the control unit 11 trains the second generator 421 to generate a pseudo sample 525 that reduces the discrimination performance of the second classifier 422.
  • the control unit 11 trains the second generator 421 to generate a pseudo sample 525 such that the second classifier 422 identifies it as "true" (ie, from the training data).
  • step S1122 may be the same as that of step S1022, except that the learning data is replaced. That is, the control unit 11 gives the generated pseudo sample 525 and the corresponding second label 522 to the second classifier 422, acquires an output value corresponding to the result of identifying the origin of the input sample, and acquires the output value. Calculate the error between the output value and the correct answer (identify that it is derived from the learning data). The control unit 11 back-propagates the gradient of the error of the output value calculated by the error back-propagation method to each calculation parameter of the second generator 421 via the second classifier 422, and causes the second generator 421 to perform back-propagation. Calculate the error of the value of each operation parameter.
  • the control unit 11 updates the value of each calculation parameter of the second generator 421 based on each calculated error.
  • the control unit 11 fixes the value of each calculation parameter of the second classifier 422, and then sets each calculation parameter of the second generator 421 so that the sum of the errors calculated by the above series of update processing becomes small. Adjust the value of. Similar to step S1021 and the like, the control unit 11 may repeatedly adjust the value of each calculation parameter of the second generator 421 by the series of processes until a predetermined condition is satisfied.
  • control unit 11 can construct the second generator 421 trained to generate the pseudo sample 525 that deteriorates the discrimination performance of the second classifier 422.
  • the control unit 11 proceeds to the next step S1123.
  • Step S1123 the control unit 11 determines whether or not to repeat the processes of step S1121 and step S1122. Similar to step S1023, the criteria for repeating the process may be appropriately determined according to the embodiment. When it is determined that the processing is repeated, the control unit 11 returns the processing to step S1121 and executes the processing of step S1121 and step S1122 again. On the other hand, if it is determined that the process is not repeated, the control unit 11 completes the machine learning process of the second learning model 42, and proceeds to the next step S113.
  • control unit 11 alternately and repeatedly executes the training step of the second classifier 422 and the training step of the second generator 421.
  • the performance of the second classifier 422 and the second generator 421 can be alternately improved.
  • the ability to generate pseudosamples matching the second label 522 to the second sample 521 ie, pseudosamples containing the second feature of the type corresponding to the input value
  • a trained second generator 421 can be constructed.
  • Step S113 the control unit 11 operates as the storage processing unit 119 and generates information about the trained second generator 421 constructed by machine learning as the second learning result data 122. Then, the control unit 11 stores the generated second learning result data 122 in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
  • the control unit 11 ends a series of processes related to machine learning of the second learning model 42. Similar to the first learning result data 121, the generated second learning result data 122 may be provided to the data generation device 2 at an arbitrary timing. Further, the processes of steps S111 to S113 may be repeated periodically or irregularly. Then, the second learning result data 122 held by the data generation device 2 may be updated by providing the updated or newly generated second learning result data 122 to the data generation device 2 by an arbitrary method. ..
  • FIG. 12A is a flowchart showing an example of a processing procedure related to machine learning of the third learning model 43 by the learning device 1 according to the present embodiment.
  • the processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S121 the control unit 11 operates as the third acquisition unit 113 to acquire a plurality of third learning data sets 53.
  • Each third training data set 53 is composed of a combination of a sample value 531 of the attribute of the second feature, a reflection level 532 indicating the degree of reflecting the second feature, and a second label 522.
  • Each third training data set 53 may further include a first label 512.
  • each third learning data set 53 may be the same as those of the first learning data set 51 and the like.
  • the second label 522 may be common to the second training data set 52, or may be newly generated separately from the second training data set 52. The same applies to the first label 512.
  • the information indicating the type of the first feature included in the original sample is included with the corresponding second label 522. It may be included in the third training data set 53 as the first label 512.
  • the sample value 531 and the reflection level 532 may be given as appropriate.
  • the sample value 531 and the reflection level 532 may be specified from the sample containing the second feature or may be specified by the operator.
  • the reflection level 532 may be specified from the sample value 531 of the attribute according to the index for evaluating the attribute of the second feature. Indicators may be given as appropriate.
  • the index is configured to determine the reflection level 532 according to the size of the defect. Good.
  • the reflection level 532 may be set in relation to the event in which the second feature appears.
  • FIG. 1 in the example of FIG.
  • the reflection level 532 may be set in relation to the degree of defects such as the severity of defects and the quality level of products. Further, in the example of FIG. 2B, the reflection level 532 may be set in relation to the degree of abnormality such as the severity of abnormality and the normality of the machine. Further, the reflection level 532 may be composed of either a discrete value or a continuous value. However, from the viewpoint of enriching the expressions to the extent that the second feature is reflected, the reflection level 532 is preferably composed of continuous values.
  • the number of the third learning data set 53 to be acquired does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • the control unit 11 proceeds to the next step S122.
  • Step S122 the control unit 11 operates as the third training unit 117, and uses the acquired plurality of third training data sets 53 to perform machine learning of the third learning model 43 including the third generator 431. carry out.
  • the control unit 11 In the machine learning of the third learning model 43, the control unit 11 generates a pseudo value of the attribute of the second feature that matches the sample value 531 from the reflection level 532 and the second label 522 for each third learning data set 53. Train the third generator 431 to acquire the ability.
  • the configuration of the third learning model 43 and the machine learning method may not be particularly limited, and may be appropriately selected according to the embodiment.
  • the third learning model 43 since the third learning model 43 further includes the third classifier 432, the machine learning of the third learning model 43 can be carried out by the following method.
  • FIG. 12B is a flowchart showing an example of the processing procedure of the subroutine related to machine learning in step S122 in the third learning model 43 according to the present embodiment.
  • the process of step S122 according to the present embodiment includes the following processes of steps S1221 to S1223.
  • the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment. Similar to the first learning model 41 and the like, the machine learning model constituting the third generator 431 and the third classifier 432 to be processed by machine learning may be appropriately prepared.
  • step S1221 the control unit 11 trains the third classifier 432 to identify the origin of the input value using the pseudo value 535 generated by the third training data set 53 and the third generator 431. ..
  • step S1221 may be the same as that of step S1021 or the like, except that the learning data is replaced. That is, the control unit 11 gives the noise 530, the reflection level 532, and the second label 522 extracted from the predetermined probability distribution to the third generator 431 for each third learning data set 53, so that the second feature is characterized. Generates a pseudo value of 535 for the attribute. The control unit 11 gives the generated pseudo value 535, the corresponding reflection level 532, and the corresponding second label 522 to the third classifier 432, and acquires the output value corresponding to the result of identifying the origin of the input value. , Calculate the error between the acquired output value and the correct answer.
  • control unit 11 gives each third learning data set 53 (sample value 531, reflection level 532, and second label 522) to the third classifier 432, and corresponds to the result of identifying the origin of the input value.
  • the output value is acquired, and the error between the acquired output value and the correct answer is calculated.
  • the control unit 11 calculates the error of the value of each calculation parameter of the third classifier 432 by using the gradient of the error of the output value calculated by the error back propagation method.
  • the control unit 11 updates the value of each calculation parameter of the third classifier 432 based on each calculated error.
  • the control unit 11 fixes the value of each calculation parameter of the third generator 431, and then, after fixing the value of each calculation parameter of the third generator 431, each calculation parameter of the third classifier 432 so that the sum of the errors calculated by the above series of update processing becomes small. Adjust the value of. Similar to step S1021 and the like, the control unit 11 may repeatedly adjust the value of each calculation parameter of the third classifier 432 by the series of processes until a predetermined condition is satisfied.
  • control unit 11 identifies whether the input input value is the sample value 531 obtained from any of the plurality of third training data sets 53 or the pseudo value 535 generated by the third generator 431.
  • a third classifier 432 trained in this way can be constructed.
  • the control unit 11 proceeds to the next step S1222.
  • Step S1222 the control unit 11 trains the third generator 431 to generate a pseudo value 535 that reduces the discrimination performance of the third classifier 432.
  • the control unit 11 trains the third generator 431 to generate a pseudo value 535 such that the third classifier 432 identifies it as "true” (ie, identifies it as derived from the learning data).
  • step S1222 may be the same as that of step S1022 or the like, except that the learning data is replaced. That is, the control unit 11 gives the generated pseudo value 535, the corresponding reflection level 532, and the corresponding second label 522 to the third classifier 432, and outputs the output value corresponding to the result of identifying the origin of the input value. It is acquired and the error between the acquired output value and the correct answer (identified as being derived from the learning data) is calculated. The control unit 11 back-propagates the gradient of the error of the output value calculated by the error back-propagation method to each calculation parameter of the third generator 431 via the third classifier 432, and causes the third generator 431 to perform back-propagation.
  • the control unit 11 updates the value of each calculation parameter of the third generator 431 based on each calculated error.
  • the control unit 11 fixes the value of each calculation parameter of the third classifier 432, and then sets each calculation parameter of the third generator 431 so that the sum of the errors calculated by the above series of update processing becomes small. Adjust the value of. Similar to step S1021 and the like, the control unit 11 may repeatedly adjust the value of each calculation parameter of the third generator 431 by the series of processes until a predetermined condition is satisfied.
  • control unit 11 can construct the third generator 431 trained to generate a pseudo value 535 that deteriorates the discrimination performance of the third classifier 432.
  • the control unit 11 proceeds to the next step S1223.
  • step S1223 the control unit 11 determines whether or not to repeat the processes of step S1221 and step S1222. Similar to step S1023 and the like, the criteria for repeating the process may be appropriately determined according to the embodiment. When it is determined that the processing is repeated, the control unit 11 returns the processing to step S1221 and executes the processing of step S1221 and step S1222 again. On the other hand, if it is determined that the process is not repeated, the control unit 11 completes the machine learning process of the third learning model 43, and proceeds to the next step S123.
  • control unit 11 alternately and repeatedly executes the training step of the third classifier 432 and the training step of the third generator 431.
  • the performance of the third classifier 432 and the third generator 431 can be alternately improved.
  • the pseudo-values of the attributes of the second feature that match the reflection level 532 and the second label 522 to the sample value 531 ie, the second feature of the type and degree corresponding to the input value. It is possible to construct a trained third generator 431 that has acquired the ability to generate a pseudo-value of the attribute of.
  • each third training data set 53 further includes the first label 512
  • the first label 512 is further added to the inputs of the third generator 431 and the third classifier 432 in each of the above training steps. You can do it.
  • the control unit 11 has the ability to generate pseudo values of the attributes of the second feature that match the sample value 531 from the reflection level 532, the first label 512, and the second label 522 for each third training data set 53.
  • the acquired trained third generator 431 can be constructed.
  • Step S123 the control unit 11 operates as the storage processing unit 119 and generates information about the trained third generator 431 constructed by machine learning as the third learning result data 123. Then, the control unit 11 stores the generated third learning result data 123 in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
  • the control unit 11 ends a series of processes related to machine learning of the third learning model 43.
  • the generated third learning result data 123 may be provided to the data generation device 2 at an arbitrary timing. Further, the processes of steps S121 to S123 may be repeated periodically or irregularly. Then, the third learning result data 123 held by the data generation device 2 may be updated by providing the updated or newly generated third learning result data 123 to the data generation device 2 by an arbitrary method. ..
  • FIG. 13 is a flowchart showing an example of a processing procedure related to machine learning of the estimator 44 by the learning device 1 according to the present embodiment.
  • the processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S131 the control unit 11 operates as the fourth acquisition unit 114 and acquires a plurality of fourth learning data sets 54.
  • Each fourth training data set 54 is composed of a combination of an input sample given to the trained first generator 411 and a pseudo sample 542 generated by feeding the sample to the trained first generator 411.
  • the input sample is composed of noise 540 and sample value 541.
  • Each fourth training data set 54 may be appropriately generated by using the trained first generator 411. Further, similarly to the first learning data set 51 and the like, the generation of each fourth learning data set 54 may be performed by the learning device 1 or by a computer other than the learning device 1. .. Some fourth training data sets 54 may be generated by the learning device 1, and other fourth training data sets 54 may be generated by one or more other computers.
  • the number of the fourth learning data set 54 to be acquired does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • the control unit 11 proceeds to the next step S132.
  • Step S132 the control unit 11 operates as the fourth training unit 118, and uses the acquired plurality of fourth training data sets 54 to perform machine learning of the estimator 44.
  • machine learning for each fourth learning data set 54, each estimated value obtained by estimating the input given to the trained first generator 411 from the pseudo sample 542 by the estimator 44 is obtained. Train the estimator 44 to fit the corresponding noise 540 and sample value 541 respectively.
  • the control unit 11 inputs a pseudo sample 542 to the input layer 441 of the estimator 44 for each fourth learning data set 54, and determines the firing of each neuron included in each layer 441 to 443 in order from the input side. I do.
  • the control unit 11 acquires the output values corresponding to the first estimated value and the second estimated value of the input given to the trained first generator 411 when generating the pseudo sample 542 from the output layer 443. To do.
  • the control unit 11 calculates the error between each estimated value and the corresponding noise 540 and sample value 541. Similar to step S1021 and the like, the loss function may be used to calculate the error.
  • the control unit 11 calculates the error of the value of each calculation parameter of the estimator 44 by using the gradient of the error calculated by the error back propagation method.
  • the control unit 11 updates the value of each calculation parameter of the estimator 44 based on each calculated error. Similar to step S1021 and the like, the degree to which the value of each calculation parameter is updated may be adjusted by the learning rate.
  • the control unit 11 adjusts the value of each calculation parameter of the estimator 44 so that the sum of the errors calculated by the above series of update processes becomes small. Similar to step S1021 and the like, the control unit 11 may repeatedly adjust the value of the calculation parameter of the estimator 44 by the above series of processes until a predetermined condition is satisfied.
  • control unit 11 is trained when generating the pseudo sample 542 from the pseudo sample 542 generated by the trained first generator 411 for each of the fourth training data sets 54.
  • a trained estimator 44 can be constructed that has acquired the ability to estimate the inputs given to the 411 (noise 540 and sample value 541).
  • the control unit 11 proceeds to the next step S133.
  • Step S133 the control unit 11 operates as the storage processing unit 119 and generates information about the trained estimator 44 constructed by machine learning as the fourth learning result data 124. Then, the control unit 11 stores the generated fourth learning result data 124 in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
  • the control unit 11 ends a series of processes related to machine learning of the estimator 44.
  • the generated fourth learning result data 124 may be provided to the estimation device 3 at an arbitrary timing. Further, the processes of steps S131 to S133 may be repeated periodically or irregularly. Then, the fourth learning result data 124 held by the estimation device 3 may be updated by providing the updated or newly generated fourth learning result data 124 to the estimation device 3 by an arbitrary method.
  • FIG. 14 is a flowchart showing an example of a processing procedure relating to generation of the second sample 521.
  • the processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • the following steps S141 to S144 may be executed in step S111.
  • Step S141 the control unit 11 acquires a plurality of third samples 551 including the first feature and the second feature, respectively.
  • each third sample 551 may be the same as the generation method and acquisition method of the first sample 511 of the first training data set 51.
  • the third sample 551 can be generated by photographing the defective product P1 with a camera.
  • the third sample 551 can be generated by recording the operating sound of the abnormal machine with a microphone.
  • the number of the third sample 551 to be acquired does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • the control unit 11 proceeds to the next step S142.
  • the control unit 11 may execute the process of the following step S142 each time when one third sample 551 is acquired, or after acquiring a plurality of third samples 551, each third sample 551 may be executed.
  • the process of step S142 below may be executed for the sample 551.
  • Step S142 the control unit 11 feeds the trained estimator 44 each third sample 551 to the trained first generator 411 to generate a pseudo sample corresponding to each third sample 551.
  • Estimate each estimate of the given input That is, the control unit 11 inputs each third sample 551 into the input layer 441 of the trained estimator 44, and determines the firing of each neuron included in each layer 441 to 443 in order from the input side.
  • the control unit 11 would have given each estimated value of the input to the trained first generator 411 if the pseudo sample corresponding to each third sample 551 was generated by the trained first generator 411.
  • the output value corresponding to is obtained from the output layer 443.
  • the control unit 11 proceeds to the next step S143.
  • step S143 the control unit 11 gives each of the obtained estimated values to the trained first generator 411 to generate a pseudo sample 555 for each third sample 551. That is, the control unit 11 inputs each estimated value to the input layer 4111 of the trained first generator 411, and determines the firing of each neuron included in each layer 4111 to 4113 in order from the input side. As a result, the control unit 11 acquires the output value corresponding to the pseudo sample 555 generated from each estimated value from the output layer 4113. When the pseudo sample 555 is acquired, the control unit 11 proceeds to the next step S144.
  • Step S144 the control unit 11 calculates the difference between the obtained pseudo sample 555 and the corresponding third sample 551. As described above, by this difference processing, it is possible to appropriately generate a sample that does not include the first feature and contains the second feature, which can be used as the second sample 521. As a result, when the generation of the second sample 521 is completed, the control unit 11 ends a series of processes related to the generation of the second sample 521. According to this series of processes, the second sample 521 can be automatically generated from the third sample 551, so that the second sample 521 can be obtained at low cost.
  • the processing procedure related to machine learning of the first to third learning models 41 to 43 and the processing procedure related to the generation of the second sample 521 are examples of the "learning method" of the present invention.
  • the learning method does not necessarily have to include all the above-mentioned processes, and may be configured by appropriately combining the respective processes of the above-mentioned processing procedures.
  • the learning method may be referred to as a model generation method for generating each trained machine learning model or simply a generation method.
  • FIG. 15 is a flowchart showing an example of the processing procedure of the data generation device 2 according to the present embodiment.
  • the processing procedure described below is an example of the "data generation method" of the present invention.
  • each processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S201 the control unit 21 operates as the reception unit 211 and receives the designation of the first input value 221 and the second input value 223 and the third input value 225.
  • the first input value 221 and the second input value 223, and the third input value 225 in the sample generation part correspond to the first label 512, the second label 522, and the reflection level 532 in the learning part. That is, the first input value 221 and the second input value 223, and the third input value 225 reflect the type of the first feature, the type of the second feature, and the second feature included in the sample desired to be generated. It is specified according to.
  • FIG. 16 schematically illustrates an example of a reception screen for accepting the designation of each input value (221, 223, 225) in the scene of generating a new sample 65 of the image data exemplified in FIG. 2A.
  • the reception screen is an example of a user interface for receiving input of each input value (221, 223, 225).
  • the control unit 21 may output the reception screen to the output device 26 in step S201.
  • the control unit 21 may accept the designation of each input value (221, 223, 225) by the operator via the input device 25.
  • the reception screen illustrated in FIG. 16 includes a first input field 261 and a second input field 262, a slide bar 263, a display area 264, a generation button 265, and a save button 266.
  • the first input field 261 is used to specify the first input value 221.
  • the control unit 21 may acquire the first input value 221 accordingly.
  • the second input field 262 is used to specify the second input value 223.
  • the type of the second feature is specified, and the control unit 21 may acquire the second input value 223 accordingly.
  • the slide bar 263 is used to specify the third input value 225. Compared to the first input value 221 and the second input value 223 that specify the types of the first feature and the second feature, the third input value 225 that specifies the degree to reflect the second feature can be changed more frequently. Therefore, by using the slide bar type user interface for specifying the third input value 225, it is possible to reduce the trouble of specifying the input value when generating a new sample 65.
  • the slide bar 263 is configured so that the degree of reflecting the second feature can be set in the range of 0 to 10, but the numerical range of the degree of reflecting the second feature is this. It does not have to be limited to such an example, and may be set arbitrarily.
  • a new sample 65 generated by the process described later is displayed by using each designated input value (221, 223, 225).
  • the format of the display area 264 may be appropriately determined according to the type of data of the sample 65 to be generated.
  • the generate button 265 starts executing a process for generating a new sample 65 using each input value (221, 223, 225) specified by each input field (261, 262) and the slide bar 263. Used to do.
  • the control unit 21 may proceed to the next step S202 in response to the operation of the generation button 265.
  • the save button 266 is used to save the generated sample 65.
  • each input value (221, 223, 225) does not have to be limited to such an example, and may be appropriately determined according to the embodiment.
  • a play button for playing the generated new sample 65 may be further provided.
  • each input value (221, 223, 225) may be specified by a simple numerical input.
  • Step S202 the control unit 21 operates as the first generation unit 212, and sets the trained first generator 411 with reference to the first learning result data 121.
  • the control unit 21 extracts the noise 220 from a predetermined probability distribution.
  • the control unit 21 inputs the extracted noise 220 and the acquired first input value 221 to the input layer 4111 of the trained first generator 411, and is included in each layer 4111 to 4113 in order from the input side.
  • the firing judgment of each neuron is performed.
  • the control unit 21 is the first pseudo sample 61 generated from the noise 220 and the first input value 221 and includes the first pseudo sample 61 of the type specified by the first input value 221.
  • the output value corresponding to is acquired from the output layer 4113.
  • the control unit 21 proceeds to the next step S203.
  • Step S203 the control unit 21 operates as the second generation unit 213, and sets the trained second generator 421 with reference to the second learning result data 122.
  • the control unit 21 extracts noise 222 from a predetermined probability distribution.
  • the control unit 21 inputs the extracted noise 222 and the acquired second input value 223 to the input layer 4211 of the trained second generator 421, and is included in each layer 4211 to 4213 in order from the input side.
  • the firing judgment of each neuron is performed.
  • the control unit 21 is the second pseudo sample 62 generated from the noise 222 and the second input value 223, and includes the second pseudo sample 62 of the type specified by the second input value 223.
  • the output value corresponding to is acquired from the output layer 4213.
  • the control unit 21 proceeds to the next step S204.
  • Step S204 the control unit 21 operates as the data synthesis unit 214, and sets the trained third generator 431 with reference to the third learning result data 123.
  • the control unit 21 extracts noise 224 from a predetermined probability distribution.
  • the control unit 21 inputs the extracted noise 224, the acquired second input value 223, and the acquired third input value 225 into the input layer 4311 of the trained third generator 431 and inputs them.
  • the firing determination of each neuron contained in each layer 4311 to 4313 is performed in order from the side.
  • the control unit 21 is a pseudo value 63 generated from the noise 224, the second input value 223, and the third input value 225, and the type and the type specified by the second input value 223 and the third input value 225.
  • the output value corresponding to the pseudo value 63 of the attribute of the second feature of the degree is acquired from the output layer 4313.
  • the control unit 21 When machine learning of the third generator 431 is further performed using the first label 512, the control unit 21 inputs the first input value 221 acquired to the input layer 4311 of the trained third generator 431. Further input is performed to execute the above arithmetic processing of the trained third generator 431. As a result, the control unit 21 reflects the second feature in the first feature designated by the first input value 221 with the type and degree specified by the second input value 223 and the third input value 225. The value 63 can be obtained.
  • step S205 The processing order of steps S202 to S204 does not have to be limited to such an example, and may be arbitrary. Each noise (220, 222, 224) may be acquired either in common or separately. Further, when step S204 is executed after step S202, the learning device 1 may execute machine learning of the estimator 44 between steps S202 and S204. In this case, the first pseudo sample 61 generated in step S202 may also be used as the pseudo sample 542. Alternatively, since the step S131 includes the step S201, the generated pseudo sample 542 may also be used as the first pseudo sample 61 in the step S202.
  • Step S205 the control unit 21 operates as the data synthesis unit 214, and sets the second pseudo sample 62 so that the value of the attribute of the second feature included in the second pseudo sample 62 matches the generated pseudo value 63.
  • the second pseudo sample 62 is synthesized with the first pseudo sample 61.
  • the specific processing contents of each of the conversion and the synthesis may be appropriately determined according to the type of data. For example, when a predetermined type of data is image data, the conversion may consist of scaling, translation, rotation, or a combination thereof. Further, for example, when a predetermined type of data is signal data, the conversion may be configured by increasing / decreasing the amplitude, changing the frequency, increasing / decreasing the frequency of appearance, or a combination thereof.
  • the composition may be configured, for example, by superimposing additions.
  • the sample including the first feature, the sample containing the second feature, and the input of the attribute value of the second feature according to the degree of reflection are both so as to match the input attribute value.
  • a trained machine learning model that has acquired the ability to output the results of synthesizing samples may be used.
  • This trained machine learning model may be constructed by machine learning using a plurality of training data sets each composed of a combination of training data (input data) and correct answer data (teacher signal).
  • the training data is composed of, for example, a sample for the first training including the first feature, a sample for the second training including the second feature, and a sample value of the attribute of the second feature according to the degree of reflection.
  • the correct answer data is composed of, for example, a sample of the corresponding synthesis result.
  • control unit 21 generates a new sample 65 of a predetermined type of data.
  • the control unit 21 ends the processing procedure according to this operation example.
  • the control unit 21 may display the generated new sample 65 in the display area 264 of the reception screen.
  • control unit 21 executes the above series of processes to generate a new sample 65, and displays the generated new sample 65 in the display area 264. It may be displayed in. This allows the operator to confirm the variation in the appearance of the second feature in the generated sample 65, which corresponds to the adjustment to the extent that the operation of the slide bar 263 reflects the second feature.
  • control unit 21 may save the generated new sample 65 in a predetermined storage area in response to the operation of the save button 266.
  • the predetermined storage area may be, for example, a RAM in the control unit 21, a storage unit 22, an external storage device, a storage medium, or a combination thereof.
  • the generated new sample 65 may be provided to the estimation device 3 at any time.
  • control unit 21 may extract a plurality of noises (220, 222, 224) for each of the same input values (221, 223, 225). As a result, the control unit 21 may generate a plurality of new samples 65 using the same input values (221, 223, 225). A plurality of new samples 65 generated may be displayed in the display area 264, and a selection of a sample 65 to be saved may be accepted from these. In this case, the control unit 21 may save one or a plurality of samples 65 selected from the generated plurality of samples 65 in a predetermined storage area according to the operation of the save button 266.
  • FIG. 17A is a flowchart showing an example of the processing procedure of the estimation device 3 according to the present embodiment.
  • the processing procedure described below is an example of an estimation method. However, each processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S301 the control unit 31 operates as the acquisition unit 311 to acquire the target sample 325.
  • the method for acquiring the target sample 325 may be appropriately determined according to the type of data.
  • the target sample 325 can be acquired by observing the estimation target for the second feature with the sensor.
  • the target sample 325 can be obtained by photographing the product to be inspected with a camera.
  • the target sample 325 can be obtained by recording the operating sound of the machine to be inspected with a microphone.
  • the control unit 31 may acquire the target sample 325 directly or indirectly from the sensor. When the target sample 325 is acquired, the control unit 31 proceeds to the next step S302.
  • Step S302 the control unit 31 operates as the estimation unit 312, analyzes the target sample 325 using the data group 320, and executes the estimation process related to the second feature on the target sample 325.
  • the control unit 31 executes a process of detecting the second component in the target sample 325 by using the trained first generator 411 and the estimator 44 as the estimation process.
  • control unit 31 sets the trained first generator 411 and the estimator 44 with reference to the first and fourth learning result data (121, 124).
  • the control unit 31 inputs the target sample 325 into the input layer 441 of the trained estimator 44, and determines the firing of each neuron included in each layer 441 to 443 in order from the input side.
  • the control unit 31 corresponds to each estimated value of the input that would have been given to the trained first generator 411 if the pseudo sample corresponding to the target sample 325 was generated by the trained first generator 411.
  • the output value to be output is obtained from the output layer 443.
  • control unit 31 inputs each of the acquired estimated values to the input layer 4111 of the trained first generator 411, and determines the firing of each neuron included in each layer 4111 to 4113 in order from the input side. As a result, the control unit 31 acquires the output value corresponding to the pseudo sample 326 generated from each estimated value from the output layer 4113.
  • the control unit 31 generates a difference sample 327 by differentiating the pseudo sample 326 from the target sample 325.
  • the preprocessing may be applied to the target sample 325 and the pseudo sample 326.
  • the preprocessing for converting the time series data such as Fourier transform into the frequency data is the target sample 325 and the pseudo sample 325. It may be applied to sample 326.
  • the control unit 31 detects the second component by using the generated difference sample 327.
  • FIG. 17B schematically illustrates an example of a processing process for detecting a second component (that is, a defect) in the scene illustrated in FIG. 2A.
  • the control unit 31 generates a pseudo sample I11 corresponding to the target sample I10 by using the trained first generator 411 and the estimator 44.
  • the target sample I10 is an example of the target sample 325
  • the pseudo sample I11 is an example of the pseudo sample 326.
  • the control unit 31 generates the difference sample I12 by calculating the difference between the target sample I10 and the pseudo sample I11.
  • the difference sample I12 is an example of the difference sample 327. The greater the difference between the target sample I10 and the pseudo sample I11, the larger the value in the difference sample I12. On the other hand, the value in the difference sample I12 becomes smaller so that there is no difference between the target sample I10 and the pseudo sample I11.
  • the method of expressing the difference may be appropriately selected according to the type of data. As an example, in FIG. 17B, the predetermined type of data is image data, and pixels having a difference are whiter, and pixels not having a difference are blacker.
  • the control unit 31 uses the threshold value T1 to delete the difference caused by noise. In the example of FIG. 17B, the control unit 31 binarizes each pixel of the difference sample I12 by the threshold value T1. As a result, the control unit 31 can obtain the noise-excluded sample I13.
  • Sample I13 may show differences mainly due to the second component and further due to other reasons (eg, lack of learning of at least one of the first generator 411 and the estimator 44).
  • the difference due to the second component corresponds to the attribute of the second feature such as size, (temporal or regional) position, brightness, amplitude, frequency (temporal or regional). appear.
  • the defect may have shape-related attributes such as area, width, height, perimeter length, aspect ratio, circularity and the like. That is, when the product reflected in the target sample I10 has a defect, a region in which white pixels are gathered and has an attribute related to the shape equivalent to the shape appears at the corresponding position of the sample I13. Therefore, the second component can be detected by setting the threshold value T2 for the attribute of the second feature.
  • the control unit 31 recognizes the continuous white pixel region in the sample I13 as one region, and determines whether or not each region of the white pixel satisfies the threshold value T2. To do. Then, the control unit 31 leaves the region satisfying the threshold value T2 as it is, and deletes the region not satisfying the threshold value T2. As a result, the control unit 31 can obtain the detection sample I14 in which the value that does not satisfy the attribute of the second feature is excluded from the sample I13.
  • the control unit 31 detects the second component based on the obtained detection sample I14.
  • the control unit 31 determines that the product reflected in the target sample I10 has a defect.
  • the control unit 31 determines that the product reflected in the target sample I10 does not have a defect.
  • each of the above threshold values (T1, T2) is an example of parameters in the estimation process.
  • the parameters in the estimation process may be appropriately set according to the content of the estimation, the type of data, and the like.
  • a predetermined type of data is image data and a process of detecting an object appearing in an image is executed as an estimation process
  • the estimation process is not limited to the above-mentioned defect detection scene
  • each of the above threshold values (T1 and T2) is the estimation process. It may be used as an example of a parameter.
  • a difference in spectral intensity may be used as a parameter of the estimation process.
  • the control unit 31 operates as the setting unit 314 at an arbitrary time point (for example, before starting the process of step S301), and even if the parameter value is set based on the sample 321 included in the data group 320. Good. That is, in the present embodiment, the analysis of the target sample 325 using the data group 320 is to set the parameter value so that the second component can be detected based on the sample 321 included in the data group 320. Equivalent to. In the example of FIG. 17B, the control unit 31 may appropriately set each threshold value (T1, T2) so that the defect reflected in the sample 321 can be detected.
  • T1, T2 the threshold value
  • FIGS. 18A and 18B schematically illustrate an example of an output screen for displaying the sample 321 included in the data group 320 in the scene illustrated in FIG. 2A, respectively.
  • the control unit 31 may output each output screen to the output device 36 according to the operation of the operator.
  • the sample 321 included in the data group 320 is displayed in a table format for each type of feature. From this output screen, the operator confirms the combination of the first feature and the second feature type of the sample 321 obtained and not obtained (in the example of FIG. 2A above, the combination of the defect and the product type). be able to.
  • Sample 65 may be generated.
  • the control unit 31 may accept the designation of the combination of the types of the first feature and the second feature for which the sample 321 has not been obtained. Then, the control unit 31 may request the data generation device 2 to generate a new sample 65 in which the combination appears by notifying the designated combination. As a result, a new sample 65 in which the combination appears may be generated.
  • the new sample 65 generated may be provided to the estimation device 3 by any method and added to the data group 320. By adding this new sample 65, it is possible to diversify the sample 321 included in the data group 320.
  • each sample 321 including the first feature and the second feature of the target type is displayed side by side according to the attribute value of the second feature.
  • the value of the parameter is set so that the second component having a small degree can be detected, the second component may be erroneously detected for the target sample 325 that does not truly contain the second component.
  • the larger the size of the defect the easier it is to detect the defect, and the smaller the size of the defect, the more difficult it is to detect the defect.
  • each threshold value (T1, T2) is set so that a defect having a small size can be detected, a difference appearing due to other factors may be mistaken for a defect. Therefore, for one reason of reducing the probability of occurrence of this erroneous detection, the control unit 31 may accept the designation of the sample 321 corresponding to the limit case of the detection of the second component on this output screen.
  • the control unit 31 may set the value of the parameter so that the second component included in the sample 321 specified in the limit case can be detected.
  • the control unit 31 may set each threshold value (T1, T2) so that a defect appearing in the sample 321 designated as the limit case can be detected.
  • T1, T2 threshold value
  • the method of setting the value of the parameter does not have to be particularly limited, and may be appropriately determined according to the embodiment. For example, a plurality of candidates may be appropriately prepared for the value of the parameter.
  • the control unit 31 identifies the candidate having the highest detection rate of the second component contained in the sample 321 designated as the limit case, and selects the identified candidate. It may be selected as a parameter value.
  • a new sample 65 that can be set as a limit case may be generated by giving a third input value 225 according to the limit of detection of the second component.
  • the control unit 31 may appropriately accept the designation of the degree of the second feature desired in the limit case. Then, the control unit 31 notifies the data generation device 2 of the type of the first feature, the type of the second feature, and the degree of the designated second feature to generate a new sample 65. You may ask.
  • a new sample 65 that can be set as a limit case may be generated.
  • the new sample 65 generated may be provided to the estimation device 3 by any method and added to the data group 320. With the addition of this new sample 65, the degree of the second feature appearing in the sample 321 included in the data group 320 can be diversified, and an appropriate limit case can be set to improve the detection accuracy of the second component. it can.
  • a series of processes for setting the value of the parameter may be executed by the data generation device 2.
  • the data generation device 2 may execute the above-mentioned series of processes for generating a new sample 65 while outputting the output screens exemplified in FIGS. 18A and 18B to the output device 26.
  • the sample 321 included in the data group 320 may be viewable on each of the above output screens.
  • each output screen may be used as a reference for designating each input value (221, 223, 225).
  • step S303 the control unit 11 operates as the output unit 313 and outputs information regarding the estimation result (in the present embodiment, the detection result of the second component).
  • the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
  • the control unit 31 may output the result of executing a predetermined estimation for the target sample 325 in step S302 as it is to the output device 36. Further, for example, the control unit 31 may execute some information processing based on the result of executing a predetermined estimation. Then, the control unit 31 may output the result of executing the information processing as information regarding the estimation result. The output of the result of executing this information processing may include outputting a specific message according to the estimation result, controlling the operation of the controlled device according to the estimation result, and the like.
  • the output destination may be, for example, an output device 36, an output device of another computer, a controlled device, or the like.
  • the control unit 31 ends the processing procedure related to this operation example. Note that, during a predetermined period, the control unit 31 may continuously and repeatedly execute a series of information processing in steps S301 to S303. The timing of repeating may be arbitrary. As a result, the estimation device 3 may continuously perform a predetermined estimation.
  • the learning device 1 has acquired the ability to generate a pseudo sample including the first feature of the type specified by the input value by the processing of steps S101 to S103.
  • 1 Generator 411 can be constructed. Further, the learning device 1 according to the present embodiment has acquired the ability to generate a pseudo sample including the second feature of the type specified by the input value by the processing of steps S111 to S113, and has been trained for the second generation.
  • a vessel 421 can be constructed.
  • the first feature included in the new sample 65 generated based on each input value (221, 223) given to each trained generator (411, 421). And the type of each of the second features can be controlled.
  • a new sample 65 including a combination of different types of the first feature and the second feature can be freely generated.
  • the data generation device 2 can generate a new sample 65 including the combination.
  • many parts of the process of steps S201 to S205 can be automated. Therefore, according to the present embodiment, since it is possible to freely and automatically generate a sample containing various combinations, it is costly to collect various samples for a predetermined type of data in which at least two or more features appear. Can be reduced.
  • the estimation device 3 by adding the generated new sample 65 to the data group 320, a variety of combinations of the first feature and the second feature appearing in the sample 321 included in the data group 320 can be obtained. Can be achieved. That is, in the data group 320, the sample 321 including the combinations that were not obtained or were few in number can be enriched. As a result, by reflecting the generated new sample 65 in the estimation process of the estimation device 3, it is possible to improve the estimation process system for the second feature.
  • the learning device 1 has acquired the ability to generate pseudo values of the attributes of the second feature of the type and degree specified by the input values by the processing of steps S121 to S123.
  • a third generator 431 can be constructed.
  • the value of the attribute of the second feature included in the new sample 65 generated based on each input value (223, 225) given to the trained third generator 431. Can be controlled. That is, by further utilizing the trained third generator 431 in addition to the trained first generator 411 and the second generator 421, a new sample 65 including the second feature having an arbitrary attribute value. Can be freely generated. Therefore, according to the present embodiment, it is possible to generate a wider variety of samples for a predetermined type of data in which at least two or more features can appear.
  • the constructed trained third generator 431 is further used. 1 Acquire the ability to generate pseudo values for the attributes of the second feature according to the type of feature. Therefore, in the data generation device 2 according to the present embodiment, by using the trained third generator 431, a new sample 65 including the second feature having the attribute value suitable for the type of the first feature is generated. can do.
  • the learning device 1, the data generating device 2, and the estimating device 3 according to the above embodiment may be applied to any situation in which a variety of samples are collected for a predetermined type of data in which at least two or more features can appear.
  • the above embodiment can be applied to a situation where various samples are collected for sensing data obtained by observing an object with a sensor.
  • a modified example in which the application scene is limited will be illustrated.
  • FIG. 19 schematically illustrates an example of an application scene of the inspection system 100A according to the first modification.
  • This modified example is an example in which the above-described embodiment is applied to a scene in which an appearance inspection of a product is carried out using the image data of the product illustrated in FIG. 2A.
  • the inspection system 100A according to this modification includes a learning device 1, a data generation device 2, and an inspection device 3A. Similar to the above embodiment, the learning device 1, the data generating device 2, and the inspection device 3A may be connected to each other via a network.
  • the predetermined type of data handled in this modification is the image data in which the product RA is captured.
  • the image data may be obtained by photographing the product RA with the camera SA.
  • the first feature relates to the background including the product RA
  • the second feature relates to the defect of the product RA.
  • the type of product RA and defects may not be particularly limited and may be appropriately selected depending on the embodiment.
  • the product RA may be, for example, a product transported on a production line of electronic devices, electronic parts, automobile parts, chemicals, foods, and the like.
  • Defects may be, for example, scratches, stains, cracks, dents, burrs, color unevenness, foreign matter contamination, and the like.
  • the inspection system 100A according to the present modification may be configured in the same manner as the estimation system 100 according to the above embodiment.
  • the first sample 511 of the first training data set 51 may be a sample of the image data in which the product RA is captured, and the first label 512 may indicate the type of the product RA.
  • the learning device 1 is a trained first generator that has acquired the ability to generate a pseudo sample in which the background is captured including the product RA of the type specified by the input value by executing the processes of steps S101 to S103. 411 can be constructed.
  • the second sample 521 of the second learning data set 52 may be a sample of image data in which the defect of the product RA is shown, and the second label 522 may indicate the type of the defect.
  • the learning device 1 constructs a trained second generator 421 that has acquired the ability to generate a pseudo sample showing a type of defect specified by an input value by executing the processes of steps S111 to S113. be able to.
  • the sample value 531 of the third training data set 53 may indicate the degree of defect attribute.
  • Defect attributes may relate, for example, to shapes such as area, width, height, perimeter length, aspect ratio, circularity, and the like.
  • the reflection level 532 may indicate the degree to which the defect is reflected.
  • the reflection level 532 may be set in relation to the degree of defect such as the severity of the defect and the quality level of the product.
  • the learning device 1 has acquired the ability to generate pseudo-values of the attributes of the type and degree of defects specified by the input values by executing the processes of steps S121 to S123, and is a trained third generator 431. Can be built.
  • the learning device 1 executes the processes of steps S131 to S133 to generate the pseudo sample 542 from the pseudo sample 542 generated by the trained first generator 411.
  • a trained estimator 44 can be constructed that has acquired the ability to estimate the input given to the trained first generator 411. Further, in the present modification, the learning device 1 uses the trained first generator 411 and the estimator 44 to execute the processes of steps S141 to S144, whereby the product RA and the defect are captured.
  • a second sample 521 can be generated from the three samples 551.
  • the first input value 221 and the second input value 223, and the third input value 225 depend on the type of product RA, the type of defect, and the degree to which the defect is reflected in the sample desired to be generated. May be specified.
  • the data generator 2 is designated while controlling the degree of reflection of defects by executing the processes of steps S201 to S205 using the trained generators (411, 421, 431). A new sample 65 showing different types of defects and product RA can be generated.
  • FIG. 20A schematically illustrates an example of the hardware configuration of the inspection device 3A according to this modification.
  • the inspection device 3A according to the present modification has the same control unit 31, storage unit 32, communication interface 33, external interface 34, input device 35, output device 36, and the same as the estimation device 3.
  • the drive 37 may consist of an electrically connected computer.
  • the storage unit 32 stores various information such as the inspection program 83A.
  • the inspection program 83A corresponds to the estimation program 83 according to the above embodiment.
  • the inspection device 3A is connected to the camera SA via the external interface 34.
  • the camera SA may be, for example, a general RGB camera, a depth camera, an infrared camera, or the like.
  • the camera SA may be appropriately arranged at a place where the product RA can be photographed.
  • the camera SA may be placed in the vicinity of the conveyor device that conveys the product RA.
  • the hardware configuration of the inspection device 3A does not have to be limited to such an example. Regarding the specific hardware configuration of the inspection device 3A, components can be omitted, replaced, and added as appropriate according to the embodiment.
  • the inspection device 3A may be a general-purpose server device, a general-purpose PC, a PLC, or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 20B schematically illustrates an example of the software configuration of the inspection device 3A according to this modified example.
  • the software configuration of the inspection device 3A is realized by executing the inspection program 83A by the control unit 31.
  • the software configuration of the inspection device 3A is the same as that of the estimation device 3 except that the data to be handled is limited as described above.
  • the inspection unit 312A corresponds to the estimation unit 312.
  • the inspection device 3A can execute a series of processes related to the visual inspection in the same manner as the estimation process of the estimation device 3.
  • step S301 the control unit 31 acquires the target sample 325 in which the product RA to be inspected is captured from the camera SA.
  • step S302 the control unit 31 operates as the inspection unit 312A and analyzes the target sample 325 using the data group 320 to determine whether or not the product RA to be inspected has a defect.
  • the product RA and defects are shown in the sample 321 included in the data group 320.
  • a sample 321 of the limit case may be selected for each type of defect to be detected.
  • Each threshold (T1, T2) which is a detection parameter, may be set based on the sample 321 selected for the limit case.
  • T1, T2 which is a detection parameter
  • step S303 the control unit 31 outputs information regarding the result of estimating the state of the product RA.
  • the control unit 31 may output the result of estimating the state of the product RA to the output device 36 as it is. Further, for example, when it is determined that the product RA contains a defect, the control unit 31 may output a warning to notify the defect to the output device 36. Further, for example, when the inspection device 3A is connected to the conveyor device that conveys the product RA, the defective product RA and the non-defective product RA are separated from each other based on the result of estimating the state of the product RA. The conveyor device may be controlled to be conveyed.
  • the data generation device 2 can freely and automatically generate a new sample 65 in which any combination of the product RA and defects is captured. Therefore, the cost of collecting various samples showing various combinations of product RA and defects can be reduced. Further, by adding the generated new sample 65 to the data group 320, it is possible to reduce or eliminate the combination of the product RA and the defect for which the sample 321 has not been obtained. As a result, the accuracy of the visual inspection in the inspection device 3A can be improved.
  • the defect of the product RA is an example of the foreground. That is, the inspection process in the above modification is an example of a process of detecting a target foreground from a sample of image data including a background and a foreground. That is, the predetermined type of data to be handled may be image data including a background and a foreground. The first feature may be with respect to the background and the second feature may be with respect to the foreground.
  • the types of background and foreground are not limited to the examples of product RA and defects, respectively, and may be appropriately selected depending on the embodiment.
  • FIG. 21 schematically illustrates an example of another scene in which the foreground is detected from the image data.
  • the diagnostic system illustrated in FIG. 21 includes a learning device 1, a data generation device 2, and an image diagnostic device 3A1.
  • the diagnostic imaging apparatus 3A1 corresponds to the inspection apparatus 3A.
  • the configuration of the diagnostic imaging apparatus 3A1 may be the same as that of the inspection apparatus 3A.
  • the predetermined type of data handled in the example of FIG. 21 may be medical image data (hereinafter, also referred to as a medical image) in which an organ is captured.
  • Organs include, for example, digestive system, circulatory system, respiratory system, urinary system, genital system, endocrine system, sensory system, nervous system, musculoskeletal system (bone, joint, ligament, muscle) and the like. Good.
  • the medical examination device SA1 may be used to acquire the medical image.
  • the medical examination device SA1 is an example of a sensor.
  • the medical examination device SA1 may be, for example, an X-ray device, a CT device, an MRI device, or the like.
  • the obtained medical image may be, for example, an X-ray image, a CT image, an MRI image, or the like.
  • the diagnostic imaging apparatus 3A1 is connected to the medical examination apparatus SA1 so that the target sample 325 of the medical image can be acquired.
  • the first feature may be for organs and the second feature may be for lesions (eg, shadows caused by disease).
  • the image of the organ is an example of the background, and the image of the lesion is an example of the foreground.
  • the attributes of the lesion may relate to the shape of the shadow that appears in the medical image.
  • the reflection level 532 may be set according to the state of the disease, such as the severity and progression of the disease.
  • the diagnostic imaging apparatus 3A1 can execute a process of detecting a lesion from a target sample 325 of a medical image by the same procedure as that of the inspection apparatus 3A. When it is determined that a lesion exists, the diagnostic imaging apparatus 3A1 may output a diagnosis result such as the type and position of the lesion in step S303.
  • FIG. 22 schematically illustrates an example of another scene in which the foreground is detected from image data.
  • the monitoring system illustrated in FIG. 22 includes a learning device 1, a data generation device 2, and a monitoring device 3A2.
  • the monitoring device 3A2 corresponds to the inspection device 3A.
  • the configuration of the monitoring device 3A2 may be the same as that of the inspection device 3A.
  • the predetermined type of data handled in the example of FIG. 22 may be image data (hereinafter, also referred to as a monitoring image) showing the road to be monitored.
  • a camera SA2 arranged to photograph the road to be monitored may be used to acquire the surveillance image.
  • the monitoring device 3A2 may be appropriately connected to the camera SA2 via, for example, a network or the like. As a result, the monitoring device 3A2 can acquire the target sample 325 of the monitoring image.
  • the first feature may be related to the background of roads, buildings, etc.
  • the second feature may be related to the condition of the road.
  • the road condition may be expressed by, for example, the degree of congestion of moving objects (degree of congestion), the degree of risk of crime, and the like.
  • the moving body may be a pedestrian, a vehicle, or the like.
  • the risk of crime may be set, for example, to be high for images of dark roads with a small number of pedestrians and low for images of bright roads with a large number of pedestrians.
  • the attributes of the road condition may be expressed by, for example, the attributes of the moving body, the attributes of the environment, and the like.
  • the attributes of the moving body may be, for example, position, number, speed, and the like.
  • the attributes of the moving body may be, for example, gender, physique, and the like.
  • Environmental attributes may also be related to brightness factors such as time, season, and the presence or absence of street lights.
  • the image of road conditions is an example of the foreground.
  • the reflection level 532 may be set according to the condition of the road.
  • the monitoring device 3A2 can estimate the condition of the target road (for example, the degree of congestion of moving objects, the risk of crime) from the target sample 325 of the monitoring image by the same procedure as the inspection device 3A. ..
  • the data generation device 2 can freely and automatically generate a new sample 65 in which any combination of the background and the foreground is captured.
  • various medical images showing various disease states can be obtained based on images of organs and images of lesions obtained from different persons.
  • various monitoring images showing various conditions of the road can be obtained based on the images obtained under different conditions (place, time, etc.). Therefore, it is possible to reduce the cost of collecting various samples showing various combinations of background and foreground.
  • by adding the generated new sample 65 to the data group 320 it is possible to reduce or eliminate the combination of the background and the foreground in which the sample 321 is not obtained. As a result, it is possible to improve the accuracy of the process of detecting each foreground.
  • FIG. 23 schematically illustrates an example of an application scene of the monitoring system 100B according to the second modification.
  • the above embodiment is applied to a scene in which the driver monitors the driving mode of the vehicle by using the sensing data obtained by the in-vehicle sensor provided in the vehicle.
  • the monitoring system 100B according to this modification includes a learning device 1, a data generation device 2, and a monitoring device 3B. Similar to the above embodiment, the learning device 1, the data generating device 2, and the monitoring device 3B may be connected to each other via a network.
  • the predetermined type of data handled in this modification is the vehicle acceleration data (sensing data) obtained by the acceleration sensor SB.
  • the first feature relates to the change in acceleration that occurs during normal operation, and the second feature relates to the change in acceleration that occurs due to a sudden event such as popping out.
  • the monitoring system 100B according to the present modification may be configured in the same manner as the estimation system 100 according to the above embodiment.
  • the first sample 511 of the first learning data set 51 may be a sample of acceleration data showing the change in acceleration that occurs during normal driving, and the first label 512 may be a driver type, vehicle type, or the like.
  • the type of factor that influences the normal operation of (hereinafter referred to as “influence factor”) may be indicated.
  • the type of driver may be set according to the personality of the driver, for example, cautious, rough, etc.
  • the learning device 1 has acquired the ability to generate a pseudo sample showing the change in acceleration that occurs during normal operation of the type of influencing factor specified by the input value by executing the processes of steps S101 to S103.
  • the first generator 411 of the above can be constructed.
  • the second sample 521 of the second training data set 52 may be a sample of acceleration data showing the change in acceleration caused by a sudden event, and the second label 522 is a type of sudden event. May be shown.
  • the learning device 1 has acquired the ability to generate a pseudo sample showing the change in acceleration caused by the type of event specified by the input value by executing the processes of steps S111 to S113.
  • a vessel 421 can be constructed.
  • the sample value 531 of the third learning data set 53 may indicate the degree of change in acceleration.
  • the transformation of acceleration may be expressed by, for example, amplitude, frequency, or the like.
  • the reflection level 532 may indicate the degree to which the change in acceleration is reflected.
  • the reflection level 532 may be set in relation to the degree of risk of an accident, such as the severity of a sudden event.
  • the learning device 1 has acquired the ability to generate pseudo-values of the type of event specified by the input value and the degree of change in acceleration by executing the processes of steps S121 to S123.
  • a generator 431 can be constructed.
  • a trained estimator 44 can be constructed that has acquired the ability to estimate the input given to the trained first generator 411. Further, in this modification, the learning device 1 uses the trained first generator 411 and the estimator 44 to execute the processes of steps S141 to S144, thereby accelerating the acceleration generated during normal operation.
  • a second sample 521 can be generated from the third sample 551 containing the transformation and the transformation of the acceleration caused by the sudden event.
  • the first input value 221 and the second input value 223, and the third input value 225 reflect the type of influencing factor, the type of sudden event, and the sudden event in the sample desired to be generated. It may be specified according to the degree of operation.
  • the data generator 2 uses each of the trained generators (411, 421, 431) to execute the processes of steps S201 to S205, thereby controlling the degree to which a sudden event is reflected.
  • a new sample 65 can be generated that includes the changes in acceleration that occur during normal operation and the changes in acceleration that occur due to sudden events.
  • FIG. 24A schematically illustrates an example of the hardware configuration of the monitoring device 3B according to this modification.
  • the monitoring device 3B according to the present modification has the same control unit 31, storage unit 32, communication interface 33, external interface 34, input device 35, output device 36, and the same as the estimation device 3.
  • the drive 37 may consist of an electrically connected computer.
  • the storage unit 32 stores various information such as the monitoring program 83B.
  • the monitoring program 83B corresponds to the estimation program 83 according to the above embodiment.
  • the monitoring device 3B is connected to the acceleration sensor SB via the external interface 34.
  • the acceleration sensor SB may be appropriately arranged so that the acceleration in the traveling of the vehicle can be measured.
  • the hardware configuration of the monitoring device 3B does not have to be limited to such an example. Regarding the specific hardware configuration of the monitoring device 3B, components can be omitted, replaced, and added as appropriate according to the embodiment.
  • the monitoring device 3B may be a general-purpose computer, a mobile phone including a smartphone, an in-vehicle device, or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 24B schematically illustrates an example of the software configuration of the monitoring device 3B according to this modified example.
  • the software configuration of the monitoring device 3B is realized by executing the monitoring program 83B by the control unit 31.
  • the software configuration of the monitoring device 3B is the same as that of the estimation device 3 except that the data to be handled is limited as described above.
  • the monitoring unit 312B corresponds to the estimation unit 312.
  • the monitoring device 3B can execute a series of processes related to monitoring the driving mode of the driver, similarly to the estimation process of the estimation device 3.
  • step S301 the control unit 31 acquires the target sample 325 of the acceleration data in which the change in the acceleration of the estimation target appears from the acceleration sensor SB.
  • step S302 the control unit 31 operates as the monitoring unit 312B and analyzes the target sample 325 using the data group 320 to detect the change in acceleration caused by a sudden event from the target sample 325.
  • the sample 321 included in the data group 320 includes the change in acceleration caused by normal operation and the change in acceleration caused by a sudden event.
  • a sample 321 of the limit case may be selected for each sudden event to be detected.
  • the detection parameters may be set based on the sample 321 selected for the limit case.
  • the control unit 31 can estimate the driving mode of the driver.
  • the estimation of the driving mode may be performed in real time, or may be performed to evaluate the driving mode at a past time.
  • step S303 the control unit 31 outputs information regarding the result of estimating the driving mode of the driver.
  • the control unit 31 may create a history regarding the change in acceleration caused by a sudden event, and save the created history in a predetermined storage area.
  • the history may show the change in acceleration obtained in step S302 as it is, or may show the result of executing some information processing for the change in acceleration obtained.
  • the control unit 31 may evaluate the degree of risk of an accident based on the change in acceleration caused by a sudden event, and may create a history showing the evaluation result.
  • the control unit 31 identifies the driver's behavior such as sudden braking, sudden acceleration, and sudden steering based on the change in acceleration caused by a sudden event, and creates a history showing the identified result. You may.
  • the index for identifying the behavior may be set as appropriate.
  • the monitoring device 3B can continuously monitor the driving mode of the driver by repeatedly executing the processes of steps S301 to S303 while the driver is driving the vehicle.
  • the data generation device 2 can freely and automatically generate a new sample 65 in which the acceleration changes caused by any combination of the types of influencing factors and sudden events. Therefore, it is possible to reduce the cost of collecting various samples showing various combinations of influencing factors and sudden events. Further, by adding the generated new sample 65 to the data group 320, it is possible to reduce or eliminate the combination of the unobtained influencing factor type and the sudden event of the sample 321. As a result, it is possible to improve the accuracy of the process of estimating the driving mode of the driver in the monitoring device 3B.
  • the acceleration sensor SB is an example of an in-vehicle sensor.
  • a camera, a lidar sensor, a millimeter wave radar, an ultrasonic sensor, or the like may be used as the in-vehicle sensor.
  • the situation outside the vehicle may be estimated instead of or together with the driving mode of the driver.
  • the first feature may be related to various transformations caused during normal operation
  • the second feature may be related to various transformations caused by a sudden event.
  • the type of the first feature may be represented by the type of influencing factor of normal driving, and the type of the second feature may be represented by the type of sudden event.
  • FIG. 25 schematically illustrates an example of an application scene of the detection system 100C according to the third modification.
  • the above embodiment is applied to a scene where an abnormality of a machine is detected by using sound data including the operating sound of the machine illustrated in FIG. 2B.
  • the detection system 100C according to this modification includes a learning device 1, a data generation device 2, and an abnormality detection device 3C. Similar to the above embodiment, the learning device 1, the data generation device 2, and the abnormality detection device 3C may be connected to each other via a network.
  • the predetermined type of data handled in this modification is sound data including the operating sound of the machine RC.
  • the sound data may be obtained by recording the operating sound of the machine RC with the microphone SC.
  • the first feature relates to the operating noise generated during the normal operation of the machine RC and the environmental noise such as the noise around the machine RC
  • the second feature relates to the abnormal noise generated due to an abnormality such as aged deterioration or failure of the machine RC.
  • the type of machine RC and the abnormality does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
  • the machine RC may be, for example, a device that constitutes a manufacturing line for a conveyor device, an industrial robot, or the like.
  • the mechanical RC may be the entire device or a part of the device such as a motor.
  • the abnormality may be, for example, a failure, mixing of foreign matter, adhesion of dirt, or wear of components.
  • the detection system 100C according to the present modification may be configured in the same manner as the estimation system 100 according to the above embodiment.
  • the first sample 511 of the first learning data set 51 may be a sample of sound data including environmental sounds, and the first label 512 may indicate the type of machine RC and the surrounding environment.
  • the surrounding environment of the machine RC may be distinguished by, for example, the place where the machine RC is driven, the time, and the like.
  • the second sample 521 of the second learning data set 52 may be a sample of sound data including an abnormal sound, and the second label 522 may indicate the type of abnormality.
  • the learning device 1 is a trained second generator that has acquired the ability to generate a pseudo sample including an abnormal sound generated by an abnormality of the type specified by the input value by executing the processes of steps S111 to S113. 421 can be constructed.
  • the sample value 531 of the third learning data set 53 may indicate the degree of the attribute of the abnormal sound.
  • the attributes of the abnormal sound may be expressed by, for example, amplitude, frequency, and the like.
  • the reflection level 532 may indicate the degree to which the abnormal sound is reflected.
  • the reflection level 532 may be set in relation to the degree of abnormality such as the severity of abnormality and the normality of machine RC.
  • the learning device 1 is a trained third generator that has acquired the ability to generate pseudo values of abnormal sound attributes of the type and degree specified by the input values by executing the processes of steps S121 to S123. 431 can be constructed.
  • the learning device 1 executes the processes of steps S131 to S133 to generate the pseudo sample 542 from the pseudo sample 542 generated by the trained first generator 411.
  • a trained estimator 44 can be constructed that has acquired the ability to estimate the input given to the trained first generator 411.
  • the learning device 1 includes the environmental sound and the abnormal sound by executing the processes of steps S141 to S144 using the trained first generator 411 and the estimator 44.
  • a second sample 521 can be generated from the third sample 551.
  • the first input value 221 and the second input value 223, and the third input value 225 reflect the type of machine and surrounding environment, the type of abnormality, and the abnormal sound in the sample desired to be generated. It may be specified accordingly.
  • the data generator 2 is designated while controlling the degree to which the abnormal sound is reflected by executing the processes of steps S201 to S205 using the trained generators (411, 421, 431). It is possible to generate a new sample 65 including the environmental sound and the abnormal sound of the specified type.
  • FIG. 26A schematically illustrates an example of the hardware configuration of the abnormality detection device 3C according to this modification.
  • the abnormality detection device 3C according to the present modification has the same control unit 31, storage unit 32, communication interface 33, external interface 34, input device 35, and output device 36, as in the estimation device 3.
  • the drive 37 may consist of an electrically connected computer.
  • the storage unit 32 stores various information such as the abnormality detection program 83C.
  • the abnormality detection program 83C corresponds to the estimation program 83 according to the above embodiment.
  • the abnormality detection device 3C is connected to the microphone SC via the external interface 34.
  • the microphone SC may be appropriately arranged at a place where the operating sound of the mechanical RC can be recorded.
  • the hardware configuration of the abnormality detection device 3C does not have to be limited to such an example.
  • the components can be omitted, replaced, or added as appropriate according to the embodiment.
  • the abnormality detection device 3C may be a general-purpose server device, a general-purpose PC, a PLC, or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 26B schematically illustrates an example of the software configuration of the abnormality detection device 3C according to this modification.
  • the software configuration of the abnormality detection device 3C is realized by executing the abnormality detection program 83C by the control unit 31.
  • the software configuration of the abnormality detection device 3C is the same as that of the estimation device 3 except that the data to be handled is limited as described above.
  • the detection unit 312C corresponds to the estimation unit 312.
  • the abnormality detection device 3C can execute a series of processes related to the detection of the abnormality of the machine RC in the same manner as the estimation process of the estimation device 3.
  • step S301 the control unit 31 acquires the target sample 325 including the operating sound of the machine RC to be inspected from the microphone SC.
  • step S302 the control unit 31 operates as the detection unit 312C and analyzes the target sample 325 using the data group 320 to determine whether or not an abnormality has occurred in the machine RC to be inspected.
  • the sample 321 included in the data group 320 includes an environmental sound and an abnormal sound.
  • Sample 321 of the limit case may be selected for each type of abnormality to be detected.
  • the detection parameters may be set based on the sample 321 selected for the limit case.
  • the control unit 31 can estimate the operating state of the machine RC. When an abnormality occurs in the operation of the machine RC, the control unit 31 can detect the abnormality.
  • step S303 the control unit 31 outputs information regarding the result of estimating the operating state of the machine RC.
  • the control unit 31 may output the result of estimating the operating state of the machine RC to the output device 36 as it is.
  • the control unit 31 may output a warning for notifying the occurrence of the abnormality to the output device 36.
  • the control unit 31 may stop the operation of the machine RC in response to detecting the occurrence of an abnormality.
  • control unit 31 may output information on the type of abnormality that has occurred in the machine RC and the maintenance method for dealing with the abnormality to the output device 36.
  • Information indicating a maintenance method for dealing with an abnormality may be stored in a predetermined storage area such as a storage unit 32, a storage medium 93, an external storage device, or a storage medium.
  • the control unit 31 may appropriately acquire information indicating a maintenance method for dealing with an abnormality from a predetermined storage area.
  • the data generation device 2 can freely and automatically generate a new sample 65 including a combination of any kind of environmental sound and abnormal sound. Therefore, it is possible to reduce the cost of collecting various samples including various combinations of environmental sounds and abnormal sounds. Further, by adding the generated new sample 65 to the data group 320, it is possible to reduce or eliminate the combination of the environmental sound and the abnormal sound for which the sample 321 has not been obtained. As a result, it is possible to improve the accuracy of the process of detecting the abnormality of the machine RC in the abnormality detecting device 3C.
  • the microphone SC is an example of a sensor for monitoring the state of the machine RC.
  • the method of detecting the abnormality of the machine RC by the sensing data is not limited to the method of detecting the abnormality of the machine RC by the sound data including the operation sound of the machine RC.
  • a sensor for measuring the vibration of the machine such as an acceleration sensor and a vibration sensor may be used to detect an abnormality in the machine RC.
  • the sound vibration of air
  • the abnormality of the machine RC can be detected by the same method as described above.
  • a fully connected neural network is used for each generator (411, 421, 431), each classifier (412, 422, 432) and the estimator 44.
  • the type of neural network constituting each generator (411, 421, 431), each classifier (412, 422, 432) and the estimator 44 may not be limited to such an example.
  • a convolutional neural network, a recursive neural network, or the like may be used for each generator (411, 421, 431), each classifier (412, 422, 432), and the estimator 44.
  • the type of machine learning model constituting each generator (411, 421, 431), each classifier (412, 422, 432) and the estimator 44 is not limited to the neural network. May be good.
  • each classifier (412, 422, 432) and estimator 44 for example, a support vector machine, a regression model, a decision tree model, or the like may be used in addition to the neural network.
  • the machine learning method may be appropriately selected according to the type of each machine learning model.
  • each generator (411, 421, 431), each classifier (412, 422, 432) and the estimator 44 may not be particularly limited. It may be appropriately determined according to the form of.
  • the first generator 411 may be configured to further accept input of information other than noise and the type of first feature. Further, for example, the first generator 411 may be configured to output information other than the pseudo sample. The same applies to others.
  • each learning model 41 to 43 is composed of each generator (411, 421, 431) and each classifier (412, 422, 432).
  • the configurations of the learning models 41-43 are limited to such examples if each generator (411, 421, 431) can be trained to acquire the ability to generate the corresponding pseudo data. It does not have to be done, and it may be appropriately determined according to the embodiment.
  • FIG. 27 schematically illustrates an example of the configuration of the first learning model 41D according to this modified example.
  • the first learning model 41D according to this modification is composed of an encoder 415 and a decoder 411D.
  • the encoder 415 is configured to convert the sample including the first feature and the information indicating the type of the first feature into a feature amount.
  • the decoder 411D is configured to restore a sample containing the corresponding first feature from the feature amount obtained by the encoder 415 and the information indicating the type of the corresponding first feature.
  • the decoder 411D corresponds to the first generator 411.
  • the feature amount obtained by the encoder 415 corresponds to the noise (latent variable) in the above embodiment.
  • the encoder 415 and the decoder 411D are each composed of a machine learning model.
  • the type of machine learning model that constitutes each of the encoder 415 and the decoder 411D does not have to be particularly limited, and may be appropriately selected according to the embodiment. Similar to the above embodiment, for example, a neural network may be used as the machine learning model constituting each of the encoder 415 and the decoder 411D.
  • the learning device 1 can perform machine learning of the first learning model 41D in step S102 as follows.
  • control unit 11 inputs the first sample 511 and the first label 512 to the encoder 415 for each first learning data set 51, and executes the arithmetic processing of the encoder 415. As a result, the control unit 11 acquires the output value corresponding to the result of converting the first sample 511 and the first label 512 into the feature amount from the encoder 415.
  • control unit 11 inputs the feature amount obtained from the encoder 415 and the corresponding first label 512 into the decoder 411D, and executes the arithmetic processing of the decoder 411D. As a result, the control unit 11 acquires the feature amount and the output value corresponding to the restored sample 515D restored from the first label 512 from the decoder 411D.
  • the control unit 11 calculates the error between the obtained restored sample 515D and the first sample 511 for each first training data set 51.
  • the control unit 11 calculates the error of the value of the calculation parameter of each of the encoder 415 and the decoder 411D by using the gradient of the error calculated by the error back propagation method.
  • the control unit 11 updates the values of the calculation parameters of the encoder 415 and the decoder 411D based on the calculated errors.
  • the control unit 11 adjusts the values of the calculation parameters of the encoder 415 and the decoder 411D so that the sum of the errors calculated by the series of update processes becomes small.
  • control unit 11 calculates an error between the feature amount obtained from the encoder 415 and the value obtained from a predetermined probability distribution (for example, Gaussian distribution), and the sum of the errors is small.
  • the value of the calculation parameter of the encoder 415 may be further adjusted so as to be. As a result, the control unit 11 may normalize the output value of the encoder 415.
  • a trained encoder 415 that has acquired the ability to convert a sample including the first feature and information indicating the type of the first feature into an appropriate feature amount.
  • a trained decoder 411D that has acquired the ability to generate a sample containing the corresponding first feature from the information indicating the feature amount and the type of the first feature.
  • the trained decoder 411D can be handled in the same manner as the trained first generator 411.
  • the data generation device 2 can generate the first pseudo sample 61 by using the trained decoder 411D by the same processing procedure as in the above embodiment.
  • the learning device 1 can generate the second sample 521 from the third sample 551 by using the trained decoder 411D and the estimator 44 by the same processing procedure as in the above embodiment.
  • the second learning model 42 and the third learning model 43 may also be configured like the first learning model 41D according to the present modification.
  • the third learning model 43 may be omitted.
  • the third acquisition unit 113 and the third training unit 117 may be omitted from the software configuration of the learning device 1.
  • the processing of steps S121 to S123 may be omitted.
  • the processing of step S204 may be omitted.
  • the control unit 21 may appropriately synthesize the first pseudo sample 61 and the second pseudo sample 62.
  • the control unit 21 may synthesize the first pseudo sample 61 and the second pseudo sample 62 by superimposing and adding the first pseudo sample 61 and the second pseudo sample 62 as they are, for example.
  • the synthesis parameters may be appropriately specified by operator input or the like.
  • the control unit 21 may synthesize the first pseudo sample 61 and the second pseudo sample 62 based on the specified parameters.
  • the machine learning of the estimator 44 may be performed by a computer other than the learning device 1.
  • the second sample 521 may be generated by a method other than the above-described embodiment such as data processing by an operator's operation.
  • the control unit 11 may generate the second sample 521 by calculating the difference between the third sample 551 and the sample containing only the first feature given in advance.
  • the fourth acquisition unit 114 and the fourth training unit 118 may be omitted from the software configuration of the learning device 1. In the processing procedure of the learning device 1, the processing of steps S131 to S133 and steps S141 to S144 may be omitted.
  • the estimation device 3 uses the trained first generator 411 and the estimator 44 for the estimation process related to the second feature in step S302.
  • the estimation process for the second feature does not have to be limited to such an example.
  • a sample including the first feature corresponding to the target sample 325 may be given in advance.
  • the estimation device 3 may utilize this pre-given sample instead of the pseudo sample 326.
  • the estimation device 3 may generate a sample including the first feature corresponding to the target sample 325 from the target sample 325 by another model generated by a method such as a subspace method.
  • the trained first generator 411 and estimator 44 are not used for the estimation process, the first learning result data 121 and the fourth learning are performed from the information held by the estimation device 3.
  • Result data 124 may be omitted.
  • the estimation process related to the second feature is realized by data analysis for the difference sample 327.
  • the new sample 65 can be reflected in the parameters of this data analysis.
  • the form in which the new sample 65 is reflected in the parameters in the estimation process does not have to be limited to such an example.
  • a trained machine learning model that has acquired the ability to perform the estimation process may be used for the estimation process related to the second feature.
  • the new sample 65 may be used for machine learning of this machine learning model and reflected in the values of the arithmetic parameters of the trained machine learning model.
  • the computational parameters of the trained machine learning model correspond to the parameters in the estimation process.
  • FIG. 28 schematically illustrates an example of an application scene of the estimation system 100E according to this modified example.
  • This modification is an example of a form in which a trained machine learning model is used for estimation processing.
  • the estimation system 100E according to this modification includes a learning device 1, a data generation device 2, an estimation device 3E, and another learning device 7.
  • the estimation device 3E corresponds to the estimation device 3 according to the above embodiment.
  • the other learning device 7 is a computer configured to generate a trained machine learning model that can be used for estimation processing on the second feature. Similar to the above embodiment, the learning device 1, the data generation device 2, the estimation device 3E, and the other learning device 7 may be connected to each other via a network. Further, at least one pair of the learning device 1, the data generating device 2, the estimating device 3E, and the other learning device 7 may be an integrated computer.
  • FIG. 29 schematically illustrates an example of the hardware configuration of another learning device 7 according to this modification.
  • the control unit 71, the storage unit 72, the communication interface 73, the external interface 74, the input device 75, the output device 76, and the drive 77 are electrically operated. Consists of connected computers.
  • the control units 71 to drive 77 and the storage medium 97 of the other learning device 7 may be configured in the same manner as the control units 11 to drive 17 and the storage medium 91 of the learning device 1, respectively.
  • the storage unit 72 stores various information such as the learning program 87, the plurality of learning data sets 721, and the learning result data 725.
  • the learning program 87 is a program for causing another learning device 7 to execute information processing (FIG. 31) described later regarding the generation of a trained machine learning model that can be used for estimation processing.
  • the learning program 87 includes a series of instructions for this information processing.
  • the learning program 87 may be referred to as a “model generation program” or simply a “generation program”, similarly to the learning program 81.
  • the plurality of training data sets 721 are used for machine learning of machine learning models.
  • the training result data 725 shows information about a trained machine learning model constructed by machine learning.
  • the learning result data 725 is generated as a result of executing the learning program 87.
  • At least one of the learning program 87 and the plurality of learning data sets 721 may be stored in the storage medium 97. Further, the other learning device 7 may acquire at least one of the learning program 87 and the plurality of learning data sets 721 from the storage medium 97.
  • the components can be omitted, replaced, or added as appropriate according to the embodiment.
  • the control unit 71 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, FPGA, DSP and the like.
  • the storage unit 72 may be composed of a RAM and a ROM included in the control unit 71. At least one of the communication interface 73, the external interface 74, the input device 75, the output device 76, and the drive 77 may be omitted.
  • the other learning device 7 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the other learning device 7 may be a general-purpose server device, a general-purpose PC, or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 30 schematically illustrates an example of the software configuration of another learning device 7 according to this modification. Similar to the learning device 1 and the like, the learning program 87 is executed by the control unit 71. As a result, the other learning device 7 operates as a computer including the acquisition unit 711, the training unit 712, and the storage processing unit 713 as software modules. That is, in this modification, each software module of the other learning device 7 is realized by the control unit 71 (CPU).
  • the acquisition unit 711 acquires a plurality of learning data sets 721 each composed of a combination of the training sample 7211 and the correct answer data 7212.
  • Training sample 7211 contains the first feature.
  • the training sample 7211 may or may not include the second feature.
  • a new sample 65 may be utilized as the training sample 7211.
  • the correct answer data 7212 shows the result (correct answer) of performing a predetermined estimation regarding the second feature for the training sample 7211.
  • the training unit 712 executes machine learning of the machine learning model 45 using the acquired plurality of training data sets 721.
  • the training unit 712 trains the machine learning model 45 so that when the training sample 7211 is input for each training data set 721, an output value matching the correct answer data 7212 is output. This makes it possible to generate a trained machine learning model 45 that has acquired the ability to perform estimation processing on the second feature.
  • the storage processing unit 713 generates information about the trained machine learning model 45 as learning result data 725, and stores the generated learning result data 725 in a predetermined storage area.
  • the type of the machine learning model 45 does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • the machine learning method may be selected according to the type of the machine learning model 45.
  • the machine learning model 45 may be configured by, for example, a neural network. In the following, for convenience of explanation, it is assumed that the machine learning model 45 is composed of a neural network.
  • each software module of the other learning device 7 is realized by a general-purpose CPU.
  • some or all of the above software modules may be implemented by one or more dedicated processors.
  • the software module may be omitted, replaced, or added as appropriate according to the embodiment.
  • FIG. 31 is a flowchart showing an example of a processing procedure related to machine learning of the machine learning model 45 by another learning device 7 according to this modification.
  • the processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • step S701 the control unit 71 operates as the acquisition unit 711 and acquires a plurality of learning data sets 721.
  • Each training data set 721 may be generated as appropriate.
  • training sample 7211 is appropriately obtained.
  • the training sample 7211 may be obtained in the same manner as the first sample 511 or the third sample 551.
  • a predetermined estimation of the second feature is performed on the acquired training sample 7211. In this situation, the predetermined estimation may be manually performed by an operator or the like. Then, the result (correct answer) of executing the predetermined estimation for the training sample 7211 is associated with the training sample 7211. As a result, each training data set 721 can be generated.
  • each learning data set 721 may be automatically generated by the operation of the computer, or may be manually generated by the operation of the operator. Further, each learning data set 721 may be performed by another learning device 7, or may be performed by a computer other than the other learning device 7.
  • the control unit 71 may appropriately acquire each of the generated learning data sets 721.
  • the new sample 65 may be used as the training sample 7211.
  • the control unit 71 may request the generation of a new sample 65 by the same method as the estimation device 3.
  • each input value (221, 223, 225) may be specified by another learning device 7.
  • the data generation device 2 may generate a new sample 65 without depending on a request from another learning device 7.
  • the generated new sample 65 is provided to the other learning device 7 by an arbitrary method, so that the other learning device 7 can acquire the provided new sample 65 as the training sample 7211. Good.
  • the correct answer data 7212 may be given by the second input value 223 and the third input value 225 specified when the new sample 65 is generated.
  • the number of learning data sets 721 to be acquired does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • the control unit 71 proceeds to the next step S702.
  • step S702 the control unit 71 operates as the training unit 712, and uses the acquired plurality of training data sets 721 to perform machine learning of the machine learning model 45.
  • the control unit 71 inputs the training sample 7211 to the machine learning model 45 for each learning data set 721, and executes the arithmetic processing of the machine learning model 45.
  • the output value corresponding to the result of executing the predetermined estimation process regarding the second feature on the training sample 7211 is acquired from the machine learning model 45.
  • the control unit 71 calculates an error between the obtained output value and the correct answer data 7212 for each learning data set 721.
  • the control unit 71 calculates the error of the value of the calculation parameter of the machine learning model 45 by using the gradient of the error calculated by the error back propagation method.
  • the control unit 71 updates the value of the calculation parameter of the machine learning model 45 based on each calculated error.
  • the control unit 71 adjusts the values of the calculation parameters of the machine learning model 45 so that the sum of the errors calculated by the series of update processes becomes small. This makes it possible to generate a trained machine learning model 45 that has acquired the ability to perform estimation processing on the second feature. Further, by using the new sample 65 generated by the data generation device 2 in this machine learning process, the new sample 65 can be reflected in the value of the calculation parameter of the trained machine learning model 45.
  • the control unit 71 proceeds to the next step S703.
  • the learning data set 721 that has priority in the machine learning may be selected in the present modification.
  • the preferred training data set 721 may be selected from those containing the new sample 65 generated by the data generator 2.
  • the operator may select a plurality of training data sets so that the training data set including a sample containing a defect desired to suppress detection errors is preferentially machine-learned. ..
  • the sampling rate or learning rate of the selected learning data set 721 may be set higher than that of the other learning data set 721.
  • the selected learning data set 721 is preferentially trained.
  • the trained machine learning model 45 it is possible to improve the accuracy of the estimation process (defect detection in the example of FIG. 2A above) regarding the second feature for the training sample 7211 of the selected training data set 721. ..
  • step S703 the control unit 71 generates information about the trained machine learning model 45 as learning result data 725, and stores the generated learning result data 725 in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 71, a storage unit 72, a storage medium 97, an external storage device, or a combination thereof.
  • FIG. 32A schematically illustrates an example of the hardware configuration of the estimation device 3E according to this modification.
  • FIG. 32B schematically illustrates an example of the software configuration of the estimation device 3E according to this modification.
  • the estimation device 3E has the same control unit 31, storage unit 32, communication interface 33, external interface 34, input device 35, output device 36, and the same as the estimation device 3.
  • the drive 37 may consist of an electrically connected computer.
  • the storage unit 32 stores various information such as the estimation program 83E and the learning result data 725.
  • the estimation program 83E corresponds to the estimation program 83 according to the above embodiment. At least one of the estimation program 83E and the learning result data 725 may be stored in the storage medium 93. Further, the estimation device 3E may acquire at least one of the estimation program 83E and the learning result data 725 from the storage medium 93.
  • the learning result data 725 generated by the other learning device 7 may be applied to the estimation device 3E at an arbitrary timing. Further, the processes of steps S701 to S703 may be repeated periodically or irregularly. Then, the learning result data 725 held by the estimation device 3E may be updated by providing the updated or newly created learning result data 725 to the estimation device 3E by an arbitrary method.
  • the software configuration of the estimation device 3E is realized by executing the estimation program 83E by the control unit 31 as in the above embodiment. Since the value of the parameter in the estimation process is determined by the machine learning, the software configuration of the estimation device 3E is the same as that of the estimation device 3 except that the setting unit 314 is omitted.
  • the estimation unit 312E corresponds to the estimation unit 312. In this modification, the estimation unit 312E includes the trained machine learning model 45 by holding the learning result data 725. Thereby, the estimation device 3E can execute the estimation process regarding the second feature for the target sample 325 by the same procedure as that of the above embodiment except that the trained machine learning model 45 is used in step S302. ..
  • step S302 the control unit 31 operates as the estimation unit 312E and sets the trained machine learning model 45 with reference to the learning result data 725.
  • the control unit 31 inputs the acquired target sample 325 into the trained machine learning model 45, and executes arithmetic processing of the trained machine learning model 45.
  • the control unit 31 can acquire the output value corresponding to the result of executing the estimation process related to the second feature on the target sample 325 from the trained machine learning model 45.
  • the control unit 31 can acquire an output value corresponding to the result of determining whether or not the product shown in the target sample 325 contains a defect from the trained machine learning model 45. In this modification, this process achieves the estimation process for the second feature.
  • the number of the first feature and the second feature synthesized by the new sample 65 generated by the data generation device 2 is not limited to one, and may be two or more. ..
  • the control unit 21 may synthesize two or more second pseudo samples 62 having different types of second features in one first pseudo sample 61. This makes it possible to generate a new sample 65 in which two or more second features appear. For example, in the example of FIG. 2A, it is possible to generate a new sample 65 corresponding to the case where two or more defects P12 occur in the product P1.
  • the learning models 41 to 43 and the estimator 44 may be generated by separate computers. Further, when it is not necessary to save the learning result data 121 to 124, for example, in the case where the trained generators (411, 421, 431) and the estimator 44 are provisionally generated, step S103, step S103, step. The processing of S113, step S123, and step S133 may be omitted. In this case, the storage processing unit 119 may be omitted from the software configuration of the learning device 1.
  • the data generation device 2 accepts the designation of each input value (221, 223, 225) by the process of step S201.
  • the method of specifying each input value (221, 223, 225) does not have to be limited to such an example.
  • each input value (221, 223, 225) may be determined mechanically by a method such as random.
  • the process of step S201 may be omitted in the process procedure of the data generation device 2.
  • the reception unit 211 may be omitted from the software configuration of the data generation device 2.
  • Data generator 21 ... Control unit, 22 ... Storage unit, 23 ... Communication interface, 24 ... External interface, 25 ... Input device, 26 ... Output device, 27 ... drive, 92 ... storage medium, 82 ... Data generation program, 211 ... Reception Department, 212 ... First Generation Department, 213 ... Second generation unit, 214 ... Data synthesis unit, 220/222/224 ... Noise, 221 ... 1st input value, 223 ... 2nd input value, 225 ... 3rd input value, 3 ... Estimator, 31 ... Control unit, 32 ... Storage unit, 33 ... Communication interface, 34 ... External interface, 35 ... Input device, 36 ... Output device, 37 ... drive, 93 ...
  • Second training data set 521 ... 2nd sample, 522 ... 2nd label, 53 ...
  • Third training data set 531 ... sample value, 532 ... reflection level, 54 ...
  • Fourth training data set 541 ... sample value, 542 ... pseudo sample (fourth pseudo sample), 551 ... 3rd sample, 555 ... Pseudo sample (3rd pseudo sample), 61 ... 1st pseudo sample, 62 ... 2nd pseudo sample, 63 ... Pseudo value

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)

Abstract

多様なサンプルを収集するのにかかるコストを低減するための技術を提供する。 本発明の一側面に係るデータ生成システムは、訓練済みの第1生成器を利用して、入力値に対応する種別の第1特徴を含む第1疑似サンプルを生成し、訓練済みの第2生成器を利用して、入力値に対応する種別の第2特徴を含む第2疑似サンプルを生成し、かつ生成された第1疑似サンプル及び第2疑似サンプルを合成することにより、第1特徴及び第2特徴を含む新たなサンプルを生成する。

Description

データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム
 本発明は、データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラムに関する。
 従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、多関節ロボットにより光源を移動させながら、当該光源からの検査光が照射された検査対象物の外観を撮影し、得られた画像を分析することで検査対象物の外観検査を行う外観検査装置が提案されている。また、例えば、特許文献2では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
特開2019-045330号公報 特開2012-026982号公報 特開2018-175343号公報 特開2019-071050号公報 特開2018-024340号公報 特開2018-189522号公報
 従来の方法によれば、撮影により得られた画像から製品の外観検査を実施することができる。また、特許文献2のような、ニューラルネットワーク等の機械学習モデルを利用する方法によれば、得られた画像に対する画像処理を詳細に規定しなくても(例えば、欠陥を検出するための検出パラメータの値を設定しなくても)、訓練済みの機械学習モデルの出力に基づいて製品の外観検査を実施することができる。そのため、外観検査の情報処理を簡略化し、検査プログラムを作成する手間を低減することができる。しかしながら、本件発明者らは、上記のような従来の検出方法には、次のような問題点があることを見出した。
 撮影画像に基づいて外観検査を実施する場合、事前に、欠陥を含む製品の写る画像を学習データとして収集する。画像処理により欠陥を検出するケースでは、収集された学習データは、欠陥を検出するための検出パラメータの値の設定に利用される。また、欠陥の検出に機械学習モデルを利用するケースでは、収集された学習データは、与えられた画像に写る欠陥を検出する能力を機械学習モデルに習得させるための機械学習に利用される。欠陥の検出は、欠陥の種別を識別することであってもよい。基本的には、収集される学習データが多岐にわたるほど、すなわち、学習データに表れる欠陥の状況が多様であるほど、外観検査の精度の向上を図ることができる。
 しかしながら、欠陥の種別、及び製品の外観を含む背景の種別が多くなればなるほど、欠陥の種別及び背景の種別の組み合わせが増加し、学習データとして収集されることが所望されるサンプルの件数(及び種類)も増加する。そのため、欠陥の種別及び背景の種別の各組み合わせの表れるサンプルを収集するのにコストがかかるという問題点があった。
 サンプルの得られていない組み合わせが存在する場合には、次のような問題が生じる可能性がある。すなわち、画像処理により欠陥を検出するケースでは、サンプルの得られていない欠陥の種別及び背景の種別の組み合わせに対して検出パラメータの値を設定するのが困難になり、当該組み合わせで表れる欠陥を検出する精度が低下してしまう可能性がある。同様に、欠陥の検出に機械学習モデルを利用するケースでも、サンプルの得られていない欠陥の種別及び背景の種別の組み合わせを機械学習に反映できないことで、その組み合わせに対する訓練済み機械学習モデルによる欠陥の検出に関する推定の精度が低下してしまう可能性がある。
 更に、機械学習モデルを利用するケースでは、次のような問題も生じる可能性がある。すなわち、サンプルに表れる欠陥の種別及び背景の種別の組み合わせが偏っている場合、特に、欠陥の種別及び背景の種別が同じ分布でサンプルに表れる場合、このサンプルの偏りが、機械学習により機械学習モデルに習得される能力に悪影響を及ぼす可能性がある。悪影響の一例として、サンプルに表れる欠陥の種別及び背景の種別の組み合わせが偏っていることで、このサンプルを使用した機械学習が、機械学習モデルに対して、種別に応じて欠陥を検出する能力ではなく、背景の種別を識別する能力を習得させてしまう可能性がある。
 具体例として、第1製品及び第2製品の2種類の製品に対して、第1欠陥及び第2欠陥の2種類の欠陥が発生すると仮定する。また、この例において、第1製品では第1欠陥が生じやすく、第2製品では第2欠陥が生じやすいと仮定する。更に、得られたサンプルが、第1欠陥を含む第1製品の写る画像、及び第2欠陥を含む第2製品の写る画像に偏っていると仮定する。すなわち、第2欠陥を含む第1製品の写る画像及び第1欠陥を含む第2製品の写る画像が機械学習のサンプルとして得られていないと仮定する。この仮定の下で得られたサンプルを使用して、種別に応じて欠陥を検出する能力を習得させることを意図して機械学習モデルの機械学習を実行したと想定する。この場合、得られるサンプルに上記偏りが生じていることで、当該機械学習により、機械学習モデルは、種別に応じて欠陥を検出識別する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。すなわち、サンプルが偏っていることで、意図した能力とは別の能力を機械学習モデルに習得させてしまう可能性がある。背景の種別を識別する能力を習得してしまった場合には、第2欠陥を含む第1製品の写る画像が与えられたときに、訓練済みの機械学習モデルは、第1製品に第1欠陥が生じていると誤検出してしまう。
 したがって、いずれのケースにおいても、サンプルの得られていない組み合わせが存在する場合、その組み合わせに対する外観検査の精度が低下する(最悪の場合には、検査不能となる)という問題が生じ得る。よって、外観検査の精度の向上を図るためには、欠陥の種別及び背景の種別の組み合わせに漏れのないようにサンプルが収集されるのが望ましい。しかしながら、上記のとおり、そのように漏れなくサンプルを収集するのにはコストがかかるという問題点があった。特に、欠陥の種別及び背景の種別が多くなればなるほど、発生確率の極端に低い、欠陥の種別及び背景の種別の特定の組み合わせが存在し、これによって、漏れなくサンプルを収集するのに極めてコストがかかってしまう可能性がある。
 なお、この問題点は、撮影画像に基づいて製品の外観検査を実施する場面に特有の問題ではない。少なくとも2つ以上の特徴が表れ得る所定種類のデータについて、多様なサンプルを収集するあらゆる場面で生じ得る。所定種類のデータとは、上記画像データの他、例えば、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等である。複数の特徴が表れ得る所定種類のデータのサンプルを収集する場面とは、上記撮影画像に基づいて製品の外観検査を実施する場面の他、例えば、器官の写る医療用画像に基づいて患者の状態を推定する場面、撮影画像に写る移動体に関する属性を推定する場面、車両の備えるセンサにより得られた測定データに基づいて車両の運転状態を推定する場面、その他、機械の状態を観測するセンサにより得られた測定データに基づいて機械の状態を推定する場面、等である。移動体は、例えば、歩行者、車両等である。移動体に関する属性とは、例えば、移動体の移動状態(例えば、速度、経路等)、移動体の密集度合い(例えば、混雑度等)である。
 具体例として、特許文献3では、2つの推定器により、医療用画像から病変領域を検出することが提案されている。特許文献4では、訓練済みのニューラルネットワークを利用して、撮影画像に写る人物の密度分布及び移動ベクトルの分布を当該撮影画像から推定することが提案されている。特許文献5では、運転者が車両を運転している間に測定された加速度の測定データに基づいて、運転者の運転性向を判定することが提案されている。特許文献6では、音声及び振動の少なくとも一方の測定データを利用して、設備の故障の予兆を診断する方法が提案されている。
 これらの場面でも、サンプルの得られていない特徴の種別の組み合わせが存在する場合には、それぞれの推定の精度が低下するという問題が生じ得る。よって、推定の精度の向上を図るためには、各特徴の種別の組み合わせに漏れのないようにサンプルを収集するのが望ましい。しかしながら、漏れなくサンプルを収集するのにはコストがかかるという問題点が生じ得る。
 本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減するための技術を提供することである。
 本発明は、上述した課題を解決するために、以下の構成を採用する。
 すなわち、本発明の一側面に係るデータ生成システムは、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する第1生成部と、前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する第2生成部と、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、を備える。
 当該構成に係るデータ生成システムでは、複数の第1学習データセットを使用した機械学習により、第1生成器は、第1特徴を含む第1サンプルに適合する疑似サンプルを第1ラベルから生成するように訓練される。複数の第2学習データセットを使用した機械学習により、第2生成器は、第2特徴を含む第2サンプルに適合する疑似サンプルを第2ラベルから生成するように訓練される。各機械学習の結果、第1生成器は、与えられる入力値に対応する種別の第1特徴を含む疑似サンプルを生成する能力を習得し、第2生成器は、与えられる入力値に対応する種別の第2特徴を含む疑似サンプルを生成する能力を習得する。当該構成に係るデータ生成システムは、第1生成器及び第2生成器を利用して第1疑似サンプル及び第2疑似サンプルを生成し、生成された第1疑似サンプル及び第2疑似サンプルを合成することで、所定種類のデータの新たなサンプルを生成する。
 したがって、当該構成に係るデータ生成システムでは、それぞれ学習済み(以下、「訓練済み」とも記載する)の第1生成器及び第2生成器に与える入力に基づいて、生成される新たなサンプルに含まれる第1特徴及び第2特徴それぞれの種別を制御することができる。つまり、それぞれ学習済みの第1生成器及び第2生成器を利用することで、任意の種別の組み合わせの第1特徴及び第2特徴を含む新たなサンプルを生成することができる。サンプルが得られていない又はサンプル数の少ない、第1特徴及び第2特徴の種別の組み合わせが存在する場合には、その種別の組み合わせの第1特徴及び第2特徴を含む新たなサンプルを自在に生成することができる。加えて、それぞれ学習済みの第1生成器及び第2生成器を利用して、第1特徴及び第2特徴を含む新たなサンプルを生成する処理の多くの部分は自動化することができる。よって、当該構成によれば、多様な組み合わせのサンプルを自在かつ自動的に生成することができるため、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減することができる。
 なお、第1特徴及び第2特徴はそれぞれ、実施の形態に応じて適宜選択されてよい。例えば、第1特徴及び第2特徴はそれぞれ、データに直接的又は間接的に表れ得る成分(要素)に関するものであってよい。直接的に表れるとは、画像データに写る等のデータそのものに表れることを指す。間接的に表れるとは、画像データから推定される等のデータから導出されることを指す。第1特徴及び第2特徴のうちの少なくとも一方は、何らかの推定処理の対象となり得る成分に関するものであってよい。推定は、「推論」と読み替えられてもよい。推定することには、予測することが含まれてもよい。推定することは、例えば、グループ分け(分類、識別)により離散値(例えば、特定の特徴に対応するクラス)を導出すること、及び回帰により連続値(例えば、特定の特徴が出現している確率)を導出することのいずれかであってよい。推定することには、当該グループ分け又は回帰の結果に基づいて、検出、判定等の何らかの認定を行うことが含まれてもよい。音データを含む動画像データ等のように、所定種類のデータは、複数種類のデータにより構成されてよい。この場合、第1特徴及び第2特徴はそれぞれ、複数種類のうちの少なくともいずれかのデータに関するものであってよい。例えば、第1特徴は、画像データに関し、第2特徴は、音データに関する等のように、合成可能であれば、第1特徴及び第2特徴それぞれに関するデータの種類は異なっていてもよい。
 第1生成器及び第2生成器はそれぞれ、機械学習モデルにより構成される。各生成器の機械学習モデルは、各ラベルに対応する入力値の入力に応じて、データの各サンプルを模した疑似的なサンプル(疑似サンプル)を生成するように構成される。「疑似サンプル」は、各生成器により生成されたサンプルであることを指す。各生成器の機械学習モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各生成器の機械学習モデルには、例えば、ニューラルネットワークが用いられてよい。ニューラルネットワークの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各生成器に対する入力値及び合成のパラメータはそれぞれ、手動的に決定されてもよいし、ランダム等の方法により自動的に決定されてもよい。第1生成器及び第2生成器の訓練に使用される第1サンプル及び第2サンプルは、現実世界から得られたものであってもよいし、シミュレーション、手動操作等により人工的に生成されたものであってもよい。
 上記一側面に係るデータ生成システムにおいて、前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含んでもよい。前記第1特徴は、前記第1成分に関するものであってよく、前記第2特徴は、前記第2成分に関するものであってよい。当該構成によれば、低コストで収集された多様なサンプルを所定の推定の実施に反映することで、当該推定の精度を高めることができる。
 上記一側面に係るデータ生成システムにおいて、前記第1学習モデルは、第1識別器を更に含んでもよい。前記第1生成器を訓練することは、前記第1識別器に入力された入力サンプルが、前記複数の第1学習データセットのいずれかから得られた前記第1サンプルか前記第1生成器により生成された疑似サンプルかを識別するように前記第1識別器を訓練するステップ、及び前記第1識別器の前記識別の性能を低下させるような疑似サンプルを生成するように前記第1生成器を訓練するステップ、を交互に繰り返し実行することにより構成されてよい。
 当該構成では、第1識別器の訓練と第1生成器の訓練とを交互に繰り返すことで、第1識別器の識別性能の向上に応じて、第1サンプルに適合する疑似サンプルを生成する第1生成器の性能の向上を図ることができる。したがって、当該構成によれば、第1特徴を含む適切な疑似サンプルを生成可能な学習済みの第1生成器を構築することができ、これによって、適切で多様なサンプルを収集するのにかかるコストを低減することができる。
 上記一側面に係るデータ生成システムにおいて、前記第2学習モデルは、第2識別器を更に含んでもよい。前記第2生成器を訓練することは、前記第2識別器に入力された入力サンプルが、前記複数の第2学習データセットのいずれかから得られた前記第2サンプルか前記第2生成器により生成された疑似サンプルかを識別するように前記第2識別器を訓練するステップ、及び前記第2識別器の前記識別の性能を低下させるような疑似サンプルを生成するように前記第2生成器を訓練するステップ、を交互に繰り返し実行することにより構成されてよい。
 当該構成では、第2識別器の訓練と第2生成器の訓練とを交互に繰り返すことで、第2識別器の識別性能の向上に応じて、第2サンプルに適合する疑似サンプルを生成する第2生成器の性能の向上を図ることができる。したがって、当該構成によれば、第2特徴を含む適切な疑似サンプルを生成可能な学習済みの第2生成器を構築することができ、これによって、適切で多様なサンプルを収集するのにかかるコストを低減することができる。
 上記一側面に係るデータ生成システムは、前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、を更に備えてもよい。前記合成することは、前記第2ラベルに対応する第2入力値並びに前記反映レベルに対応する第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、を含んでよい。
 当該構成では、複数の第3学習セットを使用した機械学習により、第3生成器は、第2特徴の属性のサンプル値に適合する疑似的な値を反映レベル及び第2ラベルから生成するように訓練される。この機械学習の結果、第3生成器は、与えられる入力に対応する第2特徴の属性の疑似値を生成する能力を習得する。そのため、学習済みの第3生成器に与える入力に基づいて、生成される新たなサンプルに含まれる第2特徴の属性の値を制御することができる。つまり、学習済みの第3生成器を更に利用することで、任意の属性値を有する第2特徴を含む新たなサンプルを自在に生成することができる。したがって、当該構成によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて更に多様なサンプルを生成することができる。なお、「属性」は、例えば、大きさ、(時間的又は領域的)位置、明度、振幅、頻度(時間的又は領域的)等の特徴の有する性質の程度又は分類に関する。
 上記一側面に係るデータ生成システムは、前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、を更に備えてもよい。前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含んでもよい。前記第1特徴は、前記第1成分に関するものであってよく、前記第2特徴は、前記第2成分に関するものであってよい。前記所定の推定は、前記第2成分を検出することであってよい。前記合成することは、前記第2ラベルに対応する第2入力値、並びに前記反映レベルに対応する第3入力値であって、前記検出の限界に応じて与えられた第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、を含んでもよい。当該構成によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて、検出の限界事例に対応する多様なサンプルを生成することができる。また、生成された多様なサンプルを所定の推定の実施に反映することで、当該推定の精度を高めることができる。
 上記一側面に係るデータ生成システムにおいて、前記第3学習モデルは、第3識別器を更に含んでもよい。前記第3生成器を訓練することは、前記第3識別器に入力された入力値が、前記複数の第3学習データセットのいずれかから得られた前記サンプル値か前記第3生成器により生成された疑似的な値かを識別するように前記第3識別器を訓練するステップ、及び前記第3識別器の前記識別の性能を低下させるような前記第2特徴の属性の疑似的な値を生成するように前記第3生成器を訓練するステップ、を交互に繰り返し実行することにより構成されてよい。
 当該構成では、第3識別器の訓練と第3生成器の訓練とを交互に繰り返すことで、第3識別器の識別性能の向上に応じて、第2特徴の属性のサンプル値に適合する疑似値を生成する第3生成器の性能の向上を図ることができる。したがって、当該構成によれば、第2特徴の属性の適切な疑似値を生成可能な学習済みの第3生成器を構築することができ、これによって、適切で多様なサンプルを収集するのにかかるコストを低減することができる。
 上記一側面に係るデータ生成システムにおいて、前記各第3学習データセットは、前記第1ラベルを更に備えてもよい。前記第3学習モデルの機械学習を実施することは、前記反映レベル、前記第2ラベル及び前記第1ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含んでもよい。
 当該構成では、第3生成器は、第1ラベルに示される第1特徴の種別に更に対応して、第2特徴の属性の疑似値を生成するように訓練される。そのため、学習済みの第3生成器によれば、第1特徴の種別に応じて、第2特徴の属性の値を制御することができる。つまり、学習済みの第3生成器を利用することで、第1特徴の種別に適した属性値を有する第2特徴を含む新たなサンプルを自在に生成することができる。したがって、当該構成によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて更に多様で適切なサンプルを生成することができる。
 上記一側面に係るデータ生成システムにおいて、前記反映レベルは、連続値により構成されてよい。当該構成によれば、第2特徴の属性値を連続値により制御することができるため、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて更に多様なサンプルを生成することができる。なお、反映レベルの構成は、このような例に限られなくてもよい。反映レベルは、離散値により構成されてもよい。
 上記一側面に係るデータ生成システムにおいて、前記複数の第2学習データセットを取得することは、前記所定種類のデータの第3サンプルであって、前記第1特徴及び前記第2特徴をそれぞれ含む複数の第3サンプルを取得するステップ、訓練済みの前記第1生成器により生成された疑似サンプルから当該疑似サンプルを生成する際に前記第1生成器に与えられた入力を推定するように訓練された推定器に前記各第3サンプルを与えることで、前記各第3サンプルに対応する疑似サンプルを生成するために訓練済みの前記第1生成器に与える入力の推定値を推定するステップ、推定された前記推定値を訓練済みの前記第1生成器に与えることで、前記第3サンプル毎に第3疑似サンプルを生成するステップ、並びに前記各第3サンプルから前記第3疑似サンプルを差分することで、前記各第2学習データセットの前記第2サンプルを生成するステップ、を含んでもよい。基本的には、学習済みの第1生成器は、第1特徴を含み、かつ第2特徴を含まない疑似サンプルを生成するように構成される。そのため、当該構成によれば、第1特徴を含まず、かつ第2特徴を含む第2サンプルを適切に生成することができる。また、当該構成によれば、第3サンプルから第2サンプルを自動的に生成可能であるため、第2サンプルを取得するコストを低減することができる。
 上記一側面に係るデータ生成システムは、訓練済みの前記第1生成器に与える入力のサンプル値、及び訓練済みの前記第1生成器に当該サンプル値を与えることで生成される第4疑似サンプルの組み合わせによりそれぞれ構成される複数の第4学習データセットを取得する第4取得部と、取得された前記複数の第4学習データセットを使用して、前記推定器の機械学習を実施することで、訓練済みの前記推定器を構築する第4訓練部であって、前記推定器の機械学習を実施することは、前記各第4学習データセットについて、訓練済みの前記第1生成器に与えた入力を前記第4疑似サンプルから前記推定器により推定することで得られる推定値が前記サンプル値に適合するように前記推定器を訓練することを含む、第4訓練部と、を更に備えてもよい。当該構成によれば、複数の第4学習データセットを使用した機械学習により、第3サンプルに対応し、第1特徴を含み、かつ第2特徴を含まない疑似サンプルを生成するのに学習済みの第1生成器に与える入力値を適切に推定可能な学習済みの推定器を生成することができる。よって、生成された学習済みの推定器を利用することで、第1特徴を含まず、かつ第2特徴を含む第2サンプルを第3サンプルから適切に生成することができる。
 上記一側面に係るデータ生成システムにおいて、前記所定種類のデータは、背景及び前景を含む画像データであってよい。前記第1特徴は、前記背景に関するものであってよく、前記第2特徴は、前記前景に関するものであってよい。当該構成によれば、画像データについて、様々な種別の背景及び前景の組み合わせのサンプルを収集するのにかかるコストを低減することができる。
 上記一側面に係るデータ生成システムにおいて、前記所定種類のデータは、製品の写る画像データであってよい。前記第1特徴は、前記製品を含む背景に関するものであってよく、前記第2特徴は、前記製品の欠陥に関するものであってよい。当該構成によれば、様々な種別の製品及び欠陥の組み合わせのサンプルを収集するのにかかるコストを低減することができる。また、生成された多様なサンプルを外観検査の実施に反映することで、外観検査の精度を高めることができる。
 本発明の形態は、上記データ生成システムに限られなくてもよい。上記データ生成システムの構成の少なくとも一部分を抽出することで、新たな形態に係る装置(又はシステム)を構成してもよい。例えば、本発明の一側面に係る学習装置は、上記各形態に係るデータ生成システムから、少なくともいずれかの生成器を機械学習により生成する部分を抽出することにより構成されてよい。また、例えば、本発明の一側面に係るデータ生成装置は、上記各形態に係るデータ生成システムから、学習済みの生成器を利用して、新たなサンプルを生成する部分を抽出することにより構成されてよい。
 一例として、本発明の一側面に係る学習装置は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、を備える。
 なお、「学習装置」は、訓練済みの機械学習モデル(生成器)を生成するための「モデル生成装置」又は単に「生成装置」と読み替えられてよい。学習方法は、訓練済みの機械学習モデルを生成するためのモデル生成方法又は単に生成方法と読み替えられてよい。すなわち、学習方法は、訓練済みの機械学習モデルを生成(生産)する方法に相当する。
 その他の例として、本発明の一側面に係るデータ生成装置は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築された訓練済みの第1生成器を有する第1生成部であって、前記機械学習により、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、第1生成部は、前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する、第1生成部と、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築された訓練済みの第2生成器を有する第2生成部であって、前記機械学習により、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、前記第2生成部は、前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、第2生成部と、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、を備える。
 また、上記各形態に係るデータ生成システム、学習装置、及びデータ生成装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
 例えば、本発明の一側面に係るデータ生成方法は、コンピュータが、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得するステップと、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得するステップと、取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施するステップであって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、ステップと、取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施するステップであって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、ステップと、前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成するステップと、前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成するステップと、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係るデータ生成方法は、コンピュータが、訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、ステップと、訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、ステップと、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係るデータ生成プログラムは、コンピュータに、訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、ステップと、訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され、前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、ステップと、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、を実行させるための、プログラムである。
 本発明によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2Aは、実施の形態に係る第1特徴及び第2特徴を含むサンプルの一例を模式的に例示する。 図2Bは、実施の形態に係る第1特徴及び第2特徴を含むサンプルの一例を模式的に例示する。 図3は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係るデータ生成装置のハードウェア構成の一例を模式的に例示する。 図5は、実施の形態に係る推定装置のハードウェア構成の一例を模式的に例示する。 図6は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。 図7Aは、実施の形態に係る学習装置による第1学習モデルの機械学習の過程を模式的に例示する。 図7Bは、実施の形態に係る学習装置による第2学習モデルの機械学習の過程を模式的に例示する。 図7Cは、実施の形態に係る学習装置による第3学習モデルの機械学習の過程を模式的に例示する。 図7Dは、実施の形態に係る学習装置による推定器の機械学習の過程を模式的に例示する。 図7Eは、実施の形態に係る学習装置による第2サンプルの生成過程を模式的に例示する。 図8は、実施の形態に係るデータ生成装置のソフトウェア構成の一例を模式的に例示する。 図9は、実施の形態に係る推定装置のソフトウェア構成の一例を模式的に例示する。 図10Aは、実施の形態に係る学習装置による第1学習モデルの機械学習の処理手順の一例を例示する。 図10Bは、実施の形態に係る学習装置による第1学習モデルの機械学習に関するサブルーチンの処理手順の一例を例示する。 図11Aは、実施の形態に係る学習装置による第2学習モデルの機械学習の処理手順の一例を例示する。 図11Bは、実施の形態に係る学習装置による第2学習モデルの機械学習に関するサブルーチンの処理手順の一例を例示する。 図12Aは、実施の形態に係る学習装置による第3学習モデルの機械学習の処理手順の一例を例示する。 図12Bは、実施の形態に係る学習装置による第3学習モデルの機械学習に関するサブルーチンの処理手順の一例を例示する。 図13は、実施の形態に係る学習装置による推定器の機械学習の処理手順の一例を例示する。 図14は、実施の形態に係る学習装置による第2サンプルの生成に関する処理手順の一例を例示する。 図15は、実施の形態に係るデータ生成装置の処理手順の一例を例示する。 図16は、実施の形態に係るデータ生成装置の受付画面であって、各入力値の入力を受け付けるための受付画面の一例を模式的に例示する。 図17Aは、実施の形態に係る推定装置の処理手順の一例を例示する。 図17Bは、実施の形態に係る第2特徴に関する推定処理の過程の一例を例示する。 図18Aは、実施の形態に係るデータ群の出力画面の一例を例示する。 図18Bは、実施の形態に係るデータ群の出力画面の一例を例示する。 図19は、本発明が適用される他の場面の一例を模式的に例示する。 図20Aは、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。 図20Bは、他の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。 図21は、本発明が適用される他の場面の一例を模式的に例示する。 図22は、本発明が適用される他の場面の一例を模式的に例示する。 図23は、本発明が適用される他の場面の一例を模式的に例示する。 図24Aは、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。 図24Bは、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。 図25は、本発明が適用される他の場面の一例を模式的に例示する。 図26Aは、他の形態に係る異常検知装置のハードウェア構成の一例を模式的に例示する。 図26Bは、他の形態に係る異常検知装置のソフトウェア構成の一例を模式的に例示する。 図27は、他の形態に係る生成器の構成の一例を模式的に例示する。 図28は、本発明が適用される他の場面の一例を模式的に例示する。 図29は、他の形態に係る他の学習装置のハードウェア構成の一例を模式的に例示する。 図30は、他の形態に係る他の学習装置のソフトウェア構成の一例を模式的に例示する。 図31は、他の形態に係る他の学習装置の処理手順の一例を例示する。 図32Aは、他の形態に係る推定装置のハードウェア構成の一例を模式的に例示する。 図32Bは、他の形態に係る推定装置のソフトウェア構成の一例を模式的に例示する。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
 §1 適用例
 図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る推定システム100は、学習装置1、データ生成装置2及び推定装置3を備えている。学習装置1及びデータ生成装置2は、学習済みの第1生成器411及び第2生成器421を生成し、生成された学習済みの第1生成器411及び第2生成器421を利用して、所定種類のデータの新たなサンプル65を生成するためのデータ生成システムを構成する。
 本実施形態に係る学習装置1は、それぞれ機械学習を実施することで、学習済みの第1生成器411及び第2生成器421を生成するように構成されたコンピュータである。具体的に、本実施形態に係る学習装置1は、所定種類のデータの第1サンプル511及び第1ラベル512の組み合わせによりそれぞれ構成される複数の第1学習データセット51を取得する。また、本実施形態に係る学習装置1は、所定種類のデータの第2サンプル521及び第2ラベル522の組み合わせによりそれぞれ構成される複数の第2学習データセット52を取得する。
 各サンプル(511、521)について、所定種類のデータは、何らかの特徴が表れ得るデータであれば、データの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定種類のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られるセンシングデータ等であってよい。所定種類のデータは、例えば、何らかの対象をセンサにより観測することで得られるセンシングデータであってもよい。センサは、例えば、カメラ、マイクロフォン、エンコーダ、Lidarセンサ、医療検査装置、バイタルセンサ、人感センサ、環境センサ等であってよい。カメラは、例えば、RGB画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。医療検査装置は、例えば、レントゲン装置、CT装置、MRI装置等であってよい。バイタルセンサは、例えば、体温計、血圧計、脈拍計等であってよい。環境センサは、例えば、光度計、温度計、湿度計等であってよい。
 第1サンプル511は、所定種類のデータに表れる第1特徴を含み、第1ラベル512は、その第1特徴の種別を示す。一方、第2サンプル521は、第1特徴とは異なる第2特徴を含み、第2ラベル522は、その第2特徴の種別を示す。第1特徴及び第2特徴はそれぞれ、実施の形態に応じて適宜選択されてよい。例えば、第1特徴及び第2特徴はそれぞれ、所定種類のデータに直接的又は間接的に表れ得る成分(要素)に関するものであってよい。直接的に表れるとは、画像データに写る等のデータそのものに表れることを指す。間接的に表れるとは、画像データから推定される等のデータから導出されることを指す。第1特徴及び第2特徴のうちの少なくとも一方は、何らかの推定処理の対象となり得るものであってよい。なお、対象のサンプルが対象の特徴を含んでいることは、対象のサンプルに対象の特徴が表れていることに相当する。
 本実施形態では、所定種類のデータは、第1成分及び第1成分とは異なる第2成分を含み得る。第2成分は、所定の推定の対象となる。各第1サンプル511に含まれる第1特徴は第1成分に関し、各第2サンプル521に含まれる第2特徴は第2成分に関する。推定することには、予測することが含まれてもよい。推定することは、例えば、グループ分け(分類、識別)により離散値(例えば、特定の特徴に対応するクラス)を導出すること、及び回帰により連続値(例えば、特定の特徴が出現している確率)を導出することのいずれかであってよい。推定することには、当該グループ分け又は回帰の結果に基づいて、検出、判定等の何らかの認定を行うことが含まれてもよい。音データを含む動画像データ等のように、所定種類のデータは、複数種類のデータにより構成されてよい。この場合、第1特徴及び第2特徴はそれぞれ、複数種類のうちの少なくともいずれかのデータに関するものであってよい。例えば、第1特徴は、画像データに関し、第2特徴は、音データに関する等のように、合成可能であれば、第1特徴及び第2特徴それぞれに関するデータの種類は異なっていてもよい。
 次に、本実施形態に係る学習装置1は、取得された複数の第1学習データセット51を使用して、第1生成器411を含む第1学習モデル41の機械学習を実施する。第1学習モデル41の機械学習を実施することは、各第1学習データセット51について、第1生成器411により第1ラベル512から生成される疑似サンプルが第1サンプル511に適合するように第1生成器411を訓練することを含む。また、本実施形態に係る学習装置1は、取得された複数の第2学習データセット52を使用して、第2生成器421を含む第2学習モデル42の機械学習を実施する。第2学習モデル42の機械学習を実施することは、各第2学習データセット52について、第2生成器421により第2ラベル522から生成される疑似サンプルが第2サンプル521に適合するように第2生成器421を訓練することを含む。各機械学習の結果、学習済みの第1生成器411及び第2生成器421が生成される。
 各生成器(411、421)は、機械学習モデルにより構成される。各生成器(411、421)の機械学習モデルは、各ラベル(512、522)に対応する入力値の入力に応じて、データの各サンプル(511、521)を模した疑似的なサンプル(疑似サンプル)を生成するように構成される。疑似サンプルは、各生成器(411、421)により生成されたサンプルであることを指す。各生成器(411、421)の機械学習モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、各生成器(411、421)の機械学習モデルには、ニューラルネットワークが用いられる。詳細は後述する。なお、本実施形態に係る学習装置1は、訓練済みの機械学習モデルを生成するための「モデル生成装置」又は単に「生成装置」と称されてよい。
 本実施形態に係るデータ生成装置2は、それぞれ学習済みの第1生成器411及び第2生成器421を利用して、所定種類のデータの新たなサンプル65を生成するように構成されたコンピュータである。具体的に、本実施形態に係るデータ生成装置2は、第1ラベル512に対応する第1入力値221を訓練済みの第1生成器411に与えることで、第1特徴を含む第1疑似サンプル61を生成する。また、本実施形態に係るデータ生成装置2は、第2ラベル522に対応する第2入力値223を訓練済みの第2生成器421に与えることで、第2特徴を含む第2疑似サンプル62を生成する。そして、本実施形態に係るデータ生成装置2は、生成された第1疑似サンプル61及び生成された第2疑似サンプル62を合成することで、所定種類のデータの新たなサンプル65を生成する。
 本実施形態に係る推定装置3は、第2特徴についての所定の推定処理を実行するように構成されたコンピュータである。本実施形態では、所定の推定は、第2成分を検出すること(換言すると、第2特徴の存在を検出すること)である。本実施形態に係る推定装置3は、対象サンプル325を取得し、取得した対象サンプル325に対して第2成分を検出するための処理を実行する。検出処理におけるパラメータは、データ群320に基づいて決定されてよい。データ群320は、所定種類のデータの複数のサンプル321により構成される。複数のサンプル321には、データ生成装置2により生成されたサンプル65が含まれてもよい。
 以上のとおり、本実施形態では、それぞれ学習済みの第1生成器411及び第2生成器421に与える入力に基づいて、生成される新たなサンプル65に含まれる第1特徴及び第2特徴それぞれの種別を制御することができる。つまり、本実施形態に係るデータ生成装置2は、それぞれ学習済みの第1生成器411及び第2生成器421を利用することで、任意の種別の組み合わせの第1特徴及び第2特徴を含む新たなサンプル65を生成することができる。サンプルが得られていない又はサンプル数の少ない、第1特徴及び第2特徴の種別の組み合わせが存在する場合に、その種別の組み合わせの第1特徴及び第2特徴を含む新たなサンプル65を自在に生成することができる。加えて、それぞれ学習済みの第1生成器411及び第2生成器421を利用することで、新たなサンプル65を生成する処理の多くを自動化することができる。よって、本実施形態によれば、多様な組み合わせのサンプルを自在かつ自動的に生成することができるため、少なくとも2つ以上の特徴が表れる所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減することができる。
 更に、本実施形態では、新たなサンプル65をデータ群320に追加することで、データ群320に含まれるサンプル321の多様化を図ることができる。すなわち、データ群320において、得られていなかった又は数の少なかった組み合わせについてのサンプルの充実化を実現することができる。これにより、その組み合わせに対する推定の精度を高めることができる。したがって、本実施形態によれば、上記のように生成された新たなサンプル65を推定装置3における推定処理の実施に反映することで、当該推定処理の精度の向上を図ることができる。
 なお、図1に示されるとおり、学習装置1、データ生成装置2及び推定装置3は、ネットワークを介して互いに接続されてよい。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、学習装置1、データ生成装置2及び推定装置3の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習装置1、データ生成装置2及び推定装置3の間では、記憶媒体を利用して、データがやりとりされてよい。
 また、図1の例では、学習装置1、データ生成装置2及び推定装置3は、それぞれ別個のコンピュータである。しかしながら、本実施形態に係るシステムの構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、学習装置1、データ生成装置2及び推定装置3のうちの少なくともいずれかのペアは一体のコンピュータであってよい。また、例えば、学習装置1、データ生成装置2及び推定装置3のうちの少なくともいずれかは、複数台のコンピュータにより構成されてよい。
 ここで、図2A及び図2Bを更に用いて、上記推定システム100において取り扱い可能な所定種類のデータの具体例について説明する。図2Aは、製品P1の外観検査を実施する場面で得られる、第1特徴及び第2特徴を含むサンプルP10の一例を模式的に例示する。図2Bは、機械の動作音に基づいて機械の状態検査を実施する場面で得られる、第1特徴及び第2特徴を含むサンプルP20の一例を模式的に例示する。
 図2Aでは、製品P1の写る画像データが、所定種類のデータの一例である。この例では、第1特徴は、製品P1を含む背景P11に関し、第2特徴は、製品P1に発生し得る欠陥P12に関する。すなわち、サンプルP10における製品P1を含む背景P11の画像は、第1成分の一例であり、欠陥P12の画像は、第2成分の一例である。この場合、各第1学習データセット51において、第1サンプル511は、製品P1の写る画像データのサンプルであってよく、第1ラベル512は製品P1の種別を示してよい。第2サンプル521は、欠陥P12の写る画像データのサンプルであってよく、第2ラベル522は欠陥P12の種別を示してよい。
 製品P1及び欠陥P12の種類は任意に選択されてよい。製品P1は、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品は、製造過程完了後に生成される最終品、製造過程の途中で生成される中間品、及び製造過程を経過する前に用意される初期品のいずれであってもよい。欠陥P12は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。
 この例では、本実施形態に係る学習装置1は、上記複数の第1学習データセット51を使用した機械学習により、入力に応じた種別の製品P1を含む背景の写る疑似サンプルを生成するように訓練された第1生成器411を構築することができる。また、本実施形態に係る学習装置1は、上記複数の第2学習データセット52を使用した機械学習により、入力に応じた種別の欠陥P12を含む前景の写る疑似サンプルを生成するように訓練された第2生成器421を構築することができる。本実施形態に係るデータ生成装置2では、それぞれ学習済みの第1生成器411及び第2生成器421を利用することで、任意の種別の組み合わせの製品P1及び欠陥P12の写る新たなサンプル65を生成する処理の多くを自動化することができる。そのため、製品P1及び欠陥P12の写る多様なサンプルを収集するのにかかるコストを低減することができる。更に、本実施形態に係る推定装置3では、生成された新たなサンプル65の追加によりデータ群320に含まれるサンプル321を多様化することで、製品P1の外観検査の精度の向上を図ることができる。
 一方、図2Bでは、機械の動作音を含む音データが、所定種類のデータの一例である。この例では、第1特徴は、機械の通常運転時に生じる動作音、機械の周囲の雑音等の環境音P21に関し、第2特徴は、機械の経年劣化、故障等の異常により生じる異常音P22に関する。すなわち、サンプルP20における環境音P21の成分が第1成分の一例であり、異常音P22の成分が第2成分の一例である。この場合、各第1学習データセット51において、第1サンプル511は、環境音P21を含む音データのサンプルであってよく、第1ラベル512は、機械及び周囲環境の種別を示してもよい。各第2学習データセット52において、第2サンプル521は、異常音P22を含む音データのサンプルであってよく、第2ラベル522は、異常の種別を示してもよい。
 機械及び異常の種類は任意に選択されてよい。機械は、例えば、コンベア装置、産業用ロボット等の製造ラインを構成する装置であってよい。機械は、装置全体であってもよいし、モータ等の装置の一部であってもよい。機械の周囲環境は、例えば、機械の駆動する場所、時間等により区別されてよい。異常は、例えば、故障、異物の混入、汚れの付着、構成部品の摩耗であってもよい。
 この例では、本実施形態に係る学習装置1は、上記複数の第1学習データセット51を使用した機械学習により、入力に応じた種別の機械及び周囲環境の環境音P21を含む疑似サンプルを生成するように訓練された第1生成器411を構築することができる。また、本実施形態に係る学習装置1は、上記複数の第2学習データセット52を使用した機械学習により、入力に応じた種別の異常音P22を含む疑似サンプルを生成するように訓練された第2生成器421を構築することができる。本実施形態に係るデータ生成装置2では、それぞれ学習済みの第1生成器411及び第2生成器421を利用することで、任意の種別の組み合わせの環境音P21及び異常音P22を含む新たなサンプル65を生成する処理の多くを自動化することができる。そのため、環境音P21及び異常音P22を含む多様なサンプルを収集するのにかかるコストを低減することができる。更に、本実施形態に係る推定装置3では、生成された新たなサンプル65の追加によりデータ群320に含まれるサンプル321を多様化することで、機械の異常を検知する精度の向上を図ることができる。
 なお、図2A及び図2Bの例では、通常時及び異常時共に出現する等のように比較的に出現率の高い特徴が第1特徴に選択され、異常時にのみ出現する等のように比較的に出現率の低い特徴が第2特徴に選択されている。このように、単独でも出現し得る比較的に出現率の高い特徴が第1特徴に選択され、その特徴と共に出現し得る比較的に出現率の低い特徴が第2特徴に選択されてよい。この場合、第2成分を検出することは、異常発生等の比較的に出現率の低い事象を検出することに相当する。
 §2 構成例
 [ハードウェア構成]
 <学習装置>
 図3は、本実施形態に係る学習装置1のハードウェア構成の一例を模式的に例示する。図3に示されるとおり、本実施形態に係る学習装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図3では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
 制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、学習プログラム81、第1~第4学習データセット51~54、第1~第4学習結果データ121~124等の各種情報を記憶する。
 学習プログラム81は、機械学習を実施することで各学習済みモデルを生成する後述の情報処理(図10A~図14)を学習装置1に実行させるためのプログラムである。学習プログラム81は、当該情報処理の一連の命令を含む。学習プログラム81は、「モデル生成プログラム」又は単に「生成プログラム」と称されてよい。第1~第4学習データセット51~54はそれぞれ、各モデルの機械学習に使用される。第1~第4学習結果データ121~124はそれぞれ、機械学習により構築された各学習済みモデルに関する情報を示す。本実施形態では、第1~第4学習結果データ121~124はそれぞれ、学習プログラム81を実行した結果として生成される。詳細は後述する。
 通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。学習装置1は、外部インタフェース14を介して、第1サンプル511、第2サンプル521等のサンプルを得るためのセンサに接続されてよい。
 入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、学習装置1を操作することができる。
 ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記学習プログラム81及び第1~第4学習データセット51~54の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
 記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置1は、この記憶媒体91から、上記学習プログラム81及び第1~第4学習データセット51~54の少なくともいずれかを取得してもよい。
 ここで、図3では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。
 なお、学習装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。学習装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
 <データ生成装置>
 図4は、本実施形態に係るデータ生成装置2のハードウェア構成の一例を模式的に例示する。図4に示されるとおり、本実施形態に係るデータ生成装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
 データ生成装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記学習装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、データ生成プログラム82、第1~第3学習結果データ121~123等の各種情報を記憶する。データ生成プログラム82は、新たなサンプル65の生成に関する後述の情報処理(図15)をデータ生成装置2に実行させるためのプログラムである。データ生成プログラム82は、この情報処理の一連の命令を含む。データ生成プログラム82及び第1~第3学習結果データ121~123のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、データ生成装置2は、記憶媒体92から、上記データ生成プログラム82及び第1~第3学習結果データ121~123のうちの少なくともいずれかを取得してもよい。
 なお、データ生成装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。データ生成装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、データ生成装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
 <推定装置>
 図5は、本実施形態に係る推定装置3のハードウェア構成の一例を模式的に例示する。図5に示されるとおり、本実施形態に係る推定装置3は、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータである。
 推定装置3の制御部31~ドライブ37及び記憶媒体93はそれぞれ、上記学習装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部31は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部32は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部32は、推定プログラム83、データ群320、第1・第4学習結果データ(121、124)等の各種情報を記憶する。推定プログラム83は、第2特徴についての所定の推定に関する後述の情報処理(図17A)を推定装置3に実行させるためのプログラムである。推定プログラム83は、この情報処理の一連の命令を含む。データ群320は、所定の推定(本実施形態では、第2成分の検出)処理におけるパラメータの値を決定するのに利用されてよい。推定プログラム83、データ群320及び第1・第4学習結果データ(121、124)のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、推定装置3は、記憶媒体93から、上記推定プログラム83、データ群320及び第1・第4学習結果データ(121、124)のうちの少なくともいずれかを取得してもよい。
 なお、推定装置3の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部31は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部32は、制御部31に含まれるRAM及びROMにより構成されてもよい。通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37の少なくともいずれかは省略されてもよい。推定装置3は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推定装置3は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC(programmable logic controller)等であってもよい。
 [ソフトウェア構成]
 <学習装置>
 図6は、本実施形態に係る学習装置1のソフトウェア構成の一例を模式的に例示する。学習装置1の制御部11は、記憶部12に記憶された学習プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された学習プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図6に示されるとおり、本実施形態に係る学習装置1は、第1取得部111、第2取得部112、第3取得部113、第4取得部114、第1訓練部115、第2訓練部116、第3訓練部117、第4訓練部118、及び保存処理部119をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
 第1取得部111は、所定種類のデータの第1サンプル511であって、第1特徴を含む第1サンプル511、及び第1特徴の種別を示す第1ラベル512の組み合わせによりそれぞれ構成される複数の第1学習データセット51を取得する。第1訓練部115は、取得された複数の第1学習データセット51を使用して、第1生成器411を含む第1学習モデル41の機械学習を実施する。第1学習モデル41の機械学習では、第1訓練部115は、各第1学習データセット51について、第1生成器411により第1ラベル512から生成される疑似サンプルが第1サンプル511に適合するように第1生成器411を訓練する。
 第2取得部112は、所定種類のデータの第2サンプル521であって、第1特徴とは異なる第2特徴を含む第2サンプル521、及び第2特徴の種別を示す第2ラベル522の組み合わせによりそれぞれ構成される複数の第2学習データセット52を取得する。第2訓練部116は、取得された複数の第2学習データセット52を使用して、第2生成器421を含む第2学習モデル42の機械学習を実施する。第2学習モデル42の機械学習では、第2訓練部116は、各第2学習データセット52について、第2生成器421により第2ラベル522から生成される疑似サンプルが第2サンプル521に適合するように第2生成器421を訓練する。
 第3取得部113は、第2特徴の属性のサンプル値531、第2特徴を反映する程度を示す反映レベル532、及び第2ラベル522の組み合わせによりそれぞれ構成される複数の第3学習データセット53を取得する。サンプル値531は、属性サンプル値と称されてよい。属性は、例えば、大きさ、(時間的又は領域的)位置、明度、振幅、頻度(時間的又は領域的)等の第2特徴の有する性質の程度又は分類に関する。第3訓練部117は、取得された複数の第3学習データセット53を使用して、第3生成器431を含む第3学習モデル43の機械学習を実施する。第3学習モデル43の機械学習では、第3訓練部117は、各第3学習データセット53について、反映レベル532及び第2ラベル522から第3生成器431により生成される第2特徴の属性の疑似的な値がサンプル値531に適合するように第3生成器431を訓練する。なお、各第3学習データセット53は、第1ラベル512を更に備えてもよい。この場合、第3学習モデル43の機械学習では、第3訓練部117は、反映レベル532、第2ラベル522及び第1ラベル512から第3生成器431により生成される第2特徴の属性の疑似的な値がサンプル値531に適合するように第3生成器431を訓練してもよい。
 第4取得部114は、訓練済みの第1生成器411に与える入力のサンプル値541及び訓練済みの第1生成器411に当該サンプル値541を与えることで生成される疑似サンプル542の組み合わせによりそれぞれ構成される複数の第4学習データセット54を取得する。疑似サンプル542は、本発明の「第4疑似サンプル」の一例である。第4訓練部118は、取得された複数の第4学習データセット54を使用して、推定器44の機械学習を実施する。推定器44の機械学習では、第4訓練部118は、各第4学習データセット54について、訓練済みの第1生成器411に与えた入力を疑似サンプル542から推定器44により推定することで得られる推定値がサンプル値541に適合するように推定器44を訓練する。
 保存処理部119は、各機械学習の結果に関する情報を生成し、生成された情報を所定の記憶領域に保存する。具体的に、保存処理部119は、訓練済みの各生成器(411、421、431)及び推定器44それぞれに関する情報を第1~第4学習結果データ121~124として生成する。そして、保存処理部119は、生成された第1~第4学習結果データ121~124を所定の記憶領域に保存する。所定の記憶領域は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、記憶媒体91、外部記憶装置又はこれらの組み合わせであってよい。
 (第1学習モデルの機械学習)
 図7Aは、本実施形態に係る第1学習モデル41の機械学習の過程の一例を模式的に例示する。第1学習モデル41の構成は、入力に応じた種別の第1特徴を含む疑似サンプルを生成するように第1生成器411を訓練可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、第1学習モデル41は、第1識別器412を更に含んでいる。第1生成器411及び第1識別器412は、機械学習を実施可能な任意の機械学習モデルにより構成されてよい。
 本実施形態では、第1生成器411及び第1識別器412はそれぞれ、深層学習に用いられる多層構造のニューラルネットワークにより構成される。第1生成器411及び第1識別器412はそれぞれ、入力層(4111、4121)、中間(隠れ)層(4112、4122)、及び出力層(4113、4123)を備えている。ただし、第1生成器411及び第1識別器412それぞれの構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、中間層(4112、4122)の数は、1つに限られなくてもよく、2つ以上であってもよい。或いは、中間層(4112、4122)は省略されてもよい。それぞれのニューラルネットワークを構成する層の数は、特に限られなくてもよく、任意に選択されてよい。また、第1生成器411及び第1識別器412の構造は、少なくとも部分的に一致していてもよいし、或いは一致していなくてもよい。
 各層(4111~4113、4121~4123)は、1又は複数のニューロン(ノード)を備えている。各層(4111~4113、4121~4123)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。隣接する層のニューロン同士は適宜結合される。図7Aの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
 各結合には、重み(結合荷重)が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ニューロンの出力が決定される。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層(4111~4113、4121~4123)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、第1生成器411及び第1識別器412それぞれの演算パラメータの一例である。
 本実施形態では、機械学習により第1生成器411を訓練することは、第1識別器412を訓練する第1訓練ステップ、及び第1生成器411を訓練する第2訓練ステップを交互に繰り返し実行することにより構成される。第1訓練ステップでは、第1訓練部115は、第1識別器412に入力された入力サンプルが、複数の第1学習データセット51のいずれかから得られた第1サンプル511か第1生成器411により生成された疑似サンプル515かを識別するように第1識別器412を訓練する。換言すると、第1識別器412は、入力されたサンプルが複数の第1学習データセット51(学習データ)由来か第1生成器411由来かを識別するように訓練される。なお、図7Aの例では、学習データ由来であることを「真」と表現し、第1生成器411由来であることを「偽」と表現している。「真」は「1」に置き換えられてよく、「偽」は「0」に置き換えられてよい。ただし、各由来を表現する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。一方、第2訓練ステップでは、第1訓練部115は、第1識別器412の識別の性能を低下させるような疑似サンプル515を生成するように第1生成器411を訓練する。すなわち、第1学習モデル41の機械学習は、第1生成器411及び第1識別器412の間の敵対的学習により構成される。
 この機械学習の処理の一例として、第1訓練ステップでは、まず、第1訓練部115は、第1学習データセット51毎に、所定の確率分布からノイズ510(潜在変数)を抽出する。所定の確率分布の種類は任意に選択されてよい。所定の確率分布は、例えば、ガウス分布等の公知の確率分布であってよい。続いて、第1訓練部115は、抽出されたノイズ510及び第1ラベル512を第1生成器411に与えることで、抽出されたノイズ510及び第1ラベル512から疑似サンプル515を生成する。具体的には、第1訓練部115は、抽出されたノイズ510及び第1ラベル512を第1生成器411の入力層4111に入力し、第1生成器411の演算処理を実行する。これにより、第1訓練部115は、ノイズ510及び第1ラベル512から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル515)を第1生成器411の出力層4113から取得する。
 次に、第1訓練部115は、生成された疑似サンプル515及び対応する第1ラベル512を第1識別器412の入力層4121に入力し、第1識別器412の演算処理を実行する。これにより、第1訓練部115は、入力された入力サンプルが学習データ由来か第1生成器411由来かを識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、入力された入力サンプルは疑似サンプル515であるため、第1識別器412は「偽」と識別するのが正解である。第1訓練部115は、第1生成器411により生成された各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。
 また、第1訓練部115は、各第1学習データセット51(第1サンプル511及び第1ラベル512)を第1識別器412の入力層4121に入力し、第1識別器412の演算処理を実行する。これにより、第1訓練部115は、入力された入力サンプルが学習データ由来か第1生成器411由来かを識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、入力された入力サンプルは第1サンプル511であるため、第1識別器412は「真」と識別するのが正解である。第1訓練部115は、各第1学習データセット51について、出力層4123から得られる出力値と当該正解との誤差を算出する。
 そして、第1訓練部115は、第1生成器411の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第1識別器412の演算パラメータの値を調節する。これにより、第1訓練部115は、第1識別器412に入力された入力サンプルが、複数の第1学習データセット51のいずれかから得られた第1サンプル511か第1生成器411により生成された疑似サンプル515かを識別する能力を獲得するように第1識別器412を訓練することができる。
 一方、第2訓練ステップでは、まず、第1訓練部115は、第1学習データセット51毎に、所定の確率分布からノイズ510(潜在変数)を抽出する。続いて、第1訓練部115は、抽出されたノイズ510及び第1ラベル512を第1生成器411の入力層4111に入力し、第1生成器411の演算処理を実行する。これにより、第1訓練部115は、ノイズ510及び第1ラベル512から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル515)を第1生成器411の出力層4113から取得する。なお、疑似サンプル515を生成する処理は、第1訓練ステップ及び第2訓練ステップで共通に実行されてよい。すなわち、第1訓練ステップで生成された疑似サンプル515が第2訓練ステップでも利用されてよい。
 次に、第1訓練部115は、生成された疑似サンプル515及び対応する第1ラベル512を第1識別器412の入力層4121に入力し、第1識別器412の演算処理を実行する。これにより、第1訓練部115は、入力された入力サンプルが学習データ由来か第1生成器411由来かを識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。第1生成器411の訓練では、第1識別器412の識別性能を低下させる(すなわち、識別結果が誤りである)ことが正解である。つまり、出力層4123から得られる出力値が「真」に対応することが正解である。第1訓練部115は、各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。
 そして、第1訓練部115は、第1識別器412の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第1生成器411の演算パラメータの値を調節する。これにより、第1訓練部115は、第1識別器412の識別の性能を低下させるような疑似サンプル515を生成する能力を獲得するように第1生成器411を訓練することができる。
 第1訓練部115は、上記第1訓練ステップ及び第2訓練ステップを交互に繰り返し実施することで、第1識別器412及び第1生成器411の性能を交互に高めていくことができる。これにより、第1識別器412の識別性能の向上に応じて、第1サンプル511に適合する疑似サンプル515を生成する第1生成器411の性能の向上を図ることができる。したがって、本実施形態では、上記機械学習により、第1特徴を含む適切な疑似サンプルを生成可能な訓練済みの第1生成器411を構築することができる。なお、第1訓練ステップ及び第2訓練ステップの処理順序は任意であってよい。
 この機械学習が完了した後、保存処理部119は、構築された訓練済みの第1生成器411の構造及び演算パラメータを示す情報を第1学習結果データ121として生成する。そして、保存処理部119は、生成された第1学習結果データ121を所定の記憶領域に保存する。なお、第1学習結果データ121の内容は、訓練済みの第1生成器411を再生可能であれば、このような例に限定されなくてもよい。例えば、各装置間で第1生成器411の構造が共通化されている場合、第1学習結果データ121において第1生成器411の構造を示す情報は省略されてよい。また、第1学習結果データ121には、構築された訓練済みの第1識別器412の構造及び演算パラメータを示す情報が更に含まれてもよい。
 (第2学習モデルの機械学習)
 図7Bは、本実施形態に係る第2学習モデル42の機械学習の過程の一例を模式的に例示する。第2学習モデル42の構成は、入力に応じた種別の第2特徴を含む疑似サンプルを生成するように第2生成器421を訓練可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、第2学習モデル42は、第1学習モデル41と同様に、第2識別器422を更に含んでいる。第2生成器421及び第2識別器422は、機械学習を実施可能な任意の機械学習モデルにより構成されてよい。
 本実施形態では、第2生成器421及び第2識別器422は、上記第1生成器411等と同様に、深層学習に用いられる多層構造のニューラルネットワークにより構成される。第2生成器421及び第2識別器422はそれぞれ、入力層(4211、4221)、中間(隠れ)層(4212、4222)、及び出力層(4213、4223)を備えている。ただし、第2生成器421及び第2識別器422それぞれの構造は、上記第1生成器411等と同様に、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。それぞれのニューラルネットワークを構成する層の数は、任意に選択されてよい。第2生成器421及び第2識別器422の構造は、少なくとも部分的に一致していてもよいし、或いは一致していなくてもよい。
 各層(4211~4213、4221~4223)は、1又は複数のニューロン(ノード)を備えている。各層(4211~4213、4221~4223)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。隣接する層のニューロン同士は適宜結合される。図7Bの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各結合には、重みが設定されている。各ニューロンには閾値が設定されている。閾値は、活性化関数により表現されてもよい。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層(4211~4213、4221~4223)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、第2生成器421及び第2識別器422それぞれの演算パラメータの一例である。
 本実施形態では、機械学習により第2生成器421を訓練することは、第2識別器422を訓練する第3訓練ステップ、及び第2生成器421を訓練する第4訓練ステップを交互に繰り返し実行することにより構成される。第3訓練ステップでは、第2訓練部116は、第2識別器422に入力された入力サンプルが、複数の第2学習データセット52のいずれかから得られた第2サンプル521か第2生成器421により生成された疑似サンプル525かを識別するように第2識別器422を訓練する。換言すると、第2識別器422は、入力されたサンプルが複数の第2学習データセット52(学習データ)由来か第2生成器421由来かを識別するように訓練される。なお、図7Bの例では、各由来は、上記図7Aと同様の方法により表現されているが、各由来を表現する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。一方、第4訓練ステップでは、第2訓練部116は、第2識別器422の識別の性能を低下させるような疑似サンプル525を生成するように第2生成器421を訓練する。すなわち、第2学習モデル42の機械学習は、第2生成器421及び第2識別器422の間の敵対的学習により構成される。
 この第2学習モデル42の機械学習の処理は、取り扱うデータが異なる点を除き、上記第1学習モデル41の機械学習と同様であってよい。すなわち、第3訓練ステップでは、まず、第2訓練部116は、第2学習データセット52毎に、所定の確率分布(例えば、ガウス分布等)からノイズ520(潜在変数)を抽出する。続いて、第2訓練部116は、抽出されたノイズ520及び第2ラベル522を第2生成器421の入力層4211に入力し、第2生成器421の演算処理を実行する。これにより、第2訓練部116は、ノイズ520及び第2ラベル522から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル525)を第2生成器421の出力層4213から取得する。
 次に、第2訓練部116は、生成された疑似サンプル525及び対応する第2ラベル522を第2識別器422の入力層4221に入力し、第2識別器422の演算処理を実行する。これにより、第2訓練部116は、入力サンプルに対する識別の結果に対応する出力値を第2識別器422の出力層4223から取得する。この場面では、入力サンプルは疑似サンプル525であるため、第2識別器422は「偽」と識別するのが正解である。第2訓練部116は、第2生成器421により生成された各疑似サンプル525について、出力層4223から得られる出力値と当該正解との誤差を算出する。
 また、第2訓練部116は、各第2学習データセット52(第2サンプル521及び第2ラベル522)を第2識別器422の入力層4221に入力し、第2識別器422の演算処理を実行する。これにより、第2訓練部116は、入力サンプルに対する識別の結果に対応する出力値を第2識別器422の出力層4223から取得する。この場面では、入力サンプルは第2サンプル521であるため、第2識別器422は「真」と識別するのが正解である。第2訓練部116は、各第2学習データセット52について、出力層4223から得られる出力値と当該正解との誤差を算出する。
 そして、第2訓練部116は、第2生成器421の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第2識別器422の演算パラメータの値を調節する。これにより、第2訓練部116は、第2識別器422に入力された入力サンプルが、複数の第2学習データセット52のいずれかから得られた第2サンプル521か第2生成器421により生成された疑似サンプル525かを識別する能力を獲得するように第2識別器422を訓練することができる。
 一方、第4訓練ステップでは、まず、第2訓練部116は、第2学習データセット52毎に、所定の確率分布からノイズ520(潜在変数)を抽出する。続いて、第2訓練部116は、抽出されたノイズ520及び第2ラベル522を第2生成器421の入力層4211に入力し、第2生成器421の演算処理を実行する。これにより、第2訓練部116は、ノイズ520及び第2ラベル522から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル525)を第2生成器421の出力層4213から取得する。なお、疑似サンプル525を生成する処理は、第3訓練ステップ及び第4訓練ステップで共通に実行されてよい。すなわち、第3訓練ステップで生成された疑似サンプル525が第4訓練ステップでも利用されてよい。
 次に、第2訓練部116は、生成された疑似サンプル525及び対応する第2ラベル522を第2識別器422の入力層4221に入力し、第2識別器422の演算処理を実行する。これにより、第2訓練部116は、入力サンプルに対する識別の結果に対応する出力値を第2識別器422の出力層4223から取得する。第2生成器421の訓練では、第2識別器422の識別性能を低下させる(すなわち、識別結果が誤りである)ことが正解である。つまり、出力層4223から得られる出力値が「真」に対応することが正解である。第2訓練部116は、各疑似サンプル525について、出力層4223から得られる出力値と当該正解との誤差を算出する。
 そして、第2訓練部116は、第2識別器422の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第2生成器421の演算パラメータの値を調節する。これにより、第2訓練部116は、第2識別器422の識別の性能を低下させるような疑似サンプル525を生成する能力を獲得するように第2生成器421を訓練することができる。
 第2訓練部116は、上記第3訓練ステップ及び第4訓練ステップを交互に繰り返し実行することで、第2識別器422及び第2生成器421の性能を交互に高めていくことができる。これにより、第2識別器422の識別性能の向上に応じて、第2サンプル521に適合する疑似サンプル525を生成する第2生成器421の性能の向上を図ることができる。したがって、本実施形態では、上記機械学習により、第2特徴を含む適切な疑似サンプルを生成可能な訓練済みの第2生成器421を構築することができる。なお、第3訓練ステップ及び第4訓練ステップの処理順序は任意であってよい。
 この機械学習が完了した後、保存処理部119は、構築された訓練済みの第2生成器421の構造及び演算パラメータを示す情報を第2学習結果データ122として生成する。そして、保存処理部119は、生成された第2学習結果データ122を所定の記憶領域に保存する。なお、第2学習結果データ122の内容は、訓練済みの第2生成器421を再生可能であれば、このような例に限定されなくてもよい。例えば、各装置間で第2生成器421の構造が共通化されている場合、第2学習結果データ122において第2生成器421の構造を示す情報は省略されてよい。また、第2学習結果データ122には、構築された訓練済みの第2識別器422の構造及び演算パラメータを示す情報が更に含まれてもよい。
 (第3学習モデルの機械学習)
 図7Cは、本実施形態に係る第3学習モデル43の機械学習の過程の一例を模式的に例示する。第3学習モデル43の構成は、入力に応じた種別及び程度(反映レベル)の第2特徴の属性の疑似的な値(疑似値)を生成するように第3生成器431を訓練可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、第3学習モデル43は、第1学習モデル41等と同様に、第3識別器432を更に含んでいる。第3生成器431及び第3識別器432は、機械学習を実施可能な任意の機械学習モデルにより構成されてよい。
 本実施形態では、第3生成器431及び第3識別器432は、上記第1生成器411等と同様に、深層学習に用いられる多層構造のニューラルネットワークにより構成される。第3生成器431及び第3識別器432はそれぞれ、入力層(4311、4321)、中間(隠れ)層(4312、4322)、及び出力層(4313、4323)を備えている。ただし、第3生成器431及び第3識別器432それぞれの構造は、上記第1生成器411等と同様に、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。それぞれのニューラルネットワークを構成する層の数は、任意に選択されてよい。第3生成器431及び第3識別器432の構造は、少なくとも部分的に一致していてもよいし、或いは一致していなくてもよい。
 各層(4311~4313、4321~4323)は、1又は複数のニューロン(ノード)を備えている。各層(4311~4313、4321~4323)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。隣接する層のニューロン同士は適宜結合される。図7Cの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各結合には、重みが設定されている。各ニューロンには閾値が設定されている。閾値は、活性化関数により表現されてもよい。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層(4311~4313、4321~4323)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、第3生成器431及び第3識別器432それぞれの演算パラメータの一例である。
 本実施形態では、機械学習により第3生成器431を訓練することは、第3識別器432を訓練する第5訓練ステップ、及び第3生成器431を訓練する第6訓練ステップを交互に繰り返し実行することにより構成される。第5訓練ステップでは、第3訓練部117は、第3識別器432に入力された入力値が、複数の第3学習データセット53のいずれかから得られたサンプル値531か第3生成器431により生成された疑似値535かを識別するように第3識別器432を訓練する。換言すると、第3識別器432は、入力された入力値が複数の第3学習データセット53(学習データ)由来か第3生成器431由来かを識別するように訓練される。なお、図7Cの例では、各由来は、上記図7A等と同様の方法により表現されているが、各由来を表現する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。一方、第6訓練ステップでは、第3訓練部117は、第3識別器432の識別の性能を低下させるような第2特徴の属性の疑似値535を生成するように第3生成器431を訓練する。すなわち、第3学習モデル43の機械学習は、第3生成器431及び第3識別器432の間の敵対的学習により構成される。
 この第3学習モデル43の機械学習の処理は、取り扱うデータが異なる点を除き、上記第1学習モデル41等の機械学習と同様であってよい。すなわち、第5訓練ステップでは、まず、第3訓練部117は、第3学習データセット53毎に、所定の確率分布(例えば、ガウス分布等)からノイズ530(潜在変数)を抽出する。続いて、第3訓練部117は、抽出されたノイズ530、対応する反映レベル532及び対応する第2ラベル522を第3生成器431の入力層4311に入力し、第3生成器431の演算処理を実行する。これにより、第3訓練部117は、ノイズ530、反映レベル532、及び第2ラベル522から第2特徴の属性の疑似的な値を生成した結果に対応する出力(すなわち、疑似値535)を第3生成器431の出力層4313から取得する。各第3学習データセット53が第1ラベル512を更に備える場合、第3訓練部117は、対応する第1ラベル512を第3生成器431の入力層4311に更に入力して、上記処理を実行してもよい。
 次に、第3訓練部117は、生成された疑似値535、対応する反映レベル532及び対応する第2ラベル522を第3識別器432の入力層4321に入力し、第3識別器432の演算処理を実行する。これにより、第3訓練部117は、入力値に対する識別の結果に対応する出力値を第3識別器432の出力層4323から取得する。この場面では、入力値は疑似値535であるため、第3識別器432は「偽」と識別するのが正解である。第3訓練部117は、第3生成器431により生成された各疑似値535について、出力層4323から得られる出力値と当該正解との誤差を算出する。
 また、第3訓練部117は、各第3学習データセット53(サンプル値531、反映レベル532、及び第2ラベル522)を第3識別器432の入力層4321に入力し、第3識別器432の演算処理を実行する。これにより、第3訓練部117は、入力値に対する識別の結果に対応する出力値を第3識別器432の出力層4323から取得する。この場面では、入力値はサンプル値531であるため、第3識別器432は「真」と識別するのが正解である。第3訓練部117は、各第3学習データセット53について、出力層4323から得られる出力値と当該正解との誤差を算出する。各第3学習データセット53が第1ラベル512を更に備える場合、第3訓練部117は、対応する第1ラベル512を第3識別器432の入力層4321に更に入力して、上記処理を実行してもよい。
 そして、第3訓練部117は、第3生成器431の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第3識別器432の演算パラメータの値を調節する。これにより、第3訓練部117は、第3識別器432に入力された入力値が、複数の第3学習データセット53のいずれかから得られたサンプル値531か第3生成器431により生成された疑似値535かを識別する能力を獲得するように第3識別器432を訓練することができる。
 一方、第6訓練ステップでは、まず、第3訓練部117は、第3学習データセット53毎に、所定の確率分布からノイズ530(潜在変数)を抽出する。続いて、第3訓練部117は、抽出されたノイズ530、対応する反映レベル532及び対応する第2ラベル522を第3生成器431の入力層4311に入力し、第3生成器431の演算処理を実行する。これにより、第3訓練部117は、ノイズ530、反映レベル532、及び第2ラベル522から第2特徴の属性の疑似的な値を生成した結果に対応する出力(すなわち、疑似値535)を第3生成器431の出力層4313から取得する。各第3学習データセット53が第1ラベル512を更に備える場合、第3訓練部117は、対応する第1ラベル512を第3生成器431の入力層4311に更に入力して、上記処理を実行してもよい。なお、疑似値535を生成する処理は、第5訓練ステップ及び第6訓練ステップで共通に実行されてよい。すなわち、第5訓練ステップで生成された疑似値535が第6訓練ステップでも利用されてよい。
 次に、第3訓練部117は、生成された疑似値535、対応する反映レベル532及び対応する第2ラベル522を第3識別器432の入力層4321に入力し、第3識別器432の演算処理を実行する。これにより、第3訓練部117は、入力値に対する識別の結果に対応する出力値を第3識別器432の出力層4323から取得する。第3生成器431の訓練では、第3識別器432の識別性能を低下させる(すなわち、識別結果が誤りである)ことが正解である。つまり、出力層4323から得られる出力値が「真」に対応することが正解である。第3訓練部117は、各疑似値535について、出力層4323から得られる出力値と当該正解との誤差を算出する。各第3学習データセット53が第1ラベル512を更に備える場合、第3訓練部117は、対応する第1ラベル512を第3識別器432の入力層4321に更に入力して、上記処理を実行してもよい。
 そして、第3訓練部117は、第3識別器432の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第3生成器431の演算パラメータの値を調節する。これにより、第3訓練部117は、第3識別器432の識別の性能を低下させるような疑似値535を生成する能力を獲得するように第3生成器431を訓練することができる。
 第3訓練部117は、上記第5訓練ステップ及び第6訓練ステップを交互に繰り返し実行することで、第3識別器432及び第3生成器431の性能を交互に高めていくことができる。これにより、第3識別器432の識別性能の向上に応じて、サンプル値531に適合する疑似値535を生成する第3生成器431の性能の向上を図ることができる。したがって、本実施形態では、上記機械学習により、反映レベル532及び第2ラベル522それぞれに対応する入力値及びノイズに応じて、第2特徴の属性の適切な疑似値を生成可能な訓練済みの第3生成器431を構築することができる。上記各訓練ステップにおいて第1ラベル512を更に入力した場合には、反映レベル532、第2ラベル522及び第1ラベル512それぞれに対応する入力値及びノイズに応じて、第2特徴の属性の適切な疑似値を生成可能な訓練済みの第3生成器431を構築することができる。なお、第5訓練ステップ及び第6訓練ステップの処理順序は任意であってよい。
 この機械学習が完了した後、保存処理部119は、構築された訓練済みの第3生成器431の構造及び演算パラメータを示す情報を第3学習結果データ123として生成する。そして、保存処理部119は、生成された第3学習結果データ123を所定の記憶領域に保存する。なお、第3学習結果データ123の内容は、訓練済みの第3生成器431を再生可能であれば、このような例に限定されなくてもよい。例えば、各装置間で第3生成器431の構造が共通化されている場合、第3学習結果データ123において第3生成器431の構造を示す情報は省略されてよい。また、第3学習結果データ123には、構築された訓練済みの第3識別器432の構造及び演算パラメータを示す情報が更に含まれてもよい。
 (推定器の機械学習)
 図7Dは、本実施形態に係る推定器44の機械学習の過程の一例を模式的に例示する。推定器44は、機械学習を実施可能な任意の機械学習モデルにより構成されてよい。本実施形態では、推定器44は、上記第1生成器411等と同様に、深層学習に用いられる多層構造のニューラルネットワークにより構成される。推定器44は、入力層441、中間(隠れ)層442、及び出力層443を備えている。ただし、推定器44の構造は、上記第1生成器411等と同様に、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。推定器44のニューラルネットワークを構成する層の数は、任意に選択されてよい。
 各層441~443は、1又は複数のニューロン(ノード)を備えている。各層441~443に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。隣接する層のニューロン同士は適宜結合される。図7Dの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各結合には、重みが設定されている。各ニューロンには閾値が設定されている。閾値は、活性化関数により表現されてもよい。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層441~443に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、推定器44の演算パラメータの一例である。
 推定器44は、機械学習により、訓練済みの第1生成器411により生成された疑似サンプルから、その疑似サンプルを生成する際に訓練済みの第1生成器411に与えられた入力を推定するように訓練される。この機械学習に使用される各第4学習データセット54は、訓練済みの第1生成器411を利用することで適宜生成されてよい。一例として、訓練済みの第1生成器411に与える入力のサンプル値541を適宜決定する。サンプル値541は、オペレータの入力により手動的に決定されてもよいし、或いはランダム等の方法により自動的に決定されてもよい。サンプル値541は、第1特徴の種別を示す第1ラベル512に対応する。サンプル値541に対応して、所定の確率分布(例えば、ガウス分布等)からノイズ540(潜在変数)を抽出する。サンプル値541を決定する処理及びノイズ540を抽出する処理の順序は任意であってよい。抽出されたノイズ540及びサンプル値541を訓練済みの第1生成器411の入力層4111に入力し、訓練済みの第1生成器411の演算処理を実行する。これにより、ノイズ540及びサンプル値541から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル542)を訓練済みの第1生成器411の出力層4113から取得することができる。生成された疑似サンプル542を、対応するノイズ540及びサンプル値541に関連付ける。これにより、各第4学習データセット54を生成することができる。
 本実施形態では、第4訓練部118は、複数の第4学習データセット54を使用して、上記ニューラルネットワークにより構成された推定器44の機械学習を実施する。この推定器44の機械学習では、第4訓練部118は、各第4学習データセット54における疑似サンプル542を訓練データ(入力データ)として使用し、ノイズ540及びサンプル値541を正解データ(教師信号)として使用する。
 具体的に、第4訓練部118は、推定器44の入力層441に疑似サンプル542を入力し、推定器44の演算処理を実行する。これにより、第4訓練部118は、疑似サンプル542を生成する際に訓練済みの第1生成器411に与えた入力を疑似サンプル542から推定した結果に対応する出力値を推定器44の出力層443から取得する。得られる出力値には、訓練済みの第1生成器411に与えるノイズに対応する第1推定値及びサンプル値に対応する第2推定値が含まれる。第4訓練部118は、各第4学習データセット54について、各推定値とノイズ540及びサンプル値541それぞれとの誤差を算出する。
 そして、第4訓練部118は、算出される誤差の和が小さくなるように、推定器44の演算パラメータの値を調節する。これにより、第4訓練部118は、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力(ノイズ540及びサンプル値541)を推定する能力を獲得した訓練済みの推定器44を構築することができる。
 この機械学習が完了した後、保存処理部119は、構築された訓練済みの推定器44の構造及び演算パラメータを示す情報を第4学習結果データ124として生成する。そして、保存処理部119は、生成された第4学習結果データ124を所定の記憶領域に保存する。なお、第4学習結果データ124の内容は、訓練済みの推定器44を再生可能であれば、このような例に限定されなくてもよい。例えば、各装置間で推定器44の構造が共通化されている場合、第4学習結果データ124において推定器44の構造を示す情報は省略されてよい。
 (第2サンプルの生成)
 図7Eは、本実施形態に係る第2サンプル521の生成過程の一例を模式的に例示する。本実施形態では、上記機械学習により生成された訓練済みの第1生成器411及び推定器44を利用することで、各第2学習データセット52の第2サンプル521を生成することができる。
 具体的に、第2取得部112は、所定種類のデータの複数の第3サンプル551であって、第1特徴及び第2特徴をそれぞれ含む複数の第3サンプル551を取得する。続いて、第2取得部112は、訓練済みの推定器44に各第3サンプル551を与えることで、各第3サンプル551に対応する疑似サンプルを生成するために訓練済みの第1生成器411に与える入力の各推定値を推定する。得られる推定値(第1推定値及び第2推定値)は、各第3サンプル551に対応する疑似サンプルを訓練済みの第1生成器411により生成するならば、訓練済みの第1生成器411に与えただろう入力(ノイズ及び入力値)に対応する。
 次に、第2取得部112は、推定された推定値(第1推定値及び第2推定値)を訓練済みの第1生成器411に与えることで、第3サンプル551毎に疑似サンプル555を生成する。疑似サンプル555は、本発明の「第3疑似サンプル」の一例である。そして、第2取得部112は、各第3サンプル551から疑似サンプル555を差分することで、各第2学習データセット52の第2サンプル521を生成する。
 訓練済みの第1生成器411は、上記機械学習により、第1特徴を含む疑似サンプルを生成する能力を獲得しているものの、第2特徴を含む疑似サンプルを生成する能力を獲得していない。そのため、基本的には、得られる疑似サンプル555では、第1特徴は再現されるのに対して、第2特徴は再現されない。よって、上記第3サンプル551から疑似サンプル555を差分する処理により、第2サンプル521として利用可能な、第1特徴を含まず、かつ第2特徴を含むサンプルを適切に生成することができる。
 <データ生成装置>
 図8は、本実施形態に係るデータ生成装置2のソフトウェア構成の一例を模式的に例示する。データ生成装置2の制御部21は、記憶部22に記憶されたデータ生成プログラム82をRAMに展開する。そして、制御部21は、RAMに展開されたデータ生成プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図8に示されるとおり、本実施形態に係るデータ生成装置2は、受付部211、第1生成部212、第2生成部213、及びデータ合成部214をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習装置1と同様に、データ生成装置2の各ソフトウェアモジュールも、制御部11(CPU)により実現される。
 受付部211は、第1入力値221及び第2入力値223の指定を受け付ける。第1入力値221は、第1特徴の種別を示す第1ラベル512に対応し、第2入力値223は、第2特徴の種別を示す第2ラベル522に対応する。
 第1生成部212は、第1学習結果データ121を保持することで、訓練済みの第1生成器411を備えている。第1生成部212は、所定の確率分布(例えば、ガウス分布等)からノイズ220(潜在変数)を抽出する。第1生成部212は、抽出されたノイズ220及び第1入力値221を訓練済みの第1生成器411に与えることで、第1特徴を含む第1疑似サンプル61を生成する。
 第2生成部213は、第2学習結果データ122を保持することで、訓練済みの第2生成器421を備えている。第2生成部213は、所定の確率分布(例えば、ガウス分布等)からノイズ222(潜在変数)を抽出する。第2生成部213は、抽出されたノイズ222及び第2入力値223を訓練済みの第2生成器421に与えることで、第2特徴を含む第2疑似サンプル62を生成する。
 データ合成部214は、生成された第1疑似サンプル61及び生成された第2疑似サンプル62を合成することで、所定種類のデータの新たなサンプル65を生成する。第1疑似サンプル61及び第2疑似サンプル62を合成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、データ合成部214は、第3学習結果データ123を保持することで、第2特徴を反映する程度に応じて第2特徴の属性値を生成するための訓練済みの第3生成器431を備えている。そのため、第2特徴を反映する程度を調整しながら、第1疑似サンプル61及び第2疑似サンプル62を合成することができる。
 具体的に、受付部211は、第2特徴を反映する程度を示す反映レベル532に対応する第3入力値225の指定を受け付ける。第3入力値225は、第2成分の検出の限界に応じて与えられてもよい。データ合成部214は、所定の確率分布(例えば、ガウス分布等)からノイズ224を抽出する。データ合成部214は、抽出されたノイズ224、第2入力値223及び第3入力値225を訓練済みの第3生成器431に与えることで、第2特徴の属性の疑似値63を生成する。なお、上記第3学習モデル43の機械学習において、第1ラベル512が更に使用されている場合、第3生成器431は、第1ラベル512に対応する入力値を更に入力可能に構成されている。この場合には、データ合成部214は、抽出されたノイズ224、第1入力値221、第2入力値223及び第3入力値225を訓練済みの第3生成器431に与えることで、第2特徴の属性の疑似値63を生成する。
 そして、データ合成部214は、第2疑似サンプル62に含まれる第2特徴の属性の値が生成された疑似値63に適合するように第2疑似サンプル62を変換すると共に、第1疑似サンプル61に第2疑似サンプル62を合成する。変換及び合成それぞれの具体的な処理内容は、データの種類に応じて適宜決定されてよい。これにより、本実施形態に係るデータ合成部214は、所定種類のデータの新たなサンプル65を生成する。
 <推定装置>
 図9は、本実施形態に係る推定装置3のソフトウェア構成の一例を模式的に例示する。推定装置3の制御部31は、記憶部32に記憶された推定プログラム83をRAMに展開する。そして、制御部31は、RAMに展開された推定プログラム83に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図9に示されるとおり、本実施形態に係る推定装置3は、取得部311、推定部312、出力部313、及び設定部314をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習装置1等と同様に、推定装置3の各ソフトウェアモジュールも、制御部11(CPU)により実現される。
 取得部311は、第2特徴についての所定の推定処理を実行する対象となる対象サンプル325を取得する。推定部312は、取得された対象サンプル325に対して所定の推定処理を実行する。本実施形態では、推定部312は、第1・第4学習結果データ(121、124)を保持することで、訓練済みの第1生成器411及び推定器44を備えている。推定部312は、訓練済みの第1生成器411及び推定器44を利用して、対象サンプル325に対して第2成分を検出する(換言すると、第2特徴が存在するか否かを判定する)処理を実行する。
 具体的に、推定部312は、訓練済みの推定器44に対象サンプル325を与えることで、対象サンプル325に対応する疑似サンプルを生成するために訓練済みの第1生成器411に与える入力の各推定値を推定する。得られる推定値(第1推定値及び第2推定値)は、対象サンプル325に対応する疑似サンプルを訓練済みの第1生成器411により生成するならば、訓練済みの第1生成器411に与えただろう入力(ノイズ及び入力値)に対応する。推定部312は、推定された各推定値を訓練済みの第1生成器411に与えることで、疑似サンプル326を生成する。そして、推定部312は、対象サンプル325から疑似サンプル326を差分することで、差分サンプル327を生成する。推定部312は、差分サンプル327を利用して、第2成分を検出する。
 上記のとおり、訓練済みの第1生成器411は、第1特徴を含む疑似サンプルを生成する能力を獲得しているものの、第2特徴を含む疑似サンプルを生成する能力を獲得していない。そのため、対象サンプル325に第1特徴及び第2特徴の両方が表れている場合でも、基本的には、得られる疑似サンプル326では、第1特徴は再現されるのに対して、第2特徴は再現されない。よって、対象サンプル325に第2成分が含まれている(すなわち、第2特徴が表れている)場合には、差分サンプル327にも第2成分が含まれる。一方、対象サンプル325に第2成分が含まれていない(すなわち、第2特徴が表れていない)場合には、差分サンプル327にも第2成分が含まれない。したがって、推定部312は、差分サンプル327に第2成分が含まれている程度に基づいて、第2成分を検出することができる。
 出力部313は、推定部312による推定の結果(本実施形態では、上記第2成分の検出結果)に関する情報を出力する。設定部314は、データ群320に含まれるサンプル321に基づいて、上記推定処理におけるパラメータの値を設定する。第1特徴及び第2特徴の表れるサンプルが、データ群320のサンプル321として利用可能である。データ群320に含まれるサンプル321の少なくとも一部は、上記データ生成装置2により生成されたサンプル65であってよい。
 <その他>
 学習装置1、データ生成装置2及び推定装置3の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習装置1、データ生成装置2及び推定装置3の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習装置1、データ生成装置2及び推定装置3それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
 §3 動作例
 [学習装置]
 (A)第1学習モデルの機械学習
 図10Aは、本実施形態に係る学習装置1による第1学習モデル41の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS101)
 ステップS101では、制御部11は、第1取得部111として動作し、複数の第1学習データセット51を取得する。各第1学習データセット51は、第1特徴を含む第1サンプル511及び第1特徴の種別を示す第1ラベル512の組み合わせにより構成される。
 各第1学習データセット51を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、実空間又は仮想空間において、第1特徴の表れるサンプルを取得する。サンプルの取得方法は、第1特徴及びデータの種類に応じて適宜決定されてよい。一例として、所定種類のデータがセンシングデータである場合、第2特徴が表れず、かつ第1特徴が表れる状況でセンサにより対象を観測することで、第2特徴が表れず、かつ第1特徴の表れるサンプルを取得することができる。上記図2Aの例では、欠陥のない製品P1をカメラにより撮影することで、製品P1を含む背景P11の写るサンプルを取得することができる。上記図2Bの例では、異常のない機械の動作音をマイクロフォンにより録音することで、環境音P21を含むサンプルを取得することができる。或いは、そのような環境を仮想空間上でシミュレートしたり、データ加工したりすることにより、第1特徴の現れるサンプルを取得することができる。次に、取得されたサンプルに表れる第1特徴の種別を識別し、識別した結果を示す情報をラベルとしてサンプルに関連付ける。第1特徴の種別の識別は、ユーザ等のオペレータにより行われてもよい。或いは、第1特徴の種別の識別には、識別器が用いられてよい。識別器は、画像解析、音声解析等の公知の情報処理により第1特徴の種別を識別するように構成されてもよいし、又は対象のサンプルから第1特徴の種別を識別するように訓練された機械学習モデルにより構成されてもよい。そして、第1特徴の種別を識別した結果を示す情報をラベルとしてサンプルに関連付ける。これにより、各第1学習データセット51を生成することができる。
 各第1学習データセット51は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各第1学習データセット51の生成は、学習装置1により行われてもよいし、学習装置1以外の他のコンピュータにより行われてもよい。各第1学習データセット51を学習装置1が生成する場合、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動的に上記一連の生成処理を実行することで、複数の第1学習データセット51を取得する。一方、各第1学習データセット51を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の第1学習データセット51を取得する。一部の第1学習データセット51が学習装置1により生成され、その他の第1学習データセット51が1又は複数の他のコンピュータにより生成されてもよい。
 取得する第1学習データセット51の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第1学習データセット51を取得すると、制御部11は、次のステップS102に処理を進める。
 (ステップS102)
 ステップS102では、制御部11は、第1訓練部115として動作し、取得された複数の第1学習データセット51を使用して、第1生成器411を含む第1学習モデル41の機械学習を実施する。第1学習モデル41の機械学習では、制御部11は、各第1学習データセット51について、第1ラベル512から第1サンプル511に適合する疑似サンプルを生成する能力を獲得するように第1生成器411を訓練する。このように訓練可能であれば、第1学習モデル41の構成及び機械学習の方法はそれぞれ、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。本実施形態では、第1学習モデル41は、第1識別器412を更に含んでいるため、第1学習モデル41の機械学習は、以下の方法で実施することができる。
 図10Bは、本実施形態に係る第1学習モデル41における、ステップS102の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS102の処理は、以下のステップS1021~ステップS1023の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 なお、機械学習の処理対象となる第1生成器411及び第1識別器412を構成する機械学習モデルは適宜用意されてよい。用意する第1生成器411及び第1識別器412それぞれの構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、第1生成器411及び第1識別器412それぞれを用意してもよい。
 (ステップS1021)
 ステップS1021では、制御部11は、第1学習データセット51及び第1生成器411により生成された疑似サンプル515を使用して、入力サンプルの由来を識別するように第1識別器412を訓練する。この機械学習の訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。後述するステップS1022等の他の機械学習の処理についても同様である。
 一例として、まず、制御部11は、各第1学習データセット51について、所定の確率分布から抽出されたノイズ510及び第1ラベル512を第1生成器411に与えて、第1生成器411の演算処理を実行する。すなわち、制御部11は、ノイズ510及び第1ラベル512を第1生成器411の入力層4111に入力し、入力側から順に各層4111~4113に含まれる各ニューロンの発火判定を行う(すなわち、順伝播の演算を行う)。この演算処理により、制御部11は、各第1学習データセット51について、ノイズ510及び第1ラベル512より生成した疑似サンプル515に対応する出力値を出力層4113から取得する。
 次に、制御部11は、生成された疑似サンプル515及び対応する第1ラベル512を第1識別器412の入力層4121に入力し、入力側から順に各層4121~4123に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力サンプルの由来を識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、入力された入力サンプルは疑似サンプル515であるため、第1識別器412は「偽」と識別するのが正解である。制御部11は、各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。
 また、制御部11は、各第1学習データセット51(第1サンプル511及び第1ラベル512)を第1識別器412の入力層4121に入力し、入力側から順に各層4121~4123に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力サンプルの由来を識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、入力された入力サンプルは第1サンプル511であるため、第1識別器412は「真」と識別するのが正解である。制御部11は、各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。
 各誤差(損失)の算出には、損失関数が用いられてよい。損失関数は、機械学習モデルの出力と正解との差分(すなわち、相違の程度)を評価する関数であり、出力層4123から得られる出力値と当該正解との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。誤差の計算に利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
 制御部11は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、第1識別器412の各演算パラメータ(各ニューロン間の結合の重み、各ニューロンの閾値等)の値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第1識別器412の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
 制御部11は、第1生成器411の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第1識別器412の各演算パラメータの値を調節する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部11は、上記一連の処理による第1識別器412の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、入力された入力サンプルが、複数の第1学習データセット51のいずれかから得られた第1サンプル511か第1生成器411により生成された疑似サンプル515かを識別するように訓練された第1識別器412を構築することができる。この第1識別器412の訓練処理が完了すると、制御部11は、次のステップS1022に処理を進める。
 (ステップS1022)
 ステップS1022では、制御部11は、第1識別器412の識別性能を低下させるような疑似サンプル515を生成するように第1生成器411を訓練する。換言すると、制御部11は、第1識別器412が「真」と識別する(すなわち、学習データ由来と識別する)ような疑似サンプル515を生成するように第1生成器411を訓練する。
 一例として、まず、制御部11は、上記ステップS1021と同様に、各第1学習データセット51について、所定の確率分布から抽出されたノイズ510及び第1ラベル512を第1生成器411に与えることで、疑似サンプル515を生成する。上記ステップS1021で生成された疑似サンプル515を本ステップS1022でも利用する場合、制御部11は、本ステップS1022において、疑似サンプル515を生成する一連の処理を省略してよい。
 次に、制御部11は、生成された疑似サンプル515及び対応する第1ラベル512を第1識別器412の入力層4121に入力し、入力側から順に各層4121~4123に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力サンプルの由来を識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、第1識別器412が入力サンプルは「真」である(すなわち、学習データ由来である)と誤った識別をすることが正解である。制御部11は、各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。上記と同様に、当該誤差の算出には、損失関数が用いられてよい。
 制御部11は、誤差逆伝播法により、算出した出力値の誤差の勾配を、第1識別器412を介して第1生成器411の各演算パラメータに逆伝播して、第1生成器411の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第1生成器411の各演算パラメータの値を更新する。上記と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
 制御部11は、第1識別器412の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第1生成器411の各演算パラメータの値を調節する。上記第1識別器412の訓練と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による第1生成器411の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、第1識別器412の識別性能を低下させるような疑似サンプル515を生成するように訓練された第1生成器411を構築することができる。この第1生成器411の訓練処理が完了すると、制御部11は、次のステップS1023に処理を進める。
 (ステップS1023)
 ステップS1023では、制御部11は、ステップS1021及びステップS1022の処理を繰り返すか否かを判定する。処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。例えば、処理を繰り返す規定回数が設定されていてもよい。規定回数は、例えば、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。この場合、制御部11は、ステップS1021及びステップS1022の処理を実行した回数が規定回数に到達したか否かを判定する。実行回数が規定回数に到達していないと判定した場合、制御部11は、ステップS1021に処理を戻し、ステップS1021及びステップS1022の処理を再度実行する。一方、実行回数が規定回数に到達していると判定した場合には、制御部11は、第1学習モデル41の機械学習の処理を完了し、次のステップS103に処理を進める。
 以上により、制御部11は、第1識別器412の訓練ステップ及び第1生成器411の訓練ステップを交互に繰り返し実行する。これにより、第1識別器412及び第1生成器411の性能を交互に高めていくことができる。その結果、各第1学習データセット51について、第1ラベル512から第1サンプル511に適合する疑似サンプル(すなわち、入力値に対応する種別の第1特徴を含む疑似サンプル)を生成する能力を獲得した訓練済みの第1生成器411を構築することができる。
 (ステップS103)
 図10Aに戻り、ステップS103では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの第1生成器411に関する情報を第1学習結果データ121として生成する。そして、制御部11は、生成された第1学習結果データ121を所定の記憶領域に保存する。
 所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに第1学習結果データ121を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに第1学習結果データ121を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介して学習装置1に接続された外付けの記憶装置であってもよい。
 これにより、第1学習結果データ121の保存が完了すると、制御部11は、第1学習モデル41の機械学習に関する一連の処理を終了する。
 なお、生成された第1学習結果データ121は、任意のタイミングでデータ生成装置2及び推定装置3に提供されてよい。例えば、制御部11は、ステップS103の処理として又はステップS103の処理とは別に、データ生成装置2及び推定装置3それぞれに第1学習結果データ121を転送してもよい。データ生成装置2及び推定装置3はそれぞれ、この転送を受信することで、第1学習結果データ121を取得してもよい。また、例えば、データ生成装置2及び推定装置3はそれぞれ、通信インタフェース(23、33)を利用して、学習装置1又はデータサーバにネットワークを介してアクセスすることで、第1学習結果データ121を取得してもよい。また、例えば、データ生成装置2及び推定装置3はそれぞれ、記憶媒体(92、93)を介して、第1学習結果データ121を取得してもよい。また、例えば、第1学習結果データ121は、データ生成装置2及び推定装置3それぞれに予め組み込まれてもよい。
 更に、制御部11は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返すことで、第1学習結果データ121を更新又は新たに生成してもよい。この繰り返しの際には、複数の第1学習データセット51の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した第1学習結果データ121を任意の方法でデータ生成装置2及び推定装置3それぞれに提供することで、データ生成装置2及び推定装置3それぞれの保持する第1学習結果データ121を更新してもよい。
 (B)第2学習モデルの機械学習
 図11Aは、本実施形態に係る学習装置1による第2学習モデル42の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS111)
 ステップS111では、制御部11は、第2取得部112として動作し、複数の第2学習データセット52を取得する。各第2学習データセット52は、第1特徴とは異なる第2特徴を含む第2サンプル521及び第2特徴の種別を示す第2ラベル522の組み合わせにより構成される。
 各第2学習データセット52の生成方法及び取得方法はそれぞれ、上記第1学習データセット51と同様であってよい。ただし、上記図2A及び図2Bの例のように、単独で出現し難い特徴が第2特徴に選択されている場合には、第2特徴のみを含むサンプルを取得するのが困難である可能性がある。この場合、第1特徴及び第2特徴を含むサンプルを取得し、取得されたサンプルを適宜加工することで、第2特徴のみを含むサンプルを生成してもよい。本実施形態では、訓練済みの第1生成器411及び推定器44を利用することで、第2サンプル521を生成することができる。情報処理の詳細は後述する。
 取得する第2学習データセット52の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第2学習データセット52を取得すると、制御部11は、次のステップS112に処理を進める。
 (ステップS112)
 ステップS112では、制御部11は、第2訓練部116として動作し、取得された複数の第2学習データセット52を使用して、第2生成器421を含む第2学習モデル42の機械学習を実施する。第2学習モデル42の機械学習では、制御部11は、各第2学習データセット52について、第2ラベル522から第2サンプル521に適合する疑似サンプルを生成する能力を獲得するように第2生成器421を訓練する。このように訓練可能であれば、第2学習モデル42の構成及び機械学習の方法はそれぞれ、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。本実施形態では、第2学習モデル42は、第2識別器422を更に含んでいるため、第2学習モデル42の機械学習は、以下の方法で実施することができる。
 図11Bは、本実施形態に係る第2学習モデル42における、ステップS112の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS112の処理は、以下のステップS1121~ステップS1123の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。なお、上記第1学習モデル41と同様に、機械学習の処理対象となる第2生成器421及び第2識別器422を構成する機械学習モデルは適宜用意されてよい。
 (ステップS1121)
 ステップS1121では、制御部11は、第2学習データセット52及び第2生成器421により生成された疑似サンプル525を使用して、入力サンプルの由来を識別するように第2識別器422を訓練する。
 学習データが置き換わる点を除き、ステップS1121の処理は、上記ステップS1021と同様であってよい。すなわち、制御部11は、各第2学習データセット52について、所定の確率分布から抽出されたノイズ520及び第2ラベル522を第2生成器421に与えることで、疑似サンプル525を生成する。制御部11は、生成された疑似サンプル525及び対応する第2ラベル522を第2識別器422に与えて、入力サンプルの由来を識別した結果に対応する出力値を取得し、取得される出力値と正解との誤差を算出する。また、制御部11は、各第2学習データセット52(第2サンプル521及び第2ラベル522)を第2識別器422に与えて、入力サンプルの由来を識別した結果に対応する出力値を取得し、取得される出力値と正解との誤差を算出する。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を用いて、第2識別器422の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第2識別器422の各演算パラメータの値を更新する。制御部11は、第2生成器421の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第2識別器422の各演算パラメータの値を調節する。上記ステップS1021等と同様に、所定の条件を満たすまで、制御部11は、上記一連の処理による第2識別器422の各演算パラメータの値の調節を繰り返してもよい。
 これにより、制御部11は、入力された入力サンプルが、複数の第2学習データセット52のいずれかから得られた第2サンプル521か第2生成器421により生成された疑似サンプル525かを識別するように訓練された第2識別器422を構築することができる。この第2識別器422の訓練処理が完了すると、制御部11は、次のステップS1122に処理を進める。
 (ステップS1122)
 ステップS1122では、制御部11は、第2識別器422の識別性能を低下させるような疑似サンプル525を生成するように第2生成器421を訓練する。換言すると、制御部11は、第2識別器422が「真」と識別する(すなわち、学習データ由来と識別する)ような疑似サンプル525を生成するように第2生成器421を訓練する。
 学習データが置き換わる点を除き、ステップS1122の処理は、上記ステップS1022と同様であってよい。すなわち、制御部11は、生成された疑似サンプル525及び対応する第2ラベル522を第2識別器422に与えて、入力サンプルの由来を識別した結果に対応する出力値を取得し、取得される出力値と正解(学習データ由来であると識別する)との誤差を算出する。制御部11は、誤差逆伝播法により、算出した出力値の誤差の勾配を、第2識別器422を介して第2生成器421の各演算パラメータに逆伝播して、第2生成器421の各演算パラメータの値の誤差を算出する。制御部11は、制御部11は、算出された各誤差に基づいて、第2生成器421の各演算パラメータの値を更新する。制御部11は、第2識別器422の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第2生成器421の各演算パラメータの値を調節する。上記ステップS1021等と同様に、所定の条件を満たすまで、制御部11は、上記一連の処理による第2生成器421の各演算パラメータの値の調節を繰り返してもよい。
 これにより、制御部11は、第2識別器422の識別性能を低下させるような疑似サンプル525を生成するように訓練された第2生成器421を構築することができる。この第2生成器421の訓練処理が完了すると、制御部11は、次のステップS1123に処理を進める。
 (ステップS1123)
 ステップS1123では、制御部11は、ステップS1121及びステップS1122の処理を繰り返すか否かを判定する。上記ステップS1023と同様に、処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。処理を繰り返すと判定した場合、制御部11は、ステップS1121に処理を戻し、ステップS1121及びステップS1122の処理を再度実行する。一方、処理を繰り返さないと判定した場合、制御部11は、第2学習モデル42の機械学習の処理を完了し、次のステップS113に処理を進める。
 以上により、制御部11は、第2識別器422の訓練ステップ及び第2生成器421の訓練ステップを交互に繰り返し実行する。これにより、第2識別器422及び第2生成器421の性能を交互に高めていくことができる。その結果、各第2学習データセット52について、第2ラベル522から第2サンプル521に適合する疑似サンプル(すなわち、入力値に対応する種別の第2特徴を含む疑似サンプル)を生成する能力を獲得した訓練済みの第2生成器421を構築することができる。
 (ステップS113)
 図11Aに戻り、ステップS113では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの第2生成器421に関する情報を第2学習結果データ122として生成する。そして、制御部11は、生成された第2学習結果データ122を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
 これにより、第2学習結果データ122の保存が完了すると、制御部11は、第2学習モデル42の機械学習に関する一連の処理を終了する。なお、上記第1学習結果データ121と同様に、生成された第2学習結果データ122は、任意のタイミングでデータ生成装置2に提供されてよい。また、上記ステップS111~ステップS113の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第2学習結果データ122が任意の方法でデータ生成装置2に提供されることで、データ生成装置2の保持する第2学習結果データ122が更新されてもよい。
 (C)第3学習モデル43の機械学習
 図12Aは、本実施形態に係る学習装置1による第3学習モデル43の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS121)
 ステップS121では、制御部11は、第3取得部113として動作し、複数の第3学習データセット53を取得する。各第3学習データセット53は、第2特徴の属性のサンプル値531、第2特徴を反映する程度を示す反映レベル532、及び第2ラベル522の組み合わせにより構成される。各第3学習データセット53には、第1ラベル512が更に含まれてもよい。
 各第3学習データセット53の生成方法及び取得方法はそれぞれ、上記第1学習データセット51等と同様であってよい。第2ラベル522は、第2学習データセット52と共通であってもよいし、第2学習データセット52とは別個に新たに生成されてもよい。第1ラベル512についても同様である。なお、第1特徴及び第2特徴を含むサンプルから第2特徴のみを含むサンプルを生成した場合、元のサンプルに含まれていた第1特徴の種別を示す情報が、対応する第2ラベル522と共に第3学習データセット53に第1ラベル512として含まれてもよい。
 サンプル値531及び反映レベル532は適宜与えられてよい。サンプル値531及び反映レベル532は、第2特徴を含むサンプルから特定されてもよいし、オペレータにより指定されてもよい。反映レベル532は、第2特徴の属性を評価する指標に従って、属性のサンプル値531から特定されてよい。指標は適宜与えられてよい。具体例として、上記図2Aの例において、属性のサンプル値531が欠陥の大きさに対応して与えられる場合、指標は、欠陥の大きさに応じて反映レベル532を決定するように構成されてよい。或いは、反映レベル532は、第2特徴の表れる事象に関連して設定されてもよい。具体例として、上記図2Aの例では、反映レベル532は、欠陥の深刻度、製品の品質レベル等の欠陥の程度に関連して設定されてもよい。また、上記図2Bの例では、反映レベル532は、異常の深刻度、機械の正常度等の異常の程度に関連して設定されてもよい。また、反映レベル532は、離散値及び連続値のいずれにより構成されてもよい。ただし、第2特徴を反映する程度の表現を豊富にする観点から、反映レベル532は、連続値により構成されるのが好ましい。
 取得する第3学習データセット53の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第3学習データセット53を取得すると、制御部11は、次のステップS122に処理を進める。
 (ステップS122)
 ステップS122では、制御部11は、第3訓練部117として動作し、取得された複数の第3学習データセット53を使用して、第3生成器431を含む第3学習モデル43の機械学習を実施する。第3学習モデル43の機械学習では、制御部11は、各第3学習データセット53について、反映レベル532及び第2ラベル522からサンプル値531に適合する第2特徴の属性の疑似値を生成する能力を獲得するように第3生成器431を訓練する。このように訓練可能であれば、第3学習モデル43の構成及び機械学習の方法はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、第3学習モデル43は、第3識別器432を更に含んでいるため、第3学習モデル43の機械学習は、以下の方法で実施することができる。
 図12Bは、本実施形態に係る第3学習モデル43における、ステップS122の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS122の処理は、以下のステップS1221~ステップS1223の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。なお、上記第1学習モデル41等と同様に、機械学習の処理対象となる第3生成器431及び第3識別器432を構成する機械学習モデルは適宜用意されてよい。
 (ステップS1221)
 ステップS1221では、制御部11は、第3学習データセット53及び第3生成器431により生成された疑似値535を使用して、入力値の由来を識別するように第3識別器432を訓練する。
 学習データが置き換わる点を除き、ステップS1221の処理は、上記ステップS1021等と同様であってよい。すなわち、制御部11は、各第3学習データセット53について、所定の確率分布から抽出されたノイズ530、反映レベル532及び第2ラベル522を第3生成器431に与えることで、第2特徴の属性の疑似値535を生成する。制御部11は、生成された疑似値535、対応する反映レベル532及び対応する第2ラベル522を第3識別器432に与えて、入力値の由来を識別した結果に対応する出力値を取得し、取得される出力値と正解との誤差を算出する。また、制御部11は、各第3学習データセット53(サンプル値531、反映レベル532、及び第2ラベル522)を第3識別器432に与えて、入力値の由来を識別した結果に対応する出力値を取得し、取得される出力値と正解との誤差を算出する。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を用いて、第3識別器432の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第3識別器432の各演算パラメータの値を更新する。制御部11は、第3生成器431の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第3識別器432の各演算パラメータの値を調節する。上記ステップS1021等と同様に、所定の条件を満たすまで、制御部11は、上記一連の処理による第3識別器432の各演算パラメータの値の調節を繰り返してもよい。
 これにより、制御部11は、入力された入力値が、複数の第3学習データセット53のいずれかから得られたサンプル値531か第3生成器431により生成された疑似値535かを識別するように訓練された第3識別器432を構築することができる。この第3識別器432の訓練処理が完了すると、制御部11は、次のステップS1222に処理を進める。
 (ステップS1222)
 ステップS1222では、制御部11は、第3識別器432の識別性能を低下させるような疑似値535を生成するように第3生成器431を訓練する。換言すると、制御部11は、第3識別器432が「真」と識別する(すなわち、学習データ由来と識別する)ような疑似値535を生成するように第3生成器431を訓練する。
 学習データが置き換わる点を除き、ステップS1222の処理は、上記ステップS1022等と同様であってよい。すなわち、制御部11は、生成された疑似値535、対応する反映レベル532及び対応する第2ラベル522を第3識別器432に与えて、入力値の由来を識別した結果に対応する出力値を取得し、取得される出力値と正解(学習データ由来であると識別する)との誤差を算出する。制御部11は、誤差逆伝播法により、算出した出力値の誤差の勾配を、第3識別器432を介して第3生成器431の各演算パラメータに逆伝播して、第3生成器431の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第3生成器431の各演算パラメータの値を更新する。制御部11は、第3識別器432の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第3生成器431の各演算パラメータの値を調節する。上記ステップS1021等と同様に、所定の条件を満たすまで、制御部11は、上記一連の処理による第3生成器431の各演算パラメータの値の調節を繰り返してもよい。
 これにより、制御部11は、第3識別器432の識別性能を低下させるような疑似値535を生成するように訓練された第3生成器431を構築することができる。この第3生成器431の訓練処理が完了すると、制御部11は、次のステップS1223に処理を進める。
 (ステップS1223)
 ステップS1223では、制御部11は、ステップS1221及びステップS1222の処理を繰り返すか否かを判定する。上記ステップS1023等と同様に、処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。処理を繰り返すと判定した場合、制御部11は、ステップS1221に処理を戻し、ステップS1221及びステップS1222の処理を再度実行する。一方、処理を繰り返さないと判定した場合、制御部11は、第3学習モデル43の機械学習の処理を完了し、次のステップS123に処理を進める。
 以上により、制御部11は、第3識別器432の訓練ステップ及び第3生成器431の訓練ステップを交互に繰り返し実行する。これにより、第3識別器432及び第3生成器431の性能を交互に高めていくことができる。その結果、各第3学習データセット53について、反映レベル532及び第2ラベル522からサンプル値531に適合する第2特徴の属性の疑似値(すなわち、入力値に対応する種別及び程度の第2特徴の属性の疑似値)を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
 なお、各第3学習データセット53が第1ラベル512を更に備えている場合、上記各訓練ステップにおいて、第3生成器431及び第3識別器432それぞれの入力に第1ラベル512が更に追加されてよい。これにより、制御部11は、各第3学習データセット53について、反映レベル532、第1ラベル512及び第2ラベル522からサンプル値531に適合する第2特徴の属性の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
 (ステップS123)
 図12Aに戻り、ステップS123では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの第3生成器431に関する情報を第3学習結果データ123として生成する。そして、制御部11は、生成された第3学習結果データ123を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
 これにより、第3学習結果データ123の保存が完了すると、制御部11は、第3学習モデル43の機械学習に関する一連の処理を終了する。なお、上記第1学習結果データ121等と同様に、生成された第3学習結果データ123は、任意のタイミングでデータ生成装置2に提供されてよい。また、上記ステップS121~ステップS123の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第3学習結果データ123が任意の方法でデータ生成装置2に提供されることで、データ生成装置2の保持する第3学習結果データ123が更新されてもよい。
 (D)推定器の機械学習
 図13は、本実施形態に係る学習装置1による推定器44の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS131)
 ステップS131では、制御部11は、第4取得部114として動作し、複数の第4学習データセット54を取得する。各第4学習データセット54は、訓練済みの第1生成器411に与える入力のサンプル、及び訓練済みの第1生成器411に当該サンプルを与えることで生成される疑似サンプル542の組み合わせにより構成される。本実施形態では、入力のサンプルは、ノイズ540及びサンプル値541により構成される。
 各第4学習データセット54は、訓練済みの第1生成器411を利用することで適宜生成されてよい。また、上記第1学習データセット51等と同様に、各第4学習データセット54の生成は、学習装置1により行われてもよいし、学習装置1以外の他のコンピュータにより行われてもよい。一部の第4学習データセット54が学習装置1により生成され、その他の第4学習データセット54が1又は複数の他のコンピュータにより生成されてもよい。
 取得する第4学習データセット54の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第4学習データセット54を取得すると、制御部11は、次のステップS132に処理を進める。
 (ステップS132)
 ステップS132では、制御部11は、第4訓練部118として動作し、取得された複数の第4学習データセット54を使用して、推定器44の機械学習を実施する。当該機械学習では、制御部11は、各第4学習データセット54について、訓練済みの第1生成器411に与えた入力を疑似サンプル542から推定器44により推定することで得られる各推定値が、対応するノイズ540及びサンプル値541それぞれに適合するように推定器44を訓練する。
 一例として、まず、制御部11は、各第4学習データセット54について、推定器44の入力層441に疑似サンプル542を入力し、入力側から順に各層441~443に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、疑似サンプル542を生成する際に訓練済みの第1生成器411に与えた入力の第1推定値及び第2推定値それぞれに対応する出力値を出力層443から取得する。制御部11は、各推定値と対応するノイズ540及びサンプル値541それぞれとの誤差を算出する。上記ステップS1021等と同様に、誤差の算出には、損失関数が用いられてよい。
 制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、推定器44の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、推定器44の各演算パラメータの値を更新する。上記ステップS1021等と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
 制御部11は、上記一連の更新処理により、算出される誤差の和が小さくなるように、推定器44の各演算パラメータの値を調節する。上記ステップS1021等と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による推定器44の演算パラメータの値の調節を繰り返してもよい。
 これにより、制御部11は、各第4学習データセット54について、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力(ノイズ540及びサンプル値541)を推定する能力を獲得した訓練済みの推定器44を構築することができる。推定器44の機械学習が完了すると、制御部11は、次のステップS133に処理を進める。
 (ステップS133)
 ステップS133では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの推定器44に関する情報を第4学習結果データ124として生成する。そして、制御部11は、生成された第4学習結果データ124を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
 これにより、第4学習結果データ124の保存が完了すると、制御部11は、推定器44の機械学習に関する一連の処理を終了する。なお、上記第1学習結果データ121と同様に、生成された第4学習結果データ124は、任意のタイミングで推定装置3に提供されてよい。また、上記ステップS131~ステップS133の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第4学習結果データ124が任意の方法で推定装置3に提供されることで、推定装置3の保持する第4学習結果データ124が更新されてもよい。
 (E)第2サンプルの生成
 図14は、当該第2サンプル521の生成に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。以下のステップS141~ステップS144の処理は、上記ステップS111内で実行されてよい。
 (ステップS141)
 ステップS141では、制御部11は、第1特徴及び第2特徴をそれぞれ含む複数の第3サンプル551を取得する。
 各第3サンプル551の生成方法及び取得方法は、上記第1学習データセット51の第1サンプル511の生成方法及び取得方法と同様であってよい。具体例として、上記図2Aの例では、欠陥のある製品P1をカメラにより撮影することで、第3サンプル551を生成することができる。また、上記図2Bの例では、異常のある機械の動作音をマイクロフォンにより録音することで、第3サンプル551を生成することができる。
 取得する第3サンプル551の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第3サンプル551を取得すると、制御部11は、次のステップS142に処理を進める。なお、制御部11は、1件の第3サンプル551を取得する度に、以下のステップS142の処理を実行してもよいし、或いは、複数の第3サンプル551を取得した後に、各第3サンプル551について以下のステップS142の処理を実行してもよい。
 (ステップS142)
 ステップS142では、制御部11は、訓練済みの推定器44に各第3サンプル551を与えることで、各第3サンプル551に対応する疑似サンプルを生成するために訓練済みの第1生成器411に与える入力の各推定値を推定する。すなわち、制御部11は、訓練済みの推定器44の入力層441に各第3サンプル551を入力し、入力側から順に各層441~443に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各第3サンプル551に対応する疑似サンプルを訓練済みの第1生成器411により生成するならば、訓練済みの第1生成器411に与えただろう入力の各推定値に対応する出力値を出力層443から取得する。各推定値を取得すると、制御部11は、次のステップS143に処理を進める。
 (ステップS143)
 ステップS143では、制御部11は、得られた各推定値を訓練済みの第1生成器411に与えることで、第3サンプル551毎に疑似サンプル555を生成する。すなわち、制御部11は、訓練済みの第1生成器411の入力層4111に各推定値を入力し、入力側から順に各層4111~4113に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各推定値から生成した疑似サンプル555に対応する出力値を出力層4113より取得する。疑似サンプル555を取得すると、制御部11は、次のステップS144に処理を進める。
 (ステップS144)
 ステップS144では、制御部11は、得られた疑似サンプル555と対応する第3サンプル551との差分を算出する。上記のとおり、この差分処理により、第2サンプル521として利用可能な、第1特徴を含まず、かつ第2特徴を含むサンプルを適切に生成することができる。これにより、第2サンプル521の生成が完了すると、制御部11は、第2サンプル521の生成に関する一連の処理を終了する。この一連の処理によれば、第3サンプル551から第2サンプル521を自動的に生成可能であるため、第2サンプル521を低コストで取得することができる。
 なお、上記第1~第3学習モデル41~43の機械学習に関する処理手順、及び第2サンプル521の生成に関する処理手順は、本発明の「学習方法」の一例である。学習方法は、上記全ての処理を必ずしも含まなければならない訳ではなく、上記処理手順の各処理を適宜組み合わせることにより構成されてよい。学習方法は、各訓練済みの機械学習モデルを生成するためのモデル生成方法又は単に生成方法と称されてよい。
 [データ生成装置]
 図15は、本実施形態に係るデータ生成装置2の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「データ生成方法」の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS201)
 ステップS201では、制御部21は、受付部211として動作し、第1入力値221、第2入力値223、及び第3入力値225の指定を受け付ける。サンプルの生成パートにおける第1入力値221、第2入力値223、及び第3入力値225は、学習パートにおける第1ラベル512、第2ラベル522、及び反映レベル532に対応する。すなわち、第1入力値221、第2入力値223、及び第3入力値225は、生成を所望するサンプルに含まれる第1特徴の種別、第2特徴の種別、及び第2特徴を反映する程度に応じて指定される。
 図16は、図2Aに例示される画像データの新たなサンプル65を生成する場面において、各入力値(221、223、225)の指定を受け付けるための受付画面の一例を模式的に例示する。当該受付画面は、各入力値(221、223、225)の入力を受け付けるためのユーザインタフェースの一例である。ディスプレイ等の表示装置が出力装置26に含まれる場合に、ステップS201において、制御部21は、当該受付画面を出力装置26に出力してもよい。これにより、制御部21は、オペレータによる入力装置25を介した各入力値(221、223、225)の指定を受け付けてもよい。
 図16に例示される受付画面は、第1入力欄261、第2入力欄262、スライドバー263、表示領域264、生成ボタン265、及び保存ボタン266を備えている。第1入力欄261は、第1入力値221を指定するために利用される。第1入力欄261では第1特徴の種別が指定され、これに応じて、制御部21は、第1入力値221を取得してもよい。同様に、第2入力欄262は、第2入力値223を指定するために利用される。第2入力欄262では第2特徴の種別が指定され、これに応じて、制御部21は、第2入力値223を取得してもよい。
 スライドバー263は、第3入力値225を指定するために利用される。第1特徴及び第2特徴の種別を指定する第1入力値221及び第2入力値223に比べて、第2特徴を反映する程度を指定する第3入力値225は頻繁に変更され得る。そのため、第3入力値225の指定にスライドバー形式のユーザインタフェースを利用することで、新たなサンプル65を生成する際に入力値を指定する手間を低減することができる。なお、図16の例では、スライドバー263は、第2特徴を反映する程度を0から10までの範囲で設定可能に構成されているが、第2特徴を反映する程度の数値範囲は、このような例に限定されなくてもよく、任意に設定されてよい。
 表示領域264には、指定された各入力値(221、223、225)を使用することで、後述する処理により生成された新たなサンプル65が表示される。表示領域264の形式は、生成するサンプル65のデータの種類に応じて適宜決定されてよい。生成ボタン265は、各入力欄(261、262)及びスライドバー263により指定された各入力値(221、223、225)を使用して、新たなサンプル65を生成するための処理の実行を開始するのに利用される。制御部21は、生成ボタン265の操作に応じて、次のステップS202に処理を進めてもよい。保存ボタン266は、生成されたサンプル65を保存するために利用される。
 なお、各入力値(221、223、225)の入力を受け付けるためのユーザインタフェースは、このような例に限られなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、所定種類のデータが音データである場合、生成された新たなサンプル65を再生するための再生ボタンが更に設けられてもよい。また、その他の一例として、各入力値(221、223、225)は、単純な数値入力により指定されてもよい。各入力値(221、223、225)の指定を受け付けると、制御部21は、次のステップS202に処理を進める。
 (ステップS202)
 ステップS202では、制御部21は、第1生成部212として動作し、第1学習結果データ121を参照して、訓練済みの第1生成器411の設定を行う。制御部21は、所定の確率分布からノイズ220を抽出する。次に、制御部21は、抽出されたノイズ220及び取得された第1入力値221を訓練済みの第1生成器411の入力層4111に入力し、入力側から順に各層4111~4113に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、ノイズ220及び第1入力値221から生成された第1疑似サンプル61であって、第1入力値221により指定される種別の第1特徴を含む第1疑似サンプル61に対応する出力値を出力層4113より取得する。第1疑似サンプル61を取得すると、制御部21は、次のステップS203に処理を進める。
 (ステップS203)
 ステップS203では、制御部21は、第2生成部213として動作し、第2学習結果データ122を参照して、訓練済みの第2生成器421の設定を行う。制御部21は、所定の確率分布からノイズ222を抽出する。次に、制御部21は、抽出されたノイズ222及び取得された第2入力値223を訓練済みの第2生成器421の入力層4211に入力し、入力側から順に各層4211~4213に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、ノイズ222及び第2入力値223から生成された第2疑似サンプル62であって、第2入力値223により指定される種別の第2特徴を含む第2疑似サンプル62に対応する出力値を出力層4213より取得する。第2疑似サンプル62を取得すると、制御部21は、次のステップS204に処理を進める。
 (ステップS204)
 ステップS204では、制御部21は、データ合成部214として動作し、第3学習結果データ123を参照して、訓練済みの第3生成器431の設定を行う。制御部21は、所定の確率分布からノイズ224を抽出する。次に、制御部21は、抽出されたノイズ224、取得された第2入力値223、及び取得された第3入力値225を訓練済みの第3生成器431の入力層4311に入力し、入力側から順に各層4311~4313に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、ノイズ224、第2入力値223及び第3入力値225から生成された疑似値63であって、第2入力値223及び第3入力値225により指定される種別及び程度の第2特徴の属性の疑似値63に対応する出力値を出力層4313より取得する。
 第1ラベル512を更に用いて第3生成器431の機械学習を実施した場合には、制御部21は、訓練済みの第3生成器431の入力層4311に取得された第1入力値221を更に入力し、訓練済みの第3生成器431の上記演算処理を実行する。これにより、制御部21は、第1入力値221により指定される第1特徴において、第2入力値223及び第3入力値225により指定される種別及び程度で第2特徴を反映させるための疑似値63を取得することができる。
 疑似値63を取得すると、制御部21は、次のステップS205に処理を進める。なお、ステップS202~ステップS204の処理順序は、このような例に限られなくてもよく、任意にであってよい。各ノイズ(220、222、224)は、共通及び別個のいずれで取得されてよい。また、ステップS202の後に、ステップS204が実行される場合、ステップS202及びステップS204の間で、学習装置1は、上記推定器44の機械学習が実行されてよい。この場合、ステップS202において生成された第1疑似サンプル61が、疑似サンプル542としても利用されてよい。或いは、上記ステップS131が、ステップS201を含んでいることで、生成された疑似サンプル542が、ステップS202における第1疑似サンプル61としても利用されてもよい。
 (ステップS205)
 ステップS205では、制御部21は、データ合成部214として動作し、第2疑似サンプル62に含まれる第2特徴の属性の値が生成された疑似値63に適合するように第2疑似サンプル62を変換すると共に、第1疑似サンプル61に第2疑似サンプル62を合成する。変換及び合成それぞれの具体的な処理内容は、データの種類に応じて適宜決定されてよい。例えば、所定種類のデータが画像データである場合、変換は、拡大縮小、平行移動、回転又はこれらの組み合わせにより構成されてよい。また、例えば、所定種類のデータが信号データである場合、変換は、振幅の増減、周波数の変更、出現頻度の増減又はこれらの組み合わせによって構成されてよい。合成は、例えば、重畳的に加算することにより構成されてよい。
 その他、合成には、第1特徴を含むサンプル、第2特徴を含むサンプル、及び反映する程度に応じた第2特徴の属性値の入力に対して、入力された属性値に適合するように両サンプルを合成した結果を出力する能力を獲得した訓練済みの機械学習モデルが用いられてよい。この訓練済みの機械学習モデルは、訓練データ(入力データ)及び正解データ(教師信号)の組み合わせによりそれぞれ構成される複数の学習データセットを使用した機械学習により構築されてよい。訓練データは、例えば、第1特徴を含む第1訓練用サンプル、第2特徴を含む第2訓練用サンプル、及び反映する程度に応じた第2特徴の属性のサンプル値により構成される。正解データは、例えば、対応する合成結果のサンプルにより構成される。
 この合成により、制御部21は、所定種類のデータの新たなサンプル65を生成する。新たなサンプル65の生成が完了すると、制御部21は、本動作例に係る処理手順を終了する。生成処理が完了した後、制御部21は、生成された新たなサンプル65を上記受付画面の表示領域264において表示してもよい。
 スライドバー263の操作による第3入力値225の変更に応じて、制御部21は、上記一連の処理を実行して、新たなサンプル65を生成し、生成された新たなサンプル65を表示領域264に表示してもよい。これにより、オペレータは、スライドバー263の操作による第2特徴を反映する程度の調節に対応する、生成されるサンプル65内で第2特徴が表れる具合の変動を確認することができる。
 また、制御部21は、保存ボタン266の操作に応じて、生成された新たなサンプル65を所定の記憶領域に保存してもよい。所定の記憶領域は、例えば、制御部21内のRAM、記憶部22、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。生成された新たなサンプル65は、任意のタイミングで推定装置3に提供されてよい。
 更に、制御部21は、同一の各入力値(221、223、225)に対して複数の各ノイズ(220、222、224)を抽出してもよい。これにより、制御部21は、同一の各入力値(221、223、225)を使用して、複数の新たなサンプル65を生成してもよい。生成された複数の新たなサンプル65を表示領域264に表示して、これらのうちから保存するサンプル65の選択を受け付けてもよい。この場合、制御部21は、保存ボタン266の操作に応じて、生成された複数のサンプル65のうち選択された1又は複数のサンプル65を所定の記憶領域に保存してもよい。
 [推定装置]
 図17Aは、本実施形態に係る推定装置3の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、推定方法の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS301)
 ステップS301では、制御部31は、取得部311として動作し、対象サンプル325を取得する。対象サンプル325を取得する方法は、データの種類に応じて適宜決定されてよい。対象サンプル325がセンシングデータである場合、第2特徴に関する推定の対象をセンサにより観測することで、対象サンプル325を取得することができる。上記図2Aの例では、検査対象の製品をカメラにより撮影することで、対象サンプル325を取得することができる。上記図2Bの例では、検査対象の機械の動作音をマイクロフォンにより録音することで、対象サンプル325を取得することができる。制御部31は、センサから直接的又は間接的に対象サンプル325を取得してよい。対象サンプル325を取得すると、制御部31は、次のステップS302に処理を進める。
 (ステップS302)
 ステップS302では、制御部31は、推定部312として動作し、データ群320を利用して対象サンプル325を分析することで、対象サンプル325に対して第2特徴に関する推定処理を実行する。本実施形態では、制御部31は、当該推定処理として、訓練済みの第1生成器411及び推定器44を利用して、対象サンプル325に対して第2成分を検出する処理を実行する。
 具体的には、制御部31は、第1・第4学習結果データ(121、124)を参照して、訓練済みの第1生成器411及び推定器44の設定を行う。制御部31は、訓練済みの推定器44の入力層441に対象サンプル325を入力し、入力側から順に各層441~443に含まれる各ニューロンの発火判定を行う。これにより、制御部31は、対象サンプル325に対応する疑似サンプルを訓練済みの第1生成器411により生成するならば、訓練済みの第1生成器411に与えただろう入力の各推定値に対応する出力値を出力層443から取得する。次に、制御部31は、取得された各推定値を訓練済みの第1生成器411の入力層4111に入力し、入力側から順に各層4111~4113に含まれる各ニューロンの発火判定を行う。これにより、制御部31は、各推定値から生成された疑似サンプル326に対応する出力値を出力層4113より取得する。
 そして、制御部31は、対象サンプル325から疑似サンプル326を差分することで、差分サンプル327を生成する。なお、差分処理を実行する前に、対象サンプル325及び疑似サンプル326には前処理が適用されてよい。例えば、対象サンプル325及び疑似サンプル326が時系列データであり、周波数領域で第2成分を検出する場合には、フーリエ変換等の時系列データを周波数データに変換する前処理が対象サンプル325及び疑似サンプル326に適用されてよい。制御部31は、生成された差分サンプル327を利用して、第2成分を検出する。
 ここで、図17Bを更に用いて、差分サンプル327を利用して、第2成分を検出する処理の一例を説明する。図17Bは、上記図2Aに例示される場面において、第2成分(すなわち、欠陥)を検出する処理過程の一例を模式的に例示する。制御部31は、上記処理により、訓練済みの第1生成器411及び推定器44を利用して、対象サンプルI10に対応する疑似サンプルI11を生成する。対象サンプルI10は、上記対象サンプル325の一例であり、疑似サンプルI11は、上記疑似サンプル326の一例である。
 制御部31は、対象サンプルI10及び疑似サンプルI11の差分を算出することで、差分サンプルI12を生成する。差分サンプルI12は、上記差分サンプル327の一例である。対象サンプルI10及び疑似サンプルI11の間で差異が生じているほど、差分サンプルI12における値が大きくなる。一方、対象サンプルI10及び疑似サンプルI11の間で差異がないほど、差分サンプルI12における値が小さくなる。差異の表現方法は、データの種類に応じて適宜選択されてよい。一例として、図17Bでは、所定種類のデータは画像データであり、差異の生じている画素ほど白色になっており、そうではない画素ほど黒色になっている。
 上記のとおり、基本的には、疑似サンプルI11では、第1特徴が再現されるのに対して、第2特徴は再現されない。そのため、差分サンプルI12において、対象サンプルI10に第2成分が含まれる(第2特徴が表れる)部分に大きな差異が生じ得る。ただし、差分サンプルI12において差異の生じる原因は、対象サンプルI10に第2成分が含まれることに限られない。他の原因として、例えば、疑似サンプルI11を生成する過程でノイズが発生すること等を挙げることができる。しかしながら、このノイズに起因する差異は、第2成分が含まれていることに起因する差異よりも程度が低い。そのため、差分サンプルI12の値に基づいて、これらの差異を区別することができる。そこで、制御部31は、閾値T1を利用して、ノイズに起因する差異を削除する。図17Bの例では、制御部31は、閾値T1により、差分サンプルI12の各画素を二値化する。これにより、制御部31は、ノイズの除外されたサンプルI13を得ることができる。
 サンプルI13には、主に、第2成分に起因する差異、及び更にその他の理由(例えば、第1生成器411及び推定器44の少なくともいずれかの学習不足)に起因する差異が現れ得る。これらのうち第2成分に起因する差異は、例えば、大きさ、(時間的又は領域的)位置、明度、振幅、頻度(時間的又は領域的)等の第2特徴の属性に対応する状態で現れる。上記図2Aの例では、欠陥は、面積、幅、高さ、周囲の長さ、縦横比、円形度等の形状に関する属性を有し得る。つまり、対象サンプルI10に写る製品に欠陥が存在する場合、サンプルI13の対応する位置に、白色の画素の集まった領域であって、形状と同等の形状に関する属性を有する領域が現れる。そこで、第2特徴の属性に対して閾値T2を設定することで、第2成分を検出することができる。
 処理の一例として、図17Bの例では、制御部31は、サンプルI13内の連続する白色画素の領域を一つの領域と認定し、白色画素の各領域が閾値T2を満たしているか否かを判定する。そして、制御部31は、閾値T2を満たしている領域をそのままにし、閾値T2を満たしていない領域を削除する。これにより、制御部31は、第2特徴の属性を満たさない値がサンプルI13から除外された検出サンプルI14を得ることができる。
 制御部31は、得られた検出サンプルI14に基づいて、第2成分を検出する。図17Bの例では、検出サンプルI14において白色画素の領域が存在する場合、制御部31は、対象サンプルI10に写る製品に欠陥が存在すると判定する。一方、検出サンプルI14において白色画素の領域が存在しない場合、制御部31は、対象サンプルI10に写る製品に欠陥が存在しないと判定する。これにより、第2成分の検出処理が完了すると、制御部31は、次のステップS303に処理を進める。
 なお、上記各閾値(T1、T2)が、推定処理におけるパラメータの一例である。推定処理におけるパラメータは、推定の内容、データの種類等に応じて適宜設定されてよい。所定種類のデータが画像データであり、推定処理として画像に写る対象物を検出する処理を実行する場合には、上記欠陥検出の場面に限られず、上記各閾値(T1、T2)が推定処理のパラメータの一例として用いられてよい。その他の一例として、所定種類のデータが信号データであり、推定処理として信号に含まれる対象信号を検出する処理を実行する場合には、スペクトル強度の差分が推定処理のパラメータとして用いられてよい。
 制御部31は、任意の時点で(例えば、ステップS301の処理を開始する前に)、設定部314として動作し、データ群320に含まれるサンプル321に基づいて、パラメータの値を設定してもよい。すなわち、本実施形態では、データ群320を利用して対象サンプル325を分析することは、データ群320に含まれるサンプル321に基づいて、第2成分を検出可能にパラメータの値を設定することに相当する。上記図17Bの例では、制御部31は、サンプル321に写る欠陥を検出可能なように各閾値(T1、T2)を適宜設定してもよい。
 ここで、図18A及び図18Bを更に用いて、推定処理のパラメータを設定する方法の一例について説明する。図18A及び図18Bはそれぞれ、上記図2Aに例示される場面において、データ群320に含まれるサンプル321を表示するための出力画面の一例を模式的に例示する。ディスプレイ等の表示装置が出力装置36に含まれる場合、制御部31は、オペレータの操作に応じて、各出力画面を出力装置36に出力してもよい。
 図18Aの出力画面では、データ群320に含まれるサンプル321が、各特徴の種別毎にテーブル形式で表示されている。オペレータは、この出力画面により、サンプル321の得られている及び得られていない第1特徴及び第2特徴の種別の組み合わせ(上記図2Aの例では、欠陥及び製品の種別の組み合わせ)を確認することができる。
 上記データ生成装置2では、サンプル321の得られていない第1特徴及び第2特徴の種別に対応する第1入力値221及び第2入力値223が指定されることで、当該組み合わせの表れる新たなサンプル65が生成されてよい。或いは、図18Aの出力画面等において、制御部31は、サンプル321の得られていない第1特徴及び第2特徴の種別の組み合わせの指定を受け付けてもよい。そして、制御部31は、上記データ生成装置2に対して、指定された組み合わせを通知することで、当該組み合わせの表れる新たなサンプル65の生成を依頼してもよい。これにより、当該組み合わせの表れる新たなサンプル65が生成されてよい。生成された新たなサンプル65は、任意の方法で推定装置3に提供され、データ群320に追加されてよい。この新たなサンプル65の追加により、データ群320に含まれるサンプル321の多様化を図ることができる。
 一方、図18Bの出力画面では、対象の種別の第1特徴及び第2特徴を含む各サンプル321が、第2特徴の属性値に応じて並んで表示されている。程度の小さい第2成分を検出可能にパラメータの値を設定すると、第2成分を真には含んでいない対象サンプル325に対して第2成分を誤って検出してしまう可能性がある。具体例として、上記図17Bの例では、欠陥のサイズが大きいほど当該欠陥の検出が容易であり、欠陥のサイズが小さいほど当該欠陥の検出が困難である。サイズの小さい欠陥を検出可能なように各閾値(T1、T2)を設定すると、他の要因で現れた差異を欠陥と誤る可能性がある。そのため、この誤検出の発生確率を低減することを一つの理由として、この出力画面において、制御部31は、第2成分の検出の限界事例に対応するサンプル321の指定を受け付けてもよい。
 そして、制御部31は、限界事例に指定されたサンプル321に含まれる第2成分を検出可能なようにパラメータの値を設定してもよい。上記図17Bの例では、制御部31は、限界事例に指定されたサンプル321に写る欠陥を検出可能なように各閾値(T1、T2)を設定してもよい。パラメータの値を設定する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、パラメータの値について、複数の候補が適宜用意されてよい。制御部31は、各候補を利用して上記検出処理を実行することで、限界事例に指定されたサンプル321に含まれる第2成分の検出率の最も高い候補を特定し、特定された候補をパラメータの値として選択してもよい。
 上記データ生成装置2では、第3入力値225が、第2成分の検出の限界に応じて与えられることで、限界事例に設定可能な新たなサンプル65が生成されてもよい。或いは、図18Bの出力画面等において、制御部31は、限界事例に所望する第2特徴の程度の指定を適宜受け付けてもよい。そして、制御部31は、上記データ生成装置2に対して、第1特徴の種別、第2特徴の種別、及び指定された第2特徴の程度を通知することで、新たなサンプル65の生成を依頼してもよい。これにより、限界事例に設定可能な新たなサンプル65が生成されてよい。生成された新たなサンプル65は、任意の方法で推定装置3に提供され、データ群320に追加されてよい。この新たなサンプル65の追加により、データ群320に含まれるサンプル321に現れる第2特徴の程度を多様化し、適切な限界事例を設定することで、第2成分の検出精度の向上を図ることができる。
 なお、当該パラメータの値を設定する一連の処理は、上記データ生成装置2で実行されてもよい。この場合、データ生成装置2は、図18A及び図18Bに例示される出力画面を出力装置26に出力しながら、新たなサンプル65を生成するための上記一連の処理を実行してもよい。また、データ生成装置2において、新たなサンプル65を生成する際に、データ群320に含まれるサンプル321が上記各出力画面により閲覧可能であってよい。この場合、各出力画面は、各入力値(221、223、225)を指定する参考に利用されてよい。
 (ステップS303)
 図17Aに戻り、ステップS303では、制御部11は、出力部313として動作し、上記推定の結果(本実施形態では、上記第2成分の検出結果)に関する情報を出力する。
 出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部31は、ステップS302により対象サンプル325に対して所定の推定を実行した結果をそのまま出力装置36に出力してもよい。また、例えば、制御部31は、所定の推定を実行した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部31は、その情報処理を実行した結果を、推定の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推定結果に応じて特定のメッセージを出力すること、推定結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置36、他のコンピュータの出力装置、制御対象装置等であってよい。
 推定の結果に関する情報の出力が完了すると、制御部31は、本動作例に係る処理手順を終了する。なお、所定の期間の間、制御部31は、ステップS301~ステップS303の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、推定装置3は、所定の推定を継続的に実施してもよい。
 [特徴]
 以上のとおり、本実施形態に係る学習装置1は、上記ステップS101~ステップS103の処理により、入力値により指定される種別の第1特徴を含む疑似サンプルを生成する能力を獲得した訓練済みの第1生成器411を構築することができる。また、本実施形態に係る学習装置1は、上記ステップS111~ステップS113の処理により、入力値により指定される種別の第2特徴を含む疑似サンプルを生成する能力を獲得した訓練済みの第2生成器421を構築することができる。本実施形態に係るデータ生成装置2では、それぞれ訓練済みの各生成器(411、421)に与える各入力値(221、223)に基づいて、生成される新たなサンプル65に含まれる第1特徴及び第2特徴それぞれの種別を制御することができる。つまり、第1特徴及び第2特徴の異なる種別の組み合わせを含む新たなサンプル65を自在に生成することができる。例えば、データ群320において、サンプル321が得られていない又はサンプル321の数の少ない組み合わせが存在する場合に、データ生成装置2により、その組み合わせを含む新たなサンプル65を生成することができる。加えて、ステップS201~ステップS205の処理の多くの部分は自動化することができる。よって、本実施形態によれば、多様な組み合わせを含むサンプルを自在かつ自動的に生成可能であるため、少なくとも2つ以上の特徴が表れる所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減することができる。
 また、本実施形態に係る推定装置3では、生成された新たなサンプル65をデータ群320に追加することで、データ群320に含まれるサンプル321に表れる第1特徴及び第2特徴の組み合わせの多様化を図ることができる。すなわち、データ群320において、得られていなかった又は数の少なかった組み合わせを含むサンプル321を充実化することができる。これによって、生成された新たなサンプル65を推定装置3の推定処理に反映することで、第2特徴に関する推定処理の制度の向上を図ることができる。
 また、本実施形態に係る学習装置1は、上記ステップS121~ステップS123の処理により、入力値により指定される種別及び程度の第2特徴の属性の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。本実施形態に係るデータ生成装置2では、訓練済みの第3生成器431に与える各入力値(223、225)に基づいて、生成される新たなサンプル65に含まれる第2特徴の属性の値を制御することができる。つまり、訓練済みの第1生成器411及び第2生成器421の他に、訓練済みの第3生成器431を更に利用することで、任意の属性値を有する第2特徴を含む新たなサンプル65を自在に生成することができる。よって、本実施形態によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて更に多様なサンプルを生成することができる。
 なお、第3入力値225を第2成分の検出の限界に応じて与えることで、検出の限界事例に対応する多様なサンプルを生成することができる。また、上記ステップS121~ステップS123の処理において、第1ラベル512を更に用いて第3生成器431の機械学習を実施した場合には、構築された訓練済みの第3生成器431は、更に第1特徴の種別に応じた第2特徴の属性の疑似値を生成する能力を獲得する。そのため、本実施形態に係るデータ生成装置2では、訓練済みの第3生成器431を利用することで、第1特徴の種別に適した属性値を有する第2特徴を含む新たなサンプル65を生成することができる。
 §4 変形例
 以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
 <4.1>
 上記実施形態に係る学習装置1、データ生成装置2、及び推定装置3は、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて、多様なサンプルを収集するあらゆる場面に適用されてよい。例えば、上記実施形態は、センサにより対象を観測することで得られるセンシングデータについて、多様なサンプルを収集する場面に適用可能である。以下、適用場面を限定した変形例を例示する。
 (A)外観検査の場面
 図19は、第1変形例に係る検査システム100Aの適用場面の一例を模式的に例示する。本変形例は、図2Aに例示される製品の写る画像データを利用して、製品の外観検査を実施する場面に上記実施形態を適用した例である。本変形例に係る検査システム100Aは、学習装置1、データ生成装置2、及び検査装置3Aを備えている。上記実施形態と同様に、学習装置1、データ生成装置2、及び検査装置3Aは、ネットワークを介して互いに接続されてよい。
 本変形例において取り扱われる所定種類のデータは、製品RAの写る画像データである。当該画像データは、カメラSAで製品RAを撮影することにより得られてよい。第1特徴は、製品RAを含む背景に関し、第2特徴は、製品RAの欠陥に関する。製品RA及び欠陥の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記のとおり、製品RAは、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。欠陥は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。これらの限定を除き、本変形例に係る検査システム100Aは、上記実施形態に係る推定システム100と同様に構成されてよい。
 (学習装置)
 本変形例では、第1学習データセット51の第1サンプル511は、製品RAの写る画像データのサンプルであってよく、第1ラベル512は、製品RAの種別を示してよい。学習装置1は、上記ステップS101~ステップS103の処理を実行することで、入力値により指定される種別の製品RAを含む背景の写る疑似サンプルを生成する能力を獲得した訓練済みの第1生成器411を構築することができる。
 本変形例では、第2学習データセット52の第2サンプル521は、製品RAの欠陥の写る画像データのサンプルであってよく、第2ラベル522は、欠陥の種別を示してよい。学習装置1は、上記ステップS111~ステップS113の処理を実行することで、入力値により指定される種別の欠陥の写る疑似サンプルを生成する能力を獲得した訓練済みの第2生成器421を構築することができる。
 本変形例では、第3学習データセット53のサンプル値531は、欠陥の属性の度合を示してよい。欠陥の属性は、例えば、面積、幅、高さ、周囲の長さ、縦横比、円形度等の形状に関するものであってよい。反映レベル532は、欠陥を反映する程度を示してよい。反映レベル532は、欠陥の深刻度、製品の品質レベル等の欠陥の程度に関連して設定されてもよい。学習装置1は、上記ステップS121~ステップS123の処理を実行することで、入力値により指定される種別及び程度の欠陥の属性の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
 本変形例では、学習装置1は、上記ステップS131~ステップS133の処理を実行することで、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力を推定する能力を獲得した訓練済みの推定器44を構築することができる。また、本変形例では、学習装置1は、訓練済みの第1生成器411及び推定器44を利用して、上記ステップS141~ステップS144の処理を実行することで、製品RA及び欠陥の写る第3サンプル551から第2サンプル521を生成することができる。
 (データ生成装置)
 本変形例では、第1入力値221、第2入力値223、及び第3入力値225は、生成を所望するサンプルに写る製品RAの種別、欠陥の種別、及び欠陥を反映する程度に応じて指定されてよい。データ生成装置2は、訓練済みの各生成器(411、421、431)を利用して、上記ステップS201~ステップS205の処理を実行することで、欠陥を反映する程度を制御しながら、指定された種別の欠陥及び製品RAの写る新たなサンプル65を生成することができる。
 (検査装置)
 図20Aは、本変形例に係る検査装置3Aのハードウェア構成の一例を模式的に例示する。図20Aに示されるとおり、本変形例に係る検査装置3Aは、上記推定装置3と同様に、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータにより構成されてよい。
 本変形例では、記憶部32は、検査プログラム83A等の各種情報を記憶する。検査プログラム83Aは、上記実施形態に係る推定プログラム83に対応する。また、本変形例では、検査装置3Aは、外部インタフェース34を介してカメラSAに接続される。カメラSAは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。カメラSAは、製品RAを撮影可能な場所に適宜配置されてよい。例えば、カメラSAは、製品RAを搬送するコンベア装置の近傍に配置されてよい。
 なお、検査装置3Aのハードウェア構成は、このような例に限定されなくてもよい。検査装置3Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置3Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
 図20Bは、本変形例に係る検査装置3Aのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置3Aのソフトウェア構成は、制御部31による検査プログラム83Aの実行により実現される。取り扱われるデータが上記のように限定される点を除き、検査装置3Aのソフトウェア構成は、上記推定装置3と同様である。検査部312Aは、上記推定部312に対応する。これにより、検査装置3Aは、上記推定装置3の推定処理と同様に、外観検査に関する一連の処理を実行することができる。
 すなわち、ステップS301では、制御部31は、検査対象の製品RAの写る対象サンプル325をカメラSAから取得する。ステップS302では、制御部31は、検査部312Aとして動作し、データ群320を利用して対象サンプル325を分析することで、検査対象の製品RAに欠陥が存在するか否かを判定する。データ群320に含まれるサンプル321には製品RA及び欠陥が写る。検出する欠陥の種別毎に限界事例のサンプル321が選択されてよい。検出のパラメータである各閾値(T1、T2)は、限界事例に選択されたサンプル321に基づいて設定されてよい。これにより、制御部31は、製品RAの状態を推定することができる。
 ステップS303では、制御部31は、製品RAの状態を推定した結果に関する情報を出力する。例えば、制御部31は、製品RAの状態を推定した結果をそのまま出力装置36に出力してもよい。また、例えば、製品RAに欠陥が含まれると判定した場合に、制御部31は、そのことを知らせるための警告を出力装置36に出力してもよい。また、例えば、製品RAを搬送するコンベア装置に検査装置3Aが接続される場合、製品RAの状態を推定した結果に基づいて、欠陥のある製品RAと欠陥のない製品RAとを別のラインで搬送されるようにコンベア装置を制御してもよい。
 (特徴)
 本変形例によれば、データ生成装置2において、製品RA及び欠陥の任意の組み合わせの写る新たなサンプル65を自在かつ自動的に生成可能である。そのため、製品RA及び欠陥の種々の組み合わせの表れる多様なサンプルを収集するのにかかるコストを低減することができる。また、生成された新たなサンプル65をデータ群320に追加することで、サンプル321の得られていない製品RA及び欠陥の組み合わせを低減又は無くすことができる。これにより、検査装置3Aにおける外観検査の精度の向上を図ることができる。
 [その他の形態]
 上記変形例において、製品RAの欠陥は、前景の一例である。つまり、上記変形例における検査処理は、背景及び前景を含む画像データのサンプルから目的の前景を検出する処理の一例である。つまり、取り扱われる所定種類のデータは、背景及び前景を含む画像データであってよい。第1特徴は、背景に関してよく、第2特徴は、前景に関してもよい。背景及び前景の種類はそれぞれ、製品RA及び欠陥の例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。
 (A-1)画像診断の場面
 図21は、画像データから前景を検出する他の場面の一例を模式的に例示する。図21に例示される診断システムは、学習装置1、データ生成装置2、及び画像診断装置3A1を備えている。画像診断装置3A1は、上記検査装置3Aに対応する。画像診断装置3A1の構成は、上記検査装置3Aと同様であってよい。図21の例において取り扱われる所定種類のデータは、器官の写る医療用の画像データ(以下、医療用画像とも記載する)であってよい。器官は、例えば、消化器系、循環器系、呼吸器系、泌尿器系、生殖器系、内分泌器系、感覚器系、神経系、運動器系(骨、関節、靭帯、筋肉)等であってよい。
 医療用画像の取得には、医療検査装置SA1が用いられてよい。医療検査装置SA1は、センサの一例である。医療検査装置SA1は、例えば、レントゲン装置、CT装置、MRI装置等であってよい。これに応じて、得られる医療用画像は、例えば、レントゲン画像、CT画像、MRI画像等であってよい。図21の例では、画像診断装置3A1は、医療検査装置SA1に接続されており、これにより、医療用画像の対象サンプル325を取得することができる。
 第1特徴は、器官に関してよく、第2特徴は、病変(例えば、病気により発生する影)に関してもよい。器官の像が、背景の一例であり、病変の像が、前景の一例である。病変の属性は、医療用画像に表れる影の形状に関するものであってよい。反映レベル532は、例えば、病気の深刻度、進行度等の病気の状態に応じて設定されてよい。画像診断装置3A1は、上記検査装置3Aと同様の手順により、医療用画像の対象サンプル325から病変を検出する処理を実行することができる。病変が存在すると判定した場合、画像診断装置3A1は、ステップS303において、その病変の種別、位置等の診断結果を出力してもよい。
 (A-2)道路状況を監視する場面
 図22は、画像データから前景を検出する更なる他の場面の一例を模式的に例示する。図22に例示される監視システムは、学習装置1、データ生成装置2、及び監視装置3A2を備えている。監視装置3A2は、上記検査装置3Aに対応する。監視装置3A2の構成は、上記検査装置3Aと同様であってよい。図22の例において取り扱われる所定種類のデータは、監視対象の道路の写る画像データ(以下、監視画像とも記載する)であってよい。
 監視画像の取得には、監視対象の道路を撮影するように配置されたカメラSA2が用いられてよい。監視装置3A2は、例えば、ネットワーク等を介して、カメラSA2に適宜接続されてよい。これにより、監視装置3A2は、監視画像の対象サンプル325を取得することができる。
 第1特徴は、道路、建物等の背景に関してよく、第2特徴は、道路の状況に関してもよい。道路の状況は、例えば、移動体の混み具合(混雑度)、犯罪の危険度等により表現されてよい。移動体は、歩行者、車両等であってよい。犯罪の危険度は、例えば、歩行者の数が少ない暗い道路の画像は高く、歩行者の数が多く明るい道路の画像は低くなるように設定されてよい。道路の状況の属性は、例えば、移動体の属性、環境の属性等により表現されてよい。移動体の属性は、例えば、位置、数、速度等に関してもよい。これらの他に、移動体が人物である場合には、移動体の属性は、例えば、性別、体格等に関してもよい。環境の属性は、例えば、時刻、季節、街灯の有無等の明るさの要因に関してもよい。道路の状況に関する像は、前景の一例である。反映レベル532は、当該道路の状況に応じて設定されてよい。この場合、監視装置3A2は、上記検査装置3Aと同様の手順により、監視画像の対象サンプル325から対象の道路の状況(例えば、移動体の混み具合、犯罪の危険度)を推定することができる。
 上記各形態によれば、データ生成装置2において、背景及び前景の任意の組み合わせの写る新たなサンプル65を自在かつ自動的に生成可能である。上記画像診断の場面では、それぞれ異なる人物から得られた器官の画像及び病変の画像に基づいて、種々の病気状態の表れる多様な医療用画像を得ることができる。上記道路状況を監視する場面では、異なる条件(場所、時間等)で得られた画像に基づいて、道路の種々の状況の表れる多様な監視画像を得ることができる。そのため、背景及び前景の種々の組み合わせるの表れる多様なサンプルを収集するのにかかるコストを低減することができる。また、生成された新たなサンプル65をデータ群320に追加することで、サンプル321の得られていない背景及び前景の組み合わせを低減又は無くすことができる。これにより、各前景を検出する処理の精度の向上を図ることができる。
 (B)運転態様を監視する場面
 図23は、第2変形例に係る監視システム100Bの適用場面の一例を模式的に例示する。本変形例では、車両に設けられた車載センサにより得られるセンシングデータを利用して、運転者による車両の運転態様を監視する場面に上記実施形態を適用した例である。本変形例に係る監視システム100Bは、学習装置1、データ生成装置2、及び監視装置3Bを備えている。上記実施形態と同様に、学習装置1、データ生成装置2、及び監視装置3Bは、ネットワークを介して互いに接続されてよい。
 本変形例において取り扱われる所定種類のデータは、加速度センサSBにより得られる車両の加速度データ(センシングデータ)である。第1特徴は、通常の運転時に生じる加速度の変容に関し、第2特徴は、飛び出し等の突発的な事象により生じる加速度の変容に関する。これらの限定を除き、本変形例に係る監視システム100Bは、上記実施形態に係る推定システム100と同様に構成されてよい。
 (学習装置)
 本変形例では、第1学習データセット51の第1サンプル511は、通常の運転時に生じる加速度の変容の表れる加速度データのサンプルであってよく、第1ラベル512は、運転者のタイプ、車種等の通常運転に影響を与える因子(以下、影響因子)の種別を示してもよい。運転者のタイプは、例えば、慎重である、荒っぽい等の運転に表れる性格に応じて設定されてよい。学習装置1は、上記ステップS101~ステップS103の処理を実行することで、入力値により指定される種別の影響因子の通常運転時に生じる加速度の変容の表れる疑似サンプルを生成する能力を獲得した訓練済みの第1生成器411を構築することができる。
 本変形例では、第2学習データセット52の第2サンプル521は、突発的な事象により生じる加速度の変容の表れる加速度データのサンプルであってよく、第2ラベル522は、突発的な事象の種別を示してよい。学習装置1は、上記ステップS111~ステップS113の処理を実行することで、入力値により指定される種別の事象により生じる加速度の変容の表れる疑似サンプルを生成する能力を獲得した訓練済みの第2生成器421を構築することができる。
 本変形例では、第3学習データセット53のサンプル値531は、加速度の変容具合を示してよい。加速度の変容は、例えば、振幅、周波数等により表現されてよい。反映レベル532は、加速度の変容を反映する程度を示してよい。反映レベル532は、突発的な事象の深刻度等の事故が発生するおそれの程度に関連して設定されてもよい。学習装置1は、上記ステップS121~ステップS123の処理を実行することで、入力値により指定される種別の事象及び程度の加速度の変容具合の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
 本変形例では、学習装置1は、上記ステップS131~ステップS133の処理を実行することで、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力を推定する能力を獲得した訓練済みの推定器44を構築することができる。また、本変形例では、学習装置1は、訓練済みの第1生成器411及び推定器44を利用して、上記ステップS141~ステップS144の処理を実行することで、通常の運転時に生じる加速度の変容及び突発的な事象により生じる加速度の変容を含む第3サンプル551から第2サンプル521を生成することができる。
 (データ生成装置)
 本変形例では、第1入力値221、第2入力値223、及び第3入力値225は、生成を所望するサンプルにおける影響因子の種別、突発的な事象の種別、及び突発的な事象を反映する程度に応じて指定されてよい。データ生成装置2は、訓練済みの各生成器(411、421、431)を利用して、上記ステップS201~ステップS205の処理を実行することで、突発的な事象を反映する程度を制御しながら、通常の運転時に生じる加速度の変容及び突発的な事象により生じる加速度の変容を含む新たなサンプル65を生成することができる。
 (監視装置)
 図24Aは、本変形例に係る監視装置3Bのハードウェア構成の一例を模式的に例示する。図24Aに示されるとおり、本変形例に係る監視装置3Bは、上記推定装置3と同様に、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータにより構成されてよい。
 本変形例では、記憶部32は、監視プログラム83B等の各種情報を記憶する。監視プログラム83Bは、上記実施形態に係る推定プログラム83に対応する。また、本変形例では、監視装置3Bは、外部インタフェース34を介して加速度センサSBに接続される。加速度センサSBは、車両の走行における加速度を測定可能に適宜配置されてよい。
 なお、監視装置3Bのハードウェア構成は、このような例に限定されなくてもよい。監視装置3Bの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置3Bは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
 図24Bは、本変形例に係る監視装置3Bのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置3Bのソフトウェア構成は、制御部31による監視プログラム83Bの実行により実現される。取り扱われるデータが上記のように限定される点を除き、監視装置3Bのソフトウェア構成は、上記推定装置3と同様である。監視部312Bは、上記推定部312に対応する。これにより、監視装置3Bは、上記推定装置3の推定処理と同様に、運転者の運転態様の監視に関する一連の処理を実行することができる。
 すなわち、ステップS301では、制御部31は、推定対象の加速度の変容の表れる加速度データの対象サンプル325を加速度センサSBから取得する。ステップS302では、制御部31は、監視部312Bとして動作し、データ群320を利用して対象サンプル325を分析することで、対象サンプル325から突発的な事象により生じた加速度の変容を検出する。データ群320に含まれるサンプル321には、通常の運転時に生じる加速度の変容及び突発的な事象により生じる加速度の変容が含まれる。検出する突発的な事象毎に限界事例のサンプル321が選択されてよい。検出のパラメータは、限界事例に選択されたサンプル321に基づいて設定されてよい。これにより、制御部31は、運転者の運転態様を推定することができる。なお、運転態様の推定は、リアルタイムに実施されてもよいし、過去の時刻の運転態様を評価するために実施されてもよい。
 ステップS303では、制御部31は、運転者の運転態様を推定した結果に関する情報を出力する。例えば、制御部31は、突発的な事象により生じた加速度の変容に関する履歴を作成し、作成された履歴を所定の記憶領域に保存してもよい。当該履歴は、ステップS302により得られた加速度の変容をそのまま示してもよいし、得られた加速度の変容に対して何らかの情報処理を実行した結果を示してもよい。一例として、制御部31は、突発的な事象により生じた加速度の変容に基づいて、事故が発生するおそれの程度を評価し、評価した結果を示す履歴を作成してもよい。その他、制御部31は、突発的な事象により生じた加速度の変容に基づいて、例えば、急ブレーキ、急加速、急ハンドル等の運転者の行動を識別し、識別した結果を示す履歴を作成してもよい。行動を識別する指標は、適宜設定されてよい。監視装置3Bは、運転者が車両を運転している間、ステップS301~ステップS303の処理を繰り返し実行することで、運転者の運転態様を継続的に監視することができる。
 (特徴)
 本変形例によれば、データ生成装置2において、影響因子の種別及び突発的な事象の任意に組み合わせにより生じる加速度の変容の表れる新たなサンプル65を自在かつ自動的に生成可能である。そのため、影響因子の種別及び突発的な事象の種々の組み合わせの表れる多様なサンプルを収集するのにかかるコストを低減することができる。また、生成された新たなサンプル65をデータ群320に追加することで、サンプル321の得られていない影響因子の種別及び突発的な事象の組み合わせを低減又は無くすことができる。これにより、監視装置3Bにおける運転者の運転態様を推定する処理の精度の向上を図ることができる。
 [その他の形態]
 なお、加速度センサSBは、車載センサの一例である。加速度センサSBの他、車載センサには、例えば、カメラ、Lidarセンサ、ミリ波レーダ、超音波センサ等が用いられてよい。これにより、運転者の運転態様に代えて又は運転態様と共に、車両外部の状況を推定してもよい。この場合も、上記と同様に、第1特徴は、通常運転時に生じる各種の変容に関し、第2特徴は、突発的な事象により生じる各種の変容に関してよい。第1特徴の種別は、通常運転の影響因子の種別により表現されてよく、第2特徴の種別は、突発的な事象の種別により表現されてよい。
 (C)機械の異常を検知する場面
 図25は、第3変形例に係る検知システム100Cの適用場面の一例を模式的に例示する。本変形例では、図2Bに例示される機械の動作音を含む音データを利用して、機械の異常を検知する場面に上記実施形態を適用した例である。本変形例に係る検知システム100Cは、学習装置1、データ生成装置2、及び異常検知装置3Cを備えている。上記実施形態と同様に、学習装置1、データ生成装置2、及び異常検知装置3Cは、ネットワークを介して互いに接続されてよい。
 本変形例において取り扱われる所定種類のデータは、機械RCの動作音を含む音データである。当該音データは、マイクロフォンSCにより機械RCの動作音を録音することで得られてよい。第1特徴は、機械RCの通常運転時に生じる動作音、機械RCの周囲の雑音等の環境音に関し、第2特徴は、機械RCの経年劣化、故障等の異常により生じる異常音に関する。機械RC及び異常の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記のとおり、機械RCは、例えば、コンベア装置、産業用ロボット等の製造ラインを構成する装置であってよい。機械RCは、装置全体であってもよいし、モータ等の装置の一部であってもよい。異常は、例えば、故障、異物の混入、汚れの付着、構成部品の摩耗であってもよい。これらの限定を除き、本変形例に係る検知システム100Cは、上記実施形態に係る推定システム100と同様に構成されてよい。
 (学習装置)
 本変形例では、第1学習データセット51の第1サンプル511は、環境音を含む音データのサンプルであってよく、第1ラベル512は、機械RC及び周囲環境の種別を示してもよい。上記のとおり、機械RCの周囲環境は、例えば、機械RCの駆動する場所、時間等により区別されてよい。学習装置1は、上記ステップS101~ステップS103の処理を実行することで、入力値により指定される種別の機械RC及び周囲環境の環境音を含む疑似サンプルを生成する能力を獲得した訓練済みの第1生成器411を構築することができる。
 本変形例では、第2学習データセット52の第2サンプル521は、異常音を含む音データのサンプルであってよく、第2ラベル522は、異常の種別を示してもよい。学習装置1は、上記ステップS111~ステップS113の処理を実行することで、入力値により指定される種別の異常で生じる異常音を含む疑似サンプルを生成する能力を獲得した訓練済みの第2生成器421を構築することができる。
 本変形例では、第3学習データセット53のサンプル値531は、異常音の属性の度合を示してよい。異常音の属性は、例えば、振幅、周波数等により表現されてよい。反映レベル532は、異常音を反映する程度を示してよい。反映レベル532は、異常の深刻度、機械RCの正常度等の異常の程度に関連して設定されてもよい。学習装置1は、上記ステップS121~ステップS123の処理を実行することで、入力値により指定される種別及び程度の異常音の属性の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
 本変形例では、学習装置1は、上記ステップS131~ステップS133の処理を実行することで、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力を推定する能力を獲得した訓練済みの推定器44を構築することができる。また、本変形例では、学習装置1は、訓練済みの第1生成器411及び推定器44を利用して、上記ステップS141~ステップS144の処理を実行することで、環境音及び異常音を含む第3サンプル551から第2サンプル521を生成することができる。
 (データ生成装置)
 本変形例では、第1入力値221、第2入力値223、及び第3入力値225は、生成を所望するサンプルにおける機械及び周囲環境の種別、異常の種別、並びに異常音を反映する程度に応じて指定されてよい。データ生成装置2は、訓練済みの各生成器(411、421、431)を利用して、上記ステップS201~ステップS205の処理を実行することで、異常音を反映する程度を制御しながら、指定された種別の環境音及び異常音を含むあらたなサンプル65を生成することができる。
 (異常検知装置)
 図26Aは、本変形例に係る異常検知装置3Cのハードウェア構成の一例を模式的に例示する。図26Aに示されるとおり、本変形例に係る異常検知装置3Cは、上記推定装置3と同様に、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータにより構成されてよい。
 本変形例では、記憶部32は、異常検知プログラム83C等の各種情報を記憶する。異常検知プログラム83Cは、上記実施形態に係る推定プログラム83に対応する。また、本変形例では、異常検知装置3Cは、外部インタフェース34を介してマイクロフォンSCに接続される。マイクロフォンSCは、機械RCの動作音を録音可能な場所に適宜配置されてよい。
 なお、異常検知装置3Cのハードウェア構成は、このような例に限定されなくてもよい。異常検知装置3Cの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。異常検知装置3Cは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
 図26Bは、本変形例に係る異常検知装置3Cのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、異常検知装置3Cのソフトウェア構成は、制御部31による異常検知プログラム83Cの実行により実現される。取り扱われるデータが上記のように限定される点を除き、異常検知装置3Cのソフトウェア構成は、上記推定装置3と同様である。検知部312Cは、上記推定部312に対応する。これにより、異常検知装置3Cは、上記推定装置3の推定処理と同様に、機械RCの異常の検知に関する一連の処理を実行することができる。
 すなわち、ステップS301では、制御部31は、検査対象の機械RCの動作音を含む対象サンプル325をマイクロフォンSCから取得する。ステップS302では、制御部31は、検知部312Cとして動作し、データ群320を利用して対象サンプル325を分析することで、検査対象の機械RCに異常が発生しているか否かを判定する。データ群320に含まれるサンプル321には、環境音及び異常音が含まれている。検出する異常の種別毎に限界事例のサンプル321が選択されてよい。検出のパラメータは、限界事例に選択されたサンプル321に基づいて設定されてよい。これにより、制御部31は、機械RCの動作状態を推定することができる。機械RCの動作に異常が発生した場合には、制御部31は、その異常を検知することができる。
 ステップS303では、制御部31は、機械RCの動作状態を推定した結果に関する情報を出力する。例えば、制御部31は、機械RCの動作状態を推定した結果をそのまま出力装置36に出力してもよい。また、例えば、ステップS302の処理により異常の発生を検知した場合に、制御部31は、その異常の発生を知らせるための警告を出力装置36に出力してもよい。更に、異常検知装置3Cが機械RCの動作を制御可能に構成されている場合、制御部31は、異常の発生を検知したことに応じて、機械RCの動作を停止させてもよい。加えて、制御部31は、機械RCに発生した異常の種別、及び異常に対処するためのメンテナンス方法の情報を出力装置36に出力してもよい。異常に対処するためのメンテナンス方法を示す情報は、記憶部32、記憶媒体93、外部記憶装置、記憶メディア等の所定の記憶領域に保存されていてもよい。制御部31は、異常に対処するためのメンテナンス方法を示す情報を所定の記憶領域から適宜取得してもよい。
 (特徴)
 本変形例によれば、データ生成装置2において、任意の種別の環境音及び異常音の組み合わせを含む新たなサンプル65を自在かつ自動的に生成可能である。そのため、環境音及び異常音の種々の組み合わせを含む多様なサンプルを収集するのにかかるコストを低減することができる。また、生成された新たなサンプル65をデータ群320に追加することで、サンプル321の得られていない環境音及び異常音の組み合わせを低減又は無くすことができる。これにより、異常検知装置3Cにおける機械RCの異常を検知する処理の精度の向上を図ることができる。
 [その他の形態]
 なお、マイクロフォンSCは、機械RCの状態を監視するためのセンサの一例である。センシングデータにより機械RCの異常を検知する方法は、上記機械RCの動作音を含む音データによる方法に限られなくてもよい。マイクロフォンSCの他、例えば、加速度センサ、振動センサ等の機械の振動を測定するセンサが、機械RCの異常を検知するために利用されてよい。この場合、音(空気の振動)が機械RCの物理的な振動に置き換わるに過ぎず、上記と同様の方法により、機械RCの異常を検知することができる。
 <4.2>
 上記実施形態では、各生成器(411、421、431)、各識別器(412、422、432)及び推定器44には、全結合型のニューラルネットワークが用いられている。しかしながら、各生成器(411、421、431)、各識別器(412、422、432)及び推定器44それぞれを構成するニューラルネットワークの種類は、このような例に限定されなくてもよい。各生成器(411、421、431)、各識別器(412、422、432)及び推定器44には、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が用いられてよい。
 また、上記実施形態において、各生成器(411、421、431)、各識別器(412、422、432)及び推定器44それぞれを構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてもよい。各識別器(412、422、432)及び推定器44には、ニューラルネットワーク以外に、例えば、サポートベクタマシン、回帰モデル、決定木モデル等が用いられてよい。機械学習の方法は、それぞれの機械学習モデルの種類に応じて適宜選択されてよい。
 また、上記実施形態において、各生成器(411、421、431)、各識別器(412、422、432)及び推定器44それぞれの入力及び出力の形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、第1生成器411は、ノイズ及び第1特徴の種別以外の情報の入力を更に受け付けるように構成されてもよい。また、例えば、第1生成器411は、疑似サンプル以外の情報を出力するように構成されてもよい。その他についても同様である。
 <4.3>
 上記実施形態では、各学習モデル41~43は、各生成器(411、421、431)及び各識別器(412、422、432)により構成されている。しかしながら、各学習モデル41~43の構成は、対応する疑似的なデータを生成する能力を獲得するように各生成器(411、421、431)を訓練可能であれば、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
 図27は、本変形例に係る第1学習モデル41Dの構成の一例を模式的に例示する。本変形例に係る第1学習モデル41Dは、エンコーダ415及びデコーダ411Dにより構成される。エンコーダ415は、第1特徴を含むサンプル及び第1特徴の種別を示す情報を特徴量に変換するように構成される。デコーダ411Dは、エンコーダ415により得られた特徴量及び対応する第1特徴の種別を示す情報から対応する第1特徴を含むサンプルを復元するように構成される。本変形例では、デコーダ411Dが、第1生成器411に対応する。エンコーダ415により得られる特徴量が、上記実施形態におけるノイズ(潜在変数)に対応する。
 エンコーダ415及びデコーダ411Dはそれぞれ、機械学習モデルにより構成される。エンコーダ415及びデコーダ411Dそれぞれを構成する機械学習モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記実施形態と同様に、エンコーダ415及びデコーダ411Dそれぞれを構成する機械学習モデルには、例えば、ニューラルネットワークが用いられてよい。エンコーダ415及びデコーダ411Dそれぞれがニューラルネットワークにより構成される場合、学習装置1は、上記ステップS102において、以下のとおり、第1学習モデル41Dの機械学習を実施することができる。
 すなわち、制御部11は、各第1学習データセット51について、第1サンプル511及び第1ラベル512をエンコーダ415に入力し、エンコーダ415の演算処理を実行する。これにより、制御部11は、第1サンプル511及び第1ラベル512を特徴量に変換した結果に対応する出力値をエンコーダ415から取得する。
 次に、制御部11は、エンコーダ415から得られた特徴量及び対応する第1ラベル512をデコーダ411Dに入力し、デコーダ411Dの演算処理を実行する。これにより、制御部11は、特徴量及び第1ラベル512から復元された復元サンプル515Dに対応する出力値をデコーダ411Dから取得する。
 制御部11は、各第1学習データセット51について、得られた復元サンプル515Dと第1サンプル511との誤差を算出する。制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、エンコーダ415及びデコーダ411Dそれぞれの演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、エンコーダ415及びデコーダ411Dそれぞれの演算パラメータの値を更新する。制御部11は、当該一連の更新処理により、算出される誤差の和が小さくなるように、エンコーダ415及びデコーダ411Dそれぞれの演算パラメータの値を調節する。
 なお、上記更新処理の他に、制御部11は、エンコーダ415から得られる特徴量と所定の確率分布(例えば、ガウス分布等)から得られる値との誤差を算出し、当該誤差の和が小さくなるようにエンコーダ415の演算パラメータの値を更に調節してもよい。これにより、制御部11は、エンコーダ415の出力値を正規化してもよい。
 以上の機械学習により、第1特徴を含むサンプル及び第1特徴の種別を示す情報を適切な特徴量に変換する能力を獲得した訓練済みのエンコーダ415を構築することができる。これと共に、特徴量及び第1特徴の種別を示す情報から対応する第1特徴を含むサンプルを生成する能力を獲得した訓練済みのデコーダ411Dを構築することができる。
 特徴量は、上記ノイズに対応するため、訓練済みのデコーダ411Dは、上記訓練済みの第1生成器411と同じように取り扱うことができる。データ生成装置2は、上記実施形態と同様の処理手順により、訓練済みのデコーダ411Dを利用して、第1疑似サンプル61を生成することができる。また、学習装置1は、上記実施形態と同様の処理手順により、訓練済みのデコーダ411D及び推定器44を利用して、第3サンプル551から第2サンプル521を生成することができる。なお、第2学習モデル42及び第3学習モデル43もそれぞれ、本変形例に係る第1学習モデル41Dのように構成されてよい。
 <4.4>
 上記実施形態において、第3学習モデル43は省略されてもよい。この場合、学習装置1のソフトウェア構成から第3取得部113及び第3訓練部117は省略されてよい。学習装置1の処理手順において、ステップS121~ステップS123の処理は省略されてよい。データ生成装置2の処理手順において、ステップS204の処理は省略されてよい。制御部21は、ステップS205において、第1疑似サンプル61及び第2疑似サンプル62を適宜合成してもよい。制御部21は、例えば、第1疑似サンプル61及び第2疑似サンプル62をそのまま重畳的に加算することで、第1疑似サンプル61及び第2疑似サンプル62を合成してもよい。或いは、合成のパラメータは、オペレータの入力等により適宜指定されてもよい。制御部21は、指定されたパラメータに基づいて、第1疑似サンプル61及び第2疑似サンプル62を合成してもよい。
 <4.5>
 上記実施形態において、推定器44の機械学習は、学習装置1以外の他のコンピュータにより実行されてよい。或いは、第2サンプル521は、オペレータの操作によるデータ加工等の上記実施形態以外の方法で生成されてもよい。例えば、制御部11は、第3サンプル551と予め与えられた第1特徴のみを含むサンプルとの差分を算出することで、第2サンプル521を生成してもよい。これらの場合、学習装置1のソフトウェア構成から第4取得部114及び第4訓練部118は省略されてよい。学習装置1の処理手順において、ステップS131~ステップS133及びステップS141~ステップS144の処理は省略されてよい。
 <4.6>
 上記実施形態に係る推定装置3は、ステップS302における第2特徴に関する推定処理に、訓練済みの第1生成器411及び推定器44を利用している。しかしながら、第2特徴に関する推定処理は、このような例に限定されなくてもよい。例えば、対象サンプル325に対応する第1特徴を含むサンプルが予め与えられてもよい。推定装置3は、疑似サンプル326の代わりに、この予め与えられたサンプルを利用してもよい。また、例えば、推定装置3は、部分空間法等の方法で生成された別のモデルにより、対象サンプル325に対応する第1特徴を含むサンプルを当該対象サンプル325から生成してもよい。なお、これらに例示されるように、訓練済みの第1生成器411及び推定器44を推定処理に利用しない場合には、推定装置3の保持する情報から第1学習結果データ121及び第4学習結果データ124は省略されてよい。
 また、上記実施形態では、第2特徴に関する推定処理は、差分サンプル327に対するデータ解析により実現されている。新たなサンプル65は、このデータ解析のパラメータに反映可能である。しかしながら、新たなサンプル65を推定処理におけるパラメータに反映する形態は、このような例に限定されなくてもよい。その他の形態の一例として、第2特徴に関する推定処理には、当該推定処理を実施する能力を獲得した訓練済みの機械学習モデルが用いられてよい。新たなサンプル65は、この機械学習モデルの機械学習に利用されることで、訓練済みの機械学習モデルの演算パラメータの値に反映されてよい。この形態では、訓練済みの機械学習モデルの演算パラメータが、推定処理におけるパラメータに相当する。
 図28は、本変形例に係る推定システム100Eの適用場面の一例を模式的に例示する。本変形例は、訓練済みの機械学習モデルを推定処理に利用する形態の一例である。本変形例に係る推定システム100Eは、学習装置1、データ生成装置2、推定装置3E、及び他の学習装置7を備えている。推定装置3Eは、上記実施形態に係る推定装置3に対応する。他の学習装置7は、第2特徴に関する推定処理に利用可能な訓練済みの機械学習モデルを生成するように構成されたコンピュータである。上記実施形態と同様に、学習装置1、データ生成装置2、推定装置3E、及び他の学習装置7は、ネットワークを介して互いに接続されてよい。また、学習装置1、データ生成装置2、推定装置3E、及び他の学習装置7のうちの少なくともいずれかのペアは一体のコンピュータであってよい。
 [他の学習装置]
 (ハードウェア構成)
 図29は、本変形例に係る他の学習装置7のハードウェア構成の一例を模式的に例示する。図29に示されるとおり、本変形例に係る他の学習装置7は、制御部71、記憶部72、通信インタフェース73、外部インタフェース74、入力装置75、出力装置76、及びドライブ77が電気的に接続されたコンピュータにより構成される。他の学習装置7の制御部71~ドライブ77及び記憶媒体97はそれぞれ、上記学習装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。
 本変形例では、記憶部72は、学習プログラム87、複数の学習データセット721、学習結果データ725等の各種情報を記憶する。学習プログラム87は、推定処理に利用可能な訓練済みの機械学習モデルの生成に関する後述の情報処理(図31)を他の学習装置7に実行させるためのプログラムである。学習プログラム87は、この情報処理の一連の命令を含む。学習プログラム87は、上記学習プログラム81と同様に、「モデル生成プログラム」又は単に「生成プログラム」と称されてよい。複数の学習データセット721は、機械学習モデルの機械学習に使用される。学習結果データ725は、機械学習により構築された訓練済みの機械学習モデルに関する情報を示す。学習結果データ725は、学習プログラム87を実行した結果として生成される。学習プログラム87及び複数の学習データセット721のうちの少なくともいずれかは、記憶媒体97に記憶されていてもよい。また、他の学習装置7は、記憶媒体97から、学習プログラム87及び複数の学習データセット721のうちの少なくともいずれかを取得してもよい。
 なお、他の学習装置7の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部71は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部72は、制御部71に含まれるRAM及びROMにより構成されてもよい。通信インタフェース73、外部インタフェース74、入力装置75、出力装置76、及びドライブ77の少なくともいずれかは省略されてもよい。他の学習装置7は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、他の学習装置7は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
 (ソフトウェア構成)
 図30は、本変形例に係る他の学習装置7のソフトウェア構成の一例を模式的に例示する。上記学習装置1等と同様に、制御部71により学習プログラム87が実行される。これにより、他の学習装置7は、取得部711、訓練部712、及び保存処理部713をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例では、他の学習装置7の各ソフトウェアモジュールは、制御部71(CPU)により実現される。
 取得部711は、訓練サンプル7211及び正解データ7212の組み合わせによりそれぞれ構成された複数の学習データセット721を取得する。訓練サンプル7211は第1特徴を含んでいる。一方、訓練サンプル7211は、第2特徴を含む及び含まないのいずれであってもよい。新たなサンプル65が、訓練サンプル7211として利用されてよい。正解データ7212は、訓練サンプル7211に対する第2特徴に関する所定の推定を実行した結果(正解)を示す。
 訓練部712は、取得された複数の学習データセット721を使用して、機械学習モデル45の機械学習を実行する。機械学習では、訓練部712は、各学習データセット721について、訓練サンプル7211を入力すると、正解データ7212に適合する出力値を出力するように機械学習モデル45を訓練する。これにより、第2特徴に関する推定処理を実行する能力を獲得した訓練済みの機械学習モデル45を生成することができる。保存処理部713は、訓練済みの機械学習モデル45に関する情報を学習結果データ725として生成し、生成された学習結果データ725を所定の記憶領域に保存する。
 機械学習モデル45の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械学習の方法は、機械学習モデル45の種類に応じて選択されてよい。上記第1生成器411等と同様に、機械学習モデル45は、例えば、ニューラルネットワークにより構成されてよい。以下では、説明の便宜のため、機械学習モデル45は、ニューラルネットワークにより構成されると想定する。
 なお、本変形例では、上記学習装置1等と同様に、他の学習装置7の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、他の学習装置7のソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
 (動作例)
 図31は、本変形例に係る他の学習装置7による機械学習モデル45の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 ステップS701では、制御部71は、取得部711として動作し、複数の学習データセット721を取得する。各学習データセット721は適宜生成されてよい。一例として、訓練サンプル7211を適宜取得する。訓練サンプル7211は、上記第1サンプル511又は第3サンプル551と同様の方法で取得されてよい。次に、取得された訓練サンプル7211に対して第2特徴に関する所定の推定を実行する。この場面では、所定の推定は、オペレータ等により手動的に行われてよい。そして、訓練サンプル7211に対して所定の推定を実行した結果(正解)を訓練サンプル7211に関連付ける。これにより、各学習データセット721を生成することができる。上記第1学習結果データ51等と同様に、各学習データセット721は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各学習データセット721は、他の学習装置7により行われてもよいし、他の学習装置7以外の他のコンピュータにより行われてもよい。制御部71は、生成された各学習データセット721を適宜取得してよい。
 また、新たなサンプル65が、訓練サンプル7211として利用されてよい。例えば、学習データセット721の件数が不足する場合に、制御部71は、上記推定装置3と同様の方法で、新たなサンプル65の生成を依頼してもよい。この場合、各入力値(221、223、225)は、他の学習装置7において指定されてよい。或いは、データ生成装置2は、他の学習装置7からの依頼に依らず、新たなサンプル65を生成してもよい。これにより、生成された新たなサンプル65が任意の方法で他の学習装置7に提供されることで、他の学習装置7は、提供された新たなサンプル65を訓練サンプル7211として取得してもよい。正解データ7212は、新たなサンプル65を生成する際に指定された第2入力値223及び第3入力値225により与えられてよい。
 取得する学習データセット721の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の学習データセット721を取得すると、制御部71は、次のステップS702に処理を進める。
 ステップS702では、制御部71は、訓練部712として動作し、取得された複数の学習データセット721を使用して、機械学習モデル45の機械学習を実施する。一例として、制御部71は、各学習データセット721について、訓練サンプル7211を機械学習モデル45に入力し、機械学習モデル45の演算処理を実行する。これにより、訓練サンプル7211に対して第2特徴に関する所定の推定処理を実行した結果に対応する出力値を機械学習モデル45から取得する。制御部71は、各学習データセット721について、得られた出力値と正解データ7212との誤差を算出する。制御部71は、誤差逆伝播法により、算出された誤差の勾配を用いて、機械学習モデル45の演算パラメータの値の誤差を算出する。制御部71は、算出された各誤差に基づいて、機械学習モデル45の演算パラメータの値を更新する。制御部71は、当該一連の更新処理により、算出される誤差の和が小さくなるように、機械学習モデル45の演算パラメータの値を調節する。これにより、第2特徴に関する推定処理を実行する能力を獲得した訓練済みの機械学習モデル45を生成することができる。また、データ生成装置2により生成された新たなサンプル65をこの機械学習の処理に使用することで、訓練済みの機械学習モデル45の演算パラメータの値に新たなサンプル65を反映することができる。機械学習モデル45の機械学習が完了すると、制御部71は、次のステップS703に処理を進める。
 なお、上記実施形態において、限界事例のサンプル321が選択されたのと同様に、本変形例では、当該機械学習において優先する学習データセット721が選択されてよい。優先する学習データセット721は、データ生成装置2により生成された新たなサンプル65を含むものから選択されてよい。例えば、図2Aの例では、オペレータにより、複数の学習データセットのうち、検出の誤りの抑制を所望する欠陥の写るサンプルを含む学習データセットが優先的に機械学習されるように選択されてよい。この場合、上記一連の更新処理において、選択された学習データセット721のサンプリングレート又は学習率が他の学習データセット721よりも高く設定されてよい。これにより、上記機械学習において、選択された学習データセット721が優先的に訓練される。その結果、訓練済みの機械学習モデル45において、選択された学習データセット721の訓練サンプル7211に対する第2特徴に関する推定処理(上記図2Aの例では、欠陥検出)の精度の向上を図ることができる。
 ステップS703では、制御部71は、訓練済みの機械学習モデル45に関する情報を学習結果データ725として生成し、生成された学習結果データ725を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部71内のRAM、記憶部72、記憶媒体97、外部記憶装置又はこれらの組み合わせであってよい。これにより、学習結果データ725の保存が完了すると、制御部71は、本動作例に係る処理手順を終了する。
 [推定装置]
 次に、図32A及び図32Bを用いて、本変形例に係る推定装置3Eについて説明する。図32Aは、本変形例に係る推定装置3Eのハードウェア構成の一例を模式的に例示する。図32Bは、本変形例に係る推定装置3Eのソフトウェア構成の一例を模式的に例示する。
 図32Aに示されるとおり、本変形例に係る推定装置3Eは、上記推定装置3と同様に、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータにより構成されてよい。
 本変形例では、記憶部32は、推定プログラム83E、学習結果データ725等の各種情報を記憶する。推定プログラム83Eは、上記実施形態に係る推定プログラム83に対応する。推定プログラム83E及び学習結果データ725のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、推定装置3Eは、記憶媒体93から、推定プログラム83E及び学習結果データ725のうちの少なくともいずれかを取得してもよい。
 なお、上記第1学習結果データ121等と同様に、他の学習装置7により生成された学習結果データ725は、任意のタイミングで推定装置3Eに適用されてよい。また、上記ステップS701~ステップS703の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに作成された学習結果データ725が任意の方法で推定装置3Eに提供されることで、推定装置3Eの保持する学習結果データ725が更新されてもよい。
 図32Bに示されるとおり、上記実施形態と同様に、推定装置3Eのソフトウェア構成は、制御部31による推定プログラム83Eの実行により実現される。推定処理におけるパラメータの値は上記機械学習により決定されるため、設定部314が省略される点を除き、推定装置3Eのソフトウェア構成は、上記推定装置3と同様である。推定部312Eは、上記推定部312に対応する。本変形例では、推定部312Eは、学習結果データ725を保持していることで、訓練済みの機械学習モデル45を備えている。これにより、推定装置3Eは、ステップS302において訓練済みの機械学習モデル45を利用する点を除き、上記実施形態と同様の手順で、対象サンプル325に対する第2特徴に関する推定処理を実行することができる。
 上記ステップS302では、制御部31は、推定部312Eとして動作し、学習結果データ725を参照して、訓練済みの機械学習モデル45の設定を行う。制御部31は、取得された対象サンプル325を訓練済みの機械学習モデル45に入力し、訓練済みの機械学習モデル45の演算処理を実行する。これにより、制御部31は、対象サンプル325に対して第2特徴に関する推定処理を実行した結果に対応する出力値を訓練済みの機械学習モデル45から取得することができる。上記図2Aの例では、制御部31は、対象サンプル325に写る製品に欠陥が含まれるか否かを判定した結果に対応する出力値を訓練済みの機械学習モデル45から取得することができる。本変形例では、この処理により、第2特徴に関する推定処理が達成される。
 <4.7>
 上記実施形態において、データ生成装置2により生成される新たなサンプル65で合成される第1特徴及び第2特徴の数は、1つに限られなくてもよく、2つ以上であってもよい。制御部21は、例えば、上記ステップS205において、1つの第1疑似サンプル61に、それぞれ異なる種別の第2特徴を含む2つ以上の第2疑似サンプル62を合成してもよい。これにより、2つ以上の第2特徴の表れる新たなサンプル65を生成することができる。例えば、上記図2Aの例では、製品P1に2つ以上の欠陥P12が生じた事例に対応する新たなサンプル65を生成することができる。
 <4.8>
 上記実施形態において、各学習モデル41~43及び推定器44はそれぞれ別々のコンピュータにより生成されてもよい。また、例えば、訓練済みの各生成器(411、421、431)及び推定器44を暫定的に生成するケース等、各学習結果データ121~124の保存が不要な場合には、ステップS103、ステップS113、ステップS123、及びステップS133の処理は省略されてよい。この場合、学習装置1のソフトウェア構成から保存処理部119は省略されてよい。
 また、上記実施形態では、データ生成装置2は、ステップS201の処理により、各入力値(221、223、225)の指定を受け付けている。しかしながら、各入力値(221、223、225)を指定する方法は、このような例に限定されなくてもよい。例えば、各入力値(221、223、225)は、ランダム等の方法により機械的に決定されてよい。この場合、データ生成装置2の処理手順において、ステップS201の処理は省略されてよい。データ生成装置2のソフトウェア構成から受付部211は省略されてよい。
 1…学習装置、
 11…制御部、12…記憶部、13…通信インタフェース、
 14…外部インタフェース、
 15…入力装置、16…出力装置、
 17…ドライブ、91…記憶媒体、
 81…学習プログラム、
 111…第1取得部、112…第2取得部、
 113…第3取得部、114…第4取得部、
 115…第1訓練部、116…第2訓練部、
 117…第3訓練部、118…第4訓練部、
 119…保存処理部、
 121…第1学習結果データ、122…第2学習結果データ、
 123…第3学習結果データ、124…第4学習結果データ、
 2…データ生成装置、
 21…制御部、22…記憶部、23…通信インタフェース、
 24…外部インタフェース、
 25…入力装置、26…出力装置、
 27…ドライブ、92…記憶媒体、
 82…データ生成プログラム、
 211…受付部、212…第1生成部、
 213…第2生成部、214…データ合成部、
 220・222・224…ノイズ、
 221…第1入力値、223…第2入力値、
 225…第3入力値、
 3…推定装置、
 31…制御部、32…記憶部、33…通信インタフェース、
 34…外部インタフェース、
 35…入力装置、36…出力装置、
 37…ドライブ、93…記憶媒体、
 83…推定プログラム、
 311…取得部、312…推定部、313…出力部、
 314…設定部、
 320…データ群、321…サンプル、
 325…対象サンプル、326…疑似サンプル、
 327…差分サンプル、
 41…第1学習モデル、
 411…第1生成器、412…第1識別器、
 42…第2学習モデル、
 421…第2生成器、422…第2識別器、
 43…第3学習モデル、
 431…第3生成器、432…第3識別器、
 44…推定器、
 51…第1学習データセット、
 511…第1サンプル、512…第1ラベル、
 52…第2学習データセット、
 521…第2サンプル、522…第2ラベル、
 53…第3学習データセット、
 531…サンプル値、532…反映レベル、
 54…第4学習データセット、
 541…サンプル値、542…疑似サンプル(第4疑似サンプル)、
 551…第3サンプル、555…疑似サンプル(第3疑似サンプル)、
 61…第1疑似サンプル、62…第2疑似サンプル、
 63…疑似値

Claims (17)

  1.  所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、
     前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、
     取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、
     取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、
     前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する第1生成部と、
     前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する第2生成部と、
     生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、
    を備える、
    データ生成システム。
  2.  前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含み、
     前記第1特徴は、前記第1成分に関し、
     前記第2特徴は、前記第2成分に関する、
    請求項1に記載のデータ生成システム。
  3.  前記第1学習モデルは、第1識別器を更に含み、
     前記第1生成器を訓練することは、
      前記第1識別器に入力された入力サンプルが、前記複数の第1学習データセットのいずれかから得られた前記第1サンプルか前記第1生成器により生成された疑似サンプルかを識別するように前記第1識別器を訓練するステップ、及び
      前記第1識別器の前記識別の性能を低下させるような疑似サンプルを生成するように前記第1生成器を訓練するステップ、
    を交互に繰り返し実行することにより構成される、
    請求項1又は2に記載のデータ生成システム。
  4.  前記第2学習モデルは、第2識別器を更に含み、
     前記第2生成器を訓練することは、
      前記第2識別器に入力された入力サンプルが、前記複数の第2学習データセットのいずれかから得られた前記第2サンプルか前記第2生成器により生成された疑似サンプルかを識別するように前記第2識別器を訓練するステップ、及び
      前記第2識別器の前記識別の性能を低下させるような疑似サンプルを生成するように前記第2生成器を訓練するステップ、
    を交互に繰り返し実行することにより構成される、
    請求項1から3のいずれか1項に記載のデータ生成システム。
  5.  前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、
     取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、
    を更に備え、
     前記合成することは、
      前記第2ラベルに対応する第2入力値並びに前記反映レベルに対応する第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
      前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
    を含む、
    請求項1から4のいずれか1項に記載のデータ生成システム。
  6.  前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、
     取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、
    を更に備え、
     前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含み、
     前記第1特徴は、前記第1成分に関し、
     前記第2特徴は、前記第2成分に関し、
     前記所定の推定は、前記第2成分を検出することであり、
     前記合成することは、
      前記第2ラベルに対応する第2入力値、並びに前記反映レベルに対応する第3入力値であって、前記検出の限界に応じて与えられた第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
      前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
    を含む、
    請求項1に記載のデータ生成システム。
  7.  前記第3学習モデルは、第3識別器を更に含み、
     前記第3生成器を訓練することは、
      前記第3識別器に入力された入力値が、前記複数の第3学習データセットのいずれかから得られた前記サンプル値か前記第3生成器により生成された疑似的な値かを識別するように前記第3識別器を訓練するステップ、及び
      前記第3識別器の前記識別の性能を低下させるような前記第2特徴の属性の疑似的な値を生成するように前記第3生成器を訓練するステップ、
    を交互に繰り返し実行することにより構成される、
    請求項5又は6に記載のデータ生成システム。
  8.  前記各第3学習データセットは、前記第1ラベルを更に備え、
     前記第3学習モデルの機械学習を実施することは、前記反映レベル、前記第2ラベル及び前記第1ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、
    請求項5から7のいずれか1項に記載のデータ生成システム。
  9.  前記反映レベルは、連続値により構成される、
    請求項5から8のいずれか1項に記載のデータ生成システム。
  10.  前記複数の第2学習データセットを取得することは、
      前記所定種類のデータの第3サンプルであって、前記第1特徴及び前記第2特徴をそれぞれ含む複数の第3サンプルを取得するステップ、
      訓練済みの前記第1生成器により生成された疑似サンプルから当該疑似サンプルを生成する際に前記第1生成器に与えられた入力を推定するように訓練された推定器に前記各第3サンプルを与えることで、前記各第3サンプルに対応する疑似サンプルを生成するために訓練済みの前記第1生成器に与える入力の推定値を推定するステップ、
      推定された前記推定値を訓練済みの前記第1生成器に与えることで、前記第3サンプル毎に第3疑似サンプルを生成するステップ、並びに
      前記各第3サンプルから前記第3疑似サンプルを差分することで、前記各第2学習データセットの前記第2サンプルを生成するステップ、
    を含む、
    請求項1から9のいずれか1項に記載のデータ生成システム。
  11.  訓練済みの前記第1生成器に与える入力のサンプル値、及び訓練済みの前記第1生成器に当該サンプル値を与えることで生成される第4疑似サンプルの組み合わせによりそれぞれ構成される複数の第4学習データセットを取得する第4取得部と、
     取得された前記複数の第4学習データセットを使用して、前記推定器の機械学習を実施することで、訓練済みの前記推定器を構築する第4訓練部であって、前記推定器の機械学習を実施することは、前記各第4学習データセットについて、訓練済みの前記第1生成器に与えた入力を前記第4疑似サンプルから前記推定器により推定することで得られる推定値が前記サンプル値に適合するように前記推定器を訓練することを含む、第4訓練部と、
    を更に備える、
    請求項10に記載のデータ生成システム。
  12.  前記所定種類のデータは、背景及び前景を含む画像データであり、
     前記第1特徴は、前記背景に関し、
     前記第2特徴は、前記前景に関する、
    請求項1から11のいずれか1項に記載のデータ生成システム。
  13.  前記所定種類のデータは、製品の写る画像データであり、
     前記第1特徴は、前記製品を含む背景に関し、
     前記第2特徴は、前記製品の欠陥に関する、
    請求項1から11のいずれか1項に記載のデータ生成システム。
  14.  所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、
     前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、
     取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、
     取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、
    を備える、
    学習装置。
  15.  所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築された訓練済みの第1生成器を有する第1生成部であって、
      前記機械学習により、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、
      第1生成部は、前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する、
    第1生成部と、
     前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築された訓練済みの第2生成器を有する第2生成部であって、
      前記機械学習により、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、
      前記第2生成部は、前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、
    第2生成部と、
     生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、
    を備える、
    データ生成装置。
  16.  コンピュータが、
     訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、
      前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、
      前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、
      前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、
    ステップと、
     訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、
      前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され
      前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、
      前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、
    ステップと、
     生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、
    を実行する、
    データ生成方法。
  17.  コンピュータに、
     訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、
      前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、
      前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、
      前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、
    ステップと、
     訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、
      前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され、
      前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、
      前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、
    ステップと、
     生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、
    を実行させるための、
    データ生成プログラム。
PCT/JP2020/033311 2019-09-27 2020-09-02 データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム WO2021059909A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080056673.2A CN114207664A (zh) 2019-09-27 2020-09-02 数据生成系统、学习装置、数据生成装置、数据生成方法及数据生成程序
US17/636,388 US20220300809A1 (en) 2019-09-27 2020-09-02 Data generation system, learning apparatus, data generation apparatus, data generation method, and computer-readable storage medium storing a data generation program
EP20867472.1A EP4036561A4 (en) 2019-09-27 2020-09-02 DATA GENERATION SYSTEM, LEARNING DEVICE, DATA GENERATION DEVICE, DATA GENERATION METHOD AND DATA GENERATION PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019178001A JP7380019B2 (ja) 2019-09-27 2019-09-27 データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム
JP2019-178001 2019-09-27

Publications (1)

Publication Number Publication Date
WO2021059909A1 true WO2021059909A1 (ja) 2021-04-01

Family

ID=75166585

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/033311 WO2021059909A1 (ja) 2019-09-27 2020-09-02 データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム

Country Status (5)

Country Link
US (1) US20220300809A1 (ja)
EP (1) EP4036561A4 (ja)
JP (1) JP7380019B2 (ja)
CN (1) CN114207664A (ja)
WO (1) WO2021059909A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114660917A (zh) * 2022-03-21 2022-06-24 中国地质大学(北京) 基于Transformer模型的自由视场红外数字全息成像方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7241721B2 (ja) * 2020-08-04 2023-03-17 Ckd株式会社 検査装置、ブリスター包装機及びブリスターパックの製造方法
US11900534B2 (en) * 2021-07-30 2024-02-13 The Boeing Company Systems and methods for synthetic image generation
WO2023162038A1 (ja) * 2022-02-22 2023-08-31 株式会社Fuji 基板生産システム及び基板作業機の検査方法
WO2024034077A1 (ja) * 2022-08-10 2024-02-15 日本電気株式会社 学習システム、学習方法、およびコンピュータ可読媒体
CN116663338B (zh) * 2023-08-02 2023-10-20 中国电子信息产业集团有限公司第六研究所 一种基于相似算例的仿真分析方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP2018024340A (ja) 2016-08-10 2018-02-15 パナソニックIpマネジメント株式会社 運転性向判定装置および運転性向判定システム
US20180293734A1 (en) * 2017-04-06 2018-10-11 General Electric Company Visual anomaly detection system
JP2018175343A (ja) 2017-04-12 2018-11-15 富士フイルム株式会社 医用画像処理装置および方法並びにプログラム
JP2018189522A (ja) 2017-05-08 2018-11-29 キユーピー株式会社 設備故障の予兆診断方法
JP2019045330A (ja) 2017-09-04 2019-03-22 日本電産コパル株式会社 外観検査装置及び製品製造システム
JP2019071050A (ja) 2017-10-06 2019-05-09 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP2018024340A (ja) 2016-08-10 2018-02-15 パナソニックIpマネジメント株式会社 運転性向判定装置および運転性向判定システム
US20180293734A1 (en) * 2017-04-06 2018-10-11 General Electric Company Visual anomaly detection system
JP2018175343A (ja) 2017-04-12 2018-11-15 富士フイルム株式会社 医用画像処理装置および方法並びにプログラム
JP2018189522A (ja) 2017-05-08 2018-11-29 キユーピー株式会社 設備故障の予兆診断方法
JP2019045330A (ja) 2017-09-04 2019-03-22 日本電産コパル株式会社 外観検査装置及び製品製造システム
JP2019071050A (ja) 2017-10-06 2019-05-09 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BRAHAM, MARC; VAN DROOGENBROECK MARC: "Deep background subtraction with scene-specific convolutional neural networks", 2016 INTERNATIONAL CONFERENCE ON SYSTEMS, SIGNALS AND IMAGE PROCESSING (IWSSIP, May 2016 (2016-05-01), XP032918507, DOI: 10.1109/IWSSIP.2016.7502717 *
JADERBERG, MAX, KAREN SIMONYAN; ANDREW ZISSERMAN; KORAY KAVUKCUOGLU: "Spatial transformer networks", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS, 2015, XP055406872 *
LEE, D. ET AL.: "Context-aware synthesis and placement of object instances", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS, December 2018 (2018-12-01), XP080989728 *
MARIANI, GIOVANNI, FLORIAN SCHEIDEGGER; ROXANA ISTRATE; COSTAS BEKAS; CRISTIANO MALOSSI: "BAGAN: Data Augmentation with Balancing GAN", 5 June 2018 (2018-06-05), XP080859233, Retrieved from the Internet <URL:https://arxiv.org/pdf/1803.09655.pdf> [retrieved on 20201126] *
TRIPATHI, SHASHANK,: "Learning to generate synthetic data via compositing", PROCEEDINGS OF THE IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 20 June 2019 (2019-06-20), pages 461 - 470, XP033686642, DOI: 10.1109/CVPR.2019.00055 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114660917A (zh) * 2022-03-21 2022-06-24 中国地质大学(北京) 基于Transformer模型的自由视场红外数字全息成像方法
CN114660917B (zh) * 2022-03-21 2022-10-21 中国地质大学(北京) 基于Transformer模型的自由视场红外数字全息成像方法

Also Published As

Publication number Publication date
JP2021056677A (ja) 2021-04-08
EP4036561A1 (en) 2022-08-03
JP7380019B2 (ja) 2023-11-15
US20220300809A1 (en) 2022-09-22
EP4036561A4 (en) 2023-01-25
CN114207664A (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
WO2021059909A1 (ja) データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム
US11715190B2 (en) Inspection system, image discrimination system, discrimination system, discriminator generation system, and learning data generation device
JP7164028B2 (ja) 学習システム、データ生成装置、データ生成方法、及びデータ生成プログラム
WO2021176984A1 (ja) モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
WO2021261168A1 (ja) 検査装置、ユニット選択装置、検査方法、及び検査プログラム
CA2899146A1 (en) Method for the non-destructive testing of the volume of a test object and testing device configured for carrying out such a method
JP2012018066A (ja) 異常検査装置
WO2021100483A1 (ja) モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
WO2023032665A1 (ja) ラベル生成方法、モデル生成方法、ラベル生成装置、ラベル生成プログラム、モデル生成装置、及びモデル生成プログラム
JP2019530096A (ja) 不要部分を除去するためのデジタル画像の処理
WO2021182000A1 (ja) パラメータ調整装置、推論装置、パラメータ調整方法、及びパラメータ調整プログラム
WO2022196433A1 (ja) モデル生成装置、分類装置、データ生成装置、モデル生成方法、及びモデル生成プログラム
WO2021100482A1 (ja) モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
US20240161259A1 (en) Inference device, model generation device, inference method, and non-transitory computer storage media
JP2022040531A (ja) 異常判定モデル生成方法及び異常判定モデル生成装置並びに検査装置
KR20220170658A (ko) 합성곱 신경망 모델을 이용한 비전 불량 예측 방법 및 이를 수행하는 전자 장치
CN116958599A (zh) 一种振槽连杆振动异常自动化检测方法与系统、可读介质及应用
Alhindi et al. Orthogonal binary singular value decomposition method for automated windshield wiper fault detection
JP2021026449A (ja) 学習方法、判定方法及びプログラム
JP2021036379A (ja) 学習方法、判定方法、解析方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20867472

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2020867472

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2020867472

Country of ref document: EP

Effective date: 20220428