WO2025163857A1 - 情報処理装置、情報処理方法、プログラム - Google Patents
情報処理装置、情報処理方法、プログラムInfo
- Publication number
- WO2025163857A1 WO2025163857A1 PCT/JP2024/003301 JP2024003301W WO2025163857A1 WO 2025163857 A1 WO2025163857 A1 WO 2025163857A1 JP 2024003301 W JP2024003301 W JP 2024003301W WO 2025163857 A1 WO2025163857 A1 WO 2025163857A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information processing
- model
- uncertainty
- samples
- control input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
Definitions
- This disclosure relates to an information processing device, an information processing method, and a program.
- Patent Document 1 discloses a technique for performing sampling-based optimal control using a dynamics model approximated by a neural network.
- the learned dynamics model may contain errors compared to the actual dynamics model, and when such a dynamics model is used to calculate the optimal control input, there is a risk that errors will become large during execution. As a result, there is a problem in that there is a risk that the control accuracy using the dynamics model of the controlled object will decrease.
- the purpose of this disclosure is to solve the above-mentioned problem of the risk of reduced control accuracy when performing control using a dynamics model of the controlled object.
- An information processing device includes: an acquisition unit that acquires a dynamics model that approximates the dynamics of a controlled object and outputs a state of the controlled object according to a control input, and an uncertainty model that represents uncertainty of the dynamics model; a generation unit that generates a sample of a control input for the control object using the uncertainty model; a calculation unit that calculates optimal control inputs from the samples using the dynamics model; Equipped with The structure is as follows.
- an information processing method includes: A dynamics model approximating the dynamics of a controlled object that outputs a state of the controlled object according to a control input and an uncertainty model representing uncertainty of the dynamics model are obtained; generating samples of control inputs to the control plant using the uncertainty model; calculating optimal control inputs from the samples using the dynamics model;
- the structure is as follows.
- a program includes: A dynamics model approximating the dynamics of a controlled object that outputs a state of the controlled object according to a control input and an uncertainty model representing uncertainty of the dynamics model are obtained; generating samples of control inputs to the control plant using the uncertainty model; calculating optimal control inputs from the samples using the dynamics model; Have the computer perform the process,
- the structure is as follows.
- the present disclosure can improve control accuracy when performing control using a dynamics model of the controlled object.
- FIG. 1 is a block diagram showing the overall configuration of a control system according to the present disclosure.
- FIG. 2 is a block diagram showing a hardware configuration of a learning device according to the present disclosure.
- FIG. 2 is a block diagram showing a hardware configuration of a control device according to the present disclosure.
- FIG. 1 is a block diagram illustrating a configuration of a learning device according to the present disclosure.
- FIG. 2 is a block diagram illustrating a configuration of a control device according to the present disclosure.
- FIG. 10 is a diagram illustrating a process performed by a control device according to the present disclosure.
- FIG. 10 is a diagram illustrating a process performed by a control device according to the present disclosure.
- 10 is a flowchart illustrating a processing operation of the learning device according to the present disclosure.
- FIG. 4 is a flowchart illustrating a processing operation of a control device according to the present disclosure.
- FIG. 1 is a block diagram showing a hardware configuration of an information processing device according to the present disclosure.
- FIG. 1 is a block diagram illustrating a configuration of an information processing device according to the present disclosure.
- Control target The control system according to the present disclosure can be used, for example, when a robot arm, which is the control target, is used to move an object to be manipulated, for example, by pushing it to a desired position.
- the control target is the robot arm and the object.
- the control input to the robot arm, which is the control target can be, for example, the position of the robot arm's hand
- the state of the control target can be, for example, the position and velocity of the robot arm's hand.
- the state of the control target may also be the position and velocity of an object manipulated by the robot arm's hand.
- the control target by the control system is described as a robot arm, but the control target is not limited to a robot arm and may be anything.
- Fig. 1 is a diagram showing an example of the configuration of a control system according to this embodiment.
- the control system 5 includes a learning device 1, a storage device 2, a control device 3, and a control target 4.
- the learning device 1 performs data communication with the storage device 2 via a communication network or by direct wireless or wired communication.
- the control device 3 also performs data communication with the storage device 2 and the control target 4 via a communication network or by direct wireless or wired communication.
- the controlled object 4 performs an operation related to the control target based on the control input provided by the control device 3.
- the controlled object 4 also supplies a state signal representing the state of the controlled object 4 to the control device 3.
- the controlled object 4 is, for example, a robot that is the subject of optimal control, such as a robot arm that behaves autonomously as described above.
- the state signal representing the state of the controlled object is, for example, the output signal of various sensors that detect the position and orientation of the robot.
- the state signal is particularly the position of the hand of the robot arm that is the controlled object 4.
- the controlled object 4 may also include an object that is manipulated by the robot arm described above.
- the state signal may be a detection signal of the position, speed, etc. of the object manipulated by the controlled object 4.
- the state signal may be a detection signal of the position of an object detected from an image of the object captured by a camera attached to the robot arm.
- the control device 3 receives the current state of the controlled object 4 as input, calculates a control input based on the control target, and outputs the calculated control input to the controlled object 4.
- the control input is calculated using a sampling-based optimal control method using an approximate dynamics model and an uncertainty model stored in the storage device 2.
- sampling-based optimal control methods include Model Predictive Path Integral control and control methods based on the Cross-Entropy Method.
- the learning device 1 learns an approximate dynamics model of the control target 4 from previously provided learning data, for example, by machine learning using a neural network.
- the learning device 1 also learns an uncertainty model of the learned approximate dynamics model.
- the learning device 1 then registers the learned dynamics model and uncertainty model in the storage device 2.
- the above-mentioned approximate dynamics model is a machine learning model that receives as input the state of the controlled object at the current time and a control input, and outputs the state of the controlled object at the next time. Furthermore, the learning data is data on the state of the controlled object, the control input, and the subsequent state of the controlled object, collected using the controlled object or a simulator of the controlled object, etc., in order to use it for learning the above-mentioned approximate dynamics model.
- the above-mentioned uncertainty model is learned by machine learning, including the error of the approximate dynamics model and the probabilistic uncertainty of the dynamics of the controlled object. Furthermore, the uncertainty model may be learned using the same model as the approximate dynamics, for example, using a Bayesian neural network model, an ensemble model, etc.
- the storage device 2 stores the dynamics model and uncertainty model learned by the learning device 1.
- the storage device 2 may be an external storage device such as a hard disk connected to or built into the learning device 1 or the control device 3, a storage medium such as flash memory, or a server device that communicates data with the learning device 1 and the control device 3.
- the storage device 2 may also be composed of multiple storage devices, and may have each of the above-mentioned storage units distributed among them.
- control device 3 and the controlled object 4 may be configured as an integrated unit.
- at least two of the learning device 1, storage device 2, and control device 3 may be configured as an integrated unit.
- Fig. 2 is a diagram showing an example of the hardware configuration of the learning device 1.
- the learning device 1 includes, as hardware, a processor 11, a memory 12, and an interface 13.
- the processor 11, the memory 12, and the interface 13 are connected via a data bus 10.
- Processor 11 functions as a controller (computing device) that controls the entire learning device 1 by executing programs stored in memory 12.
- Processor 11 is, for example, a processor such as a CPU (Central Processing Unit), GPU (Graphics Processing Unit), or TPU (Tensor Processing Unit).
- Processor 11 may also be composed of multiple processors.
- Processor 11 is an example of a computer.
- Memory 12 is composed of various types of volatile and non-volatile memory, such as RAM (Random Access Memory), ROM (Read Only Memory), and flash memory. Memory 12 also stores programs for executing the processes performed by learning device 1. Some of the information stored in memory 12 may be stored in one or more external storage devices (e.g., storage device 2) capable of communicating with learning device 1, or in a storage medium that is detachable from learning device 1.
- RAM Random Access Memory
- ROM Read Only Memory
- flash memory also stores programs for executing the processes performed by learning device 1.
- Some of the information stored in memory 12 may be stored in one or more external storage devices (e.g., storage device 2) capable of communicating with learning device 1, or in a storage medium that is detachable from learning device 1.
- Interface 13 is an interface for electrically connecting learning device 1 to other devices. These interfaces may be wireless interfaces such as network adapters for wirelessly sending and receiving data with other devices, or hardware interfaces for connecting to other devices via cables or the like. For example, interface 13 may interface with input devices that accept user input (external input), such as touch panels, buttons, keyboards, and voice input devices, display devices such as displays and projectors, and sound output devices such as speakers.
- wireless interfaces such as network adapters for wirelessly sending and receiving data with other devices, or hardware interfaces for connecting to other devices via cables or the like.
- interface 13 may interface with input devices that accept user input (external input), such as touch panels, buttons, keyboards, and voice input devices, display devices such as displays and projectors, and sound output devices such as speakers.
- the hardware configuration of the learning device 1 is not limited to the configuration shown in FIG. 2.
- the learning device 1 may incorporate at least one of a display device, an input device, and a sound output device.
- the learning device 1 may also be configured to include a storage device 2.
- FIG. 3 is a diagram showing an example of the hardware configuration of the control device 3.
- the control device 3 includes, as hardware, a processor 31, a memory 32, and an interface 33.
- the processor 31, memory 32, and interface 33 are connected via a data bus 30.
- the processor 31 functions as a controller (arithmetic unit) that performs overall control of the control device 3 by executing programs stored in the memory 32.
- the processor 31 is, for example, a processor such as a CPU, GPU, or TPU.
- the processor 31 may also be composed of multiple processors.
- Memory 32 is composed of various types of volatile and non-volatile memory, such as RAM, ROM, and flash memory. Memory 32 also stores programs for executing the processes performed by control device 3. Some of the information stored in memory 32 may be stored in one or more external storage devices (e.g., storage device 2) that can communicate with control device 3, or in a storage medium that is detachable from control device 3.
- external storage devices e.g., storage device 2
- Interface 33 is an interface for electrically connecting the control device 3 to other devices. These interfaces may be wireless interfaces such as network adapters for wirelessly transmitting and receiving data to other devices, or may be hardware interfaces for connecting to other devices via cables or the like.
- control device 3 may incorporate at least one of a display device, an input device, and a sound output device.
- the control device 3 may also be configured to include the storage device 2.
- Fig. 4 is a diagram showing an example of the configuration of the learning device 1 that learns an approximate dynamics model and an uncertainty model.
- the learning device 1 has the function of receiving input of learning data and learning an approximate dynamics model and an uncertainty model.
- the learning device 1 includes a dynamics model learning unit 14 and an uncertainty model learning unit 15.
- the functions of the dynamics model learning unit 14 and the uncertainty model learning unit 15 are realized when the equipped processor 11 executes a program stored in the memory 12.
- the learning data is given by a set of pairs ⁇ x_t,u_t,x_(t+1) ⁇ of the state x_t and control input u_t at the current time t, and the state x_(t+1) at the next time t+1.
- This data may also be given by the sequence of states and control inputs x_ ⁇ 0:T ⁇ ,u_( ⁇ 0:T-1 ⁇ ).
- x_( ⁇ 0:T ⁇ ) it is taken to represent the sequence of states x from time 0 to time T.
- the dynamics model learning unit 14 receives the above-mentioned learning data as input, and learns an approximate dynamics model F as shown in the following equation (1).
- Various models can be used when learning the approximate dynamics model F.
- a neural network may be used as the model, but this is not limitative.
- the uncertainty model learning unit 15 receives training data as input and learns a model that represents the uncertainty of the dynamics model.
- the probability distribution p(x_t,u_t) of the training data ⁇ x_t,u_t ⁇ learned using a generative model, or something similar, is used as the uncertainty model.
- the reason for using the training data distribution as the uncertainty model of the trained dynamics model is that it is expected that the accuracy of the trained dynamics model will be high in areas where the training data density is high.
- various generative models can be used when learning the probability distribution of training data.
- flow-based models and energy-based models can be used, but are not limited to these.
- the dynamics model and uncertainty model learned by the learning device 1 are stored in the storage device 2.
- the approximate dynamics model and uncertainty model do not necessarily have to be learned by the learning device 1, and may be stored in advance in the storage device 2.
- the approximate dynamics model and uncertainty model do not necessarily have to be generated by learning, and may be generated by a method other than learning.
- the dynamics model and uncertainty model may be generated from design data, motion analysis data, simulation data, etc. of the robot, which is the control object 4, and may be generated by any method.
- FIG. 5 is a diagram showing an example of the configuration of the control device 3 that calculates the control input.
- the control device 3 calculates the control input by a sampling-based method using the current state provided by the controlled object 4 and information on the approximate dynamics model and uncertainty model read from the storage device 2.
- the control input is the tip position of the robot arm
- the control input sequence is the time series of the tip position of the robot arm, i.e., the tip trajectory.
- the state of the controlled object is the position and velocity of the tip of the robot arm, i.e., the position and velocity of the object manipulated by the robot arm.
- the control device 3 includes an initial control input sequence generator 34, a state/control input sequence sample generator 35, an evaluation cost calculator 38, and a control input sequence updater 39.
- the state/control input sequence sample generator 35 also includes a control input sample generator 36 and a state transition calculator 37.
- the control device 3 updates the control input sequence u_(0:T_h-1) and calculates the optimal control input sequence by repeatedly performing processing by each of the units 35-38.
- the functions of the initial control input sequence generator 34, the state/control input sequence sample generator 35, the control input sample generator 36, the state transition calculator 37, the evaluation cost calculator 38, and the control input sequence updater 39 are realized by the equipped processor 31 executing a program stored in memory 32.
- the initial control input sequence generator 34 outputs a time series of control inputs as an initial solution when performing optimization calculations for the control input sequence. This may be given as a zero vector, for example, or a control input policy that has been separately learned or designed in advance may be used.
- the state and control input sequence sample generation unit 35 uses the state of the controlled object, the control input sequence of the current optimization step, and the uncertainty model and approximate dynamics model learned by the learning device 1 to calculate different control input sequence samples and state sequence samples calculated from each control input sequence sample.
- the samples are generated by repeatedly executing the processing by the control input sample generation unit 36 and the state transition calculation unit 37 for the length of the time series.
- the control input sample generation unit 36 generates samples using the state at a certain time, the nominal input, and the uncertainty model.
- the state at a certain time is either the initial state x_0 provided by the control object 4, or the state at the previous time provided by the state transition calculation unit 37, or a state calculated from the input sample.
- the nominal input refers to either the initial solution of the control input sequence provided by the initial control input sequence generation unit 34, or the control input sequence updated by optimization calculation provided by the control input sequence update unit 39.
- the control input sample generation unit 36 can generate samples by, for example, regarding a normal distribution with the nominal input as the mean as the likelihood distribution, and the distribution of the control input conditioned on the current state obtained from the uncertainty model as the prior distribution, as shown in Figure 6, and performing an appropriate number of samples from the posterior distribution obtained from these.
- the posterior distribution can be obtained by synthesizing or combining the likelihood distribution and the prior distribution.
- the nominal input at the current time is given by u_t
- the uncertainty model is given by the probability distribution p(x_t,u_t) of the training data.
- the normal distribution shown in the following equation 2 in which the mean is the nominal input u_t and the variance is a pre-given parameter ⁇ , is used as the likelihood distribution
- x_t) of the control input conditioned on the state at the current time obtained from the training data distribution p(x_t,u_t) is used as the prior distribution
- sampling from the posterior distribution can be performed, for example, by the Markov chain Monte Carlo method.
- N samples for example, as shown in Figure 7, M (>N) samples can be obtained from a normal distribution with the above nominal input as the mean, N samples with the smallest uncertainty obtained from the uncertainty model can be selected, and the remaining samples can be discarded.
- the state transition calculation unit 37 calculates the next-time state sample x_(t+1) ⁇ k from the input sample u_t ⁇ k at a certain time generated by the control input sample generation unit 36 and the state sample x_t ⁇ k at the corresponding time, using the approximate dynamics learned by the learning device 1.
- N input samples it is assumed that k ⁇ N.
- the input samples and the next-time state sample are held until sampling is completed. If further generation of the next-time sample is required, the calculated next-time state is output to the control input sample generation unit 36.
- the held input and state are output to the evaluation cost calculation unit 38 as a sample sequence shown in Equation 3.
- the evaluation cost calculation unit 38 calculates the evaluation cost S ⁇ k based on the control target from each state sequence and control input sequence sample. It also outputs the calculated evaluation cost to the control input sequence update unit 39 along with the control input sequence sample.
- the control input sequence update unit 39 calculates an updated nominal input sequence based on the nominal input sequence, the control input sequence samples, and the evaluation costs corresponding to each sample.
- the nominal input sequence is either the sequence provided by the initial control input sequence generation unit 34, or the nominal input sequence previously updated by the control input sequence update unit 39.
- the control input sequence update unit 39 determines whether optimization has ended, and upon completion, outputs a control input or a portion of the control input to the control object 4. If optimization is to continue, the control input sequence update unit 39 outputs an updated nominal input sequence to the control input sample generation unit 36. The determination of the end of optimization can be made, for example, by determining convergence of the evaluation cost, a threshold related to the number of updates to the nominal input sequence, or both.
- the nominal input sequence is updated as follows: When the minimum cost of each sample is expressed by Equation 4 and the difference between each sample and the nominal input sequence is expressed by Equation 5, the updated nominal input sequence u_(0:T_h-1) ⁇ new is given by Equation 6.
- Fig. 8 is a flowchart showing the operation of the learning device 1 in this embodiment.
- Step S101 The learning device 1 receives input of learning data.
- Step S102 The dynamics model learning unit 14 and the uncertainty model learning unit 15 respectively learn the approximate dynamics model and the uncertainty model. The learning of each model may be performed in parallel or in any order.
- Step S103 The learning device 1 outputs the learning results, ie, the approximate dynamics model and the uncertainty model, to the storage device 2.
- the approximate dynamics model and uncertainty model do not necessarily have to be learned by the learning device 1, but may be stored in advance in the storage device 2. Furthermore, the approximate dynamics model and uncertainty model do not necessarily have to be generated by learning, but may also be generated by a method other than learning.
- Figure 9 is a flowchart showing the operation of the control device 3 in the first embodiment.
- Step S301 First, the control device 3 receives an input of the current state from the controlled object 4.
- Step S302 The initial control input sequence generator 34 generates an initial solution for the control input sequence.
- Step S303 The control device 3 starts a loop L31 for sampling the state sequence and the control input sequence. In the loop L31, sampling calculations in the time series direction are performed by repeating the loop, and the number of times the loop is repeated is represented by time t.
- Step S304 The control input sample generation unit 36 calculates a control input sample u_t ⁇ k from the state sample x_t ⁇ k for the current step t and the nominal input u_t ⁇ .
- N samples are calculated based on the current state x_t received from the control device 3.
- the samples are generated by sampling using the Markov chain Monte Carlo method or the like from the posterior distribution when the normal distribution obtained from the nominal input is used as the prior distribution and the conditional distribution of the input obtained from the training data distribution learned by the learning device 1 is used as the likelihood distribution.
- Step S305 The state transition calculation unit 37 calculates the state sample x_(t+1) ⁇ k of the next step t+1 from the state sample x_t ⁇ k of the current step t and the control input sample u_t ⁇ k. This calculation is performed using the approximate dynamics model learned by the learning device 1.
- Step S306 The control device 3 performs termination processing of the loop L31. Specifically, the control device 3 references the number of repetitions t and determines whether the sampling calculation has been completed up to the termination time. If it is determined that the sampling processing has not been completed, the control device 3 continues the sampling processing for the next time. In this case, the processing returns to step S304. On the other hand, if it is determined that the sampling processing has been completed, the control device 3 terminates the loop L31. In this case, the processing proceeds to step S307.
- Step S307 The evaluation cost calculation unit 38 calculates the evaluation cost for each of the generated N sample sequences.
- Step S308 The control input update unit 39 updates the nominal input string based on each sample and its evaluation cost.
- Step S309 The control device 3 determines whether the optimization of the control input sequence has been completed. (Step S310) If the optimization is to be continued (step S310: YES), the process proceeds to step S303. On the other hand, if the optimization is to be ended (step S310: NO), the process proceeds to step S311. (Step S311) The control device 3 outputs the control input sequence or a part thereof resulting from the optimization calculation to the controlled object 4.
- sampling can be performed that takes the uncertainty of the dynamics model into account when performing a sampling-based optimization method.
- optimal control can be performed using a more likely region of the learned dynamics model, improving the accuracy of control execution.
- sampling can be performed from the distribution.
- the uncertainty model is different from that in the first embodiment.
- the learning device 1 may learn the uncertainty model so that the uncertainty model is obtained as an amount corresponding to the variance of the output of the dynamics model.
- the uncertainty model indicates that the greater the variance of the output of the dynamics model, the greater the uncertainty.
- the uncertainty model can be obtained by learning a dynamics model using, for example, an ensemble model or a Bayesian neural network.
- the configurations of the control system 5 and the control device 3 in the second embodiment are the same as those in the first embodiment.
- control input when sampling the control input in the control input sample generation unit 36, for example, when generating N samples, the control input can be generated by a method such as obtaining M (>N) samples from a normal distribution with the nominal input as the mean, selecting N samples with the smallest uncertainty obtained from the uncertainty model, and discarding the remaining samples, as shown in Figure 7.
- the information processing device 100 in this embodiment is configured as a general information processing device, and is equipped with the following hardware configuration, for example.
- ⁇ CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- Program group 104 loaded into RAM 103
- a storage device 105 that stores the program group 104
- a drive device 106 that reads and writes data from and to a storage medium 110 external to the information processing device
- a communication interface 107 that connects to a communication network 111 outside the information processing device
- a bus 109 that connects each component
- Figure 10 shows an example of the hardware configuration of an information processing device, which is information processing device 100, and the hardware configuration of the information processing device is not limited to the above-described case.
- the information processing device may be configured with only a part of the above-described configuration, such as not having drive device 106.
- the information processing device may use a GPU (Graphics Processing Unit), DSP (Digital Signal Processor), MPU (Micro Processing Unit), FPU (Floating point number Processing Unit), PPU (Physics Processing Unit), TPU (Tensor Processing Unit), quantum processor, microcontroller, or a combination of these.
- GPU Graphics Processing Unit
- DSP Digital Signal Processor
- MPU Micro Processing Unit
- FPU Floating point number Processing Unit
- PPU Physicals Processing Unit
- TPU Tinsor Processing Unit
- quantum processor microcontroller
- the information processing device 100 can then configure and include the acquisition unit 121, generation unit 122, and calculation unit 123 shown in FIG. 11 by having the CPU 101 acquire and execute the group of programs 104.
- the group of programs 104 may be stored in advance in the storage device 105 or ROM 102, for example, and loaded into RAM 103 and executed by the CPU 101 as needed.
- the group of programs 104 may also be supplied to the CPU 101 via the communication network 111, or may be stored in advance in the storage medium 110, with the drive device 106 reading out the programs and supplying them to the CPU 101.
- the acquisition unit 121, generation unit 122, and calculation unit 123 described above may also be configured using dedicated electronic circuits for realizing such means.
- the acquisition unit 121 acquires a dynamics model that approximates the dynamics of the controlled object that has been trained to output a state of the controlled object according to a control input, and an uncertainty model that represents the uncertainty of the dynamics model.
- the generation unit 122 uses the uncertainty model to generate samples of the control input for the controlled object.
- the calculation unit 123 uses the dynamics model to calculate an optimal control input from the samples.
- At least one of the functions of the acquisition unit 121, generation unit 122, and calculation unit 123 described above may be executed by an information processing device installed and connected anywhere on the network, that is, they may be executed by so-called cloud computing.
- Non-transitory computer readable media include various types of tangible storage media.
- Examples of non-transitory computer readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROM (Read Only Memory), CD-R, CD-R/W, and semiconductor memory (e.g., mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)).
- the program may be supplied to a computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
- the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire or optical fiber, or via a wireless communication path.
- the information processing device acquires the uncertainty model based on learning data used in learning the dynamics model.
- Information processing device. (Appendix 3) 3.
- the information processing device according to claim 2 the acquisition unit acquires the uncertainty model based on a probability distribution of the training data.
- Information processing device. (Appendix 4) 4.
- the information processing device according to claim 3, the generation unit generates the samples using a distribution based on a preset control input and a probability distribution of the training data.
- Information processing device. (Appendix 5) 4.
- the information processing device according to claim 3 generates the samples using a normal distribution with a preset control input as the mean and a probability distribution of the training data.
- the generation unit generates candidate samples of the control input from a normal distribution having a predetermined control input as an average, and generates the sample from the candidate samples using a probability distribution of the training data.
- Information processing device. (Appendix 7) 7.
- the information processing device according to claim 6, the generation unit generates the sample having smaller uncertainty of the dynamics model from the candidate samples using a probability distribution of the training data.
- Information processing device. (Appendix 8) 10.
- a dynamics model approximating the dynamics of a controlled object that outputs a state of the controlled object according to a control input and an uncertainty model representing uncertainty of the dynamics model are obtained; generating samples of control inputs to the control plant using the uncertainty model; calculating optimal control inputs from the samples using the dynamics model; Information processing methods.
- Appendix 10 10. The information processing method according to claim 9, obtaining the uncertainty model based on training data used to train the dynamics model; Information processing methods.
- the information processing method according to claim 10 obtaining the uncertainty model based on a probability distribution of the training data; Information processing methods.
- Appendix 12 12.
- the information processing method according to claim 11, generating the samples using a distribution based on a preset control input and a probability distribution of the training data; Information processing methods.
- Appendix 13 13.
- the information processing method according to claim 12, generating the samples using a normal distribution with a preset control input as the mean and a probability distribution of the training data; Information processing methods.
- Appendix 14 13.
- the information processing method according to claim 12, generating candidate samples of the control input from a normal distribution with a preset control input as the mean, and generating the sample from the candidate samples using the probability distribution of the learning data; Information processing methods.
- Appendix 15 15.
- the information processing method according to claim 14, generating, from the candidate samples, samples with smaller uncertainty in the dynamics model using a probability distribution of the training data; Information processing methods.
- Appendix 16 10. The information processing method according to claim 9, obtaining the uncertainty model based on a variance of the output of the dynamics model; Information processing methods.
- Appendix 17 A dynamics model approximating the dynamics of a controlled object that outputs a state of the controlled object according to a control input and an uncertainty model representing uncertainty of the dynamics model are obtained; generating samples of control inputs to the control plant using the uncertainty model; calculating optimal control inputs from the samples using the dynamics model;
- a computer-readable storage medium that stores a program that causes a computer to execute a process.
- Control input sequence update unit Control target 5
- Information processing device 101
- CPU 102
- ROM 103
- RAM 104
- Program group 105
- Storage device 106
- Communication interface 108
- Input/output interface 109
- Bus 110
- Storage medium 111
- Communication network 121
- Acquisition unit 122
- Generation unit 123
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
Abstract
本開示の情報処理装置(100)は、制御入力に応じた制御対象の状態を出力する制御対象のダイナミクスを近似したダイナミクスモデルと、ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得する取得部(121)と、不確かさモデルを用いて制御対象に対する制御入力のサンプルを生成する生成部(122)と、ダイナミクスモデルを用いてサンプルから最適制御入力を計算する計算部(123)と、を備える。
Description
本開示は、情報処理装置、情報処理方法、プログラムに関する。
ロボットなどの制御対象の最適制御を行う場合に、機械学習によって得られた制御対象の近似ダイナミクスモデルを用いる手法が提案されている。例えば、特許文献1には、ニューラルネットワークによって近似したダイナミクスモデルを用い、サンプリングベースの最適制御を行う技術が開示されている。
しかしながら、特許文献1において、学習したダイナミクスモデルは実際のダイナミクスモデルに対して誤差を持つことがありうるため、かかるダイナミクスモデルを用いて最適制御入力の計算を行った場合に、実行時の誤差が大きくなってしまうおそれがある。その結果、制御対象のダイナミクスモデルを用いた制御精度が低下するおそれがある、という問題が生じる。
このため、本開示の目的は、上述した課題である、制御対象のダイナミクスモデルを用いた制御を行う場合において、制御精度が低下するおそれがある、という問題を解決することにある。
本開示の一形態である情報処理装置は、
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得する取得部と、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成する生成部と、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する計算部と、
を備えた、
という構成をとる。
また、本開示の一形態である情報処理方法は、
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
という構成をとる。
また、本開示の一形態であるプログラムは、
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
処理をコンピュータに実行させる、
という構成をとる。
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得する取得部と、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成する生成部と、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する計算部と、
を備えた、
という構成をとる。
また、本開示の一形態である情報処理方法は、
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
という構成をとる。
また、本開示の一形態であるプログラムは、
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
処理をコンピュータに実行させる、
という構成をとる。
本開示は、以上のように構成されることにより、制御対象のダイナミクスモデルを用いた制御を行う場合における制御精度の向上を図ることができる。
<第1の実施形態>
本開示の第1の実施形態について、図面を参照して説明する。なお、図面はいずれの実施形態においても関連しうる。
本開示の第1の実施形態について、図面を参照して説明する。なお、図面はいずれの実施形態においても関連しうる。
[制御対象]
本開示にかかる制御システムは、例えば、制御対象であるロボットアームを用いて操作対象となる物体を所望の位置に押すなどして移動する場合に用いることができる。この場合、制御対象は、ロボットアーム及び物体となる。そして、制御対象のロボットアームに対する制御入力は、例えば、ロボットアームの手先位置とすることができ、制御対象の状態は、例えば、ロボットアームの手先の位置・速度とすることができる。なお、制御対象の状態は、ロボットアームの手先によって操作される物体の位置・速度であってもよい。なお、本実施形態では、制御システムによる制御対象をロボットアームとして説明するが、制御対象はロボットアームであることに限定されず、いかなるものであってもよい。
本開示にかかる制御システムは、例えば、制御対象であるロボットアームを用いて操作対象となる物体を所望の位置に押すなどして移動する場合に用いることができる。この場合、制御対象は、ロボットアーム及び物体となる。そして、制御対象のロボットアームに対する制御入力は、例えば、ロボットアームの手先位置とすることができ、制御対象の状態は、例えば、ロボットアームの手先の位置・速度とすることができる。なお、制御対象の状態は、ロボットアームの手先によって操作される物体の位置・速度であってもよい。なお、本実施形態では、制御システムによる制御対象をロボットアームとして説明するが、制御対象はロボットアームであることに限定されず、いかなるものであってもよい。
[システム構成]
図1は、本実施形態に係る制御システムの構成の例を示す図である。図1に示すように、制御システム5は、学習装置1と、記憶装置2と、制御装置3と、制御対象4と、を備える。学習装置1は、通信網を介し、又は、無線若しくは有線による直接通信により、記憶装置2とデータ通信を行う。また、制御装置3は、記憶装置2及び制御対象4と、通信網を介し、又は、無線若しくは有線による直接通信により、データ通信を行う。
図1は、本実施形態に係る制御システムの構成の例を示す図である。図1に示すように、制御システム5は、学習装置1と、記憶装置2と、制御装置3と、制御対象4と、を備える。学習装置1は、通信網を介し、又は、無線若しくは有線による直接通信により、記憶装置2とデータ通信を行う。また、制御装置3は、記憶装置2及び制御対象4と、通信網を介し、又は、無線若しくは有線による直接通信により、データ通信を行う。
制御対象4は、制御装置3から与えられる制御入力に基づき、制御目標に関する動作を行う。また、制御対象4は、制御対象4の状態を表す状態信号を制御装置3に供給する。ここで、制御対象4は、例えば、上述したように自律行動するロボットアームといった最適制御の対象となるロボットである。そして、制御対象の状態を表す状態信号は、例えば、ロボットの位置姿勢を検出する種々のセンサの出力信号である。本実施形態では、特に、制御対象4であるロボットアームの手先の位置を状態信号とすることとする。但し、制御対象4は、上述したロボットアームによって操作される物体を含んでいてもよく、この場合、状態信号としては、制御対象4によって操作される物体の位置・速度などの検出信号であってもよい。例えば、状態信号としては、ロボットアームに装備されたカメラによる物体の撮影画像から検出される物体の位置などの検出信号であってもよい。
制御装置3は、制御対象4の現在の状態を入力として受け取り、制御目標に基づいて制御入力を計算し、計算した制御入力を制御対象4に対して出力する。ここで、制御入力の計算は、記憶装置2に記憶されている近似ダイナミクスモデル、および、不確かさのモデルを用いて、サンプリングベースの最適制御手法によって行われる。ここで、サンプリングベースの最適制御手法として、例えば、Model Predictive Path Integral制御や、Cross-Entropy Methodに基づいた制御手法などを用いることができる。
学習装置1は、制御対象4のダイナミクスモデルを、事前に与えられた学習用データから、例えば、ニューラルネットワークを用いた機械学習によって近似ダイナミクスモデルを学習する。また、学習装置1は、上述の学習した近似ダイナミクスモデルの不確かさモデルを学習する。そして、学習装置1は、学習したダイナミクスモデル、および、不確かさモデルを、記憶装置2に登録する。
上述した近似ダイナミクスモデルは、制御対象の現在時刻の状態、および、制御入力、を入力として受け取り、次の時刻の制御対象の状態を出力する機械学習モデルである。また、学習データは、上述の近似ダイナミクスモデルを学習に用いるために、制御対象あるいは制御対象のシミュレータなどを用いて収集された、制御対象の状態と制御入力、及び、その後の制御対象の状態、のデータである。
また、上述した不確かさモデルは、近似ダイナミクスモデルの誤差や、制御対象のダイナミクスの確率的な不確実性などを機械学習によって学習したものである。また、不確かさモデルは、例えば、ベイジアンニューラルネットワークモデル、アンサンブルモデルなどを用いて近似ダイナミクスと同一のモデルによって学習されてもよい。
記憶装置2は、学習装置1が学習したダイナミクスモデル、および、不確かさモデルを記憶する。なお、記憶装置2は、学習装置1又は制御装置3に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよく、学習装置1及び制御装置3とデータ通信を行うサーバ装置などであってもよい。また、記憶装置2は、複数の記憶装置から構成され、上述した各記憶部を分散して保有してもよい。
なお、図1に示す制御システム5の構成は一例であり、当該構成に種々の変更が行われてもよい。例えば、制御装置3と制御対象4とは、一体に構成されていてもよい。他の例では、学習装置1と記憶装置2と制御装置3のうち少なくともいずれか2つは一体に構成されていてもよい。
[ハードウェア構成]
次に、上述した学習装置1及び制御装置3のハードウェア構成の一例を説明する。図2は、学習装置1のハードウェア構成の例を示す図である。学習装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インタフェース13とを含む。プロセッサ11、メモリ12及びインタフェース13は、データバス10を介して接続されている。
次に、上述した学習装置1及び制御装置3のハードウェア構成の一例を説明する。図2は、学習装置1のハードウェア構成の例を示す図である。学習装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インタフェース13とを含む。プロセッサ11、メモリ12及びインタフェース13は、データバス10を介して接続されている。
プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、学習装置1の全体の制御を行うコントローラ(演算装置)として機能する。プロセッサ11は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などのプロセッサである。プロセッサ11が、複数のプロセッサから構成されていてもよい。プロセッサ11は、コンピュータの例に該当する。
メモリ12は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ12には、学習装置1が実行する処理を実行するためのプログラムが記憶される。なお、メモリ12が記憶する情報の一部は、学習装置1と通信可能な1又は複数の外部記憶装置(例えば記憶装置2)により記憶されてもよく、学習装置1に対して着脱自在な記憶媒体により記憶されていてもよい。
インタフェース13は、学習装置1と他の装置とを電気的に接続するためのインタフェースである。これらのインタフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイヤレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。例えば、インタフェース13は、タッチパネル、ボタン、キーボード、音声入力装置などのユーザの入力(外部入力)を受け付ける入力装置、ディスプレイ、プロジェクタ等の表示装置、スピーカなどの音出力装置等とのインタフェース動作を行ってもよい。
なお、学習装置1のハードウェア構成は、図2に示す構成に限定されない。例えば、学習装置1が、表示装置、入力装置又は音出力装置の少なくともいずれかを内蔵してもよい。また、学習装置1が、記憶装置2を含んで構成されていてもよい。
図3は、制御装置3のハードウェア構成の例を示す図である。制御装置3は、ハードウェアとして、プロセッサ31と、メモリ32と、インタフェース33とを含む。プロセッサ31、メモリ32及びインタフェース33は、データバス30を介して接続されている。
プロセッサ31は、メモリ32に記憶されているプログラムを実行することにより、制御装置3の全体の制御を行うコントローラ(演算装置)として機能する。プロセッサ31は、例えば、CPU、GPU、TPUなどのプロセッサである。プロセッサ31が、複数のプロセッサから構成されていてもよい。
メモリ32は、例えば、RAM、ROM、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ32には、制御装置3が実行する処理を実行するためのプログラムが記憶される。なお、メモリ32が記憶する情報の一部は、制御装置3と通信可能な1又は複数の外部記憶装置(例えば記憶装置2)により記憶されてもよく、制御装置3に対して着脱自在な記憶媒体により記憶されていてもよい。
インタフェース33は、制御装置3と他の装置とを電気的に接続するためのインタフェースである。これらのインタフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイヤレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。
なお、制御装置3のハードウェア構成は、図3に示す構成に限定されない。例えば、制御装置3が、表示装置、入力装置又は音出力装置の少なくともいずれかを内蔵してもよい。また、制御装置3が、記憶装置2を含んで構成されていてもよい。
[学習装置の構成]
次に、上述した学習装置1の詳細な構成について説明する。図4は、近似ダイナミクスモデル・不確かさモデルの学習を行う学習装置1の構成の例を示す図である。学習装置1は、学習データの入力を受け、近似ダイナミクスモデル及び不確かさモデルの学習を行う機能を有する。そして、かかる機能を実現するための構成として、学習装置1は、ダイナミクスモデル学習部14と、不確かさモデル学習部15と、を備える。なお、ダイナミクスモデル学習部14と、不確かさモデル学習部15との機能は、装備されたプロセッサ11がメモリ12に記憶されたプログラムを実行することで実現される。
次に、上述した学習装置1の詳細な構成について説明する。図4は、近似ダイナミクスモデル・不確かさモデルの学習を行う学習装置1の構成の例を示す図である。学習装置1は、学習データの入力を受け、近似ダイナミクスモデル及び不確かさモデルの学習を行う機能を有する。そして、かかる機能を実現するための構成として、学習装置1は、ダイナミクスモデル学習部14と、不確かさモデル学習部15と、を備える。なお、ダイナミクスモデル学習部14と、不確かさモデル学習部15との機能は、装備されたプロセッサ11がメモリ12に記憶されたプログラムを実行することで実現される。
本実施の形態では、学習データは、時刻tの制御対象4の状態をx_t、時刻tに制御対象に与えられた制御入力をu_tと表したとき、現在時刻tの状態x_tと制御入力u_t、および次時刻t+1の状態x_(t+1)の組の集合{x_t,u_t,x_(t+1)}によって与えられる。このデータは、状態と制御入力の系列x_{0:T} ,u_({0:T-1})によって与えられてもよい。ここで、x_({0:T})のように表記した場合、時刻0から時刻Tまでの状態xの系列を表すものとする。
ダイナミクスモデル学習部14は、上述したような学習データの入力を受け、以下の数1式に示されるような近似ダイナミクスモデルFを学習する。
近似ダイナミクスモデルFを学習する際のモデルは、いろいろなモデルとすることができる。例えば、モデルとしてニューラルネットワークを用いるようにしてもよいが、これらに限定されない。
不確かさモデル学習部15は、学習データの入力を受け、ダイナミクスモデルの不確かさを表すモデルを学習する。本実施形態においては、不確かさモデルとして、生成モデルによって学習した学習データ{x_t,u_t}の確率分布p(x_t,u_t)、あるいはそれに類するものを用いる。学習データの分布を学習したダイナミクスモデルの不確かさモデルとして用いるのは、学習データの密度が高い領域において、学習したダイナミクスモデルの精度が高くなることが予想されるためである。
ここで、学習データの確率分布の学習を行う際の生成モデルは、いろいろなモデルとすることができる。例えば、モデルとしてFlow-Basedモデル、Energy-Basedモデルを用いることができるが、これらに限定されない。
上述したように学習装置1で学習されたダイナミクスモデル及び不確かさモデルは、記憶装置2に記憶される。但し、近似ダイナミクスモデルや不確かさモデルは、必ずしも学習装置1で学習されることに限定されず、予め記憶装置2に記憶されていてもよい。また、近似ダイナミクスモデルや不確かさモデルは、必ずしも学習により生成されることに限定されず、学習によらない方法で生成されてもよい。例えば、ダイナミクスモデルや不確かさモデルは、制御対象4であるロボットの設計データや動作解析データ、シミュレーションデータなどから生成されてもよく、いかなる方法で生成されてもよい。
[制御装置の構成]
次に、上述した制御装置3の詳細な構成について説明する。図5は、制御入力の計算を行う制御装置3の構成の例を示す図である。制御装置3は、制御対象4から与えられる現在状態、及び、記憶装置2から読み込んだ近似ダイナミクスモデル、不確かさモデルの情報を用いて、サンプリングベースの手法によって制御入力の計算を行う。このとき、上述したロボットアームを用いて物体を押す制御システムの例においては、制御入力は、ロボットアームの手先位置であり、制御入力列は、ロボットアームの手先位置の時系列、すなわち手先軌道となる。また、制御対象の状態は、ロボットアームの手先の位置・速度つまりロボットアームによって操作される物体の位置・速度となる。
次に、上述した制御装置3の詳細な構成について説明する。図5は、制御入力の計算を行う制御装置3の構成の例を示す図である。制御装置3は、制御対象4から与えられる現在状態、及び、記憶装置2から読み込んだ近似ダイナミクスモデル、不確かさモデルの情報を用いて、サンプリングベースの手法によって制御入力の計算を行う。このとき、上述したロボットアームを用いて物体を押す制御システムの例においては、制御入力は、ロボットアームの手先位置であり、制御入力列は、ロボットアームの手先位置の時系列、すなわち手先軌道となる。また、制御対象の状態は、ロボットアームの手先の位置・速度つまりロボットアームによって操作される物体の位置・速度となる。
制御装置3は、図5に示すように、初期制御入力列生成部34と、状態・制御入力列サンプル生成部35と、評価コスト計算部38と、制御入力列更新部39と、を備える。また、状態・制御入力列サンプル生成部35は、制御入力サンプル生成部36と、状態遷移計算部37と、を備える。制御装置3は、後述するように、各部35~38による処理を繰り返し行うことによって、制御入力列u_(0:T_h-1)の更新を行い、最適な制御入力列の計算を行う。なお、初期制御入力列生成部34と、状態・制御入力列サンプル生成部35と、制御入力サンプル生成部36と、状態遷移計算部37と、評価コスト計算部38と、制御入力列更新部39との機能は、装備されたプロセッサ31がメモリ32に記憶されたプログラムを実行することで実現される。
初期制御入力列生成部34は、制御入力列の最適化計算を行う際の初期解として、制御入力の時系列を出力する。これは例えば零ベクトルで与えられてもよいし、別途事前に学習あるいは設計された制御入力のポリシーを用いてもよい。
状態・制御入力列サンプル生成部35は、制御対象の状態と、現在の最適化ステップの制御入力列と、学習装置1によって学習された不確かさモデル及び近似ダイナミクスモデルとを用いて、異なる制御入力列サンプル、およびそれぞれの制御入力列サンプルから算出した状態列サンプルを計算する。サンプルは、制御入力サンプル生成部36および状態遷移計算部37による処理を、時系列の長さ分繰り返し実行することによって生成される。
制御入力サンプル生成部36では、ある時刻の状態と、ノミナル入力と、不確かさモデルと、を用いてサンプルの生成を行う。ここで、ある時刻の状態は、制御対象4から与えられる初期状態x_0、あるいは状態遷移計算部37によって与えられる前時刻の状態、および入力サンプルから計算されて与えられる状態、のいずれかである。ノミナル入力は、初期制御入力列生成部34から与えられる制御入力列の初期解、あるいは制御入力列更新部39から与えられる最適化計算によって更新された制御入力列、のいずれかを意味するものとする。
そして、制御入力サンプル生成部36によるサンプルの生成は、例えば、図6に示すように、ノミナル入力を平均とした正規分布を尤度分布、不確かさモデルから得られる現在時刻の状態を条件とした制御入力の分布を事前分布、としてみなし、これらから得られる事後分布から、適切な回数のサンプリングを行うことによって行うことができる。例えば、事後分布は、尤度分布と事前分布とを合成したり結合することで得ることができる。
より具体的には、例えば、まず、現在時刻の状態がx_t、現在時刻のノミナル入力がu_tで与えられ、不確かさモデルが学習データの確率分布p(x_t,u_t)によって与えられているとする。この場合、平均をノミナル入力u_t、分散を事前に与えられたパラメータΣとした下記数2式に示す正規分布を尤度分布とし、学習データの分布p(x_t,u_t)から得られる現在時刻の状態を条件とした制御入力の確率分布p(u_t|x_t)を事前分布としたときに、例えば、マルコフ連鎖モンテカルロ法によって事後分布からのサンプリングを行うことができる。
また、サンプルの生成方法として、例えばN個のサンプルを生成するとき、図7に示すように、上記のノミナル入力を平均とした正規分布からM(>N)個のサンプルを取得し、不確かさモデルから得られる各サンプルの不確かさがより小さいものをN個選択し、残りのサンプルを棄却することもできる。
状態遷移計算部37は、制御入力サンプル生成部36によって生成されたある時刻の入力サンプルu_t^k、および対応した時刻の状態サンプルx_t^kから、学習装置1によって学習された近似ダイナミクスを用いて次時刻の状態サンプルx_(t+1)^kを計算する。ここで、入力サンプルをN個生成するとき、k∈Nであるとする。入力サンプル、および次時刻の状態サンプルについては、サンプリング終了時まで保持する。さらに次時刻のサンプル生成が必要な場合、計算した次時刻の状態を制御入力サンプル生成部36に出力する。時系列分のサンプル生成が終了した場合、保持していた入力・状態を、数3式に示すサンプル系列として評価コスト計算部38に対して出力する。
評価コスト計算部38は、各状態列・制御入力列サンプルから、制御目標に基づいた評価コストS^kを算出する。また、計算した評価コストを、制御入力列サンプルとともに制御入力列更新部39に出力する。
制御入力列更新部39は、ノミナル入力列と制御入力列サンプル、および各サンプルに対応した評価コストをもとに、更新したノミナル入力列を計算する。ここで、ノミナル入力列は、初期制御入力列生成部34から与えられた系列、あるいは制御入力列更新部39で前回更新したノミナル入力列のいずれかである。制御入力列更新部39は、最適化終了の判定を行い、終了時には制御対象4に対して制御入力、あるいは制御入力の一部を出力する。最適化を継続する場合、制御入力列更新部39は制御入力サンプル生成部36に対して更新したノミナル入力列を出力する。最適化の終了判定は、例えば評価コストの収束判定、ノミナル入力列の更新回数に関する閾値、あるいはその両方などによって行うことができる。
より具体的には、ノミナル入力列の更新は以下のように行われる。各サンプルのコストの最小値を数4式とし、各サンプルのノミナル入力列との差分を数5式としたとき、更新されたノミナル入力列u_(0:T_h-1)^newは、数6式のように与えられる。
[動作]
次に、上述した制御システムの動作、特に、学習装置1と制御装置3の動作の一例を説明する。図8は、本実施形態における学習装置1の動作を示すフローチャートである。
次に、上述した制御システムの動作、特に、学習装置1と制御装置3の動作の一例を説明する。図8は、本実施形態における学習装置1の動作を示すフローチャートである。
(ステップS101)学習装置1は、学習データの入力を受ける。
(ステップS102)ダイナミクスモデル学習部14、および不確かさモデル学習部15は、それぞれ近似ダイナミクスモデル、不確かさモデルの学習を行う。各モデルの学習は、並列処理を行ってもよいし、任意の順番で行ってもよい。
(ステップS103)学習装置1は、記憶装置2に対し、学習結果である近似ダイナミクスモデル、不確かさモデルの出力を行う。
(ステップS102)ダイナミクスモデル学習部14、および不確かさモデル学習部15は、それぞれ近似ダイナミクスモデル、不確かさモデルの学習を行う。各モデルの学習は、並列処理を行ってもよいし、任意の順番で行ってもよい。
(ステップS103)学習装置1は、記憶装置2に対し、学習結果である近似ダイナミクスモデル、不確かさモデルの出力を行う。
なお、近似ダイナミクスモデルや不確かさモデルは、必ずしも学習装置1で学習されることに限定されず、予め記憶装置2に記憶されていてもよい。また、近似ダイナミクスモデルや不確かさモデルは、必ずしも学習により生成されることに限定されず、学習によらない方法で生成されてもよい。
次に、制御装置3の動作の一例を説明する。図9は、第一実施形態における制御装置3の動作を示すフローチャートである。
(ステップS301)まず、制御装置3は、制御対象4から現在の状態の入力を受ける。
(ステップS302)初期制御入力列生成部34によって制御入力列の初期解を生成する。
(ステップS303)制御装置3は、状態列および制御入力列のサンプリング処理を行うループL31を開始する。ループL31では、ループの繰り返しによって時系列方向に関するサンプリングの計算を行うため、ループの繰り返し回数を時刻tによって表す。
(ステップS302)初期制御入力列生成部34によって制御入力列の初期解を生成する。
(ステップS303)制御装置3は、状態列および制御入力列のサンプリング処理を行うループL31を開始する。ループL31では、ループの繰り返しによって時系列方向に関するサンプリングの計算を行うため、ループの繰り返し回数を時刻tによって表す。
(ステップS304)制御入力サンプル生成部36によって、現在ステップtの状態サンプルx_t^k、およびノミナル入力u_t^から制御入力のサンプルu_t^kを計算する。初期ステップの場合、サンプルの生成は制御装置3から入力を受けた現在状態x_tをもとに、N個のサンプルが計算される。サンプルの生成は、ノミナル入力から得られた正規分布を事前分布、学習装置1によって学習された学習データ分布から得られる入力の条件付き分布を尤度分布とした際の事後分布から、マルコフ連鎖モンテカルロ法などによってサンプリングされる。
(ステップS305)状態遷移計算部37によって、現在ステップtの状態サンプルx_t^k、および制御入力サンプルu_t^kから次のステップt+1の状態サンプルx_(t+1)^kを計算する。この計算は学習装置1によって学習された近似ダイナミクスモデルによって行われる。
(ステップS306)制御装置3は、ループL31の終端処理を行う。具体的には、制御装置3は繰り返し回数tを参照し、サンプリングの計算が終端時間まで終了したかを判定する。サンプリングの処理が終了していないと判定した場合、次の時刻に対して引き続きサンプリング処理を行う。この場合、処理がステップS304に戻る。一方、サンプリングの処理が終了したと判定した場合、制御装置3は、ループL31を終了する。この場合、処理がステップS307へ進む。
(ステップS306)制御装置3は、ループL31の終端処理を行う。具体的には、制御装置3は繰り返し回数tを参照し、サンプリングの計算が終端時間まで終了したかを判定する。サンプリングの処理が終了していないと判定した場合、次の時刻に対して引き続きサンプリング処理を行う。この場合、処理がステップS304に戻る。一方、サンプリングの処理が終了したと判定した場合、制御装置3は、ループL31を終了する。この場合、処理がステップS307へ進む。
(ステップS307)評価コスト計算部38は、生成されたN個のサンプル系列に対し、それぞれの評価コストを計算する。
(ステップS308)制御入力更新部39は、各サンプルおよびそれぞれの評価コストをもとに、ノミナル入力列の更新を行う。
(ステップS309)制御装置3は、制御入力列の最適化の終了判定を行う。
(ステップS310)最適化が継続される場合(ステップS310:YES)、処理がステップS303へ進む。一方、最適化を終了する場合(ステップS310:NO)、処理がステップS311へ進む。
(ステップS311)制御装置3は、制御対象4に対し、最適化計算結果の制御入力列、あるいはその一部を出力する。
(ステップS308)制御入力更新部39は、各サンプルおよびそれぞれの評価コストをもとに、ノミナル入力列の更新を行う。
(ステップS309)制御装置3は、制御入力列の最適化の終了判定を行う。
(ステップS310)最適化が継続される場合(ステップS310:YES)、処理がステップS303へ進む。一方、最適化を終了する場合(ステップS310:NO)、処理がステップS311へ進む。
(ステップS311)制御装置3は、制御対象4に対し、最適化計算結果の制御入力列、あるいはその一部を出力する。
以上のように、学習装置1において近似ダイナミクスモデルおよびその不確かさのモデルを学習することで、サンプリングベースの最適化手法を行う際に、ダイナミクスモデルの不確かさを考慮したサンプリングを行うことができる。その結果、学習したダイナミクスモデルについてより確からしい領域を用いて最適制御を行うことができ、制御実行時の精度の向上を図ることができる。また、不確かさモデルとして学習データの分布を扱うことで、上述したような事後分布を考えることが可能になり、分布からのサンプリングを行うことができる。
[第2の実施形態]
次に、本開示の第2の実施形態を説明する。本実施形態では、上述した実施形態1とは、不確かさモデルが異なる。本実施形態では、学習装置1が不確かさモデルを学習する際、ダイナミクスモデルの出力の分散に相当する量として得られるように、不確かさモデルの学習を行ってもよい。このとき、不確かさモデルは、ダイナミクスモデルの出力の分散が大きいほど、不確かさが大きいことを表すこととなる。具体的には、例えばアンサンブルモデルやベイジアンニューラルネットを用いたダイナミクスモデルの学習を行うことで、不確かさモデルを得ることができる。なお、第二実施形態における制御システム5や制御装置3の構成は、第一実施形態の場合と同様である。
次に、本開示の第2の実施形態を説明する。本実施形態では、上述した実施形態1とは、不確かさモデルが異なる。本実施形態では、学習装置1が不確かさモデルを学習する際、ダイナミクスモデルの出力の分散に相当する量として得られるように、不確かさモデルの学習を行ってもよい。このとき、不確かさモデルは、ダイナミクスモデルの出力の分散が大きいほど、不確かさが大きいことを表すこととなる。具体的には、例えばアンサンブルモデルやベイジアンニューラルネットを用いたダイナミクスモデルの学習を行うことで、不確かさモデルを得ることができる。なお、第二実施形態における制御システム5や制御装置3の構成は、第一実施形態の場合と同様である。
そして、第二実施形態において、制御入力サンプル生成部36における制御入力のサンプリングは、例えばN個のサンプルを生成することを考えたとき、図7に示すような、前記のノミナル入力を平均とした正規分布からM(>N)個のサンプルを取得し、不確かさモデルから得られる各サンプルの不確かさがより小さいものをN個選択し、残りのサンプルを棄却する方法などで生成することができる。
<第3の実施形態>
次に、本開示の第3の実施形態を、図面を参照して説明する。本実施形態では、上述した実施形態で説明した制御装置3の構成の概略を示している。なお、図面はいずれの実施形態においても関連しうる。
次に、本開示の第3の実施形態を、図面を参照して説明する。本実施形態では、上述した実施形態で説明した制御装置3の構成の概略を示している。なお、図面はいずれの実施形態においても関連しうる。
本実施形態における情報処理装置100は、一般的な情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を装備している。
・CPU(Central Processing Unit)101(演算装置)
・ROM(Read Only Memory)102(記憶装置)
・RAM(Random Access Memory)103(記憶装置)
・RAM103にロードされるプログラム群104
・プログラム群104を格納する記憶装置105
・情報処理装置外部の記憶媒体110の読み書きを行うドライブ装置106
・情報処理装置外部の通信ネットワーク111と接続する通信インタフェース107
・データの入出力を行う入出力インタフェース108
・各構成要素を接続するバス109
・CPU(Central Processing Unit)101(演算装置)
・ROM(Read Only Memory)102(記憶装置)
・RAM(Random Access Memory)103(記憶装置)
・RAM103にロードされるプログラム群104
・プログラム群104を格納する記憶装置105
・情報処理装置外部の記憶媒体110の読み書きを行うドライブ装置106
・情報処理装置外部の通信ネットワーク111と接続する通信インタフェース107
・データの入出力を行う入出力インタフェース108
・各構成要素を接続するバス109
なお、図10は、情報処理装置100である情報処理装置のハードウェア構成の一例を示しており、情報処理装置のハードウェア構成は上述した場合に限定されない。例えば、情報処理装置は、ドライブ装置106を有さないなど、上述した構成の一部から構成されてもよい。また、情報処理装置は、上述したCPUの代わりに、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(TensorProcessingUnit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。
そして、情報処理装置100は、プログラム群104をCPU101が取得して当該CPU101が実行することで、図11に示す取得部121と生成部122と計算部123とを構築して装備することができる。なお、プログラム群104は、例えば、予め記憶装置105やROM102に格納されており、必要に応じてCPU101がRAM103にロードして実行する。また、プログラム群104は、通信ネットワーク111を介してCPU101に供給されてもよいし、予め記憶媒体110に格納されており、ドライブ装置106が該プログラムを読み出してCPU101に供給してもよい。但し、上述した取得部121と生成部122と計算部123とは、かかる手段を実現させるための専用の電子回路で構築されるものであってもよい。
上記取得部121は、制御入力に応じた制御対象の状態を出力するよう学習された当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得する。上記生成部122は、前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成する。上記計算部123は、前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する。
本開示は、以上のように構成されることにより、ダイナミクスモデルの不確かさを考慮した制御入力のサンプルを生成することができ、かかるサンプルからダイナミクスモデルを用いて最適制御入力を計算することができる。その結果、ダイナミクスモデルについてより確からしい領域を用いて最適制御を行うことができ、制御実行時の精度の向上を図ることができる。
なお、上述した取得部121と生成部122と計算部123との機能のうちの少なくとも一以上の機能は、ネットワーク上のいかなる場所に設置され接続された情報処理装置で実行されてもよく、つまり、いわゆるクラウドコンピューティングで実行されてもよい。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、上記実施形態等を参照して本開示を説明したが、本開示は、上述した実施形態に限定されるものではない。本開示の構成や詳細には、本開示の範囲内で当業者が理解しうる様々な変更をすることができる。そして、上述した各実施形態は、適宜他の実施形態と組み合わせることができる。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本開示における情報処理装置、情報処理方法、プログラムの構成の概略を説明する。但し、本開示は、以下の構成に限定されない。
(付記1)
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得する取得部と、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成する生成部と、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する計算部と、
を備えた情報処理装置。
(付記2)
付記1に記載の情報処理装置であって、
前記取得部は、前記ダイナミクスモデルの学習に用いられた学習データに基づく前記不確かさモデルを取得する、
情報処理装置。
(付記3)
付記2に記載の情報処理装置であって、
前記取得部は、前記学習データの確率分布に基づく前記不確かさモデルを取得する、
情報処理装置。
(付記4)
付記3に記載の情報処理装置であって、
前記生成部は、予め設定された制御入力に基づく分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理装置。
(付記5)
付記3に記載の情報処理装置であって、
前記生成部は、予め設定された制御入力を平均とした正規分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理装置。
(付記6)
付記5に記載の情報処理装置であって、
前記生成部は、予め設定された制御入力を平均とした正規分布から制御入力の候補サンプルを生成し、当該候補サンプルから前記学習データの確率分布を用いて前記サンプルを生成する、
情報処理装置。
(付記7)
付記6に記載の情報処理装置であって、
前記生成部は、前記候補サンプルから、前記学習データの確率分布を用いて前記ダイナミクスモデルの不確かさがより小さい前記サンプルを生成する、
情報処理装置。
(付記8)
付記1に記載の情報処理装置であって、
前記取得部は、前記ダイナミクスモデルの出力の分散に基づく前記不確かさモデルを取得する、
情報処理装置。
(付記9)
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
情報処理方法。
(付記10)
付記9に記載の情報処理方法であって、
前記ダイナミクスモデルの学習に用いられた学習データに基づく前記不確かさモデルを取得する、
情報処理方法。
(付記11)
付記10に記載の情報処理方法であって、
前記学習データの確率分布に基づく前記不確かさモデルを取得する、
情報処理方法。
(付記12)
付記11に記載の情報処理方法であって、
予め設定された制御入力に基づく分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理方法。
(付記13)
付記12に記載の情報処理方法であって、
予め設定された制御入力を平均とした正規分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理方法。
(付記14)
付記12に記載の情報処理方法であって、
予め設定された制御入力を平均とした正規分布から制御入力の候補サンプルを生成し、当該候補サンプルから前記学習データの確率分布を用いて前記サンプルを生成する、
情報処理方法。
(付記15)
付記14に記載の情報処理方法であって、
前記候補サンプルから、前記学習データの確率分布を用いて前記ダイナミクスモデルの不確かさがより小さい前記サンプルを生成する、
情報処理方法。
(付記16)
付記9に記載の情報処理方法であって、
前記ダイナミクスモデルの出力の分散に基づく前記不確かさモデルを取得する、
情報処理方法。
(付記17)
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
処理をコンピュータに実行させるプログラムを記憶したコンピュータにて読み取り可能な記憶媒体。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本開示における情報処理装置、情報処理方法、プログラムの構成の概略を説明する。但し、本開示は、以下の構成に限定されない。
(付記1)
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得する取得部と、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成する生成部と、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する計算部と、
を備えた情報処理装置。
(付記2)
付記1に記載の情報処理装置であって、
前記取得部は、前記ダイナミクスモデルの学習に用いられた学習データに基づく前記不確かさモデルを取得する、
情報処理装置。
(付記3)
付記2に記載の情報処理装置であって、
前記取得部は、前記学習データの確率分布に基づく前記不確かさモデルを取得する、
情報処理装置。
(付記4)
付記3に記載の情報処理装置であって、
前記生成部は、予め設定された制御入力に基づく分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理装置。
(付記5)
付記3に記載の情報処理装置であって、
前記生成部は、予め設定された制御入力を平均とした正規分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理装置。
(付記6)
付記5に記載の情報処理装置であって、
前記生成部は、予め設定された制御入力を平均とした正規分布から制御入力の候補サンプルを生成し、当該候補サンプルから前記学習データの確率分布を用いて前記サンプルを生成する、
情報処理装置。
(付記7)
付記6に記載の情報処理装置であって、
前記生成部は、前記候補サンプルから、前記学習データの確率分布を用いて前記ダイナミクスモデルの不確かさがより小さい前記サンプルを生成する、
情報処理装置。
(付記8)
付記1に記載の情報処理装置であって、
前記取得部は、前記ダイナミクスモデルの出力の分散に基づく前記不確かさモデルを取得する、
情報処理装置。
(付記9)
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
情報処理方法。
(付記10)
付記9に記載の情報処理方法であって、
前記ダイナミクスモデルの学習に用いられた学習データに基づく前記不確かさモデルを取得する、
情報処理方法。
(付記11)
付記10に記載の情報処理方法であって、
前記学習データの確率分布に基づく前記不確かさモデルを取得する、
情報処理方法。
(付記12)
付記11に記載の情報処理方法であって、
予め設定された制御入力に基づく分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理方法。
(付記13)
付記12に記載の情報処理方法であって、
予め設定された制御入力を平均とした正規分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理方法。
(付記14)
付記12に記載の情報処理方法であって、
予め設定された制御入力を平均とした正規分布から制御入力の候補サンプルを生成し、当該候補サンプルから前記学習データの確率分布を用いて前記サンプルを生成する、
情報処理方法。
(付記15)
付記14に記載の情報処理方法であって、
前記候補サンプルから、前記学習データの確率分布を用いて前記ダイナミクスモデルの不確かさがより小さい前記サンプルを生成する、
情報処理方法。
(付記16)
付記9に記載の情報処理方法であって、
前記ダイナミクスモデルの出力の分散に基づく前記不確かさモデルを取得する、
情報処理方法。
(付記17)
制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
処理をコンピュータに実行させるプログラムを記憶したコンピュータにて読み取り可能な記憶媒体。
1 学習装置
11 プロセッサ
12 メモリ
13 インタフェース
14 ダイナミクスモデル学習部
15 不確かさモデル学習部
2 記憶装置
3 制御装置
31 プロセッサ
32 メモリ
33 インタフェース
34 初期制御入力列生成部
35 状態・制御入力列サンプル生成部
36 制御入力サンプル生成部
37 状態遷移計算部
38 評価コスト計算部
39 制御入力列更新部
4 制御対象
5 制御システム
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 プログラム群
105 記憶装置
106 ドライブ装置
107 通信インタフェース
108 入出力インタフェース
109 バス
110 記憶媒体
111 通信ネットワーク
121 取得部
122 生成部
123 計算部
11 プロセッサ
12 メモリ
13 インタフェース
14 ダイナミクスモデル学習部
15 不確かさモデル学習部
2 記憶装置
3 制御装置
31 プロセッサ
32 メモリ
33 インタフェース
34 初期制御入力列生成部
35 状態・制御入力列サンプル生成部
36 制御入力サンプル生成部
37 状態遷移計算部
38 評価コスト計算部
39 制御入力列更新部
4 制御対象
5 制御システム
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 プログラム群
105 記憶装置
106 ドライブ装置
107 通信インタフェース
108 入出力インタフェース
109 バス
110 記憶媒体
111 通信ネットワーク
121 取得部
122 生成部
123 計算部
Claims (17)
- 制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得する取得部と、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成する生成部と、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する計算部と、
を備えた情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記取得部は、前記ダイナミクスモデルの学習に用いられた学習データに基づく前記不確かさモデルを取得する、
情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記取得部は、前記学習データの確率分布に基づく前記不確かさモデルを取得する、
情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記生成部は、予め設定された制御入力に基づく分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記生成部は、予め設定された制御入力を平均とした正規分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理装置。 - 請求項5に記載の情報処理装置であって、
前記生成部は、予め設定された制御入力を平均とした正規分布から制御入力の候補サンプルを生成し、当該候補サンプルから前記学習データの確率分布を用いて前記サンプルを生成する、
情報処理装置。 - 請求項6に記載の情報処理装置であって、
前記生成部は、前記候補サンプルから、前記学習データの確率分布を用いて前記ダイナミクスモデルの不確かさがより小さい前記サンプルを生成する、
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記取得部は、前記ダイナミクスモデルの出力の分散に基づく前記不確かさモデルを取得する、
情報処理装置。 - 制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
情報処理方法。 - 請求項9に記載の情報処理方法であって、
前記ダイナミクスモデルの学習に用いられた学習データに基づく前記不確かさモデルを取得する、
情報処理方法。 - 請求項10に記載の情報処理方法であって、
前記学習データの確率分布に基づく前記不確かさモデルを取得する、
情報処理方法。 - 請求項11に記載の情報処理方法であって、
予め設定された制御入力に基づく分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理方法。 - 請求項12に記載の情報処理方法であって、
予め設定された制御入力を平均とした正規分布と前記学習データの確率分布とを用いて前記サンプルを生成する、
情報処理方法。 - 請求項12に記載の情報処理方法であって、
予め設定された制御入力を平均とした正規分布から制御入力の候補サンプルを生成し、当該候補サンプルから前記学習データの確率分布を用いて前記サンプルを生成する、
情報処理方法。 - 請求項14に記載の情報処理方法であって、
前記候補サンプルから、前記学習データの確率分布を用いて前記ダイナミクスモデルの不確かさがより小さい前記サンプルを生成する、
情報処理方法。 - 請求項9に記載の情報処理方法であって、
前記ダイナミクスモデルの出力の分散に基づく前記不確かさモデルを取得する、
情報処理方法。 - 制御入力に応じた制御対象の状態を出力する当該制御対象のダイナミクスを近似したダイナミクスモデルと、前記ダイナミクスモデルの不確かさを表す不確かさモデルと、を取得し、
前記不確かさモデルを用いて、前記制御対象に対する制御入力のサンプルを生成し、
前記ダイナミクスモデルを用いて、前記サンプルから最適制御入力を計算する、
処理をコンピュータに実行させるプログラムを記憶したコンピュータにて読み取り可能な記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/003301 WO2025163857A1 (ja) | 2024-02-01 | 2024-02-01 | 情報処理装置、情報処理方法、プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/003301 WO2025163857A1 (ja) | 2024-02-01 | 2024-02-01 | 情報処理装置、情報処理方法、プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025163857A1 true WO2025163857A1 (ja) | 2025-08-07 |
Family
ID=96590291
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/003301 Pending WO2025163857A1 (ja) | 2024-02-01 | 2024-02-01 | 情報処理装置、情報処理方法、プログラム |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025163857A1 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018124982A (ja) * | 2017-01-31 | 2018-08-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 制御装置および制御方法 |
| WO2019004476A1 (ja) * | 2017-06-30 | 2019-01-03 | 富士電機株式会社 | 制御装置及び制御装置の設計方法 |
| JP2020535562A (ja) * | 2017-12-18 | 2020-12-03 | 三菱電機株式会社 | システムを制御する装置及び方法 |
-
2024
- 2024-02-01 WO PCT/JP2024/003301 patent/WO2025163857A1/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018124982A (ja) * | 2017-01-31 | 2018-08-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 制御装置および制御方法 |
| WO2019004476A1 (ja) * | 2017-06-30 | 2019-01-03 | 富士電機株式会社 | 制御装置及び制御装置の設計方法 |
| JP2020535562A (ja) * | 2017-12-18 | 2020-12-03 | 三菱電機株式会社 | システムを制御する装置及び方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4169063B2 (ja) | データ処理装置、データ処理方法、及びプログラム | |
| US11080586B2 (en) | Neural network reinforcement learning | |
| US20190042943A1 (en) | Cooperative neural network deep reinforcement learning with partial input assistance | |
| JP6772213B2 (ja) | 質問応答装置、質問応答方法及びプログラム | |
| KR20160102690A (ko) | 신경망 학습 방법 및 장치, 및 인식 방법 및 장치 | |
| US12456044B2 (en) | Learning apparatus and method for bidirectional learning of predictive model based on data sequence | |
| US11100388B2 (en) | Learning apparatus and method for learning a model corresponding to real number time-series input data | |
| JP4201012B2 (ja) | データ処理装置、データ処理方法、およびプログラム | |
| CN112016611B (zh) | 生成器网络和策略生成网络的训练方法、装置和电子设备 | |
| US11195116B2 (en) | Dynamic boltzmann machine for predicting general distributions of time series datasets | |
| CN112016678A (zh) | 用于增强学习的策略生成网络的训练方法、装置和电子设备 | |
| US20240013754A1 (en) | Performance analysis method, performance analysis system and non-transitory computer-readable medium | |
| WO2022180785A1 (ja) | 学習装置、学習方法及び記憶媒体 | |
| JP7179672B2 (ja) | 計算機システム及び機械学習方法 | |
| US20250165860A1 (en) | Learning device, control device, learning method, and storage medium | |
| WO2025163857A1 (ja) | 情報処理装置、情報処理方法、プログラム | |
| JP2024003643A (ja) | ニューラルネットワークの学習方法、コンピュータプログラム、及び余寿命予測システム | |
| US11410042B2 (en) | Dynamic Boltzmann machine for estimating time-varying second moment | |
| WO2024180789A1 (ja) | 情報処理装置、情報処理方法、プログラム | |
| JP7508333B2 (ja) | 計算機システム及び学習方法 | |
| JP2024120643A (ja) | 情報処理装置、情報処理方法およびプログラム | |
| CN116888665A (zh) | 电子设备及其控制方法 | |
| CN114037066A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
| US20250164944A1 (en) | Learning device, control device, learning method, and storage medium | |
| WO2025046718A1 (ja) | 学習装置、学習方法、及び学習プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24922263 Country of ref document: EP Kind code of ref document: A1 |