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

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

Info

Publication number
WO2023058094A1
WO2023058094A1 PCT/JP2021/036673 JP2021036673W WO2023058094A1 WO 2023058094 A1 WO2023058094 A1 WO 2023058094A1 JP 2021036673 W JP2021036673 W JP 2021036673W WO 2023058094 A1 WO2023058094 A1 WO 2023058094A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
model
evaluation
function
value
Prior art date
Application number
PCT/JP2021/036673
Other languages
English (en)
French (fr)
Inventor
拓也 平岡
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2021/036673 priority Critical patent/WO2023058094A1/ja
Publication of WO2023058094A1 publication Critical patent/WO2023058094A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a learning device, a learning method, a control system and a recording medium.
  • Patent Literature 1 describes executing reinforcement learning called Q-learning to optimize the maintenance range of a target requiring maintenance.
  • 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 that can solve the above problems.
  • a learning device includes a second state corresponding to a first action in the first state of a controlled object, and a second action calculated from the second state using a policy model.
  • a second evaluation value including noise is calculated using a plurality of evaluation models for calculating a second evaluation value including noise in the index value indicating the evaluation result of the second action in the second state based on Based on the model calculation unit, the smallest second evaluation value among the plurality of second evaluation values, and the first evaluation value that is an index value indicating the evaluation result of the first action in the first state, and a model updating unit that updates the policy model or parameters of the policy model.
  • a control system includes a second state corresponding to a first action in the first state of a controlled object, and a second action calculated from the second state using a policy model.
  • a second evaluation value including noise is calculated using a plurality of evaluation models for calculating a second evaluation value including noise in the index value indicating the evaluation result of the second action in the second state based on based on the model calculation means, the smallest second evaluation value among the plurality of second evaluation values, and the first evaluation value that is an index value indicating the evaluation result of the first action in the first state, and model updating means for updating the policy model or parameters of the policy model.
  • a computer performs a second state corresponding to a first action in the first state of a controlled object, and a second state calculated from the second state using a policy model.
  • a second evaluation value including noise is calculated by using a plurality of evaluation models for calculating a second evaluation value obtained by adding noise to an index value indicating an evaluation result of the second behavior in the second state based on two behaviors. are respectively calculated, and based on the smallest second evaluation value among the plurality of second evaluation values and the first evaluation value that is an index value indicating the evaluation result of the first action in the first state, the Updating a policy model or parameters of said policy model.
  • the recording medium provides a computer with a second state corresponding to a first action in the first state of a controlled object, and a second state calculated from the second state using a policy model.
  • a second evaluation value including noise is calculated by using a plurality of evaluation models for calculating a second evaluation value obtained by adding noise to an index value indicating an evaluation result of the second behavior in the second state based on two behaviors. based on a second evaluation value that is the smallest of the plurality of second evaluation values and a first evaluation value that is an index value indicating the evaluation result of the first action in the first state. and updating the policy model or parameters of the policy model.
  • FIG. 1 is a block diagram of a control system according to an embodiment;
  • FIG. It is a figure which shows the structural example of the evaluation model memory
  • 1 is a diagram illustrating a configuration example of a learning device according to an embodiment;
  • FIG. 4 is a flow chart showing an example of a procedure of processing performed by the control system according to the embodiment; It is a figure for demonstrating the model of the Q function of embodiment.
  • 1 is a configuration diagram of one Q-function model of an embodiment;
  • FIG. FIG. 4 is a diagram for explaining an example of a processing procedure for updating a model by the control system of the embodiment; It is a figure which shows the verification result in embodiment.
  • FIG. 9 is a diagram showing a configuration example of sections in a VAM plant according to a second embodiment
  • 1 is a diagram illustrating a configuration example of a learning device according to an embodiment
  • FIG. It is a figure which shows the structural example of the control system which concerns on embodiment.
  • FIG. 1 is a schematic block diagram showing a configuration of a computer according to at least one embodiment
  • the control device for example, when controlling a controlled object such as a chemical plant (described later in Example 2), a robot (described later in Example 3), a manufacturing device, a transportation device, etc.
  • the content is determined using reinforcement learning.
  • the controlled object operates according to the content of the control.
  • the controller for example. It can also be said that it operates in a control system (FIG. 1) that implements control.
  • the control device determines, for example, control details for controlling a chemical plant based on policy models calculated according to reinforcement learning. Observation devices are installed in chemical plants to measure temperature, pressure, flow rate, and the like.
  • the control device determines policy models for determining control details for each device in the chemical plant based on the measurement results measured by the observation device. Then, the control device determines the content of control according to the determined policy model, and controls each device according to the determined content.
  • the control device determines, for example, control details for controlling a robot based on a policy model calculated according to reinforcement learning.
  • a robot to be controlled has a plurality of joints.
  • a robot control system is equipped with an observation device for measuring joint angles and the like.
  • the control device determines a policy model for determining details of control for the robot based on the measurement results obtained by the observation device. Then, the control device determines the content of control 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 examples described above, 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 an action decision rule that maximizes the expected value of a cumulative reward under unknown state transition probabilities in a Markov decision process.
  • the action decision rule is also called Policy or Control Rule.
  • the Markov decision process is defined as follows: "When in a certain state s, action a is selected and executed according to policy ⁇ , transitions from state s to state s' according to state transition probability ⁇ (s',r
  • a policy may be one that calculates behavior probabilistically. Alternatively, one can write a policy that uses the delta distribution to uniquely compute actions.
  • a t indicates the action at time t.
  • is a function indicating policy.
  • s t indicates the state at time t. That is, a policy can be said to be a model (or a function) that calculates (or determines or selects ) an action at at time t from a state st at time t.
  • a cumulative reward is the sum of rewards earned over a period of time.
  • the accumulated reward Rt from a certain time t to (t+T) is represented by Equation (1).
  • is a real constant with ⁇ [0,1]. ⁇ is also called a discount rate.
  • r t is the reward at time t.
  • Q ⁇ (s t , at ) is expressed as in equation (2).
  • Q ⁇ (s t , a t ) in equation (2) is called the Q function (or action value function).
  • E indicates the expected value.
  • policy ⁇ that maximizes the value of equation (3) is called an optimal policy.
  • action a is sampled from policy ⁇ , which is denoted as a ⁇ ⁇ ( ⁇
  • reinforcement learning by the Q-learning method determines the parameters of the Q-function so as to derive the optimum policy (optimal policy) using the Q-function.
  • the Q-function corresponding to the optimal policy is called the optimal Q-function.
  • a Q function model and a policy model are prepared, the Q function model is brought close to the optimum Q function through learning, and the policy model is brought close to the optimum policy based on the Q function model.
  • the model of the Q function will be called the Q function model
  • the model of the policy will be called the policy model.
  • Equation (4) the value y of the Q function is shown as Equation (4).
  • is a parameter of the policy model.
  • is a parameter of the Q-function model.
  • the overlined ⁇ (hereinafter referred to as ⁇ bar) is a target parameter for stabilizing the updating of the Q function model.
  • a past value of ⁇ is basically used for the target parameter ⁇ bar, and is updated to the value of ⁇ at any time. While the value of the parameter ⁇ is updated during learning and the Q function using ⁇ changes, by delaying the update of the value of the target parameter ⁇ bar with respect to the update of ⁇ , a rapid change in the value of the target y can be suppressed. can be suppressed, and learning is expected to be stable. Updating the value of a parameter is also referred to as updating the parameter. As the parameters of the model are updated, the model is also updated. Target parameters are updated in response to parameter updates.
  • the parameter ⁇ is specified and written as "Q ⁇ ".
  • the Q function indicated by the Q function model Q ⁇ is also referred to as the Q function Q ⁇ . If ' ⁇ ' of 'Q ⁇ ' is a parametric variable, then 'Q ⁇ ' is the Q-function model of the parameter ⁇ . On the other hand, if " ⁇ " of " Q ⁇ " is the parameter value, " Q ⁇ " is the Q function of the parameter ⁇ .
  • the parameter ⁇ of the policy ⁇ is explicitly written as “ ⁇ ⁇ ”.
  • a policy indicated by the policy model ⁇ ⁇ is also referred to as a policy ⁇ ⁇ . If ' ⁇ ' in ' ⁇ ⁇ ' is a parametric variable, then ' ⁇ ⁇ ' denotes the policy model. On the other hand, when “ ⁇ " of " ⁇ ⁇ " is the value of the parameter variable (hereinafter referred to as "parameter value”), " ⁇ ⁇ " indicates the policy.
  • the Q-learning method of the embodiment provides a technique for alleviating overestimation by using multiple Q-function models.
  • FIG. 1A is a diagram illustrating a configuration example of a control system according to an embodiment
  • FIG. 1B is a block diagram 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 determination 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 .
  • a controlled object 11 is an object to be controlled. Various things that can be controlled (for example, chemical plants, robots) can be the controlled object 11 .
  • the controlled object 11 may be part of the control system 10 . Alternatively, the controlled object 11 may be configured outside the control system 10 .
  • the observer 12 observes the state of the controlled object 11 .
  • the information output by the observer 12 is information indicating the state of the controlled object 11 .
  • the observer 12 is a sensor such as a temperature sensor, humidity sensor, pressure sensor, or the like.
  • the control system 10 is a robot
  • the observer 12 is, for example, an observation device such as an imaging device that photographs the robot and its surroundings, or a GPS (Global Positioning System) that identifies the position of the robot.
  • the state estimation device 13 estimates the state of the controlled object 11 based on the information obtained from the observer 12 .
  • the control decision device 20 and the control execution device 15 correspond to examples of control decision means.
  • the control decision 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, selects the policy model and the policy ⁇ , and calculates the policy ⁇ . Output the control value. Policy models and policy ⁇ selection will be discussed later.
  • the control execution device 15 controls the controlled object 11 according to the control value output by the control determination device 20 .
  • the control determination device 20 performs a predetermined control so that the difference between the control target and the state estimated by the state estimation device 13 is reduced. Generate a control value based on the side.
  • the state of the controlled object 11 may be either or both of the state detected by the observer 12 and the state estimated by the state estimation device 13 .
  • FIG. 1 illustrates a case where the state estimated by the state estimation device 13 is used as the state of the controlled object 11, but the present invention is not limited to this.
  • the control determination device 20 may use an externally supplied control target, may generate a control target by itself, or may use a predetermined control target.
  • control determination device 20 refers to the policy model storage device 21 to select a policy model, and uses the policy model to determine the above-mentioned predetermined control side.
  • the policy model storage device 21 stores policy models that output control values in response to state inputs.
  • the policy model storage device 21 stores a policy model including the parameter variable ⁇ and the value of the parameter variable ⁇ .
  • a policy model including the parameter variable ⁇ is hereinafter referred to as a policy model body.
  • a policy model is obtained by setting a value to the parameter variable ⁇ in the policy model body. This policy model is registered by learning using a learning device 30, which will be described later.
  • the reward calculation device 14 is used for learning by the learning device 30, for example.
  • the remuneration calculation device 14 acquires a remuneration according to, for example, a "score (reward) calculation rule for a state" specified by the user.
  • the method by which the reward calculation device 14 acquires the reward is not limited to a specific method.
  • various methods that can obtain the reward according to the state can be used. For example, when obtaining a reward, the reward calculation device 14 may calculate the reward using information output by the observer 12 or information output by the state estimation device 13 .
  • action a is determined based on the policy.
  • the state of the controlled object 11 transitions from the state s to the state s'.
  • the reward calculation device 14 calculates an index value according to the degree of good or bad of the state s'.
  • This index value is called a reward.
  • a reward can be said to be an index value representing the goodness (or effectiveness, value, or desirability) of a certain action in a certain state. In this case, the higher the reward, the better the behavior, and the lower the reward, the worse the behavior.
  • the index value may be a penalty.
  • the index value can be said to be an index representing the inappropriateness of behavior in a certain state.
  • a reward corresponds to an example of a first action evaluation value.
  • the first action evaluation value referred to here is the 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 learning device 30 determines the state s output by the state estimation device 13, the behavior a of the controlled object based on the control value output by the control determination device 20, the reward r output by the reward calculation device 14, and the control by the control execution device 15.
  • the state output by the state estimation device 13 after the action a (that is, the set of states s' after the state transition (s, a, r, s'), also referred to as "experience") is added to the experience storage device 31, for example, one by one. ⁇ Record.
  • each time is, for example, each time the control execution device 15 controls the control target 11 .
  • the learning device 30 does not have to add (or record) experiences to the experience storage device 31 one by one.
  • the learning device 30 refers to the policy model storage device 21, the evaluation model storage device 40, and the experience storage device 31, and updates the policy model storage device 21 and the evaluation model storage device 40. Specifically, the learning device 30 refers to the models and experiences stored in these storage devices to update the parameters of these models.
  • FIG. 2 is a diagram showing a configuration example of the evaluation model storage device 40.
  • the evaluation model storage device 40 includes, for example, 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 above-described first Q-function model.
  • the second Q-function model storage device 42 stores the parameter ⁇ 2 of the above-described second Q-function model.
  • the evaluation model storage device 40 also stores a Q function model body common to the first Q function model and the second Q function model. Either 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 the first Q function model storage device 41 and the second Q function model storage device 42 to store the Q function model 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-described overestimation problem of the Q function model. .
  • evaluation model storage 40 stores parameters for 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 an experience acquisition unit 34 , a mini-batch storage device 35 , a model update unit 50 and a model calculation unit 53 .
  • the model updater 50 includes a Q function model updater 51 and a policy model updater 52 .
  • the experience acquisition unit 34 samples experiences from the experience storage device 31 according to a predetermined standard to form a mini-batch. When composing the mini-batch, also include the index of each experience. This is so that it can be confirmed which experience in the experience storage device 31 corresponds to the experience in the mini-batch.
  • the experience acquisition unit 34 corresponds to an example of experience acquisition means. For example, as a predetermined criterion for the above sampling, selection criteria such as the number of experiences to be sampled, the size of the mini-batch (or the number of experiences in the mini-batch), and the predetermined order of priority of sampling are applied. you can For the predetermined order of priority, it is possible to use a priority such as prioritizing the one whose period after sampling is relatively short.
  • the model of the Q function of the embodiment is configured by combining a plurality of function models described above.
  • FIG. 5 is a diagram showing an example of a model of the Q function of the embodiment.
  • FIG. 6 is a configuration diagram of one Q-function model of the embodiment.
  • a Q-function model 530 includes a plurality of Q-function models and an evaluator 534 .
  • the first 1_Q-function model among the plurality of Q-function models is defined as Q-function Q ⁇ bar1 .
  • the second 2_Q-function model is defined as the Q-function Q ⁇ bar2 .
  • the last M-th M_Q-th function model is defined as the Q-function Q ⁇ barM .
  • the number M of Q function models is an integer of 2 or more and may be determined as appropriate. For example, setting the value of M to 2 results in a configuration using two Q-function models, and setting the value of M to 3 results in a configuration using three Q-function models. In this way, it is possible to use three or more Q function models depending on the value of M. In the following embodiments, the configuration using two Q function models will be mainly described for the sake of simplicity.
  • Each Q-function model uses data about a state s and data about an action a as input data.
  • Each Q function model performs an operation using parameters of the Q function model based on data about the state s and data about a certain action a to calculate an evaluation value.
  • the data related to action a is an example of data indicating policy information related to the first action
  • the data related to state s is an example of data related to state information related to the first state.
  • the plurality of Q-function models described above include a plurality of operation blocks respectively associated with the Q-functions Q ⁇ bar1 to Q-function Q ⁇ barM .
  • operation block 531 is assigned Q function Q ⁇ bar1
  • operation block 532 is assigned Q function Q ⁇ bar2
  • operation block 533 is assigned Q function Q ⁇ barM .
  • the calculation block 531 calculates y1 by performing calculation of the Q function Q ⁇ bar1 defined using the parameter ⁇ bar1 of the Q function model.
  • Arithmetic block 532 computes y2 by performing a computation of the Q function Q ⁇ bar2 defined using the parameter ⁇ bar2 of the Q function model.
  • a calculation block 533 calculates yM by performing a calculation of the Q function Q ⁇ barM defined using the parameter ⁇ barM of the Q function model.
  • y1 through yM are scalars.
  • the evaluator 534 selects the minimum value among the calculated y1 to yM, and outputs the selection result as the target y.
  • the overestimation of the Q function is alleviated by adopting the smaller one of the output values y1 and y2 of the two Q function models. In other words, this reduces the time required for learning as the model update stabilizes.
  • calculation block 531 corresponding to the 1st 1st Q function model is illustrated.
  • the calculation block 532 may also be configured similarly to the calculation block 531 .
  • the Q-function Q ⁇ bar1 has hidden layers HL1 to HL9. Assuming that the left side of FIG. 6 is the input side and the right side is the output side, the hidden layers HL1 to HL9 are arranged in series from the input side to the output side. The processing by the hidden layers HL1 to HL9 proceeds along the arrows from left to right in FIG.
  • the hidden layer HL1 is a first weight calculation layer (Weight) that performs a first weight calculation.
  • the vector ias which is the input vector to the hidden layer HL1, is formed by combining the state s and the action a indicated by vectors, respectively, as shown in Equation (5).
  • the hidden layer HL1 calculates a hidden vector h from the vector ias. For example, the hidden layer HL1 calculates the hidden vector h by multiplying the first weight matrix W by the transposed vector of the vector ias, as shown in Equation (6).
  • the subscript T is the transpose vector operator.
  • the hidden layer HL2 executes a part of the value of each element of the vector h, which is the input vector, including a calculation process (called a dropout calculation) that does not reflect the evaluation value of the Q function Q ⁇ bari , so that the output vector is Generate some vector h'.
  • the hidden layer HL2 is an example of a dropout operation layer (Dropout) that implements the first dropout operation.
  • the dropout operation layer is a dropout operation that does not reflect part of the operation result based on the policy information (information related to the policy model) for transitioning the state of the controlled object and the state information of the controlled object in the evaluation value. to implement.
  • the hidden layer HL2 stochastically changes some of the values of each element of the input vector h to 0.
  • the values of elements not changed to 0 may be the same as the values of each element of vector h.
  • the hidden layer HL2 generates a random number (rand) having a value in the range of 0 to 1 for each element of the vector h, and each random number is a preset threshold value. (dropout rate), set the value of the element to 0 and keep the value of the element that does not apply to the above.
  • the hidden layer HL2 then outputs the result of the arithmetic processing as a vector h'.
  • the size of vector h and the size of vector h' are the same.
  • Dropout(.) denotes the function of the dropout operation on the vector.
  • the hidden layer HL3 performs a normalization operation on the input vector h' to generate the output vector h''.
  • the hidden layer HL3 is provided after the hidden layer HL2 that performs the dropout operation described above.
  • the hidden layer HL3 includes a layer normalization layer (Layer normalization) that normalizes the values of the elements included in the output of the hidden layer HL2 (dropout operation layer) based on the output of the hidden layer HL2.
  • Layer normalization Layer normalization
  • hidden layer HL3 performs a normalization operation on vector h′ by calculating the mean and standard deviation of each element of that vector h′ to produce vector h′′, which is the output vector. do.
  • the normalization operation is, for example, a process of dividing the difference between the element value and the average by the standard deviation, as shown in Equation (10).
  • the hidden layer HL3 then outputs the result of the arithmetic processing as a vector h''.
  • the size of vector h and the size of vector h' are the same.
  • Arithmetic processing by the hidden layer HL3 is shown in Equation (9).
  • LayerNorm(.) indicates the function of the normalization operation.
  • An example of a more specific arithmetic expression is shown in Expression (10).
  • the hidden layer HL4 performs an operation of applying an activation function to the vector h'', which is the input vector, to generate the vector h'', which is the output vector.
  • the hidden layer HL4 is provided after the hidden layer HL4 that performs the normalization operation described above.
  • the hidden layer HL4 includes an activation function operational layer that performs an operation that applies a ReLU (Rectified Linear Unit) function, including a ramp function, to the output of the hidden layer HL3 (normalization operational layer).
  • ReLU( ⁇ ) denotes the activation function.
  • An example of a more specific arithmetic expression is shown in Expression (12).
  • Hidden layer HL4 then outputs the result of the arithmetic processing as a vector h'''.
  • the size of vector h'' and the size of vector h''' are the same.
  • Hidden layer HL4 is an example of an identification layer that identifies the output of the layer normalization layer, which is hidden layer HL3.
  • the hidden layer HL5 performs the same arithmetic processing as the hidden layer HL1 described above.
  • the hidden layer HL6 performs the same arithmetic processing as the hidden layer HL2 described above.
  • the hidden layer HL7 performs the same arithmetic processing as the hidden layer HL3 described above.
  • the hidden layer HL8 performs the same arithmetic processing as the hidden layer HL4 described above. Input vectors, output vectors, coefficients of internal calculations, threshold values, sizes of input vectors and output vectors, etc. in each layer from hidden layer HL5 to hidden layer HL8 are different from those in hidden layer HL1 to hidden layer HL4.
  • the hidden layer HL5 uses the vector h''' generated by the hidden layer HL4 as an input vector.
  • the hidden layer HL5 is a second weight calculation layer (Weight) that performs a second weight calculation.
  • the processing in the hidden layer HL5 is the same as the computation processing shown in Equation (6), except that the vector ias in Equation (6) is the vector h''' and the weight matrix used for the second computation is the second weight
  • the processing in the hidden layer HL1 differs from the processing in the hidden layer HL1 in that it is the matrix W and that the vector h in Equation (6) is the vector (h)'.
  • the magnitude and element values of the second weight matrix W may be different from those of the first weight matrix W.
  • the above equations can be applied to each calculation of the hidden layer HL6 to the hidden layer HL8.
  • the processing in the hidden layer HL6 is the same as the arithmetic processing shown in Equation (7), but vector h in Equation (7) is vector (h)′ and vector h′ in Equation (7) is The vector (h')' is different from the processing in the hidden layer HL2.
  • the processing in the hidden layer HL7 is similar to the arithmetic processing shown in Equation (9), except that vector h′ in Equation (9) is vector (h′)′ and vector h′′ in Equation (9) is the vector (h'')', which is different from the processing in the hidden layer HL3.
  • the processing in the hidden layer HL8 is similar to the arithmetic processing shown in Equation (11), except that vector h'' in Equation (11) is vector (h'')'' and vector h It differs from the processing in the hidden layer HL4 in that ''' is vector (h''')'.
  • equations (8), (10), and (12) may be utilized. As a result, the computation of the hidden layer HL8 is completed, and the vector (h''')'' replacing the vector h''' is calculated.
  • the hidden layer HL9 is a third weight operation layer (Weight) that performs a third weight operation.
  • the input vector to the hidden layer HL9 is a vector (h''')' similar to the vector h''' calculated by Equation (13) and Equation (13).
  • the hidden layer HL9 calculates a scalar value using the vector (h''')' and a predetermined weight vector.
  • the scalar value calculated by the hidden layer HL9 is treated as the output of the Q function.
  • the Q function including the above arithmetic processing is used for the arithmetic processing according to the embodiment.
  • the model updating unit 50 refers to the mini-batch stored in the mini-batch storage device 35 and updates the parameters ⁇ 1 , ⁇ 2 and ⁇ .
  • the model updating unit 50 corresponds to an example of model updating means.
  • the parameter ⁇ 1 is the parameter of the first Q-function model.
  • the first Q function model storage device 41 stores the parameter ⁇ 1 .
  • the parameter ⁇ 2 is the parameter of the second Q-function model.
  • a second Q-function model storage device 42 stores the parameter ⁇ 2 .
  • the policy model storage device 21 stores the parameter ⁇ .
  • the Q-function model updating unit 51 updates the parameters ⁇ 1 and ⁇ 2 .
  • the Q function model updating unit 51 corresponds to an example of evaluation model updating means.
  • the policy model update unit 52 updates the parameter ⁇ .
  • the policy model update unit 52 corresponds to an example of policy model update means.
  • the model calculation unit 53 calculates each value of the first Q function model, the second Q function model, and the policy model. For example, when the Q function model update unit 51 updates each of the first Q function model and the second Q function model, the model calculation unit 53 calculates the values of each of the first Q function model, the second Q function model, and the policy model. .
  • the model calculation unit 53 corresponds to an example of model calculation means. For example, the model calculation unit 53 performs a weighting operation on the policy information and the state information, adds noise to the result of the weighting operation, and normalizes the value of the noise-added operation result.
  • a first Q function model and a second Q function model that discriminate the normalized result according to a predetermined discrimination rule and generate an evaluation value indicating the learning situation based on the discrimination result (discrimination result).
  • the model calculator 53 uses the first Q function model and the second Q function model (Q function) to generate an evaluation value indicating the learning status. Details of this will be described later.
  • the parameter storage unit 57 stores hyperparameters used for learning processing.
  • the parameter acquisition unit 58 acquires the above hyperparameters and adds them to the parameter storage unit 57 .
  • a hyperparameter is a parameter determined by a user or the like among parameters used for learning processing. For example, a user or the like designates a scenario, an operation mode, and the like. The above scenarios and operation modes are associated with hyperparameters that can identify them.
  • the learning device 30 uses these hyperparameters to perform learning processing in a desired scenario and operation mode.
  • a parameter G which will be described later, is an example of a hyperparameter.
  • the parameter acquisition unit 58 determines the number of Q functions involved in updating the model, the number of operation layers (dropout operation layers) to which noise is added in the Q functions, and in the Q functions, at least one of the number of layers of the layer normalization layer that normalizes the output based on the output of the preceding layer and the number of times the value propagation calculation is performed according to the operation mode of the controlled object 11. accept and get.
  • FIG. 4 is a flow chart showing an example of the procedure of processing performed by the control system 10 .
  • the control system 10 repeats the processing of FIG.
  • the control system 10 acquires the control parameters (learning process parameter G) associated with the scenario, operation mode, etc. specified by the user or the like using the learning device 30 (step S100). , is stored in the parameter storage unit 57 as a control parameter.
  • This parameter G is an example of a hyperparameter. Under the conditions specified by the parameter G, the control system 10 performs the following processes.
  • the observer 12 observes the controlled object 11 (step S101). For example, the observer 12 observes the controlled object 11 and its surrounding environment.
  • the state estimation device 13 estimates the state of 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 control of the controlled object 11, such as estimating a state including the controlled object 11 and its surrounding environment.
  • control determination device 20 determines the action to be performed in the estimated state according to the state estimated by the state estimation device 13 and the policy model acquired by referring to the policy model storage device 21, A control value corresponding to the determined action is calculated (step S103).
  • control execution device 15 controls the controlled object 11 according to the control value output by the control determination device 20 (step S104).
  • the reward calculation device 14 refers to the state estimated by the state estimation device 13 and the control value output by the control determination device 20, for example, the estimated value of the state of the controlled object 11 and the control value A reward is calculated based on the observation result of the control result or the estimation result of the state based on (step S105).
  • the remuneration calculation device 14 may use the squared error between the control target value on which the control value is based and the detected value based on the observation result to calculate the remuneration.
  • the learning device 30 stores a set of 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 as experience in the experience storage device. 31 and recorded (step S106).
  • the learning device 30 refers 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. , update these models (step S107).
  • 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 updating 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 terminates the processing of FIG. As described above, the control system 10 repeats the series of processes from steps S101 to S107.
  • FIG. 7 is a diagram for explaining an example of a processing procedure for updating the model by the control system 10 of the embodiment.
  • the control system 10 may implement the processing of FIG. 6 using the algorithm shown in FIG.
  • Step S1 The learning device 30 initializes the policy model parameters ⁇ (policy parameters ⁇ ) and the parameters ⁇ 1 and ⁇ 2 of the two dropout Q functions, empties the reproduction buffer D, and replaces the target parameters ⁇ bar1 and ⁇ bar2 with the parameters ⁇ 1 , ⁇ 2.
  • Step S2 The learning device 30 repeats the following processing.
  • Step S3 The learning device 30 determines an action a i based on the probability ⁇ ⁇ ( ⁇
  • the learning device 30 observes the reward r i based on the result of the action a i and the next state s i+1 , and generates experience data that associates these pieces of information.
  • the learning device 30 adds this empirical data to the reproduction buffer D.
  • the empirical data to be added is shown in Equation (14).
  • the added empirical data are, for example, the results obtained by observing events occurring in real time.
  • the learning device 30 stores this in the experience storage device 31 as time history information. Note that each empirical data may be provided with uniquely identifiable identification information k.
  • Step S4 By updating the hyperparameter G, the learning device 30 repeats the processing from step S5 to step S9.
  • Step S5 The learning device 30 extracts a specific mini-batch B associated with the hyperparameter G from the empirical data stored in the reproduction buffer D of the experience storage device 31 .
  • the extracted mini-batch B is shown in equation (15).
  • s, a, r, and s' in this equation (15) correspond to the state s t , action a i , reward r i , and state s t+1 of the empirical data included in the extracted mini-batch B, respectively.
  • This mini-batch B empirical data may include a data set for observed experience over a predetermined period of time.
  • Step S6 Based on the extracted mini-batch B, the learning device 30 calculates the target y of the dropout Q function according to the following equation (16).
  • the dropout Q function is an example of the Q function shown in FIG. 6 above. In the following description, the dropout Q-function is simply called the Q-function.
  • the Q-functions of the embodiments not explicitly stated are not general Q-functions, but dropout Q-functions.
  • the second term on the right side of this equation (16) is an example of a Q function equation to which maximum entropy RL (reinforcement learning) is applied.
  • the second term in parentheses of the second term on the right side is the entropy term.
  • the entropy term is adjusted in magnitude to give an appropriate amount of fluctuation to the value of the so-called Q function of the first term in the parenthesis. As a result, it is possible to suppress falling into local minima compared to general reinforcement learning that uses the Q function of the above equation (4) alone.
  • the fluctuation (noise) added by the dropout Q function described above can be defined as the first noise
  • the fluctuation (noise) due to this entropy term can be defined as the second noise.
  • the target y calculated by the above equation (16) contains the above two fluctuation components (noise).
  • Step S7 The learning device 30 switches the value of the identification variable i between 1 and 2, and controls to perform the calculations of steps S8 and S9, respectively.
  • Step S8 The learning device 30 updates the parameters ⁇ 1 and ⁇ 2 by the steepest descent method using Equation (17).
  • the learning device 30 selects, for example, the one of the two Q functions with the smaller value of the upper expression of the expression (17).
  • the lower part of expression (17) is an expression for updating the parameter ⁇ i using the values of the upper expression.
  • Step S9 The learning device 30 updates the target parameters ⁇ bar1 and ⁇ bar2 using the arithmetic expression shown in Equation (18) and the Q network parameters ⁇ 1 and ⁇ 2, respectively.
  • is a predetermined constant.
  • Step S10 The learning device 30 updates the policy parameter ⁇ using the hill-climbing method using the gradient based on the formula (19).
  • is a predetermined constant.
  • B in Equation (19) is a mini-batch of experiences sampled from an experience storage device that stores experiences.
  • " is the mini-batch size.
  • An "experience” is a state transition that occurred in the past. This experience is represented by (s, a, r, s'), which is a combination of state s, action a for state s, reward r for action a, and next state s' for action a. be done. Equation (15) above shows the experience (s, a, r, s') contained in mini-batch B.
  • the target y changes during the optimization run of the Q-function model because it depends on the parameter ⁇ bar, which changes during learning.
  • ⁇ bar which changes during learning.
  • two Q function models are prepared, the output values are compared, and the smaller output value is used to mitigate the overestimation of the Q function. In other words, this is expected to reduce the time required for learning as the model update stabilizes.
  • 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.
  • Equations (17) to (19) are update rules for the parameters ⁇ i of the Q function model. In an embodiment, it is applied to two parameters ⁇ 1 and ⁇ 2 respectively. Since there are two Q function models, ⁇ bar 1 and ⁇ bar 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.
  • Q ⁇ bar i in equation (18) indicates that the state s′ and the behavior ⁇ ⁇ (s′) obtained by applying the state s′ to the policy ⁇ ⁇ are applied to the Q-function model Q ⁇ bar i .
  • This “Q ⁇ bar i ” indicates the conditional expected value of the accumulated reward when the state s′ is given and the action ⁇ ⁇ (s′) is obtained according to the state s′.
  • the Q-function model Q ⁇ bar i is a model that evaluates (or estimates) the goodness (or value, effectiveness, desirability) of behavior ⁇ ⁇ (s′) in state s′. can. It can be said that the value of the Q-function model Q ⁇ bar i is an index value of the goodness (or value, effectiveness, desirability) of the action ⁇ ⁇ (s′) in the state s′.
  • State s corresponds to an example of the first state.
  • Action a corresponds to an example of the first action.
  • a transition destination state s′ when the controlled object performs action a, which is the first action, in state s, which is the first state, corresponds to an example of the second state.
  • the behavior ⁇ ⁇ (s′) obtained by applying the state s′, which is the second state, to the policy ⁇ ⁇ corresponds to an example of the second behavior.
  • the Q function Q ⁇ bar i corresponds to an example of the second action 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 ⁇ bar i obtained by applying the state s′ and the action ⁇ ⁇ (s′) to the Q function corresponds to an example of the second action evaluation value.
  • the second action evaluation value referred to here is the evaluation value of the second action in the second state.
  • a 2nd action evaluation value is also called a 2nd evaluation value.
  • the Q function model Q ⁇ bar i corresponds to an example of the second action evaluation function model.
  • the second action evaluation function model referred to here is a model of the second action evaluation function. By determining the parameter values of the second action evaluation function model, the second action evaluation function model represents one second action evaluation function.
  • the means for evaluating the second action in the embodiment is not limited to one represented in the form of a function (second action evaluation function).
  • Various means capable of outputting an 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 for the second action may output evaluation values with fluctuations such as white noise.
  • the evaluation means for the second action may output different evaluation values for the same input of the second state and second action.
  • noise is included in the evaluation value (second evaluation value) of the second action in the second state of the embodiment.
  • the Q-function Q ⁇ bar i and the Q-function model Q ⁇ bar i are configured to add randomness to the evaluation value of the second action.
  • the evaluation model for the second action in the embodiment is also not limited to a model indicating a function (second action evaluation function model).
  • the evaluation model of the second action which is not limited to the model representing the function, is called the second action evaluation model, or simply the evaluation model.
  • the Q-function model Q ⁇ bar i is also an example of a function model.
  • the model calculation unit 53 calculates 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 ⁇ ⁇ . Based on _ _ _ )) are calculated using two Q-function models Q ⁇ bar 1 and Q ⁇ bar 2 , respectively, to calculate the Q-function values.
  • state s corresponds to an example of the first state.
  • Action a corresponds to an example of the first action.
  • State s' corresponds to an example of the second state.
  • Action ⁇ ⁇ (s′) corresponds to an example of the second action.
  • the Q function values Q ⁇ bar 1 and Q ⁇ bar 2 correspond to examples of second evaluation values.
  • the Q-function models Q ⁇ bar 1 and Q ⁇ bar 2 are examples of evaluation models.
  • the model update unit 50 updates the Q function models Q ⁇ bar 1 and Q ⁇ bar 2 based on the Q function value Q ⁇ bar 1 or Q ⁇ bar 2 , whichever is smaller, and the reward r.
  • the reward r corresponds to an example of the first evaluation value, which is an index value of the goodness of the action a in the state s.
  • the learning device 30 uses a plurality of Q-function models to learn each Q-function model, so that it is possible to estimate the evaluation of an action using a Q-function having a relatively small value. As a result, overestimation of action evaluation such as overestimation of the Q function model can be mitigated. In this regard, the learning device 30 can reduce the time required for reinforcement learning.
  • the learning device 30 can learn the Q function model by preferentially using the experience of increasing the error of the Q function value, and it is expected that the error can be efficiently improved. In this regard, the learning device 30 can reduce the time required for reinforcement learning.
  • FIG. 8 to 10 are diagrams showing verification results in the embodiment.
  • the distribution in the graph shown in FIG. 8 shows the relationship between the number of interactions with the environment and the average return of reward.
  • the number of interactions with the environment is set on the horizontal axis, and the average reward gain is set on the vertical axis.
  • the sampling efficiency of the reinforcement learning apparatus can be read from the graph of FIG.
  • the shaded area in FIG. 8 indicates the range in which the reward value varies in each interaction.
  • the sample efficiency shown here indicates the overall performance of the learning properties of the reinforcement learning device. In the graph, higher left indicates higher sample efficiency.
  • the solid line indicates the sample efficiency of the comparative example, and the dashed line indicates the sample efficiency of this embodiment. The same applies hereinafter. It can be seen from FIG. 8 that the results of this embodiment (dashed line) are superior to the comparative example (solid line) in terms of sample efficiency.
  • the graph shown in FIG. 9 shows the reduction performance of overestimation-bias.
  • the number of interactions with the environment is set on the horizontal axis, and the average bias between the actual and estimated results is set on the vertical axis. From the graph of FIG. 9, it can be read how much the estimation result of the reinforcement learning device deviates from the actual one.
  • the shaded area in FIG. 9 indicates the range in which the difference between the estimation result of the reinforcement learning device and the actual one varies in each interaction.
  • the graph shown in FIG. 10 shows the reduction performance of the variance of the value of the Q function.
  • the number of interactions with the environment is set on the horizontal axis, and the square root of the variance of the value of the Q function is set on the vertical axis. From the graph of FIG. 10, it can be read whether the estimation of the Q function varies.
  • the shaded area in FIG. 10 indicates the range in which the square root of the variance of the Q function varies in each interaction.
  • the model calculation unit 53 of the learning device 30 calculates the state s′ (second state) corresponding to the action a (first action) in the state s (first state) of the controlled object 11, Shows the evaluation result of the behavior ⁇ ⁇ (s′) in the state s′ based on the behavior ⁇ ⁇ (s′) (second behavior) calculated from the state s ′ using the policy ⁇ ⁇ (policy model).
  • Q function models evaluation models
  • the model updating unit 50 is an index value indicating the smallest Q function value Q ⁇ bar i (second evaluation value) among the plurality of Q function values Q ⁇ bar i (second evaluation value) and the evaluation result of the action a in the state s.
  • the policy ⁇ ⁇ (policy model) or its parameter variable ⁇ is updated based on the reward r (first evaluation value).
  • FIG. 11 is a diagram illustrating an example of a pendulum to be controlled according to the first embodiment.
  • the control system 10 inverts the pendulum as shown in FIG. 11 will be described.
  • FIG. 11 is an elevational view seen from the axial direction of the pendulum.
  • the +X axis is defined to the right in FIG. 11
  • the +Z axis is defined upward in FIG. 11
  • the +Y axis is defined to cross the plane of FIG. 11 and extend in the depth direction.
  • the pendulum axis extends in the Y direction.
  • a pendulum 11A in FIG. 11 corresponds to an example of the controlled object 11 .
  • This pendulum 11A has a motor attached to its shaft, and the movement of the pendulum 11A can be controlled by the motor.
  • the purpose of the first embodiment is to control the motor to invert the pendulum 11A (position POS3 in FIG. 11) within the time limit of 100 seconds, and to maintain the inverted state as long as possible. policy) will be acquired through learning.
  • the observer 12 is a sensor that measures the angle x of the pendulum 11A.
  • the angle is the angle x around the +Y-axis extending in the positive direction of the +Y-axis, the +Z-axis direction as the reference for the angle, and the clockwise rotation direction from the +Z-axis direction to the +X-axis as positive, counterclockwise.
  • the range of the angle x of the pendulum 11A is defined as x ⁇ [- ⁇ , ⁇ ].
  • the state s of the pendulum 11A is represented by the angle x, the angular velocity x', and the angular acceleration x'', and is written as (x, x', x''). Further, in the first embodiment, the position POS1 is 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 zero.
  • the state estimation device 13 estimates the state every 0.1 seconds and outputs state information every 0.1 seconds.
  • a Kalman filter or the like is used as an algorithm for the state estimation device 13 .
  • the control execution device 15 receives the control value c from the control determination device 20 and controls the pendulum 11A.
  • the control value c in the first embodiment is the voltage V applied to the motor, and the value range of the control value c is [-2V, +2V]. It is also assumed that the control execution device 15 keeps applying 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 processing of the control determination device 20 (step S103 in FIG. 4) and the processing of the control execution device 15 (step S104 in FIG. 4) , and the processing of the reward calculation device 14 (step S105 in FIG. 4) are completed.
  • the control value is changed 0.01 seconds after the state estimation device 13 estimates the state.
  • the control decision interval is set to 0.1 seconds, like the state estimation interval.
  • Discrete time labels t 0, 1, 2, 3, . . . , respectively, 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), . . . 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), . . .
  • Let the state vectors estimated for s 0 , s 1 , s 2 , s 3 , . . . is written 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), . . .
  • Control values c 0 , c 1 , c 2 , c 3 , . . . is written as Control values c 0 , c 1 , c 2 , c 3 , . . . denote the behavior of the pendulum 11A indicated by a 0 , a 1 , a 2 , a 3 , . . . is written 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 calculated reward values for r 0 , r 1 , r 2 , r 3 , . . . is written as
  • the control determination device 20 receives the state s from the state estimation device 13, refers to the policy model stored in the policy model storage device 21, calculates the policy model, and transmits the calculation result to the control execution device 15 as the control value c. .
  • the policy model is a fully-connected neural network with two hidden layers, the input layer receiving the state s, and the output layer outputting the control value c. It is also assumed that 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 held in policy model storage device 21 .
  • the experience storage device 31 stores, at each time t, the state s t estimated by the state estimation device 13, the control value c t output by the control determination device 20, the reward value r t output by the reward calculation device 14, and the next time At (t+1), a set of states s t+1 (s t , ct , r t , s t+1 ) estimated by the state estimating device 13, that is, "experience" is recorded successively.
  • the control value c t indicates the behavior a t .
  • Both 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 fully connected two-layer hidden layers, similar to 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 pair of state and control values (s,c) and the output layer outputs the value of Q(s,c).
  • the experience acquisition unit 34 of the learning device 30 samples new experiences and adds them to the experience storage device 31 .
  • the learning device 30 advances the learning process according to the process shown in FIG. 4 or the algorithm shown in FIG.
  • Embodiment 2 describes an example in which the control system 10 automatically controls a VAM (Vinyl Acetate Monomer) plant, which is a type of chemical plant.
  • VAM Vinyl Acetate Monomer
  • the VAM plant simulator is used as the controlled object 11 here, if the VAM plant simulator sufficiently reproduces reality, the controlled object 11 may be replaced with an actual VAM plant after learning the policy model.
  • the second embodiment will be described on the premise that the controlled object 11 is replaced with an actual VAM plant.
  • FIG. 12 is a diagram showing a configuration example of sections in a VAM plant.
  • the VAM plant consists of sections with seven different roles. Section 1 mixes VAM raw materials. A chemical reaction takes place in Section 2 to produce VAM. Sections 3 through 5 perform VAM separation, compression and collection. Distillation and precipitation of VAM are performed in Sections 6-7. The VAM obtained by 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 devices that measure pressure, temperature, flow rate, etc., and about 30 PID controllers (Proportional-Integral-Differential Controllers) that adjust pressure, temperature, flow rate, etc. It is In Example 2, the object is to obtain a policy model that increases the overall profit of this VAM plant.
  • the total revenue is the product profit (VAM) minus the consumption costs (ethylene, acetic acid, oxygen, electricity, water, etc.).
  • the control time of the VAM plant is assumed to be 100 hours, and the ultimate goal is to improve the cumulative total profit during this control time from the value when the initial state continues.
  • the initial state here means 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 is prepared in advance by the VAM plant simulator.
  • Example 2 the observer 12 is configured using approximately 100 pieces of observation equipment described above.
  • the VAM plant simulator used can 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 estimating device 13 estimates physical quantities such as true temperature, pressure, and flow rate from the information of the observer 12, and configures the state. It is assumed that state estimation is performed every 30 minutes, and state information is also output every 30 minutes. For the algorithm of the state estimation device 13, for example, a Kalman filter or the like is used.
  • Reward calculator 14 receives state s from state estimator 13 and calculates the overall return, r(s), described above.
  • the calculation method conforms to the VAM plant simulator.
  • the control implementation device 15 receives the control value c from the control determination device 20 and controls the VAM plant simulator.
  • the control value c in Example 2 is the target value of each PID controller.
  • the control implementer 15 maintains the same setpoint value until it receives a new control value c.
  • the control value c indicates the behavior a of the VAM plant.
  • step S102 in FIG. 4 the processing of the control determination device 20 (step S103 in FIG. 4), the processing of the control execution device 15 (step S104 in FIG. 4), and , the processing of the reward calculation device 14 (step S105 in FIG. 4) is completed.
  • the control value is changed one second after the state estimation by the state estimation device 13 .
  • the control decision interval is 30 minutes, like the state estimation interval.
  • Discrete-time labels t 0, 1, 2, 3, . . . , respectively, as control start time, (control start time+30 minutes later), (control start time+60 minutes later), (control start time+90 minutes later), . . . 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 descriptions thereof are omitted.
  • Example 2 The two effects in Example 2 are the same as in Example 1. As a result, it is possible to acquire a policy model that improves the overall profit with "a small number of experiences" compared to the case where the technology of the present invention is not used, and if the VAM plant simulator sufficiently reproduces reality, the actual VAM plant Applying the policy model to
  • the third embodiment the case where the control system 10 automatically controls the humanoid robot will be described.
  • the third embodiment will also be described with the application of the policy model learned by the simulation to the actual controlled object in mind. That is, here, the controlled object 11 is a humanoid robot on a simulator, and it is considered that the measures obtained using the simulator are applied to an actual humanoid robot.
  • Example 3 the ultimate goal is to acquire a policy model that allows the humanoid robot to continue bipedal walking without falling over 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 Ranging) mounted on the head.
  • the simulator used can acquire important physical quantities that cannot be measured by the observer 12, but they are not used. This is for applying to an actual humanoid robot.
  • the state estimation device 13 estimates the true angle, angular velocity, angular acceleration, torque of each joint, the absolute coordinates of the robot's center of gravity, the speed of the center of gravity, and the load applied to each joint from the information of the observer 12, and configures the state. It is assumed that state estimation is performed every 0.1 seconds, and state information is also output every 0.1 seconds.
  • a Kalman filter, SLAM (Simultaneous Localization And Mapping), or the like is used for example.
  • the reward calculation device 14 calculates the state s output by the state estimation device 13, the control value c output by the control determination device 20, the 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 set (s, c, s') of the state s' after the state transition is input, and the reward function r(s, c, s') is calculated.
  • a control value c indicates the behavior of the robot.
  • the method of calculating rewards conforms to OpenAI's gym. Basically, the higher the speed of the center of gravity of the humanoid robot in the forward direction, the higher the reward. Also, in order to save power as much as possible, points are deducted as the torque of the motor increases. Also, bonus points are given if the center of gravity is maintained at a high position so that the humanoid robot does not fall over.
  • the control execution device 15 receives the control value c from the control determination device 20 and controls the torque of the motor of each joint.
  • the processing of the control determination device 20 step S103 in FIG. 4 and the processing of the control execution device 15 (step S104 in FIG. 4) , and the processing of the reward calculation device 14 (step S105 in FIG. 4) are completed.
  • the control value is changed 0.01 seconds after the state estimation device 13 estimates the state.
  • the control decision interval is set to 0.1 seconds, like the state estimation interval.
  • the discrete time label t is defined in accordance with the state estimation timing 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 descriptions thereof are omitted here.
  • Example 3 The two effects in Example 3 are the same as in Example 1.
  • the policy model is applied to an actual humanoid robot, the same overall profit improvement can be obtained.
  • FIG. 13 is a diagram illustrating a configuration example of a learning device according to the embodiment.
  • learning device 510 includes model calculator 511 and model updater 512 .
  • the model calculation unit 511 calculates 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.
  • a second evaluation value is calculated using a plurality of evaluation models for calculating a second evaluation value, which is an index value of the second action in the state.
  • the model updating unit 512 updates the policy model or the parameters of the policy model based on the smallest second evaluation value among the plurality of second evaluation values and the first evaluation value that is the index value of the first action in the first state.
  • the model calculation unit 511 corresponds to an example of model calculation means.
  • the model updating unit 512 corresponds to an example of model updating means.
  • the model calculation unit 511 of the embodiment intentionally includes noise (fluctuations, randomness) in the second evaluation value.
  • the model calculation unit 511 calculates 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. Using a plurality of evaluation models for calculating a second evaluation value in which noise is included in the index value indicating the evaluation result of the second action in the state, a second evaluation value including noise is calculated.
  • the model updating unit 512 Based on the smallest second evaluation value among the plurality of calculated second evaluation values and the first evaluation value, which is an index value indicating the evaluation result of the first action in the first state, the model updating unit 512 , update the policy model or the parameter ⁇ of the policy model. It goes without saying that the evaluation of the behavior may be applied, for example, the goodness of the behavior or the other indicators mentioned above.
  • the learning device 510 uses a plurality of evaluation functions to perform evaluation function learning, so that an evaluation function with a relatively small value can be used to estimate the evaluation function.
  • overestimation of the evaluation function such as overestimation of the Q function model, can be mitigated.
  • the learning device 510 can reduce the time required for reinforcement learning.
  • the model calculation unit 511 can be realized, for example, using functions such as the model calculation unit 53 illustrated in FIG.
  • the model updater 512 can be implemented using the functions of the model updater 50 and the like illustrated in FIG. 3, for example. Therefore, the learning device 510 can be implemented using the functions of the learning device 30 or the like illustrated in FIG.
  • FIG. 14 is a diagram showing a configuration example of the control system according to the embodiment.
  • the control system 520 includes a model calculator 521 , an evaluation model updater 522 , a policy model updater 523 , a control determiner 524 and a control implementer 525 .
  • the model calculation unit 521 calculates 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.
  • a second evaluation value is calculated using a plurality of evaluation models for calculating a second evaluation value, which is an index value of the goodness of the second action in the state.
  • the evaluation model updating 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 that is the 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 control values using policy models.
  • the control execution unit 525 controls the controlled object based on the control value.
  • the model calculation unit 521 corresponds to an example of model calculation means.
  • the evaluation model updating unit 522 corresponds to an example of evaluation model updating means.
  • the policy model update unit 523 corresponds to an example of policy model update means.
  • the control determination unit 524 corresponds to an example of control determination means.
  • the control execution unit 525 corresponds to an example of control execution means.
  • control system 520 by learning the evaluation function using a plurality of evaluation functions, it is possible to estimate the evaluation function using an evaluation function with a relatively small value. As a result, overestimation of the evaluation function, such as overestimation of the Q function model, can be mitigated. In this regard, the control system 520 can reduce the time required for reinforcement learning.
  • the model calculation unit 521 can be realized, for example, using functions such as the model calculation unit 53 illustrated in FIG.
  • the evaluation model updater 522 can be implemented using functions such as the Q function model updater 51 illustrated in FIG. 3, for example.
  • the policy model updater 523 can be realized, for example, by using the functions of the policy model updater 52 and the like illustrated in FIG.
  • the control determination unit 524 can be implemented using functions such as the control determination device 20 illustrated in FIG. 1, for example.
  • the control execution unit 525 can be implemented using functions such as the control execution device 15 illustrated in FIG. 1, for example.
  • control system 520 may be implemented using features such as control system 10 as illustrated in FIGS. 1-3.
  • FIG. 15 is a diagram illustrating an example of a processing procedure in the learning method according to the embodiment;
  • the learning method shown in FIG. 15 includes a model calculation step (step S511) and a model update step (step S512).
  • the model calculation step (step S511) 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 state A second evaluation value is calculated by using a plurality of evaluation models for calculating a second evaluation value, which is an index value of the goodness of the second action in .
  • the model updating step (step S512) the evaluation model is updated based on the smallest second evaluation value among the plurality of second evaluation values and the first evaluation value that is the index value of the goodness of the first action in the first state. to update.
  • evaluation functions are learned using a plurality of evaluation functions, so that evaluation functions with relatively small values can be used to estimate the evaluation function.
  • overestimation of the evaluation function such as overestimation of the Q function model, can be alleviated.
  • the learning method of FIG. 15 in this respect, it is possible to shorten the time required for reinforcement learning.
  • FIG. 16 is a schematic block diagram showing the configuration of a computer according to at least one embodiment;
  • computer 700 includes CPU 710 , main memory device 720 , auxiliary memory device 730 , interface 740 , and nonvolatile recording medium 750 .
  • Any one or more of the learning device 30 , the learning device 510 , and the control system 520 described above, or a portion thereof, may be implemented in the computer 700 .
  • the operation of each processing unit described above is stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads out the program from the auxiliary storage device 730, develops it in the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 secures storage areas corresponding to the storage units described above in the main storage device 720 according to the program. Communication between each device and another device is performed by the interface 740 having a communication function and performing communication under the control of the CPU 710 .
  • the interface 740 also has a port for the nonvolatile recording medium 750 and reads information from the nonvolatile recording medium 750 and writes information to the nonvolatile recording medium 750 .
  • the operations of the experience acquisition unit 34, the model update unit 50, the Q function model update unit 51, and the policy model update unit 52 are stored in the form of programs in the auxiliary storage device 730. It is The CPU 710 reads out the program from the auxiliary storage device 730, develops it in the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 reserves a storage area corresponding to the mini-batch storage device 35 in the main storage device 720 according to the program. Communication between study device 30 and other devices is performed by interface 740 having a communication function and operating under the control of 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 programs.
  • the CPU 710 reads out the program from the auxiliary storage device 730, develops it in the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 reserves a storage area in the main storage device 720 for processing performed by the learning device 510 according to the program. Communication between study device 510 and other devices is performed by interface 740 having a communication function and operating under the control of 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 execution unit 525 are stored in auxiliary storage in the form of programs. Stored in device 730 .
  • the CPU 710 reads out the program from the auxiliary storage device 730, develops it in the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 reserves a storage area in the main storage device 720 for processing performed by the control system 520 according to the program. Communication between the control system 520 and other devices, such as transmission of control signals from the control execution unit 525 to the controlled object, is performed by the interface 740 having a communication function and operating under the control of the CPU 710 .
  • any one or more of the programs described above may be recorded in the nonvolatile recording medium 750 .
  • the interface 740 may read the program from the nonvolatile recording medium 750 . Then, the CPU 710 directly executes the program read by the interface 740, or it may be temporarily stored in the main storage device 720 or the auxiliary storage device 730 and then executed.
  • a program for executing all or part of the processing performed by learning device 30, learning device 510, and control system 520 is recorded on a computer-readable recording medium, and the program recorded on this recording medium is The processing of each unit may be performed by loading and executing the program on a computer system.
  • the "computer system” referred to here includes hardware such as an OS and peripheral devices.
  • “computer-readable recording medium” refers to portable media such as flexible discs, magneto-optical discs, ROM (Read Only Memory), CD-ROM (Compact Disc Read Only Memory), hard disks built into computer systems It refers to a storage device such as Further, the program may be for realizing part of the functions described above, or may be capable of realizing the functions described above in combination with a program already recorded in the computer system.
  • Embodiments of the present invention may be applied to learning devices, learning methods, control systems, and recording media.
  • Control execution unit 525 Control execution unit

Landscapes

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

Abstract

学習装置は、制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の評価結果を示す指標値にノイズを含ませた第2評価値を算出する評価モデルを複数用いて、ノイズを含む複数の第2評価値をそれぞれ算出するモデル計算部と、前記複数の第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の評価結果を示す指標値である第1評価値とに基づいて、前記方策モデルまたは前記方策モデルのパラメータを更新するモデル更新部とを備える。

Description

学習装置、学習方法、制御システムおよび記録媒体
 本発明は、学習装置、学習方法、制御システムおよび記録媒体に関する。
 機械学習の1つに、最適化したQ関数を用いて方策を決定するQ学習法なる強化学習の手法がある。
 例えば、特許文献1には、Q学習と呼ばれる強化学習を実行して、メンテナンスが求められる対象のメンテナンス範囲の最適化を図ることが記載されている。
国際公開第2021/515930号パンフレット
 強化学習に必要な時間が比較的短く済むことが好ましい。
 本発明の目的の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評価値とに基づいて、前記方策モデルまたは前記方策モデルのパラメータを更新させること、とを実行させるためのプログラムを記録する記録媒体である。
 上記した学習装置、制御システム、学習方法および記録媒体によれば、強化学習に必要な時間の短縮を図ることができる。
実施形態に係る制御システムの構成例を示す図である。 実施形態に係る制御システムのブロック図である。 実施形態に係る評価モデル記憶装置の構成例を示す図である。 実施形態に係る学習装置の構成例を示す図である。 実施形態に係る制御システムが行う処理の手順の例を示すフローチャートである。 実施形態のQ関数のモデルを説明するための図である。 実施形態の1つのQ関数モデルの構成図である。 実施形態の制御システムがモデルを更新する処理手順の例を説明するための図である。 実施形態における検証結果を示す図である。 実施形態における検証結果を示す図である。 実施形態における検証結果を示す図である。 実施例1における制御対象の振り子の例を示す図である。 実施例2に係るVAMプラントにおけるセクションの構成例を示す図である。 実施形態に係る学習装置の構成例を示す図である。 実施形態に係る制御システムの構成例を示す図である。 実施形態に係る学習方法における処理手順の例を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 実施形態に係る制御装置は、例えば、化学プラント(実施例2にて後述)、ロボット(実施例3にて後述)、製造装置、輸送装置等の制御対象を制御する場合に、制御対象に対する制御内容を、強化学習を用いて決定する。制御対象は、該制御内容に従い動作する。制御装置は、例えば。制御を実施する制御システム(図1)にて動作するともいうことができる。
 実施例2にて後述するように、実施形態に係る制御装置は、例えば、化学プラントを制御する制御内容を、強化学習に従い算出された方策モデルに基づき決定する。化学プラントには、温度、圧力および流量等を測定する観測装置が設置されている。制御装置は、観測装置が測定した測定結果に基づき、化学プラントにおける各装置についての制御内容を決定するための方策モデルを決定する。そして、制御装置は、決定した方策モデルに従い制御内容を決定し、決定した内容に従い各装置を制御する。
 実施例3にて後述するように、実施形態に係る制御装置は、例えば、ロボットを制御する制御内容を、強化学習に従い算出された方策モデルに基づき決定する。制御対象のロボットは、複数の関節を有する。ロボットを制御するシステムには、関節の角度等を測定するための観測装置が設置されている。制御装置は、観測装置が測定した測定結果に基づき、ロボットについての制御内容を決定するための方策モデルを決定する。そして、制御装置は、決定した方策モデルに従い制御内容を決定し、決定した内容に従いロボットを制御する。
 実施形態に係る制御装置の適用先は、上述した例に限定されず、例えば、製造工場における製造装置、または、輸送装置等であってもよい。
<用語および概念の説明>
 実施形態の説明をするための用語および概念について説明する。
 強化学習は、マルコフ決定過程(Markov decision process)において状態遷移確率が未知の状況下で、累積報酬(Cumulative Reward)の期待値を最大化する行動決定則(Decision Rule)を得る手法である。行動決定則を、方策(Policy)、または、制御則(Control Rule)とも称する。
 マルコフ決定過程は、「ある状態sのときに、方策πに従い行動aが選択・実行され、状態遷移確率ρ(s’,r|s,a)に従って状態sから状態s’に遷移し、報酬rが与えられる」、という一連の事象が繰り返し行われる過程を表す。
 方策は、確率的に行動を算出するものであってもよい。あるいは、デルタ分布を用いて行動を一意に算出する方策を記述することもできる。行動を一意に算出する方策は決定論的方策と呼ばれ、a=π(s)のように関数にて表される。すなわち、決定論的方策において、状態sにて実施する行動aは、1つに決定される。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における状態sについて、式(3)の値が最大となる方策πは最適方策と呼ばれる。
Figure JPOXMLDOC01-appb-M000003
 ここで、行動aは方策πからサンプリングされるものとし、これをa~π(・|S)と表記する。
 ところで、Q学習法による強化学習は、Q関数を用いて最適な方策(最適方策)を導出するようにQ関数のパラメータを決定する。最適な方策に対応するQ関数を最適Q関数と呼ぶ。Q関数のモデルおよび方策のモデルを用意し、学習を通してQ関数のモデルを最適Q関数に近づけ、そのQ関数のモデルを基に方策のモデルを最適方策に近づける。以下では、Q関数のモデルをQ関数モデルと呼び、方策のモデルを方策モデルと呼ぶことにする。
 例えば、Q関数の値yは式(4)のように示される。
Figure JPOXMLDOC01-appb-M000004
 yを正解ラベルとも称する。
 θは、方策モデルのパラメータである。
 φは、Q関数モデルのパラメータである。上に線を着けたφ(以下、φbarという。)はQ関数モデルの更新を安定化させるためのターゲットパラメータである。ターゲットパラメータφbarには、基本的には過去のφの値が使われ、随時、φの値に更新される。学習中にパラメータφの値が更新され、φを用いたQ関数が変化するのに対し、ターゲットパラメータφbarの値の更新をφの更新に対して遅らせることで、ターゲットyの値の急激な変動を抑えることができ、学習が安定すると期待される。
 パラメータの値を更新することを、パラメータを更新するとも称する。モデルのパラメータが更新されることで、モデルも更新される。ターゲットパラメータは、パラメータの更新に応じて更新される。
 Q関数モデルに、そのパラメータφを明示して「Qφ」と表記している。Q関数モデルQφが示すQ関数を、Q関数Qφとも称する。「Qφ」の「φ」がパラメータ変数である場合、「Qφ」は、パラメータφのQ関数モデルである。一方、「Qφ」の「φ」をパラメータ値である場合、「Qφ」は、パラメータφのQ関数である。
 方策πのパラメータθを明示して「πθ」と表記している。方策モデルπθが示す方策を、方策πθとも称する。「πθ」の「θ」がパラメータ変数である場合、「πθ」は、方策モデルを示す。一方、「πθ」の「θ」がパラメータ変数の値(以降、「パラメータ値」と表す)である場合、「πθ」は、方策を示す。
 実施形態のQ学習法では、Q関数モデルを複数用いて過大推定を緩和させる手法を提供する。
<実施形態における構成>
 図1Aは、実施形態に係る制御システムの構成例を示す図である。図1Bは、実施形態に係る制御システムのブロック図である。
 図1Aに示す構成で、制御システム10は、観測器12、状態推定装置13、報酬計算装置14、制御実施装置15、制御決定装置20、方策モデル記憶装置21、学習装置30、経験記憶装置31、および、評価モデル記憶装置40を備える。
 制御対象11は、制御を受ける対象である。制御可能ないろいろな事物(たとえば、化学プラント、ロボット)を制御対象11とすることができる。制御対象11が、制御システム10の一部となっていてもよい。あるいは、制御対象11が、制御システム10の外部の構成となっていてもよい。
 観測器12は、制御対象11の状態を観測する。観測器12が出力する情報は、制御対象11の状態を示す情報である。制御システム10が化学プラントである場合に、観測器12は、例えば、温度センサー、湿度センサー、圧力センサー等のセンサーである。制御システム10がロボットである場合に、観測器12は、例えば、ロボットおよびロボットの周囲を撮影している撮像装置、ロボットの位置を特定するGPS(Global Positioning system)等の観測機器である。
 状態推定装置13は、観測器12から得た情報を元に制御対象11の状態を推定する。
 制御決定装置20と制御実施装置15は、制御決定手段の例に該当する。
 制御決定装置20は、状態推定装置13が推定する状態と、方策モデル記憶装置21に格納されている方策モデルとを参照して方策モデルと方策πとを選択し、方策πの演算を行って制御値を出力する。方策モデルと方策πの選択について後述する。
 制御実施装置15は、制御決定装置20が出力する制御値に従い、制御対象11を制御する。
 例えば、制御決定装置20は、制御目標と、この制御目標に対する制御対象11の状態とに基づいて、制御目標と状態推定装置13によって推定された状態との差異が減少するように、所定の制御側に基づいて制御値を生成する。制御対象11の状態は、観測器12によって検出された状態、または状態推定装置13によって推定された状態の何れかまたは両方であってよい。図1は、制御対象11の状態として、状態推定装置13によって推定された状態を利用する場合を例示するが、これに制限されない。なお、制御決定装置20は、外部から供給される制御目標を利用してもよく、制御目標を自ら生成してもよく、予め定められている制御目標を利用してもよい。
 さらに、制御決定装置20は、方策モデル記憶装置21を参照して方策モデルを選択し、その方策モデルを用いて、上記の所定の制御側を決定する。
 方策モデル記憶装置21には、状態の入力に対して制御値を出力する方策モデルが格納される。例えば、方策モデル記憶装置21は、パラメータ変数θを含む方策モデルと、パラメータ変数θの値とを記憶する。以降、パラメータ変数θを含む方策モデルのことを方策モデル本体という。方策モデル本体におけるパラメータ変数θに値を設定することで、方策モデルが得られる。この方策モデルは、後述する学習装置30を用いた学習によって登録される。
 報酬計算装置14は、例えば、学習装置30による学習に利用される。報酬計算装置14は、例えばユーザーが指定する「状態に対する点数(報酬)計算則」に従い、報酬を取得する。ただし、報酬計算装置14が報酬を取得する方法は、特定の方法に限定されない。報酬計算装置14が報酬を取得する方法として、状態に応じた報酬を取得可能ないろいろな方法を用いることができる。
 例えば、報酬計算装置14は、報酬を取得する際に、観測器12が出力する情報または状態推定装置13が出力する情報を用いて報酬を計算してよい。
 制御対象11が状態sにあるときに、方策に基づいて行動aが決定される。その状態sの下で行動aが実行されることによって、制御対象11の状態は、状態sから状態s’に遷移する。これに応じて、報酬計算装置14は、状態s’の良否の程度に応じた指標値を算出する。この指標値を報酬と呼ぶ。この点で報酬は、ある状態におけるある行動の良さ(または、有効性、価値、好ましさ)を表す指標値であるということができる。この場合に、報酬が多いほど行動が良く、報酬が少ないほど行動が悪い。
 あるいは、指標値は、ペナルティーであってもよい。この場合に、指標値は、ある状態における行動の不適切さを表す指標であるということができる。この場合に、ペナルティーが多いほど行動が悪く、ペナルティーが少ないほど行動が良い。
 報酬は、第1行動評価値の例に該当する。ここでいう第1行動評価値は、第1状態における第1行動の評価値である。第1行動評価値を第1評価値とも称する。
 学習装置30は、状態推定装置13が出力する状態s、制御決定装置20が出力する制御値による制御対象の行動a、報酬計算装置14が出力する報酬r、および、制御実施装置15の制御による行動a後に状態推定装置13が出力する状態(すなわち状態遷移後の状態s’の組(s,a,r,s’)、「経験」とも表す)を経験記憶装置31に、例えば、逐一追加・記録する。ここでの逐一は、例えば、制御実施装置15が制御対象11に対する制御を行う毎である。学習装置30は、逐一、経験記憶装置31に経験を追加(または記録)しなくてもよい。
 そして、学習装置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関数モデルそれぞれのパラメータを記憶する。
 上記のとおり、共通するQ関数モデル本体に、夫々独立に決定したパラメータ値を適用することで互いに異なる複数のQ関数モデルを構成可能にする場合を例示する。これにより、複数のQ関数モデルは、それぞれ固有の値を出力する。なお、以下の説明の中で、このQ関数モデル本体を用いることに関する説明を省略して、各Q関数モデルを適用することに代えて説明することがある。
 図3は、学習装置30の構成例を示す図である。図3に示す構成で、学習装置30は、経験取得部34、ミニバッチ記憶装置35、モデル更新部50、および、モデル計算部53を備える。モデル更新部50は、Q関数モデル更新部51、および、方策モデル更新部52を備える。
 経験取得部34は、所定の規準に従い、経験記憶装置31から経験をサンプリングしてミニバッチを構成する。なおミニバッチを構成する際、各経験のインデックスも併せる。これはミニバッチ内の経験が経験記憶装置31内のどの経験に対応するのかを確認できるようにするためである。この経験取得部34は、経験取得手段の例に該当する。例えば、上記のサンプリングに係る所定の規準として、例えば、サンプリング対象にする経験数、ミニバッチの大きさ(またはミニバッチ内の経験数)、予め定められたサンプリングの優先度順などの選択基準を適用してよい。予め定められた優先度順には、サンプリングされてからの期間が比較的少ないものを優先させるなどの優先度を利用してもよい。
 実施形態のQ関数のモデルは、上記の複数の関数モデルを組み合わせて構成する。
 図5は、実施形態のQ関数のモデルの例を表す図である。図6は、実施形態の1つのQ関数モデルの構成図である。
 Q関数のモデル530は、複数のQ関数モデルと、評価器534とを備える。
 例えば、複数のQ関数モデルのうちの1番目の第1_Q関数モデルは、Q関数Qφbar1として規定される。2番目の第2_Q関数モデルは、Q関数Qφbar2として規定される。最後のM番目の第M_Q関数モデルは、Q関数QφbarMとして規定される。Q関数モデルの個数Mは、2以上の整数であり、適宜定めてよい。例えば、Mの値を2にすれば、2個のQ関数モデルを利用する構成になり、Mの値を3にすれば、3個のQ関数モデルを利用する構成になる。このようにMの値によって3個以上のQ関数モデルを利用する構成も可能である。以下の実施形態では、説明を簡素化するように2個のQ関数モデルを利用する構成を中心に説明する。
 各Q関数モデルは、ある状態sに関するデータとある行動aに関するデータとを入力データとして用いる。各Q関数モデルは、状態sに関するデータとある行動aに関するデータとに基づいて、Q関数モデルのパラメータを用いた演算を実行して、評価値を夫々算出する。行動aに関するデータは、第1行動に係る方策情報を示すデータの一例であり、状態sに関するデータは、第1状態に係る状態情報に関するデータの一例である。
 例えば、上記の複数のQ関数モデルには、Q関数Qφbar1からQ関数QφbarMに夫々対応付けられた複数の演算ブロックが含まれる。例えば、演算ブロック531には、Q関数Qφbar1が割り当てられ、演算ブロック532には、Q関数Qφbar2が割り当てられ、演算ブロック533には、Q関数QφbarMが割り当てられている。演算ブロック531は、Q関数モデルのパラメータφbar1を用いて規定されたQ関数Qφbar1の演算を実行して、y1を算出する。演算ブロック532は、Q関数モデルのパラメータφbar2を用いて規定されたQ関数Qφbar2の演算を実行して、y2を算出する。演算ブロック533は、Q関数モデルのパラメータφbarMを用いて規定されたQ関数QφbarMの演算を実行して、yMを算出する。y1からyMは、スカラーである。
 評価器534は、夫々算出されたy1からyMの中の最小値を選択して、選択結果をターゲットyとして出力する。
 一般的に、複数のQ関数モデルの個数を増やすと過大推定を緩和する傾向が高まる半面、演算負荷が高くなる。
 本実施形態は複数のQ関数モデルを用いるが、上記のような傾向に対して、Q関数モデルの個数を比較的少なくすることを可能にする事例について説明する。なお、実施形態の説明では、典型的な事例として、Q関数モデルを2つ用いる場合を例示する。
 なお、2つのQ関数モデルの出力値であるy1とy2の中から、より小さい方の出力値を採用することでQ関数の過大推定を緩和する。言い換えると、これにより、モデル更新が安定するため学習に必要な時間が短縮される。
 次に、図6を参照して、1つのQ関数の一例について説明する。ここでは、1番目の第1Q関数モデルに対応する演算ブロック531を例示する。演算ブロック532も、演算ブロック531と同様に構成してよい。
 Q関数Qφbar1は、隠れ層HL1からHL9を有する。この図6に示す左側を入力側、右側を出力側とすると、隠れ層HL1からHL9が、入力側から出力側に直列に配置される。隠れ層HL1からHL9による処理過程は、図6の左から右へと矢印に沿って進む。
 隠れ層HL1は、第1重み演算を実施する第1ウエイト演算層(Weight)である。
 隠れ層HL1に対する入力ベクトルであるベクトルiasは、式(5)に示すように、夫々ベクトルで示される状態sと行動aとを結合して形成される。隠れ層HL1は、ベクトルiasから隠れベクトルhを算出する。例えば、隠れ層HL1は、式(6)に示すように、ベクトルiasの転置ベクトルを、第1重み行列Wにかけることで、隠れベクトルhを算出する。添え字のTは、転置ベクトルの演算子である。
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 隠れ層HL2は、入力ベクトルであるベクトルhの各要素の値の一部を、Q関数Qφbariの評価値に反映させない演算処理(ドロップアウト演算という。)を含めて実行して、出力ベクトルであるベクトルh’を生成する。隠れ層HL2は、第1ドロップアウト演算を実施するドロップアウト演算層(Dropout)の一例である。ドロップアウト演算層は、制御対象の状態を遷移させるための方策情報(方策モデルに係る情報)と、前記制御対象の状態情報とに基づく演算結果の一部を前記評価値に反映させないドロップアウト演算を実施する。
 例えば、隠れ層HL2は、入力されるベクトルhの各要素の値の一部を、確率的に0に変更する。0に変更されない要素の値は、ベクトルhの各要素の値と同じでよい。より具体的には、隠れ層HL2は、ベクトルhの各要素に対して、0~1の範囲の値をとる乱数値(rand)を夫々生成して、夫々の乱数値が予め設定された閾値(dropout rate)よりも下回る場合に、要素の値を0に設定して、上記に該当しない要素の値を維持する。そして、隠れ層HL2は、演算処理の結果を、ベクトルh’として出力する。ベクトルhのサイズとベクトルh’のサイズは同じである。
 例えば、隠れ層HL2による演算処理を式(7)に示す。Dropout(・)は、ベクトルに対するドロップアウト演算の関数を示す。
Figure JPOXMLDOC01-appb-M000007
 ここで、ベクトルhのi番目の要素をhで示し、ベクトルh’のi番目の要素をh’で示すと、上記の関係を、次の式(8)のように定義される。この式(8)に示すように、乱数(rand)の値に基づいて、0に置換される場合がある。0への置換は正規の値に対するノイズ(第1ノイズと呼ぶ。)とみなすことができる。
Figure JPOXMLDOC01-appb-M000008
 隠れ層HL3は、入力ベクトルであるベクトルh’を正規化する演算を実施して、出力ベクトルであるベクトルh’’を生成する。隠れ層HL3は、前述のドロップアウト演算を実施する隠れ層HL2の後段に設けられている。隠れ層HL3は、隠れ層HL2(ドロップアウト演算層)の出力に基づいて、その出力に含まれる要素の値を規格化するレイヤ規格化層(Layer normalization)を含む。
 例えば、隠れ層HL3は、ベクトルh’に対して、そのベクトルh’の各要素の平均および標準偏差を計算して、規格化する演算を実施して、出力ベクトルであるベクトルh’’を生成する。規格化する演算は、式(10)に示すように、例えば、要素の値と平均との差を標準偏差にて割る処理である。そして、隠れ層HL3は、演算処理の結果を、ベクトルh’’として出力する。ベクトルhのサイズとベクトルh’のサイズは同じである。隠れ層HL3による演算処理を式(9)に示す。LayerNorm(・)は、規格化演算の関数を示す。より具体的な演算式の例を、式(10)に示す。式(10)中の|h’|は、ベクトルh’の要素の個数を示す。
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
 隠れ層HL4は、入力ベクトルであるベクトルh’’に対して活性化関数を適用する演算を実施して、出力ベクトルであるベクトルh’’’を生成する。隠れ層HL4は、前述の規格化演算を実施する隠れ層HL4の後段に設けられている。例えば、隠れ層HL4は、隠れ層HL3(規格化演算層)の出力に対して、ランプ関数を含むReLU(Rectified Linear Unit)関数を適用する演算を実施する活性化関数の演算層を含む。隠れ層HL4による演算処理を式(11)に示す。ReLU(・)は、活性化関数を示す。より具体的な演算式の例を、式(12)に示す。そして、隠れ層HL4は、演算処理の結果を、ベクトルh’’’として出力する。ベクトルh’’のサイズとベクトルh''’のサイズは同じである。隠れ層HL4は、隠れ層HL3であるレイヤ規格化層の出力を識別する識別層の一例である。
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000012
 次に、隠れ層HL5から隠れ層HL8について説明する。隠れ層HL5は、前述の隠れ層HL1と同様の演算処理を実施する。隠れ層HL6は、前述の隠れ層HL2と同様の演算処理を実施する。隠れ層HL7は、前述の隠れ層HL3と同様の演算処理を実施する。隠れ層HL8は、前述の隠れ層HL4と同様の演算処理を実施する。隠れ層HL5から隠れ層HL8の各層における入力ベクトルと、出力ベクトルと、内部の演算の係数、閾値、入力ベクトルと出力ベクトルのサイズなどは、隠れ層HL1から隠れ層HL4のものと互いに異なる。
 例えば、隠れ層HL5は、隠れ層HL4によって生成されたベクトルh''’を入力ベクトルとする。隠れ層HL5は、第2重み演算を実施する第2ウエイト演算層(Weight)である。隠れ層HL5における処理は、式(6)に示す演算処理と同様であるが、式(6)のベクトルiasがベクトルh''’である点と、第2演算に用いる重み行列が第2重み行列Wである点と、式(6)のベクトルhがベクトル(h)'である点が、隠れ層HL1における処理とは異なる。第2重み行列Wの大きさと要素の値は、第1重み行列Wのものとは互いに異なるものでよい。
 隠れ層HL6から隠れ層HL8の各演算も同様に、前述の各式を適用できる。
 例えば、隠れ層HL6における処理は、式(7)に示す演算処理と同様であるが、式(7)のベクトルhがベクトル(h)'である点と、式(7)のベクトルh’がベクトル(h’)'である点が、隠れ層HL2における処理とは異なる。
 隠れ層HL7における処理は、式(9)に示す演算処理と同様であるが、式(9)のベクトルh’がベクトル(h’)'である点と、式(9)のベクトルh’’がベクトル(h’’)'である点が、隠れ層HL3における処理とは異なる。
 隠れ層HL8における処理は、式(11)に示す演算処理と同様であるが、式(11)のベクトルh’’がベクトル(h’’)'である点と、式(11)のベクトルh’’’がベクトル(h’’’)'である点が、隠れ層HL4における処理とは異なる。
 なお、前述の式(8)、式(10)、および式(12)の適用に関数する詳細な説明を省略するが、上記の式(7)、式(9)、および式(11)の説明を参照して、式(8)、式(10)、および式(12)を利用するとよい。
 これにより、隠れ層HL8の演算を終えて、ベクトルh''’に代わるベクトル(h''’)’が算出される。
 隠れ層HL9は、第3重み演算を実施する第3ウエイト演算層(Weight)である。
 隠れ層HL9に対する入力ベクトルは、式(13)と式(13)により算出されるベクトルh''’と同様のベクトル(h''’)’である。隠れ層HL9は、ベクトル(h''’)’と、所定の重みベクトルとを用いてスカラー値を算出する。隠れ層HL9が算出するスカラー値はQ関数の出力として扱われる。
Figure JPOXMLDOC01-appb-M000013
 実施形態に係る演算処理には、以上の演算処理を含むQ関数を利用する。
 モデル更新部50は、ミニバッチ記憶装置35が記憶するミニバッチを参照して、パラメータφ、φおよびθを更新する。モデル更新部50は、モデル更新手段の例に該当する。
 上記のように、パラメータφは、第1Q関数モデルのパラメータである。第1Q関数モデル記憶装置41は、パラメータφを記憶する。パラメータφは、第2Q関数モデルのパラメータである。第2Q関数モデル記憶装置42は、パラメータφを記憶する。方策モデル記憶装置21は、パラメータθを記憶する。
 Q関数モデル更新部51は、パラメータφおよびφを更新する。Q関数モデル更新部51は、評価モデル更新手段の例に該当する。
 方策モデル更新部52は、パラメータθを更新する。方策モデル更新部52は、方策モデル更新手段の例に該当する。
 モデル計算部53は、第1Q関数モデル、第2Q関数モデル、方策モデルの各々の値を計算する。例えば、Q関数モデル更新部51が第1Q関数モデル、第2Q関数モデルの各々を更新する際、モデル計算部53は、第1Q関数モデル、第2Q関数モデル、方策モデルの各々の値を算出する。モデル計算部53は、モデル計算手段の例に該当する。例えば、モデル計算部53は、上記の方策情報と上記の状態情報とに対する重み付け演算を実施して、重み付け演算の結果にノイズを付加して、ノイズが付加された演算結果の値を規格化して、規格化された結果を所定の識別規則に従い識別して、その識別の結果(識別結果)に基づいて、学習状況を示す評価値を生成する第1Q関数モデルと第2Q関数モデル(Q関数)を用いる。モデル計算部53は、上記の第1Q関数モデルと第2Q関数モデル(Q関数)を用いて、学習状況を示す評価値を生成する。この詳細については後述する。
 パラメータ記憶部57は、学習処理に利用するハイパーパラメータを記憶する。
 パラメータ取得部58は、上記のハイパーパラメータを取得して、パラメータ記憶部57に追加する。ハイパーパラメータは、学習処理に用いるパラメータの中で、ユーザーなどによって決定されるパラメータである。例えば、ユーザーなどによりシナリオ、動作モードなどが指定される。上記のシナリオ、動作モードには、これを識別可能なハイパーパラメータが対応付けられている。学習装置30は、このハイパーパラメータを用いて、所望のシナリオ、動作モードにおける学習処理を実施する。後述するパラメータGは、ハイパーパラメータの一例である。
 より具体的には、例えば、パラメータ取得部58は、モデル更新に関わるQ関数の個数と、Q関数内のノイズを付加する演算層(ドロップアウト演算層)の層数と、Q関数内で、前段の層の出力に基づいて出力を規格化するレイヤ規格化層の層数と、制御対象11の動作モードに応じて価値伝搬の演算を実施する回数と、の中の少なくとも何れかの情報を受け付けて取得する。
<実施形態における処理>
 図4は、制御システム10が行う処理の手順の例を示すフローチャートである。制御システム10は、図4の処理を繰り返し行う。
 図4の処理で、制御システム10は、ユーザーなどにより指定されるシナリオ、動作モードなどに対応付けられている制御パラメータ(学習処理のパラメータG)を、学習装置30によって取得して(ステップS100)、これを制御パラメータとしてパラメータ記憶部57に格納する。このパラメータGは、ハイパーパラメータの一例である。パラメータGにより特定される条件のもとで、制御システム10は、以下の処理を実施する。
 観測器12は、制御対象11に関する観測を行う(ステップS101)。例えば、観測器12は、制御対象11とその周囲環境とを観測する。
 次に、状態推定装置13は、観測器12の観測情報を元に、制御対象11に関する状態を推定する(ステップS102)。例えば、状態推定装置13は、制御対象11とその周囲環境とを含んだ状態を推定するなど、制御対象11の制御に影響し得る状態を推定する。
 次に制御決定装置20は、状態推定装置13によって推定される状態と、方策モデル記憶装置21とを参照して取得した方策モデルとに従って、上記の推定される状態にて実施する行動を決め、決めた行動に応じた制御値を算出する(ステップS103)。次に、制御実施装置15は、制御決定装置20によって出力される制御値に従い制御対象11の制御を実施する(ステップS104)。
 次に報酬計算装置14は、状態推定装置13によって推定される状態と、制御決定装置20によって出力される制御値とを参照して、例えば制御対象11の状態の推定値と、上記の制御値に基づいた制御の結果の観測結果又は状態の推定結果とに基づいて報酬を算出する(ステップS105)。なお、上記の一例として、報酬計算装置14は、制御値の基となる制御目標値と、観測結果による検出値との自乗誤差を報酬の算出に用いてもよい。
 次に、学習装置30は、状態推定装置13によって推定される状態と、制御決定装置20によって出力される制御値と、報酬計算装置14によって出力される報酬とのセットを、経験として経験記憶装置31に追加、記録する(ステップS106)。
 次に学習装置30は、方策モデル記憶装置21に格納されている方策モデル、評価モデル記憶装置40に格納されているQ関数モデル、および、経験記憶装置31に格納されている経験を参照して、これらのモデルを更新する(ステップS107)。具体的には、方策モデル更新部52は、方策モデル記憶装置21に格納されている方策モデルのパラメータθを更新する。Q関数モデル更新部51は、評価モデル記憶装置40に格納されているQ関数モデルのパラメータφおよびφを更新する。
 ステップS107の後、制御システム10は、図4の処理を終了する。上述したように、制御システム10は、ステップS101からS107までの一連の処理を再度繰り返す。
 図7は、実施形態の制御システム10がモデルを更新する処理手順の例を説明するための図である。制御システム10は、図6の処理を、図7に示すアルゴリズムを用いて実施してもよい。
ステップS1:
 学習装置30は、方策モデルのパラメータθ(policy parameters θ)と、2つのドロップアウトQ関数のパラメータφ1、φ2とを初期化して、再現バッファDを空にして、ターゲットパラメータφbar1、φbar2をパラメータφ1、φ2を用いて設定する。
ステップS2:
 学習装置30は、以下の処理を繰り返す。
ステップS3:
 学習装置30は、状態sにおける方策πθによって定まる確率πθ(・|s)に基づいて行動aを決定し、決定した行動aが実行されるよう制御する。学習装置30は、その行動aの結果に基づいた報酬rと、次の状態si+1を観測して、これらの情報を関連付けた経験データを生成する。学習装置30は、この経験データを再現バッファDに追加する。追加する経験データを、式(14)に示す。追加される経験データは、例えば、実時間で生じた事象を観測して得られた結果になる。学習装置30は、これを時刻歴情報として経験記憶装置31に記憶させる。なお、各経験データは、一意に識別可能な識別情報kが付与されていてもよい。
Figure JPOXMLDOC01-appb-M000014
ステップS4:
 学習装置30は、ハイパーパラメータGの更新により、ステップS5からステップS9までの処理を繰り返す。
ステップS5:
 学習装置30は、経験記憶装置31の再現バッファDに格納されている経験データの中から、ハイパーパラメータGに対応付けられた特定のミニバッチBを抽出する。抽出されたミニバッチBを、式(15)に示す。この式(15)におけるs,a,r,およびs’は、抽出されたミニバッチBに含まれる経験データの状態s、行動ai、報酬r、および状態st+1に夫々対応する。このミニバッチBの経験データは、所定の期間に亘って観測された経験に対するデータセットを含むものであってよい。
Figure JPOXMLDOC01-appb-M000015
ステップS6:
 学習装置30は、抽出されたミニバッチBに基づいて、ドロップアウトQ関数のターゲットyを、次の式(16)に従い計算する。ドロップアウトQ関数とは、前述の図6に示したQ関数の一例である。以下の説明において、ドロップアウトQ関数のことを単にQ関数と呼ぶ。特に明示しない実施形態のQ関数は、一般的なQ関数ではなく、ドロップアウトQ関数のことである。
Figure JPOXMLDOC01-appb-M000016
 この式(16)の右辺第2項は、エントロピー最大強化学習(Maximum entropy RL (reinforcement learning))を適用したQ関数の演算式の一例である。右辺第2項の小括弧内の第2項は、エントロピー項である。このエントロピー項は、同小括弧内の第1項の所謂Q関数の値に適量の揺らぎを付与するように、この項の演算結果の大きさが調整されている。これにより、前述の式(4)のQ関数を単独で用いる一般的な強化学習に比べて、局所解に陥ることを抑制することができる。なお、前述のドロップアウトQ関数によって付加される変動(ノイズ)を第1ノイズと規定して、このエントロピー項による変動(ノイズ)を第2ノイズと規定することができる。上記の式(16)によって算出されるターゲットyには、上記の2つの変動成分(ノイズ)が含まれている。
ステップS7:
 学習装置30は、識別変数iの値を1と2の何れかに切り替えて、夫々ステップS8とステップS9の演算を行うように制御する。
ステップS8:
 学習装置30は、式(17)を用いた最急降下法によって、パラメータφ1、φ2を夫々更新する。学習装置30は、例えば、2つのQ関数のうち式(17)の上段の式の値が小さい方を選択する。式(17)の下段は、上段の式の値を用いたパラメータφiの更新の式である。
Figure JPOXMLDOC01-appb-M000017
ステップS9:
 学習装置30は、式(18)に示す演算式と、Qネットワークパラメータのφ1、φ2を夫々用いて、ターゲットパラメータφbar1、φbar2を夫々更新する。ρは、予め定められた定数である。
Figure JPOXMLDOC01-appb-M000018
ステップS10:
 学習装置30は、式(19)に示す演算式に基づく勾配を使った山登り法を用いて、ポリシーパラメータθを更新する。ρは、予め定められた定数である。
Figure JPOXMLDOC01-appb-M000019
 なお、式(19)中のBは、経験を記憶する経験記憶装置からサンプルされる経験のミニバッチである。「|B|」は、ミニバッチの大きさである。「経験」とは過去に起きた状態遷移のことである。この経験は、状態sと、状態sに対する行動aと、行動aに応じた報酬rと、行動aに応じた次の状態s’とを組み合わせた(s,a,r,s’)で表される。上記の式(15)は、ミニバッチBに含まれる経験(s,a,r,s’)を示す。
 学習中に変化するパラメータφbarにターゲットyが依存することから、Q関数モデルの最適化の実行中にターゲットyは変化する。
 方策モデルπθについて決定論的方策を仮定しており、別の更新則でQφを最大化するaを出力するようにパラメータθが更新される。
 比較例の一般的なQ関数を用いる場合、そのQ関数の学習に時間を要する要因の1つに、Q関数の過大推定問題と呼ばれる問題がある。Q関数の過大推定で問題となるのは式(4)のQφbar(s’,πθ(s’))の部分である。ターゲットパラメータφbarおよび同期元のパラメータφが、方策πθに関する累積報酬の期待値としての真のQ関数Qπθを適切に近似できていない場合、πθ(s)が「適切に近似ができていないQφを最大化するaを出力する」ため、Q関数モデルの出力値が真のQ関数の出力値よりも大きくなるような過大バイアスが入ってしまう。
 そこで、実施形態では、2つのQ関数モデルを用意し、出力値を比較して小さい方の出力値を採用することでQ関数の過大推定を緩和する。言い換えると、これにより、モデル更新が安定するため学習に必要な時間が短縮されると期待される。
 実施形態では、同じQ関数モデル本体に異なるパラメータ値を適用することで、複数のQ関数モデルを構成する場合を例に説明する。
 式(17)から(19)まではQ関数モデルのパラメータφiの更新則である。実施形態では、2つのパラメータφ、φに夫々適用される。Q関数モデルが2つになるのでターゲットパラメータもそれぞれφbar、φbarが用いられ、出力値の小さい方のターゲットパラメータが教師信号の計算に使われる。
 式(18)の「Qφbar」は、状態s’と、状態s’を方策πθに適用して得られる行動πθ(s’)とをQ関数モデルQφbarに適用することを示している。この「Qφbar」は、状態s’が与えられ、状態s’に応じて行動πθ(s’)が得られた場合の、累積報酬の条件付き期待値を示す。この点で、Q関数モデルQφbarは、状態s’における行動πθ(s’)の良さ(または、価値、有効性、好ましさ)を評価(または、推定)するモデルであるということができる。Q関数モデルQφbarの値は、状態s’における行動πθ(s’)の良さ(または、価値、有効性、好ましさ)の指標値であるということができる。
 状態sは、第1状態の例に該当する。行動aは、第1行動の例に該当する。制御対象が、第1状態である状態sにて第1行動である行動aを行った場合の遷移先の状態s’は、第2状態の例に該当する。第2状態である状態s’を方策πθに適用して得られる行動πθ(s’)は、第2行動の例に該当する。
 Q関数Qφbarは、第2行動評価関数の例に該当する。ここでいう第2行動評価関数は、第2状態における第2行動の評価値を算出する関数である。
 Q関数に状態s’と行動πθ(s’)と適用したQ関数値Qφbarは、第2行動評価値の例に該当する。ここでいう第2行動評価値は、第2状態における第2行動の評価値である。第2行動評価値を第2評価値とも称する。
 Q関数モデルQφbarは、第2行動評価関数モデルの例に該当する。ここでいう第2行動評価関数モデルは、第2行動評価関数のモデルである。第2行動評価関数モデルのパラメータ値が定まることで、第2行動評価関数モデルが、1つの第2行動評価関数を示す。
 ただし、実施形態における第2行動の評価手段は、関数の形式で示されるもの(第2行動評価関数)に限定されない。第2状態と第2行動との入力に対して第2行動の評価値を出力可能ないろいろな手段を、第2行動の評価手段として用いることができる。例えば、第2行動の評価手段が、ホワイトノイズなどの揺らぎを持った評価値を出力するものであってもよい。この場合、第2行動の評価手段が、同じ第2状態および第2行動の入力に対して異なる評価値を出力するものであってもよい。このように、実施形態の第2状態における第2行動の評価値(第2評価値)にはノイズが含まれる。Q関数Qφbarと、Q関数モデルQφbarは、夫々上記の第2行動の評価値に乱雑さを付加するように構成されている。
 第2行動の評価手段が、関数の形式で示されるものに限定されないことから、実施形態における第2行動の評価モデルも、関数を示すモデル(第2行動評価関数モデル)に限定されない。このように、関数を表すモデルに限定されない第2行動の評価モデルを、第2行動評価モデル、または単に評価モデルと称する。
 Q関数モデルQφbarは、関数モデルの例にも該当する。
 以上のように、モデル計算部53は、制御対象11の状態sにおける行動aに応じた状態s’と、状態s’から方策モデルπθを用いて算出される行動πθ(s’)とに基づいて、状態s’における行動πθ(s’)の良さの指標値であるQ関数値Qφbar(s’,πθ(s’))およびQφbar(s’,πθ(s’))を算出する2つのQ関数モデルQφbarおよびQφbarを用いて、それぞれQ関数値を算出する。
 上述したように、状態sは、第1状態の例に該当する。行動aは、第1行動の例に該当する。状態s’は、第2状態の例に該当する。行動πθ(s’)は、第2行動の例に該当する。Q関数値QφbarおよびQφbarは、第2評価値の例に該当する。Q関数モデルQφbarおよびQφbarは、評価モデルの例に該当する。
 モデル更新部50は、Q関数値QφbarおよびQφbarのうち何れか小さい方のQ関数値と、報酬rとに基づいて、Q関数モデルQφbarおよびQφbarを更新する。報酬rは、状態sにおける行動aの良さの指標値である第1評価値の例に該当する。
 このように、学習装置30では、複数のQ関数モデルを用いて各Q関数モデルの学習を行うことで、値が比較的小さいQ関数を用いて行動の評価を推定することができる。これにより、Q関数モデルの過大推定など行動の評価が過大に推定されることを緩和することができる。学習装置30によれば、この点で、強化学習に必要な時間の短縮を図ることができる。
 これにより、学習装置30は、Q関数値の誤差が大きくなる経験を優先的に用いてQ関数モデルの学習を行うことができ、誤差を効率的に改善できることが期待される。
 学習装置30によれば、この点で、強化学習に必要な時間の短縮を図ることができる。
 次に、図8から図10を参照して、実施形態の検証結果について説明する。図8から図10は、実施形態における検証結果を示す図である。
 図8に示すグラフ内の分布は、環境とのインタラクション回数と報酬の平均利得(Average return)との関係を示す。図8に示すグラフにおいて、環境とのインタラクション回数が横軸に、報酬の平均利得が縦軸に設定されている。この図8のグラフから強化学習装置のサンプル効率が読み取れる。図8内の網掛けは、各インタラクションにおいて報酬の値がばらついた範囲を示す。
 例えば、報酬の平均利得が所定値に達するまでのサンプリング回数、つまり環境とのインタラクション回数がより少ない方が、より効率よく強化学習装置の学習が進行していることになる。ここに示されたサンプル効率は、強化学習装置の学習特性の全体的な性能を示す。グラフ内で、より左上にあるほど、サンプル効率が高いことを示す。
 実線が比較例のサンプル効率を示し、破線が本実施形態のサンプル効率を示す。以下同様である。図8から、本実施形態の結果(破線)は比較例(実線)よりもサンプル効率の点で優れていることが分かる。
 図9に示すグラフは、過大評価バイアス(overestimation-bias)の削減性能を示す。図9に示すグラフにおいて、環境とのインタラクション回数が横軸に、実際と推定結果との差の平均(average bias)が縦軸に設定されている。この図9のグラフから、強化学習装置の推定結果が実際のものからどれだけずれているかが読み取れる。図9内の網掛けは、各インタラクションにおいて、強化学習装置の推定結果と、実際のものとの差異がばらついた範囲を示す。
 例えば、この縦軸の値が0に近い方が、より正しく推定できていることを示し、より早く0に近づく方が、実際と推定結果との差がより早く削減する性能(削減性能という。)を有することになる。図9から、本実施形態は比較例よりも過大評価バイアスの削減性能が優れていることが分かる。
 図10に示すグラフは、Q関数の値の分散(Variance)の削減性能を示す。図10に示すグラフにおいて、環境とのインタラクション回数が横軸に、Q関数の値の分散(Variance)の平方根が縦軸に設定されている。この図10のグラフから、Q関数の推定がばらついているかが読み取れる。図10内の網掛けは、各インタラクションにおいて、Q関数の分散の平方根がばらついた範囲を示す
 例えば、バイアスの標準偏差が0に近いほど、Q関数の値の分散の削減性能が高くなる。図10から、環境とのインタラクション回数が少ないうちは、実施形態の方が比較例よりもQ関数の値の分散の削減性能が高いことが分かる。
 上記の実施形態によれば、学習装置30のモデル計算部53は、制御対象11の状態s(第1状態)における行動a(第1行動)に応じた状態s’(第2状態)と、状態s’から方策πθ(方策モデル)を用いて算出される行動πθ(s’)(第2行動)とに基づいて、状態s’における行動πθ(s’)の評価結果を示す指標値にノイズを含ませたQ関数値Qφbar(第2評価値)を算出するQ関数モデル(評価モデル)を複数用いて、ノイズを含むQ関数値Qφbar(第2評価値)をそれぞれ算出する。モデル更新部50は、複数のQ関数値Qφbar(第2評価値)のうち最も小さいQ関数値Qφbar(第2評価値)と、状態sにおける行動aの評価結果を示す指標値である報酬r(第1評価値)とに基づいて、方策πθ(方策モデル)またはそのパラメータ変数θを更新する。
 以下、幾つかの具体的な適用例を例示して、その実施例を説明する。
 図11は、実施例1における制御対象の振り子の例を示す図である。
 実施例1では、制御システム10が、図11のような振り子を倒立させる例について説明する。図11は、振り子の軸方向から見た立面図である。例えば、図11の右向きに+X軸、図11の上向きに+Z軸、図11の面に交差して奥行き方向に+Y軸を定める。振り子の軸は、Y方向に延伸している。図11の振り子11Aは、制御対象11の例に該当する。この振り子11Aは軸にモーターが付いており、振り子11Aの動きをモーターで制御できる。
 ここで、実施例1の目的は、モーターの制御により、制限時間100秒の間に振り子11Aを倒立させ(図11の位置POS3)、倒立状態をできるだけ長く継続する自動制御則(自動制御のための方策)を学習により獲得することとする。
 ただし、このモーターのトルクはあまり強くなく、例えば振り子11Aを位置POS1から直接位置POS3へ移動させて倒立させることはできない。このため、位置POS1にある振り子11Aを倒立させるには、まずトルクを掛けて例えば位置POS2まで移動させある程度位置エネルギーを蓄えてから、逆方向に適度なトルクを掛けて位置POS3まで持っていく必要がある。
 実施例1では、特に断らない場合は、「π」は円周率を示し、「x」は角度を示す。
 実施例1では、観測器12は振り子11Aの角度xを測定するセンサーである。ここで角度は+Y軸の正の向きに延伸する+Y軸周りの角度xを、+Z軸方向を角度の基準として、+Z軸方向から+X軸に向かう時計回りの回転方向を正に、反時計回りの回転方向を負にとることで、振り子11Aの角度xの範囲を、x∈[-π,π]と定義する。なお、図11の位置POS1はx=-5π/6に相当する。位置POS2はx=5π/12に相当する。位置POS3はx=0に相当する。
 振り子11Aの状態sを、角度x、角速度x′、および、角加速度x”で表すものとし、(x,x′,x”)と表記する。また、実施例1では位置POS1を振り子11Aの初期位置とし、初期角度-5π/6とする。初期角速度、初期角加速度は共に0とする。
 状態推定装置13は観測器12のセンサー情報から真の軸の角度x、角速度x′、角加速度x”を推定し、状態s=(x,x′,x”)の情報を構成する。状態推定装置13は、0.1秒毎に状態推定を行い、状態の情報を0.1秒毎に出力するものとする。状態推定装置13のアルゴリズムとして例えばカルマンフィルタ等を使うこととする。
 報酬計算装置14は状態推定装置13から状態sの情報を受け取り、報酬関数r(s)=-xを算出する。この報酬関数は実施例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の経験取得部34は、新たな経験をサンプリングして、経験記憶装置31に追加する。
 学習装置30は、前述の図4に示した処理、または図7示したアルゴリズムに従って学習処理を進める。
 本実施形態の技術によれば、上記の「倒立振り子」問題において、本実施形態の技術を使用しない場合と比較して「少ない経験数」で倒立する方策モデルを獲得できる。
 実施例2では、制御システム10が、化学プラントの一種であるVAM(Vinyl Acetate Monomer)プラントの自動制御を行う例について説明する。
 ここではVAMプラントシミュレータを制御対象11とするが、VAMプラントシミュレータが十分現実を再現している場合は、方策モデルを学習後に制御対象11を実際のVAMプラントに置き換えて適用してもよい。実施例2では、制御対象11を実際のVAMプラントに置き換えることを前提に説明をする。
 図12は、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の場合と同様である。その結果として、本発明技術を使用しない場合と比較して「少ない経験数」で人型ロボットが転ばずに二足歩行する方策モデルを獲得でき、人型ロボットモデルが十分現実を再現している場合は、実際の人型ロボットに方策モデルを適用しても同等の全体収益改善を出すことができる。
 図13は、実施形態に係る学習装置の構成例を示す図である。図13に示す構成で、学習装置510は、モデル計算部511と、モデル更新部512とを備える。
 かかる構成で、モデル計算部511は、制御対象の第1状態における第1行動に応じた第2状態と、第2状態から方策モデルを用いて算出される第2行動とに基づいて、第2状態における第2行動の指標値である第2評価値を算出する評価モデルを複数用いて、第2評価値をそれぞれ算出する。モデル更新部512は、複数の第2評価値のうち最も小さい第2評価値と、第1状態における第1行動の指標値である第1評価値とに基づいて、方策モデルまたは方策モデルのパラメータθを更新する。
 モデル計算部511は、モデル計算手段の例に該当する。モデル更新部512は、モデル更新手段の例に該当する。
 上記の通り、実施形態のモデル計算部511は、敢えてノイズ(揺らぎ、乱雑さ)を第2評価値に含ませている。換言すれば、モデル計算部511は、制御対象の第1状態における第1行動に応じた第2状態と、第2状態から方策モデルを用いて算出される第2行動とに基づいて、第2状態における第2行動の評価結果を示す指標値にノイズを含ませた第2評価値を算出する評価モデルを複数用いて、ノイズを含む第2評価値をそれぞれ算出する。モデル更新部512は、それぞれ算出された複数の第2評価値のうち最も小さい第2評価値と、第1状態における第1行動の評価結果を示す指標値である第1評価値とに基づいて、方策モデルまたは方策モデルのパラメータθを更新する。行動の評価に、例えば行動の良さまたは前述の他の指標を適用してよいことはいうまでもない。
 このように、学習装置510では、複数の評価関数を用いて評価関数の学習を行うことで、値が比較的小さい評価関数を用いて評価関数を推定することができる。これにより、例えばQ関数モデルの過大推定など、評価関数が過大に推定されることを緩和することができる。学習装置510によれば、この点で、強化学習に必要な時間の短縮を図ることができる。
 モデル計算部511は、例えば、図3に例示されているようなモデル計算部53等の機能を用いて実現することができる。モデル更新部512は、例えば、図3に例示されているようなモデル更新部50等の機能を用いて実現することができる。よって、学習装置510は、図3に例示されているような学習装置30等の機能を用いて実現することができる。
 図14は、実施形態に係る制御システムの構成例を示す図である。図14に示す構成で、制御システム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等の機能を用いて実現することができる。
 図15は、実施形態に係る学習方法における処理手順の例を示す図である。図15に示す学習方法は、モデル計算工程(ステップS511)と、モデル更新工程(ステップS512)をと含む。
 モデル計算工程(ステップS511)では、制御対象の第1状態における第1行動に応じた第2状態と、第2状態から方策モデルを用いて算出される第2行動とに基づいて、第2状態における第2行動の良さの指標値である第2評価値を算出する評価モデルを複数用いて、それぞれ第2評価値を算出する。モデル更新工程(ステップS512)では、複数の第2評価値のうち最も小さい第2評価値と、第1状態における第1行動の良さの指標値である第1評価値とに基づいて、評価モデルを更新する。
 図15の学習方法では、複数の評価関数を用いて評価関数の学習を行うことで、値が比較的小さい評価関数を用いて評価関数を推定することができる。これにより、Q関数モデルの過大推定など、評価関数が過大に推定されることを緩和することができる。図15の学習方法によれば、この点で、強化学習に必要な時間の短縮を図ることができる。
 図16は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 図16に示す構成で、コンピュータ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、モデル更新部50、Q関数モデル更新部51、および、方策モデル更新部52の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、ミニバッチ記憶装置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 経験記憶装置
 34 経験取得部
 35 ミニバッチ記憶装置
 40 評価モデル記憶装置
 41 第1Q関数モデル記憶装置
 42 第2Q関数モデル記憶装置
 50、512 モデル更新部
 51 Q関数モデル更新部
 52、523 方策モデル更新部
 53、511、521 モデル計算部
 522 評価モデル更新部
 524 制御決定部
 525 制御実施部

Claims (10)

  1.  制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の評価結果を示す指標値にノイズを含ませた第2評価値を算出する評価モデルを複数用いて、ノイズを含む第2評価値をそれぞれ算出するモデル計算部と、
     前記それぞれ算出された複数の第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の評価結果を示す指標値である第1評価値とに基づいて、前記方策モデルまたは前記方策モデルのパラメータを更新するモデル更新部と
     を備える学習装置。
  2.  前記モデル計算部は、
     前記方策モデルに係る情報と前記第1状態に係る状態情報と前記第2状態に係る状態情報とに基づく演算結果に前記ノイズを含ませた前記第2評価値を算出する、
     請求項1に記載の学習装置。
  3.  前記モデル計算部は、
     前記ノイズを含ませる演算と、前記ノイズを含ませた演算結果を規格化する演算とを実施する
     請求項1に記載の学習装置。
  4.  前記モデル計算部は、
     前記ノイズを含ませた演算結果をレイヤ規格化層(Layer normalization)を用いて規格化する
     請求項1に記載の学習装置。
  5.  前記モデル計算部は、
     前記第1行動に係る方策情報と前記第1状態に係る状態情報とに対する重み付け演算を実施して、
     前記重み付け演算の結果にノイズを付加して、
     前記ノイズが付加された演算結果の値を規格化して、
     前記規格化された結果を所定の識別規則に従い識別して、
     前記識別結果に基づいて、学習状況を示す評価値を生成する
     請求項1に記載の学習装置。
  6.  前記モデル計算部は、
     前記方策情報と前記第1状態に係る状態情報とに対する重み付け演算を実施して、
     前記重み付け演算の結果にノイズを付加して、
     前記ノイズが付加された演算結果の値を規格化して、
     前記規格化された結果を所定の識別規則に従い識別して、
     前記識別結果に基づいて、前記学習状況を示す評価値を生成するQ関数を用いて、前記学習状況を示す評価値を生成する
     請求項5に記載の学習装置。
  7.  前記更新に関わるQ関数の個数と、
     前記Q関数内の前記ノイズを付加する演算層の層数と、
     前記Q関数内で、前段の層の出力に基づいて前記出力を規格化するレイヤ規格化層の層数と、
     前記制御対象の動作モードに応じて価値伝搬の演算を実施する回数と、の中の少なくとも何れかの情報を受け付けるパラメータ取得部
     を備え、
     前記モデル計算部は、
     前記受け付けた情報を用いて前記価値伝搬の演算を実施する
     請求項1に記載の学習装置。
  8.  制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の評価結果を示す指標値にノイズを含ませた第2評価値を算出する評価モデルを複数用いて、ノイズを含む第2評価値をそれぞれ算出するモデル計算手段と、
     前記それぞれ算出された複数の第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の評価結果を示す指標値である第1評価値とに基づいて、前記方策モデルまたは前記方策モデルのパラメータを更新するモデル更新手段と
     を備える制御システム。
  9.  コンピュータが、
     制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の評価結果を示す指標値にノイズを含ませた第2評価値を算出する評価モデルを複数用いて、ノイズを含む第2評価値をそれぞれ算出し、
     前記それぞれ算出された複数の第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の評価結果を示す指標値である第1評価値とに基づいて、前記方策モデルまたは前記方策モデルのパラメータを更新すること、
     を含む学習方法。
  10.  コンピュータに、
     制御対象の第1状態における第1行動に応じた第2状態と、前記第2状態から方策モデルを用いて算出される第2行動とに基づいて、前記第2状態における前記第2行動の評価結果を示す指標値にノイズを含ませた第2評価値を算出する評価モデルを複数用いて、ノイズを含む第2評価値をそれぞれ算出させることと、
     前記それぞれ算出された複数の第2評価値のうち最も小さい第2評価値と、前記第1状態における前記第1行動の評価結果を示す指標値である第1評価値とに基づいて、前記方策モデルまたは前記方策モデルのパラメータを更新させること、
     とを実行させるためのプログラムを記録する記録媒体。
PCT/JP2021/036673 2021-10-04 2021-10-04 学習装置、学習方法、制御システムおよび記録媒体 WO2023058094A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/036673 WO2023058094A1 (ja) 2021-10-04 2021-10-04 学習装置、学習方法、制御システムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/036673 WO2023058094A1 (ja) 2021-10-04 2021-10-04 学習装置、学習方法、制御システムおよび記録媒体

Publications (1)

Publication Number Publication Date
WO2023058094A1 true WO2023058094A1 (ja) 2023-04-13

Family

ID=85804000

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/036673 WO2023058094A1 (ja) 2021-10-04 2021-10-04 学習装置、学習方法、制御システムおよび記録媒体

Country Status (1)

Country Link
WO (1) WO2023058094A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117807410A (zh) * 2024-02-29 2024-04-02 东北大学 转钢辊道设定速度的确定方法及装置、存储介质、终端
CN117807410B (zh) * 2024-02-29 2024-05-31 东北大学 转钢辊道设定速度的确定方法及装置、存储介质、终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BA BA JIMMY JIMMY LEI LEI, KIROS JAMIE RYAN, HINTON GEOFFREY E: "Layer normalization", ARXIV.ORG, 21 July 2016 (2016-07-21), XP093055520, DOI: 10.48550/arXiv.1607.06450 *
SCOTT FUJIMOTO; HERKE VAN HOOF; DAVID MEGER: "Addressing Function Approximation Error in Actor-Critic Methods", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 26 February 2018 (2018-02-26), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081235924 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117807410A (zh) * 2024-02-29 2024-04-02 东北大学 转钢辊道设定速度的确定方法及装置、存储介质、终端
CN117807410B (zh) * 2024-02-29 2024-05-31 东北大学 转钢辊道设定速度的确定方法及装置、存储介质、终端

Similar Documents

Publication Publication Date Title
JP7258965B2 (ja) ニューラルネットワークを使用する強化学習のための行動選択
JP4495703B2 (ja) 水中ロボットの動作制御方法、装置及びプログラム
US20110288835A1 (en) Data processing device, data processing method and program
CN113168566A (zh) 通过使用熵约束来控制机器人
KR101234797B1 (ko) 로봇 및 산출된 공분산을 이용한 로봇의 위치 추정 방법
JP2007317165A (ja) 自律移動ロボットの動作計画方法、自律移動ロボットの動作計画方法を利用した自律移動ロボットの制御方法、自律移動ロボットの動作計画装置、自律移動ロボットの動作計画プログラム及びその記録媒体、自律移動ロボットの制御プログラム
CN111857107B (zh) 基于学习组件库的辅助型移动机器人导航控制系统和方法
KR20220137732A (ko) 적응형 리턴 계산 방식을 사용한 강화 학습
CN113052372A (zh) 一种基于深度强化学习的动态auv追踪路径规划方法
CN116324818A (zh) 使用增强时间差异学习训练强化学习智能体
CN115280322A (zh) 使用学习的隐藏状态规划作用因素控制
CN111830822A (zh) 配置与环境交互的系统
WO2023058094A1 (ja) 学習装置、学習方法、制御システムおよび記録媒体
Hafez et al. Efficient intrinsically motivated robotic grasping with learning-adaptive imagination in latent space
Serrano-Pérez et al. Offline robust tuning of the motion control for omnidirectional mobile robots
Akella et al. Safety-Critical Controller Verification via Sim2Real Gap Quantification
EP3739418A1 (en) Method of controlling a vehicle and apparatus for controlling a vehicle
Viswanadhapalli et al. Deep reinforcement learning with reward shaping for tracking control and vibration suppression of flexible link manipulator
WO2021140698A1 (ja) 情報処理装置、方法及びプログラム
WO2022049672A1 (ja) 学習装置、学習方法、制御システムおよび記録媒体
Gabel et al. Bridging the gap: Learning in the RoboCup simulation and midsize league
WO2020235061A1 (ja) 動作規則決定装置、動作規則決定方法および記録媒体
CN115167102A (zh) 一种基于并行优势动作评价的强化学习自适应pid控制方法
CN115081612A (zh) 用以改进机器人策略学习的设备和方法
CN114063436A (zh) 一种水面机器人抗干扰控制方法、系统、设备及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21959837

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023552419

Country of ref document: JP

Kind code of ref document: A