WO2023026342A1 - 動作規則決定装置、動作規則決定方法および記録媒体 - Google Patents

動作規則決定装置、動作規則決定方法および記録媒体 Download PDF

Info

Publication number
WO2023026342A1
WO2023026342A1 PCT/JP2021/030873 JP2021030873W WO2023026342A1 WO 2023026342 A1 WO2023026342 A1 WO 2023026342A1 JP 2021030873 W JP2021030873 W JP 2021030873W WO 2023026342 A1 WO2023026342 A1 WO 2023026342A1
Authority
WO
WIPO (PCT)
Prior art keywords
evaluation function
learning
controlled object
evaluation
rule
Prior art date
Application number
PCT/JP2021/030873
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/030873 priority Critical patent/WO2023026342A1/ja
Priority to JP2023543506A priority patent/JPWO2023026342A5/ja
Publication of WO2023026342A1 publication Critical patent/WO2023026342A1/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 an operation rule determination device, an operation rule determination method, and a recording medium.
  • conditions regarding the operation may be set.
  • the reinforcement learning method described in Patent Literature 1 when the time interval at which the state of the object to be controlled is measured differs from the time interval at which the action of the object is determined, the past state is predicted and predicted. Calculate the degree of risk against the constraint for the state obtained. Then, in this reinforcement learning method, the search range for the current action on the control target is specified according to the calculated risk and the degree of influence of the current action on the state for which the risk was calculated. Decide on action.
  • An example of the object of the present invention is to provide a motion rule determination device, motion rule determination method, and recording medium that can solve the above-described problems.
  • the operation rule determination device determines, from the first evaluation function reflecting the conditions regarding the operation of the controlled object, the difference in the evaluation function between time steps for the evaluation of the operation of the controlled object.
  • an evaluation function setting unit that sets a second evaluation function changed so that the value of and a learning unit that learns the operation rule of the controlled object using
  • the computer evaluates between time steps for evaluation of the operation of the controlled object from a first evaluation function in which conditions regarding the operation of the controlled object are reflected. setting a second evaluation function modified to reduce the difference between the functions, learning the operation rule of the controlled object using the second evaluation function, and using the learning result and the first evaluation function; and learning the operation rule of the controlled object.
  • the recording medium provides a computer with an evaluation function between time steps for evaluating the operation of the controlled object from the first evaluation function reflecting conditions regarding the operation of the controlled object. setting a second evaluation function modified to reduce the difference; learning an operation rule of the controlled object using the second evaluation function; and using the learning result and the first evaluation function.
  • a recording medium recording a program for executing learning of the operation rule of the controlled object.
  • the operation rule determination device in learning the operation rule of the controlled object, when the learning becomes relatively difficult due to the setting of the conditions related to the operation, the degree of difficulty of learning measures can be taken to mitigate
  • FIG. 10 is a diagram showing an example of the first turn of the first episode;
  • FIG. 10 is a diagram showing an example of the second turn of the first episode;
  • FIG. 10 is a diagram showing an example of the third turn of the first episode;
  • FIG. 10 is a diagram showing an example of the first turn of the second episode;
  • FIG. 10 is a diagram showing an example of the second turn of the second episode;
  • It is a figure which shows the example of the historical information which the historical information acquisition part which concerns on embodiment stores.
  • FIG. 5 is a diagram showing an example of conditions regarding the operation of a controlled object according to the embodiment; It is a figure which shows the 1st example of the risk consideration type
  • FIG. 7 is a diagram illustrating a second example of risk-considered history information according to the embodiment;
  • FIG. 13 is a diagram illustrating a third example of risk-considered history information according to the embodiment;
  • FIG. 4 is a diagram showing an example of a processing procedure for determining, by learning, a behavior rule for a controlled object, by the behavior rule determination device according to the embodiment;
  • FIG. 10 is a diagram illustrating an example of a processing procedure when a history information acquisition unit according to the embodiment acquires history information through simulation;
  • FIG. 10 is a diagram showing an example of a procedure in which the learning unit according to the embodiment performs behavior rule evaluation processing; It is a figure which shows the example of a structure of the behavior rule determination apparatus which concerns on embodiment. It is a figure which shows the example of the procedure of a process in the behavior rule determination method which concerns on embodiment.
  • 1 is a schematic block diagram showing a configuration of a computer according to at least one embodiment; FIG.
  • FIG. 1 is a diagram illustrating a configuration example of a control system according to an embodiment.
  • the control system 1 includes an operating rule determination device 100 , a control device 200 and a controlled object 300 .
  • the control system 1 controls the controlled object 300 .
  • the operation rule determination device 100 determines the operation rule of the controlled object 300 by reinforcement learning.
  • the control device 200 determines the operation of the controlled object 300 based on the operation rule determined by the operation rule determination device 100, and causes the controlled object 300 to execute the determined operation.
  • Reinforcement learning here refers to the action rules that determine the behavior of a controlled object in an environment, the behavior of the controlled object, the observed state of the environment and the controlled object, and the reward representing the evaluation of the state or the behavior of the controlled object. It is machine learning that learns based on
  • the operation of the controlled object 300 corresponds to Action.
  • the action of the controlled object 300 is also referred to as an action.
  • Operational rules correspond to policies.
  • operating rules are also referred to as policies.
  • An evaluation regarding the operation of the controlled object 300 corresponds to a reward.
  • a reward is used as an evaluation function in learning will be described as an example, but the present invention is not limited to this.
  • an evaluation function may be used in which the higher the evaluation, the smaller the value.
  • the operation rule determination device 100 performs learning using history information including information indicating the state of each time step and the operation of the controlled object 300 . Therefore, it is not necessary for the control device 200 to operate the controlled object 300 in real time when the operating rule determination device 100 performs learning.
  • the operation rule determination device 100 may output the operation rule of the controlled object 300 to the control device 200, and the control device 200 may operate the controlled object 300 based on the operation rule to acquire history information. Then, behavior rule determination device 100 may perform learning using the obtained history information, and calculate behavior rules as a result of learning. The operation rule determination device 100 may output the obtained operation rule to the control device 200 and may repeat learning of the operation rule using the history information acquired from the control device 200 .
  • the operating rule determination device 100 is configured using a computer, for example.
  • behavior rule determination device 100 may be configured using hardware dedicated to behavior rule determination device 100, such as configured using ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • the controlled object 300 is configured using a computer, for example.
  • the controlled object 300 may be configured using hardware dedicated to the controlled object 300, such as configured using ASIC or FPGA.
  • control device 200 and controlled object 300 may not be present. Further, when the control device 200 operates the controlled object 300, the operation rule determination device 100 may be omitted, and the control device 200 may acquire the operation rule. Alternatively, operation rule determination device 100 and control device 200 may be configured integrally. For example, the operating rule determination device 100 and the control device 200 may be implemented in the same computer.
  • the controlled object 300 is not limited to a specific one.
  • the controlled object 300 may be a mobile object such as an automobile, an airplane, or a ship.
  • the controlled object 300 may be a facility or apparatus to be controlled such as a processing plant or a manufacturing process.
  • the controlled object 300 can be controlled by the control device 200, and conditions related to the operation of the controlled object 300 are set, such as setting constraints to avoid a specific state. can be done.
  • FIG. 2 is a diagram showing a configuration example of the operating rule determination device 100.
  • behavior rule determination device 100 includes communication unit 110 , storage unit 180 , and control unit 190 .
  • the storage unit 180 includes a curriculum storage unit 181 , a policy parameter storage unit 182 and a history information storage unit 183 .
  • the control unit 190 includes a curriculum setting unit 191 , a history information acquisition unit 193 , a history information conversion unit 194 and a learning unit 195 .
  • the curriculum setting section 191 includes an evaluation function setting section 192 .
  • the communication unit 110 communicates with other devices.
  • the communication unit 110 may transmit the behavior rule determined by the behavior rule determination device 100 to the control device 200 .
  • the storage unit 180 stores various information. Storage unit 180 is configured using a storage device included in behavior rule determination device 100 .
  • the curriculum storage unit 181 stores curriculum information.
  • Curriculum information is setting information for advancing learning of behavior rules performed by behavior rule determination device 100 step by step.
  • Behavioral rule determination device 100 efficiently learns behavioral rules by progressing the learning of behavioral rules step by step from easy learning to difficult learning.
  • the difficulty of learning here may be that policy optimization becomes unstable if learning is directly performed in a certain setting without step-by-step learning. Alternatively, if learning is difficult, if you do not do step-by-step learning and directly learn with a certain setting, the learning result does not meet the specified conditions, or the evaluation of the learning result is low, Alternatively, it may be that it takes time to obtain a high evaluation.
  • a series of operations of the controlled object 300 is also called an episode.
  • Addition of a penalty to the reward is performed by, for example, adding a predetermined negative value to the reward value, that is, subtracting the predetermined value from the reward value, while a larger reward value indicates a higher evaluation.
  • One episode turn here is one time step. Time is represented by time steps, and controlled object 300 and control device 200 perform state observation, action determination, and action once per turn.
  • the behavior rule determination device 100 sets a learning framework so that fluctuations due to differences in reward values between turns are reduced. For example, the behavior rule determination device 100 may perform a calculation equivalent to adding a penalty to the reward value even in a turn different from the final turn of the episode. Alternatively, behavior rule determination device 100 may reduce the penalty determination threshold to reduce the frequency of penalties (penalties).
  • Behavioral rule determination device 100 performs relatively simple learning, sets the behavioral rule obtained as a learning result to the initial value of the behavioral rule in more difficult learning, and performs learning. Accordingly, it is expected that behavior rule determination device 100 can efficiently perform more difficult learning.
  • the individual learning framework is called a curriculum.
  • the policy parameter storage unit 182 stores policy parameter values.
  • a policy parameter is a learning parameter in a policy model, which is a learning model of behavior rules.
  • a policy (operation rule) is obtained by setting policy parameter values in the policy model. Policy learning is done by updating policy parameter values.
  • the representation format of the policy model used by the behavior rule determination device 100 is not limited to a specific representation format.
  • policy models may be configured as mathematical formulas containing parameters.
  • policy models may be constructed using neural networks.
  • the history information storage unit 183 stores history information of the operation of the controlled object 300 .
  • This history information is used as learning data for reinforcement learning of action rules.
  • This history information indicates, for each turn, the episode identification number, the number of turns in the episode, the action, the state, and the reward.
  • the episode identification number may be, for example, a serial number starting from 1 according to the episode execution order.
  • the number of turns within an episode may also be indicated by a serial number starting at 1.
  • the action may indicate a control command value for the controlled object 300, such as a command value for the motor of the controlled object 300, for example.
  • As a state sensor measurements regarding the controlled object 300 or the environment may be indicated. If the reward function is known and the reward value can be calculated from the behavior and state, the history information may not include the reward value information.
  • the control unit 190 controls each unit of the operating rule determination device 100 to execute various processes.
  • the functions of the control unit 190 are executed by, for example, a CPU (Central Processing Unit) provided in the behavior rule determination device 100 reading a program from the storage unit 180 and executing it.
  • a CPU Central Processing Unit
  • the curriculum setting unit 191 sets a curriculum. For example, when curriculum 0, curriculum 1, and curriculum 2 are executed in this order, the curriculum setting unit 191 sets curriculum 0 first. When the learning in the curriculum 0 progresses and the completion condition of the curriculum 0 is satisfied, the curriculum setting unit 191 sets the curriculum 1. FIG. Thus, the curriculum setting unit 191 sets and updates the curriculum.
  • the curriculum setting unit 191 may set and update the value of a counter that stores the number of the curriculum to indicate the curriculum being executed.
  • the curriculum setting unit 191 makes various settings for executing the curriculum, such as setting functions for executing the curriculum, at the start of the curriculum. For example, when the curriculum is set by setting rewriting rules for remuneration, the evaluation function setting unit 192 of the curriculum setting unit 191 sets rewriting rules for remuneration at the start of each curriculum.
  • the evaluation function setting unit 192 sets a reward function for each curriculum. Alternatively, if the history information indicates the reward value, the evaluation function setting unit 192 may set the rewriting rule of the reward value for each curriculum. In particular, the evaluation function setting unit 192 is changed from the first evaluation function that reflects the conditions regarding the operation of the controlled object 300 so that the difference in the evaluation function between evaluation time steps regarding the operation of the controlled object 300 becomes small. set a second evaluation function.
  • the first evaluation function here is a reward function that reflects the penalty addition rule when the conditions (constraints) regarding the operation of the controlled object 300 are not satisfied.
  • the second evaluation function is a reward function modified from the first evaluation function such that the difference in reward function between turns is reduced.
  • the second evaluation function is an evaluation function that has been rewritten so that learning is easier than when using the first evaluation function, and indicates the settings for which the operation rule is to be obtained as the final learning result.
  • Behavior rule determination device 100 performs learning using the first evaluation function in the final curriculum of behavior rule learning. On the other hand, behavior rule determination device 100 performs learning using the second evaluation function in the curriculum before the end of behavior rule learning.
  • the first evaluation function may be set so that the condition is reflected at the last time step of the time steps of the series of operations of the controlled object 300 .
  • a penalty may be added to the reward value if the condition is not met in the last turn of the episode as described above.
  • the evaluation function setting unit 192 reflects the condition based on the condition at the last time step from the first evaluation function at a time step different from the last time step among the time steps of the series of operations of the controlled object 300. You may make it generate
  • “Second evaluation function” corresponds to an example of "a second evaluation function modified from the first evaluation function such that the difference in the evaluation function between evaluation time steps regarding the operation of the controlled object 300 is reduced”.
  • the first evaluation function may be set to lower the evaluation of the operation of the controlled object 300 when the evaluation of the operation of the controlled object 300 is lower than the threshold. Then, the evaluation function setting unit 192 may generate a second evaluation function in which the threshold value is changed from the first evaluation function such that the evaluation regarding the operation of the controlled object 300 is likely to be higher than the threshold value. .
  • the second evaluation function whose threshold is changed so that the evaluation regarding the operation of the controlled object 300 is likely to be higher than the threshold'' is also ⁇ From the first evaluation function, This corresponds to the example of "the second evaluation function modified to reduce the difference in the evaluation function between evaluation time steps".
  • the history information acquisition unit 193 acquires history information.
  • the history information acquisition unit 193 includes a simulator that simulates the controlled object 300 and the environment, and executes simulation. During the simulation, the history information acquisition unit 193 determines the motion of the controlled object 300 according to the motion rule set by the learning unit 195, and simulates the determined motion.
  • the history information acquisition unit 193 generates history information including information indicating the state, information indicating the operation of the controlled object 300, and a reward value for each time step in execution of the simulation, and stores the history information in the history information storage unit 183 .
  • the history information conversion unit 194 converts history information.
  • the history information conversion unit 194 performs conversion to reflect conditions related to the operation of the controlled object 300 and conversion to reflect supplementary rewards for making learning relatively easy in the reward values included in the history information.
  • the learning unit 195 learns the operation rule of the controlled object 300 using the second evaluation function. Then, the learning unit 195 learns the operation rule of the controlled object 300 using the learning result of the learning using the second evaluation function and the first evaluation function.
  • the learning unit 195 may acquire an evaluation of the action rule set during learning of the action rule. Then, when the obtained evaluation is lower than a predetermined condition, the learning unit 195 may set the operation rules set in the past again.
  • An example of the operation of the controlled object 300 and an example of history information are shown below, and an example of rewriting the history information is shown.
  • a robot called Hopper as a controlled object
  • an example of operation of Hopper and an example of history information of the operation are shown.
  • an example of rewriting history information to reflect the constraints and an example of rewriting history information to simplify learning will be shown.
  • FIG. 3 is a diagram showing an example of the first turn of the first episode.
  • FIG. 3 thus shows the initial state in the first episode.
  • 3 to 7 show a Hopper 801 and a target position 802.
  • FIG. Hopper 801 corresponds to an example of controlled object 300 .
  • the target position 802 is arranged at the position of the Hopper 801 's progress target. In the examples of FIGS. 3-7, the target position 802 is fixed. Therefore, the target position 802 is located at the same position in any turn of any episode.
  • FIG. 4 is a diagram showing an example of the second turn of the first episode. In the example of FIG. 4, the Hopper 801 is closer to the target position 802 than in the case of the first turn shown in FIG.
  • FIG. 5 is a diagram showing an example of the third turn of the first episode.
  • Hopper 801 is closer to target position 802 than in the case of the second turn shown in FIG. In the first episode, since the maximum number of turns has reached 3 in the example of FIG. 5, the episode ends.
  • the history information acquisition unit 193 acquires history information of combinations of the position information of the Hopper 801 in two-dimensional coordinates, the numerical value of the torque that operates the Hopper 801, and the reward from the first turn to the third turn in the first episode. Stored in the storage unit 183 .
  • FIG. 6 is a diagram showing an example of the first turn of the second episode.
  • FIG. 6 thus shows the initial state in the second episode.
  • FIG. 7 is a diagram showing an example of the second turn of the second episode. In the example of FIG. 7, the Hopper 801 is overturned. Therefore, the episode ends.
  • the history information acquisition unit 193 acquires history information of combinations of position information of the Hopper 801 in two-dimensional coordinates, torque values that control the operation of the Hopper 801, and rewards from the first turn to the second turn in the second episode. Stored in history information storage unit 183 .
  • FIG. 8 is a diagram showing an example of history information stored by the history information acquisition unit 193. As shown in FIG. In the example of FIG. 8, history information is shown in tabular form, and one row shows history information about the operation of Hopper 801 in one turn.
  • m indicates the identification number of the episode.
  • t indicates the turn identification number.
  • the action at ,m indicates the numerical value of the torque controlling the action of the Hopper 801 at the tth turn of the mth episode.
  • a state s t,m indicates the coordinates (positional information) of the Hopper 801 in the tth turn of the mth episode.
  • Reward r t,m indicates the reward at turn t of episode m.
  • the reward is 0 because of the initial state in the episode.
  • Hopper 801 is rewarded according to his progress towards the target position 802 .
  • Hopper 801 is rewarded with -10 due to his fall.
  • FIG. 9 is a diagram showing an example of conditions related to the operation of the controlled object 300. As shown in FIG. FIG. 9 shows an example of the probability distribution of returns obtained in an episode.
  • the return referred to here is the sum of the rewards for one episode. That is, the return is the cumulative reward value for one episode.
  • the horizontal axis in FIG. 9 indicates returns.
  • the vertical axis indicates the probability of obtaining the return indicated on the horizontal axis.
  • Area A1 shows the bottom ⁇ % of the return distribution ( ⁇ is a real number of 0 ⁇ 100).
  • a constraint condition is set such that the expected value of ⁇ % on the lower side of the return distribution is equal to or greater than a specific threshold.
  • the lower side here is the side with smaller values.
  • the expected value of ⁇ % on the lower side of the return distribution is also called CVaR (Condition Value At Risk).
  • CVaR corresponds to the center of gravity of area A1.
  • the conditions regarding the operation of the controlled object 300 are not limited to specific conditions.
  • FIG. 10 is a diagram showing a first example of risk-considered history information.
  • the risk-considered history information is history information in which conditions regarding the operation of the controlled object 300 are reflected.
  • the condition shown in FIG. 9 indicates a constraint condition that the controlled object 300 operates so as to avoid the risk that the return becomes smaller than a certain condition.
  • the history information in which this condition is reflected serves as learning data for learning operation rules for determining the operation of the controlled object 300 in consideration of risk avoidance.
  • the history information conversion unit 194 replaces the state s t, m of the history information of FIG. ' generating risk-aware history information replaced by t,m .
  • the history information conversion unit 194 generates risk-considered state information s′ t,m based on equation (1).
  • x t,m indicates the x-coordinate of the position of Hopper 801 in the t-th turn of the m-th episode.
  • y t,m indicates the y-coordinate of Hopper 801's position in the tth turn of the mth episode. That is, the vector (x t,m ,y t,m ) corresponds to an example of position information of Hopper 801 in two-dimensional coordinates in the tth turn of the mth episode.
  • T m indicates the number of turns in the m-th episode.
  • the storage unit 180 may store the threshold v separately from the risk-considered state information s′ t,m .
  • the history information conversion unit 194 generates a risk-considered reward r′ t,m based on Equation (2).
  • be a real constant.
  • Equation (2) if the return (accumulated reward value) for the mth episode is less than the threshold value v, a penalty is added to the reward value for the last turn of the mth episode. Adding a penalty reduces the reward value.
  • the reward value By changing the reward value to a smaller value, it is expected that learning of the action rule progresses so that the controlled object 300 is less likely to take actions (movements) that make the return smaller than the threshold value v.
  • penalizing the reward value of the last turn of the episode can cause it to change abruptly from the reward value of the previous turn, making it difficult to learn, as described above.
  • FIG. 11 is a diagram showing a second example of risk-considered history information.
  • the threshold value value of v
  • the threshold value is changed from 1 to 0.5 from the risk-consideration history information shown in FIG.
  • the number of episodes to which the reward is penalized will be smaller than when the threshold value is 1.
  • the change is made so that the difference in the evaluation function between the evaluation time steps regarding the operation of the controlled object 300 is reduced.
  • the frequency of sudden changes in the reward value due to the addition of a penalty to the reward is reduced, and in this respect, it is expected that the degree of difficulty in learning will be alleviated.
  • FIG. 12 is a diagram showing a third example of risk-considered history information.
  • the risk-considered history information shown in FIG. 12 is modified from the risk-consideration history information shown in FIG. 11 by adding a supplementary reward.
  • the addition of the supplementary reward shown in FIG. 12 and formula (3) is the same as the term for reflecting the conditions added to the reward at the final time step in the episode, as the final time step in the episode. can be said to add to the rewards at different time steps.
  • the supplementary reward is added for time steps other than the final time step. However, it is not always necessary to add supplementary rewards to all time steps, and supplementary rewards may be added to some of the time steps other than the final time step.
  • the addition of the supplementary reward term has reduced the difference in the evaluation function between evaluation time steps regarding the operation of the controlled object 300 .
  • the degree of change in the reward value becomes smaller, and in this respect, it is expected that the difficulty of learning will be alleviated.
  • FIG. 13 is a diagram showing an example of a processing procedure in which action rule determination device 100 determines the action rule of controlled object 300 by learning.
  • the curriculum setting unit 191 sets a curriculum (step S11).
  • the curriculum setting unit 191 sets a three-stage curriculum in order of curriculum 0, 1, and 2.
  • FIG. 13 is a diagram showing an example of a processing procedure in which action rule determination device 100 determines the action rule of controlled object 300 by learning.
  • the curriculum setting unit 191 sets a curriculum (step S11).
  • the curriculum setting unit 191 sets a three-stage curriculum in order of curriculum 0, 1, and 2.
  • FIG. 13 is a diagram showing an example of a processing procedure in which action rule determination device 100 determines the action rule of controlled object 300 by learning.
  • the curriculum setting unit 191 sets, as curriculum 0, learning using rewards with changed thresholds and supplementary rewards, illustrated in FIG. Further, the curriculum setting unit 191 sets, as the curriculum 1, learning using a reward with a changed threshold, as illustrated in FIG. In addition, the curriculum setting unit 191 sets, as a curriculum 2, learning that uses rewards reflecting the conditions regarding the controlled object 300, as illustrated in FIG.
  • the curriculum setting unit 191 sets the curriculum step by step from relatively easy learning to relatively difficult learning, so that the learning unit 195 can use the learning results of relatively easy learning for relatively difficult learning. It is expected that learning can be done efficiently.
  • the learning unit 195 can set an action rule (policy) obtained through relatively easy learning as an initial value of an action rule obtained through relatively difficult learning.
  • the evaluation function setting unit 192 sets a reward function according to the curriculum.
  • the learning unit 195 initializes behavior rules in the curriculum (step S12). For example, in curriculum 0 (the first curriculum), the learning unit 195 sets the behavior rule to a predetermined behavior rule. In curricula 1 and 2, the learning unit 195 sets the behavior rules to those obtained in the previous curriculum.
  • the history information acquisition unit 193 acquires history information (step S13).
  • the history information acquisition unit 193 may simulate the operation of the controlled object 300 to acquire history information.
  • the history information acquisition unit 193 may acquire history information obtained when the control device 200 controls the controlled object 300 .
  • the controlled object 300 stores the acquired history information in the history information storage unit 183 .
  • the history information conversion unit 194 converts the history information according to the curriculum set by the curriculum setting unit 191 (step S14).
  • the history information conversion unit 194 causes the history information storage unit 183 to store the converted history information.
  • the learning unit 195 learns operation rules using the history information converted by the history information conversion unit 194 (step S15). For example, the learning unit 195 may update the values of the parameters of the behavior rules by the policy gradient method using equation (4).
  • M indicates the number of episodes.
  • T m indicates the number of turns in the m-th episode.
  • is a coefficient for adjusting the magnitude of updating the behavior rule parameter ⁇ .
  • s′ t,m , ⁇ ) denotes the probability that the action at ,m is chosen given the state s′ t,m and the action rule parameter ⁇ .
  • s′ t,m , ⁇ ) denotes the derivative of log ⁇ (at ,m
  • the state s′ t,m and the behavior rule parameter ⁇ also change. increases the probability that action at ,m is selected.
  • the learning unit 195 updates the value of the behavior rule parameter ⁇ in the direction of the slope indicated by ⁇ ⁇ log ⁇ (at ,m
  • the learning unit 195 moves the behavior rule parameter Vary the value of ⁇ . This reduces the probability that the action at,m is chosen given the state s' t,m and the parameter ⁇ of the action rule.
  • the learning unit 195 uses Equation (4) to update the value of the behavior rule parameter ⁇ so as to maximize the cumulative value of the risk-considered reward r'. As described above, the historical information conversion unit 194 subtracts the penalty from the reward of the episode containing risk, thereby reducing the probability that the action of the episode containing risk is selected.
  • the method by which the learning unit 195 learns the operation rule is not limited to a specific method.
  • a method for the learning unit 195 to learn the action rule a known method of updating the action rule based on a reward can be used.
  • the learning unit 195 causes the policy parameter storage unit 182 to store the parameter values of the behavior rule obtained by learning (step S16).
  • the learning unit 195 performs operation rule conversion processing (step S17).
  • the learning unit 195 calculates the obtained evaluation value of the action rule, and compares it with the evaluation value of the action rule obtained in the previous execution of step S15. If the behavior rule obtained in the previous execution of step S15 has a higher evaluation value, the learning unit 195 treats the current execution of step S15 as not having occurred. In this case, the learning unit 195 deletes from the policy parameter storage unit 182 the parameter value of the behavior rule obtained in the current execution of step S15, and uses the parameter value obtained in the previous execution of step S15 as the parameter value to be provisionally adopted. Reset the behavior rule parameter values.
  • the operation rule conversion process is not essential. Therefore, behavior rule determination device 100 may execute step S18 after step S16 without executing step S17.
  • the curriculum setting unit 191 determines whether processing for one curriculum has been completed (step S18). For example, when "average return>1.0" and a constraint satisfaction rate of 90% hold, the curriculum setting unit 191 may determine that processing for one curriculum has been completed. Alternatively, the curriculum setting unit 191 may use different ending conditions for each curriculum.
  • step S18: NO the processing returns to step S13.
  • step S18: YES the learning unit 195 expects a return among the operation rules that satisfy the conditions obtained from the curriculum. The operation rule with the largest value is selected as the learning result (step S19).
  • the curriculum setting unit 191 determines whether or not the last curriculum has been completed (step S20).
  • the process returns to step S11.
  • the curriculum setting unit 191 determines that the last curriculum has been completed (step S20: YES)
  • the behavior rule determination device 100 terminates the processing of FIG.
  • FIG. 14 is a diagram showing an example of a processing procedure when the history information acquisition unit 193 acquires history information through simulation.
  • the history information acquisition unit 193 performs the process of FIG. 14 in step S13 of FIG.
  • the history information acquisition unit 193 sets the environment (step S111).
  • the history information acquisition unit 193 has a simulation model having environment parameters, and sets the environment by setting values for the environment parameters.
  • the slipperiness of the floor such as the frictional resistance value of the floor can be given as an example of the environmental parameter.
  • the environmental parameters in the simulation model provided by the history information acquisition unit 193 are not limited to specific ones.
  • step S112 the history information acquisition unit 193 executes the simulation for one step (step S112).
  • One step of the simulation here is a process of calculating the operation of the controlled object 300 and calculating the state after the operation of the controlled object 300 once.
  • One step of the simulation corresponds to one time step and one episode turn.
  • the history information acquisition unit 193 causes the history information storage unit 183 to store information indicating the operation of the controlled object 300 and the calculated state in step S112 as history information for one step (step S13).
  • the history information acquisition unit 193 adds history information for one step to the history information stored in the history information storage unit 183 .
  • the history information acquisition unit 193 may also calculate the remuneration value and include it in the history information.
  • the history information acquisition unit 193 or the learning unit 195 may calculate the reward value ex post facto based on the operation and state of the controlled object 300 .
  • the history information acquisition unit 193 determines whether or not the simulation for one episode has ended (step S114). Specifically, the history information acquisition unit 193 determines whether or not the episode end condition is satisfied.
  • the conditions for ending the episode include the condition that the number of turns in the episode has progressed by a predetermined number, or that the Hopper 801 has fallen.
  • the end condition of an episode is not limited to a specific condition.
  • step S114: NO the process returns to step S112.
  • step S114: YES the history information acquiring unit 193 determines whether or not all environment settings for simulation have been performed (step S115). For example, the history information acquisition unit 193 determines whether or not all of the environment parameter values set in a plurality of ways have been set.
  • step S115: NO If the history information acquisition unit 193 determines that there is an environment setting that has not been executed (step S115: NO), the process returns to step S111. On the other hand, if it is determined that all settings of the environment to be simulated have been performed (step S115: YES), the history information acquisition unit 193 terminates the processing of FIG.
  • FIG. 15 is a diagram showing an example of a procedure for the behavior rule evaluation process performed by the learning unit 195. As shown in FIG. The learning unit 195 performs the process of FIG. 15 in step S17 of FIG. In the process of FIG. 15, the learning unit 195 evaluates the operation rules obtained in the current execution of step S15 of FIG. 13 (step S211).
  • step S211 The method by which the learning unit 195 evaluates the operation rule in step S211 is not limited to a specific method.
  • the operation rule is output to the history information acquisition unit 193, the operation of the controlled object 300 is simulated, and the evaluation index value for the state information obtained as a result of the operation of the controlled object 300 is calculated.
  • the learning unit 195 determines whether or not the behavior rule obtained in the current execution of step S15 has a higher evaluation than the behavior rule obtained in the previous execution of step S15 (step S212). For example, the learning unit 195 compares the evaluation index values calculated in step S211 for the operation rule obtained in the current execution of step S15 and the operation rule obtained in the previous execution of step S15. good too.
  • step S212: YES If it is determined that the behavior rule obtained in the current execution of step S15 has a higher evaluation than the behavior rule obtained in the previous execution of step S15 (step S212: YES), the learning unit 195 end the processing of On the other hand, if it is determined that the operation rule obtained in the previous execution of step S15 has a higher evaluation (step S212: NO), the learning unit 195 treats step S15 as being not executed this time. In this case, the learning unit 195 deletes from the policy parameter storage unit 182 the parameter value of the behavior rule obtained in the current execution of step S15, and uses the parameter value obtained in the previous execution of step S15 as the parameter value to be provisionally adopted. Reset the behavior rule parameter values. After step S213, the learning unit 195 terminates the processing of FIG.
  • the evaluation function setting unit 192 selects from the first evaluation function reflecting the conditions regarding the operation of the controlled object 300 such that the difference in the evaluation function between evaluation time steps regarding the operation of the controlled object 300 becomes small.
  • Set the modified second evaluation function to
  • the learning unit 195 learns the operation rule of the controlled object 300 using the second evaluation function.
  • the learning unit 195 learns the operation rule of the controlled object 300 using the learning result of the learning using the second evaluation function and the first evaluation function.
  • Learning using the second evaluation function is expected to be easier than learning using the first evaluation function because the difference in the evaluation function between time steps is smaller, so the amount of change in the evaluation value is smaller. be. It is expected that learning using the first evaluation function can be performed relatively easily by the learning unit 195 using the learning result of the learning using the second evaluation function.
  • the operation rule determination device 100 in the learning of the operation rule of the controlled object 300, when the learning becomes relatively difficult due to the setting of the conditions related to the operation, the degree of difficulty in learning is reduced. measures can be taken.
  • the first evaluation function is set so that the condition regarding the operation of the controlled object 300 is reflected in the last time step of the series of operation time steps of the controlled object.
  • the evaluation function setting unit 192 sets, from the first evaluation function, the condition based on the condition regarding the operation of the controlled object 300 at the last time step to be different from the last time step of the series of time steps of the operation of the controlled object 300. Generating the second evaluation function with the changes reflected in the time steps.
  • the difference in the evaluation function between evaluation time steps regarding the operation of the controlled object 300 is reduced.
  • the difference in the evaluation function between time steps is reduced, so that the degree of change in the reward value is reduced. be.
  • the first evaluation function is set to lower the evaluation of the operation of the controlled object 300 when the evaluation of the operation of the controlled object 300 is lower than the threshold.
  • the evaluation function setting unit 192 generates a second evaluation function in which the threshold value is changed from the first evaluation function so that the evaluation regarding the operation of the controlled object 300 is likely to be higher than the threshold value.
  • the frequency of evaluation drops is lower than in learning using the first evaluation function.
  • the evaluation function setting unit 192 has changed the evaluation function so that the difference between the time steps for evaluating the operation of the controlled object 300 is reduced.
  • the frequency of sudden changes in evaluation values between time steps due to a decrease in evaluation decreases, and in this respect, it is expected that the degree of difficulty in learning will be alleviated.
  • the learning unit 195 sets the action rule set in the past again. According to the operating rule determination device 100, when learning fails, the learning result can be restored to the state before learning fails, and it is expected that learning can be performed efficiently.
  • FIG. 16 is a diagram illustrating an example of the configuration of the behavior rule determination device according to the embodiment.
  • behavior rule determination device 600 includes evaluation function setting section 601 and learning section 602 .
  • the evaluation function setting unit 601 is changed from the first evaluation function reflecting the conditions regarding the operation of the controlled object so that the difference in evaluation function between time steps for evaluating the operation of the controlled object becomes small. set a second evaluation function.
  • the learning unit 602 learns the operation rule of the controlled object using the second evaluation function, and learns the operation rule of the controlled object using the learning result and the first evaluation function.
  • the evaluation function setting unit 601 can be implemented using functions such as the evaluation function setting unit 192 shown in FIG. 2, for example.
  • the learning unit 602 can be implemented using the functions of the learning unit 195 shown in FIG. 2, for example.
  • FIG. 17 is a diagram illustrating an example of a processing procedure in the behavior rule determination method according to the embodiment;
  • the processing shown in FIG. 17 includes setting an evaluation function (step S601) and learning (step S602).
  • the computer reduces the difference in evaluation function between time steps for evaluating the operation of the controlled object from the first evaluation function that reflects the conditions regarding the operation of the controlled object.
  • Set the modified second evaluation function as follows:
  • the learning step S602
  • the computer learns the operation rule of the controlled object using the second evaluation function, and learns the operation rule of the controlled object using the learning result and the first evaluation function. conduct.
  • Learning using the second evaluation function is expected to be easier than learning using the first evaluation function because the difference in the evaluation function between time steps is smaller, so the amount of change in the evaluation value is smaller. be.
  • the learning result of learning using the second evaluation function in the process of step S602 it is expected that learning using the first evaluation function can be performed relatively easily.
  • a Countermeasures can be taken.
  • FIG. 18 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 operating rule determination device 100 , the control device 200 , and the operating rule determination device 600 or a part 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 operation of the control unit 190 and its respective units is 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.
  • CPU 710 secures storage areas corresponding to storage section 180 and each section thereof in main storage device 720 according to a program.
  • Communication performed by the communication unit 110 is performed by the interface 740 having a communication function and performing communication under the control of the CPU 710 .
  • Interaction between behavior rule determination device 100 and a user is executed by interface 740 having an input device and an output device, presenting information to the user through the output device under the control of CPU 710, and accepting user operations through the input device. be done.
  • control device 200 When the control device 200 is implemented in the computer 700, its operations 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 secures a storage area in the main storage device 720 for the control device 200 to perform processing according to the program.
  • Communication between control device 200 and other devices is performed by interface 740 having a communication function and operating under the control of CPU 710 .
  • Interaction between the control device 200 and the user is performed by the interface 740 having an input device and an output device, presenting information to the user through the output device under the control of the CPU 710, and accepting user operations through the input device. .
  • the operations of the evaluation function setting unit 601 and the learning unit 602 are stored in the form of programs in the auxiliary storage 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.
  • CPU 710 secures a storage area in main storage device 720 for operation rule determination device 600 to perform processing according to a program.
  • Communication between operating rule determination device 600 and other devices is performed by interface 740 having a communication function and operating under the control of CPU 710 .
  • Interaction between behavior rule determination device 600 and the user is executed by interface 740 having an input device and an output device, presenting information to the user through the output device under the control of CPU 710, and accepting user operations through the input device. be done.
  • 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 operation rule determination device 100, control device 200, and operation rule determination device 600 is recorded on a computer-readable recording medium, and the program is recorded on this recording medium.
  • the program may be loaded into a computer system and executed to process each part.
  • 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.
  • the present invention may be applied to a motion rule determination device, motion rule determination method, and recording medium.
  • control system 100 600 operation rule determination device 110 communication unit 180 storage unit 181 curriculum storage unit 182 policy parameter storage unit 183 history information storage unit 190 control unit 191 curriculum setting unit 192, 601 evaluation function setting unit 193 history information acquisition unit 194 History information conversion unit 195, 602 Learning unit 200 Control device 300 Control object

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

動作規則決定装置が、制御対象の動作に関する条件が反映された第一評価関数から、前記制御対象の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定する評価関数設定部と、前記第二評価関数を用いて前記制御対象の動作規則の学習を行い、学習結果と、前記第一評価関数とを用いて前記制御対象の動作規則の学習を行う学習部と、を備える。

Description

動作規則決定装置、動作規則決定方法および記録媒体
 本発明は、動作規則決定装置、動作規則決定方法および記録媒体に関する。
 制御対象の動作規則の学習において、動作に関する条件が設定される場合がある。
 例えば、特許文献1に記載の強化学習方法では、制御の対象の状態計測が行われる時間間隔と、対象への行動決定が行われる時間間隔とが異なる場合に、過去の状態を予測し、予測された状態について制約条件に対する危険度を算出する。そして、この強化学習方法では、算出した危険度と、危険度算出の対象となった状態に対する今回の行動の影響度とに応じて、制御の対象への今回の行動に関する探索範囲を特定して行動を決定する。
特開2021-33767号公報
 制御対象の動作規則の学習において、動作に関する条件が設定される場合、条件が設定されることで学習が比較的難しくなる場合がある。この場合に、学習が難しくなる度合いを緩和するための対策を講じられることが好ましい。
 本発明の目的の一例は、上述した課題を解決することのできる動作規則決定装置、動作規則決定方法および記録媒体を提供することである。
 本発明の第一の態様によれば、動作規則決定装置は、制御対象の動作に関する条件が反映された第一評価関数から、前記制御対象の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定する評価関数設定部と、前記第二評価関数を用いて前記制御対象の動作規則の学習を行い、学習結果と、前記第一評価関数とを用いて前記制御対象の動作規則の学習を行う学習部と、を備える。
 本発明の第二の態様によれば、動作規則決定方法は、コンピュータが、制御対象の動作に関する条件が反映された第一評価関数から、前記制御対象の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定し、前記第二評価関数を用いて前記制御対象の動作規則の学習を行い、学習結果と、前記第一評価関数とを用いて前記制御対象の動作規則の学習を行うことを含む。
 本発明の第三の態様によれば、記録媒体は、コンピュータに、制御対象の動作に関する条件が反映された第一評価関数から、前記制御対象の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定することと、前記第二評価関数を用いて前記制御対象の動作規則の学習を行い、学習結果と、前記第一評価関数とを用いて前記制御対象の動作規則の学習を行うことと、を実行させるためのプログラムを記録した記録媒体である。
 上記した動作規則決定装置、動作規則決定方法および記録媒体によれば、制御対象の動作規則の学習において、動作に関する条件が設定されることで学習が比較的難しくなる場合に、学習が難しくなる度合いを緩和するための対策を講じることができる。
実施形態に係る制御システム構成例を示す図である。 実施形態に係る動作規則決定装置の構成例を示す図である。 第1エピソードの第1ターンの例を示す図である。 第1エピソードの第2ターンの例を示す図である。 第1エピソードの第3ターンの例を示す図である。 第2エピソードの第1ターンの例を示す図である。 第2エピソードの第2ターンの例を示す図である。 実施形態に係る履歴情報取得部が記憶する履歴情報の例を示す図である。 実施形態に係る制御対象の動作に関する条件の例を示す図である。 実施形態に係るリスク考慮型履歴情報の第1の例を示す図である。 実施形態に係るリスク考慮型履歴情報の第2の例を示す図である。 実施形態に係るリスク考慮型履歴情報の第3の例を示す図である。 実施形態に係る動作規則決定装置が、制御対象の行動規則を学習によって決定する処理手順の例を示す図である。 実施形態に係る履歴情報取得部がシミュレーションによって履歴情報を取得する場合の処理手順の例を示す図である。 実施形態に係る学習部が動作規則評価処理を行う手順の例を示す図である。 実施形態に係る動作規則決定装置の構成の例を示す図である。 実施形態に係る動作規則決定方法における処理の手順の例を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、実施形態に係る制御システム構成例を示す図である。図1に示す構成で、制御システム1は、動作規則決定装置100と、制御装置200と、制御対象300とを備える。
 制御システム1は、制御対象300を制御する。具体的には、動作規則決定装置100が、強化学習にて制御対象300の動作規則を決定する。制御装置200は、動作規則決定装置100が決定した動作規則に基づいて制御対象300の動作を決定し、決定した動作を制御対象300に実行させる。
 ここでいう強化学習は、ある環境における制御対象の動作を決定する動作規則を、制御対象の動作と、環境および制御対象について観測される状態と、状態または制御対象の動作に対する評価を表す報酬とに基づいて学習する機械学習である。
 制御対象300の動作は、行動(Action)に該当する。以下では、制御対象300の動作を行動とも称する。動作規則は方策(Policy)に該当する。以下では、動作規則を方策とも称する。制御対象300の動作に関する評価は報酬(Reward)に該当する。
 以下では、学習における評価関数として報酬を用いる場合を例に説明するが、これに限らない。例えば、学習における評価関数として、評価が高いほど値が小さくなる評価関数を用いるようにしてもよい。
 なお、動作規則決定装置100は、時間ステップ毎の状態および制御対象300の動作を示す情報を含む履歴情報を用いて学習を行う。したがって、動作規則決定装置100が学習を行う際に、制御装置200がリアルタイムで制御対象300を動作させる必要は無い。
 あるいは、動作規則決定装置100が、制御対象300の動作規則を制御装置200に出力し、制御装置200が動作規則に基づいて制御対象300を動作させて履歴情報を取得するようにしてもよい。そして、動作規則決定装置100が、得られた履歴情報を用いて学習を行い、学習結果として動作規則を算出する用にしてもよい。動作規則決定装置100が、得られた動作規則を制御装置200に出力し、制御装置200から取得した履歴情報を用いて動作規則の学習を行うことを繰り返すようにしてもよい。
 動作規則決定装置100は、例えばコンピュータを用いて構成される。あるいは、動作規則決定装置100が、ASIC(Application Specific Integrated Circuit)またはFPGA(Field Programmable Gate Array)を用いて構成されるなど、動作規則決定装置100専用のハードウェアを用いて構成されていてもよい。同様に、制御対象300は、例えばコンピュータを用いて構成される。あるいは、制御対象300が、ASICまたはFPGAを用いて構成されるなど、制御対象300専用のハードウェアを用いて構成されていてもよい。
 動作規則決定装置100が動作規則を学習する際、制御装置200および制御対象300は無くてもよい。また、制御装置200が制御対象300を動作させる際、動作規則決定装置100は無くてもよく、制御装置200が動作規則を取得していればよい。
 あるいは、動作規則決定装置100と制御装置200とが一体的に構成されていてもよい。例えば、動作規則決定装置100と制御装置200とが同一のコンピュータに実装されていてもよい。
 制御対象300は、特定のものに限定されない。例えば、制御対象300は、自動車、飛行機、船舶などの移動体であってもよい。あるいは、制御対象300は、加工工場、または、製造工程など制御の対象となる設備または装置であってもよい。制御対象300は、制御装置200が制御可能であり、かつ、例えば特定の状態を避けるための制約条件が設定されるなど、制御対象300の動作に関する条件が設定される、いろいろなものとすることができる。
 図2は、動作規則決定装置100の構成例を示す図である。図2に示す構成で、動作規則決定装置100は、通信部110と、記憶部180と、制御部190とを備える。記憶部180は、カリキュラム記憶部181と、方策パラメータ記憶部182と、履歴情報記憶部183とを備える。制御部190は、カリキュラム設定部191と、履歴情報取得部193と、履歴情報変換部194と、学習部195とを備える。カリキュラム設定部191は、評価関数設定部192を備える。
 通信部110は、他の装置と通信を行う。例えば、通信部110が、動作規則決定装置100が決定する動作規則を制御装置200へ送信するようにしてもよい。
 記憶部180は、各種情報を記憶する。記憶部180は、動作規則決定装置100が備える記憶デバイスを用いて構成される。
 カリキュラム記憶部181は、カリキュラム情報を記憶する。カリキュラム情報は、動作規則決定装置100が行う動作規則の学習を、段階的に進めるための設定情報である。動作規則決定装置100は、動作規則の学習を、簡単な学習から難しい学習へと段階的に進めることで、効率的に学習を行う。
 ここでいう学習が難しいことは、仮に段階的な学習を行わず、ある設定での学習を直接行った場合に、方策最適化が不安定になることであってもよい。あるいは、学習が難しいことは、仮に段階的な学習を行わず、ある設定での学習を直接行った場合に、学習結果が指定されている条件を満たさないなど、学習結果に対する評価が低いか、あるいは、高い評価を得るまでに時間がかかることであってもよい。
 例えば、制御対象300の一連の動作が満たすべき制約条件が設けられている場合について考える。制御対象300の一連の動作をエピソード(Episode)とも称する。
 制約条件を強化学習の枠組みに組み入れる方法として、制約条件が満たされない場合にエピソードの最後のターンにおける報酬値にペナルティを付加することを考える。報酬へのペナルティの付加は、例えば、報酬値が大きいほど高い評価を表すのに対し、報酬値にマイナスの所定値を加える、すなわち、報酬値から所定値を減算することで行われる。
 ここでいうエピソードの1ターンは、時間ステップの1ステップである。時刻を時間ステップで表し、制御対象300および制御装置200が、状態の観測、行動の決定および行動を、1ターンに1回行うものとする。
 報酬値にペナルティが付加される場合、エピソードの最後のターンでのみ報酬値にペナルティが付加されることで、最後から1つ前のターンと、最後のターンとで、報酬値が大きく変化する。このような報酬値の大きな変化によって学習が難しくなることが考えられる。
 そこで、動作規則決定装置100は、報酬値のターン毎の差異による変動が小さくなるように、学習の枠組みを設定する。例えば、動作規則決定装置100が、エピソードの最後のターンとは異なるターンでも、報酬値に対してペナルティの付加に相当する計算を行うようにしてもよい。あるいは、動作規則決定装置100が、ペナルティ付加の判定閾値を小さくして、ペナルティ(罰則)の発生頻度を低減させるようにしてもよい。
 動作規則決定装置100は、比較的簡単な学習を行い、学習結果として得られる動作規則を、より難しい学習における動作規則の初期値に設定して学習を行う。これにより、動作規則決定装置100が、より難しい学習を効率的に行えると期待される。
 この場合の、個々の学習の枠組みをカリキュラムと称する。
 方策パラメータ記憶部182は、方策パラメータ値を記憶する。方策パラメータは、動作規則の学習モデルである方策モデルにおける学習パラメータである。方策モデルに方策パラメータ値を設定することで、方策(動作規則)が得られる。方策の学習は、方策パラメータ値を更新することで行われる。
 動作規則決定装置100が用いる方策モデルの表現形式は、特定の表現形式に限定されない。例えば、方策モデルが、パラメータを含む数式として構成されていてもよい。あるいは、方策モデルが、ニューラルネットワークを用いて構成されていてもよい。
 履歴情報記憶部183は、制御対象300の動作の履歴情報を記憶する。この履歴情報は、動作規則の強化学習のための学習データとして用いられる。この履歴情報には、ターン毎に、エピソードの識別番号と、エピソード内でのターンの回数と、行動と、状態と、報酬とが示される。
 エピソードの識別番号は、例えば、エピソードの実行順による1からの通し番号であってもよい。エピソード内でのターンの回数も、1からの通し番号で示されていてもよい。行動として、例えば制御対象300のモータに対する指令値など、制御対象300に対する制御指令値が示されていてもよい。状態として、制御対象300または環境に関するセンサ測定値が示されていてもよい。報酬関数が知られており行動および状態から報酬値を計算可能な場合は、履歴情報に報酬値の情報が含まれていなくてもよい。
 制御部190は、動作規則決定装置100の各部を制御して各種処理を実行する。制御部190の機能は、例えば、動作規則決定装置100が備えるCPU(Central Processing Unit、中央処理装置)が、記憶部180からプログラムを読み出して実行することで実行される。
 カリキュラム設定部191は、カリキュラムを設定する。例えば、カリキュラム0、カリキュラム1、カリキュラム2の順で実行する場合、カリキュラム設定部191は、まず、カリキュラム0に設定する。カリキュラム0での学習が進み、カリキュラム0の終了条件が成立すると、カリキュラム設定部191は、カリキュラム1に設定する。このように、カリキュラム設定部191は、カリキュラムの設定および更新を行う。
 カリキュラム設定部191が、カリキュラムの番号を記憶するカウンタの値を設定し更新することで、実行中のカリキュラムを示すようにしてもよい。
 また、カリキュラム設定部191は、カリキュラムの開始時に、そのカリキュラムを実行するための関数の設定など、カリキュラムを実行するための各種設定を行う。例えば、カリキュラムの設定が、報酬の書き換え規則の設定で行われる場合、カリキュラム設定部191の評価関数設定部192が、各カリキュラムの開始時に報酬の書き換え規則を設定する。
 評価関数設定部192は、カリキュラム毎に報酬関数を設定する。あるいは、履歴情報に報酬値が示されている場合、評価関数設定部192が、カリキュラム毎に報酬値の書き換え規則を設定するようにしてもよい。
 特に、評価関数設定部192は、制御対象300の動作に関する条件が反映された第一評価関数から、制御対象300の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定する。
 ここでの第一評価関数は、制御対象300の動作に関する条件(制約条件)が満たされない場合のペナルティ付加規則が反映された報酬関数である。第二評価関数は、第一評価関数から、ターン間での報酬関数の相違が小さくなるように変更された報酬関数である。
 第二評価関数は、第一評価関数を用いる場合よりも学習が簡単になるように書き換えられた評価関数であり、最終的な学習結果としての動作規則を求めたい設定を示す。動作規則決定装置100は、動作規則の学習の最後のカリキュラムで、第一評価関数を用いた学習を行う。一方、動作規則決定装置100は、動作規則の学習の最後よりも前のカリキュラムで、第二評価関数を用いた学習を行う。
 第一評価関数が、制御対象300の一連の動作の時間ステップのうち最後の時間ステップにおいて、条件が反映されるように設定されていてもよい。例えば、上述したようにエピソードの最後のターンで条件が満たされていない場合に、報酬値にペナルティが付加されるようになっていてもよい。
 そして、評価関数設定部192が、第一評価関数から、最後の時間ステップにおける条件に基づく条件を、制御対象300の一連の動作の時間ステップのうち、最後の時間ステップとは異なる時間ステップにおいて反映させる変更が行われた、第二評価関数を生成するようにしてもよい。
 「第一評価関数から、最後の時間ステップにおける条件に基づく条件を、制御対象300の一連の動作の時間ステップのうち、最後の時間ステップとは異なる時間ステップにおいて反映させる変更が行われた、第二評価関数」は、「第一評価関数から、制御対象300の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数」の例に該当する。
 第一評価関数が、制御対象300の動作に関する評価が閾値よりも低い評価である場合に、制御対象300の動作に関する評価を低下させるように設定されていてもよい。そして、評価関数設定部192が、第一評価関数から、制御対象300の動作に関する評価が閾値以上に高い評価となり易いように閾値が変更された、第二評価関数を生成するようにしてもよい。
 「第一評価関数から、制御対象300の動作に関する評価が閾値以上に高い評価となり易いように閾値が変更された、第二評価関数」も、「第一評価関数から、制御対象300の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数」の例に該当する。
 履歴情報取得部193は、履歴情報を取得する。例えば、履歴情報取得部193は、制御対象300および環境を模擬するシミュレータを備え、シミュレーションを実行する。シミュレーションの際、履歴情報取得部193は、学習部195が設定する動作規則に従って制御対象300の動作を決定し、決定した動作を模擬する。
 履歴情報取得部193は、シミュレーションの実行における時間ステップ毎に、状態を示す情報と制御対象300の動作を示す情報と報酬値とを含む履歴情報を生成し、履歴情報記憶部183に記憶させる。
 履歴情報変換部194は、履歴情報を変換する。特に、履歴情報変換部194は、履歴情報に含まれる報酬値に、制御対象300の動作に関する条件を反映させる変換、および、学習を比較的容易にするための補助報酬を反映させる変換を行う。
 学習部195は、第二評価関数を用いて制御対象300の動作規則の学習を行う。そして、学習部195は、第二評価関数を用いた学習の学習結果と、第一評価関数とを用いて、制御対象300の動作規則の学習を行う。
 学習部195が、動作規則の学習中に設定した動作規則に対する評価を取得するようにしてもよい。そして、得られた評価が所定の条件よりも低い場合、学習部195が、過去に設定した動作規則を再度設定するようにしてもよい。
 以下に、制御対象300の動作の例および履歴情報の例を示し、履歴情報の書き換えの例を示す。Hopperと呼ばれるロボットを制御対象として、Hopperの動作の例、その動作の履歴情報の例を示す。そして、制約条件を反映させる履歴情報の書き換えの例、および、学習を簡単にするための履歴情報の書き換えの例を示す。
 図3は、第1エピソードの第1ターンの例を示す図である。したがって、図3は、第1エピソードにおける初期状態を示している。図3から図7では、Hopper801と、目標位置802とが示されている。Hopper801は、制御対象300の例に該当する。目標位置802は、Hopper801の進行目標の位置に配置されている。図3から図7の例では、目標位置802は固定である。したがって、何れのエピソードの何れのターンでも、目標位置802は同じ位置に配置されている。
 図4は、第1エピソードの第2ターンの例を示す図である。図4の例では、図3に示される第1ターンの場合よりも、Hopper801が目標位置802に近付いている。
 図5は、第1エピソードの第3ターンの例を示す図である。図5の例では、図4に示される第2ターンの場合よりも、Hopper801が目標位置802に近付いている。第1エピソードでは、図5の例で最大ターン数の3回に達したため、エピソードが終了している。
 履歴情報取得部193は、第1エピソードにおける第1ターンから第3ターンまでの、2次元座標におけるHopper801の位置情報と、Hopper801を動作させるトルクの数値と、報酬との組み合わせの履歴情報を履歴情報記憶部183に格納する。
 図6は、第2エピソードの第1ターンの例を示す図である。したがって、図6は、第2エピソードにおける初期状態を示している。
 図7は、第2エピソードの第2ターンの例を示す図である。図7の例では、Hopper801が転倒している。このため、エピソードが終了している。
 履歴情報取得部193は、第2エピソードにおける第1ターンから第2ターンまでの、2次元座標におけるHopper801の位置情報と、Hopper801の動作を制御するトルクの数値と、報酬との組み合わせの履歴情報を履歴情報記憶部183に格納する。
 図8は、履歴情報取得部193が記憶する履歴情報の例を示す図である。図8の例では、履歴情報が表形式で示されており、1つの行が1つのターンにおけるHopper801の動作に関する履歴情報を示す。
 図8で、mは、エピソードの識別番号を示す。tは、ターンの識別番号を示す。動作at,mは、第mエピソードの第tターンにおける、Hopper801の動作を制御するトルクの数値を示す。状態st,mは、第mエピソードの第tターンにおける、Hopper801の座標(位置情報)を示す。
 報酬rt,mは、第mエピソードの第tターンにおける、報酬を示す。
 第1エピソードの第1ターンおよび第2エピソードの第1ターンでは、いずれもエピソードにおける初期状態のため、報酬は0となっている。第1エピソードの第2ターンおよび第3ターンでは、いずれも、Hopper801が目標位置802に向かって進んだ進み具合に応じて報酬が与えられている。一方、第2エピソードの第2ターンでは、Hopper801が転倒したため、-10の報酬が与えられている。
 図9は、制御対象300の動作に関する条件の例を示す図である。図9は、エピソードで得られるリターンの確率分布の例を示している。ここでいうリターンは、報酬を1つのエピソードについて合計した値である。すなわち、リターンは、1エピソード分の累積報酬値である。
 図9の横軸は、リターンを示す。縦軸は、横軸に示されるリターンを得られる確率を示す。
 領域A1は、リターンの分布の下位ε%(εは0<ε<100の実数)を示す。制御対象300の動作に関する条件として、例えば、リターンの分布の下側ε%の期待値が、特定の閾値以上になるといった制約条件が設定される。ここでの下側は、値が小さい側である。リターンの分布の下側ε%の期待値を、CVaR(Condition Value At Risk)とも称する。CVaRは、領域A1の重心に相当する。
 ただし、制御対象300の動作に関する条件は、特定の条件に限定されない。
 図10は、リスク考慮型履歴情報の第1の例を示す図である。リスク考慮型履歴情報は、制御対象300の動作に関する条件が反映された履歴情報である。図9に示す条件は、制御対象300が、リターンがある条件以下に小さくなるというリスクを避けるように動作する、という制約条件を示している。この条件が反映された履歴情報は、リスクを避けることを考慮して制御対象300の動作を決定する動作規則を学習するための学習データとなっている。
 図10の例で、履歴情報変換部194は、図9の履歴情報の状態st,mがリスク考慮型状態情報s’t,mに置き換えられ、報酬rt,mがリスク考慮型報酬r’t,mに置き換えられたリスク考慮型履歴情報を生成している。
 履歴情報変換部194は、式(1)に基づいてリスク考慮型状態情報s’t,mを生成する。
Figure JPOXMLDOC01-appb-M000001
 ここで、「||」は、ベクトルの要素を結合する演算を示す。すなわち、状態st,mが(xt,m,yt,m)と表されるのに対し、リスク考慮型状態情報s’t,mは、(xt,m,yt,m,v,Σt=0 Tm-1-rt,m)と表される。
 ただし、xt,mは、第mエピソードの第tターンにおけるHopper801の位置のx座標を示す。yt,mは、第mエピソードの第tターンにおけるHopper801の位置のy座標を示す。すなわち、ベクトル(xt,m,yt,m)は、第mエピソードの第tターンにおける、2次元座標におけるHopper801の位置情報の例に該当する。
 vは、報酬に基づいてリスクを評価するための閾値を示す。Tは、第mエピソードにおけるターン数を示す。図10の例では、T=3、T=2である。
 「Σt=0 Tm-1-rt,m」は、第mエピソードにおけるタイミング「0」からタイミング「Tm-1」までの間の報酬の合計値に、「-1」を乗算した値を表す。すなわち、「Σt=0 Tm-1-rt,m」は、第mエピソードにおけるタイミング「0」からタイミング「Tm-1」までの間のペナルティの合計値であるということもできる。
 リスク考慮型状態情報s’t,mのvおよびΣt=0 Tm-1-rt,mは、リスク考慮型報酬r’t,mを算出するために用いられる。ただし、これらの情報をリスク考慮型状態情報s’t,mに含めることは必須ではない。例えば、記憶部180が、リスク考慮型状態情報s’t,mとは別に閾値vを記憶しておくようにしてもよい。また、履歴情報変換部194が、リスク考慮型報酬r’t,mを算出する際に、履歴情報に示される状態の履歴を用いるようにすれば、リスク考慮型状態情報s’t,mに「Σt=0 Tm-1-rt,m」を含める必要はない。
 また、履歴情報変換部194は、式(2)に基づいてリスク考慮型報酬r’t,mを生成する。
Figure JPOXMLDOC01-appb-M000002
 ここで、式(2)の(1/ε)max(0,v+Σt=0 Tm-rt,m)がペナルティを表し、εは、どの程度ペナルティを重要視するかを決める係数である。説明の便宜上、εを実数の定数とする。
 式(2)で、報酬rt,mに「-」が付されていることから、第mエピソードにおける報酬rt,mの合計が小さいほど、Σt=0 Tm-rt,mの値は大きくなる。Σt=0 Tm-rt,mの値が-v以下である場合、式(2)のmax関数で0が選択され、ペナルティ(1/ε)max(0,v+Σt=0 Tm-rt,m)は0になる。一方、Σt=0 Tm-rt,mの値が-vより大きい場合、式(2)のmax関数でv+Σt=0 Tm-rt,mが選ばれ、履歴情報変換部194は、ペナルティを(1/ε)(v+Σt=0 Tm-rt,m)と算出する。履歴情報変換部194は、このペナルティを報酬rt,mから減算した値を、リスク考慮型報酬r’t,mとして算出する。
 このように、式(2)によれば、第mエピソードに関するリターン(累積報酬値)が閾値vよりも小さい場合に、第mエピソードの最後のターンの報酬値にペナルティが付加される。ペナルティの付加によって報酬値が小さくなる。報酬値が小さい値に変更されることで、制御対象300が、リターンが閾値vよりも小さくなるような行動(動作)をとりにくくなるように、動作規則の学習が進むと期待される。
 一方、エピソードの最後のターンの報酬値にペナルティが付加されることで、その前のターンの報酬値から急激に変化し、上述したように、学習が難しくなる可能性がある。
 図11は、リスク考慮型履歴情報の第2の例を示す図である。図11に示すリスク考慮型履歴情報では、図10に示すリスク考慮型履歴情報から、閾値(vの値)が1から0.5に変更されている。
 これにより、閾値の値が1の場合よりも、報酬にペナルティが付加されるエピソードの個数が少なくなる。この点で、制御対象300の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更されたといえる。これにより、報酬にペナルティが付加されることで報酬値が急変する頻度が低くなり、この点で、学習が難しくなる度合いが緩和されると期待される。
 図12は、リスク考慮型履歴情報の第3の例を示す図である。図12に示すリスク考慮型履歴情報では、図11に示すリスク考慮型履歴情報から、補助報酬を付加する変更が行われている。
 図12の例で、m=1、t=1の場合のr*’t,mの「-(1/0.1*max(0,0.5-0))」が、補助報酬の例に該当する。m=1、t=2の場合のr*’t,mの「-(1/0.1*max(0,0.5-0-5))」も、補助報酬の例に該当する。m=2、t=1の場合のr*’t,mの「-(1/0.1*max(0,0.5-0))」も、補助報酬の例に該当する。
 図12の例における補助報酬の付加は、式(3)のように表される。
Figure JPOXMLDOC01-appb-M000003
 図10および式(2)に示される、制御対象300の動作に関する条件の報酬への反映では、エピソードにおける最終の時間ステップの報酬rt,mに対して、条件を反映させるための項「-(1/ε)max(0,v+Σt=0 -rt,m)」が付加されている。
 図11に示されるリスク考慮型履歴情報でも、エピソードにおける最終の時間ステップの報酬rt,mに対して、条件を反映させるための項「-(1/ε)max(0,v+Σt=0 Tm-rt,m)」が付加されたままであり、閾値vの値が1から0.5に変更されている。
 これに対し、図12および式(3)に示される補助報酬の付加では、エピソードにおける最終の時間ステップとは異なる時間ステップの報酬rt,mに対して、補助報酬の項「-(1/ε)max(0,v+Σt=0 Tm-rt,m)」が付加されている。
 図12および式(3)に示される補助報酬の付加は、エピソードにおける最終の時間ステップの報酬に付加されている、条件を反映させるための項と同様の項を、エピソードにおける最終の時間ステップとは異なる時間ステップの報酬に付加するものと言える。図12および式(3)に示される補助報酬の付加の例では、最終の時間ステップ以外の時間ステップについて補助報酬が付加されている。しかし、必ずしもすべての時間ステップについて補助報酬が付加されている必要はなく、最終の時間ステップ以外の時間ステップうち、一部の時刻ステップについて補助報酬が付加されていてもよい。
 このように、補助報酬の項の付加によって、制御対象300の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更されたといえる。時間ステップ間での評価関数の相違が小さくなることで、報酬値の変化の度合いが小さくなり、この点で、学習が難しくなる度合いが緩和されると期待される。
 図13は、動作規則決定装置100が、制御対象300の行動規則を学習によって決定する処理手順の例を示す図である。
 図13の処理で、カリキュラム設定部191は、カリキュラムを設定する(ステップS11)。例えば、カリキュラム設定部191は、カリキュラム0、1、2の順に3段階のカリキュラムを設定する。
 例えば、カリキュラム設定部191は、カリキュラム0として、図12に例示される、閾値が変更され、かつ、補助報酬が付加された報酬を用いる学習を設定する。また、カリキュラム設定部191は、カリキュラム1として、図11に例示される、閾値が変更された報酬を用いる学習を設定する。また、カリキュラム設定部191は、カリキュラム2として、図10に例示される、制御対象300に関する条件が反映された報酬を用いる学習を設定する。
 カリキュラム2における学習は、制御対象300の動作規則が満たすべき条件の下での学習と言える。すなわち、カリキュラム2における学習は、学習部195が最終的に求めたい動作規則を求めるための学習と言える。
 カリキュラム設定部191が、比較的容易な学習から比較的難しい学習へと段階的にカリキュラムを設定することで、学習部195は、比較的容易な学習における学習結果を比較的難しい学習に利用することができ、学習を効率的に行えると期待される。例えば、学習部195は、比較的容易な学習で得られた動作規則(方策)を、比較的難しい学習における動作規則の初期値に設定することができる。
 ステップS11でのカリキュラムの設定で、評価関数設定部192は、カリキュラムに応じた報酬関数を設定する。
 次に、学習部195は、カリキュラムにおける動作規則を初期設定する(ステップS12)。例えば、カリキュラム0(最初のカリキュラム)では、学習部195は、動作規則を所定の動作規則に設定する。カリキュラム1および2では、学習部195は、動作規則を、その前のカリキュラムで得られた動作規則に設定する。
 次に、履歴情報取得部193は、履歴情報を取得する(ステップS13)。履歴情報取得部193が、制御対象300の動作のシミュレーションを行って履歴情報を取得するようにしてもよい。あるいは、履歴情報取得部193が、制御装置200が制御対象300を制御して得られる履歴情報を取得するようにしてもよい。制御対象300は、取得した履歴情報を履歴情報記憶部183に記憶させる。
 次に、履歴情報変換部194は、カリキュラム設定部191が設定したカリキュラムに応じて履歴情報を変換する(ステップS14)。履歴情報変換部194は、変換後の履歴情報を履歴情報記憶部183に記憶させる。
 次に、学習部195は、履歴情報変換部194による変換後の履歴情報を用いて動作規則を学習する(ステップS15)。例えば、学習部195が、式(4)を用いて方策勾配法によって動作規則のパラメータの値を更新するようにしてもよい。
Figure JPOXMLDOC01-appb-M000004
 ここで、Mは、エピソードの個数を示す。Tは、第mエピソードにおけるターン数を示す。αは、行動規則のパラメータθを更新する大きさを調整するための係数である。
 π(at,m|s’t,m,θ)は、状態s’t,mおよび行動規則のパラメータθのもとで動作at,mが選ばれる確率を示す。∇θlogπ(at,m|s’t,m,θ)は、θによるlogπ(at,m|s’t,m,θ)の微分を示す。∇θlogπ(at,m|s’t,m,θ)が示す傾きの方向に行動規則のパラメータθの値が変化することで、状態s’t,mおよび行動規則のパラメータθのもとで動作at,mが選ばれる確率が上昇する。
 リスク考慮型報酬r’の値が正の場合、学習部195は、∇θlogπ(at,m|s’t,m,θ)が示す傾きの方向に行動規則のパラメータθの値を更新する。これによって、状態s’t,mおよび行動規則のパラメータθのもとで動作at,mが選ばれる確率が上昇する。
 一方、リスク考慮型報酬r’の値が負の場合、学習部195は、∇θlogπ(at,m|s’t,m,θ)が示す傾きの方向と逆方向に行動規則のパラメータθの値を変化させる。これによって、状態s’t,mおよび行動規則のパラメータθのもとで動作at,mが選ばれる確率が低下する。
 学習部195は、式(4)を用いることで、リスク考慮型報酬r’の累積値を最大化するように行動規則のパラメータθの値を更新する。上記のように、履歴情報変換部194が、リスクを含むエピソードの報酬からペナルティを減算することで、リスクを含むエピソードの動作が選ばれる確率が低下する。
 ただし、学習部195が動作規則を学習する方法は、特定の方法に限定されない。例えば、学習部195が動作規則を学習する方法として、報酬に基づいて動作規則を更新する公知の方法を用いることができる。
 学習部195は、学習で得られた動作規則のパラメータ値を方策パラメータ記憶部182に記憶させる(ステップS16)。
 次に、学習部195は、動作規則変換処理を行う(ステップS17)。
 動作規則変換処理では、学習部195は、得られた動作規則の評価値を算出し、前回のステップS15の実行で得られた動作規則の評価値と比較する。前回のステップS15の実行で得られた動作規則のほうが評価値が大きい場合、学習部195は、今回のステップS15の実行を無かったものとして扱う。この場合、学習部195は、今回のステップS15の実行で得られた動作規則のパラメータ値を方策パラメータ記憶部182から削除し、仮採用するパラメータ値として、前回のステップS15の実行で得られた動作規則のパラメータ値を設定し直す。
 ただし、動作規則変換処理は、必須ではない。したがって、動作規則決定装置100が、ステップS17の処理を行わず、ステップS16の後、ステップS18を実行するようにしてもよい。
 次に、カリキュラム設定部191は、1カリキュラム分の処理が終了したか否かを判定する(ステップS18)。
 例えば、「平均リターン>1.0」、かつ、制約充足率90%が成り立つ場合に、カリキュラム設定部191が、1カリキュラム分の処理が終了したと判定するようにしてもよい。
 あるいは、カリキュラム設定部191が、カリキュラム毎に異なる終了条件を用いるようにしてもよい。
 1カリキュラム分の処理が終了していないとカリキュラム設定部191が判定した場合(ステップS18:NO)、処理がステップS13に戻る。
 一方、1カリキュラム分の処理が終了しているとカリキュラム設定部191が判定した場合(ステップS18:YES)、学習部195は、そのカリキュラムで得られた条件を満たす動作規則のうち、リターンの期待値が最も大きくなる動作規則を、学習結果として選択する(ステップS19)。
 次に、カリキュラム設定部191は、最後のカリキュラムを終了したか否かを判定する(ステップS20)。
 最後のカリキュラムを終了してないとカリキュラム設定部191が判定した場合(ステップS20:NO)、処理がステップS11へ戻る。
 一方、最後のカリキュラムを終了したとカリキュラム設定部191が判定した場合(ステップS20:YES)、動作規則決定装置100は、図13の処理を終了する。
 図14は、履歴情報取得部193がシミュレーションによって履歴情報を取得する場合の処理手順の例を示す図である。履歴情報取得部193は、図13のステップS13で図14の処理を行う。
 図14の処理で、履歴情報取得部193は、環境を設定する(ステップS111)。具体的には、履歴情報取得部193は、環境パラメータを有するシミュレーションモデルを備え、環境パラメータに値を設定することで環境の設定を行う。
 図3から図7の例の場合、環境パラメータの例として、床の摩擦抵抗値など床の滑り易さを挙げることができる。ただし、履歴情報取得部193が備えるシミュレーションモデルにおける環境パラメータは、特定のものに限定されない。
 次に、履歴情報取得部193は、シミュレーションを1ステップ分実行する(ステップS112)。ここでのシミュレーションの1ステップは、制御対象300の動作の計算、および、制御対象300の動作後の状態の計算を1回分行う処理である。
 シミュレーションの1ステップは、時間ステップの1ステップ、および、エピソードの1ターンに該当する。
 次に、履歴情報取得部193は、ステップS112での制御対象300の動作、および、算出した状態を示す情報を、1ステップ分の履歴情報として履歴情報記憶部183に記憶させる(ステップS13)。履歴情報記憶部183が履歴情報を記憶している場合、履歴情報取得部193は、履歴情報記憶部183が記憶している履歴情報に、1ステップ分の履歴情報を追加する。
 履歴情報取得部193が、報酬値も算出して履歴情報に含めるようにしてもよい。あるいは、履歴情報取得部193または学習部195が、制御対象300の動作および状態に基づいて、事後的に報酬値を算出するようにしてもよい。
 次に、履歴情報取得部193は、1エピソード分のシミュレーションが終了したか否かを判定する(ステップS114)。具体的には、履歴情報取得部193は、エピソードの終了条件が成立しているか否かを判定する。
 図3から図7の例の場合、エピソードの終了条件として、エピソードにおけるターン数が所定の数だけ進んだ、あるいは、Hopper801が転倒した、という条件を挙げることができる。ただし、エピソードの終了条件は、特定の条件に限定されない。
 1エピソード分のシミュレーションが終了していないと履歴情報取得部193が判定した場合(ステップS114:NO)、処理がステップS112へ戻る。
 一方、1エピソード分のシミュレーションが終了したと判定した場合(ステップS114:YES)、履歴情報取得部193は、シミュレーションを行うべき環境の設定を全て実行したか否かを判定する(ステップS115)。例えば、履歴情報取得部193は、複数通り定められている環境パラメータ値の設定を全て実行したか否かを判定する。
 実行していない環境の設定があると履歴情報取得部193が判定した場合(ステップS115:NO)、処理がステップS111へ戻る。
 一方、シミュレーションを行うべき環境の設定を全て実行したと判定した場合(ステップS115:YES)、履歴情報取得部193は、図14の処理を終了する。
 図15は、学習部195が動作規則評価処理を行う手順の例を示す図である。学習部195は、図13のステップS17で図15の処理を行う。
 図15の処理で、学習部195は、図13のステップS15の今回の実行で得られた動作規則を評価する(ステップS211)。
 学習部195が、ステップS211で動作規則を評価する方法は特定の方法に限定されない。例えば、ステップS211が、動作規則を履歴情報取得部193に出力して制御対象300の動作のシミュレーションを実行させ、制御対象300の動作の結果として得られる状態情報に対する評価指標値を算出するようにしてもよい。
 次に、学習部195は、ステップS15の今回の実行で得られた動作規則が、ステップS15の前回の実行で得られた動作規則以上に高評価か否かを判定する(ステップS212)。例えば、学習部195が、ステップS15の今回の実行で得られた動作規則と、ステップS15の前回の実行で得られた動作規則とについて、ステップS211で算出した評価指標値を比較するようにしてもよい。
 ステップS15の今回の実行で得られた動作規則が、ステップS15の前回の実行で得られた動作規則以上に高評価であると判定した場合(ステップS212:YES)、学習部195は、図15の処理を終了する。
 一方、ステップS15の前回の実行で得られた動作規則のほうが高評価であると判定した場合(ステップS212:NO)、学習部195は、今回のステップS15の実行を無かったものとして扱う。この場合、学習部195は、今回のステップS15の実行で得られた動作規則のパラメータ値を方策パラメータ記憶部182から削除し、仮採用するパラメータ値として、前回のステップS15の実行で得られた動作規則のパラメータ値を設定し直す。
 ステップS213の後、学習部195は、図15の処理を終了する。
 以上のように、評価関数設定部192は、制御対象300の動作に関する条件が反映された第一評価関数から、制御対象300の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定する。学習部195は、第二評価関数を用いて制御対象300の動作規則の学習を行う。そして、学習部195は、第二評価関数を用いた学習における学習結果と、第一評価関数とを用いて制御対象300の動作規則の学習を行う。
 第二評価関数を用いる学習のほうが、第一評価関数を用いる学習よりも、時間ステップ間での評価関数の相違が小さいことで評価値の変化量が小さく、学習が容易であることが期待される。学習部195が、第二評価関数を用いた学習における学習結果を用いることで、第一評価関数を用いる学習を比較的容易に行えると期待される。このように、動作規則決定装置100によれば、制御対象300の動作規則の学習において、動作に関する条件が設定されることで学習が比較的難しくなる場合に、学習が難しくなる度合いを緩和するための対策を講じることができる。
 また、第一評価関数は、制御対象の一連の動作の時間ステップのうち最後の時間ステップにおいて、制御対象300の動作に関する条件が反映されるように設定されている。評価関数設定部192は、第一評価関数から、最後の時間ステップにおける制御対象300の動作に関する条件に基づく条件を、制御対象300の一連の動作の時間ステップのうち、最後の時間ステップとは異なる時間ステップにおいて反映させる変更が行われた、前記第二評価関数を生成する。
 これにより、第二評価関数を用いた学習では、制御対象300の動作に関する評価の時間ステップ間での評価関数の相違が小さくなる。動作規則決定装置100によれば、時間ステップ間での評価関数の相違が小さくなることで、報酬値の変化の度合いが小さくなり、この点で、学習が難しくなる度合いが緩和されると期待される。
 また、第一評価関数は、制御対象300の動作に関する評価が閾値よりも低い評価である場合に、制御対象300の動作に関する評価を低下させるように設定されている。評価関数設定部192は、第一評価関数から、制御対象300の動作に関する評価が閾値以上に高い評価となり易いように閾値が変更された、第二評価関数を生成する。
 第二評価関数を用いた学習では、第一評価関数を用いた学習の場合よりも、評価が低下する頻度が低くなる。この点で、評価関数設定部192によって、制御対象300の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更されたといえる。動作規則決定装置100によれば、評価が低下して時間ステップ間で評価値が急変する頻度が低くなり、この点で、学習が難しくなる度合いが緩和されると期待される。
 また、学習部195は、動作規則の学習中に設定した動作規則に対する評価が所定の条件よりも低い場合、過去に設定した動作規則を再度設定する。
 動作規則決定装置100によれば、学習に失敗した場合に学習結果を学習に失敗する前の状態に戻すことができ、これによって学習を効率的に行えると期待される。
 図16は、実施形態に係る動作規則決定装置の構成の例を示す図である。図16に示す構成で、動作規則決定装置600は、評価関数設定部601と、学習部602とを備える。
 かかる構成で、評価関数設定部601は、制御対象の動作に関する条件が反映された第一評価関数から、制御対象の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定する。学習部602は、第二評価関数を用いて制御対象の動作規則の学習を行い、学習結果と、第一評価関数とを用いて制御対象の動作規則の学習を行う。
 第二評価関数を用いる学習のほうが、第一評価関数を用いる学習よりも、時間ステップ間での評価関数の相違が小さいことで評価値の変化量が小さく、学習が容易であることが期待される。学習部602が、第二評価関数を用いた学習における学習結果を用いることで、第一評価関数を用いる学習を比較的容易に行えると期待される。このように、動作規則決定装置600によれば、制御対象の動作規則の学習において、動作に関する条件が設定されることで学習が比較的難しくなる場合に、学習が難しくなる度合いを緩和するための対策を講じることができる。
 評価関数設定部601は、例えば、図2に示される評価関数設定部192等の機能を用いて実現することができる。学習部602は、例えば、図2に示され学習部195等の機能を用いて実現することができる。
 図17は、実施形態に係る動作規則決定方法における処理の手順の例を示す図である。図17に示す処理は、評価関数を設定すること(ステップS601)と、学習を行うこと(ステップS602)とを含む。
 評価関数を設定すること(ステップS601)では、コンピュータが、制御対象の動作に関する条件が反映された第一評価関数から、制御対象の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定する。
 学習を行うこと(ステップS602)では、コンピュータが、第二評価関数を用いて制御対象の動作規則の学習を行い、学習結果と、第一評価関数とを用いて制御対象の動作規則の学習を行う。
 第二評価関数を用いる学習のほうが、第一評価関数を用いる学習よりも、時間ステップ間での評価関数の相違が小さいことで評価値の変化量が小さく、学習が容易であることが期待される。ステップS602の処理で、第二評価関数を用いた学習における学習結果を用いることで、第一評価関数を用いる学習を比較的容易に行えると期待される。このように、図17に示す処理によれば、制御対象の動作規則の学習において、動作に関する条件が設定されることで学習が比較的難しくなる場合に、学習が難しくなる度合いを緩和するための対策を講じることができる。
 図18は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 図18に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740と、不揮発性記録媒体750とを備える。
 上記の動作規則決定装置100、制御装置200、および動作規則決定装置600のうち何れか1つ以上またはその一部が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。また、インタフェース740は、不揮発性記録媒体750用のポートを有し、不揮発性記録媒体750からの情報の読出、および、不揮発性記録媒体750への情報の書込を行う。
 動作規則決定装置100がコンピュータ700に実装される場合、制御部190およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、記憶部180およびその各部に対応する記憶領域を主記憶装置720に確保する。通信部110が行う通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。
 動作規則決定装置100とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
 制御装置200がコンピュータ700に実装される場合、その動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、制御装置200が処理を行うための記憶領域を主記憶装置720に確保する。制御装置200と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。
 制御装置200とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
 動作規則決定装置600がコンピュータ700に実装される場合、評価関数設定部601および学習部602の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、動作規則決定装置600が処理を行うための記憶領域を主記憶装置720に確保する。動作規則決定装置600と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。
 動作規則決定装置600とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
 上述したプログラムのうち何れか1つ以上が不揮発性記録媒体750に記録されていてもよい。この場合、インタフェース740が不揮発性記録媒体750からプログラムを読み出すようにしてもよい。そして、CPU710が、インタフェース740が読み出したプログラムを直接実行するか、あるいは、主記憶装置720または補助記憶装置730に一旦保存して実行するようにしてもよい。
 なお、動作規則決定装置100、制御装置200、および動作規則決定装置600が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
 本発明は、動作規則決定装置、動作規則決定方法および記録媒体に適用してもよい。
 1 制御システム
 100、600 動作規則決定装置
 110 通信部
 180 記憶部
 181 カリキュラム記憶部
 182 方策パラメータ記憶部
 183 履歴情報記憶部
 190 制御部
 191 カリキュラム設定部
 192、601 評価関数設定部
 193 履歴情報取得部
 194 履歴情報変換部
 195、602 学習部
 200 制御装置
 300 制御対象

Claims (6)

  1.  制御対象の動作に関する条件が反映された第一評価関数から、前記制御対象の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定する評価関数設定部と、
     前記第二評価関数を用いて前記制御対象の動作規則の学習を行い、学習結果と、前記第一評価関数とを用いて前記制御対象の動作規則の学習を行う学習部と、
     を備える動作規則決定装置。
  2.  前記第一評価関数は、前記制御対象の一連の動作の時間ステップのうち最後の時間ステップにおいて、前記条件が反映されるように設定されており、
     前記評価関数設定部は、前記第一評価関数から、前記最後の時間ステップにおける前記条件に基づく条件を、前記制御対象の一連の動作の時間ステップのうち、最後の時間ステップとは異なる時間ステップにおいて反映させる変更が行われた、前記第二評価関数を生成する、
     請求項1に記載の動作規則決定装置。
  3.  前記第一評価関数は、前記制御対象の動作に関する評価が閾値よりも低い評価である場合に、前記制御対象の動作に関する評価を低下させるように設定されており、
     前記評価関数設定部は、前記第一評価関数から、前記制御対象の動作に関する評価が閾値以上に高い評価となり易いように前記閾値が変更された、前記第二評価関数を生成する、
     請求項1または請求項2に記載の動作規則決定装置。
  4.  前記学習部は、前記動作規則の学習中に設定した動作規則に対する評価が所定の条件よりも低い場合、過去に設定した動作規則を再度設定する、
     請求項1から3の何れか一項に記載の動作規則決定装置。
  5.  コンピュータが、
     制御対象の動作に関する条件が反映された第一評価関数から、前記制御対象の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定し、
     前記第二評価関数を用いて前記制御対象の動作規則の学習を行い、学習結果と、前記第一評価関数とを用いて前記制御対象の動作規則の学習を行う
     ことを含む動作規則決定方法。
  6.  コンピュータに、
     制御対象の動作に関する条件が反映された第一評価関数から、前記制御対象の動作に関する評価の時間ステップ間での評価関数の相違が小さくなるように変更された第二評価関数を設定することと、
     前記第二評価関数を用いて前記制御対象の動作規則の学習を行い、学習結果と、前記第一評価関数とを用いて前記制御対象の動作規則の学習を行うことと、
     を実行させるためのプログラムを記録した記録媒体。
PCT/JP2021/030873 2021-08-23 2021-08-23 動作規則決定装置、動作規則決定方法および記録媒体 WO2023026342A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/030873 WO2023026342A1 (ja) 2021-08-23 2021-08-23 動作規則決定装置、動作規則決定方法および記録媒体
JP2023543506A JPWO2023026342A5 (ja) 2021-08-23 動作規則決定装置、動作規則決定方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/030873 WO2023026342A1 (ja) 2021-08-23 2021-08-23 動作規則決定装置、動作規則決定方法および記録媒体

Publications (1)

Publication Number Publication Date
WO2023026342A1 true WO2023026342A1 (ja) 2023-03-02

Family

ID=85321635

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/030873 WO2023026342A1 (ja) 2021-08-23 2021-08-23 動作規則決定装置、動作規則決定方法および記録媒体

Country Status (1)

Country Link
WO (1) WO2023026342A1 (ja)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HOSSEIN MOBAHI: "Training Recurrent Neural Networks by Diffusion", 4 February 2016 (2016-02-04), pages 1 - 22, XP055536090, Retrieved from the Internet <URL:https://arxiv.org/pdf/1601.04114.pdf> [retrieved on 20181218] *
VIEILLARD VIEILLARD NINO NINO, SCHERRER BRUNO, PIETQUIN OLIVIER, GEIST MATTHIEU: "Momentum in Reinforcement Learning", PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE AND STATISTICS (AISTATS) 2020, PALERMO, ITALY. PMLR : VOLUME 108. COPYRIGHT 2020 BY THE AUTHOR(S), vol. 108, 26 August 2020 (2020-08-26), XP093038932 *

Also Published As

Publication number Publication date
JPWO2023026342A1 (ja) 2023-03-02

Similar Documents

Publication Publication Date Title
US20210374538A1 (en) Reinforcement learning using target neural networks
US11413539B2 (en) Realtime dynamic modification and optimization of gameplay parameters within a video game application
Kaplanis et al. Continual reinforcement learning with complex synapses
EP3142033B1 (en) Physiology-driven decision support for therapy planning
US20190156197A1 (en) Method for adaptive exploration to accelerate deep reinforcement learning
US20110288835A1 (en) Data processing device, data processing method and program
JP7059695B2 (ja) 学習方法および学習装置
CN111389006A (zh) 一种动作预测方法及装置
WO2023026342A1 (ja) 動作規則決定装置、動作規則決定方法および記録媒体
CN114004149A (zh) 一种智能体的训练方法、装置、计算机设备及存储介质
JP7210489B2 (ja) 学習装置、学習方法および学習プログラム
CN115659054B (zh) 基于强化学习的游戏关卡推荐方法和装置
JP7173317B2 (ja) 動作規則決定装置、動作規則決定方法およびプログラム
JP3703822B2 (ja) 内部変数推定装置、内部変数推定方法及び内部変数推定プログラム
WO2023248426A1 (ja) 学習装置、表示装置、学習方法、表示方法および記録媒体
CN112884129B (zh) 一种基于示教数据的多步规则提取方法、设备及存储介质
CN114255234B (zh) 对基于眼底图像识别心脑血管风险的模型进行训练的方法及其相关产品
US20240038394A1 (en) Machine learning model generation apparatus, machine learning model generation method, and non-transitory computer readable medium
WO2022049672A1 (ja) 学習装置、学習方法、制御システムおよび記録媒体
US20220253693A1 (en) Computer-readable recording medium storing machine learning program, apparatus, and method
JP7436830B2 (ja) 学習プログラム、学習方法、および学習装置
WO2022101966A1 (ja) 学習装置、制御システム、学習方法および記録媒体
US20230334315A1 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
Zambrano Huertas et al. Deep reinforcement learning for optimal gameplay in street fighter III: a resource-constrained approach
Walton An evaluation of using deterministic heuristics to accelerate reinforcement learning

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023543506

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE