WO2021245720A1 - プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体 - Google Patents

プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体 Download PDF

Info

Publication number
WO2021245720A1
WO2021245720A1 PCT/JP2020/021528 JP2020021528W WO2021245720A1 WO 2021245720 A1 WO2021245720 A1 WO 2021245720A1 JP 2020021528 W JP2020021528 W JP 2020021528W WO 2021245720 A1 WO2021245720 A1 WO 2021245720A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
action
state
controlled object
value
Prior art date
Application number
PCT/JP2020/021528
Other languages
English (en)
French (fr)
Inventor
拓也 平岡
貴士 大西
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2020/021528 priority Critical patent/WO2021245720A1/ja
Priority to JP2022529124A priority patent/JP7380874B2/ja
Priority to US17/927,086 priority patent/US20230211498A1/en
Publication of WO2021245720A1 publication Critical patent/WO2021245720A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • This disclosure relates to a planner device, a planning method, a planning program recording medium, a learning device, a learning method, and a learning program recording medium.
  • Non-Patent Document 1 discloses a technique for generating an environment model by online learning and searching for an optimum behavior in the control of a robot or the like whose environment changes according to the behavior.
  • Patent Document 1 discloses a technique for avoiding the so-called curse of dimensionality in reinforcement learning.
  • Non-Patent Document 1 in order to determine a more appropriate behavior, it is preferable to increase the search depth of the locus and increase the number of patterns of the locus to be generated.
  • the search depth is P and the number of patterns is Q
  • a calculation amount proportional to P ⁇ Q is required in order to determine the behavior in the technique described in Non-Patent Document 1.
  • the time from the timing at which a certain state is acquired to the timing at which control should be executed is finite, and it may not be possible to prepare a calculation time sufficient to obtain sufficient accuracy.
  • the time allocated to the calculation of control is generally several milliseconds, and it is difficult to determine an appropriate action within the time.
  • One of the purposes of the present disclosure is to provide a planner device, a planning method, a planning program, a learning device, a learning method, and a learning program capable of accurately determining an action with a small amount of calculation.
  • the planner device is calculated when the state acquisition means for acquiring the state of the controlled object at the first time and the state are input to the pre-learned value function.
  • the value function is provided with an action determining means for determining an action at a second time, which is a control timing next to the first time, so that the value function is the state of the controlled object at the first time. And when the action determination is repeated from the action at the second time to the third time after the second time, the state of the controlled object at each control timing from the second time to the third time is set. It is learned to calculate the value of the sum of the based rewards.
  • the planning method obtains the state of the controlled object at the first time, and the value calculated when the state is input to the pre-learned value function.
  • the value function comprises determining the action at the second time, which is the control timing next to the first time, so that the value function is the state of the controlled object at the first time and the second.
  • the action is repeatedly determined from the action at the time to the third time after the second time, the sum of the rewards based on the state of the controlled object at each control timing from the second time to the third time. It is learned to calculate the value of.
  • the recording medium in which the planning program is stored acquires the state of the controlled object at the first time in the computer, and obtains the above state with respect to the pre-learned value function.
  • the value function determines the action at the second time, which is the control timing next to the first time, so that the value calculated at the time of input is maximized, and the value function is the first time.
  • it is learned to calculate the value related to the total sum of rewards based on the state of the controlled object.
  • the learning device is the controlled object at the second time from the state of the controlled object at the first time and the action at the second time which is the control timing next to the first time.
  • Each control timing from the second time to the third time after the second time which is obtained by repeatedly inputting the action after the second time into the prediction means for predicting the state of
  • a reward calculation means that calculates the sum of rewards based on the state of the controlled object as a value, a state of the controlled object at the first time, and a state of the controlled object at the second time based on the state, the action, and the value. It is provided with an update means for updating the parameter of the value function so as to output the value by taking the action as an input.
  • the learning method is based on the state of the controlled object at the first time and the action at the second time, which is the control timing next to the first time, to the controlled object at the second time.
  • the control target at each control timing from the second time to the third time after the second time which is obtained by repeatedly inputting the action after the second time into the prediction function for predicting the state of.
  • the value is calculated by calculating the total sum of rewards based on the state, and the state of the controlled object at the first time and the action at the second time are input based on the state, the action, and the value. It is provided with updating the parameters of the value function to output.
  • the recording medium in which the learning program for storing the learning program is stored in the computer at the state of the controlled object at the first time and at the second time which is the next control timing after the first time.
  • a third time after the second time which is obtained by repeatedly inputting the action after the second time into the prediction function that predicts the state of the controlled object at the second time from the action.
  • the sum of the rewards based on the state of the controlled object at each control timing up to the time is calculated as the value, and the state of the controlled object at the first time and the state of the controlled object at the first time based on the state, the action, and the value. Taking the action at the second time as an input, updating the parameter of the value function so as to output the value is executed.
  • the planner device can accurately determine the action with a small amount of calculation.
  • the planner device 10 (shown in FIG. 1) according to the first embodiment is provided for the controlled object, and determines the behavior of the controlled object based on the measurement signal obtained from the sensor of the controlled object.
  • Examples of controlled objects include robots, plants, and infrastructure.
  • the number of control targets may be one or a plurality.
  • Examples of the behavior of the controlled object determined by the planner device 10 include the operation amount of the actuator to be controlled.
  • the planner device 10 according to the first embodiment has joints of each leg so that the robot walks without falling based on the posture measured by the sensor attached to the quadruped walking robot and the surrounding environment. Determine the amount of rotation of.
  • Examples of the behavior of the controlled object determined by the planner device 10 include the device to be controlled in the plant (opening / closing of a valve, movement of a transfer device, etc.).
  • the planner device 10 according to the first embodiment is a valve connected to the pipe so that the pipe can be maintained in a normal state based on the flow rate measured by a sensor that measures the flow rate of a substance in the pipe. Determines the opening / closing (or opening / closing amount) of.
  • the planner device 10 determines the behavior of the controlled object at the control timing. It is assumed that the planner device 10 executes a process of determining an action a plurality of times. The plurality of control timings may be at regular intervals or at irregular intervals.
  • FIG. 1 is a schematic block diagram showing the configuration of the planner device 10 according to the first embodiment.
  • the planner device 10 includes a state acquisition unit 11, a reward calculation unit 12, a locus storage unit 13, a value function storage unit 14, an action candidate generation unit 15, an action determination unit 16, and a control unit 17.
  • the state acquisition unit 11 acquires measured values indicating the state of the controlled object from various sensors provided for the controlled object.
  • the state acquisition unit 11 is an example of the state acquisition means.
  • the reward calculation unit 12 calculates the state of the controlled object and the reward based on the action based on the measured value acquired by the state acquisition unit 11 and the action at the previous control timing of the controlled object.
  • the locus storage unit 13 stores locus data which is a time series of a combination of the measured value acquired by the state acquisition unit 11, the reward calculated by the reward calculation unit 12, and the action determined by the action determination unit 16.
  • the reward represents, for example, the degree of proximity to the controlled target state.
  • the reward is a function of the controlled state and behavior.
  • the value function storage unit 14 inputs the locus data related to the control timing of the latest N (N is a natural number) step and the action at the next control timing of the locus data, and outputs the value for the action.
  • N is a natural number
  • the value calculated by the value function according to the first embodiment is a value corresponding to the state of the controlled object that changes depending on the input action.
  • the value function according to the first embodiment is, for example, a trained machine learning model. The learning method of the value function will be described later with reference to FIG.
  • the action candidate generation unit 15 generates a plurality of action candidates at the next control timing.
  • the action candidate generation unit 15 may generate a plurality of action candidates based on the locus data stored in the locus storage unit 13, for example, or may generate a plurality of action candidates based on random numbers.
  • the action determination unit 16 sets the control target based on the value function stored in the value function storage unit 14, the trajectory data stored in the trajectory storage unit 13, and a plurality of action candidates generated by the action candidate generation unit 15. Decide what action to take. Specifically, the action determination unit 16 determines an action according to the following procedure. First, the action determination unit 16 calculates the value for each candidate by inputting the locus data and each of the plurality of action candidates into the value function. Then, the action determination unit 16 determines, for example, the action having the highest value among the plurality of action candidates as the action to be applied to the controlled object. The action decision unit 16 is an example of action decision means. The control unit 17 outputs the action determined by the action determination unit 16 to the control target.
  • FIG. 2 is a flowchart showing the operation of the planner device 10 according to the first embodiment.
  • the planner device 10 executes the following processing for each control timing of the controlled object.
  • the state acquisition unit 11 of the planner device 10 acquires the measured value from the sensor to be controlled (step S1).
  • the state acquisition unit 11 records the acquired measured value in the locus storage unit 13.
  • the reward calculation unit 12 calculates the reward for the previous action based on the measured value acquired in step S1 and the action at the previous control timing stored in the locus storage unit 13 (step S2).
  • the reward calculation unit 12 records the calculated reward in the locus storage unit 13.
  • the action candidate generation unit 15 generates a plurality of action candidates at the next control timing (step S3).
  • the action determination unit 16 selects a plurality of action candidates generated in step S3 one by one, and executes the process of step S5 for each candidate (step S4).
  • the action determination unit 16 calculates the value of the candidate by inputting the trajectory data stored in the trajectory storage unit 13 and the action candidate selected in step S4 into the value function stored in the value function storage unit 14. (Step S5).
  • the action determination unit 16 determines, for example, the most valuable action candidate among the plurality of action candidates as the action to be applied to the controlled object (step S6).
  • the action determination unit 16 records the determined action in the locus storage unit 13.
  • the control unit 17 outputs the action determined by the action determination unit 16 to the control target (step S7).
  • the amount of calculation in one control cycle of the planner device 10 according to the first embodiment is proportional to the number of action candidates generated by the action candidate generation unit 15.
  • the learning device 20 may be provided as a device separate from the planner device 10 or may be provided integrally with the planner device 10.
  • FIG. 3 is a schematic block diagram showing the configuration of the learning device 20 according to the first embodiment.
  • the learning device 20 includes a locus storage unit 21, a data set extraction unit 22, a prediction function learning unit 23, a prediction function storage unit 24, a prediction unit 25, an action candidate generation unit 26, a value function learning unit 27, and a value function storage unit. 28 is provided.
  • the locus storage unit 21 stores locus data when the control target has operated in the past.
  • the length of the locus data stored in the locus storage unit 21 is at least longer than the length of the locus data (control timing of N steps) used for inputting the value function.
  • the data set extraction unit 22 extracts a learning data set used for learning the prediction function and the value function from the locus data stored in the locus storage unit 21.
  • the prediction function learning unit 23 learns the parameters of the prediction function based on the learning data set extracted by the data set extraction unit 22. When the locus data related to the control timing of the latest N step and the action related to the next control timing are input, the prediction function learning unit 23 outputs the state and the reward related to the next timing. Learn the parameters of the prediction function.
  • the prediction function is constructed by a machine learning model such as a neural network.
  • the prediction function storage unit 24 stores the learned prediction function.
  • the prediction unit 25 predicts a state and a reward related to the next timing from the input locus data and the action by using the prediction function stored in the prediction function storage unit 24.
  • the prediction unit 25 is an example of a prediction means.
  • the action candidate generation unit 26 generates a plurality of action candidates at the next control timing.
  • the action candidate generation unit 26 may generate a plurality of action candidates based on, for example, trajectory data, or may generate a plurality of action candidates based on random numbers.
  • the value function learning unit 27 learns the parameters of the value function based on the learning data set extracted by the data set extraction unit 22, the action candidate generated by the action candidate generation unit 26, and the state and reward predicted by the prediction unit 25. do.
  • the value function learning unit 27 learns the parameters of the value function so as to output the value according to the sum of the rewards up to the control timing of the future P (P is a natural number) step.
  • the value function learning unit 27 is an example of a reward calculation means and an update means.
  • the value function storage unit 28 stores the learned value function.
  • the learning device 20 learns the parameters of the predictive function.
  • the data set extraction unit 22 cuts out a plurality of time series of combinations of states, actions, and rewards related to the control timing of the (N + 1) step from the locus data stored in the locus storage unit 21 as a learning data set.
  • the data set extraction unit 22 uses the time series of the combination of the state, the action, and the reward related to the control timing for the N steps cut out as the locus data.
  • the prediction function learning unit 23 predicts by learning using the locus data related to the control timing for N steps and the action of the (N + 1) step as an input sample and the state of the (N + 1) step and the reward as an output sample. Update function parameters.
  • the data set extraction unit 22 records the updated prediction function in the prediction function storage unit 24.
  • FIG. 4 is a flowchart showing a learning process of the value function by the learning device 20 according to the first embodiment.
  • the data set extraction unit 22 cuts out a time series of a combination of states, actions, and rewards related to the control timing of consecutive N (N is a natural number) steps from the locus data stored in the locus storage unit 21 as locus data for learning.
  • the action candidate generation unit 26 generates an action candidate at the next control timing (control timing of the (N + 1) th step) of the cut-out locus data (step S32).
  • the prediction unit 25 predicts the state and reward at the next control timing by substituting the locus data cut out in step S31 and the action candidate generated in step S32 into the prediction function stored in the prediction function storage unit 24. (Step S33).
  • the data set extraction unit 22 adds the generated action candidate and the predicted state and reward to the locus data (step S34).
  • the action candidate generation unit 26 further generates an action candidate at the next control timing (step S35).
  • the prediction unit 25 substitutes the locus data related to the control timing of the latest N step generated in step S34 and the action candidate generated in step S35 into the prediction function stored in the prediction function storage unit 24, thereby performing the next control timing. Predict the state and reward in (step S36).
  • the value function learning unit 27 determines whether or not the action candidate generated in step S35 is an action candidate related to the control timing after the P step from the locus data cut out in step S31 (step S37). When the generated action candidate is an action candidate related to the control timing before the P step (step S37: NO), the learning device 20 returns the process to step S34, and further predicts the state and the reward for the next control timing. do.
  • the value function learning unit 27 calculates the total reward in the P step (step S38).
  • the sum of the rewards may be a weighted sum that takes into account the discount rate for the passage of time.
  • the value function learning unit 27 determines whether or not the number of trials for generating action candidates for P steps is Q (Q is a natural number) or more (step S39). When the number of trials for generating action candidates for P steps is less than Q times (step S39: NO), the process is returned to step S32, action candidates for P steps are generated again, and the reward is predicted.
  • the maximum sum of the rewards calculated Q times in step S38 is specified (step S40).
  • the value function learning unit 27 learns the parameters of the value function using the locus data cut out in step S31 and the action candidate generated in step S32 as an input sample and the sum of the rewards specified in step S40 as an output sample (. Step S41).
  • the value function learning unit 27 determines whether or not the end condition of learning of the value function is satisfied (step S42).
  • the learning end condition includes, for example, that the rate of change of the parameter is less than the threshold value, the number of trials exceeds a predetermined number, and the like. If the end condition for learning the value function is not satisfied (step S42: NO), the process is returned to step S31, and the parameter update is repeatedly executed.
  • step S42 when the end condition for learning the value function is satisfied (step S42: YES), the value function learning unit 27 records the learned value function in the value function storage unit 28 and ends the process.
  • the value function stored in the value function storage unit 28 is recorded in the value function storage unit 14 of the planner device 10.
  • the value function according to the first embodiment is an action from the state of the controlled object at the control timing of the Nth step and the action at the control timing of the (N + 1) step to the control timing of the (N + P) step.
  • the determination is repeated, it is learned to calculate the value related to the sum of the rewards based on the state of the controlled object at each control timing from (N + 1) to (N + P).
  • the planner device 10 can determine the action that maximizes the total reward after the P step without repeatedly calculating the state and the value for the P step.
  • the action is determined by a calculation amount proportional to (P ⁇ Q).
  • the planner device 10 can determine the action with a calculation amount proportional to Q.
  • the planner device 10 and the learning device 20 may be configured by a single computer, or the configuration of the planner device 10 or the learning device 20 is divided into a plurality of computers and a plurality of them are arranged. Computers may function as a planner device 10 or a learning device 20 by cooperating with each other.
  • the planner device 10 according to the first embodiment is mounted on the controlled object, but is not limited to this.
  • the planner device 10 according to another embodiment is provided remotely from the control target, and even if the measured value of the state quantity is received from the control target by communication with the control target and the action data is transmitted to the control target. good.
  • the learning device 20 When the planner device 10 and the learning device 20 are mounted on the control target, the learning device 20 periodically updates the prediction function and the value function using the locus data stored in the locus storage unit 13 of the planner device 10. can do. That is, by mounting the planner device 10 and the learning device 20 on the controlled object, the learning device 20 can update the prediction function and the value function online.
  • the prediction function according to the above-described embodiment calculates the state and the reward by inputting the trajectory data and the action, but the present invention is not limited to this.
  • the prediction function according to another embodiment may output a state and not a reward.
  • the reward may be separately calculated based on the state predicted from the prediction function by, for example, the reward calculation unit 12.
  • the prediction function according to the above-described embodiment calculates the state and the reward using the trajectory data for N steps, but the present invention is not limited to this.
  • the prediction function according to another embodiment may output a state and a reward at the next control timing based on the latest state and action.
  • FIG. 5 is a schematic block diagram showing a basic configuration of the planner device 10.
  • the configuration shown in FIG. 1 has been described as an embodiment of the planner device 10, but the basic configuration of the planner device 10 is as shown in FIG. That is, the planner device 10 has a state acquisition means 101 and an action determination means 102 as a basic configuration.
  • the state acquisition means 101 acquires the state of the controlled object at the first time.
  • the action determining means 102 performs an action at the second time, which is the control timing next to the first time, so that the value calculated when the state is input to the pre-learned value function is maximized. decide.
  • the value function is a control from the second time to the third time when the action is repeatedly determined from the state of the controlled object at the first time and the action at the second time to the third time after the second time. It is learned to calculate the value of the sum of rewards based on the state of the controlled object at the timing. As a result, the planner device 10 can accurately determine the action with a small amount of calculation.
  • FIG. 6 is a schematic block diagram showing the basic configuration of the learning device 20.
  • the configuration shown in FIG. 3 has been described as an embodiment of the learning device 20, but the basic configuration of the learning device 20 is as shown in FIG. That is, the learning device 20 has a basic configuration of the prediction means 201, the reward calculation means 202, and the update means 203.
  • the predicting means 201 predicts the state of the controlled object at the second time from the state of the controlled object at the first time and the action at the second time which is the control timing next to the first time.
  • the reward calculation means 202 changes the state of the control target at each control timing from the second time to the third time after the second time, which is obtained by repeatedly inputting the action after the second time into the prediction means 201. Calculate the sum of the based rewards as the value.
  • the updating means 203 updates the parameter of the value function so as to output the value by inputting the state of the controlled object at the first time and the action at the second time based on the state, the action, and the value. As a result, the learning device 20 can generate a value function for accurately determining an action with a small amount of calculation.
  • FIG. 7 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
  • the computer 90 includes a processor 91, a main memory 92, a storage 93, and an interface 94.
  • the planner device 10 and the learning device 20 described above are mounted on the computer 90.
  • the operation of each of the above-mentioned processing units is stored in the storage 93 in the form of a program.
  • the processor 91 reads a program from the storage 93, expands it into the main memory 92, and executes the above processing according to the program. Further, the processor 91 secures a storage area corresponding to each of the above-mentioned storage units in the main memory 92 according to the program. Examples of the processor 91 include a CPU (Central Processing Unit), a GPU (Graphic Processing Unit), a microprocessor, and the like.
  • the program may be for realizing a part of the functions exerted by the computer 90.
  • the program may exert its function in combination with another program already stored in the storage or in combination with another program mounted on another device.
  • the computer 90 may include a custom LSI (Large Scale Integrated Circuit) such as a PLD (Programmable Logic Device) in addition to or in place of the above configuration.
  • PLDs include PAL (Programmable Array Logic), GAL (Generic Array Logic), CPLD (Complex Programmable Logic Device), and FPGA (Field Programmable Gate Array).
  • PLDs Programmable Integrated Circuit
  • PAL Programmable Array Logic
  • GAL Generic Array Logic
  • CPLD Complex Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • Examples of the storage 93 include HDD (Hard Disk Drive), SSD (Solid State Drive), magnetic disk, optical magnetic disk, CD-ROM (Compact Disc Read Only Memory), DVD-ROM (Digital Versatile Disc Read Only Memory). , Semiconductor memory and the like.
  • the storage 93 may be an internal medium directly connected to the bus of the computer 90, or an external medium connected to the computer 90 via the interface 94 or a communication line. When this program is distributed to the computer 90 via a communication line, the distributed computer 90 may expand the program to the main memory 92 and execute the above processing.
  • the storage 93 is a non-temporary tangible storage medium.
  • the program may be for realizing a part of the above-mentioned functions. Further, the program may be a so-called difference file (difference program) that realizes the above-mentioned function in combination with another program already stored in the storage 93.
  • difference file difference program
  • the planner device can be used to control controlled objects such as transfer devices, robots, plants, and infrastructure.
  • Planner device 11 State acquisition unit 12 Reward calculation unit 13 Trajectory storage unit 14 Value function storage unit 15 Action candidate generation unit 16 Action determination unit 17 Control unit 20 Learning device 21 Trajectory storage unit 22 Data set extraction unit 23 Predictive function learning unit 24 Prediction function storage unit 25 Prediction unit 26 Action candidate generation unit 27 Value function learning unit 28 Value function storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

