WO2021100482A1 - モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム - Google Patents

モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム Download PDF

Info

Publication number
WO2021100482A1
WO2021100482A1 PCT/JP2020/041451 JP2020041451W WO2021100482A1 WO 2021100482 A1 WO2021100482 A1 WO 2021100482A1 JP 2020041451 W JP2020041451 W JP 2020041451W WO 2021100482 A1 WO2021100482 A1 WO 2021100482A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
estimator
training
encoder
feature
Prior art date
Application number
PCT/JP2020/041451
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 EP20891324.4A priority Critical patent/EP4064184A4/en
Priority to US17/772,161 priority patent/US20220406042A1/en
Priority to CN202080071408.1A priority patent/CN114556448A/zh
Publication of WO2021100482A1 publication Critical patent/WO2021100482A1/ja

Links

Images

Classifications

    • 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/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
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • 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/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder 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/0475Generative 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/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • 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/776Validation; Performance evaluation
    • 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

Definitions

  • the present invention relates to a model generation device, an estimation device, a model generation method, and a model generation program.
  • Patent Document 1 it is determined whether the inspection target imaged in the image is normal or abnormal based on the learned first neural network, and when it is determined that the inspection target is abnormal, the case is determined.
  • An inspection device that classifies the type of the anomaly based on the learned second neural network has been proposed.
  • Japanese Unexamined Patent Publication No. 2012-026982 Japanese Unexamined Patent Publication No. 2017-111806
  • Japanese Unexamined Patent Publication No. 2014-049118 Japanese Unexamined Patent Publication No. 2019-071050 Japanese Patent No. 6264492 JP-A-2017-194948 JP-A-2018-175343 JP-A-2019-083746 JP-A-2018-189522
  • estimation (including prediction) tasks such as regression and classification are performed on unknown data of the same type as given training data. Can be executed. Therefore, according to the method using a machine learning model such as a neural network as in Patent Document 1, the appearance inspection of the product can be performed based on the output of the trained estimator.
  • a machine learning model such as a neural network as in Patent Document 1
  • the present inventors have found that the above-mentioned conventional method has the following problems.
  • an image of a product containing defects is collected as training data in advance.
  • Defect detection may be to identify the type of defect. Basically, the more diverse the learning data collected, in other words, the more diverse the situation of defects appearing in the learning data, the more the accuracy of the visual inspection can be improved.
  • the number of types of defects and the types of background including the appearance of the product increases, the number of combinations of types of defects and background types increases, and the number of samples (and the number of samples desired to be collected as learning data) are increased. Type will also increase.
  • the background may also change when operating a trained estimator. In order to generate a trained estimator capable of performing visual inspection with high accuracy, it is desirable to collect samples for all combinations of defect types and background types, but collect samples for all combinations. It costs money. Therefore, for example, samples for all combinations have not been obtained, but for all types of defects to be detected, at the stage when some training data is collected, such as when samples are obtained, the machine of the machine learning model. It is conceivable to carry out learning.
  • the following problems may occur when there are combinations for which samples have not been obtained in the training data. That is, by machine learning, the machine learning model is trained to perform a desired estimation task by utilizing arbitrary information contained in the training data (sample). Therefore, when machine learning of the estimator is performed using the training data including defects and background, the generated trained estimator uses not only the information about the defects contained in the data but also the information about the background. And may have acquired the ability to perform estimation tasks related to defect detection. In such a case, the combination of the defect type and the background type for which the sample is not obtained cannot be reflected in the machine learning, so that the accuracy of estimation regarding the detection of the defect by the trained estimator for the combination is lowered. there is a possibility.
  • the estimator may acquire the ability to identify the type of background rather than the ability to detect defects according to the type.
  • 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, when given an image of the first product containing the second defect, the trained estimator will have the first defect in the first product. It will be erroneously detected as occurring.
  • the trained estimator may be constructed to perform the estimation task related to defect detection, taking into account the background information contained in the image data.
  • the predetermined type of data is, for example, image data, sound data, numerical data, text data, or other measurement data obtained by a sensor.
  • the scene in which the estimation task related to the target feature is performed for a predetermined type of data is, for example, a scene in which the estimation related to the foreground of the image data is performed.
  • the estimation regarding the foreground may be, for example, estimating the attributes of the object reflected in the image data.
  • the background feature may be a feature other than the attribute of the object.
  • the object may be, for example, a product packaging, a license plate, a moving body (for example, a vehicle, a person, etc.) that can move within the photographing range, a driver who drives the vehicle, or the like.
  • the scene in which the estimation task related to the feature of the target is performed for a predetermined type of data is, for example, the scene in which the attribute of the target is estimated from the sensing data obtained by the sensor.
  • the scene of estimating the attribute of the target from the sensing data obtained by the sensor is, for example, the scene of estimating the vehicle condition from the sensing data obtained by the in-vehicle sensor, the health of the target person from the sensing data obtained by the vital sensor or the medical inspection device.
  • Patent Document 2 proposes to recognize a license plate by using a trained neural network.
  • Patent Document 3 proposes to identify characters by using a trained convolutional neural network.
  • Patent Document 4 proposes to estimate the density distribution and the movement vector distribution of a person appearing in a captured image by using a trained neural network.
  • Patent Document 5 proposes to estimate the degree of concentration of a driver on driving from captured images and observation information by using a trained model.
  • Patent Document 6 proposes to recognize the situation around the vehicle from the data obtained by the in-vehicle sensor by using the trained neural network.
  • Patent Document 7 proposes to detect a lesion region from a medical image by using a trained neural network.
  • Patent Document 8 proposes to identify the growth stage of a plant by using a trained neural network.
  • Patent Document 9 proposes a method of diagnosing a sign of equipment failure from measurement data of at least one of voice and vibration by using a trained neural network.
  • the trained estimator is the feature of the object included in the data. It may be constructed to perform the estimation task, taking into account information about other features other than. Therefore, there is a problem that it is difficult to generate a trained estimator that is robust due to the difference in other characteristics.
  • the present invention has been made in view of these circumstances, the object of which is a trained estimator capable of performing an estimation task on the features of an object contained in the data. It is to provide a technique for generating a trained estimator that is robust against differences in features other than features.
  • the present invention adopts the following configuration in order to solve the above-mentioned problems.
  • the model generator is the training data, the first correct answer data indicating the first feature included in the training data, and the second feature included in the training data, wherein the first feature is included.
  • a learning model including a data acquisition unit that acquires a plurality of training data sets each composed of a combination of second correct answer data showing a second feature different from the feature, a encoder, a first estimator, and a second estimator. This is a learning processing unit that performs machine learning, the encoder is configured to convert given input data into feature quantities, and the first estimator is input with the output value of the encoder.
  • the first feature included in the input data is estimated from the feature amount, and the output value of the encoder is input to the second estimator, and the second feature included in the input data is described.
  • the machine learning is configured to estimate from the feature amount, and the estimation result obtained from the second estimator is obtained by giving the training data to the encoder for each training data set.
  • the first training step of training the second estimator so as to match the second correct answer data, the estimation obtained from the second estimator by giving the training data to the encoder for each training data set.
  • the first estimation by giving the training data to the encoder for the second training step for training the encoder and for each training data set so that the result of the above does not match the second correct answer data.
  • the first training step and the second training step include the third training step of training the encoder and the first estimator so that the estimation result obtained from the device conforms to the first correct answer data. It is provided with a learning processing unit which repeatedly executes the above alternately.
  • machine learning of a learning model including a encoder, a first estimator, and a second estimator is performed by three training steps.
  • the second estimator acquires the information contained in the feature quantity obtained by the encoder, that is, the ability to perform the estimation task related to the second feature from the component corresponding to the second feature. To do.
  • the encoder has the ability to convert the input data into a feature amount such that the estimation task regarding the second feature by the second estimator fails depending on the performance of the second estimator. To win.
  • the first training step and the second training step are alternately and repeatedly executed.
  • hostile learning of the encoder and the second estimator is carried out.
  • the feature quantity obtained by the encoder has a component corresponding to the second feature so that the estimation task by the second estimator fails in response to the improvement in the estimation performance of the second estimator.
  • the first estimator is made to acquire the ability to perform the estimation task related to the first feature from the feature amount obtained by the encoder, and the first estimator is appropriate for the estimation task. It is possible to acquire the ability of the encoder to convert the input data into the feature quantity including the component corresponding to the first feature so as to be able to carry out.
  • the feature amount obtained by the trained encoder includes the component corresponding to the first feature and makes it difficult to include the component corresponding to the second feature. Can be done. This makes it difficult for the first estimator to consider the information about the second feature in performing the estimation task for the first feature. Therefore, according to the model generator according to the configuration, it is a trained estimator capable of performing an estimation task related to a target feature, and is a trained estimator robust to differences in features other than the target feature. Can be generated. That is, it is possible to generate a trained encoder and a first estimator capable of robustly performing an estimation task related to the first feature with respect to the difference in the second feature.
  • the encoder, the first estimator, and the second estimator each have arithmetic parameters used for arithmetic and are adjusted by machine learning.
  • the types of such a coder, the first estimator, and the second estimator may not be particularly limited as long as they are machine learning models (machine learning model, learning device), and the embodiments may be used. It may be appropriately selected accordingly.
  • a neural network, a support vector machine, a regression model, or the like may be used for each of the encoder, the first estimator, and the second estimator.
  • the weight of the connection between each neuron, the threshold value of each neuron, and the like are examples of the above calculation parameters.
  • the machine learning method may be appropriately selected according to the type of the model of the encoder, the first estimator, and the second estimator.
  • the processing order of each training step may be arbitrary.
  • the third training step may be repeatedly executed together with the first training step and the second training step.
  • the values of the arithmetic parameters of the encoder and the first estimator can be adjusted by the first training step so as to be acquired. This makes it possible to obtain a trained encoder and a first estimator capable of performing the estimation task related to the first feature with high accuracy.
  • the second training step for each of the training data sets, dummy data corresponding to the second correct answer data is used, and the value is different from the corresponding second correct answer data.
  • the configured dummy data may be acquired.
  • Training the encoder so that the estimation result does not match the second correct answer data means that the estimation result obtained from the second estimator by giving the training data to the encoder is the dummy. It may be configured by training the encoder to fit the data. According to this configuration, the training process of the encoder in the second training step can be simplified, and thereby the cost can be reduced.
  • the dummy data may be composed of the second correct answer data of the learning data set different from the corresponding learning data set. According to this configuration, the amount of calculation for generating dummy data can be suppressed, and thereby the processing cost of the second training step can be reduced.
  • the first feature may be related to the first component to be a predetermined estimation target.
  • the second feature may be a second component different from the first component and may relate to a second component that affects the predetermined estimation of the first component.
  • the model generator according to each of the above aspects may be applied in any situation to generate a trained model that can be used to perform an estimation task relating to the characteristics of an object for a given type of data.
  • the model generation device according to each of the above aspects may be applied to, for example, a scene of generating a trained model for estimating features included in the foreground of image data. Estimating the features included in the foreground may be, for example, estimating the attributes of the object appearing in the image data. In this case, the background feature may be a feature other than the attribute of the object.
  • the model generation device according to each of the above aspects may be applied to, for example, a scene where a trained model for estimating a target attribute is generated from sensing data obtained by a sensor.
  • Estimating the attributes of a target is, for example, estimating the condition of a vehicle, estimating the health condition of a subject, estimating the cultivation condition of a plant, estimating the condition of a machine, or the like.
  • the sensor may be appropriately selected according to each situation.
  • the training data may be image data including a foreground and a background.
  • the first feature may relate to the foreground and the second feature may relate to the background.
  • the foreground and background may be appropriately determined according to the embodiment.
  • the training data may be image data in which an object is captured.
  • the first feature may be an attribute of the object, and the second feature may be a feature other than the attribute of the object.
  • the object may be arbitrarily selected.
  • the object may be, for example, a product, a product packaging, a license plate, a moving body (for example, a vehicle, a person, etc.) that can move within the photographing range, a driver who drives the vehicle, or the like.
  • the object may be a product.
  • the attributes of the object may relate to defects in the product.
  • training that can robustly perform an estimation task related to defect detection for differences in features other than defects (for example, background including product exterior, conveyor sheet, etc.) in the scene of performing visual inspection.
  • a finished encoder and a first estimator can be generated.
  • One aspect of the present invention may be an apparatus that utilizes a trained model generated by the model generator.
  • one aspect of the present invention is to utilize the trained encoder and first estimator generated by the model generator to perform an estimation task on a feature of interest for a given type of data. It may be a configured estimator.
  • This estimation device may be read as an inspection device, an identification device, a monitoring device, a diagnostic device, a prediction device, or the like, depending on the type of estimation task in the application scene.
  • the estimator includes a data acquisition unit that acquires target data, the trained encoder and the first estimator generated by the model generator according to any one of the above aspects. It includes an estimation unit that estimates the first feature included in the acquired target data, and an output unit that outputs information about the result of estimating the first feature. According to this configuration, it is possible to robustly perform the estimation task related to the first feature for the difference in the second feature.
  • the target data may be referred to as a "target sample”, simply a "sample”, or the like.
  • one aspect of the present invention may be 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. Here, 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. Further, one aspect of the present invention may be an estimation system composed of a model generation device and an estimation device according to any one of the above forms.
  • the computer uses training data, first correct answer data indicating the first feature included in the training data, and second feature included in the training data.
  • the encoder is configured to convert given input data into feature quantities, and the first estimator is input with the output value of the encoder.
  • the first feature included in the input data is estimated from the feature amount, and the output value of the encoder is input to the second estimator, and the second feature included in the input data is the feature.
  • the machine learning is configured to estimate from the quantity, and for each of the training data sets, the estimation result obtained from the second estimator by giving the training data to the encoder is the first.
  • First training step to train the second estimator so as to match the correct answer data, for each training data set, the estimation obtained from the second estimator by giving the training data to the encoder.
  • the first estimator by giving the training data to the encoder for the second training step of training the encoder and for each training data set so that the result does not match the second correct answer data.
  • the first training step and the second training step include the third training step of training the encoder and the first estimator so that the estimation result obtained from the above conforms to the first correct answer data. It is an information processing method that executes steps and steps alternately and repeatedly.
  • the model generation program is the training data, the first correct answer data indicating the first feature included in the training data, and the second feature included in the training data. Then, a step of acquiring a plurality of training data sets each composed of a combination of second correct answer data showing a second feature different from the first feature, and a encoder, a first estimator, and a second estimator are provided.
  • the encoder is configured to convert given input data into feature quantities, and the first estimator inputs the output value of the encoder.
  • the first feature included in the input data is estimated from the feature amount, and the output value of the encoder is input to the second estimator, and the second feature included in the input data is input.
  • the machine learning is configured to estimate from the feature amount, and for each of the training data sets, the estimation result obtained from the second estimator by giving the training data to the encoder is obtained.
  • the first training step of training the second estimator so as to match the second correct answer data, for each training data set, obtained from the second estimator by giving the training data to the encoder.
  • the first training step for training the encoder and the training data for each training data set are given to the encoder so that the estimation result does not match the second correct answer data.
  • the first training step and the second training include the third training step of training the encoder and the first estimator so that the estimation result obtained from the estimator matches the first correct answer data. It is a program for executing steps and steps that execute steps alternately and repeatedly.
  • a trained estimator capable of performing an estimation task related to a feature of an object contained in data, and a trained estimator robust to differences in features other than the feature of the object is generated. be able to.
  • FIG. 1 schematically illustrates an example of a situation in which the present invention is applied.
  • FIG. 2 schematically illustrates an example of the hardware configuration of the model generator according to the embodiment.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the estimation device according to the embodiment.
  • FIG. 4 schematically illustrates an example of the software configuration of the model generator according to the embodiment.
  • FIG. 5 schematically illustrates an example of the processing process of machine learning by the model generator according to the embodiment.
  • FIG. 6 schematically illustrates an example of the software configuration of the estimation device according to the embodiment.
  • FIG. 7 illustrates an example of the processing procedure of the model generator according to the embodiment.
  • FIG. 8 illustrates an example of the machine learning processing procedure of the model generator according to the embodiment.
  • FIG. 1 schematically illustrates an example of a situation in which the present invention is applied.
  • FIG. 2 schematically illustrates an example of the hardware configuration of the estimation device according to the embodiment.
  • FIG. 4 schematically illustrates an example of the software configuration of the
  • FIG. 9 illustrates an example of the processing procedure of the estimation device according to the embodiment.
  • FIG. 10 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 11A schematically illustrates an example of the hardware configuration of the inspection device according to another form.
  • FIG. 11B schematically illustrates an example of the software configuration of the inspection device according to another form.
  • FIG. 12 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 13 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 14 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 15 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 16 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 17A schematically illustrates an example of the hardware configuration of the monitoring device according to another form.
  • FIG. 17B schematically illustrates an example of the software configuration of the monitoring device according to another form.
  • FIG. 18 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 19A schematically illustrates an example of the hardware configuration of the diagnostic apparatus according to another form.
  • FIG. 19B schematically illustrates an example of the software configuration of the diagnostic apparatus according to another form.
  • FIG. 20 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 21A schematically illustrates an example of the hardware configuration of the monitoring device according to another form.
  • FIG. 21B schematically illustrates an example of the software configuration of the monitoring device according to another form.
  • FIG. 22 schematically illustrates an example of another situation to which the present invention is applied.
  • 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 are described in natural language, but more specifically, the data is specified in a pseudo language, commands, parameters, machine language, etc. that can be recognized by a computer.
  • FIG. 1 schematically illustrates an example of a scene in which the present invention is applied.
  • the estimation system 100 includes a model generation device 1 and an estimation device 2.
  • the model generation device 1 is a computer configured to perform machine learning of the learning model 5. Specifically, the model generation device 1 according to the present embodiment acquires a plurality of learning data sets 120. Each training data set 120 is a second feature included in the training data 121, the first correct answer data 122 indicating the first feature included in the training data 121, and the training data 121, and is different from the first feature. It is composed of a combination of the second correct answer data 123 showing the characteristics.
  • the training data 121 is a sample of a predetermined type of data.
  • the predetermined type of data is data that can exhibit some characteristics, the type of data may not be particularly limited 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, measurement 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, an image sensor (camera), an infrared sensor, a sound sensor (microphone), an ultrasonic sensor, an optical sensor, a pressure sensor, a pressure sensor, a temperature sensor, or the like.
  • the senor may be, for example, an environment sensor, a vital sensor, a medical inspection device, an in-vehicle sensor, a home security sensor, or the like.
  • the environmental sensor may be, for example, a barometer, a thermometer, a hygrometer, a sound pressure sensor, a sound sensor, an ultraviolet sensor, an illuminance meter, a rain gauge, a gas sensor, or the like.
  • Vital sensors include, for example, sphygmomanometer, pulse rate monitor, heart rate monitor, electrocardiograph, electromyogram, thermometer, skin electroreactivity meter, microwave sensor, electroencephalograph, electroencephalograph, activity meter, blood glucose meter, eye. It may be a potential sensor, an eye movement measuring instrument, or the like.
  • the medical examination device may be, for example, a CT (Computed Tomography) device, an MRI (Magnetic Resonance Imaging) device, or the like.
  • the vehicle-mounted sensor may be, for example, an image sensor, a lidar (light detection and ranging) sensor, a millimeter-wave radar, an ultrasonic sensor, an acceleration sensor, or the like.
  • Home security sensors include, for example, image sensors, infrared sensors, activity (voice) sensors, gas (CO 2 etc.) sensors, current sensors, smart meters (sensors that measure power consumption of home appliances, lighting, etc.). It's okay.
  • 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.
  • the first feature may be selected according to the estimation task to be learned by the machine learning model.
  • the second feature may be selected from the features that may appear directly or indirectly in the data and are not selected as the target of the estimation task.
  • the first feature may relate to a first component that is the subject of a given estimation in a given type of data, such as, for example, a foreground (eg, a defective portion) in the image data.
  • the second feature is a second component different from the first component, and is a second component that can affect a predetermined estimation of the first component, such as a background in image data. It may be about.
  • the accuracy of a predetermined estimation of the first component by the trained model may be worse for the target data including an unknown combination of the first component and the second component as compared with the target data including the combination of the first component and the second component.
  • a trained model is generated by machine learning using training data showing product defects and background.
  • the combination of the first defect and the first background and the combination of the second defect and the second background appear, whereas the combination of the first defect and the second background appears.
  • the combination of the second defect and the first background does not appear.
  • the defect and background are compared with the image data including the combination of defects and backgrounds (first defect, first background) or (second defect, second background) appearing in the training data used for machine learning.
  • the first correct answer data 122 shows the correct answer of the estimation task related to the first feature.
  • the second correct answer data 123 indicates the correct answer of the estimation task regarding the second feature.
  • Each correct answer data (122, 123) may be read as "teacher signal”, “label” and the like.
  • Estimating each feature means, for example, deriving discrete values (eg, classes corresponding to specific features) by grouping (classification, identification), and continuous values (eg, specific features appear) by regression. It may be one of deriving (probability of being).
  • Estimating each feature may include performing some certification, such as detection or determination, based on the results of the grouping or regression.
  • estimating each feature may include making predictions.
  • the model generation device 1 uses the acquired plurality of learning data sets 120 to perform machine learning of the learning model 5.
  • the learning model 5 includes a encoder 51, a first estimator 52, and a second estimator 53.
  • the encoder 51 converts the given input data into a feature amount, in other words, receives the input of the input data and outputs an output value corresponding to the result of converting the input input data into the feature amount. It is composed.
  • the first estimator 52 is configured such that the output value (that is, the feature amount) of the encoder 51 is input and the first feature included in the input data is estimated from the feature amount.
  • the second estimator 53 is configured so that the output value of the encoder 51 is input and the second feature included in the input data is estimated from the feature amount.
  • the data format of the feature amount does not have to be particularly limited, and may be appropriately selected according to the embodiment.
  • the format of the output value of each estimator (52, 53) does not have to be particularly limited, and may be appropriately selected according to the format of the estimation task for each feature.
  • the encoder 51, the first estimator 52, and the second estimator 53 are configured by a machine learning model including arithmetic parameters.
  • the type of the machine learning model that constitutes each of the encoder 51, the first estimator 52, and the second estimator 53 does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
  • a neural network is used for the machine learning model that constitutes each of the encoder 51, the first estimator 52, and the second estimator 53. Details will be described later.
  • Implementing machine learning according to this embodiment includes the first to third training steps.
  • the model generator 1 according to the present embodiment obtains the estimation result of the second feature obtained from the second estimator 53 by giving the training data 121 to the encoder 51 for each training data set 120.
  • the second estimator 53 is trained to fit the second correct answer data 123.
  • the model generator 1 according to the present embodiment obtains the estimation result of the second feature obtained from the second estimator 53 by giving the training data 121 to the encoder 51 for each training data set 120.
  • the encoder 51 is trained so as not to conform to the second correct answer data 123.
  • the encoder 51 is trained to convert the training data 121 into a feature amount that reduces the estimation performance of the second estimator 53.
  • the model generator 1 obtains the estimation result of the first feature obtained from the first estimator 52 by giving the training data 121 to the encoder 51 for each training data set 120.
  • the encoder 51 and the first estimator 52 are trained to fit the first correct answer data 122.
  • the model generator 1 according to the present embodiment alternately and repeatedly executes the first training step and the second training step. Thereby, the model generator 1 according to the present embodiment can generate a trained encoder 51 and a first estimator 52 that can be used to perform an estimation task related to the first feature.
  • the model generation device 1 according to the present embodiment may be simply read as a "generation device", a "learning device”, or the like. "Trained” may be read as "learned.”
  • the estimation device 2 uses the trained encoder 51 and the first estimator 52 generated by the model generation device 1 to perform an estimation task related to the first feature for a predetermined type of data.
  • a computer configured to perform.
  • the estimation device 2 according to the present embodiment acquires target data to be the target of the estimation task.
  • the estimation device 2 according to the present embodiment uses the trained encoder 51 and the first estimator 52 generated by the model generation device 1 to estimate the first feature included in the acquired target data.
  • the estimation device 2 according to the present embodiment outputs information regarding the result of estimating the first feature.
  • the second estimator 53 performs an estimation task related to the second feature from the components corresponding to the second feature included in the feature amount obtained by the encoder 51. Trained to acquire the ability to carry out.
  • the encoder 51 inputs data (input data) to a feature amount such that the estimation task related to the second feature by the second estimator 53 fails according to the estimation performance of the second estimator 53. Trained to acquire the ability to transform training data 121).
  • hostile learning of the encoder 51 and the second estimator 53 is performed by alternately and repeatedly executing the first training step and the second training step.
  • the feature quantity obtained by the encoder 51 corresponds to the second feature so that the estimation task by the second estimator 53 fails in response to the improvement in the estimation performance of the second estimator 53. It is possible to make it difficult for the components to be contained.
  • the first estimator 52 is trained to acquire the ability to perform the estimation task related to the first feature from the feature amount obtained by the encoder 51.
  • the encoder 51 converts the input data (training data 121) into a feature amount including a component corresponding to the first feature so that the first estimator 52 can appropriately perform the estimation task related to the first feature. Trained to acquire the ability to do.
  • the feature amount obtained by the trained encoder 51 is unlikely to include the component corresponding to the first feature and the component corresponding to the second feature. can do. This makes it difficult for the first estimator 52 to consider the information about the second feature in performing the estimation task for the first feature. Therefore, according to the model generator 1 according to the present embodiment, the trained encoder 51 and the first estimator 52 capable of robustly performing the estimation task related to the first feature for the difference in the second feature are generated. be able to.
  • the model generation device 1 and the estimation device 2 are 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 model generation device 1 and the estimation device 2 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 model generation device 1 and the estimation device 2 using a storage medium.
  • the model generation device 1 and the estimation device 2 are each configured by a separate computer.
  • the configuration of the estimation system 100 according to the present embodiment does not have to be limited to such an example, and may be appropriately determined according to the embodiment.
  • the model generation device 1 and the estimation device 2 may be an integrated computer.
  • at least one of the model generation device 1 and the estimation device 2 may be composed of a plurality of computers.
  • FIG. 2 schematically illustrates an example of the hardware configuration of the model generation 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 that has been used.
  • 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 model generation program 81, the plurality of learning data sets 120, and the learning result data 125.
  • the model generation program 81 is a program for causing the model generation device 1 to execute information processing (FIGS. 7 and 8) described later regarding machine learning of the learning model 5.
  • the model generation program 81 includes a series of instructions for the information processing.
  • the model generation program 81 may be simply referred to as a "generation program", a "learning program”, or the like.
  • the plurality of training data sets 120 are used for machine learning of the training model 5.
  • the training result data 125 shows information about the trained encoder 51 and the first estimator 52 generated by machine learning. In the present embodiment, the learning result data 125 is generated as a result of executing the model generation program 81. 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 model generation device 1 can perform data communication via a network with another information processing device (for example, an estimation device 2).
  • 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 the external interfaces 14 may be appropriately selected according to the type and number of connected external devices.
  • the model generator 1 may be connected to a sensor for obtaining training data 121 via an 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 model generation 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 model generation program 81 and the plurality of training data sets 120 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 model generation device 1 may acquire at least one of the model generation program 81 and the plurality of training data sets 120 from the storage medium 91.
  • FIG. 2 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 disc type, and may be other than the disc 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 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 model generator 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 model generation 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. 3 schematically illustrates an example of the hardware configuration of the estimation 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.
  • the communication interface and the external interface are described as "communication I / F" and "external I / F" as in FIG.
  • the control units 21 to drive 27 of the estimation device 2 may be configured in the same manner as the control units 11 to drive 17 of the model generation device 1, respectively. That is, 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 estimation program 82 and the learning result data 125.
  • the estimation program 82 uses the trained encoder 51 and the first estimator 52 to perform information processing (FIG. 9), which will be described later, to perform an estimation task related to the first feature for a predetermined type of data. It is a program to be executed by.
  • the estimation program 82 includes a series of instructions for the information processing. Details will be described later.
  • the communication interface 23 is, for example, a wired LAN module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network.
  • the estimation device 2 can perform data communication via the network with another information processing device (for example, the model generation device 1).
  • the external interface 24 is, for example, a USB port, a dedicated port, or the like, and is an interface for connecting to an external device.
  • the type and number of the external interfaces 24 may be appropriately selected according to the type and number of connected external devices.
  • the estimation device 2 may be connected to a sensor for acquiring target data via an external interface 14.
  • the input device 25 is, for example, a device for inputting a mouse, a keyboard, or the like.
  • the output device 26 is, for example, a device for outputting a display, a speaker, or the like. An operator such as a user can operate the estimation device 2 by using the input device 25 and the output device 26.
  • the drive 27 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 92.
  • the type of the storage medium 92 may be any of a disc type and a disc type other than the disc type.
  • the type of the drive 27 may be appropriately selected according to the type of the storage medium 92.
  • At least one of the estimation program 82 and the learning result data 125 may be stored in the storage medium 92. Further, the estimation device 2 may acquire at least one of the estimation program 82 and the learning result data 125 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 estimation 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 estimation 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. 4 schematically illustrates an example of the software configuration of the model generator 1 according to the present embodiment.
  • FIG. 5 schematically illustrates an example of the machine learning processing process by the model generation device 1 according to the present embodiment.
  • the control unit 11 of the model generation device 1 expands the model generation 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 model generation program 81 expanded in the RAM by the CPU.
  • the model generation device 1 operates as a computer including a data acquisition unit 111, a learning processing unit 112, and a storage processing unit 113 as software modules. That is, in the present embodiment, each software module of the model generation device 1 is realized by the control unit 11 (CPU).
  • the data acquisition unit 111 is a second feature different from the first feature, which is the training data 121, the first correct answer data 122 indicating the first feature included in the training data 121, and the second feature included in the training data 121.
  • a plurality of training data sets 120 each composed of a combination of the second correct answer data 123 indicating the above are acquired.
  • the learning processing unit 112 uses the acquired plurality of learning data sets 120 to perform machine learning of the learning model 5.
  • the learning model 5 includes a encoder 51, a first estimator 52, and a second estimator 53.
  • the encoder 51 is arranged on the input side.
  • the encoder 51 is configured to output an output value corresponding to a feature amount obtained by converting the input data with respect to the input of a predetermined type of data.
  • the first estimator 52 and the second estimator 53 are arranged in parallel on the output side.
  • the output of the encoder 51 is connected to the input of each estimator (52, 53).
  • the output value of the encoder 51 that is, the feature amount obtained by converting the input data is input to each estimator (52, 53).
  • the first estimator 52 is configured to output an output value corresponding to the result of estimating the first feature included in the input data from the input feature amount with respect to the input of the feature amount.
  • the second estimator 53 is configured to output an output value corresponding to the result of estimating the second feature included in the input data from the input feature amount with respect to the input of the feature amount.
  • the machine learning according to the present embodiment includes the first to third training steps.
  • the learning processing unit 112 gives the training data 121 to the encoder 51 for each training data set 120, and the estimation result of the second feature obtained from the second estimator 53 is the second correct answer data 123.
  • the second estimator 53 is trained to conform to.
  • the learning processing unit 112 gives the training data 121 to the encoder 51 for each training data set 120, and the estimation result of the second feature obtained from the second estimator 53 is the second correct answer data 123.
  • the encoder 51 is trained so that it does not conform to.
  • the learning processing unit 112 alternately and repeatedly executes the first training step and the second training step.
  • the learning processing unit 112 gives the training data 121 to the encoder 51 for each training data set 120, so that the estimation result of the first feature obtained from the first estimator 52 is the first correct answer data 122.
  • the encoder 51 and the first estimator 52 are trained to conform to.
  • the method of training the encoder 51 so that the estimation result does not match the second correct answer data 123 does not have to be particularly limited, and may be appropriately determined according to the embodiment.
  • the learning processing unit 112 provides dummy data 129 corresponding to the second correct answer data 123, which is different from the corresponding second correct answer data 123, for each learning data set 120. You may get it.
  • training the encoder 51 so that the estimation result does not match the second correct answer data 123 is to estimate the second feature obtained from the second estimator 53 by giving the training data 121 to the encoder 51. It may be configured by training the results to fit dummy data 129.
  • a trained learning model 5 is generated.
  • the storage processing unit 113 generates information about the trained encoder 51 and the first estimator 52 as learning result data 125. Then, the storage processing unit 113 stores the generated learning result data 125 in a predetermined storage area.
  • the handling of the trained second estimator 53 may be arbitrary.
  • the training result data 125 may or may not include information about the trained second estimator 53.
  • the encoder 51, the first estimator 52, and the second estimator 53 are each composed of a multi-layered fully connected neural network.
  • the encoder 51, the first estimator 52 and the second estimator 53 are the input layer (511, 521, 513), the intermediate (hidden) layer (512, 522, 532), and the output layer (513, 523, 533, respectively). ) Is provided.
  • the structures of the encoder 51, the first estimator 52, and the second estimator 53 are not limited to such an example, and may be appropriately determined according to the embodiment.
  • the number of intermediate layers (512, 522, 532) is not limited to one, and may be two or more. Alternatively, the intermediate layer (512, 522, 532) 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 may or may not be at least partially matched.
  • the neural networks of the encoder 51, the first estimator 52, and the second estimator 53 are separated, but the encoder 51, the first estimator 52, and the second estimator 53 have different neural networks. At least one combination may be configured by an integral neural network.
  • Each layer (511 to 513, 521 to 523, 513 to 533) has one or more neurons (nodes).
  • the number of neurons (nodes) included in each layer (511 to 513, 521 to 523, 513 to 533) is not particularly limited and may be appropriately selected depending on the embodiment.
  • Neurons in adjacent layers are appropriately connected. In the example of FIG. 4, 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.
  • 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 are calculated by the arithmetic processing of the encoder 51, the first estimator 52, and the second estimator 53, respectively. This is an example of the arithmetic parameters used in.
  • the values of the calculation parameters of the encoder 51, the first estimator 52, and the second estimator 53 are adjusted by each training step of the machine learning. Specifically, in the first training step, the learning processing unit 112 inputs the training data 121 to the input layer 511 of the encoder 51 for each training data set 120, and outputs an output value corresponding to the estimation result of the second feature. Obtained from the output layer 533 of the second estimator 53. The learning processing unit 112 fixes the value of the calculation parameter of the encoder 51, and then sets the value of the calculation parameter of the second estimator 53 so that the error between the acquired output value and the second correct answer data 123 becomes small. To adjust.
  • the learning processing unit 112 inputs the training data 121 to the input layer 511 of the encoder 51 for each learning data set 120, and outputs the output value corresponding to the estimation result of the second feature in the second estimator. Obtained from the output layer 533 of 53.
  • the learning processing unit 112 fixes the value of the calculation parameter of the second estimator 53, and then sets the value of the calculation parameter of the encoder 51 so that the error between the acquired output value and the second correct answer data 123 becomes large. To adjust.
  • the learning processing unit 112 adjusts the value of the calculation parameter of the encoder 51 so that the error between the acquired output value and the dummy data 129 becomes small.
  • the learning processing unit 112 inputs the training data 121 to the input layer 511 of the encoder 51 for each learning data set 120, and outputs the output value corresponding to the estimation result of the first feature in the first estimator. Obtained from 52 output layers 523.
  • the learning processing unit 112 adjusts the values of the calculation parameters of the encoder 51 and the first estimator 52 so that the error between the acquired output value and the first correct answer data 122 becomes small.
  • the storage processing unit 113 generates information indicating the values of the structures and calculation parameters of the trained encoder 51 and the first estimator 52 constructed by the above machine learning as the learning result data 125.
  • the structure may be specified, for example, by the number of layers from the input layer to the output layer in the neural network, the type of each layer, the number of neurons included in each layer, the connection relationship between neurons in adjacent layers, and the like. When the structure of the model is standardized in the system, the information about this structure may be omitted from the training result data 125.
  • the storage processing unit 113 stores the generated learning result data 125 in a predetermined storage area.
  • FIG. 6 schematically illustrates an example of the software configuration of the estimation device 2 according to the present embodiment.
  • the control unit 21 of the estimation device 2 expands the estimation 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 estimation program 82 expanded in the RAM by the CPU. As a result, as shown in FIG. 6, the estimation device 2 according to the present embodiment operates as a computer including the data acquisition unit 211, the estimation unit 212, and the output unit 213 as software modules. That is, in the present embodiment, each software module of the estimation device 2 is realized by the control unit 21 (CPU) in the same manner as the model generation device 1.
  • the data acquisition unit 211 acquires the target data 221 to be the execution target of the estimation task.
  • the estimation unit 212 includes a trained encoder 51 and a first estimator 52 generated by the model generator 1 by holding the learning result data 125.
  • the estimation unit 212 uses the trained encoder 51 and the first estimator 52 to estimate the first feature included in the acquired target data 221.
  • the output unit 213 outputs information regarding the result of estimating the first feature.
  • each software module of the model generation device 1 and the estimation device 2 will be described in detail in an operation example described later.
  • an example in which each software module of the model generation device 1 and the estimation device 2 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. 7 is a flowchart showing an example of the processing procedure of the model generation device 1 according to the present embodiment.
  • the processing procedure described below is an example of the "model generation method" of the present invention. However, the processing procedure described below is only an example, and each step 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.
  • Step S101 the control unit 11 operates as the data acquisition unit 111 to acquire a plurality of learning data sets 120.
  • each learning data set 120 is composed of a combination of training data 121, first correct answer data 122, and second correct answer data 123.
  • Each learning data set 120 may be generated as appropriate.
  • a sample of a predetermined type of data including the first feature and the second feature can be acquired as training data 121.
  • the method of obtaining the sample may be appropriately selected.
  • the training data 121 may be acquired by observing the target with a sensor under various conditions. The observation target may be selected according to the estimation task to be acquired by the learning model 5. Then, the information indicating the result (correct answer) of estimating the first feature and the second feature included in the acquired training data 121 is used as the first correct answer data 122 and the second correct answer data 123 in the acquired training data 121.
  • the estimation method for each feature may be arbitrarily selected. For example, the estimation of each feature may be performed by the operator. As a result, each training data set 120 can be generated.
  • Each learning data set 120 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 learning data set 120 may be generated by the model generation device 1 or by a computer other than the model generation 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 generation processes. Acquire the training data set 120.
  • the control unit 11 acquires a plurality of learning data sets 120 generated by the other computer via, for example, a network, a storage medium 91, or the like.
  • Some training data sets 120 may be generated by the model generator 1 and other training data sets 120 may be generated by one or more other computers.
  • the number of learning data sets 120 to be acquired may be arbitrarily selected.
  • the control unit 11 proceeds to the next step S102.
  • step S102 the control unit 11 operates as the learning processing unit 112, and uses the acquired plurality of learning data sets 120 to perform machine learning of the learning model 5.
  • FIG. 8 is a flowchart showing an example of the processing procedure of the subroutine related to machine learning in step S102 in the learning model 5 according to the present embodiment.
  • the process of step S102 according to the present embodiment includes the following processes of steps S121 to S124.
  • 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 neural network constituting the encoder 51, the first estimator 52, and the second estimator 53 to be processed by machine learning may be appropriately prepared. Structures of each of the prepared coders 51, first estimator 52, and second estimator 53 (for example, the number of layers, the number of neurons contained in each layer, the connection relationship between neurons in adjacent layers, etc.), between each neuron
  • the initial value of the connection weight of and the initial value of the threshold value of each neuron may be given by the template or by the input of the operator.
  • the control unit 11 uses the encoder 51, the first estimator 52, and the second estimator 53, respectively, based on the learning result data obtained by performing the past machine learning. You may prepare it.
  • Step S121 the control unit 11 gives the training data 121 to the encoder 51 for each learning data set 120, so that the estimation result of the second feature obtained from the second estimator 53 matches the second correct answer data 123. As such, the second estimator 53 is trained.
  • Step S121 is an example of the first training step. 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 the training process in step S122 and step S123, which will be described later.
  • the control unit 11 gives training data 121 to the encoder 51 for each learning data set 120, and executes arithmetic processing of the encoder 51.
  • the control unit 11 inputs the training data 121 to the input layer 511 of the encoder 51, and determines the firing of each neuron included in each layer 511 to 513 in order from the input side (that is, performs a forward propagation calculation). ).
  • the control unit 11 acquires an output value corresponding to the feature amount obtained by converting the training data 121 from the output layer 513 of the encoder 51.
  • control unit 11 inputs the acquired feature amount to the input layer 531 of the second estimator 53, and determines the firing of each neuron included in each layer 531 to 533 in order from the input side. Based on this calculation result, the control unit 11 acquires an output value corresponding to the result of estimating the second feature included in the training data 121 from the feature amount from the output layer 533 of the second estimator 53.
  • the control unit 11 calculates the error between the output value obtained from the output layer 533 of the second estimator 53 and the second correct answer data 123 by the above arithmetic processing for each learning data set 120.
  • a loss function may be used to calculate the 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.
  • a known loss function such as a mean square error or a cross entropy error may be used.
  • 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 second estimator 53 (weight of connection between each neuron, 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 second estimator 53 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 encoder 51, and then sets the value of each calculation parameter of the second estimator 53 so that the sum of the errors calculated by the series of update processes becomes small. To adjust. For example, the control unit 11 may repeat the adjustment of the value of each calculation parameter by the above series of processes until a predetermined condition such as execution is performed a predetermined number of times or the sum of the calculated errors becomes equal to or less than the threshold value. As a result, the control unit 11 gives the training data 121 to the encoder 51 for each learning data set 120 so that the estimation result of the second feature obtained from the second estimator 53 matches the second correct answer data 123. In addition, the second estimator 53 can be trained. When the training process of the second estimator 53 is completed, the control unit 11 proceeds to the next step S122.
  • Step S122 the control unit 11 gives the training data 121 to the encoder 51 for each learning data set 120, so that the estimation result of the second feature obtained from the second estimator 53 matches the second correct answer data 123. Train the encoder 51 so that it disappears.
  • Step S122 is an example of the second training step.
  • dummy data 129 composed of values different from the corresponding second correct answer data 123 can be used.
  • the control unit 11 assigns the training data 121 to the encoder 51 so that the estimation result of the second feature obtained from the second estimator 53 matches the dummy data 129.
  • the vessel 51 may be trained.
  • Dummy data 129 may be appropriately acquired corresponding to the second correct answer data 123 of each learning data set 120.
  • the dummy data 129 may be composed of the second correct answer data 123 of another learning data set 120 different from the corresponding learning data set 120. That is, the control unit 11 selects a learning data set 120 other than the target learning data set 120 for acquiring the dummy data 129, and learns the second correct answer data 123 of the selected other learning data set 120 as the target. It may be used as dummy data 129 of the data set 120.
  • the method of selecting the other learning data set 120 does not have to be particularly limited, and may be appropriately determined according to the embodiment.
  • the other training data set 120 may be selected from the plurality of training data sets 120 by a mechanical method such as random. Further, for example, by shifting the correspondence relationship of the second correct answer data 123 with respect to the training data 121 of each training data set 120 in an arbitrary direction, the 120th of the other training data sets assigned to the target training data set 120 can be used.
  • 2 Correct answer data 123 may be used as dummy data 129.
  • one training data set 120 is selected from a plurality of training data sets 120 by an arbitrary method, and the second correct answer data 123 of the selected training data set 120 is used as dummy data of all the training data sets 120. It may be used as 129. According to this method, the amount of calculation for generating dummy data 129 can be suppressed, and the processing cost in this step S122 can be reduced.
  • the method for generating the dummy data 129 does not have to be limited to such an example, and may be appropriately determined according to the embodiment.
  • the control unit 11 may generate dummy data 129 by inverting the value of the second correct answer data 123. Further, for example, the control unit 11 generates and generates data composed of values obtained by a mechanical method such as random numbers (for example, random numbers) so as to be different from the values of the second correct answer data 123. The obtained data may be acquired as dummy data 129.
  • the plurality of learning data sets 120 there may be a learning data set 120 in which the dummy data 129 and the second correct answer data 123 match. In this case, the learning data set 120 may be used as it is for training, or the dummy data 129 of the learning data set 120 may be appropriately changed.
  • the training process using the dummy data 129 can be carried out as follows, for example.
  • the control unit 11 executes the forward propagation arithmetic processing of the encoder 51 and the second estimator 53 for each learning data set 120 in the same manner as in step S121.
  • the control unit 11 acquires an output value corresponding to the result of estimating the second feature included in the training data 121 from the feature amount from the output layer 533 of the second estimator 53.
  • the control unit 11 calculates an error between the output value obtained from the output layer 533 of the second estimator 53 and the dummy data 129 by the above arithmetic processing for each learning data set 120.
  • the same loss function as in step S121 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 operation parameter of the encoder 51 via the second estimator 53, and each operation parameter of the encoder 51. Calculate the error of the value of. Then, the control unit 11 updates the value of each calculation parameter of the encoder 51 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 control unit 11 fixes the value of each calculation parameter of the second estimator 53, and then sets the value of each calculation parameter of the encoder 51 so that the sum of the errors calculated by the above series of update processing becomes small. To adjust. Similar to step S121, the control unit 11 may repeat the adjustment of the value of each calculation parameter of the encoder 51 by the above series of processes until a predetermined condition is satisfied. As a result, the control unit 11 gives the training data 121 to the encoder 51 for each learning data set 120, so that the estimation result of the second feature obtained from the second estimator 53 does not match the second correct answer data 123. As such, the encoder 51 can be trained. When the training process of the encoder 51 is completed, the control unit 11 proceeds to the next step S123.
  • the method of training the encoder 51 so that the estimation result of the second feature obtained from the second estimator 53 does not match the second correct answer data 123 is not limited to the method of using the dummy data 129. May be good.
  • the control unit 11 may calculate an error between the output value obtained from the output layer 533 of the second estimator 53 and the second correct answer data 123 for each learning data set 120.
  • the control unit 11 may calculate the gradient of the error in the direction in which the calculated error increases, and backpropagate the calculated gradient to the input layer 511 of the encoder 51 by the error back propagation method. In this process, the control unit 11 may calculate an error in the value of each calculation parameter of the encoder 51.
  • control unit 11 may update the value of each calculation parameter of the encoder 51 based on each calculated error. Also in this method, the control unit 11 applies the training data 121 to the encoder 51 for each learning data set 120, so that the estimation result of the second feature obtained from the second estimator 53 matches the second correct answer data 123.
  • the encoder 51 can be trained so that it does not.
  • Step S123 the control unit 11 gives the training data 121 to the encoder 51 for each learning data set 120, so that the estimation result of the first feature obtained from the first estimator 52 matches the first correct answer data 122. As such, the encoder 51 and the first estimator 52 are trained. Step S123 is an example of the third training step.
  • the control unit 11 inputs the training data 121 to the input layer 511 of the encoder 51 for each learning data set 120, and fires each neuron included in each layer 511 to 513 in order from the input side. Make a judgment.
  • the control unit 11 acquires an output value corresponding to the feature amount obtained by converting the training data 121 from the output layer 513 of the encoder 51.
  • the control unit 11 inputs the acquired feature amount to the input layer 521 of the first estimator 52, and determines the firing of each neuron included in each layer 521 to 523 in order from the input side. Based on this calculation result, the control unit 11 acquires an output value corresponding to the result of estimating the first feature included in the training data 121 from the feature amount from the output layer 523 of the first estimator 52.
  • the control unit 11 calculates the error between the output value obtained from the output layer 523 of the first estimator 52 and the first correct answer data 122 by the above arithmetic processing for each learning data set 120. Any 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 encoder 51 and the first estimator 52 by using the gradient of the error of the output value calculated by the error back propagation method.
  • the control unit 11 updates the values of the calculation parameters of the encoder 51 and the first estimator 52 based on the calculated errors. 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 values of each calculation parameter of the encoder 51 and the first estimator 52 so that the sum of the calculated errors becomes smaller by the series of update processes. Similar to step S121 and the like, the control unit 11 may repeatedly adjust the values of the calculation parameters of the encoder 51 and the first estimator 52 by the above series of processes until a predetermined condition is satisfied. As a result, the control unit 11 gives the training data 121 to the encoder 51 for each learning data set 120 so that the estimation result of the first feature obtained from the first estimator 52 matches the first correct answer data 122. In addition, the encoder 51 and the first estimator 52 can be trained. When the training process of the encoder 51 and the first estimator 52 is completed, the control unit 11 proceeds to the next step S124.
  • Step S124 the control unit 11 determines whether or not to repeat the processes of steps S121 to S123.
  • the control unit 11 may determine whether or not to repeat the process according to a predetermined criterion.
  • the predetermined standard 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 designation of the operator, or may be given as a set value in the program. In this case, the control unit 11 determines whether or not the number of times the processes of steps S121 to S123 have been executed has reached the specified number of times.
  • step S121 and step S122 are alternately and repeatedly executed. Further, in the present embodiment, since step S123 is also included in the loop, step S123 is also repeatedly executed together with step S121 and step S122. 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 learning model 5, and proceeds to the next step S103.
  • step S123 may be executed in parallel with step S122.
  • the arithmetic processing of the encoder 51 may be commonly executed for the forward propagation arithmetic of steps S122 and S123.
  • step S121 and step S122 may be executed after the processing of step S123 is executed.
  • the processing order of steps S121 and S122 may be interchanged.
  • control unit 11 may execute the training of at least the encoder 51 in the step S123 before the training of the step S121 and the step S122 is alternately and repeatedly executed. In this case, the control unit 11 alternately repeats the training of step S121 and step S122 as described above, or after repeating the training of step S121 and step S122 alternately, at least the first estimation of step S123. Training of the vessel 52 may be performed. Further, the control unit 11 has a second feature obtained from the second estimator 53 by feeding the training data 121 to the encoder 51 for each training data set 120 as pre-training before executing each of the above trainings. Training of at least the encoder 51 of the encoder 51 and the second estimator 53 may be performed so that the estimation result matches the second correct answer data 123.
  • Step S103 the control unit 11 operates as the storage processing unit 113, and shows the structural and arithmetic parameter values of the trained encoder 51 and the first estimator 52 constructed by machine learning. Information is generated as learning result data 125. Then, the control unit 11 stores the generated learning result data 125 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 learning result data 125 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).
  • the control unit 11 may store the learning result data 125 in the data server via the network by using the communication interface 13.
  • the external storage device may be, for example, an external storage device connected to the model generation device 1 via the external interface 14.
  • the generated learning result data 125 may be provided to the estimation device 2 at an arbitrary timing.
  • the control unit 11 may transfer the learning result data 125 as the process of step S103 or separately from the process of step S103.
  • the estimation device 2 may acquire the learning result data 125 by receiving this transfer. Further, the estimation device 2 may acquire the learning result data 125 by accessing the model generation device 1 or the data server via the network by using the communication interface 23. Further, for example, the estimation device 2 may acquire the learning result data 125 via the storage medium 92. Further, for example, the learning result data 125 may be incorporated in the estimation device 2 in advance.
  • control unit 11 may update or newly generate the learning result data 125 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 training data sets 120 may be changed, modified, added, deleted, or the like as appropriate. Then, the control unit 11 may update the learning result data 125 held by the estimation device 2 by providing the updated or newly generated learning result data 125 to the estimation device 2 by an arbitrary method.
  • FIG. 9 is a flowchart showing an example of the processing procedure of the estimation device 2 according to the present embodiment.
  • the processing procedure described below is an example of an estimation method. However, the processing procedure described below is only an example, and each step 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.
  • Step S201 the control unit 21 operates as the data acquisition unit 211 to acquire the target data 221.
  • the target data 221 is a sample of a predetermined type of data to be executed by the estimation task.
  • the method of acquiring the target data 221 may be appropriately determined according to the type of data.
  • the target data 221 is sensing data
  • the target data 221 can be acquired by observing the estimation target for the first feature with a sensor.
  • the control unit 21 proceeds to the next step S202.
  • Step S202 the control unit 21 operates as the estimation unit 212, and sets the trained encoder 51 and the first estimator 52 with reference to the learning result data 125.
  • the control unit 21 inputs the acquired target data 221 to the input layer 511 of the trained encoder 51, and executes the arithmetic processing of the forward propagation of the trained encoder 51 and the first estimator 52.
  • the control unit 11 can acquire an output value corresponding to the result of estimating the first feature included in the target data 221 from the output layer 523 of the trained first estimator 52.
  • estimating the first feature included in the target data 221 feeds the target data 221 to the trained encoder 51 and forwardly propagates the trained encoder 51 and the first estimator 52. It is achieved by executing the arithmetic processing of.
  • the control unit 21 proceeds to the next step S203.
  • Step S203 the control unit 21 operates as the output unit 213 and outputs information regarding the result of estimating the first feature.
  • the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
  • the control unit 21 may output the result of estimating the first feature for the target data 221 as it is to the output device 26 in step S202. Further, for example, the control unit 21 may execute some information processing based on the result of estimating the first feature. Then, the control unit 21 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 26, an output device of another computer, a controlled device, or the like.
  • control unit 21 ends the processing procedure related to this operation example.
  • the control unit 21 may continuously and repeatedly execute a series of information processing in steps S201 to S203.
  • the timing of repeating may be arbitrary.
  • the estimation device 2 may continuously perform the estimation task related to the first feature.
  • step S121 the second estimator 53 carries out the estimation task related to the second feature from the component corresponding to the second feature included in the feature amount obtained by the encoder 51. Trained to acquire abilities.
  • step S122 the encoder 51 converts the input data into a feature amount such that the estimation task related to the second feature by the second estimator 53 fails according to the estimation performance of the second estimator 53. Trained to acquire abilities.
  • the estimation task by the second estimator 53 fails in response to the improvement in the estimation performance of the second estimator 53. It is possible to make it difficult for the feature amount obtained by the vessel 51 to include the component corresponding to the second feature.
  • step S123 the first estimator 52 is trained to acquire the ability to perform an estimation task for the first feature from the features obtained by the encoder 51.
  • the encoder 51 acquires the ability to convert the input data into a feature quantity including a component corresponding to the first feature so that the first estimator 52 can appropriately perform the estimation task related to the first feature. To be trained.
  • the feature amount obtained by the trained encoder 51 contains a component corresponding to the first feature and is unlikely to include a component corresponding to the second feature. be able to.
  • the estimation device 2 it is expected that the estimation task related to the first feature will be performed with high accuracy by using the trained encoder 51 and the first estimator 52 in step S202. be able to.
  • step S123 is repeatedly executed together with step S121 and step S122.
  • the ability to estimate the first feature from the feature quantity obtained by the encoder 51 by the process of step S123 is increased in response to the adjustment of the value of each calculation parameter of the encoder 51 by the process of step S122.
  • the values of the arithmetic parameters of the encoder 51 and the first estimator 52 can be adjusted so as to be performed. This makes it possible to obtain a trained encoder 51 and a first estimator 52 capable of performing the estimation task related to the first feature with high accuracy.
  • the estimation system 100 according to the above embodiment may be applied to any situation in which an estimation task related to a target feature is performed for a predetermined type of data.
  • the estimation system 100 according to the above embodiment can be applied to a scene where the foreground included in the image data is estimated. Estimating the foreground may be configured, for example, by estimating the attributes of the object appearing in the image data.
  • the estimation system 100 according to the above embodiment can be applied to a scene in which the attribute of the target is estimated from the sensing data obtained by observing the target with a sensor.
  • a modified example in which the application scene is limited will be illustrated.
  • FIG. 10 schematically illustrates an example of an application scene of the inspection system 100A according to the first modification.
  • This modification is an example in which the above-described embodiment is applied to a scene in which an appearance inspection of a product is performed using image data in which the product is captured.
  • the inspection system 100A according to this modification includes a model generation device 1 and an inspection device 2A. Similar to the above embodiment, the model generation device 1 and the inspection device 2A may be connected to each other via a network.
  • the predetermined type of data (that is, the training data 121A and the target image data 221A described later) handled in this modification is the image data in which the product RA is captured.
  • the image data sample P10 may be obtained by photographing the product RA with the camera SA.
  • the first feature relates to the defect P12 of the product RA.
  • the second feature may be appropriately selected from features other than the defect P12 that can appear in the image data in which the product RA is captured.
  • the second feature may be the background P11 including the exterior of the product RA, the conveyor sheet, and the like.
  • the second feature may be, for example, the attributes of the background P11 such as the type of the product RA, the identifier of the manufacturing factory, and the type of the manufacturing line.
  • 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 product RA 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 RA 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. There may be.
  • the defect P12 may be, for example, scratches, stains, cracks, dents, burrs, color unevenness, foreign matter contamination, or the like.
  • the estimation regarding the defect P12 is, for example, determining whether or not the product RA contains the defect P12, determining the probability that the product RA contains the defect P12, and identifying the type of the defect P12 contained in the product RA. It may be expressed by specifying the range of the defect P12 contained in the product RA or a combination thereof.
  • the model generator 1 acquires a plurality of training data sets 120A in step S101.
  • the training data 121A of each training data set 120A is image data in which the product RA is captured.
  • the first correct answer data 122A indicates information (correct answer) regarding the defect P12 of the product RA reflected in the training data 121A, such as the presence / absence of the defect P12, the type of the defect P12, and the existence range of the defect P12.
  • the information regarding the defect P12 may be appropriately determined according to the content of the estimation regarding the defect P12.
  • the second correct answer data 123A shows information (correct answer) regarding features other than the defect P12 such as the attribute of the background P11.
  • the model generation device 1 performs machine learning of the learning model 5 using the plurality of learning data sets 120A acquired by the process of step S102. Thereby, it is possible to construct the trained encoder 51 and the first estimator 52 which have acquired the ability to output the estimation result regarding the defect P12 in response to the input of the image data in which the product RA is captured.
  • the model generator 1 appropriately stores information about the trained encoder 51 and the first estimator 52 as learning result data 125A in a predetermined storage area.
  • the generated learning result data 125A may be provided to the inspection device 2A at an arbitrary timing.
  • FIG. 11A schematically illustrates an example of the hardware configuration of the inspection device 2A according to this modification.
  • the inspection device 2A according to the present modification has the same control unit 21, storage unit 22, communication interface 23, external interface 24, input device 25, output device 26, and the same as the estimation device 2.
  • the drive 27 may consist of an electrically connected computer.
  • the storage unit 22 stores various information such as the inspection program 82A and the learning result data 125A.
  • the inspection program 82A corresponds to the estimation program 82 according to the above embodiment.
  • the inspection device 2A is connected to the camera SA via the external interface 24.
  • 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 2A does not have to be limited to such an example. Regarding the specific hardware configuration of the inspection device 2A, components can be omitted, replaced, and added as appropriate according to the embodiment.
  • the inspection device 2A 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. 11B schematically illustrates an example of the software configuration of the inspection device 2A according to this modification.
  • the software configuration of the inspection device 2A is realized by executing the inspection program 82A by the control unit 21.
  • the software configuration of the inspection device 2A is the same as that of the estimation device 2 except that the data to be handled is limited as described above.
  • the inspection unit 212A includes a trained encoder 51 and a first estimator 52 by holding the learning result data 125A.
  • the inspection unit 212A corresponds to the estimation unit 212.
  • the inspection device 2A can execute a series of information processing related to the visual inspection in the same manner as the estimation process of the estimation device 2.
  • step S201 the control unit 21 acquires the target image data 221A in which the product RA to be inspected is captured from the camera SA.
  • step S202 the control unit 21 operates as the inspection unit 212A and sets the trained encoder 51 and the first estimator 52 with reference to the learning result data 125A.
  • the control unit 21 gives the acquired target image data 221A to the trained encoder 51, and executes the forward propagation arithmetic processing of the trained encoder 51 and the first estimator 52.
  • the control unit 11 acquires an output value corresponding to the estimation result of the defect P12 of the product RA reflected in the target image data 221A from the trained first estimator 52.
  • the control unit 21 outputs information regarding the estimation result of the defect P12 of the product RA.
  • the control unit 21 may output the estimation result of the defect P12 of the product RA to the output device 26 as it is. Further, for example, when it is determined that the product RA contains the defect P12, the control unit 21 may output a warning to notify the fact to the output device 26. Further, for example, when the inspection device 2A is connected to the conveyor device that conveys the product RA, the control unit 21 sets the product RA with the defect P12 and the product RA without the defect P12 based on the estimation result for the defect P12. The conveyor device may be controlled so that it is conveyed on another line.
  • the feature amount output by the trained encoder 51 by the machine learning of the model generator 1 includes a component corresponding to the information about the defect P12, and the defect P12 such as the information about the background P11. It is possible to make it difficult for components corresponding to other features other than the above to be included. Therefore, it is possible to generate a trained encoder 51 and a first estimator 52 that can robustly perform the estimation task related to the defect P12 with respect to the difference in other features such as the background P11. In the inspection device 2A according to this modification, it is expected that the estimation task (that is, visual inspection) related to the defect P12 can be performed with high accuracy by using the trained coder 51 and the first estimator 52. be able to.
  • the product RA is an example of the object
  • the information about the defect P12 is an example of the attributes of the object.
  • the attribute of the background P11 is an example of features other than the attribute of the object.
  • the attributes and other features of the object may not be limited to the examples of defects P12 and background P11 of the product RA, and may be appropriately selected depending on the embodiment. That is, the estimation system 100 according to the above embodiment may be applied to various situations in which the attributes of an arbitrary object appearing in the image data are estimated.
  • the predetermined type of data may be image data in which an object is captured.
  • the first feature may be an attribute of the object
  • the second feature may be a feature other than the attribute of the object. This makes it possible to generate a trained encoder 51 and a first estimator 52 that can robustly perform an estimation task related to an object's attributes against differences in features other than the object's attributes.
  • the part other than the product RA is regarded as the background P11
  • the part where the product RA is reflected is an example of the foreground.
  • the portion other than the defect P12 of the product RA is regarded as the background P11
  • the range in which the defect P12 appears is an example of the foreground.
  • the foreground and background are not limited to such an example, and may be appropriately selected depending on the embodiment. That is, the estimation system 100 according to the above embodiment may be applied to various situations in which estimation is performed on features included in an arbitrary foreground appearing in image data.
  • the predetermined type of data may be image data including a foreground and a background.
  • the first feature may be with respect to the foreground and the second feature may be with respect to the background.
  • any element that can be extracted from the image data may be selected. This makes it possible to generate a trained encoder 51 and a first estimator 52 that can robustly perform foreground estimation tasks against background differences.
  • the foreground may be composed of any component that can be extracted from the image data separately from the background.
  • the first feature may be some information that can be directly or indirectly derived from the foreground.
  • Estimating the features included in the foreground may be configured by, for example, estimating the attributes of the object appearing in the image data.
  • the component involved in deriving the attributes of the object is an example of the foreground.
  • the range of the foreground may be appropriately determined so that the attributes of the object can be derived.
  • the foreground may be a range in which an object is captured.
  • the foreground may be a range that includes the object and the surroundings of the object.
  • the foreground may be a part of the object in which the attribute of the estimation target appears.
  • FIG. 12 schematically illustrates an example of another scene for estimating the attributes of an object reflected in image data.
  • the identification system illustrated in FIG. 12 includes a model generator 1 and an identification device 2A1.
  • the identification device 2A1 corresponds to the inspection device 2A.
  • the configuration of the identification device 2A1 may be the same as that of the inspection device 2A.
  • the predetermined type of data handled in the example of FIG. 12 may be image data on which the license plate RA1 is captured.
  • a camera SA1 may be used to acquire the image data, as in the inspection system 100A.
  • the first feature may be related to the symbol P20 given to the license plate RA1.
  • the license plate RA1 is an example of an object, and the area in which the symbol P20 appears is an example of the foreground.
  • the second feature may relate to a background other than the area to which the symbol P20 is assigned.
  • the symbol P20 may be composed of, for example, numbers, letters, marks, figures, or a combination thereof.
  • the background of the license plate RA1 may be decorated with a pattern, a pattern or the like.
  • the estimation for the first feature may be to identify the symbol P20.
  • the identification device 2A1 can identify the symbol P20 from the target data on which the license plate RA1 appears by the same procedure as the inspection device 2A.
  • the identification system according to this modification may be used in any situation for identifying the symbol P20 of the license plate RA1.
  • the identification system according to the present modification may be used to identify a vehicle traveling on the road from image data obtained by a surveillance camera for monitoring the vehicle traveling on the road.
  • the identification device 2A1 may identify the symbol P20 of the license plate RA1 with respect to the image data obtained in time series by the processes of steps S201 and S202. .. Then, the identification device 2A1 may create historical information showing the result of identifying the vehicle traveling on the target road based on the symbol P20 in chronological order by the process of step S203.
  • FIG. 13 schematically illustrates an example of another scene for estimating the attributes of an object reflected in image data.
  • the identification system illustrated in FIG. 13 includes a model generation device 1 and an identification device 2A2.
  • the identification device 2A2 corresponds to the inspection device 2A.
  • the configuration of the identification device 2A2 may be the same as that of the inspection device 2A.
  • the predetermined type of data handled in the example of FIG. 13 may be image data showing the packaging RA2 of the product.
  • a camera SA2 may be used to acquire the image data, as in the inspection system 100A.
  • the first feature may be related to the symbol P30 given to the packaging RA2.
  • the packaging RA2 is an example of an object, and the area where the symbol P30 appears is an example of the foreground.
  • the second feature may relate to a background other than the area to which the symbol P30 is assigned.
  • the symbol P30 may be composed of, for example, numbers, letters, marks, figures, codes, or a combination thereof.
  • the code may be, for example, a one-dimensional code, a two-dimensional code, or the like.
  • the background of the package RA2 may be decorated with a pattern, a pattern, or the like.
  • the estimation for the first feature may be to identify the symbol P30.
  • the identification device 2A2 can identify the symbol P30 assigned to the package RA2 by the same procedure as the inspection device 2A.
  • the identification system according to this modification may be used in any situation for identifying the symbol P30 assigned to the package RA2.
  • the identification system according to this modification may be used to identify a product transported on a production line.
  • FIG. 14 schematically illustrates an example of another scene for estimating the attribute of an object reflected in image data.
  • the monitoring system illustrated in FIG. 14 includes a model generation device 1 and a monitoring device 2A3.
  • the monitoring device 2A3 corresponds to the inspection device 2A.
  • the configuration of the monitoring device 2A3 may be the same as that of the inspection device 2A.
  • the predetermined type of data handled in the example of FIG. 14 may be image data obtained by photographing a range in which the moving body RA3 can exist.
  • the mobile body RA3 may be, for example, a vehicle, a person, or the like.
  • a camera SA3 arranged so as to capture a range to be monitored may be used for acquiring the image data.
  • the range to be monitored may be determined from any place such as a road or a building.
  • the monitoring device 2A3 may be appropriately connected to the camera SA3 via, for example, a network or the like. As a result, the monitoring device 2A3 can acquire image data in which the range to be monitored is captured.
  • the first feature may be related to the attributes of the moving body RA3, and the second feature may be related to the background of roads, buildings, etc.
  • the mobile RA3 is an example of an object.
  • the foreground may be an area in which the moving body RA3 is captured.
  • the foreground may be a region including the moving body RA3 and the periphery of the moving body RA3.
  • the background may be a region outside the periphery of the moving body RA3.
  • the attributes of the moving body RA3 may include, for example, a range (bounding box) in which the moving body RA3 is captured, identification information of the moving body RA3, a state of the moving body RA3, and the like.
  • the state of the moving body RA3 may include, for example, a position, a number, a degree of congestion (congestion degree, density), a speed, an acceleration, and the like.
  • the state of the mobile RA3 may include, for example, the possibility (risk degree) that the mobile RA3 encounters a danger such as an accident or a crime.
  • the types of dangers that the mobile RA3 can encounter may be determined arbitrarily.
  • the identification information of the mobile body RA3 may include, for example, the identifier, name, gender, age, physique, and the like of the person.
  • the state of the moving body RA3 may include, for example, the behavior of a person, the posture of a person, and the like.
  • the model generator 1 can generate a trained encoder 51 and a first estimator 52 that can robustly estimate the attributes of the moving body RA3 with respect to the difference in background.
  • the monitoring device 2A3 can estimate the attributes of the moving body RA3 in the imaging range of the camera SA3 by the same procedure as the inspection device 2A.
  • the monitoring system according to this modification may be used in all situations where the mobile RA3 is monitored. For example, the monitoring system according to this modified example monitors the degree of congestion of the moving body RA3 in the road and the building, monitors the sign of a person falling from the platform of the station, and the person walking on the road encounters a crime. It may be used in situations such as monitoring a sign of a sign.
  • the form of outputting the estimation result may be arbitrarily determined. For example, in the scene of estimating the risk level of the mobile body RA3, the monitoring device 2A3 may output a warning according to the estimated risk level in step S203.
  • FIG. 15 schematically illustrates an example of another scene for estimating the attribute of the object reflected in the image data.
  • the monitoring system illustrated in FIG. 15 includes a model generation device 1 and a monitoring device 2A4.
  • the monitoring device 2A4 corresponds to the inspection device 2A.
  • the configuration of the monitoring device 2A4 may be the same as that of the inspection device 2A.
  • the predetermined type of data handled in the example of FIG. 15 may be image data in which the driver RA4 is captured.
  • a camera SA4 may be used to acquire the image data, as in the inspection system 100A.
  • the camera SA4 may be appropriately arranged to photograph the driver RA4, which is assumed to be present in the driver's seat.
  • the first feature may be related to the state of the driver RA4, and the second feature may be related to the background such as the scenery inside the car.
  • the driver RA4 is an example of an object.
  • the foreground may be an area involved in the condition of the driver RA4.
  • the regions involved in the state of the driver RA4 are, for example, a region in which the driver RA4 is captured, a region further including the periphery of the driver RA4, a region in which a part of the driver RA4 (for example, an arbitrary body part) is captured, and driving. It may be an area or the like in which a tool (handle or the like) is reflected.
  • the state of the driver RA4 may include, for example, a health state, a degree of drowsiness, a degree of fatigue, a degree of margin, and the like.
  • the health state may be expressed by, for example, the probability of developing a predetermined disease, the probability of a change in physical condition, or the like.
  • the drowsiness degree indicates the degree of drowsiness of the driver RA4.
  • the degree of fatigue indicates the degree of fatigue of the driver RA4.
  • the margin indicates the degree of margin for the operation of the driver RA4.
  • the model generator 1 can generate the trained encoder 51 and the first estimator 52 that can robustly estimate the state of the driver RA4 with respect to the difference in the background.
  • the monitoring device 2A4 can estimate the state of the driver RA4 by the same procedure as the inspection device 2A.
  • the monitoring system according to this modification may be used in any situation where the state of the driver RA4 is monitored. Further, the monitoring system according to this modification may be used by a target person other than the driver RA4. As an example other than the driver RA4, the target person may be, for example, a worker who works in an office, a factory, or the like.
  • step S203 the form of outputting the result of estimating the state of the driver RA4 may be arbitrarily determined.
  • the monitoring device 2A4 may determine whether at least one of the estimated drowsiness and fatigue exceeds the threshold value. Then, when at least one of the drowsiness and the fatigue exceeds the threshold value, the monitoring device 2A4 outputs a warning to the output device to urge the driver RA4 to stop the vehicle in a parking lot or the like and take a break. You may.
  • the monitoring device 2A4 may output a specific message such as a warning to the output device according to the estimated state of the driver RA4.
  • the monitoring device 2A4 when the vehicle is equipped with a control device (not shown) that controls the operation of automatic driving, the monitoring device 2A4 operates the automatic driving of the vehicle based on the result of estimating the state of the driver RA4.
  • a command for instructing may be transmitted to the control device.
  • the control device is configured to be able to switch between an automatic driving mode for controlling the running of the vehicle and a manual driving mode for controlling the running of the vehicle by steering the driver RA4.
  • the monitoring device 2A4 when the vehicle is traveling in the automatic driving mode and the driver RA4 or the system accepts the switch from the automatic driving mode to the manual driving mode, the monitoring device 2A4 has an estimated margin of the driver RA4. It may be determined whether or not the degree exceeds the threshold.
  • the monitoring device 2A4 may transmit a command permitting the switching from the automatic operation mode to the manual operation mode to the control device.
  • the monitoring device 2A4 sends a notification to the control device not permitting the switching from the automatic driving mode to the manual driving mode, and runs in the automatic driving mode. You may try to maintain it.
  • the monitoring device 2A4 may determine whether or not at least one of the estimated drowsiness and fatigue exceeds the threshold value. Then, when at least one of the degree of drowsiness and the degree of fatigue exceeds the threshold value, the monitoring device 2A4 switches from the manual operation mode to the automatic operation mode and instructs the vehicle to stop at a safe place such as a parking lot. May be sent to the control device. On the other hand, if this is not the case, the monitoring device 2A4 may maintain the vehicle running in the manual driving mode.
  • the monitoring device 2A4 may determine whether or not the estimated margin is equal to or less than the threshold value. Then, when the margin is equal to or less than the threshold value, the monitoring device 2A4 may send a deceleration command to the control device. On the other hand, if this is not the case, the monitoring device 2A4 may maintain the running of the vehicle by the operation of the driver RA4.
  • the vehicle control device and the monitoring device 2A4 may be configured by an integrated computer.
  • FIG. 16 schematically illustrates an example of an application scene of the monitoring system 100B according to the second modification.
  • This modification is an example in which the above embodiment is applied to a scene where the situation of the vehicle is monitored by using the sensing data obtained by the in-vehicle sensor SB.
  • the monitoring system 100B according to this modification includes a model generation device 1 and a monitoring device 2B. Similar to the above embodiment, the model generation device 1 and the monitoring device 2B may be connected to each other via a network.
  • the predetermined types of data (training data 121B and target sensing data 221B described later) handled in this modification are sensing data obtained by the in-vehicle sensor SB.
  • the type of the in-vehicle sensor SB may be arbitrarily selected.
  • the in-vehicle sensor SB may be, for example, an image sensor, a lidar sensor, a millimeter wave radar, an ultrasonic sensor, an acceleration sensor, or the like.
  • the first feature is related to the condition of the vehicle.
  • the vehicle situation may relate to at least one of the exterior and interior of the vehicle.
  • the situation outside the vehicle may be expressed by, for example, the attributes of objects existing around the vehicle, the degree of congestion, the risk of an accident, and the like.
  • Objects existing around the vehicle may be, for example, roads, traffic lights, obstacles (people, objects), and the like.
  • Road attributes may include, for example, the type of driving lane, the type of road (eg, an intersection, an expressway), the road surface condition, and the like.
  • the attributes of the traffic light may include, for example, the lighting state of the traffic light.
  • the attributes of the obstacle may include, for example, the presence or absence of the obstacle, the type of the obstacle, the size of the obstacle, the speed of the obstacle, an event related to the obstacle, and the like.
  • Events related to obstacles may include, for example, jumping out of a person or vehicle, sudden start, sudden stop, lane change, and the like.
  • the risk of an accident may be expressed, for example, by the type of accident and the probability of occurrence of the accident.
  • the situation inside the vehicle may be expressed by, for example, the traveling state of the vehicle, the attributes of the occupants riding in the vehicle, and the like.
  • the traveling state may be expressed by, for example, changes in traveling motion such as speed, acceleration, and steering angle.
  • the occupant attributes may include, for example, the occupant's condition, number of people, position, number, identification information, and the like.
  • the estimation of the vehicle condition may include not only estimating the vehicle condition but also estimating the operation command for the vehicle according to the vehicle condition.
  • the operation command may be defined by, for example, the accelerator amount, the brake amount, the steering angle of the steering wheel, the lighting of the light, the use of the horn, and the like.
  • the second feature may be appropriately selected from features other than the situation of the vehicle that is the target of the estimation task.
  • the second feature may be selected from those not selected as the target of the estimation task in the example of the vehicle situation.
  • the second feature may be selected from factors other than the vehicle conditions, such as the observation environment.
  • the presence / absence of obstacles, road attributes, congestion level, or a combination thereof is selected as the first feature, and the weather, time, attributes of the place where the road exists, or these are selected as the second feature. Combination of may be selected.
  • Time may be represented by a fixed time zone.
  • an expression method in which the length of the time zone can be changed depending on the time such as morning, noon, and night may be used, or a fixed expression method such as 1 o'clock to 2 o'clock may be used.
  • Expression method may be used.
  • Location attributes may include, for example, the type of population density of the location, such as urban or rural. Except for these limitations, 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 model generator 1 acquires a plurality of training data sets 120B in step S101.
  • the training data 121B of each learning data set 120B is sensing data obtained by the in-vehicle sensor SB.
  • the first correct answer data 122B is the situation of the vehicle appearing in the training data 121B, and shows information (correct answer) regarding the situation of the vehicle to be the target of the estimation task.
  • the estimation regarding the vehicle condition is configured by estimating the operation command for the vehicle according to the vehicle condition
  • the first correct answer data 122B is the operation command for the vehicle according to the vehicle condition appearing in the training data 121B ( Correct answer) is shown.
  • the second correct answer data 123B indicates information (correct answer) regarding features other than the situation of the vehicle that is the target of the estimation task.
  • the model generation device 1 performs machine learning of the learning model 5 using the plurality of learning data sets 120B acquired by the process of step S102. Thereby, it is possible to construct the trained encoder 51 and the first estimator 52 which have acquired the ability to output the estimation result regarding the vehicle condition with respect to the input of the sensing data obtained by the in-vehicle sensor SB.
  • the model generator 1 appropriately stores information about the trained encoder 51 and the first estimator 52 as learning result data 125B in a predetermined storage area.
  • the generated learning result data 125B may be provided to the monitoring device 2B at an arbitrary timing.
  • FIG. 17A schematically illustrates an example of the hardware configuration of the monitoring device 2B according to this modification.
  • the monitoring device 2B according to the present modification has the same control unit 21, storage unit 22, communication interface 23, external interface 24, input device 25, output device 26, and the same as the estimation device 2.
  • the drive 27 may consist of an electrically connected computer.
  • the storage unit 22 stores various information such as the monitoring program 82B and the learning result data 125B.
  • the monitoring program 82B corresponds to the estimation program 82 according to the above embodiment.
  • the monitoring device 2B is connected to the vehicle-mounted sensor SB via the external interface 24.
  • the in-vehicle sensor SB may be appropriately arranged so as to observe the vehicle condition to be monitored.
  • the hardware configuration of the monitoring device 2B does not have to be limited to such an example. Regarding the specific hardware configuration of the monitoring device 2B, components can be omitted, replaced, and added as appropriate according to the embodiment.
  • the monitoring device 2B 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. 17B schematically illustrates an example of the software configuration of the monitoring device 2B according to this modified example.
  • the software configuration of the monitoring device 2B is realized by executing the monitoring program 82B by the control unit 21.
  • the software configuration of the monitoring device 2B is the same as that of the estimation device 2 except that the data to be handled is limited as described above.
  • the monitoring unit 212B includes a trained encoder 51 and a first estimator 52 by holding the learning result data 125B.
  • the monitoring unit 212B corresponds to the estimation unit 212.
  • the monitoring device 2B can execute a series of information processing related to the estimation of the vehicle condition, similarly to the estimation process of the estimation device 2.
  • step S201 the control unit 21 acquires the target sensing data 221B from the vehicle-mounted sensor SB regarding the vehicle status to be monitored.
  • step S202 the control unit 21 operates as the monitoring unit 212B, and sets the trained encoder 51 and the first estimator 52 with reference to the learning result data 125B.
  • the control unit 21 gives the acquired target sensing data 221B to the trained encoder 51, and executes the arithmetic processing of the forward propagation of the trained encoder 51 and the first estimator 52.
  • the control unit 11 acquires an output value corresponding to the result of estimating the vehicle condition from the trained first estimator 52.
  • step S203 the control unit 21 outputs information regarding the result of estimating the vehicle condition.
  • the control unit 21 may output the result of estimating the vehicle condition to the output device 26 as it is. Further, for example, the control unit 21 may determine whether or not there is a possibility that the traveling of the vehicle may be dangerous based on the estimated situation of the vehicle. The criteria for judgment may be set arbitrarily. When it is determined that the traveling of the vehicle may cause a danger, the control unit 21 may output a warning for notifying the danger to the output device 26.
  • the estimation regarding the vehicle condition is configured by estimating the operation command for the vehicle according to the vehicle condition
  • step S202 the control unit 21 determines the vehicle condition as a result of estimating the vehicle condition. It is possible to obtain an operation command for the vehicle according to the situation of the above from the trained first estimator 52. In this case, the control unit 21 may control the operation of the vehicle based on the acquired operation command.
  • the feature amount output by the trained encoder 51 by the machine learning of the model generator 1 includes a component corresponding to the information about the situation of the vehicle to be the target of the estimation task, and other than that. Ingredients corresponding to other features can be made less likely to be included.
  • the monitoring device 2B it can be expected that the estimation task related to the vehicle condition will be performed with high accuracy by using the trained encoder 51 and the first estimator 52.
  • FIG. 18 schematically illustrates an example of an application scene of the diagnostic system 100C according to a third modification.
  • This modified example is an example in which the above embodiment is applied to a scene in which the health condition of a subject is diagnosed by using the sensing data obtained by the sensor SC.
  • the diagnostic system 100C according to this modification includes a model generation device 1 and a diagnostic device 2C. Similar to the above embodiment, the model generation device 1 and the diagnostic device 2C may be connected to each other via a network.
  • the predetermined types of data (training data 121C and target sensing data 221C described later) handled in this modification are sensing data obtained by the sensor SC.
  • the type of the sensor SC does not have to be particularly limited as long as the state of the subject can be observed, and may be appropriately selected according to the embodiment.
  • the sensor SC may be, for example, a vital sensor, a medical examination device, or the like.
  • Vital sensors include, for example, sphygmomanometer, pulse rate monitor, heart rate monitor, electrocardiograph, electromyogram, thermometer, skin electroreactivity meter, microwave sensor, electroencephalograph, electroencephalograph, activity meter, blood glucose meter, eye. It may be a potential sensor, an eye movement measuring instrument, or the like.
  • the medical examination device may be, for example, a CT device, an MRI device, or the like.
  • the first feature is related to the health condition of the subject. Information on health status is expressed by, for example, whether or not it is healthy, whether or not there is a sign of illness, the type of health status, the probability of contracting the target illness, vital values (for example, blood pressure, body temperature, etc.), etc. May be done.
  • the second feature may be appropriately selected from features other than the health condition that is the subject of the estimation task.
  • the first feature selects information indicating whether or not the person is healthy, vital values, or a combination thereof, whereas the second feature includes the subject's age, gender, race, and so on. Nationality, occupation, place of residence, presence or absence of exercise habits, dosing history or a combination thereof may be selected.
  • the diagnostic system 100C according to the present modification may be configured in the same manner as the estimation system 100 according to the above embodiment.
  • model generator 1 acquires a plurality of training data sets 120C in step S101.
  • the training data 121C of each learning data set 120C is sensing data obtained by the sensor SC.
  • the first correct answer data 122C is the health state of the subject (subject) appearing in the training data 121C, and indicates information (correct answer) regarding the health state to be the target of the estimation task.
  • the second correct answer data 123C indicates information (correct answer) regarding features other than the health condition that is the target of the estimation task.
  • the model generation device 1 performs machine learning of the learning model 5 using the plurality of learning data sets 120C acquired by the process of step S102. Thereby, it is possible to construct the trained encoder 51 and the first estimator 52 which have acquired the ability to output the estimation result regarding the health condition of the subject with respect to the input of the sensing data obtained by the sensor SC. ..
  • the model generation device 1 appropriately stores information about the trained encoder 51 and the first estimator 52 as learning result data 125C in a predetermined storage area.
  • the generated learning result data 125C may be provided to the diagnostic apparatus 2C at an arbitrary timing.
  • FIG. 19A schematically illustrates an example of the hardware configuration of the diagnostic device 2C according to this modification.
  • the diagnostic device 2C according to the present modification has the same control unit 21, storage unit 22, communication interface 23, external interface 24, input device 25, output device 26, and the same as the estimation device 2.
  • the drive 27 may consist of an electrically connected computer.
  • the storage unit 22 stores various information such as the diagnostic program 82C and the learning result data 125C.
  • the diagnostic program 82C corresponds to the estimation program 82 according to the above embodiment.
  • the diagnostic device 2C is connected to the sensor SC via the external interface 24.
  • the hardware configuration of the diagnostic device 2C does not have to be limited to such an example. Regarding the specific hardware configuration of the diagnostic device 2C, components can be omitted, replaced, and added as appropriate according to the embodiment.
  • the diagnostic device 2C 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. 19B schematically illustrates an example of the software configuration of the diagnostic device 2C according to this modified example.
  • the software configuration of the diagnostic device 2C is realized by executing the diagnostic program 82C by the control unit 21.
  • the software configuration of the diagnostic device 2C is the same as that of the estimation device 2 except that the data to be handled is limited as described above.
  • the diagnostic unit 212C includes a trained encoder 51 and a first estimator 52 by holding the learning result data 125C.
  • the diagnostic unit 212C corresponds to the estimation unit 212.
  • the diagnostic device 2C can execute a series of information processing related to the estimation of the health condition of the subject, similar to the estimation process of the estimation device 2.
  • step S201 the control unit 21 acquires the target sensing data 221C from the sensor SC for the target person to be diagnosed.
  • the control unit 21 operates as the diagnostic unit 212C and sets the trained encoder 51 and the first estimator 52 with reference to the learning result data 125C.
  • the control unit 21 gives the acquired target sensing data 221C to the trained encoder 51, and executes the arithmetic processing of the forward propagation of the trained encoder 51 and the first estimator 52.
  • the control unit 11 acquires an output value corresponding to the result of estimating the health state of the subject from the trained first estimator 52.
  • the control unit 21 outputs information regarding the result of estimating the health condition of the subject.
  • the control unit 21 may output the result of estimating the health state of the subject to the output device 26 as it is. Further, for example, when the estimated health condition of the subject indicates a sign of a predetermined illness, the control unit 21 may output a message prompting a medical examination at the hospital to the output device 26. Further, for example, the control unit 21 may transmit the result of estimating the health condition of the subject to the terminal of the registered hospital.
  • the information of the terminal as the transmission destination may be stored in a predetermined storage area such as a RAM, a ROM, a storage unit 22, a storage medium 92, or an external storage device.
  • the feature amount output by the trained encoder 51 by the machine learning of the model generator 1 includes a component corresponding to the information on the health condition to be the target of the estimation task, and other components. It is possible to make it difficult for components corresponding to other characteristics to be included. Therefore, it is possible to generate a trained encoder 51 and a first estimator 52 that can robustly perform an estimation task related to a subject's health condition against differences in other characteristics. In the diagnostic device 2C according to this modification, it can be expected that the estimation task related to the health condition will be performed with high accuracy by using the trained encoder 51 and the first estimator 52.
  • FIG. 20 schematically illustrates an example of an application scene of the monitoring system 100D according to the fourth modification.
  • This modified example is an example in which the above embodiment is applied to a scene where the cultivation status of the plant RD is monitored by using the sensing data obtained by the environment sensor SD.
  • the monitoring system 100D according to this modification includes a model generation device 1 and a monitoring device 2D. Similar to the above embodiment, the model generation device 1 and the monitoring device 2D may be connected to each other via a network.
  • the predetermined types of data (training data 121D and target sensing data 221D described later) handled in this modification are sensing data obtained by the environment sensor SD.
  • the type of the environment sensor SD is not particularly limited as long as the cultivation status of the plant RD can be observed, and may be appropriately selected according to the embodiment.
  • the environmental sensor SD may be, for example, a barometer, a thermometer, a hygrometer, a sound pressure sensor, a sound sensor, an ultraviolet sensor, an illuminance meter, a rain gauge, a gas sensor, or the like.
  • the type of plant RD may be arbitrarily selected.
  • the first feature relates to the cultivation situation of the plant RD.
  • the cultivation situation may relate to any element in which the plant RD is cultivated.
  • the cultivation situation may be specified by, for example, the growing environment, the growing state, and the like up to the time of cultivation.
  • the growing environment may be defined with respect to the situation in which the plant RD is grown, for example, by the time for irradiating the plant RD with light, the temperature around the plant RD, the amount of water given to the plant RD, and the like.
  • the growth state may be defined by, for example, the degree of growth of the plant RD.
  • the second feature may be appropriately selected from features other than the cultivation situation that is the target of the estimation task. For example, as the second feature, the growing place, the type of the environment sensor SD, the installation position of the environment sensor SD, the installation angle of the environment sensor SD, the acquisition time of the sensing data, the season, the weather, or a combination thereof may be selected.
  • the monitoring device 2D may be connected to the cultivation device CD.
  • the cultivation device CD is configured to control the growing environment of the plant RD.
  • the type of the cultivation device CD may not be particularly limited as long as the growing environment of the plant RD can be controlled, and may be appropriately selected according to the embodiment.
  • the cultivation device CD may be, for example, a curtain device, a lighting device, an air conditioner, a watering device, or the like.
  • the curtain device is configured to open and close a curtain attached to a window of a building.
  • the lighting device is, for example, LED (light emission diode) lighting, a fluorescent lamp, or the like.
  • the air conditioning equipment is, for example, an air conditioner or the like.
  • the watering device is, for example, a sprinkler or the like.
  • curtain devices and lighting devices are used to control the amount of time the plant RD is exposed to light.
  • Air conditioning equipment is used to control the temperature around the plant RD.
  • the watering device is used to control the amount of water given to the plant RD.
  • the monitoring system 100D according to the present modification may be configured in the same manner as the estimation system 100 according to the above embodiment.
  • the model generator 1 acquires a plurality of training data sets 120D in step S101.
  • the training data 121D of each learning data set 120D is sensing data obtained by the environment sensor SD.
  • the first correct answer data 122D is the cultivation status of the plant RD appearing in the training data 121D, and indicates information (correct answer) regarding the cultivation status of the plant RD that is the target of the estimation task.
  • the second correct answer data 123D indicates information (correct answer) regarding features other than the cultivation situation that is the target of the estimation task.
  • the model generation device 1 performs machine learning of the learning model 5 using the plurality of learning data sets 120D acquired by the process of step S102. As a result, it is possible to construct a trained encoder 51 and a first estimator 52 that have acquired the ability to output the estimation result regarding the cultivation status of the plant RD in response to the input of the sensing data obtained by the environment sensor SD. it can. By the process of step S103, the model generation device 1 appropriately stores information about the trained encoder 51 and the first estimator 52 as learning result data 125D in a predetermined storage area. The generated learning result data 125D may be provided to the monitoring device 2D at an arbitrary timing.
  • FIG. 21A schematically illustrates an example of the hardware configuration of the monitoring device 2D according to this modification.
  • the monitoring device 2D according to the present modification has 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 same as the estimation device 2.
  • the drive 27 may consist of an electrically connected computer.
  • the storage unit 22 stores various information such as the monitoring program 82D and the learning result data 125D.
  • the monitoring program 82D corresponds to the estimation program 82 according to the above embodiment.
  • the monitoring device 2D is connected to the environment sensor SD and the cultivation device CD via the external interface 24.
  • the hardware configuration of the monitoring device 2D does not have to be limited to such an example. Regarding the specific hardware configuration of the monitoring device 2D, components can be omitted, replaced, and added as appropriate according to the embodiment.
  • the monitoring device 2D 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. 21B schematically illustrates an example of the software configuration of the monitoring device 2D according to this modified example.
  • the software configuration of the monitoring device 2D is realized by executing the monitoring program 82D by the control unit 21.
  • the software configuration of the monitoring device 2D is the same as that of the estimation device 2 except that the data to be handled is limited as described above.
  • the monitoring unit 212D includes a trained encoder 51 and a first estimator 52 by holding the learning result data 125D.
  • the monitoring unit 212D corresponds to the estimation unit 212.
  • the monitoring device 2D can execute a series of information processing related to the estimation of the cultivation status of the plant RD, similarly to the estimation process of the estimation device 2.
  • step S201 the control unit 21 acquires the target sensing data 221D for the plant RD to be monitored.
  • step S202 the control unit 21 operates as the monitoring unit 212D, and sets the trained encoder 51 and the first estimator 52 with reference to the learning result data 125D.
  • the control unit 21 gives the acquired target sensing data 221D to the trained encoder 51, and executes the arithmetic processing of the forward propagation of the trained encoder 51 and the first estimator 52.
  • the control unit 11 acquires an output value corresponding to the result of estimating the cultivation status of the plant RD from the trained first estimator 52.
  • Estimating the cultivation situation includes estimating at least one of the growing environment and the work content that maximizes the yield, and estimating the optimum work content in the observed current growing environment. But it may be.
  • step S203 the control unit 21 outputs information regarding the result of estimating the cultivation status of the plant RD.
  • the control unit 21 may output the result of estimating the cultivation status of the plant RD to the output device 26 as it is.
  • the control unit 21 outputs to the output device an estimation result such as the optimum work content in the observed current growth environment, at least one of the growth environment and the work content that maximizes the yield. Workers may be encouraged to improve the cultivation status of the plant RD.
  • the control unit 21 may determine a control command to be given to the cultivation device CD according to the estimated cultivation situation. The correspondence between the cultivation status and the control command may be given by reference information such as a table format.
  • This reference information may be stored in a RAM, ROM, a storage unit 22, a storage medium 92, an external storage device, or the like, and the control unit 21 refers to this reference information according to the estimated cultivation situation.
  • the control command may be determined.
  • the control unit 21 may control the operation of the cultivation device CD by giving the determined control command to the cultivation device CD.
  • the control unit 21 may output information indicating the determined control command to the output device 26 and urge the manager of the plant RD to control the operation of the cultivation device CD.
  • the feature amount output by the trained encoder 51 by the machine learning of the model generator 1 includes a component corresponding to the information on the cultivation status of the plant RD to be the target of the estimation task. It is possible to make it difficult for components corresponding to other features to be included. Therefore, it is possible to generate a trained encoder 51 and a first estimator 52 that can robustly perform the estimation task regarding the cultivation situation of the plant RD against the difference in other characteristics. In the monitoring device 2D according to this modification, it can be expected that the estimation task related to the cultivation situation will be performed with high accuracy by using the trained coder 51 and the first estimator 52.
  • the sensing data obtained by observing the state of the plant RD with the environment sensor SD is an example of the observation data that can be used to monitor the cultivation status of the plant RD.
  • the observation data for the plant RD need not be limited to the example of the sensing data.
  • the observation data regarding the plant RD may be composed of, for example, the sensing data obtained by the environment sensor SD, the observation data of the plant RD obtained by the input of the operator, or a combination thereof.
  • the observation data may be composed of, for example, work record data, environment record data, or a combination thereof.
  • the work record data may be composed of information indicating, for example, the presence / absence of work such as flower picking, leaf picking, sprouting, execution date / time, amount, and the like.
  • the environment record data may be composed of information indicating the result of the operator observing the environment around the plant RD (for example, weather, temperature, humidity, etc.). In the fourth modification, such observation data may be treated as a predetermined type of data.
  • the estimation system 100 may be applied to various situations in which an estimation regarding an attribute of an arbitrary target appearing in the sensing data is performed.
  • the first feature may be an attribute of the object observed by the sensor
  • the second feature may be a feature other than the attribute of the object that can appear in the sensing data.
  • FIG. 22 schematically illustrates an example of another scene in which the attribute of the target appearing in the sensing data is estimated.
  • the monitoring system illustrated in FIG. 22 includes a model generation device 1 and a monitoring device 2E.
  • the configuration of the monitoring device 2E may be the same as that of the inspection device 2A or the like.
  • the predetermined type of data handled in the example of FIG. 22 may be sensing data obtained by the sensor SE for monitoring the state of the machine RE.
  • the sensor SE may be, for example, a microphone, an acceleration sensor, a vibration sensor, or the like.
  • the obtained sensing data may be related to the vibration (including sound) of the machine RE.
  • the first feature may be related to an abnormality of the machine RE such as aged deterioration, failure, and malfunction of the machine RE.
  • the second feature may be a feature other than the abnormality of the machine RE, and is related to the vibration normally generated in the operating environment such as the vibration generated during the normal operation of the machine RE and the vibration around the machine RE. It may be.
  • the type of the machine RE and the abnormality may not be particularly limited and may be appropriately selected depending on the embodiment.
  • the machine RE may be, for example, a device that constitutes a manufacturing line such as a conveyor device, an industrial robot, a molding machine, a semiconductor manufacturing device, and a substrate mounting machine.
  • the production line may include an assembly line.
  • the machine RE may be the entire device or a part of the device such as a switch or a motor.
  • the abnormality of the equipment RE is, for example, misalignment, excess or deficiency of pressure, biting of a part or product, wrinkling, abnormality of line speed, abnormality of the part or product. It may be a malfunction of the device such as a defect.
  • the abnormality may be, for example, a malfunction of the motor with respect to torque, rotation speed, and the like.
  • the estimation regarding the first feature is, for example, determining whether or not an abnormality has occurred in the machine RE, determining the probability that an abnormality has occurred in the machine RE, and the type of abnormality that has occurred or has a sign in the machine RE. It may be expressed by identifying, identifying the place where the abnormality has occurred, or a combination thereof.
  • the model generator 1 can robustly perform the estimation task regarding the abnormality of the machine RE against the difference in other features such as vibration that normally occurs in the operating environment, and the trained encoder 51 and the first estimation.
  • the vessel 52 can be generated.
  • the monitoring device 2E can perform the estimation task related to the abnormality of the machine RE by the same procedure as the inspection device 2A.
  • the monitoring system according to this modification may be used in any situation where the state of the machine RE is monitored.
  • the predetermined type of data may be sensing data obtained by a home security sensor.
  • Home security sensors include, for example, image sensors, infrared sensors, activity (voice) sensors, gas (CO2, etc.) sensors, current sensors, smart meters (sensors that measure the amount of power used in home appliances, lighting, etc.).
  • the first feature may be related to the security state of the monitoring range such as whether or not an intruder exists.
  • the second feature may be a feature other than the security state, and may be related to a component or the like that normally occurs in an operating environment, for example.
  • a fully connected neural network is used for each of the encoder 51, the first estimator 52, and the second estimator 53.
  • the types of neural networks that compose each of them need not be limited to such examples.
  • a convolutional neural network, a recurrent neural network, or the like may be used for each of the encoder 51, the first estimator 52, and the second estimator 53.
  • the type of machine learning model constituting each of the encoder 51, the first estimator 52, and the second estimator 53 may not be limited to the neural network.
  • a support vector machine, a regression 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.
  • the input and output formats of the encoder 51, the first estimator 52, and the second estimator 53 are not particularly limited, and are appropriately determined according to the embodiment.
  • the first estimator 52 may be configured to further accept input of information other than the feature amount.
  • the output of the first estimator 52 may be configured to directly indicate the estimation result of the first feature.
  • the output of the first estimator 52 indirectly indicates the estimation result of the first feature, for example, indicating the probability of being in the target state in order to determine whether or not it is in the target state. It may be configured as follows. The same applies to others.
  • step S123 is repeatedly executed together with the processes of steps S121 and S122.
  • the machine learning processing procedure of the learning model 5 does not have to be limited to such an example.
  • the process of step S123 may be executed at least before or after the process of step S121 and step S122 is alternately and repeatedly executed.
  • Model generator 11 ... control unit, 12 ... storage unit, 13 ... communication interface, 14 ... external interface, 15 ... input device, 16 ... output device, 17 ... drive, 111 ... Data acquisition unit, 112 ... Learning processing unit, 113 ... Preservation processing unit, 120 ... Learning dataset, 121 ... Training data, 122 ... 1st correct answer data, 123 ... 2nd correct answer data, 125 ... Learning result data, 81 ... model generation program, 91 ... storage medium, 2 ... Estimator, 21 ... Control unit, 22 ... Storage unit, 23 ... communication interface, 24 ... external interface, 25 ... Input device, 26 ... Output device, 27 ... Drive, 211 ... Data acquisition unit, 212 ... Estimating unit, 213 ... Output section, 221 ... Target data, 5 ... Learning model, 51 ... encoder, 52 ... first estimator, 53 ... Second estimator

