WO2021014878A1 - 推論装置、推論方法、及び推論プログラム - Google Patents
推論装置、推論方法、及び推論プログラム Download PDFInfo
- Publication number
- WO2021014878A1 WO2021014878A1 PCT/JP2020/024998 JP2020024998W WO2021014878A1 WO 2021014878 A1 WO2021014878 A1 WO 2021014878A1 JP 2020024998 W JP2020024998 W JP 2020024998W WO 2021014878 A1 WO2021014878 A1 WO 2021014878A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- inference
- data
- model
- target
- machine learning
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 525
- 230000010354 integration Effects 0.000 claims abstract description 188
- 238000010801 machine learning Methods 0.000 claims description 761
- 238000004364 calculation method Methods 0.000 claims description 220
- 238000012549 training Methods 0.000 claims description 180
- 238000012545 processing Methods 0.000 claims description 169
- 238000012986 modification Methods 0.000 claims description 143
- 230000004048 modification Effects 0.000 claims description 143
- 230000008569 process Effects 0.000 claims description 125
- 230000007613 environmental effect Effects 0.000 claims description 119
- 230000002787 reinforcement Effects 0.000 claims description 87
- 230000006399 behavior Effects 0.000 claims description 51
- 230000033001 locomotion Effects 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 29
- 238000005094 computer simulation Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 description 123
- 230000006870 function Effects 0.000 description 109
- 238000007689 inspection Methods 0.000 description 73
- 230000010365 information processing Effects 0.000 description 58
- 230000009471 action Effects 0.000 description 45
- 239000003795 chemical substances by application Substances 0.000 description 38
- 238000013528 artificial neural network Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 31
- 210000002569 neuron Anatomy 0.000 description 27
- 230000007704 transition Effects 0.000 description 25
- 230000007547 defect Effects 0.000 description 23
- 238000001514 detection method Methods 0.000 description 20
- 238000004458 analytical method Methods 0.000 description 16
- 230000000052 comparative effect Effects 0.000 description 12
- 238000009434 installation Methods 0.000 description 9
- 238000005259 measurement Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000003066 decision tree Methods 0.000 description 8
- 238000010304 firing Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 7
- 238000012886 linear function Methods 0.000 description 6
- 238000013213 extrapolation Methods 0.000 description 5
- 238000011478 gradient descent method Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 3
- 238000013441 quality evaluation Methods 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 210000000689 upper leg Anatomy 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 210000002414 leg Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Definitions
- the present invention relates to an inference device, an inference method, and an inference program.
- sensors such as cameras (photographing devices), microphones, temperature sensors, and illuminance sensors have been used in various situations to observe some kind of object.
- a technique of photographing the manufactured product with a photographing device and inspecting the quality of the product based on the obtained image data is used.
- the optimum observation method by the sensor may be different. For example, when inspecting the state of a product in a bright place, the shutter speed of the photographing device should be fast, and when inspecting the state of the product in a dark place, the shutter speed of the photographing device should be slow.
- the optimum observation method by the sensor may differ depending on the time zone. For example, the brightness at the target location may differ depending on the time zone. Also, for example, in different seasons, the brightness at the target location may be different even in the same time zone. That is, if the observation environment is different, the optimum observation method by the sensor may be different.
- the observation by the sensor is systematically carried out even in different environments.
- a method of systematically carrying out observation by a sensor it is conceivable to manually standardize the observation method by a sensor.
- the observation environment is diverse, it is difficult to uniformly standardize the observation method.
- a standardized observation method cannot be realized due to human subjectivity when installing the sensor.
- the standardized observation method cannot be realized in each environment due to human factors.
- Patent Document 1 proposes a method of optimizing the detection conditions of alignment marks formed on a substrate. Specifically, a plurality of marks formed on the substrate are detected by using a mark detection system under a plurality of illumination conditions and imaging conditions. Next, the detection signal from the mark detection system is analyzed by a predetermined signal processing algorithm, and the determination amount regarding the waveform shape of the detection signal is calculated. Then, the reproducibility of the detection results of the plurality of marks is evaluated based on the obtained determination amount, and the plurality of illumination conditions and the imaging conditions are optimized based on the evaluation results. According to the method of Patent Document 1, the illumination condition and the imaging condition can be optimized so as to match the detection of the mark by a predetermined signal processing algorithm in each environment.
- Non-Patent Document 1 proposes a method of optimizing the directivity of an ultrasonic array sensor by using reinforcement learning.
- Japanese Unexamined Patent Publication No. 2012-308794 Japanese Unexamined Patent Publication No. 2012-216158 Japanese Unexamined Patent Publication No. 2011-059924 JP-A-2017-173874 JP-A-2018-0516664 JP-A-2019-067238 Japanese Unexamined Patent Publication No. 2019-087096
- the inventors of the present invention have found that the above-mentioned conventional optimization method has the following problems.
- the observation method of the sensor is optimized in each environment.
- machine learning such as supervised learning, unsupervised learning, and reinforcement learning
- learning data is collected in each environment and learned by machine learning using the collected learning data.
- the trained machine learning model can properly perform predetermined inference (in this case, estimating the optimum observation method of the sensor) when operated in the same environment as the environment in which the training data was collected. ..
- the trained machine learning model may not always be able to properly execute the predetermined inference. Therefore, basically, when optimizing the observation method of the sensor in a new environment, learning data is collected in the target new environment, and the collected learning data is used to make a new learned machine. Machine learning will be carried out to build a learning model. Therefore, the conventional method has a problem that it is costly to optimize the observation method of the sensor in a new environment.
- a trained machine learning model causes similar problems everywhere a given reasoning is performed.
- the scenes in which a predetermined inference is executed by the trained machine learning model include a scene in which the optimum observation method of the sensor is estimated, a scene in which a moving object is predicted, and a conversation strategy suitable for the user. It is a scene to estimate, a scene to estimate an operation command of a robot device suitable for a task, and the like.
- Cited Document 3 it is proposed to let the hidden Markov model acquire the ability to predict the movement route of the user.
- Cited Document 4 proposes that deep reinforcement learning allows the learner to acquire the ability to determine a response in which subsequent remarks approach the purpose of the meeting.
- Cited Document 5 the operating conditions of an industrial robot equipped with a hand as a robot device, and the ability to determine the operating conditions related to the position / orientation, cycle time, torque, and vibration of an article, can be acquired by a learning model by enhanced learning. Proposed.
- Cited Document 6 it is proposed that the learning model learns the ability to determine the control content of the controlled equipment as a robot device by reinforcement learning.
- Cited Document 7 it is proposed to let a learning model acquire the ability to determine the behavior of an autonomous driving vehicle as a robot device by reinforcement learning.
- the trained machine learning model may not always be able to properly execute a predetermined reasoning when it is operated in an environment different from the environment in which the learning data is collected. Therefore, there may be a problem that it is costly to construct a trained machine learning model that can appropriately execute a predetermined inference in a new environment.
- the above problems are not unique to the scene of constructing a trained machine learning model by machine learning.
- an inference model configured to execute a predetermined inference is derived from learning data by a method other than machine learning, such as manual rule making.
- manual rule making For example, assume a situation where an inference model is manually generated by rule making. Even in this situation, if the inference model is operated in an environment different from the environment in which the training data was collected, there is a possibility that inputs that are not taken into consideration during generation may be given, and the inference model properly executes a predetermined inference. It is not always possible. Therefore, there may be a problem that it is costly to construct an inference model that can appropriately execute a predetermined inference in a new environment.
- the present invention has been made in view of such circumstances, and an object of the present invention is to reduce the cost of constructing an inference model capable of appropriately executing a predetermined inference in a new environment. Is to provide the technology for.
- the present invention adopts the following configuration in order to solve the above-mentioned problems.
- the inference device acquires the first data acquisition unit that acquires the predetermined target data that is the target of the predetermined inference, and the environmental data related to the environment of the target that executes the predetermined inference.
- the target data is given to each of the second data acquisition unit and a plurality of inference models derived so as to execute the predetermined inference from local learning data obtained under different environments, and the predetermined inference model is given the predetermined inference model. Integrates the inference results of each inference model according to the integration rule with the result acquisition unit that acquires the inference results of each inference model for the acquired inference model by executing the inference of.
- an integration unit that generates inference results for the target data under the target environment, and the integration rule emphasizes the inference results of each inference model under the target environment. Integrating the inference results of each inference model according to the inference rules, which is composed of a plurality of inference parameters to be defined, determines the value of each inference parameter according to the acquired environmental data.
- An integration unit comprising weighting the inference results of each inference model and integrating the weighted inference results of each inference model using the values of the respective integration parameters. It includes an output unit that outputs information about the generated inference result.
- the inference device related to the configuration executes a predetermined inference under the target environment by using a plurality of inference models derived from local learning data obtained under different environments. Specifically, the inference device related to the configuration gives each inference model the target data to be the target of the predetermined inference, and causes each inference model to execute the predetermined inference for the target data. Get the inference result of the inference model. Then, the inference device related to the configuration integrates the inference results of each inference model according to the integration rule to generate the inference result for the target data under the target environment. In this way, the inference device according to the configuration utilizes a plurality of already constructed inference models instead of constructing a new inference model in order to execute a predetermined inference under the target environment.
- the integration rule is composed of a plurality of integration parameters that specify the degree to which the inference result of each inference model is emphasized in the target environment.
- the inference model derived from the local learning data obtained in a learning environment similar to the target environment has higher inference accuracy for the target data obtained in the target environment.
- the inference model derived from the local learning data obtained in the learning environment that is not similar to the target environment has lower inference accuracy for the target data obtained in the target environment.
- the plurality of inference models may include an inference model that is recommended to be preferentially used in the target environment.
- the inference device related to the configuration determines the value of each integration parameter of the integration rule according to the environmental data regarding the target environment in which the predetermined inference is executed. For example, the value of each integrated parameter may be determined so that the inference result of at least one of the inference model of the learning environment similar to the target environment and the inference model of high priority is emphasized. Then, the inference device according to the configuration weights the inference results of each inference model using the determined values of the integrated parameters, and integrates the inference results of each of the weighted inference models.
- the knowledge (inference model) obtained in various environments is customized to suit the new environment by adjusting the degree of emphasis on the inference of each inference model according to the target environment. can do. As a result, a predetermined reasoning can be appropriately executed in the target environment.
- the configuration it is possible to appropriately execute a predetermined inference under the target environment by using a plurality of inference models derived from local learning data obtained under different environments. That is, by utilizing a plurality of inference models that have already been constructed, it is possible to construct a new inference model that can appropriately execute a predetermined inference under the target environment. Therefore, it is possible to save the trouble of collecting new learning data under the target environment and deriving a new inference model from the collected new learning data. Therefore, according to the configuration, it is possible to reduce the cost of constructing an inference model capable of appropriately executing a predetermined inference in a new environment.
- executing "predetermined inference” means executing some estimation processing based on unknown target data.
- the content of the inference does not have to be particularly limited and may be appropriately determined according to the embodiment.
- the inference may be regression or identification.
- Predetermined reasoning includes, for example, estimating the optimum observation method of the sensor, predicting the moving path of the moving object, estimating the conversation strategy suitable for the user, and operating the robot device suitable for the task. It may be an estimation or the like.
- the expression of the inference result may be appropriately determined according to the content of the inference.
- the inference result may be expressed by, for example, a continuous value by regression, a probability of belonging to a class, or the like. Further, the inference result may be represented by, for example, one or more numerical values or one or more classes.
- the type of the "target data” is not particularly limited as long as it is used in a predetermined inference, and may be appropriately selected according to the content of the inference.
- the target data may be, for example, image data, sound data, numerical data, text data, or other observation data obtained by a sensor.
- the target data may be read as "input data”.
- the type of "environmental data” does not have to be particularly limited as long as it relates to the environment of the target for executing a predetermined inference, and may be appropriately selected according to the embodiment.
- the environment in which a predetermined inference is executed is, for example, an environment in which target data can be obtained.
- the environmental attributes from which the target data are obtained may include any event that may be related to the inference, such as the object or user's attributes that are directly or indirectly related to the given inference.
- the environmental data may be, for example, image data, sound data, numerical data, text data, or other observation data obtained by a sensor.
- the method of acquiring each of the target data and the environmental data does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the target data and the environmental data may be derived from the same observation data obtained by the same sensor, or may be derived from different sensors. It may be derived from observational data.
- the target data and the environmental data may include data that is at least partially common.
- each inference model is not particularly limited as long as a predetermined inference can be executed, and may be appropriately determined according to the embodiment.
- Each inference model may be composed of, for example, a data table, a function expression, a rule, or the like.
- the format and content of the output (inference result) of each inference model used for inference do not necessarily have to be exactly the same.
- At least one of the output formats and contents of each inference model may differ to the extent that the inference results of each inference model can be integrated.
- a plurality of inference models that estimate the motion commands of robot devices having different numbers of joints may be used to estimate the motion commands of the robot devices in the target environment.
- the method of integrating the inference results of each inference model does not have to be particularly limited, and may be appropriately determined according to the embodiment. For example, integrating the inference results of each inference model may consist of averaging or majority voting.
- the difference in the environment for obtaining local learning data means that, for example, the events that can affect a predetermined reasoning such as time, place, object, user, etc. are at least partially different.
- local training data acquired at different locations may be treated as local training data obtained under different environments.
- the local learning data acquired at the same place at different times may be treated as the local learning data obtained under different environments.
- the local training data used to derive each inference model may contain at least partially identical data.
- the method for deriving each inference model does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the derivation of each inference model may be performed manually or by machine learning.
- the machine learning method for example, supervised learning, unsupervised learning, reinforcement learning, and the like may be used.
- the format and type of the local learning data are not particularly limited, and may be appropriately determined depending on, for example, a method for deriving each inference model, a predetermined inference content, and the like.
- each inference model may be composed of a trained machine learning model that has acquired the ability to execute the predetermined inference by machine learning using the local learning data. According to this configuration, it is possible to reduce the cost of constructing a trained machine learning model that can appropriately execute a predetermined inference in a new environment.
- the inference device is a learning processing unit that executes machine learning of an arithmetic model for calculating the value of each integration parameter from the environment data, and the machine learning is calculated for each of the integrations.
- a learning processing unit may be further provided, which is configured by training the computational model so that the value of the parameter conforms to the predetermined reasoning under the target environment.
- the integration rule may further comprise a trained computational model constructed by the machine learning. Then, the value of each integrated parameter is determined according to the environment data by giving the environment data to the trained calculation model and executing the calculation process of the trained calculation model. It may be configured by acquiring the value of each of the integrated parameters as the output of the trained calculation model. According to this configuration, the integrated rules including the trained arithmetic model constructed by machine learning can more appropriately execute a predetermined inference in the target environment.
- the number of parameters of the inference model depends on the number of dimensions of the target data and the representation format of the inference result.
- the number of parameters of the calculation model depends on the number of dimensions of the environment data and the number of inference models used for a predetermined inference under the target environment. Therefore, as at least one of the target data and the inference content becomes more complicated, the number of parameters of the inference model increases significantly, whereas the increase in the number of parameters of the arithmetic model can be suppressed.
- the number of parameters of the inference model depends on the number of pixels of the image data and the number of states that the camera can take, and can be on the order of more than 1,000.
- the number of parameters of the arithmetic model depends on the number of dimensions of brightness and the number of inference models, but even if dozens of inference models are used to estimate the optimum observation method, it is at most several tens to several hundreds. It is an order of.
- the number of parameters of the calculation model is smaller than the number of parameters of the inference model. Since the cost of machine learning depends on the number of parameters, the cost of constructing a trained arithmetic model by machine learning can be kept lower than the cost of constructing a trained machine learning model as a new inference model. Therefore, even in this configuration, it is possible to reduce the cost of constructing a trained machine learning model that can appropriately execute a predetermined inference in a new environment.
- machine learning of the calculation model may be executed by an information processing device (computer) other than the inference device.
- the arithmetic model includes a plurality of arithmetic parameters for calculating the value of each integrated parameter.
- Machine learning of the computational model may be to adjust the values of the computational parameters to obtain the desired output that matches the environment of interest. That is, training the arithmetic model so that the calculated value of each integrated parameter matches a predetermined inference under the target environment means that the inference result of each inference model is used to use the calculated value of each integrated parameter.
- the value of the calculation parameter of the calculation model may be adjusted so that the value of each integration parameter is calculated from the environment data so that the result of integrating the above is suitable as the inference result under the target environment.
- the machine learning of the calculation model may be composed of reinforcement learning in which rewards are set according to the appropriateness of the inference result generated by the integration, and the calculation model is trained. This may include repeating the modification of the values of the arithmetic parameters constituting the arithmetic model so that a large amount of the reward can be obtained.
- the correction of the value of the calculation parameter may be repeated until a predetermined condition is satisfied, for example, the amount of correction of the value of the calculation parameter is equal to or less than the threshold value.
- a predetermined reasoning can be performed more appropriately in the target environment by the integrated rule including the trained calculation model constructed by reinforcement learning.
- the appropriateness indicates that the inference result generated by the integration is appropriate and to some extent.
- the observation data conforming to the predetermined conditions for example, the image conforming to the visual inspection of the product. The more the data) can be acquired by the sensor, the more appropriate the estimation result of the observation method may be evaluated. Further, for example, in the scene of predicting the moving route of a moving body, the more accurate the predicted route obtained by the integration, the more appropriate the prediction result of the route may be evaluated.
- the more the conversation strategy obtained by integration is more suitable for the user the more appropriate the estimation result of the conversation strategy may be evaluated.
- the estimation result of the operation command is more appropriate as the operation command obtained by integration is more suitable for the task. ..
- the appropriateness may be automatically calculated by a computer based on a predetermined index, or may be specified by an operator's input. That is, the evaluation of the appropriateness may be performed by a computer or by an operator.
- determining the value of each integrated parameter according to the environment data is a learning environment relating to the environment in which the local learning data used for deriving each inference model is obtained. Acquiring data, calculating the acquired learning environment data and the goodness of fit of the environmental data, and determining the value of each integrated parameter for each inference model according to the calculated goodness of fit. It may be composed of. According to this configuration, based on the result of comparison between the environment data and the learning environment data (that is, the goodness of fit), the more similar the learning environment is to the target environment, the more important the inference result of the inference model is. The value of each integration parameter can be determined. Therefore, according to the configuration, it is possible to reduce the cost of constructing an inference model capable of appropriately executing a predetermined inference in a new environment by a simple method.
- the inference device has a parameter setting unit that accepts the designation of the value of at least one of the plurality of integrated parameters and sets the value of the at least one integrated parameter to the specified value. Further may be provided. Correspondingly, weighting the inference result of each of the inference models also includes weighting the inference result of the inference model corresponding to the at least one integrated parameter using the set values. Good. According to this configuration, at least a part of the values of each integrated parameter applied to the inference result of each inference model can be determined by the operator's specification. As a result, the intention of the operator (for example, emphasizing the inference result of a specific inference model) can be reflected in a predetermined inference under the target environment.
- the inference device related to each of the above aspects may be applied to any situation in which some inference is executed by the inference model.
- the scenes in which some inference is executed are, for example, the scene in which the optimum observation method of the sensor is estimated, the scene in which the moving path of the moving object is predicted, the scene in which the conversation strategy suitable for the user is estimated, and the robot device suitable for the task. This is a scene where the operation command of is estimated.
- the scene in which some inference is executed may be a scene in which a feature appearing in the observation data obtained by the sensor is estimated, such as a scene in which the attribute of the subject captured in the image data obtained by the camera is estimated. ..
- the scene in which some inference is executed may be a scene in which the characteristics related to the observation conditions of the sensor are estimated from the observation data obtained by the sensor.
- Features relating to the observation condition may include any event that may be related to the observation condition, for example, the distance between the sensor and the observation target, the brightness around the observation target, and the like.
- the predetermined inference may be to estimate the features appearing in the observation data obtained by the sensor from the observation data.
- the target data may be observation data obtained by the sensor.
- the environmental data may relate to the environment in which the observation data is acquired. Estimating the features appearing in the observation data obtained by the sensor may estimate the attributes of the subject appearing in the image data obtained by the camera. According to this configuration, it is possible to reduce the cost of constructing an inference model that can appropriately execute a predetermined inference in a new environment in the scene of estimating the characteristics appearing in the observation data obtained by the sensor. ..
- the inference device may be appropriately read as, for example, an inspection device, a prediction device, a conversation device, a control device, and the like so as to match the inference content.
- the predetermined inference is an appropriate observation state for obtaining observation data conforming to a predetermined condition from the current observation state in which the attribute of the object is observed by the sensor. It may be to estimate how to change to.
- the target data may relate to the current observation state of the target sensor.
- the environmental data may relate to the observation environment of the object on which the object sensor observes the attributes of the object. According to this configuration, it is possible to reduce the cost of constructing an inference model capable of appropriately estimating the optimum observation method of the sensor in a new environment when observing the attributes of the object with the sensor.
- the acquisition of observation data that meets the predetermined conditions corresponds to the appropriate observation state of the sensor.
- the "predetermined condition" may be appropriately defined according to the observation purpose of the sensor. For example, when obtaining observation data for product defect detection, the predetermined conditions are whether or not defect detection is possible based on the observation data obtained by the sensor, and whether the accuracy of defect detection meets the criteria. It may be defined according to the performance of other inferences for the observed data obtained by the sensor, such as whether or not.
- Product defect detection may be replaced by subject quality assessment (eg, crop growth assessment).
- subject quality assessment eg, crop growth assessment
- the environmental data may be obtained by another sensor that is different from the target sensor and that observes the target observation environment. According to this configuration, environmental data can be easily acquired, so that a series of processes for integrating the inference results of each inference model can be simplified. Further, according to the configuration, since the observation data can be appropriately acquired, the accuracy of the inference result generated by the integration can be improved.
- the inference device may be connected to an intervention device that changes the observation state by intervening in the observation state of the target sensor.
- the information regarding the inference result may include command information for causing the intervention device to perform an operation of changing the observation state of the target sensor according to the estimated change method.
- the output unit may cause the intervention device to perform the operation for changing the observation state of the target sensor according to the estimated change method by transmitting the command information to the intervention device. According to this configuration, the observation state of the sensor can be automatically optimized.
- the type of the intervention device may not be particularly limited as long as it can intervene in the observation state of the sensor, and may be appropriately selected according to the embodiment.
- the intervention device may be, for example, a pan-tilt head, a lighting device, or the like.
- the pan-tilt head may be used to change at least one of the positions and orientations of the sensors.
- the illuminator may be used to change the brightness around the observation target of the sensor.
- the intervention device may include a control device that controls the operation of the intervention device. In this case, the inference device may cause the control device to control the operation for changing the observation state of the target sensor by transmitting the command information to the control device.
- the information regarding the inference result may include instruction information for instructing the user to change the observation state of the target sensor according to the change method.
- the output unit may output the instruction information to the output device.
- the senor may be a camera.
- the observation data may be image data.
- the predetermined condition may be related to the appearance of the object in the image data so as to be suitable for inspecting the attributes of the object. According to this configuration, the cost of constructing an inference model that can appropriately estimate the optimum observation method of the camera in a new environment when inspecting the attributes of an object based on the image data obtained by the camera. Can be reduced.
- the predetermined reasoning may be to predict the moving path of the moving body from the state of the moving body.
- the target data may relate to the state of the target moving object observed by the sensor.
- the environmental data may be related to the observation environment of the target in which the sensor observes the movement of the moving body of the target. According to this configuration, it is possible to reduce the cost of constructing an inference model that can appropriately predict the movement path of the moving body in a new environment in the scene of monitoring the movement of the moving body.
- the moving body may be, for example, a living thing (human being, etc.), a machine (vehicle, etc.), or the like.
- the predetermined inference may be to estimate a conversation strategy suitable for the user from the conversation behavior of the user.
- the target data may be related to the conversational behavior of the target user.
- the environment data may be related to the conversation environment of the target in which the target user performs a conversation behavior.
- the conversation strategy may specify, for example, the content of the conversation, the timing of the utterance, the frequency of the conversation, the tone, and the like.
- the predetermined inference may be to estimate the operation command of the robot device suitable for the task from the state of the robot device.
- the target data may be related to the state of the target robot device.
- the environment data may be related to a task environment of a target in which the target robot device performs the task. According to this configuration, it is possible to reduce the cost of constructing an inference model that can appropriately estimate the operation command of the robot device that matches the task in a new environment in the situation of controlling the operation of the robot device. ..
- the robot device and the task do not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the robot device may be, for example, an industrial robot, an equipment device, a vehicle capable of automatic driving, or the like.
- the equipment may be, for example, an air conditioner (air conditioner), a lighting device, or the like.
- the robot device is an industrial robot, the task may be, for example, arranging the work at a target position.
- the robot device is an equipment device such as an air conditioner
- the task may be determined according to the type of the equipment device, for example, keeping the temperature at a predetermined temperature.
- the robot device is a vehicle capable of autonomous driving
- the task may be, for example, moving from the current position to a target position by automatic driving.
- the arithmetic model generation device is a data acquisition unit that acquires training data to be used for machine learning of the arithmetic model, and the arithmetic model is an inference model under the target environment. It is used to calculate the value of each of the multiple integrated parameters that specify the degree to which the inference result is emphasized from the environmental data, and each inference model is determined from the local learning data obtained under different environments.
- a data acquisition unit derived to execute the inference of the above, and a learning processing unit that executes machine learning of the above arithmetic model using the acquired learning data, and machine learning is calculated.
- the learning processing unit which is configured by training the arithmetic model so that the value of each integrated parameter to be adjusted matches the predetermined inference under the target environment, and the machine learning result of the arithmetic model are stored in the predetermined storage area. It is provided with a storage processing unit for storing.
- the arithmetic model generation device may be read as a model generation device, a learning device, and the like.
- the learning method of each model corresponds to the method of generating a trained model (for example, a trained machine learning model).
- one aspect of the present invention may be an information processing method or a program that realizes each configuration of the above inference device or model generation device.
- it may be a storage medium that stores such a program and can be read by a computer or the like.
- a storage medium that can be read by a computer or the like is a medium that stores information such as a program by electrical, magnetic, optical, mechanical, or chemical action.
- the inference system according to one aspect of the present invention may be composed of an inference device according to any one of the above forms and one or more inference model generation devices for deriving an inference model from local learning data.
- the inference model generator may be read as a model generator, a local learning device, and the like.
- the inference system may further include the above-mentioned arithmetic model generator.
- the computer acquires a predetermined target data to be the target of the predetermined inference and an environment data relating to the environment of the target to execute the predetermined inference. Then, the target data is given to each of the plurality of inference models derived from the local learning data obtained under different environments so as to execute the predetermined inference, and the predetermined inference is applied to each of the inference models.
- the step of acquiring the inference result of each inference model for the acquired target data and by integrating the inference result of each inference model according to the integration rule, the target environment.
- the integration rule is composed of a plurality of integration parameters that specify the degree to which the inference result of each inference model is emphasized in the target environment. Then, in accordance with the integration rule, integrating the inference results of the inference models means determining the value of each integration parameter according to the acquired environmental data, and determining the value of each integration parameter. Use to weight the inference results of each inference model and integrate the weighted inference results of each inference model, with steps and information about the generated inference results. It is an inference method that executes the output step and.
- the inference program acquires, in the computer, a step of acquiring predetermined target data to be the target of the predetermined inference and environmental data regarding the environment of the target to execute the predetermined inference.
- the target data is given to each of a plurality of inference models derived to execute the predetermined inference from the local training data obtained under different environments, and the predetermined inference is applied to each inference model.
- the integration rule defines a plurality of integration parameters that specify the degree to which the inference result of each inference model is emphasized in the environment of the target. Integrating the inference results of each inference model according to the integration rule is to determine the value of each integration parameter according to the acquired environmental data, and the determined integration parameter. With respect to the step and the generated inference result, comprising weighting the inference result of each inference model using the value of, and integrating the weighted inference result of each inference model. It is a program for executing the step of outputting information.
- FIG. 1A schematically illustrates an example of a situation in which the present invention is applied.
- FIG. 1B 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 inference device according to the embodiment.
- FIG. 3 schematically illustrates an example of the hardware configuration of the local learning device according to the embodiment.
- FIG. 4 schematically illustrates an example of the software configuration of the inference device according to the embodiment.
- FIG. 5A schematically illustrates an example of a software configuration related to machine learning of the local learning device according to the embodiment.
- FIG. 5B schematically illustrates an example of the software configuration relating to the inference device of the local learning device according to the embodiment.
- FIG. 6 illustrates an example of a processing procedure for generating a trained machine learning model of the local learning device according to the embodiment.
- FIG. 7A illustrates an example of the machine learning model and the machine learning method according to the embodiment.
- FIG. 7B illustrates an example of the machine learning model and the machine learning method according to the embodiment.
- FIG. 7C illustrates an example of the machine learning model and the machine learning method according to the embodiment.
- FIG. 8 illustrates an example of the processing procedure of the inference processing by the local learning device according to the embodiment.
- FIG. 9A illustrates an example of a processing procedure related to the inference processing of the inference device according to the embodiment.
- FIG. 9B illustrates an example of the processing procedure of the subroutine related to the integrated processing by the inference device according to the embodiment.
- FIG. 9A illustrates an example of a processing procedure related to the inference processing of the inference device according to the embodiment.
- FIG. 9B illustrates an example of the processing procedure of the subroutine related to the integrated processing
- FIG. 10A illustrates an example of a method of determining the value of the integrated parameter according to the embodiment.
- FIG. 10B illustrates an example of the machine learning processing procedure of the calculation model used for determining the value of the integrated parameter according to the embodiment.
- FIG. 10C illustrates an example of the calculation model and the machine learning method according to the embodiment.
- FIG. 10D illustrates an example of the calculation model and the machine learning method according to the embodiment.
- FIG. 11A illustrates an example of a method of determining the value of the integration parameter according to the embodiment.
- FIG. 11B illustrates an example of a processing procedure for determining the value of the integration parameter by the method of FIG. 11A.
- FIG. 12A illustrates an example of a method of determining the value of the integrated parameter according to the embodiment.
- FIG. 12A illustrates an example of a method of determining the value of the integrated parameter according to the embodiment.
- FIG. 12B illustrates an example of a processing procedure for determining the value of the integration parameter by the method of FIG. 12A.
- FIG. 13A schematically illustrates the grouping process of the trained machine learning model according to the embodiment.
- FIG. 13B illustrates an example of the grouping processing procedure by the inference device according to the embodiment.
- FIG. 13C illustrates an example of the grouping processing procedure by the inference device according to the embodiment.
- FIG. 14 schematically illustrates an example of another situation to which the present invention is applied.
- FIG. 15 schematically illustrates an example of the hardware configuration of the inspection device according to another form.
- FIG. 16A schematically illustrates an example of the software configuration of the inspection device according to another form.
- FIG. 16B schematically illustrates an example of the software configuration of the inspection device according to another form.
- FIG. 16A schematically illustrates an example of the software configuration of the inspection device according to another form.
- FIG. 17 schematically illustrates an example of another situation to which the present invention is applied.
- FIG. 18 schematically illustrates an example of the hardware configuration of the prediction device according to another form.
- FIG. 19A schematically illustrates an example of the software configuration of the prediction device according to another form.
- FIG. 19B schematically illustrates an example of the software configuration of the prediction device according to another form.
- FIG. 20 schematically illustrates an example of another situation to which the present invention is applied.
- FIG. 21 schematically illustrates an example of the hardware configuration of the conversation device according to another form.
- FIG. 22A schematically illustrates an example of the software configuration of the conversation device according to another form.
- FIG. 22B schematically illustrates an example of the software configuration of the conversation device according to another form.
- FIG. 23 schematically illustrates an example of another situation to which the present invention is applied.
- FIG. 24 schematically illustrates an example of the hardware configuration of the control device according to another form.
- FIG. 25A schematically illustrates an example of the software configuration of the control device according to another form.
- FIG. 25B schematically illustrates an example of the software configuration of the control device according to another form.
- FIG. 26A schematically illustrates an example of the hardware configuration of the model generator according to another embodiment.
- FIG. 26B schematically illustrates an example of the software configuration of the model generator according to another embodiment.
- FIG. 27 schematically illustrates an example of the configuration of the local learning device according to another form.
- FIG. 28 schematically illustrates an example of another situation to which the present invention is applied.
- FIG. 29 schematically shows an outline of the robot device used in the simulations of the examples and the comparative examples.
- FIG. 30A shows the results of training the movement of a robot device having the dynamics of interpolation conditions by reinforcement learning in Examples and Comparative Examples.
- FIG. 30B shows the results of training the movement of a robot device having the dynamics of extrapolation conditions by reinforcement learning in Examples and Comparative Examples.
- the present embodiment an embodiment according to one aspect of the present invention (hereinafter, also referred to as “the present embodiment”) will be described with reference to the drawings.
- the embodiments described below are merely examples of the present invention in all respects. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. That is, in carrying out the present invention, a specific configuration according to the embodiment may be appropriately adopted.
- the data appearing in the present embodiment is described in natural language, more specifically, it is specified in a pseudo language, a command, a parameter, a machine language, etc. that can be recognized by a computer.
- the inference system 100 includes an inference device 1 and a plurality of local learning devices 2.
- the inference device 1 and each local learning device 2 may be connected to each other via a network.
- the type of network may be appropriately selected from, for example, the Internet, a wireless communication network, a mobile communication network, a telephone network, a dedicated network, and the like.
- Each local learning device 2 is a computer configured to execute machine learning of the machine learning model 40 by using the local learning data 30. As shown in FIG. 1A, each local learning device 2 collects local learning data 30 under different environments, and uses the obtained local learning data 30 to execute machine learning of the machine learning model 40. Through this machine learning, each local learning device 2 builds a trained machine learning model 45 that has acquired the ability to execute a predetermined reasoning.
- Each trained machine learning model 45 constructed is an example of "each inference model derived to execute a predetermined inference from local learning data obtained under different environments" of the present invention. That is, in this embodiment, each inference model is composed of a trained machine learning model 45. In the following description, the trained machine learning model 45 may be read as an "inference model”.
- the machine learning method for example, supervised learning, unsupervised learning, reinforcement learning, etc. may be used.
- the format and type of the local learning data 30 are not particularly limited, and may be appropriately determined according to, for example, a machine learning method, a predetermined inference content, and the like.
- Each local learning device 2 may be read as an inference model generator, a model generator, and the like.
- Executing a predetermined inference means executing some kind of estimation processing based on unknown target data.
- the content of the inference does not have to be particularly limited and may be appropriately determined according to the embodiment.
- the inference may be regression or identification.
- Predetermined reasoning includes, for example, estimating the optimum observation method of the sensor, predicting the moving path of the moving object, estimating the conversation strategy suitable for the user, and operating the robot device suitable for the task. It may be an estimation or the like.
- the predetermined reasoning may be to estimate the features appearing in the observation data obtained by the sensor, such as estimating the attributes of the subject reflected in the image data obtained by the camera (shooting device).
- the predetermined reasoning may be to estimate the characteristics of the observation conditions of the sensor from the observation data obtained by the sensor.
- Features relating to the observation condition may include any event that may be related to the observation condition, for example, the distance between the sensor and the observation target, the brightness around the observation target, and the like.
- the expression of the inference result may be appropriately determined according to the content of the inference.
- the inference result may be expressed by, for example, a continuous value by regression, a probability of belonging to a class, or the like. Further, the inference result may be represented by, for example, one or more numerical values or one or more classes.
- the difference in the environment for obtaining the local learning data 30 is that, for example, events such as time, place, object, user, etc. that can affect a predetermined reasoning are at least partially different.
- the local learning data 30 obtained at different places may be treated as local learning data obtained under different environments.
- the local learning data 30 obtained at the same place at different times may be treated as the local learning data obtained under different environments.
- the local learning data 30 used to build each trained machine learning model 45 may include at least partially identical data.
- the environment for obtaining the local learning data 30 and the environment for which the inference device 1 executes a predetermined inference may be represented by one or more classes or one or more numerical values, respectively.
- each environment may be represented by a numerical range.
- the difference between the first environment and the second environment is that the first numerical range expressing the first environment and the second numerical range expressing the second environment do not overlap, and the first It may include that the 1 numerical range and the 2nd numerical range partially overlap.
- the inference system 100 includes n local learning devices 2_1 to 2_n.
- additional codes such as _1, _2, _n are added, and when they are not, those codes are added such as "local learning device 2". Omit.
- Each local learning device 2_1 to 2_n collects each local learning data 30_1 to 30_n, and uses each of the collected local learning data 30_1 to 30_n to execute machine learning of each machine learning model 40_1 to 40_n. As a result, each local learning device 2_1 to 2_n constructs each trained machine learning model 45_1 to 45_n.
- n trained machine learning models 45_1 to 45_n are generated.
- the number (n) of each of the local learning device 2 and the generated learned machine learning model 45 does not have to be particularly limited, and may be appropriately determined according to the embodiment. Further, the number of trained machine learning models 45 generated by each local learning device 2 is not limited to one, and may be two or more.
- the inference device 1 executes a predetermined inference under the target environment by using each learned machine learning model 45 derived from the local learning data 30 obtained under different environments. It is a computer configured to. As shown in FIG. 1B, the inference device 1 according to the present embodiment acquires predetermined target data 61 that is the target of predetermined inference. Further, the inference device 1 according to the present embodiment acquires environment data 63 relating to the target environment for executing a predetermined inference.
- the type of the target data 61 is not particularly limited as long as it is used in a predetermined inference, and may be appropriately selected according to the content of the inference.
- the target data 61 may be, for example, image data, sound data, numerical data, text data, or other observation data obtained by a sensor. Further, the target data 61 may be unprocessed data or processed data (for example, a feature amount calculated from the unprocessed data).
- the target data 61 may be read as “input data”.
- the type of the environment data 63 is not particularly limited as long as it relates to the environment to which the predetermined inference is executed, and may be appropriately selected according to the embodiment.
- the environment in which the predetermined inference is executed is, for example, the environment in which the target data 61 can be obtained.
- the environmental attributes of the subject data 61 may include any event that may be relevant to the inference, such as the attributes of the object or user that are directly or indirectly related to the given inference.
- the environmental data 63 may be, for example, image data, sound data, numerical data, text data, or other observation data obtained by a sensor. Further, the environmental data 63 may be unprocessed data or processed data.
- the method of acquiring each of the target data 61 and the environmental data 63 does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the target data 61 and the environmental data 63 may be derived from the same observation data obtained by the same sensor, or may be obtained by different sensors. It may be derived from different observation data. Further, the target data 61 and the environmental data 63 may include data that is at least partially common.
- the inference device 1 gives the acquired target data 61 to each trained machine learning model 45 (45_1 to 45_n), and makes a predetermined inference to each trained machine learning model 45 (45_1 to 45_n). It is executed for the target data 61.
- the inference device 1 according to the present embodiment acquires the inference results of each trained machine learning model 45 (45_1 to 45_n) for the acquired target data 61.
- the inference device 1 according to the present embodiment integrates the inference results of each trained machine learning model 45 (45_1 to 45_n) in accordance with the integration rule 5, so that the inference result for the target data 61 under the target environment To generate.
- the integration rule 5 is based on a plurality of integration parameters P (P1 to Pn) that specify the degree to which the inference results of each trained machine learning model 45 (45_1 to 45_n) are emphasized in the target environment. It is configured.
- the number of integrated parameters may be appropriately determined according to the number of inference models (trained machine learning model 45).
- One or more integrated parameters may be set in each trained machine learning model 45.
- the inference device 1 determines the value of each integrated parameter P (P1 to Pn) according to the acquired environmental data 63.
- the target data 61 may be further considered in determining the values of the integrated parameters P (P1 to Pn). That is, the inference device 1 according to the present embodiment may determine the value of each integrated parameter P (P1 to Pn) according to the target data 61 and the environmental data 63.
- the inference device 1 uses the determined values of the integrated parameters P (P1 to Pn) to obtain the inference results of the corresponding trained machine learning models 45 (45_1 to 45_n). Weight. Then, the inference device 1 according to the present embodiment integrates the weighted inference results of each trained machine learning model 45 (45_1 to 45_n). As a result, the inference device 1 according to the present embodiment integrates the inference results of each trained machine learning model 45 (45_1 to 45_n) according to the integration rule 5.
- the method of integrating the inference results does not have to be particularly limited, and may be appropriately determined according to the embodiment.
- integrating the inference results of each trained machine learning model 45 may consist of averaging or majority voting.
- the integration of the reasoning results may be done primarily by averaging.
- a predetermined reasoning is identification
- the integration of the reasoning results may be performed mainly by a majority vote.
- the inference device 1 does not construct a new inference model in order to execute a predetermined inference under the target environment, but has already constructed a plurality of inference models (learned).
- Machine learning models 45_1 to 45_n) are utilized.
- the inference model derived from the local learning data obtained in a learning environment similar to the target environment has higher inference accuracy for the target data obtained in the target environment.
- the inference model derived from the local learning data obtained in the learning environment that is not similar to the target environment has lower inference accuracy for the target data obtained in the target environment.
- the plurality of inference models may include an inference model that is recommended to be preferentially used in the target environment.
- the inference device 1 sets the values of the integrated parameters P (P1 to Pn) of the integration rule 5 according to the environment data 63 regarding the environment to which the predetermined inference is executed. decide.
- each integrated parameter P (P1 to Pn) emphasizes the inference result of at least one of the trained machine learning model 45 of the learning environment similar to the target environment and the trained machine learning model 45 of high priority.
- the value of may be determined.
- the knowledge obtained in various environments (learned machine learning model 45) is obtained by adjusting the degree of emphasizing the inference of each learned machine learning model 45 according to the target environment in this way. It can be customized to suit the new environment. As a result, it is possible to appropriately execute a predetermined inference under the target environment based on the customized findings, in other words, the integrated result of the weighted inference results of each trained machine learning model 45.
- a plurality of trained machine learning models 45 derived from local learning data 30 obtained under different environments are used to appropriately execute a predetermined inference under the target environment. be able to. That is, by utilizing the plurality of trained machine learning models 45 that have already been constructed, it is possible to construct a new inference model that can appropriately execute a predetermined inference under the target environment. Therefore, it is possible to save the trouble of collecting new learning data under the target environment and deriving a new inference model (in this embodiment, a trained machine learning model) from the collected new learning data. it can. Therefore, according to the configuration, it is possible to reduce the cost of constructing an inference model capable of appropriately executing a predetermined inference in a new environment.
- FIG. 2 schematically illustrates an example of the hardware configuration of the inference device 1 according to the present embodiment.
- the control unit 11, the storage unit 12, the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 are electrically connected. It is a computer.
- the communication interface and the external interface are described as "communication I / F" and "external I / F”.
- the control unit 11 includes a CPU (Central Processing Unit), RAM (Random Access Memory), ROM (Read Only Memory), etc., 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 inference program 81, the integrated rule data 57, the learning result data 47, the learning data 59, and the learning environment data 35.
- the inference program 81 is a program for causing the inference device 1 to execute information processing (FIGS. 9A and 9B) described later regarding a predetermined inference under the target environment.
- the inference program 81 includes a series of instructions for the information processing.
- Integration rule data 57 shows information about integration rule 5.
- the learning result data 47 of each case shows information about each learned machine learning model 45 constructed by machine learning.
- an arithmetic model may be used to calculate the values of the integrated parameters P (P1 to Pn) from the environment data 63.
- Integration rule 5 may further include a trained computational model constructed by machine learning.
- the training data 59 is used to build a trained arithmetic model by machine learning.
- the learning environment data 35 of each case shows information about the obtained environment of the local learning data 30 used for deriving each inference model (in this embodiment, machine learning of each learned machine learning model 45). 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 inference device 1 can perform data communication via a network with another information processing device (for example, a local learning 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 inference device 1 may be connected to a sensor for acquiring at least one of target data 61, environmental data 63, and data that may be related thereto via an external interface 14. Further, the inference device 1 may be connected to a target device (for example, an intervention device, a robot device, etc., which will be described later) to be controlled based on the inference result via the external interface 14.
- a target device for example, an intervention device, a robot device, etc., which will be described later
- 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. The operator can operate the inference 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 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 inference program 81, the integration rule data 57, the learning result data 47, the learning data 59, and the learning environment data 35 may be stored in the storage medium 91.
- the storage medium 91 transfers the information of the program or the like by electrical, magnetic, optical, mechanical or chemical action so that the computer or other device, the machine or the like can read the information of the recorded program or the like. It is a medium to accumulate.
- the inference device 1 may acquire at least one of the inference program 81, the integration rule data 57, the learning result data 47, the learning data 59, and the learning environment data 35 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 components can be omitted, replaced, or added as appropriate according to the embodiment.
- the control unit 11 may include a plurality of hardware processors.
- the hardware processor may be composed of a microprocessor, an FPGA (field-programmable gate array), a DSP (digital signal processor), or the like.
- the storage unit 12 may be composed of a RAM and a ROM included in the control unit 11. At least one of the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 may be omitted.
- the inference device 1 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the inference 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 each local learning device 2 according to the present embodiment.
- each local learning device 2 in each local learning 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 operated. It is a connected 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 each local learning device 2 may be configured in the same manner as the control units 11 to drive 17 of the inference 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 learning program 821, the inference program 822, the local learning data 30, the learning result data 47, and the learning environment data 35.
- the learning program 821 is a program for causing the local learning device 2 to execute information processing (FIG. 6) described later regarding machine learning of the machine learning model 40.
- the learning program 821 includes a series of instructions for this information processing.
- the inference program 822 is a program for causing the local learning device 2 to execute information processing (FIG. 8) described later regarding a predetermined inference using the learned machine learning model 45.
- the inference program 822 includes a series of instructions for this information processing.
- the local learning data 30 is collected in individual environments and is used for machine learning to equip the machine learning model 40 with the ability to perform predetermined inferences. 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.
- each local learning device 2 can perform data communication via a network with another information processing device (for example, an inference 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.
- Each local learning device 2 may be connected to a sensor for acquiring at least one of local learning data 30, learning environment data 35, target data described later, and data that may be related thereto via an external interface 24. .. Further, each local learning device 2 may be connected to a target device (for example, an intervention device, a robot device, etc., which will be described later) to be controlled based on the inference result via the external interface 24.
- a target device for example, an intervention device, a robot device, etc., which will be described later
- 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. The operator can operate each local learning 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 a program stored in the storage medium 92. At least one of the learning program 821, the inference program 822, and the local learning data 30 may be stored in the storage medium 92. Further, each local learning device 2 may acquire at least one of the learning program 821, the inference program 822, and the local learning data 30 from the storage medium 92.
- 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.
- Each local learning device 2 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. In the present embodiment, the hardware configuration of each local learning device 2 is common.
- each local learning device 2 does not have to be limited to such an example.
- the hardware configuration may be different between one local learning device 2 and the other local learning device 2.
- each local learning 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 inference device 1 according to the present embodiment.
- the control unit 11 of the inference device 1 expands the inference 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 inference program 81 expanded in the RAM by the CPU.
- the inference device 1 has the first data acquisition unit 111, the second data acquisition unit 112, the result acquisition unit 113, the integration unit 114, the output unit 115, and the learning data acquisition unit. It operates as a computer including a unit 116, a learning processing unit 117, a storage processing unit 118, a parameter setting unit 119, and a grouping unit 1110 as software modules. That is, in the present embodiment, each software module of the inference device 1 is realized by the control unit 11 (CPU).
- the first data acquisition unit 111 acquires predetermined target data 61 that is the target of predetermined inference.
- the second data acquisition unit 112 acquires environment data 63 relating to the target environment for executing a predetermined inference.
- the result acquisition unit 113 gives the target data 61 to each of the plurality of inference models derived from the local learning data 30 obtained under different environments so as to execute a predetermined inference, and makes a predetermined inference for the target data 61. By causing each inference model to execute, the inference result of each inference model for the acquired target data 61 is acquired.
- each inference model is composed of a trained machine learning model 45 that has acquired the ability to execute a predetermined inference by machine learning using local learning data 30 obtained under different environments.
- the result acquisition unit 113 includes each learned machine learning model 45 by holding the learning result data 47 of each case. The result acquisition unit 113 sets each learned machine learning model 45 with reference to each learning result data 47. Then, the result acquisition unit 113 gives the target data 61 to each trained machine learning model 45, and causes each trained machine learning model 45 to execute a predetermined inference on the target data 61 to obtain the acquired target. The inference result of each trained machine learning model 45 for the data 61 is acquired.
- the integration unit 114 integrates the inference results of each inference model according to the integration rule 5.
- the integration rule 5 is composed of a plurality of integration parameters P that specify the degree to which the inference result of each inference model is emphasized in the target environment.
- each integrated parameter P P1 to Pn
- the integration unit 114 has information about the integration rule 5 by holding the integration rule data 57.
- the integration unit 114 refers to the integration rule data 57 and sets the integration rule 5.
- the integration unit 114 integrates the inference results of each trained machine learning model 45 (45_1 to 45_n) according to the integration rule 5.
- the integration unit 114 determines the value of each integration parameter P (P1 to Pn) according to the acquired environmental data 63. In addition to the environmental data 63, the target data 61 may be further considered in determining the values of the integrated parameters P (P1 to Pn). Next, the integration unit 114 weights the inference result of each corresponding inference model by using the value of each determined integration parameter P. Then, the integration unit 114 integrates the weighted inference results of each inference model.
- the integration unit 114 uses the determined values of the integration parameters P (P1 to Pn) to weight the inference results of the corresponding trained machine learning models 45 (45_1 to 45_n). Then, the integration unit 114 integrates the weighted inference results of each trained machine learning model 45 (45_1 to 45_n). As a result, the integration unit 114 integrates the inference results of each trained machine learning model 45 (45_1 to 45_n) according to the integration rule 5.
- the integration unit 114 generates an inference result for the target data 61 under the target environment.
- the output unit 115 outputs information about the generated inference result.
- an arithmetic model may be used to determine the value of each integrated parameter P (P1 to Pn) from the environmental data 63.
- the learning data acquisition unit 116, the learning processing unit 117, and the storage processing unit 118 execute information processing related to the generation of the learned calculation model.
- the learning data acquisition unit 116 acquires the learning data 59 used for machine learning of the calculation model 51 for calculating the values of the integrated parameters P (P1 to Pn) from the environment data 63.
- the learning processing unit 117 uses the acquired learning data 59 to execute machine learning of the calculation model 51.
- Machine learning is configured by training the computational model 51 so that the values of each calculated integrated parameter P (P1 to Pn) fit into a given reasoning under the target environment.
- the storage processing unit 118 generates information about the result of machine learning of the calculation model 51 (that is, the learned calculation model 52), and saves the generated information in a predetermined storage area.
- Information about the generated learned arithmetic model 52 may be included in the integration rule data 57.
- the integration unit 114 gives environment data 63 (and target data 61) to the trained calculation model 52, executes the calculation process of the trained calculation model 52, and outputs the trained calculation model 52.
- the value of the integrated parameter P (P1 to Pn) may be acquired.
- the integration unit 114 may determine the value of each integration parameter P (P1 to Pn) according to the environment data 63 (and the target data 61).
- the parameter setting unit 119 executes information processing related to the designation of the value of the integrated parameter. Specifically, the parameter setting unit 119 accepts the designation of the value of at least one integrated parameter among the plurality of integrated parameters P (P1 to Pn). Then, the parameter setting unit 119 sets the value of at least one integrated parameter to the specified value. Information about the specified settings may be included in the integration rule data 57. In this case, weighting the inference result of each of the inference models (trained machine learning model 45) means weighting the inference result of the inference model (trained machine learning model 45) corresponding to at least one integrated parameter. May include.
- each inference model (learned machine learning model 45) may be grouped.
- the group may be appropriately set according to the type of inference, the purpose, the target environment, and the like.
- the grouping unit 1110 executes information processing related to the grouping of the inference model (learned machine learning model 45). Specifically, the grouping unit 1110 assigns each inference model (learned machine learning model 45) to at least one of a plurality of groups.
- the result acquisition unit 113 identifies the group to be used in the target environment from the set plurality of groups, and makes the above inference about the inference model (learned machine learning model 45) belonging to the specified group. The process of acquiring the result may be executed.
- the integration unit 114 may execute the above integration process on the inference result of the inference model (learned machine learning model 45) belonging to the specified group.
- Information about the group allocation result for each inference model (learned machine learning model 45) may be appropriately stored in a predetermined storage area.
- FIG. 5A schematically illustrates an example of the software configuration related to the learning process of each local learning device 2 according to the present embodiment.
- each local learning device 2 expands the learning program 821 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 learning program 821 expanded in the RAM by the CPU.
- each local learning device 2 is a computer including a learning data acquisition unit 211, an environment data acquisition unit 212, a learning processing unit 213, and a storage processing unit 214 as software modules.
- each software module of each local learning device 2 related to the learning process is realized by the control unit 21 (CPU).
- the learning data acquisition unit 211 acquires the local learning data 30 used for deriving the inference model.
- the learning data acquisition unit 211 acquires the local learning data 30 used for machine learning of the machine learning model 40.
- the environment data acquisition unit 212 acquires the learning environment data 35 relating to the environment in which the local learning data 30 is obtained (hereinafter, also referred to as “learning environment”).
- the learning environment data 35 is the same type of data as the environment data 63.
- the learning processing unit 213 executes machine learning of the machine learning model 40 by using the acquired local learning data 30. By this machine learning, a trained machine learning model 45 that has acquired the ability to execute a predetermined reasoning is constructed (generated).
- the storage processing unit 214 generates information about the constructed learned machine learning model 45 as learning result data 47, and stores the generated learning result data 47 in a predetermined storage area.
- the collection of the local learning data 30 can be executed in different environments between the local learning devices 2. Then, the trained machine learning model 45 is generated from the obtained local learning data 30. As a result, it is possible to obtain a plurality of trained machine learning models 45 derived from the local learning data 30 obtained under different environments so as to execute a predetermined inference.
- FIG. 5B schematically illustrates an example of the software configuration related to the inference processing of each local learning device 2 according to the present embodiment.
- each local learning device 2 expands the inference program 822 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 inference program 822 expanded in the RAM by the CPU. As a result, as shown in FIG. 5B, each local learning device 2 according to the present embodiment operates as a computer including the target data acquisition unit 216, the inference unit 217, and the output unit 218 as software modules. That is, in the present embodiment, each software module of each local learning device 2 related to inference processing is also realized by the control unit 21 (CPU).
- the target data acquisition unit 216 acquires the target data 225 that is the target of a predetermined inference.
- the target data 225 is the same type of data as the target data 61 obtained by the inference device 1.
- the inference unit 217 includes an inference model derived from the local learning data 30.
- the inference unit 217 executes a predetermined inference on the target data 225 by using the inference model.
- the inference unit 217 includes the trained machine learning model 45 by holding the learning result data 47.
- the inference unit 217 sets the trained machine learning model 45 with reference to the learning result data 47.
- the inference unit 217 gives the target data 225 to the trained machine learning model 45, and executes the arithmetic processing of the trained machine learning model 45.
- the inference unit 217 acquires the result of executing a predetermined inference on the target data 225 as the output of the trained machine learning model 45.
- the output unit 218 outputs information regarding the inference result for the target data 225.
- each software module of the inference device 1 and each local learning device 2 will be described in detail in an operation example described later.
- an example in which each software module of the inference device 1 and each local learning 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. 6 is a flowchart showing an example of a processing procedure relating to the generation of the trained machine learning model 45 by each local learning device 2.
- each processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- step S101 the control unit 21 operates as the learning data acquisition unit 211 and acquires the local learning data 30 used for deriving the inference model.
- the control unit 21 acquires the local learning data 30 used for machine learning of the machine learning model 40.
- step S102 the control unit 21 operates as a learning processing unit 213 and executes machine learning of the machine learning model 40 by using the acquired local learning data 30. Through this machine learning, the control unit 21 can generate a trained machine learning model 45 that has acquired the ability to execute a predetermined inference.
- the configuration of the machine learning model 40 and the configuration of the machine learning method are not particularly limited, and may be appropriately determined according to the embodiment.
- the machine learning method for example, supervised learning, unsupervised learning, reinforcement learning, and the like may be used.
- the machine learning model 40 may be represented by, for example, a data table, a function expression, or the like.
- the machine learning model 40 When the machine learning model 40 is expressed by a functional expression, the machine learning model 40 may be composed of, for example, a neural network, a linear function, a decision tree, or the like.
- the type of the neural network does not have to be particularly limited and may be appropriately determined according to the embodiment.
- the neural network constituting the machine learning model 40 for example, a fully connected neural network, a convolutional neural network, a recurrent neural network, a combination thereof, or the like may be used.
- a fully connected neural network for example, a fully connected neural network, a convolutional neural network, a recurrent neural network, a combination thereof, or the like may be used.
- three examples of the configuration of the machine learning model 40 and the machine learning method will be described.
- FIG. 7A schematically shows a first example of the configuration of the machine learning model 40 and the method of machine learning.
- a neural network is adopted as the machine learning model 40
- supervised learning is adopted as the machine learning method.
- examples of each of the local learning data 30, the machine learning model 40, and the trained machine learning model 45 are referred to as the local learning data 301, the machine learning model 401, and the trained machine learning model 451. write.
- the machine learning model 401 is configured by a fully connected neural network having a four-layer structure. Specifically, the machine learning model 401 includes an input layer 4011, intermediate (hidden) layers (4012, 4013), and an output layer 4014 in this order from the input side.
- the structure of the machine learning model 401 does not have to be limited to such an example, and may be appropriately determined according to the embodiment.
- the number of intermediate layers included in the machine learning model 401 is not limited to two, and may be one or less, or three or more.
- the intermediate layer may be omitted.
- the machine learning model 401 may include other types of layers such as a convolution layer, a pooling layer, and a recursive layer. For the recursive layer, for example, long short-term memory or the like may be used.
- the number of neurons (nodes) included in each layer 4011 to 4014 does not have to be particularly limited, and may be appropriately selected according to the embodiment. Neurons in adjacent layers are appropriately connected to each other, and a weight (connection load) is set for each connection. In the example of FIG. 7A, the neurons contained in each layer 4011-4014 are connected to all the neurons in the adjacent layers. However, the connection relationship of neurons does not have to be limited to such an example, and may be appropriately determined depending on the embodiment.
- 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 weight of the connection between each neuron and the threshold value of each neuron included in each layer 4011 to 4014 are examples of arithmetic parameters to be adjusted by machine learning.
- the local learning data 301 used for supervised learning of this machine learning model 401 is a plurality of training data sets each including a combination of training data 311 (input data) and correct answer data 312 (supervised signal). It is composed of 310.
- the training data 311 is data for which a predetermined inference is executed, and is the same type of data as the target data (61, 225).
- the correct answer data 312 is data showing the result (correct answer) of executing a predetermined inference with respect to the training data 311.
- the correct answer data 312 may be referred to as a label.
- the contents of the training data 311 and the correct answer data 312 may be appropriately selected according to the contents of the inference to be acquired by the machine learning model 401.
- the training data 311 may be composed of data related to the current observation state of the sensor, and the correct answer data 312 is the current data 312. It may consist of data showing how to change from the observed state to the proper observed state.
- the training data 311 may be composed of the data related to the state of the moving body, and the correct answer data 312 is the state of the moving body.
- the training data 311 may be composed of data related to the conversation behavior of the user, and the correct answer data 312 may be used by the user. It may consist of data indicating a suitable conversation strategy.
- the training data 311 may be composed of data relating to the state of the robot device, and the correct answer data 312 may be It may consist of data indicating an operation command suitable for performing the task.
- the training data 311 may be composed of the observation data obtained by the sensor, and the correct answer data 312 May be composed of data indicating the characteristics appearing in the observation data.
- Step S101 the control unit 21 acquires local learning data 301 composed of a plurality of learning data sets 310.
- the method for generating each learning data set 310 does not have to be particularly limited, and may be appropriately selected depending on the embodiment. For example, by actually or virtually creating various situations for executing a predetermined inference, even if data of the same type as the target data (61, 225) is acquired as training data 311 in the created various situations. Good.
- a sensor is used to acquire target data (61, 225)
- a sensor of the same type as the sensor to be used is prepared, and by observing various situations in which a predetermined inference is executed by the prepared sensor.
- Training data 311 can be acquired.
- a predetermined inference is executed on the acquired training data 311.
- the predetermined reasoning may be manually made by an operator or the like.
- the result (correct answer) of executing a predetermined reasoning for the training data 311 is associated with the training data 311.
- each training data set 310 can be generated.
- Each learning data set 310 may be automatically generated by the operation of the computer, or may be manually generated by the operation of the operator. Further, the generation of each learning data set 310 may be performed by each local learning device 2, or may be performed by a computer other than each local learning device 2.
- the control unit 21 automatically or manually executes the above-mentioned series of generation processes by an operator's operation via the input device 25, whereby a plurality of learning data sets 310 are generated.
- the local learning data 301 composed of the training data set 310 of is acquired.
- the control unit 21 is composed of a plurality of learning data sets 310 generated by the other computer, for example, via a network, a storage medium 92, or the like. Acquire local learning data 301. Some learning data sets 310 may be generated by each local learning device 2, and other learning data sets 310 may be generated by one or more other computers. The number of learning data sets 310 to be acquired does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
- step S102 the control unit 21 executes machine learning (supervised learning) of the machine learning model 401 by using the acquired local learning data 301.
- machine learning supervised learning
- the control unit 21 outputs an output value matching the correct answer data 312 from the output layer 4014.
- Train the machine learning model 401 the control unit 21 generates a trained machine learning model 451 that has acquired the ability to execute a predetermined inference.
- the control unit 21 first prepares a machine learning model 401 to be processed for machine learning.
- the structure of the machine learning model 401 to be prepared (for example, the number of layers, the number of neurons contained in each layer, the connection relationship between neurons in adjacent layers, etc.), and the initial value of each arithmetic parameter (for example, the connection between neurons).
- the initial value of the weight of, the initial value of the threshold value of each neuron, etc. may be given by the template or by the input of the operator.
- the control unit 21 may prepare a machine learning model 401 based on the learning result data obtained by the past supervised learning.
- control unit 21 uses the training data 311 included in each learning data set 310 as input data and the correct answer data 312 as a teacher signal to perform learning processing of the neural network constituting the machine learning model 401.
- a batch gradient descent method a stochastic gradient descent method, a mini-batch gradient descent method, or the like may be used.
- the control unit 21 inputs the training data 311 to the machine learning model 401 for each learning data set 310, and executes the arithmetic processing of the machine learning model 401. That is, the control unit 21 inputs the training data 311 to the input layer 4011 and determines the firing of each neuron included in each layer 4011 to 4014 in order from the input side. Through this arithmetic processing, the control unit 21 acquires an output value corresponding to the result of executing a predetermined inference on the training data 311 by the machine learning model 401 under training from the output layer 4014.
- the control unit 21 calculates the error between the output value acquired from the output layer 4014 and the correct answer data 312 based on the loss function.
- the loss function is a function that evaluates the difference between the output of the machine learning model 401 and the correct answer. The larger the difference value between the output value acquired from the output layer 4014 and the correct answer data 312, the greater the error calculated by the loss function. The value of becomes large.
- the type of loss function used to calculate this error does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
- the control unit 21 uses the gradient of the error of the output value calculated by the back propagation method to perform machine learning of the weight of the connection between each neuron, the threshold value of each neuron, and the like.
- the error of the value of each operation parameter of the model 401 is calculated.
- the control unit 21 updates the value of each calculation parameter of the machine learning model 401 based on each calculated error.
- the degree to which the value of the arithmetic parameter is updated may be adjusted by the learning rate.
- the control unit 21 By repeating the first to fourth steps, when the training data 311 is input to the input layer 4011 for each learning data set 310, the control unit 21 outputs an output value matching the corresponding correct answer data 312 to the output layer 4014.
- the value of each arithmetic parameter of the machine learning model 401 is adjusted so as to be output from.
- the control unit 21 may repeat the first to fourth steps for each learning data set 310 until the sum of the errors between the output value obtained from the output layer 4014 and the correct answer data 312 becomes equal to or less than the threshold value. Good.
- the matching of the value of the correct answer data 312 and the output value of the output layer 4014 may include an error due to such a threshold value between the value of the correct answer data 312 and the output value of the output layer 4014.
- the threshold value may be appropriately set according to the embodiment.
- the control unit 21 may repeat the first to fourth steps a predetermined number of times. The number of times the adjustment is repeated may be specified by, for example, a set value in the learning program 821 or by input of an operator.
- control unit 21 can generate a trained machine learning model 451 trained to output an output value corresponding to the corresponding correct answer data 312 in response to the input of the training data 311.
- a trained machine learning model 451 trained to output an output value corresponding to the corresponding correct answer data 312 in response to the input of the training data 311.
- the configuration of the machine learning model 40 does not have to be limited to the neural network, and a model other than the neural network may be adopted as the machine learning model 40.
- the machine learning model 40 may be composed of, for example, a regression model, a support vector machine, a decision tree, or the like.
- the supervised learning method is not limited to the above example, and may be appropriately selected according to the configuration of the machine learning model 40.
- FIG. 7B schematically shows a second example of the configuration of the machine learning model 40 and the method of machine learning.
- the generative model is adopted as the machine learning model 40, and unsupervised learning is adopted as the machine learning method.
- examples of each of the local learning data 30, the machine learning model 40, and the trained machine learning model 45 are referred to as the local learning data 302, the machine learning model 402, and the trained machine learning model 452. write.
- the machine learning model 402 is configured to generate pseudo data 325 from noise 323.
- the machine learning model 402 is used as a generative model.
- Machine learning of the machine learning model 402 is performed together with other machine learning models 412.
- the other machine learning model 412 identifies the origin of the given input data, that is, whether the given input data is the training data 321 contained in the local learning data 302 or the pseudo data 325 generated by the machine learning model 402. Is configured to identify.
- Another machine learning model 412 is used as a discriminative model.
- hostile learning is performed between the machine learning model 402 and another machine learning model 412.
- Each of the machine learning model 402 and the other machine learning model 412 has arithmetic parameters like the machine learning model 401.
- the configurations of the machine learning model 402 and the other machine learning model 412 may not be particularly limited and may be appropriately determined according to the embodiment.
- Each of the machine learning model 402 and the other machine learning model 412 may be configured by a neural network. Further, the machine learning model 402 and the other machine learning model 412 may each be configured to further accept input of data indicating a condition (which may be referred to as a label). As a result, data can be generated and identified by limiting the conditions.
- the local learning data 302 used for hostile learning is composed of a plurality of training data 321.
- the machine learning model 402 acquires the ability to generate pseudo-data 325 that fits (eg, is similar) to the training data 321 contained in the local learning data 302. Therefore, the training data 321 is composed of data desired to be generated by the machine learning model 402 by the ability to be acquired by hostile learning.
- the training data 321 is that the moving object actually or It may be composed of data indicating a route that has been virtually moved. Further, for example, in the case where the machine learning model 402 learns the ability to estimate a conversation strategy suitable for a user, the training data 321 is based on data indicating a conversation strategy actually or virtually adopted among arbitrary users. It may be configured. When the machine learning model 402 and the other machine learning model 412 are respectively configured to further accept input of data indicating the condition, the training data 321 may be associated with the data indicating the condition.
- Step S101 the control unit 21 acquires local learning data 302 composed of a plurality of training data 321.
- the method for generating the training data 321 does not have to be particularly limited, and may be appropriately selected depending on the embodiment. For example, as in the first example above, by actually or virtually creating various situations in which data is desired to be generated, data representing the created various situations can be acquired as training data 321. Can be done.
- the acquired training data 321 may be associated with data indicating conditions (for example, categories) for identifying the situation.
- the training data 321 may be automatically generated by the operation of the computer, or may be manually generated by the operation of the operator. Further, the training data 321 may be generated by each local learning device 2, or may be generated by a computer other than each local learning device 2. When each local learning device 2 generates the training data 321, the control unit 21 automatically or manually executes the series of generation processes by the operator via the input device 25 to generate a plurality of cases. The local learning data 302 composed of the training data 321 is acquired. On the other hand, when the training data 321 is generated by another computer, the control unit 21 is a local learning composed of a plurality of training data 321 generated by the other computer via, for example, a network, a storage medium 92, or the like. Acquire data 302. Some training data 321 may be generated by each local learning device 2, and other training data 321 may be generated by one or more other computers. The number of training data 321 to be acquired does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
- step S102 the control unit 21 executes hostile learning of the machine learning model 402 and other machine learning models 412 by using the acquired local learning data 302.
- An example of the processing procedure of hostile learning will be described below.
- the machine learning model 402 and the other machine learning model 412 are each configured by a neural network.
- the configuration of the machine learning model 402 and the other machine learning model 412 does not have to be limited to such an example.
- At least one of the machine learning model 402 and the other machine learning model 412 may be composed of a model other than the neural network.
- the control unit 21 prepares a machine learning model 402 and another machine learning model 412 to be processed.
- the structure of each of the machine learning model 402 and the other machine learning model 412 to be prepared, and the initial value of each operation parameter may be given by the template or by the input of the operator.
- the control unit 21 may prepare a machine learning model 402 and another machine learning model 412 based on the learning result data obtained by the past supervised learning.
- the control unit 21 executes machine learning of another machine learning model 412 after fixing the calculation parameters of the machine learning model 402. That is, the control unit 21 extracts a plurality of noises 323 from a predetermined probability distribution (for example, Gaussian distribution). Subsequently, the control unit 21 applies each of the extracted noises 323 to the machine learning model 402, and executes arithmetic processing of the machine learning model 402. In other words, the control unit 21 inputs each noise to the input layer of the machine learning model 402, and determines the firing of each neuron included in each layer in order from the input side. As a result, the control unit 21 acquires the pseudo data 325 generated from the noise 323 as the output from the output layer of the machine learning model 402. The number of pseudo data 325 to be generated does not have to be particularly limited and may be appropriately selected according to the embodiment.
- control unit 21 executes the learning process of the other machine learning model 412 by using the plurality of training data 321 included in the local learning data 302 and the generated plurality of pseudo data 325.
- this learning process other machine learning to identify the origin of the given input data, in other words, to acquire the ability to discriminate whether the given input data is training data 321 or pseudo data 325.
- a stochastic gradient descent method, a mini-batch gradient descent method, or the like may be used.
- control unit 21 inputs the pseudo data 325 generated by the machine learning model 402 to the other machine learning model 412, and executes the arithmetic processing of the other machine learning model 412. That is, the control unit 21 inputs the pseudo data 325 into the input layer of the other machine learning model 412, and determines the firing of each neuron included in each layer in order from the input side. As a result, the control unit 21 acquires an output value corresponding to the result of the other machine learning model 412 identifying the origin of the given pseudo data 325 as the output from the output layer of the other machine learning model 412.
- the control unit 21 calculates an error between the output value obtained from the output layer and the correct answer for each of the pseudo data 325 generated by the machine learning model 402. Similar to the first example above, a loss function may be used to calculate the error.
- control unit 21 inputs the training data 321 included in the local learning data 302 into the other machine learning model 412, and executes the arithmetic processing of the other machine learning model 412. That is, the control unit 21 inputs the training data 321 to the input layer of the other machine learning model 412, and determines the firing of each neuron included in each layer in order from the input side. As a result, the control unit 21 acquires an output value corresponding to the result of the other machine learning model 412 identifying the origin of the given training data 321 as the output from the output layer of the other machine learning model 412.
- the input data is training data 321. Therefore, it is correct to identify the other machine learning model 412 as "true”.
- the control unit 21 calculates an error between the output value obtained from the output layer and the correct answer for each training data 321 included in the local learning data 302. Similar to the above, the loss function may be used to calculate the error.
- control unit 21 calculates the error of the value of the calculation parameter of the other machine learning model 412 by using the gradient of the error of the output value calculated by the error back propagation method.
- the control unit 21 updates the values of the calculation parameters of the other machine learning model 412 based on the calculated error.
- the degree to which the value of the arithmetic parameter is updated may be adjusted by the learning rate.
- the control unit 21 extracts a sample from each of the plurality of training data 321 included in the local learning data 302 and the plurality of pseudo data 325 generated by the machine learning model 402, and uses the extracted sample to describe the above. Executes a series of learning processes. As a result, the control unit 21 adjusts the values of the calculation parameters of the other machine learning model 412. The number of times this adjustment is repeated may be set as appropriate.
- control unit 21 may repeatedly execute a series of learning processes until the sum of the errors of the calculated output values becomes equal to or less than the threshold value, as in the first example.
- control unit 21 may repeat the adjustment of the value of the calculation parameter by the above-mentioned series of learning processes a predetermined number of times. In this case, the number of times the adjustment is repeated may be specified, for example, by the set value in the learning program 821 or by the input of the operator.
- control unit 21 has the ability to identify the origin of the given input data with respect to the plurality of training data 321 included in the local learning data 302 and the plurality of pseudo data 325 generated by the machine learning model 402.
- Other acquired machine learning models 412 can be constructed.
- the control unit 21 executes machine learning of the machine learning model 402 after fixing the values of the calculation parameters of the other machine learning model 412. That is, the control unit 21 executes the learning process of the machine learning model 402 by using the other trained machine learning model 412. In this learning process, the control unit 21 trains the machine learning model 402 so as to generate data (pseudo data 325) that deteriorates the discrimination performance of the other machine learning model 412. That is, the control unit 21 trains the machine learning model 402 to generate data that erroneously identifies the other machine learning model 412 as "true" (ie, derived from the local learning data 302). To do.
- the control unit 21 extracts a plurality of noises 323 from a predetermined probability distribution in the same manner as described above. Subsequently, the control unit 21 applies each of the extracted noises 323 to the machine learning model 402, and executes arithmetic processing of the machine learning model 402. In other words, the control unit 21 inputs each noise to the input layer of the machine learning model 402, and determines the firing of each neuron included in each layer in order from the input side. As a result, the control unit 21 acquires the pseudo data 325 generated from the noise 323 as the output from the output layer of the machine learning model 402. The number of pseudo data 325 to be generated does not have to be particularly limited and may be appropriately selected according to the embodiment.
- the pseudo data 325 generated at the time of machine learning of another machine learning model 412 may be used.
- a series of processes for generating pseudo data 325 may be omitted.
- control unit 21 gives each of the generated pseudo data 325 to the other machine learning model 412, and executes the arithmetic processing of the other machine learning model 412.
- control unit 21 inputs each pseudo data 325 into the input layer of the other machine learning model 412, and determines the firing of each neuron included in each layer in order from the input side.
- the control unit 21 acquires an output value corresponding to the result of the other machine learning model 412 identifying the origin of the given pseudo data 325 as the output from the output layer of the other machine learning model 412.
- the correct answer is that the other machine learning model 412 mistakenly identifies the input data as "true".
- the control unit 21 calculates the error between the output value obtained from the output layer of the other machine learning model 412 and the correct answer for each of the pseudo data 325 generated by the machine learning model 402. As a result, the control unit 21 calculates the error of the output value so as to reduce the discrimination performance of the other machine learning model 412. Similar to the above, the loss function may be used to calculate the error.
- the control unit 21 back-propagates the gradient of the error of the output value calculated by the error back-propagation method to the arithmetic parameters of the machine learning model 402 via another machine learning model 412, and causes the arithmetic parameters of the machine learning model 402. Calculate the error of the value of.
- the control unit 21 updates the values of the calculation parameters of the machine learning model 402 based on the calculated error. Similar to the above, the degree to which the value of the calculation parameter is updated may be adjusted by the learning rate.
- the control unit 21 adjusts the value of the calculation parameter of the machine learning model 402 by repeatedly executing the above series of learning processes. The number of times this adjustment is repeated may be set as appropriate. Similar to the above, the control unit 21 may repeatedly execute the above-mentioned series of learning processes until the sum of the errors of the calculated output values becomes equal to or less than the threshold value, or the control unit 21 may repeatedly execute the above-mentioned series of learning processes. The value adjustment may be repeated a predetermined number of times. As a result, the control unit 21 can train the machine learning model 402 so as to generate data that deteriorates the discrimination performance of the other trained machine learning model 412.
- the control unit 21 alternately and repeatedly executes the learning process of the other machine learning model 412 and the learning process of the machine learning model 402.
- the number of times of alternately and repeatedly executing may be set as appropriate.
- the number of times of alternately and repeatedly executing may be specified by, for example, a set value in the learning program 821 or by input of an operator.
- the data indicating the condition may be further input to the machine learning model 402 and the other machine learning model 412 in each of the above learning processes.
- the accuracy of the other machine learning model 412 and the machine learning model 402 can be alternately improved.
- the machine learning model 402 acquires the ability to generate pseudo data 325 that fits the training data 321 contained in the local learning data 302.
- the control unit 21 can generate a trained machine learning model 452 that has acquired the ability to generate pseudo data 325 that matches the training data 321 included in the local learning data 302. For example, in the case of predicting the moving path of a moving body, it is possible to generate a trained machine learning model 452 that has acquired the ability to generate data indicating the predicted moving path of the moving body.
- the configuration of the machine learning model 40 does not have to be limited to the above-mentioned generative model, and a model other than the generative model is adopted as the machine learning model 40. May be good. Clustering or the like may be adopted as the machine learning method.
- the machine learning model 40 may be composed of a one-class support vector machine, a self-organizing map, and other discriminative models.
- FIG. 7C schematically shows a third example of the configuration of the machine learning model 40 and the method of machine learning.
- reinforcement learning is adopted as the machine learning method.
- examples of each of the local learning data 30, the machine learning model 40, and the trained machine learning model 45 are referred to as the local learning data 303, the machine learning model 403, and the trained machine learning model 453. write.
- the machine learning model 403 may be value-based, policy-based, or both.
- the machine learning model 403 may be composed of value functions such as a state value function and an action value function (Q function), for example.
- the state value function is configured to output the value of a given state.
- the action value function is configured to output the value of each action for a given state.
- the machine learning model 403 may be configured by, for example, a policy function.
- the policy function is configured to output the probability of selecting each action for a given state.
- the machine learning model 403 may be composed of, for example, a value function (Critic) and a policy function (Actor).
- Each function may be represented by, for example, a data table, a function expression, or the like.
- each function may be composed of a neural network, a linear function, a decision tree, or the like.
- Agents that interact with the learning environment are basically assumed by acting according to the policy.
- the entity of the agent is, for example, a CPU.
- the machine learning model 403 operates as a measure for determining behavior by the above configuration. The agent observes the state of strengthening behavior within a given learning environment.
- the state to be observed and the action to be executed may be appropriately set according to the content of the inference to be acquired by the machine learning model 403.
- the state to be observed may be the observation state of the sensor, and the action to be executed may be a change of the observation state of the sensor.
- the state to be observed may be related to the moving path of the moving body, and the action to be executed may be the movement of the moving body. ..
- the state to be observed may be related to the conversation behavior of the user, and the action to be executed may be a conversation with the user.
- the state to be observed may be related to at least one of the internal and external situations of the robot device, and the action to be executed may be.
- the operation may be based on an operation command.
- the learning environment may be created manually or automatically as appropriate.
- the agent executes a predetermined inference for the observed current state (input data) by the machine learning model 403, and determines the action to be adopted based on the obtained inference result. Alternatively, the action to be adopted may be randomly determined. When the determined action is executed, the observed state transitions to the next state. In some cases, agents can get immediate rewards from the learning environment.
- the agent updates the machine learning model 403 so as to maximize the total sum (that is, the value) of the immediate reward.
- the optimum behavior that is, the behavior that can be expected to acquire high value is strengthened, and a policy (learned machine learning model 453) that enables selection of such behavior can be obtained.
- the local learning data 303 is the state transition data obtained by this trial and error, and the executed action causes the transition from the current state to the next state, and in some cases, an immediate reward can be obtained. It is composed of state transition data showing transitions.
- One state transition data may be composed of data showing the locus of state transitions of all episodes, or may be composed of data showing state transitions for a predetermined number of times (one or more times).
- a reward function may be used to calculate the immediate reward according to the state transition.
- the reward function may be represented by a data table, a function expression, or a rule.
- the reward function When expressed by a function expression, the reward function may be composed of a neural network, a linear function, a decision tree, or the like.
- the reward function may be manually set by an operator or the like according to the content of the inference to be acquired by the machine learning model 403.
- the reward function may be set to give an immediate reward according to the appropriateness of the inference result (that is, the determined action) of the machine learning model 403.
- the appropriateness of the inference result may be expressed by a predetermined number of grades such as 5 grades, 10 grades, and the like.
- the appropriateness of the inference result may be expressed by continuous values.
- the appropriateness of the inference result may be manually given by an operator or the like.
- the appropriateness of the inference result may be evaluated using the determination device 48 according to a predetermined criterion. Predetermined criteria may be appropriately set according to the content of the inference.
- the determination device 48 may be appropriately configured to evaluate the appropriateness of the inference result according to a predetermined criterion.
- the machine learning model 403 learns the ability to estimate the optimum camera observation method for detecting defects in the product by reinforcement learning.
- the scene of estimating the optimum observation method of this camera is an example of the scene of estimating the optimum observation method of the sensor.
- an environment for reinforcement learning an environment may be created in which a plurality of products including different defects are prepared and each prepared product is photographed by a camera.
- the predetermined criterion may be related to whether or not a defect in the product can be detected from the image data obtained by the camera.
- the determination device 48 may be configured by a detector configured to detect defects in the product from the image data.
- the detector may be configured to detect defects by image processing such as edge detection, or may be configured by a trained machine learning model such as a neural network.
- the reward function may be set to calculate the immediate reward according to the accuracy of defect detection by the detector.
- detection of defects by a detector in image data obtained by a camera may be attempted multiple times. Based on the results of this multiple defect detection trial, the reward function gives a positive immediate reward if the probability of successful defect detection is greater than or equal to the threshold, and a negative immediate reward (punishment) if the defect cannot be detected. May be set to give.
- the number of trials and the threshold value as a reference for giving a positive immediate reward may be given by a set value in the program, or may be given manually by an operator or the like.
- the reward may be set according to the appropriateness of the inference result. For example, in the case of predicting the moving route of the moving body, the prediction of the moving route of the moving body may be tried a plurality of times. Based on the results of the multiple prediction trials, the reward function gives a positive immediate reward if the prediction accuracy is above the threshold, and gives a negative immediate reward (punishment) if the prediction accuracy is below the permissible value. May be set as. Similarly, in the case of estimating a conversation strategy suitable for the user, estimation of the conversation strategy suitable for the user may be attempted multiple times.
- the reward function gives a positive immediate reward if the estimation accuracy is above the threshold, and gives a negative immediate reward (punishment) if the estimation accuracy is below the permissible value. May be set as.
- a reward function may be set in the case of estimating the operation command of the robot device suitable for the task.
- the method for evaluating the appropriateness is not limited to the method based on the accuracy of the inference result. For example, in the scene of estimating the optimum observation method of the sensor, it is assumed that it is preferable that the time required for the sensor measurement to observe the same object is short.
- the reward function may be set to give a negative immediate reward as the time required for sensor measurement is longer, and to give a positive immediate reward as the sensor measurement time is shorter.
- the reward function may be set to give a high immediate reward so that the desired result is obtained, and a low immediate reward or a negative immediate reward otherwise.
- the reward function may be estimated by inverse reinforcement learning from case data obtained by an expert.
- the case data is composed of data showing the demonstration (trajectory) by an expert.
- the case data may be composed of, for example, data indicating a method of changing the sensor obtained by the operation of an expert.
- the case data may be composed of, for example, data indicating the route actually moved by the moving body.
- the case data may be composed of, for example, data indicating a conversation strategy designated by an expert.
- case data may be generated, for example, by recording the trajectory of the demonstration by an expert with a sensor or the like.
- the method of reverse reinforcement learning is not particularly limited and may be appropriately selected according to the embodiment.
- reverse reinforcement learning for example, a method based on the principle of maximum entropy, a method based on the minimization of relative entropy, and a method using a hostile generation network (for example, Justin Fu, et al., "Learning Robust Rewards with Adversarial Inverse Reinforcement Learning” , ArXiv: 1710.11248, 2018) etc. may be used.
- the local learning data 303 may further include case data used for inverse reinforcement learning.
- Step S101 and Step S102 the control unit 21 may acquire the state transition data by executing the trial and error using the trained machine learning model 403 during training.
- the state transition data may be generated by another computer.
- the control unit 21 may acquire the state transition data generated by another computer via the network, the storage medium 92, or the like.
- step S102 the control unit 21 updates the value of the calculation parameter of the machine learning model 403 so as to maximize the value based on the obtained state transition data.
- the method of adjusting the value of the calculation parameter of the machine learning model 403 may be appropriately selected according to the configuration of the machine learning model 403. For example, when the machine learning model 403 is configured by a neural network, the values of the arithmetic parameters of the machine learning model 403 are adjusted by the error back propagation method or the like in the same manner as in the first example and the second example. You can.
- the control unit 21 repeats the processes of steps S101 and S102, and the arithmetic parameters of the machine learning model 403 so that the obtained value (expected value) is maximized (for example, until the update amount becomes equal to or less than the threshold value). Adjust the value of. That is, training the machine learning model 403 includes repeatedly modifying the values of the arithmetic parameters constituting the machine learning model 403 so that a large amount of reward can be obtained until a predetermined condition is satisfied. As a result, the control unit 21 can generate a trained machine learning model 453 that has acquired the ability to execute a predetermined reasoning (in the third example, determine an action that can be expected to acquire high value). .. For example, in the case of estimating the optimum observation method of the sensor, it is possible to generate a trained machine learning model 453 that has acquired the ability to estimate the method of changing the sensor from the current observation state to an appropriate observation state.
- a TD (temporal difference) method, a TD ( ⁇ ) method, a Monte Carlo method, a dynamic programming method, or the like may be used as the reinforcement learning method.
- the decision of action in trial and error may be on-polish or off-polish.
- Q-learning, Sarasa, or the like may be used as the reinforcement learning method.
- a random action may be adopted with a probability of ⁇ ( ⁇ -greedy method).
- the policy gradient method or the like may be used as the method of reinforcement learning.
- the control unit 21 calculates the gradient of the operation parameter of the policy function in the direction in which the obtained value increases, and updates the value of the operation parameter of the policy function based on the calculated gradient.
- the REINFORCE algorithm may be used to calculate the gradient of the policy function.
- the machine learning model 403 is composed of both, the Actor Critic method or the like may be used as the above reinforcement learning method.
- the control unit 21 further acquires the case data in the step S101 before executing the process of the reinforcement learning.
- the case data may be generated by each local learning device 2 or may be generated by another computer.
- the control unit 21 may acquire case data generated by the other computer via a network, a storage medium 92, or the like.
- the control unit 21 sets the reward function by executing the inverse reinforcement learning using the acquired case data.
- the control unit 21 executes the above-mentioned reinforcement learning process by using the reward function set by the inverse reinforcement learning.
- the control unit 21 can generate a trained machine learning model 453 that has acquired the ability to execute a predetermined inference by using the reward function set by the inverse reinforcement learning.
- At least one of the above three configurations may be adopted for the configuration of the machine learning model 40.
- the control unit 21 has acquired the ability to execute a predetermined reasoning (trained to execute a predetermined reasoning) by adopting at least one of the above three machine learning methods.
- the trained machine learning model 45 Can be generated. When the trained machine learning model 45 is generated, the control unit 21 proceeds to the next step S103.
- Step S103 the control unit 21 operates as the environment data acquisition unit 212 to acquire the learning environment data 35 related to the environment obtained by the local learning data 30.
- the environmental attributes obtained from the local learning data 30 may include any event that may be related to the inference, such as the attributes of the object or user that are directly or indirectly related to the given inference.
- the learning environment data 35 is the same type of data as the environment data 63 obtained by the inference device 1.
- the content of the learning environment data 35 does not have to be particularly limited, and may be appropriately selected according to the content of the environment to be considered for the integrated processing of the inference device 1.
- the learning environment data 35 may include information on environmental attributes (for example, brightness, temperature, etc.) that affect the observation by the sensor.
- the learning environment data 35 may include information on the attributes of the user (for example, age, gender, occupation, place of origin, personality type, etc.).
- the method of acquiring the learning environment data 35 does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the learning environment data 35 may be acquired by input from an operator such as a user via the input device 25.
- a sensor may be used to acquire the learning environment data 35.
- the learning environment data 35 may be the observation data itself obtained by the sensor, or perform some information processing (for example, feature extraction) on the observation data. It may be the data obtained by the above.
- the control unit 21 may use the camera as a sensor for acquiring the learning environment data 35 and acquire the image data in which the user's face is captured. Then, the control unit 21 may execute image processing for estimating the gender from the face on the obtained image data. The control unit 21 may acquire information on the gender of the user based on the result of this estimation process.
- the route for acquiring the learning environment data 35 does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the control unit 21 may directly acquire the learning environment data 35 via the external interface 24, the input device 25, and the like.
- the control unit 21 may indirectly acquire the learning environment data 35 via the network, the storage medium 92, or the like.
- step S104 When the learning environment data 35 is acquired, the control unit 21 proceeds to the next step S104.
- the timing of executing the process of step S103 does not have to be limited to such an example.
- the process of step S103 may be executed at an arbitrary timing before executing the process of the next step S104.
- Step S104 The control unit 21 operates as a storage processing unit 214 and generates information about the generated trained machine learning model 45 as learning result data 47.
- the control unit 21 generates information about the generated trained machine learning models 451 to 453 as the learning result data 47.
- the information regarding the trained machine learning model 45 may include, for example, information indicating the structure of the trained machine learning model 45 and information indicating the values of arithmetic parameters adjusted by machine learning. Then, the control unit 21 associates the generated learning result data 47 with the learning environment data 35 and stores it in a predetermined storage area.
- the predetermined storage area may be, for example, a RAM in the control unit 21, a storage unit 22, an external storage device, a storage medium, or a combination thereof.
- the storage medium may be, for example, a CD, a DVD, or the like, and the control unit 21 may store the learning result data 47 in the storage medium via the drive 27.
- the external storage device may be, for example, a data server such as NAS (Network Attached Storage). In this case, the control unit 21 may store the learning result data 47 in the data server via the network by using the communication interface 23. Further, the external storage device may be, for example, an external storage device connected to each local learning device 2.
- control unit 21 ends a series of information processing related to the generation of the learned machine learning model 45.
- the learning result data 47 and the learning environment data 35 may be provided to the inference device 1 at any timing.
- the control unit 21 may transfer the learning result data 47 and the learning environment data 35 to the inference device 1 as the process of step S104 or separately from the process of step S104.
- the control unit 11 of the inference device 1 may acquire the learning result data 47 and the learning environment data 35 by receiving this transfer.
- the control unit 11 may acquire the learning result data 47 and the learning environment data 35 by accessing each local learning device 2 or the data server via the network by using the communication interface 13. .
- the control unit 11 may acquire the learning result data 47 and the learning environment data 35 via the storage medium 91.
- the learning result data 47 and the learning environment data 35 may be incorporated in the inference device 1 in advance.
- control unit 21 may periodically update or newly generate the learning result data 47 and the learning environment data 35 by periodically repeating the processes of steps S101 to S104. When this is repeated, the data included in the local learning data 30 may be changed, modified, added, deleted, or the like as appropriate. Then, the control unit 21 provides the updated or newly generated learning result data 47 and the learning environment data 35 to the inference device 1 each time the learning process is executed, so that the learning result data 47 and the learning result data 47 held by the inference device 1 are provided.
- the learning environment data 35 may be updated periodically.
- FIG. 8 is a flowchart showing an example of a processing procedure related to a predetermined inference of each local learning device 2.
- each processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- Step S111 the control unit 21 operates as the target data acquisition unit 216 and acquires the target data 225 that is the target of a predetermined inference.
- the target data 225 is the same type of data as the target data 61 obtained by the inference device 1.
- the content of the target data 225 does not have to be particularly limited, and may be appropriately selected according to the content of a predetermined inference.
- the target data 225 contains attributes related to the sensor installation status (for example, the sensor installation angle, the sensor and the observation target) as information on the current observation state of the sensor. Information indicating the distance between them) may be included.
- the target data 225 may include data related to the user's conversation behavior obtained by an input device (for example, a keyboard, a touch panel), a camera, a microphone, or the like. ..
- the target data 225 may include noise extracted from a predetermined probability distribution.
- the method of acquiring the target data 225 does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the target data 225 may be acquired by input of an operator such as a user via the input device 25.
- a sensor may be used to acquire the target data 225.
- the target data 225 may be the observation data itself obtained by the sensor as in the learning environment data 35, or some information processing is executed on the observation data. It may be the data obtained by the above.
- the control unit 21 may use a microphone as a sensor for acquiring the target data 225 and acquire sound data including the user's spoken voice. Then, the control unit 21 may execute voice analysis on the obtained sound data. The control unit 21 may acquire a character string of the user's utterance content based on the result of this voice analysis process.
- the learning environment data 35 and the target data 225 may be derived from the same observation data obtained by the same sensor. It may be derived from different observational data obtained by different sensors.
- a scene derived from the same observation data a scene in which a video camera is used is assumed in a case of estimating a conversation strategy suitable for the above user.
- the control unit 21 may acquire the estimated information on the gender of the user as the learning environment data 35 by estimating the gender of the user from the image data obtained by the video camera. Further, the control unit 21 may acquire the obtained character string of the user's utterance content as the target data 225 by analyzing the character string of the user's utterance content from the sound data obtained by the video camera.
- the route for acquiring the target data 225 does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the control unit 21 may directly acquire the target data 225 via the external interface 24, the input device 25, and the like.
- the control unit 21 may indirectly acquire the target data 225 via the network, the storage medium 92, or the like.
- control unit 21 proceeds to the next step S112.
- Step S112 the control unit 21 operates as the inference unit 217 and executes a predetermined inference with respect to the acquired target data 225 by using the inference model derived from the local learning data 30.
- the control unit 21 includes the learned machine learning model 45 as an inference model by holding the learning result data 47.
- the control unit 21 sets the trained machine learning model 45 with reference to the learning result data 47.
- the control unit 21 gives the target data 225 to the trained machine learning model 45, and executes the arithmetic processing of the trained machine learning model 45.
- the arithmetic processing may be appropriately executed according to the configuration of the trained machine learning model 45.
- the control unit 21 substitutes the target data 225 into the function expression and executes the arithmetic processing of the function expression.
- the control unit 21 inputs the target data 225 to the input layer, and determines the firing of each neuron included in each layer in order from the input side.
- the control unit 21 collates the target data 225 with the data table.
- the control unit 21 acquires the result of executing a predetermined inference on the target data 225 as the output of the trained machine learning model 45 (that is, the execution result of the arithmetic processing).
- the inference result obtained depends on the ability acquired by the trained machine learning model 45.
- the control unit 21 of the sensor is estimated from the current observation state of the sensor as a result of the estimation process. Information on how to change to the proper observation state can be obtained.
- the control unit 21 proceeds to the next step S113.
- Step S113 the control unit 21 operates as the output unit 218 and outputs information regarding the inference result for the target data 225.
- 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 executing a predetermined inference to the target data 225 in step S112 as it is to the output device 26. Further, for example, the control unit 21 may execute some information processing based on the result of executing a predetermined inference. Then, the control unit 21 may output the result of executing the information processing as information regarding the inference result.
- the output of the result of executing this information processing may include outputting a specific message according to the inference result, controlling the operation of the controlled device according to the inference 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 a series of information processing related to the predetermined inference. Note that, during a predetermined period, the control unit 21 may continuously and repeatedly execute a series of information processing in steps S111 to S113. The timing of repeating may be arbitrary. As a result, each local learning device 2 may continuously perform a predetermined reasoning.
- FIG. 9A is a flowchart showing an example of a processing procedure related to a predetermined inference of the inference device 1.
- the processing procedure described below is an example of the "inference method" of the present invention. However, each processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- step S201 the control unit 11 operates as the first data acquisition unit 111 to acquire the predetermined target data 61 that is the target of the predetermined inference.
- the process of acquiring the target data 61 in step S201 may be the same as the process of acquiring the target data 225 in step S111, except that the processing environment is different.
- the content of the target data 61 may be appropriately selected according to the content of the predetermined reasoning.
- the method and route for acquiring the target data 61 may be appropriately selected according to the embodiment.
- the target data 61 may be acquired by the input of the operator via the input device 15.
- a sensor of the same type as the sensor used for the acquisition of the target data 225 may be used.
- the target data 61 may be the observation data itself obtained by the sensor, or is data obtained by executing some kind of information processing on the observation data. You may.
- the control unit 11 may directly acquire the target data 61 via the external interface 14, the input device 15, or the like, or indirectly acquire the target data 61 via the network, the storage medium 91, or the like. You may get it.
- step S202 the control unit 11 operates as the second data acquisition unit 112 and acquires the environment data 63 related to the target environment for executing the predetermined inference.
- the process of acquiring the environment data 63 in step S202 may be the same as the process of acquiring the learning environment data 35 in step S103, except that the processing environment is different.
- the content of the environment data 63 may be appropriately selected according to the content of the environment to be considered in the integrated processing.
- the method and route for acquiring the environmental data 63 may be appropriately selected according to the embodiment.
- the environment data 63 may be acquired by the input of the operator via the input device 15.
- a sensor of the same type as the sensor used for acquiring the learning environment data 35 may be used for acquiring the environment data 63.
- the environmental data 63 may be the observation data itself obtained by the sensor, or is data obtained by executing some kind of information processing on the observation data. You may.
- the target data 61 and the environmental data 63 may be derived from the same observation data obtained by the same sensor, or may be obtained by different sensors. It may be derived from different observation data.
- the control unit 11 may directly acquire the environmental data 63 via the external interface 14, the input device 15, or the like, or indirectly acquire the environmental data 63 via the network, the storage medium 91, or the like. You may get it.
- the environment data 63 is acquired with respect to the target environment in which the target data 61 is acquired, whereas the learning environment data 35 is acquired with respect to the environment in which the local learning data 30 is acquired.
- Data of the same type as the target data 61 (for example, the training data 311) is accumulated in the local learning data 30. Therefore, the learning environment data 35 may have a wider range of environmental attributes such as time, place, object, and user than the environment data 63.
- the data format of the environment data 63 and the data format of the learning environment data 35 may be different in a manner in which the respective environments can be compared.
- the control unit 11 acquires the target data 61 and the environment data 63.
- the processing order of steps S201 and S202 may be arbitrary. Either step S201 or step S202 may be executed first, or the processes of step S201 and step S202 may be executed in parallel.
- the control unit 11 proceeds to the next step S203.
- Step S203 the control unit 11 operates as the result acquisition unit 113, and applies the target data 61 to each of the plurality of inference models derived from the local learning data 30 obtained under different environments so as to execute a predetermined inference. Then, each inference model is made to perform a predetermined inference for the target data 61. As a result, the control unit 11 acquires the inference result of each inference model for the acquired target data 61.
- each inference model is composed of each trained machine learning model 45 generated by each of the local learning devices 2.
- the inference device 1 includes each learned machine learning model 45 by holding the learning result data 47 of each case generated by each local learning device 2. Therefore, the control unit 11 sets each learned machine learning model 45 by referring to the learning result data 47 of each case. Next, the control unit 11 gives the target data 61 to each trained machine learning model 45, and executes the arithmetic processing of each trained machine learning model 45.
- the arithmetic processing of each trained machine learning model 45 may be the same as the arithmetic processing of the trained machine learning model 45 in step S112.
- control unit 11 can acquire the inference result of each trained machine learning model 45 with respect to the target data 61 as the output of each trained machine learning model 45.
- the trained machine learning model 45 used for the inference processing may be appropriately selected by the operator's designation or the like.
- the control unit 11 proceeds to the next step S204.
- Step S204 the control unit 11 operates as the integration unit 114 and integrates the inference results of each inference model obtained in step S203 according to the integration rule 5.
- the control unit 11 integrates the inference results of each trained machine learning model 45 according to the integration rule 5.
- the control unit 11 generates an inference result for the target data 61 under the target environment.
- the control unit 11 has information on the integration rule 5 by holding the integration rule data 57.
- the integration rule 5 includes a plurality of integration parameters P that specify the degree to which the inference result of each trained machine learning model 45 is emphasized in the target environment.
- the control unit 11 sets the integration rule 5 by referring to the integration rule data 57. Then, the control unit 11 integrates the inference results of each trained machine learning model 45 according to the integration rule 5 by the following processing.
- FIG. 9B is a flowchart showing an example of the processing procedure of the subroutine related to the integrated processing in step S204.
- the process of step S204 according to the present embodiment includes the following processes of steps S211 to S213.
- 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.
- step S211 the control unit 11 determines the value of each integrated parameter P according to the acquired environmental data 63. Details of the method for determining the value of each integrated parameter P will be described later.
- the target data 61 may be further considered in determining the value of each integrated parameter P. That is, the control unit 11 may determine the value of each integrated parameter P according to the target data 61 and the environment data 63.
- step S212 the control unit 11 weights the inference result of each corresponding inference model by using the value of each determined integrated parameter P.
- step S213 the control unit 11 integrates the weighted inference results of each inference model.
- the control unit 11 uses the determined values of the integrated parameters P to weight the inference results of the corresponding trained machine learning models 45. Then, the control unit 11 integrates the weighted inference results of each trained machine learning model 45.
- the weighting and integration method may not be particularly limited as long as the inference result is prioritized according to the weighting, and may be appropriately set according to the embodiment.
- integrating the weighted inference results of the inference results of each trained machine learning model 45 may be to calculate a weighted average of values indicating the inference results of each trained machine learning model 45.
- integrating the weighted inference results of the inference results of each trained machine learning model 45 is one of the inference results of each trained machine learning model 45 by making a majority decision after weighting. May be selected.
- the predetermined reasoning is regression
- the integration of the reasoning results may be performed mainly by the above weighted averaging.
- the predetermined reasoning is identification
- the integration of the reasoning results may be performed mainly by the weighted majority vote.
- control unit 11 ends the processing of the subroutine related to the integration processing in step S204. As a result, the control unit 11 can generate an inference result for the target data 61 under the target environment. When the inference result is generated by the integrated process, the control unit 11 proceeds to the next step S205.
- Step S205 the control unit 11 operates as the output unit 115 and outputs information regarding the generated inference result.
- the output processing in step S205 may be the same as the output processing in step S113, except that the processing environment is different.
- the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
- the control unit 11 may output the inference result generated in step S204 to the output device 16 as it is. Further, for example, the control unit 11 may execute some information processing based on the generated inference result. Then, the control unit 11 may output the result of executing the information processing as information regarding the inference result.
- the output of the result of executing this information processing may include outputting a specific message according to the inference result, controlling the operation of the controlled device according to the inference result, and the like.
- the output destination may be, for example, an output device 16, an output device of another computer, a controlled device, or the like.
- control unit 11 ends a series of information processing related to the predetermined inference.
- control unit 11 may continuously and repeatedly execute a series of information processing in steps S201 to S205 during a predetermined period.
- the timing of repeating may be arbitrary.
- the inference device 1 may continuously perform a predetermined inference.
- control unit 11 can determine the value of each integrated parameter P by at least one of the following three methods.
- FIG. 10A schematically illustrates an example of a situation in which the value of each integrated parameter P is determined by the first method.
- the control unit 11 uses an arithmetic model for calculating the value of each integrated parameter P from the environment data 63 (and the target data 61).
- the control unit 11 executes machine learning of the calculation model 51 by using the learning data 59. Similar to the machine learning model 40, the calculation model 51 may be represented by, for example, a data table, a function expression, or the like. By machine learning, the control unit 11 constructs (generates) a trained arithmetic model 52 trained so that the value of each integrated parameter P calculated fits a predetermined reasoning under the target environment.
- the integration rule 5 further comprises a trained arithmetic model 52 constructed by the machine learning.
- the information about the constructed learned arithmetic model 52 may be stored as at least a part of the integration rule data 57, or may be stored separately from the integration rule data 57.
- step S211 above the control unit 11 sets the learned calculation model 52 by appropriately referring to the information. Then, the control unit 11 gives the environment data 63 to the learned calculation model 52, and executes the calculation process of the learned calculation model 52. When the target data 61 is further considered, the control unit 11 further gives the target data 61 to the learned calculation model 52, and executes the calculation process of the learned calculation model 52.
- the arithmetic processing of the trained arithmetic model 52 may be the same as the arithmetic processing of the trained machine learning model 45.
- the control unit 11 can acquire the value of each integrated parameter P for each inference model as the output of the learned calculation model 52. In the present embodiment, after acquiring the value of each integrated parameter P, the control unit 11 integrates the inference results of each learned machine learning model 45 by executing the processes after step S212.
- FIG. 10B is a flowchart showing an example of a processing procedure related to the generation of the learned calculation model 52 by the inference device 1.
- each processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
- step S301 the control unit 11 operates as the learning data acquisition unit 116 and acquires the learning data 59 used for machine learning of the calculation model 51.
- step S302 the control unit 11 operates as the learning processing unit 117, and uses the acquired learning data 59 to execute machine learning of the calculation model 51.
- the machine learning in step S302 is configured by training the calculation model 51 so that the value of each integrated parameter P calculated fits a predetermined reasoning under the target environment.
- the machine learning of the calculation model 51 may be to adjust the values of the calculation parameters of the calculation model 51 so as to obtain a desired output suitable for the target environment. That is, training the calculation model 51 so that the value of each integrated parameter P to be calculated conforms to a predetermined inference under the target environment is to train each integrated parameter calculated by the processes of steps S212 and S213.
- the value of each integrated parameter P so that the result of integrating the inference results of each inference model (each machine learning model 45) matches the inference result under the target environment is set to the environmental data (and the target data).
- control unit 11 May be adjusted so that the value of the calculation parameter of the calculation model 51 may be adjusted.
- the control unit 11 generates a trained arithmetic model 52 that has acquired the ability to estimate the value of each integrated parameter P that matches a predetermined inference under the target environment from the environment data (and the target data). be able to.
- the configuration of the calculation model 51 and the machine learning method are not particularly limited, and may be appropriately determined according to the embodiment.
- the trained calculation model 52 is used to calculate the value of each integrated parameter P.
- the calculated value of each integration parameter P is used to weight the inference result of each inference model during the integration process.
- the inference result is generated by the above integrated processing.
- the trained machine learning model 45 directly derives the inference result for the target data. Therefore, the calculation model 51 (learned calculation model 52) is different from the machine learning model 40 (learned machine learning model 45) in the process of obtaining the data to be handled and the inference result.
- the configuration of the arithmetic model 51 and the method of machine learning may be the same as those of the machine learning model 40.
- the calculation model 51 may be represented by, for example, a data table, a function expression, or the like.
- the arithmetic model 51 may be composed of, for example, a neural network, a linear function, a decision tree, or the like.
- the type of the neural network does not have to be particularly limited and may be appropriately determined according to the embodiment.
- As the neural network constituting the arithmetic model 51 for example, a fully connected neural network, a convolutional neural network, a recurrent neural network, a combination thereof, or the like may be used.
- two examples of the configuration of the calculation model 51 and the machine learning method will be described.
- FIG. 10C schematically shows a first example of the configuration of the arithmetic model 51 and the method of machine learning.
- a neural network is adopted as the arithmetic model 51
- supervised learning is adopted as the machine learning method.
- examples of each of the learning data 59, the calculation model 51, and the trained calculation model 52 are referred to as learning data 591, calculation model 511, and trained calculation model 521.
- the arithmetic model 511 is configured by a fully connected neural network having a three-layer structure.
- the calculation model 511 includes an input layer 5111, an intermediate (hidden) layer 5112, and an output layer 5113 in this order from the input side.
- the configuration of the calculation model 511 does not have to be limited to such an example as in the machine learning model 401, and may be appropriately determined according to the embodiment.
- the number of intermediate layers included in the calculation model 511 may be two or more.
- the intermediate layer 5112 may be omitted.
- calculation model 511 may include other types of layers such as a convolution layer, a pooling layer, and a recursive layer.
- the arithmetic model 511 may be similar to the machine learning model 401.
- the calculation model 511 includes calculation parameters such as the weight of the connection between each neuron included in each layer 5111 to 5113 and the threshold value of each neuron.
- the learning data 591 used for supervised learning of this arithmetic model 511 includes a plurality of learning including a combination of training environment data 5911, training target data 5912, and correct answer data 5913 (teacher signal). It is composed of data set 5910.
- the training environment data 5911 is the same type of data as the environment data 63, and is used as training data (input data).
- the training target data 5912 is the same type of data as the target data 61. When the target data 61 is further considered, the training target data 5912 may be used as training data (input data) together with the training environment data 5911.
- the correct answer data 5913 is data showing the result (correct answer) of executing a predetermined inference on the training target data 5912 in the target environment.
- the correct answer data 5913 may be referred to as a label.
- the content of the training environment data 5911 may be appropriately selected according to the content of the environment to be considered for the integrated processing.
- the training environment data 5911 may be the same as the above environment data 63, except that it is acquired for training.
- the contents of the training target data 5912 and the correct answer data 5913 may be appropriately selected according to the contents of the inference learned by each inference model (learned machine learning model 45).
- the training target data 5912 may be the same as the target data 61, except that it is acquired for training.
- the training target data 5912 and the correct answer data 5913 are the same as the training data 311 and the correct answer data 312, except that the reasoning device 1 is acquired in consideration of the environment of the target for executing the predetermined inference. Good.
- Step S301 the control unit 11 acquires the learning data 591 composed of the plurality of learning data sets 5910.
- the method for generating each learning data set 5910 does not have to be particularly limited and may be appropriately selected depending on the embodiment. For example, by actually or virtually creating various situations in which a predetermined inference is executed under the target environment, data of the same type as the environment data 63 is acquired as training environment data 5911 in the created various situations. You may. Further, along with the training environment data 5911, data of the same type as the target data 61 may be acquired as the training target data 5912. Then, in the target environment, a predetermined inference is executed for the acquired training target data 5912.
- the predetermined reasoning may be manually made by an operator or the like. Then, the result (correct answer) of executing a predetermined inference with respect to the training target data 5912 is associated with the training environment data 5911 and the training target data 5912. As a result, each training data set 5910 can be generated.
- step S302 the control unit 11 executes machine learning (supervised learning) of the calculation model 511 by using the acquired learning data 591.
- the control unit 11 inputs the training environment data 5911 (and the training target data 5912) to the input layer 5111 for each training data 591 by machine learning, and each integrated parameter is output.
- the value of each integrated parameter P is output so that the result of integrating the inference results of each inference model (trained machine learning model 45) for the training target data 5912 matches the correct answer data 5913.
- the arithmetic model 511 is trained to output from.
- the control unit 11 generates a trained calculation model 521 that has acquired the ability to estimate the value of each integrated parameter P that matches a predetermined inference under the target environment from the environment data (and the target data).
- the specific processing procedure of supervised learning may be the same as that of the machine learning model 401.
- the control unit 11 prepares an arithmetic model 511 to be processed by machine learning.
- the structure of the arithmetic model 511 to be prepared and the initial value of each arithmetic parameter may be given by the template or by the input of the operator. Further, when performing re-learning, the control unit 11 may prepare the calculation model 511 based on the learning result data obtained by the past supervised learning.
- control unit 11 uses the training environment data 5911 included in each learning data set 5910 as input data, uses the correct answer data 5913 as a teacher signal, and performs learning processing of the neural network constituting the arithmetic model 511. Execute. In this learning process, the training target data 5912 may be further used as input data. Basically, the learning process of the arithmetic model 511 may be the same as that of the machine learning model 401.
- the control unit 11 inputs the training environment data 5911 to the input layer 5111 of the calculation model 511 for each learning data set 5910.
- the control unit 11 may further input the training target data 5912 to the input layer 5111 of the calculation model 511.
- the control unit 11 determines the firing of each neuron included in each layer 5111 to 5113 in order from the input side.
- the control unit 11 has an output value corresponding to the result of the arithmetic model 511 being trained calculating the value of each integrated parameter P according to the training environment data 5911 (and the training target data 5912). Is obtained from the output layer 5113.
- the control unit 11 executes the process of step S203 for the corresponding training target data 5912. That is, the control unit 11 gives the corresponding training target data 5912 to each inference model, and causes each inference model to execute a predetermined inference for the training target data 5912. As a result, the control unit 11 acquires the inference result of each inference model for the training target data 5912. In the present embodiment, the control unit 11 acquires the inference result of each trained machine learning model 45 for the training target data 5912.
- control unit 11 uses the value of each integrated parameter P obtained in the first step to execute the process of step S204 for the inference result of each learned machine learning model 45 obtained. To do. That is, the control unit 11 weights the inference result of each trained machine learning model 45 by using the value of each integrated parameter P obtained in the first step. Then, the control unit 11 integrates the weighted inference results of each trained machine learning model 45. As a result, the control unit 11 generates an inference result under the target environment. Then, the control unit 11 calculates the error between the generated inference result and the correct answer data 5913. A loss function may be appropriately used to calculate the error.
- the control unit 11 backpropagates the gradient of the error calculated by the error back propagation method to the calculation model 511, so that the calculation model such as the weight of the connection between each neuron and the threshold value of each neuron is calculated.
- the error of the value of each calculation parameter of 511 is calculated.
- the control unit 11 updates the value of each calculation parameter of the calculation model 511 based on each calculated error. The degree to which the value of the arithmetic parameter is updated may be adjusted by the learning rate.
- the control unit 11 inputs the training environment data 5911 (and the training target data 5912) to the input layer 5111 for each learning data set 5910, and outputs the data.
- the value of each integrated parameter P so that the result of integrating the inference results of each inference model (trained machine learning model 45) with respect to the training target data 5912 matches the correct answer data 5913 by using the value of each integrated parameter P.
- the value of each calculation parameter of the calculation model 511 is adjusted so as to output from the output layer 5113.
- the control unit 11 may repeat the first to fourth steps for each learning data set 5910 until the sum of the errors of the generated inference results is equal to or less than the threshold value.
- control unit 11 may repeatedly execute the first to fourth steps a predetermined number of times.
- control unit 11 can generate a trained calculation model 521 that has acquired the ability to estimate the value of each integrated parameter P that matches a predetermined inference under the target environment from the environment data (and the target data). it can.
- the configuration of the arithmetic model 511 is not limited to the neural network, and a model other than the neural network may be adopted as the arithmetic model 511.
- the arithmetic model 511 may be composed of, for example, a regression model, a support vector machine, a decision tree, or the like.
- the supervised learning method is not limited to the above example, and may be appropriately selected according to the configuration of the calculation model 511.
- FIG. 10D schematically shows a third example of the configuration of the arithmetic model 51 and the method of machine learning.
- reinforcement learning is adopted as the machine learning method as in the third example of the machine learning model 40.
- examples of each of the learning data 59, the calculation model 51, and the trained calculation model 52 are referred to as learning data 592, calculation model 512, and trained calculation model 522.
- the calculation model 512 may be configured in the same manner as the machine learning model 403. That is, the calculation model 512 may employ value-based, policy-based, or both.
- Each function may be represented by, for example, a data table, a function expression, or the like. When expressed by a function expression, each function may be composed of a neural network, a linear function, a decision tree, or the like.
- the method of reinforcement learning of the arithmetic model 512 may be the same as that of the machine learning model 403, except that the data to be handled and the process of deriving the inference result under the target environment are different.
- the learning environment may be created manually or automatically as appropriate.
- the states observed by the agent correspond to the environment data 63 and the target data 61.
- the agent uses the calculation model 512 to calculate the value of each integrated parameter P from the observed current state (input data). Further, the agent gives each inference model the target data included in the observed current state, and causes each inference model to execute a predetermined inference for the target data, as in step S203. As a result, the agent acquires the inference result of each inference model for the target data. In the present embodiment, the agent acquires the inference result of each trained machine learning model 45 for the target data. Next, the agent weights the inference result of each trained machine learning model 45 by using the value of each integrated parameter P obtained by the calculation model 512. The agent then integrates the weighted inference results of each trained machine learning model 45. As a result, the agent generates an inference result under the target environment.
- the agent decides the action to be adopted based on the generated inference result. Alternatively, the action to be adopted may be randomly determined. When the determined action is executed, the observed state transitions to the next state. In some cases, agents can get immediate rewards from the learning environment. By repeating the trial and error of determining and executing this action, the agent updates the calculation model 512 so as to maximize the sum of the immediate rewards. As a result, the optimum behavior is strengthened, and it is possible to obtain a policy (learned calculation model 522) for calculating the value of each integrated parameter P that enables the selection of such behavior.
- the learning data 592 is the state transition data obtained by this trial and error, and the executed action transitions from the current state to the next state, and in some cases, an immediate reward is obtained. It is composed of state transition data showing state transitions. Similar to the local learning data 303, one state transition data may be composed of data showing the loci of the state transitions of all one episode, or the state transitions for a predetermined number of times (one or more times) may be performed. It may be composed of the data shown.
- the reward function for calculating the immediate reward may be used in the reinforcement learning of the arithmetic model 512.
- the reward function may be represented by a data table, a function expression, or a rule.
- the reward function When expressed by a function expression, the reward function may be composed of a neural network, a linear function, a decision tree, or the like.
- the reward function may be manually set by an operator or the like according to the content of a predetermined inference executed in the above series of processes.
- the reward function may be set to give an immediate reward according to the appropriateness of the inference result generated by the above series of processes.
- the appropriateness of the inference result may be expressed by a predetermined number of grades such as 5 grades, 10 grades, and the like.
- the appropriateness of the inference result may be expressed by continuous values.
- the appropriateness of the inference result may be manually given by an operator or the like.
- the appropriateness of the inference result may be evaluated using the determination device 49 according to a predetermined criterion.
- the predetermined criteria may be the same as the machine learning model 403.
- the determination device 49 may be the same as the determination device 48 in the reinforcement learning of the machine learning model 403.
- the reward function may be estimated by inverse reinforcement learning from case data obtained by an expert.
- the content of the case data, the method of generating the case data, and the method of the inverse reinforcement learning are not particularly limited, and are the same as the case data used for setting the reward function in the reinforcement learning of the machine learning model 403. It may be.
- the learning data 592 may further include case data used for inverse reinforcement learning.
- step S301 the control unit 11 may acquire the state transition data by executing the trial and error using the calculation model 512 being trained.
- the state transition data may be generated by another computer.
- the control unit 11 may acquire the state transition data generated by another computer via the network, the storage medium 91, or the like.
- step S302 the control unit 11 updates the value of the calculation parameter of the calculation model 512 so as to maximize the value based on the obtained state transition data.
- the method of adjusting the value of the calculation parameter of the calculation model 512 may be appropriately selected according to the configuration of the calculation model 512. For example, when the calculation model 512 is configured by a neural network, the values of the calculation parameters of the calculation model 512 may be adjusted by an error backpropagation method or the like in the same manner as in the first example.
- the control unit 11 repeats the processes of steps S301 and S302, and sets the arithmetic parameters of the arithmetic model 512 so that the obtained value (expected value) is maximized (for example, until the update amount becomes equal to or less than the threshold value). Adjust the value. That is, training the calculation model 512 includes repeatedly modifying the values of the calculation parameters constituting the calculation model 512 so that a large amount of reward can be obtained until a predetermined condition is satisfied. As a result, the control unit 11 can generate a trained calculation model 522 that has acquired the ability to estimate the value of each integrated parameter P that matches a predetermined inference under the target environment from the environment data (and the target data). it can.
- the method of reinforcement learning may be the same as that of the machine learning model 403.
- the control unit 11 when the reverse reinforcement learning is performed, the control unit 11 further acquires the case data in the step S301 before executing the process of the reinforcement learning.
- the case data may be generated by the inference device 1 or may be generated by another computer.
- the control unit 11 may acquire case data generated by the other computer via a network, a storage medium 91, or the like.
- the control unit 11 sets the reward function by executing the inverse reinforcement learning using the acquired case data.
- the control unit 11 executes the above-mentioned reinforcement learning process by using the reward function set by the inverse reinforcement learning.
- control unit 11 estimates the value of each integrated parameter P that matches the predetermined inference under the target environment from the environment data (and the target data) by using the reward function set by the inverse reinforcement learning. It is possible to generate a trained arithmetic model 522 that has acquired the ability.
- At least one of the above two configurations may be adopted for the configuration of the calculation model 51.
- the control unit 11 can generate the trained calculation model 52 by adopting at least one of the above two machine learning methods.
- the control unit 11 proceeds to the next step S303.
- Step S303 the control unit 11 operates as the storage processing unit 118 to generate the result of machine learning of the calculation model 51, that is, information about the learned calculation model 52.
- the control unit 11 generates information about the trained arithmetic model (521, 522).
- the control unit 11 stores the generated information about the learned calculation model 52 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 information about the learned calculation model 52 in the storage medium via the drive 17.
- the external storage device may be, for example, a data server such as NAS. In this case, the control unit 11 may store the information about the learned calculation model 52 in the data server via the network by using the communication interface 13. Further, the external storage device may be, for example, an external storage device connected to the inference device 1.
- the generated information about the learned calculation model 52 may be stored as at least a part of the integration rule data 57, or may be stored separately from the integration rule data 57. As a result, when the storage of the information regarding the learned calculation model 52 is completed, the control unit 11 ends a series of information processing related to the generation of the learned calculation model 52.
- control unit 11 may periodically update or newly generate the learned calculation model 52 by periodically repeating the processes of steps S301 to S303. When this is repeated, the data included in the learning data 59 may be changed, modified, added, deleted, or the like as appropriate. Then, the control unit 11 may use the updated or newly generated learned calculation model 52 for the subsequent inference processing.
- a trained arithmetic model 52 is constructed by machine learning so that the value of each integrated parameter P calculated so as to conform to a predetermined reasoning under the target environment. Therefore, by using the value of each integrated parameter P calculated by the constructed trained arithmetic model 52, the inference results of each trained machine learning model 45 can be appropriately integrated so as to match the target environment. Can be done. Therefore, according to the first method, a predetermined reasoning can be performed more appropriately under the target environment.
- the number of parameters of the machine learning model 40 depends on the number of dimensions of the target data (61, 225) and the representation format of the inference result. Therefore, the more complicated the target data (61, 225) and the inference content, the greater the number of parameters of the machine learning model 40.
- the number of parameters of the calculation model 51 (trained calculation model 52) depends on the number of dimensions of the environment data 63 and the number of trained machine learning models 45 used for predetermined inference under the target environment. Since the information processing of the calculation model 51 merely determines the value of each integrated parameter P, even if the target data (61, 225) and the inference content become complicated, the increase in the number of parameters of the calculation model 51 should be suppressed. Can be done.
- the target data (61, 225) is image data.
- the number of parameters of the machine learning model 40 depends on the number of pixels of the image data and the number of states that the camera can take, and can be on the order of more than 1,000.
- the number of parameters of the arithmetic model 51 depends on the number of dimensions of brightness and the number of trained machine learning models 45, but even if dozens of trained machine learning models 45 are used to estimate the optimum observation method. At most, it is on the order of tens to hundreds.
- the number of parameters of the calculation model 51 that determines the value of the integrated parameter P needs to be smaller than the number of parameters of the machine learning model 40 that directly executes a predetermined inference.
- the scale of the neural network of the arithmetic model 51 is larger than that of the neural network of the machine learning model 40. It can be small.
- reinforcement learning is adopted as a machine learning method, the number of parameters that define the learning environment is smaller in the scene where the arithmetic model 51 is trained than in the scene where the machine learning model 40 is trained. I'm done.
- the cost of machine learning depends on the number of parameters, the cost of constructing the trained arithmetic model 52 by machine learning can be kept lower than the cost of constructing a new trained machine learning model 45 suitable for the target environment. it can. Therefore, according to the first method, it is possible to improve the accuracy of the predetermined inference while suppressing the cost for constructing the inference model capable of appropriately executing the predetermined inference in the new environment.
- FIG. 11A schematically illustrates an example of a situation in which the value of each integrated parameter P is determined by the second method.
- the control unit 11 compares each integrated parameter with the environment of the target for executing a predetermined inference and the obtained learning environment of the local learning data 30 used for deriving each inference model. Determine the value of P.
- the control unit 11 calculates the goodness of fit between the environmental data 63 and the learning environment data 35 of each case, and sets the value of the integrated parameter P for each corresponding inference model according to the calculated goodness of fit. decide.
- FIG. 11B is a flowchart showing an example of a processing procedure of a subroutine that determines the value of each integrated parameter P by the second method.
- the step S211 includes the following steps S311 to S313.
- 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.
- step S311 the control unit 11 acquires the learning environment data 35 related to the obtained environment of the local learning data 30 used for deriving each inference model.
- the learning environment data 35 of each learned machine learning model 45 may be provided from each local learning device 2 to the inference device 1 at an arbitrary timing.
- the control unit 11 may appropriately acquire the learning environment data 35 for each case.
- the control unit 11 proceeds to the next step S312.
- step S312 the control unit 11 calculates the goodness of fit of the learning environment data 35 and the environment data 63 for each case.
- the form of the goodness of fit is not particularly limited and is appropriately determined according to the embodiment. You can.
- the control unit 11 may calculate the degree of agreement between the learning environment data 35 and the environment data 63 as the goodness of fit. Further, for example, the control unit 11 may calculate the distance (norm) between the learning environment data 35 and the environment data 63, and calculate the goodness of fit according to the calculated distance.
- the control unit 11 may calculate the goodness of fit to a smaller value as the calculated distance is larger, and may calculate the goodness of fit to a larger value as the calculated distance is smaller.
- the correspondence between the distance and the goodness of fit may be expressed by a data table, a function formula, a rule, or the like. This correspondence may be set manually by an operator or the like, or may be automatically derived by a known method such as fitting.
- the control unit 11 may calculate the reciprocal of the calculated distance as the goodness of fit.
- the goodness of fit may be expressed by a predetermined number of grades, or may be expressed by continuous values. After calculating each goodness of fit, the control unit 11 proceeds to the next step S313.
- step S313 the control unit 11 determines the value of each integrated parameter P for each corresponding inference model according to each calculated goodness of fit.
- the inference result of the inference model derived from the local learning data 30 obtained from the learning environment similar to the target environment is assumed to be highly reliable even in the target environment.
- the control unit 11 may calculate the value of the integrated parameter P to a larger value as the goodness of fit is larger, and may calculate the value of the integrated parameter P to a smaller value as the goodness of fit is smaller.
- the correspondence between the goodness of fit and the value of the integration parameter P may be expressed by a data table, a function expression, a rule, or the like. This correspondence may be set manually by an operator or the like, or may be automatically derived by a known method such as fitting. Alternatively, the control unit 11 may adopt the calculated goodness of fit as it is as the value of each integrated parameter P.
- the control unit 11 can determine the value of each integrated parameter P for each inference model according to the calculated goodness of fit.
- the control unit 11 may store information indicating the result of determining the value of each integration parameter P as at least a part of the integration rule data 57, or may store it separately from the integration rule data 57.
- the control unit 11 ends the processing of the subroutine related to step S211.
- the control unit 11 integrates the inference results of each learned machine learning model 45 by executing the processes after step S212.
- the second method can save the trouble of generating the trained calculation model 52.
- the value of each integrated parameter P can be appropriately determined by a simple process of comparing the target environment with the learning environment. Therefore, according to the second method, it is possible to reduce the cost of constructing an inference model capable of appropriately executing a predetermined inference in a new environment by a simple method.
- FIG. 12A schematically illustrates an example of a situation in which the value of each integrated parameter P is determined by the third method.
- the control unit 11 accepts the designation of the value of the integrated parameter P by the operator via the input device 15 and sets the value of the target integrated parameter P to the specified value.
- FIG. 12A schematically illustrates an example of a reception screen for accepting the designation of the value of the integrated parameter P.
- FIG. 12B is a flowchart showing an example of the processing procedure of the subroutine for setting the value of the integrated parameter P by the third method.
- the control unit 11 operates as a parameter setting unit 119, and executes the following processes of steps S321 to S323.
- 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.
- step S321 the control unit 11 outputs a reception screen for accepting the input of the value of the integrated parameter P for the inference model.
- step S322 the control unit 11 receives the designation of the value of at least one integrated parameter P among the plurality of integrated parameters P via the reception screen.
- the control unit 11 outputs the reception screen illustrated in FIG. 12A to the output device 16.
- the output destination of the reception screen does not have to be limited to the output device 16.
- the reception screen may be output to, for example, an output device of another computer.
- the reception screen illustrated in FIG. 12A includes a display field 161, a selection field 162, an input field 163, and a decision button 165.
- Information of each inference model is displayed in the display field 161.
- the content of the learning environment data 35 may be displayed in the display field 161.
- the calculated goodness of fit may be displayed in the display column 161.
- selection field 162 selection of whether or not to use for inference processing is accepted.
- the control unit 11 determines the trained machine learning model 45 to be used for the inference processing according to the selection of the selection field 162.
- the specification of the value of the integration parameter P for the target inference model is accepted.
- the operator can specify the value of the corresponding integrated parameter P by operating the input device 15 and inputting a desired value in the input field 163 of the target inference model.
- the value of the integrated parameter P may be specified from a predetermined number of grades, or may be specified as a continuous value.
- an invalid value for example, 0
- the selection field 162 may be omitted.
- the enter button 165 is used to end the specification of the value of the integrated parameter P. After the specification of the value of the integrated parameter P is completed, the operator operates the input device 15 to operate the enter button 165.
- the control unit 11 ends the process of step S322 in response to the operation of the decision button 165, and proceeds to the next step S323.
- step S323 the control unit 11 sets the value of the target integrated parameter P to the specified value.
- the control unit 11 may save the information regarding the designated setting contents as at least a part of the integration rule data 57, or may save the information separately from the integration rule data 57.
- the control unit 11 ends the processing of the subroutine related to the setting of the value of the integrated parameter P.
- the control unit 11 integrates the inference results of each trained machine learning model 45 by executing the processes after step S212.
- step S212 the control unit 11 weights the inference result of the trained machine learning model 45 corresponding to the target integrated parameter P by using the value set as described above.
- At least a part of the value of each integrated parameter P applied to the inference result of each trained machine learning model 45 can be determined by the operator's designation. Therefore, the intention of the operator (for example, emphasizing the inference result of the specific trained machine learning model 45) can be reflected in the predetermined inference executed in the target environment.
- control unit 11 can determine the value of each integrated parameter P in step S211 by adopting at least one of the above three methods.
- the above three methods may be appropriately adopted.
- the control unit 11 determines the value of each integrated parameter P by the first method or the second method, and then corrects the value of at least one of the plurality of integrated parameters P by the third method. You may.
- FIG. 13A schematically illustrates an example of a scene in which each inference model is grouped.
- the trained machine learning model 45 which is an example of the inference model, is generated by each local learning device 2. Therefore, one of the plurality of trained machine learning models 45, the trained machine learning model 45 and the other trained machine learning model 45 may be generated to perform different inferences for completely different purposes. There is. In this case, it is difficult to integrate the inference result of one trained machine learning model 45 with the inference result of another trained machine learning model 45.
- the control unit 11 operates as a grouping unit 1110, and even if each inference model (in this embodiment, each trained machine learning model 45) is assigned to at least one of a plurality of groups. Good. Each group may be appropriately set according to the type of inference, the purpose, the target environment, and the like.
- FIG. 13A schematically illustrates an example of a scene in which each trained machine learning model 45 is assigned to two groups, group A and group B.
- the control unit 11 stores the group allocation result for each trained machine learning model 45 in the allocation information 125.
- the allocation information 125 may be stored, for example, in a predetermined storage area.
- the predetermined storage area may be a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
- step S203 the control unit 11 identifies a group to be used in the target environment from a plurality of set groups, and acquires the inference result for the trained machine learning model 45 belonging to the specified group. May be executed. Then, in step S204, the control unit 11 may integrate the inference results of the trained machine learning model 45 belonging to the specified group according to the corresponding integration rule 5. As a result, the integrated process can be executed for each group according to the purpose.
- control unit 11 can assign each inference model to at least one of a plurality of groups by any one of the following two methods.
- FIG. 13B is a flowchart showing a procedure for assigning a group to each inference model by the first grouping method.
- the control unit 11 assigns each inference model to at least one of a plurality of groups by selecting a desired group from the list of groups.
- assigning each inference model to at least one of a plurality of groups can be performed by the following steps S411 and S412. It is composed.
- 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.
- step S411 the control unit 11 accepts the selection of one or more groups to be assigned to each inference model from the list showing the plurality of groups.
- the control unit 11 may output a list showing a plurality of groups to the output device 16.
- the operator may operate the input device 15 to select one or more groups from the list to be assigned to each inference model. This allows the selection of one or more groups to be assigned to each inference model from a list showing the plurality of groups.
- group selection does not have to be performed by the inference device 1.
- group selection may be performed by each local learning device 2.
- the control unit 11 may distribute a list showing a plurality of groups to each local learning device 2.
- the control unit 11 may cause each local learning device 2 to select one or more groups from the plurality of groups shown in the list.
- each group included in the list may be set according to the attributes of the local learning data 30, the local learning device 2, the user of the local learning device 2, and the like. For example, in the case of estimating the optimum observation method of the sensor, it is assumed that the sensor is used to monitor the state of the manufacturing line of the factory. In this case, groups may be set according to attributes such as line number, factory name, and company name. A new group may be added to the list by the operation of the operator or the request from each local learning device 2.
- step S412 the control unit 11 assigns each inference model to one or more selected groups based on the answer in step S411.
- the control unit 11 ends a series of processes related to the allocation of the groups by the first grouping method. According to this first grouping method, the control unit 11 can group each inference model by a simple method.
- FIG. 13C is a flowchart showing an example of a processing procedure for assigning a group to each inference model by the second grouping method.
- the control unit 11 assigns each inference model to an appropriate group according to the attributes of the local learning data 30.
- assigning each inference model to at least one of a plurality of groups can be performed by the following steps S421 to S423. It is composed.
- 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.
- step S421 the control unit 11 acquires attribute data related to the local learning data 30 from each local learning device 2.
- the method of acquiring the attribute data may be the same as the method of acquiring the learning environment data 35.
- the control unit 11 may appropriately acquire attribute data from each local learning device 2.
- the attribute data may include any information regarding the local learning data 30.
- the attribute data may include, for example, information indicating the type of data included in the local learning data 30, information indicating features appearing in the data, information indicating the purpose of use of the data, and the like.
- the attribute data may include the learning environment data 35.
- the attribute data may be generated at least when the local learning data 30 is acquired in step S101 and when the learning environment data 35 is acquired in step S103. When the attribute data is acquired, the control unit 11 proceeds to the next step S422.
- step S422 the control unit 11 clusters the attribute data acquired from each local learning device 2.
- the clustering method is not particularly limited and may be appropriately selected depending on the embodiment.
- a known method such as the k-means clustering method may be adopted.
- step S423 the control unit 11 assigns each inference model to at least one of a plurality of groups based on the result of clustering.
- the control unit 11 assigns an inference model in which the acquired attribute data is assigned to the same class to the same group.
- each group may be set according to the class of attribute data.
- the control unit 11 may assign each inference model to two or more groups based on the result of clustering.
- control unit 11 ends a series of processes related to the group allocation by the second grouping method. According to this second grouping method, the control unit 11 can assign each inference model to an appropriate group according to the attribute of the local learning data 30.
- control unit 11 can appropriately group each inference model.
- grouping method is not limited to these examples, and may be appropriately determined according to the embodiment.
- the inference device 1 does not construct a new inference model in order to execute a predetermined inference under the target environment, but has already been processed in steps S203 and S204. Utilize the plurality of trained machine learning models 45 constructed.
- the inference device 1 according to the present embodiment adjusts the degree to which the inference of each learned machine learning model 45 is emphasized according to the target environment shown in the environment data 63. ..
- the inference device 1 according to the present embodiment can customize the knowledge about the predetermined inference obtained in various environments so as to be adapted to the new environment.
- a predetermined inference can be appropriately made in the target environment.
- the inference device 1 and each local learning device 2 according to the above embodiment may be applied to any situation in which some inference is executed by the inference model.
- the scenes in which some inference is executed are, for example, the scene in which the optimum observation method of the sensor is estimated, the scene in which the moving path of the moving object is predicted, the scene in which the conversation strategy suitable for the user is estimated, and the robot device suitable for the task. This is a scene where the operation command of is estimated.
- four modified examples in which the application situations are limited will be illustrated.
- FIG. 14 schematically illustrates an example of an application scene of the inspection system 100A according to the first modification.
- This modified example is an example in which the above embodiment is applied to a scene where the optimum observation method of the sensor is estimated.
- the inspection system 100A according to the present modification includes an inspection device 1A and a plurality of local learning devices 2A. Similar to the above embodiment, the inspection device 1A and each local learning device 2A may be connected to each other via a network.
- the inspection device 1A corresponds to the above inference device 1.
- Each local learning device 2A corresponds to each of the above local learning devices 2.
- the inspection device 1A may be configured in the same manner as the inference device 1, and each local learning device 2A may be configured in the same manner as the local learning device 2 except that the data to be handled and the content of the inference are limited. You can.
- the hardware configuration and software configuration of the inspection device 1A may be the same as those of the inference device 1.
- the hardware configuration and software configuration of each local learning device 2A may be the same as those of the above-mentioned local learning device 2.
- the sensor SA1 is connected to the inspection device 1A and each local learning device 2A.
- the predetermined inference related to this modification is a method of changing from the current observation state in which the attribute of the object RA is observed by the sensor SA1 to an appropriate observation state for obtaining observation data conforming to the predetermined conditions by the sensor SA1. Is to estimate.
- the sensor SA1 may be, for example, a camera, a microphone, a vital sensor, or the like.
- the camera is, for example, a general digital camera configured to acquire an RGB image, a depth camera configured to acquire a depth image, an infrared camera configured to image an amount of infrared rays, and the like.
- the object RA may be, for example, a product, a plant, a person, or the like.
- the predetermined conditions may be appropriately defined according to the observation purpose of the sensor SA1. For example, assume a case where observation data is obtained by the sensor SA1 for quality evaluation of the object RA. In this case, the predetermined conditions may be defined according to the performance of inference regarding quality evaluation for the observation data obtained by the sensor SA1.
- the quality evaluation of the object RA may be, for example, inspection of a product (for example, defect detection), inspection of a growth state of a plant (for example, an agricultural product), inspection of a person's health condition, or the like.
- predetermined conditions include whether or not defect detection is possible based on the observation data obtained by the sensor SA1, and whether or not the accuracy of defect detection meets the criteria. , May be defined according to the performance of the intended inspection on the observation data obtained by the sensor.
- Each local learning device 2A according to this modification generates a trained machine learning model 45A that has acquired the ability to estimate how to change the sensor SA1 to an appropriate observation state.
- the inspection device 1A according to this modification uses each trained machine learning model 45A derived from the local learning data 30A obtained under different environments by each local learning device 2A, and is a target.
- the optimum observation method of the target sensor SA1 is estimated in the environment.
- the target sensor SA1 for estimating the optimum observation method is the sensor SA1 connected to the inspection device 1A.
- the target sensor SA1 is not limited to this, and the inspection device 1A may estimate the optimum observation method of the sensor SA1 connected to another computer.
- the inspection device 1A acquires the target data 61A to be the target of the predetermined inference and the environment data 63A related to the target environment to execute the predetermined inference.
- the target data 61A which is the target of predetermined inference according to this modification, relates to the current observation state of the target sensor SA1.
- the environmental data 63A relating to the target environment for executing the predetermined inference according to the present modification relates to the target observation environment in which the target sensor SA1 observes the attribute of the target RA.
- the inspection device 1A is further connected to another sensor SA2.
- the other sensor SA2 is used for observing the target observation environment, unlike the target sensor SA1 that estimates the optimum observation method. Therefore, the inspection device 1A can acquire the environmental data 63A from the other sensor SA2.
- the other sensor SA2 may be, for example, a camera, a photometer, an illuminance meter, a thermometer, a hygrometer, or the like.
- the inspection device 1A according to this modification gives the acquired target data 61A to each trained machine learning model 45A, and causes each trained machine learning model 45A to estimate how to change the sensor SA1 to an appropriate observation state. ..
- the inspection device 1A according to the present modification acquires the estimation result of each learned machine learning model 45A regarding the method of changing the sensor SA1 to an appropriate observation state.
- the inspection device 1A according to the present modification integrates the estimation results of each trained machine learning model 45A according to the integration rule 5A.
- the integration rule 5A includes a plurality of integration parameter PAs that specify the degree to which the estimation result of each trained machine learning model 45A is emphasized in the target environment.
- the inspection device 1A according to this modification determines the value of each integrated parameter PA according to the environmental data 63A.
- the target data 61A may be further considered.
- the inspection device 1A according to the present modification uses the determined values of the integrated parameters PA to weight the estimation results of the corresponding trained machine learning models 45A. Then, the inspection device 1A according to the present modification integrates the weighted estimation results of each trained machine learning model 45A.
- the inspection device 1A can generate a result of estimating a method of changing from the current observation state of the target sensor SA1 to an appropriate observation state under the target environment.
- To estimate the method of changing to the proper observation state is to estimate the change method directly, and to estimate the proper observation state, and to estimate the difference between the estimated proper observation state and the current observation state.
- the calculation may include indirectly estimating the change method for leading to an appropriate observation state.
- each symbol in FIG. 14 schematically illustrates a scene of image inspection of a product.
- the object RA may be a product manufactured on the production line, and the sensor SA1 may be a camera.
- the observation data obtained by the sensor SA1 may be image data.
- the other sensor SA2 may be a photometer or an illuminance meter.
- the predetermined condition may be related to the appearance of the object RA in the image data so as to be suitable for inspecting the attributes (for example, the presence or absence of defects, the type of defects) of the object RA (product).
- the inspection device 1A is further connected to the pan head device IN1 and the lighting device IN2.
- the sensor S1 is attached to the pan head device IN1.
- the pan head device IN1 includes a pedestal portion In11, a first joint portion In12, and a second joint portion In13. Each joint (In12, In13) may be provided with a driving device such as a servomotor.
- the first joint portion In12 is connected to the pedestal portion In11, and the tip end side portion is rotated around the axis of the pedestal.
- the second joint portion In13 is connected to the first joint portion In12, and the tip end side portion is rotated in the front-rear direction.
- the pan head device IN1 is configured so that the orientation and arrangement of the sensor S1 can be changed by computer control.
- the lighting device IN2 may be configured so that the brightness of the observation environment can be changed by adjusting the amount of light output by computer control.
- the pan head device IN1 and the lighting device IN2 are examples of the "intervention device" of the present invention, respectively.
- the intervention device is not limited to such an example as long as it is configured so that the observation state can be changed by intervening in the observation state of the target sensor SA1.
- an air conditioner, a humidifier, a heater, or the like may be used as an intervention device.
- a conveyor device, a robot arm, or the like may be used as the intervention device.
- Each local learning device 2A according to this modification generates a trained machine learning model 45A by executing the processes of steps S101 to S104 in the same manner as in each of the local learning devices 2 described above. That is, in step S101, each local learning device 2A acquires the local learning data 30A. Then, in step S102, each local learning device 2A executes machine learning of the machine learning model 40A by using the acquired local learning data 30A.
- the configuration of the machine learning model 40A and the method of machine learning may be the same as those of the machine learning model 40.
- the above-mentioned supervised learning (first example) or reinforcement learning (third example) may be used as the machine learning method.
- the local learning data 30A is composed of a plurality of learning data sets each including a combination of training data and correct answer data.
- the training data is of the same type as the target data 61A, and may be composed of data relating to the current observation state of the sensor SA1.
- the correct answer data may be composed of the result of inference to the training data (correct answer), that is, the data showing the method of changing from the current observation state to the appropriate observation state.
- Each learning data set may be generated by the same method as in the above embodiment.
- Each local learning device 2A uses the acquired local learning data 30A to execute supervised learning of the machine learning model 40A.
- the method of supervised learning may be the same as that of the above embodiment.
- the machine learning model 40A may adopt value-based, policy-based, or both.
- the state to be observed may be the observation state of the sensor SA1, and the action executed by the agent may be a change in the observation state of the sensor SA1.
- the reward function may be set manually by an operator or the like.
- the reward function may be set to give an immediate reward according to the appropriateness of the estimation result of the machine learning model 40A.
- the appropriateness may be manually given by an operator or the like.
- the appropriateness may be evaluated according to a predetermined criterion using a determination device.
- the determination device may be configured to perform a target estimation process on the observation data obtained by the sensor SA1.
- the determination device may be configured to detect a defect of the product from the image data.
- the reward function gives a positive immediate reward if the accuracy of the estimation process is greater than or equal to the threshold, based on the results of multiple estimation process attempts, and the accuracy of the estimation process is less than or equal to the permissible value (eg,). If the defect cannot be detected), it may be set to give a negative immediate reward.
- the reward function may be estimated by inverse reinforcement learning from case data showing expert demonstrations.
- the case data may be composed of, for example, data indicating a method of changing the sensor SA1 obtained by the operation of an expert.
- Each local learning device 2A adjusts the value of the calculation parameter of the machine learning model 40A so that the obtained value (expected value) is maximized in the learning environment set appropriately.
- the method of reinforcement learning may be the same as that of the above embodiment.
- Each local learning device 2A can execute machine learning of the machine learning model 40A by any of the above methods. As a result, each local learning device 2A changes from the current observation state in which the attribute of the object RA is observed by the sensor SA1 to an appropriate observation state for obtaining observation data conforming to a predetermined condition by the sensor SA1. It is possible to generate a trained machine learning model 45A that has acquired the ability to estimate.
- each local learning device 2A acquires the learning environment data 35A related to the environment in which the local learning data 30A is obtained.
- the learning environment data 35A is the same type of data as the environment data 63A obtained by the inspection device 1A.
- the method of acquiring the learning environment data 35A may be the same as the method of acquiring the environment data 63A.
- each local learning device 2A may be further connected to a sensor of the same type as the other sensor SA2, and the learning environment data 35A may be acquired from the sensor.
- each local learning device 2A generates information about the generated learned machine learning model 45A as learning result data 47A. Then, each local learning device 2A associates the learning result data 47A with the learning environment data 35A and stores it in a predetermined storage area.
- the local learning data 30A may be acquired under different environments between the local learning devices 2A. Then, the trained machine learning model 45A may be generated from the obtained local learning data 30A. As a result, a plurality of trained machine learning models 45A derived from the local learning data 30A obtained under different environments can be obtained so that the optimum observation method of the sensor SA1 can be estimated.
- FIG. 15 schematically illustrates an example of the hardware configuration of the inspection device 1A according to this modification.
- the inspection device 1A according to the present modification has the same control unit 11, storage unit 12, communication interface 13, external interface 14, input device 15, output device 16, and the same as the inference device 1.
- the drive 17 is an electrically connected computer.
- the inspection device 1A is connected to the sensor SA1, another sensor SA2, the pan head device IN1 and the lighting device IN2 via the external interface 14.
- the hardware configuration of the inspection device 1A does not have to be limited to such an example.
- the components can be omitted, replaced, and added as appropriate according to the embodiment.
- the inspection device 1A may be a general-purpose server device, a general-purpose PC, a PLC (programmable logic controller), or the like, in addition to an information processing device designed exclusively for the provided service.
- PLC programmable logic controller
- the storage unit 12 of the inspection device 1A stores various information such as the inspection program 81A, the integrated rule data 57A, the learning result data 47A, the learning data 59A, and the learning environment data 35A.
- the inspection program 81A, the integrated rule data 57A, the learning result data 47A, the learning data 59A, and the learning environment data 35A are the inference program 81, the integrated rule data 57, the learning result data 47, the learning data 59, and the learning according to the above embodiment.
- At least one of the inspection program 81A, the integration rule data 57A, the learning result data 47A, the learning data 59A, and the learning environment data 35A may be stored in the storage medium 91. Further, the inspection device 1A may acquire at least one of the inspection program 81A, the integration rule data 57A, the learning result data 47A, the learning data 59A, and the learning environment data 35A from the storage medium 91.
- ⁇ Software configuration of inspection equipment> 16A and 16B schematically illustrate an example of the software configuration of the inspection device 1A according to this modification. Similar to the above embodiment, the software configuration of the inspection device 1A is realized by executing the inspection program 81A by the control unit 11. As shown in FIGS. 16A and 16B, the software configuration of the inspection device 1A is the same as the software configuration of the inference device 1 except that the data to be handled and the content of the inference are limited. As a result, the inspection device 1A executes a series of processes related to the inference in the same manner as the inference device 1.
- Step S201 That is, as shown in FIG. 16A, in step S201, the control unit 11 of the inspection device 1A acquires the target data 61A.
- the content of the target data 61A does not have to be particularly limited as long as it relates to the current observation state of the target sensor SA1, and may be appropriately selected according to the embodiment.
- the target data 61A may include, for example, data indicating attributes related to the installation status of the target sensor SA1, data indicating attributes related to the operation setting of the target sensor SA1, observation data obtained by the target sensor SA1 and the like.
- Attributes related to the installation status of the target sensor SA1 include, for example, the installation angle of the sensor SA1, the distance between the sensor SA1 and the observation target (object RA), and the observation attributes (for example, brightness) that affect the observation by the sensor SA1. , Temperature, humidity, etc.), etc. may be included.
- the attributes related to the operation setting of the target sensor SA1 may include, for example, a set value of the measurement range of the sensor SA1, a set value of the resolution of the measurement range, a set value of the sampling frequency, and the like.
- the attributes related to the operation setting may include an aperture value, a shutter speed, a zoom magnification, and the like.
- the method of acquiring the target data 61A does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the target data 61A may be acquired from the target sensor SA1 itself.
- the target data 61A may be acquired from another sensor (for example, another sensor SA2) that observes environmental attributes.
- the pan head device IN1 and the lighting device IN2 are connected to the inspection device 1A as intervention devices.
- the target data 61A may be acquired from at least one of each intervention device itself and a sensor (not shown) that observes the state of each intervention device. Further, for example, the target data 61A may be acquired by input by an operator or the like.
- the control unit 11 may acquire the target data 61A directly from each device, or may indirectly acquire the target data 61A via another computer.
- Step S202 the control unit 11 acquires the environment data 63A.
- the content of the environmental data 63A does not have to be particularly limited as long as the target sensor SA1 relates to the target observation environment for observing the attributes of the target RA, and is appropriately selected according to the embodiment. Good.
- the environmental data 63A includes, for example, data indicating attributes related to the specifications (or performance) of the target sensor SA1, data indicating the attributes of the observation target (object RA), environmental attributes affecting the observation by the target sensor SA1 and the like. You can do it.
- Attributes related to the specifications (or performance) of the target sensor SA1 may include, for example, the sensitivity limit of the sensor SA1, the dynamic range, the settable range of spatial resolution, the settable range of the sampling frequency, and the like.
- the attributes of the observation target (object RA) may include, for example, the type of observation target, the purpose of observation, and the like.
- the type of observation target may be, for example, a type of product / work, a type of plant, or the like.
- the purpose of observation is, for example, defect detection, quality inspection, and the like.
- the method for acquiring the environmental data 63A does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
- the environment data 63A may be acquired by input by an operator or the like.
- the environmental data 63A may be acquired from the target sensor SA1 itself.
- the environmental data 63A may be acquired from the observation data obtained by the target sensor SA1.
- the environmental data 63A may be acquired from another sensor (for example, another sensor SA2) that observes the environmental attribute.
- the control unit 11 may acquire the environmental data 63A directly from each device, or may indirectly acquire the environmental data 63A via another computer.
- Step S203 the control unit 11 sets each learned machine learning model 45A by referring to the learning result data 47A of each case.
- the control unit 11 gives the target data 61A to each trained machine learning model 45A, and executes the arithmetic processing of each trained machine learning model 45A.
- the control unit 11 acquires the estimation result of each learned machine learning model 45A regarding the method of changing the target sensor SA1 to an appropriate observation state as the output of each learned machine learning model 45A.
- Step S204 the control unit 11 sets the integration rule 5A with reference to the integration rule data 57A. Then, the control unit 11 integrates the estimation results of each trained machine learning model 45A according to the integration rule 5A. Specifically, in step S211 the control unit 11 determines the value of each integrated parameter PA according to the environmental data 63A. At this time, in addition to the environmental data 63A, the target data 61A may be further considered. Any of the above-mentioned first to third methods may be adopted as a method for determining the value of each integrated parameter PA.
- the control unit 11 acquires the learning data 59A. Then, the control unit 11 executes machine learning of the calculation model 51A by using the learning data 59A.
- the configuration of the calculation model 51A and the method of machine learning may be the same as those of the above calculation model 51. One of the above two examples may be adopted for the configuration of the calculation model 51A and the method of machine learning.
- the learning data 59A may be composed of a plurality of training data sets including a combination of the training environment data, the training target data, and the correct answer data, respectively, like the training data 59. ..
- the training environmental data is the same type of data as the environmental data 63A.
- the training target data is the same type of data as the target data 61A.
- the correct answer data may be composed of the result of inference for the training target data (correct answer), that is, data indicating how to change from the current observation state to an appropriate observation state in the target environment.
- Each learning data set may be generated by the same method as in the above embodiment.
- the control unit 11 executes machine learning of the calculation model 51A by using the acquired learning data 59A.
- the method of machine learning may be the same as in the first example above.
- the calculation model 51A may adopt value-based, policy-based, or both.
- the observation target states correspond to the environmental data 63A and the target data 61A.
- the action performed by the agent may be a change in the observation state of the sensor SA1.
- the agent can generate the estimation result under the target environment by acquiring the estimation result of each trained machine learning model 45A by the above series of processing and integrating the acquired estimation result.
- the agent may decide which action to take based on the estimated results generated.
- the reward function may be set manually by an operator or the like. Alternatively, the reward function may be set to give an immediate reward according to the appropriateness of the estimation result generated by the series of processes. The appropriateness may be given manually by an operator or the like. Alternatively, the appropriateness may be evaluated according to a predetermined criterion using a determination device.
- the determination device may be the same as the determination device in the reinforcement learning of the machine learning model 40A.
- the reward function may be estimated by inverse reinforcement learning from case data showing expert demonstrations. This case data may be the same as the case data used for setting the reward function in the reinforcement learning of the machine learning model 40A.
- the control unit 11 adjusts the values of the calculation parameters of the calculation model 51A so that the obtained value (expected value) is maximized in the learning environment set appropriately.
- the method of reinforcement learning may be the same as that of the above embodiment.
- the control unit 11 can execute machine learning of the calculation model 51A by any of the above methods. As a result, the control unit 11 has acquired the ability to estimate the value of each integrated parameter PA that matches the estimation of the optimum observation method of the sensor SA1 under the target observation environment from the environment data 63A (and the target data 61A).
- the completed calculation model 52A can be generated.
- the control unit 11 may store the generated information about the learned calculation model 52A in a predetermined storage area.
- the information about the learned calculation model 52A may be stored as at least a part of the integration rule data 57A, or may be stored separately from the integration rule data 57A.
- the control unit 11 determines the value of each integrated parameter PA by using the learned calculation model 52A generated above. That is, in step S211 the control unit 11 gives the learned calculation model 52A the environment data 63A. At this time, the control unit 11 may further provide the target data 61A to the learned calculation model 52A. Then, the control unit 11 executes the arithmetic processing of the learned arithmetic model 52A. As a result, the control unit 11 can acquire the value of each integrated parameter PA for each trained machine learning model 45A as the output of the trained calculation model 52A.
- the control unit 11 determines the value of each integrated parameter PA based on the comparison between the target environment and each learning environment. That is, the control unit 11 acquires the learning environment data 35A of each learned machine learning model 45A. Next, the control unit 11 calculates the goodness of fit of the learning environment data 35A and the environment data 63A for each case. The form and expression of the goodness of fit may be the same as in the above embodiment. In step S211 above, the control unit 11 may determine the value of each integrated parameter PA for each corresponding trained machine learning model 45A according to each calculated goodness of fit. The method of determining the value of the integrated parameter PA according to the goodness of fit may be the same as in the above embodiment.
- control unit 11 accepts the operator to specify the value of the integrated parameter PA and sets the value of the target integrated parameter PA to the specified value.
- the reception screen may be the same as that of the above embodiment (FIG. 12A).
- step S211 the control unit 11 can determine the value of each integrated parameter PA by adopting at least one of the above three methods.
- the control unit 11 weights the estimation result of each corresponding trained machine learning model 45A by using the value of each determined integrated parameter PA.
- the control unit 11 uses the value set as described above to set the target integrated parameter PA.
- the estimation result of the corresponding trained machine learning model 45A is weighted.
- the control unit 11 integrates the weighted estimation results of each trained machine learning model 45A.
- the integration of the estimation results may be performed by a weighted average or a weighted majority vote as in the above embodiment. As a result, it is possible to generate a result of estimating the method of changing from the current observation state of the target sensor SA1 to an appropriate observation state under the target environment.
- Step S205 the control unit 11 outputs information regarding the generated estimation result. Similar to the above embodiment, the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
- the control unit 11 may output the estimation result generated in step S204 as it is to the output device 16, or may execute some information processing based on the generated estimation result.
- the control unit 11 instructs the user to change the observation state of the target sensor SA1 according to the method of changing to the estimated appropriate observation state based on the estimation result generated in step S204.
- the information may be generated as information about the estimation result.
- the control unit 11 may output the generated instruction information to the output device.
- the output device of the output destination may be the output device 16 of the inspection device 1A, or may be the output device of another computer.
- the other computer may be a computer placed in the vicinity of the user, or may be a terminal device owned by the user. According to this output method, even a user who does not have specialized knowledge can optimize the observation state of the sensor SA1 according to the target environment.
- the inspection device 1A is connected to an intervention device that changes the observation state of the target sensor SA1.
- the control unit 11 provides command information for the intervention device to execute an operation of changing the observation state of the target sensor SA1 according to the method of changing to the estimated appropriate observation state based on the generated estimation result. It may be generated as information on the estimation result.
- the control unit 11 may cause the intervention device to execute an operation for changing the observation state of the target sensor SA1 according to the estimated change method by transmitting the command information to the intervention device.
- the control unit 11 may directly control the operation of the intervention device.
- the control unit 11 indirectly transmits the operation of the intervention device by transmitting command information to the control device and causing the control device to control the operation of the intervention device. You may control it. According to this output method, the observation state of the sensor SA1 can be automatically optimized.
- the inspection device 1A is connected to the pan head device IN1 and the lighting device IN2 as an example of the intervention device.
- the control unit 11 may change the observation state of the target sensor SA1 by controlling the operation of at least one of the pan head device IN1 and the lighting device IN2 based on the estimation result generated in step S204. Thereby, at least one of the installation angle of the target sensor SA1 and the brightness around the target RA can be optimized.
- control unit 11 of the inspection device 1A may assign each trained machine learning model 45A to at least one of a plurality of groups.
- the control unit 11 may execute the integration process for each group according to the purpose.
- grouping method one of the above two methods may be adopted.
- each local learning device 2A executes the processes of steps S111 to S113 in the same manner as the above-mentioned local learning devices 2, and uses the trained machine learning model 45A to utilize the sensor SA1.
- the optimum observation method can be estimated.
- the target sensor SA1 for estimating the optimum observation method by each local learning device 2A is typically a sensor SA1 connected to each local learning device 2A itself.
- the target sensor SA1 is not limited to this, and each local learning device 2A may estimate the optimum observation method of the sensor SA1 connected to another computer.
- each local learning device 2A acquires the target data used for estimation.
- the method of acquiring the target data may be the same as in step S201 of the inspection device 1A.
- each local learning device 2A gives target data to the trained machine learning model 45A and executes arithmetic processing of the trained machine learning model 45A.
- each local learning device 2A can acquire the result of estimating the method of changing from the current observation state of the sensor SA1 to the appropriate observation state as the output of the trained machine learning model 45A.
- each local learning device 2A outputs information regarding the estimation result.
- the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
- Each local learning device 2A may output the estimation result obtained in step S112 as it is to the output device, or may execute some information processing based on the obtained estimation result.
- each local learning device 2A generates instruction information for instructing the user to change the observation state of the sensor SA1 according to the method of changing to the estimated appropriate observation state, and generates the generated instruction information. It may be output to an output device.
- each local learning device 2A may be further connected to an intervention device such as a pan head device IN1 or a lighting device IN2. In this case, each local learning device 2A may generate command information for causing the intervention device to execute an operation of changing the observation state of the sensor SA1 according to the estimated method of changing the observation state. Then, each local learning device 2A may cause the intervention device to perform an operation for changing the observation state of the sensor SA1 according to the estimated change method by transmitting command information to the intervention device.
- the observation state of the target sensor SA1 can be optimized automatically or manually by the user.
- the observation state of the sensor SA1 can be systematically optimized in each environment without relying on manual standardization. Therefore, according to this modification, it is possible to optimize the method of observing the attributes of the object RA for defect detection of products, quality inspection of plants, etc. at low cost in various environments. Therefore, in various environments, it becomes possible to carry out high-quality inspection with suppressed variation.
- this modification may be changed as appropriate.
- the other sensor SA2 may be omitted.
- the pan head device IN1 and the lighting device IN2 may be omitted.
- the inspection device 1A and each device may be connected via a communication interface.
- the inspection device 1A may be configured to be able to output both instruction information and command information in step S205. Alternatively, either the instruction information or the command information may be omitted.
- FIG. 17 schematically illustrates an example of an application scene of the prediction system 100B according to the second modification.
- This modified example is an example in which the above embodiment is applied to a scene in which a moving path of a moving body is predicted.
- the prediction system 100B according to this modification includes a prediction device 1B and a plurality of local learning devices 2B. Similar to the above embodiment, the prediction device 1B and each local learning device 2B may be connected to each other via a network.
- the prediction device 1B corresponds to the above inference device 1.
- Each local learning device 2B corresponds to each of the above local learning devices 2.
- the prediction device 1B may be configured in the same manner as the inference device 1 except that the data to be handled and the content of the inference are limited, and each local learning device 2B is configured in the same manner as each of the local learning devices 2. You can.
- the hardware configuration and software configuration of the prediction device 1B may be the same as those of the inference device 1.
- the hardware configuration and software configuration of each local learning device 2B may be the same as those of the above-mentioned local learning device 2.
- a predetermined inference related to this modification is to predict the moving path of the moving body RB from the state of the moving body RB.
- the type of the moving body RB does not have to be particularly limited as long as it is a moving object, and may be appropriately selected according to the embodiment.
- the moving body RB may be, for example, a living thing (human being, etc.), a machine (vehicle, etc.), or the like.
- the sensor SB1 is connected to the prediction device 1B and each local learning device 2B.
- the state of the moving body RB is observed by the sensor SB1.
- the sensor SB1 may be, for example, a camera, a beacon, or the like.
- the camera is, for example, a general digital camera configured to acquire an RGB image, a depth camera configured to acquire a depth image, an infrared camera configured to image an amount of infrared rays, and the like. Good.
- Each local learning device 2B according to this modification generates a trained machine learning model 45B that has acquired the ability to predict the moving path of the moving body RB from the state of the moving body RB.
- the prediction device 1B according to this modification uses each trained machine learning model 45B derived from the local learning data 30B obtained under different environments by each local learning device 2B, and is a target. Predict the moving route of the moving body RB in the environment.
- the prediction device 1B acquires the target data 61B to be the target of the predetermined inference and the environment data 63B related to the target environment to execute the predetermined inference.
- the target data 61B which is the target of predetermined inference according to this modification, relates to the state of the target moving body RB observed by the sensor SB1.
- the environment data 63B relating to the target environment for executing the predetermined inference according to the present modification relates to the target observation environment in which the sensor SB1 observes the target moving body RB.
- the prediction device 1B is further connected to another sensor SB2.
- the other sensor SB2 is different from the sensor SB1 that observes the state of the moving body RB, and is used for observing the target observation environment in which the sensor SB1 observes the target moving body RB. Therefore, the prediction device 1B can acquire the environmental data 63B from the other sensor SB2.
- the other sensor SB2 may be, for example, a weather sensor, a barometer, or the like.
- the prediction device 1B according to the present modification gives the acquired target data 61B to each trained machine learning model 45B, and causes each trained machine learning model 45B to predict the moving path of the moving body RB.
- the prediction device 1B according to the present modification acquires the prediction result of each learned machine learning model 45B about the moving path of the moving body RB.
- the prediction device 1B according to the present modification integrates the prediction results of each trained machine learning model 45B in accordance with the integration rule 5B.
- the integration rule 5B includes a plurality of integration parameters PB that specify the degree to which the prediction result of each trained machine learning model 45B is emphasized under the target environment.
- the prediction device 1B according to this modification determines the value of each integrated parameter PB according to the environmental data 63B. At this time, in addition to the environmental data 63B, the target data 61B may be further considered.
- the prediction device 1B according to the present modification weights the prediction result of each corresponding learned machine learning model 45B by using the value of each determined integrated parameter PB. Then, the prediction device 1B according to the present modification integrates the weighted prediction results of each trained machine learning model 45B.
- the prediction device 1B can generate the result of predicting the moving path of the moving body RB from the state of the moving body RB under the target environment.
- Each local learning device 2B according to this modification generates a trained machine learning model 45B by executing the processes of steps S101 to S104 in the same manner as in each of the local learning devices 2 described above. That is, in step S101, each local learning device 2B acquires the local learning data 30B. Then, in step S102, each local learning device 2B executes machine learning of the machine learning model 40B by using the acquired local learning data 30B.
- the configuration of the machine learning model 40B and the method of machine learning may be the same as those of the machine learning model 40.
- the local learning data 30B is composed of a plurality of training data sets including a combination of training data and correct answer data.
- the training data is of the same type as the target data 61B, and may be composed of data relating to the state of the moving body RB observed by the sensor SB1.
- the correct answer data may be composed of the result of inference to the training data (correct answer), that is, data indicating the route that the moving body RB in that state actually or virtually moved.
- Each learning data set may be generated by the same method as in the above embodiment.
- Each local learning device 2B uses the acquired local learning data 30B to execute supervised learning of the machine learning model 40B.
- the method of supervised learning may be the same as that of the above embodiment.
- the local learning data 30B is composed of a plurality of training data.
- the training data is composed of data that the machine learning model 40B wants to generate.
- the training data is composed of, for example, data indicating a route that the mobile RB has actually or virtually traveled.
- the training data for each case may be generated by the same method as in the above embodiment.
- Each local learning device 2B uses the acquired local learning data 30B to perform hostile learning of the machine learning model 40B and other machine learning models.
- the method of hostile learning may be the same as in the above embodiment.
- the machine learning model 40B may adopt value-based, policy-based, or both.
- the state to be observed may be related to the moving path of the moving body RB, and the action executed by the agent may be the movement of the moving body RB.
- the reward function may be set manually by an operator or the like.
- the reward function may be set to give an immediate reward according to the appropriateness of the prediction result of the machine learning model 40B.
- the appropriateness may be manually given by an operator or the like.
- the appropriateness may be evaluated according to a predetermined criterion using a determination device.
- the determination device may be configured to evaluate the accuracy of the result of predicting the moving path of the moving body RB.
- the reward function gives a positive immediate reward if the accuracy of the route prediction is greater than or equal to the threshold, and if the accuracy of the route prediction is less than or equal to the permissible value, based on the results of multiple prediction processing trials. It may be set to give a negative immediate reward.
- the reward function may be estimated by inverse reinforcement learning from case data showing expert demonstrations.
- the case data may be composed of, for example, data indicating the route actually traveled by the moving body RB.
- Each local learning device 2B adjusts the value of the calculation parameter of the machine learning model 40B so that the obtained value (expected value) is maximized in the learning environment set appropriately.
- the method of reinforcement learning may be the same as that of the above embodiment.
- Each local learning device 2B can execute machine learning of the machine learning model 40B by any of the above methods. As a result, each local learning device 2B can generate a learned machine learning model 45B that has acquired the ability to predict the moving path of the moving body RB from the state of the moving body RB.
- each local learning device 2B acquires the learning environment data 35B related to the environment in which the local learning data 30B is obtained.
- the learning environment data 35B is the same type of data as the environment data 63B obtained by the prediction device 1B.
- the method of acquiring the learning environment data 35B may be the same as the method of acquiring the environment data 63B.
- each local learning device 2B may be further connected to a sensor of the same type as the other sensor SB2, and the learning environment data 35B may be acquired from the sensor.
- each local learning device 2B generates information about the generated learned machine learning model 45B as learning result data 47B. Then, each local learning device 2B associates the learning result data 47B with the learning environment data 35B and stores it in a predetermined storage area.
- the local learning data 30B may be acquired in different environments between the local learning devices 2B. Then, the trained machine learning model 45B may be generated from the obtained local learning data 30B. As a result, it is possible to obtain a plurality of learned machine learning models 45B derived from the local learning data 30B obtained under different environments so that the moving path of the moving body RB can be predicted.
- FIG. 18 schematically illustrates an example of the hardware configuration of the prediction device 1B according to this modification.
- the prediction device 1B according to the present modification has 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 same as the inference device 1.
- the drive 17 is an electrically connected computer.
- the prediction device 1B is connected to the sensor SB1 and another sensor SB2 via the external interface 14.
- the hardware configuration of the prediction device 1B does not have to be limited to such an example.
- components can be omitted, replaced, or added as appropriate according to the embodiment.
- the prediction device 1B 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.
- the storage unit 12 of the prediction device 1B stores various information such as the prediction program 81B, the integrated rule data 57B, the learning result data 47B, the learning data 59B, and the learning environment data 35B.
- the prediction program 81B, the integrated rule data 57B, the learning result data 47B, the learning data 59B, and the learning environment data 35B are the inference program 81, the integrated rule data 57, the learning result data 47, the learning data 59, and the learning according to the above embodiment.
- At least one of the prediction program 81B, the integration rule data 57B, the learning result data 47B, the learning data 59B, and the learning environment data 35B may be stored in the storage medium 91. Further, the prediction device 1B may acquire at least one of the prediction program 81B, the integration rule data 57B, the learning result data 47B, the learning data 59B, and the learning environment data 35B from the storage medium 91.
- ⁇ Software configuration of prediction device> 19A and 19B schematically illustrate an example of the software configuration of the prediction device 1B according to this modification. Similar to the above embodiment, the software configuration of the prediction device 1B is realized by executing the prediction program 81B by the control unit 11. As shown in FIGS. 19A and 19B, the software configuration of the prediction device 1B is the same as the software configuration of the inference device 1 except that the data to be handled and the content of the inference are limited. As a result, the prediction device 1B executes a series of processes related to the inference in the same manner as the inference device 1.
- Step S201 That is, as shown in FIG. 19A, in step S201, the control unit 11 of the prediction device 1B acquires the target data 61B.
- the content of the target data 61B is not particularly limited as long as it relates to the state of the target moving body RB observed by the sensor SB1, and may be appropriately selected according to the embodiment.
- the target data 61B includes, for example, observation data obtained by the sensor SB1 that observes the state of the moving body RB, data indicating the state of the moving range analyzed from the observed data (for example, the degree of congestion, etc.), and moving body RB. Data indicating the current position, data indicating the movement route of the moving body RB to the present, and the like may be included.
- the method of acquiring the target data 61B does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the observation data of the sensor SB1 may be acquired as the target data 61B.
- the target data 61B may be acquired by executing some analysis processing on the observation data obtained by the sensor SB1.
- the target data 61B may be acquired by input by an operator or the like.
- the control unit 11 may acquire the target data 61B directly from each device, or may indirectly acquire the target data 61B via another computer.
- Step S202 the control unit 11 acquires the environment data 63B.
- the content of the environmental data 63B is not particularly limited as long as it relates to the observation environment of the target in which the sensor SB1 observes the moving body RB of the target, and may be appropriately selected depending on the embodiment.
- the environment data 63B includes, for example, data indicating the attributes of the moving body RB, data indicating the attributes of the moving range, data indicating the environmental attributes affecting the movement, and data indicating the attributes related to the specifications (or performance) of the sensor SB1. Data indicating attributes related to the observation conditions of the sensor SB1 may be included.
- the attributes of the moving body RB may include, for example, information on the type of the moving body RB (type of person or vehicle, vehicle type, etc.) and the moving ability of the moving body RB.
- the movement ability may be evaluated by the person's gender, age, height, weight, and the like.
- the moving ability may be evaluated by the performance of the vehicle.
- the attributes of the movement range may include, for example, a place to move, a type of passage (road) to move, and the like.
- the type of passage (road) to be moved may include, for example, pedestrian-only, expressway, general road, and the like.
- Environmental attributes that affect movement may include, for example, weather, congestion, day of the week, holiday / weekday type, and the like.
- Attributes related to the specifications of the sensor SB1 may include, for example, the sensitivity limit of the sensor SB1, the dynamic range, the settable range of spatial resolution, the settable range of the sampling frequency, and the like.
- the attributes related to the observation conditions of the sensor SB1 may include, for example, attributes related to the installation angle of the sensor SB1 and the operation setting of the sensor SB1.
- the attributes related to the operation setting of the sensor SB1 may include, for example, a set value of the measurement range of the sensor SB1, a set value of the resolution of the measurement range, a set value of the sampling frequency, and the like.
- the attributes related to the operation setting may include an aperture value, a shutter speed, a zoom magnification, and the like.
- the method of acquiring the environmental data 63B does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the environment data 63B may be acquired by input by an operator or the like.
- the environmental data 63B may be acquired by executing some analysis processing on the observation data obtained by the sensor SB1.
- the environment data 63B may be acquired from another sensor (for example, another sensor SB2) that observes the target observation environment.
- the environment data 63B may be acquired from another information processing device (server) that distributes information such as weather data.
- the control unit 11 may acquire the environment data 63B directly from each device, or may indirectly acquire the environment data 63B via another computer.
- Step S203 the control unit 11 sets each learned machine learning model 45B by referring to the learning result data 47B of each case.
- the control unit 11 gives the target data 61B to each trained machine learning model 45B, and executes the arithmetic processing of each trained machine learning model 45B.
- the control unit 11 acquires the prediction result of each learned machine learning model 45B about the moving path of the moving body RB as the output of each learned machine learning model 45B.
- Step S204 the control unit 11 sets the integration rule 5B with reference to the integration rule data 57B. Then, the control unit 11 integrates the prediction results of each trained machine learning model 45B according to the integration rule 5B. Specifically, in step S211 the control unit 11 determines the value of each integrated parameter PB according to the environment data 63B. At this time, in addition to the environmental data 63B, the target data 61B may be further considered. As a method for determining the value of each integrated parameter PB, any of the above-mentioned first to third methods may be adopted.
- the control unit 11 acquires the learning data 59B. Then, the control unit 11 executes machine learning of the calculation model 51B by using the learning data 59B.
- the configuration of the calculation model 51B and the method of machine learning may be the same as those of the above calculation model 51. One of the above two examples may be adopted for the configuration of the calculation model 51B and the method of machine learning.
- the learning data 59B may be composed of a plurality of training data sets including a combination of the training environment data, the training target data, and the correct answer data, respectively, like the training data 59. ..
- the training environment data is the same type of data as the environment data 63B.
- the training target data is the same type of data as the target data 61B.
- the correct answer data may be composed of the result of inference for the training target data (correct answer), that is, data indicating a route in which the moving body RB in an arbitrary state actually or virtually moved in the target environment.
- Each learning data set may be generated by the same method as in the above embodiment.
- the control unit 11 executes machine learning of the calculation model 51B by using the acquired learning data 59B.
- the method of machine learning may be the same as in the first example above.
- the calculation model 51B may adopt value-based, policy-based, or both.
- the observation target states correspond to the environmental data 63B and the target data 61B.
- the action performed by the agent may be the movement of the mobile RB.
- the agent acquires the prediction result of each trained machine learning model 45B by the above series of processing, and integrates the acquired prediction result to obtain the prediction result of the movement path of the moving body RB under the target environment. Can be generated.
- the agent may decide which action to take based on the predicted results generated.
- the reward function may be set manually by an operator or the like. Alternatively, the reward function may be set to give an immediate reward according to the appropriateness of the prediction result generated by the series of processes. The appropriateness may be given manually by an operator or the like. Alternatively, the appropriateness may be evaluated according to a predetermined criterion using a determination device.
- the determination device may be the same as the determination device in the reinforcement learning of the machine learning model 40B.
- the reward function may be estimated by inverse reinforcement learning from case data showing expert demonstrations. This case data may be the same as the case data used for setting the reward function in the reinforcement learning of the machine learning model 40B.
- the control unit 11 adjusts the values of the calculation parameters of the calculation model 51B so that the obtained value (expected value) is maximized in the learning environment set appropriately.
- the method of reinforcement learning may be the same as that of the above embodiment.
- the control unit 11 can execute machine learning of the calculation model 51B by any of the above methods. As a result, the control unit 11 has acquired the ability to estimate the value of each integrated parameter PB that matches the prediction of the moving path of the moving body RB under the target observation environment from the environment data 63B (and the target data 61B).
- the completed calculation model 52B can be generated.
- the control unit 11 may store the generated information about the learned calculation model 52B in a predetermined storage area.
- the information about the learned calculation model 52B may be stored as at least a part of the integration rule data 57B, or may be stored separately from the integration rule data 57B.
- the control unit 11 determines the value of each integrated parameter PB by using the learned calculation model 52B generated above. That is, in step S211 the control unit 11 gives the learned calculation model 52B the environment data 63B. At this time, the control unit 11 may further provide the target data 61B to the learned calculation model 52B. Then, the control unit 11 executes the arithmetic processing of the learned arithmetic model 52B. As a result, the control unit 11 can acquire the value of each integrated parameter PB for each trained machine learning model 45B as the output of the trained calculation model 52B.
- the control unit 11 determines the value of each integrated parameter PB based on the comparison between the target environment and each learning environment. That is, the control unit 11 acquires the learning environment data 35B of each learned machine learning model 45B. Next, the control unit 11 calculates the goodness of fit of the learning environment data 35B and the environment data 63B for each case. The form and expression of the goodness of fit may be the same as in the above embodiment. In step S211 above, the control unit 11 may determine the value of each integrated parameter PB for each corresponding learned machine learning model 45B according to each calculated goodness of fit. The method of determining the value of the integrated parameter PB according to the goodness of fit may be the same as in the above embodiment.
- control unit 11 accepts the operator to specify the value of the integrated parameter PB, and sets the value of the target integrated parameter PB to the specified value.
- the reception screen may be the same as that of the above embodiment (FIG. 12A).
- step S211 the control unit 11 can determine the value of each integrated parameter PB by adopting at least one of the above three methods.
- the control unit 11 weights the prediction result of each corresponding trained machine learning model 45B using the value of each determined integrated parameter PB.
- the control unit 11 uses the value set as described above to set the target integrated parameter PB.
- the prediction result of the corresponding trained machine learning model 45B is weighted.
- the control unit 11 integrates the weighted prediction results of each trained machine learning model 45B.
- the integration of the prediction results may be performed by a weighted average or a weighted majority vote as in the above embodiment. Thereby, under the target environment, it is possible to generate the result of predicting the moving route of the moving body RB from the state of the moving body RB.
- Step S205 the control unit 11 outputs information regarding the generated prediction result. Similar to the above embodiment, the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
- the control unit 11 may output the prediction result generated in step S204 as it is to the output device 16, or may execute some information processing based on the generated prediction result.
- control unit 11 may generate information indicating a recommended movement route such as a non-congested route as information regarding the prediction result based on the prediction result generated in step S204. Then, the control unit 11 may output the information indicating the generated recommended route to another mobile body.
- control unit 11 of the prediction device 1B may assign each trained machine learning model 45B to at least one of a plurality of groups. As a result, the control unit 11 may execute the integration process for each group according to the purpose. As the grouping method, one of the above two methods may be adopted.
- each local learning device 2B executes the processes of steps S111 to S113 in the same manner as the above-mentioned local learning devices 2, and thereby uses the learned machine learning model 45B to move the moving body.
- the route that the RB travels can be predicted.
- each local learning device 2B acquires the target data used for prediction.
- the method of acquiring the target data may be the same as in step S201 of the prediction device 1B.
- each local learning device 2B gives target data to the trained machine learning model 45B and executes arithmetic processing of the trained machine learning model 45B. As a result, each local learning device 2B acquires the result of predicting the moving path of the moving body RB as the output of the learned machine learning model 45B.
- each local learning device 2B outputs information regarding the prediction result.
- the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
- Each local learning device 2B may output the estimation result obtained in step S112 as it is to the output device, or may execute some information processing based on the obtained estimation result. Further, the process of step S113 may be executed in the same manner as step S205 of the prediction device 1B.
- the other sensor SB2 may be omitted.
- the prediction device 1B and each sensor (sensor SA1, other sensor SA2) may be connected via a communication interface.
- FIG. 20 schematically illustrates an example of an application scene of the conversation system 100C according to the third modification.
- This modified example is an example in which the above embodiment is applied to a scene in which a user's suitable conversation strategy is estimated.
- the conversation system 100C according to the present modification includes a conversation device 1C and a plurality of local learning devices 2C. Similar to the above embodiment, the conversation device 1C and each local learning device 2C may be connected to each other via a network.
- the conversation device 1C corresponds to the above inference device 1.
- Each local learning device 2C corresponds to each of the above local learning devices 2.
- the conversation device 1C may be configured in the same manner as the inference device 1, and each local learning device 2C may be configured in the same manner as the local learning device 2 except that the data to be handled and the content of the inference are limited. You can.
- the hardware configuration and software configuration of the conversation device 1C may be the same as those of the inference device 1.
- the hardware configuration and software configuration of each local learning device 2C may be the same as those of the above-mentioned local learning device 2.
- the predetermined reasoning related to this modification is to estimate the conversation strategy suitable for the user RC from the conversation behavior of the user RC.
- Conversation strategies give rules to generate conversations.
- the conversation strategy may specify, for example, the content of the conversation to be spoken, the timing of the utterance, the frequency of the conversation, the tone, and the like.
- the user's conversational behavior may include any behavior related to the user's conversation.
- the conversation behavior of the user may include, for example, the content of the conversation, the frequency of the conversation, and the like.
- the frequency of conversation may be expressed by, for example, the elapsed time since the last conversation, the average time until the next conversation, the number of conversations within a certain time, and the like.
- the microphone SC1 is connected to the conversation device 1C and each local learning device 2C.
- the conversational behavior of the user RC is observed by the microphone SC1.
- the microphone SC1 is an example of a sensor that observes the conversational behavior of the user RC.
- the method of observing the conversational behavior of the user RC is not limited to such an example, and a method other than the microphone may be adopted.
- the conversational behavior of the user RC may be observed by a video camera.
- the conversational behavior of the user RC may be acquired via an input device such as a keyboard.
- Each local learning device 2C according to this modification generates a learned machine learning model 45C that has acquired the ability to estimate a conversation strategy suitable for the user RC from the conversation behavior of the user RC.
- the conversation device 1C according to this modification uses each trained machine learning model 45C derived from the local learning data 30C obtained under different environments by each local learning device 2C, and is a target. Estimate a conversation strategy that suits the target user RC in the environment.
- the conversation device 1C acquires the target data 61C to be the target of the predetermined inference and the environment data 63C related to the target environment to execute the predetermined inference.
- the target data 61C which is the target of predetermined inference according to this modification, relates to the conversation behavior of the target user RC.
- the environment data 63C relating to the target environment for executing the predetermined inference according to the present modification is related to the target conversation environment in which the target user RC performs a conversational action.
- the camera SC2 is further connected to the conversation device 1C as another sensor other than the microphone SC1.
- the camera SC2 is used to observe the conversation environment of the target in which the target user RC performs a conversation behavior. Therefore, the conversation device 1C according to this modification can acquire the environmental data 63C from the camera SC2.
- the sensor for observing the target conversation environment is not limited to the camera, and may be appropriately selected according to the embodiment. When temperature, weather, etc. are taken into consideration as the target conversation environment, for example, a thermometer, a weather sensor, or the like may be used as the sensor for observing the target conversation environment.
- the conversation device 1C according to this modification gives the acquired target data 61C to each trained machine learning model 45C, and causes each trained machine learning model 45C to estimate a conversation strategy suitable for the user RC.
- the conversation device 1C according to the present modification acquires the estimation result of each learned machine learning model 45C for the conversation strategy suitable for the user RC.
- the conversation device 1C according to the present modification integrates the estimation results of each trained machine learning model 45C according to the integration rule 5C.
- the integration rule 5C includes a plurality of integration parameters Pc that specify the degree to which the estimation result of each trained machine learning model 45C is emphasized in the target environment.
- the conversation device 1C according to this modification determines the value of each integrated parameter Pc according to the environmental data 63C.
- the target data 61C may be further considered.
- the conversation device 1C according to the present modification weights the estimation result of each of the corresponding trained machine learning models 45C by using the value of each determined integrated parameter Pc.
- the conversation device 1C according to the present modification integrates the weighted estimation results of each trained machine learning model 45C.
- the conversation device 1C can generate a result of estimating a conversation strategy suitable for the target user RC from the conversation behavior of the target user RC under the target environment.
- Each local learning device 2C according to this modification generates a trained machine learning model 45C by executing the processes of steps S101 to S104 in the same manner as in each of the above local learning devices 2. That is, in step S101, each local learning device 2C acquires the local learning data 30C. Then, in step S102, each local learning device 2C executes machine learning of the machine learning model 40C by using the acquired local learning data 30C.
- the configuration of the machine learning model 40C and the method of machine learning may be the same as those of the machine learning model 40.
- the local learning data 30C is composed of a plurality of learning data sets including a combination of training data and correct answer data.
- the training data is of the same type as the target data 61C, and may be composed of data related to the conversational behavior of the user RC (subject).
- the correct answer data may be composed of the result of inference to the training data (correct answer), that is, the data showing the conversation strategy suitable for the user RC (subject).
- Each learning data set may be generated by the same method as in the above embodiment.
- Each local learning device 2C uses the acquired local learning data 30C to execute supervised learning of the machine learning model 40C.
- the method of supervised learning may be the same as that of the above embodiment.
- the local learning data 30C is composed of a plurality of training data.
- the training data is composed of data that the machine learning model 40C wants to generate.
- the training data is composed of, for example, data showing a conversation strategy suitable for the user RC (subject).
- the training data for each case may be generated by the same method as in the above embodiment.
- Each local learning device 2C uses the acquired local learning data 30C to perform hostile learning of the machine learning model 40C and other machine learning models.
- the method of hostile learning may be the same as in the above embodiment.
- the machine learning model 40C may adopt value-based, policy-based, or both.
- the state to be observed may be related to the conversation behavior of the user RC, and the action executed by the agent may be a conversation with the user RC.
- the reward function may be set manually by an operator or the like.
- the reward function may be set to give an immediate reward according to the appropriateness of the estimation result of the machine learning model 40C.
- the appropriateness may be manually given by an operator or the like.
- the appropriateness may be evaluated according to a predetermined criterion using a determination device.
- the determiner may be configured to evaluate the accuracy of the result of estimating the conversation strategy suitable for the user RC.
- the reward function gives a positive immediate reward if the accuracy of the conversation strategy estimation is greater than or equal to the threshold, based on the results of multiple estimation processing trials, and the conversation strategy estimation accuracy is acceptable. It may be set to give a negative immediate reward if:
- the estimation accuracy of the conversation strategy may be evaluated based on the fact that the conversation between the agent and the user RC has improved in the public direction, for example, the conversation frequency of the user RC has improved.
- the reward function may be estimated by inverse reinforcement learning from case data showing expert demonstrations. In this modification, the case data may be composed of, for example, data indicating a conversation strategy designated by an expert.
- Each local learning device 2C adjusts the value of the calculation parameter of the machine learning model 40C so that the obtained value (expected value) is maximized in the learning environment set appropriately.
- the method of reinforcement learning may be the same as that of the above embodiment.
- Each local learning device 2C can execute machine learning of the machine learning model 40C by any of the above methods. As a result, each local learning device 2C can generate a learned machine learning model 45C that has acquired the ability to estimate a conversation strategy suitable for the user RC from the conversation behavior of the user RC.
- each local learning device 2C acquires the learning environment data 35C related to the environment in which the local learning data 30C is obtained.
- the learning environment data 35C is the same type of data as the environment data 63C obtained by the conversation device 1C.
- the method of acquiring the learning environment data 35C may be the same as the method of acquiring the environment data 63C.
- each local learning device 2C may be further connected to a camera of the same type as the camera SC2, and the learning environment data 35C may be acquired from the camera.
- each local learning device 2C generates information about the generated learned machine learning model 45C as learning result data 47C. Then, each local learning device 2C associates the learning result data 47C with the learning environment data 35C and stores it in a predetermined storage area.
- the local learning data 30C may be acquired under different environments between the local learning devices 2C. Then, the trained machine learning model 45C may be generated from the obtained local learning data 30C. As a result, a plurality of trained machine learning models 45C derived from the local learning data 30C obtained under different environments can be obtained so that a conversation strategy suitable for the user RC can be estimated.
- FIG. 21 schematically illustrates an example of the hardware configuration of the conversation device 1C according to this modification.
- the conversation device 1C according to the present modification has 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 same as the inference device 1.
- the drive 17 is an electrically connected computer.
- the conversation device 1C is connected to the microphone SC1 and the camera SC2 via the external interface 14.
- the hardware configuration of the conversation device 1C does not have to be limited to such an example.
- components can be omitted, replaced, and added as appropriate according to the embodiment.
- the conversation device 1C may be a general-purpose server device, a general-purpose PC, a mobile phone, a smartphone, a mobile PC, or the like, in addition to an information processing device designed exclusively for the provided service.
- the storage unit 12 of the conversation device 1C stores various information such as the conversation program 81C, the integrated rule data 57C, the learning result data 47C, the learning data 59C, and the learning environment data 35C.
- the conversation program 81C, the integrated rule data 57C, the learning result data 47C, the learning data 59C, and the learning environment data 35C are the inference program 81, the integrated rule data 57, the learning result data 47, the learning data 59, and the learning according to the above embodiment.
- At least one of the conversation program 81C, the integration rule data 57C, the learning result data 47C, the learning data 59C, and the learning environment data 35C may be stored in the storage medium 91.
- the conversation device 1C may acquire at least one of the conversation program 81C, the integrated rule data 57C, the learning result data 47C, the learning data 59C, and the learning environment data 35C from the storage medium 91.
- ⁇ Software configuration of conversation device> 22A and 22B schematically illustrate an example of the software configuration of the conversation device 1C according to this modification. Similar to the above embodiment, the software configuration of the conversation device 1C is realized by executing the conversation program 81C by the control unit 11. As shown in FIGS. 22A and 22B, the software configuration of the conversation device 1C is the same as the software configuration of the inference device 1 except that the data to be handled and the content of the inference are limited. As a result, the conversation device 1C executes a series of processes related to the inference, similarly to the inference device 1.
- Step S201 That is, as shown in FIG. 22A, in step S201, the control unit 11 of the conversation device 1C acquires the target data 61C.
- the content of the target data 61C may not be particularly limited as long as it relates to the conversational behavior of the target user RC, and may be appropriately selected according to the embodiment.
- the target data 61C may include, for example, observation data obtained by a sensor that observes the conversation behavior of the target user RC, data indicating conversation information analyzed from the observation data, and the like.
- the sensor that observes the conversation behavior may be, for example, a microphone, a camera, a video camera, or the like.
- the conversation information analyzed from the observation data may include, for example, the content of the conversation, the frequency of the conversation, the distance between the conversation device 1C and the user RC, and the like.
- a known method may be adopted for the analysis of the conversation information.
- conversation information such as conversation content and conversation frequency may be specified from the input behavior of the user RC via the input device 15.
- the method of acquiring the target data 61C does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the observation data obtained by the sensor that observes the conversation behavior may be acquired as the target data 61C.
- the control unit 11 can acquire the sound data obtained by the microphone SC1 as the target data 61C.
- the target data 61C may be acquired by executing some analysis processing on the observation data obtained by the sensor.
- some analysis processing for example, voice analysis
- the analysis result for example, a character string of conversation
- the target data 61C may be acquired based on the input behavior of the user RC via the input device 15.
- the control unit 11 may acquire the target data 61C directly from each device, or may indirectly acquire the target data 61C via another computer.
- Step S202 the control unit 11 acquires the environment data 63C.
- the content of the environment data 63C is not particularly limited as long as it relates to the conversation environment of the target in which the target user RC performs a conversation behavior, and may be appropriately selected depending on the embodiment.
- the environmental data 63C includes, for example, data indicating the attributes of the user RC, data indicating the environmental attributes that affect the conversation behavior, data indicating the attributes related to the specifications (or performance) of the sensor that observes the conversation behavior, and the like. Good.
- the attributes of the user RC may include, for example, the age, gender, occupation, place of origin, personality type, etc. of the user RC.
- Environmental attributes that give paganism to conversational behavior may include, for example, temperature, weather, day of the week, holiday / weekday type, and the like.
- Attributes related to the specifications of the sensor may include, for example, the sensitivity limit of the sensor, the dynamic range, the settable range of spatial resolution, the settable range of the sampling frequency, and the like.
- the method of acquiring the environmental data 63C does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the environment data 63C may be acquired by input by a user or the like.
- the environmental data 63C may be acquired from a sensor that observes conversational behavior.
- the information regarding the specifications obtained from the microphone SC1 may be acquired as the environmental data 63C.
- the environmental data 63C may be acquired by executing some analysis processing on the observation data obtained by the sensor that observes the conversation behavior.
- some analysis processing for example, voice analysis
- the analysis result for example, the result of identifying the gender of the user
- the environment data 63C may be acquired from another sensor that observes the target conversation environment.
- the camera SC2 is connected to the conversation device 1C as another sensor. Therefore, the image data obtained by the camera SC2 may be acquired as the environment data 63C.
- the environmental data 63C may be acquired by executing some analysis processing on the observation data obtained by another sensor.
- some analysis processing for example, image analysis for identifying the user's attribute
- the analysis result obtained by this is the environment data 63C. May be obtained as.
- the environment data 63C may be acquired from another information processing device (server) that distributes information such as weather data.
- the control unit 11 may acquire the environmental data 63C directly from each device, or may indirectly acquire the environmental data 63C via another computer.
- Step S203 the control unit 11 sets each learned machine learning model 45C by referring to the learning result data 47C of each case.
- the control unit 11 gives the target data 61C to each trained machine learning model 45C, and executes the arithmetic processing of each trained machine learning model 45C.
- the control unit 11 acquires the estimation result of each learned machine learning model 45C about the conversation strategy suitable for the user RC as the output of each learned machine learning model 45C.
- Step S204 the control unit 11 sets the integration rule 5C with reference to the integration rule data 57C. Then, the control unit 11 integrates the estimation results of each trained machine learning model 45C according to the integration rule 5C. Specifically, in step S211 the control unit 11 determines the value of each integrated parameter Pc according to the environmental data 63C. At this time, in addition to the environmental data 63C, the target data 61C may be further considered. As a method for determining the value of each integrated parameter Pc, any of the above-mentioned first to third methods may be adopted.
- the control unit 11 acquires the learning data 59C. Then, the control unit 11 uses the learning data 59C to execute machine learning of the calculation model 51C.
- the configuration of the calculation model 51C and the method of machine learning may be the same as those of the above calculation model 51. One of the above two examples may be adopted for the configuration of the calculation model 51C and the method of machine learning.
- the learning data 59C may be composed of a plurality of learning data sets including a combination of the training environment data, the training target data, and the correct answer data, respectively, like the training data 59. ..
- the training environment data is the same type of data as the environment data 63C.
- the training target data is the same type of data as the target data 61C.
- the correct answer data may be composed of the result of inference for the training target data (correct answer), that is, data showing a conversation strategy suitable for the user RC in the target environment.
- Each learning data set may be generated by the same method as in the above embodiment.
- the control unit 11 executes machine learning of the calculation model 51C by using the acquired learning data 59C.
- the method of machine learning may be the same as in the first example above.
- the calculation model 51C may adopt value-based, policy-based, or both.
- the observation target states correspond to the environmental data 63C and the target data 61C.
- the action performed by the agent may be a conversation with the user RC.
- the agent acquires the estimation results of each trained machine learning model 45C by the above series of processes, and integrates the acquired estimation results to estimate the conversation strategy matching the user RC under the target environment. Can be generated.
- the agent may decide the conversational behavior to be adopted based on the estimated result generated (that is, the estimated optimal conversation strategy).
- the reward function may be set manually by an operator or the like. Alternatively, the reward function may be set to give an immediate reward according to the appropriateness of the estimation result generated by the series of processes. The appropriateness may be given manually by an operator or the like. Alternatively, the appropriateness may be evaluated according to a predetermined criterion using a determination device.
- the determination device may be the same as the determination device in the reinforcement learning of the machine learning model 40C.
- the reward function may be estimated by inverse reinforcement learning from case data showing expert demonstrations. This case data may be the same as the case data used for setting the reward function in the reinforcement learning of the machine learning model 40C.
- the control unit 11 adjusts the values of the calculation parameters of the calculation model 51C so that the obtained value (expected value) is maximized in the learning environment set appropriately.
- the method of reinforcement learning may be the same as that of the above embodiment.
- the control unit 11 can execute machine learning of the calculation model 51C by any of the above methods. As a result, the control unit 11 has acquired the ability to estimate the value of each integrated parameter Pc suitable for estimating the conversation strategy suitable for the user RC under the target conversation environment from the environment data 63C (and the target data 61C).
- the completed calculation model 52C can be generated.
- the control unit 11 may store the generated information about the learned calculation model 52C in a predetermined storage area.
- the information about the learned calculation model 52C may be stored as at least a part of the integration rule data 57C, or may be stored separately from the integration rule data 57C.
- the control unit 11 determines the value of each integrated parameter Pc by using the learned calculation model 52C generated above. That is, in step S211 the control unit 11 gives the learned calculation model 52C the environment data 63C. At this time, the control unit 11 may further provide the target data 61C to the learned calculation model 52C. Then, the control unit 11 executes the arithmetic processing of the learned arithmetic model 52C. As a result, the control unit 11 can acquire the value of each integrated parameter Pc for each trained machine learning model 45C as the output of the trained calculation model 52C.
- the control unit 11 determines the value of each integrated parameter Pc based on the comparison between the target environment and each learning environment. That is, the control unit 11 acquires the learning environment data 35C of each learned machine learning model 45C. Next, the control unit 11 calculates the goodness of fit of the learning environment data 35C and the environment data 63C for each case. The form and expression of the goodness of fit may be the same as in the above embodiment. In step S211 above, the control unit 11 may determine the value of each integrated parameter Pc for each corresponding learned machine learning model 45C according to each calculated goodness of fit. The method for determining the value of the integrated parameter Pc according to the goodness of fit may be the same as in the above embodiment.
- control unit 11 accepts the operator to specify the value of the integrated parameter Pc, and sets the value of the target integrated parameter Pc to the specified value.
- the reception screen may be the same as that of the above embodiment (FIG. 12A).
- step S211 the control unit 11 can determine the value of each integrated parameter Pc by adopting at least one of the above three methods.
- the control unit 11 weights the estimation result of each corresponding trained machine learning model 45C by using the value of each determined integrated parameter Pc.
- the control unit 11 uses the values set by the above to set the target integrated parameter Pc.
- the estimation result of the corresponding trained machine learning model 45C is weighted.
- the control unit 11 integrates the weighted estimation results of each trained machine learning model 45C.
- the integration of the estimation results may be performed by a weighted average or a weighted majority vote as in the above embodiment. As a result, it is possible to generate a result of estimating a conversation strategy suitable for the target user RC under the target environment.
- Step S205 the control unit 11 outputs information regarding the generated estimation result. Similar to the above embodiment, the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
- the control unit 11 may output the estimation result generated in step S204 as it is to the output device 16, or may execute some information processing based on the generated estimation result.
- control unit 11 may have a conversation with the user RC based on the generated estimation result, that is, the estimated user RC-adapted conversation strategy.
- the control unit 11 may output the conversation content via an output device 16 such as a speaker or a display.
- the output of the conversation may be a voice output or an image output. Further, the output destination of the conversation does not have to be limited to the output device 16.
- the control unit 11 may have a conversation with the user RC via another computer.
- control unit 11 of the conversation device 1C may assign each trained machine learning model 45C to at least one of a plurality of groups.
- the control unit 11 may execute the integration process for each group according to the purpose.
- grouping method one of the above two methods may be adopted.
- each local learning device 2C executes the processes of steps S111 to S113 in the same manner as the above-mentioned local learning devices 2, thereby utilizing the trained machine learning model 45C and using the user RC. It is possible to estimate a conversation strategy that suits.
- each local learning device 2C acquires the target data used for estimation.
- the method of acquiring the target data may be the same as in step S201 of the conversation device 1C.
- each local learning device 2C gives target data to the trained machine learning model 45C and executes arithmetic processing of the trained machine learning model 45C. As a result, each local learning device 2C acquires the result of estimating the conversation strategy suitable for the user RC as the output of the trained machine learning model 45C.
- each local learning device 2C outputs information regarding the estimation result.
- the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
- Each local learning device 2C may output the estimation result obtained in step S112 as it is to the output device, or may execute some information processing based on the obtained estimation result.
- each local learning device 2C may have a conversation with the user RC as an output process based on the estimated user RC-compatible conversation strategy.
- the microphone SC1 when the target data 61C is acquired from other than the microphone SC1, the microphone SC1 may be omitted.
- the camera SC2 When the environment data 63C is acquired from other than the camera SC2, the camera SC2 may be omitted.
- the conversation device 1C and each sensor may be connected via a communication interface.
- FIG. 23 schematically illustrates an example of an application scene of the control system 100D according to the fourth modification.
- This modified example is an example in which the above embodiment is applied to a scene in which an operation command suitable for a task is estimated.
- the control system 100D according to this modification includes a control device 1D and a plurality of local learning devices 2D. Similar to the above embodiment, the control device 1D and each local learning device 2D may be connected to each other via a network.
- the control device 1D corresponds to the above inference device 1.
- Each local learning device 2D corresponds to each of the above local learning devices 2.
- the control device 1D may be configured in the same manner as the inference device 1, and each local learning device 2D may be configured in the same manner as the local learning device 2 except that the data to be handled and the content of the inference are limited. You can.
- the hardware configuration and software configuration of the control device 1D may be the same as those of the inference device 1.
- the hardware configuration and software configuration of each local learning device 2D may be the same as those of the above-mentioned local learning device 2.
- the predetermined inference related to this modification is to estimate the operation command of the robot device RD suitable for the task from the state of the robot device RD.
- the types of the robot device RD and the task may not be particularly limited, and may be appropriately selected depending on the embodiment.
- the robot device RD may be, for example, an industrial robot, an equipment device, a vehicle capable of automatic driving, or the like.
- the equipment device may be, for example, an air conditioner, a lighting device, or the like.
- the task may be, for example, arranging the work at a target position.
- the robot device RD is an equipment device such as an air conditioner
- the task may be appropriately determined according to the type of the equipment device, for example, keeping the temperature at a predetermined temperature.
- the task may be, for example, moving from the current position to a target position by automatic driving.
- the robot device RD is connected to each of the control device 1D and each local learning device 2D.
- the control device 1D and each local learning device 2D can control the operation of the robot device RD based on the estimated operation command.
- Each local learning device 2D according to this modification generates a learned machine learning model 45D that has acquired the ability to estimate the operation command of the robot device RD that matches the task from the state of the robot device RD.
- the control device 1D according to this modification uses each trained machine learning model 45D derived from the local learning data 30D obtained under different environments by each local learning device 2D, and is a target. In the environment, the operation command suitable for the task of the target robot device RD is estimated.
- the control device 1D acquires the target data 61D to be the target of the predetermined inference and the environment data 63D related to the target environment to execute the predetermined inference.
- the target data 61D which is the target of predetermined inference according to this modification, relates to the state of the target robot device RD.
- the environment data 63D relating to the target environment for executing the predetermined inference according to the present modification is related to the target task environment in which the target robot device RD executes the task.
- the sensor SD is further connected to the control device 1D.
- the sensor SD is, for example, a camera or the like, and is used for observing the state of the target robot device RD. Therefore, the control device 1D according to this modification can acquire the target data 61D from the sensor SD.
- the target task environment may be observed by the sensor SD or another sensor.
- the control device 1D according to the present modification may acquire the environmental data 63D from the sensor SD or another sensor.
- the control device 1D according to this modification gives the acquired target data 61D to each learned machine learning model 45D, and causes each learned machine learning model 45D to estimate the operation command of the robot device RD that matches the task.
- the control device 1D according to this modification acquires the estimation result of each learned machine learning model 45D for the operation command of the robot device RD that matches the task.
- the control device 1D according to the present modification integrates the estimation results of each trained machine learning model 45D according to the integration rule 5D.
- the integration rule 5D includes a plurality of integration parameter PDs that specify the degree to which the estimation result of each trained machine learning model 45D is emphasized under the target environment.
- the control device 1D according to this modification determines the value of each integrated parameter PD according to the environmental data 63D.
- the target data 61D may be further considered.
- the control device 1D according to the present modification weights the estimation result of each corresponding learned machine learning model 45D by using the value of each determined integrated parameter PD.
- the control device 1D according to the present modification integrates the weighted estimation results of each trained machine learning model 45D.
- control device 1D can estimate an operation command that matches the task of the target robot device RD under the target environment.
- Each local learning device 2D according to this modification generates a trained machine learning model 45D by executing the processes of steps S101 to S104 in the same manner as in each of the above local learning devices 2. That is, in step S101, each local learning device 2D acquires the local learning data 30D. Then, in step S102, each local learning device 2D executes machine learning of the machine learning model 40D by using the acquired local learning data 30D.
- the configuration of the machine learning model 40D and the method of machine learning may be the same as those of the machine learning model 40.
- the local learning data 30D is composed of a plurality of training data sets including a combination of training data and correct answer data.
- the training data is of the same type as the target data 61D, and may be composed of data relating to the state of the robot device RD.
- the correct answer data may be composed of the result of inference to the training data (correct answer), that is, the data indicating the operation command of the robot device RD suitable for the performance of the task.
- Each learning data set may be generated by the same method as in the above embodiment.
- Each local learning device 2D uses the acquired local learning data 30D to execute supervised learning of the machine learning model 40D.
- the method of supervised learning may be the same as that of the above embodiment.
- the local learning data 30D is composed of a plurality of training data.
- the training data is composed of data that the machine learning model 40D wants to generate.
- the training data is composed of, for example, data indicating an operation command of the robot device RD suitable for performing a task.
- Each local learning device 2D uses the acquired local learning data 30D to perform hostile learning of the machine learning model 40D and other machine learning models.
- the method of hostile learning may be the same as in the above embodiment.
- the machine learning model 40D may adopt value-based, policy-based, or both.
- the state to be observed may relate to at least one of the internal and external conditions of the robotic apparatus RD.
- the action executed by the agent may be an action based on an action command.
- the reward function may be set manually by an operator or the like. Alternatively, the reward function may be set to give an immediate reward according to the appropriateness of the estimation result of the machine learning model 40D. In this case, as in the above embodiment, the appropriateness may be manually given by an operator or the like. Alternatively, the appropriateness may be evaluated according to a predetermined criterion using a determination device. The determiner may be configured to evaluate the accuracy of the result of estimating the action command suitable for the task.
- the reward function gives a positive immediate reward if the accuracy of the motion command estimation is greater than or equal to the threshold, based on the results of multiple estimation processing trials, and the motion command estimation accuracy is an acceptable value. It may be set to give a negative immediate reward if:
- the estimation accuracy of the operation command may be evaluated based on the execution status of the task, for example, whether or not the target task is properly executed.
- the reward function may be estimated by inverse reinforcement learning from case data showing expert demonstrations.
- the case data may be composed of, for example, data indicating an operation locus of the robot device RD by an expert.
- Each local learning device 2D adjusts the value of the calculation parameter of the machine learning model 40D so that the obtained value (expected value) is maximized in the learning environment set appropriately.
- the method of reinforcement learning may be the same as that of the above embodiment.
- Each local learning device 2D can execute machine learning of the machine learning model 40D by any of the above methods. As a result, each local learning device 2D can generate a learned machine learning model 45D that has acquired the ability to estimate the operation command of the robot device RD that matches the task from the state of the robot device RD.
- each local learning device 2D acquires the learning environment data 35D related to the environment in which the local learning data 30D is obtained.
- the learning environment data 35D is the same type of data as the environment data 63D obtained by the control device 1D.
- the method of acquiring the learning environment data 35D may be the same as the method of acquiring the environment data 63D.
- each local learning device 2D generates information about the generated learned machine learning model 45D as learning result data 47D. Then, each local learning device 2D associates the learning result data 47D with the learning environment data 35D and stores it in a predetermined storage area.
- the local learning data 30D may be acquired under different environments between the local learning devices 2D. Then, the trained machine learning model 45D may be generated from the obtained local learning data 30D. As a result, it is possible to obtain a plurality of trained machine learning models 45D derived from the local learning data 30D obtained under different environments so that the operation command of the robot device RD suitable for the task can be estimated.
- FIG. 24 schematically illustrates an example of the hardware configuration of the control device 1D according to this modification.
- the control device 1D according to the present modification has 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 same as the inference device 1.
- the drive 17 is an electrically connected computer.
- the control device 1D is connected to the robot device RD and the sensor SD via the external interface 14.
- the hardware configuration of the control device 1D does not have to be limited to such an example.
- components can be omitted, replaced, and added as appropriate according to the embodiment.
- the control device 1D 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.
- the storage unit 12 of the control device 1D stores various information such as the control program 81D, the integrated rule data 57D, the learning result data 47D, the learning data 59D, and the learning environment data 35D.
- the control program 81D, the integrated rule data 57D, the learning result data 47D, the learning data 59D, and the learning environment data 35D are the inference program 81, the integrated rule data 57, the learning result data 47, the learning data 59, and the learning according to the above embodiment.
- At least one of the control program 81D, the integration rule data 57D, the learning result data 47D, the learning data 59D, and the learning environment data 35D may be stored in the storage medium 91. Further, the control device 1D may acquire at least one of the control program 81D, the integration rule data 57D, the learning result data 47D, the learning data 59D, and the learning environment data 35D from the storage medium 91.
- ⁇ Software configuration of control device> 25A and 25B schematically illustrate an example of the software configuration of the control device 1D according to this modification. Similar to the above embodiment, the software configuration of the control device 1D is realized by executing the control program 81D by the control unit 11. As shown in FIGS. 25A and 25B, the software configuration of the control device 1D is the same as the software configuration of the inference device 1 except that the data to be handled and the content of the inference are limited. As a result, the control device 1D executes a series of processes related to the inference, similarly to the inference device 1.
- Step S201 That is, as shown in FIG. 25A, in step S201, the control unit 11 of the control device 1D acquires the target data 61D.
- the content of the target data 61D does not have to be particularly limited as long as it relates to the state of the target robot device RD, and may be appropriately selected according to the embodiment.
- the target data 61D may include, for example, data indicating the internal status of the robot device RD, data indicating the external status of the robot device RD, and the like.
- the internal state of the robot device RD may include, for example, the angle of each joint measured by the encoder, the force acting on the end effector measured by the force sensor, and the like.
- the external status of the robot device RD may include, for example, the state of the work, the state of the work range, and the like.
- the state of the work and the state of the work range may be observed by a sensor such as a camera, for example.
- the internal state of the robot device RD may include, for example, the operation setting of the equipment device (for example, the air conditioning temperature), and the external state of the robot device RD includes.
- the state of the operating range of the equipment may be included.
- the state of the operating range of the equipment may include, for example, the room temperature obtained by the temperature sensor.
- the internal state of the robot device RD may include, for example, the steering angle of the steering wheel, the accelerator amount, the brake amount, the presence or absence of horn operation, and the like.
- the external situation of the vehicle may include, for example, the state of the outside of the vehicle such as the presence or absence of obstacles and the condition of the driving road.
- the situation outside the vehicle may be observed by, for example, a camera, a lidar sensor, or the like.
- the method of acquiring the target data 61D does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- data indicating the internal status may be acquired as the target data 61D from the robot device RD itself.
- the target data 61D may be acquired from a sensor that observes the internal state of the robot device RD.
- an encoder, a force sensor, or the like may be used as a sensor for observing the internal state of the robot device RD.
- the target data 61D may be acquired from a sensor that observes the external state of the robot device RD.
- the sensor for observing the external state of the robot device RD for example, a camera, a lidar sensor, an infrared sensor, or the like may be used.
- the target data 61D may be acquired by input by an operator or the like.
- the control unit 11 may acquire the target data 61D directly from each device, or may indirectly acquire the target data 61D via another computer.
- the control device 1D is connected to the sensor SD for observing the external condition of the robot device RD. Therefore, the control unit 11 can acquire the target data 61D from the sensor SD.
- Step S202 the control unit 11 acquires the environment data 63D.
- the content of the environment data 63D is not particularly limited as long as it relates to the target task environment in which the target robot device RD performs the task, and may be appropriately selected depending on the embodiment.
- the environmental data 63D includes, for example, data indicating the attributes of the robot device RD, data indicating the attributes related to the specifications (or performance) of the sensor for observing the state of the robot device RD, data indicating the attributes related to the observation conditions of the sensor, and the like. It may be.
- the attributes of the robot device RD may include, for example, the type of the robot device RD, the performance of the robot device RD, and the like.
- the performance of the robot device RD may be expressed by, for example, a drive range, a payload, and the like.
- the performance of the robot device RD may be expressed by, for example, a temperature control range or the like.
- the performance of the robot device RD may be expressed by, for example, a limit traveling speed or the like.
- Attributes related to sensor specifications may include, for example, sensor sensitivity limit, dynamic range, spatial resolution settable range, sampling frequency settable range, and the like.
- the attributes related to the observation conditions of the sensor may include, for example, attributes related to the sensor installation angle, sensor operation settings, and the like.
- the attributes related to the operation setting of the sensor may include, for example, a set value of the measurement range of the sensor, a set value of the resolution of the measurement range, a set value of the sampling frequency, and the like.
- the attributes related to the operation setting may include an aperture value, a shutter speed, a zoom magnification, and the like.
- the method of acquiring the environmental data D does not have to be particularly limited, and may be appropriately selected according to the embodiment.
- the environment data 63D may be acquired by input by an operator or the like.
- the environment data 63D may be acquired from the robot device RD itself or another information processing device (server) that provides information on the robot device RD.
- the environment data 63D may be acquired from the sensor itself that observes the state of the robot device RD or another information processing device (server) that provides information on the sensor.
- the control unit 11 may acquire the environment data 63D directly from each device, or may indirectly acquire the environment data 63D via another computer.
- Step S203 the control unit 11 sets each learned machine learning model 45D by referring to the learning result data 47D of each case.
- the control unit 11 gives the target data 61D to each trained machine learning model 45D, and executes the arithmetic processing of each trained machine learning model 45D.
- the control unit 11 acquires the estimation result of each learned machine learning model 45D for the operation command of the robot device RD suitable for the task as the output of each learned machine learning model 45D.
- Step S204 the control unit 11 sets the integration rule 5D with reference to the integration rule data 57D. Then, the control unit 11 integrates the estimation results of each trained machine learning model 45D according to the integration rule 5D. Specifically, in step S211 the control unit 11 determines the value of each integrated parameter PD according to the environment data 63D. At this time, in addition to the environmental data 63D, the target data 61D may be further considered. Any of the above-mentioned first to third methods may be adopted as a method for determining the value of each integrated parameter PD.
- the control unit 11 acquires the learning data 59D. Then, the control unit 11 executes machine learning of the calculation model 51D by using the learning data 59D.
- the configuration of the arithmetic model 51D and the method of machine learning may be the same as those of the arithmetic model 51.
- One of the above two examples may be adopted for the configuration of the calculation model 51D and the method of machine learning.
- the learning data 59D may be composed of a plurality of learning data sets including a combination of the training environment data, the training target data, and the correct answer data, respectively, like the training data 59. ..
- the training environment data is the same type of data as the environment data 63D.
- the training target data is the same type of data as the target data 61D.
- the correct answer data may be composed of the result of inference for the training target data (correct answer), that is, data indicating an operation command of the robot device RD suitable for performing the task in the target environment.
- Each learning data set may be generated by the same method as in the above embodiment.
- the control unit 11 executes machine learning of the calculation model 51D by using the acquired learning data 59D.
- the method of machine learning may be the same as in the first example above.
- the calculation model 51D may adopt value-based, policy-based, or both.
- the observation target states correspond to the environmental data 63D and the target data 61D.
- the action executed by the agent may be an action based on an action command.
- the agent acquires the estimation results of each trained machine learning model 45D by the above series of processes, and integrates the acquired estimation results to generate an operation command of the robot device RD that matches the task in the target environment.
- the estimation result can be generated.
- the agent may decide the action to be adopted based on the generated estimation result (that is, the estimated optimum action command).
- the reward function may be set manually by an operator or the like. Alternatively, the reward function may be set to give an immediate reward according to the appropriateness of the estimation result generated by the series of processes. The appropriateness may be given manually by an operator or the like. Alternatively, the appropriateness may be evaluated according to a predetermined criterion using a determination device.
- the determination device may be the same as the determination device in the reinforcement learning of the machine learning model 40D.
- the reward function may be estimated by inverse reinforcement learning from case data showing expert demonstrations. This case data may be the same as the case data used for setting the reward function in the reinforcement learning of the machine learning model 40D.
- the control unit 11 adjusts the values of the calculation parameters of the calculation model 51D so that the obtained value (expected value) is maximized in the learning environment set appropriately.
- the method of reinforcement learning may be the same as that of the above embodiment.
- the control unit 11 can execute machine learning of the calculation model 51D by any of the above methods. As a result, the control unit 11 estimates the value of each integrated parameter PD that matches the estimation of the operation command that matches the task of the target robot device RD from the environment data 63D (and the target data 61D) under the target task environment. It is possible to generate a trained arithmetic model 52D that has acquired the ability.
- the control unit 11 may store the information about the generated learned calculation model 52D in a predetermined storage area.
- the information about the trained arithmetic model 52D may be stored as at least a part of the integration rule data 57D, or may be stored separately from the integration rule data 57D.
- the control unit 11 determines the value of each integrated parameter PD by using the learned calculation model 52D generated above. That is, in step S211 the control unit 11 gives the learned calculation model 52D the environment data 63D. At this time, the control unit 11 may further add the target data 61D to the learned calculation model 52D. Then, the control unit 11 executes the arithmetic processing of the learned arithmetic model 52D. As a result, the control unit 11 can acquire the value of each integrated parameter PD for each trained machine learning model 45D as the output of the trained calculation model 52D.
- the control unit 11 determines the value of each integrated parameter PD based on the comparison between the target environment and each learning environment. That is, the control unit 11 acquires the learning environment data 35D of each learned machine learning model 45D. Next, the control unit 11 calculates the goodness of fit of the learning environment data 35D and the environment data 63D for each case. The form and expression of the goodness of fit may be the same as in the above embodiment. In step S211 above, the control unit 11 may determine the value of each integrated parameter PD for each corresponding trained machine learning model 45D according to each calculated goodness of fit. The method of determining the value of the integrated parameter PD according to the goodness of fit may be the same as in the above embodiment.
- the control unit 11 accepts the operator to specify the value of the integrated parameter PD, and sets the value of the target integrated parameter PD to the specified value.
- the reception screen may be the same as that of the above embodiment (FIG. 12A).
- step S211 the control unit 11 can determine the value of each integrated parameter PD by adopting at least one of the above three methods.
- the control unit 11 weights the estimation result of each corresponding trained machine learning model 45D by using the value of each determined integrated parameter PD.
- the control unit 11 uses the values set as described above to set the target integrated parameter PD.
- the estimation result of the corresponding trained machine learning model 45D is weighted.
- the control unit 11 integrates the weighted estimation results of each trained machine learning model 45D.
- the integration of the estimation results may be performed by a weighted average or a weighted majority vote as in the above embodiment. As a result, it is possible to generate a result of estimating an operation command suitable for the task of the target robot device RD under the target environment.
- Step S205 the control unit 11 outputs information regarding the generated estimation result. Similar to the above embodiment, the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
- the control unit 11 may output the estimation result generated in step S204 as it is to the output device 16, or may execute some information processing based on the generated estimation result.
- the control unit 11 transmits the generated estimation result, that is, the estimated task conforming operation command to the robot device RD as information on the estimation result, so that the operation of the robot device RD is performed according to the estimated operation command. You may control it.
- the control unit 11 may directly control the robot device RD.
- the robot device RD may include a controller.
- the control unit 11 may indirectly control the robot device RD by transmitting an operation command to the controller.
- control unit 11 may generate instruction information for instructing the user to operate the robot device RD according to the estimated task conforming operation command as information regarding the estimation result. Then, the control unit 11 may output the generated instruction information to the output device.
- the output device of the output destination may be the output device 16 of the inspection device 1A, or may be the output device of another computer.
- the other computer may be a computer placed in the vicinity of the user, or may be a terminal device owned by the user.
- control unit 11 of the control device 1D may assign each trained machine learning model 45D to at least one of a plurality of groups.
- the control unit 11 may execute the integration process for each group according to the purpose.
- grouping method one of the above two methods may be adopted.
- each local learning device 2D executes the processes of steps S111 to S113 in the same manner as the above-mentioned local learning devices 2, and uses the trained machine learning model 45D to perform a task.
- the operation command of the matching robot device RD can be estimated.
- each local learning device 2D acquires the target data used for estimation.
- the method of acquiring the target data may be the same as in step S201 of the control device 1D.
- each local learning device 2D gives target data to the trained machine learning model 45D, and executes arithmetic processing of the trained machine learning model 45D. As a result, each local learning device 2D acquires the result of estimating the operation command of the robot device RD that matches the task as the output of the learned machine learning model 45D.
- each local learning device 2D outputs information regarding the estimation result.
- the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
- Each local learning device 2D may output the estimation result obtained in step S112 as it is to the output device, or may execute some information processing based on the obtained estimation result.
- each local learning device 2D may control the operation of the robot device RD according to the estimated action command by transmitting the estimated task matching action command to the robot device RD.
- each local learning device 2D generates instruction information for instructing the user to operate the robot device RD according to the estimated task conforming operation command, and outputs the generated instruction information to the output device. You may.
- the sensor SD may be omitted.
- the control device 1D and each device may be connected via a communication interface.
- the inference device 1 generates the trained calculation model 52 by performing machine learning of the calculation model 51.
- the subject that generates the learned calculation model 52 does not have to be limited to the inference device 1.
- a computer other than the inference device 1 may generate the trained calculation model 52 by performing machine learning of the calculation model 51.
- FIG. 26A schematically illustrates an example of the hardware configuration of the model generation device 7 according to this modification.
- the model generator 7 is an example of another computer that generates the trained arithmetic model 52.
- the control unit 71, the storage unit 72, the communication interface 73, the external interface 74, the input device 75, the output device 76, and the drive 77 are electrically connected. It is a computer.
- the control units 71 to drive 77 of the model generation device 7 may be the same as the control units 11 to drive 77 of the inference device 1.
- the hardware configuration of the model generator 7 does not have to be limited to such an example.
- the model generation device 7 may be a general-purpose server device, a general-purpose PC, or the like, in addition to an information processing device designed exclusively for the provided service.
- the storage unit 72 of the model generation device 7 stores various information such as the generation program 87, the integration rule data 57, the learning result data 47, and the learning data 59.
- the generation program 87 is a program for causing the model generation device 7 to execute information processing related to machine learning of the arithmetic model 51.
- the generation program 87 includes a series of instructions for this information processing.
- At least one of the generation program 87, the integration rule data 57, the learning result data 47, and the learning data 59 may be stored in the storage medium 97.
- the storage medium 97 may be the same as the storage medium 91.
- the model generation device 7 may acquire at least one of the generation program 87, the integration rule data 57, the learning result data 47, and the learning data 59 from the storage medium 97.
- FIG. 26B schematically illustrates an example of the software configuration of the model generation device 7 according to this modification.
- the control unit 71 of the model generation device 7 executes the generation program 87 stored in the storage unit 72.
- the model generation device 7 operates as a computer including the learning data acquisition unit 116, the learning processing unit 117, and the storage processing unit 118 as software modules.
- a part or all of the software modules of the model generator 7 may be realized by one or a plurality of dedicated processors.
- software modules may be omitted, replaced, or added as appropriate according to the embodiment.
- the model generation device 7 includes the learning data acquisition unit 116, the learning processing unit 117, and the storage processing unit 118 as software modules, so that the processes of steps S301 to S303 are executed. That is, in step S301, the control unit 71 operates as the learning data acquisition unit 116 and acquires the learning data 59. In step S302, the control unit 71 operates as the learning processing unit 117, and uses the learning data 59 to execute machine learning of the calculation model 51. In step S303, the control unit 71 operates as the storage processing unit 118, and stores the result of machine learning of the calculation model 51, that is, the information regarding the learned calculation model 52 in a predetermined storage area. Information about the trained computation model 52 may be stored as at least part of the integration rule data 57. As a result, the control unit 71 can generate the learned calculation model 52 in the same manner as in the above embodiment.
- the generated information about the learned calculation model 52 may be provided to the inference device 1 at an arbitrary timing.
- the learning data acquisition unit 116, the learning processing unit 117, and the storage processing unit 118 may be omitted from the software configuration of the inference device 1.
- the learning data 59 may be omitted from the information stored in the storage unit 12 or the like of the inference device 1.
- the same may apply to the inspection device 1A, the prediction device 1B, the conversation device 1C, and the control device 1D according to the above modification.
- the trained arithmetic models 52A to 52D may be generated by another computer in at least one of the inspection device 1A, the prediction device 1B, the conversation device 1C, and the control device 1D according to the above modification.
- the learning data acquisition unit 116, the learning processing unit 117, and the storage processing unit 118 may be omitted from the software configuration.
- each local learning device 2 is configured to execute both a generation process of the trained machine learning model 45 and an inference process using the generated learned machine learning model 45.
- the configuration of each local learning device 2 does not have to be limited to such an example.
- At least one of the plurality of local learning devices 2 may be configured by a plurality of computers. In this case, the local learning device 2 may be configured so that the generation process and the inference process are executed by separate computers.
- FIG. 27 schematically illustrates an example of the configuration of the local learning device 2F according to this modified example.
- the local learning device 2F includes a model generation device 200 configured to execute the generation process and a model utilization device 201 configured to execute the inference process.
- the hardware configuration of each of the model generation device 200 and the model utilization device 201 may be the same as the hardware configuration of each local learning device 2 according to the above embodiment.
- the model generation device 200 By executing the learning program 821, the model generation device 200 operates as a computer including a learning data acquisition unit 211, an environment data acquisition unit 212, a learning processing unit 213, and a storage processing unit 214 as software modules. As a result, the model generation device 200 executes machine learning of the machine learning model 40 and generates the trained machine learning model 45.
- the model utilization device 201 operates as a computer including the target data acquisition unit 216, the inference unit 217, and the output unit 218 as software modules by executing the inference program 822. As a result, the model utilization device 201 executes a predetermined inference using the trained machine learning model 45.
- At least one of the local learning devices 2A to 2D according to the above modification may be configured so that the generation process and the inference process are executed by separate computers as in the present modification.
- the number of trained machine learning models 45 generated by each local learning device 2 does not have to be particularly limited, and may be appropriately selected according to the embodiment. At least one of the plurality of local learning devices 2 collects a plurality of different local learning data 30, and uses the obtained local learning data 30 to obtain a plurality of trained machine learning models 45. It may be generated. Further, when one local learning device 2 generates a plurality of learned machine learning models 45, the plurality of learned machine learning models 45 used in the inference device 1 are generated by one local learning device 2. It may be.
- each local learning device 2 executes machine learning of the machine learning model 40 and generates a trained machine learning model 45.
- the machine learning of the machine learning model 40 (that is, the generation of the trained machine learning model 45) does not necessarily have to be executed in each local learning device 2.
- the machine learning of the machine learning model 40 may be executed by a computer other than each local learning device 2 such as an inference device 1 and another information processing device.
- the trained machine learning model 45 is adopted as an example of the inference model that executes a predetermined inference.
- the configuration of the inference model is not limited to the trained machine learning model as long as it can execute a predetermined inference, and may be appropriately selected depending on the embodiment.
- the method of deriving the inference model does not have to be limited to machine learning.
- the inference model may be derived manually, for example. That is, a model heuristically determined by a human may be adopted as an inference model with reference to the local learning data 30.
- each inference model used for inference does not necessarily have to be exactly the same. At least one of the output formats and contents of each inference model may differ to the extent that the inference results of each inference model can be integrated. For example, a plurality of inference models that estimate the motion commands of robot devices having different numbers of joints may be used to estimate the motion commands of the robot devices in the target environment.
- FIG. 28 schematically illustrates an example of an application scene of the inference system 100G according to this modified example.
- the inference system 100G according to the present modification may be configured in the same manner as the inference system 100, except that the trained machine learning model 45 replaces the inference model 45G.
- the inference model 45G may be composed of, for example, a data table, a function expression, a rule, or the like.
- the method for deriving the inference model 45G from the local learning data 30 does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
- the inference model 45G may be derived by an operator who operates the local learning device 2.
- the learning processing unit 117 may be omitted from the software configuration of each local learning device 2.
- the storage processing unit 118 may store information about the inference model 45G derived manually in a predetermined storage area. According to this modification, it is possible to reduce the time and effort for manually creating an inference model in a new environment.
- each trained machine learning model 45A to 45D may be replaced with a model heuristically determined by a human with reference to the local learning data 30A to 30D.
- the inference device 1 holds each inference model (each trained machine learning model 45), and in step S203, the control unit 11 executes arithmetic processing of each inference model.
- the inference result of the inference model is acquired.
- the method of obtaining the inference result of each inference model does not have to be limited to such an example. At least one of a plurality of inference models used for a predetermined inference does not have to be held in the inference device 1, and other computers such as a local learning device 2 and an information processing device other than the local learning device 2 It may be held in.
- step S203 the control unit 11 may transmit the target data 61 to another computer and have the other computer execute the arithmetic processing of the inference model. Then, the control unit 11 may acquire the inference result of the inference model by receiving the calculation result from another computer. Correspondingly, the corresponding learning result data 47 may be omitted from the information stored in the storage unit 12 or the like of the inference device 1. The same may apply to the inspection system 100A, the prediction system 100B, the conversation system 100C, and the control system 100D according to the above modification.
- the above-mentioned first to third methods can be adopted as a method for determining the value of each integrated parameter P.
- any one of the above first to third methods may be omitted.
- the learning environment data 35 may be omitted from the information stored in the storage unit 12 or the like of the inference device 1.
- the environment data acquisition unit 212 may be omitted from the software configuration of each local learning device 2.
- the process of step S103 may be omitted from the process procedure for generating the learned machine learning model 45, and the process of associating the learning environment data 35 may be omitted in the process of step S104.
- the parameter setting unit 119 may be omitted from the software configuration of the inference device 1. The same may apply to the inspection system 100A, the prediction system 100B, the conversation system 100C, and the control system 100D according to the above modification.
- the grouping process of each inference model may be omitted.
- the grouping unit 1110 may be omitted from the software configuration of the inference device 1. The same may apply to the inspection device 1A, the prediction device 1B, the conversation device 1C, and the control device 1D according to the above modification.
- FIG. 29 schematically shows an outline of the robot device 900 used in the simulation environment of the examples and the comparative examples.
- the robot device 900 has a configuration in which a plurality of links are connected by joints. Of the plurality of links, the lower end link in contact with the ground is the foot 901, and the link connected to the foot 901 is the leg 902.
- the link connected to the leg 902 is the thigh (thigh) 903, and the link connected to the thigh 903 is the torso (torso) 904.
- the robot device 900 moves each link to move forward.
- the following basic conditions were adopted, and reinforcement learning was performed with the reward of progressing more in a certain period of time.
- the model according to the embodiment that determines the operation of the robot device 900 is constructed by integrating the inference results of the four trained models.
- robot devices 900 having the dynamics of interpolation conditions and extrapolation conditions shown in Table 2 below are prepared, and the operation of each of the prepared robot devices 900 is strengthened three times by each model of the example and the comparative example. Trained by learning. Then, the average of each trial was calculated.
- the interpolation condition corresponds to the experimental sample within the range of the first to fourth conditions
- the extrapolation condition corresponds to the experimental sample outside the range of the first to fourth conditions.
- FIG. 30A shows the results of training the movement of the robot device 900 having the dynamics of interpolation conditions by reinforcement learning in Examples and Comparative Examples.
- FIG. 30B shows the results of training the movement of the robot device 900 having the dynamics of extrapolation conditions by reinforcement learning in Examples and Comparative Examples.
- the vertical axis shows the reward obtained in each episode, and the vertical axis shows the number of episodes.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
本発明の一側面に係る推論装置は、異なる環境下で得られたローカル学習データから所定の推論を実行するように導出された複数の推論モデルそれぞれに対象データを与えて、各推論モデルに所定の推論を実行させることで、各推論モデルの推論結果を取得する。そして、推論装置は、環境データに応じて、各統合パラメータの値を決定し、決定された各統合パラメータの値を使用して、各推論モデルの推論結果を重み付けし、重み付けされた各推論結果を統合することで、対象の環境下における推論結果を生成する。
Description
本発明は、推論装置、推論方法、及び推論プログラムに関する。
近年、何らかの対象を観測するために、カメラ(撮影装置)、マイクロフォン、温度センサ、照度センサ等のセンサが様々な場面で用いられている。例えば、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。
対象を観測する場所が異なれば、センサによる最適な観測方法は異なり得る。例えば、明るい場所で製品の状態を検査する場合には、撮影装置のシャッタースピードは速い方がよく、暗い場所で製品の状態を検査する場合には、撮影装置のシャッタースピードは遅い方がよい。また、同一の場所であっても、時間帯によってセンサによる最適な観測方法は異なり得る。例えば、時間帯によって、対象の場所における明るさは相違し得る。また、例えば、異なる季節では、同一の時間帯でも対象の場所における明るさは相違し得る。すなわち、観測の環境が異なれば、センサによる最適な観測方法が異なり得る。
対象を適切に観察するためには、異なる環境であっても、センサによる観測が系統的に実施されるのが望ましい。センサによる観測を系統的に実施する方法の一例として、センサによる観測方法を人手により標準化することが考えられる。しかしながら、観測の環境が多様である場合、観測方法を一律に標準化することは困難である。また、センサを取り付ける際に、人の主観が入ってしまい、標準化された観測方法を実現できない可能性がある。つまり、人為的な要因により、標準化された観測方法を各環境で実現できない可能性がある。
そのため、人手による標準化に依らずに、各環境においてセンサによる観測方法を体系的に最適化することが望まれる。例えば、特許文献1では、基板上に形成された位置合わせ用のマークの検出条件を最適化する方法が提案されている。具体的に、基板上に形成された複数のマークを、複数の照明条件及び結像条件の下でマーク検出系を用いて検出する。次に、マーク検出系からの検出信号を所定の信号処理アルゴリズムにより解析し、検出信号の波形形状に関する判定量を算出する。そして、得られた判定量に基づいて複数のマークの検出結果の再現性を評価し、評価結果に基づいて複数の照明条件及び結像条件を最適化する。特許文献1の方法によれば、各環境において、所定の信号処理アルゴリズムによるマークの検出に適合するように照明条件及び結像条件を最適化することができる。
また、近年、機械学習を用いて、センサによる観測方法を最適化する方法も提案されている。例えば、特許文献2では、物体の観測行動を繰り返しながら、観測行動により得られた観測データに基づいて物体をクラスに分類する分類システムが、対象物体の分類確率により導出されるエントロピーの減少量に応じて設定された報酬に基づいて観測行動の強化学習を実行することが提案されている。特許文献2の方法によれば、分類システムは、各環境において、物体のクラス識別に適合した観測行動を強化学習により習得することができる。また、例えば、非特許文献1では、強化学習を用いて、超音波アレーセンサの指向性を最適化する方法が提案されている。
小谷直樹、谷口研二、「強化学習を用いた超音波アレーセンサの指向性の最適設計法」、システム制御情報学会論文誌、2010年、23巻、12号、p.291-293
本件発明者らは、上記のような従来の最適化方法には、次のような問題点があることを見出した。
すなわち、従来の方法では、個々の環境で、センサの観測方法を最適化している。特に、教師あり学習、教師なし学習、強化学習等の機械学習により、センサの観測方法を最適化する場合、各環境において学習データを収集し、収集された学習データを利用した機械学習により学習済み機械学習モデルを構築している。学習済み機械学習モデルは、学習データを収集した環境と同じ環境で運用された場合には、所定の推論(この場合は、センサの最適な観測方法を推定する)を適切に実行することができる。
しかしながら、学習データを収集した環境と異なる環境で運用された場合、学習済み機械学習モデルは、当該所定の推論を適切に実行できるとは限らない。そのため、基本的には、新たな環境でセンサの観測方法を最適化する場合には、対象の新たな環境で学習データを収集し、収集された学習データを利用して、新たな学習済み機械学習モデルを構築するための機械学習を実施することになる。したがって、従来の方法では、新たな環境でセンサの観測方法を最適化するのにはコストがかかるという問題点があった。
なお、この問題点は、センサの観測方法を最適化する場面に特有のものではない。学習済み機械学習モデルにより所定の推論を実行するあらゆる場面で同様の問題点が生じる。学習済み機械学習モデルにより所定の推論を実行する場面とは、上記センサの最適な観測方法を推定する場面の他、例えば、移動体の移動する経路を予測する場面、ユーザに適合する会話戦略を推定する場面、タスクに適合するロボット装置の動作指令を推定する場面等である。
具体例として、引用文献3では、ユーザの移動経路を予測する能力を隠れマルコフモデルに習得させることが提案されている。引用文献4では、深層強化学習により、後続の発言が会議の目的に近付くような応答を決定する能力を学習器に習得させることが提案されている。引用文献5では、ロボット装置としてハンドを備える産業用ロボットの稼働条件であって、物品の位置姿勢、サイクルタイム、トルク及び振動に関する稼働条件を決定する能力を強化学習により学習モデルに習得させることが提案されている。引用文献6では、ロボット装置として制御対象設備の制御内容を決定する能力を強化学習により学習モデルに習得させることが提案されている。引用文献7では、ロボット装置として自動運転車両の行動を決定する能力を強化学習により学習モデルに習得させることが提案されている。
これらの場面でも、学習データを収集した環境と異なる環境で運用された場合に、学習済み機械学習モデルは、所定の推論を適切に実行できるとは限らない。そのため、新たな環境で所定の推論を適切に実行可能な学習済み機械学習モデルを構築するのにはコストがかかるという問題点が生じ得る。
更には、上記の問題点は、機械学習により学習済み機械学習モデルを構築する場面に特有のものではない。例えば、人手によるルール化等、機械学習以外の方法により、所定の推論を実行するように構成された推論モデルを学習データから導出するあらゆる場面で生じ得る。例えば、人手によりルール化により推論モデルを生成する場面を想定する。この場面でも、学習データを収集した環境と異なる環境で推論モデルが運用された場合、生成の際に考慮されていない入力が与えられる可能性があり、推論モデルは、所定の推論を適切に実行できるとは限らない。そのため、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するにはコストがかかるという問題点が生じ得る。
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減するための技術を提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係る推論装置は、所定の推論の対象となる所定の対象データを取得する第1データ取得部と、前記所定の推論を実行する対象の環境に関する環境データを取得する第2データ取得部と、異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得する結果取得部と、統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成する統合部であって、前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、前記統合規則に従って、前記各推論モデルの推論結果を統合することは、取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、統合部と、生成された前記推論結果に関する情報を出力する出力部と、を備える。
当該構成に係る推論装置は、異なる環境下で得られたローカル学習データから導出された複数の推論モデルを利用して、対象の環境下で所定の推論を実行する。具体的には、当該構成に係る推論装置は、所定の推論の対象となる対象データを各推論モデルに与えて、対象データに対する所定の推論を各推論モデルに実行させることで、対象データに対する各推論モデルの推論結果を取得する。そして、当該構成に係る推論装置は、統合規則に従って、各推論モデルの推論結果を統合することで、対象の環境下での対象データに対する推論結果を生成する。このように、当該構成に係る推論装置は、対象の環境下で所定の推論を実行するために、新たな推論モデルを構築するのではなく、既に構築された複数の推論モデルを活用する。
統合規則は、対象の環境下において、各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成される。一般的には、対象の環境に類似する学習環境で得られたローカル学習データから導出された推論モデルほど、対象の環境下で得られた対象データに対する推論精度が高いと想定される。他方、対象の環境に類似しない学習環境で得られたローカル学習データから導出された推論モデルほど、対象の環境下で得られた対象データに対する推論精度が低いと想定される。また、複数の推論モデルには、対象の環境下で優先的に利用することが推奨される推論モデルが含まれる場合がある。
そこで、当該構成に係る推論装置は、所定の推論を実行する対象の環境に関する環境データに応じて、統合規則の各統合パラメータの値を決定する。例えば、対象の環境に類似する学習環境の推論モデル及び優先度の高い推論モデルの少なくともいずれかの推論結果が重視されるように各統合パラメータの値が決定されてよい。そして、当該構成に係る推論装置は、決定された各統合パラメータの値を使用して、各推論モデルの推論結果を重み付けし、重み付けされた各推論モデルの推論結果を統合する。当該構成では、このように対象の環境に応じて各推論モデルの推論を重視する程度を調整することで、様々な環境で得られた知見(推論モデル)を新たな環境に適合するようにカスタマイズすることができる。その結果、対象の環境下で所定の推論を適切に実行することができる。
したがって、当該構成によれば、異なる環境下で得られたローカル学習データから導出された複数の推論モデルを利用して、対象の環境下で所定の推論を適切に実行することができる。すなわち、既に構築された複数の推論モデルを活用することで、対象の環境下で所定の推論を適切に実行可能な新たな推論モデルを構築することができる。そのため、対象の環境下で新たな学習データを収集し、収集された新たな学習データから新たな推論モデルを導出する作業の手間を省略することができる。よって、当該構成によれば、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
なお、「所定の推論」を実行することは、未知の対象データに基づいて何らかの推定処理を実行することである。推論の内容は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。推論は、回帰又は識別であってもよい。所定の推論は、例えば、センサの最適な観測方法を推定すること、移動体の移動する経路を予測すること、ユーザに適合する会話戦略を推定すること、タスクに適合するロボット装置の動作指令を推定すること等であってよい。推論結果の表現は、推論の内容に応じて適宜決定されてよい。推論結果は、例えば、回帰による連続値、クラスに属する確率等により表現されてよい。また、推論結果は、例えば、1つ以上の数値又は1つ以上のクラスにより表現されてもよい。
「対象データ」は、所定の推論の際に使用されるものであれば、その種類は、特に限定されなくてもよく、推論の内容に応じて適宜選択されてよい。対象データは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる観測データ等であってよい。対象データは、「入力データ」と読み替えられてもよい。
「環境データ」は、所定の推論を実行する対象の環境に関するものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定の推論を実行する環境は、例えば、対象データの得られる環境である。対象データの得られる環境に関する属性は、所定の推論に直接的又は間接的に関連する対象物又はユーザの属性等の推論に関連し得るあらゆる事象を含んでよい。環境データは、対象データと同様に、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる観測データ等であってよい。
対象データ及び環境データそれぞれを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ及び環境データがセンサにより得られる観測データに由来する場合、対象データ及び環境データは、同一のセンサにより得られた同一の観測データに由来してもよいし、異なるセンサにより得られた異なる観測データに由来してもよい。対象データ及び環境データは、少なくとも部分的に共通のデータを含んでもよい。
各推論モデルは、所定の推論を実行可能であれば、その構成は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。各推論モデルは、例えば、データテーブル、関数式、ルール等により構成されてよい。推論に利用される各推論モデルの出力(推論結果)の形式及び内容は、必ずしも完全に一致していなければならない訳ではない。各推論モデルの出力の形式及び内容の少なくとも一方は、各推論モデルの推論結果を統合可能な範囲で異なっていてもよい。例えば、関節数の異なるロボット装置の動作指令を推定する複数の推論モデルが、対象の環境下におけるロボット装置の動作指令を推定するのに利用されてよい。各推論モデルの推論結果を統合する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各推論モデルの推論結果を統合することは、平均化又は多数決により構成されてよい。
ローカル学習データを得る環境が異なっていることとは、例えば、時間、場所、対象物、ユーザ等の所定の推論に影響を及ぼし得る事象が少なくとも部分的に相違していることである。一例として、異なる場所で取得されたローカル学習データは、異なる環境下で得られたローカル学習データとして取り扱われてよい。また、その他の例として、同一の場所で異なる時刻に取得されたローカル学習データは、異なる環境下で得られたローカル学習データとして取り扱われてよい。各推論モデルの導出に利用されたローカル学習データには、少なくとも部分的に同一のデータが含まれてもよい。
各推論モデルを導出する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各推論モデルの導出は、人手により行われてもよいし、或いは機械学習により行われてもよい。機械学習の方法には、例えば、教師あり学習、教師なし学習、強化学習等が用いられてよい。ローカル学習データの形式及び種類は、特に限定されなくてもよく、例えば、各推論モデルを導出する方法、所定の推論の内容等に応じて適宜決定されてよい。
上記一側面に係る推論装置において、前記各推論モデルは、前記ローカル学習データを利用した機械学習により前記所定の推論を実行する能力を獲得した学習済み機械学習モデルにより構成されてよい。当該構成によれば、新たな環境で所定の推論を適切に実行可能な学習済み機械学習モデルを構築するのにかかるコストを低減することができる。
上記一側面に係る推論装置は、前記環境データから前記各統合パラメータの値を算出するための演算モデルの機械学習を実行する学習処理部であって、前記機械学習は、算出される前記各統合パラメータの値が前記対象の環境下における前記所定の推論に適合するように前記演算モデルを訓練することにより構成される、学習処理部を更に備えてもよい。これに応じて、前記統合規則は、前記機械学習により構築された学習済み演算モデルを更に備えてよい。そして、前記前記環境データに応じて、前記各統合パラメータの値を決定することは、前記学習済み演算モデルに前記環境データを与えて、前記学習済み演算モデルの演算処理を実行することで、前記学習済み演算モデルの出力として前記各統合パラメータの値を取得することにより構成されてよい。当該構成によれば、機械学習により構築された学習済み演算モデルを含む統合規則により、対象の環境で所定の推論を更に適切に実行することができる。
推論モデルのパラメータ数は、対象データの次元数及び推論結果の表現形式に依存する。これに対して、演算モデルのパラメータ数は、環境データの次元数及び対象の環境下での所定の推論に利用する推論モデルの数に依存する。そのため、対象データ及び推論内容の少なくとも一方が複雑になればなるほど、推論モデルのパラメータの数は大きく増加するのに対して、演算モデルのパラメータ数の増加は抑えることができる。
例えば、対象の環境として明るさを考慮して、カメラの最適な観測方法を当該カメラにより得られる画像データから推定する場面を想定する。この場合、推論モデルのパラメータ数は、画像データの画素数及びカメラの取り得る状態数に依存し、千を超えるオーダーと成り得る。一方、演算モデルのパラメータ数は、明るさの次元数及び推論モデルの数に依存するが、最適な観測方法の推定に数十の推論モデルを利用するとしても、多くて数十~数百程度のオーダーである。
したがって、一般的に、演算モデルのパラメータ数は、推論モデルのパラメータ数よりも少なくて済む。機械学習のコストはパラメータ数に依存するため、機械学習により学習済み演算モデルを構築するコストは、新たな推論モデルとして学習済み機械学習モデルを構築するコストよりも低く抑えることができる。よって、当該構成においても、新たな環境で所定の推論を適切に実行可能な学習済み機械学習モデルを構築するのにかかるコストを低減することができる。
なお、演算モデルの機械学習は、推論装置以外の情報処理装置(コンピュータ)により実行されてよい。演算モデルは、各統合パラメータの値を算出するための複数の演算パラメータを含む。演算モデルの機械学習は、対象の環境に適合する所望の出力を得るように演算パラメータの値を調整することであってよい。すなわち、算出される各統合パラメータの値が対象の環境下における所定の推論に適合するように演算モデルを訓練することとは、算出された各統合パラメータの値を用いて各推論モデルの推論結果を統合した結果が対象の環境下における推論結果として適合するような各統合パラメータの値を環境データから算出するように演算モデルの演算パラメータの値を調整することであってよい。
上記一側面に係る推論装置において、前記演算モデルの前記機械学習は、前記統合により生成される推論結果の適正度に応じて報酬が設定された強化学習により構成されてよく、前記演算モデルを訓練することは、前記報酬が多く得られるように前記演算モデルを構成する演算パラメータの値の修正を繰り返すことを含んでよい。演算パラメータの値の修正は、例えば、演算パラメータの値を修正する量が閾値以下になる等の所定の条件を満たすまで繰り返されてよい。当該構成によれば、強化学習により構築された学習済み演算モデルを含む統合規則により、対象の環境で所定の推論を更に適切に実行することができる。
なお、適正度は、統合により生成される推論結果が適正である程度を示す。例えば、センサの最適な観測方法を推定する場面では、統合により得られた観測方法に従ってセンサの観測状態を変更した結果、所定の条件に適合した観測データ(例えば、製品の外観検査に適合した画像データ)をセンサにより取得することが可能であるほど、その観測方法の推定結果は適正であると評価されてよい。また、例えば、移動体の移動する経路を予測する場面では、統合により得られた予測経路が正確であるほど、その経路の予測結果は適正であると評価されてよい。また、例えば、ユーザに適合する会話戦略を推定する場面では、統合により得られた会話戦略がユーザに適合しているほど、その会話戦略の推定結果は適正であると評価されてよい。また、例えば、タスクに適合するロボット装置の動作指令を推定する場面では、統合により得られた動作指令がタスクに適合しているほど、その動作指令の推定結果は適正であると評価されてよい。適正度は、所定の指標に基づいてコンピュータにより自動的に算出されてもよいし、或いはオペレータの入力により指定されてもよい。すなわち、適正度の評価は、コンピュータにより行われてもよいし、或いはオペレータにより行われてもよい。
上記一側面に係る推論装置において、前記環境データに応じて、前記各統合パラメータの値を決定することは、前記各推論モデルの導出に利用された前記ローカル学習データの得られた環境に関する学習環境データを取得すること、取得された学習環境データ及び前記環境データの適合度を算出すること、及び算出された適合度に応じて、前記各推論モデルに対する前記各統合パラメータの値を決定すること、により構成されてよい。当該構成によれば、環境データ及び学習環境データの比較の結果(すなわち、適合度)に基づいて、対象の環境に学習環境が類似するほど、その推論モデルの推論結果が重視されるように、各統合パラメータの値を決定することができる。したがって、当該構成によれば、簡易な方法により、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
上記一側面に係る推論装置は、前記複数の統合パラメータのうちの少なくとも1つの統合パラメータの値の指定を受け付け、かつ前記少なくとも1つの統合パラメータの値を指定された値に設定するパラメータ設定部を更に備えてもよい。これに応じて、前記各推論モデルの前記推論結果を重み付けすることは、設定された前記値を使用して、前記少なくとも1つの統合パラメータに対応する推論モデルの推論結果を重み付けすることを含んでもよい。当該構成によれば、各推論モデルの推論結果に適用する各統合パラメータの値の少なくとも一部をオペレータの指定により決定することができる。これにより、対象の環境下における所定の推論にオペレータの意図(例えば、特定の推論モデルの推論結果を重視する)を反映することができる。
上記各側面に係る推論装置は、推論モデルにより何らかの推論を実行するあらゆる場面に適用されてよい。何らかの推論を実行する場面とは、例えば、センサの最適な観測方法を推定する場面、移動体の移動する経路を予測する場面、ユーザに適合する会話戦略を推定する場面、タスクに適合するロボット装置の動作指令を推定する場面等である。或いは、何らかの推論を実行する場面とは、例えば、カメラにより得られた画像データに写る被写体の属性を推定する場面等、センサにより得られた観測データに表れる特徴を推定する場面であってもよい。或いは、何らかの推論を実行する場面とは、センサにより得られた観測データからセンサの観測条件に関する特徴を推定する場面であってもよい。観測条件に関する特徴は、観測条件に関連し得るあらゆる事象を含んでよく、例えば、センサと観測対象との間の距離、観測対象の周囲の明るさ等を含んでよい。
例えば、上記一側面に係る推論装置において、前記所定の推論は、センサにより得られた観測データに表れる特徴を当該観測データから推定することであってよい。前記対象データは、前記センサにより得られた観測データであってよい。前記環境データは、前記観測データを取得する環境に関するものであってよい。センサにより得られた観測データに表れる特徴を推定することは、カメラにより得られた画像データに写る被写体の属性を推定するであってよい。当該構成によれば、センサにより得られた観測データに表れる特徴を推定する場面において、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。推論装置は、例えば、検査装置、予測装置、会話装置、制御装置等と、推論内容に適合するように適宜読み替えられてよい。
例えば、上記一側面に係る推論装置において、前記所定の推論は、センサにより対象物の属性を観測する現在の観測状態から、所定の条件に適合した観測データをセンサにより得るための適正な観測状態への変更方法を推定することであってよい。前記対象データは、対象センサの現在の観測状態に関するものであってよい。前記環境データは、前記対象センサが前記対象物の属性を観測する対象の観測環境に関するものであってよい。当該構成によれば、対象物の属性をセンサにより観測する場面において、新たな環境でセンサの最適な観測方法を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。
なお、所定の条件に適合した観測データが得られることは、センサの観測状態が適正であることに対応する。「所定の条件」は、センサの観測目的に応じて適宜規定されてよい。例えば、製品の欠陥検出のために観測データを得る場合、所定の条件は、センサにより得られた観測データに基づいて、欠陥検出が可能であるか否か、欠陥検出の精度が基準を満たすか否か等の、センサにより得られた観測データに対する他の推論の性能に応じて規定されてよい。製品の欠陥検出は、被写体の品質評価(例えば、農作物の生育状態の評価)に置き換えられてよい。「適正な観測状態への変更方法」を推定することは、当該変更方法を直接的に推定すること、及び適正な観測状態を推定し、推定された適正な観測状態と現在の観測状態との差分を算出することで、適正な観測状態に導くための変更方法を間接的に推定することを含んでよい。
上記一側面に係る推論装置において、前記環境データは、前記対象センサとは異なる他のセンサであって、前記対象の観測環境を観測する他のセンサにより得られてよい。当該構成によれば、環境データを簡易に取得することができるため、各推論モデルの推論結果を統合する一連の処理の簡略化を図ることができる。また、当該構成によれば、観測データを適切に取得することができるため、統合により生成される推論結果の精度の向上を図ることができる。
上記一側面に係る推論装置は、前記対象センサの観測状態に介入することで、当該観測状態を変更させる介入装置に接続されてよい。前記推論結果に関する情報は、推定された前記変更方法に従って前記対象センサの観測状態を変更させる動作を前記介入装置に実行させるための指令情報を含んでもよい。前記出力部は、前記介入装置に前記指令情報を送信することで、推定された前記変更方法に従って前記対象センサの観測状態を変更するための前記動作を前記介入装置に実行させてもよい。当該構成によれば、センサの観測状態を自動的に最適化することができる。
なお、介入装置は、センサの観測状態に介入可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。具体例として、介入装置は、例えば、パンチルト雲台、照明装置等であってよい。パンチルト雲台は、センサの位置及び向きの少なくともいずれかを変更するのに利用されてよい。照明装置は、センサの観測対象周囲の明るさを変更するのに利用されてよい。介入装置は、当該介入装置の動作を制御する制御装置を備えてよい。この場合、推論装置は、制御装置に指令情報を送信することで、対象センサの観測状態を変更するための動作の制御を当該制御装置に実行させてもよい。
上記一側面に係る推論装置において、前記推論結果に関する情報は、前記変更方法に従って前記対象センサの観測状態を変更することをユーザに指示するための指示情報を含んでもよい。前記出力部は、前記指示情報を出力装置に出力してもよい。当該構成によれば、センサの観測状態を最適化するための変更方法をユーザに提示することができる。これによって、専門知識を有さないユーザでも、対象の環境に応じてセンサの観測状態を最適化することができる。
上記一側面に係る推論装置において、前記センサは、カメラであってよい。前記観測データは、画像データであってよい。前記所定の条件は、前記対象物の属性を検査するのに適するように前記対象物が前記画像データに写ることに関するものであってよい。当該構成によれば、カメラにより得られる画像データに基づいて対象物の属性を検査する場面において、新たな環境でカメラの最適な観測方法を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。
また、例えば、上記一側面に係る推論装置において、前記所定の推論は、移動体の移動する経路を移動体の状態から予測することであってよい。前記対象データは、センサにより観測される対象の移動体の状態に関するものであってよい。前記環境データは、前記対象の移動体の移動を前記センサが観測する対象の観測環境に関するものであってよい。当該構成によれば、移動体の移動を監視する場面において、新たな環境で移動体の移動する経路を適切に予測可能な推論モデルを構築するのにかかるコストを低減することができる。なお、移動体は、例えば、生物(人間等)、機械(車両等)等であってよい。
また、例えば、上記一側面に係る推論装置において、前記所定の推論は、ユーザに適合する会話の戦略をユーザの会話行動から推定することであってよい。前記対象データは、対象のユーザの会話行動に関するものであってよい。前記環境データは、前記対象のユーザが会話行動を行う対象の会話環境に関するものであってよい。当該構成によれば、ユーザに対する会話を生成する場面において、新たな環境でユーザに適合する会話戦略を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。なお、会話戦略は、ユーザに対する会話行動の決定に関するものであれば、その規定内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。会話戦略は、例えば、会話の内容、発話タイミング、会話の頻度、口調等を規定してもよい。
また、例えば、上記一側面に係る推論装置において、前記所定の推論は、タスクに適合するロボット装置の動作指令をロボット装置の状態から推定することであってよい。前記対象データは、対象のロボット装置の状態に関するものであってよい。前記環境データは、前記対象のロボット装置が前記タスクを遂行する対象のタスク環境に関するものであってよい。当該構成によれば、ロボット装置の動作を制御する場面において、新たな環境でタスクに適合するロボット装置の動作指令を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。
なお、ロボット装置及びタスクはそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ロボット装置は、例えば、産業用ロボット、設備装置、自動運転可能な車両等であってよい。設備装置は、例えば、空調設備(エアコンディショナ)、照明装置等であってよい。ロボット装置が産業用ロボットである場合、タスクは、例えば、ワークを目的位置に配置すること等であってよい。ロボット装置が空調設備等の設備装置である場合、タスクは、例えば、所定の温度に保つ等、設備装置の種類に応じて決定されてよい。ロボット装置が自動運転可能な車両である場合、タスクは、例えば、現在位置から目的位置まで自動運転により移動すること等であってよい。
また、本発明の一側面に係る演算モデル生成装置は、演算モデルの機械学習に利用するための学習データを取得するデータ取得部であって、演算モデルは、対象の環境下において、各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータそれぞれの値を環境データから算出するのに利用されるものであり、各推論モデルは、異なる環境下で得られたローカル学習データから所定の推論を実行するように導出されたものである、データ取得部と、取得された学習データを利用して、上記演算モデルの機械学習を実行する学習処理部であって、機械学習は、算出される各統合パラメータの値が対象の環境下における所定の推論に適合するように演算モデルを訓練することにより構成される、学習処理部と、演算モデルの機械学習の結果を所定の記憶領域に保存する保存処理部と、を備える。演算モデル生成装置は、モデル生成装置、学習装置等と読み替えられてよい。各モデル(例えば、機械学習モデル)の学習方法は、学習済みモデル(例えば、学習済み機械学習モデル)の生成方法に相当する。
上記各形態に係る推論装置の別の態様として、本発明の一側面は、以上の推論装置又はモデル生成装置の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面に係る推論システムは、上記いずれかの形態に係る推論装置、及びローカル学習データから推論モデルを導出する1つ以上の推論モデル生成装置により構成されてよい。推論モデル生成装置は、モデル生成装置、ローカル学習装置等と読み替えられてよい。推論システムは、上記演算モデル生成装置を更に備えてよい。
例えば、本発明の一側面に係る推論方法は、コンピュータが、所定の推論の対象となる所定の対象データを取得するステップと、前記所定の推論を実行する対象の環境に関する環境データを取得するステップと、異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得するステップと、統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成するステップであって、前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、前記統合規則に従って、前記各推論モデルの推論結果を統合することは、取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、ステップと、生成された前記推論結果に関する情報を出力するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係る推論プログラムは、コンピュータに、所定の推論の対象となる所定の対象データを取得するステップと、前記所定の推論を実行する対象の環境に関する環境データを取得するステップと、異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得するステップと、統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成するステップであって、前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、前記統合規則に従って、前記各推論モデルの推論結果を統合することは、取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、ステップと、生成された前記推論結果に関する情報を出力するステップと、を実行させるための、プログラムである。
本発明によれば、新たな環境で所定の推論を適切に実行可能な学習済み機械学習モデルを構築するのにかかるコストを低減することができる。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
まず、図1A及び図1Bを用いて、本発明が適用される場面の一例について説明する。図1A及び図1Bは、本発明を適用した場面の一例を模式的に例示する。図1A及び図1Bに示されるとおり、本実施形態に係る推論システム100は、推論装置1及び複数のローカル学習装置2を備えている。推論装置1及び各ローカル学習装置2は、ネットワークを介して互いに接続されてよい。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
まず、図1A及び図1Bを用いて、本発明が適用される場面の一例について説明する。図1A及び図1Bは、本発明を適用した場面の一例を模式的に例示する。図1A及び図1Bに示されるとおり、本実施形態に係る推論システム100は、推論装置1及び複数のローカル学習装置2を備えている。推論装置1及び各ローカル学習装置2は、ネットワークを介して互いに接続されてよい。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
本実施形態に係る各ローカル学習装置2は、ローカル学習データ30を利用して、機械学習モデル40の機械学習を実行するように構成されたコンピュータである。図1Aに示されるとおり、各ローカル学習装置2は、異なる環境下でローカル学習データ30を収集し、得られたローカル学習データ30を利用して、機械学習モデル40の機械学習を実行する。この機械学習により、各ローカル学習装置2は、所定の推論を実行する能力を獲得した学習済み機械学習モデル45を構築する。
構築された各学習済み機械学習モデル45は、本発明の「異なる環境下で得られたローカル学習データから所定の推論を実行するように導出された各推論モデル」の一例である。すなわち、本実施形態では、各推論モデルは、学習済み機械学習モデル45により構成される。以下の説明において、学習済み機械学習モデル45は、「推論モデル」と読み替えられてよい。
機械学習の方法には、例えば、教師あり学習、教師なし学習、強化学習等が用いられてよい。ローカル学習データ30の形式及び種類は、特に限定されなくてもよく、例えば、機械学習の方法、所定の推論の内容等に応じて適宜決定されてよい。各ローカル学習装置2は、推論モデル生成装置、モデル生成装置等と読み替えられてよい。
所定の推論を実行することは、未知の対象データに基づいて何らかの推定処理を実行することである。推論の内容は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。推論は、回帰又は識別であってもよい。所定の推論は、例えば、センサの最適な観測方法を推定すること、移動体の移動する経路を予測すること、ユーザに適合する会話戦略を推定すること、タスクに適合するロボット装置の動作指令を推定すること等であってよい。或いは、所定の推論は、例えば、カメラ(撮影装置)により得られた画像データに写る被写体の属性を推定する等、センサにより得られた観測データに表れる特徴を推定することであってよい。或いは、所定の推論は、センサにより得られた観測データからセンサの観測条件に関する特徴を推定することであってもよい。観測条件に関する特徴は、観測条件に関連し得るあらゆる事象を含んでよく、例えば、センサと観測対象との間の距離、観測対象の周囲の明るさ等を含んでよい。推論結果の表現は、推論の内容に応じて適宜決定されてよい。推論結果は、例えば、回帰による連続値、クラスに属する確率等により表現されてよい。また、推論結果は、例えば、1つ以上の数値又は1つ以上のクラスにより表現されてもよい。
ローカル学習データ30を得る環境が異なっていることは、例えば、時間、場所、対象物、ユーザ等の、所定の推論に影響を及ぼし得る事象が少なくとも部分的に相違していることである。一例として、異なる場所で得られたローカル学習データ30は、異なる環境下で得られたローカル学習データとして取り扱われてよい。また、その他の例として、同一の場所で異なる時刻に得られたローカル学習データ30は、異なる環境下で得られたローカル学習データとして取り扱われてよい。各学習済み機械学習モデル45の構築に利用されたローカル学習データ30には、少なくとも部分的に同一のデータが含まれてよい。
ローカル学習データ30を得る環境及び推論装置1が所定の推論を実行する対象の環境はそれぞれ、1つ以上のクラス又は1つ以上の数値により表現されてよい。各環境が数値により表現される場合、各環境は、数値範囲で表現されてもよい。このとき、第1環境と第2環境とが異なっていることは、第1環境を表現する第1数値範囲と第2環境を表現する第2数値範囲とが重複していないことの他、第1数値範囲と第2数値範囲とが部分的に重複していることを含んでもよい。
なお、図1A及び図1Bの例では、推論システム100は、n個のローカル学習装置2_1~2_nを備える。以下、説明の便宜のため、それぞれを区別する場合に、_1、_2、_n等の更なる符号を付し、そうではない場合には、「ローカル学習装置2」等のようにそれらの符号を省略する。各ローカル学習装置2_1~2_nは、各ローカル学習データ30_1~30_nを収集し、収集された各ローカル学習データ30_1~30_nを利用して、各機械学習モデル40_1~40_nの機械学習を実行する。これにより、各ローカル学習装置2_1~2_nは、各学習済み機械学習モデル45_1~45_nを構築する。すなわち、n個の学習済み機械学習モデル45_1~45_nが生成される。ただし、ローカル学習装置2及び生成される学習済み機械学習モデル45それぞれの数(n)は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。また、各ローカル学習装置2により生成される学習済み機械学習モデル45の数は、1つに限られなくてもよく、2つ以上であってもよい。
一方、本実施形態に係る推論装置1は、異なる環境下で得られたローカル学習データ30から導出された各学習済み機械学習モデル45を利用して、対象の環境下で所定の推論を実行するように構成されたコンピュータである。図1Bに示されるとおり、本実施形態に係る推論装置1は、所定の推論の対象となる所定の対象データ61を取得する。また、本実施形態に係る推論装置1は、所定の推論を実行する対象の環境に関する環境データ63を取得する。
対象データ61は、所定の推論の際に使用されるものであれば、その種類は、特に限定されなくてもよく、推論の内容に応じて適宜選択されてよい。対象データ61は、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる観測データ等であってよい。また、対象データ61は、未加工のデータ、又は加工済みのデータ(例えば、未加工のデータから算出された特徴量)であってよい。対象データ61は、「入力データ」と読み替えられてよい。
環境データ63は、所定の推論を実行する対象の環境に関するものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定の推論を実行する環境は、例えば、対象データ61の得られる環境である。対象データ61の得られる環境に関する属性は、所定の推論に直接的又は間接的に関連する対象物又はユーザの属性等の推論に関連し得るあらゆる事象を含んでよい。環境データ63は、対象データ61と同様に、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる観測データ等であってよい。また、環境データ63は、未加工のデータ、又は加工済みのデータであってもよい。
対象データ61及び環境データ63それぞれを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61及び環境データ63の取得にセンサを利用する場合、対象データ61及び環境データ63は、同一のセンサにより得られた同一の観測データに由来してもよいし、或いは異なるセンサにより得られた異なる観測データに由来してもよい。また、対象データ61及び環境データ63は、少なくとも部分的に共通のデータを含んでもよい。
本実施形態に係る推論装置1は、取得された対象データ61を各学習済み機械学習モデル45(45_1~45_n)に与えて、各学習済み機械学習モデル45(45_1~45_n)に所定の推論を対象データ61に対して実行させる。これにより、本実施形態に係る推論装置1は、取得された対象データ61に対する各学習済み機械学習モデル45(45_1~45_n)の推論結果を取得する。そして、本実施形態に係る推論装置1は、統合規則5に従って、各学習済み機械学習モデル45(45_1~45_n)の推論結果を統合することで、対象の環境下での対象データ61に対する推論結果を生成する。
具体的には、統合規則5は、対象の環境下において、各学習済み機械学習モデル45(45_1~45_n)の推論結果を重視する程度をそれぞれ規定する複数の統合パラメータP(P1~Pn)により構成されている。統合パラメータの数は、推論モデル(学習済み機械学習モデル45)の数に応じて適宜決定されてよい。各学習済み機械学習モデル45には、1つ以上の統合パラメータが設定されてよい。
本実施形態に係る推論装置1は、取得された環境データ63に応じて、各統合パラメータP(P1~Pn)の値を決定する。なお、各統合パラメータP(P1~Pn)の値の決定には、環境データ63の他に、対象データ61が更に考慮されてよい。すなわち、本実施形態に係る推論装置1は、対象データ61及び環境データ63に応じて、各統合パラメータP(P1~Pn)の値を決定してもよい。
次に、本実施形態に係る推論装置1は、決定された各統合パラメータP(P1~Pn)の値を使用して、対応する各学習済み機械学習モデル45(45_1~45_n)の推論結果を重み付けする。そして、本実施形態に係る推論装置1は、各学習済み機械学習モデル45(45_1~45_n)の重み付けされた推論結果を統合する。これにより、本実施形態に係る推論装置1は、統合規則5に従って、各学習済み機械学習モデル45(45_1~45_n)の推論結果を統合する。
推論結果の統合方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各学習済み機械学習モデル45の推論結果を統合することは、平均化又は多数決により構成されてよい。所定の推論が回帰である場合に、推論結果の統合は、主に平均化により行われてよい。また、所定の推論が識別である場合に、推論結果の統合は、主に多数決により行われてよい。当該統合処理により、対象の環境下での対象データ61に対する推論結果が生成される。本実施形態に係る推論装置1は、生成された推論結果に関する情報を出力する。
以上のとおり、本実施形態に係る推論装置1は、対象の環境下で所定の推論を実行するために、新たな推論モデルを構築するのではなく、既に構築された複数の推論モデル(学習済み機械学習モデル45_1~45_n)を活用する。一般的には、対象の環境に類似する学習環境で得られたローカル学習データから導出された推論モデルほど、対象の環境下で得られた対象データに対する推論精度が高いと想定される。他方、対象の環境に類似しない学習環境で得られたローカル学習データから導出された推論モデルほど、対象の環境下で得られた対象データに対する推論精度が低いと想定される。また、複数の推論モデルには、対象の環境下で優先的に利用することが推奨される推論モデルが含まれる場合がある。
そこで、上記統合処理では、本実施形態に係る推論装置1は、所定の推論を実行する対象の環境に関する環境データ63に応じて、統合規則5の各統合パラメータP(P1~Pn)の値を決定する。例えば、対象の環境に類似する学習環境の学習済み機械学習モデル45及び優先度の高い学習済み機械学習モデル45の少なくともいずれかの推論結果が重視されるように各統合パラメータP(P1~Pn)の値が決定されてもよい。本実施形態では、このように対象の環境に応じて各学習済み機械学習モデル45の推論を重視する程度を調整することで、様々な環境で得られた知見(学習済み機械学習モデル45)を新たな環境に適合するようにカスタマイズすることができる。その結果、カスタマイズされた知見、換言すると、各学習済み機械学習モデル45の重み付けされた推論結果の統合結果に基づいて、対象の環境下で所定の推論を適切に実行することができる。
したがって、本実施形態によれば、異なる環境下で得られたローカル学習データ30から導出された複数の学習済み機械学習モデル45を利用して、対象の環境下で所定の推論を適切に実行することができる。すなわち、既に構築された複数の学習済み機械学習モデル45を活用することで、対象の環境下で所定の推論を適切に実行可能な新たな推論モデルを構築することができる。そのため、対象の環境下で新たな学習データを収集し、収集された新たな学習データから新たな推論モデル(本実施形態では、学習済み機械学習モデル)を導出する作業の手間を省略することができる。よって、当該構成によれば、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
§2 構成例
[ハードウェア構成]
<推論装置>
次に、図2を用いて、本実施形態に係る推論装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る推論装置1のハードウェア構成の一例を模式的に例示する。
[ハードウェア構成]
<推論装置>
次に、図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、統合規則データ57、学習結果データ47、学習データ59、学習環境データ35等の各種情報を記憶する。
推論プログラム81は、対象の環境下において所定の推論に関する後述の情報処理(図9A及び図9B)を推論装置1に実行させるためのプログラムである。推論プログラム81は、当該情報処理の一連の命令を含む。統合規則データ57は、統合規則5に関する情報を示す。各件の学習結果データ47は、機械学習により構築された各学習済み機械学習モデル45に関する情報を示す。後述するとおり、環境データ63から各統合パラメータP(P1~Pn)の値を算出するのに演算モデルが利用されてよい。統合規則5は、機械学習により構築された学習済み演算モデルを更に備えてよい。学習データ59は、機械学習により学習済み演算モデルを構築するのに利用される。各件の学習環境データ35は、各推論モデルの導出(本実施形態では、各学習済み機械学習モデル45の機械学習)に利用されたローカル学習データ30の得られた環境に関する情報を示す。詳細は後述する。
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。推論装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、ローカル学習装置2)と行うことができる。
外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。推論装置1は、外部インタフェース14を介して、対象データ61、環境データ63及びこれらに関連し得るデータの少なくともいずれかを取得するためのセンサに接続されてよい。また、推論装置1は、外部インタフェース14を介して、推論結果に基づいて制御する対象の装置(例えば、後述する介入装置、ロボット装置等)に接続されてよい。
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置15及び出力装置16を利用することで、推論装置1を操作することができる。
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。推論装置1は、この記憶媒体91から、上記推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35の少なくともいずれかを取得してもよい。
ここで、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体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のハードウェア構成の一例について説明する。図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は、学習プログラム821、推論プログラム822、ローカル学習データ30、学習結果データ47、学習環境データ35等の各種情報を記憶する。
学習プログラム821は、機械学習モデル40の機械学習に関する後述の情報処理(図6)をローカル学習装置2に実行させるためのプログラムである。学習プログラム821は、この情報処理の一連の命令を含む。推論プログラム822は、学習済み機械学習モデル45を利用した所定の推論に関する後述の情報処理(図8)をローカル学習装置2に実行させるためのプログラムである。推論プログラム822は、この情報処理の一連の命令を含む。ローカル学習データ30は、個々の環境で収集され、所定の推論を実行する能力を機械学習モデル40に獲得させるための機械学習に利用される。詳細は後述する。
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。各ローカル学習装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、推論装置1)と行うことができる。
外部インタフェース24は、例えば、USBポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース24の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。各ローカル学習装置2は、外部インタフェース24を介して、ローカル学習データ30、学習環境データ35、後述する対象データ及びこれらに関連し得るデータの少なくともいずれかを取得するためのセンサに接続されてよい。また、各ローカル学習装置2は、外部インタフェース24を介して、推論結果に基づいて制御する対象の装置(例えば、後述する介入装置、ロボット装置等)に接続されてよい。
入力装置25は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置26は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置25及び出力装置26を利用することで、各ローカル学習装置2を操作することができる。
ドライブ27は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。上記学習プログラム821、推論プログラム822、及びローカル学習データ30のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、各ローカル学習装置2は、記憶媒体92から、上記学習プログラム821、推論プログラム822、及びローカル学習データ30のうちの少なくともいずれかを取得してもよい。
なお、各ローカル学習装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。各ローカル学習装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。本実施形態では、各ローカル学習装置2のハードウェア構成は共通している。しかしながら、各ローカル学習装置2のハードウェア構成の関係は、このような例に限定されなくてもよい。一のローカル学習装置2と他のローカル学習装置2との間で、ハードウェア構成は異なっていてもよい。また、各ローカル学習装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
[ソフトウェア構成]
<推論装置>
次に、図4を用いて、本実施形態に係る推論装置1のソフトウェア構成の一例について説明する。図4は、本実施形態に係る推論装置1のソフトウェア構成の一例を模式的に例示する。
<推論装置>
次に、図4を用いて、本実施形態に係る推論装置1のソフトウェア構成の一例について説明する。図4は、本実施形態に係る推論装置1のソフトウェア構成の一例を模式的に例示する。
推論装置1の制御部11は、記憶部12に記憶された推論プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された推論プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図4に示されるとおり、本実施形態に係る推論装置1は、第1データ取得部111、第2データ取得部112、結果取得部113、統合部114、出力部115、学習データ取得部116、学習処理部117、保存処理部118、パラメータ設定部119、及びグルーピング部1110をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推論装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
第1データ取得部111は、所定の推論の対象となる所定の対象データ61を取得する。第2データ取得部112は、所定の推論を実行する対象の環境に関する環境データ63を取得する。結果取得部113は、異なる環境下で得られたローカル学習データ30から所定の推論を実行するように導出された複数の推論モデルそれぞれに対象データ61を与えて、対象データ61に対する所定の推論を各推論モデルに実行させることで、取得された対象データ61に対する各推論モデルの推論結果を取得する。
本実施形態では、各推論モデルは、異なる環境下で得られたローカル学習データ30を利用した機械学習により所定の推論を実行する能力を獲得した学習済み機械学習モデル45により構成される。更に、本実施形態では、結果取得部113は、各件の学習結果データ47を保持することで、各学習済み機械学習モデル45を備えている。結果取得部113は、各件の学習結果データ47を参照して、各学習済み機械学習モデル45の設定を行う。そして、結果取得部113は、対象データ61を各学習済み機械学習モデル45に与えて、各学習済み機械学習モデル45に所定の推論を対象データ61に対して実行させることで、取得された対象データ61に対する各学習済み機械学習モデル45の推論結果を取得する。
統合部114は、統合規則5に従って、各推論モデルの推論結果を統合する。統合規則5は、対象の環境下において、各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータPにより構成される。本実施形態では、各統合パラメータP(P1~Pn)は、各学習済み機械学習モデル45(45_1~45_n)の推論結果を重視する程度を規定する。統合部114は、統合規則データ57を保持することで、統合規則5に関する情報を有する。統合部114は、統合規則データ57を参照し、統合規則5の設定を行う。統合部114は、統合規則5に従って、各学習済み機械学習モデル45(45_1~45_n)の推論結果を統合する。
具体的には、統合部114は、取得された環境データ63に応じて、各統合パラメータP(P1~Pn)の値を決定する。なお、各統合パラメータP(P1~Pn)の値の決定には、環境データ63の他に、対象データ61が更に考慮されてよい。次に、統合部114は、決定された各統合パラメータPの値を使用して、対応する各推論モデルの推論結果を重み付けする。そして、統合部114は、各推論モデルの重み付けされた推論結果を統合する。
本実施形態では、統合部114は、決定された各統合パラメータP(P1~Pn)の値を使用して、対応する各学習済み機械学習モデル45(45_1~45_n)の推論結果を重み付けする。そして、統合部114は、各学習済み機械学習モデル45(45_1~45_n)の重み付けされた推論結果を統合する。これにより、統合部114は、統合規則5に従って、各学習済み機械学習モデル45(45_1~45_n)の推論結果を統合する。
以上の統合処理により、統合部114は、対象の環境下での対象データ61に対する推論結果を生成する。出力部115は、生成された推論結果に関する情報を出力する。
本実施形態では、環境データ63から各統合パラメータP(P1~Pn)の値を決定するのに演算モデルが利用されてよい。学習データ取得部116、学習処理部117、及び保存処理部118は、学習済み演算モデルの生成に関する情報処理を実行する。具体的には、学習データ取得部116は、環境データ63から各統合パラメータP(P1~Pn)の値を算出するための演算モデル51の機械学習に利用する学習データ59を取得する。学習処理部117は、取得された学習データ59を利用して、演算モデル51の機械学習を実行する。機械学習は、算出される各統合パラメータP(P1~Pn)の値が対象の環境下における所定の推論に適合するように演算モデル51を訓練することにより構成される。これにより、学習済み演算モデル52が生成される。保存処理部118は、演算モデル51の機械学習の結果(すなわち、学習済み演算モデル52)に関する情報を生成し、生成した情報を所定の記憶領域に保存する。生成された学習済み演算モデル52に関する情報は統合規則データ57に含まれてよい。
この場合、統合部114は、学習済み演算モデル52に環境データ63(及び対象データ61)を与えて、学習済み演算モデル52の演算処理を実行することで、学習済み演算モデル52の出力として各統合パラメータP(P1~Pn)の値を取得してもよい。これにより、統合部114は、環境データ63(及び対象データ61)に応じて、各統合パラメータP(P1~Pn)の値を決定してもよい。
また、本実施形態では、複数の統合パラメータP(P1~Pn)の少なくとも一部の値は、ユーザ等のオペレータにより指定されてよい。パラメータ設定部119は、統合パラメータの値の指定に関する情報処理を実行する。具体的には、パラメータ設定部119は、複数の統合パラメータP(P1~Pn)のうちの少なくとも1つの統合パラメータの値の指定を受け付ける。そして、パラメータ設定部119は、少なくとも1つの統合パラメータの値を指定された値に設定する。指定された設定内容に関する情報は、統合規則データ57に含まれてよい。この場合、上記各推論モデル(学習済み機械学習モデル45)の推論結果を重み付けすることは、少なくとも1つの統合パラメータに対応する推論モデル(学習済み機械学習モデル45)の推論結果を重み付けすることを含んでよい。
また、本実施形態では、各推論モデル(学習済み機械学習モデル45)は、グループ分けされてもよい。グループは、推論の種類、目的、対象の環境等に応じて適宜設定されてよい。グルーピング部1110は、推論モデル(学習済み機械学習モデル45)のグルーピングに関する情報処理を実行する。具体的には、グルーピング部1110は、各推論モデル(学習済み機械学習モデル45)を複数のグループのうちの少なくともいずれかに割り当てる。これに応じて、結果取得部113は、設定された複数のグループのうち対象の環境で利用するグループを特定し、特定されたグループに属する推論モデル(学習済み機械学習モデル45)について、上記推論結果を取得する処理を実行してもよい。同様に、統合部114は、特定されたグループに属する推論モデル(学習済み機械学習モデル45)の推論結果について、上記統合処理を実行してもよい。各推論モデル(学習済み機械学習モデル45)に対するグループの割り当て結果に関する情報は所定の記憶領域に適宜保存されてよい。
<ローカル学習装置>
(A)学習処理
次に、図5Aを用いて、本実施形態に係る各ローカル学習装置2の学習処理に関するソフトウェア構成の一例について説明する。図5Aは、本実施形態に係る各ローカル学習装置2の学習処理に関するソフトウェア構成の一例を模式的に例示する。
(A)学習処理
次に、図5Aを用いて、本実施形態に係る各ローカル学習装置2の学習処理に関するソフトウェア構成の一例について説明する。図5Aは、本実施形態に係る各ローカル学習装置2の学習処理に関するソフトウェア構成の一例を模式的に例示する。
各ローカル学習装置2の制御部21は、記憶部22に記憶された学習プログラム821をRAMに展開する。そして、制御部21は、RAMに展開された学習プログラム821に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図5Aに示されるとおり、本実施形態に係る各ローカル学習装置2は、学習データ取得部211、環境データ取得部212、学習処理部213、及び保存処理部214をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習処理に関する各ローカル学習装置2の各ソフトウェアモジュールは、制御部21(CPU)により実現される。
学習データ取得部211は、推論モデルの導出に利用するローカル学習データ30を取得する。本実施形態では、学習データ取得部211は、機械学習モデル40の機械学習に利用するローカル学習データ30を取得する。環境データ取得部212は、ローカル学習データ30の得られた環境(以下、「学習環境」とも記載する)に関する学習環境データ35を取得する。学習環境データ35は、環境データ63と同種のデータである。
学習処理部213は、取得されたローカル学習データ30を利用して、機械学習モデル40の機械学習を実行する。この機械学習により、所定の推論を実行する能力を獲得した学習済み機械学習モデル45が構築(生成)される。保存処理部214は、構築された学習済み機械学習モデル45に関する情報を学習結果データ47として生成し、生成した学習結果データ47を所定の記憶領域に保存する。
本実施形態では、各ローカル学習装置2の間において、ローカル学習データ30の収集が異なる環境下で実行され得る。そして、得られたローカル学習データ30から学習済み機械学習モデル45が生成される。その結果、異なる環境下で得られたローカル学習データ30から所定の推論を実行するように導出された複数の学習済み機械学習モデル45を得ることができる。
(B)推論処理
次に、図5Bを用いて、本実施形態に係る各ローカル学習装置2の推論処理に関するソフトウェア構成の一例について説明する。図5Bは、本実施形態に係る各ローカル学習装置2の推論処理に関するソフトウェア構成の一例を模式的に例示する。
次に、図5Bを用いて、本実施形態に係る各ローカル学習装置2の推論処理に関するソフトウェア構成の一例について説明する。図5Bは、本実施形態に係る各ローカル学習装置2の推論処理に関するソフトウェア構成の一例を模式的に例示する。
各ローカル学習装置2の制御部21は、記憶部22に記憶された推論プログラム822をRAMに展開する。そして、制御部21は、RAMに展開された推論プログラム822に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図5Bに示されるとおり、本実施形態に係る各ローカル学習装置2は、対象データ取得部216、推論部217、及び出力部218をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推論処理に関する各ローカル学習装置2の各ソフトウェアモジュールも、制御部21(CPU)により実現される。
対象データ取得部216は、所定の推論の対象となる対象データ225を取得する。対象データ225は、推論装置1で得られる対象データ61と同種のデータである。推論部217は、ローカル学習データ30から導出された推論モデルを含んでいる。推論部217は、推論モデルを利用して、対象データ225に対して所定の推論を実行する。本実施形態では、推論部217は、学習結果データ47を保持することで、学習済み機械学習モデル45を含んでいる。推論部217は、学習結果データ47を参照して、学習済み機械学習モデル45の設定を行う。次に、推論部217は、学習済み機械学習モデル45に対象データ225を与えて、学習済み機械学習モデル45の演算処理を実行する。これにより、推論部217は、学習済み機械学習モデル45の出力として、対象データ225に対して所定の推論を実行した結果を取得する。出力部218は、対象データ225に対する推論結果に関する情報を出力する。
<その他>
推論装置1及び各ローカル学習装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、推論装置1及び各ローカル学習装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、推論装置1及び各ローカル学習装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
推論装置1及び各ローカル学習装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、推論装置1及び各ローカル学習装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、推論装置1及び各ローカル学習装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[ローカル学習装置]
(A)学習処理
次に、図6を用いて、推論モデルの生成に関する各ローカル学習装置2の動作例について説明する。図6は、各ローカル学習装置2による学習済み機械学習モデル45の生成に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[ローカル学習装置]
(A)学習処理
次に、図6を用いて、推論モデルの生成に関する各ローカル学習装置2の動作例について説明する。図6は、各ローカル学習装置2による学習済み機械学習モデル45の生成に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS101及びステップS102)
ステップS101では、制御部21は、学習データ取得部211として動作し、推論モデルの導出に利用するローカル学習データ30を取得する。本実施形態では、制御部21は、機械学習モデル40の機械学習に利用するローカル学習データ30を取得する。
ステップS101では、制御部21は、学習データ取得部211として動作し、推論モデルの導出に利用するローカル学習データ30を取得する。本実施形態では、制御部21は、機械学習モデル40の機械学習に利用するローカル学習データ30を取得する。
ステップS102では、制御部21は、学習処理部213として動作し、取得されたローカル学習データ30を利用して、機械学習モデル40の機械学習を実行する。この機械学習により、制御部21は、所定の推論を実行する能力を獲得した学習済み機械学習モデル45を生成することができる。
機械学習モデル40の構成及び機械学習の方法の構成はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。機械学習の方法には、例えば、教師あり学習、教師なし学習、強化学習等が用いられてよい。機械学習モデル40は、例えば、データテーブル、関数式等により表現されてよい。機械学習モデル40が関数式で表現される場合、機械学習モデル40は、例えば、ニューラルネットワーク、線形関数、決定木等により構成されてよい。ニューラルネットワークの種類は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。機械学習モデル40を構成するニューラルネットワークには、例えば、全結合型ニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、これらの組み合わせ等が用いられてよい。以下、機械学習モデル40の構成及び機械学習の方法それぞれの3つの例について説明する。
1.第1の例
図7Aは、機械学習モデル40の構成及び機械学習の方法の第1の例を模式的に示す。第1の例では、機械学習モデル40にニューラルネットワーク、機械学習方法に教師あり学習を採用する。なお、図7Aでは、説明の便宜上、ローカル学習データ30、機械学習モデル40、及び学習済み機械学習モデル45それぞれの一例を、ローカル学習データ301、機械学習モデル401、及び学習済み機械学習モデル451と表記する。
図7Aは、機械学習モデル40の構成及び機械学習の方法の第1の例を模式的に示す。第1の例では、機械学習モデル40にニューラルネットワーク、機械学習方法に教師あり学習を採用する。なお、図7Aでは、説明の便宜上、ローカル学習データ30、機械学習モデル40、及び学習済み機械学習モデル45それぞれの一例を、ローカル学習データ301、機械学習モデル401、及び学習済み機械学習モデル451と表記する。
1-1.機械学習モデルの構成例
第1の例では、機械学習モデル401は、4層構造の全結合型ニューラルネットワークにより構成されている。具体的に、機械学習モデル401は、入力側から順に、入力層4011、中間(隠れ)層(4012、4013)、及び出力層4014を備えている。ただし、機械学習モデル401の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、機械学習モデル401の備える中間層の数は、2つに限定されなくてもよく、1つ以下であってもよいし、3つ以上であってもよい。中間層は、省略されてもよい。また、機械学習モデル401は、畳み込み層、プーリング層、再帰層等の他の種類の層を備えてもよい。再帰層には、例えば、長・短期記憶(Long short-term memory)等が用いられてよい。
第1の例では、機械学習モデル401は、4層構造の全結合型ニューラルネットワークにより構成されている。具体的に、機械学習モデル401は、入力側から順に、入力層4011、中間(隠れ)層(4012、4013)、及び出力層4014を備えている。ただし、機械学習モデル401の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、機械学習モデル401の備える中間層の数は、2つに限定されなくてもよく、1つ以下であってもよいし、3つ以上であってもよい。中間層は、省略されてもよい。また、機械学習モデル401は、畳み込み層、プーリング層、再帰層等の他の種類の層を備えてもよい。再帰層には、例えば、長・短期記憶(Long short-term memory)等が用いられてよい。
各層4011~4014に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図7Aの例では、各層4011~4014に含まれるニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層4011~4014に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、機械学習により調整の対象となる演算パラメータの一例である。
1-2.ローカル学習データの構成例
この機械学習モデル401の教師あり学習に利用されるローカル学習データ301は、訓練データ311(入力データ)及び正解データ312(教師信号)の組み合わせをそれぞれ含む複数の学習データセット310により構成される。訓練データ311は、所定の推論を実行する対象となるデータであり、対象データ(61、225)と同種のデータである。正解データ312は、訓練データ311に対して所定の推論を実行した結果(正解)を示すデータである。正解データ312は、ラベルと称されてもよい。
この機械学習モデル401の教師あり学習に利用されるローカル学習データ301は、訓練データ311(入力データ)及び正解データ312(教師信号)の組み合わせをそれぞれ含む複数の学習データセット310により構成される。訓練データ311は、所定の推論を実行する対象となるデータであり、対象データ(61、225)と同種のデータである。正解データ312は、訓練データ311に対して所定の推論を実行した結果(正解)を示すデータである。正解データ312は、ラベルと称されてもよい。
訓練データ311及び正解データ312の内容は、機械学習モデル401に習得させる推論の内容に応じて適宜選択されてよい。例えば、センサの最適な観測方法を推定する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、センサの現在の観測状態に関するデータにより構成されてよく、正解データ312は、その現在の観測状態から適正な観測状態への変更方法を示すデータにより構成されてよい。また、例えば、移動体の移動する経路を予測する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、移動体の状態に関するデータにより構成されてよく、正解データ312は、その状態の移動体が実際に又は仮想的に移動した経路を示すデータにより構成されてよい。また、例えば、ユーザに適合する会話戦略を推定する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、ユーザの会話行動に関するデータにより構成されてよく、正解データ312は、そのユーザに適合する会話戦略を示すデータにより構成されてよい。また、例えば、タスクに適合するロボット装置の動作指令を推定する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、ロボット装置の状態に関するデータにより構成されてよく、正解データ312は、そのタスクの遂行に適合する動作指令を示すデータにより構成されてよい。また、例えば、センサにより得られた観測データに表れる特徴を推定する能力を機械学習モデル401に習得させるケースでは、訓練データ311は、センサにより得られた観測データにより構成されてよく、正解データ312は、その観測データに表れる特徴を示すデータにより構成されてよい。
1-3.ステップS101について
上記ステップS101では、制御部21は、複数の学習データセット310により構成されるローカル学習データ301を取得する。各学習データセット310を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、所定の推論を実行する様々な状況を実際に又は仮想的に作成することで、作成された様々な状況において対象データ(61、225)と同種のデータを訓練データ311として取得してもよい。具体例として、対象データ(61、225)の取得にセンサを利用する場合、利用するセンサと同種のセンサを用意し、用意したセンサにより、所定の推論を実行する様々な状況を観測することにより、訓練データ311を取得することができる。次に、取得された訓練データ311に対して所定の推論を実行する。この場面では、所定の推論は、オペレータ等により手動的に行われてよい。そして、訓練データ311に対して所定の推論を実行した結果(正解)を当該訓練データ311に関連付ける。これにより、各学習データセット310を生成することができる。
上記ステップS101では、制御部21は、複数の学習データセット310により構成されるローカル学習データ301を取得する。各学習データセット310を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、所定の推論を実行する様々な状況を実際に又は仮想的に作成することで、作成された様々な状況において対象データ(61、225)と同種のデータを訓練データ311として取得してもよい。具体例として、対象データ(61、225)の取得にセンサを利用する場合、利用するセンサと同種のセンサを用意し、用意したセンサにより、所定の推論を実行する様々な状況を観測することにより、訓練データ311を取得することができる。次に、取得された訓練データ311に対して所定の推論を実行する。この場面では、所定の推論は、オペレータ等により手動的に行われてよい。そして、訓練データ311に対して所定の推論を実行した結果(正解)を当該訓練データ311に関連付ける。これにより、各学習データセット310を生成することができる。
各学習データセット310は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各学習データセット310の生成は、各ローカル学習装置2により行われてもよいし、各ローカル学習装置2以外の他のコンピュータにより行われてもよい。各学習データセット310を各ローカル学習装置2が生成する場合、制御部21は、自動的に又は入力装置25を介したオペレータの操作により手動的に上記一連の生成処理を実行することで、複数の学習データセット310により構成されるローカル学習データ301を取得する。一方、各学習データセット310を他のコンピュータが生成する場合、制御部21は、例えば、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された複数の学習データセット310により構成されるローカル学習データ301を取得する。一部の学習データセット310が各ローカル学習装置2により生成され、その他の学習データセット310が1又は複数の他のコンピュータにより生成されてもよい。取得される学習データセット310の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
1-4.ステップS102について
上記ステップS102では、制御部21は、取得されたローカル学習データ301を利用して、機械学習モデル401の機械学習(教師あり学習)を実行する。第1の例では、制御部21は、機械学習により、各学習データセット310について、訓練データ311を入力層4011に入力すると、正解データ312に適合する出力値を出力層4014から出力するように機械学習モデル401を訓練する。これにより、制御部21は、所定の推論を実行する能力を獲得した学習済み機械学習モデル451を生成する。
上記ステップS102では、制御部21は、取得されたローカル学習データ301を利用して、機械学習モデル401の機械学習(教師あり学習)を実行する。第1の例では、制御部21は、機械学習により、各学習データセット310について、訓練データ311を入力層4011に入力すると、正解データ312に適合する出力値を出力層4014から出力するように機械学習モデル401を訓練する。これにより、制御部21は、所定の推論を実行する能力を獲得した学習済み機械学習モデル451を生成する。
教師あり学習の具体的な処理手順の一例として、制御部21は、まず、機械学習の処理対象となる機械学習モデル401を用意する。用意する機械学習モデル401の構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、及び各演算パラメータの初期値(例えば、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等)は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部21は、過去の教師あり学習により得られた学習結果データに基づいて、機械学習モデル401を用意してもよい。
次に、制御部21は、各学習データセット310に含まれる訓練データ311を入力データとして利用し、正解データ312を教師信号として利用して、機械学習モデル401を構成するニューラルネットワークの学習処理を実行する。この学習処理には、バッチ勾配降下法、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
例えば、第1のステップでは、制御部21は、各学習データセット310について、訓練データ311を機械学習モデル401に入力し、機械学習モデル401の演算処理を実行する。すなわち、制御部21は、入力層4011に訓練データ311を入力し、入力側から順に各層4011~4014に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部21は、訓練中の機械学習モデル401が訓練データ311に対して所定の推論を実行した結果に対応する出力値を出力層4014から取得する。
第2のステップでは、制御部21は、出力層4014から取得された出力値と正解データ312との誤差を損失関数に基づいて算出する。損失関数は、機械学習モデル401の出力と正解との差分を評価する関数であり、出力層4014から取得された出力値と正解データ312との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。この誤差の算出に利用される損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
第3のステップでは、制御部21は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、各ニューロン間の結合の重み、各ニューロンの閾値等の機械学習モデル401の各演算パラメータの値の誤差を算出する。第4のステップでは、制御部21は、算出された各誤差に基づいて、機械学習モデル401の各演算パラメータの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
制御部21は、上記第1~第4のステップを繰り返すことで、各学習データセット310について、訓練データ311を入力層4011に入力すると、対応する正解データ312に適合する出力値が出力層4014から出力されるように、機械学習モデル401の各演算パラメータの値を調整する。例えば、制御部21は、各学習データセット310について、出力層4014から得られる出力値と正解データ312との誤差の和が閾値以下になるまで、上記第1~第4のステップを繰り返してもよい。正解データ312の値と出力層4014の出力値とが適合することは、このような閾値による誤差が正解データ312の値と出力層4014の出力値との間に生じることを含んでもよい。閾値は、実施の形態に応じて適宜設定されてよい。或いは、制御部21は、上記第1~第4のステップを所定回数繰り返してもよい。調整を繰り返す回数は、例えば、学習プログラム821内の設定値で指定されてもよいし、オペレータの入力により指定されてもよい。
これにより、制御部21は、訓練データ311の入力に対して、対応する正解データ312に適合する出力値を出力するように訓練された学習済み機械学習モデル451を生成することができる。例えば、上記センサの最適な観測方法を推定するケースでは、センサの現在の観測状態から適正な観測状態への変更方法を推定する能力を獲得した学習済み機械学習モデル451を生成することができる。
1-5.その他
なお、機械学習の方法に教師あり学習を採用する場合に、機械学習モデル40の構成は、ニューラルネットワークに限られなくてもよく、ニューラルネットワーク以外のモデルを機械学習モデル40として採用してもよい。機械学習モデル40は、例えば、回帰モデル、サポートベクタマシン、決定木等により構成されてよい。教師あり学習の方法は、上記のような例に限定されなくてもよく、機械学習モデル40の構成に応じて適宜選択されてよい。
なお、機械学習の方法に教師あり学習を採用する場合に、機械学習モデル40の構成は、ニューラルネットワークに限られなくてもよく、ニューラルネットワーク以外のモデルを機械学習モデル40として採用してもよい。機械学習モデル40は、例えば、回帰モデル、サポートベクタマシン、決定木等により構成されてよい。教師あり学習の方法は、上記のような例に限定されなくてもよく、機械学習モデル40の構成に応じて適宜選択されてよい。
2.第2の例
図7Bは、機械学習モデル40の構成及び機械学習の方法の第2の例を模式的に示す。第2の例では、機械学習モデル40に生成モデル、機械学習方法に教師なし学習を採用する。なお、図7Bでは、説明の便宜上、ローカル学習データ30、機械学習モデル40、及び学習済み機械学習モデル45それぞれの一例を、ローカル学習データ302、機械学習モデル402、及び学習済み機械学習モデル452と表記する。
図7Bは、機械学習モデル40の構成及び機械学習の方法の第2の例を模式的に示す。第2の例では、機械学習モデル40に生成モデル、機械学習方法に教師なし学習を採用する。なお、図7Bでは、説明の便宜上、ローカル学習データ30、機械学習モデル40、及び学習済み機械学習モデル45それぞれの一例を、ローカル学習データ302、機械学習モデル402、及び学習済み機械学習モデル452と表記する。
2-1.機械学習モデルの構成例
第2の例では、機械学習モデル402は、ノイズ323から疑似データ325を生成するように構成される。機械学習モデル402は、生成モデルとして利用される。機械学習モデル402の機械学習は、他の機械学習モデル412と共に実行される。他の機械学習モデル412は、与えられた入力データの由来を識別する、すなわち、与えられた入力データがローカル学習データ302に含まれる訓練データ321か機械学習モデル402により生成された疑似データ325かを識別するように構成される。他の機械学習モデル412は、識別モデルとして利用される。
第2の例では、機械学習モデル402は、ノイズ323から疑似データ325を生成するように構成される。機械学習モデル402は、生成モデルとして利用される。機械学習モデル402の機械学習は、他の機械学習モデル412と共に実行される。他の機械学習モデル412は、与えられた入力データの由来を識別する、すなわち、与えられた入力データがローカル学習データ302に含まれる訓練データ321か機械学習モデル402により生成された疑似データ325かを識別するように構成される。他の機械学習モデル412は、識別モデルとして利用される。
第2の例では、機械学習モデル402と他の機械学習モデル412との間で敵対的学習が実施される。機械学習モデル402及び他の機械学習モデル412はそれぞれ、機械学習モデル401と同様に、演算パラメータを備える。それぞれの情報処理が実行可能であれば、機械学習モデル402及び他の機械学習モデル412それぞれの構成は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。機械学習モデル402及び他の機械学習モデル412それぞれは、ニューラルネットワークにより構成されてよい。また、機械学習モデル402及び他の機械学習モデル412はそれぞれ、条件を示すデータ(ラベルと称されてよい)の入力を更に受け付けるように構成されてよい。これにより、条件を限定して、データの生成及び識別を行うことができる。
2-2.ローカル学習データの構成例
敵対的学習に利用されるローカル学習データ302は、複数件の訓練データ321により構成される。敵対的学習により、機械学習モデル402は、ローカル学習データ302に含まれる訓練データ321に適合(例えば、類似)する疑似データ325を生成する能力を獲得する。そのため、訓練データ321は、敵対的学習で習得させる能力により機械学習モデル402に生成させることを所望するデータにより構成される。
敵対的学習に利用されるローカル学習データ302は、複数件の訓練データ321により構成される。敵対的学習により、機械学習モデル402は、ローカル学習データ302に含まれる訓練データ321に適合(例えば、類似)する疑似データ325を生成する能力を獲得する。そのため、訓練データ321は、敵対的学習で習得させる能力により機械学習モデル402に生成させることを所望するデータにより構成される。
例えば、移動体の移動する経路を予測する(すなわち、移動体の予測される移動の経路を生成する)能力を機械学習モデル402に習得させるケースでは、訓練データ321は、移動体が実際に又は仮想的に移動した経路を示すデータにより構成されてよい。また、例えば、ユーザに適合する会話戦略を推定する能力を機械学習モデル402に習得させるケースでは、訓練データ321は、任意のユーザ間で実際に又は仮想的に採用された会話戦略を示すデータにより構成されてよい。機械学習モデル402及び他の機械学習モデル412がそれぞれ条件を示すデータの入力を更に受け付けるように構成されている場合、訓練データ321には、条件を示すデータが関連付けられていてもよい。
2-3.ステップS101について
上記ステップ101では、制御部21は、複数件の訓練データ321により構成されるローカル学習データ302を取得する。訓練データ321を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、上記第1の例と同様に、データの生成を所望する様々な状況を実際に又は仮想的に作成することで、作成された様々な状況の表れたデータを訓練データ321として取得することができる。取得された訓練データ321には、その状況を識別するための条件(例えば、カテゴリ)を示すデータが関連付けられてもよい。
上記ステップ101では、制御部21は、複数件の訓練データ321により構成されるローカル学習データ302を取得する。訓練データ321を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、上記第1の例と同様に、データの生成を所望する様々な状況を実際に又は仮想的に作成することで、作成された様々な状況の表れたデータを訓練データ321として取得することができる。取得された訓練データ321には、その状況を識別するための条件(例えば、カテゴリ)を示すデータが関連付けられてもよい。
訓練データ321は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、訓練データ321の生成は、各ローカル学習装置2により行われてもよいし、各ローカル学習装置2以外の他のコンピュータにより行われてもよい。訓練データ321を各ローカル学習装置2が生成する場合、制御部21は、自動的に又は入力装置25を介したオペレータの操作により手動的に上記一連の生成処理を実行することで、複数件の訓練データ321により構成されるローカル学習データ302を取得する。一方、訓練データ321を他のコンピュータが生成する場合、制御部21は、例えば、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された複数件の訓練データ321により構成されるローカル学習データ302を取得する。一部の訓練データ321が各ローカル学習装置2により生成され、その他の訓練データ321が1又は複数の他のコンピュータにより生成されてもよい。取得される訓練データ321の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
2-4.ステップS102について
上記ステップS102では、制御部21は、取得されたローカル学習データ302を利用して、機械学習モデル402及び他の機械学習モデル412の敵対的学習を実行する。以下、敵対的学習の処理手順の一例について説明する。以下の処理手順では、説明の便宜上、機械学習モデル402及び他の機械学習モデル412それぞれはニューラルネットワークにより構成されていると想定する。ただし、機械学習モデル402及び他の機械学習モデル412の構成は、このような例に限定されなくてもよい。機械学習モデル402及び他の機械学習モデル412の少なくとも一方は、ニューラルネットワーク以外のモデルにより構成されてよい。
上記ステップS102では、制御部21は、取得されたローカル学習データ302を利用して、機械学習モデル402及び他の機械学習モデル412の敵対的学習を実行する。以下、敵対的学習の処理手順の一例について説明する。以下の処理手順では、説明の便宜上、機械学習モデル402及び他の機械学習モデル412それぞれはニューラルネットワークにより構成されていると想定する。ただし、機械学習モデル402及び他の機械学習モデル412の構成は、このような例に限定されなくてもよい。機械学習モデル402及び他の機械学習モデル412の少なくとも一方は、ニューラルネットワーク以外のモデルにより構成されてよい。
・前処理
前処理として、制御部21は、処理対象となる機械学習モデル402及び他の機械学習モデル412を用意する。用意する機械学習モデル402及び他の機械学習モデル412それぞれの構造、及び各演算パラメータの初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部21は、過去の教師あり学習により得られた学習結果データに基づいて、機械学習モデル402及び他の機械学習モデル412を用意してもよい。
前処理として、制御部21は、処理対象となる機械学習モデル402及び他の機械学習モデル412を用意する。用意する機械学習モデル402及び他の機械学習モデル412それぞれの構造、及び各演算パラメータの初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部21は、過去の教師あり学習により得られた学習結果データに基づいて、機械学習モデル402及び他の機械学習モデル412を用意してもよい。
・識別モデルの機械学習
まず、制御部21は、機械学習モデル402の演算パラメータを固定した上で、他の機械学習モデル412の機械学習を実行する。すなわち、制御部21は、所定の確率分布(例えば、ガウス分布)から複数のノイズ323を抽出する。続いて、制御部21は、抽出された各ノイズ323を機械学習モデル402に与えて、機械学習モデル402の演算処理を実行する。換言すると、制御部21は、機械学習モデル402の入力層に各ノイズを入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、機械学習モデル402の出力層からの出力として、ノイズ323から生成された疑似データ325を取得する。生成する疑似データ325の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
まず、制御部21は、機械学習モデル402の演算パラメータを固定した上で、他の機械学習モデル412の機械学習を実行する。すなわち、制御部21は、所定の確率分布(例えば、ガウス分布)から複数のノイズ323を抽出する。続いて、制御部21は、抽出された各ノイズ323を機械学習モデル402に与えて、機械学習モデル402の演算処理を実行する。換言すると、制御部21は、機械学習モデル402の入力層に各ノイズを入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、機械学習モデル402の出力層からの出力として、ノイズ323から生成された疑似データ325を取得する。生成する疑似データ325の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
そして、制御部21は、ローカル学習データ302に含まれる複数件の訓練データ321及び生成された複数件の疑似データ325を利用して、他の機械学習モデル412の学習処理を実行する。この学習処理では、与えられた入力データの由来を識別する、換言すると、与えられた入力データが訓練データ321であるか疑似データ325であるかを識別する能力を獲得するように他の機械学習モデル412を訓練する。この学習処理には、例えば、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
具体的には、制御部21は、機械学習モデル402により生成された疑似データ325を他の機械学習モデル412に入力し、他の機械学習モデル412の演算処理を実行する。すなわち、制御部21は、他の機械学習モデル412の入力層に疑似データ325を入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、他の機械学習モデル412の出力層からの出力として、与えられた疑似データ325の由来を他の機械学習モデル412が識別した結果に対応する出力値を取得する。
この場面では、入力データは疑似データ325であるため、他の機械学習モデル412は、「疑似」であると識別するのが正解である。制御部21は、機械学習モデル402により生成された各件の疑似データ325について、出力層から得られる出力値とこの正解との誤差を算出する。上記第1の例と同様に、誤差の算出には、損失関数が用いられてよい。
また、制御部21は、ローカル学習データ302に含まれる訓練データ321を他の機械学習モデル412に入力し、他の機械学習モデル412の演算処理を実行する。すなわち、制御部21は、他の機械学習モデル412の入力層に訓練データ321を入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、他の機械学習モデル412の出力層からの出力として、与えられた訓練データ321の由来を他の機械学習モデル412が識別した結果に対応する出力値を取得する。
この場面では、入力データは訓練データ321であるため、他の機械学習モデル412は、「真」であると識別するのが正解である。制御部21は、ローカル学習データ302に含まれる各件の訓練データ321について、出力層から得られる出力値とこの正解との誤差を算出する。上記と同様に、誤差の算出には、損失関数が用いられてよい。
制御部21は、上記第1の例と同様に、誤差逆伝播法により、算出した出力値の誤差の勾配を用いて、他の機械学習モデル412の演算パラメータの値の誤差を算出する。制御部21は、算出された誤差に基づいて、他の機械学習モデル412の演算パラメータの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
制御部21は、ローカル学習データ302に含まれる複数件の訓練データ321及び機械学習モデル402により生成された複数件の疑似データ325それぞれからサンプルを抽出し、抽出されたサンプルを使用して、上記の一連の学習処理を実行する。これにより、制御部21は、他の機械学習モデル412の演算パラメータの値を調整する。この調整を繰り返す回数は適宜設定されてよい。
例えば、制御部21は、上記第1の例と同様に、算出される出力値の誤差の和が閾値以下になるまで、一連の学習処理を繰り返し実行してもよい。或いは、制御部21は、上記の一連の学習処理による演算パラメータの値の調整を所定回数繰り返してもよい。この場合、調整を繰り返す回数は、例えば、学習プログラム821内の設定値で指定されてもよいし、オペレータの入力により指定されてもよい。
これにより、制御部21は、ローカル学習データ302に含まれる複数件の訓練データ321及び機械学習モデル402により生成された複数件の疑似データ325について、与えられた入力データの由来を識別する能力を獲得した他の機械学習モデル412を構築することができる。
・生成モデルの機械学習
次に、制御部21は、他の機械学習モデル412の演算パラメータの値を固定した上で、機械学習モデル402の機械学習を実行する。すなわち、制御部21は、上記訓練済みの他の機械学習モデル412を利用して、機械学習モデル402の学習処理を実行する。この学習処理では、制御部21は、他の機械学習モデル412の識別性能を低下させるようなデータ(疑似データ325)を生成するように機械学習モデル402を訓練する。つまり、制御部21は、他の機械学習モデル412が「真」である(すなわち、ローカル学習データ302由来である)と誤った識別をするようなデータを生成するように機械学習モデル402を訓練する。
次に、制御部21は、他の機械学習モデル412の演算パラメータの値を固定した上で、機械学習モデル402の機械学習を実行する。すなわち、制御部21は、上記訓練済みの他の機械学習モデル412を利用して、機械学習モデル402の学習処理を実行する。この学習処理では、制御部21は、他の機械学習モデル412の識別性能を低下させるようなデータ(疑似データ325)を生成するように機械学習モデル402を訓練する。つまり、制御部21は、他の機械学習モデル412が「真」である(すなわち、ローカル学習データ302由来である)と誤った識別をするようなデータを生成するように機械学習モデル402を訓練する。
具体的には、まず、上記と同様に、制御部21は、所定の確率分布から複数のノイズ323を抽出する。続いて、制御部21は、抽出された各ノイズ323を機械学習モデル402に与えて、機械学習モデル402の演算処理を実行する。換言すると、制御部21は、機械学習モデル402の入力層に各ノイズを入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、機械学習モデル402の出力層からの出力として、ノイズ323から生成された疑似データ325を取得する。生成する疑似データ325の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。なお、機械学習モデル402の学習処理でも、他の機械学習モデル412の機械学習の際に生成した疑似データ325が利用されてよい。この場合、機械学習モデル402の学習処理において、疑似データ325を生成する一連の処理は省略されてよい。
次に、制御部21は、生成された各疑似データ325を他の機械学習モデル412に与えて、他の機械学習モデル412の演算処理を実行する。換言すると、制御部21は、他の機械学習モデル412の入力層に各疑似データ325を入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、他の機械学習モデル412の出力層からの出力として、与えられた疑似データ325の由来を他の機械学習モデル412が識別した結果に対応する出力値を取得する。
この場面では、他の機械学習モデル412が入力データは「真」であると誤った識別をすることが正解である。制御部21は、機械学習モデル402により生成された各件の疑似データ325について、他の機械学習モデル412の出力層から得られる出力値とこの正解との誤差を算出する。これにより、制御部21は、他の機械学習モデル412の識別性能を低下させるように当該出力値の誤差を算出する。上記と同様に、誤差の算出には、損失関数が用いられてよい。
制御部21は、誤差逆伝播法により、算出した出力値の誤差の勾配を、他の機械学習モデル412を介して機械学習モデル402の演算パラメータに逆伝播して、機械学習モデル402の演算パラメータの値の誤差を算出する。制御部21は、算出された誤差に基づいて、機械学習モデル402の演算パラメータの値の更新を行う。上記と同様に、演算パラメータの値を更新する程度は、学習率により調節されてよい。
制御部21は、上記一連の学習処理を繰り返し実行することで、機械学習モデル402の演算パラメータの値を調整する。この調整を繰り返す回数は適宜設定されてよい。上記と同様に、制御部21は、算出される出力値の誤差の和が閾値以下になるまで、上記一連の学習処理を繰り返し実行してもよいし、或いは上記一連の学習処理による演算パラメータの値の調整を所定回数繰り返してもよい。これにより、制御部21は、上記訓練済みの他の機械学習モデル412の識別性能を低下させるようなデータを生成するように機械学習モデル402を訓練することができる。
・各学習処理の繰り返し実行
制御部21は、上記他の機械学習モデル412の学習処理及び機械学習モデル402の学習処理を交互に繰り返し実行する。交互に繰り返し実行する回数は適宜設定されてよい。交互に繰り返し実行する回数は、例えば、学習プログラム821内の設定値で指定されてもよいし、オペレータの入力により指定されてもよい。なお、条件を示すデータが訓練データ321に関連付けられている場合、上記各学習処理において、機械学習モデル402及び他の機械学習モデル412それぞれに、条件を示すデータが更に入力されてよい。
制御部21は、上記他の機械学習モデル412の学習処理及び機械学習モデル402の学習処理を交互に繰り返し実行する。交互に繰り返し実行する回数は適宜設定されてよい。交互に繰り返し実行する回数は、例えば、学習プログラム821内の設定値で指定されてもよいし、オペレータの入力により指定されてもよい。なお、条件を示すデータが訓練データ321に関連付けられている場合、上記各学習処理において、機械学習モデル402及び他の機械学習モデル412それぞれに、条件を示すデータが更に入力されてよい。
これにより、他の機械学習モデル412及び機械学習モデル402の精度を交互に高めていくことができる。その結果、機械学習モデル402は、ローカル学習データ302に含まれる訓練データ321に適合する疑似データ325を生成する能力を獲得する。換言すると、制御部21は、ローカル学習データ302に含まれる訓練データ321に適合する疑似データ325を生成する能力を獲得した学習済み機械学習モデル452を生成することができる。例えば、移動体の移動する経路を予測するケースでは、移動体の予測される移動の経路を示すデータを生成する能力を獲得した学習済み機械学習モデル452を生成することができる。
2-5.その他
なお、機械学習の方法に教師なし学習を採用する場合に、機械学習モデル40の構成は、上記生成モデルに限られなくてもよく、生成モデル以外のモデルを機械学習モデル40として採用してもよい。機械学習の方法には、クラスタリング等が採用されてよい。また、機械学習モデル40は、1クラスサポートベクタマシン、自己組織化マップ、その他識別モデル等により構成されてよい。
なお、機械学習の方法に教師なし学習を採用する場合に、機械学習モデル40の構成は、上記生成モデルに限られなくてもよく、生成モデル以外のモデルを機械学習モデル40として採用してもよい。機械学習の方法には、クラスタリング等が採用されてよい。また、機械学習モデル40は、1クラスサポートベクタマシン、自己組織化マップ、その他識別モデル等により構成されてよい。
3.第3の例
図7Cは、機械学習モデル40の構成及び機械学習の方法の第3の例を模式的に示す。第3の例では、機械学習方法に強化学習を採用する。なお、図7Cでは、説明の便宜上、ローカル学習データ30、機械学習モデル40、及び学習済み機械学習モデル45それぞれの一例を、ローカル学習データ303、機械学習モデル403、及び学習済み機械学習モデル453と表記する。
図7Cは、機械学習モデル40の構成及び機械学習の方法の第3の例を模式的に示す。第3の例では、機械学習方法に強化学習を採用する。なお、図7Cでは、説明の便宜上、ローカル学習データ30、機械学習モデル40、及び学習済み機械学習モデル45それぞれの一例を、ローカル学習データ303、機械学習モデル403、及び学習済み機械学習モデル453と表記する。
3-1.機械学習モデルの構成例
第3の例では、機械学習モデル403には、価値ベース、方策ベース、又はその両方が採用されてよい。価値ベースを採用する場合、機械学習モデル403は、例えば、状態価値関数、行動価値関数(Q関数)等の価値関数により構成されてよい。状態価値関数は、与えられた状態の価値を出力するように構成される。行動価値関数は、与えられた状態に対して各行動の価値を出力するように構成される。方策ベースを採用する場合、機械学習モデル403は、例えば、方策関数により構成されてよい。方策関数は、与えられた状態に対して各行動を選択する確率を出力するように構成される。両方を採用する場合、機械学習モデル403は、例えば、価値関数(Critic)及び方策関数(Actor)により構成されてよい。各関数は、例えば、データテーブル、関数式等により表現されてよい。関数式により表現する場合、各関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。
第3の例では、機械学習モデル403には、価値ベース、方策ベース、又はその両方が採用されてよい。価値ベースを採用する場合、機械学習モデル403は、例えば、状態価値関数、行動価値関数(Q関数)等の価値関数により構成されてよい。状態価値関数は、与えられた状態の価値を出力するように構成される。行動価値関数は、与えられた状態に対して各行動の価値を出力するように構成される。方策ベースを採用する場合、機械学習モデル403は、例えば、方策関数により構成されてよい。方策関数は、与えられた状態に対して各行動を選択する確率を出力するように構成される。両方を採用する場合、機械学習モデル403は、例えば、価値関数(Critic)及び方策関数(Actor)により構成されてよい。各関数は、例えば、データテーブル、関数式等により表現されてよい。関数式により表現する場合、各関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。
3-2.ローカル学習データの構成例
強化学習では、基本的に、方策に従って行動することで、学習の環境と相互作用するエージェントが仮定される。エージェントの実体は、例えば、CPUである。機械学習モデル403は、上記の構成により、行動を決定する方策として動作する。エージェントは、与えられた学習の環境内で、強化する行動に関する状態を観測する。
強化学習では、基本的に、方策に従って行動することで、学習の環境と相互作用するエージェントが仮定される。エージェントの実体は、例えば、CPUである。機械学習モデル403は、上記の構成により、行動を決定する方策として動作する。エージェントは、与えられた学習の環境内で、強化する行動に関する状態を観測する。
観測対象となる状態及び実行される行動は、機械学習モデル403に習得させる推論の内容に応じて適宜設定されてよい。例えば、センサの最適な観測方法を推定するケースでは、観測対象となる状態は、センサの観測状態であってよく、実行される行動は、センサの観測状態の変更であってよい。また、例えば、移動体の移動する経路を予測するケースでは、観測対象となる状態は、移動体の移動する経路に関するものであってよく、実行される行動は、移動体の移動であってよい。また、例えば、ユーザに適合する会話戦略を推定するケースでは、観測対象となる状態は、ユーザの会話行動に関するものであってよく、実行される行動は、ユーザとの会話であってよい。また、例えば、タスクに適合するロボット装置の動作指令を推定するケースでは、観測対象となる状態は、ロボット装置の内部及び外部の少なくとも一方の状況に関するものであってよく、実行される行動は、動作指令に基づく動作であってよい。学習の環境は、手動的に又は自動的に適宜作成されてよい。
エージェントは、機械学習モデル403により、観測された現在の状態(入力データ)に対して所定の推論を実行し、得られた推論の結果に基づいて採用する行動を決定する。或いは、採用する行動は、ランダムに決定されてもよい。決定された行動を実行すると、観測される状態は次の状態に遷移する。場合によって、エージェントは、学習の環境から即時報酬を得ることができる。
この行動の決定及び実行の試行錯誤を繰り返しながら、エージェントは、即時報酬の総和(すなわち、価値)を最大化するように、機械学習モデル403を更新する。これにより、最適な行動、すなわち、高い価値の取得を期待可能な行動が強化され、そのような行動の選択を可能にする方策(学習済み機械学習モデル453)を得ることができる。
したがって、強化学習では、ローカル学習データ303は、この試行錯誤により得られる状態遷移データであって、実行された行動により現在の状態から次の状態に遷移し、場合によって即時報酬が得られるという状態遷移を示す状態遷移データにより構成される。1件の状態遷移データは、1エピソード全ての状態遷移の軌跡を示すデータにより構成されてもよいし、或いは、所定回数(1回以上)分の状態遷移を示すデータにより構成されてもよい。
また、状態遷移に応じて即時報酬を算出するのには報酬関数が用いられてよい。報酬関数は、データテーブル、関数式、又はルールにより表現されてよい。関数式により表現する場合、報酬関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。報酬関数は、機械学習モデル403に習得させる推論の内容に応じて、オペレータ等により、手動的に設定されてもよい。
或いは、報酬関数は、機械学習モデル403の推論結果(すなわち、決定された行動)の適正度に応じて即時報酬を与えるように設定されてよい。推論結果の適正度は、5段階、10段階等のように所定数のグレードで表現されてもよい。或いは、推論結果の適正度は、連続値により表現されてもよい。また、推論結果の適正度は、オペレータ等により手動的に与えられてもよい。若しくは、推論結果の適正度は、判定器48を用いて所定の基準に従って評価されてよい。所定の基準は、推論の内容に応じて適宜設定されてよい。判定器48は、所定の基準に従って推論結果の適正度を評価するように適宜構成されてよい。
具体例として、製品の画像検査を実施するケースで、強化学習により、製品の欠陥の検出に最適なカメラの観測方法を推定する能力を機械学習モデル403に習得させる場面を想定する。このカメラの最適な観測方法を推定する場面は、センサの最適な観測方法を推定する場面の一例である。強化学習の環境として、それぞれ異なる欠陥を含む複数の製品を用意し、用意された各製品をカメラにより撮影する環境が作成されてよい。
この場合に、所定の基準は、カメラにより得られた画像データから製品の欠陥を検出可能か否かに関するものであってよい。これに応じて、判定器48は、画像データから製品の欠陥を検出するように構成された検出器により構成されてよい。検出器は、エッジ検出等の画像処理により欠陥を検出するように構成されてもよいし、ニューラルネットワーク等の学習済み機械学習モデルにより構成されてもよい。
このとき、報酬関数は、検出器による欠陥の検出精度に応じて即時報酬を算出するように設定されてよい。一例として、カメラにより得られた画像データに対する検出器による欠陥の検出が複数回試行されてもよい。報酬関数は、この複数回の欠陥検出の試行の結果に基づいて、欠陥検出の成功確率が閾値以上であればプラスの即時報酬を与え、欠陥検出不能であればマイナスの即時報酬(罰)を与えるように設定されてよい。なお、試行回数及びプラスの即時報酬を与える基準となる閾値はそれぞれ、プログラム内の設定値により与えられてもよいし、オペレータ等により手動的に与えられてもよい。
その他のケースでも同様に、推論結果の適正度に応じて報酬が設定されてよい。例えば、移動体の移動する経路を予測するケースでは、移動体の移動する経路の予測が複数回試行されてもよい。報酬関数は、その複数回の予測の試行結果に基づいて、予測の精度が閾値以上であればプラスの即時報酬を与え、予測精度が許容値以下であればマイナスの即時報酬(罰)を与えるように設定されてよい。同様に、ユーザに適合する会話戦略を推定するケースでは、ユーザに適合する会話戦略の推定が複数回試行されてよい。報酬関数は、その複数回の推定の試行結果に基づいて、推定の精度が閾値以上であればプラスの即時報酬を与え、推定精度が許容値以下であればマイナスの即時報酬(罰)を与えるように設定されてもよい。タスクに適合するロボット装置の動作指令を推定するケースでも同様に報酬関数が設定されてよい。なお、適正度を評価する方法は、上記推論結果の精度に基づく方法に限られなくてもよい。例えば、センサの最適な観測方法を推定する場面では、同一の対象を観測するのにセンサの計測にかかる時間が短い方が好ましいと想定される。これに応じて、報酬関数は、センサの計測にかかる時間が長いほどマイナスの即時報酬を与え、センサの計測にかかる時間が短いほどプラスの即時報酬を与えるように設定されてもよい。このように、報酬関数は、所望の結果が得られるほど高い即時報酬を与え、そうではないほど低い即時報酬又はマイナスの即時報酬を与えるように設定されてよい。
或いは、報酬関数は、エキスパートにより得られた事例データから逆強化学習により推定されてよい。事例データは、エキスパートによる実演(の軌跡)を示すデータにより構成される。センサの最適な観測方法を推定する場面では、事例データは、例えば、熟練者の操作により得られたセンサの変更方法を示すデータにより構成されてよい。移動体の移動する経路を予測する場面では、事例データは、例えば、移動体が実際に移動した経路を示すデータにより構成されてよい。ユーザに適合する会話戦略を推定する場面では、事例データは、例えば、熟練者により指定された会話戦略を示すデータにより構成されてよい。タスクに適合するロボット装置の動作指令を推定する場面では、熟練者によるロボット装置の操作軌跡を示すデータにより構成されてよい。事例データを生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。事例データは、例えば、エキスパートによる実演の軌跡をセンサ等により記録することにより生成されてよい。
逆強化学習の方法は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。逆強化学習には、例えば、最大エントロピー原理による方法、相対エントロピーの最小化による方法、敵対的生成ネットワークを利用した方法(例えば、Justin Fu, et al., "Learning Robust Rewards with Adversarial Inverse Reinforcement Learning", arXiv:1710.11248, 2018)等が用いられてよい。逆強化学習により報酬関数を得る場合、ローカル学習データ303は、逆強化学習に利用する事例データを更に備えてよい。
3-3.ステップS101及びステップS102について
上記ステップS101では、制御部21は、訓練中の学習済み機械学習モデル403を利用して、上記試行錯誤を実行することで、上記状態遷移データを取得してもよい。或いは、状態遷移データは、他のコンピュータにより生成されてもよい。この場合、上記ステップS101では、制御部21は、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された状態遷移データを取得してもよい。
上記ステップS101では、制御部21は、訓練中の学習済み機械学習モデル403を利用して、上記試行錯誤を実行することで、上記状態遷移データを取得してもよい。或いは、状態遷移データは、他のコンピュータにより生成されてもよい。この場合、上記ステップS101では、制御部21は、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された状態遷移データを取得してもよい。
上記ステップS102では、制御部21は、得られた状態遷移データに基づいて、価値を最大化するように機械学習モデル403の演算パラメータの値を更新する。機械学習モデル403の演算パラメータの値を調整する方法は、機械学習モデル403の構成に応じて適宜選択されてよい。例えば、機械学習モデル403がニューラルネットワークにより構成される場合、機械学習モデル403の演算パラメータの値は、誤差逆伝播法等により、上記第1の例及び第2の例と同様の方法で調整されてよい。
制御部21は、ステップS101及びステップS102の処理を繰り返し、得られる価値(の期待値)が最大化されるように(例えば、更新量が閾値以下になるまで)、機械学習モデル403の演算パラメータの値を調整する。すなわち、機械学習モデル403を訓練することは、所定の条件を満たすまで報酬が多く得られるように機械学習モデル403を構成する演算パラメータの値の修正を繰り返すことを含む。これにより、制御部21は、所定の推論を実行する(第3の例では、高い価値の取得を期待可能な行動を決定する)能力を獲得した学習済み機械学習モデル453を生成することができる。例えば、上記センサの最適な観測方法を推定するケースでは、センサの現在の観測状態から適正な観測状態への変更方法を推定する能力を獲得した学習済み機械学習モデル453を生成することができる。
機械学習モデル403が価値ベースで構成される場合、上記強化学習の方法には、TD(temporal difference)法、TD(λ)法、モンテカルロ法、動的計画法、等が用いられてよい。試行錯誤における行動の決定は、オンポリシであってもよいし、オフポリシであってもよい。具体例として、強化学習の方法には、Q学習、Sarsa等が用いられてよい。試行錯誤の際には、確率εでランダムな行動を採用してもよい(ε-グリーディ法)。
また、機械学習モデル403が方策ベースで構成される場合、上記強化学習の方法には、方策勾配法等が用いられてよい。この場合、制御部21は、得られる価値が増加する方向に方策関数の演算パラメータの勾配を算出し、算出された勾配に基づいて、方策関数の演算パラメータの値を更新する。方策関数の勾配の算出には、例えば、REINFORCEアルゴリズム等が用いられてよい。
また、機械学習モデル403が両方で構成される場合、上記強化学習の方法には、Actor Critic法等が用いられてよい。
更に、逆強化学習を実施する場合には、上記強化学習の処理を実行する前に、制御部21は、上記ステップS101において、事例データを更に取得する。事例データは、各ローカル学習装置2により生成されてもよいし、他のコンピュータにより生成されてもよい。他のコンピュータにより生成される場合、制御部21は、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された事例データを取得してもよい。次に、制御部21は、取得された事例データを利用して、逆強化学習を実行することで、報酬関数を設定する。そして、制御部21は、逆強化学習により設定された報酬関数を利用して、上記強化学習の処理を実行する。これにより、制御部21は、逆強化学習により設定された報酬関数を利用して、所定の推論を実行する能力を獲得した学習済み機械学習モデル453を生成することができる。
4.小括
本実施形態では、機械学習モデル40の構成には、上記3つの構成の少なくともいずれかが採用されてよい。制御部21は、上記3つの機械学習の方法の少なくともいずれかを採用することで、所定の推論を実行する能力を獲得した(所定の推論を実行可能に訓練された)学習済み機械学習モデル45を生成することができる。学習済み機械学習モデル45を生成すると、制御部21は、次のステップS103に処理を進める。
本実施形態では、機械学習モデル40の構成には、上記3つの構成の少なくともいずれかが採用されてよい。制御部21は、上記3つの機械学習の方法の少なくともいずれかを採用することで、所定の推論を実行する能力を獲得した(所定の推論を実行可能に訓練された)学習済み機械学習モデル45を生成することができる。学習済み機械学習モデル45を生成すると、制御部21は、次のステップS103に処理を進める。
(ステップS103)
ステップS103では、制御部21は、環境データ取得部212として動作し、ローカル学習データ30の得られた環境に関する学習環境データ35を取得する。ローカル学習データ30の得られた環境に関する属性は、所定の推論に直接的又は間接的に関連する対象物又はユーザの属性等の推論に関連し得るあらゆる事象を含んでよい。学習環境データ35は、推論装置1で得られる環境データ63と同種のデータである。
ステップS103では、制御部21は、環境データ取得部212として動作し、ローカル学習データ30の得られた環境に関する学習環境データ35を取得する。ローカル学習データ30の得られた環境に関する属性は、所定の推論に直接的又は間接的に関連する対象物又はユーザの属性等の推論に関連し得るあらゆる事象を含んでよい。学習環境データ35は、推論装置1で得られる環境データ63と同種のデータである。
学習環境データ35の内容は、特に限定されなくてもよく、推論装置1の統合処理に考慮する環境の内容に応じて適宜選択されてよい。例えば、センサの最適な観測方法を推定するケースでは、学習環境データ35には、センサによる観測に影響を及ぼす環境属性(例えば、明るさ、温度等)に関する情報が含まれてよい。また、例えば、ユーザに適合する会話戦略を推定するケースでは、学習環境データ35には、ユーザの属性(例えば、年齢、性別、職業、出身地、性格タイプ等)に関する情報が含まれてよい。
また、学習環境データ35を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習環境データ35は、入力装置25を介して、ユーザ等のオペレータの入力により取得されてもよい。また、例えば、学習環境データ35の取得には、センサが利用されてもよい。
学習環境データ35の取得にセンサを利用する場合、学習環境データ35は、センサにより得られる観測データそのものであってもよいし、観測データに対して何らかの情報処理(例えば、特徴抽出)を実行することで得られたデータであってもよい。観測データに対して情報処理を実行する場面の一例として、ユーザに適合する会話戦略を推定するケースにおいて、学習環境データ35としてユーザの性別に関する情報を取得する場面を想定する。この場合に、制御部21は、学習環境データ35を取得するためのセンサとしてカメラを利用し、ユーザの顔の写る画像データを取得してもよい。そして、制御部21は、得られた画像データに対して、顔から性別を推定する画像処理を実行してもよい。制御部21は、この推定処理の結果に基づいて、ユーザの性別に関する情報を取得してもよい。
また、学習環境データ35を取得する経路も、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。制御部21は、外部インタフェース24、入力装置25等を介して、学習環境データ35を直接的に取得してもよい。或いは、制御部21は、ネットワーク、記憶媒体92等を介して、学習環境データ35を間接的に取得してもよい。
学習環境データ35を取得すると、制御部21は、次のステップS104に処理を進める。なお、ステップS103の処理を実行するタイミングは、このような例に限定されなくてもよい。ステップS103の処理は、次のステップS104の処理を実行する前の任意のタイミングに実行されてよい。
(ステップS104)
制御部21は、保存処理部214として動作し、生成された学習済み機械学習モデル45に関する情報を学習結果データ47として生成する。図7A~図7Cの例では、制御部21は、生成された学習済み機械学習モデル451~453に関する情報を学習結果データ47として生成する。学習済み機械学習モデル45に関する情報には、例えば、学習済み機械学習モデル45の構造を示す情報、及び機械学習により調整された演算パラメータの値を示す情報が含まれてよい。そして、制御部21は、生成された学習結果データ47を学習環境データ35に関連付けて所定の記憶領域に保存する。
制御部21は、保存処理部214として動作し、生成された学習済み機械学習モデル45に関する情報を学習結果データ47として生成する。図7A~図7Cの例では、制御部21は、生成された学習済み機械学習モデル451~453に関する情報を学習結果データ47として生成する。学習済み機械学習モデル45に関する情報には、例えば、学習済み機械学習モデル45の構造を示す情報、及び機械学習により調整された演算パラメータの値を示す情報が含まれてよい。そして、制御部21は、生成された学習結果データ47を学習環境データ35に関連付けて所定の記憶領域に保存する。
所定の記憶領域は、例えば、制御部21内のRAM、記憶部22、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部21は、ドライブ27を介して記憶メディアに学習結果データ47を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部21は、通信インタフェース23を利用して、ネットワークを介してデータサーバに学習結果データ47を格納してもよい。また、外部記憶装置は、例えば、各ローカル学習装置2に接続される外付けの記憶装置であってもよい。
これにより、学習結果データ47の保存が完了すると、制御部21は、学習済み機械学習モデル45の生成に関する一連の情報処理を終了する。
なお、学習結果データ47及び学習環境データ35は、任意のタイミングで推論装置1に提供されてよい。例えば、制御部21は、ステップS104の処理として又はステップS104の処理とは別に、学習結果データ47及び学習環境データ35を推論装置1に転送してもよい。推論装置1の制御部11は、この転送を受信することで、学習結果データ47及び学習環境データ35を取得してもよい。また、例えば、制御部11は、通信インタフェース13を利用して、各ローカル学習装置2又はデータサーバにネットワークを介してアクセスすることで、学習結果データ47及び学習環境データ35を取得してもよい。また、例えば、制御部11は、記憶媒体91を介して、学習結果データ47及び学習環境データ35を取得してもよい。また、例えば、学習結果データ47及び学習環境データ35は、推論装置1に予め組み込まれてもよい。
更に、制御部21は、上記ステップS101~ステップS104の処理を定期的に繰り返すことで、学習結果データ47及び学習環境データ35を定期的に更新又は新たに生成してもよい。この繰り返す際には、ローカル学習データ30に含まれるデータの変更、修正、追加、削除等が適宜実行されてよい。そして、制御部21は、更新した又は新たに生成した学習結果データ47及び学習環境データ35を学習処理の実行毎に推論装置1に提供することで、推論装置1の保持する学習結果データ47及び学習環境データ35を定期的に更新してもよい。
(B)推論処理
次に、図8を用いて、各ローカル学習装置2の所定の推論に関する動作例について説明する。図8は、各ローカル学習装置2の所定の推論に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
次に、図8を用いて、各ローカル学習装置2の所定の推論に関する動作例について説明する。図8は、各ローカル学習装置2の所定の推論に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS111)
ステップS111では、制御部21は、対象データ取得部216として動作し、所定の推論の対象となる対象データ225を取得する。対象データ225は、推論装置1で得られる対象データ61と同種のデータである。
ステップS111では、制御部21は、対象データ取得部216として動作し、所定の推論の対象となる対象データ225を取得する。対象データ225は、推論装置1で得られる対象データ61と同種のデータである。
対象データ225の内容は、特に限定されなくてもよく、所定の推論の内容に応じて適宜選択されてよい。例えば、センサの最適な観測方法を推定するケースでは、対象データ225には、センサの現在の観測状態に関する情報として、センサの設置状況に関する属性(例えば、センサの設置角度、センサと観測対象との間の距離等)を示す情報が含まれてよい。また、例えば、ユーザに適合する会話戦略を推定するケースでは、対象データ225には、入力デバイス(例えば、キーボード、タッチパネル)、カメラ、マイクロフォン等により得られるユーザの会話行動に関するデータが含まれてよい。学習済み機械学習モデル45が生成モデルにより構成される場合、対象データ225には、所定の確率分布から抽出されたノイズが含まれてよい。
また、対象データ225を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、対象データ225は、入力装置25を介して、ユーザ等のオペレータの入力により取得されてもよい。また、例えば、対象データ225の取得には、センサが利用されてもよい。
対象データ225の取得にセンサを利用する場合、対象データ225は、学習環境データ35と同様に、センサにより得られる観測データそのものであってもよいし、観測データに対して何らかの情報処理を実行することで得られたデータであってもよい。観測データに対して情報処理を実行する場面の一例として、ユーザに適合する会話戦略を推定するケースにおいて、対象データ225としてユーザの発話内容の文字列を取得する場面を想定する。この場合に、制御部21は、対象データ225を取得するためのセンサとしてマイクロフォンを利用し、ユーザの発話音声を含む音データを取得してもよい。そして、制御部21は、得られた音データに対して音声解析を実行してもよい。制御部21は、この音声解析処理の結果に基づいて、ユーザの発話内容の文字列を取得してもよい。
更に、学習環境データ35及び対象データ225それぞれの取得にセンサを利用する場合に、学習環境データ35及び対象データ225は、同一のセンサにより得られた同一の観測データに由来してもよいし、異なるセンサにより得られた異なる観測データに由来してもよい。同一の観測データに由来する場面の一例として、上記ユーザに適合する会話戦略を推定するケースにおいて、ビデオカメラを利用する場面を想定する。この場合に、制御部21は、ビデオカメラにより得られた画像データからユーザの性別を推定することで、推定されたユーザの性別に関する情報を学習環境データ35として取得してもよい。また、制御部21は、ビデオカメラにより得られた音データからユーザの発話内容の文字列を解析することで、得られたユーザの発話内容の文字列を対象データ225として取得してもよい。
また、対象データ225を取得する経路も、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。制御部21は、外部インタフェース24、入力装置25等を介して、対象データ225を直接的に取得してもよい。或いは、制御部21は、ネットワーク、記憶媒体92等を介して、対象データ225を間接的に取得してもよい。
対象データ225を取得すると、制御部21は、次のステップS112に処理を進める。
(ステップS112)
ステップS112では、制御部21は、推論部217として動作し、ローカル学習データ30から導出された推論モデルを利用して、取得された対象データ225に対して所定の推論を実行する。本実施形態では、制御部21は、学習結果データ47を保持することで、学習済み機械学習モデル45を推論モデルとして備えている。制御部21は、学習結果データ47を参照して、学習済み機械学習モデル45の設定を行う。次に、制御部21は、学習済み機械学習モデル45に対象データ225を与えて、学習済み機械学習モデル45の演算処理を実行する。
ステップS112では、制御部21は、推論部217として動作し、ローカル学習データ30から導出された推論モデルを利用して、取得された対象データ225に対して所定の推論を実行する。本実施形態では、制御部21は、学習結果データ47を保持することで、学習済み機械学習モデル45を推論モデルとして備えている。制御部21は、学習結果データ47を参照して、学習済み機械学習モデル45の設定を行う。次に、制御部21は、学習済み機械学習モデル45に対象データ225を与えて、学習済み機械学習モデル45の演算処理を実行する。
演算処理は、学習済み機械学習モデル45の構成に応じて適宜実行されてよい。学習済み機械学習モデル45が関数式により構成される場合、制御部21は、対象データ225を関数式に代入し、当該関数式の演算処理を実行する。学習済み機械学習モデル45がニューラルネットワークにより構成される場合、制御部21は、対象データ225を入力層に入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。学習済み機械学習モデル45がデータテーブルにより構成される場合、制御部21は、対象データ225をデータテーブルに照合する。
これにより、制御部21は、学習済み機械学習モデル45の出力(すなわち、演算処理の実行結果)として、対象データ225に対して所定の推論を実行した結果を取得する。得られる推論結果は、学習済み機械学習モデル45に習得させた能力に依存する。例えば、センサの最適な観測方法を推定する能力を学習済み機械学習モデル45に習得させたケースでは、制御部21は、推定処理の結果として、センサの現在の観測状態から推定された、センサの適正な観測状態への変更方法に関する情報を取得することができる。推論結果を取得すると、制御部21は、次のステップS113に処理を進める。
(ステップS113)
ステップS113では、制御部21は、出力部218として動作し、対象データ225に対する推論結果に関する情報を出力する。
ステップS113では、制御部21は、出力部218として動作し、対象データ225に対する推論結果に関する情報を出力する。
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、ステップS112により対象データ225に対して所定の推論を実行した結果をそのまま出力装置26に出力してもよい。また、例えば、制御部21は、所定の推論を実行した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を推論結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推論結果に応じて特定のメッセージを出力すること、推論結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置26、他のコンピュータの出力装置、制御対象装置等であってよい。
推論結果に関する情報の出力が完了すると、制御部21は、所定の推論に関する一連の情報処理を終了する。なお、所定の期間の間、制御部21は、ステップS111~ステップS113の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、各ローカル学習装置2は、所定の推論を継続的に実施してもよい。
[推論装置]
次に、図9Aを用いて、推論装置1の所定の推論に関する動作例について説明する。図9Aは、推論装置1の所定の推論に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「推論方法」の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
次に、図9Aを用いて、推論装置1の所定の推論に関する動作例について説明する。図9Aは、推論装置1の所定の推論に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「推論方法」の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS201及びステップS202)
ステップS201では、制御部11は、第1データ取得部111として動作し、所定の推論の対象となる所定の対象データ61を取得する。処理環境が異なる点を除き、ステップS201の対象データ61を取得する処理は、上記ステップS111の対象データ225を取得する処理と同様であってよい。
ステップS201では、制御部11は、第1データ取得部111として動作し、所定の推論の対象となる所定の対象データ61を取得する。処理環境が異なる点を除き、ステップS201の対象データ61を取得する処理は、上記ステップS111の対象データ225を取得する処理と同様であってよい。
すなわち、対象データ61の内容は、所定の推論の内容に応じて適宜選択されてよい。対象データ61を取得する方法及び経路はそれぞれ、実施の形態に応じて適宜選択されてよい。対象データ61は、入力装置15を介したオペレータの入力により取得されてもよい。対象データ61の取得には、対象データ225の取得に利用されるセンサと同種のセンサが利用されてもよい。対象データ61の取得にセンサを利用する場合、対象データ61は、センサにより得られる観測データそのものであってもよいし、観測データに対して何らかの情報処理を実行することで得られたデータであってもよい。制御部11は、外部インタフェース14、入力装置15等を介して、対象データ61を直接的に取得してもよいし、或いは、ネットワーク、記憶媒体91等を介して、対象データ61を間接的に取得してもよい。
ステップS202では、制御部11は、第2データ取得部112として動作し、所定の推論を実行する対象の環境に関する環境データ63を取得する。処理環境が異なる点を除き、ステップS202の環境データ63を取得する処理は、上記ステップS103の学習環境データ35を取得する処理と同様であってよい。
すなわち、環境データ63の内容は、統合処理に考慮する環境の内容に応じて適宜選択されてよい。環境データ63を取得する方法及び経路はそれぞれ、実施の形態に応じて適宜選択されてよい。環境データ63は、入力装置15を介したオペレータの入力により取得されてもよい。環境データ63の取得には、学習環境データ35の取得に利用されるセンサと同種のセンサが利用されてもよい。環境データ63の取得にセンサを利用する場合、環境データ63は、センサにより得られる観測データそのものであってもよいし、観測データに対して何らかの情報処理を実行することで得られたデータであってもよい。対象データ61及び環境データ63の取得にセンサを利用する場合に、対象データ61及び環境データ63は、同一のセンサにより得られた同一の観測データに由来してもよいし、異なるセンサにより得られた異なる観測データに由来してもよい。制御部11は、外部インタフェース14、入力装置15等を介して、環境データ63を直接的に取得してもよいし、或いは、ネットワーク、記憶媒体91等を介して、環境データ63を間接的に取得してもよい。
なお、環境データ63は、対象データ61の取得される対象の環境に関して取得されるのに対して、学習環境データ35は、ローカル学習データ30の得られた環境に関して取得される。ローカル学習データ30には、対象データ61と同種のデータ(例えば、上記訓練データ311)が蓄積されている。そのため、学習環境データ35は、環境データ63と比べて、例えば、時間、場所、対象物、ユーザ等の環境の属性に関して広がりを有してもよい。これに応じて、環境データ63のデータ形式と学習環境データ35のデータ形式とは、それぞれの環境を比較可能な態様で異なっていてもよい。
以上により、制御部11は、対象データ61及び環境データ63を取得する。なお、ステップS201及びステップS202の処理順序は任意であってよい。ステップS201及びステップS202のいずれかが先に実行されてもよいし、ステップS201及びステップS202の処理は並列に実行されてもよい。対象データ61及び環境データ63を取得すると、制御部11は、次のステップS203に処理を進める。
(ステップS203)
ステップS203では、制御部11は、結果取得部113として動作し、異なる環境下で得られたローカル学習データ30から所定の推論を実行するように導出された複数の推論モデルそれぞれに対象データ61を与えて、対象データ61に対する所定の推論を各推論モデルに実行させる。これにより、制御部11は、取得された対象データ61に対する各推論モデルの推論結果を取得する。
ステップS203では、制御部11は、結果取得部113として動作し、異なる環境下で得られたローカル学習データ30から所定の推論を実行するように導出された複数の推論モデルそれぞれに対象データ61を与えて、対象データ61に対する所定の推論を各推論モデルに実行させる。これにより、制御部11は、取得された対象データ61に対する各推論モデルの推論結果を取得する。
本実施形態では、各推論モデルは、上記各ローカル学習装置2により生成された各学習済み機械学習モデル45により構成される。また、本実施形態では、推論装置1は、各ローカル学習装置2により生成された各件の学習結果データ47を保持することで、各学習済み機械学習モデル45を備えている。そこで、制御部11は、各件の学習結果データ47を参照することで、各学習済み機械学習モデル45の設定を行う。次に、制御部11は、各学習済み機械学習モデル45に対象データ61を与えて、各学習済み機械学習モデル45の演算処理を実行する。各学習済み機械学習モデル45の演算処理は、上記ステップS112における学習済み機械学習モデル45の演算処理と同様であってよい。これにより、制御部11は、各学習済み機械学習モデル45の出力として、対象データ61に対する各学習済み機械学習モデル45の推論結果を取得することができる。なお、推論処理に使用する学習済み機械学習モデル45は、オペレータの指定等により適宜選択されてよい。対象データ61に対する各学習済み機械学習モデル45の推論結果を取得すると、制御部11は、次のステップS204に処理を進める。
(ステップS204)
ステップS204では、制御部11は、統合部114として動作し、統合規則5に従って、ステップS203で得られた各推論モデルの推論結果を統合する。本実施形態では、制御部11は、統合規則5に従って、各学習済み機械学習モデル45の推論結果を統合する。これにより、制御部11は、対象の環境下での対象データ61に対する推論結果を生成する。
ステップS204では、制御部11は、統合部114として動作し、統合規則5に従って、ステップS203で得られた各推論モデルの推論結果を統合する。本実施形態では、制御部11は、統合規則5に従って、各学習済み機械学習モデル45の推論結果を統合する。これにより、制御部11は、対象の環境下での対象データ61に対する推論結果を生成する。
本実施形態では、制御部11は、統合規則データ57を保持することで、統合規則5に関する情報を有している。統合規則5は、対象の環境下において、各学習済み機械学習モデル45の推論結果を重視する程度をそれぞれ規定する複数の統合パラメータPを備えている。制御部11は、統合規則データ57を参照することで、統合規則5の設定を行う。そして、制御部11は、以下の処理により、統合規則5に従って、各学習済み機械学習モデル45の推論結果を統合する。
図9Bは、ステップS204の統合処理に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS204の処理は、以下のステップS211~ステップS213の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
ステップS211では、制御部11は、取得された環境データ63に応じて、各統合パラメータPの値を決定する。各統合パラメータPの値を決定する方法の詳細は後述する。なお、各統合パラメータPの値の決定には、環境データ63の他に、対象データ61が更に考慮されてよい。すなわち、制御部11は、対象データ61及び環境データ63に応じて、各統合パラメータPの値を決定してもよい。
ステップS212では、制御部11は、決定された各統合パラメータPの値を使用して、対応する各推論モデルの推論結果を重み付けする。ステップS213では、制御部11は、各推論モデルの重み付けされた推論結果を統合する。本実施形態では、制御部11は、決定された各統合パラメータPの値を使用して、対応する各学習済み機械学習モデル45の推論結果を重み付けする。そして、制御部11は、各学習済み機械学習モデル45の重み付けされた推論結果を統合する。
重み付け及び統合の方法は、重み付けに応じて推論結果を優先する形態であれば、特に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。例えば、各学習済み機械学習モデル45の推論結果の重み付けされた推論結果を統合することは、各学習済み機械学習モデル45の推論結果を示す値の重み付け平均を算出することであってよい。また、例えば、各学習済み機械学習モデル45の推論結果の重み付けされた推論結果を統合することは、重み付けした上で多数決することにより、各学習済み機械学習モデル45の推論結果のうちのいずれかを選択することであってよい。所定の推論が回帰である場合に、推論結果の統合は、主に上記重み付け平均により行われてよい。また、所定の推論が識別である場合に、推論結果の統合は、主に上記重み付き多数決により行われてよい。
ステップS213による統合が完了すると、制御部11は、ステップS204の統合処理に関するサブルーチンの処理を終了する。これにより、制御部11は、対象の環境下での対象データ61に対する推論結果を生成することができる。当該統合処理により推論結果を生成すると、制御部11は、次のステップS205に処理を進める。
(ステップS205)
図9Aに戻り、ステップS205では、制御部11は、出力部115として動作し、生成された推論結果に関する情報を出力する。処理環境が異なる点を除き、ステップS205の出力処理は、上記ステップS113の出力処理と同様であってよい。
図9Aに戻り、ステップS205では、制御部11は、出力部115として動作し、生成された推論結果に関する情報を出力する。処理環境が異なる点を除き、ステップS205の出力処理は、上記ステップS113の出力処理と同様であってよい。
すなわち、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、ステップS204により生成された推論結果をそのまま出力装置16に出力してもよい。また、例えば、制御部11は、生成された推論結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部11は、その情報処理を実行した結果を推論結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推論結果に応じて特定のメッセージを出力すること、推論結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置16、他のコンピュータの出力装置、制御対象装置等であってよい。
推論結果に関する情報の出力が完了すると、制御部11は、所定の推論に関する一連の情報処理を終了する。なお、所定の期間の間、制御部11は、ステップS201~ステップS205の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、推論装置1は、所定の推論を継続的に実施してもよい。
<統合パラメータの値の決定方法>
次に、上記ステップS211における各統合パラメータPの値を決定する方法の具体例について説明する。本実施形態では、制御部11は、以下の3つの方法のうちの少なくともいずれかの方法により、各統合パラメータPの値を決定することができる。
次に、上記ステップS211における各統合パラメータPの値を決定する方法の具体例について説明する。本実施形態では、制御部11は、以下の3つの方法のうちの少なくともいずれかの方法により、各統合パラメータPの値を決定することができる。
(1)第1の方法
図10Aは、第1の方法により各統合パラメータPの値を決定する場面の一例を模式的に例示する。第1の方法では、制御部11は、環境データ63(及び対象データ61)から各統合パラメータPの値を算出するための演算モデルを利用する。
図10Aは、第1の方法により各統合パラメータPの値を決定する場面の一例を模式的に例示する。第1の方法では、制御部11は、環境データ63(及び対象データ61)から各統合パラメータPの値を算出するための演算モデルを利用する。
(1-1)統合パラメータの値を決定する処理
本実施形態では、制御部11は、学習データ59を利用して、演算モデル51の機械学習を実行する。演算モデル51は、上記機械学習モデル40と同様に、例えば、データテーブル、関数式等により表現されてよい。機械学習により、制御部11は、算出される各統合パラメータPの値が対象の環境下における所定の推論に適合するように訓練された学習済み演算モデル52を構築(生成)する。第1の方法では、統合規則5は、当該機械学習により構築された学習済み演算モデル52を更に備える。構築された学習済み演算モデル52に関する情報は、統合規則データ57の少なくとも一部として保存されてもよいし、統合規則データ57とは別に保存されてもよい。
本実施形態では、制御部11は、学習データ59を利用して、演算モデル51の機械学習を実行する。演算モデル51は、上記機械学習モデル40と同様に、例えば、データテーブル、関数式等により表現されてよい。機械学習により、制御部11は、算出される各統合パラメータPの値が対象の環境下における所定の推論に適合するように訓練された学習済み演算モデル52を構築(生成)する。第1の方法では、統合規則5は、当該機械学習により構築された学習済み演算モデル52を更に備える。構築された学習済み演算モデル52に関する情報は、統合規則データ57の少なくとも一部として保存されてもよいし、統合規則データ57とは別に保存されてもよい。
上記ステップS211では、制御部11は、当該情報を適宜参照することで、学習済み演算モデル52の設定を行う。そして、制御部11は、学習済み演算モデル52に環境データ63を与えて、学習済み演算モデル52の演算処理を実行する。対象データ61を更に考慮する場合には、制御部11は、学習済み演算モデル52に対象データ61を更に与えて、学習済み演算モデル52の演算処理を実行する。学習済み演算モデル52の演算処理は、上記学習済み機械学習モデル45の演算処理と同様であってよい。これにより、制御部11は、学習済み演算モデル52の出力として、各推論モデルに対する各統合パラメータPの値を取得することができる。本実施形態では、各統合パラメータPの値を取得した後、制御部11は、ステップS212以降の処理を実行することで、各学習済み機械学習モデル45の推論結果を統合する。
(1-2)演算モデルの機械学習
次に、図10Bを更に用いて、学習済み演算モデル52の生成に関する推論装置1の動作例について説明する。図10Bは、推論装置1による学習済み演算モデル52の生成に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
次に、図10Bを更に用いて、学習済み演算モデル52の生成に関する推論装置1の動作例について説明する。図10Bは、推論装置1による学習済み演算モデル52の生成に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS301及びステップS302)
ステップS301では、制御部11は、学習データ取得部116として動作し、演算モデル51の機械学習に利用する学習データ59を取得する。ステップS302では、制御部11は、学習処理部117として動作し、取得された学習データ59を利用して、演算モデル51の機械学習を実行する。
ステップS301では、制御部11は、学習データ取得部116として動作し、演算モデル51の機械学習に利用する学習データ59を取得する。ステップS302では、制御部11は、学習処理部117として動作し、取得された学習データ59を利用して、演算モデル51の機械学習を実行する。
ステップS302における機械学習は、算出される各統合パラメータPの値が対象の環境下における所定の推論に適合するように演算モデル51を訓練することにより構成される。この演算モデル51の機械学習は、対象の環境に適合する所望の出力を得るように演算モデル51の演算パラメータの値を調整することであってよい。すなわち、算出される各統合パラメータPの値が対象の環境下における所定の推論に適合するように演算モデル51を訓練することは、上記ステップS212及びステップS213の処理により、算出された各統合パラメータPの値を用いて、各推論モデル(各機械学習モデル45)の推論結果を統合した結果が対象の環境下における推論結果に適合するような各統合パラメータPの値を環境データ(及び対象データ)から算出するように演算モデル51の演算パラメータの値を調整することであってよい。この機械学習により、制御部11は、環境データ(及び対象データ)から対象の環境下における所定の推論に適合する各統合パラメータPの値を推定する能力を獲得した学習済み演算モデル52を生成することができる。
演算モデル51の構成及び機械学習の方法はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。学習済み演算モデル52は、各統合パラメータPの値を算出するために利用される。算出された各統合パラメータPの値は、上記統合処理の際に、各推論モデルの推論結果を重み付けするのに利用される。推論装置1では、上記統合処理により、推論結果が生成される。一方、学習済み機械学習モデル45は、対象データに対する推論結果を直接的に導出する。そのため、演算モデル51(学習済み演算モデル52)は、取り扱うデータ及び推論結果を得る過程の点で、上記機械学習モデル40(学習済み機械学習モデル45)と相違する。ただし、それら以外の点については、演算モデル51の構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
演算モデル51は、例えば、データテーブル、関数式等により表現されてよい。演算モデル51が関数式で表現される場合、演算モデル51は、例えば、ニューラルネットワーク、線形関数、決定木等により構成されてよい。ニューラルネットワークの種類は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。演算モデル51を構成するニューラルネットワークには、例えば、全結合型ニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、これらの組み合わせ等が用いられてよい。以下、演算モデル51の構成及び機械学習の方法それぞれの2つの例について説明する。
I.第1の例
図10Cは、演算モデル51の構成及び機械学習の方法の第1の例を模式的に示す。第1の例では、上記機械学習モデル40の第1の例と同様に、演算モデル51にニューラルネットワーク、機械学習方法に教師あり学習を採用する。なお、図10Cでは、説明の便宜上、学習データ59、演算モデル51、及び学習済み演算モデル52それぞれの一例を、学習データ591、演算モデル511、及び学習済み演算モデル521と表記する。
図10Cは、演算モデル51の構成及び機械学習の方法の第1の例を模式的に示す。第1の例では、上記機械学習モデル40の第1の例と同様に、演算モデル51にニューラルネットワーク、機械学習方法に教師あり学習を採用する。なお、図10Cでは、説明の便宜上、学習データ59、演算モデル51、及び学習済み演算モデル52それぞれの一例を、学習データ591、演算モデル511、及び学習済み演算モデル521と表記する。
I-1.演算モデルの構成例
第1の例では、演算モデル511は、3層構造の全結合型ニューラルネットワークにより構成されている。具体的には、演算モデル511は、入力側から順に、入力層5111、中間(隠れ)層5112、及び出力層5113を備えている。ただし、演算モデル511の構成は、上記機械学習モデル401と同様に、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、演算モデル511の備える中間層の数は、2つ以上であってもよい。或いは、中間層5112は省略されてもよい。また、演算モデル511は、畳み込み層、プーリング層、再帰層等の他の種類の層を備えてもよい。その他の点については、演算モデル511は、上記機械学習モデル401と同様であってよい。演算モデル511は、各層5111~5113に含まれる各ニューロン間の結合の重み、各ニューロンの閾値等の演算パラメータを備える。
第1の例では、演算モデル511は、3層構造の全結合型ニューラルネットワークにより構成されている。具体的には、演算モデル511は、入力側から順に、入力層5111、中間(隠れ)層5112、及び出力層5113を備えている。ただし、演算モデル511の構成は、上記機械学習モデル401と同様に、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、演算モデル511の備える中間層の数は、2つ以上であってもよい。或いは、中間層5112は省略されてもよい。また、演算モデル511は、畳み込み層、プーリング層、再帰層等の他の種類の層を備えてもよい。その他の点については、演算モデル511は、上記機械学習モデル401と同様であってよい。演算モデル511は、各層5111~5113に含まれる各ニューロン間の結合の重み、各ニューロンの閾値等の演算パラメータを備える。
I-2.学習データの構成例
この演算モデル511の教師あり学習に利用される学習データ591は、訓練用環境データ5911、訓練用対象データ5912、及び正解データ5913(教師信号)の組み合わせをそれぞれ含む複数の学習データセット5910により構成される。訓練用環境データ5911は、環境データ63と同種のデータであり、訓練データ(入力データ)として利用される。訓練用対象データ5912は、対象データ61と同種のデータである。対象データ61を更に考慮する場合には、訓練用対象データ5912は、訓練用環境データ5911と共に、訓練データ(入力データ)として利用されてよい。正解データ5913は、対象の環境下において訓練用対象データ5912に対して所定の推論を実行した結果(正解)を示すデータである。正解データ5913は、ラベルと称されてもよい。
この演算モデル511の教師あり学習に利用される学習データ591は、訓練用環境データ5911、訓練用対象データ5912、及び正解データ5913(教師信号)の組み合わせをそれぞれ含む複数の学習データセット5910により構成される。訓練用環境データ5911は、環境データ63と同種のデータであり、訓練データ(入力データ)として利用される。訓練用対象データ5912は、対象データ61と同種のデータである。対象データ61を更に考慮する場合には、訓練用対象データ5912は、訓練用環境データ5911と共に、訓練データ(入力データ)として利用されてよい。正解データ5913は、対象の環境下において訓練用対象データ5912に対して所定の推論を実行した結果(正解)を示すデータである。正解データ5913は、ラベルと称されてもよい。
訓練用環境データ5911の内容は、統合処理に考慮する環境の内容に応じて適宜選択されてよい。訓練用に取得される点を除き、訓練用環境データ5911は、上記環境データ63と同様であってよい。訓練用対象データ5912及び正解データ5913の内容は、各推論モデル(学習済み機械学習モデル45)に習得させた推論の内容に応じて適宜選択されてよい。訓練用に取得される点を除き、訓練用対象データ5912は、上記対象データ61と同様であってよい。また、推論装置1が所定の推論を実行する対象の環境を考慮して取得される点を除き、訓練用対象データ5912及び正解データ5913は、上記訓練データ311及び正解データ312と同様であってよい。
I-3.ステップS301について
上記ステップS301では、制御部11は、複数の学習データセット5910により構成される学習データ591を取得する。各学習データセット5910を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、対象の環境下において所定の推論を実行する様々な状況を実際に又は仮想的に作成することで、作成された様々な状況において環境データ63と同種のデータを訓練用環境データ5911として取得してもよい。また、訓練用環境データ5911と共に、対象データ61と同種のデータを訓練用対象データ5912として取得してもよい。そして、対象の環境下において、取得された訓練用対象データ5912に対して所定の推論を実行する。この場面では、所定の推論は、オペレータ等により手動的に行われてよい。そして、訓練用対象データ5912に対して所定の推論を実行した結果(正解)を訓練用環境データ5911及び訓練用対象データ5912に関連付ける。これにより、各学習データセット5910を生成することができる。
上記ステップS301では、制御部11は、複数の学習データセット5910により構成される学習データ591を取得する。各学習データセット5910を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、対象の環境下において所定の推論を実行する様々な状況を実際に又は仮想的に作成することで、作成された様々な状況において環境データ63と同種のデータを訓練用環境データ5911として取得してもよい。また、訓練用環境データ5911と共に、対象データ61と同種のデータを訓練用対象データ5912として取得してもよい。そして、対象の環境下において、取得された訓練用対象データ5912に対して所定の推論を実行する。この場面では、所定の推論は、オペレータ等により手動的に行われてよい。そして、訓練用対象データ5912に対して所定の推論を実行した結果(正解)を訓練用環境データ5911及び訓練用対象データ5912に関連付ける。これにより、各学習データセット5910を生成することができる。
I-4.ステップS302について
上記ステップS302では、制御部11は、取得された学習データ591を利用して、演算モデル511の機械学習(教師あり学習)を実行する。第1の例では、制御部11は、機械学習により、各学習データ591について、訓練用環境データ5911(及び訓練用対象データ5912)を入力層5111に入力することで、出力される各統合パラメータPの値を用いて、訓練用対象データ5912に対する各推論モデル(学習済み機械学習モデル45)の推論結果を統合した結果が正解データ5913に適合するような各統合パラメータPの値を出力層5113から出力するように演算モデル511を訓練する。これにより、制御部11は、対象の環境下における所定の推論に適合する各統合パラメータPの値を環境データ(及び対象データ)から推定する能力を獲得した学習済み演算モデル521を生成する。
上記ステップS302では、制御部11は、取得された学習データ591を利用して、演算モデル511の機械学習(教師あり学習)を実行する。第1の例では、制御部11は、機械学習により、各学習データ591について、訓練用環境データ5911(及び訓練用対象データ5912)を入力層5111に入力することで、出力される各統合パラメータPの値を用いて、訓練用対象データ5912に対する各推論モデル(学習済み機械学習モデル45)の推論結果を統合した結果が正解データ5913に適合するような各統合パラメータPの値を出力層5113から出力するように演算モデル511を訓練する。これにより、制御部11は、対象の環境下における所定の推論に適合する各統合パラメータPの値を環境データ(及び対象データ)から推定する能力を獲得した学習済み演算モデル521を生成する。
教師あり学習の具体的な処理手順は、上記機械学習モデル401と同様であってよい。制御部11は、まず、機械学習の処理対象となる演算モデル511を用意する。用意する演算モデル511の構造、及び各演算パラメータの初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の教師あり学習により得られた学習結果データに基づいて、演算モデル511を用意してもよい。
次に、制御部11は、各学習データセット5910に含まれる訓練用環境データ5911を入力データとして利用し、正解データ5913を教師信号として利用し、演算モデル511を構成するニューラルネットワークの学習処理を実行する。この学習処理では、訓練用対象データ5912が更に入力データとして利用されてよい。基本的には、演算モデル511の学習処理は、上記機械学習モデル401と同様であってよい。
第1のステップでは、制御部11は、各学習データセット5910について、訓練用環境データ5911を演算モデル511の入力層5111に入力する。対象データ61を更に考慮する場合には、制御部11は、訓練用対象データ5912を演算モデル511の入力層5111に更に入力してもよい。続いて、制御部11は、入力側から順に各層5111~5113に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部11は、訓練中の演算モデル511が、訓練用環境データ5911(及び訓練用対象データ5912)に応じて、各統合パラメータPの値を算出した結果に対応する出力値を出力層5113から取得する。
第2のステップでは、制御部11は、対応する訓練用対象データ5912に対して、上記ステップS203の処理を実行する。すなわち、制御部11は、対応する訓練用対象データ5912を各推論モデルに与えて、訓練用対象データ5912に対する所定の推論を各推論モデルに実行させる。これにより、制御部11は、訓練用対象データ5912に対する各推論モデルの推論結果を取得する。本実施形態では、制御部11は、訓練用対象データ5912に対する各学習済み機械学習モデル45の推論結果を取得する。
次に、制御部11は、第1のステップで得られた各統合パラメータPの値を利用して、得られた各学習済み機械学習モデル45の推論結果に対して上記ステップS204の処理を実行する。すなわち、制御部11は、第1のステップで得られた各統合パラメータPの値を使用して、各学習済み機械学習モデル45の推論結果を重み付けする。そして、制御部11は、各学習済み機械学習モデル45の重み付けされた推論結果を統合する。これにより、制御部11は、対象の環境下における推論結果を生成する。そして、制御部11は、生成された推論結果と正解データ5913との誤差を算出する。誤差の算出には、損失関数が適宜用いられてよい。
第3のステップでは、制御部11は、誤差逆伝播法により、算出された誤差の勾配を演算モデル511に逆伝播させることで、各ニューロン間の結合の重み、各ニューロンの閾値等の演算モデル511の各演算パラメータの値の誤差を算出する。第4のステップでは、制御部11は、算出された各誤差に基づいて、演算モデル511の各演算パラメータの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
制御部11は、上記第1~第4のステップを繰り返すことで、各学習データセット5910について、訓練用環境データ5911(及び訓練用対象データ5912)を入力層5111に入力することで、出力される各統合パラメータPの値を用いて、訓練用対象データ5912に対する各推論モデル(学習済み機械学習モデル45)の推論結果を統合した結果が正解データ5913に適合するような各統合パラメータPの値を出力層5113から出力するように、演算モデル511の各演算パラメータの値を調整する。例えば、制御部11は、各学習データセット5910について、生成される推論結果の誤差の和が閾値以下になるまで、上記第1~第4のステップを繰り返してもよい。或いは、制御部11は、上記第1~第4のステップを所定回数繰り返し実行してもよい。これにより、制御部11は、対象の環境下における所定の推論に適合する各統合パラメータPの値を環境データ(及び対象データ)から推定する能力を獲得した学習済み演算モデル521を生成することができる。
I-5.その他
なお、機械学習の方法に教師あり学習を採用する場合に、演算モデル511の構成は、ニューラルネットワークに限られなくてもよく、ニューラルネットワーク以外のモデルを演算モデル511として採用してもよい。演算モデル511は、例えば、回帰モデル、サポートベクタマシン、決定木等により構成されてよい。教師あり学習の方法は、上記のような例に限定されなくてもよく、演算モデル511の構成に応じて適宜選択されてよい。
なお、機械学習の方法に教師あり学習を採用する場合に、演算モデル511の構成は、ニューラルネットワークに限られなくてもよく、ニューラルネットワーク以外のモデルを演算モデル511として採用してもよい。演算モデル511は、例えば、回帰モデル、サポートベクタマシン、決定木等により構成されてよい。教師あり学習の方法は、上記のような例に限定されなくてもよく、演算モデル511の構成に応じて適宜選択されてよい。
II.第2の例
図10Dは、演算モデル51の構成及び機械学習の方法の第3の例を模式的に示す。第2の例では、上記機械学習モデル40の第3の例と同様に、機械学習方法に強化学習を採用する。なお、図10Dでは、説明の便宜上、学習データ59、演算モデル51、及び学習済み演算モデル52それぞれの一例を、学習データ592、演算モデル512、及び学習済み演算モデル522と表記する。
図10Dは、演算モデル51の構成及び機械学習の方法の第3の例を模式的に示す。第2の例では、上記機械学習モデル40の第3の例と同様に、機械学習方法に強化学習を採用する。なお、図10Dでは、説明の便宜上、学習データ59、演算モデル51、及び学習済み演算モデル52それぞれの一例を、学習データ592、演算モデル512、及び学習済み演算モデル522と表記する。
II-1.演算モデルの構成例
演算モデル512は、上記機械学習モデル403と同様に構成されてよい。すなわち、演算モデル512には、価値ベース、方策ベース、及びその両方が採用されてよい。各関数は、例えば、データテーブル、関数式等により表現されてよい。関数式により表現する場合、各関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。
演算モデル512は、上記機械学習モデル403と同様に構成されてよい。すなわち、演算モデル512には、価値ベース、方策ベース、及びその両方が採用されてよい。各関数は、例えば、データテーブル、関数式等により表現されてよい。関数式により表現する場合、各関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。
II-2.学習データの構成例
取り扱うデータ及び対象の環境下における推論結果を導出する過程が相違する点を除き、演算モデル512の強化学習の方法は、上記機械学習モデル403と同様であってよい。学習の環境は、手動的に又は自動的に適宜作成されてよい。演算モデル512の強化学習では、エージェントの観測する状態は、環境データ63及び対象データ61に対応する。
取り扱うデータ及び対象の環境下における推論結果を導出する過程が相違する点を除き、演算モデル512の強化学習の方法は、上記機械学習モデル403と同様であってよい。学習の環境は、手動的に又は自動的に適宜作成されてよい。演算モデル512の強化学習では、エージェントの観測する状態は、環境データ63及び対象データ61に対応する。
エージェントは、演算モデル512を利用して、観測された現在の状態(入力データ)から各統合パラメータPの値を算出する。また、エージェントは、上記ステップS203と同様に、観測された現在の状態に含まれる対象データを各推論モデルに与えて、対象データに対する所定の推論を各推論モデルに実行させる。これにより、エージェントは、対象データに対する各推論モデルの推論結果を取得する。本実施形態では、エージェントは、対象データに対する各学習済み機械学習モデル45の推論結果を取得する。次に、エージェントは、演算モデル512により得られた各統合パラメータPの値を使用して、各学習済み機械学習モデル45の推論結果を重み付けする。そして、エージェントは、各学習済み機械学習モデル45の重み付けされた推論結果を統合する。これにより、エージェントは、対象の環境下における推論結果を生成する。
エージェントは、生成された推論結果に基づいて採用する行動を決定する。或いは、採用する行動は、ランダムに決定されてもよい。決定された行動を実行すると、観測される状態は次の状態に遷移する。場合によって、エージェントは、学習の環境から即時報酬を得ることができる。この行動の決定及び実行の試行錯誤を繰り返しながら、エージェントは、即時報酬の総和を最大化するように、演算モデル512を更新する。これにより、最適な行動が強化され、そのような行動の選択を可能にする各統合パラメータPの値を算出する方策(学習済み演算モデル522)を得ることができる。
したがって、第2の例では、学習データ592は、この試行錯誤により得られる状態遷移データであって、実行された行動により現在の状態から次の状態に遷移し、場合によって即時報酬が得られるという状態遷移を示す状態遷移データにより構成される。上記ローカル学習データ303と同様に、1件の状態遷移データは、1エピソード全ての状態遷移の軌跡を示すデータにより構成されてもよいし、或いは、所定回数(1回以上)分の状態遷移を示すデータにより構成されてもよい。
なお、上記機械学習モデル403の強化学習と同様に、演算モデル512の強化学習において、即時報酬を算出するための報酬関数が用いられてよい。報酬関数は、データテーブル、関数式、又はルールにより表現されてよい。関数式により表現する場合、報酬関数は、ニューラルネットワーク、線形関数、決定木等により構成されてよい。報酬関数は、上記一連の処理で実行される所定の推論の内容に応じて、オペレータ等により、手動的に設定されてもよい。
或いは、報酬関数は、上記一連の処理で生成される推論結果の適正度に応じて即時報酬を与えるように設定されてもよい。推論結果の適正度は、5段階、10段階等のように所定数のグレードで表現されてもよい。或いは、推論結果の適正度は、連続値により表現されてもよい。また、推論結果の適正度は、オペレータ等により手動的に与えられてもよい。若しくは、推論結果の適正度は、判定器49を用いて所定の基準に従って評価されてよい。所定の基準は、上記機械学習モデル403と同様であってよい。また、判定器49は、上記機械学習モデル403の強化学習における判定器48と同様であってよい。
或いは、報酬関数は、エキスパートにより得られた事例データから逆強化学習により推定されてよい。事例データの内容、事例データを生成する方法、及び逆強化学習の方法はそれぞれ、特に限定されなくてもよく、上記機械学習モデル403の強化学習における報酬関数の設定に利用される事例データと同様であってよい。逆強化学習により報酬関数を得る場合、学習データ592は、逆強化学習に利用する事例データを更に備えてよい。
II-3.ステップS301及びステップS302
上記ステップS301では、制御部11は、訓練中の演算モデル512を利用して、上記試行錯誤を実行することで、上記状態遷移データを取得してもよい。或いは、状態遷移データは、他のコンピュータにより生成されてもよい。この場合、上記ステップS301では、制御部11は、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された状態遷移データを取得してもよい。
上記ステップS301では、制御部11は、訓練中の演算モデル512を利用して、上記試行錯誤を実行することで、上記状態遷移データを取得してもよい。或いは、状態遷移データは、他のコンピュータにより生成されてもよい。この場合、上記ステップS301では、制御部11は、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された状態遷移データを取得してもよい。
上記ステップS302では、制御部11は、得られた状態遷移データに基づいて、価値を最大化するように演算モデル512の演算パラメータの値を更新する。演算モデル512の演算パラメータの値を調整する方法は、演算モデル512の構成に応じて適宜選択されてよい。例えば、演算モデル512がニューラルネットワークにより構成される場合、演算モデル512の演算パラメータの値は、誤差逆伝播法等により、上記第1の例と同様の方法で調整されてよい。
制御部11は、ステップS301及びステップS302の処理を繰り返し、得られる価値(の期待値)が最大化されるように(例えば、更新量が閾値以下になるまで)、演算モデル512の演算パラメータの値を調整する。すなわち、演算モデル512を訓練することは、所定の条件を満たすまで報酬が多く得られるように演算モデル512を構成する演算パラメータの値の修正を繰り返すことを含む。これにより、制御部11は、対象の環境下における所定の推論に適合する各統合パラメータPの値を環境データ(及び対象データ)から推定する能力を獲得した学習済み演算モデル522を生成することができる。なお、強化学習の方法は、上記機械学習モデル403と同様であってよい。
更に、逆強化学習を実施する場合には、上記強化学習の処理を実行する前に、制御部11は、上記ステップS301において、事例データを更に取得する。事例データは、推論装置1により生成されてもよいし、他のコンピュータにより生成されてもよい。他のコンピュータにより生成される場合、制御部11は、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された事例データを取得してもよい。次に、制御部11は、取得された事例データを利用して、逆強化学習を実行することで、報酬関数を設定する。そして、制御部11は、逆強化学習により設定された報酬関数を利用して、上記強化学習の処理を実行する。これにより、制御部11は、逆強化学習により設定された報酬関数を利用して、対象の環境下における所定の推論に適合する各統合パラメータPの値を環境データ(及び対象データ)から推定する能力を獲得した学習済み演算モデル522を生成することができる。
III.小括
本実施形態では、演算モデル51の構成には、上記2つの構成の少なくともいずれかが採用されてよい。制御部11は、上記2つの機械学習の方法の少なくともいずれかを採用することで、学習済み演算モデル52を生成することができる。演算モデル51の機械学習が完了し、学習済み演算モデル52を生成すると、制御部11は、次のステップS303に処理を進める。
本実施形態では、演算モデル51の構成には、上記2つの構成の少なくともいずれかが採用されてよい。制御部11は、上記2つの機械学習の方法の少なくともいずれかを採用することで、学習済み演算モデル52を生成することができる。演算モデル51の機械学習が完了し、学習済み演算モデル52を生成すると、制御部11は、次のステップS303に処理を進める。
(ステップS303)
図10Bに戻り、ステップS303では、制御部11は、保存処理部118として動作し、演算モデル51の機械学習の結果、すなわち、学習済み演算モデル52に関する情報を生成する。図10C及び図10Dの例では、制御部11は、学習済み演算モデル(521、522)に関する情報を生成する。制御部11は、生成された学習済み演算モデル52に関する情報を所定の記憶領域に保存する。
図10Bに戻り、ステップS303では、制御部11は、保存処理部118として動作し、演算モデル51の機械学習の結果、すなわち、学習済み演算モデル52に関する情報を生成する。図10C及び図10Dの例では、制御部11は、学習済み演算モデル(521、522)に関する情報を生成する。制御部11は、生成された学習済み演算モデル52に関する情報を所定の記憶領域に保存する。
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに学習済み演算モデル52に関する情報を格納してもよい。外部記憶装置は、例えば、NAS等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに学習済み演算モデル52に関する情報を格納してもよい。また、外部記憶装置は、例えば、推論装置1に接続される外付けの記憶装置であってもよい。
生成された学習済み演算モデル52に関する情報は、統合規則データ57の少なくとも一部として保存されてもよいし、統合規則データ57とは別に保存されてもよい。これにより、学習済み演算モデル52に関する情報の保存が完了すると、制御部11は、学習済み演算モデル52の生成に関する一連の情報処理を終了する。
なお、制御部11は、上記ステップS301~ステップS303の処理を定期的に繰り返すことで、学習済み演算モデル52を定期的に更新又は新たに生成してもよい。この繰り返す際には、学習データ59に含まれるデータの変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した学習済み演算モデル52を以降の推論処理に利用してもよい。
第1の方法では、機械学習により、算出される各統合パラメータPの値が対象の環境下における所定の推論に適合するように訓練された学習済み演算モデル52が構築される。そのため、構築された学習済み演算モデル52により算出される各統合パラメータPの値を使用することで、各学習済み機械学習モデル45の推論結果を対象の環境に適合するように適切に統合することができる。したがって、第1の方法によれば、対象の環境下で所定の推論を更に適切に実行することができるようになる。
なお、機械学習モデル40(学習済み機械学習モデル45)のパラメータ数は、対象データ(61、225)の次元数及び推論結果の表現形式に依存する。そのため、対象データ(61、225)及び推論内容の少なくとも一方が複雑になればなるほど、機械学習モデル40のパラメータ数は大きく増加する。これに対して、演算モデル51(学習済み演算モデル52)のパラメータ数は、環境データ63の次元数及び対象の環境下で所定の推論に利用する学習済み機械学習モデル45の数に依存する。演算モデル51の情報処理は各統合パラメータPの値を決定することに過ぎないため、対象データ(61、225)及び推論内容が複雑になっても、演算モデル51のパラメータ数の増加は抑えることができる。
例えば、対象の環境として明るさを考慮して、カメラの最適な観測方法を当該カメラにより得られる画像データから推定する場面を想定する。この場合、対象データ(61、225)は、画像データである。機械学習モデル40のパラメータ数は、画像データの画素数及びカメラの取り得る状態数に依存し、千を超えるオーダーと成り得る。一方、演算モデル51のパラメータ数は、明るさの次元数及び学習済み機械学習モデル45の数に依存するが、最適な観測方法の推定に数十の学習済み機械学習モデル45を利用するとしても、多くて数十~数百程度のオーダーである。
したがって、一般的には、統合パラメータPの値を決定する演算モデル51のパラメータ数は、所定の推論を直接的に実行する機械学習モデル40のパラメータ数よりも少なくて済む。例えば、演算モデル51及び機械学習モデル40それぞれにニューラルネットワークを採用し、機械学習の方法として教師あり学習を採用する場合、演算モデル51のニューラルネットワークの規模は、機械学習モデル40のニューラルネットワークよりも小さくてよい。また、例えば、機械学習の方法として強化学習を採用する場合には、機械学習モデル40を訓練する場面より、演算モデル51を訓練する場面の方が、学習の環境を規定するパラメータの数が少なくて済む。機械学習のコストはパラメータ数に依存するため、機械学習により学習済み演算モデル52を構築するコストは、対象の環境に適合する新たな学習済み機械学習モデル45を構築するコストよりも低く抑えることができる。よって、第1の方法によれば、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを抑えたまま、所定の推論の精度の向上を図ることができる。
(2)第2の方法
図11Aは、第2の方法により各統合パラメータPの値を決定する場面の一例を模式的に例示する。第2の方法では、制御部11は、所定の推論を実行する対象の環境と各推論モデルの導出に利用されたローカル学習データ30の得られた学習環境との比較に基づいて、各統合パラメータPの値を決定する。具体的には、制御部11は、環境データ63と各件の学習環境データ35との適合度を算出し、算出された適合度に応じて、対応する各推論モデルに対する統合パラメータPの値を決定する。
図11Aは、第2の方法により各統合パラメータPの値を決定する場面の一例を模式的に例示する。第2の方法では、制御部11は、所定の推論を実行する対象の環境と各推論モデルの導出に利用されたローカル学習データ30の得られた学習環境との比較に基づいて、各統合パラメータPの値を決定する。具体的には、制御部11は、環境データ63と各件の学習環境データ35との適合度を算出し、算出された適合度に応じて、対応する各推論モデルに対する統合パラメータPの値を決定する。
図11Bは、第2の方法により各統合パラメータPの値を決定するサブルーチンの処理手順の一例を示すフローチャートである。第2の方法を採用する場合、上記ステップS211は、以下のステップS311~ステップS313の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
ステップS311では、制御部11は、各推論モデルの導出に利用されたローカル学習データ30の得られた環境に関する学習環境データ35を取得する。上記のとおり、本実施形態では、各学習済み機械学習モデル45の学習環境データ35は、各ローカル学習装置2から推論装置1に任意のタイミングで提供されてよい。制御部11は、各件の学習環境データ35を適宜取得してよい。各件の学習環境データ35を取得すると、制御部11は、次のステップS312に処理を進める。
ステップS312では、制御部11は、各件の学習環境データ35及び環境データ63の適合度を算出する。算出された適合度により対象の環境と学習環境とが類似しているか否かを評価可能であれば、適合度の形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、学習環境データ35及び環境データ63の一致度を適合度として算出してもよい。また、例えば、制御部11は、学習環境データ35及び環境データ63の間の距離(ノルム)を算出し、算出された距離に応じて適合度を算出してもよい。この場合、制御部11は、算出された距離が大きいほど適合度を小さな値に算出し、算出された距離が小さいほど適合度を大きな値に算出してもよい。距離と適合度との間の対応関係は、データテーブル、関数式、又はルール等により表現されてよい。この対応関係は、オペレータ等により手動的に設定されてよいし、或いは、例えば、フィッティング等の公知の方法により自動的に導出されてもよい。若しくは、制御部11は、算出された距離の逆数を適合度として算出してもよい。適合度は、所定数のグレードで表現されてもよいし、或いは、連続値により表現されてもよい。各適合度を算出すると、制御部11は、次のステップS313に処理を進める。
ステップS313では、制御部11は、算出された各適合度に応じて、対応する各推論モデルに対する各統合パラメータPの値を決定する。対象の環境に類似する学習環境から得られたローカル学習データ30から導出された推論モデルの推論結果は、当該対象の環境でも信頼性が高いと想定される。反対に、対象の環境と大きく相違する学習環境から得られたローカル学習データ30から導出された推論モデルの推論結果は、当該対象の環境においては信頼性が低いと想定される。そのため、制御部11は、適合度が大きいほど統合パラメータPの値を大きな値に算出し、適合度が小さいほど統合パラメータPの値を小さな値に算出してもよい。適合度と統合パラメータPの値との対応関係は、データテーブル、関数式、又はルール等により表現されてよい。この対応関係は、オペレータ等により手動的に設定されてよいし、或いは、例えば、フィッティング等の公知の方法により自動的に導出されてもよい。若しくは、制御部11は、算出された各適合度をそのまま各統合パラメータPの値として採用してもよい。
これにより、制御部11は、算出された適合度に応じて、各推論モデルに対する各統合パラメータPの値を決定することができる。制御部11は、各統合パラメータPの値を決定した結果を示す情報を、統合規則データ57の少なくとも一部として保存してもよいし、統合規則データ57とは別に保存してもよい。各統合パラメータPの値を決定すると、制御部11は、ステップS211に関するサブルーチンの処理を終了する。本実施形態では、各統合パラメータPの値を決定した後、制御部11は、ステップS212以降の処理を実行することで、各学習済み機械学習モデル45の推論結果を統合する。
第1の方法とは異なり、第2の方法では、学習済み演算モデル52を生成する手間を省略することができる。また、対象の環境と学習環境との比較という簡易な処理により、各統合パラメータPの値を適切に決定することができる。そのため、第2の方法によれば、簡易な方法により、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
(3)第3の方法
図12Aは、第3の方法により各統合パラメータPの値を決定する場面の一例を模式的に例示する。第3の方法では、制御部11は、入力装置15を介したオペレータによる統合パラメータPの値の指定を受け付けて、対象の統合パラメータPの値を指定された値に設定する。図12Aは、この統合パラメータPの値の指定を受け付けるための受付画面の一例を模式的に例示する。
図12Aは、第3の方法により各統合パラメータPの値を決定する場面の一例を模式的に例示する。第3の方法では、制御部11は、入力装置15を介したオペレータによる統合パラメータPの値の指定を受け付けて、対象の統合パラメータPの値を指定された値に設定する。図12Aは、この統合パラメータPの値の指定を受け付けるための受付画面の一例を模式的に例示する。
図12Bは、第3の方法により統合パラメータPの値を設定するサブルーチンの処理手順の一例を示すフローチャートである。制御部11は、パラメータ設定部119として動作し、以下のステップS321~ステップS323の処理を実行する。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
ステップS321では、制御部11は、推論モデルに対する統合パラメータPの値の入力を受け付けるための受付画面を出力する。ステップS322では、制御部11は、受付画面を介して、複数の統合パラメータPのうちの少なくとも1つの統合パラメータPの値の指定を受け付ける。
本実施形態では、制御部11は、図12Aに例示される受付画面を出力装置16に出力する。受付画面の出力先は、出力装置16に限定されなくてもよい。受付画面は、例えば、他のコンピュータの出力装置に出力されてよい。図12Aに例示される受付画面は、表示欄161、選択欄162、入力欄163、及び決定ボタン165を備えている。
表示欄161には、各推論モデルの情報が表示される。例えば、表示欄161には、学習環境データ35の内容が表示されてもよい。また、例えば、上記適合度が算出されている場合、表示欄161には、算出された適合度が表示されてもよい。選択欄162では、推論処理に使用するか否かの選択が受け付けられる。本実施形態では、制御部11は、選択欄162の選択に応じて、推論処理に使用する学習済み機械学習モデル45を決定する。
入力欄163では、対象の推論モデルに対する統合パラメータPの値の指定が受け付けられる。オペレータは、入力装置15を操作して、対象の推論モデルの入力欄163に所望の値を入力することにより、対応する統合パラメータPの値を指定することができる。統合パラメータPの値は、所定数のグレードから指定されてもよいし、連続値により指定されてもよい。なお、入力欄163に無効値(例えば、0)を入力することで、対象の推論モデルを使用しないことが指定されてよい。この場合に、選択欄162は省略されてよい。
決定ボタン165は、統合パラメータPの値の指定を終了するために利用される。統合パラメータPの値の指定が完了した後、オペレータは、入力装置15を操作して、決定ボタン165を操作する。制御部11は、この決定ボタン165の操作に応じて、ステップS322の処理を終了し、次のステップS323に処理を進める。
ステップS323では、制御部11は、対象の統合パラメータPの値を指定された値に設定する。制御部11は、指定された設定内容に関する情報を、統合規則データ57の少なくとも一部として保存してもよいし、統合規則データ57とは別に保存してもよい。対象の統合パラメータPの値の設定が完了すると、制御部11は、統合パラメータPの値の設定に関するサブルーチンの処理を終了する。本実施形態では、統合パラメータPの値を設定した後、制御部11は、ステップS212以降の処理を実行することで、各学習済み機械学習モデル45の推論結果を統合する。上記ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPに対応する学習済み機械学習モデル45の推論結果を重み付けする。
第3の方法によれば、各学習済み機械学習モデル45の推論結果に適用する各統合パラメータPの値の少なくとも一部をオペレータの指定により決定することができる。そのため、対象の環境下で実行される所定の推論にオペレータの意図(例えば、特定の学習済み機械学習モデル45の推論結果を重視する)を反映することができる。
(4)小括
本実施形態では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、ステップS211において、各統合パラメータPの値を決定することができる。上記3つの方法は、適宜採用されてよい。例えば、制御部11は、第1の方法又は第2の方法で、各統合パラメータPの値を決定した後、第3の方法により、複数の統合パラメータPのうちの少なくともいずれかの値を修正してもよい。
本実施形態では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、ステップS211において、各統合パラメータPの値を決定することができる。上記3つの方法は、適宜採用されてよい。例えば、制御部11は、第1の方法又は第2の方法で、各統合パラメータPの値を決定した後、第3の方法により、複数の統合パラメータPのうちの少なくともいずれかの値を修正してもよい。
<推論モデルのグルーピング>
次に、図13Aを用いて、各推論モデルのグルーピングについて説明する。図13Aは、各推論モデルをグルーピングする場面の一例を模式的に例示する。本実施形態では、推論モデルの一例である学習済み機械学習モデル45は、個々のローカル学習装置2により生成される。そのため、複数の学習済み機械学習モデル45のうちの一の学習済み機械学習モデル45と他の学習済み機械学習モデル45とが、全く異なる目的により、異なる推論を実施するために生成される可能性がある。この場合、一の学習済み機械学習モデル45の推論結果と他の学習済み機械学習モデル45の推論結果とを統合するのは困難である。
次に、図13Aを用いて、各推論モデルのグルーピングについて説明する。図13Aは、各推論モデルをグルーピングする場面の一例を模式的に例示する。本実施形態では、推論モデルの一例である学習済み機械学習モデル45は、個々のローカル学習装置2により生成される。そのため、複数の学習済み機械学習モデル45のうちの一の学習済み機械学習モデル45と他の学習済み機械学習モデル45とが、全く異なる目的により、異なる推論を実施するために生成される可能性がある。この場合、一の学習済み機械学習モデル45の推論結果と他の学習済み機械学習モデル45の推論結果とを統合するのは困難である。
そこで、本実施形態では、制御部11は、グルーピング部1110として動作し、各推論モデル(本実施形態では、各学習済み機械学習モデル45)を複数のグループのうちの少なくともいずれかに割り当ててもよい。各グループは、推論の種類、目的、対象の環境等に応じて適宜設定されてよい。図13Aは、グループA及びグループBの2つのグループに各学習済み機械学習モデル45を割り当てる場面の一例を模式的に例示する。制御部11は、この各学習済み機械学習モデル45に対するグループの割り当て結果を割当情報125に格納する。割当情報125は、例えば、所定の記憶領域に保存されてよい。所定の記憶領域は、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
これに応じて、統合規則5はグループ毎に用意される。上記ステップS203では、制御部11は、設定された複数のグループのうち対象の環境で利用するグループを特定し、特定されたグループに属する学習済み機械学習モデル45について、上記推論結果を取得する処理を実行してもよい。そして、上記ステップS204では、制御部11は、対応する統合規則5に従って、特定されたグループに属する学習済み機械学習モデル45の推論結果を統合してもよい。これにより、目的に応じてグループ毎に統合処理を実行することができる。
なお、グルーピングの方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、制御部11は、以下の2つの方法のうちのいずれかの方法により、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てることができる。
(1)第1のグルーピング方法
まず、図13Bを用いて、第1のグルーピング方法の一例について説明する。図13Bは、第1のグルーピング方法による各推論モデルに対するグループの割り当てに関する処理手順のいちれいを示すフローチャートである。第1のグルーピング方法では、制御部11は、グループのリストから所望のグループを選択することで、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てる。
まず、図13Bを用いて、第1のグルーピング方法の一例について説明する。図13Bは、第1のグルーピング方法による各推論モデルに対するグループの割り当てに関する処理手順のいちれいを示すフローチャートである。第1のグルーピング方法では、制御部11は、グループのリストから所望のグループを選択することで、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てる。
なお、各推論モデルをグループに割り当てる方法として第1のグルーピング方法が採用された場合、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てることは、以下のステップS411及びステップS412の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
ステップS411では、制御部11は、複数のグループを示すリストから、各推論モデルに対して割り当てる1つ以上のグループの選択を受け付ける。例えば、制御部11は、複数のグループを示すリストを出力装置16に出力してもよい。これに応じて、オペレータは、入力装置15を操作して、各推論モデルに対して割り当てる1つ以上のグループをリストの中から選択してもよい。これにより、複数のグループを示すリストから、各推論モデルに対して割り当てる1つ以上のグループの選択を受け付けることができる。
なお、グループの選択は、推論装置1で実施されなくてもよい。例えば、グループの選択は、各ローカル学習装置2により実施されてもよい。具体例として、制御部11は、複数のグループを示すリストを各ローカル学習装置2に配信してもよい。これにより、制御部11は、各ローカル学習装置2に対して、リストに示される複数のグループの中から1つ以上のグループを選択させてよい。
また、リストに含まれる各グループは、ローカル学習データ30、ローカル学習装置2、ローカル学習装置2の利用者等の属性に応じて設定されてよい。例えば、センサの最適な観測方法を推定するケースで、工場の製造ラインの状態を監視するためにセンサが利用されている場面を想定する。この場合、ライン番号、工場名、企業名等の属性に応じてグループが設定されていてもよい。オペレータの操作又は各ローカル学習装置2からの要求により、新たなグループがリストに追加されてよい。
ステップS412では、制御部11は、ステップS411の回答に基づいて、選択された1つ以上のグループに各推論モデルを割り当てる。1つ以上のグループの割り当てが完了すると、制御部11は、第1のグルーピング方法によるグループの割り当てに関する一連の処理を終了する。この第1のグルーピング方法によれば、制御部11は、簡易な方法により各推論モデルをグループ分けすることができる。
(2)第2のグルーピング方法
次に、図13Cを用いて、第2のグルーピング方法の一例について説明する。図13Cは、第2のグルーピング方法による各推論モデルに対するグループの割り当てに関する処理手順の一例を示すフローチャートである。第2のグルーピング方法では、制御部11は、ローカル学習データ30の属性に応じて、各推論モデルを適切なグループに割り当てる。
次に、図13Cを用いて、第2のグルーピング方法の一例について説明する。図13Cは、第2のグルーピング方法による各推論モデルに対するグループの割り当てに関する処理手順の一例を示すフローチャートである。第2のグルーピング方法では、制御部11は、ローカル学習データ30の属性に応じて、各推論モデルを適切なグループに割り当てる。
なお、各推論モデルをグループに割り当てる方法として第2のグルーピング方法が採用された場合、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てることは、以下のステップS421~ステップS423の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS421)
ステップS421では、制御部11は、ローカル学習データ30に関する属性データを各ローカル学習装置2から取得する。属性データを取得する方法は、上記学習環境データ35を取得する方法と同様であってよい。制御部11は、各ローカル学習装置2から属性データを適宜取得してよい。
ステップS421では、制御部11は、ローカル学習データ30に関する属性データを各ローカル学習装置2から取得する。属性データを取得する方法は、上記学習環境データ35を取得する方法と同様であってよい。制御部11は、各ローカル学習装置2から属性データを適宜取得してよい。
属性データは、ローカル学習データ30に関するあらゆる情報を含んでもよい。属性データは、例えば、ローカル学習データ30に含まれるデータの種別を示す情報、データに表れる特徴を示す情報、データの利用目的を示す情報等を含んでもよい。また、属性データは、学習環境データ35を含んでもよい。属性データは、上記ステップS101によりローカル学習データ30を取得する際、及びステップS103により学習環境データ35を取得する際の少なくともいずれかで生成されてよい。属性データを取得すると、制御部11は、次のステップS422に処理を進める。
(ステップS422及びステップS423)
ステップS422では、制御部11は、各ローカル学習装置2から取得された属性データをクラスタリングする。クラスタリングの方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。クラスタリングには、k平均法(k-meansクラスタリング)等の公知の方法が採用されてよい。
ステップS422では、制御部11は、各ローカル学習装置2から取得された属性データをクラスタリングする。クラスタリングの方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。クラスタリングには、k平均法(k-meansクラスタリング)等の公知の方法が採用されてよい。
ステップS423では、制御部11は、クラスタリングの結果に基づいて、各推論モデルを複数のグループのうちの少なくともいずれかに割り当てる。一例として、制御部11は、取得した属性データが同一のクラスに割り当てられた推論モデルを同一のグループに割り当てる。この場合、各グループは、属性データのクラスに応じて設定されてよい。また、制御部11は、クラスタリングの結果に基づいて、各推論モデルを2つ以上のグループに割り当ててもよい。
クラスタリングの結果に基づくグループの割り当てが完了すると、制御部11は、第2のグルーピング方法によるグループの割り当てに関する一連の処理を終了する。この第2のグルーピング方法によれば、制御部11は、ローカル学習データ30の属性に応じて、各推論モデルを適切なグループに割り当てることができる。
以上の2つの方法の少なくともいずれかの方法を採用することで、制御部11は、各推論モデルを適切にグループ分けすることができる。ただし、グルーピングの方法は、これらの例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
[特徴]
以上のとおり、本実施形態に係る推論装置1は、対象の環境下で所定の推論を実行するために、新たな推論モデルを構築するのではなく、上記ステップS203及びステップS204の処理では、既に構築された複数の学習済み機械学習モデル45を活用する。上記ステップS211~ステップS213の統合処理では、本実施形態に係る推論装置1は、環境データ63に示される対象の環境に応じて、各学習済み機械学習モデル45の推論を重視する程度を調整する。これにより、本実施形態に係る推論装置1は、様々な環境で得られた所定の推論に関する知見を新たな環境に適合するようにカスタマイズすることができる。その結果、カスタマイズされた知見、換言すると、各学習済み機械学習モデル45の重み付けされた推論結果を統合した結果に基づいて、対象の環境下で所定の推論を適切に実行することができる。
以上のとおり、本実施形態に係る推論装置1は、対象の環境下で所定の推論を実行するために、新たな推論モデルを構築するのではなく、上記ステップS203及びステップS204の処理では、既に構築された複数の学習済み機械学習モデル45を活用する。上記ステップS211~ステップS213の統合処理では、本実施形態に係る推論装置1は、環境データ63に示される対象の環境に応じて、各学習済み機械学習モデル45の推論を重視する程度を調整する。これにより、本実施形態に係る推論装置1は、様々な環境で得られた所定の推論に関する知見を新たな環境に適合するようにカスタマイズすることができる。その結果、カスタマイズされた知見、換言すると、各学習済み機械学習モデル45の重み付けされた推論結果を統合した結果に基づいて、対象の環境下で所定の推論を適切に実行することができる。
したがって、本実施形態によれば、異なる環境下で得られたローカル学習データ30からそれぞれ導出された複数の学習済み機械学習モデル45を活用することで、対象の環境下で所定の推論を適切に実行可能な新たな推論モデルを構築することができる。そのため、対象の環境下で新たな学習データを収集し、収集された新たな学習データから新たな推論モデルを導出する、特に、新たな学習済み機械学習モデルを生成する作業の手間を省略することができる。よって、本実施形態によれば、新たな環境で所定の推論を適切に実行可能な推論モデルを構築するのにかかるコストを低減することができる。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態に係る推論装置1及び各ローカル学習装置2は、推論モデルにより何らかの推論を実行するあらゆる場面に適用されてよい。何らかの推論を実行する場面とは、例えば、センサの最適な観測方法を推定する場面、移動体の移動する経路を予測する場面、ユーザに適合する会話戦略を推定する場面、タスクに適合するロボット装置の動作指令を推定する場面等である。以下、適用場面を限定した4つの変形例を例示する。
上記実施形態に係る推論装置1及び各ローカル学習装置2は、推論モデルにより何らかの推論を実行するあらゆる場面に適用されてよい。何らかの推論を実行する場面とは、例えば、センサの最適な観測方法を推定する場面、移動体の移動する経路を予測する場面、ユーザに適合する会話戦略を推定する場面、タスクに適合するロボット装置の動作指令を推定する場面等である。以下、適用場面を限定した4つの変形例を例示する。
(A)センサの最適な観測方法を推定する場面
図14は、第1変形例に係る検査システム100Aの適用場面の一例を模式的に例示する。本変形例は、センサの最適な観測方法を推測する場面に上記実施形態を適用した例である。図14に示されるとおり、本変形例に係る検査システム100Aは、検査装置1A及び複数のローカル学習装置2Aを備えている。上記実施形態と同様に、検査装置1A及び各ローカル学習装置2Aは、ネットワークを介して互いに接続されてよい。
図14は、第1変形例に係る検査システム100Aの適用場面の一例を模式的に例示する。本変形例は、センサの最適な観測方法を推測する場面に上記実施形態を適用した例である。図14に示されるとおり、本変形例に係る検査システム100Aは、検査装置1A及び複数のローカル学習装置2Aを備えている。上記実施形態と同様に、検査装置1A及び各ローカル学習装置2Aは、ネットワークを介して互いに接続されてよい。
検査装置1Aは、上記推論装置1に対応する。各ローカル学習装置2Aは、上記各ローカル学習装置2に対応する。取り扱うデータ及び推論の内容が限定されている点を除き、検査装置1Aは、上記推論装置1と同様に構成されてよく、各ローカル学習装置2Aは、上記各ローカル学習装置2と同様に構成されてよい。検査装置1Aのハードウェア構成及びソフトウェア構成は、上記推論装置1と同様であってよい。各ローカル学習装置2Aのハードウェア構成及びソフトウェア構成は、上記各ローカル学習装置2と同様であってよい。
本変形例では、検査装置1A及び各ローカル学習装置2Aには、センサSA1が接続されている。本変形例に係る所定の推論は、センサSA1により対象物RAの属性を観測する現在の観測状態から、所定の条件に適合した観測データをセンサSA1により得るための適正な観測状態への変更方法を推定することである。センサSA1は、例えば、カメラ、マイクロフォン、バイタルセンサ等であってよい。カメラは、例えば、RGB画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。対象物RAは、例えば、製品、植物、人物等であってよい。
所定の条件は、センサSA1の観測目的に応じて適宜規定されてよい。例えば、対象物RAの品質評価のためにセンサSA1により観測データを得る場合を想定する。この場合、所定の条件は、センサSA1により得られる観測データに対する品質評価に関する推論の性能に応じて規定されてよい。対象物RAの品質評価は、例えば、製品の検査(例えば、欠陥検出)、植物(例えば、農作物)の生育状態の検査、人物の健康状態の検査等であってよい。具体例として、製品の検査の場合、所定の条件は、センサSA1により得られた観測データに基づいて、欠陥検出が可能であるか否か、欠陥検出の精度が基準を満たすか否か等の、センサにより得られる観測データに対する目的の検査の性能に応じて規定されてよい。
本変形例に係る各ローカル学習装置2Aは、センサSA1の適正な観測状態への変更方法を推定する能力を獲得した学習済み機械学習モデル45Aを生成する。これに対して、本変形例に係る検査装置1Aは、各ローカル学習装置2Aにより異なる環境下で得られたローカル学習データ30Aから導出された各学習済み機械学習モデル45Aを利用して、対象の環境下において対象のセンサSA1の最適な観測方法を推定する。本変形例では、最適な観測方法を推定する対象のセンサSA1は、検査装置1Aに接続されたセンサSA1である。ただし、対象のセンサSA1は、これに限られなくてもよく、検査装置1Aは、他のコンピュータに接続されたセンサSA1の最適な観測方法を推定してもよい。
本変形例に係る検査装置1Aは、所定の推論の対象となる対象データ61A、及び所定の推論を実行する対象の環境に関する環境データ63Aを取得する。本変形例に係る所定の推論の対象となる対象データ61Aは、対象のセンサSA1の現在の観測状態に関するものである。一方、本変形例に係る所定の推論を実行する対象の環境に関する環境データ63Aは、対象のセンサSA1が対象物RAの属性を観測する対象の観測環境に関するものである。
本変形例では、検査装置1Aは、他のセンサSA2に更に接続されている。他のセンサSA2は、最適な観測方法を推定する対象のセンサSA1とは異なり、対象の観測環境を観測するのに利用される。そのため、検査装置1Aは、他のセンサSA2から環境データ63Aを取得することができる。対象の観測環境として、明るさ、温度、湿度等を考慮する場合、他のセンサSA2は、例えば、カメラ、光度計、照度計、温度計、湿度計等であってよい。
本変形例に係る検査装置1Aは、取得された対象データ61Aを各学習済み機械学習モデル45Aに与えて、センサSA1の適正な観測状態への変更方法を各学習済み機械学習モデル45Aに推定させる。これにより、本変形例に係る検査装置1Aは、センサSA1の適正な観測状態への変更方法ついての各学習済み機械学習モデル45Aの推定結果を取得する。そして、本変形例に係る検査装置1Aは、統合規則5Aに従って、各学習済み機械学習モデル45Aの推定結果を統合する。
上記実施形態と同様に、統合規則5Aは、対象の環境下において、各学習済み機械学習モデル45Aの推定結果を重視する程度をそれぞれ規定する複数の統合パラメータPAを備えている。本変形例に係る検査装置1Aは、環境データ63Aに応じて、各統合パラメータPAの値を決定する。このとき、環境データ63Aの他に、対象データ61Aが更に考慮されてもよい。次に、本変形例に係る検査装置1Aは、決定された各統合パラメータPAの値を使用して、対応する各学習済み機械学習モデル45Aの推定結果を重み付けする。そして、本変形例に係る検査装置1Aは、各学習済み機械学習モデル45Aの重み付けされた推定結果を統合する。
これにより、本変形例に係る検査装置1Aは、対象の環境下において、対象のセンサSA1の現在の観測状態から適正な観測状態への変更方法を推定した結果を生成することができる。適正な観測状態への変更方法を推定することは、当該変更方法を直接的に推定すること、及び適正な観測状態を推定し、推定された適正な観測状態と現在の観測状態との差分を算出することで、適正な観測状態に導くための変更方法を間接的に推定することを含んでよい。
なお、図14の各シンボルは、製品の画像検査の場面を模式的に例示している。対象物RAは、製造ラインで製造される製品であってよく、センサSA1は、カメラであってよい。センサSA1により得られる観測データは、画像データであってよい。画像検査の場面で明るさを考慮する場合、他のセンサSA2は、光度計又は照度計であってもよい。所定の条件は、対象物RA(製品)の属性(例えば、欠陥の有無、欠陥の種別)を検査するのに適するように対象物RAが画像データに写ることに関するものであってよい。
また、本変形例では、検査装置1Aは、雲台装置IN1及び照明装置IN2に更に接続されている。センサS1は、雲台装置IN1に取り付けられている。雲台装置IN1は、台座部In11、第1関節部In12、及び第2関節部In13を備えている。各関節部(In12、In13)は、サーボモータ等の駆動装置を備えてよい。第1関節部In12は、台座部In11に接続されており、先端側の部分を台座の軸周りに回転させる。第2関節部In13は、第1関節部In12に接続されており、先端側の部分を前後方向に回転させる。雲台装置IN1は、これらを備えていることで、コンピュータ制御によりセンサS1の向き及び配置を変更可能に構成されている。また、照明装置IN2は、コンピュータ制御により出力する光の量を調節することで、観測環境の明るさを変更可能に構成されてよい。
雲台装置IN1及び照明装置IN2によれば、センサSA1の観測状態のうち、センサSA1の設置角度及び対象物RA周囲の明るさを変更させることができる。雲台装置IN1及び照明装置IN2はそれぞれ、本発明の「介入装置」の一例である。ただし、介入装置は、対象のセンサSA1の観測状態に介入することで、観測状態を変更可能に構成されていれば、このような例に限定されなくてもよい。温度、湿度に介入する場合、空調装置、加湿器、ヒータ等が介入装置として利用されてよい。また、対象物RA及びセンサSA1の少なくとも一方の位置又は姿勢に介入する場合、コンベア装置、ロボットアーム等が介入装置として利用されてよい。
<学習済み機械学習モデルの生成>
本変形例に係る各ローカル学習装置2Aは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Aを生成する。すなわち、ステップS101では、各ローカル学習装置2Aは、ローカル学習データ30Aを取得する。そして、ステップS102では、各ローカル学習装置2Aは、取得されたローカル学習データ30Aを利用して、機械学習モデル40Aの機械学習を実行する。機械学習モデル40Aの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
本変形例に係る各ローカル学習装置2Aは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Aを生成する。すなわち、ステップS101では、各ローカル学習装置2Aは、ローカル学習データ30Aを取得する。そして、ステップS102では、各ローカル学習装置2Aは、取得されたローカル学習データ30Aを利用して、機械学習モデル40Aの機械学習を実行する。機械学習モデル40Aの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
一例として、機械学習の方法には、上記教師あり学習(第1の例)又は強化学習(第3の例)が用いられてよい。教師あり学習を採用する場合、ローカル学習データ30Aは、訓練データ及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成される。訓練データは、上記対象データ61Aと同種であり、センサSA1の現在の観測状態に関するデータにより構成されてよい。正解データは、訓練データに対する推論の結果(正解)、すなわち、現在の観測状態から適正な観測状態への変更方法を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Aは、取得されたローカル学習データ30Aを利用して、機械学習モデル40Aの教師あり学習を実行する。教師あり学習の方法は、上記実施形態と同様であってよい。
また、強化学習を採用する場合、機械学習モデル40Aには、価値ベース、方策ベース、又はその両方が採用されてよい。観測対象となる状態は、センサSA1の観測状態であってよく、エージェントにより実行される行動は、センサSA1の観測状態の変更であってよい。報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、機械学習モデル40Aの推定結果の適正度に応じて即時報酬を与えるように設定されてもよい。この場合、上記実施形態と同様に、適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、センサSA1により得られる観測データに対して目的の推定処理を実行するように構成されてよい。例えば、製品の画像検査の場面では、判定器は、画像データから製品の欠陥を検出するように構成されてよい。これに応じて、報酬関数は、複数回の推定処理の試行の結果に基づいて、推定処理の精度が閾値以上であればプラスの即時報酬を与え、推定処理の精度が許容値以下(例えば、欠陥検出不能)であればマイナスの即時報酬を与えるように設定されてよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。本変形例では、事例データは、例えば、熟練者の操作により得られたセンサSA1の変更方法を示すデータにより構成されてよい。各ローカル学習装置2Aは、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、機械学習モデル40Aの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
各ローカル学習装置2Aは、上記いずれかの方法により、機械学習モデル40Aの機械学習を実行することができる。これにより、各ローカル学習装置2Aは、センサSA1により対象物RAの属性を観測する現在の観測状態から、所定の条件に適合した観測データをセンサSA1により得るための適正な観測状態への変更方法を推定する能力を獲得した学習済み機械学習モデル45Aを生成することができる。
ステップS103では、各ローカル学習装置2Aは、ローカル学習データ30Aの得られた環境に関する学習環境データ35Aを取得する。学習環境データ35Aは、検査装置1Aで得られる環境データ63Aと同種のデータである。学習環境データ35Aを取得する方法は、環境データ63Aを取得する方法と同様であってよい。例えば、各ローカル学習装置2Aは、他のセンサSA2と同種のセンサに更に接続されてよく、学習環境データ35Aを当該センサから取得してもよい。ステップS104では、各ローカル学習装置2Aは、生成された学習済み機械学習モデル45Aに関する情報を学習結果データ47Aとして生成する。そして、各ローカル学習装置2Aは、学習結果データ47Aを学習環境データ35Aに関連付けて所定の記憶領域に保存する。
本変形例では、各ローカル学習装置2Aの間において、ローカル学習データ30Aが異なる環境下で取得されてよい。そして、得られたローカル学習データ30Aから学習済み機械学習モデル45Aが生成されてよい。その結果、センサSA1の最適な観測方法を推定可能に、異なる環境下で得られたローカル学習データ30Aから導出された複数の学習済み機械学習モデル45Aを得ることができる。
<検査装置のハードウェア構成>
図15は、本変形例に係る検査装置1Aのハードウェア構成の一例を模式的に例示する。図15に示されるとおり、本変形例に係る検査装置1Aは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。検査装置1Aは、外部インタフェース14を介して、センサSA1、他のセンサSA2、雲台装置IN1及び照明装置IN2に接続される。ただし、検査装置1Aのハードウェア構成は、このような例に限定されなくてもよい。検査装置1Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置1Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC(programmable logic controller)等であってもよい。
図15は、本変形例に係る検査装置1Aのハードウェア構成の一例を模式的に例示する。図15に示されるとおり、本変形例に係る検査装置1Aは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。検査装置1Aは、外部インタフェース14を介して、センサSA1、他のセンサSA2、雲台装置IN1及び照明装置IN2に接続される。ただし、検査装置1Aのハードウェア構成は、このような例に限定されなくてもよい。検査装置1Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置1Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC(programmable logic controller)等であってもよい。
本変形例に係る検査装置1Aの記憶部12は、検査プログラム81A、統合規則データ57A、学習結果データ47A、学習データ59A、学習環境データ35A等の各種情報を記憶する。検査プログラム81A、統合規則データ57A、学習結果データ47A、学習データ59A、及び学習環境データ35Aは、上記実施形態に係る推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35に対応する。検査プログラム81A、統合規則データ57A、学習結果データ47A、学習データ59A、及び学習環境データ35Aの少なくともいずれかは記憶媒体91に記憶されていてもよい。また、検査装置1Aは、記憶媒体91から、検査プログラム81A、統合規則データ57A、学習結果データ47A、学習データ59A、及び学習環境データ35Aの少なくともいずれかを取得してもよい。
<検査装置のソフトウェア構成>
図16A及び図16Bは、本変形例に係る検査装置1Aのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置1Aのソフトウェア構成は、制御部11による検査プログラム81Aの実行により実現される。図16A及び図16Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、検査装置1Aのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、検査装置1Aは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
図16A及び図16Bは、本変形例に係る検査装置1Aのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置1Aのソフトウェア構成は、制御部11による検査プログラム81Aの実行により実現される。図16A及び図16Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、検査装置1Aのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、検査装置1Aは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
(ステップS201)
すなわち、図16Aに示されるとおり、ステップS201では、検査装置1Aの制御部11は、対象データ61Aを取得する。対象データ61Aは、対象のセンサSA1の現在の観測状態に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Aには、例えば、対象センサSA1の設置状況に関する属性を示すデータ、対象センサSA1の動作設定に関する属性を示すデータ、対象センサSA1により得られる観測データ等が含まれてよい。対象センサSA1の設置状況に関する属性には、例えば、センサSA1の設置角度、センサSA1と観測対象(対象物RA)との間の距離、センサSA1による観測に影響を及ぼす観測属性(例えば、明るさ、温度、湿度等)等が含まれてよい。対象センサSA1の動作設定に関する属性には、例えば、センサSA1の計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等が含まれてよい。具体例として、センサSA1がカメラの場合、動作設定に関する属性には、絞り値、シャッタースピード、ズーム倍率等が含まれてよい。
すなわち、図16Aに示されるとおり、ステップS201では、検査装置1Aの制御部11は、対象データ61Aを取得する。対象データ61Aは、対象のセンサSA1の現在の観測状態に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Aには、例えば、対象センサSA1の設置状況に関する属性を示すデータ、対象センサSA1の動作設定に関する属性を示すデータ、対象センサSA1により得られる観測データ等が含まれてよい。対象センサSA1の設置状況に関する属性には、例えば、センサSA1の設置角度、センサSA1と観測対象(対象物RA)との間の距離、センサSA1による観測に影響を及ぼす観測属性(例えば、明るさ、温度、湿度等)等が含まれてよい。対象センサSA1の動作設定に関する属性には、例えば、センサSA1の計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等が含まれてよい。具体例として、センサSA1がカメラの場合、動作設定に関する属性には、絞り値、シャッタースピード、ズーム倍率等が含まれてよい。
対象データ61Aを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、対象センサSA1自身から対象データ61Aが取得されてもよい。また、例えば、環境属性を観測する他のセンサ(例えば、他のセンサSA2)から対象データ61Aが取得されてもよい。また、本変形例では、介入装置として、雲台装置IN1及び照明装置IN2が検査装置1Aに接続されている。各介入装置自身及び各介入装置の状態を観測するセンサ(不図示)の少なくともいずれかから対象データ61Aが取得されてもよい。また、例えば、オペレータ等の入力により、対象データ61Aは取得されてもよい。制御部11は、各装置から直接的に対象データ61Aを取得してもよいし、他のコンピュータを介して間接的に対象データ61Aを取得してもよい。
(ステップS202)
ステップS202では、制御部11は、環境データ63Aを取得する。環境データ63Aは、対象のセンサSA1が対象物RAの属性を観測する対象の観測環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Aには、例えば、対象センサSA1の仕様(又は性能)に関する属性を示すデータ、観測対象(対象物RA)の属性を示すデータ、対象センサSA1による観測に影響を及ぼす環境属性等が含まれてよい。対象センサSA1の仕様(又は性能)に関する属性には、例えば、センサSA1の感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。観測対象(対象物RA)の属性には、例えば、観測対象の種別、観測目的等が含まれてよい。観測対象の種別は、例えば、製品・ワークの種別、植物の種別等であってよい。観測目的は、例えば、欠陥検出、品質検査等である。
ステップS202では、制御部11は、環境データ63Aを取得する。環境データ63Aは、対象のセンサSA1が対象物RAの属性を観測する対象の観測環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Aには、例えば、対象センサSA1の仕様(又は性能)に関する属性を示すデータ、観測対象(対象物RA)の属性を示すデータ、対象センサSA1による観測に影響を及ぼす環境属性等が含まれてよい。対象センサSA1の仕様(又は性能)に関する属性には、例えば、センサSA1の感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。観測対象(対象物RA)の属性には、例えば、観測対象の種別、観測目的等が含まれてよい。観測対象の種別は、例えば、製品・ワークの種別、植物の種別等であってよい。観測目的は、例えば、欠陥検出、品質検査等である。
環境データ63Aを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、オペレータ等の入力により、環境データ63Aは取得されてもよい。また、例えば、対象センサSA1自身から環境データ63Aが取得されてもよい。また、例えば、対象センサSA1により得られる観測データから環境データ63Aが取得されてもよい。また、例えば、環境属性を観測する他のセンサ(例えば、他のセンサSA2)から環境データ63Aが取得されてもよい。制御部11は、各装置から直接的に環境データ63Aを取得してもよいし、他のコンピュータを介して間接的に環境データ63Aを取得してもよい。
(ステップS203)
ステップS203では、制御部11は、各件の学習結果データ47Aを参照することで、各学習済み機械学習モデル45Aの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Aに対象データ61Aを与えて、各学習済み機械学習モデル45Aの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Aの出力として、対象センサSA1の適正な観測状態への変更方法についての各学習済み機械学習モデル45Aの推定結果を取得する。
ステップS203では、制御部11は、各件の学習結果データ47Aを参照することで、各学習済み機械学習モデル45Aの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Aに対象データ61Aを与えて、各学習済み機械学習モデル45Aの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Aの出力として、対象センサSA1の適正な観測状態への変更方法についての各学習済み機械学習モデル45Aの推定結果を取得する。
(ステップS204)
ステップS204では、制御部11は、統合規則データ57Aを参照して、統合規則5Aの設定を行う。そして、制御部11は、統合規則5Aに従って、各学習済み機械学習モデル45Aの推定結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Aに応じて、各統合パラメータPAの値を決定する。このとき、環境データ63Aの他に、対象データ61Aが更に考慮されてもよい。各統合パラメータPAの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
ステップS204では、制御部11は、統合規則データ57Aを参照して、統合規則5Aの設定を行う。そして、制御部11は、統合規則5Aに従って、各学習済み機械学習モデル45Aの推定結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Aに応じて、各統合パラメータPAの値を決定する。このとき、環境データ63Aの他に、対象データ61Aが更に考慮されてもよい。各統合パラメータPAの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
(1)第1の方法
図16Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Aを取得する。そして、制御部11は、学習データ59Aを利用して、演算モデル51Aの機械学習を実行する。演算モデル51Aの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Aの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
図16Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Aを取得する。そして、制御部11は、学習データ59Aを利用して、演算モデル51Aの機械学習を実行する。演算モデル51Aの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Aの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
第1の例を採用する場合、学習データ59Aは、上記学習データ59と同様に、訓練用環境データ、訓練用対象データ、及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成されてよい。訓練用環境データは、環境データ63Aと同種のデータである。訓練用対象データは、対象データ61Aと同種のデータである。正解データは、訓練用対象データに対する推論の結果(正解)、すなわち、対象の環境下において、現在の観測状態から適正な観測状態への変更方法を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。制御部11は、取得された学習データ59Aを利用して、演算モデル51Aの機械学習を実行する。機械学習の方法は、上記第1の例と同様であってよい。
第2の例を採用する場合、演算モデル51Aには、価値ベース、方策ベース、又はその両方が採用されてよい。上記実施形態と同様に、観測対象となる状態は、環境データ63A及び対象データ61Aに対応する。エージェントにより実行される行動は、センサSA1の観測状態の変更であってよい。エージェントは、上記一連の処理により、各学習済み機械学習モデル45Aの推定結果を取得して、取得された推定結果を統合することで、対象の環境下における推定結果を生成することができる。エージェントは、生成された推定結果に基づいて採用する行動を決定してもよい。
報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、上記一連の処理で生成される推定結果の適正度に応じて即時報酬を与えるように設定されてよい。適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、上記機械学習モデル40Aの強化学習における判定器と同様であってよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。この事例データは、上記機械学習モデル40Aの強化学習における報酬関数の設定に利用される事例データと同様であってよい。制御部11は、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、演算モデル51Aの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
制御部11は、上記いずれかの方法により、演算モデル51Aの機械学習を実行することができる。これにより、制御部11は、対象の観測環境下におけるセンサSA1の最適な観測方法の推定に適合する各統合パラメータPAの値を環境データ63A(及び対象データ61A)から推定する能力を獲得した学習済み演算モデル52Aを生成することができる。制御部11は、生成された学習済み演算モデル52Aに関する情報を所定の記憶領域に保存してもよい。学習済み演算モデル52Aに関する情報は、統合規則データ57Aの少なくとも一部として保存されてもよいし、統合規則データ57Aとは別に保存されてもよい。
第1の方法では、制御部11は、上記により生成された学習済み演算モデル52Aを利用して、各統合パラメータPAの値を決定する。すなわち、ステップS211では、制御部11は、学習済み演算モデル52Aに環境データ63Aを与える。このとき、制御部11は、学習済み演算モデル52Aに対象データ61Aを更に与えてよい。そして、制御部11は、学習済み演算モデル52Aの演算処理を実行する。これにより、制御部11は、学習済み演算モデル52Aの出力として、各学習済み機械学習モデル45Aに対する各統合パラメータPAの値を取得することができる。
(2)第2の方法
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPAの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Aの学習環境データ35Aを取得する。次に、制御部11は、各件の学習環境データ35A及び環境データ63Aの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Aに対する各統合パラメータPAの値を決定してもよい。適合度に応じて統合パラメータPAの値を決定する方法は、上記実施形態と同様であってよい。
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPAの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Aの学習環境データ35Aを取得する。次に、制御部11は、各件の学習環境データ35A及び環境データ63Aの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Aに対する各統合パラメータPAの値を決定してもよい。適合度に応じて統合パラメータPAの値を決定する方法は、上記実施形態と同様であってよい。
(3)第3の方法
第3の方法では、制御部11は、オペレータによる統合パラメータPAの値の指定を受け付けて、対象の統合パラメータPAの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(図12A)。
第3の方法では、制御部11は、オペレータによる統合パラメータPAの値の指定を受け付けて、対象の統合パラメータPAの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(図12A)。
図16Aに戻り、ステップS211では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、各統合パラメータPAの値を決定することができる。ステップS212では、制御部11は、決定された各統合パラメータPAの値を使用して、対応する各学習済み機械学習モデル45Aの推定結果を重み付けする。上記第3の方法により複数の統合パラメータPAのうちの少なくともいずれかの値を設定した場合、ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPAに対応する学習済み機械学習モデル45Aの推定結果を重み付けする。ステップS213では、制御部11は、各学習済み機械学習モデル45Aの重み付けされた推定結果を統合する。推定結果の統合は、上記実施形態と同様に、重み付け平均又は重み付き多数決により行われてよい。これにより、対象の環境下において、対象センサSA1の現在の観測状態から適正な観測状態への変更方法を推定した結果を生成することができる。
(ステップS205)
ステップS205では、制御部11は、生成された推定結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された推定結果をそのまま出力装置16に出力してもよいし、生成された推定結果に基づいて、何らかの情報処理を実行してもよい。
ステップS205では、制御部11は、生成された推定結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された推定結果をそのまま出力装置16に出力してもよいし、生成された推定結果に基づいて、何らかの情報処理を実行してもよい。
例えば、制御部11は、ステップS204により生成された推定結果に基づいて、推定された適正な観測状態への変更方法に従って、対象センサSA1の観測状態を変更することをユーザに指示するための指示情報を推定結果に関する情報として生成してもよい。そして、制御部11は、生成された指示情報を出力装置に出力してもよい。出力先の出力装置は、検査装置1Aの出力装置16であってもよいし、他のコンピュータの出力装置であってよい。他のコンピュータは、ユーザの近傍に配置されたコンピュータであってもよいし、ユーザの所持する端末装置であってもよい。この出力方法によれば、専門知識を有さないユーザでも、対象の環境に応じてセンサSA1の観測状態を最適化することができる。
また、検査装置1Aが、対象センサSA1の観測状態を変更させる介入装置に接続されている場合を想定する。この場合、制御部11は、生成された推定結果に基づいて、推定された適正な観測状態への変更方法に従って対象センサSA1の観測状態を変更させる動作を介入装置に実行させるための指令情報を推定結果に関する情報として生成してもよい。そして、制御部11は、介入装置に指令情報を送信することで、推定された変更方法に従って対象センサSA1の観測状態を変更するための動作を介入装置に実行させてもよい。このとき、制御部11は、介入装置の動作を直接的に制御してもよい。或いは、介入装置が制御装置を備えている場合、制御部11は、制御装置に指令情報を送信し、介入装置の動作の制御を制御装置に実行させることで、介入装置の動作を間接的に制御してもよい。この出力方法によれば、センサSA1の観測状態を自動的に最適化することができる。
本変形例では、検査装置1Aは、介入装置の一例として雲台装置IN1及び照明装置IN2に接続されている。制御部11は、ステップS204において生成された推定結果に基づいて、雲台装置IN1及び照明装置IN2の少なくとも一方の動作を制御することで、対象センサSA1の観測状態を変更してもよい。これにより、対象センサSA1の設置角度及び対象物RA周囲の明るさの少なくとも一方を最適化することができる。
なお、上記実施形態と同様に、検査装置1Aの制御部11は、各学習済み機械学習モデル45Aを複数のグループのうちの少なくともいずれかに割り当ててよい。これにより、制御部11は、目的に応じてグループ毎に統合処理を実行してもよい。グルーピングの方法には、上記2つの方法のうちのいずれかが採用されてよい。
<ローカル学習装置の推論処理>
また、本変形例に係る各ローカル学習装置2Aは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Aを利用して、センサSA1の最適な観測方法を推定することができる。各ローカル学習装置2Aにより最適な観測方法を推定する対象のセンサSA1は、典型的には、各ローカル学習装置2A自身に接続されたセンサSA1である。ただし、対象のセンサSA1は、これに限られなくてもよく、各ローカル学習装置2Aは、他のコンピュータに接続されたセンサSA1の最適な観測方法を推定してもよい。
また、本変形例に係る各ローカル学習装置2Aは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Aを利用して、センサSA1の最適な観測方法を推定することができる。各ローカル学習装置2Aにより最適な観測方法を推定する対象のセンサSA1は、典型的には、各ローカル学習装置2A自身に接続されたセンサSA1である。ただし、対象のセンサSA1は、これに限られなくてもよく、各ローカル学習装置2Aは、他のコンピュータに接続されたセンサSA1の最適な観測方法を推定してもよい。
ステップS111では、各ローカル学習装置2Aは、推定に利用する対象データを取得する。対象データの取得方法は、上記検査装置1AのステップS201と同様であってよい。ステップS112では、各ローカル学習装置2Aは、学習済み機械学習モデル45Aに対象データを与えて、学習済み機械学習モデル45Aの演算処理を実行する。これにより、各ローカル学習装置2Aは、学習済み機械学習モデル45Aの出力として、センサSA1の現在の観測状態から適正な観測状態への変更方法を推定した結果を取得することができる。
ステップS113では、各ローカル学習装置2Aは、推定結果に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。各ローカル学習装置2Aは、ステップS112により得られた推定結果をそのまま出力装置に出力してもよいし、得られた推定結果に基づいて、何らかの情報処理を実行してもよい。
また、ステップS113の処理は、上記検査装置1AのステップS205と同様に実行されてよい。例えば、各ローカル学習装置2Aは、推定された適正な観測状態への変更方法に従って、センサSA1の観測状態を変更することをユーザに指示するための指示情報を生成し、生成された指示情報を出力装置に出力してもよい。また、各ローカル学習装置2Aは、例えば、雲台装置IN1、照明装置IN2等の介入装置に更に接続されていてもよい。この場合、各ローカル学習装置2Aは、推定された適正な観測状態への変更方法に従ってセンサSA1の観測状態を変更させる動作を介入装置に実行させるための指令情報を生成してもよい。そして、各ローカル学習装置2Aは、介入装置に指令情報を送信することで、推定された変更方法に従ってセンサSA1の観測状態を変更するための動作を介入装置に実行させてもよい。
<特徴>
本変形例によれば、センサSA1で対象物RAの属性を観測する場面において、新たな環境でセンサSA1の最適な観測方法を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。また、センサSA1の観測状態の観測に他のセンサSA2を利用することで、センサSA1の観測状態が十分に反映された環境データ63Aを取得することができる。これにより、検査装置1Aによる対象センサSA1の最適な観測方法の推定精度の向上を図ることができる。
本変形例によれば、センサSA1で対象物RAの属性を観測する場面において、新たな環境でセンサSA1の最適な観測方法を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。また、センサSA1の観測状態の観測に他のセンサSA2を利用することで、センサSA1の観測状態が十分に反映された環境データ63Aを取得することができる。これにより、検査装置1Aによる対象センサSA1の最適な観測方法の推定精度の向上を図ることができる。
更に、検査装置1Aの出力処理により、対象センサSA1の観測状態を自動的に又はユーザにより手動的に最適化することができる。これにより、人手による標準化に依らず、各環境においてセンサSA1の観測状態を体系的に最適化することができる。したがって、本変形例によれば、様々な環境において低コストで、製品の欠陥検出、植物の品質検査等のために対象物RAの属性を観察する方法を適正化することができる。よって、様々な環境において、ばらつきを抑えた高品質な検査を実施することができるようになる。
なお、本変形例は適宜変更されてよい。例えば、他のセンサSA2以外から環境データ63Aを取得する場合、他のセンサSA2は省略されてよい。介入装置による観測状態の変更を実施しない場合、雲台装置IN1及び照明装置IN2は省略されてよい。検査装置1Aと各装置(センサSA1、他のセンサSA2、雲台装置IN1及び照明装置IN2)とは、通信インタフェースを介して接続されてよい。検査装置1Aは、上記ステップS205において、指示情報及び指令情報の両方を出力可能に構成されてもよい。或いは、指示情報及び指令情報のいずれか一方は省略されてもよい。
(B)移動体の移動経路を予測する場面
図17は、第2変形例に係る予測システム100Bの適用場面の一例を模式的に例示する。本変形例は、移動体の移動する経路を予測する場面に上記実施形態を適用した例である。図17に示されるとおり、本変形例に係る予測システム100Bは、予測装置1B及び複数のローカル学習装置2Bを備えている。上記実施形態と同様に、予測装置1B及び各ローカル学習装置2Bは、ネットワークを介して互いに接続されてよい。
図17は、第2変形例に係る予測システム100Bの適用場面の一例を模式的に例示する。本変形例は、移動体の移動する経路を予測する場面に上記実施形態を適用した例である。図17に示されるとおり、本変形例に係る予測システム100Bは、予測装置1B及び複数のローカル学習装置2Bを備えている。上記実施形態と同様に、予測装置1B及び各ローカル学習装置2Bは、ネットワークを介して互いに接続されてよい。
予測装置1Bは、上記推論装置1に対応する。各ローカル学習装置2Bは、上記各ローカル学習装置2に対応する。取り扱うデータ及び推論の内容が限定されている点を除き、予測装置1Bは、上記推論装置1と同様に構成されてよく、各ローカル学習装置2Bは、上記各ローカル学習装置2と同様に構成されてよい。予測装置1Bのハードウェア構成及びソフトウェア構成は、上記推論装置1と同様であってよい。各ローカル学習装置2Bのハードウェア構成及びソフトウェア構成は、上記各ローカル学習装置2と同様であってよい。
本変形例に係る所定の推論は、移動体RBの移動する経路を移動体RBの状態から予測することである。移動体RBは、移動する対象物であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。移動体RBは、例えば、生物(人間等)、機械(車両等)等であってよい。本変形例では、予測装置1B及び各ローカル学習装置2Bには、センサSB1が接続されている。移動体RBの状態は、センサSB1により観測される。センサSB1は、例えば、カメラ、ビーコン等であってよい。カメラは、例えば、RGB画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。
本変形例に係る各ローカル学習装置2Bは、移動体RBの移動する経路を移動体RBの状態から予測する能力を獲得した学習済み機械学習モデル45Bを生成する。これに対して、本変形例に係る予測装置1Bは、各ローカル学習装置2Bにより異なる環境下で得られたローカル学習データ30Bから導出された各学習済み機械学習モデル45Bを利用して、対象の環境下において移動体RBの移動する経路を予測する。
本変形例に係る予測装置1Bは、所定の推論の対象となる対象データ61B、及び所定の推論を実行する対象の環境に関する環境データ63Bを取得する。本変形例に係る所定の推論の対象となる対象データ61Bは、センサSB1により観測される対象の移動体RBの状態に関するものである。一方、本変形例に係る所定の推論を実行する対象の環境に関する環境データ63Bは、対象の移動体RBをセンサSB1が観測する対象の観測環境に関するものである。
本変形例では、予測装置1Bは、他のセンサSB2に更に接続されている。他のセンサSB2は、移動体RBの状態を観測するセンサSB1とは異なり、対象の移動体RBをセンサSB1が観測する対象の観測環境を観測するのに利用される。そのため、予測装置1Bは、他のセンサSB2から環境データ63Bを取得することができる。対象の観測環境として、天気、気圧などを考慮する場合、他のセンサSB2は、例えば、気象センサ、気圧計等であってよい。
本変形例に係る予測装置1Bは、取得された対象データ61Bを各学習済み機械学習モデル45Bに与えて、移動体RBの移動する経路を各学習済み機械学習モデル45Bに予測させる。これにより、本変形例に係る予測装置1Bは、移動体RBの移動する経路についての各学習済み機械学習モデル45Bの予測結果を取得する。そして、本変形例に係る予測装置1Bは、統合規則5Bに従って、各学習済み機械学習モデル45Bの予測結果を統合する。
上記実施形態と同様に、統合規則5Bは、対象の環境下において、各学習済み機械学習モデル45Bの予測結果を重視する程度をそれぞれ規定する複数の統合パラメータPBを備えている。本変形例に係る予測装置1Bは、環境データ63Bに応じて、各統合パラメータPBの値を決定する。このとき、環境データ63Bの他に、対象データ61Bが更に考慮されてもよい。次に、本変形例に係る予測装置1Bは、決定された各統合パラメータPBの値を使用して、対応する各学習済み機械学習モデル45Bの予測結果を重み付けする。そして、本変形例に係る予測装置1Bは、各学習済み機械学習モデル45Bの重み付けされた予測結果を統合する。
これにより、本変形例に係る予測装置1Bは、対象の環境下において、移動体RBの移動する経路を移動体RBの状態から予測した結果を生成することができる。
<学習済み機械学習モデルの生成>
本変形例に係る各ローカル学習装置2Bは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Bを生成する。すなわち、ステップS101では、各ローカル学習装置2Bは、ローカル学習データ30Bを取得する。そして、ステップS102では、各ローカル学習装置2Bは、取得されたローカル学習データ30Bを利用して、機械学習モデル40Bの機械学習を実行する。機械学習モデル40Bの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
本変形例に係る各ローカル学習装置2Bは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Bを生成する。すなわち、ステップS101では、各ローカル学習装置2Bは、ローカル学習データ30Bを取得する。そして、ステップS102では、各ローカル学習装置2Bは、取得されたローカル学習データ30Bを利用して、機械学習モデル40Bの機械学習を実行する。機械学習モデル40Bの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
本変形例では、機械学習の方法には、上記第1の例~第3の例のいずれかが採用されてよい。第1の例を採用する場合、ローカル学習データ30Bは、訓練データ及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成される。訓練データは、上記対象データ61Bと同種であり、センサSB1により観測される移動体RBの状態に関するデータにより構成されてよい。正解データは、訓練データに対する推論の結果(正解)、すなわち、その状態の移動体RBが実際に又は仮想的に移動した経路を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Bは、取得されたローカル学習データ30Bを利用して、機械学習モデル40Bの教師あり学習を実行する。教師あり学習の方法は、上記実施形態と同様であってよい。
第2の例を採用する場合、ローカル学習データ30Bは、複数件の訓練データにより構成される。訓練データは、機械学習モデル40Bに生成させることを所望するデータにより構成される。訓練データは、例えば、移動体RBが実際に又は仮想的に移動した経路を示すデータにより構成される。各件の訓練データは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Bは、取得されたローカル学習データ30Bを利用して、機械学習モデル40B及び他の機械学習モデルの敵対的学習を実行する。敵対的学習の方法は、上記実施形態と同様であってよい。
第3の例を採用する場合、機械学習モデル40Bには、価値ベース、方策ベース、又はその両方が採用されてよい。観測対象となる状態は、移動体RBの移動する経路に関するものであってよく、エージェントにより実行される行動は、移動体RBの移動であってよい。報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、機械学習モデル40Bの予測結果の適正度に応じて即時報酬を与えるように設定されてもよい。この場合、上記実施形態と同様に、適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、移動体RBの移動する経路を予測した結果の精度を評価するように構成されてよい。これに応じて、報酬関数は、複数回の予測処理の試行の結果に基づいて、経路予測の精度が閾値以上であればプラスの即時報酬を与え、経路予測の精度が許容値以下であればマイナスの即時報酬を与えるように設定されてよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。本変形例では、事例データは、例えば、移動体RBが実際に移動した経路を示すデータにより構成されてよい。各ローカル学習装置2Bは、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、機械学習モデル40Bの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
各ローカル学習装置2Bは、上記いずれかの方法により、機械学習モデル40Bの機械学習を実行することができる。これにより、各ローカル学習装置2Bは、移動体RBの状態から、移動体RBの移動する経路を予測する能力を獲得した学習済み機械学習モデル45Bを生成することができる。
ステップS103では、各ローカル学習装置2Bは、ローカル学習データ30Bの得られた環境に関する学習環境データ35Bを取得する。学習環境データ35Bは、予測装置1Bで得られる環境データ63Bと同種のデータである。学習環境データ35Bを取得する方法は、環境データ63Bを取得する方法と同様であってよい。例えば、各ローカル学習装置2Bは、他のセンサSB2と同種のセンサに更に接続されてよく、学習環境データ35Bを当該センサから取得してもよい。ステップS104では、各ローカル学習装置2Bは、生成された学習済み機械学習モデル45Bに関する情報を学習結果データ47Bとして生成する。そして、各ローカル学習装置2Bは、学習結果データ47Bを学習環境データ35Bに関連付けて所定の記憶領域に保存する。
本変形例では、各ローカル学習装置2Bの間において、ローカル学習データ30Bが異なる環境下で取得されてよい。そして、得られたローカル学習データ30Bから学習済み機械学習モデル45Bが生成されてよい。その結果、移動体RBの移動する経路を予測可能に、異なる環境下で得られたローカル学習データ30Bから導出された複数の学習済み機械学習モデル45Bを得ることができる。
<予測装置のハードウェア構成>
図18は、本変形例に係る予測装置1Bのハードウェア構成の一例を模式的に例示する。図18に示されるとおり、本変形例に係る予測装置1Bは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。予測装置1Bは、外部インタフェース14を介して、センサSB1及び他のセンサSB2に接続される。ただし、予測装置1Bのハードウェア構成は、このような例に限定されなくてもよい。予測装置1Bの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。予測装置1Bは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってよい。
図18は、本変形例に係る予測装置1Bのハードウェア構成の一例を模式的に例示する。図18に示されるとおり、本変形例に係る予測装置1Bは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。予測装置1Bは、外部インタフェース14を介して、センサSB1及び他のセンサSB2に接続される。ただし、予測装置1Bのハードウェア構成は、このような例に限定されなくてもよい。予測装置1Bの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。予測装置1Bは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってよい。
本変形例に係る予測装置1Bの記憶部12は、予測プログラム81B、統合規則データ57B、学習結果データ47B、学習データ59B、学習環境データ35B等の各種情報を記憶する。予測プログラム81B、統合規則データ57B、学習結果データ47B、学習データ59B、及び学習環境データ35Bは、上記実施形態に係る推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35に対応する。予測プログラム81B、統合規則データ57B、学習結果データ47B、学習データ59B、及び学習環境データ35Bの少なくともいずれかは記憶媒体91に記憶されていてもよい。また、予測装置1Bは、記憶媒体91から、予測プログラム81B、統合規則データ57B、学習結果データ47B、学習データ59B、及び学習環境データ35Bの少なくともいずれかを取得してもよい。
<予測装置のソフトウェア構成>
図19A及び図19Bは、本変形例に係る予測装置1Bのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、予測装置1Bのソフトウェア構成は、制御部11による予測プログラム81Bの実行により実現される。図19A及び図19Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、予測装置1Bのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、予測装置1Bは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
図19A及び図19Bは、本変形例に係る予測装置1Bのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、予測装置1Bのソフトウェア構成は、制御部11による予測プログラム81Bの実行により実現される。図19A及び図19Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、予測装置1Bのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、予測装置1Bは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
(ステップS201)
すなわち、図19Aに示されるとおり、ステップS201では、予測装置1Bの制御部11は、対象データ61Bを取得する。対象データ61Bは、センサSB1により観測される対象の移動体RBの状態に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Bには、例えば、移動体RBの状態を観測するセンサSB1により得られる観測データ、当該観測データから解析される移動範囲の状態(例えば、混雑具合等)を示すデータ、移動体RBの現在位置を示すデータ、移動体RBの現在までの移動経路を示すデータ等が含まれてよい。
すなわち、図19Aに示されるとおり、ステップS201では、予測装置1Bの制御部11は、対象データ61Bを取得する。対象データ61Bは、センサSB1により観測される対象の移動体RBの状態に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Bには、例えば、移動体RBの状態を観測するセンサSB1により得られる観測データ、当該観測データから解析される移動範囲の状態(例えば、混雑具合等)を示すデータ、移動体RBの現在位置を示すデータ、移動体RBの現在までの移動経路を示すデータ等が含まれてよい。
対象データ61Bを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、センサSB1の観測データが対象データ61Bとして取得されてもよい。また、例えば、センサSB1により得られる観測データに何らかの解析処理を実行することで、対象データ61Bが取得されてもよい。また、例えば、オペレータ等の入力により、対象データ61Bは取得されてもよい。制御部11は、各装置から直接的に対象データ61Bを取得してもよいし、他のコンピュータを介して間接的に対象データ61Bを取得してもよい。
(ステップS202)
ステップS202では、制御部11は、環境データ63Bを取得する。環境データ63Bは、対象の移動体RBをセンサSB1が観測する対象の観測環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Bには、例えば、移動体RBの属性を示すデータ、移動範囲の属性を示すデータ、移動に影響を及ぼす環境属性を示すデータ、センサSB1の仕様(又は性能)に関する属性を示すデータ、センサSB1の観測条件に関する属性を示すデータ等が含まれてよい。移動体RBの属性には、例えば、移動体RBの種別(人物又は車両の別、車種等)、移動体RBの移動能力に関する情報が含まれてよい。移動体RBが人物である場合、移動能力は、人物の性別、年齢、身長、体重等により評価されてもよい。また、移動体RBが車両である場合、移動能力は、車両の性能で評価されてよい。移動範囲の属性には、例えば、移動する場所、移動する通路(道路)の種別等が含まれてよい。移動する通路(道路)の種別には、例えば、歩行者専用、高速道路、一般道等が含まれてよい。移動に影響を及ぼす環境属性には、例えば、天候、混雑具合、曜日、休日/平日の種別等が含まれてよい。センサSB1の仕様に関する属性は、例えば、センサSB1の感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。センサSB1の観測条件に関する属性には、例えば、センサSB1の設置角度、センサSB1の動作設定に関する属性等が含まれてよい。センサSB1の動作設定に関する属性には、例えば、センサSB1の計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等が含まれてよい。具体例として、センサSB1がカメラの場合、動作設定に関する属性には、絞り値、シャッタースピード、ズーム倍率等が含まれてよい。
ステップS202では、制御部11は、環境データ63Bを取得する。環境データ63Bは、対象の移動体RBをセンサSB1が観測する対象の観測環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Bには、例えば、移動体RBの属性を示すデータ、移動範囲の属性を示すデータ、移動に影響を及ぼす環境属性を示すデータ、センサSB1の仕様(又は性能)に関する属性を示すデータ、センサSB1の観測条件に関する属性を示すデータ等が含まれてよい。移動体RBの属性には、例えば、移動体RBの種別(人物又は車両の別、車種等)、移動体RBの移動能力に関する情報が含まれてよい。移動体RBが人物である場合、移動能力は、人物の性別、年齢、身長、体重等により評価されてもよい。また、移動体RBが車両である場合、移動能力は、車両の性能で評価されてよい。移動範囲の属性には、例えば、移動する場所、移動する通路(道路)の種別等が含まれてよい。移動する通路(道路)の種別には、例えば、歩行者専用、高速道路、一般道等が含まれてよい。移動に影響を及ぼす環境属性には、例えば、天候、混雑具合、曜日、休日/平日の種別等が含まれてよい。センサSB1の仕様に関する属性は、例えば、センサSB1の感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。センサSB1の観測条件に関する属性には、例えば、センサSB1の設置角度、センサSB1の動作設定に関する属性等が含まれてよい。センサSB1の動作設定に関する属性には、例えば、センサSB1の計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等が含まれてよい。具体例として、センサSB1がカメラの場合、動作設定に関する属性には、絞り値、シャッタースピード、ズーム倍率等が含まれてよい。
環境データ63Bを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、オペレータ等の入力により、環境データ63Bは取得されてもよい。また、例えば、環境データ63Bは、センサSB1により得られる観測データに何らかの解析処理を実行することにより取得されてもよい。また、例えば、対象の観測環境を観測する他のセンサ(例えば、他のセンサSB2)から環境データ63Bが取得されてもよい。また、例えば、気象データ等の情報を配信する他の情報処理装置(サーバ)から環境データ63Bが取得されてもよい。制御部11は、各装置から直接的に環境データ63Bを取得してもよいし、他のコンピュータを介して間接的に環境データ63Bを取得してもよい。
(ステップS203)
ステップS203では、制御部11は、各件の学習結果データ47Bを参照することで、各学習済み機械学習モデル45Bの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Bに対象データ61Bを与えて、各学習済み機械学習モデル45Bの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Bの出力として、移動体RBの移動する経路についての各学習済み機械学習モデル45Bの予測結果を取得する。
ステップS203では、制御部11は、各件の学習結果データ47Bを参照することで、各学習済み機械学習モデル45Bの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Bに対象データ61Bを与えて、各学習済み機械学習モデル45Bの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Bの出力として、移動体RBの移動する経路についての各学習済み機械学習モデル45Bの予測結果を取得する。
(ステップS204)
ステップS204では、制御部11は、統合規則データ57Bを参照して、統合規則5Bの設定を行う。そして、制御部11は、統合規則5Bに従って、各学習済み機械学習モデル45Bの予測結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Bに応じて、各統合パラメータPBの値を決定する。このとき、環境データ63Bの他に、対象データ61Bが更に考慮されてもよい。各統合パラメータPBの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
ステップS204では、制御部11は、統合規則データ57Bを参照して、統合規則5Bの設定を行う。そして、制御部11は、統合規則5Bに従って、各学習済み機械学習モデル45Bの予測結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Bに応じて、各統合パラメータPBの値を決定する。このとき、環境データ63Bの他に、対象データ61Bが更に考慮されてもよい。各統合パラメータPBの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
(1)第1の方法
図19Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Bを取得する。そして、制御部11は、学習データ59Bを利用して、演算モデル51Bの機械学習を実行する。演算モデル51Bの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Bの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
図19Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Bを取得する。そして、制御部11は、学習データ59Bを利用して、演算モデル51Bの機械学習を実行する。演算モデル51Bの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Bの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
第1の例を採用する場合、学習データ59Bは、上記学習データ59と同様に、訓練用環境データ、訓練用対象データ、及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成されてよい。訓練用環境データは、環境データ63Bと同種のデータである。訓練用対象データは、対象データ61Bと同種のデータである。正解データは、訓練用対象データに対する推論の結果(正解)、すなわち、対象の環境下において、任意の状態の移動体RBが実際に又は仮想的に移動した経路を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。制御部11は、取得された学習データ59Bを利用して、演算モデル51Bの機械学習を実行する。機械学習の方法は、上記第1の例と同様であってよい。
第2の例を採用する場合、演算モデル51Bには、価値ベース、方策ベース、又はその両方が採用されてよい。上記実施形態と同様に、観測対象となる状態は、環境データ63B及び対象データ61Bに対応する。エージェントにより実行される行動は、移動体RBの移動であってよい。エージェントは、上記一連の処理により、各学習済み機械学習モデル45Bの予測結果を取得して、取得された予測結果を統合することで、対象の環境下における移動体RBの移動経路の予測結果を生成することができる。エージェントは、生成された予測結果に基づいて採用する行動を決定してもよい。
報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、上記一連の処理で生成される予測結果の適正度に応じて即時報酬を与えるように設定されてよい。適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、上記機械学習モデル40Bの強化学習における判定器と同様であってよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。この事例データは、上記機械学習モデル40Bの強化学習における報酬関数の設定に利用される事例データと同様であってよい。制御部11は、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、演算モデル51Bの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
制御部11は、上記いずれかの方法により、演算モデル51Bの機械学習を実行することができる。これにより、制御部11は、対象の観測環境下における移動体RBの移動する経路の予測に適合する各統合パラメータPBの値を環境データ63B(及び対象データ61B)から推定する能力を獲得した学習済み演算モデル52Bを生成することができる。制御部11は、生成された学習済み演算モデル52Bに関する情報を所定の記憶領域に保存してもよい。学習済み演算モデル52Bに関する情報は、統合規則データ57Bの少なくとも一部として保存されてもよいし、統合規則データ57Bとは別に保存されてもよい。
第1の方法では、制御部11は、上記により生成された学習済み演算モデル52Bを利用して、各統合パラメータPBの値を決定する。すなわち、ステップS211では、制御部11は、学習済み演算モデル52Bに環境データ63Bを与える。このとき、制御部11は、学習済み演算モデル52Bに対象データ61Bを更に与えてよい。そして、制御部11は、学習済み演算モデル52Bの演算処理を実行する。これにより、制御部11は、学習済み演算モデル52Bの出力として、各学習済み機械学習モデル45Bに対する各統合パラメータPBの値を取得することができる。
(2)第2の方法
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPBの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Bの学習環境データ35Bを取得する。次に、制御部11は、各件の学習環境データ35B及び環境データ63Bの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Bに対する各統合パラメータPBの値を決定してもよい。適合度に応じて統合パラメータPBの値を決定する方法は、上記実施形態と同様であってよい。
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPBの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Bの学習環境データ35Bを取得する。次に、制御部11は、各件の学習環境データ35B及び環境データ63Bの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Bに対する各統合パラメータPBの値を決定してもよい。適合度に応じて統合パラメータPBの値を決定する方法は、上記実施形態と同様であってよい。
(3)第3の方法
第3の方法では、制御部11は、オペレータによる統合パラメータPBの値の指定を受け付けて、対象の統合パラメータPBの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(図12A)。
第3の方法では、制御部11は、オペレータによる統合パラメータPBの値の指定を受け付けて、対象の統合パラメータPBの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(図12A)。
図19Aに戻り、ステップS211では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、各統合パラメータPBの値を決定することができる。ステップS212では、制御部11は、決定された各統合パラメータPBの値を使用して、対応する各学習済み機械学習モデル45Bの予測結果を重み付けする。上記第3の方法により複数の統合パラメータPBのうちの少なくともいずれかの値を設定した場合、ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPBに対応する学習済み機械学習モデル45Bの予測結果を重み付けする。ステップS213では、制御部11は、各学習済み機械学習モデル45Bの重み付けされた予測結果を統合する。予測結果の統合は、上記実施形態と同様に、重み付け平均又は重み付き多数決により行われてよい。これにより、対象の環境下において、移動体RBの状態から移動体RBの移動する経路を予測した結果を生成することができる。
(ステップS205)
ステップS205では、制御部11は、生成された予測結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された予測結果をそのまま出力装置16に出力してもよいし、生成された予測結果に基づいて、何らかの情報処理を実行してもよい。
ステップS205では、制御部11は、生成された予測結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された予測結果をそのまま出力装置16に出力してもよいし、生成された予測結果に基づいて、何らかの情報処理を実行してもよい。
例えば、制御部11は、ステップS204により生成された予測結果に基づいて、例えば、混雑していない経路等の推奨される移動経路を示す情報を予測結果に関する情報として生成してもよい。そして、制御部11は、生成された推奨経路を示す情報を他の移動体に向けて出力してもよい。
なお、上記実施形態と同様に、予測装置1Bの制御部11は、各学習済み機械学習モデル45Bを複数のグループのうちの少なくともいずれかに割り当ててよい。これにより、制御部11は、目的に応じてグループ毎に統合処理を実行してもよい。グルーピングの方法には、上記2つの方法のうちのいずれかが採用されてよい。
<ローカル学習装置の推論処理>
また、本変形例に係る各ローカル学習装置2Bは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Bを利用して、移動体RBの移動する経路を予測することができる。
また、本変形例に係る各ローカル学習装置2Bは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Bを利用して、移動体RBの移動する経路を予測することができる。
ステップS111では、各ローカル学習装置2Bは、予測に利用する対象データを取得する。対象データの取得方法は、上記予測装置1BのステップS201と同様であってよい。ステップS112では、各ローカル学習装置2Bは、学習済み機械学習モデル45Bに対象データを与えて、学習済み機械学習モデル45Bの演算処理を実行する。これにより、各ローカル学習装置2Bは、学習済み機械学習モデル45Bの出力として、移動体RBの移動する経路を予測した結果を取得する。
ステップS113では、各ローカル学習装置2Bは、予測結果に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。各ローカル学習装置2Bは、ステップS112により得られた推定結果をそのまま出力装置に出力してもよいし、得られた推定結果に基づいて、何らかの情報処理を実行してもよい。また、ステップS113の処理は、上記予測装置1BのステップS205と同様に実行されてよい。
<特徴>
本変形例によれば、センサSB1で移動体RBの移動を観測する場面において、新たな環境で移動体RBの移動を適切に予測可能な推論モデルを構築するのにかかるコストを低減することができる。また、センサSB1の観測環境の観測に他のセンサSB2を利用することで、センサSB2の観測環境が十分に反映された環境データ63Bを取得することができる。これにより、予測装置1Bによる移動体RBの移動する経路の予測精度の向上を図ることができる。
本変形例によれば、センサSB1で移動体RBの移動を観測する場面において、新たな環境で移動体RBの移動を適切に予測可能な推論モデルを構築するのにかかるコストを低減することができる。また、センサSB1の観測環境の観測に他のセンサSB2を利用することで、センサSB2の観測環境が十分に反映された環境データ63Bを取得することができる。これにより、予測装置1Bによる移動体RBの移動する経路の予測精度の向上を図ることができる。
なお、本変形例は適宜変更されてよい。例えば、他のセンサSB2以外から環境データ63Bを取得する場合、他のセンサSB2は省略されてよい。予測装置1Bと各センサ(センサSA1、他のセンサSA2)とは、通信インタフェースを介して接続されてよい。
(C)ユーザに適合する会話戦略を推定する場面
図20は、第3変形例に係る会話システム100Cの適用場面の一例を模式的に例示する。本変形例は、ユーザの適合する会話戦略を推定する場面に上記実施形態を適用した例である。図20に示されるとおり、本変形例に係る会話システム100Cは、会話装置1C及び複数のローカル学習装置2Cを備えている。上記実施形態と同様に、会話装置1C及び各ローカル学習装置2Cは、ネットワークを介して互いに接続されてよい。
図20は、第3変形例に係る会話システム100Cの適用場面の一例を模式的に例示する。本変形例は、ユーザの適合する会話戦略を推定する場面に上記実施形態を適用した例である。図20に示されるとおり、本変形例に係る会話システム100Cは、会話装置1C及び複数のローカル学習装置2Cを備えている。上記実施形態と同様に、会話装置1C及び各ローカル学習装置2Cは、ネットワークを介して互いに接続されてよい。
会話装置1Cは、上記推論装置1に対応する。各ローカル学習装置2Cは、上記各ローカル学習装置2に対応する。取り扱うデータ及び推論の内容が限定されている点を除き、会話装置1Cは、上記推論装置1と同様に構成されてよく、各ローカル学習装置2Cは、上記各ローカル学習装置2と同様に構成されてよい。会話装置1Cのハードウェア構成及びソフトウェア構成は、上記推論装置1と同様であってよい。各ローカル学習装置2Cのハードウェア構成及びソフトウェア構成は、上記各ローカル学習装置2と同様であってよい。
本変形例に係る所定の推論は、ユーザRCに適合する会話の戦略をユーザRCの会話行動から推定することである。会話戦略は、会話を生成する規則を与える。会話戦略は、例えば、発話する会話の内容、発話タイミング、会話の頻度、口調等を規定してもよい。ユーザの会話行動には、ユーザの会話に関するあらゆる行動が含まれてよい。ユーザの会話行動には、例えば、会話の内容、会話の頻度等が含まれてよい。会話の頻度は、例えば、前回に会話してからの経過時間、次に会話するまでの平均時間、一定時間内における会話の回数等により表現されてよい。本変形例では、会話装置1C及び各ローカル学習装置2Cには、マイクロフォンSC1が接続されている。ユーザRCの会話行動は、マイクロフォンSC1により観測される。
なお、マイクロフォンSC1は、ユーザRCの会話行動を観測するセンサの一例である。ユーザRCの会話行動を観測する方法は、このような例に限定されなくてもよく、マイクロフォン以外の方法が採用されてもよい。例えば、ユーザRCの会話行動は、ビデオカメラにより観測されてもよい。また、例えば、ユーザRCの会話行動は、キーボード等の入力装置を介して取得されてもよい。
本変形例に係る各ローカル学習装置2Cは、ユーザRCに適合する会話の戦略をユーザRCの会話行動から推定する能力を獲得した学習済み機械学習モデル45Cを生成する。これに対して、本変形例に係る会話装置1Cは、各ローカル学習装置2Cにより異なる環境下で得られたローカル学習データ30Cから導出された各学習済み機械学習モデル45Cを利用して、対象の環境下において対象ユーザRCに適合する会話の戦略を推定する。
本変形例に係る会話装置1Cは、所定の推論の対象となる対象データ61C、及び所定の推論を実行する対象の環境に関する環境データ63Cを取得する。本変形例に係る所定の推論の対象となる対象データ61Cは、対象のユーザRCの会話行動に関するものである。一方、本変形例に係る所定の推論を実行する対象の環境に関する環境データ63Cは、対象のユーザRCが会話行動を行う対象の会話環境に関するものである。
本変形例では、マイクロフォンSC1とは別の他のセンサとしてカメラSC2が会話装置1Cに更に接続されている。カメラSC2は、対象のユーザRCが会話行動を行う対象の会話環境を観測するのに利用される。そのため、本変形例に係る会話装置1Cは、カメラSC2から環境データ63Cを取得することができる。なお、対象の会話環境を観測するセンサは、カメラに限られなくてもよく、実施の形態に応じて適宜選択されてよい。対象の会話環境として、気温、天気等を考慮する場合、対象の会話環境を観測するセンサには、例えば、気温計、気象センサ等が用いられてよい。
本変形例に係る会話装置1Cは、取得された対象データ61Cを各学習済み機械学習モデル45Cに与えて、ユーザRCに適合する会話の戦略を各学習済み機械学習モデル45Cに推定させる。これにより、本変形例に係る会話装置1Cは、ユーザRCに適合する会話戦略についての各学習済み機械学習モデル45Cの推定結果を取得する。そして、本変形例に係る会話装置1Cは、統合規則5Cに従って、各学習済み機械学習モデル45Cの推定結果を統合する。
上記実施形態と同様に、統合規則5Cは、対象の環境下において、各学習済み機械学習モデル45Cの推定結果を重視する程度をそれぞれ規定する複数の統合パラメータPcを備えている。本変形例に係る会話装置1Cは、環境データ63Cに応じて、各統合パラメータPcの値を決定する。このとき、環境データ63Cの他に、対象データ61Cが更に考慮されてもよい。次に、本変形例に係る会話装置1Cは、決定された各統合パラメータPcの値を使用して、対応する各学習済み機械学習モデル45Cの推定結果を重み付けする。そして、本変形例に係る会話装置1Cは、各学習済み機械学習モデル45Cの重み付けされた推定結果を統合する。
これにより、本変形例に係る会話装置1Cは、対象の環境下において、対象のユーザRCに適合する会話の戦略を対象のユーザRCの会話行動から推定した結果を生成することができる。
<学習済み機械学習モデルの生成>
本変形例に係る各ローカル学習装置2Cは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Cを生成する。すなわち、ステップS101では、各ローカル学習装置2Cは、ローカル学習データ30Cを取得する。そして、ステップS102では、各ローカル学習装置2Cは、取得されたローカル学習データ30Cを利用して、機械学習モデル40Cの機械学習を実行する。機械学習モデル40Cの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
本変形例に係る各ローカル学習装置2Cは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Cを生成する。すなわち、ステップS101では、各ローカル学習装置2Cは、ローカル学習データ30Cを取得する。そして、ステップS102では、各ローカル学習装置2Cは、取得されたローカル学習データ30Cを利用して、機械学習モデル40Cの機械学習を実行する。機械学習モデル40Cの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
本変形例では、機械学習の方法には、上記第1の例~第3の例のいずれかが採用されてよい。第1の例を採用する場合、ローカル学習データ30Cは、訓練データ及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成される。訓練データは、上記対象データ61Cと同種であり、ユーザRC(被験者)の会話行動に関するデータにより構成されてよい。正解データは、訓練データに対する推論の結果(正解)、すなわち、そのユーザRC(被験者)に適合する会話戦略を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Cは、取得されたローカル学習データ30Cを利用して、機械学習モデル40Cの教師あり学習を実行する。教師あり学習の方法は、上記実施形態と同様であってよい。
第2の例を採用する場合、ローカル学習データ30Cは、複数件の訓練データにより構成される。訓練データは、機械学習モデル40Cに生成させることを所望するデータにより構成される。訓練データは、例えば、ユーザRC(被験者)に適合する会話戦略を示すデータにより構成される。各件の訓練データは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Cは、取得されたローカル学習データ30Cを利用して、機械学習モデル40C及び他の機械学習モデルの敵対的学習を実行する。敵対的学習の方法は、上記実施形態と同様であってよい。
第3の例を採用する場合、機械学習モデル40Cには、価値ベース、方策ベース、又はその両方が採用されてよい。観測対象となる状態は、ユーザRCの会話行動に関するものであってよく、エージェントにより実行される行動は、ユーザRCとの会話であってよい。報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、機械学習モデル40Cの推定結果の適正度に応じて即時報酬を与えるように設定されてもよい。この場合、上記実施形態と同様に、適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、ユーザRCに適合する会話戦略を推定した結果の精度を評価するように構成されてよい。これに応じて、報酬関数は、複数回の推定処理の試行の結果に基づいて、会話戦略の推定の精度が閾値以上であればプラスの即時報酬を与え、会話戦略の推定の精度が許容値以下であればマイナスの即時報酬を与えるように設定されてよい。なお、会話戦略の推定精度は、例えば、ユーザRCの会話頻度が向上した等、エージェントとユーザRCとの会話が公的な方向に改善したことに基づいて評価されてよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。本変形例では、事例データは、例えば、熟練者により指定された会話戦略を示すデータにより構成されてよい。各ローカル学習装置2Cは、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、機械学習モデル40Cの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
各ローカル学習装置2Cは、上記いずれかの方法により、機械学習モデル40Cの機械学習を実行することができる。これにより、各ローカル学習装置2Cは、ユーザRCに適合する会話の戦略をユーザRCの会話行動から推定する能力を獲得した学習済み機械学習モデル45Cを生成することができる。
ステップS103では、各ローカル学習装置2Cは、ローカル学習データ30Cの得られた環境に関する学習環境データ35Cを取得する。学習環境データ35Cは、会話装置1Cで得られる環境データ63Cと同種のデータである。学習環境データ35Cを取得する方法は、環境データ63Cを取得する方法と同様であってよい。例えば、各ローカル学習装置2Cは、カメラSC2と同種のカメラに更に接続されてよく、学習環境データ35Cを当該カメラから取得してもよい。ステップS104では、各ローカル学習装置2Cは、生成された学習済み機械学習モデル45Cに関する情報を学習結果データ47Cとして生成する。そして、各ローカル学習装置2Cは、学習結果データ47Cを学習環境データ35Cに関連付けて所定の記憶領域に保存する。
本変形例では、各ローカル学習装置2Cの間において、ローカル学習データ30Cが異なる環境下で取得されてよい。そして、得られたローカル学習データ30Cから学習済み機械学習モデル45Cが生成されてよい。その結果、ユーザRCに適合する会話戦略を推定可能に、異なる環境下で得られたローカル学習データ30Cから導出された複数の学習済み機械学習モデル45Cを得ることができる。
<会話装置のハードウェア構成>
図21は、本変形例に係る会話装置1Cのハードウェア構成の一例を模式的に例示する。図21に示されるとおり、本変形例に係る会話装置1Cは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。会話装置1Cは、外部インタフェース14を介して、マイクロフォンSC1及びカメラSC2に接続される。ただし、会話装置1Cのハードウェア構成は、このような例に限定されなくてもよい。会話装置1Cの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。会話装置1Cは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、携帯電話、スマートフォン、モバイルPC等であってよい。
図21は、本変形例に係る会話装置1Cのハードウェア構成の一例を模式的に例示する。図21に示されるとおり、本変形例に係る会話装置1Cは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。会話装置1Cは、外部インタフェース14を介して、マイクロフォンSC1及びカメラSC2に接続される。ただし、会話装置1Cのハードウェア構成は、このような例に限定されなくてもよい。会話装置1Cの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。会話装置1Cは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、携帯電話、スマートフォン、モバイルPC等であってよい。
本変形例に係る会話装置1Cの記憶部12は、会話プログラム81C、統合規則データ57C、学習結果データ47C、学習データ59C、学習環境データ35C等の各種情報を記憶する。会話プログラム81C、統合規則データ57C、学習結果データ47C、学習データ59C、及び学習環境データ35Cは、上記実施形態に係る推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35に対応する。会話プログラム81C、統合規則データ57C、学習結果データ47C、学習データ59C、及び学習環境データ35Cの少なくともいずれかは記憶媒体91に記憶されていてもよい。また、会話装置1Cは、記憶媒体91から、会話プログラム81C、統合規則データ57C、学習結果データ47C、学習データ59C、及び学習環境データ35Cの少なくともいずれかを取得してもよい。
<会話装置のソフトウェア構成>
図22A及び図22Bは、本変形例に係る会話装置1Cのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、会話装置1Cのソフトウェア構成は、制御部11による会話プログラム81Cの実行により実現される。図22A及び図22Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、会話装置1Cのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、会話装置1Cは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
図22A及び図22Bは、本変形例に係る会話装置1Cのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、会話装置1Cのソフトウェア構成は、制御部11による会話プログラム81Cの実行により実現される。図22A及び図22Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、会話装置1Cのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、会話装置1Cは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
(ステップS201)
すなわち、図22Aに示されるとおり、ステップS201では、会話装置1Cの制御部11は、対象データ61Cを取得する。対象データ61Cは、対象のユーザRCの会話行動に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Cには、例えば、対象のユーザRCの会話行動を観測するセンサにより得られる観測データ、観測データから解析される会話情報を示すデータ等が含まれてよい。会話行動を観測するセンサは、例えば、マイクロフォン、カメラ、ビデオカメラ等であってよい。また、観測データから解析される会話情報は、例えば、会話の内容、会話の頻度、会話装置1CとユーザRCとの間の距離等が含まれてよい。会話情報の解析には、公知の方法が採用されてよい。また、会話の内容、会話の頻度等の会話情報は、入力装置15を介したユーザRCの入力行動から特定されてもよい。
すなわち、図22Aに示されるとおり、ステップS201では、会話装置1Cの制御部11は、対象データ61Cを取得する。対象データ61Cは、対象のユーザRCの会話行動に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Cには、例えば、対象のユーザRCの会話行動を観測するセンサにより得られる観測データ、観測データから解析される会話情報を示すデータ等が含まれてよい。会話行動を観測するセンサは、例えば、マイクロフォン、カメラ、ビデオカメラ等であってよい。また、観測データから解析される会話情報は、例えば、会話の内容、会話の頻度、会話装置1CとユーザRCとの間の距離等が含まれてよい。会話情報の解析には、公知の方法が採用されてよい。また、会話の内容、会話の頻度等の会話情報は、入力装置15を介したユーザRCの入力行動から特定されてもよい。
対象データ61Cを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、会話行動を観測するセンサにより得られる観測データが対象データ61Cとして取得されてよい。本変形例では、会話装置1CにはマイクロフォンSC1が接続されているため、制御部11は、マイクロフォンSC1により得られる音データを対象データ61Cとして取得することができる。また、例えば、センサにより得られる観測データに何らかの解析処理を実行することで、対象データ61Cが取得されてもよい。本変形例では、マイクロフォンSC1により得られる音データに何らかの解析処理(例えば、音声解析)を実行し、これにより得られる解析結果(例えば、会話の文字列)を対象データ61Cとして取得してもよい。また、例えば、入力装置15を介したユーザRCの入力行動に基づいて対象データ61Cが取得されてもよい。制御部11は、各装置から直接的に対象データ61Cを取得してもよいし、他のコンピュータを介して間接的に対象データ61Cを取得してもよい。
(ステップS202)
ステップS202では、制御部11は、環境データ63Cを取得する。環境データ63Cは、対象のユーザRCが会話行動を行う対象の会話環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Cには、例えば、ユーザRCの属性を示すデータ、会話行動に影響を与える環境属性を示すデータ、会話行動を観測するセンサの仕様(又は性能)に関する属性を示すデータ等が含まれてよい。ユーザRCの属性には、例えば、ユーザRCの年齢、性別、職業、出身地、性格タイプ等が含まれてよい。会話行動に異教を与える環境属性には、例えば、気温、天候、曜日、休日/平日の種別等が含まれてよい。センサの仕様に関する属性は、例えば、センサの感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。
ステップS202では、制御部11は、環境データ63Cを取得する。環境データ63Cは、対象のユーザRCが会話行動を行う対象の会話環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Cには、例えば、ユーザRCの属性を示すデータ、会話行動に影響を与える環境属性を示すデータ、会話行動を観測するセンサの仕様(又は性能)に関する属性を示すデータ等が含まれてよい。ユーザRCの属性には、例えば、ユーザRCの年齢、性別、職業、出身地、性格タイプ等が含まれてよい。会話行動に異教を与える環境属性には、例えば、気温、天候、曜日、休日/平日の種別等が含まれてよい。センサの仕様に関する属性は、例えば、センサの感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。
環境データ63Cを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、環境データ63Cは、ユーザ等の入力により取得されてもよい。また、例えば、環境データ63Cは、会話行動を観測するセンサから取得されてもよい。本変形例では、マイクロフォンSC1から得られる仕様に関する情報が環境データ63Cとして取得されてもよい。また、例えば、環境データ63Cは、会話行動を観測するセンサにより得られる観測データに何らかの解析処理を実行することで取得されてもよい。本変形例では、マイクロフォンSC1により得られる音データに何らかの解析処理(例えば、音声解析)を実行し、これにより得られる解析結果(例えば、ユーザの性別を識別した結果)が環境データ63Cとして取得されてもよい。また、例えば、環境データ63Cは、対象の会話環境を観測する他のセンサから取得されてもよい。本変形例では、他のセンサとしてカメラSC2が会話装置1Cに接続されている。そのため、カメラSC2により得られる画像データが環境データ63Cとして取得されてもよい。また、例えば、環境データ63Cは、他のセンサにより得られる観測データに何らかの解析処理を実行することで取得されてもよい。本変形例では、カメラSC2により得られる画像データに何らかの解析処理(例えば、ユーザの属性を識別する画像解析)を実行し、これにより得られる解析結果(ユーザの属性の識別結果)が環境データ63Cとして取得されてもよい。また、例えば、気象データ等の情報を配信する他の情報処理装置(サーバ)から環境データ63Cが取得されてもよい。制御部11は、各装置から直接的に環境データ63Cを取得してもよいし、他のコンピュータを介して間接的に環境データ63Cを取得してもよい。
(ステップS203)
ステップS203では、制御部11は、各件の学習結果データ47Cを参照することで、各学習済み機械学習モデル45Cの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Cに対象データ61Cを与えて、各学習済み機械学習モデル45Cの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Cの出力として、ユーザRCに適合する会話戦略についての各学習済み機械学習モデル45Cの推定結果を取得する。
ステップS203では、制御部11は、各件の学習結果データ47Cを参照することで、各学習済み機械学習モデル45Cの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Cに対象データ61Cを与えて、各学習済み機械学習モデル45Cの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Cの出力として、ユーザRCに適合する会話戦略についての各学習済み機械学習モデル45Cの推定結果を取得する。
(ステップS204)
ステップS204では、制御部11は、統合規則データ57Cを参照して、統合規則5Cの設定を行う。そして、制御部11は、統合規則5Cに従って、各学習済み機械学習モデル45Cの推定結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Cに応じて、各統合パラメータPcの値を決定する。このとき、環境データ63Cの他に、対象データ61Cが更に考慮されてもよい。各統合パラメータPcの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
ステップS204では、制御部11は、統合規則データ57Cを参照して、統合規則5Cの設定を行う。そして、制御部11は、統合規則5Cに従って、各学習済み機械学習モデル45Cの推定結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Cに応じて、各統合パラメータPcの値を決定する。このとき、環境データ63Cの他に、対象データ61Cが更に考慮されてもよい。各統合パラメータPcの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
(1)第1の方法
図22Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Cを取得する。そして、制御部11は、学習データ59Cを利用して、演算モデル51Cの機械学習を実行する。演算モデル51Cの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Cの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
図22Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Cを取得する。そして、制御部11は、学習データ59Cを利用して、演算モデル51Cの機械学習を実行する。演算モデル51Cの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Cの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
第1の例を採用する場合、学習データ59Cは、上記学習データ59と同様に、訓練用環境データ、訓練用対象データ、及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成されてよい。訓練用環境データは、環境データ63Cと同種のデータである。訓練用対象データは、対象データ61Cと同種のデータである。正解データは、訓練用対象データに対する推論の結果(正解)、すなわち、対象の環境下において、ユーザRCに適合する会話戦略を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。制御部11は、取得された学習データ59Cを利用して、演算モデル51Cの機械学習を実行する。機械学習の方法は、上記第1の例と同様であってよい。
第2の例を採用する場合、演算モデル51Cには、価値ベース、方策ベース、又はその両方が採用されてよい。上記実施形態と同様に、観測対象となる状態は、環境データ63C及び対象データ61Cに対応する。エージェントにより実行される行動は、ユーザRCとの会話であってよい。エージェントは、上記一連の処理により、各学習済み機械学習モデル45Cの推定結果を取得して、取得された推定結果を統合することで、対象の環境下においてユーザRCに適合する会話戦略の推定結果を生成することができる。エージェントは、生成された推定結果(すなわち、推定された最適な会話戦略)に基づいて採用する会話行動を決定してもよい。
報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、上記一連の処理で生成される推定結果の適正度に応じて即時報酬を与えるように設定されてよい。適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、上記機械学習モデル40Cの強化学習における判定器と同様であってよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。この事例データは、上記機械学習モデル40Cの強化学習における報酬関数の設定に利用される事例データと同様であってよい。制御部11は、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、演算モデル51Cの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
制御部11は、上記いずれかの方法により、演算モデル51Cの機械学習を実行することができる。これにより、制御部11は、対象の会話環境下におけるユーザRCに適合する会話戦略の推定に適合する各統合パラメータPcの値を環境データ63C(及び対象データ61C)から推定する能力を獲得した学習済み演算モデル52Cを生成することができる。制御部11は、生成された学習済み演算モデル52Cに関する情報を所定の記憶領域に保存してもよい。学習済み演算モデル52Cに関する情報は、統合規則データ57Cの少なくとも一部として保存されてもよいし、統合規則データ57Cとは別に保存されてもよい。
第1の方法では、制御部11は、上記により生成された学習済み演算モデル52Cを利用して、各統合パラメータPcの値を決定する。すなわち、ステップS211では、制御部11は、学習済み演算モデル52Cに環境データ63Cを与える。このとき、制御部11は、学習済み演算モデル52Cに対象データ61Cを更に与えてよい。そして、制御部11は、学習済み演算モデル52Cの演算処理を実行する。これにより、制御部11は、学習済み演算モデル52Cの出力として、各学習済み機械学習モデル45Cに対する各統合パラメータPcの値を取得することができる。
(2)第2の方法
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPcの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Cの学習環境データ35Cを取得する。次に、制御部11は、各件の学習環境データ35C及び環境データ63Cの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Cに対する各統合パラメータPcの値を決定してもよい。適合度に応じて統合パラメータPcの値を決定する方法は、上記実施形態と同様であってよい。
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPcの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Cの学習環境データ35Cを取得する。次に、制御部11は、各件の学習環境データ35C及び環境データ63Cの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Cに対する各統合パラメータPcの値を決定してもよい。適合度に応じて統合パラメータPcの値を決定する方法は、上記実施形態と同様であってよい。
(3)第3の方法
第3の方法では、制御部11は、オペレータによる統合パラメータPcの値の指定を受け付けて、対象の統合パラメータPcの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(図12A)。
第3の方法では、制御部11は、オペレータによる統合パラメータPcの値の指定を受け付けて、対象の統合パラメータPcの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(図12A)。
図22Aに戻り、ステップS211では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、各統合パラメータPcの値を決定することができる。ステップS212では、制御部11は、決定された各統合パラメータPcの値を使用して、対応する各学習済み機械学習モデル45Cの推定結果を重み付けする。上記第3の方法により複数の統合パラメータPcのうちの少なくともいずれかの値を設定した場合、ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPcに対応する学習済み機械学習モデル45Cの推定結果を重み付けする。ステップS213では、制御部11は、各学習済み機械学習モデル45Cの重み付けされた推定結果を統合する。推定結果の統合は、上記実施形態と同様に、重み付け平均又は重み付き多数決により行われてよい。これにより、対象の環境下において、対象のユーザRCに適合する会話戦略を推定した結果を生成することができる。
(ステップS205)
ステップS205では、制御部11は、生成された推定結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された推定結果をそのまま出力装置16に出力してもよいし、生成された推定結果に基づいて、何らかの情報処理を実行してもよい。
ステップS205では、制御部11は、生成された推定結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された推定結果をそのまま出力装置16に出力してもよいし、生成された推定結果に基づいて、何らかの情報処理を実行してもよい。
例えば、制御部11は、生成された推定結果、すなわち、推定されたユーザRC適合の会話戦略に基づいて、ユーザRCと会話を行ってもよい。制御部11は、スピーカ、ディスプレイ等の出力装置16を介して会話内容を出力してもよい。会話の出力は、音声出力であってもよいし、画像出力であってもよい。また、会話の出力先は、出力装置16に限られなくてもよい。制御部11は、他のコンピュータを介してユーザRCと会話を行ってもよい。
なお、上記実施形態と同様に、会話装置1Cの制御部11は、各学習済み機械学習モデル45Cを複数のグループのうちの少なくともいずれかに割り当ててよい。これにより、制御部11は、目的に応じてグループ毎に統合処理を実行してもよい。グルーピングの方法には、上記2つの方法のうちのいずれかが採用されてよい。
<ローカル学習装置の推論処理>
また、本変形例に係る各ローカル学習装置2Cは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Cを利用して、ユーザRCに適合する会話戦略を推定することができる。
また、本変形例に係る各ローカル学習装置2Cは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Cを利用して、ユーザRCに適合する会話戦略を推定することができる。
ステップS111では、各ローカル学習装置2Cは、推定に利用する対象データを取得する。対象データの取得方法は、上記会話装置1CのステップS201と同様であってよい。ステップS112では、各ローカル学習装置2Cは、学習済み機械学習モデル45Cに対象データを与えて、学習済み機械学習モデル45Cの演算処理を実行する。これにより、各ローカル学習装置2Cは、学習済み機械学習モデル45Cの出力として、ユーザRCに適合する会話戦略を推定した結果を取得する。
ステップS113では、各ローカル学習装置2Cは、推定結果に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。各ローカル学習装置2Cは、ステップS112により得られた推定結果をそのまま出力装置に出力してもよいし、得られた推定結果に基づいて、何らかの情報処理を実行してもよい。また、上記会話装置1CのステップS205と同様に、各ローカル学習装置2Cは、出力処理として、推定されたユーザRC適合の会話戦略に基づいて、ユーザRCと会話を行ってもよい。
<特徴>
本変形例によれば、ユーザRCとの間で会話を行う場面において、新たな環境で対象のユーザRCに適合する会話戦略を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。また、これに応じて、そのような推論モデルを構築するまでにかかる時間を短縮することが可能である。
本変形例によれば、ユーザRCとの間で会話を行う場面において、新たな環境で対象のユーザRCに適合する会話戦略を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。また、これに応じて、そのような推論モデルを構築するまでにかかる時間を短縮することが可能である。
ユーザRCに適合する会話戦略を適切に推定可能な推論モデルを構築するのに時間がかかる場合、その構築の間に、ユーザRCに適合しない会話戦略に基づく会話が繰り返される可能性がある。これにより、ユーザRCは、会話装置との会話を煩わしく感じ、会話装置の利用を止めてしまう可能性がある。これに対して、本変形例によれば、ユーザRCに適合する会話戦略を適切に推定可能な推論モデルを構築するまでにかかる時間を短縮することができるため、会話装置1Cの利用性を高めることができる。
なお、本変形例は適宜変更されてよい。例えば、マイクロフォンSC1以外から対象データ61Cを取得する場合、マイクロフォンSC1は省略されてよい。カメラSC2以外から環境データ63Cを取得する場合、カメラSC2は省略されてよい。会話装置1Cと各センサ(マイクロフォンSC1、カメラSC2)とは、通信インタフェースを介して接続されてもよい。
(D)タスクに適合する動作指令を推定する場面
図23は、第4変形例に係る制御システム100Dの適用場面の一例を模式的に例示する。本変形例は、タスクに適合する動作指令を推定する場面に上記実施形態を適用した例である。図23に示されるとおり、本変形例に係る制御システム100Dは、制御装置1D及び複数のローカル学習装置2Dを備えている。上記実施形態と同様に、制御装置1D及び各ローカル学習装置2Dは、ネットワークを介して互いに接続されてよい。
図23は、第4変形例に係る制御システム100Dの適用場面の一例を模式的に例示する。本変形例は、タスクに適合する動作指令を推定する場面に上記実施形態を適用した例である。図23に示されるとおり、本変形例に係る制御システム100Dは、制御装置1D及び複数のローカル学習装置2Dを備えている。上記実施形態と同様に、制御装置1D及び各ローカル学習装置2Dは、ネットワークを介して互いに接続されてよい。
制御装置1Dは、上記推論装置1に対応する。各ローカル学習装置2Dは、上記各ローカル学習装置2に対応する。取り扱うデータ及び推論の内容が限定されている点を除き、制御装置1Dは、上記推論装置1と同様に構成されてよく、各ローカル学習装置2Dは、上記各ローカル学習装置2と同様に構成されてよい。制御装置1Dのハードウェア構成及びソフトウェア構成は、上記推論装置1と同様であってよい。各ローカル学習装置2Dのハードウェア構成及びソフトウェア構成は、上記各ローカル学習装置2と同様であってよい。
本変形例に係る所定の推論は、タスクに適合するロボット装置RDの動作指令をロボット装置RDの状態から推定することである。ロボット装置RD及びタスクそれぞれの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ロボット装置RDは、例えば、産業用ロボット、設備装置、自動運転可能な車両等であってよい。設備装置は、例えば、エアコンディショナ、照明装置等であってよい。ロボット装置RDが産業用ロボットである場合、タスクは、例えば、ワークを目的位置に配置することなどであってよい。ロボット装置RDがエアコンディショナ等の設備装置である場合、タスクは、例えば、所定の温度に保つ等、設備装置の種類に応じて適宜決定されてよい。ロボット装置RDが自動運転可能な車両である場合、タスクは、例えば、現在位置から目的位置まで自動運転により移動すること等であってよい。本変形例では、制御装置1D及び各ローカル学習装置2Dそれぞれには、ロボット装置RDが接続されている。これにより、制御装置1D及び各ローカル学習装置2Dはそれぞれ、推定した動作指令に基づいてロボット装置RDの動作を制御することができる。
本変形例に係る各ローカル学習装置2Dは、タスクに適合するロボット装置RDの動作指令をロボット装置RDの状態から推定する能力を獲得した学習済み機械学習モデル45Dを生成する。これに対して、本変形例に係る制御装置1Dは、各ローカル学習装置2Dにより異なる環境下で得られたローカル学習データ30Dから導出された各学習済み機械学習モデル45Dを利用して、対象の環境下において、対象のロボット装置RDのタスクに適合する動作指令を推定する。
本変形例に係る制御装置1Dは、所定の推論の対象となる対象データ61D、及び所定の推論を実行する対象の環境に関する環境データ63Dを取得する。本変形例に係る所定の推論の対象となる対象データ61Dは、対象のロボット装置RDの状態に関するものである。一方、本変形例に係る所定の推論を実行する対象の環境に関する環境データ63Dは、対象のロボット装置RDがタスクを遂行する対象のタスク環境に関するものである。
本変形例では、センサSDが制御装置1Dに更に接続されている。センサSDは、例えば、カメラ等であり、対象のロボット装置RDの状態を観測するのに利用される。そのため、本変形例に係る制御装置1Dは、センサSDから対象データ61Dを取得することができる。なお、センサSD又は他のセンサにより、対象のタスク環境が観測されてよい。この場合、本変形例に係る制御装置1Dは、センサSD又は他のセンサから環境データ63Dを取得してもよい。
本変形例に係る制御装置1Dは、取得された対象データ61Dを各学習済み機械学習モデル45Dに与えて、タスクに適合するロボット装置RDの動作指令を各学習済み機械学習モデル45Dに推定させる。これにより、本変形例に係る制御装置1Dは、タスクに適合するロボット装置RDの動作指令についての各学習済み機械学習モデル45Dの推定結果を取得する。そして、本変形例に係る制御装置1Dは、統合規則5Dに従って、各学習済み機械学習モデル45Dの推定結果を統合する。
上記実施形態と同様に、統合規則5Dは、対象の環境下において、各学習済み機械学習モデル45Dの推定結果を重視する程度をそれぞれ規定する複数の統合パラメータPDを備えている。本変形例に係る制御装置1Dは、環境データ63Dに応じて、各統合パラメータPDの値を決定する。このとき、環境データ63Dの他に、対象データ61Dが更に考慮されてもよい。次に、本変形例に係る制御装置1Dは、決定された各統合パラメータPDの値を使用して、対応する各学習済み機械学習モデル45Dの推定結果を重み付けする。そして、本変形例に係る制御装置1Dは、各学習済み機械学習モデル45Dの重み付けされた推定結果を統合する。
これにより、本変形例に係る制御装置1Dは、対象の環境下において、対象のロボット装置RDのタスクに適合する動作指令を推定することができる。
<学習済み機械学習モデルの生成>
本変形例に係る各ローカル学習装置2Dは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Dを生成する。すなわち、ステップS101では、各ローカル学習装置2Dは、ローカル学習データ30Dを取得する。そして、ステップS102では、各ローカル学習装置2Dは、取得されたローカル学習データ30Dを利用して、機械学習モデル40Dの機械学習を実行する。機械学習モデル40Dの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
本変形例に係る各ローカル学習装置2Dは、上記各ローカル学習装置2と同様に、ステップS101~ステップS104の処理を実行することで、学習済み機械学習モデル45Dを生成する。すなわち、ステップS101では、各ローカル学習装置2Dは、ローカル学習データ30Dを取得する。そして、ステップS102では、各ローカル学習装置2Dは、取得されたローカル学習データ30Dを利用して、機械学習モデル40Dの機械学習を実行する。機械学習モデル40Dの構成及び機械学習の方法は、上記機械学習モデル40と同様であってよい。
本変形例では、機械学習の方法には、上記第1の例~第3の例のいずれかが採用されてよい。第1の例を採用する場合、ローカル学習データ30Dは、訓練データ及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成される。訓練データは、上記対象データ61Dと同種であり、ロボット装置RDの状態に関するデータにより構成されてよい。正解データは、訓練データに対する推論の結果(正解)、すなわち、そのタスクの遂行に適合するロボット装置RDの動作指令を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。各ローカル学習装置2Dは、取得されたローカル学習データ30Dを利用して、機械学習モデル40Dの教師あり学習を実行する。教師あり学習の方法は、上記実施形態と同様であってよい。
第2の例を採用する場合、ローカル学習データ30Dは、複数件の訓練データにより構成される。訓練データは、機械学習モデル40Dに生成させることを所望するデータにより構成される。訓練データは、例えば、タスクの遂行に適合するロボット装置RDの動作指令を示すデータにより構成される。各ローカル学習装置2Dは、取得されたローカル学習データ30Dを利用して、機械学習モデル40D及び他の機械学習モデルの敵対的学習を実行する。敵対的学習の方法は、上記実施形態と同様であってよい。
第3の例を採用する場合、機械学習モデル40Dには、価値ベース、方策ベース、又はその両方が採用されてよい。観測対象となる状態は、ロボット装置RDの内部及び外部の少なくとも一方の状況に関するものであってよい。エージェントにより実行される行動は、動作指令に基づく動作であってよい。報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、機械学習モデル40Dの推定結果の適正度に応じて即時報酬を与えるように設定されてもよい。この場合、上記実施形態と同様に、適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、タスクに適合する動作指令を推定した結果の精度を評価するように構成されてよい。これに応じて、報酬関数は、複数回の推定処理の試行の結果に基づいて、動作指令の推定の精度が閾値以上であればプラスの即時報酬を与え、動作指令の推定の精度が許容値以下であればマイナスの即時報酬を与えるように設定されてよい。なお、動作指令の推定精度は、例えば、対象のタスクが適正に遂行されたか否か等、タスクの遂行状況に基づいて評価されてよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。本変形例では、事例データは、例えば、熟練者によるロボット装置RDの操作軌跡を示すデータにより構成されてよい。各ローカル学習装置2Dは、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、機械学習モデル40Dの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
各ローカル学習装置2Dは、上記いずれかの方法により、機械学習モデル40Dの機械学習を実行することができる。これにより、各ローカル学習装置2Dは、タスクに適合するロボット装置RDの動作指令をロボット装置RDの状態から推定する能力を獲得した学習済み機械学習モデル45Dを生成することができる。
ステップS103では、各ローカル学習装置2Dは、ローカル学習データ30Dの得られた環境に関する学習環境データ35Dを取得する。学習環境データ35Dは、制御装置1Dで得られる環境データ63Dと同種のデータである。学習環境データ35Dを取得する方法は、環境データ63Dを取得する方法と同様であってよい。ステップS104では、各ローカル学習装置2Dは、生成された学習済み機械学習モデル45Dに関する情報を学習結果データ47Dとして生成する。そして、各ローカル学習装置2Dは、学習結果データ47Dを学習環境データ35Dに関連付けて所定の記憶領域に保存する。
本変形例では、各ローカル学習装置2Dの間において、ローカル学習データ30Dが異なる環境下で取得されてよい。そして、得られたローカル学習データ30Dから学習済み機械学習モデル45Dが生成されてよい。その結果、タスクに適合するロボット装置RDの動作指令を推定可能に、異なる環境下で得られたローカル学習データ30Dから導出された複数の学習済み機械学習モデル45Dを得ることができる。
図24は、本変形例に係る制御装置1Dのハードウェア構成の一例を模式的に例示する。図24に示されるとおり、本変形例に係る制御装置1Dは、上記推論装置1と同様に、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。制御装置1Dは、外部インタフェース14を介して、ロボット装置RD及びセンサSDに接続される。ただし、制御装置1Dのハードウェア構成は、このような例に限定されなくてもよい。制御装置1Dの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。制御装置1Dは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってよい。
本変形例に係る制御装置1Dの記憶部12は、制御プログラム81D、統合規則データ57D、学習結果データ47D、学習データ59D、学習環境データ35D等の各種情報を記憶する。制御プログラム81D、統合規則データ57D、学習結果データ47D、学習データ59D、及び学習環境データ35Dは、上記実施形態に係る推論プログラム81、統合規則データ57、学習結果データ47、学習データ59、及び学習環境データ35に対応する。制御プログラム81D、統合規則データ57D、学習結果データ47D、学習データ59D、及び学習環境データ35Dの少なくともいずれかは記憶媒体91に記憶されていてもよい。また、制御装置1Dは、記憶媒体91から、制御プログラム81D、統合規則データ57D、学習結果データ47D、学習データ59D、及び学習環境データ35Dの少なくともいずれかを取得してもよい。
<制御装置のソフトウェア構成>
図25A及び図25Bは、本変形例に係る制御装置1Dのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、制御装置1Dのソフトウェア構成は、制御部11による制御プログラム81Dの実行により実現される。図25A及び図25Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、制御装置1Dのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、制御装置1Dは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
図25A及び図25Bは、本変形例に係る制御装置1Dのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、制御装置1Dのソフトウェア構成は、制御部11による制御プログラム81Dの実行により実現される。図25A及び図25Bに示されるとおり、取り扱うデータ及び推論の内容が限定されている点を除き、制御装置1Dのソフトウェア構成は、上記推論装置1のソフトウェア構成と同様である。これにより、制御装置1Dは、上記推論装置1と同様に、上記推論に関する一連の処理を実行する。
(ステップS201)
すなわち、図25Aに示されるとおり、ステップS201では、制御装置1Dの制御部11は、対象データ61Dを取得する。対象データ61Dは、対象のロボット装置RDの状態に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Dには、例えば、ロボット装置RDの内部状況を示すデータ、ロボット装置RDの外部状況を示すデータ等が含まれてよい。
すなわち、図25Aに示されるとおり、ステップS201では、制御装置1Dの制御部11は、対象データ61Dを取得する。対象データ61Dは、対象のロボット装置RDの状態に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象データ61Dには、例えば、ロボット装置RDの内部状況を示すデータ、ロボット装置RDの外部状況を示すデータ等が含まれてよい。
ロボット装置RDが産業用ロボットである場合、ロボット装置RDの内部状況には、例えば、エンコーダにより計測される各関節の角度、力センサにより計測されるエンドエフェクタに作用する力等が含まれてよく、ロボット装置RDの外部状況には、例えば、ワークの状態、作業範囲の状態等が含まれてよい。ワークの状態及び作業範囲の状態は、例えば、カメラ等のセンサにより観測されてよい。
また、ロボット装置RDが設備装置である場合、ロボット装置RDの内部状況には、例えば、設備装置の動作設定(例えば、空調温度)等が含まれてよく、ロボット装置RDの外部状況には、例えば、設備装置の動作範囲の状態等が含まれてよい。設備装置が空調装置である場合、設備装置の動作範囲の状態には、例えば、温度センサにより得られる室内温度が含まれてよい。
ロボット装置RDが自動運転可能な車両である場合、ロボット装置RDの内部状況には、例えば、ハンドルの操舵角、アクセル量、ブレーキ量、クラクションの操作の有無等が含まれてよく、ロボット装置RDの外部状況には、例えば、障害物の有無、走行道路の状態等の車両外部の状況が含まれてよい。車両外部の状況は、例えば、カメラ、Lidarセンサ等により観測されてよい。
対象データ61Dを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、ロボット装置RD自身から内部状況を示すデータが対象データ61Dとして取得されてもよい。また、例えば、対象データ61Dは、ロボット装置RDの内部状況を観測するセンサから取得されてもよい。ロボット装置RDの内部状況を観測するセンサには、例えば、エンコーダ、力センサ等が用いられてよい。また、例えば、対象データ61Dは、ロボット装置RDの外部状況を観測するセンサから取得されてもよい。ロボット装置RDの外部状況を観測するセンサには、例えば、カメラ、Lidarセンサ、赤外線センサ等が用いられてよい。また、例えば、オペレータ等の入力により、対象データ61Dは取得されてもよい。制御部11は、各装置から直接的に対象データ61Dを取得してもよいし、他のコンピュータを介して間接的に対象データ61Dを取得してもよい。本変形例では、制御装置1Dには、ロボット装置RDの外部状況を観測するセンサSDが接続されている。そのため、制御部11は、センサSDから対象データ61Dを取得することができる。
(ステップS202)
ステップS202では、制御部11は、環境データ63Dを取得する。環境データ63Dは、対象のロボット装置RDがタスクを遂行する対象のタスク環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Dには、例えば、ロボット装置RDの属性を示すデータ、ロボット装置RDの状態を観測するセンサの仕様(又は性能)に関する属性を示すデータ、センサの観測条件に関する属性を示すデータ等が含まれてもよい。
ステップS202では、制御部11は、環境データ63Dを取得する。環境データ63Dは、対象のロボット装置RDがタスクを遂行する対象のタスク環境に関するものであれば、その内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境データ63Dには、例えば、ロボット装置RDの属性を示すデータ、ロボット装置RDの状態を観測するセンサの仕様(又は性能)に関する属性を示すデータ、センサの観測条件に関する属性を示すデータ等が含まれてもよい。
ロボット装置RDの属性には、例えば、ロボット装置RDの種別、ロボット装置RDの性能等が含まれてよい。ロボット装置RDが産業用ロボットである場合、ロボット装置RDの性能は、例えば、駆動範囲、可搬重量等により表現されてよい。ロボット装置RDが空調装置である場合、ロボット装置RDの性能は、例えば、温度制御範囲等により表現されてよい。ロボット装置RDが自動運転可能な車両である場合、ロボット装置RDの性能は、例えば、限界走行速度等により表現されてよい。
センサの仕様に関する属性は、例えば、センサの感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等が含まれてよい。センサの観測条件に関する属性には、例えば、センサの設置角度、センサの動作設定に関する属性等が含まれてよい。センサの動作設定に関する属性には、例えば、センサの計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等が含まれてよい。具体例として、センサがカメラの場合、動作設定に関する属性には、絞り値、シャッタースピード、ズーム倍率等が含まれてよい。
環境データDを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、環境データ63Dは、オペレータ等の入力により取得されてもよい。また、例えば、環境データ63Dは、ロボット装置RD自身又はロボット装置RDの情報を提供する他の情報処理装置(サーバ)から取得されてもよい。また、例えば、環境データ63Dは、ロボット装置RDの状態を観測するセンサ自身又はセンサの情報を提供する他の情報処理装置(サーバ)から取得されてもよい。制御部11は、各装置から直接的に環境データ63Dを取得してもよいし、他のコンピュータを介して間接的に環境データ63Dを取得してもよい。
(ステップS203)
ステップS203では、制御部11は、各件の学習結果データ47Dを参照することで、各学習済み機械学習モデル45Dの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Dに対象データ61Dを与えて、各学習済み機械学習モデル45Dの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Dの出力として、タスクに適合するロボット装置RDの動作指令についての各学習済み機械学習モデル45Dの推定結果を取得する。
ステップS203では、制御部11は、各件の学習結果データ47Dを参照することで、各学習済み機械学習モデル45Dの設定を行う。次に、制御部11は、各学習済み機械学習モデル45Dに対象データ61Dを与えて、各学習済み機械学習モデル45Dの演算処理を実行する。これにより、制御部11は、各学習済み機械学習モデル45Dの出力として、タスクに適合するロボット装置RDの動作指令についての各学習済み機械学習モデル45Dの推定結果を取得する。
(ステップS204)
ステップS204では、制御部11は、統合規則データ57Dを参照して、統合規則5Dの設定を行う。そして、制御部11は、統合規則5Dに従って、各学習済み機械学習モデル45Dの推定結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Dに応じて、各統合パラメータPDの値を決定する。このとき、環境データ63Dの他に、対象データ61Dが更に考慮されてもよい。各統合パラメータPDの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
ステップS204では、制御部11は、統合規則データ57Dを参照して、統合規則5Dの設定を行う。そして、制御部11は、統合規則5Dに従って、各学習済み機械学習モデル45Dの推定結果を統合する。具体的には、ステップS211では、制御部11は、環境データ63Dに応じて、各統合パラメータPDの値を決定する。このとき、環境データ63Dの他に、対象データ61Dが更に考慮されてもよい。各統合パラメータPDの値を決定する方法には、上記第1~第3の方法のいずれかが採用されてよい。
(1)第1の方法
図25Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Dを取得する。そして、制御部11は、学習データ59Dを利用して、演算モデル51Dの機械学習を実行する。演算モデル51Dの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Dの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
図25Bに示されるとおり、第1の方法を採用する場合、制御部11は、学習データ59Dを取得する。そして、制御部11は、学習データ59Dを利用して、演算モデル51Dの機械学習を実行する。演算モデル51Dの構成及び機械学習の方法は、上記演算モデル51と同様であってよい。演算モデル51Dの構成及び機械学習の方法には、上記2つの例のうちのいずれかが採用されてよい。
第1の例を採用する場合、学習データ59Dは、上記学習データ59と同様に、訓練用環境データ、訓練用対象データ、及び正解データの組み合わせをそれぞれ含む複数の学習データセットにより構成されてよい。訓練用環境データは、環境データ63Dと同種のデータである。訓練用対象データは、対象データ61Dと同種のデータである。正解データは、訓練用対象データに対する推論の結果(正解)、すなわち、対象の環境下において、タスクの遂行に適合するロボット装置RDの動作指令を示すデータにより構成されてよい。各学習データセットは、上記実施形態と同様の方法により生成されてよい。制御部11は、取得された学習データ59Dを利用して、演算モデル51Dの機械学習を実行する。機械学習の方法は、上記第1の例と同様であってよい。
第2の例を採用する場合、演算モデル51Dには、価値ベース、方策ベース、又はその両方が採用されてよい。上記実施形態と同様に、観測対象となる状態は、環境データ63D及び対象データ61Dに対応する。エージェントにより実行される行動は、動作指令に基づく動作であってよい。エージェントは、上記一連の処理により、各学習済み機械学習モデル45Dの推定結果を取得し、取得された推定結果を統合することで、対象の環境下においてタスクに適合するロボット装置RDの動作指令の推定結果を生成することができる。エージェントは、生成された推定結果(すなわち、推定された最適な動作指令)に基づいて採用する動作を決定してもよい。
報酬関数は、オペレータ等により手動的に設定されてもよい。或いは、報酬関数は、上記一連の処理で生成される推定結果の適正度に応じて即時報酬を与えるように設定されてよい。適正度は、オペレータ等により手動的に与えられてもよい。若しくは、適正度は、判定器を用いて所定の基準に従って評価されてもよい。判定器は、上記機械学習モデル40Dの強化学習における判定器と同様であってよい。或いは、報酬関数は、エキスパートの実演を示す事例データから逆強化学習により推定されてもよい。この事例データは、上記機械学習モデル40Dの強化学習における報酬関数の設定に利用される事例データと同様であってよい。制御部11は、適宜設定された学習の環境において、得られる価値(の期待値)が最大化されるように、演算モデル51Dの演算パラメータの値を調整する。強化学習の方法は、上記実施形態と同様であってよい。
制御部11は、上記いずれかの方法により、演算モデル51Dの機械学習を実行することができる。これにより、制御部11は、対象のタスク環境下において対象のロボット装置RDのタスクに適合する動作指令の推定に適合する各統合パラメータPDの値を環境データ63D(及び対象データ61D)から推定する能力を獲得した学習済み演算モデル52Dを生成することができる。制御部11は、生成された学習済み演算モデル52Dに関する情報を所定の記憶領域に保存してもよい。学習済み演算モデル52Dに関する情報は、統合規則データ57Dの少なくとも一部として保存されてもよいし、統合規則データ57Dとは別に保存されてもよい。
第1の方法では、制御部11は、上記により生成された学習済み演算モデル52Dを利用して、各統合パラメータPDの値を決定する。すなわち、ステップS211では、制御部11は、学習済み演算モデル52Dに環境データ63Dを与える。このとき、制御部11は、学習済み演算モデル52Dに対象データ61Dを更に与えてよい。そして、制御部11は、学習済み演算モデル52Dの演算処理を実行する。これにより、制御部11は、学習済み演算モデル52Dの出力として、各学習済み機械学習モデル45Dに対する各統合パラメータPDの値を取得することができる。
(2)第2の方法
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPDの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Dの学習環境データ35Dを取得する。次に、制御部11は、各件の学習環境データ35D及び環境データ63Dの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Dに対する各統合パラメータPDの値を決定してもよい。適合度に応じて統合パラメータPDの値を決定する方法は、上記実施形態と同様であってよい。
第2の方法では、制御部11は、対象の環境と各学習環境との比較に基づいて、各統合パラメータPDの値を決定する。すなわち、制御部11は、各学習済み機械学習モデル45Dの学習環境データ35Dを取得する。次に、制御部11は、各件の学習環境データ35D及び環境データ63Dの適合度を算出する。適合度の形式及び表現は、上記実施形態と同様であってよい。上記ステップS211では、制御部11は、算出された各適合度に応じて、対応する各学習済み機械学習モデル45Dに対する各統合パラメータPDの値を決定してもよい。適合度に応じて統合パラメータPDの値を決定する方法は、上記実施形態と同様であってよい。
(3)第3の方法
第3の方法では、制御部11は、オペレータによる統合パラメータPDの値の指定を受け付けて、対象の統合パラメータPDの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(図12A)。
第3の方法では、制御部11は、オペレータによる統合パラメータPDの値の指定を受け付けて、対象の統合パラメータPDの値を指定された値に設定する。受付画面は、上記実施形態と同様であってよい(図12A)。
図25Aに戻り、ステップS211では、制御部11は、上記3つの方法の少なくともいずれかを採用することで、各統合パラメータPDの値を決定することができる。ステップS212では、制御部11は、決定された各統合パラメータPDの値を使用して、対応する各学習済み機械学習モデル45Dの推定結果を重み付けする。上記第3の方法により複数の統合パラメータPDのうちの少なくともいずれかの値を設定した場合、ステップS212では、制御部11は、上記により設定された値を使用して、対象の統合パラメータPDに対応する学習済み機械学習モデル45Dの推定結果を重み付けする。ステップS213では、制御部11は、各学習済み機械学習モデル45Dの重み付けされた推定結果を統合する。推定結果の統合は、上記実施形態と同様に、重み付け平均又は重み付き多数決により行われてよい。これにより、対象の環境下において、対象のロボット装置RDのタスクに適合する動作指令を推定した結果を生成することができる。
(ステップS205)
ステップS205では、制御部11は、生成された推定結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された推定結果をそのまま出力装置16に出力してもよいし、生成された推定結果に基づいて、何らかの情報処理を実行してもよい。
ステップS205では、制御部11は、生成された推定結果に関する情報を出力する。上記実施形態と同様に、出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。制御部11は、ステップS204により生成された推定結果をそのまま出力装置16に出力してもよいし、生成された推定結果に基づいて、何らかの情報処理を実行してもよい。
例えば、制御部11は、生成された推定結果、すなわち、推定されたタスク適合の動作指令を推定結果に関する情報としてロボット装置RDに送信することで、推定された動作指令に従ってロボット装置RDの動作を制御してもよい。このとき、制御部11は、ロボット装置RDを直接的に制御してもよい。或いは、ロボット装置RDは、コントローラを備えてもよい。この場合、制御部11は、動作指令をコントローラに送信することで、ロボット装置RDを間接的に制御してもよい。
また、例えば、制御部11は、推定されたタスク適合の動作指令に従ってロボット装置RDを操作するようにユーザに指示するための指示情報を推定結果に関する情報として生成してもよい。そして、制御部11は、生成された指示情報を出力装置に出力してもよい。出力先の出力装置は、検査装置1Aの出力装置16であってもよいし、他のコンピュータの出力装置であってよい。他のコンピュータは、ユーザの近傍に配置されたコンピュータであってもよいし、ユーザの所持する端末装置であってもよい。
なお、上記実施形態と同様に、制御装置1Dの制御部11は、各学習済み機械学習モデル45Dを複数のグループのうちの少なくともいずれかに割り当ててよい。これにより、制御部11は、目的に応じてグループ毎に統合処理を実行してもよい。グルーピングの方法には、上記2つの方法のうちのいずれかが採用されてよい。
<ローカル学習装置の推論処理>
また、本変形例に係る各ローカル学習装置2Dは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Dを利用して、タスクに適合するロボット装置RDの動作指令を推定することができる。
また、本変形例に係る各ローカル学習装置2Dは、上記各ローカル学習装置2と同様に、ステップS111~ステップS113の処理を実行することで、学習済み機械学習モデル45Dを利用して、タスクに適合するロボット装置RDの動作指令を推定することができる。
ステップS111では、各ローカル学習装置2Dは、推定に利用する対象データを取得する。対象データの取得方法は、上記制御装置1DのステップS201と同様であってよい。ステップS112では、各ローカル学習装置2Dは、学習済み機械学習モデル45Dに対象データを与えて、学習済み機械学習モデル45Dの演算処理を実行する。これにより、各ローカル学習装置2Dは、学習済み機械学習モデル45Dの出力として、タスクに適合するロボット装置RDの動作指令を推定した結果を取得する。
ステップS113では、各ローカル学習装置2Dは、推定結果に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。各ローカル学習装置2Dは、ステップS112により得られた推定結果をそのまま出力装置に出力してもよいし、得られた推定結果に基づいて、何らかの情報処理を実行してもよい。例えば、各ローカル学習装置2Dは、推定されたタスク適合の動作指令をロボット装置RDに送信することで、推定された動作指令に従ってロボット装置RDの動作を制御してもよい。また、例えば、各ローカル学習装置2Dは、推定されたタスク適合の動作指令に従ってロボット装置RDを操作するようにユーザに指示するための指示情報を生成し、生成された指示情報を出力装置に出力してもよい。
<特徴>
本変形例によれば、ロボット装置RDの動作を制御する場面において、新たな環境で対象のロボット装置RDのタスクに適合する動作指令を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。これにより、タスクを適切に遂行するための動作系列を生成するのにかかるコストを抑えることができる。
本変形例によれば、ロボット装置RDの動作を制御する場面において、新たな環境で対象のロボット装置RDのタスクに適合する動作指令を適切に推定可能な推論モデルを構築するのにかかるコストを低減することができる。これにより、タスクを適切に遂行するための動作系列を生成するのにかかるコストを抑えることができる。
なお、本変形例は適宜変更されてよい。例えば、センサSD以外から対象データ61Dを取得する場合、センサSDは省略されてよい。制御装置1Dと各装置(ロボット装置RD、センサSD)とは、通信インタフェースを介して接続されてもよい。
<4.2>
上記実施形態では、推論装置1が、演算モデル51の機械学習を実施することで、学習済み演算モデル52を生成している。しかしながら、学習済み演算モデル52を生成する主体は、推論装置1に限られなくてもよい。推論装置1以外の他のコンピュータが、演算モデル51の機械学習を実施することで、学習済み演算モデル52を生成してもよい。
上記実施形態では、推論装置1が、演算モデル51の機械学習を実施することで、学習済み演算モデル52を生成している。しかしながら、学習済み演算モデル52を生成する主体は、推論装置1に限られなくてもよい。推論装置1以外の他のコンピュータが、演算モデル51の機械学習を実施することで、学習済み演算モデル52を生成してもよい。
図26Aは、本変形例に係るモデル生成装置7のハードウェア構成の一例を模式的に例示する。モデル生成装置7は、学習済み演算モデル52を生成する他のコンピュータの一例である。図26Aに示されるとおり、本変形例に係るモデル生成装置7は、制御部71、記憶部72、通信インタフェース73、外部インタフェース74、入力装置75、出力装置76、及びドライブ77が電気的に接続されたコンピュータである。モデル生成装置7の制御部71~ドライブ77は、上記推論装置1の制御部11~ドライブ77と同様であってよい。ただし、モデル生成装置7のハードウェア構成は、このような例に限定されなくてもよい。モデル生成装置7の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。モデル生成装置7は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってよい。
本変形例に係るモデル生成装置7の記憶部72は、生成プログラム87、統合規則データ57、学習結果データ47、学習データ59等の各種情報を記憶する。生成プログラム87は、演算モデル51の機械学習に関する情報処理をモデル生成装置7に実行させるためのプログラムである。生成プログラム87は、この情報処理の一連の命令を含む。生成プログラム87、統合規則データ57、学習結果データ47、及び学習データ59の少なくともいずれかは記憶媒体97に記憶されていてもよい。記憶媒体97は、上記記憶媒体91と同様であってよい。また、モデル生成装置7は、記憶媒体97から、生成プログラム87、統合規則データ57、学習結果データ47、及び学習データ59の少なくともいずれかを取得してもよい。
図26Bは、本変形例に係るモデル生成装置7のソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、モデル生成装置7の制御部71は、記憶部72に記憶された生成プログラム87を実行する。これにより、モデル生成装置7は、学習データ取得部116、学習処理部117、及び保存処理部118をソフトウェアモジュールとして備えるコンピュータとして動作する。なお、モデル生成装置7のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、モデル生成装置7のソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
モデル生成装置7は、学習データ取得部116、学習処理部117、及び保存処理部118をソフトウェアモジュールとして備えていることで、上記ステップS301~ステップS303の処理を実行する。すなわち、ステップS301では、制御部71は、学習データ取得部116として動作し、学習データ59を取得する。ステップS302では、制御部71は、学習処理部117として動作し、学習データ59を利用して、演算モデル51の機械学習を実行する。ステップS303では、制御部71は、保存処理部118として動作し、演算モデル51の機械学習の結果、すなわち、学習済み演算モデル52に関する情報を所定の記憶領域に保存する。学習済み演算モデル52に関する情報は、統合規則データ57の少なくとも一部として保存されてよい。これにより、制御部71は、上記実施形態と同様に、学習済み演算モデル52を生成することができる。
生成された学習済み演算モデル52に関する情報は、任意のタイミングで推論装置1に提供されてよい。推論装置1が学習済み演算モデル52を生成しない場合、学習データ取得部116、学習処理部117、及び保存処理部118は、推論装置1のソフトウェア構成から省略されてもよい。また、推論装置1の記憶部12等に保持される情報から学習データ59が省略されてもよい。
なお、上記変形例に係る検査装置1A、予測装置1B、会話装置1C、及び制御装置1Dについても同様であってよい。上記変形例に係る検査装置1A、予測装置1B、会話装置1C、及び制御装置1Dの少なくともいずれかにおいて、学習済み演算モデル52A~52Dは他のコンピュータにより生成されてよい。この場合、学習データ取得部116、学習処理部117、及び保存処理部118は、ソフトウェア構成から省略されてよい。
<4.3>
上記実施形態では、各ローカル学習装置2は、学習済み機械学習モデル45の生成処理、及び生成された学習済み機械学習モデル45を利用する推論処理の両方を実行するように構成される。しかしながら、各ローカル学習装置2の構成は、このような例に限定されなくてもよい。複数のローカル学習装置2の少なくともいずれかは、複数台のコンピュータにより構成されてよい。この場合、ローカル学習装置2は、生成処理及び推論処理が別々のコンピュータで実行されるように構成されてよい。
上記実施形態では、各ローカル学習装置2は、学習済み機械学習モデル45の生成処理、及び生成された学習済み機械学習モデル45を利用する推論処理の両方を実行するように構成される。しかしながら、各ローカル学習装置2の構成は、このような例に限定されなくてもよい。複数のローカル学習装置2の少なくともいずれかは、複数台のコンピュータにより構成されてよい。この場合、ローカル学習装置2は、生成処理及び推論処理が別々のコンピュータで実行されるように構成されてよい。
図27は、本変形例に係るローカル学習装置2Fの構成の一例を模式的に例示する。本変形例では、ローカル学習装置2Fは、上記生成処理を実行するように構成されるモデル生成装置200、及び上記推論処理を実行するように構成されるモデル利用装置201を備える。モデル生成装置200及びモデル利用装置201それぞれのハードウェア構成は、上記実施形態に係る各ローカル学習装置2のハードウェア構成と同様であってよい。
モデル生成装置200は、学習プログラム821を実行することで、学習データ取得部211、環境データ取得部212、学習処理部213、及び保存処理部214をソフトウェアモジュールとして備えるコンピュータとして動作する。これにより、モデル生成装置200は、機械学習モデル40の機械学習を実行し、学習済み機械学習モデル45を生成する。
一方、モデル利用装置201は、推論プログラム822を実行することで、対象データ取得部216、推論部217、及び出力部218をソフトウェアモジュールとして備えるコンピュータとして動作する。これにより、モデル利用装置201は、学習済み機械学習モデル45を利用して、所定の推論を実行する。
なお、上記変形例に係る各ローカル学習装置2A~2Dの少なくともいずれかも、本変形例と同様に、生成処理及び推論処理が別々のコンピュータで実行されるように構成されてよい。
<4.4>
上記実施形態において、各ローカル学習装置2の生成する学習済み機械学習モデル45の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数のローカル学習装置2のうちの少なくともいずれかは、複数件の異なるローカル学習データ30を収集し、得られた各件のローカル学習データ30を使用して、複数の学習済み機械学習モデル45を生成してもよい。また、1つのローカル学習装置2が複数の学習済み機械学習モデル45を生成する場合、推論装置1で利用される複数の学習済み機械学習モデル45は、1つのローカル学習装置2により生成されたものであってもよい。
上記実施形態において、各ローカル学習装置2の生成する学習済み機械学習モデル45の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数のローカル学習装置2のうちの少なくともいずれかは、複数件の異なるローカル学習データ30を収集し、得られた各件のローカル学習データ30を使用して、複数の学習済み機械学習モデル45を生成してもよい。また、1つのローカル学習装置2が複数の学習済み機械学習モデル45を生成する場合、推論装置1で利用される複数の学習済み機械学習モデル45は、1つのローカル学習装置2により生成されたものであってもよい。
また、上記実施形態では、各ローカル学習装置2が、機械学習モデル40の機械学習を実行し、学習済み機械学習モデル45を生成している。しかしながら、機械学習モデル40の機械学習(すなわち、学習済み機械学習モデル45の生成)は、必ずしも各ローカル学習装置2で実行されなくてもよい。機械学習モデル40の機械学習は、推論装置1、他の情報処理装置等の各ローカル学習装置2以外の他のコンピュータにより実行されてもよい。
また、上記実施形態では、所定の推論を実行する推論モデルの一例として、学習済み機械学習モデル45が採用されている。しかしながら、推論モデルは、所定の推論を実行可能であれば、その構成は、学習済み機械学習モデルに限られなくてもよく、実施の形態に応じて適宜選択されてよい。推論モデルを導出する方法は、機械学習に限られなくてもよい。推論モデルは、例えば、人手により導出されてもよい。すなわち、ローカル学習データ30を参考にして、人間によりヒューリスティックに決定されたモデルが推論モデルとして採用されてもよい。
なお、推論に利用される各推論モデルの出力(推論結果)の形式及び内容は、必ずしも完全に一致していなければならない訳ではない。各推論モデルの出力の形式及び内容の少なくとも一方は、各推論モデルの推論結果を統合可能な範囲で異なっていてもよい。例えば、関節数の異なるロボット装置の動作指令を推定する複数の推論モデルが、対象の環境下におけるロボット装置の動作指令を推定するのに利用されてよい。
図28は、本変形例に係る推論システム100Gの適用場面の一例を模式的に例示する。学習済み機械学習モデル45が推論モデル45Gに置き換わる点を除き、本変形例に係る推論システム100Gは、上記推論システム100と同様に構成されてよい。推論モデル45Gは、例えば、データテーブル、関数式、ルール等により構成されてよい。
ローカル学習データ30から推論モデル45Gを導出する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。推論モデル45Gは、ローカル学習装置2を操作するオペレータにより導出されてよい。推論モデル45Gが人手により導出される場合、各ローカル学習装置2のソフトウェア構成から学習処理部117は省略されてよい。保存処理部118は、人手により導出された推論モデル45Gに関する情報を所定の記憶領域に保存してもよい。この変形例によれば、新たな環境で推論モデルを人手で作成する手間を削減することができる。
なお、上記変形例に係る検査システム100A、予測システム100B、会話システム100C、及び制御システム100Dにおいても同様であってよい。上記検査システム100A、予測システム100B、会話システム100C、及び制御システム100Dの少なくともいずれかにおいて、機械学習以外の方法で導出された推論モデルが利用されてもよい。例えば、各学習済み機械学習モデル45A~45Dは、ローカル学習データ30A~30Dを参考にして人間によりヒューリスティック決定されたモデルに置き換えられてもよい。
<4.5>
上記実施形態では、推論装置1は、各推論モデル(各学習済み機械学習モデル45)を保持しており、ステップS203では、制御部11は、各推論モデルの演算処理を実行することで、各推論モデルの推論結果を取得している。しかしながら、各推論モデルの推論結果を取得する方法は、このような例に限定されなくてもよい。所定の推論に利用される複数の推論モデルのうちの少なくともいずれかは、推論装置1に保持されていなくてもよく、ローカル学習装置2、ローカル学習装置2以外の情報処理装置等の他のコンピュータに保持されていてもよい。
上記実施形態では、推論装置1は、各推論モデル(各学習済み機械学習モデル45)を保持しており、ステップS203では、制御部11は、各推論モデルの演算処理を実行することで、各推論モデルの推論結果を取得している。しかしながら、各推論モデルの推論結果を取得する方法は、このような例に限定されなくてもよい。所定の推論に利用される複数の推論モデルのうちの少なくともいずれかは、推論装置1に保持されていなくてもよく、ローカル学習装置2、ローカル学習装置2以外の情報処理装置等の他のコンピュータに保持されていてもよい。
この場合、上記ステップS203では、制御部11は、対象データ61を他のコンピュータに送信し、他のコンピュータに推論モデルの演算処理を実行させてもよい。そして、制御部11は、他のコンピュータから演算結果を受信することで、推論モデルの推論結果を取得してもよい。これに応じて、推論装置1の記憶部12等に保持される情報から対応する学習結果データ47は省略されてよい。上記変形例に係る検査システム100A、予測システム100B、会話システム100C、及び制御システム100Dにおいても同様であってよい。
また、上記実施形態では、各統合パラメータPの値を決定する方法として、上記第1~第3の方法を採用することができる。しかしながら、上記第1~第3の方法のうちのいずれかは省略されてよい。適合度に基づく第2の方法が省略される場合、推論装置1の記憶部12等に保持される情報から学習環境データ35が省略されてよい。各ローカル学習装置2のソフトウェア構成から環境データ取得部212が省略されてよい。更に、学習済み機械学習モデル45の生成に関する処理手順からステップS103の処理は省略されてよく、ステップS104の処理において、学習環境データ35を関連付ける処理が省略されてよい。また、オペレータの指定に基づく第3の方法が省略される場合、推論装置1のソフトウェア構成からパラメータ設定部119が省略されてもよい。上記変形例に係る検査システム100A、予測システム100B、会話システム100C、及び制御システム100Dにおいても同様であってよい。
また、上記実施形態において、各推論モデルのグルーピングの処理は省略されてもよい。この場合、推論装置1のソフトウェア構成からグルーピング部1110が省略されてもよい。上記変形例に係る検査装置1A、予測装置1B、会話装置1C、及び制御装置1Dにおいても同様であってよい。
§5 実施例
上記演算モデル51の機械学習を実施する形態の有効性を検証するために、OpenAIの提供する強化学習のシミュレーション環境で、以下の実施例及び比較例に係る学習済みモデルを生成した。ただし、本発明は、以下の実施例に限定されるものではない。
上記演算モデル51の機械学習を実施する形態の有効性を検証するために、OpenAIの提供する強化学習のシミュレーション環境で、以下の実施例及び比較例に係る学習済みモデルを生成した。ただし、本発明は、以下の実施例に限定されるものではない。
まず、図29を用いて、実施例及び比較例のシミュレーション環境で利用したロボット装置(Hopper)について説明する。図29は、実施例及び比較例のシミュレーション環境で利用したロボット装置900の概要を模式的に示す。ロボット装置900は、複数のリンクが関節で連結された構成を有している。複数のリンクのうち地面に接する下端のリンクが足(foot)901であり、足901に連結するリンクが脚部(leg)902である。脚部902に連結するリンクが大腿部(thigh)903であり、大腿部903に連結するリンクが胴部(torso)904である。ロボット装置900は、各リンクを動かして前進する運動を行う。実施例及び比較例では、以下の基本条件を採用し、一定時間により多く進むことを報酬として強化学習を行った。
<基本条件>
・強化学習の方法:PPO(Proximal Policy Optimization)、方策ベース
・環境の並行数:8
・エピソードの最大タイムステップ数:2048
・学習率:0.00025
・方策関数の構成:4層の全結合型ニューラルネットワーク、第2層及び第3層が中間(隠れ)層
・方策関数の中間層:第2層及び第3層共に64チャンネル
・価値関数の構成:4層の全結合型ニューラルネットワーク、第2層及び第3層が中間(隠れ)層
・価値関数の中間層:第2層及び第3層共に64チャンネル
・活性化関数:tanh関数
・割引率:0.99
・GAE(Generated Advantage Estimation)パラメータ:0.95
・クリッピング幅:0.2
・バッチサイズ:128
・各ロールアウト後のトレーニングのエポック数:10
・エントロピー係数:0
・最適化アルゴリズム:Adam
・強化学習の方法:PPO(Proximal Policy Optimization)、方策ベース
・環境の並行数:8
・エピソードの最大タイムステップ数:2048
・学習率:0.00025
・方策関数の構成:4層の全結合型ニューラルネットワーク、第2層及び第3層が中間(隠れ)層
・方策関数の中間層:第2層及び第3層共に64チャンネル
・価値関数の構成:4層の全結合型ニューラルネットワーク、第2層及び第3層が中間(隠れ)層
・価値関数の中間層:第2層及び第3層共に64チャンネル
・活性化関数:tanh関数
・割引率:0.99
・GAE(Generated Advantage Estimation)パラメータ:0.95
・クリッピング幅:0.2
・バッチサイズ:128
・各ロールアウト後のトレーニングのエポック数:10
・エントロピー係数:0
・最適化アルゴリズム:Adam
実施例では、まず、上記基本条件の構成をそれぞれ有する4つのエージェントを用意し、以下の表1に示される第1~第4条件それぞれのダイナミクスを有するロボット装置900の運動を強化学習により最大の報酬が得られるまで、用意した4つのエージェントそれぞれを訓練した。これにより、4つの学習済みモデルを生成した。
続いて、上記基本条件の構成を有し、上記実施形態の統合規則5として動作するエージェントを用意した。これにより、4つの学習済みモデルの推論結果を統合することで、ロボット装置900の動作を決定する実施例に係るモデルを構成した。
一方、上記基本条件の構成を有するエージェントを用意し、これにより、ロボット装置900の動作を決定する比較例に係るモデルを構成した。
そして、以下の表2に示される内挿条件及び外挿条件のダイナミクスを有するロボット装置900をそれぞれ用意し、用意した各ロボット装置900の動作を実施例及び比較例それぞれのモデルにより3回ずつ強化学習により訓練した。そして、各試行の平均を算出した。内挿条件は、上記第1~第4条件の範囲内の実験サンプルに相当し、外挿条件は、上記第1~第4条件の範囲外の実験サンプルに相当する。
図30Aは、内挿条件のダイナミクスを有するロボット装置900の運動を実施例及び比較例で強化学習により訓練した結果を示す。図30Bは、外挿条件のダイナミクスを有するロボット装置900の運動を実施例及び比較例で強化学習により訓練した結果を示す。縦軸は、各エピソードで得られる報酬を示し、縦軸は、エピソード数を示す。
図30A及び図30Bに示されるとおり、内挿条件及び外挿条件共に、実施例のモデルの方が比較例よりも極めて短時間で最大報酬が得られるように学習が収束した。この結果から、上記実施形態において、演算モデル51の機械学習を実施する構成を採用した場合でも、新たな環境で新たな学習済み機械学習モデルを生成するのに比べて、短時間でかつ低コストで、適切な推論を実行可能な推論モデルを構築できることが分かった。
1…推論装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、
17…ドライブ、91…記憶媒体、
81…推論プログラム、
2…ローカル学習装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、
27…ドライブ、92…記憶媒体、
821…学習プログラム、822…推論プログラム、
225…対象データ、
30…ローカル学習データ、35…学習環境データ、
40…機械学習モデル、45…学習済み機械学習モデル、
47…学習結果データ、
5…統合規則、P1~Pn…統合パラメータ、
51…演算モデル、52…学習済み演算モデル、
57…統合規則データ、59…学習データ、
61…対象データ、63…環境データ
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、
17…ドライブ、91…記憶媒体、
81…推論プログラム、
2…ローカル学習装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、
27…ドライブ、92…記憶媒体、
821…学習プログラム、822…推論プログラム、
225…対象データ、
30…ローカル学習データ、35…学習環境データ、
40…機械学習モデル、45…学習済み機械学習モデル、
47…学習結果データ、
5…統合規則、P1~Pn…統合パラメータ、
51…演算モデル、52…学習済み演算モデル、
57…統合規則データ、59…学習データ、
61…対象データ、63…環境データ
Claims (16)
- 所定の推論の対象となる所定の対象データを取得する第1データ取得部と、
前記所定の推論を実行する対象の環境に関する環境データを取得する第2データ取得部と、
異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得する結果取得部と、
統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成する統合部であって、
前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、
前記統合規則に従って、前記各推論モデルの推論結果を統合することは、
取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、
決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び
前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、
統合部と、
生成された前記推論結果に関する情報を出力する出力部と、
を備える、
推論装置。 - 前記各推論モデルは、前記ローカル学習データを利用した機械学習により前記所定の推論を実行する能力を獲得した学習済み機械学習モデルにより構成される、
請求項1に記載の推論装置。 - 前記推論装置は、前記環境データから前記各統合パラメータの値を算出するための演算モデルの機械学習を実行する学習処理部であって、前記機械学習は、算出される前記各統合パラメータの値が前記対象の環境下における前記所定の推論に適合するように前記演算モデルを訓練することにより構成される、学習処理部を更に備え、
前記統合規則は、前記機械学習により構築された学習済み演算モデルを更に備え、
前記前記環境データに応じて、前記各統合パラメータの値を決定することは、前記学習済み演算モデルに前記環境データを与えて、前記学習済み演算モデルの演算処理を実行することで、前記学習済み演算モデルの出力として前記各統合パラメータの値を取得することにより構成される、
請求項1又は2に記載の推論装置。 - 前記演算モデルの前記機械学習は、前記統合により生成される推論結果の適正度に応じて報酬が設定された強化学習により構成され、
前記演算モデルを訓練することは、前記報酬が多く得られるように前記演算モデルを構成する演算パラメータの値の修正を繰り返すことを含む、
請求項3に記載の推論装置。 - 前記環境データに応じて、前記各統合パラメータの値を決定することは、
前記各推論モデルの導出に利用された前記ローカル学習データの得られた環境に関する学習環境データを取得すること、
取得された学習環境データ及び前記環境データの適合度を算出すること、及び
算出された適合度に応じて、前記各推論モデルに対する前記各統合パラメータの値を決定すること、
により構成される、
請求項1又は2に記載の推論装置。 - 前記複数の統合パラメータのうちの少なくとも1つの統合パラメータの値の指定を受け付け、かつ前記少なくとも1つの統合パラメータの値を指定された値に設定するパラメータ設定部を更に備え、
前記各推論モデルの前記推論結果を重み付けすることは、設定された前記値を使用して、前記少なくとも1つの統合パラメータに対応する推論モデルの推論結果を重み付けすることを含む、
請求項1から5のいずれか1項に記載の推論装置。 - 前記所定の推論は、センサにより対象物の属性を観測する現在の観測状態から、所定の条件に適合した観測データをセンサにより得るための適正な観測状態への変更方法を推定することであり、
前記対象データは、対象センサの現在の観測状態に関し、
前記環境データは、前記対象センサが前記対象物の属性を観測する対象の観測環境に関する、
請求項1から6のいずれか1項に記載の推論装置。 - 前記環境データは、前記対象センサとは異なる他のセンサであって、前記対象の観測環境を観測する他のセンサにより得られる、
請求項7に記載の推論装置。 - 前記推論装置は、前記対象センサの観測状態を変更させる介入装置に接続され、
前記推論結果に関する情報は、推定された前記変更方法に従って前記対象センサの観測状態を変更させる動作を前記介入装置に実行させるための指令情報を含み、
前記出力部は、前記介入装置に前記指令情報を送信することで、推定された前記変更方法に従って前記対象センサの観測状態を変更するための前記動作を前記介入装置に実行させる、
請求項7又は8に記載の推論装置。 - 前記推論結果に関する情報は、前記変更方法に従って前記対象センサの観測状態を変更することをユーザに指示するための指示情報を含み、
前記出力部は、前記指示情報を出力装置に出力する、
請求項7又は8に記載の推論装置。 - 前記センサは、カメラであり、
前記観測データは、画像データであり、
前記所定の条件は、前記対象物の属性を検査するのに適するように前記対象物が前記画像データに写ることに関する、
請求項7から10のいずれか1項に記載の推論装置。 - 前記所定の推論は、移動体の移動する経路を移動体の状態から予測することであり、
前記対象データは、センサにより観測される対象の移動体の状態に関し、
前記環境データは、前記対象の移動体の移動を前記センサが観測する対象の観測環境に関する、
請求項1から6のいずれか1項に記載の推論装置。 - 前記所定の推論は、ユーザに適合する会話の戦略をユーザの会話行動から推定することであり、
前記対象データは、対象のユーザの会話行動に関し、
前記環境データは、前記対象のユーザが会話行動を行う対象の会話環境に関する、
請求項1から6のいずれか1項に記載の推論装置。 - 前記所定の推論は、タスクに適合するロボット装置の動作指令をロボット装置の状態から推定することであり、
前記対象データは、対象のロボット装置の状態に関し、
前記環境データは、前記対象のロボット装置が前記タスクを遂行する対象のタスク環境に関する、
請求項1から6のいずれか1項に記載の推論装置。 - コンピュータが、
所定の推論の対象となる所定の対象データを取得するステップと、
前記所定の推論を実行する対象の環境に関する環境データを取得するステップと、
異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得するステップと、
統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成するステップであって、
前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、
前記統合規則に従って、前記各推論モデルの推論結果を統合することは、
取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、
決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び
前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、
ステップと、
生成された前記推論結果に関する情報を出力するステップと、
を実行する、
推論方法。 - コンピュータに、
所定の推論の対象となる所定の対象データを取得するステップと、
前記所定の推論を実行する対象の環境に関する環境データを取得するステップと、
異なる環境下で得られたローカル学習データから前記所定の推論を実行するように導出された複数の推論モデルそれぞれに前記対象データを与えて、当該各推論モデルに前記所定の推論を前記対象データに対して実行させることで、取得された前記対象データに対する当該各推論モデルの推論結果を取得するステップと、
統合規則に従って、前記各推論モデルの推論結果を統合することで、前記対象の環境下での前記対象データに対する推論結果を生成するステップであって、
前記統合規則は、前記対象の環境下において、前記各推論モデルの推論結果を重視する程度をそれぞれ規定する複数の統合パラメータにより構成され、
前記統合規則に従って、前記各推論モデルの推論結果を統合することは、
取得された前記環境データに応じて、前記各統合パラメータの値を決定すること、
決定された前記各統合パラメータの値を使用して、前記各推論モデルの前記推論結果を重み付けすること、及び
前記各推論モデルの重み付けされた前記推論結果を統合すること、を備える、
ステップと、
生成された前記推論結果に関する情報を出力するステップと、
を実行させるための、
推論プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202080042676.0A CN113939848A (zh) | 2019-07-25 | 2020-06-25 | 推论装置、推论方法及推论程序 |
US17/620,769 US11941868B2 (en) | 2019-07-25 | 2020-06-25 | Inference apparatus, inference method, and computer-readable storage medium storing an inference program |
EP20844908.2A EP4006790A4 (en) | 2019-07-25 | 2020-06-25 | DEVICE, METHOD AND INFERENCE PROGRAM |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-137318 | 2019-07-25 | ||
JP2019137318A JP7342491B2 (ja) | 2019-07-25 | 2019-07-25 | 推論装置、推論方法、及び推論プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021014878A1 true WO2021014878A1 (ja) | 2021-01-28 |
Family
ID=74193431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/024998 WO2021014878A1 (ja) | 2019-07-25 | 2020-06-25 | 推論装置、推論方法、及び推論プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11941868B2 (ja) |
EP (1) | EP4006790A4 (ja) |
JP (1) | JP7342491B2 (ja) |
CN (1) | CN113939848A (ja) |
WO (1) | WO2021014878A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023008446A1 (ja) * | 2021-07-26 | 2023-02-02 | 京セラ株式会社 | 学習済みモデル生成方法、ユーザ環境推定方法、学習済みモデル生成装置、ユーザ環境推定装置、及び学習済みモデル生成システム |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6728495B2 (ja) * | 2016-11-04 | 2020-07-22 | ディープマインド テクノロジーズ リミテッド | 強化学習を用いた環境予測 |
KR20210051812A (ko) * | 2019-10-31 | 2021-05-10 | 엘지전자 주식회사 | 신호 분석 방법 및 장치 |
US20230259799A1 (en) | 2020-06-29 | 2023-08-17 | Nec Corporation | Information processing device, control method, and storage medium |
JP7469167B2 (ja) * | 2020-07-07 | 2024-04-16 | 本田技研工業株式会社 | 制御装置及び制御方法並びに車両 |
US20220189005A1 (en) * | 2020-12-16 | 2022-06-16 | Baker Hughes Holdings Llc | Automatic inspection using artificial intelligence models |
DE102021132618A1 (de) | 2020-12-25 | 2022-06-30 | Shimano Inc. | Elektroanordnung für muskelkraftbetriebene fahrzeuge |
JP7559633B2 (ja) * | 2021-03-12 | 2024-10-02 | オムロン株式会社 | 統合モデルの生成方法、画像検査システム、画像検査用モデルの生成装置、画像検査用モデルの生成プログラム及び画像検査装置 |
WO2022202366A1 (ja) * | 2021-03-25 | 2022-09-29 | パナソニックIpマネジメント株式会社 | データ支援システム、データ支援方法、プログラム、統合システム、及び処理装置 |
US11745750B2 (en) * | 2021-10-19 | 2023-09-05 | Cyngn, Inc. | System and method of large-scale automatic grading in autonomous driving using a domain-specific language |
WO2023175977A1 (ja) * | 2022-03-18 | 2023-09-21 | 日本電気株式会社 | 学習装置 |
WO2024057544A1 (ja) * | 2022-09-16 | 2024-03-21 | 楽天モバイル株式会社 | SMOにおけるrApp指示の検証 |
WO2024069845A1 (ja) * | 2022-09-29 | 2024-04-04 | 三菱電機株式会社 | プログラマブルロジックコントローラ、推論実行システム、推論実行方法、および、プログラム |
US20240127047A1 (en) * | 2022-10-13 | 2024-04-18 | GE Precision Healthcare LLC | Deep learning image analysis with increased modularity and reduced footprint |
JP7504315B1 (ja) | 2023-05-30 | 2024-06-21 | 三菱電機株式会社 | 状態推定装置、プログラム、状態推定システム及び状態推定方法 |
CN116630374B (zh) * | 2023-07-24 | 2023-09-19 | 贵州翰凯斯智能技术有限公司 | 目标对象的视觉跟踪方法、装置、存储介质及设备 |
JP7555526B1 (ja) | 2024-02-28 | 2024-09-24 | 三菱電機株式会社 | 学習装置、産業システム、推論装置、学習方法、および推論方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011059924A (ja) | 2009-09-09 | 2011-03-24 | Sony Corp | データ処理装置、データ処理方法、およびプログラム |
JP2012038794A (ja) | 2010-08-04 | 2012-02-23 | Nikon Corp | 検出条件最適化方法、プログラム作成方法、並びに露光装置及びマーク検出装置 |
JP2012216158A (ja) | 2011-04-01 | 2012-11-08 | Honda Motor Co Ltd | 観測行動選択機能を有する分類システム及び該システムを使用する分類方法 |
JP2017173874A (ja) | 2016-03-18 | 2017-09-28 | ヤフー株式会社 | 情報提供装置および情報提供方法 |
JP2018051664A (ja) | 2016-09-27 | 2018-04-05 | ファナック株式会社 | 最適な物品把持経路を学習する機械学習装置、及び機械学習方法 |
JP2018072876A (ja) * | 2016-10-24 | 2018-05-10 | 富士ゼロックス株式会社 | 感情推定システム、感情推定モデル生成システム |
JP2019067238A (ja) | 2017-10-03 | 2019-04-25 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 制御装置、制御方法および制御プログラム |
JP2019087096A (ja) | 2017-11-08 | 2019-06-06 | 本田技研工業株式会社 | 行動決定システム及び自動運転制御装置 |
JP2019095968A (ja) * | 2017-11-21 | 2019-06-20 | 日本電信電話株式会社 | 印象推定モデル学習装置、印象推定装置、印象推定モデル学習方法、印象推定方法、およびプログラム |
JP2019125113A (ja) * | 2018-01-15 | 2019-07-25 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211533A1 (en) * | 2009-02-18 | 2010-08-19 | Microsoft Corporation | Extracting structured data from web forums |
GB2504081B (en) * | 2012-07-16 | 2019-09-18 | Bae Systems Plc | Assessing performance of a vehicle system |
US10083400B2 (en) * | 2012-10-05 | 2018-09-25 | Diane R. MOULD | System and method for providing patient-specific dosing as a function of mathematical models updated to account for an observed patient response |
US20180314975A1 (en) | 2017-04-27 | 2018-11-01 | Futurewei Technologies, Inc. | Ensemble transfer learning |
US11257002B2 (en) * | 2017-11-22 | 2022-02-22 | Amazon Technologies, Inc. | Dynamic accuracy-based deployment and monitoring of machine learning models in provider networks |
US11055554B2 (en) * | 2018-04-02 | 2021-07-06 | Phantom AI, Inc. | Dynamic image region selection for visual inference |
JP6989464B2 (ja) * | 2018-08-30 | 2022-01-05 | 株式会社日立製作所 | ソフトウェア生成方法およびソフトウェア生成システム |
EP4241661A1 (en) * | 2018-08-31 | 2023-09-13 | Facebook Technologies, LLC | Camera-guided interpretation of neuromuscular signals |
US20190126921A1 (en) | 2018-12-20 | 2019-05-02 | Intel Corporation | Computer-assisted or autonomous driving method and apparatus with consideration for travelers' intent |
-
2019
- 2019-07-25 JP JP2019137318A patent/JP7342491B2/ja active Active
-
2020
- 2020-06-25 CN CN202080042676.0A patent/CN113939848A/zh active Pending
- 2020-06-25 US US17/620,769 patent/US11941868B2/en active Active
- 2020-06-25 WO PCT/JP2020/024998 patent/WO2021014878A1/ja active Application Filing
- 2020-06-25 EP EP20844908.2A patent/EP4006790A4/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011059924A (ja) | 2009-09-09 | 2011-03-24 | Sony Corp | データ処理装置、データ処理方法、およびプログラム |
JP2012038794A (ja) | 2010-08-04 | 2012-02-23 | Nikon Corp | 検出条件最適化方法、プログラム作成方法、並びに露光装置及びマーク検出装置 |
JP2012216158A (ja) | 2011-04-01 | 2012-11-08 | Honda Motor Co Ltd | 観測行動選択機能を有する分類システム及び該システムを使用する分類方法 |
JP2017173874A (ja) | 2016-03-18 | 2017-09-28 | ヤフー株式会社 | 情報提供装置および情報提供方法 |
JP2018051664A (ja) | 2016-09-27 | 2018-04-05 | ファナック株式会社 | 最適な物品把持経路を学習する機械学習装置、及び機械学習方法 |
JP2018072876A (ja) * | 2016-10-24 | 2018-05-10 | 富士ゼロックス株式会社 | 感情推定システム、感情推定モデル生成システム |
JP2019067238A (ja) | 2017-10-03 | 2019-04-25 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 制御装置、制御方法および制御プログラム |
JP2019087096A (ja) | 2017-11-08 | 2019-06-06 | 本田技研工業株式会社 | 行動決定システム及び自動運転制御装置 |
JP2019095968A (ja) * | 2017-11-21 | 2019-06-20 | 日本電信電話株式会社 | 印象推定モデル学習装置、印象推定装置、印象推定モデル学習方法、印象推定方法、およびプログラム |
JP2019125113A (ja) * | 2018-01-15 | 2019-07-25 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
Non-Patent Citations (3)
Title |
---|
JUSTIN FU ET AL.: "Learning Robust Rewards with Adversarial Inverse Reinforcement Learning", ARXIV:1710.11248, 2018 |
NAOKI KOTANIKENJI TANIGUCHI: "Directivity Design of Ultrasonic Array Sensor Based on Reinforcement Learning", TRANSACTIONS OF THE INSTITUTE OF SYSTEMS, CONTROL AND INFORMATION ENGINEERS, vol. 23, no. 12, 2010, pages 291 - 293 |
See also references of EP4006790A4 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023008446A1 (ja) * | 2021-07-26 | 2023-02-02 | 京セラ株式会社 | 学習済みモデル生成方法、ユーザ環境推定方法、学習済みモデル生成装置、ユーザ環境推定装置、及び学習済みモデル生成システム |
JP7537027B2 (ja) | 2021-07-26 | 2024-08-20 | 京セラ株式会社 | 学習済みモデル生成方法、学習済みモデル生成装置、及び学習済みモデル生成システム |
Also Published As
Publication number | Publication date |
---|---|
US20220358749A1 (en) | 2022-11-10 |
JP2021022079A (ja) | 2021-02-18 |
JP7342491B2 (ja) | 2023-09-12 |
EP4006790A4 (en) | 2022-12-14 |
CN113939848A (zh) | 2022-01-14 |
US11941868B2 (en) | 2024-03-26 |
EP4006790A1 (en) | 2022-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021014878A1 (ja) | 推論装置、推論方法、及び推論プログラム | |
WO2020166303A1 (ja) | モデル生成装置、方法及びプログラム並びに予測装置 | |
KR20190119548A (ko) | 이미지 노이즈 처리방법 및 처리장치 | |
KR102579904B1 (ko) | 비전 검사 관리 방법 및 비전 검사 시스템 | |
JP2018043338A (ja) | ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法 | |
EP3949817B1 (en) | Artificial intelligence cleaner and operation method thereof | |
CN113826051A (zh) | 生成实体系统零件之间的交互的数字孪生 | |
KR102281590B1 (ko) | 음성인식 성능 향상을 위한 비 지도 가중치 적용 학습 시스템 및 방법, 그리고 기록 매체 | |
US20210133932A1 (en) | Color restoration method and apparatus | |
CN109891436A (zh) | 基于深度学习神经网络的安保系统及其控制方法 | |
US20230109426A1 (en) | Model generation apparatus, estimation apparatus, model generation method, and computer-readable storage medium storing a model generation program | |
KR102238300B1 (ko) | 적외선 스펙트럼 생성 방법 및 장치 | |
US20210124929A1 (en) | Device and method for auto audio and video focusing | |
WO2020148992A1 (ja) | モデル生成装置、モデル生成方法、モデル生成プログラム、モデル生成システム、検査システム、及び監視システム | |
US11422564B2 (en) | Method for making space map and moving robot | |
KR20190114929A (ko) | 냉방 또는 난방 관리가 가능한 전자기기 및 이의 제어 방법 | |
KR20210115356A (ko) | 심층 기계 학습을 이용한 도장 검사 시스템 및 방법 | |
JP4169038B2 (ja) | 情報処理装置および情報処理方法、並びにプログラム | |
EP4018399A1 (en) | Modeling human behavior in work environments using neural networks | |
KR102426492B1 (ko) | 환기설비 연동 범용 제어 방법, 장치 및 프로그램 | |
KR102563346B1 (ko) | 구조물 건전성 모니터링 시스템 및 이를 이용한 모니터링 방법 | |
KR20210048271A (ko) | 복수 객체에 대한 자동 오디오 포커싱 방법 및 장치 | |
KR102153360B1 (ko) | 클라우드 컴퓨팅 기반 로봇의 상황 인지 시스템 및 그 처리 방법 | |
KR20210113939A (ko) | 인간의 지능을 인공 지능으로 이식하기 위한 정밀 행동 프로파일링을 위한 전자 장치 및 그의 동작 방법 | |
Prokop et al. | AGV Quality of Service Throughput Prediction via Neural Networks |
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: 20844908 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2020844908 Country of ref document: EP |