状態取得手段は、第1時刻における制御対象の状態を取得する。行動決定手段は、事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、第1時刻の次の制御タイミングである第2時刻における行動を決定する。価値関数は、第1時刻における制御対象の状態と第2時刻における行動から、第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、第2時刻から第3時刻までの各制御タイミングにおける制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている。

Description

プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体
 本開示は、プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体に関する。
 非特許文献1には、行動に応じて環境が変化するロボットなどの制御において、オンライン学習にて環境モデルを生成し、最適な行動を探索する技術が開示されている。特許文献1には、強化学習においていわゆる次元の呪いを回避する技術が開示されている。
特開2007-018490号公報
Anusha Nagabandi, Chelsea Finn and Sergey Levine, "Deep online learning via meta-learning: Continual adaption for model-based RL", arXiv preprint atXiv: 1812.07671, 2018.
 非特許文献1に記載の技術において、より適切な行動を決定するためには、軌跡の探索深さを深くし、かつ生成する軌跡のパターン数を多くすることが好ましい。ここで、探索深さをPとおき、パターン数をQとおくと、非特許文献1に記載の技術において行動を決定するためには、P×Qに比例する計算量が必要となる。
 しかしながら、一般的に、ある状態が取得されたタイミングから制御を実行すべきタイミングまでの時間は有限であり、十分な精度を得るだけの計算時間が用意できないことがある。例えば、ロボットの歩容制御においては、制御の計算に割り当てられる時間は数ミリ秒であることが一般的であり、時間内に適切な行動を決定することは困難である。
 本開示の目的の1つは、少ない計算量で精度よく行動を決定することができるプランナー装置、プランニング方法、プランニングプログラム、学習装置、学習方法および学習プログラムを提供することにある。
 本発明の第1の態様によれば、プランナー装置は、第1時刻における制御対象の状態を取得する状態取得手段と、事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定する行動決定手段とを備え、前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている。
 本発明の第2の態様によれば、プランニング方法は、第1時刻における制御対象の状態を取得することと、事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定することとを備え、前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている。
 本発明の第3の態様によれば、プランニングプログラムが格納された記録媒体は、コンピュータに、第1時刻における制御対象の状態を取得することと、事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定することとを実行させ、前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている。
 本発明の第4の態様によれば、学習装置は、第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測手段と、前記予測手段に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出する報酬算出手段と、前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新する更新手段とを備える。
 本発明の第5の態様によれば、学習方法は、第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測関数に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出することと、前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新することとを備える。
 本発明の第6の態様によれば、ための学習プログラムが格納された記録媒体は、コンピュータに、第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測関数に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出することと、前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新することとを実行させる。
 上記態様によれば、プランナー装置は、少ない計算量で精度よく行動を決定することができる。