Landscapes

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

Abstract

本発明の一側面に係るモデル生成装置は、各学習データセットについて、第2推定器から得られる推定結果が第2正解データに適合するように第2推定器を訓練する第1訓練ステップ、第2推定器から得られる推定結果が第2正解データに適合しなくなるように符号器を訓練する第2訓練ステップ、並びに、第1推定器から得られる推定結果が第1正解データに適合するように符号器及び前記第1推定器を訓練する第3訓練ステップを実行する。モデル生成装置は、第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行する。

Description

モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
 本発明は、モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラムに関する。
 従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
特開2012-026982号公報 特開2017-111806号公報 特開2014-049118号公報 特開2019-071050号公報 特許第6264492号公報 特開2017-194948号公報 特開2018-175343号公報 特開2019-083746号公報 特開2018-189522号公報
 機械学習により構築された訓練済みの機械学習モデルで構成された推定器によれば、与えられた訓練データと同種の未知のデータに対して、回帰、分類等の推定(予測を含む)タスクを実行することができる。そのため、上記特許文献1のような、ニューラルネットワーク等の機械学習モデルを利用する方法によれば、訓練済みの推定器の出力に基づいて製品の外観検査を実施することができる。しかしながら、本件発明者らは、上記のような従来の方法には、次のような問題点があることを見出した。
 すなわち、従来の方法では、与えられた画像に写る欠陥を検出する能力を機械学習モデルに習得させる機械学習を実施するために、事前に、欠陥を含む製品の写る画像が学習データとして収集される。欠陥の検出は、欠陥の種別を識別することであってもよい。基本的には、収集される学習データが多岐にわたるほど、換言すると、学習データに表れる欠陥の状況が多様であるほど、外観検査の精度の向上を図ることができる。
 ただし、欠陥の種別、及び製品の外観を含む背景の種別が多くなればなるほど、欠陥の種別及び背景の種別の組み合わせが増加し、学習データとして収集されることが所望されるサンプルの件数(及び種類)も増加する。また、訓練済みの推定器を運用する際に背景が変更されることもあり得る。高精度に外観検査を遂行可能な訓練済みの推定器を生成するためには、欠陥の種別及び背景の種別の全ての組み合わせについてサンプルを収集するのが望ましいが、全ての組み合わせについてサンプルを収集するのにはコストがかかる。そこで、例えば、全ての組み合わせについてのサンプルは得られていないが、検出対象の欠陥の全種別についてはサンプルが得られた時点等、ある程度の学習データが収集された段階で、機械学習モデルの機械学習を実施することが考えられる。
 しかしながら、学習データにおいてサンプルの得られていない組み合わせが存在する場合に、次のような問題が生じる可能性がある。すなわち、機械学習により、機械学習モデルは、訓練データ(サンプル)に含まれる任意の情報を利用して、所望の推定タスクを遂行するように訓練される。そのため、欠陥及び背景を含む訓練データを使用して、推定器の機械学習を実施した場合、生成される訓練済みの推定器は、データに含まれる欠陥に関する情報だけではなく、背景に関する情報も利用して、欠陥の検出に関する推定タスクを遂行する能力を獲得している場合がある。このような場合、サンプルの得られていない欠陥の種別及び背景の種別の組み合わせを機械学習に反映できないことで、その組み合わせに対する訓練済みの推定器による欠陥の検出に関する推定の精度が低下してしまう可能性がある。
 加えて、サンプルに表れる欠陥の種別及び背景の種別の組み合わせが偏っている場合、特に、欠陥の種別及び背景の種別が同じ分布でサンプルに表れる場合、このサンプルの偏りが、機械学習により機械学習モデルの習得する能力に悪影響を及ぼす可能性がある。具体的には、組み合わせの偏ったサンプルを使用した機械学習により、推定器は、種別に応じて欠陥を検出する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。
 一例として、第1製品及び第2製品の2種類の製品に対して、第1欠陥及び第2欠陥の2種類の欠陥が発生すると仮定する。また、この例において、第1製品では第1欠陥が生じやすく、第2製品では第2欠陥が生じやすいと仮定する。更に、得られたサンプルが、第1欠陥を含む第1製品の写る画像、及び第2欠陥を含む第2製品の写る画像に偏っていると仮定する。すなわち、第2欠陥を含む第1製品の写る画像及び第1欠陥を含む第2製品の写る画像が機械学習のサンプルとして得られていないと仮定する。この仮定の下で得られたサンプルを使用して、種別に応じて欠陥を検出する能力を習得させることを意図して機械学習モデルの機械学習を実行したと想定する。この場合、得られるサンプルに上記偏りが生じていることで、当該機械学習により、機械学習モデルは、種別に応じて欠陥を検出識別する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。すなわち、サンプルが偏っていることで、意図した能力とは別の能力を機械学習モデルに習得させてしまう可能性がある。背景の種別を識別する能力を習得してしまった場合には、第2欠陥を含む第1製品の写る画像が与えられたときに、訓練済みの推定器は、第1製品に第1欠陥が生じていると誤検出してしまう。
 したがって、従来の方法では、機械学習により、訓練済みの推定器は、画像データに含まれる背景に関する情報を考慮して、欠陥検出に関する推定タスクを遂行するように構築される可能性がある。これにより、運用時の背景が学習時の背景と異なっていることで、訓練済みの推定器による欠陥検出に関する推定の精度が悪化してしまうという問題点があった。換言すると、背景の相違にロバストな訓練済みの推定器を生成するのが困難であるという問題点があった。
 なお、このような問題点は、製品の外観検査に利用可能な訓練済みの推定器を生成する場面に特有のものではない。この問題点は、所定種類のデータに対して対象の特徴に関する推定タスクの遂行に利用可能な訓練済みの推定器を構築するあらゆる場面で生じ得る。所定種類のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等である。所定種類のデータに対して対象の特徴に関する推定タスクを遂行する場面とは、例えば、画像データの前景に関する推定を行う場面等である。前景に関する推定は、例えば、画像データに写る対象物の属性を推定することであってよい。この場合、背景に関する特徴は、対象物の属性以外の他の特徴であってよい。対象物は、上記製品の他、例えば、製品の包装、ナンバープレート、撮影範囲内を移動可能な移動体(例えば、車両、人物等)、車両を運転する運転者等であってよい。その他、所定種類のデータに対して対象の特徴に関する推定タスクを遂行する場面とは、例えば、センサにより得られるセンシングデータから対象の属性を推定する場面等である。センサにより得られるセンシングデータから対象の属性を推定する場面は、例えば、車載センサにより得られるセンシングデータから車両の状況を推定する場面、バイタルセンサ又は医療検査装置により得られるセンシングデータから対象者の健康状態を推定する場面、環境センサにより得られるセンシングデータから植物の栽培状況を推定する場面、機械の状態を観測するセンサにより得られるセンシングデータから当該機械の状態を推定する場面等である。
 具体例として、特許文献2では、訓練済みのニューラルネットワークを利用して、ナンバープレートを認識することが提案されている。特許文献3では、訓練済みの畳み込みニューラルネットワークを利用して、文字を識別することが提案されている。特許文献4では、訓練済みのニューラルネットワークを利用して、撮影画像に写る人物の密度分布及び移動ベクトルの分布を推定することが提案されている。特許文献5では、学習済みのモデルを利用して、撮影画像及び観測情報から運転者の運転に対する集中の程度を推定することが提案されている。特許文献6では、訓練済みのニューラルネットワークを利用して、車載センサにより得られたデータから車両周囲の状況を認識することが提案されている。特許文献7では、訓練済みのニューラルネットワークを利用して、医療用画像から病変領域を検出することが提案されている。特許文献8では、訓練済みのニューラルネットワークを利用して、植物の生育段階を特定することが提案されている。特許文献9では、訓練済みのニューラルネットワークを利用して、音声及び振動の少なくとも一方の測定データから設備の故障の予兆を診断する方法が提案されている。
 これらの場面でも、従来の方法では、機械学習により、対象の特徴に関する推定タスクを遂行するための訓練済みの推定器を構築した場合に、訓練済みの推定器は、データに含まれる対象の特徴以外の他の特徴に関する情報を考慮して、当該推定タスクを遂行するように構築される可能性がある。そのため、他の特徴の相違にロバストな訓練済みの推定器を生成するのが困難であるという問題点があった。
 本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、対象の特徴以外の他の特徴の相違にロバストな訓練済みの推定器を生成するための技術を提供することである。
 本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係るモデル生成装置は、訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施する学習処理部であって、前記符号器は、与えられた入力データを特徴量に変換するように構成され、前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、を含み、前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、学習処理部と、を備える。
 当該構成に係るモデル生成装置では、3つの訓練ステップにより、符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習が実施される。上記第1訓練ステップによれば、第2推定器は、符号器により得られる特徴量に含まれる情報、すなわち、第2特徴に対応する成分から当該第2特徴に関する推定タスクを遂行する能力を獲得する。一方、上記第2訓練ステップによれば、符号器は、第2推定器の性能に応じて、第2推定器による第2特徴に関する推定タスクが失敗するような特徴量に入力データを変換する能力を獲得する。
 当該構成に係るモデル生成装置では、この第1訓練ステップ及び第2訓練ステップが交互に繰り返し実行される。これにより、符号器及び第2推定器の敵対的学習が実施される。その結果、第2推定器の推定性能が向上するのに対応して、この第2推定器による推定タスクが失敗するように、符号器により得られる特徴量には、第2特徴に対応する成分が含まれ難くすることができる。すなわち、第2特徴と関係性の低い(又は無関係な)特徴空間に入力データを射影する能力を符号器に獲得させることができる。加えて、上記第3訓練ステップによれば、符号器により得られる特徴量から第1特徴に関する推定タスクを遂行する能力を第1推定器に獲得させると共に、当該推定タスクを第1推定器が適切に遂行可能なように、第1特徴に対応する成分を含む特徴量に入力データを変換する能力を符号器に獲得させることができる。
 したがって、当該構成に係る機械学習によれば、訓練済みの符号器により得られる特徴量には、第1特徴に対応する成分が含まれ、かつ第2特徴に対応する成分が含まれ難くすることができる。これにより、第1推定器による第1特徴に関する推定タスクの遂行に第2特徴に関する情報が考慮され難くすることができる。よって、当該構成に係るモデル生成装置によれば、対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、対象の特徴以外の他の特徴の相違にロバストな訓練済みの推定器を生成することができる。すなわち、第2特徴の相違に対してロバストに第1特徴に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器を生成することができる。
 なお、符号器、第1推定器、及び第2推定器はそれぞれ、演算に利用される演算パラメータであって、機械学習により調節される演算パラメータを備える。このような符号器、第1推定器、及び第2推定器の種類はそれぞれ、機械学習可能なモデル(機械学習モデル、学習器)であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。符号器、第1推定器、及び第2推定器それぞれには、例えば、ニューラルネットワーク、サポートベクタマシン、回帰モデル等が用いられてよい。符号器、第1推定器、及び第2推定器それぞれにニューラルネットワークが用いられる場合、各ニューロン間の結合の重み、各ニューロンの閾値等が、上記演算パラメータの一例である。機械学習の方法は、符号器、第1推定器、及び第2推定器それぞれのモデルの種類に応じて適宜選択されてよい。各訓練ステップの処理順序は任意であってよい。
 上記一側面に係るモデル生成装置において、前記第3訓練ステップは、前記第1訓練ステップ及び前記第2訓練ステップと共に繰り返し実行されてよい。当該構成によれば、敵対的学習の過程において第2訓練ステップにより符号器の演算パラメータの値が調節されるのに対応して、符号器により得られる特徴量から第1特徴を推定する能力を獲得するように第1訓練ステップにより符号器及び第1推定器の演算パラメータの値を調節することができる。これにより、第1特徴に関する推定タスクを高精度に遂行可能な訓練済みの符号器及び第1推定器を得ることができる。
 上記一側面に係るモデル生成装置において、前記第2訓練ステップでは、前記各学習データセットについて、前記第2正解データに対応するダミーデータであって、対応する前記第2正解データとは異なる値で構成されるダミーデータが取得されてもよい。前記推定の結果が前記第2正解データに適合しなくなるように前記符号器を訓練することは、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記ダミーデータに適合するように前記符号器を訓練することにより構成されてもよい。当該構成によれば、第2訓練ステップにおける符号器の訓練処理を簡易化することができ、これにより、コストの低減を図ることができる。
 上記一側面に係るモデル生成装置において、前記ダミーデータは、対応する学習データセットとは異なる学習データセットの第2正解データにより構成されてよい。当該構成によれば、ダミーデータを生成する計算量を抑えることができ、これにより、第2訓練ステップの処理コストの低減を図ることができる。
 上記一側面に係るモデル生成装置において、前記第1特徴は、所定の推定の対象となる第1成分に関するものであってよい。前記第2特徴は、前記第1成分とは異なる第2成分であって、前記第1成分についての前記所定の推定に影響を与える第2成分に関するものであってよい。当該構成によれば、符号器により得られる特徴量に、第1成分についての所定の推定に影響を与える第2成分に対応する情報が含まれ難くすることができる。これにより、第2特徴の相違にロバストで、かつ比較的に高精度に第1特徴に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器の生成を期待することができる。
 上記各側面に係るモデル生成装置は、所定種類のデータに対する対象の特徴に関する推定タスクの遂行に利用可能な訓練済みのモデルを生成するあらゆる場面に適用されてよい。上記各側面に係るモデル生成装置は、例えば、画像データの前景に含まれる特徴を推定するための訓練済みのモデルを生成する場面に適用されてよい。前景に含まれる特徴を推定することは、例えば、画像データに写る対象物の属性を推定することであってよい。この場合、背景に関する特徴は、対象物の属性以外の他の特徴であってよい。その他、上記各側面に係るモデル生成装置は、例えば、センサにより得られるセンシングデータから対象の属性を推定するための訓練済みのモデルを生成する場面に適用されてよい。対象の属性を推定することは、例えば、車両の状況を推定すること、対象者の健康状態を推定すること、植物の栽培状況を推定すること、機械の状態を推定する場面等である。センサは、各場面に応じて適宜選択されてよい。
 上記一側面に係るモデル生成装置において、前記訓練データは、前景及び背景を含む画像データであってよい。前記第1特徴は、前記前景に関するものであってよく、前記第2特徴は、前記背景に関するものであってよい。当該構成によれば、背景の相違に対してロバストに前景に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器を生成することができる。なお、前景及び背景は、実施の形態に応じて適宜決定されてよい。
 上記一側面に係るモデル生成装置において、前記訓練データは、対象物の写る画像データであってよい。前記第1特徴は、前記対象物の属性であってもよく、前記第2特徴は、前記対象物の属性以外の他の特徴であってよい。当該構成によれば、対象物の属性以外の特徴の相違に対してロバストに対象物の属性に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器を生成することができる。なお、対象物は、任意に選択されてよい。対象物は、例えば、製品、製品の包装、ナンバープレート、撮影範囲内を移動可能な移動体(例えば、車両、人物等)、車両を運転する運転者等であってよい。
 上記一側面に係るモデル生成装置において、前記対象物は、製品であってよい。前記対象物の属性は、前記製品の欠陥に関するものであってよい。当該構成によれば、外観検査を実施する場面において、欠陥以外の特徴(例えば、製品の外装、コンベアのシート等を含む背景)の相違に対してロバストに欠陥検出に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器を生成することができる。
 また、本発明の形態は、上記モデル生成装置の形態に限られなくてもよい。本発明の一側面は、上記モデル生成装置により生成された訓練済みのモデルを利用する装置であってもよい。例えば、本発明の一側面は、上記モデル生成装置により生成された訓練済みの符号器及び第1推定器を利用して、所定種類のデータに対して対象の特徴に関する推定タスクを実行するように構成された推定装置であってもよい。この推定装置は、適用場面における推定タスクの種類に応じて、検査装置、識別装置、監視装置、診断装置、予測装置等と読み替えられてよい。
 例えば、本発明の一側面に係る推定装置は、対象データを取得するデータ取得部と、上記いずれかの側面に係るモデル生成装置により生成された訓練済みの前記符号器及び前記第1推定器を利用して、取得された前記対象データに含まれる第1特徴を推定する推定部と、前記第1特徴を推定した結果に関する情報を出力する出力部と、を備える。当該構成によれば、第2特徴の相違に対してロバストに第1特徴に関する推定タスクを遂行することができる。なお、対象データは、「対象サンプル」、単に「サンプル」等と称されてよい。
 また、上記各形態に係るモデル生成装置及び推定装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面は、上記いずれかの形態に係るモデル生成装置及び推定装置により構成される推定システムであってもよい。
 例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施するステップであって、前記符号器は、与えられた入力データを特徴量に変換するように構成され、前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、を含み、前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、ステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施するステップであって、前記符号器は、与えられた入力データを特徴量に変換するように構成され、前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、を含み、前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、ステップと、を実行させるための、プログラムである。
 本発明によれば、データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、対象の特徴以外の他の特徴の相違にロバストな訓練済みの推定器を生成することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係る推定装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。 図5は、実施の形態に係るモデル生成装置による機械学習の処理過程の一例を模式的に例示する。 図6は、実施の形態に係る推定装置のソフトウェア構成の一例を模式的に例示する。 図7は、実施の形態に係るモデル生成装置の処理手順の一例を例示する。 図8は、実施の形態に係るモデル生成装置の機械学習の処理手順の一例を例示する。 図9は、実施の形態に係る推定装置の処理手順の一例を例示する。 図10は、本発明が適用される他の場面の一例を模式的に例示する。 図11Aは、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。 図11Bは、他の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。 図12は、本発明が適用される他の場面の一例を模式的に例示する。 図13は、本発明が適用される他の場面の一例を模式的に例示する。 図14は、本発明が適用される他の場面の一例を模式的に例示する。 図15は、本発明が適用される他の場面の一例を模式的に例示する。 図16は、本発明が適用される他の場面の一例を模式的に例示する。 図17Aは、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。 図17Bは、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。 図18は、本発明が適用される他の場面の一例を模式的に例示する。 図19Aは、他の形態に係る診断装置のハードウェア構成の一例を模式的に例示する。 図19Bは、他の形態に係る診断装置のソフトウェア構成の一例を模式的に例示する。 図20は、本発明が適用される他の場面の一例を模式的に例示する。 図21Aは、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。 図21Bは、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。 図22は、本発明が適用される他の場面の一例を模式的に例示する。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
 §1 適用例
 まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る推定システム100は、モデル生成装置1及び推定装置2を備えている。
 本実施形態に係るモデル生成装置1は、学習モデル5の機械学習を実施するように構成されたコンピュータである。具体的に、本実施形態に係るモデル生成装置1は、複数の学習データセット120を取得する。各学習データセット120は、訓練データ121、訓練データ121に含まれる第1特徴を示す第1正解データ122、及び訓練データ121に含まれる第2特徴であって、第1特徴とは異なる第2特徴を示す第2正解データ123の組み合わせにより構成される。
 訓練データ121は、所定種類のデータのサンプルである。所定種類のデータは、例えば、何らかの特徴が表れ得るデータであれば、データの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定種類のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られる測定データ等であってよい。所定種類のデータは、例えば、何らかの対象をセンサにより観測することで得られるセンシングデータであってもよい。センサは、例えば、画像センサ(カメラ)、赤外線センサ、音センサ(マイクロフォン)、超音波センサ、光センサ、圧力センサ、気圧センサ、温度センサ等であってよい。また、センサは、例えば、環境センサ、バイタルセンサ、医療検査装置、車載センサ、ホームセキュリティセンサ等であってよい。環境センサは、例えば、気圧計、温度計、湿度計、音圧計、音センサ、紫外線センサ、照度計、雨量計、ガスセンサ等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。医療検査装置は、例えば、CT(Computed Tomography)装置、MRI(Magnetic Resonance Imaging)装置等であってよい。車載センサは、例えば、画像センサ、Lidar(light detection and ranging)センサ、ミリ波レーダ、超音波センサ、加速度センサ等であってよい。ホームセキュリティセンサは、例えば、画像センサ、赤外線センサ、活性度(音声)センサ、ガス(CO2等)センサ、電流センサ、スマートメータ(家電、照明等の電力使用量を計測するセンサ)等であってよい。
 第1特徴及び第2特徴はそれぞれ、実施の形態に応じて適宜選択されてよい。例えば、第1特徴及び第2特徴はそれぞれ、データに直接的又は間接的に表れ得る成分(要素)に関するものであってよい。直接的に表れるとは、画像データに写る等のデータそのものに表れることを指す。間接的に表れるとは、画像データから推定される等のデータから導出されることを指す。第1特徴は、機械学習モデルに習得させる推定タスクに応じて選択されてよい。一方、第2特徴は、データに直接的又は間接的に表れ得る特徴のうち、推定タスクの対象に選択されなかったものから選択されてよい。第1特徴は、例えば、画像データにおける前景(例えば、欠陥部分)等のような、所定種類のデータにおける所定の推定の対象となる第1成分に関するものであってよい。これに対して、第2特徴は、第1成分とは異なる第2成分であって、例えば、画像データにおける背景等のような、第1成分についての所定の推定に影響を与え得る第2成分に関するものであってよい。
 なお、所定の推定に影響を与えるとは、上記従来の方法により生成された訓練済みのモデルが与えられた場合に、機械学習に使用された訓練データに表れる第1成分及び第2成分の既知の組み合わせを含む対象データと比べて、第1成分及び第2成分の未知の組み合わせを含む対象データに対して、当該訓練済みのモデルによる第1成分についての所定の推定の精度が悪化し得ることである。具体例として、対象データとして画像データを選択し、製品の欠陥に関する成分を第1成分として選択し、背景に関する成分を第2成分として選択することで、画像データに写る製品の欠陥を検出する場面を想定する。この場面において、製品の欠陥及び背景の写る訓練データを使用した機械学習により、訓練済みのモデルを生成する。機械学習に使用される訓練データには、第1欠陥及び第1背景の組み合わせ、並びに第2欠陥及び第2背景の組み合わせは出現しているのに対して、第1欠陥及び第2背景の組み合わせ、並びに第2欠陥及び第1背景の組み合わせは出現していないと仮定する。この場合に、機械学習に使用された訓練データに出現する欠陥及び背景の組み合わせ(第1欠陥、第1背景)又は(第2欠陥、第2背景)を含む画像データと比べて、欠陥及び背景それぞれ個別では訓練データに出現しているものの、訓練データには出現していない欠陥及び背景の組み合わせ(第1欠陥、第2背景)又は(第2欠陥、第1背景)を含む画像データに対して、訓練済みのモデルによる欠陥の検出の精度が悪化し得ることが、上記所定の推定に影響を与えることの一例である。
 第1正解データ122は、第1特徴に関する推定タスクの正解を示す。第2正解データ123は、第2特徴に関する推定タスクの正解を示す。各正解データ(122、123)は、「教師信号」、「ラベル」等と読み替えられてもよい。「推定」は、「推論」と読み替えられてもよい。各特徴を推定することは、例えば、グループ分け(分類、識別)により離散値(例えば、特定の特徴に対応するクラス)を導出すること、及び回帰により連続値(例えば、特定の特徴が出現している確率)を導出することのいずれかであってよい。各特徴を推定することには、当該グループ分け又は回帰の結果に基づいて、検出、判定等の何らかの認定を行うことが含まれてもよい。また、各特徴を推定することには、予測することが含まれてもよい。
 本実施形態に係るモデル生成装置1は、取得された複数の学習データセット120を使用して、学習モデル5の機械学習を実施する。本実施形態に係る学習モデル5は、符号器51、第1推定器52、及び第2推定器53を含んでいる。符号器51は、与えられた入力データを特徴量に変換する、換言すると、入力データの入力を受け付けて、入力された入力データを特徴量に変換した結果に対応する出力値を出力するように構成される。第1推定器52は、符号器51の出力値(すなわち、特徴量)が入力され、入力データに含まれる第1特徴を特徴量から推定するように構成される。第2推定器53は、符号器51の出力値が入力され、入力データに含まれる第2特徴を特徴量から推定するように構成される。
 特徴量のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、各推定器(52、53)の出力値の形式も、特に限定されなくてもよく、各特徴に関する推定タスクの形式に応じて適宜選択されてよい。符号器51、第1推定器52、及び第2推定器53は、演算パラメータを備える機械学習モデルにより構成される。符号器51、第1推定器52、及び第2推定器53それぞれを構成する機械学習モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、符号器51、第1推定器52、及び第2推定器53それぞれを構成する機械学習モデルには、ニューラルネットワークが用いられる。詳細は後述する。
 本実施形態に係る機械学習を実施することは、第1~第3訓練ステップを含む。第1訓練ステップでは、本実施形態に係るモデル生成装置1は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、第2推定器53を訓練する。第2訓練ステップでは、本実施形態に係るモデル生成装置1は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練する。すなわち、第2訓練ステップでは、符号器51は、第2推定器53の推定性能を低下させるような特徴量に訓練データ121を変換するように訓練される。第3訓練ステップでは、本実施形態に係るモデル生成装置1は、各学習データセット120について、訓練データ121を符号器51に与えることで第1推定器52から得られる第1特徴の推定結果が第1正解データ122に適合するように、符号器51及び第1推定器52を訓練する。本実施形態に係るモデル生成装置1は、第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行する。これにより、本実施形態に係るモデル生成装置1は、第1特徴に関する推定タスクの遂行に利用可能な訓練済みの符号器51及び第1推定器52を生成することができる。なお、本実施形態に係るモデル生成装置1は、単に「生成装置」、「学習装置」等と読み替えられてよい。「訓練済み」は、「学習済み」と読み替えられてよい。
 一方、本実施形態に係る推定装置2は、モデル生成装置1により生成された訓練済みの符号器51及び第1推定器52を利用して、所定種類のデータに対して第1特徴に関する推定タスクを遂行するように構成されたコンピュータである。具体的に、本実施形態に係る推定装置2は、推定タスクの対象となる対象データを取得する。本実施形態に係る推定装置2は、モデル生成装置1により生成された訓練済みの符号器51及び第1推定器52を利用して、取得された対象データに含まれる第1特徴を推定する。本実施形態に係る推定装置2は、第1特徴を推定した結果に関する情報を出力する。
 以上のとおり、本実施形態では、上記第1訓練ステップにより、第2推定器53は、符号器51により得られる特徴量に含まれる第2特徴に対応する成分から当該第2特徴に関する推定タスクを遂行する能力を獲得するように訓練される。一方、上記第2訓練ステップにより、符号器51は、第2推定器53の推定性能に応じて、当該第2推定器53による第2特徴に関する推定タスクが失敗するような特徴量に入力データ(訓練データ121)を変換する能力を獲得するように訓練される。
 本実施形態では、当該第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行することで、符号器51及び第2推定器53の敵対的学習が実施される。その結果、第2推定器53の推定性能が向上するのに対応して、第2推定器53による推定タスクが失敗するように、符号器51により得られる特徴量には、第2特徴に対応する成分が含まれ難くすることができる。
 加えて、上記第3訓練ステップにより、第1推定器52は、符号器51により得られる特徴量から第1特徴に関する推定タスクを遂行する能力を獲得するように訓練される。これと共に、符号器51は、第1特徴に関する推定タスクを第1推定器52が適切に遂行可能なように、第1特徴に対応する成分を含む特徴量に入力データ(訓練データ121)を変換する能力を獲得するように訓練される。
 したがって、本実施形態に係る機械学習によれば、訓練済みの符号器51により得られる特徴量には、第1特徴に対応する成分が含まれ、かつ第2特徴に対応する成分が含まれ難くすることができる。これにより、第1推定器52による第1特徴に関する推定タスクの遂行に第2特徴に関する情報が考慮され難くすることができる。よって、本実施形態に係るモデル生成装置1によれば、第2特徴の相違に対してロバストに第1特徴に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。
 なお、図1の例では、モデル生成装置1及び推定装置2は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、モデル生成装置1及び推定装置2の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、モデル生成装置1及び推定装置2の間では、記憶媒体を利用して、データがやりとりされてよい。
 また、図1の例では、モデル生成装置1及び推定装置2は、それぞれ別個のコンピュータにより構成されている。しかしながら、本実施形態に係る推定システム100の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。たとえば、モデル生成装置1及び推定装置2は一体のコンピュータであってもよい。また、例えば、モデル生成装置1及び推定装置2のうちの少なくとも一方は、複数台のコンピュータにより構成されてもよい。
 §2 構成例
 [ハードウェア構成]
 <モデル生成装置>
 次に、図2を用いて、本実施形態に係るモデル生成装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。
 図2に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
 制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数の学習データセット120、学習結果データ125等の各種情報を記憶する。
 モデル生成プログラム81は、学習モデル5の機械学習に関する後述の情報処理(図7及び図8)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、当該情報処理の一連の命令を含む。モデル生成プログラム81は、単に「生成プログラム」、「学習プログラム」等と称されてもよい。複数の学習データセット120は、学習モデル5の機械学習に使用される。学習結果データ125は、機械学習により生成された訓練済みの符号器51及び第1推定器52に関する情報を示す。本実施形態では、学習結果データ125は、モデル生成プログラム81を実行した結果として生成される。詳細は後述する。
 通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、推定装置2)と行うことができる。
 外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。モデル生成装置1は、外部インタフェース14を介して、訓練データ121を得るためのセンサに接続されてよい。
 入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、モデル生成装置1を操作することができる。
 ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記モデル生成プログラム81及び複数の学習データセット120の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
 記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。モデル生成装置1は、この記憶媒体91から、上記モデル生成プログラム81及び複数の学習データセット120の少なくともいずれかを取得してもよい。
 ここで、図2では、記憶媒体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)等であってもよい。
 <推定装置>
 次に、図3を用いて、本実施形態に係る推定装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る推定装置2のハードウェア構成の一例を模式的に例示する。
 図3に示されるとおり、本実施形態に係る推定装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。なお、図3では、図2と同様に、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
 推定装置2の制御部21~ドライブ27はそれぞれ、上記モデル生成装置1の制御部11~ドライブ17それぞれと同様に構成されてよい。すなわち、制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、推定プログラム82、学習結果データ125等の各種情報を記憶する。
 推定プログラム82は、訓練済みの符号器51及び第1推定器52を利用して、所定種類のデータに対して第1特徴に関する推定タスクを遂行する後述の情報処理(図9)を推定装置2に実行させるためのプログラムである。推定プログラム82は、当該情報処理の一連の命令を含む。詳細は後述する。
 通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。推定装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、モデル生成装置1)と行うことができる。
 外部インタフェース24は、例えば、USBポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース24の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。推定装置2は、外部インタフェース14を介して、対象データを取得するためのセンサに接続されてよい。
 入力装置25は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置26は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置25及び出力装置26を利用することで、推定装置2を操作することができる。
 ドライブ27は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体92の種類は、ディスク型及びディスク型以外のいずれであってもよい。ドライブ27の種類は、記憶媒体92の種類に応じて適宜選択されてよい。上記推定プログラム82及び学習結果データ125のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、推定装置2は、記憶媒体92から、上記推定プログラム82及び学習結果データ125のうちの少なくともいずれかを取得してもよい。
 なお、推定装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。推定装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推定装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
 [ソフトウェア構成]
 <モデル生成装置>
 次に、図4及び図5を用いて、本実施形態に係るモデル生成装置1のソフトウェア構成の一例について説明する。図4は、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。図5は、本実施形態に係るモデル生成装置1による機械学習の処理過程の一例を模式的に例示する。
 モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、CPUにより、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図4に示されるとおり、本実施形態に係るモデル生成装置1は、データ取得部111、学習処理部112、及び保存処理部113をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
 データ取得部111は、訓練データ121、訓練データ121に含まれる第1特徴を示す第1正解データ122、及び訓練データ121に含まれる第2特徴であって、第1特徴とは異なる第2特徴を示す第2正解データ123の組み合わせによりそれぞれ構成される複数の学習データセット120を取得する。学習処理部112は、取得された複数の学習データセット120を使用して、学習モデル5の機械学習を実施する。
 本実施形態に係る学習モデル5は、符号器51、第1推定器52、及び第2推定器53を備えている。符号器51は、入力側に配置されている。符号器51は、所定種類のデータの入力に対して、入力データを変換することで得られた特徴量に対応する出力値を出力するように構成される。これに対して、第1推定器52及び第2推定器53は、出力側に並列に配置されている。符号器51の出力は、各推定器(52、53)の入力に接続している。これにより、符号器51の出力値、すなわち、入力データを変換することで得られた特徴量が各推定器(52、53)に入力される。第1推定器52は、特徴量の入力に対して、入力データに含まれる第1特徴を入力された特徴量から推定した結果に対応する出力値を出力するように構成される。第2推定器53は、特徴量の入力に対して、入力データに含まれる第2特徴を入力された特徴量から推定した結果に対応する出力値を出力するように構成される。
 図5に示されるとおり、本実施形態に係る機械学習は、第1~第3訓練ステップを含む。第1訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、第2推定器53を訓練する。第2訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練する。学習処理部112は、第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行する。第3訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51に与えることで第1推定器52から得られる第1特徴の推定結果が第1正解データ122に適合するように、符号器51及び第1推定器52を訓練する。
 なお、推定結果が第2正解データ123に適合しなくなるように符号器51を訓練する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。一例として、学習処理部112は、各学習データセット120について、第2正解データ123に対応するダミーデータ129であって、対応する第2正解データ123とは異なる値で構成されるダミーデータ129を取得してもよい。この場合、推定結果が第2正解データ123に適合しなくなるように符号器51を訓練することは、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果がダミーデータ129に適合するように訓練することにより構成されてよい。
 以上の各訓練ステップの実行により、訓練済みの学習モデル5が生成される。図4に示されるとおり、保存処理部113は、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125として生成する。そして、保存処理部113は、生成された学習結果データ125を所定の記憶領域に保存する。なお、訓練済みの第2推定器53の取り扱いについては任意であってよい。学習結果データ125は、訓練済みの第2推定器53に関する情報を含んでもよいし、或いは含まなくてもよい。
 (機械学習モデルの構成)
 次に、符号器51、第1推定器52及び第2推定器53それぞれの構成について説明する。符号器51、第1推定器52及び第2推定器53それぞれには、機械学習を実施可能な任意のモデルが利用されてよい。図4に示されるとおり、本実施形態では、符号器51、第1推定器52及び第2推定器53はそれぞれ、多層構造の全結合型ニューラルネットワークにより構成されている。符号器51、第1推定器52及び第2推定器53はそれぞれ、入力層(511、521、531)、中間(隠れ)層(512、522、532)、及び出力層(513、523、533)を備えている。
 ただし、符号器51、第1推定器52及び第2推定器53それぞれの構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、中間層(512、522、532)の数は、1つに限定されなくてもよく、2つ以上であってもよい。或いは、中間層(512、522、532)は省略されてもよい。それぞれのニューラルネットワークを構成する層の数は、特に限られなくてもよく、任意に選択されてよい。符号器51、第1推定器52及び第2推定器53の少なくともいずれかの組み合わせでは、少なくとも部分的に構造が一致していてもよいし、或いは一致していなくてもよい。また、図4の例では、符号器51、第1推定器52及び第2推定器53それぞれのニューラルネットワークは分離されているが、符号器51、第1推定器52及び第2推定器53の少なくともいずれかの組み合わせは一体のニューラルネットワークにより構成されてよい。
 各層(511~513、521~523、531~533)は1又は複数のニューロン(ノード)を備えている。各層(511~513、521~523、531~533)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。隣接する層のニューロン同士は適宜結合される。図4の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
 各結合には、重み(結合荷重)が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ニューロンの出力が決定される。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層(511~513、521~523、531~533)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、符号器51、第1推定器52及び第2推定器53それぞれの演算処理に利用される演算パラメータの一例である。
 符号器51、第1推定器52及び第2推定器53それぞれの演算パラメータの値は、上記機械学習の各訓練ステップにより調節される。具体的に、第1訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51の入力層511に入力し、第2特徴の推定結果に対応する出力値を第2推定器53の出力層533から取得する。学習処理部112は、符号器51の演算パラメータの値を固定した上で、取得される出力値と第2正解データ123との誤差が小さくなるように、第2推定器53の演算パラメータの値を調節する。
 第2訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51の入力層511に入力し、第2特徴の推定結果に対応する出力値を第2推定器53の出力層533から取得する。学習処理部112は、第2推定器53の演算パラメータの値を固定した上で、取得される出力値と第2正解データ123との誤差が大きくなるように、符号器51の演算パラメータの値を調節する。一例として、学習処理部112は、取得される出力値とダミーデータ129との誤差が小さくなるように、符号器51の演算パラメータの値を調節する。
 第3訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51の入力層511に入力し、第1特徴の推定結果に対応する出力値を第1推定器52の出力層523から取得する。学習処理部112は、取得される出力値と第1正解データ122との誤差が小さくなるように、符号器51及び第1推定器52それぞれの演算パラメータの値を調節する。
 保存処理部113は、上記機械学習により構築された訓練済みの符号器51及び第1推定器52それぞれの構造及び演算パラメータの値を示す情報を学習結果データ125として生成する。構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。システム内でモデルの構造が共通化される場合、この構造に関する情報は学習結果データ125から省略されてもよい。保存処理部113は、生成された学習結果データ125を所定の記憶領域に保存する。
 <推定装置>
 次に、図6を用いて、本実施形態に係る推定装置2のソフトウェア構成の一例について説明する。図6は、本実施形態に係る推定装置2のソフトウェア構成の一例を模式的に例示する。
 推定装置2の制御部21は、記憶部22に記憶された推定プログラム82をRAMに展開する。そして、制御部21は、CPUにより、RAMに展開された推定プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図6に示されるとおり、本実施形態に係る推定装置2は、データ取得部211、推定部212、及び出力部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推定装置2の各ソフトウェアモジュールは、上記モデル生成装置1と同様に、制御部21(CPU)により実現される。
 データ取得部211は、推定タスクの遂行対象となる対象データ221を取得する。推定部212は、学習結果データ125を保持することで、モデル生成装置1により生成された訓練済みの符号器51及び第1推定器52を備えている。推定部212は、訓練済みの符号器51及び第1推定器52を利用して、取得された対象データ221に含まれる第1特徴を推定する。出力部213は、第1特徴を推定した結果に関する情報を出力する。
 <その他>
 モデル生成装置1及び推定装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び推定装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、モデル生成装置1及び推定装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
 §3 動作例
 [モデル生成装置]
 次に、図7を用いて、モデル生成装置1の動作例について説明する。図7は、本実施形態に係るモデル生成装置1の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「モデル生成方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS101)
 ステップS101では、制御部11は、データ取得部111として動作し、複数の学習データセット120を取得する。本実施形態では、各学習データセット120は、訓練データ121、第1正解データ122、及び第2正解データ123の組み合わせにより構成される。
 各学習データセット120は適宜生成されてよい。例えば、実空間又は仮想空間において、第1特徴及び第2特徴を含む所定種類のデータのサンプルを訓練データ121として取得することができる。サンプルを取得する方法は適宜選択されてよい。所定種類のデータがセンシングデータである場合には、様々な条件でセンサにより対象を観測することで、訓練データ121を取得してもよい。観測の対象は、学習モデル5に習得させる推定タスクに応じて選択されてよい。そして、取得された訓練データ121に含まれる第1特徴及び第2特徴を推定した結果(正解)を示す情報を、第1正解データ122及び第2正解データ123として、取得された訓練データ121に関連付ける。各特徴の推定方法は任意に選択されてよい。例えば、各特徴の推定はオペレータにより行われてよい。これにより、各学習データセット120を生成することができる。
 各学習データセット120は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各学習データセット120の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。各学習データセット120をモデル生成装置1が生成する場合、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動的に上記一連の生成処理を実行することで、複数の学習データセット120を取得する。一方、各学習データセット120を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の学習データセット120を取得する。一部の学習データセット120がモデル生成装置1により生成され、その他の学習データセット120が1又は複数の他のコンピュータにより生成されてもよい。
 取得する学習データセット120の件数は任意に選択されてよい。複数の学習データセット120を取得すると、制御部11は、次のステップS102に処理を進める。
 (ステップS102)
 ステップS102では、制御部11は、学習処理部112として動作し、取得された複数の学習データセット120を使用して、学習モデル5の機械学習を実施する。
 図8は、本実施形態に係る学習モデル5における、ステップS102の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS102の処理は、以下のステップS121~ステップS124の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 なお、機械学習の処理対象となる符号器51、第1推定器52及び第2推定器53を構成するニューラルネットワークは適宜用意されてよい。用意する符号器51、第1推定器52及び第2推定器53それぞれの構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、符号器51、第1推定器52及び第2推定器53それぞれを用意してもよい。
 (ステップS121)
 ステップS121では、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、第2推定器53を訓練する。ステップS121は、第1訓練ステップの一例である。この機械学習の訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。後述するステップS122及びステップS123における訓練処理についても同様である。
 一例として、まず、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えて、符号器51の演算処理を実行する。換言すると、制御部11は、訓練データ121を符号器51の入力層511に入力し、入力側から順に各層511~513に含まれる各ニューロンの発火判定を行う(すなわち、順伝播の演算を行う)。この演算処理により、制御部11は、訓練データ121を変換することで得られる特徴量に対応する出力値を符号器51の出力層513から取得する。続いて、制御部11は、取得された特徴量を第2推定器53の入力層531に入力し、入力側から順に各層531~533に含まれる各ニューロンの発火判定を行う。この演算結果により、制御部11は、訓練データ121に含まれる第2特徴を特徴量から推定した結果に対応する出力値を第2推定器53の出力層533から取得する。
 制御部11は、各学習データセット120について、以上の演算処理で第2推定器53の出力層533から得られる出力値と第2正解データ123との誤差を算出する。誤差(損失)の算出には、損失関数が用いられてよい。損失関数は、機械学習モデルの出力と正解との差分(すなわち、相違の程度)を評価する関数であり、出力層533から得られる出力値と当該正解との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。誤差の計算に利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。損失関数には、例えば、平均二乗誤差、交差エントロピー誤差等の公知の損失関数が用いられてよい。
 制御部11は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、第2推定器53の各演算パラメータ(各ニューロン間の結合の重み、各ニューロンの閾値等)の値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第2推定器53の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
 制御部11は、符号器51の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第2推定器53の各演算パラメータの値を調節する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部11は、上記一連の処理による各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、第2推定器53を訓練することができる。この第2推定器53の訓練処理が完了すると、制御部11は、次のステップS122に処理を進める。
 (ステップS122)
 ステップS122では、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練する。ステップS122は、第2訓練ステップの一例である。
 本実施形態では、上記のように符号器51を訓練するために、対応する第2正解データ123とは異なる値で構成されるダミーデータ129を用いることができる。この場合、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果がダミーデータ129に適合するように符号器51を訓練してもよい。
 ダミーデータ129は、各学習データセット120の第2正解データ123に対応して適宜取得されてよい。例えば、ダミーデータ129は、対応する学習データセット120とは異なる他の学習データセット120の第2正解データ123により構成されてよい。すなわち、制御部11は、ダミーデータ129を取得する対象の学習データセット120以外の他の学習データセット120を選択し、選択された他の学習データセット120の第2正解データ123を対象の学習データセット120のダミーデータ129として利用してもよい。
 他の学習データセット120を選択する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、他の学習データセット120は、複数の学習データセット120の中から、ランダム等の機械的な方法で選択されてもよい。また、例えば、各学習データセット120の訓練データ121に対する第2正解データ123の対応関係を任意の方向にずらすことで、対象の学習データセット120に割り当てられた他の学習データセットの120の第2正解データ123をダミーデータ129として利用してもよい。また、例えば、複数の学習データセット120の中から1つの学習データセット120を任意の方法で選択し、選択された学習データセット120の第2正解データ123を全ての学習データセット120のダミーデータ129として利用してもよい。この方法によれば、ダミーデータ129を生成する計算量を抑えることができ、本ステップS122の処理コストの低減を図ることができる。
 なお、ダミーデータ129を生成する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。上記の他、例えば、制御部11は、第2正解データ123の値を反転することで、ダミーデータ129を生成してもよい。また、例えば、制御部11は、第2正解データ123の値とは相違するように、ランダム(例えば、乱数)等の機械的な方法で得られた値で構成されるデータを生成し、生成されたデータをダミーデータ129として取得してもよい。複数の学習データセット120のうちダミーデータ129と第2正解データ123とが一致する学習データセット120が存在してもよい。この場合、当該学習データセット120をそのまま訓練に利用してもよいし、或いは当該学習データセット120のダミーデータ129を適宜変更するようにしてもよい。
 ダミーデータ129を利用した訓練処理は、例えば、次のように実施することができる。まず、制御部11は、各学習データセット120について、上記ステップS121と同様に、符号器51及び第2推定器53の順伝播の演算処理を実行する。これにより、制御部11は、訓練データ121に含まれる第2特徴を特徴量から推定した結果に対応する出力値を第2推定器53の出力層533から取得する。次に、制御部11は、各学習データセット120について、以上の演算処理で第2推定器53の出力層533から得られる出力値とダミーデータ129との誤差を算出する。誤差の算出には、ステップS121と同様の損失関数が用いられてよい。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を、第2推定器53を介して符号器51の各演算パラメータに逆伝播して、符号器51の各演算パラメータの値の誤差を算出する。そして、制御部11は、算出された各誤差に基づいて、符号器51の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。
 制御部11は、第2推定器53の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、符号器51の各演算パラメータの値を調節する。ステップS121と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による符号器51の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練することができる。この符号器51の訓練処理が完了すると、制御部11は、次のステップS123に処理を進める。
 なお、第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように符号器51を訓練する方法は、このダミーデータ129を利用する方法に限られなくてもよい。例えば、訓練処理において、制御部11は、各学習データセット120について、第2推定器53の出力層533から得られる出力値と第2正解データ123との誤差を算出してもよい。制御部11は、算出された誤差の大きくなる方向に当該誤差の勾配を算出し、誤差逆伝播法により、算出された勾配を符号器51の入力層511まで逆伝播してもよい。この過程で、制御部11は、符号器51の各演算パラメータの値の誤差を算出してもよい。そして、制御部11は、算出された各誤差に基づいて、符号器51の各演算パラメータの値を更新してもよい。この方法によっても、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練することができる。
 (ステップS123)
 ステップS123では、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第1推定器52から得られる第1特徴の推定結果が第1正解データ122に適合するように、符号器51及び第1推定器52を訓練する。ステップS123は、第3訓練ステップの一例である。
 訓練処理の一例として、まず、制御部11は、各学習データセット120について、訓練データ121を符号器51の入力層511に入力し、入力側から順に各層511~513に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部11は、訓練データ121を変換することで得られる特徴量に対応する出力値を符号器51の出力層513から取得する。続いて、制御部11は、取得された特徴量を第1推定器52の入力層521に入力し、入力側から順に各層521~523に含まれる各ニューロンの発火判定を行う。この演算結果により、制御部11は、訓練データ121に含まれる第1特徴を特徴量から推定した結果に対応する出力値を第1推定器52の出力層523から取得する。
 制御部11は、各学習データセット120について、以上の演算処理で第1推定器52の出力層523から得られる出力値と第1正解データ122との誤差を算出する。誤差の算出には、任意の損失関数が用いられてよい。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を用いて、符号器51及び第1推定器52の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、符号器51及び第1推定器52の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。
 制御部11は、上記一連の更新処理により、算出される誤差の和が小さくなるように、符号器51及び第1推定器52の各演算パラメータの値を調節する。ステップS121等と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による符号器51及び第1推定器52の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第1推定器52から得られる第1特徴の推定結果が第1正解データ122に適合するように、符号器51及び第1推定器52を訓練することができる。この符号器51及び第1推定器52の訓練処理が完了すると、制御部11は、次のステップS124に処理を進める。
 (ステップS124)
 ステップS124では、制御部11は、ステップS121~ステップS123の処理を繰り返すか否かを判定する。制御部11は、所定の基準に従って、処理を繰り返すか否かを判定してもよい。当該所定の基準は、実施の形態に応じて適宜決定されてよい。例えば、処理を繰り返す規定回数が設定されていてもよい。規定回数は、例えば、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。この場合、制御部11は、ステップS121~ステップS123の処理を実行した回数が規定回数に到達したか否かを判定する。実行回数が規定回数に到達していないと判定した場合、制御部11は、ステップS121に処理を戻し、ステップS121~ステップS123の処理を再度実行する。これにより、ステップS121及びステップS122が交互に繰り返し実行される。また、本実施形態では、ループ内にステップS123も含まれているため、ステップS123も、ステップS121及びステップS122と共に繰り返し実行される。一方、実行回数が規定回数に到達していると判定した場合には、制御部11は、学習モデル5の機械学習の処理を完了し、次のステップS103に処理を進める。
 なお、学習モデル5の機械学習におけるステップS121~ステップS123による各訓練の処理順序は、上記の例に限定されなくてもよく、任意であってよい。例えば、ステップS123は、上記ステップS122と並行的に実行されてもよい。この場合、ステップS122及びステップS123の順伝播の演算について、符号器51の演算処理は共通に実行されてよい。また、例えば、ループ内において、ステップS123の処理が実行された後に、ステップS121及びステップS122の処理が実行されてもよい。ステップS121及びステップS122の処理順序は入れ替わってもよい。
 また、例えば、制御部11は、ステップS121及びステップS122の訓練を交互に繰り返し実行する前に、ステップS123のうちの少なくとも符号器51の訓練を実行してもよい。この場合、制御部11は、上記と同様にステップS121及びステップS122の訓練を交互に繰り返す際に、又はステップS121及びステップS122の訓練を交互に繰り返した後に、ステップS123のうちの少なくとも第1推定器52の訓練を実行してもよい。更に、制御部11は、上記各訓練を実行する前に、事前学習として、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、符号器51及び第2推定器53のうちの少なくとも符号器51の訓練を実行してもよい。
 (ステップS103)
 図7に戻り、ステップS103では、制御部11は、保存処理部113として動作し、機械学習により構築された訓練済みの符号器51及び第1推定器52それぞれの構造及び演算パラメータの値を示す情報を学習結果データ125として生成する。そして、制御部11は、生成された学習結果データ125を所定の記憶領域に保存する。
 所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに学習結果データ125を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに学習結果データ125を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介してモデル生成装置1に接続された外付けの記憶装置であってもよい。学習結果データ125の保存が完了すると、制御部11は、本動作例に係る処理手順を終了する。
 なお、生成された学習結果データ125は、任意のタイミングで推定装置2に提供されてよい。例えば、制御部11は、ステップS103の処理として又はステップS103の処理とは別に、学習結果データ125を転送してもよい。推定装置2は、この転送を受信することで、学習結果データ125を取得してもよい。また、推定装置2は、通信インタフェース23を利用して、モデル生成装置1又はデータサーバにネットワークを介してアクセスすることで、学習結果データ125を取得してもよい。また、例えば、推定装置2は、記憶媒体92を介して、学習結果データ125を取得してもよい。また、例えば、学習結果データ125は、推定装置2に予め組み込まれてもよい。
 更に、制御部11は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返すことで、学習結果データ125を更新又は新たに生成してもよい。この繰り返しの際には、複数の学習データセット120の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した学習結果データ125を任意の方法で推定装置2に提供することで、推定装置2の保持する学習結果データ125を更新してもよい。
 [推定装置]
 次に、図9を用いて、推定装置2の動作例について説明する。図9は、本実施形態に係る推定装置2の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、推定方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS201)
 ステップS201では、制御部21は、データ取得部211として動作し、対象データ221を取得する。対象データ221は、推定タスクの遂行対象となる所定種類のデータのサンプルである。対象データ221を取得する方法は、データの種類に応じて適宜決定されてよい。対象データ221がセンシングデータである場合、第1特徴に関する推定の対象をセンサにより観測することで、対象データ221を取得することができる。対象データ221を取得すると、制御部21は、次のステップS202に処理を進める。
 (ステップS202)
 ステップS202では、制御部21は、推定部212として動作し、学習結果データ125を参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象データ221を訓練済みの符号器51の入力層511に入力し、訓練済み符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、対象データ221に含まれる第1特徴を推定した結果に対応する出力値を訓練済みの第1推定器52の出力層523から取得することができる。すなわち、本実施形態では、対象データ221に含まれる第1特徴を推定することは、対象データ221を訓練済みの符号器51に与えて、訓練済み符号器51及び第1推定器52の順伝播の演算処理を実行することにより達成される。第1特徴の推定処理が完了すると、制御部21は、次のステップS203に処理を進める。
 (ステップS203)
 ステップS203では、制御部21は、出力部213として動作し、第1特徴を推定した結果に関する情報を出力する。
 出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、ステップS202により対象データ221に対して第1特徴を推定した結果をそのまま出力装置26に出力してもよい。また、例えば、制御部21は、第1特徴を推定した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を、推定の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推定結果に応じて特定のメッセージを出力すること、推定結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置26、他のコンピュータの出力装置、制御対象装置等であってよい。
 推定結果に関する情報の出力が完了すると、制御部21は、本動作例に係る処理手順を終了する。なお、所定期間の間、制御部21は、ステップS201~ステップS203の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、推定装置2は、第1特徴に関する推定タスクを継続的に実施してもよい。
 [特徴]
 以上のとおり、本実施形態では、上記ステップS121により、第2推定器53は、符号器51により得られる特徴量に含まれる第2特徴に対応する成分から当該第2特徴に関する推定タスクを遂行する能力を獲得するように訓練される。一方、上記ステップS122により、符号器51は、第2推定器53の推定性能に応じて、当該第2推定器53による第2特徴に関する推定タスクが失敗するような特徴量に入力データを変換する能力を獲得するように訓練される。このステップS121及びステップS122の訓練処理を交互に繰り返し実行することで、第2推定器53の推定性能が向上するのに対応して、第2推定器53による推定タスクが失敗するように、符号器51により得られる特徴量には、第2特徴に対応する成分が含まれ難くすることができる。加えて、ステップS123により、第1推定器52は、符号器51により得られる特徴量から第1特徴に関する推定タスクを遂行する能力を獲得するように訓練される。これと共に、符号器51は、第1特徴に関する推定タスクを第1推定器52が適切に遂行可能なように、第1特徴に対応する成分を含む特徴量に入力データを変換する能力を獲得するように訓練される。
 したがって、上記ステップS102の機械学習によれば、訓練済みの符号器51により得られる特徴量には、第1特徴に対応する成分が含まれ、かつ第2特徴に対応する成分が含まれ難くすることができる。これにより、第1推定器52による第1特徴に関する推定タスクの遂行に第2特徴に関する情報が考慮され難くすることができる。よって、本実施形態に係るモデル生成装置1によれば、第2特徴の相違に対してロバストに第1特徴に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本実施形態に係る推定装置2では、上記ステップS202において、訓練済みの符号器51及び第1推定器52を利用することで、第1特徴に関する推定タスクが高精度に遂行されることを期待することができる。
 また、本実施形態では、ステップS123の処理は、ステップS121及びステップS122と共に繰り返し実行される。これにより、ステップS122の処理により符号器51の各演算パラメータの値が調節されるのに対応して、ステップS123の処理により、符号器51により得られる特徴量から第1特徴を推定する能力をするように符号器51及び第1推定器52の各演算パラメータの値を調節することができる。これにより、第1特徴に関する推定タスクを高精度に遂行可能な訓練済みの符号器51及び第1推定器52を得ることができる。
 §4 変形例
 以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
 <4.1>
 上記実施形態に係る推定システム100は、所定種類のデータに対して対象の特徴に関する推定タスクの遂行するあらゆる場面に適用されてよい。例えば、上記実施形態に係る推定システム100は、画像データに含まれる前景を推定する場面に適用可能である。前景を推定することは、例えば、画像データに写る対象物の属性を推定することにより構成されてよい。また、例えば、上記実施形態に係る推定システム100は、センサにより対象を観測することで得られたセンシングデータから対象の属性を推定する場面に適用可能である。以下、適用場面を限定した変形例を例示する。
 (A)外観検査の場面
 図10は、第1変形例に係る検査システム100Aの適用場面の一例を模式的に例示する。本変形例は、製品の写る画像データを利用して、製品の外観検査を実施する場面に上記実施形態を適用した例である。本変形例に係る検査システム100Aは、モデル生成装置1及び検査装置2Aを備えている。上記実施形態と同様に、モデル生成装置1及び検査装置2Aは、ネットワークを介して互いに接続されてよい。
 本変形例において取り扱われる所定種類のデータ(すなわち、後述する訓練データ121A及び対象画像データ221A)は、製品RAの写る画像データである。画像データのサンプルP10は、カメラSAで製品RAを撮影することにより得られてよい。第1特徴は、製品RAの欠陥P12に関する。一方、第2特徴は、製品RAの写る画像データに表れ得る、欠陥P12以外の他の特徴から適宜選択されてよい。例えば、第2特徴は、製品RAの外装、コンベアのシート等を含む背景P11に関してよい。第2特徴は、例えば、製品RAの種別、製造工場の識別子、製造ラインの種別等の背景P11の属性であってよい。これらの限定を除き、本変形例に係る検査システム100Aは、上記実施形態に係る推定システム100と同様に構成されてよい。
 なお、製品RAは、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品RAは、製造過程完了後に生成される最終品であってもよいし、製造過程の途中で生成される中間品であってもよいし、製造過程を経過する前に用意される初期品であってもよい。欠陥P12は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。欠陥P12に関する推定は、例えば、製品RAに欠陥P12が含まれるか否かを判定すること、製品RAに欠陥P12が含まれる確率を判定すること、製品RAに含まれる欠陥P12の種類を識別すること、製品RAに含まれる欠陥P12の範囲を特定すること又はこれらの組み合わせにより表現されてよい。
 (モデル生成装置)
 本変形例では、モデル生成装置1は、上記ステップS101において、複数の学習データセット120Aを取得する。各学習データセット120Aの訓練データ121Aは、製品RAの写る画像データである。第1正解データ122Aは、例えば、欠陥P12の有無、欠陥P12の種別、欠陥P12の存在する範囲等の、訓練データ121Aに写る製品RAの欠陥P12に関する情報(正解)を示す。欠陥P12に関する情報は、上記欠陥P12に関する推定の内容に応じて適宜決定されてよい。第2正解データ123Aは、例えば、背景P11の属性等の欠陥P12以外の他の特徴に関する情報(正解)を示す。
 モデル生成装置1は、上記ステップS102の処理により、取得された複数の学習データセット120Aを使用して、学習モデル5の機械学習を実施する。これにより、製品RAの写る画像データの入力に対して、欠陥P12に関する推定の結果を出力する能力を獲得した訓練済みの符号器51及び第1推定器52を構築することができる。モデル生成装置1は、上記ステップS103の処理により、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125Aとして所定の記憶領域に適宜保存する。生成された学習結果データ125Aは、任意のタイミングで検査装置2Aに提供されてよい。
 (検査装置)
 図11Aは、本変形例に係る検査装置2Aのハードウェア構成の一例を模式的に例示する。図11Aに示されるとおり、本変形例に係る検査装置2Aは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
 本変形例では、記憶部22は、検査プログラム82A、学習結果データ125A等の各種情報を記憶する。検査プログラム82Aは、上記実施形態に係る推定プログラム82に対応する。また、本変形例では、検査装置2Aは、外部インタフェース24を介して、カメラSAに接続される。カメラSAは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。カメラSAは、製品RAを撮影可能な場所に適宜配置されてよい。例えば、カメラSAは、製品RAを搬送するコンベア装置の近傍に配置されてよい。
 なお、検査装置2Aのハードウェア構成は、このような例に限定されなくてもよい。検査装置2Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置2Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
 図11Bは、本変形例に係る検査装置2Aのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置2Aのソフトウェア構成は、制御部21による検査プログラム82Aの実行により実現される。取り扱われるデータが上記のように限定される点を除き、検査装置2Aのソフトウェア構成は、上記推定装置2と同様である。検査部212Aは、学習結果データ125Aを保持することで、訓練済みの符号器51及び第1推定器52を備えている。検査部212Aは、上記推定部212に対応する。これにより、検査装置2Aは、上記推定装置2の推定処理と同様に、外観検査に関する一連の情報処理を実行することができる。
 すなわち、ステップS201では、制御部21は、検査対象の製品RAの写る対象画像データ221AをカメラSAから取得する。ステップS202では、制御部21は、検査部212Aとして動作し、学習結果データ125Aを参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象画像データ221Aを訓練済みの符号器51に与えて、訓練済みの符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、対象画像データ221Aに写る製品RAの欠陥P12について推定した結果に対応する出力値を訓練済みの第1推定器52から取得する。
 ステップS203では、制御部21は、製品RAの欠陥P12について推定した結果に関する情報を出力する。例えば、制御部21は、製品RAの欠陥P12について推定した結果をそのまま出力装置26に出力してもよい。また、例えば、製品RAに欠陥P12が含まれると判定した場合、制御部21は、そのことを知らせるための警告を出力装置26に出力してもよい。また、例えば、製品RAを搬送するコンベア装置に検査装置2Aが接続される場合、制御部21は、欠陥P12について推定した結果に基づいて、欠陥P12のある製品RAと欠陥P12のない製品RAとを別のラインで搬送されるようにコンベア装置を制御してもよい。
 (特徴)
 本変形例によれば、モデル生成装置1の機械学習により、訓練済みの符号器51の出力する特徴量に、欠陥P12に関する情報に対応する成分が含まれ、かつ背景P11に関する情報等の欠陥P12以外の他の特徴に対応する成分が含まれ難くすることができる。よって、背景P11等の他の特徴の相違に対してロバストに欠陥P12に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本変形例に係る検査装置2Aでは、訓練済みの符号器51及び第1推定器52を利用することで、欠陥P12に関する推定タスク(すなわち、外観検査)が高精度に遂行されることを期待することができる。
 [その他の形態]
 上記第1変形例において、製品RAは、対象物の一例であり、欠陥P12に関する情報は、対象物の属性の一例である。背景P11の属性は、対象物の属性以外の他の特徴の一例である。対象物の属性及び他の特徴は、製品RAの欠陥P12及び背景P11の例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、画像データに表れる任意の対象物の属性を推定する様々な場面に適用されてよい。この場合、所定種類のデータは、対象物の写る画像データであってよい。これに対応して、第1特徴は、対象物の属性であってよく、第2特徴は、対象物の属性以外の他の特徴であってよい。これにより、対象物の属性以外の他の特徴の相違に対してロバストに対象物の属性に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。
 また、製品RA以外の部分を背景P11と捉えた場合、製品RAの写る部分は、前景の一例である。或いは、製品RAの欠陥P12以外の部分を背景P11と捉えた場合、欠陥P12の写る範囲が、前景の一例である。前景及び背景は、このような例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、画像データに写る任意の前景に含まれる特徴に関する推定を行う様々な場面に適用されてよい。この場合、所定種類のデータは、前景及び背景を含む画像データであってよい。これに対応して、第1特徴は、前景に関し、第2特徴は、背景に関してもよい。前景には、画像データから抽出可能な任意の要素が選択されてよい。これにより、背景の相違に対してロバストに前景に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。
 なお、前景は、背景と区別して画像データから抽出可能な任意の成分により構成されてよい。第1特徴は、前景から直接的又は間接的に導出可能な何らかの情報であってよい。前景に含まれる特徴を推定することは、例えば、上記画像データに写る対象物の属性を推定することにより構成されてよい。この場合、対象物の属性の導出に関与する成分が、前景の一例である。前景の範囲は、対象物の属性を導出可能に適宜決定されてよい。例えば、前景は、対象物の写る範囲であってよい。或いは、前景は、対象物及び対象物の周囲を含む範囲であってよい。或いは、前景は、推定対象の属性の表れる対象物の一部の範囲であってもよい。
 (A-1)ナンバープレートの記号を識別する場面
 図12は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図12に例示される識別システムは、モデル生成装置1及び識別装置2A1を備えている。識別装置2A1は、上記検査装置2Aに対応する。識別装置2A1の構成は、上記検査装置2Aと同様であってよい。図12の例において取り扱われる所定種類のデータは、ナンバープレートRA1の写る画像データであってよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSA1が用いられてよい。
 この場合、第1特徴は、ナンバープレートRA1に付与された記号P20に関するものであってよい。ナンバープレートRA1は対象物の一例であり、記号P20の写る領域は前景の一例である。第2特徴は、記号P20の付与された領域以外の背景に関するものであってよい。記号P20は、例えば、数字、文字、マーク、図形、又はこれらの組み合わせにより構成されてよい。ナンバープレートRA1の背景には、模様、図柄等の装飾が施されていてもよい。第1特徴に関する推定は、記号P20を識別することであってよい。
 これにより、モデル生成装置1は、背景の相違に対してロバストにナンバープレートRA1に付与された記号P20を識別可能な訓練済みの符号器51及び第1推定器52を生成することができる。識別装置2A1は、上記検査装置2Aと同様の手順により、ナンバープレートRA1の写る対象データから記号P20を識別することができる。本変形例に係る識別システムは、ナンバープレートRA1の記号P20を識別するあらゆる場面に利用されてよい。例えば、本変形例に係る識別システムは、道路を走行する車両を監視するための監視カメラにより得られる画像データから当該道路を走行する車両を識別するために利用されてよい。
 なお、道路を走行する車両を監視する場面では、識別装置2A1は、上記ステップS201及びステップS202の処理により、時系列に得られる画像データに対してナンバープレートRA1の記号P20を識別してもよい。そして、識別装置2A1は、上記ステップS203の処理により、記号P20に基づいて対象の道路を走行する車両を識別した結果を時系列に示す履歴情報を作成してもよい。
 (A-2)製品の包装に付与された記号を識別する場面
 図13は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図13に例示される識別システムは、モデル生成装置1及び識別装置2A2を備えている。識別装置2A2は、上記検査装置2Aに対応する。識別装置2A2の構成は、上記検査装置2Aと同様であってよい。図13の例において取り扱われる所定種類のデータは、製品の包装RA2の写る画像データであってよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSA2が用いられてよい。
 この場合、第1特徴は、包装RA2に付与された記号P30に関するものであってよい。包装RA2は対象物の一例であり、記号P30の写る領域は前景の一例である。第2特徴は、記号P30の付与された領域以外の背景に関するものであってよい。記号P30は、例えば、数字、文字、マーク、図形、コード、又はこれらの組み合わせにより構成されてよい。コードは、例えば、一次元コード、二次元コード等であってよい。包装RA2の背景には、模様、図柄等の装飾が施されていてもよい。第1特徴に関する推定は、記号P30を識別することであってよい。
 これにより、モデル生成装置1は、背景の相違に対してロバストに包装RA2に付与された記号P30を識別可能な訓練済みの符号器51及び第1推定器52を生成することができる。識別装置2A2は、上記検査装置2Aと同様の手順により、包装RA2に付与された記号P30を識別することができる。本変形例に係る識別システムは、包装RA2に付与された記号P30を識別するあらゆる場面に利用されてよい。例えば、本変形例に係る識別システムは、製造ラインで搬送される製品を識別するために利用されてよい。
 (A-3)移動体の属性を推定する場面
 図14は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図14に例示される監視システムは、モデル生成装置1及び監視装置2A3を備えている。監視装置2A3は、上記検査装置2Aに対応する。監視装置2A3の構成は、上記検査装置2Aと同様であってよい。図14の例において取り扱われる所定種類のデータは、移動体RA3の存在し得る範囲を撮影することで得られた画像データであってよい。移動体RA3は、例えば、車両、人物等であってよい。画像データの取得には、監視対象の範囲を撮影するように配置されたカメラSA3が用いられてよい。監視対象の範囲は、例えば、道路、建物内等の任意の場所から決定されてよい。監視装置2A3は、例えば、ネットワーク等を介して、カメラSA3に適宜接続されてよい。これにより、監視装置2A3は、監視対象の範囲の写る画像データを取得することができる。
 この場合、第1特徴は、移動体RA3の属性に関するものであってよく、第2特徴は、道路、建物等の背景に関するものであってよい。移動体RA3は、対象物の一例である。前景は、移動体RA3の写る領域であってよい。或いは、前景は、移動体RA3及び移動体RA3の周囲を含む領域であってよい。この場合、背景は、移動体RA3の周囲より外側の領域であってよい。移動体RA3の属性は、例えば、移動体RA3の写る範囲(バウンディングボックス)、移動体RA3の識別情報、移動体RA3の状態等を含んでもよい。移動体RA3の状態は、例えば、位置、数、混み具合(混雑度、密度)、速度、加速度等を含んでもよい。その他、移動体RA3の状態は、例えば、事故、犯罪等の危険に移動体RA3が遭遇する可能性(危険度)を含んでもよい。移動体RA3の遭遇し得る危険の種類は任意に決定されてよい。更にその他、移動体RA3が人物である場合、移動体RA3の識別情報は、例えば、人物の識別子、名前、性別、年齢、体格等を含んでもよい。また、移動体RA3の状態は、例えば、人物の行動、人物の姿勢等を含んでもよい。
 これにより、モデル生成装置1は、背景の相違に対してロバストに移動体RA3の属性を推定可能な訓練済みの符号器51及び第1推定器52を生成することができる。監視装置2A3は、上記検査装置2Aと同様の手順により、カメラSA3の撮影範囲における移動体RA3の属性を推定することができる。本変形例に係る監視システムは、移動体RA3を監視するあらゆる場面に利用されてよい。例えば、本変形例に係る監視システムは、道路、建物内の移動体RA3の混雑度を監視する場面、駅のホームから人物が転落する予兆を監視する場面、道路を歩行する人物が犯罪に遭遇する予兆を監視する場面等に利用されてよい。なお、推定結果を出力する形態は任意に決定されてよい。例えば、移動体RA3の危険度を推定する場面では、監視装置2A3は、上記ステップS203において、推定される危険度に応じた警告を出力してもよい。
 (A-4)運転者の状態を監視する場面
 図15は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図15に例示される監視システムは、モデル生成装置1及び監視装置2A4を備えている。監視装置2A4は、上記検査装置2Aに対応する。監視装置2A4の構成は、上記検査装置2Aと同様であってよい。図15の例において取り扱われる所定種類のデータは、運転者RA4の写る画像データであってよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSA4が用いられてよい。カメラSA4は、運転席に存在すると仮定される運転者RA4を撮影するように適宜配置されてよい。
 この場合、第1特徴は、運転者RA4の状態に関するものであってよく、第2特徴は、車内風景等の背景に関するものであってよい。運転者RA4は、対象物の一例である。前景は、運転者RA4の状態に関与する領域であってよい。運転者RA4の状態に関与する領域は、例えば、運転者RA4の写る領域、運転者RA4の周囲を更に含む領域、運転者RA4の一部(例えば、任意の身体部位)の写る領域、運転に関するツール(ハンドル等)の写る領域等であってよい。運転者RA4の状態は、例えば、健康状態、眠気度、疲労度、余裕度等を含んでよい。健康状態は、例えば、所定の疾患を発症する確率、体調変化が生じる確率等により表現されてよい。眠気度は、運転者RA4の眠気の度合いを示す。疲労度は、運転者RA4の疲労の度合いを示す。余裕度は、運転者RA4の運転に対する余裕の度合を示す。
 これにより、モデル生成装置1は、背景の相違に対してロバストに運転者RA4の状態を推定可能な訓練済みの符号器51及び第1推定器52を生成することができる。監視装置2A4は、上記検査装置2Aと同様の手順により、運転者RA4の状態を推定することができる。本変形例に係る監視システムは、運転者RA4の状態を監視するあらゆる場面に利用されてよい。更に、本変形例に係る監視システムは、運転者RA4以外の対象者にも利用されてよい。運転者RA4以外の例として、対象者は、例えば、オフィス、工場等で作業を行う作業者であってよい。
 なお、上記ステップS203において、運転者RA4の状態を推定した結果を出力する形態は任意に決定されてよい。一例として、眠気度及び疲労度の少なくとも一方を推定した場合、監視装置2A4は、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、監視装置2A4は、駐車場等に車両を停車し、休憩を取るように運転者RA4に促す警告を出力装置に出力してもよい。このように、監視装置2A4は、推定される運転者RA4の状態に応じて、警告等の特定のメッセージを出力装置に出力してもよい。
 その他の例として、自動運転の動作を制御する制御装置(不図示)を車両が備えている場合、監視装置2A4は、運転者RA4の状態を推定した結果に基づいて、車両の自動運転の動作を指示するための指令を制御装置に送信してもよい。具体例として、制御装置が、車両の走行を制御する自動運転モード及び運転者RA4の操舵により車両の走行を制御する手動運転モードの切り替え可能に構成されていると想定する。このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者RA4又はシステムから受け付けた際に、監視装置2A4は、推定された運転者RA4の余裕度が閾値を超えているか否かを判定してもよい。そして、運転者RA4の余裕度が閾値を超えている場合に、監視装置2A4は、自動運転モードから手動運転モードへの切り替えを許可する指令を制御装置に送信してもよい。一方、運転者RA4の余裕度が閾値以下である場合には、監視装置2A4は、自動運転モードから手動運転モードへの切り替えを許可しない通知を制御装置に送信し、自動運転モードでの走行を維持するようにしてもよい。
 また、手動運転モードで車両が走行している際に、監視装置2A4は、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、監視装置2A4は、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を制御装置に送信してもよい。一方で、そうではない場合には、監視装置2A4は、手動運転モードによる車両の走行を維持するようにしてもよい。
 また、手動運転モードで車両が走行している際に、監視装置2A4は、推定された余裕度が閾値以下であるか否かを判定してもよい。そして、余裕度が閾値以下である場合に、監視装置2A4は、減速する指令を制御装置に送信してもよい。一方で、そうではない場合には、監視装置2A4は、運転者RA4の操作による車両の走行を維持してもよい。なお、車両の制御装置と監視装置2A4とは一体のコンピュータにより構成されてよい。
 (B)車両状況を監視する場面
 図16は、第2変形例に係る監視システム100Bの適用場面の一例を模式的に例示する。本変形例は、車載センサSBにより得られるセンシングデータを利用して、車両の状況を監視する場面に上記実施形態を適用した例である。本変形例に係る監視システム100Bは、モデル生成装置1及び監視装置2Bを備えている。上記実施形態と同様に、モデル生成装置1及び監視装置2Bは、ネットワークを介して互いに接続されてよい。
 本変形例において取り扱われる所定種類のデータ(後述する訓練データ121B及び対象センシングデータ221B)は、車載センサSBにより得られるセンシングデータである。車載センサSBの種類は任意に選択されてよい。車載センサSBは、例えば、画像センサ、Lidarセンサ、ミリ波レーダ、超音波センサ、加速度センサ等であってよい。第1特徴は、車両の状況に関する。車両の状況は、車両の外部及び内部の少なくとも一方に関するものであってよい。車両外部の状況は、例えば、車両周囲に存在する物体の属性、混雑度、事故のリスク等により表現されてよい。車両周囲に存在する物体は、例えば、道路、信号機、障害物(人、物)等であってよい。道路の属性は、例えば、走行車線の種別、道路の種別(例えば、交差点、高速道路)、路面状態等を含んでよい。信号機の属性は、例えば、信号機の点灯状態等を含んでよい。障害物の属性は、例えば、障害物の有無、障害物の種別、障害物の大きさ、障害物の速度、障害物に関するイベント等を含んでよい。障害物に関するイベントは、例えば、人又は車両の飛び出し、急発進、急停車、車線変更等を含んでよい。事故のリスクは、例えば、事故の種別及びその事故の発生確率により表現されてよい。車両内部の状況は、例えば、車両の走行状態、車両に乗車する乗員の属性等により表現されてよい。走行状態は、例えば、速度、加速度、操舵角等の走行動作の変容により表現されてよい。乗員の属性は、例えば、乗員の状態、人数、位置、数、識別情報等を含んでよい。車両の状況に関する推定は、車両の状況を単に推定することの他、車両の状況に応じた車両に対する動作指令を推定することを含んでもよい。動作指令は、例えば、アクセル量、ブレーキ量、ハンドル操舵角、ライトの点灯、クラクションの使用等により規定されてよい。これに対して、第2特徴は、推定タスクの対象となる車両の状況以外の他の特徴から適宜選択されてよい。例えば、第2特徴は、上記車両の状況の一例のうち、推定タスクの対象に選択されなかったものから選択されてもよい。或いは、第2特徴は、例えば、観測環境等の上記車両の状況以外の要素から選択されてもよい。具体例として、第1特徴には、障害物の有無、道路の属性、混雑度、又はこれらの組み合わせが選択され、第2特徴には、天候、時間、道路の存在する場所の属性、又はこれらの組み合わせが選択されてよい。時間は、一定の時間帯により表現されてよい。時間帯の表現には、朝、昼、夜等のような時期により時間帯の長さが変動し得る表現方法が用いられてもよいし、或いは、1時から2時等のような固定的な表現方法が用いられてもよい。場所の属性は、例えば、都会、田舎等のその場所の人口密集度の種別を含んでよい。これらの限定を除き、本変形例に係る監視システム100Bは、上記実施形態に係る推定システム100と同様に構成されてよい。
 (モデル生成装置)
 本変形例では、モデル生成装置1は、上記ステップS101において、複数の学習データセット120Bを取得する。各学習データセット120Bの訓練データ121Bは、車載センサSBにより得られるセンシングデータである。第1正解データ122Bは、訓練データ121Bに表れる車両の状況であって、推定タスクの対象となる車両の状況に関する情報(正解)を示す。車両の状況に関する推定が、車両の状況に応じた車両に対する動作指令を推定することにより構成される場合、第1正解データ122Bは、訓練データ121Bに表れる車両の状況に応じた車両に対する動作指令(正解)を示す。第2正解データ123Bは、当該推定タスクの対象となる車両の状況以外の他の特徴に関する情報(正解)を示す。
 モデル生成装置1は、上記ステップS102の処理により、取得された複数の学習データセット120Bを使用して、学習モデル5の機械学習を実施する。これにより、車載センサSBにより得られるセンシングデータの入力に対して、車両の状況に関する推定の結果を出力する能力を獲得した訓練済みの符号器51及び第1推定器52を構築することができる。モデル生成装置1は、上記ステップS103の処理により、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125Bとして所定の記憶領域に適宜保存する。生成された学習結果データ125Bは、任意のタイミングで監視装置2Bに提供されてよい。
 (監視装置)
 図17Aは、本変形例に係る監視装置2Bのハードウェア構成の一例を模式的に例示する。図17Aに示されるとおり、本変形例に係る監視装置2Bは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
 本変形例では、記憶部22は、監視プログラム82B、学習結果データ125B等の各種情報を記憶する。監視プログラム82Bは、上記実施形態に係る推定プログラム82に対応する。また、本変形例では、監視装置2Bは、外部インタフェース24を介して、車載センサSBに接続される。車載センサSBは、監視対象の車両状況を観測するように適宜配置されてよい。
 なお、監視装置2Bのハードウェア構成は、このような例に限定されなくてもよい。監視装置2Bの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置2Bは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
 図17Bは、本変形例に係る監視装置2Bのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置2Bのソフトウェア構成は、制御部21による監視プログラム82Bの実行により実現される。取り扱われるデータが上記のように限定される点を除き、監視装置2Bのソフトウェア構成は、上記推定装置2と同様である。監視部212Bは、学習結果データ125Bを保持することで、訓練済みの符号器51及び第1推定器52を備えている。監視部212Bは、上記推定部212に対応する。これにより、監視装置2Bは、上記推定装置2の推定処理と同様に、車両状況の推定に関する一連の情報処理を実行することができる。
 すなわち、ステップS201では、制御部21は、監視対象の車両状況について、対象センシングデータ221Bを車載センサSBから取得する。ステップS202では、制御部21は、監視部212Bとして動作し、学習結果データ125Bを参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象センシングデータ221Bを訓練済みの符号器51に与えて、訓練済みの符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、車両の状況を推定した結果に対応する出力値を訓練済みの第1推定器52から取得する。
 ステップS203では、制御部21は、車両の状況を推定した結果に関する情報を出力する。例えば、制御部21は、車両の状況を推定した結果をそのまま出力装置26に出力してもよい。また、例えば、制御部21は、推定される車両の状況に基づいて、車両の走行に危険の生じる可能性があるか否かを判定してもよい。判定の基準は任意に設定されてよい。車両の走行に危険の生じる可能性があると判定した場合に、制御部21は、その危険を知らせるための警告を出力装置26に出力してもよい。また、例えば、車両の状況に関する推定が、車両の状況に応じた車両に対する動作指令を推定することにより構成される場合、ステップS202において、制御部21は、車両の状況を推定した結果として、車両の状況に応じた車両に対する動作指令を訓練済みの第1推定器52から取得することができる。この場合、制御部21は、取得された動作指令に基づいて車両の動作を制御してもよい。
 (特徴)
 本変形例によれば、モデル生成装置1の機械学習により、訓練済みの符号器51の出力する特徴量に、推定タスクの対象となる車両の状況に関する情報に対応する成分が含まれ、それ以外の他の特徴に対応する成分が含まれ難くすることができる。よって、他の特徴の相違に対してロバストに車両の状況に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本変形例に係る監視装置2Bでは、訓練済みの符号器51及び第1推定器52を利用することで、車両の状況に関する推定タスクが高精度に遂行されることを期待することができる。
 (C)健康状態を診断する場面
 図18は、第3変形例に係る診断システム100Cの適用場面の一例を模式的に例示する。本変形例は、センサSCにより得られるセンシングデータを利用して、対象者の健康状態を診断する場面に上記実施形態を適用した例である。本変形例に係る診断システム100Cは、モデル生成装置1及び診断装置2Cを備えている。上記実施形態と同様に、モデル生成装置1及び診断装置2Cは、ネットワークを介して互いに接続されてよい。
 本変形例において取り扱われる所定種類のデータ(後述する訓練データ121C及び対象センシングデータ221C)は、センサSCにより得られるセンシングデータである。センサSCは、対象者の状態を観測可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサSCは、例えば、バイタルセンサ、医療検査装置等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。医療検査装置は、例えば、CT装置、MRI装置等であってよい。第1特徴は、対象者の健康状態に関する。健康状態に関する情報は、例えば、健康であるか否か、病気になる予兆があるか否か、健康状態の種別、対象の病気になる確率、バイタル値(例えば、血圧、体温等)等により表現されてよい。第2特徴は、推定タスクの対象となる健康状態以外の他の特徴から適宜選択されてよい。例えば、第1特徴には、健康であるか否かを示す情報、バイタル値、又はこれらの組み合わせが選択されるのに対して、第2特徴には、対象者の年齢、性別、人種、国籍、職業、居住地、運動習慣の有無、投薬歴又はこれらの組み合わせが選択されてよい。これらの限定を除き、本変形例に係る診断システム100Cは、上記実施形態に係る推定システム100と同様に構成されてよい。
 (モデル生成装置)
 本変形例では、モデル生成装置1は、上記ステップS101において、複数の学習データセット120Cを取得する。各学習データセット120Cの訓練データ121Cは、センサSCにより得られるセンシングデータである。第1正解データ122Cは、訓練データ121Cに表れる対象者(被験者)の健康状態であって、推定タスクの対象となる健康状態に関する情報(正解)を示す。第2正解データ123Cは、当該推定タスクの対象となる健康状態以外の他の特徴に関する情報(正解)を示す。
 モデル生成装置1は、上記ステップS102の処理により、取得された複数の学習データセット120Cを使用して、学習モデル5の機械学習を実施する。これにより、センサSCにより得られるセンシングデータの入力に対して、対象者の健康状態に関する推定の結果を出力する能力を獲得した訓練済みの符号器51及び第1推定器52を構築することができる。モデル生成装置1は、上記ステップS103の処理により、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125Cとして所定の記憶領域に適宜保存する。生成された学習結果データ125Cは、任意のタイミングで診断装置2Cに提供されてよい。
 (診断装置)
 図19Aは、本変形例に係る診断装置2Cのハードウェア構成の一例を模式的に例示する。図19Aに示されるとおり、本変形例に係る診断装置2Cは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
 本変形例では、記憶部22は、診断プログラム82C、学習結果データ125C等の各種情報を記憶する。診断プログラム82Cは、上記実施形態に係る推定プログラム82に対応する。また、本変形例では、診断装置2Cは、外部インタフェース24を介して、センサSCに接続される。
 なお、診断装置2Cのハードウェア構成は、このような例に限定されなくてもよい。診断装置2Cの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。診断装置2Cは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
 図19Bは、本変形例に係る診断装置2Cのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、診断装置2Cのソフトウェア構成は、制御部21による診断プログラム82Cの実行により実現される。取り扱われるデータが上記のように限定される点を除き、診断装置2Cのソフトウェア構成は、上記推定装置2と同様である。診断部212Cは、学習結果データ125Cを保持することで、訓練済みの符号器51及び第1推定器52を備えている。診断部212Cは、上記推定部212に対応する。これにより、診断装置2Cは、上記推定装置2の推定処理と同様に、対象者の健康状態の推定に関する一連の情報処理を実行することができる。
 すなわち、ステップS201では、制御部21は、診断対象の対象者について、対象センシングデータ221CをセンサSCから取得する。ステップS202では、制御部21は、診断部212Cとして動作し、学習結果データ125Cを参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象センシングデータ221Cを訓練済みの符号器51に与えて、訓練済みの符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、対象者の健康状態を推定した結果に対応する出力値を訓練済みの第1推定器52から取得する。
 ステップS203では、制御部21は、対象者の健康状態を推定した結果に関する情報を出力する。例えば、制御部21は、対象者の健康状態を推定した結果をそのまま出力装置26に出力してもよい。また、例えば、推定された対象者の健康状態が所定の病気の予兆を示す場合、制御部21は、病院での診査を促すメッセージを出力装置26に出力してもよい。また、例えば、制御部21は、登録された病院の端末に対して、対象者の健康状態を推定した結果を送信してもよい。なお、送信先となる端末の情報は、RAM、ROM、記憶部22、記憶媒体92、外部記憶装置等の所定の記憶領域に記憶されていてよい。
 (特徴)
 本変形例によれば、モデル生成装置1の機械学習により、訓練済みの符号器51の出力する特徴量に、推定タスクの対象となる健康状態に関する情報に対応する成分が含まれ、それ以外の他の特徴に対応する成分が含まれ難くすることができる。よって、他の特徴の相違に対してロバストに対象者の健康状態に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本変形例に係る診断装置2Cでは、訓練済みの符号器51及び第1推定器52を利用することで、健康状態に関する推定タスクが高精度に遂行されることを期待することができる。
 (D)栽培状況を監視する場面
 図20は、第4変形例に係る監視システム100Dの適用場面の一例を模式的に例示する。本変形例は、環境センサSDにより得られるセンシングデータを利用して、植物RDの栽培状況を監視する場面に上記実施形態を適用した例である。本変形例に係る監視システム100Dは、モデル生成装置1及び監視装置2Dを備えている。上記実施形態と同様に、モデル生成装置1及び監視装置2Dは、ネットワークを介して互いに接続されてよい。
 本変形例において取り扱われる所定種類のデータ(後述する訓練データ121D及び対象センシングデータ221D)は、環境センサSDにより得られるセンシングデータである。環境センサSDは、植物RDの栽培状況を観測可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境センサSDは、例えば、気圧計、温度計、湿度計、音圧計、音センサ、紫外線センサ、照度計、雨量計、ガスセンサ等であってよい。植物RDの種類は任意に選択されてよい。第1特徴は、植物RDの栽培状況に関する。栽培状況は、植物RDを栽培する任意の要素に関するものであってよい。栽培状況は、例えば、栽培時点までの生育環境、生育状態等により特定されてよい。生育環境は、植物RDを生育する状況に関し、例えば、植物RDに光を照射する時間、植物RD周囲の温度、植物RDに与える水の量等により規定されてよい。生育状態は、例えば、植物RDの成長度等により規定されてよい。第2特徴は、推定タスクの対象となる栽培状況以外の他の特徴から適宜選択されてよい。例えば、第2特徴には、生育場所、環境センサSDの種別、環境センサSDの設置位置、環境センサSDの設置角度、センシングデータの取得時刻、季節、天候又はこれらの組み合わせが選択されてよい。
 また、本変形例では、監視装置2Dは、栽培装置CDに接続されてよい。栽培装置CDは、植物RDの生育環境を制御するように構成される。栽培装置CDは、植物RDの生育環境を制御可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。栽培装置CDは、例えば、カーテン装置、照明装置、空調設備、散水装置等であってよい。カーテン装置は、建物の窓に取り付けられたカーテンを開閉するように構成される。照明装置は、例えば、LED(light emitting diode)照明、蛍光灯等である。空調設備は、例えば、エアコンディショナ等である。散水装置は、例えば、スプリンクラ等である。カーテン装置及び照明装置は、植物RDに光を照射する時間を制御するために利用される。空調設備は、植物RD周囲の温度を制御するために利用される。散水装置は、植物RDに与える水の量を制御するために利用される。これらの限定を除き、本変形例に係る監視システム100Dは、上記実施形態に係る推定システム100と同様に構成されてよい。
 (モデル生成装置)
 本変形例では、モデル生成装置1は、上記ステップS101において、複数の学習データセット120Dを取得する。各学習データセット120Dの訓練データ121Dは、環境センサSDにより得られるセンシングデータである。第1正解データ122Dは、訓練データ121Dに表れる植物RDの栽培状況であって、推定タスクの対象となる植物RDの栽培状況に関する情報(正解)を示す。第2正解データ123Dは、当該推定タスクの対象となる栽培状況以外の他の特徴に関する情報(正解)を示す。
 モデル生成装置1は、上記ステップS102の処理により、取得された複数の学習データセット120Dを使用して、学習モデル5の機械学習を実施する。これにより、環境センサSDにより得られるセンシングデータの入力に対して、植物RDの栽培状況に関する推定の結果を出力する能力を獲得した訓練済みの符号器51及び第1推定器52を構築することができる。モデル生成装置1は、上記ステップS103の処理により、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125Dとして所定の記憶領域に適宜保存する。生成された学習結果データ125Dは、任意のタイミングで監視装置2Dに提供されてよい。
 (監視装置)
 図21Aは、本変形例に係る監視装置2Dのハードウェア構成の一例を模式的に例示する。図21Aに示されるとおり、本変形例に係る監視装置2Dは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
 本変形例では、記憶部22は、監視プログラム82D、学習結果データ125D等の各種情報を記憶する。監視プログラム82Dは、上記実施形態に係る推定プログラム82に対応する。また、本変形例では、監視装置2Dは、外部インタフェース24を介して、環境センサSD及び栽培装置CDに接続される。
 なお、監視装置2Dのハードウェア構成は、このような例に限定されなくてもよい。監視装置2Dの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置2Dは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
 図21Bは、本変形例に係る監視装置2Dのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置2Dのソフトウェア構成は、制御部21による監視プログラム82Dの実行により実現される。取り扱われるデータが上記のように限定される点を除き、監視装置2Dのソフトウェア構成は、上記推定装置2と同様である。監視部212Dは、学習結果データ125Dを保持することで、訓練済みの符号器51及び第1推定器52を備えている。監視部212Dは、上記推定部212に対応する。これにより、監視装置2Dは、上記推定装置2の推定処理と同様に、植物RDの栽培状況の推定に関する一連の情報処理を実行することができる。
 すなわち、ステップS201では、制御部21は、監視対象の植物RDについて、対象センシングデータ221Dを取得する。ステップS202では、制御部21は、監視部212Dとして動作し、学習結果データ125Dを参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象センシングデータ221Dを訓練済みの符号器51に与えて、訓練済みの符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、植物RDの栽培状況を推定した結果に対応する出力値を訓練済みの第1推定器52から取得する。なお、栽培状況を推定することは、収穫量が最大となるような生育環境及び作業内容の少なくとも一方を推定すること、観測される現在の生育環境において最適な作業内容を推定すること等を含んでもよい。
 ステップS203では、制御部21は、植物RDの栽培状況を推定した結果に関する情報を出力する。例えば、制御部21は、植物RDの栽培状況を推定した結果をそのまま出力装置26に出力してもよい。この場合、制御部21は、収穫量が最大となるような生育環境及び作業内容の少なくとも一方、観測される現在の生育環境において最適な作業内容等の推定結果を出力装置に出力することで、植物RDの栽培状況の改善を作業者に促してもよい。また、例えば、制御部21は、推定された栽培状況に応じて、栽培装置CDに与える制御指令を決定してもよい。栽培状況と制御指令との対応関係はテーブル形式等の参照情報により与えられてもよい。この参照情報は、RAM、ROM、記憶部22、記憶媒体92、外部記憶装置等に格納されていてもよく、制御部21は、この参照情報を参照することで、推定された栽培状況に応じて制御指令を決定してもよい。そして、制御部21は、決定された制御指令を栽培装置CDに与えることで、栽培装置CDの動作を制御してもよい。また、例えば、制御部21は、決定された制御指令を示す情報を出力装置26に出力し、植物RDの管理者に栽培装置CDの動作を制御するように促してもよい。
 (特徴)
 本変形例によれば、モデル生成装置1の機械学習により、訓練済みの符号器51の出力する特徴量に、推定タスクの対象となる植物RDの栽培状況に関する情報に対応する成分が含まれ、それ以外の他の特徴に対応する成分が含まれ難くすることができる。よって、他の特徴の相違に対してロバストに植物RDの栽培状況に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本変形例に係る監視装置2Dでは、訓練済みの符号器51及び第1推定器52を利用することで、栽培状況に関する推定タスクが高精度に遂行されることを期待することができる。
 なお、環境センサSDにより植物RDの状態を観測することで得られるセンシングデータは、植物RDの栽培状況の監視に利用可能な観測データの一例である。植物RDに関する観測データは、当該センシングデータの例に限定されなくてもよい。植物RDに関する観測データは、例えば、環境センサSDにより得られるセンシングデータ、作業者の入力により得られる植物RDの観察データ、又はこれらの組み合わせにより構成されてよい。観察データは、例えば、作業記録データ、環境記録データ、又はこれらの組み合わせにより構成されてよい。作業記録データは、例えば、摘花、摘葉、摘芽等の作業の有無、実行日時、量等を示す情報により構成されてよい。また、環境記録データは、作業者が植物RD周囲の環境(例えば、天候、気温、湿度等)を観測した結果を示す情報により構成されてよい。上記第4変形例では、このような観測データが、所定種類のデータとして取り扱われてよい。
 (E)その他
 上記各変形例は、センサにより得られるセンシングデータから観測の対象の属性を推定する場面の一例である。センサ及び観測の対象は、上記の例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、センシングデータに表れる任意の対象の属性に関する推定を行う様々な場面に適用されてよい。この場合、第1特徴は、センサにより観測する対象の属性であってよく、第2特徴は、センシングデータに表れ得る対象の属性以外の他の特徴であってよい。これにより、他の特徴の相違に対してロバストに観測対象の属性に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。
 図22は、センシングデータに表れる対象の属性を推定する他の場面の一例を模式的に例示する。図22に例示される監視システムは、モデル生成装置1及び監視装置2Eを備えている。監視装置2Eの構成は、上記検査装置2A等と同様であってよい。図22の例において取り扱われる所定種類のデータは、機械REの状態を監視するためのセンサSEにより得られるセンシングデータであってよい。センサSEは、例えば、マイクロフォン、加速度センサ、振動センサ等であってよい。これに応じて、得られるセンシングデータは、機械REの振動(音を含む)に関するものであってよい。
 この場合、第1特徴は、機械REの経年劣化、故障、動作不良等の機械REの異常に関するものであってよい。一方、第2特徴は、機械REの異常以外の他の特徴であってよく、例えば、機械REの通常運転時に生じる振動、機械REの周囲の振動等の運用環境で通常的に生じる振動に関するものであってよい。機械RE及び異常の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械REは、例えば、コンベア装置、産業用ロボット、成型機、半導体製造装置、基板実装機等の製造ラインを構成する装置であってよい。製造ラインは、組み立てラインを含んでよい。機械REは、装置全体であってもよいし、スイッチ、モータ等の装置の一部であってもよい。機器REが、製造ラインを構成する装置である場合、機器REの異常は、例えば、位置ずれ、圧力の過不足、部品又は製品の噛み込み、しわの発生、ライン速度の異常、部品又は製品に欠陥が発生する等の装置の動作不良であってもよい。機器REがモータである場合、異常は、例えば、トルク、回転数等に関するモータの動作不良であってよい。第1特徴に関する推定は、例えば、機械REに異常が生じているか否かを判定すること、機械REに異常が生じている確率を判定すること、機械REに発生した又は予兆のある異常の種類を識別すること、異常の発生した箇所を特定すること又はこれらの組み合わせにより表現されてよい。
 これにより、モデル生成装置1は、運用環境で通常的に生じる振動等の他の特徴の相違に対してロバストに機械REの異常に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。監視装置2Eは、上記検査装置2Aと同様の手順により、機械REの異常に関する推定タスクを遂行することができる。本変形例に係る監視システムは、機械REの状態を監視するあらゆる場面に利用されてよい。
 その他の一例として、所定種類のデータは、ホームセキュリティセンサにより得られるセンシングデータであってよい。ホームセキュリティセンサは、例えば、画像センサ、赤外線センサ、活性度(音声)センサ、ガス(CO2等)センサ、電流センサ、スマートメータ(家電、照明等の電力使用量を計測するセンサ)等であってよい。この場合、第1特徴は、侵入者が存在するか否か等の監視範囲のセキュリティ状態に関するものであってよい。第2特徴は、セキュリティ状態以外の他の特徴であってよく、例えば、運用環境で通常的に生じる成分等に関するものであってよい。
 <4.2>
 上記実施形態では、符号器51、第1推定器52、及び第2推定器53それぞれには、全結合型のニューラルネットワークが用いられている。しかしながら、それぞれを構成するニューラルネットワークの種類は、このような例に限定されなくてもよい。符号器51、第1推定器52、及び第2推定器53それぞれには、例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が用いられてよい。
 また、上記実施形態において、符号器51、第1推定器52、及び第2推定器53それぞれを構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてもよい。符号器51、第1推定器52、及び第2推定器53それぞれには、ニューラルネットワーク以外に、例えば、サポートベクタマシン、回帰モデル等が用いられてよい。機械学習の方法は、それぞれの機械学習モデルの種類に応じて適宜選択されてよい。
 また、上記実施形態において、符号器51、第1推定器52、及び第2推定器53それぞれの入力及び出力の形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、第1推定器52は、特徴量以外の情報の入力を更に受け付けるように構成されてもよい。また、第1推定器52の出力は、第1特徴の推定結果を直接的に示すように構成されてもよい。或いは、第1推定器52の出力は、例えば、対象の状態にあるか否かを判定するために対象の状態にある確率を示す等のように、第1特徴の推定結果を間接的に示すように構成されてもよい。その他についても同様である。
 <4.3>
 上記実施形態では、ステップS123の処理は、ステップS121及びステップS122の処理と共に繰り返し実行される。しかしながら、学習モデル5の機械学習の処理手順は、このような例に限定されなくてもよい。ステップS123の処理は、ステップS121及びステップS122の処理を交互に繰り返し実行する前後の少なくともいずれかに実行されてよい。
 1…モデル生成装置、
 11…制御部、12…記憶部、
 13…通信インタフェース、14…外部インタフェース、
 15…入力装置、16…出力装置、17…ドライブ、
 111…データ取得部、112…学習処理部、
 113…保存処理部、
 120…学習データセット、
 121…訓練データ、
 122…第1正解データ、123…第2正解データ、
 125…学習結果データ、
 81…モデル生成プログラム、91…記憶媒体、
 2…推定装置、
 21…制御部、22…記憶部、
 23…通信インタフェース、24…外部インタフェース、
 25…入力装置、26…出力装置、27…ドライブ、
 211…データ取得部、212……推定部、
 213…出力部、
 221…対象データ、
 5…学習モデル、
 51…符号器、52…第1推定器、
 53…第2推定器

