WO2022049672A1 - 学習装置、学習方法、制御システムおよび記録媒体 - Google Patents

学習装置、学習方法、制御システムおよび記録媒体 Download PDF

Info

Publication number
WO2022049672A1
WO2022049672A1 PCT/JP2020/033265 JP2020033265W WO2022049672A1 WO 2022049672 A1 WO2022049672 A1 WO 2022049672A1 JP 2020033265 W JP2020033265 W JP 2020033265W WO 2022049672 A1 WO2022049672 A1 WO 2022049672A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
state
evaluation
value
function
Prior art date
Application number
PCT/JP2020/033265
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 US18/018,480 priority Critical patent/US20230306302A1/en
Priority to JP2022546778A priority patent/JPWO2022049672A5/ja
Priority to PCT/JP2020/033265 priority patent/WO2022049672A1/ja
Publication of WO2022049672A1 publication Critical patent/WO2022049672A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Definitions

  • the present invention relates to a learning device, a learning method, a control system and a recording medium.
  • Reinforcement learning is one of machine learning.
  • Patent Document 1 describes that reinforcement learning called Q-learning is executed to optimize the maintenance range of a target for which maintenance is required.
  • the time required for reinforcement learning is relatively short.
  • One of the objects of the present invention is to provide a learning device, a learning method, a control system and a recording medium capable of solving the above-mentioned problems.
  • the learning device has a second state corresponding to the first action in the first state of the controlled object, and a second action calculated from the second state using the policy model.
  • a model calculation means for calculating the second evaluation value by using a plurality of evaluation models for calculating the second evaluation value, which is an index value of the goodness of the second behavior in the second state, and a plurality of models.
  • a model updating means for updating the evaluation model based on the smallest second evaluation value among the second evaluation values and the first evaluation value which is an index value of the goodness of the first behavior in the first state.
  • the control system has a second state corresponding to the first action in the first state of the controlled object, and a second action calculated from the second state using a policy model.
  • a model calculation means for calculating the second evaluation value by using a plurality of evaluation models for calculating the second evaluation value, which is an index value of the goodness of the second action in the second state, and a plurality of models.
  • Evaluation model updating means for updating the evaluation model based on the smallest second evaluation value among the second evaluation values and the first evaluation value which is an index value of the goodness of the first action in the first state.
  • a policy model updating means for updating the policy model using the evaluation model, a control determining means for calculating a control value using the policy model, and a control implementing means for controlling a control target based on the control value. And.
  • the learning method is calculated by the computer using a policy model from the second state according to the first action in the first state of the controlled object and the second state.
  • the second evaluation value is calculated by using a plurality of evaluation models for calculating the second evaluation value which is an index value of the goodness of the second action in the second state, and the plurality of said It includes updating the evaluation model based on the smallest second evaluation value among the second evaluation values and the first evaluation value which is an index value of the goodness of the first action in the first state.
  • the recording medium is calculated by the computer using the second state corresponding to the first action in the first state of the controlled object and the second state using the policy model.
  • the second evaluation value is calculated respectively, and the plurality.
  • the evaluation model is updated based on the smallest second evaluation value among the second evaluation values and the first evaluation value which is an index value of the goodness of the first behavior in the first state. It is a recording medium for recording a program to be executed.
  • the time required for reinforcement learning can be shortened.
  • the control device determines, for example, the control content for controlling the chemical plant based on the policy model calculated according to reinforcement learning.
  • the chemical plant is equipped with observation equipment that measures temperature, pressure, flow rate, and the like.
  • the control device determines a policy model for determining the control content for each device in the chemical plant based on the measurement results measured by the observation device. Then, the control device determines the control content according to the determined policy model, and controls each device according to the determined content.
  • the control device determines, for example, the control content for controlling the robot based on the policy model calculated according to the reinforcement learning.
  • the robot to be controlled has a plurality of joints.
  • the system that controls the robot is equipped with an observation device for measuring the angles of joints and the like.
  • the control device determines a policy model for determining the control content for the robot based on the measurement result measured by the observation device. Then, the control device determines the control content according to the determined policy model, and controls the robot according to the determined content.
  • the application destination of the control device according to the embodiment is not limited to the above-mentioned example, and may be, for example, a manufacturing device in a manufacturing factory, a transportation device, or the like.
  • Reinforcement learning is a method of obtaining a decision rule that maximizes the expected value of the cumulative reward (Cumulative Reward) in a situation where the state transition probability is unknown in the Markov decision process.
  • the action decision rule is also called a policy or a control rule.
  • the action a is selected and executed according to the policy ⁇ , and the state s transitions to a new state s'according to the state transition probability ⁇ (s', r
  • the policy may be one that probabilistically calculates the behavior. Alternatively, it is possible to describe a method for uniquely calculating the behavior using the delta distribution.
  • Cumulative reward is the sum of rewards obtained in a certain period.
  • the cumulative reward R t from a certain time t to (t + T) is expressed by the equation (1).
  • is a real constant of ⁇ ⁇ [0,1]. ⁇ is also called a discount rate. rt is the reward at time t . For this cumulative reward, the conditional expected value of the cumulative reward for the state st at time t , the state transition probability ⁇ , and the policy ⁇ when the action at is given is expressed as Q ⁇ ( st , at ) . , Is defined as in equation (2).
  • the Q ⁇ (s t , at) in equation (2) is called the Q function (or action value function).
  • E indicates the expected value.
  • the measure ⁇ that maximizes the value of the equation (3) for all the states s is called the optimum measure.
  • the action a is sampled from the policy ⁇ , and this is expressed as a to ⁇ ( ⁇
  • the optimal policy is expressed as ⁇ * .
  • the Q function when the policy is the optimal policy ⁇ * is called the optimal Q function.
  • the optimal Q function is expressed as Q * (s, a). Basically, the deterministic measure that "outputs the action a that maximizes the optimum Q function" is the optimum measure ⁇ * . In other words, it can be written as in equation (4).
  • a Q function model and a policy model are prepared, the Q function model is brought closer to the optimal Q function through learning, and the policy model is brought closer to the optimal policy based on the Q function model.
  • the model of the Q function will be referred to as the Q function model
  • the model of the policy will be referred to as the policy model.
  • TD error ⁇ TD indicates the difference between the expected reward and the actual reward.
  • y is expressed by Eq. (6) and plays a role similar to the teacher signal of supervised learning in machine learning.
  • y is also referred to as a teacher signal.
  • is a parameter of the policy model.
  • is a parameter of the Q function model.
  • ⁇ ' is a target parameter for stabilizing the update of the Q function model.
  • the target parameter ⁇ ' is basically the past value of ⁇ , and is periodically updated to the latest value of ⁇ . While the value of the parameter ⁇ is updated during learning and the Q function using ⁇ changes, the update of the value of the target parameter ⁇ 'is delayed with respect to the update of ⁇ , so that the value of the teacher signal y suddenly changes. It is expected that learning will be stable because it can suppress various fluctuations. Updating the value of a parameter is also referred to as updating the parameter. By updating the parameters of the model, the model is also updated.
  • the parameter ⁇ of the Q function model is clearly indicated as “Q ⁇ ”.
  • the Q function indicated by the Q function model Q ⁇ is also referred to as a Q function Q ⁇ .
  • Q ⁇ indicates a Q function model.
  • Q ⁇ indicates a Q function.
  • the parameter ⁇ of the policy ⁇ is clearly stated as “ ⁇ ⁇ ”.
  • the policy indicated by the policy model ⁇ ⁇ is also referred to as policy ⁇ ⁇ .
  • ⁇ ⁇ indicates a strategy model.
  • ⁇ ⁇ indicates a measure.
  • the loss function J ( ⁇ ) in Eq. (7) can be used to learn the parameter ⁇ of the Q function model.
  • B is a mini-batch of experience sampled from an experience storage device that stores experience.
  • "Experience” is a state transition that has occurred in the past. This experience is represented by a combination of the state s, the action a for the state s, the reward r according to the action a, and the next state s'according to the action a (s, a, r, s'). Will be done. (S, a, r, s') to B indicate the experience (s, a, r, s') included in the mini-batch B.
  • the teacher signal y depends on the parameter ⁇ 'that changes during learning, the teacher signal y changes during the execution of the optimization of the Q function model.
  • a deterministic policy is assumed for the policy model ⁇ ⁇ , and the parameter ⁇ is updated to output a that maximizes Q ⁇ by another update rule.
  • various update rules for updating the value of the parameter ⁇ can be used so that the policy ⁇ outputs the action a that maximizes the value of Q ⁇ .
  • the objective function J ⁇ ( ⁇ ) [Q ⁇ (s, ⁇ ⁇ (s))]
  • an update rule that applies the stochastic gradient descent method to maximize the value of this objective function J ⁇ ( ⁇ ). May be used, but is not limited to this.
  • the problem with overestimation of the Q function is the part of Q ⁇ ' (s', ⁇ ⁇ (s')) in Eq. (6). If the target parameter ⁇ 'and the source parameter ⁇ do not fit well into the true Q function Q ⁇ ⁇ as the expected value of the cumulative reward for policy ⁇ ⁇ , then ⁇ ⁇ (s) “does not fit well”. Since "a that maximizes Q ⁇ is output”, an excessive bias is introduced so that the output value of the Q function model becomes larger than the output value of the true Q function. As a result, ⁇ is updated in the wrong direction in the learning using the equations (5) to (7).
  • two Q function models are prepared, the output values are compared, and the smaller output value is adopted to alleviate the overestimation of the Q function. In other words, this is expected to reduce the time required for learning because the model update is stable.
  • a case where a plurality of Q function models are configured by applying different parameter values to the same Q function model body will be described as an example.
  • control system constructs the first Q function model by applying the parameter ⁇ 1 to the Q function model body common to the two Q function models. Further, the control system applies the parameter ⁇ 2 to the Q function model body to form the second Q function model.
  • the control system uses a loss function using the value of the 1st Q function model and the smaller of the 1st Q function model and the 2nd Q function model, and the value of the parameter ⁇ 1 of the 1st Q function model. To update. Further, the control system uses a loss function using the value of the 2nd Q function model and the smaller of the 1st Q function model and the 2nd Q function model, and the value of the parameter ⁇ 2 of the 2nd Q function model. To update. For example, the above equation (5) is changed to the equation (8).
  • the model representing the Q function Q ⁇ 1 (s, a) in the equation (8) corresponds to the example of the first Q function model.
  • the model representing the Q function Q ⁇ 2 (s, a) corresponds to the example of the second Q function model.
  • the Q function Q ⁇ 2 (s, a) is a Q function shown by the Q function model Q ⁇ 2 (s, a) in which the parameter ⁇ 1 of the Q function model Q ⁇ 1 (s, a) is replaced with the parameter ⁇ 2 .
  • y CDQ is expressed as in equation (9).
  • y CDQ is also referred to as a teacher signal.
  • the loss function J ( ⁇ ) in the above equation (7) is changed to the loss function J QUA ( ⁇ 1 ) in the equation (10).
  • Equations (8) to (10) are update rules for ⁇ 1 of the two parameters ⁇ 1 and ⁇ 2 of the Q function model.
  • ⁇ 2 is also optimized by the update rule in which ⁇ 1 is replaced with ⁇ 2 in equations (8) to (10). Since there are two Q function models, ⁇ '1 and ⁇ '2 are used as the target parameters, respectively, and the target parameter with the smaller output value is used for the calculation of the teacher signal.
  • control system may configure a plurality of Q function models using different Q function model bodies for each Q function.
  • control system updates the parameters for each Q function model using the loss function using the values of the individual Q function models and the minimum values of the plurality of Q function models.
  • the "Q ⁇ 'i (s', ⁇ ⁇ (s'))” in equation (9) is the state s'and the action ⁇ ⁇ (s') obtained by applying the state s'to the policy ⁇ ⁇ . Is shown to be applied to the Q function model Q ⁇ 'i .
  • This "Q ⁇ 'i (s', ⁇ ⁇ (s'))" is the cumulative reward when the state s'is given and the action ⁇ ⁇ (s') is obtained according to the state s'. Shows conditional expected value.
  • the Q function model Q ⁇ 'i is said to be a model that evaluates (or estimates) the goodness (or value, effectiveness, preference) of the action ⁇ ⁇ (s') in the state s'. be able to. It can be said that the value of the Q function model Q ⁇ 'i is an index value of the goodness (or value, effectiveness, preference) of the action ⁇ ⁇ (s') in the state s'.
  • the state s corresponds to the example of the first state.
  • Action a corresponds to the example of the first action.
  • the state s'of the transition destination when the control target performs the action a, which is the first action, in the state s, which is the first state, corresponds to the example of the second state.
  • the action ⁇ ⁇ (s') obtained by applying the state s', which is the second state, to the policy ⁇ ⁇ corresponds to the example of the second action.
  • the Q function Q ⁇ 'i corresponds to the example of the second behavior evaluation function.
  • the second action evaluation function referred to here is a function for calculating the evaluation value of the second action in the second state.
  • the Q function value Q ⁇ 'i (s', ⁇ ⁇ (s')) applied to the Q function with the state s'and the action ⁇ ⁇ (s') corresponds to the example of the second action evaluation value.
  • the second action evaluation value referred to here is an evaluation value of the second action in the second state.
  • the second behavior evaluation value is also referred to as a second evaluation value.
  • the Q function model Q ⁇ 'i corresponds to the example of the second behavior evaluation function model.
  • the second behavior evaluation function model referred to here is a model of the second behavior evaluation function. By determining the parameter value of the second behavior evaluation function model, the second behavior evaluation function model shows one second behavior evaluation function.
  • the second action evaluation means in the embodiment is not limited to the one shown in the form of a function (second action evaluation function).
  • Various means capable of outputting the evaluation value of the second action in response to the input of the second state and the second action can be used as the evaluation means of the second action.
  • the evaluation means of the second action may output an evaluation value having fluctuations such as white noise.
  • the evaluation means of the second action may output different evaluation values for the same input of the second state and the second action.
  • the evaluation model of the second action in the embodiment is not limited to the model showing the function (second action evaluation function model).
  • the evaluation model of the second behavior which is not limited to the model representing the function, is referred to as a second behavior evaluation model or simply an evaluation model.
  • the Q function model Q ⁇ 'i also corresponds to the example of the function model.
  • the experience in order to further alleviate the overestimation of the Q function model, the experience is prioritized and the experience with the higher priority is preferentially used for learning.
  • This method is called the prioritized experience replay (PER).
  • the "priority" is associated with each past experience and stored in the "priority storage device".
  • the experience acquisition department selects the experience based on the priority and builds a mini-batch. Since the experience in the mini-batch is used for model update, the higher priority experience is, the easier it is to be used for update. It also updates the priority by calculating a new priority value for the experience in the mini-batch.
  • FIG. 1 is a diagram showing a configuration example of a control system according to an embodiment.
  • the control system 10 includes an observer 12, a state estimation device 13, a reward calculation device 14, a control execution device 15, a control decision device 20, a policy model storage device 21, a learning device 30, and an experience storage device 31. , And an evaluation model storage device 40.
  • the control target 11 is a control target by the control system 10.
  • Various controllable things can be the control target 11.
  • the controlled object 11 may be a part of the control system 10. Alternatively, the controlled object 11 may have a configuration outside the control system 10.
  • the observer 12 observes the information used for estimating the state of the controlled object 11.
  • the state estimation device 13 estimates the state of the controlled object 11 based on the information obtained from the observer 12.
  • the reward calculation device 14 calculates the reward according to, for example, the "point (reward) calculation rule for the state" specified by the user.
  • the method by which the reward calculation device 14 obtains the reward is not limited to a specific method.
  • various methods capable of acquiring the reward according to the state can be used.
  • the state s'of the transition destination from the state s by the action a is determined. Then, the reward calculation device 14 can calculate the reward according to the state s'.
  • the reward can be said to be an index value indicating the goodness (or effectiveness, value, preference) of a certain behavior in a certain state.
  • the reward corresponds to the example of the first behavior evaluation value.
  • the first action evaluation value referred to here is an evaluation value of the first action in the first state.
  • the first behavior evaluation value is also referred to as the first evaluation value.
  • the control executing device 15 controls the controlled object 11 according to the control value output by the control determining device 20.
  • the control implementation device 15 corresponds to an example of a control implementation means.
  • the control determination device 20 refers to the state estimated by the state estimation device 13 and the policy model stored in the policy model storage device 21, performs the calculation of the policy ⁇ , and outputs the control value.
  • the control determination device 20 corresponds to an example of control determination means.
  • the policy model storage device 21 stores a policy model that outputs a control value in response to a state input.
  • the policy model storage device 21 stores the policy model main body and the parameter ⁇ of the policy model.
  • a policy model can be obtained by applying the parameter ⁇ to the policy model body.
  • the learning device 30 is controlled by the state s output by the state estimation device 13, the action a to be controlled by the control value output by the control determination device 20, the reward r output by the reward calculation device 14, and the control execution device 15.
  • the state output by the state estimation device 13 immediately after the action a is performed, that is, the set of states s'(s, a, r, s') after the state transition, that is, the experience is added / recorded to the experience storage device 31 one by one. do.
  • the learning device 30 also updates the policy model storage device 21 and the evaluation model storage device 40 with reference to the policy model storage device 21, the evaluation model storage device 40, and the empirical storage device 31. Specifically, the learning device 30 updates the parameters of these models with reference to the models and experiences stored by these storage devices.
  • FIG. 2 is a diagram showing a configuration example of the evaluation model storage device 40.
  • the evaluation model storage device 40 includes a first Q function model storage device 41 and a second Q function model storage device 42.
  • the first Q function model storage device 41 stores the parameter ⁇ 1 of the first Q function model described above.
  • the second Q function model storage device 42 stores the parameter ⁇ 2 of the second Q function model described above.
  • the evaluation model storage device 40 stores the Q function model main body common to the first Q function model and the second Q function model. Either one or both of the first Q function model storage device 41 and the second Q function model storage device 42 may store the Q function model body. Alternatively, the evaluation model storage device 40 may have a storage area different from that of the first Q function model storage device 41 and the second Q function model storage device 42 to store the Q function model main body.
  • the evaluation model storage device 40 stores two Q function models used for evaluating the performance of the policy recorded in the policy model storage device 21 and for alleviating the above-mentioned overestimation problem of the Q function model. ..
  • the evaluation model storage device 40 stores the parameters of each of these two Q function models.
  • FIG. 3 is a diagram showing a configuration example of the learning device 30.
  • the learning device 30 includes a priority storage device 33, an experience acquisition unit 34, a mini-batch storage device 35, a priority calculation unit 37, a priority setting unit 38, a model update unit 50, and a model calculation unit. 53 is provided.
  • the model update unit 50 includes a Q function model update unit 51 and a policy model update unit 52.
  • the priority storage device 33 stores the priority corresponding to each experience stored in the experience storage device 31. This priority is calculated by the priority calculation unit 37.
  • the experience acquisition unit 34 forms a mini-batch by sampling experience from the experience storage device 31 by priority sampling according to the priority stored in the priority storage device 33.
  • the index i of each experience is also included. This is so that it is possible to confirm which experience in the experience storage device 31 corresponds to the experience in the mini-batch.
  • the configured mini-batch is temporarily stored in the mini-batch storage device 35 until the next sampling.
  • the experience acquisition unit 34 corresponds to an example of experience acquisition means.
  • the priority calculation unit 37 calculates the priority for each experience in the mini-batch by using the first Q function model storage device 41 and the second Q function model storage device 42. Specifically, the priority calculation unit 37 sets the index of the parameters ⁇ 1 and ⁇ 2 , whichever has the larger Q function value, to ⁇ b using the equation (11).
  • the priority calculation unit 37 calculates a new priority P'b using the equation (12).
  • the index b is an index of experience, and indicates that the experience is stored in the mini-batch.
  • the experience identified by the index b is also referred to as the experience of the index b.
  • s b indicates the state of the index b in the experience.
  • a b indicates the behavior for the state s b in the experience of the index b.
  • r b indicates a reward according to the action a b under the state s b in the experience of the index b.
  • s'b indicates the state of the transition destination by the action ab in the state s b in the experience of the index b .
  • the priority calculation unit 37 inputs (s b , a b ) to each of the two Q function models, compares the obtained output values, and uses the larger model (see equation (11)) to obtain a TD error.
  • the absolute value of is calculated as the new priority P'b (see equation (12)).
  • the calculated new priority P'b is output to the priority setting unit 38.
  • the priority setting unit 38 refers to the index of experience in the mini-batch, and overwrites and updates each priority corresponding to the index of experience in the priority storage device 33. That is, the priority setting unit 38 updates the priority of the experience of the index b. Further, the priority setting unit 38 assigns an initial value of the priority to the newly added experience to which the priority is not associated with reference to the priority storage device 33. For example, the priority setting unit 38 refers to each priority associated with all the experiences stored in the priority storage device 33, and sets the priority that takes the maximum value (that is, the highest priority). Link to newly added experiences.
  • the priority setting unit 38 corresponds to an example of the priority setting means.
  • the model update unit 50 updates the parameters ⁇ 1 , ⁇ 2 and ⁇ with reference to the mini batch stored in the mini batch storage device 35 and the priority of the experience calculated by the priority calculation unit 37.
  • the model update unit 50 corresponds to an example of model update means.
  • the parameter ⁇ 1 is a parameter of the first Q function model.
  • the first Q function model storage device 41 stores the parameter ⁇ 1 .
  • the parameter ⁇ 2 is a parameter of the second Q function model.
  • the second Q function model storage device 42 stores the parameter ⁇ 2 .
  • the policy model storage device 21 stores the parameter ⁇ .
  • the Q function model update unit 51 updates the parameters ⁇ 1 and ⁇ 2 . Specifically, the Q function model update unit 51 updates the parameter ⁇ 1 so as to reduce the value of the loss function JQM ( ⁇ 1 ) shown in the equation (10). Further, the Q function model update unit 51 updates the parameter ⁇ 1 so as to reduce the value of the loss function J QUA ( ⁇ 2 ) obtained by replacing the parameter ⁇ 1 in the equation (10) with the parameter ⁇ 2 .
  • the Q function model update unit 51 corresponds to an example of the evaluation model update means.
  • the policy model update unit 52 updates the parameter ⁇ . Specifically, the policy model update unit 52 updates the parameter ⁇ so as to increase the value of the objective function J ⁇ ( ⁇ ) described above. Since there are two Q functions in the embodiment, the policy model updater 52 sets the smaller value of Q ⁇ 1 (s, ⁇ ⁇ (s)) and Q ⁇ 2 (s, ⁇ ⁇ (s)) as the objective function.
  • the policy model update unit 52 corresponds to an example of the policy model update means.
  • the model calculation unit 53 calculates the values of the first Q function model, the second Q function model, and the policy model. For example, in the model calculation unit 53, when the Q function model update unit 51 updates each of the first Q function model and the second Q function model, the first Q function model and the second Q function model in the equations (8) to (10) are used. , Calculate each value of the policy model. Further, the model calculation unit 53 uses each of the first Q function model, the second Q function model, and the policy model in order to calculate the value of the objective function J ⁇ ( ⁇ ) when the policy model update unit 52 updates the policy model. Calculate the value of. Further, the model calculation unit 53 calculates the respective values of the first Q function model and the second Q function model, which the priority calculation unit 37 refers to when calculating the priority of the experience. The model calculation unit 53 corresponds to an example of a model calculation means.
  • FIG. 4 is a flowchart showing an example of a processing procedure performed by the control system 10.
  • the control system 10 repeats the process of FIG.
  • the observer 12 makes an observation regarding the controlled object 11 (step S101).
  • the observer 12 observes the controlled object 11 and its surrounding environment.
  • the state estimation device 13 estimates the state related to the controlled object 11 based on the observation information of the observer 12 (step S102). For example, the state estimation device 13 estimates a state that may affect the control of the controlled object 11, such as estimating a state including the controlled object 11 and its surrounding environment.
  • the control determination device 20 calculates and outputs a control value by referring to the state estimated by the state estimation device 13 and the policy model storage device 21 (step S103).
  • the control executing device 15 controls the controlled object 11 according to the control value output by the control determining device 20 (step S104).
  • the reward calculation device 14 calculates and outputs the reward with reference to the state estimated by the state estimation device 13 and the control value output by the control determination device 20 (step S105).
  • the learning device 30 adds and records the state estimated by the state estimation device 13, the control value output by the control determination device 20, and the reward output by the reward calculation device 14 to the experience storage device 31 as experience. (Step S106).
  • the learning device 30 updates these models with reference to the policy model stored in the policy model storage device 21, the Q function model stored in the evaluation model storage device 40, and the experience stored in the experience storage device 31.
  • the policy model update unit 52 updates the parameter ⁇ of the policy model stored in the policy model storage device 21.
  • the Q function model update unit 51 updates the parameters ⁇ 1 and ⁇ 2 of the Q function model stored in the evaluation model storage device 40.
  • the control system 10 ends the process of FIG. As described above, the control system 10 repeats the series of processes from steps S101 to S107 again.
  • FIG. 5 is a flowchart showing an example of a processing procedure in which the control system 10 updates the model.
  • the control system 10 performs the process of FIG. 5 in step S107 of FIG.
  • the priority setting unit 38 additionally records the initial value of the priority for the experience added to the experience storage device 31 in the priority storage device 33 (step S1071).
  • the experience acquisition unit 34 performs experience reproduction with priority, configures a mini-batch (step S1072), and records it in the mini-batch storage device 35 (step S1073).
  • the model calculation unit 53 refers to the mini-batch in the mini-batch storage device 35, the first Q function model stored in the first Q function model storage device 41, and the second Q function model stored in the second Q function model storage device 42. , The state included in each experience in the mini-batch, the value of the first Q function model when the set of control values (s, a) is input, and the value of the second Q function model are calculated and output (step S1074).
  • the priority calculation unit 37 selects the Q function model having the maximum output value from the first Q function model and the second Q function model for each experience (step S1075), and the TD error for the selected Q function model. Is calculated (step S1076).
  • Step S1075 corresponds to equation (11).
  • Step S1076 corresponds to equation (12).
  • the priority calculation unit 37 calculates the absolute value of the calculated TD error as a new priority (step S1077). Subsequently, the priority setting unit 38 refers to the new priority calculated by the priority calculation unit 37, and updates the priority to the new priority for the corresponding experience in the priority storage device 33 (step S1078). ..
  • the model update unit 50 uses the mini-batch in the mini-batch storage device 35 and the priority calculation unit 37 to use the policy model storage device 21, the first Q function model storage device 41, and the second Q function model storage device 42. Update each parameter stored in (step S1079).
  • the model calculation unit 53 reads the experience from the mini-batch in the mini-batch storage device 35 according to the priority, and calculates each value of the first Q function model, the second Q function model, and the policy model using the read experience. do.
  • the Q function model update unit 51 updates the first Q function model and the second Q function model with reference to the respective values of the first Q function model, the second Q function model, and the policy model.
  • the policy model update unit 52 updates the policy model with reference to the respective values of the first Q function model, the second Q function model, and the policy model.
  • the priority calculated by the priority calculation unit 37 in step S1077 is the absolute value of the TD error of the Q function model that is more likely to cause overestimation.
  • the experience that is more likely to cause overestimation in the prioritized experience reproduction is more likely to be used for model update.
  • the overestimation problem of the Q function model can be positively alleviated, and as a result, learning is stabilized, so that the required arithmetic processing time can be shortened.
  • the model calculation unit 53 has the state s'corresponding to the action a in the state s of the controlled object 11 and the action ⁇ ⁇ (s') calculated from the state s'using the policy model ⁇ ⁇ .
  • the Q function values Q ⁇ '1 (s', ⁇ ⁇ (s')) and Q ⁇ '2 (s', ⁇ ) which are index values of the goodness of the action ⁇ ⁇ (s') in the state s'.
  • the Q function values are calculated using the two Q function models Q ⁇ '1 and Q ⁇ '2 that calculate ⁇ (s')), respectively.
  • the state s corresponds to the example of the first state.
  • Action a corresponds to the example of the first action.
  • the state s' corresponds to the example of the second state.
  • the action ⁇ ⁇ (s') corresponds to the example of the second action.
  • the Q function values Q ⁇ '1 (s', ⁇ ⁇ (s')) and Q ⁇ '2 (s', ⁇ ⁇ (s')) correspond to the example of the second evaluation value.
  • the Q function models Q ⁇ '1 and Q ⁇ '2 correspond to the example of the evaluation model.
  • the model update unit 50 has the Q function value Q ⁇ '1 (s', ⁇ ⁇ (s')) or Q ⁇ '2 (s', ⁇ ⁇ (s')), whichever is smaller. And the reward r, the Q function models Q ⁇ '1 and Q ⁇ '2 are updated.
  • the reward r corresponds to an example of a first evaluation value which is an index value of the goodness of the action a in the state s.
  • the learning device 30 by learning the Q function model using a plurality of Q function models, it is possible to estimate the evaluation of the behavior using the Q function having a relatively small value. This makes it possible to alleviate the overestimation of behavioral evaluation such as overestimation of the Q function model. According to the learning device 30, in this respect, the time required for reinforcement learning can be shortened.
  • the priority setting unit 38 associates each experience with a priority based on the magnitude of the error of the Q function value when the experience is used.
  • the experience acquisition unit 34 acquires experience based on the priority.
  • the learning device 30 can preferentially train the Q function model by preferentially using the experience in which the error of the Q function value becomes large, and it is expected that the error can be efficiently improved. According to the learning device 30, in this respect, the time required for reinforcement learning can be shortened.
  • the experience acquisition unit 34 acquires a mini-batch that samples the experience based on the priority.
  • the learning device 30 can learn the evaluation function using a plurality of high-priority experiences. According to the learning device 30, learning is stable in that learning is performed using a plurality of experiences, and the time required for reinforcement learning can be shortened in that an experience having a high priority is used.
  • FIG. 6 is a diagram showing an example of a pendulum to be controlled in the first embodiment.
  • the pendulum 11A in FIG. 6 corresponds to the example of the controlled object 11.
  • the pendulum 11A has a motor on the shaft, and the movement of the pendulum 11A can be controlled by the motor.
  • the object of the first embodiment is an automatic control rule (for automatic control) in which the pendulum 11A is inverted (position POS3 in FIG. 6) within a time limit of 100 seconds by controlling a motor to maintain the inverted state as long as possible. (Measures) will be acquired by learning.
  • the observer 12 is a sensor that measures the angle ⁇ of the pendulum 11A.
  • the angle is defined as ⁇ ⁇ [- ⁇ , ⁇ ] with respect to the positive direction of the y-axis.
  • the state s of the pendulum 11A is expressed by an angle ⁇ , an angular velocity ⁇ ', and each acceleration ⁇ ', and is expressed as ( ⁇ , ⁇ ', ⁇ '). Further, in the first embodiment, the position POS1 is set to the initial position of the pendulum 11A, and the initial angle is ⁇ 5 ⁇ / 6. Both the initial angular velocity and the initial angular acceleration are set to 0.
  • the state estimation device 13 estimates the state every 0.1 seconds and outputs the information of the state every 0.1 seconds.
  • a Kalman filter or the like is used as the algorithm of the state estimation device 13.
  • the control executing device 15 receives the control value c from the control determination device 20 and controls the pendulum 11A. It is assumed that the control value c in the first embodiment is the voltage V applied to the motor, and the range of the control value c is [-2V, + 2V]. Further, the control executing device 15 continues to apply the same voltage to the motor until it receives a new control value c. The control value c indicates the action a of the pendulum 11A.
  • step S102 in FIG. 4 the process of the control determination device 20 (step S103 of FIG. 4) and the process of the control execution device 15 (step S104 of FIG. 4). , And the processing of the reward calculation device 14 (step S105 in FIG. 4) shall be completed.
  • the control value is changed 0.01 seconds after the state estimation in the state estimation device 13.
  • the control determination interval is 0.1 seconds, which is the same as the state estimation interval.
  • Discrete-time label t 0, 1, 2, 3, ... .. .. , (Control start time + 0.1 seconds later), (Control start time + 0.2 seconds later), (Control start time + 0.3 seconds later) ,. .. .. Is defined as. Control start time, (control start time +0.1 seconds later), (control start time +0.2 seconds later), (control start time +0.3 seconds later) ,. .. ..
  • the estimated state vectors for are s 0 , s 1 , s 2 , s 3 , ... .. .. Notated as. Control start time, (control start time +0.1 seconds later), (control start time +0.2 seconds later), (control start time +0.3 seconds later) ,. .. ..
  • the control values calculated for are c 0 , c 1 , c 2 , c 3 , ... .. .. Notated as.
  • the behavior of the pendulum 11A indicated by is a 0 , a 1 , a 2 , a 3 , ... .. .. Notated as.
  • Control start time (control start time +0.1 seconds later), (control start time +0.2 seconds later), (control start time +0.3 seconds later) ,. .. ..
  • the reward values calculated for are r 0 , r 1 , r 2 , r 3 , ... .. .. Notated as.
  • the control determination device 20 receives the state s from the state estimation device 13, calculates the policy model with reference to the policy model stored in the policy model storage device 21, and transmits the calculation result as the control value c to the control execution device 15. ..
  • the policy model is a fully connected neural network with two hidden layers, the input layer receives the state s, and the output layer outputs the control value c. Further, the number of nodes per hidden layer is 256, and the tanh function is used as the activation function. All parameters of this neural network model are stored in the policy model storage device 21.
  • the experience storage device 31 has a state st estimated by the state estimation device 13, a control value ct output by the control determination device 20, a reward value rt output by the reward calculation device 14, and the next time at each time t .
  • the set of states st + 1 ( st , ct , rt , st + 1) estimated by the state estimation device 13 in ( t + 1 ), that is, the "experience" is sequentially recorded.
  • the control value ct indicates an action at.
  • the model stored in the first Q function model storage device 41 of the evaluation model storage device 40 and the model stored in the second Q function model storage device 42 are both fully connected type with two hidden layers, as in the policy model.
  • the number of nodes per hidden layer is 256, and the tanh function is used as the activation function.
  • the input layer receives the set of state and control value (s, c), and the output layer outputs the value of Q (s, c).
  • the priority setting unit 38 records the initial priority for the newly added experience in the priority storage device 33 (step S1071 in FIG. 5).
  • the priority setting unit 38 assigns 1 as the initial priority to the first experience, and assigns "the maximum value among the priorities calculated so far" thereafter.
  • the experience acquisition unit 34 samples the experience according to the probability shown in the equation (13).
  • i is an index of experience in the experience storage device 31.
  • pi is a priority over experience i .
  • K is the total number of experiences in the experience storage device 31 at the time of sampling.
  • is a hyperparameter that adjusts the weight of priority p at the time of sampling. As the value of ⁇ , for example, a value such as 0.6 is used. In addition, here, the number of experiences included in the mini-batch is 256, and this is constructed by sampling with priority.
  • the priority calculation unit 37 calculates a new priority for this mini-batch by the method described in the embodiment.
  • the priority setting unit 38 updates the priority associated with the target experience to a new priority.
  • the model update unit 50 updates the model by minimizing the following three objective functions by the stochastic gradient descent method using all the experiences in the mini-batch.
  • the first objective function is an objective function for adjusting the parameter ⁇ 1 of the Q function model, and is expressed as in Eq. (14).
  • Equation (14) corresponds to the example of the loss function shown in equation (10). Specifically, it corresponds to an example in which the weight ⁇ b is introduced into the loss function shown in the equation (10) and embodied in the equation (14).
  • the second objective function is an objective function for adjusting the parameter ⁇ 2 of the Q function model, and is expressed as in Eq. (15).
  • Equation (15) corresponds to an example of a loss function in which ⁇ 1 is replaced with ⁇ 2 in equation (10). Specifically, the equation (15) corresponds to an example in which the weight ⁇ b is introduced into the loss function in which ⁇ 1 is replaced with ⁇ 2 in the equation (10).
  • the third objective function is an objective function for adjusting the parameter ⁇ of the policy model, and is expressed as in Eq. (16).
  • the value of the parameter ⁇ of the policy model is adjusted so as to maximize the value of the equation (16).
  • the priority calculation unit 37 calculates the experience weight ⁇ b of the index b, for example, based on the equation (17).
  • the weight ⁇ b shown in the equation (17) represents the importance weight when the prioritized sampling is regarded as the importance sampling. By using this importance weight, the effect of correcting the bias due to the sampling with priority can be obtained.
  • Example 1 the learning rate when using the stochastic gradient descent method is 0.003, and the number of epochs is 1.
  • the degree of influence of the weight ⁇ b (importance weight) can be adjusted by the hyperparameter ⁇ .
  • the priority calculation unit 37 inputs the value of the weight ⁇ b calculated using the equation (17) into the ⁇ b from the equations (14) to (16).
  • the priority calculation unit 37 may change the value of the hyperparameter ⁇ according to, for example, the number of times the process of FIG. 4 is executed.
  • the priority calculation unit 37 may perform scaling of the weight ⁇ b separately from the application of the hyperparameter ⁇ .
  • the value obtained by dividing ⁇ b by ⁇ max is used as the actual importance weight value.
  • ⁇ max takes a value calculated using the maximum value for all priorities in the priority storage device 33.
  • the priority calculation unit 37 inputs a value obtained by dividing the weight ⁇ b calculated using the equation (17) by ⁇ max into ⁇ b from the equations (14) to (16).
  • priority sampling suitable for using two Q functions for alleviating the problem of overestimation of the Q function can be introduced.
  • the overestimation problem of the Q function model is positively alleviated, and a good Q function model and a strategy model are obtained with a smaller number of experiences. It is expected to be possible. Due to the above two effects, it is expected that in the "inverted pendulum" problem, a strategy model for inversion can be obtained with "less experience” as compared with the case where the technique of the present invention is not used.
  • the control system 10 automatically controls a VAM (Vinyl Acetate Monomer) plant, which is a kind of chemical plant, will be described.
  • VAM Vinyl Acetate Monomer
  • the VAM plant simulator is set as the control target 11, but if the VAM plant simulator sufficiently reproduces the reality, the control target 11 may be replaced with an actual VAM plant after learning the policy model and applied.
  • the description will be made on the premise that the controlled object 11 is replaced with an actual VAM plant.
  • FIG. 7 is a diagram showing a configuration example of a section in a VAM plant.
  • the VAM plant consists of sections that play seven different roles. Mix the VAM ingredients in Section 1. In Section 2, a chemical reaction occurs to generate VAM. VAM separation, compression and collection are performed in sections 3-5. Distillation and precipitation of VAM are performed in sections 6-7. The VAM obtained in these series of steps is put on the market as a product.
  • the entire VAM plant of Example 2 is equipped with about 100 observation instruments for measuring pressure, temperature, flow rate, etc., and about 30 PID controllers (Proportional-Integral-Differential Controller) for adjusting pressure, temperature, flow rate, etc. Has been done.
  • PID controllers Proportional-Integral-Differential Controller
  • it is an object to acquire a policy model that raises the overall profit of this VAM plant.
  • the total profit is the product profit (VAM) minus the consumption cost (ethylene, oxygen acetate, electricity, water, etc.).
  • the control time of the VAM plant is 100 hours, and the final purpose is to improve the cumulative total profit from the value when the initial state is continued within this control time.
  • the initial state here is a state in which the target value of each PID controller is manually adjusted and the VAM plant as a whole is in a steady state. This initial state uses the one prepared in advance in the VAM plant simulator.
  • Example 2 the observer 12 is configured by using about 100 of the above-mentioned observation instruments.
  • the VAM plant simulator used can also acquire important physical quantities that cannot be measured by observation equipment, but they are not used. This is to replace the VAM plant simulator with an actual VAM plant.
  • the state estimation device 13 estimates physical quantities such as true temperature, pressure, and flow rate from the information of the observer 12, and constitutes the state. It is assumed that the state estimation is performed every 30 minutes and the state information is also output every 30 minutes.
  • the algorithm of the state estimation device 13 uses, for example, a Kalman filter or the like.
  • the reward calculation device 14 receives the state s from the state estimation device 13 and calculates the above-mentioned total revenue, r (s).
  • the calculation method is based on the VAM plant simulator. The higher the overall profit, the higher the reward.
  • the control executing device 15 receives the control value c from the control determining device 20 and controls the VAM plant simulator.
  • the control value c in the second embodiment is a target value of each PID controller.
  • the control executing device 15 maintains the same target value until a new control value c is received.
  • the control value c indicates the behavior a of the VAM plant.
  • step S102 in FIG. 4 the process of the control determination device 20 (step S103 of FIG. 4), the process of the control execution device 15 (step S104 of FIG. 4), and , It is assumed that the processing of the reward calculation device 14 (step S105 in FIG. 4) is completed. As a result, it is assumed that the control value is changed one second after the state estimation in the state estimation device 13.
  • the control determination interval is 30 minutes, which is the same as the state estimation interval.
  • Discrete time label t 0, 1, 2, 3, ... .. .. , (Control start time + 30 minutes later), (Control start time + 60 minutes later), (Control start time + 90 minutes later) ,. .. .. Is defined as.
  • control determination device 20 the policy model storage device 21, the learning device 30, the experience storage device 31, and the evaluation model storage device 40 are the same as in the case of the first embodiment, and the description thereof will be omitted.
  • Example 2 The two effects in Example 2 are the same as in Example 1. As a result, if a strategy model that improves overall profit with "less experience” compared to the case where the technology of the present invention is not used can be obtained, and the VAM plant simulator reproduces the reality sufficiently, the actual VAM plant Even if the policy model is applied to, the same overall profit improvement can be achieved.
  • the control system 10 automatically controls the humanoid robot.
  • the policy model learned by the simulation will be described in the same manner as in the second embodiment, keeping in mind that it is applied to the actual controlled object. That is, here, the controlled object 11 is a humanoid robot on the simulator, and it is considered that the policy obtained by using the simulator is applied to the actual humanoid robot.
  • Example 3 the final purpose is to acquire a policy model in which the humanoid robot continues to walk on two legs without falling during the control time of 100 seconds.
  • the humanoid robot to be controlled has 17 joints, each with a motor.
  • the observer 12 includes a sensor that measures the angle and torque of each joint, and a lidar (Light Detection and Ringing) mounted on the head.
  • the simulator used can acquire important physical quantities that cannot be measured by the observer 12, they are not used. This is because it is also applied to an actual humanoid robot.
  • the state estimation device 13 estimates the true angle of each joint, the angular velocity, the angular acceleration, the torque, the absolute coordinates of the center of gravity of the robot, the center of gravity speed, and the load applied to each joint from the information of the observer 12, and constitutes the state. It is assumed that the state estimation is performed every 0.1 seconds, and the state information is also output every 0.1 seconds.
  • the algorithm of the state estimation device 13 uses a Kalman filter, SLAM (Simultaneous Localization And Mapping), or the like.
  • the reward calculation device 14 outputs a state s output by the state estimation device 13, a control value c output by the control determination device 20, and a state output by the state estimation device 13 immediately after the control value c is executed by the control execution device 15. That is, the reward function r (s, c, s') is calculated by inputting the set (s, c, s') of the states s'after the state transition.
  • the control value c indicates the behavior of the robot.
  • the reward calculation method conforms to OpenAI's gym. Basically, the faster the center of gravity of the humanoid robot is in the forward direction, the higher the reward. Also, in order to save power as much as possible, points will be deducted as strong torque is applied to the motor. Also, if the center of gravity is kept high so that the humanoid robot does not fall, bonus points are given.
  • the control executing device 15 receives the control value c from the control determination device 20 and controls the torque of the motor of each joint. Further, in 0.01 seconds from the state calculation of the state estimation device 13 (step S102 in FIG. 4), the process of the control determination device 20 (step S103 of FIG. 4) and the process of the control execution device 15 (step S104 of FIG. 4). , And the process of the reward calculation device 14 (step S105 in FIG. 4). As a result, it is assumed that the control value is changed 0.01 seconds after the state estimation in the state estimation device 13.
  • the control determination interval is 0.1 seconds, which is the same as the state estimation interval.
  • the discrete-time label t is defined according to the timing of state estimation as in the first embodiment.
  • control determination device 20 the policy model storage device 21, the learning device 30, the experience storage device 31, and the evaluation model storage device 40 are the same as in the case of the first embodiment, and the description thereof will be omitted here.
  • Example 3 The two effects in Example 3 are the same as in Example 1. As a result, it is possible to acquire a strategy model in which the humanoid robot walks on two legs without falling with a "small number of experiences" as compared with the case where the technique of the present invention is not used, and the humanoid robot model sufficiently reproduces the reality. In that case, even if the policy model is applied to the actual humanoid robot, the same overall profit improvement can be obtained.
  • FIG. 8 is a diagram showing a configuration example of the learning device according to the embodiment.
  • the learning device 510 includes a model calculation unit 511 and a model update unit 512.
  • the model calculation unit 511 has a second state based on the second state corresponding to the first action in the first state of the controlled object and the second action calculated from the second state using the policy model.
  • the second evaluation value is calculated by using a plurality of evaluation models for calculating the second evaluation value, which is an index value of the goodness of the second behavior in the state.
  • the model update unit 512 updates the evaluation model based on the smallest second evaluation value among the plurality of second evaluation values and the first evaluation value which is an index value of the goodness of the first action in the first state. ..
  • the model calculation unit 511 corresponds to an example of a model calculation means.
  • the model update unit 512 corresponds to an example of the model update means.
  • the learning device 510 by learning the evaluation function using a plurality of evaluation functions, the evaluation function can be estimated using the evaluation function having a relatively small value. This can alleviate the overestimation of the evaluation function, for example, the overestimation of the Q function model. According to the learning device 510, the time required for reinforcement learning can be shortened in this respect.
  • the model calculation unit 511 can be realized by using a function such as the model calculation unit 53 as illustrated in FIG. 3, for example.
  • the model update unit 512 can be realized by using a function such as the model update unit 50 as illustrated in FIG. 3, for example. Therefore, the learning device 510 can be realized by using a function such as the learning device 30 as illustrated in FIG.
  • FIG. 9 is a diagram showing a configuration example of the control system according to the embodiment.
  • the control system 520 includes a model calculation unit 521, an evaluation model update unit 522, a policy model update unit 523, a control determination unit 524, and a control implementation unit 525.
  • the model calculation unit 521 uses the second state based on the second state corresponding to the first action in the first state of the controlled object and the second action calculated from the second state using the policy model.
  • the second evaluation value is calculated by using a plurality of evaluation models for calculating the second evaluation value, which is an index value of the goodness of the second behavior in the state.
  • the evaluation model update unit 522 updates the evaluation model based on the smallest second evaluation value among the plurality of second evaluation values and the first evaluation value which is an index value of the goodness of the first action in the first state. do.
  • the policy model update unit 523 updates the policy model using the evaluation model.
  • the control determination unit 524 calculates the control value using the policy model.
  • the control execution unit 525 controls the control target based on the control value.
  • the model calculation unit 521 corresponds to an example of a model calculation means.
  • the evaluation model update unit 522 corresponds to an example of the evaluation model update means.
  • the policy model update unit 523 corresponds to an example of the policy model update means.
  • the control determination unit 524 corresponds to an example of the control determination means.
  • the control implementation unit 525 corresponds to an example of a control implementation means.
  • the evaluation function can be estimated using the evaluation function having a relatively small value. This can alleviate the overestimation of the evaluation function, for example, the overestimation of the Q function model. According to the control system 520, in this respect, the time required for reinforcement learning can be shortened.
  • the model calculation unit 521 can be realized by using a function such as the model calculation unit 53 as illustrated in FIG. 3, for example.
  • the evaluation model update unit 522 can be realized by using a function such as the Q function model update unit 51 as illustrated in FIG. 3, for example.
  • the policy model update unit 523 can be realized by using a function such as the policy model update unit 52 as illustrated in FIG. 3, for example.
  • the control determination unit 524 can be realized by using a function such as the control determination device 20 as illustrated in FIG. 1, for example.
  • the control implementation unit 525 can be realized by using, for example, a function such as the control implementation device 15 as illustrated in FIG. Therefore, the control system 520 can be realized by using the functions of the control system 10 and the like as exemplified in FIGS. 1 to 3.
  • FIG. 10 is a diagram showing an example of a processing procedure in the learning method according to the embodiment.
  • the learning method shown in FIG. 10 includes a model calculation step (step S511) and a model update step (step S512).
  • the model calculation step (step S511) the second state is based on the second state corresponding to the first action in the first state of the controlled object and the second action calculated from the second state using the policy model.
  • the second evaluation value is calculated by using a plurality of evaluation models for calculating the second evaluation value, which is an index value of the goodness of the second behavior in.
  • the model update step (step S512) the evaluation model is based on the smallest second evaluation value among the plurality of second evaluation values and the first evaluation value which is an index value of the goodness of the first action in the first state. To update.
  • the evaluation function can be estimated using the evaluation function having a relatively small value. This can alleviate the overestimation of the evaluation function, such as the overestimation of the Q function model. According to the learning method of FIG. 10, in this respect, the time required for reinforcement learning can be shortened.
  • FIG. 11 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
  • the computer 700 includes a CPU 710, a main storage device 720, an auxiliary storage device 730, an interface 740, and a non-volatile recording medium 750.
  • One or more or a part of the learning device 30, the learning device 510, and the control system 520 may be mounted on the computer 700.
  • the operation of each of the above-mentioned processing units is stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 secures a storage area corresponding to each of the above-mentioned storage units in the main storage device 720 according to the program. Communication between each device and other devices is executed by the interface 740 having a communication function and performing communication according to the control of the CPU 710. Further, the interface 740 has a port for the non-volatile recording medium 750, and reads information from the non-volatile recording medium 750 and writes information to the non-volatile recording medium 750.
  • the learning device 30 When the learning device 30 is mounted on the computer 700, the operation of the experience acquisition unit 34, the priority calculation unit 37, the priority setting unit 38, the model update unit 50, the Q function model update unit 51, and the policy model update unit 52. Is stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 secures a storage area corresponding to the priority storage device 33 and the mini-batch storage device 35 in the main storage device 720 according to the program. Communication between the learning device 30 and other devices is executed by the interface 740 having a communication function and operating according to the control of the CPU 710.
  • the operations of the model calculation unit 511 and the model update unit 512 are stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 secures a storage area for processing performed by the learning device 510 in the main storage device 720 according to the program. Communication between the learning device 510 and other devices is executed by the interface 740 having a communication function and operating according to the control of the CPU 710.
  • the operations of the model calculation unit 521, the evaluation model update unit 522, the policy model update unit 523, the control determination unit 524, and the control implementation unit 525 are stored in the form of a program. It is stored in the device 730.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 secures a storage area for processing performed by the control system 520 in the main storage device 720 according to the program. Communication between the control system 520 and other devices, such as transmission of a control signal from the control execution unit 525 to the control target, is executed by the interface 740 having a communication function and operating according to the control of the CPU 710.
  • any one or more of the above-mentioned programs may be recorded on the non-volatile recording medium 750.
  • the interface 740 may read the program from the non-volatile recording medium 750. Then, the CPU 710 may directly execute the program read by the interface 740, or may temporarily store and execute the program in the heading device 720 or the auxiliary storage device 730.
  • a computer-readable recording medium is used to record a program for executing all or part of the processing performed by the learning device 30, the learning device 510, and the control system 520, and the program recorded on the recording medium is recorded.
  • the processing of each part may be performed by loading it into a computer system and executing it.
  • the term "computer system” as used herein includes hardware such as an OS and peripheral devices.
  • the "computer-readable recording medium” includes a flexible disk, a magneto-optical disk, a portable medium such as a ROM (Read Only Memory) and a CD-ROM (Compact Disc Read Only Memory), and a hard disk built in a computer system. It refers to a storage device such as.
  • the above-mentioned program may be for realizing a part of the above-mentioned functions, and may be further realized by combining the above-mentioned functions with a program already recorded in the computer system.
  • the embodiment of the present invention may be applied to a learning device, a learning method, a control system and a recording medium.
  • Control implementation unit 10 10
  • Control decision device 10 Policy model storage device 30, 510 Learning device 31
  • Priority storage device 34 Experience acquisition unit 35
  • Priority calculation unit 38 Priority setting unit 40
  • Evaluation model storage device 41 1st Q function model storage device 42 2nd Q function model storage device 50, 512 Model update unit 51 Q function model update unit 52, 523 Measure model Update unit 53, 511, 521 Model calculation unit 522 Evaluation model update unit 524 Control decision unit 525 Control implementation unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Feedback Control In General (AREA)

Abstract

学習装置が、制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ前記第2評価値を算出するモデル計算手段と、複数の前記第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の良さの指標値である第1評価値とに基づいて、前記評価モデルを更新するモデル更新手段とを備える。

Description

学習装置、学習方法、制御システムおよび記録媒体
 本発明は、学習装置、学習方法、制御システムおよび記録媒体に関する。
 機械学習の1つに強化学習がある。
 例えば、特許文献1には、Q学習と呼ばれる強化学習を実行して、メンテナンスが求められる対象のメンテナンス範囲の最適化を図ることが記載されている。
国際公開第2019/050014号
 強化学習に必要な時間が比較的短く済むことが好ましい。
 本発明の目的の1つは、上述の課題を解決することのできる学習装置、学習方法、制御システムおよび記録媒体を提供することである。
 本発明の第1の態様によれば、学習装置は、制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ前記第2評価値を算出するモデル計算手段と、複数の前記第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の良さの指標値である第1評価値とに基づいて、前記評価モデルを更新するモデル更新手段とを備える。
 本発明の第2の態様によれば、制御システムは、制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ前記第2評価値を算出するモデル計算手段と、複数の前記第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の良さの指標値である第1評価値とに基づいて、前記評価モデルを更新する評価モデル更新手段と、前記評価モデルを用いて前記方策モデルを更新する方策モデル更新手段と、前記方策モデルを用いて制御値を算出する制御決定手段と、前記制御値に基づいて制御対象を制御する制御実施手段と、を備える。
 本発明の第3の態様によれば、学習方法は、コンピュータが、制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ前記第2評価値を算出し、複数の前記第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の良さの指標値である第1評価値とに基づいて、前記評価モデルを更新することを含む。
 本発明の第4の態様によれば、記録媒体は、コンピュータに、制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ前記第2評価値を算出することと、複数の前記第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の良さの指標値である第1評価値とに基づいて、前記評価モデルを更新することとを実行させるためのプログラムを記録する記録媒体である。
 上記した学習装置、制御システム、学習方法および記録媒体によれば、強化学習に必要な時間の短縮を図ることができる。
実施形態に係る制御システムの構成例を示す図である。 実施形態に係る評価モデル記憶装置の構成例を示す図である。 実施形態に係る学習装置の構成例を示す図である。 実施形態に係る制御システムが行う処理の手順の例を示すフローチャートである。 実施形態に係る制御システムがモデルを更新する処理手順の例を示すフローチャートである。 実施例1における制御対象の振り子の例を示す図である。 実施例2に係るVAMプラントにおけるセクションの構成例を示す図である。 実施形態に係る学習装置の構成例を示す図である。 実施形態に係る制御システムの構成例を示す図である。 実施形態に係る学習方法における処理手順の例を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 実施例2にて後述するように、実施形態に係る制御装置は、例えば、化学プラントを制御する制御内容を、強化学習に従い算出された方策モデルに基づき決定する。化学プラントには、温度、圧力および流量等を測定する観測装置が設置されている。制御装置は、観測装置が測定した測定結果に基づき、化学プラントにおける各装置についての制御内容を決定するための方策モデルを決定する。そして、制御装置は、決定した方策モデルに従い制御内容を決定し、決定した内容に従い各装置を制御する。
 実施例3にて後述するように、実施形態に係る制御装置は、例えば、ロボットを制御する制御内容を、強化学習に従い算出された方策モデルに基づき決定する。制御対象のロボットは、複数の関節を有する。ロボットを制御するシステムには、関節の角度等を測定するための観測装置が設置されている。制御装置は、観測装置が測定した測定結果に基づき、ロボットについての制御内容を決定するための方策モデルを決定する。そして、制御装置は、決定した方策モデルに従い制御内容を決定し、決定した内容に従いロボットを制御する。
 実施形態に係る制御装置の適用先は、上述した例に限定されず、例えば、製造工場における製造装置、または、輸送装置等であってもよい。
<用語および概念の説明>
 実施形態の説明をするための用語および概念について説明する。
 強化学習は、マルコフ決定過程において状態遷移確率が未知の状況下で、累積報酬(Cumulative Reward)の期待値を最大化する行動決定則(Decision Rule)を得る手法である。行動決定則を、方策(Policy)、または、制御則(Control Rule)とも称する。
 マルコフ決定過程は、「ある状態sのときに、方策πに従い行動aが選択・実行され、状態遷移確率ρ(s’,r|s,a)に従って状態sから新しい状態s’に遷移し、報酬rが与えられる」、という一連の事象が繰り返し行われる過程を表す。
 方策は、確率的に行動を算出するものであってもよい。あるいは、デルタ分布を用いて行動を一意に算出する方策を記述することもできる。行動を一意に算出する方策は決定論的方策と呼ばれ、a=π(s)のように関数的に表される。aは、時刻tにおける行動を示す。πは、方策を示す関数である。sは、時刻tにおける状態を示す。すなわち、方策は、時刻tにおける状態sから時刻tにおける行動aを算出(または、決定、選択)するモデル(または、関数)であるということができる。
 累積報酬とは、ある期間に得られる報酬の和である。例えば、ある時刻tから(t+T)までの累積報酬Rは、式(1)のように表される。
Figure JPOXMLDOC01-appb-M000001
 γはγ∈[0,1]の実数定数である。γを割引率とも称する。rは時刻tにおける報酬である。この累積報酬について、時刻tにおける状態s、行動aが与えられたときの、状態遷移確率ρ、方策πに関する累積報酬の条件付き期待値をQπ(s,a)と表記し、式(2)のように定義する。
Figure JPOXMLDOC01-appb-M000002
 式(2)のQπ(s,a)はQ関数(または行動価値関数)と呼ばれる。Eは期待値を示す。
 また、あらゆる状態sについて式(3)の値が最大となる方策πは最適方策と呼ばれる。
Figure JPOXMLDOC01-appb-M000003
 ここで、行動aは方策πからサンプリングされるものとし、これをa~π(・|s)と表記する。最適方策をπと表す。
 方策が最適方策πのときのQ関数は最適Q関数と呼ばれる。最適Q関数をQ(s,a)と表す。
 基本的には「最適Q関数を最大化する行動aを出力」する決定論的方策が最適方策πとなる。つまり、式(4)のように書ける。
Figure JPOXMLDOC01-appb-M000004
 強化学習ではQ関数のモデルおよび方策のモデルを用意し、学習を通してQ関数のモデルを最適Q関数に近づけ、そのQ関数のモデルを元に方策のモデルを最適方策に近づける。以下では、Q関数のモデルをQ関数モデルと呼び、方策のモデルを方策モデルと呼ぶことにする。
<Q関数モデルを複数用いることの説明>
 実施形態では、方策が決定論的方策である場合を例に説明するが、非決定論的方策を用いるようにしてもよい。
 実施形態ではQ関数モデルを複数用いて、Q関数モデルが過大に推定されることを緩和する。Q関数モデルを2つ用いる場合を例に説明するが、3つ以上のQ関数モデルを用いるようにしてもよい。
 Q関数モデルを2つ用意することが、Q関数モデルが過大に推定されることの緩和に繋がる理由を説明する。例えば、行動が連続値のマルコフ決定過程に対し、経験再生(Experience Replay)の手法を用い、平均二乗TD誤差をベースにQ関数モデルを最適化することを考える。
 TD誤差(Temporal Difference Error)δTDを式(5)のように定義する。
Figure JPOXMLDOC01-appb-M000005
 TD誤差δTDは、報酬の見込みと実際の報酬との差を示す。
 yは式(6)のように示され、機械学習における教師あり学習の教師信号に近い役割を果たす。
Figure JPOXMLDOC01-appb-M000006
 yを教師信号とも称する。
 φは、方策モデルのパラメータである。
 θは、Q関数モデルのパラメータである。θ’はQ関数モデルの更新を安定化させるためのターゲットパラメータである。ターゲットパラメータθ’には、基本的には過去のθの値が使われ、定期的に最新のθの値に更新される。学習中にパラメータθの値が更新され、θを用いたQ関数が変化するのに対し、ターゲットパラメータθ’の値の更新をθの更新に対して遅らせることで、教師信号yの値の急激な変動を抑えることができ、学習が安定すると期待される。
 パラメータの値を更新することを、パラメータを更新するとも称する。モデルのパラメータが更新されることで、モデルも更新される。
 Q関数モデルのパラメータθを明示して「Qθ」と表記している。Q関数モデルQθが示すQ関数を、Q関数Qθとも称する。「Qθ」の「θ」をパラメータ変数と捉える場合、「Qθ」は、Q関数モデルを示す。一方、「Qθ」の「θ」をパラメータ値と捉える場合、「Qθ」は、Q関数を示す。
 方策πのパラメータφを明示して「πφ」と表記している。方策モデルπφが示す方策を、方策πφとも称する。「πφ」の「φ」をパラメータ変数と捉える場合、「πφ」は、方策モデルを示す。一方、「πφ」の「φ」をパラメータ値と捉える場合、「πφ」は、方策を示す。
 Q関数モデルのパラメータθの学習のために、式(7)の損失関数J(θ)を用いることができる。
Figure JPOXMLDOC01-appb-M000007
 Bは、経験を記憶する経験記憶装置からサンプルされる経験のミニバッチである。「経験」とは過去に起きた状態遷移のことである。この経験は、状態sと、状態sに対する行動aと、行動aに応じた報酬rと、行動aに応じた次の状態s’とを組み合わせた(s,a,r,s’)で表される。(s,a,r,s’)~Bは、ミニバッチBに含まれる経験(s,a,r,s’)を示す。
 教師信号yが学習中に変化するパラメータθ’に依存することから、Q関数モデルの最適化の実行中に教師信号yは変化する。
 方策モデルπφについて決定論的方策を仮定しており、別の更新則でQθを最大化するaを出力するようにパラメータφが更新される。
 ここでいう別の更新則として、方策πが、Qθの値を最大化するような行動aを出力するように、パラメータφの値を更新するいろいろな更新則を用いることができる。
 例えば、目的関数Jπ(φ)=[Qθ(s,πφ(s))]として、この目的関数Jπ(φ)の値を最大化するように確率的勾配法を適用する更新則を用いるようにしてもよいが、これに限定されない。
 Q関数の学習に時間を要する要因の1つに、Q関数の過大推定問題と呼ばれる問題がある。Q関数の過大推定で問題となるのは式(6)のQθ’(s’,πφ(s’))の部分である。ターゲットパラメータθ’および同期元のパラメータθが、方策πφに関する累積報酬の期待値としての真のQ関数Qπφを上手く近似できていない場合、πφ(s)が「上手く近似ができていないQθを最大化するaを出力する」ため、Q関数モデルの出力値が真のQ関数の出力値よりも大きくなるような過大バイアスが入ってしまう。結果として、式(5)から(7)までを用いた学習でθは誤った方向に更新されてしまう。
 そこで、実施形態では、2つのQ関数モデルを用意し、出力値を比較して小さい方の出力値を採用することでQ関数の過大推定を緩和する。言い換えると、これにより、モデル更新が安定するため学習に必要な時間が短縮されると期待される。
 実施形態では、同じQ関数モデル本体に異なるパラメータ値を適用することで、複数のQ関数モデルを構成する場合を例に説明する。
 具体的には、実施形態に係る制御システムは、2つのQ関数モデルに共通のQ関数モデル本体にパラメータθを適用して第1Q関数モデルを構成する。また、制御システムは、Q関数モデル本体にパラメータθを適用して第2Q関数モデルを構成する。
 そして、制御システムは、第1Q関数モデルの値と、第1Q関数モデルおよび第2Q関数モデルのうち何れか小さい方の値とを用いる損失関数を用いて、第1Q関数モデルのパラメータθの値を更新する。また、制御システムは、第2Q関数モデルの値と、第1Q関数モデルおよび第2Q関数モデルのうち何れか小さい方の値とを用いる損失関数を用いて、第2Q関数モデルのパラメータθの値を更新する。
 例えば上記の式(5)を式(8)のように変更する。
Figure JPOXMLDOC01-appb-M000008
 式(8)のQ関数Qθ1(s,a)を表すモデルは、第1Q関数モデルの例に該当する。Q関数Qθ2(s,a)を表すモデルは、第2Q関数モデルの例に該当する。Q関数Qθ2(s,a)は、Q関数モデルQθ1(s,a)のパラメータθをパラメータθに置き換えたQ関数モデルQθ2(s,a)が示すQ関数である。
 yCDQは、式(9)のように示される。
Figure JPOXMLDOC01-appb-M000009
 yCDQを教師信号とも称する。
 上記の式(7)の損失関数J(θ)を、式(10)の損失関数JQM(θ)のように変更する。
Figure JPOXMLDOC01-appb-M000010
 式(8)から(10)まではQ関数モデルの2つのパラメータθ、θのうちのθの更新則である。θも、式(8)から(10)においてθをθに置き換えた更新則で最適化される。Q関数モデルが2つになるのでターゲットパラメータもそれぞれθ’、θ’が用いられ、出力値の小さい方のターゲットパラメータが教師信号の計算に使われる。
 ただし、制御システムが、Q関数毎に異なるQ関数モデル本体を用いて複数のQ関数モデルを構成するようにしてもよい。この場合も、制御システムは、個々のQ関数モデルの値と、複数のQ関数モデルの最小値とを用いた損失関数を用いて、Q関数モデル毎にパラメータを更新する。
 式(9)の「Qθ’i(s’,πφ(s’))」は、状態s’と、状態s’を方策πφに適用して得られる行動πφ(s’)とをQ関数モデルQθ’iに適用することを示している。この「Qθ’i(s’,πφ(s’))」は、状態s’が与えられ、状態s’に応じて行動πφ(s’)が得られた場合の、累積報酬の条件付き期待値を示す。この点で、Q関数モデルQθ’iは、状態s’における行動πφ(s’)の良さ(または、価値、有効性、好ましさ)を評価(または、推定)するモデルであるということができる。Q関数モデルQθ’iの値は、状態s’における行動πφ(s’)の良さ(または、価値、有効性、好ましさ)の指標値であるということができる。
 状態sは、第1状態の例に該当する。行動aは、第1行動の例に該当する。制御対象が、第1状態である状態sにて第1行動である行動aを行った場合の遷移先の状態s’は、第2状態の例に該当する。第2状態である状態s’を方策πφに適用して得られる行動πφ(s’)は、第2行動の例に該当する。
 Q関数Qθ’iは、第2行動評価関数の例に該当する。ここでいう第2行動評価関数は、第2状態における第2行動の評価値を算出する関数である。
 Q関数に状態s’と行動πφ(s’)と適用したQ関数値Qθ’i(s’,πφ(s’))は、第2行動評価値の例に該当する。ここでいう第2行動評価値は、第2状態における第2行動の評価値である。第2行動評価値を第2評価値とも称する。
 Q関数モデルQθ’iは、第2行動評価関数モデルの例に該当する。ここでいう第2行動評価関数モデルは、第2行動評価関数のモデルである。第2行動評価関数モデルのパラメータ値が定まることで、第2行動評価関数モデルが、1つの第2行動評価関数を示す。
 ただし、実施形態における第2行動の評価手段は、関数の形式で示されるもの(第2行動評価関数)に限定されない。第2状態と第2行動との入力に対して第2行動の評価値を出力可能ないろいろな手段を、第2行動の評価手段として用いることができる。例えば、第2行動の評価手段が、ホワイトノイズなどの揺らぎを持った評価値を出力するものであってもよい。この場合、第2行動の評価手段が、同じ第2状態および第2行動の入力に対して異なる評価値を出力するものであってもよい。
 第2行動の評価手段が、関数の形式で示されるものに限定されないことから、実施形態における第2行動の評価モデルも、関数を示すモデル(第2行動評価関数モデル)に限定されない。このように、関数を表すモデルに限定されない第2行動の評価モデルを、第2行動評価モデル、または単に評価モデルと称する。
 Q関数モデルQθ’iは、関数モデルの例にも該当する。
 また、実施形態では、Q関数モデルの過大推定を更に緩和するために、経験に優先度を付して、優先度の高い経験を優先的に学習に用いる。この手法を、優先度付き経験再生法(Prioritized Experience Replay; PER)と称する。
 具体的には、過去の経験に対しそれぞれ「優先度」を紐付けて「優先度記憶装置」に記憶する。そして、経験取得部が優先度に基づいて経験を選択し、ミニバッチを構築する。ミニバッチ内の経験がモデル更新に用いられるため、優先度の高い経験ほど更新に用いられ易い。また、ミニバッチ内の経験に対し、新しい優先度の値を算出して優先度を更新する。
<実施形態における構成>
 図1は、実施形態に係る制御システムの構成例を示す図である。図1に示す構成で、制御システム10は、観測器12、状態推定装置13、報酬計算装置14、制御実施装置15、制御決定装置20、方策モデル記憶装置21、学習装置30、経験記憶装置31、および、評価モデル記憶装置40を備える。
 制御対象11は、制御システム10による制御の対象である。制御可能ないろいろな事物を制御対象11とすることができる。制御対象11が、制御システム10の一部となっていてもよい。あるいは、制御対象11が、制御システム10の外部の構成となっていてもよい。
 観測器12は、制御対象11の状態推定に用いられる情報を観測する。
 状態推定装置13は、観測器12から得た情報を元に制御対象11の状態を推定する。
 報酬計算装置14は、例えばユーザーが指定する「状態に対する点数(報酬)計算則」に従い、報酬を計算する。ただし、報酬計算装置14が報酬を取得する方法は、特定の方法に限定されない。報酬計算装置14が報酬を取得する方法として、状態に応じた報酬を取得可能ないろいろな方法を用いることができる。
 ある状態sとある行動aとが決まると、行動aによる状態sからの遷移先の状態s’が決まる。すると、報酬計算装置14は、状態s’に応じた報酬を算出することができる。この点で報酬は、ある状態におけるある行動の良さ(または、有効性、価値、好ましさ)を表す指標値であるということができる。
 報酬は、第1行動評価値の例に該当する。ここでいう第1行動評価値は、第1状態における第1行動の評価値である。第1行動評価値を第1評価値とも称する。
 制御実施装置15は、制御決定装置20が出力する制御値に従い、制御対象11を制御する。
 制御実施装置15は、制御実施手段の例に該当する。
 制御決定装置20は、状態推定装置13が推定する状態と、方策モデル記憶装置21が記憶する方策モデルとを参照し、方策πの演算を行い制御値を出力する。
 制御決定装置20は、制御決定手段の例に該当する。
 方策モデル記憶装置21は、状態の入力に対して制御値を出力する方策モデルを記憶する。例えば、方策モデル記憶装置21は、方策モデル本体と、方策モデルのパラメータφとを記憶する。方策モデル本体にパラメータφを適用することで、方策モデルを得られる。
 学習装置30は、状態推定装置13が出力する状態s、制御決定装置20が出力する制御値による制御対象の行動a、報酬計算装置14が出力する報酬r、および、制御実施装置15の制御により行動aが行われた直後に状態推定装置13が出力する状態、すなわち状態遷移後の状態s’の組(s,a,r,s’)、すなわち経験を経験記憶装置31に逐一追加・記録する。ここでの逐一は、例えば、制御実施装置15が制御対象11に対する制御を行う毎である。
 また、学習装置30は、方策モデル記憶装置21、評価モデル記憶装置40、および、経験記憶装置31を参照して、方策モデル記憶装置21および評価モデル記憶装置40の更新も行う。具体的には、学習装置30は、これらの記憶装置が記憶するモデルおよび経験を参照して、これらのモデルのパラメータを更新する。
 図2は、評価モデル記憶装置40の構成例を示す図である。図2に示す構成で、評価モデル記憶装置40は、第1Q関数モデル記憶装置41と、第2Q関数モデル記憶装置42とを備える。
 第1Q関数モデル記憶装置41は、上述した第1Q関数モデルのパラメータθを記憶する。第2Q関数モデル記憶装置42は、上述した第2Q関数モデルのパラメータθを記憶する。
 また、評価モデル記憶装置40は、第1Q関数モデルと第2Q関数モデルとに共通のQ関数モデル本体を記憶する。第1Q関数モデル記憶装置41および第2Q関数モデル記憶装置42のうち何れか一方、または両方が、Q関数モデル本体を記憶するようにしてもよい。あるいは、評価モデル記憶装置40が、第1Q関数モデル記憶装置41および第2Q関数モデル記憶装置42とは異なる記憶領域を有してQ関数モデル本体を記憶するようにしてもよい。
 これにより、評価モデル記憶装置40は、方策モデル記憶装置21に記録される方策の性能の評価、および、前述のQ関数モデルの過大推定問題の緩和に用いられる、2つのQ関数モデルを記憶する。特に、評価モデル記憶装置40は、これら2つのQ関数モデルそれぞれのパラメータを記憶する。
 図3は、学習装置30の構成例を示す図である。図3に示す構成で、学習装置30は、優先度記憶装置33、経験取得部34、ミニバッチ記憶装置35、優先度算出部37、優先度設定部38、モデル更新部50、および、モデル計算部53を備える。モデル更新部50は、Q関数モデル更新部51、および、方策モデル更新部52を備える。
 優先度記憶装置33は、経験記憶装置31が記憶する経験それぞれに対応する優先度を記憶する。この優先度は、優先度算出部37が算出する。
 経験取得部34は、優先度記憶装置33が記憶する優先度に従い、経験記憶装置31から経験を優先度付きサンプリングでサンプリングしミニバッチを構成する。なおミニバッチを構成する際、各経験のインデックスiも併せる。これはミニバッチ内の経験が経験記憶装置31内のどの経験に対応するのかを確認できるようにするためである。構成されたミニバッチは、次回のサンプリングまではミニバッチ記憶装置35に一時的に保存される。
 経験取得部34は、経験取得手段の例に該当する。
 優先度算出部37は第1Q関数モデル記憶装置41、および、第2Q関数モデル記憶装置42を用いて、ミニバッチ内の経験についてそれぞれ優先度を算出する。具体的には、優先度算出部37は、式(11)を用いて、パラメータθおよびθのうち何れかQ関数値が大きくなるほうのインデックスをκに設定する。
Figure JPOXMLDOC01-appb-M000011
 そして、優先度算出部37は、式(12)を用いて新たな優先度P’を算出する。
Figure JPOXMLDOC01-appb-M000012
 ここでインデックスbは経験のインデックスであり、その経験がミニバッチ内に格納されていることを示している。インデックスbで識別される経験を、インデックスbの経験とも称する。
 sは、インデックスbの経験における状態を示す。aは、インデックスbの経験における状態sに対する行動を示す。rは、インデックスbの経験における状態sの下での行動aに応じた報酬を示す。s’は、インデックスbの経験における状態sでの行動aによる遷移先の状態を示す。
 優先度算出部37は、2つのQ関数モデルそれぞれに(s,a)を入力し、得られる出力値を比較して大きい方のモデルを用いて(式(11)参照)、TD誤差の絶対値を新しい優先度P’として算出する(式(12)参照)。
 算出された新たな優先度P’は優先度設定部38に出力される。優先度設定部38はミニバッチ内の経験のインデックスを参照し、優先度記憶装置33内の経験のインデックスに対応する各優先度を上書き更新する。すなわち、優先度設定部38は、インデックスbの経験の優先度を更新する。
 また、優先度設定部38は、新規に追加され優先度が紐付けられていない経験に対し、優先度記憶装置33を参照して優先度の初期値を付与する。例えば、優先度設定部38は、優先度記憶装置33が記憶する全ての経験に紐付けられている各優先度を参照し、最大の値をとる優先度(すなわち、最も高い優先度)を、新規に追加された経験に紐付ける。
 優先度設定部38は、優先度設定手段の例に該当する。
 モデル更新部50はミニバッチ記憶装置35が記憶するミニバッチと、優先度算出部37が算出する経験の優先度とを参照して、パラメータθ、θおよびφを更新する。モデル更新部50は、モデル更新手段の例に該当する。
 上記のように、パラメータθは、第1Q関数モデルのパラメータである。第1Q関数モデル記憶装置41がパラメータθを記憶する。パラメータθは、第2Q関数モデルのパラメータである。第2Q関数モデル記憶装置42がパラメータθを記憶する。方策モデル記憶装置21がパラメータφを記憶する。
 Q関数モデル更新部51は、パラメータθおよびθを更新する。具体的には、Q関数モデル更新部51は、式(10)に示される損失関数JQM(θ)の値を小さくするように、パラメータθを更新する。また、Q関数モデル更新部51は、式(10)のパラメータθ1をパラメータθに置き換えて得られる損失関数JQM(θ)の値を小さくするように、パラメータθを更新する。
 Q関数モデル更新部51は、評価モデル更新手段の例に該当する。
 方策モデル更新部52は、パラメータφを更新する。具体的には、方策モデル更新部52は、上述した目的関数Jπ(φ)の値を大きくするように、パラメータφを更新する。実施形態ではQ関数が2つあるので、方策モデル更新部52は、Qθ1(s,πφ(s))およびQθ2(s,πφ(s))のうち値が小さい方を目的関数「Jπ(φ)=[Qθ(s,πφ(s))]」の「Qθ(s,πφ(s))」に適用して、パラメータφを更新する。
 方策モデル更新部52は、方策モデル更新手段の例に該当する。
 モデル計算部53は、第1Q関数モデル、第2Q関数モデル、方策モデルの各々の値を計算する。例えば、モデル計算部53は、Q関数モデル更新部51が第1Q関数モデル、第2Q関数モデルの各々を更新する際、式(8)から(10)までにおける第1Q関数モデル、第2Q関数モデル、方策モデルの各々の値を算出する。また、モデル計算部53は、方策モデル更新部52が方策モデルを更新する際、目的関数Jπ(φ)の値を算出するために、第1Q関数モデル、第2Q関数モデル、方策モデルの各々の値を算出する。また、モデル計算部53は、優先度算出部37が経験の優先度を算出する際に参照する、第1Q関数モデル、第2Q関数モデルの各々の値を算出する。
 モデル計算部53は、モデル計算手段の例に該当する。
<実施形態における処理>
 図4は、制御システム10が行う処理の手順の例を示すフローチャートである。制御システム10は、図4の処理を繰り返し行う。
 図4の処理で、観測器12が制御対象11に関する観測を行う(ステップS101)。例えば、観測器12は、制御対象11とその周囲環境とを観測する。
 次に状態推定装置13が観測器12の観測情報を元に、制御対象11に関する状態を推定する(ステップS102)。例えば、状態推定装置13は、制御対象11とその周囲環境とを含んだ状態を推定するなど、制御対象11の制御に影響し得る状態を推定する。
 次に制御決定装置20が、状態推定装置13が推定する状態と、方策モデル記憶装置21とを参照して、制御値を算出し出力する(ステップS103)。次に制御実施装置15が、制御決定装置20が出力する制御値に従い制御対象11の制御を実施する(ステップS104)。
 次に報酬計算装置14が、状態推定装置13が推定する状態と、制御決定装置20が出力する制御値とを参照して報酬を算出し出力する(ステップS105)。
 次に学習装置30が、状態推定装置13が推定する状態と、制御決定装置20が出力する制御値と、報酬計算装置14が出力する報酬とを、経験として経験記憶装置31に追加、記録する(ステップS106)。
 次に学習装置30が、方策モデル記憶装置21が記憶する方策モデル、評価モデル記憶装置40が記憶するQ関数モデル、および、経験記憶装置31が記憶する経験を参照して、これらのモデルを更新する(ステップS107)。具体的には、方策モデル更新部52が、方策モデル記憶装置21が記憶する方策モデルのパラメータφを更新する。Q関数モデル更新部51は、評価モデル記憶装置40が記憶するQ関数モデルのパラメータθおよびθを更新する。
 ステップS107の後、制御システム10は、図4の処理を終了する。上述したように、制御システム10は、ステップS101からS107までの一連の処理を再度繰り返す。
 図5は、制御システム10がモデルを更新する処理手順の例を示すフローチャートである。制御システム10は、図4のステップS107で図5の処理を行う。
 図5の処理で、優先度設定部38が経験記憶装置31に追加された経験に対する優先度の初期値を優先度記憶装置33に追加記録する(ステップS1071)。
 次に経験取得部34が優先度付き経験再生を行いミニバッチを構成し(ステップS1072)、ミニバッチ記憶装置35に記録する(ステップS1073)。
 次にモデル計算部53が、ミニバッチ記憶装置35内のミニバッチ、第1Q関数モデル記憶装置41が記憶する第1Q関数モデル、および、第2Q関数モデル記憶装置42が記憶する第2Q関数モデルを参照し、ミニバッチ内の各経験に内包される状態、制御値の組(s,a)を入力にしたときの第1Q関数モデルの値および第2Q関数モデルの値を算出し出力する(ステップS1074)。
 続いて優先度算出部37は、各経験について、第1Q関数モデルおよび第2Q関数モデルのうち出力値が最大のQ関数モデルを選択し(ステップS1075)、選択されたQ関数モデル用のTD誤差を算出する(ステップS1076)。ステップS1075は式(11)に相当する。ステップS1076は式(12)に相当する。
 次に優先度算出部37は算出されたTD誤差の絶対値を新たな優先度として算出する(ステップS1077)。続いて優先度設定部38は優先度算出部37により算出された新たな優先度を参照し、優先度記憶装置33内の対応する経験について優先度を新たな優先度に更新する(ステップS1078)。
 そして、モデル更新部50は、ミニバッチ記憶装置35内のミニバッチ、および、優先度算出部37を用いて、方策モデル記憶装置21、第1Q関数モデル記憶装置41、および、第2Q関数モデル記憶装置42、に保存される各パラメータを更新する(ステップS1079)。
 具体的には、モデル計算部53が、ミニバッチ記憶装置35内のミニバッチから優先度に従って経験を読み出し、読み出した経験を用いて第1Q関数モデル、第2Q関数モデル、方策モデルの各々の値を算出する。Q関数モデル更新部51は、第1Q関数モデル、第2Q関数モデル、方策モデルの各々の値を参照して、第1Q関数モデルおよび第2Q関数モデルを更新する。方策モデル更新部52は、第1Q関数モデル、第2Q関数モデル、方策モデルの各々の値を参照して、方策モデルを更新する。
 ステップS1079の後、制御システム10は、図5の処理を終了する。
 ステップS1077で優先度算出部37の算出する優先度は、過大推定を起こしている可能性の高い方のQ関数モデルのTD誤差の絶対値である。これにより、優先度付き経験再生にて過大推定を起こしている可能性の高い経験ほどモデル更新に使用され易くなる。これにより、Q関数モデルの過大推定問題を積極的に緩和することができ、結果として学習が安定するため、必要な演算処理時間を短縮できる。
 以上のように、モデル計算部53は、制御対象11の状態sにおける行動aに応じた状態s’と、状態s’から方策モデルπφを用いて算出される行動πφ(s’)とに基づいて、状態s’における行動πφ(s’)の良さの指標値であるQ関数値Qθ’1(s’,πφ(s’))およびQθ’2(s’,πφ(s’))を算出する2つのQ関数モデルQθ’1およびQθ’2を用いて、それぞれQ関数値を算出する。
 上述したように、状態sは、第1状態の例に該当する。行動aは、第1行動の例に該当する。状態s’は、第2状態の例に該当する。行動πφ(s’)は、第2行動の例に該当する。Q関数値Qθ’1(s’,πφ(s’))およびQθ’2(s’,πφ(s’))は、第2評価値の例に該当する。Q関数モデルQθ’1およびQθ’2は、評価モデルの例に該当する。
 モデル更新部50は、Q関数値Qθ’1(s’,πφ(s’))およびQθ’2(s’,πφ(s’))のうち何れか小さい方のQ関数値と、報酬rとに基づいて、Q関数モデルQθ’1およびQθ’2を更新する。報酬rは、状態sにおける行動aの良さの指標値である第1評価値の例に該当する。
 このように、学習装置30では、複数のQ関数モデルを用いてQ関数モデルの学習を行うことで、値が比較的小さいQ関数を用いて行動の評価を推定することができる。これにより、Q関数モデルの過大推定など行動の評価が過大に推定されることを緩和することができる。学習装置30によれば、この点で、強化学習に必要な時間の短縮を図ることができる。
 また、優先度設定部38は、経験毎に、その経験を用いた場合のQ関数値の誤差の大きさに基づく優先度を紐づける。経験取得部34は、優先度に基づいて経験を取得する。
 これにより、学習装置30は、Q関数値の誤差が大きくなる経験を優先的に用いてQ関数モデルの学習を行うことができ、誤差を効率的に改善できることが期待される。
 学習装置30によれば、この点で、強化学習に必要な時間の短縮を図ることができる。
 また、経験取得部34は、優先度に基づいて経験をサンプリングしたミニバッチを取得する。
 これにより、学習装置30は、優先度が高い複数の経験を用いて評価関数の学習を行うことができる。
 学習装置30によれば、複数の経験を用いて学習を行う点で学習が安定し、かつ、優先度が高い経験を用いる点で、強化学習に必要な時間の短縮を図ることができる。
 図6は、実施例1における制御対象の振り子の例を示す図である。
 実施例1では、制御システム10が、図6のような振り子を倒立させる例について説明する。図6の振り子11Aは、制御対象11の例に該当する。この振り子11Aは軸にモーターが付いており、振り子11Aの動きをモーターで制御できる。
 ここで、実施例1の目的は、モーターの制御により、制限時間100秒の間に振り子11Aを倒立させ(図6の位置POS3)、倒立状態をできるだけ長く維持させる自動制御則(自動制御のための方策)を学習により獲得することとする。
 ただし、このモーターのトルクはあまり強くなく、例えば振り子11Aを位置POS1から直接位置POS3へ移動させて倒立させることはできない。このため、位置POS1にある振り子11Aを倒立させるには、まずトルクを掛けて例えば位置POS2まで移動させある程度位置エネルギーを蓄えてから、逆方向に適度なトルクを掛けて位置POS3まで持っていく必要がある。
 実施例1では、特に断らない場合は、「π」は円周率を示し、「θ」は角度を示す。
 実施例1では、観測器12は振り子11Aの角度θを測定するセンサーである。ここで角度はy軸の正の向きを基準としてθ∈[-π,π]と定義する。なお、図6の位置POS1はθ=-5π/6に相当する。位置POS2はθ=5π/12に相当する。位置POS3はθ=0に相当する。
 振り子11Aの状態sを、角度θ、角速度θ′、および、各加速度θ”で表すものとし、(θ,θ′,θ”)と表記する。また、実施例1では位置POS1を振り子11Aの初期位置とし、初期角度-5π/6とする。初期角速度、初期角加速度は共に0とする。
 状態推定装置13は観測器12のセンサー情報から真の軸の角度θ、角速度θ′、角加速度θ”を推定し、状態s=(θ,θ′,θ”)の情報を構成する。状態推定装置13は、0.1秒毎に状態推定を行い、状態の情報を0.1秒毎に出力するものとする。状態推定装置13のアルゴリズムとして例えばカルマンフィルタ等を使うこととする。
 報酬計算装置14は状態推定装置13から状態sの情報を受け取り、報酬関数r(s)=-θを算出する。この報酬関数は実施例1の目的に合わせて、倒立時間が長くなるほど累積報酬が高くなるように設計されているものとする。
 制御実施装置15は制御決定装置20から制御値cを受け取り、振り子11Aを制御する。実施例1での制御値cは、モーターに掛ける電圧Vであり、制御値cの値域は[-2V,+2V]であるとする。また制御実施装置15は新たな制御値cを受け取るまでは同じ電圧をモーターに掛け続けるものとする。制御値cは、振り子11Aの行動aを示す。
 また、状態推定装置13の状態算出(図4のステップS102)から0.01秒間で、制御決定装置20の処理(図4のステップS103)、制御実施装置15の処理(図4のステップS104)、および、報酬計算装置14の処理(図4のステップS105)が完了するものとする。これにより、状態推定装置13における状態推定の0.01秒後に制御値が変更されるものとする。制御決定間隔は状態推定間隔と同様に0.1秒とする。
 離散時間ラベルt=0、1、2、3、...を、制御開始時刻、(制御開始時刻+0.1秒後)、(制御開始時刻+0.2秒後)、(制御開始時刻+0.3秒後)、...と定義する。制御開始時刻、(制御開始時刻+0.1秒後)、(制御開始時刻+0.2秒後)、(制御開始時刻+0.3秒後)、...について推定される状態ベクトルをs、s、s、s、...と表記する。制御開始時刻、(制御開始時刻+0.1秒後)、(制御開始時刻+0.2秒後)、(制御開始時刻+0.3秒後)、...について算出される制御値をc、c、c、c、...と表記する。制御値c、c、c、c、...が示す振り子11Aの行動を、a、a、a、a、...と表記する。制御開始時刻、(制御開始時刻+0.1秒後)、(制御開始時刻+0.2秒後)、(制御開始時刻+0.3秒後)、...について算出される報酬値をr、r、r、r、...と表記する。
 制御決定装置20は状態推定装置13から状態sを受け取り、方策モデル記憶装置21が記憶する方策モデルを参照して方策モデルの演算を行い、演算結果を制御値cとして制御実施装置15に送信する。
 実施例1では、方策モデルは隠れ層2層の全結合型のニューラルネットワークで、入力層が状態sを受け取り、出力層が制御値cを出力する。また隠れ層1層あたりのノード数は256個とし、活性化関数としてtanh関数を使用することとする。このニューラルネットワークモデルの全パラメータは方策モデル記憶装置21に保持される。
 経験記憶装置31は各時刻tにおける、状態推定装置13が推定する状態s、制御決定装置20が出力する制御値c、報酬計算装置14が出力する報酬値r、および、次の時刻(t+1)にて状態推定装置13が推定する状態st+1の組(s,c,r,st+1)、すなわち「経験」を逐次記録していく。上記のように、制御値cは、行動aを示す。
 評価モデル記憶装置40の第1Q関数モデル記憶装置41が記憶するモデル、および、第2Q関数モデル記憶装置42が記憶するモデルは、何れも方策モデルと同様に、隠れ層2層の全結合型のニューラルネットワークで、隠れ層1層あたりのノード数は256個とし、活性化関数としてtanh関数を使用することとする。ただし、入力層は状態と制御値の組(s,c)を受け取り、出力層はQ(s,c)の値を出力する。
 学習装置30では、新たに追加された経験に対して優先度設定部38が初期優先度を優先度記憶装置33に記録する(図5のステップS1071)。優先度設定部38は、初期優先度として、最初の経験に対しては1を割り当て、それ以降は「これまで算出された優先度のうちの最大値」を割り当てる。
 経験取得部34は、式(13)に示す確率に従って経験をサンプリングする。
Figure JPOXMLDOC01-appb-M000013
 iは経験記憶装置31内の経験のインデックスである。pは経験iに対する優先度である。Kはサンプリング時における経験記憶装置31内の全経験数である。αはサンプリング時における優先度pの重みを調整するハイパーパラメータである。αの値として、例えば0.6などの値を用いる。また、ここではミニバッチが含む経験数を256個とし、これを優先度付きサンプリングで構築する。
 このミニバッチに対して優先度算出部37は実施形態で述べた方法で新たな優先度を算出する。優先度設定部38は、対象となる経験に紐付けられる優先度を、新たな優先度に更新する。
 モデル更新部50はミニバッチ内の全経験を用いて、以下の3つの目的関数を確率的勾配降下法で最小化することでモデルを更新する。
 1つ目の目的関数は、Q関数モデルのパラメータθを調整するための目的関数であり、式(14)のように示される。
Figure JPOXMLDOC01-appb-M000014
 式(14)の「θ」は、Q関数モデルのパラメータを示す。「πφ」は、方策を示す。
 bは、経験のインデックスであり、ミニバッチに含まれている経験であることを示す。Nは、ミニバッチ内の経験の個数を示す。ωは、経験の優先度に応じた重み(重み係数)を示す。
 式(14)は、式(10)に示される損失関数の例に該当する。具体的には、式(14)で、式(10)に示される損失関数に重みωを導入し具体化した例に該当する。
 2つ目の目的関数は、Q関数モデルのパラメータθを調整するための目的関数であり、式(15)のように示される。
Figure JPOXMLDOC01-appb-M000015
 式(15)の「θ」は、Q関数モデルのパラメータを示す。「πφ」は、方策を示す。
 式(15)は、式(10)においてθをθに置き換えた損失関数の例に該当する。具体的には、式(15)は、式(10)においてθをθに置き換えた損失関数に重みωを導入し具体化した例に該当する。
 3つ目の目的関数は、方策モデルのパラメータφを調整するための目的関数であり、式(16)のように示される。
Figure JPOXMLDOC01-appb-M000016
 式(16)の「θ」は、Q関数モデルのパラメータを示す。「πφ」は、方策を示す。
 式(16)は、上述した目的関数Jπ(φ)の式「Jπ(φ)=[Qθ(s,πφ(s))]」の最大化の例に該当する。具体的には、式(16)は、式「Jπ(φ)=[Qθ(s,πφ(s))]」に重みωを導入し具体化した例に該当する。式(16)の値を最大化するように、方策モデルのパラメータφの値を調整する。
 優先度算出部37は、例えば式(17)に基づいて、インデックスbの経験の重みωを算出する。
Figure JPOXMLDOC01-appb-M000017
 式(17)に示される重みωは、優先度付きサンプリングを重要度サンプリングと見なしたときの重要度重みを表す。この重要度重みを用いることで、優先度付きサンプリングによるバイアスを補正する効果が得られる。
 実施例1では、確率的勾配降下法を用いる際の学習率は0.003とし、エポック数は1とする。
 重みω(重要度重み)の影響の度合いはハイパーパラメータβで調整可能である。この場合、優先度算出部37は、式(17)を用いて算出する重みωの値を、式(14)から(16)までのωに入力する。
 βの値域は[0,1]であり、βが0に近い程、重要度重みの影響を弱め、βが1に近い程、重要度重みの影響を忠実に再現する。優先度付きサンプリングによるバイアスはある程度残しておいた方が学習初期の学習効率が良いので、ここではβ=0.4を用いる。優先度算出部37が、例えば図4の処理の実行回数に応じて、ハイパーパラメータβの値を変更するようにしてもよい。
 優先度算出部37が、ハイパーパラメータβの適用とは別に、重みωのスケーリングを行うようにしてもよい。ここでは学習の安定性を保つために、ωをωmaxで割ったものを、実際の重要度重みの値とする。ωmaxは優先度記憶装置33内の全優先度に関して最大の値を用いて計算した値を取る。
 優先度算出部37は、式(17)を用いて算出する重みωをωmaxで割った値を、式(14)から(16)までのωに入力する。
 実施例1における1つ目の効果として、Q関数の過大推定問題の緩和のために2つのQ関数を用いる際に適した優先度付きサンプリングを導入できる。
 実施例1における2つ目の効果として、経験の優先度を定義することで、Q関数モデルの過大推定問題が積極的に緩和され、より少ない経験数で良好なQ関数モデルおよび方策モデルを獲得できると期待される。
 上記2つの効果により、「倒立振り子」問題において、本発明技術を使用しない場合と比較して「少ない経験数」で倒立する方策モデルを獲得できると期待される。
 実施例2では、制御システム10が、化学プラントの一種であるVAM(Vinyl Acetate Monomer)プラントの自動制御を行う例について説明する。
 ここではVAMプラントシミュレータを制御対象11とするが、VAMプラントシミュレータが十分現実を再現している場合は、方策モデルを学習後に制御対象11を実際のVAMプラントに置き換えて適用してもよい。実施例2では、制御対象11を実際のVAMプラントに置き換えることを前提に説明をする。
 図7は、VAMプラントにおけるセクションの構成例を示す図である。VAMプラントは7つの異なる役割を果たすセクションで構成されている。
 セクション1でVAMの原材料を混合する。セクション2で化学反応を起こしVAMを生成する。セクション3から5まででVAMの分離、圧縮および収集を行う。セクション6から7まででVAMの蒸留および沈殿を行う。これら一連の工程で得られるVAMが製品として売り出される。
 実施例2のVAMプラント全体として、圧力・温度・流量などを測定する観測機器が約100個、圧力・温度・流量などを調整するPID制御器(Proportional-Integral-Differential Controller)が約30個備え付けられている。実施例2では、このVAMプラントの全体収益を上げるような方策モデルを獲得することを目的とする。ここで全体収益とは、製品利益(VAM)から消費コスト(エチレン、酢酸酸素、電気、水など)を差し引いたものである。
 なおVAMプラントの制御時間は100時間とし、この制御時間の中で全体収益の累計が初期状態を継続するときの値よりも改善することを最終目的とする。ここでの初期状態とは、人手で各PID制御器の目標値を調整し、VAMプラント全体として定常状態になった状態のこととする。この初期状態はVAMプラントシミュレータで予め用意されているものを使用する。
 実施例2では、観測器12は上述した観測機器約100個を用いて構成される。使用したVAMプラントシミュレータでは、観測機器では測定できない重要な物理量も取得できるが、それらは使用しない。VAMプラントシミュレータを実際のVAMプラントに置き換えるためである。
 状態推定装置13は観測器12の情報から真の温度、圧力、流量などの物理量を推定し、状態を構成する。状態推定は30分毎に行われるものとし、状態の情報も30分毎に出力されるとする。状態推定装置13のアルゴリズムは例えばカルマンフィルタ等を使うこととする。
 報酬計算装置14は状態推定装置13から状態sを受け取り、上述の全体収益、r(s)を算出する。計算方法はVAMプラントシミュレータに準拠する。全体収益が上がるほど報酬も高くなる。
 制御実施装置15は制御決定装置20から制御値cを受け取り、VAMプラントシミュレータを制御する。実施例2での制御値cは、各PID制御器の目標値である。制御実施装置15は新たな制御値cを受け取るまでは同じ目標値を維持する。制御値cは、VAMプラントの行動aを示す。
 また、状態推定装置13の状態算出(図4のステップS102)から1秒間で、制御決定装置20の処理(図4のステップS103)、制御実施装置15の処理(図4のステップS104)、および、報酬計算装置14の処理(図4のステップS105)が完了するものとする。これにより、状態推定装置13における状態推定の1秒後に制御値が変更されるものとする。制御決定間隔は状態推定間隔と同様に30分とする。
 離散時間ラベルt=0、1、2、3、...を、制御開始時刻、(制御開始時刻+30分後)、(制御開始時刻+60分後)、(制御開始時刻+90分後)、...と定義する。
 制御決定装置20、方策モデル記憶装置21、学習装置30、経験記憶装置31、評価モデル記憶装置40、については実施例1の場合と同様であり、説明を省略する。
 実施例2における2つの効果は実施例1の場合と同様である。その結果として、本発明技術を使用しない場合と比較して「少ない経験数」で全体収益を改善する方策モデルを獲得でき、VAMプラントシミュレータが十分現実を再現している場合は、実際のVAMプラントに方策モデルを適用しても同等の全体収益改善を出すことができる。
 実施例3では、制御システム10が、人型ロボットを自動制御する場合について説明する。実施例3でも実施例2と同様にシミュレーションで学習した方策モデルを実際の制御対象に適用することを念頭に置いて説明する。つまり、ここでは制御対象11はシミュレータ上の人型ロボットであり、シミュレータを用いて得られた方策を実際の人型ロボットに適用することを考える。
 実施例3では、人型ロボットが制御時間100秒の間に、転ばずに二足歩行し続けるような方策モデルを獲得することを最終目的とする。制御対象の人型ロボットには17個の関節があり、それぞれにモーターが付いている。観測器12は各関節の角度およびトルクを測定するセンサーと、頭部に搭載されるLIDAR(Light Detection and Ranging)とを含む。使用したシミュレータでは観測器12では測定できない重要な物理量も取得できるが、それらは使用しない。実際の人型ロボットにも適用するためである。
 状態推定装置13は観測器12の情報から真の各関節の角度、角速度、角加速度、トルク、ロボットの重心の絶対座標、重心速度、各関節に掛かる負荷、を推定し、状態を構成する。状態推定は0.1秒毎に行われるものとし、状態の情報も0.1 秒毎に出力されるとする。状態推定装置13のアルゴリズムは例えばカルマンフィルタやSLAM(Simultaneous Localization And Mapping)等を使うこととする。
 報酬計算装置14は、状態推定装置13が出力する状態s、制御決定装置20が出力する制御値c、制御値cが制御実施装置15により実施された直後に状態推定装置13が出力する状態、すなわち状態遷移後の状態s′、の組(s,c,s′)を入力とし、報酬関数r(s,c,s′)を算出する。制御値cは、ロボットの行動を示す。
 報酬の計算方法はOpenAI社のgymに準拠する。基本は人型ロボットの重心速度が前方向に速いほど高い報酬を与える。また、可能な限り省電力にするためにモーターに強いトルクが出るほど減点する。また、人型ロボットが転ばないように、重心が高い位置に維持されるとボーナス点を与える。
 制御実施装置15は制御決定装置20から制御値cを受け取り、各関節のモーターのトルクを制御する。また、状態推定装置13の状態算出(図4のステップS102)から0.01秒間で、制御決定装置20の処理(図4のステップS103)、制御実施装置15の処理(図4のステップS104)、および、報酬計算装置14の処理(図4のステップS105)、が完了するものとする。これにより、状態推定装置13における状態推定の0.01秒後に制御値が変更されるものとする。制御決定間隔は状態推定間隔と同様に0.1秒とする。また、離散時間ラベルtを、実施例1と同様に状態推定のタイミングに合わせて定義する。
 制御決定装置20、方策モデル記憶装置21、学習装置30、経験記憶装置31、および、評価モデル記憶装置40、については実施例1の場合と同様であり、ここでは説明を省略する。
 実施例3における2つの効果は実施例1の場合と同様である。その結果として、本発明技術を使用しない場合と比較して「少ない経験数」で人型ロボットが転ばずに二足歩行する方策モデルを獲得でき、人型ロボットモデルが十分現実を再現している場合は、実際の人型ロボットに方策モデルを適用しても同等の全体収益改善を出すことができる。
 図8は、実施形態に係る学習装置の構成例を示す図である。図8に示す構成で、学習装置510は、モデル計算部511と、モデル更新部512とを備える。
 かかる構成で、モデル計算部511は、制御対象の第1状態における第1行動に応じた第2状態と、第2状態から方策モデルを用いて算出される第2行動とに基づいて、第2状態における第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ第2評価値を算出する。モデル更新部512は、複数の第2評価値のうち最も小さい第2評価値と、第1状態における第1行動の良さの指標値である第1評価値とに基づいて、評価モデルを更新する。
 モデル計算部511は、モデル計算手段の例に該当する。モデル更新部512は、モデル更新手段の例に該当する。
 このように、学習装置510では、複数の評価関数を用いて評価関数の学習を行うことで、値が比較的小さい評価関数を用いて評価関数を推定することができる。これにより、例えばQ関数モデルの過大推定など、評価関数が過大に推定されることを緩和することができる。学習装置510によれば、この点で、強化学習に必要な時間の短縮を図ることができる。
 モデル計算部511は、例えば、図3に例示されているようなモデル計算部53等の機能を用いて実現することができる。モデル更新部512は、例えば、図3に例示されているようなモデル更新部50等の機能を用いて実現することができる。よって、学習装置510は、図3に例示されているような学習装置30等の機能を用いて実現することができる。
 図9は、実施形態に係る制御システムの構成例を示す図である。図9に示す構成で、制御システム520は、モデル計算部521と、評価モデル更新部522と、方策モデル更新部523と、制御決定部524と、制御実施部525とを備える。
 かかる構成で、モデル計算部521は、制御対象の第1状態における第1行動に応じた第2状態と、第2状態から方策モデルを用いて算出される第2行動とに基づいて、第2状態における第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ第2評価値を算出する。評価モデル更新部522は、複数の第2評価値のうち最も小さい第2評価値と、第1状態における第1行動の良さの指標値である第1評価値とに基づいて、評価モデルを更新する。方策モデル更新部523は、評価モデルを用いて方策モデルを更新する。制御決定部524は、方策モデルを用いて制御値を算出する。制御実施部525は、制御値に基づいて制御対象を制御する。
 モデル計算部521は、モデル計算手段の例に該当する。評価モデル更新部522は、評価モデル更新手段の例に該当する。方策モデル更新部523は、方策モデル更新手段の例に該当する。制御決定部524は、制御決定手段の例に該当する。制御実施部525は、制御実施手段の例に該当する。
 このように、制御システム520では、複数の評価関数を用いて評価関数の学習を行うことで、値が比較的小さい評価関数を用いて評価関数を推定することができる。これにより、例えばQ関数モデルの過大推定など、評価関数が過大に推定されることを緩和することができる。制御システム520によれば、この点で、強化学習に必要な時間の短縮を図ることができる。
 モデル計算部521は、例えば、図3に例示されているようなモデル計算部53等の機能を用いて実現することができる。評価モデル更新部522は、例えば、図3に例示されているようなQ関数モデル更新部51等の機能を用いて実現することができる。方策モデル更新部523は、例えば、図3に例示されているような方策モデル更新部52等の機能を用いて実現することができる。制御決定部524は、例えば、図1に例示されているような制御決定装置20等の機能を用いて実現することができる。制御実施部525は、例えば、図1に例示されているような制御実施装置15等の機能を用いて実現することができる。よって、制御システム520は、図1から3までに例示されているような制御システム10等の機能を用いて実現することができる。
 図10は、実施形態に係る学習方法における処理手順の例を示す図である。図10に示す学習方法は、モデル計算工程(ステップS511)と、モデル更新工程(ステップS512)をと含む。
 モデル計算工程(ステップS511)では、制御対象の第1状態における第1行動に応じた第2状態と、第2状態から方策モデルを用いて算出される第2行動とに基づいて、第2状態における第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ第2評価値を算出する。モデル更新工程(ステップS512)では、複数の第2評価値のうち最も小さい第2評価値と、第1状態における第1行動の良さの指標値である第1評価値とに基づいて、評価モデルを更新する。
 図10の学習方法では、複数の評価関数を用いて評価関数の学習を行うことで、値が比較的小さい評価関数を用いて評価関数を推定することができる。これにより、Q関数モデルの過大推定など、評価関数が過大に推定されることを緩和することができる。図10の学習方法によれば、この点で、強化学習に必要な時間の短縮を図ることができる。
 図11は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 図11に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740と、不揮発性記録媒体750とを備える。
 上記の学習装置30、学習装置510、および、制御システム520のうち何れか1つ以上またはその一部が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。また、インタフェース740は、不揮発性記録媒体750用のポートを有し、不揮発性記録媒体750からの情報の読出、および、不揮発性記録媒体750への情報の書込を行う。
 学習装置30がコンピュータ700に実装される場合、経験取得部34、優先度算出部37、優先度設定部38、モデル更新部50、Q関数モデル更新部51、および、方策モデル更新部52の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、優先度記憶装置33、および、ミニバッチ記憶装置35に対応する記憶領域を主記憶装置720に確保する。
 学習装置30と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。
 学習装置510がコンピュータ700に実装される場合、モデル計算部511、および、モデル更新部512の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、学習装置510が行う処理のための記憶領域を主記憶装置720に確保する。
 学習装置510と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。
 制御システム520がコンピュータ700に実装される場合、モデル計算部521、評価モデル更新部522、方策モデル更新部523、制御決定部524、および、制御実施部525の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、制御システム520が行う処理のための記憶領域を主記憶装置720に確保する。
 制御実施部525から制御対象への制御信号の送信など、制御システム520と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。
 上述したプログラムのうち何れか1つ以上が不揮発性記録媒体750に記録されていてもよい。この場合、インタフェース740が不揮発性記録媒体750からプログラムを読み出すようにしてもよい。そして、CPU710が、インタフェース740が読み出したプログラムを直接実行するか、あるいは、首記億装置720または補助記憶装置730に一旦保存して実行するようにしてもよい。
 なお、学習装置30、学習装置510、および、制御システム520が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
 本発明の実施形態は、学習装置、学習方法、制御システムおよび記録媒体に適用してもよい。
 10、520 制御システム
 11 制御対象
 12 観測器
 13 状態推定装置
 14 報酬計算装置
 15 制御実施装置
 20 制御決定装置
 21 方策モデル記憶装置
 30、510 学習装置
 31 経験記憶装置
 33 優先度記憶装置
 34 経験取得部
 35 ミニバッチ記憶装置
 37 優先度算出部
 38 優先度設定部
 40 評価モデル記憶装置
 41 第1Q関数モデル記憶装置
 42 第2Q関数モデル記憶装置
 50、512 モデル更新部
 51 Q関数モデル更新部
 52、523 方策モデル更新部
 53、511、521 モデル計算部
 522 評価モデル更新部
 524 制御決定部
 525 制御実施部

Claims (7)

  1.  制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ前記第2評価値を算出するモデル計算手段と、
     複数の前記第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の良さの指標値である第1評価値とに基づいて、前記評価モデルを更新するモデル更新手段と
     を備える学習装置。
  2.  前記第1状態と、前記第1行動と、前記第2状態と、前記第1行動に応じて得られる報酬との組み合わせである経験を取得する経験取得手段
     をさらに備える、請求項1に記載の学習装置。
  3.  前記経験毎に、その経験を用いた場合の前記第2評価値の誤差の大きさに基づく優先度を紐づける優先度設定手段をさらに備え、
     前記経験取得手段は、前記優先度に基づいて前記経験を取得する、
     請求項2に記載の学習装置。
  4.  前記経験取得手段は、前記優先度に基づいて前記経験をサンプリングしたミニバッチを取得する、
     請求項3に記載の学習装置。
  5.  制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ前記第2評価値を算出するモデル計算手段と、
     複数の前記第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の良さの指標値である第1評価値とに基づいて、前記評価モデルを更新する評価モデル更新手段と、
     前記評価モデルを用いて前記方策モデルを更新する方策モデル更新手段と、
     前記方策モデルを用いて制御値を算出する制御決定手段と、
     前記制御値に基づいて制御対象を制御する制御実施手段と、
     を備える制御システム。
  6.  コンピュータが、
     制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ前記第2評価値を算出し、
     複数の前記第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の良さの指標値である第1評価値とに基づいて、前記評価モデルを更新する
     ことを含む学習方法。
  7.  コンピュータに、
     制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ前記第2評価値を算出することと、
     複数の前記第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の良さの指標値である第1評価値とに基づいて、前記評価モデルを更新することと
     を実行させるためのプログラムを記録する記録媒体。
PCT/JP2020/033265 2020-09-02 2020-09-02 学習装置、学習方法、制御システムおよび記録媒体 WO2022049672A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/018,480 US20230306302A1 (en) 2020-09-02 2020-09-02 Learning device, learning method, control system, and recording medium
JP2022546778A JPWO2022049672A5 (ja) 2020-09-02 学習装置、学習方法、制御システムおよびプログラム
PCT/JP2020/033265 WO2022049672A1 (ja) 2020-09-02 2020-09-02 学習装置、学習方法、制御システムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/033265 WO2022049672A1 (ja) 2020-09-02 2020-09-02 学習装置、学習方法、制御システムおよび記録媒体

Publications (1)

Publication Number Publication Date
WO2022049672A1 true WO2022049672A1 (ja) 2022-03-10

Family

ID=80491847

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/033265 WO2022049672A1 (ja) 2020-09-02 2020-09-02 学習装置、学習方法、制御システムおよび記録媒体

Country Status (2)

Country Link
US (1) US20230306302A1 (ja)
WO (1) WO2022049672A1 (ja)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FUJIMOTO SCOTT, VAN HOOF HERKE, MEGER DAVID: "Addressing Function Approximation Error in Actor-Critic Methods", ARXIV.ORG, 22 October 2018 (2018-10-22), pages 1 - 15, XP055914060, Retrieved from the Internet <URL:https://arxiv.org/pdf/1802.09477v3.pdf> [retrieved on 20220420] *
TOM SCHAUL, QUAN JOHN, ANTONOGLOU IOANNIS, SILVER DAVID: "Prioritized experience replay", ARXIV:1511.05952V4, 25 February 2016 (2016-02-25), XP055348246, Retrieved from the Internet <URL:https://arxiv.org/abs/1511.05952v4> [retrieved on 20170221] *

Also Published As

Publication number Publication date
JPWO2022049672A1 (ja) 2022-03-10
US20230306302A1 (en) 2023-09-28

Similar Documents

Publication Publication Date Title
US11200489B2 (en) Controller training based on historical data
US11886988B2 (en) Method for adaptive exploration to accelerate deep reinforcement learning
JP2021513128A (ja) 方策オフ型アクタークリティック強化学習を使用する分散型の訓練
CN108008627B (zh) 一种并行优化的强化学习自适应pid控制方法
JP2016100009A (ja) 機械の動作を制御する方法、および機械の動作を反復的に制御する制御システム
WO2016047118A1 (ja) モデル評価装置、モデル評価方法、及び、プログラム記録媒体
CN113168566A (zh) 通过使用熵约束来控制机器人
CN108830376B (zh) 针对时间敏感的环境的多价值网络深度强化学习方法
KR101234797B1 (ko) 로봇 및 산출된 공분산을 이용한 로봇의 위치 추정 방법
CN112154458A (zh) 使用代理课程的强化学习
CN111783994A (zh) 强化学习的训练方法和装置
CN115280322A (zh) 使用学习的隐藏状态规划作用因素控制
JP2021501433A (ja) ターゲットシステム用制御システムの生成
US11231694B2 (en) Information processing device, information processing method, and non-transitory recording medium
WO2022049672A1 (ja) 学習装置、学習方法、制御システムおよび記録媒体
Schepers et al. Autonomous building control using offline reinforcement learning
CN116047888A (zh) 一种基于bp神经网络pid的自平衡车的控制方法
WO2023058094A1 (ja) 学習装置、学習方法、制御システムおよび記録媒体
CN115167102A (zh) 一种基于并行优势动作评价的强化学习自适应pid控制方法
WO2021140698A1 (ja) 情報処理装置、方法及びプログラム
JP7467133B2 (ja) 制御装置、制御方法、及びモータ制御装置
WO2022212313A1 (en) Ml-based discrepancy surrogate for digital twin simulation
US20220197230A1 (en) Operation rule determination device, operation rule determination method, and recording medium
WO2023248426A1 (ja) 学習装置、表示装置、学習方法、表示方法および記録媒体
WO2023026342A1 (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: 20952412

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022546778

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

Country of ref document: EP

Kind code of ref document: A1