第1の実施形態に係るプランナー装置の構成を示す概略ブロック図である。 第1の実施形態に係るプランナー装置の動作を示すフローチャートである。 第1の実施形態に係る学習装置の構成を示す概略ブロック図である。 第1の実施形態に係る学習装置による価値関数の学習処理を示すフローチャートである。 プランナー装置の基本構成を示す概略ブロック図である。 学習装置の基本構成を示す概略ブロック図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
〈第1の実施形態〉
《プランナー装置10の構成》
 以下、図面を参照しながら実施形態について詳しく説明する。
 第1の実施形態に係るプランナー装置10(図1にて図示)は、制御対象について設けられ、当該制御対象のセンサから得られた計測信号に基づいて、制御対象の行動を決定する。制御対象の例としては、ロボット、プラント、インフラストラクチャーなどが挙げられる。制御対象の個数は、1つであってもよいし、複数であってもよい。
 プランナー装置10が決定する制御対象の行動の例としては、制御対象のアクチュエータの操作量などが挙げられる。例えば、第1の実施形態に係るプランナー装置10は、四足歩行ロボットに取り付けられたセンサが計測する姿勢および周辺環境に基づいて、当該ロボットが転倒せずに歩行するように、各脚の関節の回転量を決定する。
 プランナー装置10が決定する制御対象の行動の例としては、プラントにおける制御対象の装置(バルブの開閉、搬送装置の移動など)が挙げられる。例えば、第1の実施形態に係るプランナー装置10は、配管における物質の流量を計測するセンサが計測した流量等に基づいて、当該配管が正常な状態を保てるよう、該配管に接続しているバルブの開閉(または開閉量)を決定する。
 以降の説明においては、便宜上、プランナー装置10は、制御タイミングにおける制御対象の行動を決定するとする。プランナー装置10は、行動を決定する処理を複数回実行するとする。複数の制御タイミングは、一定間隔であってもよいし、不定な間隔であってもよい。
 図1は、第1の実施形態に係るプランナー装置10の構成を示す概略ブロック図である。プランナー装置10は、状態取得部11、報酬算出部12、軌跡記憶部13、価値関数記憶部14、行動候補生成部15、行動決定部16、及び、制御部17を備える。
 状態取得部11は、制御対象について設けられた各種センサから、制御対象の状態を示す計測値を取得する。状態取得部11は、状態取得手段の一例である。
 報酬算出部12は、状態取得部11が取得した計測値と、制御対象の前回の制御タイミングにおける行動とに基づいて、制御対象の状態および行動に基づく報酬を計算する。
 軌跡記憶部13は、状態取得部11が取得した計測値と、報酬算出部12が算出した報酬と、行動決定部16が決定した行動との組み合わせの時系列である軌跡データを記憶する。
 報酬は、たとえば、制御対象の目標状態への近さの程度を表す。報酬は、制御対象の状態と行動との関数としてされる。
 価値関数記憶部14は、直近のN(Nは、自然数)ステップの制御タイミングに係る軌跡データと、当該軌跡データの次の制御タイミングにおける行動とを入力として、当該行動に対する価値を出力する価値関数を記憶する。第1の実施形態に係る価値関数によって算出される価値は、入力された行動によって変化する制御対象の状態に応じた値である。第1の実施形態に係る価値関数は、たとえば、学習済みの機械学習モデルである。価値関数の学習方法については図3を参照しながら後述する。
 行動候補生成部15は、次の制御タイミングにおける複数の行動の候補を生成する。行動候補生成部15は、例えば軌跡記憶部13が記憶する軌跡データに基づいて複数の行動の候補を生成してもよいし、乱数に基づいて複数の行動の候補を生成してもよい。
 行動決定部16は、価値関数記憶部14が記憶する価値関数と、軌跡記憶部13が記憶する軌跡データと、行動候補生成部15が生成した複数の行動の候補とに基づいて、制御対象に施す行動を決定する。具体的には、行動決定部16は、以下の手順で行動を決定する。まず、行動決定部16は、価値関数に軌跡データと複数の行動の候補のそれぞれを入力することで、各候補について価値を算出する。そして、行動決定部16は、複数の行動の候補のうち、たとえば、最も価値の高いものを、制御対象に施す行動に決定する。行動決定部16は、行動決定手段の一例である。
 制御部17は、行動決定部16が決定した行動を制御対象に出力する。
《プランナー装置10の動作》
 図2は、第1の実施形態に係るプランナー装置10の動作を示すフローチャートである。
 プランナー装置10は、制御対象の制御タイミング毎に以下の処理を実行する。まず、プランナー装置10の状態取得部11は、制御対象のセンサから計測値を取得する(ステップS1)。状態取得部11は、取得した計測値を軌跡記憶部13に記録する。次に、報酬算出部12は、ステップS1で取得した計測値と、軌跡記憶部13が記憶する前回の制御タイミングにおける行動とに基づいて、前回の行動の報酬を算出する(ステップS2)。報酬算出部12は、算出した報酬を軌跡記憶部13に記録する。
 行動候補生成部15は、次の制御タイミングにおける複数の行動の候補を生成する(ステップS3)。行動決定部16は、ステップS3で生成した複数の行動の候補を1つずつ選択し、各候補について、ステップS5の処理を実行する(ステップS4)。行動決定部16は、価値関数記憶部14が記憶する価値関数に、軌跡記憶部13が記憶する軌跡データと、ステップS4で選択した行動の候補を入力することで、当該候補について価値を算出する(ステップS5)。そして、行動決定部16は、複数の行動の候補のうち、たとえば最も価値の高いものを、制御対象に施す行動に決定する(ステップS6)。行動決定部16は、決定した行動を軌跡記憶部13に記録する。制御部17は、行動決定部16が決定した行動を制御対象に出力する(ステップS7)。
 つまり、第1の実施形態に係るプランナー装置10の一制御周期における計算量は、行動候補生成部15が生成する行動候補の数に比例する。
《学習装置》
 以下、プランナー装置10の価値関数の学習について説明する。
 価値関数は、学習装置20によって学習される。学習装置20は、プランナー装置10と別個の装置として設けられてもよいし、プランナー装置10と一体に設けられてもよい。
 図3は、第1の実施形態に係る学習装置20の構成を示す概略ブロック図である。学習装置20は、軌跡記憶部21、データセット抽出部22、予測関数学習部23、予測関数記憶部24、予測部25、行動候補生成部26、価値関数学習部27、及び、価値関数記憶部28を備える。
 軌跡記憶部21は、過去に制御対象が動作したときの軌跡データを記憶する。軌跡記憶部21が記憶する軌跡データの長さは、少なくとも価値関数の入力に用いられる軌跡データの長さ(Nステップの制御タイミング)より長い。
 データセット抽出部22は、軌跡記憶部21が記憶する軌跡データから予測関数および価値関数の学習に用いる学習データセットを抽出する。
 予測関数学習部23は、データセット抽出部22が抽出した学習データセットに基づいて、予測関数のパラメータを学習する。予測関数学習部23は、直近のNステップの制御タイミングに係る軌跡データと次の制御タイミングに係る行動とが入力された場合に、当該次のタイミングに係る状態と報酬とを出力するように、予測関数のパラメータを学習する。予測関数は、ニューラルネットワークなどの機械学習モデルによって構成される。
 予測関数記憶部24は、学習済みの予測関数を記憶する。
 予測部25は、予測関数記憶部24が記憶する予測関数を用いて、入力された軌跡データと行動とから、次のタイミングに係る状態と報酬とを予測する。予測部25は、予測手段の一例である。
 行動候補生成部26は、次の制御タイミングにおける複数の行動の候補を生成する。行動候補生成部26は、例えば軌跡データに基づいて複数の行動の候補を生成してもよいし、乱数に基づいて複数の行動の候補を生成してもよい。
 価値関数学習部27は、データセット抽出部22が抽出した学習データセット、行動候補生成部26が生成する行動候補、ならびに予測部25が予測した状態および報酬に基づいて、価値関数のパラメータを学習する。価値関数学習部27は、将来のP(Pは、自然数)ステップの制御タイミングまでの報酬の和に応じた価値を出力するように、価値関数のパラメータを学習する。価値関数学習部27は、報酬算出手段および更新手段の一例である。
 価値関数記憶部28は、学習済みの価値関数を記憶する。