Claims (11)

  1.  訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、
     符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施する学習処理部であって、
     前記符号器は、与えられた入力データを特徴量に変換するように構成され、
     前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、
     前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、
     前記機械学習を実施することは、
      前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、
      前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、
      前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、
    を含み、
     前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、
    学習処理部と、
    を備える、
    モデル生成装置。
  2.  前記第3訓練ステップは、前記第1訓練ステップ及び前記第2訓練ステップと共に繰り返し実行される、
    請求項1に記載のモデル生成装置。
  3.  前記第2訓練ステップでは、前記各学習データセットについて、前記第2正解データに対応するダミーデータであって、対応する前記第2正解データとは異なる値で構成されるダミーデータが取得され、
     前記推定の結果が前記第2正解データに適合しなくなるように前記符号器を訓練することは、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記ダミーデータに適合するように前記符号器を訓練することにより構成される、
    請求項1又は2に記載のモデル生成装置。
  4.  前記ダミーデータは、対応する学習データセットとは異なる学習データセットの第2正解データにより構成される、
    請求項3に記載のモデル生成装置。
  5.  前記第1特徴は、所定の推定の対象となる第1成分に関し、
     前記第2特徴は、前記第1成分とは異なる第2成分であって、前記第1成分についての前記所定の推定に影響を与える第2成分に関する、
    請求項1から4のいずれか1項に記載のモデル生成装置。
  6.  前記訓練データは、前景及び背景を含む画像データであり、
     前記第1特徴は、前記前景に関し、
     前記第2特徴は、前記背景に関する、
    請求項1から4のいずれか1項に記載のモデル生成装置。
  7.  前記訓練データは、対象物の写る画像データであり、
     前記第1特徴は、前記対象物の属性であり、
     前記第2特徴は、前記対象物の属性以外の他の特徴である、
    請求項1から4のいずれか1項に記載のモデル生成装置。
  8.  前記対象物は、製品であり、
     前記対象物の属性は、前記製品の欠陥に関する、
    請求項7に記載のモデル生成装置。
  9.  対象データを取得するデータ取得部と、
     請求項1から8のいずれか1項に記載のモデル生成装置により生成された訓練済みの前記符号器及び前記第1推定器を利用して、取得された前記対象データに含まれる第1特徴を推定する推定部と、
     前記第1特徴を推定した結果に関する情報を出力する出力部と、
    を備える、
    推定装置。
  10.  コンピュータが、
     訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
     符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施するステップであって、
     前記符号器は、与えられた入力データを特徴量に変換するように構成され、
     前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、
     前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、
     前記機械学習を実施することは、
      前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、
      前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、
      前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、
    を含み、
     前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、
    ステップと、
    を実行する、
    モデル生成方法。
  11.  コンピュータに、
     訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
     符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施するステップであって、
     前記符号器は、与えられた入力データを特徴量に変換するように構成され、
     前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、
     前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、
     前記機械学習を実施することは、
      前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、
      前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、
      前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、
    を含み、
     前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、
    ステップと、
    を実行させるための、
    モデル生成プログラム。