《予測関数の学習》
 価値関数の学習の前に、学習装置20は、予測関数のパラメータを学習する。
 データセット抽出部22は、軌跡記憶部21が記憶する軌跡データから、(N+1)ステップの制御タイミングに係る状態、行動および報酬の組み合わせの時系列を学習データセットとして複数個切り出す。データセット抽出部22は、切り出したNステップ分の制御タイミングに係る状態、行動および報酬の組み合わせの時系列を軌跡データとする。予測関数学習部23は、Nステップ分の制御タイミングに係る軌跡データと(N+1)ステップ目の行動とを入力サンプルとし、(N+1)ステップ目の状態と報酬とを出力サンプルとする学習により、予測関数のパラメータを更新する。データセット抽出部22は、更新した予測関数を予測関数記憶部24に記録する。
《価値関数の学習》
 予測関数のパラメータを更新すると、学習装置20は、価値関数のパラメータを学習する。図4は、第1の実施形態に係る学習装置20による価値関数の学習処理を示すフローチャートである。
 データセット抽出部22は、軌跡記憶部21が記憶する軌跡データから、連続するN(Nは自然数)ステップの制御タイミングに係る状態、行動および報酬の組み合わせの時系列を学習用の軌跡データとして切り出す(ステップS31)。行動候補生成部26は、切り出した軌跡データの次の制御タイミング((N+1)ステップ目の制御タイミング)における行動候補を生成する(ステップS32)。予測部25は、ステップS31で切り出した軌跡データとステップS32で生成した行動候補を、予測関数記憶部24が記憶する予測関数に代入することで、次の制御タイミングにおける状態と報酬とを予測する(ステップS33)。
 次に、データセット抽出部22は、生成した行動候補、ならびに予測された状態および報酬を軌跡データに加える(ステップS34)。行動候補生成部26は、さらに次の制御タイミングにおける行動候補を生成する(ステップS35)。予測部25は、ステップS34で生成した直近Nステップの制御タイミングに係る軌跡データとステップS35で生成した行動候補を、予測関数記憶部24が記憶する予測関数に代入することで、次の制御タイミングにおける状態と報酬とを予測する(ステップS36)。
 価値関数学習部27は、ステップS35で生成した行動候補が、ステップS31で切り出された軌跡データよりPステップ後の制御タイミングに係る行動候補であるか否かを判定する(ステップS37)。生成した行動候補がPステップより前の制御タイミングに係る行動候補である場合(ステップS37:NO)、学習装置20は、ステップS34に処理を戻し、さらに次の制御タイミングについて状態と報酬とを予測する。
 生成した行動候補がPステップ後の制御タイミングに係る行動候補である場合(ステップS37:YES)、価値関数学習部27は、Pステップにおける報酬の総和を算出する(ステップS38)。報酬の総和は、時間経過についての割引率を加味した加重和であってもよい。次に、価値関数学習部27は、Pステップ分の行動候補の生成の試行回数がQ(Qは、自然数)回以上であるか否かを判定する(ステップS39)。Pステップ分の行動候補の生成の試行回数がQ回未満である場合(ステップS39:NO)、ステップS32に処理を戻し、再度Pステップ分の行動候補を生成し、報酬を予測する。
 Pステップ分の行動候補の生成の試行回数がQ回以上である場合(ステップS39:YES)、ステップS38でQ回算出された報酬の総和のうち最大のものを特定する(ステップS40)。
 価値関数学習部27は、ステップS31で切り出した軌跡データと、ステップS32で生成した行動候補とを入力サンプルとし、ステップS40で特定した報酬の総和を出力サンプルとして、価値関数のパラメータを学習する(ステップS41)。価値関数学習部27は、価値関数の学習の終了条件を満たしたか否かを判定する(ステップS42)。学習の終了条件は、例えばパラメータの変化率が閾値未満となること、試行回数が所定回数を超えることなどが挙げられる。価値関数の学習の終了条件を満たしていない場合(ステップS42:NO)、ステップS31に処理を戻し、パラメータの更新を繰り返し実行する。他方、価値関数の学習の終了条件を満たした場合(ステップS42:YES)、価値関数学習部27は、学習済みの価値関数を価値関数記憶部28に記録し、処理を終了する。価値関数記憶部28に記憶された価値関数は、プランナー装置10の価値関数記憶部14に記録される。
《作用・効果》
 このように、第1の実施形態に係る価値関数は、Nステップ目の制御タイミングにおける制御対象の状態と(N+1)ステップ目の制御タイミングにおける行動から、(N+P)ステップ目の制御タイミングまで行動の決定を繰り返した場合に、(N+1)から(N+P)までの各制御タイミングにおける制御対象の状態に基づく報酬の総和に係る価値を算出するように学習される。これにより、プランナー装置10は、Pステップ分の状態および価値の繰り返し計算を行うことなく、Pステップ後の報酬の総和が最大となるような行動を決定することができる。すなわち、探索深さをPとおき、パターン数をQとおいた場合に、非特許文献1に記載の技術では、(P×Q)に比例する計算量で行動を決定するところ、第1の実施形態に係るプランナー装置10は、Qに比例する計算量で行動を決定することができる。
〈他の実施形態〉
 以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
 上述した実施形態に係るプランナー装置10および学習装置20は、単独のコンピュータによって構成されるものであってもよいし、プランナー装置10または学習装置20の構成を複数のコンピュータに分けて配置し、複数のコンピュータが互いに協働することでプランナー装置10または学習装置20として機能するものであってもよい。なお、第1の実施形態に係るプランナー装置10は、制御対象に搭載されるが、これに限られない。例えば、他の実施形態に係るプランナー装置10は、制御対象と遠隔に設けられ、制御対象との通信により、制御対象から状態量の計測値を受信し、制御対象に行動データを送信してもよい。
 なお、プランナー装置10と学習装置20とが制御対象に搭載される場合、学習装置20はプランナー装置10の軌跡記憶部13が記憶する軌跡データを用いて、定期的に予測関数および価値関数を更新することができる。すなわち、プランナー装置10と学習装置20とが制御対象に搭載されることで、学習装置20は、予測関数および価値関数をオンラインで更新することができる。
 また、上述した実施形態に係る予測関数は、軌跡データと行動とを入力として状態および報酬を算出するが、これに限られない。例えば、他の実施形態に係る予測関数は、状態を出力し、報酬を出力しないものであってよい。この場合、報酬は、例えば報酬算出部12などによって、予測関数から予測された状態に基づいて別途計算されてもよい。
 また、上述した実施形態に係る予測関数は、Nステップ分の軌跡データを用いて状態および報酬を算出するが、これに限られない。例えば、他の実施形態に係る予測関数は、直近の状態および行動に基づいて次の制御タイミングにおける状態および報酬を出力するものであってもよい。
〈基本構成〉
 図5は、プランナー装置10の基本構成を示す概略ブロック図である。
 上述した実施形態では、プランナー装置10の一実施形態として図1に示す構成について説明したが、プランナー装置10の基本構成は、図5に示すとおりである。
 すなわち、プランナー装置10は、状態取得手段101、及び行動決定手段102を基本構成とする。
 状態取得手段101は、第1時刻における制御対象の状態を取得する。
 行動決定手段102は、事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、第1時刻の次の制御タイミングである第2時刻における行動を決定する。
 価値関数は、第1時刻における制御対象の状態と第2時刻における行動から、第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、第2時刻から第3時刻までの各制御タイミングにおける制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている。
 これにより、プランナー装置10は、少ない計算量で精度よく行動を決定することができる。
 図6は、学習装置20の基本構成を示す概略ブロック図である。
 上述した実施形態では、学習装置20の一実施形態として図3に示す構成について説明したが、学習装置20の基本構成は、図6に示すとおりである。
 すなわち、学習装置20は、予測手段201、報酬算出手段202、及び更新手段203を基本構成とする。
 予測手段201は、第1時刻における制御対象の状態と第1時刻の次の制御タイミングである第2時刻における行動から、第2時刻における制御対象の状態を予測する。
 報酬算出手段202は、予測手段201に、第2時刻以降の行動を繰り返し入力することで得られる、第2時刻から第2時刻より後の第3時刻までの各制御タイミングにおける制御対象の状態に基づく報酬の総和を価値として算出する。
 更新手段203は、状態と行動と価値とに基づいて、第1時刻における制御対象の状態と、第2時刻における行動を入力として、価値を出力するように価値関数のパラメータを更新する。
 これにより、学習装置20は、少ない計算量で精度よく行動を決定するための価値関数を生成することができる。
〈コンピュータ構成〉
 図7は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 コンピュータ90は、プロセッサ91、メインメモリ92、ストレージ93、インタフェース94を備える。
 上述のプランナー装置10および学習装置20は、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ93に記憶されている。プロセッサ91は、プログラムをストレージ93から読み出してメインメモリ92に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ91は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ92に確保する。プロセッサ91の例としては、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサなどが挙げられる。
 プログラムは、コンピュータ90に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ90は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ91によって実現される機能の一部または全部が当該集積回路によって実現されてよい。このような集積回路も、プロセッサの一例に含まれる。
 ストレージ93の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ93は、コンピュータ90のバスに直接接続された内部メディアであってもよいし、インタフェース94または通信回線を介してコンピュータ90に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムをメインメモリ92に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ93は、一時的でない有形の記憶媒体である。
 また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ93に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
 以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 プランナー装置は、搬送装置、ロボット、プラント、インフラストラクチャー等の制御対象の制御に利用することができる。