PCT/JP2020/041451 2019-11-21 2020-11-06 モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム WO2021100482A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20891324.4A EP4064184A4 (en) 2019-11-21 2020-11-06 MODEL GENERATING APPARATUS, ESTIMATION APPARATUS, MODEL GENERATING METHOD AND MODEL GENERATING PROGRAM
US17/772,161 US20220406042A1 (en) 2019-11-21 2020-11-06 Model generation apparatus, estimation apparatus, model generation method, and computer-readable storage medium storing a model generation program
CN202080071408.1A CN114556448A (zh) 2019-11-21 2020-11-06 模型生成装置、推断装置、模型生成方法以及模型生成程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-210873 2019-11-21
JP2019210873A JP2021082154A (ja) 2019-11-21 2019-11-21 モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム

Publications (1)

Publication Number Publication Date
WO2021100482A1 true WO2021100482A1 (ja) 2021-05-27

Family

ID=75963243

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/041451 WO2021100482A1 (ja) 2019-11-21 2020-11-06 モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム

Country Status (5)

Country Link
US (1) US20220406042A1 (ja)
EP (1) EP4064184A4 (ja)
JP (1) JP2021082154A (ja)
CN (1) CN114556448A (ja)
WO (1) WO2021100482A1 (ja)

Citations (11)

* 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 検査装置
JP2013521844A (ja) * 2010-03-11 2013-06-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ モデルベースのセグメント化の確率向上
JP2014049118A (ja) 2012-08-31 2014-03-17 Fujitsu Ltd 畳み込みニューラルネットワーク分類器システム、その訓練方法、分類方法および用途
JP2017111806A (ja) 2015-12-17 2017-06-22 ゼロックス コーポレイションXerox Corporation 畳み込みニューラルネットワークによるナンバープレート認識のための粗から細へのカスケードによる適応
JP2017194948A (ja) 2016-04-15 2017-10-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報提示制御装置、自動運転車、及び自動運転車運転支援システム
JP6264492B1 (ja) 2017-03-14 2018-01-24 オムロン株式会社 運転者監視装置、運転者監視方法、学習装置及び学習方法
JP2018175343A (ja) 2017-04-12 2018-11-15 富士フイルム株式会社 医用画像処理装置および方法並びにプログラム
JP2018189522A (ja) 2017-05-08 2018-11-29 キユーピー株式会社 設備故障の予兆診断方法
JP2019071050A (ja) 2017-10-06 2019-05-09 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2019087181A (ja) * 2017-11-10 2019-06-06 アズビル株式会社 画像検査装置および方法
JP2019083746A (ja) 2017-11-07 2019-06-06 ヤンマー株式会社 作物生産管理装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013521844A (ja) * 2010-03-11 2013-06-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ モデルベースのセグメント化の確率向上
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP2014049118A (ja) 2012-08-31 2014-03-17 Fujitsu Ltd 畳み込みニューラルネットワーク分類器システム、その訓練方法、分類方法および用途
JP2017111806A (ja) 2015-12-17 2017-06-22 ゼロックス コーポレイションXerox Corporation 畳み込みニューラルネットワークによるナンバープレート認識のための粗から細へのカスケードによる適応
JP2017194948A (ja) 2016-04-15 2017-10-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報提示制御装置、自動運転車、及び自動運転車運転支援システム
JP6264492B1 (ja) 2017-03-14 2018-01-24 オムロン株式会社 運転者監視装置、運転者監視方法、学習装置及び学習方法
JP2018175343A (ja) 2017-04-12 2018-11-15 富士フイルム株式会社 医用画像処理装置および方法並びにプログラム
JP2018189522A (ja) 2017-05-08 2018-11-29 キユーピー株式会社 設備故障の予兆診断方法
JP2019071050A (ja) 2017-10-06 2019-05-09 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2019083746A (ja) 2017-11-07 2019-06-06 ヤンマー株式会社 作物生産管理装置
JP2019087181A (ja) * 2017-11-10 2019-06-06 アズビル株式会社 画像検査装置および方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4064184A4