10 プランナー装置
11 状態取得部
12 報酬算出部
13 軌跡記憶部
14 価値関数記憶部
15 行動候補生成部
16 行動決定部
17 制御部
20 学習装置
21 軌跡記憶部
22 データセット抽出部
23 予測関数学習部
24 予測関数記憶部
25 予測部
26 行動候補生成部
27 価値関数学習部
28 価値関数記憶部

Claims (10)

  1.  第1時刻における制御対象の状態を取得する状態取得手段と、
     事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定する行動決定手段と
     を備え、
     前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている
     プランナー装置。
  2.  前記行動決定手段は、前記第1時刻までの状態の時系列を含む軌跡データと前記価値関数とに基づいて前記行動を決定し、
     前記価値関数は、前記軌跡データと前記第2時刻における行動から、前記価値を算出するように学習されている
     請求項1に記載のプランナー装置。
  3.  前記軌跡データは、前記制御対象の状態と行動と報酬の組み合わせの時系列を含む
     請求項2に記載のプランナー装置。
  4.  前記価値関数の学習過程において、
     基準時刻における前記制御対象の状態と前記基準時刻の次の制御タイミングにおける行動から、前記次の制御タイミングおける前記制御対象の状態および報酬を予測する予測関数に行動を繰り返し入力し、前記第2時刻から第3時刻までの報酬を得ることで、前記価値が算出される
     請求項1から請求項3の何れか1項に記載のプランナー装置。
  5.  前記予測関数は、過去の前記制御対象の状態及び行動を学習データセットとして、前記制御対象の第1時刻における状態と第2時刻における行動を入力として、前記第2時刻における状態を出力するように学習された学習済みモデルである
     請求項4に記載のプランナー装置。
  6.  第1時刻における制御対象の状態を取得することと、
     事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定することと
     を備え、
     前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている
     プランニング方法。
  7.  コンピュータに、
     第1時刻における制御対象の状態を取得することと、
     事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定することと
     を実行させ、
     前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている
     プランニングプログラムが格納された記録媒体。
  8.  第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測手段と、
     前記予測手段に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出する報酬算出手段と、
     前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新する更新手段と
     を備える学習装置。
  9.  第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測関数に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出することと、
     前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新することと
     を備える学習方法。
  10.  コンピュータに、
     第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測関数に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出することと、
     前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新することと
     を実行させるための学習プログラムが格納された記録媒体。
PCT/JP2020/021528 2020-06-01 2020-06-01 プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体 WO2021245720A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2020/021528 WO2021245720A1 (ja) 2020-06-01 2020-06-01 プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体
JP2022529124A JP7380874B2 (ja) 2020-06-01 2020-06-01 プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体
US17/927,086 US20230211498A1 (en) 2020-06-01 2020-06-01 Planner device, planning method, planning program recording medium, learning device, learning method, and learning program recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/021528 WO2021245720A1 (ja) 2020-06-01 2020-06-01 プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体

Publications (1)

Publication Number Publication Date
WO2021245720A1 true WO2021245720A1 (ja) 2021-12-09

Family

ID=78830944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/021528 WO2021245720A1 (ja) 2020-06-01 2020-06-01 プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体

Country Status (3)

Country Link
US (1) US20230211498A1 (ja)
JP (1) JP7380874B2 (ja)
WO (1) WO2021245720A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018110305A1 (ja) * 2016-12-14 2018-06-21 ソニー株式会社 情報処理装置及び情報処理方法
JP2018106466A (ja) * 2016-12-27 2018-07-05 株式会社日立製作所 制御装置及び制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6603257B2 (ja) 2017-03-31 2019-11-06 ファナック株式会社 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018110305A1 (ja) * 2016-12-14 2018-06-21 ソニー株式会社 情報処理装置及び情報処理方法
JP2018106466A (ja) * 2016-12-27 2018-07-05 株式会社日立製作所 制御装置及び制御方法

Also Published As

Publication number Publication date
US20230211498A1 (en) 2023-07-06
JPWO2021245720A1 (ja) 2021-12-09
JP7380874B2 (ja) 2023-11-15

Similar Documents

Publication Publication Date Title
KR102577188B1 (ko) 목표 시스템에 대한 제어 시스템 생성
JP6457382B2 (ja) キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム
KR102660544B1 (ko) 제어 장치, 컨트롤러, 제어 시스템, 제어 방법, 및 제어 프로그램
CN108736881B (zh) 电路结构最优化装置以及机器学习装置
JP7044077B2 (ja) モデル推定システム、方法およびプログラム
CN107797446A (zh) 模型预测控制装置、控制方法、信息处理程序及记录介质
JP7081728B1 (ja) 運転支援装置、運転支援方法及びプログラム
CN113568379A (zh) 控制辅助装置、控制辅助方法、计算机可读介质及控制系统
JP5698572B2 (ja) モデリング装置および該方法
WO2021245720A1 (ja) プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体
JP7463996B2 (ja) 装置、方法およびプログラム
CA3035713A1 (en) Device and method for machine-learning step-size adaptation
US20220027708A1 (en) Arithmetic apparatus, action determination method, and non-transitory computer readable medium storing control program
JPWO2019142728A1 (ja) 制御装置、制御方法およびプログラム
JP6829271B2 (ja) 測定動作パラメータ調整装置、機械学習装置及びシステム
JP7173317B2 (ja) 動作規則決定装置、動作規則決定方法およびプログラム
JP7275389B2 (ja) サーボ制御装置
US20240045388A1 (en) Management apparatus, prediction method, and prediction program
JP2004265069A (ja) 仮想受動関節モデルのモデルパラメータ同定方法およびその制御方法
EP4283412A1 (en) Model selection apparatus, model selection method, and model selection program
EP3945375B1 (en) Machine controller and methods for configuring and using the machine controller
JP6912760B2 (ja) 関連情報改善装置、関連情報改善方法、および関連情報改善プログラム
WO2017195257A1 (ja) 電子制御装置、数式モデル構築方法
JP2023174330A (ja) リモート制御装置、ローカル制御装置、学習処理装置、方法、およびプログラム
JP2023161707A (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: 20938746

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022529124

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20938746

Country of ref document: EP

Kind code of ref document: A1