Also Published As

Publication number Publication date
JP2021082154A (ja) 2021-05-27
CN114556448A (zh) 2022-05-27
US20220406042A1 (en) 2022-12-22
EP4064184A1 (en) 2022-09-28
EP4064184A4 (en) 2024-01-10

Similar Documents

Publication Publication Date Title
JP7162550B2 (ja) モデル生成装置、予測装置、モデル生成方法、及びモデル生成プログラム
JP7003953B2 (ja) 学習装置、推定装置、データ生成装置、学習方法、及び学習プログラム
US20220058525A1 (en) Model integration apparatus, model integration method, computer-readable storage medium storing a model integration program, inference system, inspection system, and control system
WO2021176984A1 (ja) モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
US20220358749A1 (en) Inference apparatus, inference method, and computer-readable storage medium storing an inference program
US11531899B2 (en) Method for estimating a global uncertainty of a neural network
JP2021056677A (ja) データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム
US20220067584A1 (en) Model generation apparatus, model generation method, computer-readable storage medium storing a model generation program, model generation system, inspection system, and monitoring system
WO2021100483A1 (ja) モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
CN115249066A (zh) 分位数神经网络
WO2021100482A1 (ja) モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
NL2018125B1 (en) Assessment system and assessment method
WO2021182000A1 (ja) パラメータ調整装置、推論装置、パラメータ調整方法、及びパラメータ調整プログラム
US20240161259A1 (en) Inference device, model generation device, inference method, and non-transitory computer storage media
KR102480150B1 (ko) 3차원 멀티채널 데이터를 이용한 질환 발병 예측 시스템 및 방법
CN116882122A (zh) 用于自动驾驶的仿真环境的构建的方法和装置
CN117321693A (zh) 校准电子化学传感器以在嵌入空间中生成嵌入

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: 20891324

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020891324

Country of ref document: EP

Effective date: 20220621