WO2021186500A1 - 学習装置、学習方法、及び、記録媒体 - Google Patents

学習装置、学習方法、及び、記録媒体 Download PDF

Info

Publication number
WO2021186500A1
WO2021186500A1 PCT/JP2020/011465 JP2020011465W WO2021186500A1 WO 2021186500 A1 WO2021186500 A1 WO 2021186500A1 JP 2020011465 W JP2020011465 W JP 2020011465W WO 2021186500 A1 WO2021186500 A1 WO 2021186500A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
policy
difficulty level
target system
control
Prior art date
Application number
PCT/JP2020/011465
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 US17/909,835 priority Critical patent/US20240202569A1/en
Priority to JP2022508616A priority patent/JP7468619B2/ja
Priority to PCT/JP2020/011465 priority patent/WO2021186500A1/ja
Publication of WO2021186500A1 publication Critical patent/WO2021186500A1/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, for example, a learning device or the like that learns about a control content or the like that controls a controlled object.
  • Machine learning is used in various situations such as image recognition and machine control. Machine learning is attracting attention and is being enthusiastically developed as it has the potential to realize complex and advanced decision-making that is difficult to achieve with human design.
  • Reinforcement learning for example, realizes decision-making beyond the human level in a system that automatically determines the behavior of a computer player in a game. Reinforcement learning realizes complicated movements that are difficult to design by humans in a system that automatically determines the movements of a robot system.
  • the framework for executing reinforcement learning includes the target system itself (or an environment that simulates the target system) and an agent that determines the behavior (hereinafter referred to as behavior) of the target system.
  • learning data is a set of action, observation, and reward.
  • the reward is given, for example, according to the similarity between the state of the target system and the desired state. In this case, the higher the similarity between the state of the target system and the desired state, the higher the reward. The lower the similarity between the state of the target system and the desired state, the lower the reward.
  • Observations and rewards are obtained from the environment each time an agent acts.
  • reinforcement learning acts by trial and error, and searches for various behaviors so that the reward obtained by the behavior is high.
  • the learning is to iteratively update the policy, which is a mathematical model that determines the behavior of the agent, using the learning data obtained by the search.
  • the policy is updated so that the cumulative reward that can be earned by the series of actions is maximized from the start of the action to the completion of the action.
  • the system disclosed in Patent Document 1 has a user interface that allows parameters to be changed during learning calculation. More specifically, the system disclosed in Patent Document 1 has a user interface that can change the weighting coefficient of each evaluation index constituting the reward function in the middle of the learning calculation. When the system detects that learning has stagnated, it alerts the user to change the weighting factor.
  • the system disclosed in Patent Document 2 includes a calculation process that changes parameters for the environment each time a learning calculation in reinforcement learning is executed. Specifically, the system determines whether or not to change the parameter based on the learning result, and when it is determined to change, adjusts the parameter of the environment by the update amount preset by the user.
  • the system includes a teacher agent that changes the probability distribution of the parameters of the environment with respect to the reinforcement learning agent (referred to as a student agent here).
  • the teacher agent calculates the machine learning based on the learning status of the student agent and the parameters of the corresponding environment, and obtains the probability distribution for the parameters of the environment where a higher learning status can be obtained. calculate.
  • the teacher agent performs a clustering calculation of the Gaussian mixture model.
  • the teacher agent updates the probability distribution of the parameters of the environment by selecting one from the plurality of normal distributions obtained by clustering based on the bandit algorithm.
  • One of the objects of the present invention is to provide a learning device or the like capable of efficient learning.
  • the learning device is a learning device that learns the policy for determining the control content of the target system, and according to the policy, the observation information about the target system, the state transition method of the target system, and the control content.
  • the control to be applied to the target system, the determination means to determine the difficulty level to be set for the target system, and the determined control are determined by using the difficulty level corresponding to the high evaluation of.
  • a learning progress calculation means for calculating the learning progress of a policy using a plurality of original evaluations of the state before and after the transition of the target system and the determined control according to the difficulty level, the original evaluation, and the determined difficulty level.
  • the learning method is a learning method for learning a policy for determining the control content of the target system by a computer, and the observation information about the target system and the state transition method of the target system are performed according to the policy.
  • the control to be applied to the target system and the difficulty level to be set for the target system are determined by using the difficulty level corresponding to the high evaluation of the control content and the determined control and determination.
  • the learning progress of the policy was calculated using multiple original evaluations of the state before and after the transition of the target system and the determined control according to the determined difficulty level, and the original evaluation and the determined difficulty level were calculated.
  • the revised evaluation is calculated using the learning progress, and the policy is updated using the observation information, the determined control, the determined difficulty level, and the revised evaluation.
  • the learning program is a program for learning the policy for determining the control content of the target system, and the observation information about the target system and the state transition method of the target system are provided to the computer according to the policy.
  • the process of calculating the learning progress of the policy using multiple original evaluations of the state before and after the transition of the target system and the determined control according to the determined difficulty level, the original evaluation, the determined difficulty level, and The process of calculating the revised evaluation using the calculated learning progress, the process of updating the policy using the observation information, the determined control, the determined difficulty level, and the revised evaluation are executed. Let me.
  • Patent Document 1 and Patent Document 2 The inventor of the present application has found a problem in the techniques described in Patent Document 1 and Patent Document 2 in which a user sets parameters in detail according to a learning situation.
  • the technique receives parameters from the user, for example, but the inventor has found the problem that the user cannot set the parameters appropriately.
  • learning efficiency is lowered when parameters cannot be set appropriately.
  • the inventor has found such a problem and has come to derive a means for solving the problem.
  • Curriculum learning is a method based on the learning process of learning the easy and then the difficult.
  • Curriculum learning is a machine learning method in which a task with a high degree of difficulty is learned by starting with a task with a low degree of difficulty.
  • a low difficulty task represents, for example, a task with a high probability of success or a high expected achievement.
  • a task with a high degree of difficulty represents, for example, a task that realizes a desired state or desired control.
  • FIG. 1 is a schematic block diagram showing a configuration of a learning system 1 including a learning device 100 according to a first embodiment of the present invention.
  • the learning system 1 is roughly classified into a learning device 100, an environmental device 200, and a user interface (hereinafter referred to as "I / F") 300.
  • the learning device 100 includes a learning unit 110, a learning data acquisition unit 120, and an input / output control unit 130.
  • the learning unit 110 includes a policy updating unit 111, a learning setting storage unit 112, a learning data storage unit 113, and a policy storage unit 114.
  • the learning data acquisition unit 120 includes an agent calculation unit 121, an agent setting storage unit 122, a conversion unit 123, and a conversion setting storage unit 124.
  • the environmental device 200 has an environment unit 210.
  • the environment unit 210 executes the processing of the environment device 200.
  • the learning device 100 is communicably connected to the environment device 200 and the user I / F 300 via a communication line.
  • Communication lines include, for example, dedicated lines, the Internet, VPN (Virtual Private Network), LAN (Local Area Network), USB (Universal Serial Bus), Wi-Fi (registered trademark), BlueTooth (registered trademark), and other communication lines. It may be configured in any form regardless of the form of occupancy and the physical form of the communication line such as a wired line and a wireless line.
  • the learning device 100 generates a policy that is a model for determining the control content for operating the target system such as the controlled object as desired according to the learning process as described later.
  • the learning device 100 generates a policy that realizes processing as a control controller of the target system. That is, the learning device 100 also has a function as a control device for controlling the controlled object. Therefore, for example, the user can design and implement the control controller of the target system by generating the policy using the learning device 100.
  • the target system is a system to be controlled.
  • the target system is a system that controls individual devices that make up the system, such as a robot system.
  • the target system may be a system that controls an object or an instance in a program, such as a game system.
  • the target system is not limited to these examples.
  • the control in the robot system is, for example, angular velocity control or torque control of each joint of the arm-type robot.
  • the control may be, for example, motor control of each module of the humanoid robot.
  • the control may be, for example, rotor control of a flying robot.
  • the control in the game system is, for example, automatic operation of a computer player, adjustment of the difficulty level of the game, and the like. Some examples of control have been given, but control is not limited to these examples.
  • the environmental device 200 is a target system or a simulated system that simulates the target system.
  • the simulation system is, for example, a hardware emulator, a software emulator, a hardware simulator, a software simulator, or the like of the target system.
  • the simulation system is not limited to these examples.
  • the target system is an arm-type robot
  • the control is pick-and-place (an end effector attached to the tip of the arm-type robot approaches the object, grips the object, and then puts the object in place.
  • An example is a series of control tasks) of transporting a robot and placing an object in place.
  • the simulation system is, for example, a system that executes software simulation in which CAD (Computer Aided Design) data of an arm-type robot and a physics engine, which is software capable of performing numerical calculation of dynamics, are combined.
  • CAD Computer Aided Design
  • physics engine which is software capable of performing numerical calculation of dynamics
  • calculation processing is executed on a computer such as a personal computer (PC) or a workstation (WorkStation).
  • the configuration of the learning system 1 is not limited to the configuration shown in FIG.
  • the learning device 100 may have an environment unit 210. Specifically, when a system that simulates a target system is used and a software emulator or software simulator is used, the learning device 100 has an environment unit 210 that executes processing related to the software emulator or software simulator. You may.
  • the user I / F 300 receives operations such as setting the learning device 100, executing the learning process, and writing the policy from the outside.
  • the user I / F 300 is, for example, a computer such as a personal computer, a workstation, a tablet, or a smartphone.
  • the user I / F 300 may be an input device such as a keyboard, a mouse, or a touch panel display.
  • the user I / F 300 is not limited to these examples.
  • the input / output control unit 130 receives operation commands such as setting of the learning device 100, execution of learning processing, and writing of policies from the user I / F 300 from the outside.
  • the input / output control unit 130 issues an operation command to the learning setting storage unit 112, the policy storage unit 114, the agent setting storage unit 122, the conversion setting storage unit 124, and the like according to the operation command received from the user I / F 300.
  • the learning setting storage unit 112 stores the settings related to policy learning in the policy update unit 111 according to the operation command received from the input / output control unit 130.
  • the settings related to policy learning are, for example, hyperparameters related to learning.
  • the policy update unit 111 reads the settings related to the policy learning from the learning setting storage unit 112 at the time of the policy update process.
  • the agent setting storage unit 122 stores the settings related to the learning data acquisition process in the agent calculation unit 121 according to the operation command received from the input / output control unit 130.
  • the settings related to the learning data storage process are, for example, hyperparameters related to the learning data acquisition process.
  • the agent calculation unit 121 reads the settings related to the learning data acquisition process from the agent setting storage unit 122 during the learning data acquisition process.
  • the conversion setting storage unit 124 stores the settings related to the conversion process in the conversion unit 123 according to the operation command received from the input / output control unit 130.
  • the settings related to the conversion process are, for example, hyperparameters related to the conversion process.
  • the conversion unit 123 reads the settings related to the conversion process from the conversion setting storage unit 124 during the learning data acquisition process.
  • the learning device 100 communicates with the environment device 200 according to the settings input by the user via the user I / F 300, and executes the learning calculation process using the learning data acquired via the communication. As a result, the learning device 100 generates a policy.
  • the learning device 100 is realized by, for example, a computer such as a personal computer or a workstation.
  • Policy is a parameterized model with high approximation ability.
  • the policy can calculate the model parameters by learning calculation.
  • the policy is realized using a learnable model such as a neural network. The policy is not limited to this.
  • the input to the policy is an observation that can be measured for the target system.
  • the inputs to the policy are the angle of each joint of the robot, the angular velocity of each joint, the torque of each joint, the image data of the camera attached for recognizing the surrounding environment, LIDER ( Point cloud data, etc. acquired by Laser Imaging Detection and Ringing).
  • the input to the policy is not limited to these examples.
  • the output from the policy is the behavior for the environment, that is, the control input value that can control the target system.
  • the output from the policy is the target speed of each joint of the robot, the target angular velocity of each joint, the input torque of each joint, and the like.
  • the output from the policy is not limited to these examples.
  • the learning of the policy is executed according to the reinforcement learning algorithm.
  • the reinforcement learning algorithm is, for example, the policy gradient method. More specifically, the reinforcement learning algorithm is an algorithm such as DDPG (Deep Deterministic Policy Gradient), PPO (Proxy Policy Optimization), or SAC (Soft Actor Critic).
  • DDPG Deep Deterministic Policy Gradient
  • PPO Proxy Policy Optimization
  • SAC Soft Actor Critic
  • the reinforcement learning algorithm is not limited to these examples, and may be any algorithm that can execute learning of the policy that is the control controller of the target system.
  • FIG. 2 is a block diagram showing a functional configuration of reinforcement learning.
  • the agent 401 inputs the observation o that can be acquired from the environment 402 into the policy, and calculates the output for the input observation o. In other words, the agent 401 calculates the action a with respect to the input observation o. The agent 401 inputs the calculated action a into the environment 402.
  • the state of the environment 402 transitions through a predetermined time step according to the input action a.
  • the environment 402 calculates the observation o and the reward r regarding the state after the transition, respectively, and outputs the calculated observation o and the reward r to a device such as the agent 401.
  • the reward r is a numerical value indicating the goodness (or preference) of the control of the action a with respect to the state of the environment 402.
  • the agent 401 stores a set of the observation o input to the policy, the action a input to the environment 402, and the reward r output from the environment 402 as learning data.
  • the agent 401 stores the pair of the observation o, which is the basis for calculating the action a, the action a, and the reward r for the action a as learning data.
  • the agent 401 uses the observation o received from the environment 402 to execute the same process as the above-described process, such as the process of calculating the action a.
  • the policy updating unit 111 updates the policy using the learning data according to a reinforcement learning algorithm such as the policy gradient method when the learning data can be acquired as much as necessary for the learning calculation.
  • the agent 401 acquires the learning data according to the policy updated by the policy updating unit 111.
  • agent 401 corresponding to learning data acquisition unit 120 in FIG. 1 are executed alternately or in parallel.
  • FIG. 3 is a diagram conceptually representing the processing in the learning device 100 according to the first embodiment.
  • the learning device 100 executes processing according to the reinforcement learning method while adjusting the difficulty parameter (hereinafter referred to as "difficulty parameter").
  • the difficulty level is a numerical value or a numerical value group related (or correlated) with the probability of obtaining a reward in the reinforcement learning method.
  • the difficulty level may be a numerical value or a group of numerical values related to (or correlated with) the expected value of the reward obtained in the reinforcement learning method.
  • the lower the difficulty level the higher the probability of getting a reward, or the higher the expected value of the reward to be obtained.
  • the higher the difficulty level the lower the probability of getting a reward, or the lower the expected value of the reward.
  • the difficulty level the farther away from the desired environmental conditions.
  • the higher the difficulty level the closer to the desired environmental conditions.
  • the difficulty parameter represents, for example, the low probability that the agent will get the reward, or the low expected value of the reward that the agent will get.
  • the difficulty level parameter is a parameter related to the state transition method of the environment.
  • Agent 501 efficiently calculates the action a and the difficulty level d by one process (the process of calculating the "extended action” described later) according to one common policy with respect to the above-mentioned difficulty level. Learning data can be acquired. The reason for this is that the agent 501 determines the combination of the action and the difficulty level so that the reward obtained is high, so that it is possible to prevent the reward from not being obtained due to the difficulty level being set too high. Is. Also, compared to the method of setting a fixed difficulty level while acquiring learning data, the difficulty level is adjusted each time the agent 501 calculates an action, so the difficulty level is finely appropriate according to the state of the environment 502. You can set the degree.
  • the agent 501 adjusts the difficulty level as described above according to the learning progress, it is possible to efficiently acquire the learning data.
  • the learning progress represents a numerical value or a numerical value group related to the cumulative reward expected to be acquired by the agent 501 by the policy at the time of learning data acquisition.
  • the larger the numerical value or the numerical value group the later the learning progress.
  • the smaller the numerical value or the numerical value group the earlier the learning progress.
  • the agent 501 can realize efficient reinforcement learning by setting the difficulty level lower as the learning progress is earlier and setting the difficulty level higher as the learning progress is later. That is, the agent 501 can realize efficient reinforcement learning by adjusting the difficulty level according to the learning progress.
  • the learning progress is a numerical value or a group of numerical values related (or linked or correlated) with the probability that the agent 501 will obtain a reward.
  • the learning progress is a numerical value or a group of numerical values related to (or linked to or correlated with) the expected value of the reward acquired by the agent 501.
  • reinforcement learning with a difficulty adjustment function see FIG. 3
  • reinforcement learning without a difficulty adjustment function see FIG. 2
  • the difference is that, for example, the behavior, observations, and rewards sent and received between the agent and the environment are transformed by a series of computational processes.
  • This conversion process is performed in order to acquire learning data to be used when learning the policy so that the agent outputs an appropriate difficulty level using the policy and gradually outputs a higher difficulty level as the learning progresses.
  • This is a series of calculation processes centered on converting the difficulty level into a numerical value that can be input to the environment, calculating parameters corresponding to the learning progress, and adjusting the reward according to the difficulty level and the learning progress.
  • the details of the conversion process in reinforcement learning with the difficulty adjustment function will be described below.
  • Agent 501 outputs extended action a'.
  • the extended action a' is represented using, for example, a column vector.
  • the extended action a' has elements of the action a for control input to the environment 502 and the difficulty level d of the control in the environment 502. It is assumed that the action a and the difficulty level d are each represented by using a column vector. In this case, it is assumed that each element of the action a corresponds to the control input of each control target in the environment 502. It is assumed that each element of the difficulty level d corresponds to the numerical value of each element that determines the difficulty level of control in the environment 502.
  • each element of the action a corresponds to, for example, the torque input of each joint of the robot.
  • the difficulty level d corresponds to, for example, each parameter related to the difficulty level of gripping, such as the friction coefficient and elastic modulus of the object to be gripped.
  • the parameter corresponding to the difficulty level d is specified by the user, for example.
  • the conversion f d 503 converts the difficulty level d into the environment parameter ⁇ and the converted difficulty level ⁇ .
  • the environment parameter ⁇ is a parameter related to the state transition method (transition characteristic) of the environment 502, and as will be described later with reference to Eq. (1), the state transition method of the environment 502 is desired. It is a parameter that can control from the state transition method to the state transition process away from the desired state. It is assumed that the environment parameter ⁇ is expressed using a column vector. In this case, it is assumed that each element of the environment parameter ⁇ corresponds to each element of the difficulty level d.
  • the environment parameter ⁇ is input to the environment 502 to change its characteristics.
  • the characteristic is the process of state transition to the input action a of the environment 502.
  • each element of the environment parameter ⁇ corresponds to each parameter that determines the characteristics of the environment 502.
  • the characteristics of the environment 502 for the parameters specified by the user such as the friction coefficient and elastic modulus of the object to be gripped are set, and the environment parameter ⁇ having the numerical values is set to the environment 502. Change by typing in.
  • the equation (1) can be specifically used. Further, the conversion is not limited to the example of the equation (1), and may be a non-linear conversion. For example, d in the equation (1) may be replaced with (d ⁇ d).
  • the symbol " ⁇ " is the Hadamard product, which represents the product of each element of the column vector.
  • Each element of the difficulty level d takes a value of 0 or more and 1 or less, and the larger the value, the higher the difficulty level of control in the environment 502 for the numerical value of the corresponding environment parameter ⁇ .
  • I is a column vector in which each element having the same dimension as the difficulty level d is 1.
  • ⁇ start and ⁇ target are column vectors having the same dimension as difficulty level d, respectively.
  • the ⁇ start and ⁇ target are numerical values of each element, and parameters that can control the characteristics of the corresponding environment 502 are set by the user, for example.
  • ⁇ start is an environment parameter in the environment 502 when the difficulty level d is the lowest that can be specified (for example, when d is a zero vector).
  • the ⁇ target is an environment parameter in the environment 502 when the difficulty level d can be specified at the highest difficulty level (for example, when d is I).
  • the ⁇ target is set by the user to be as close to or consistent as possible with the environment parameters when ultimately using the policy as the control controller.
  • the converted difficulty level ⁇ is a column vector or scalar value input to the conversion fr 504, and is converted into a feature amount representing the difficulty level by the conversion f d 503.
  • an example of converting the difficulty level ⁇ after conversion into a scalar value will be described.
  • the equation (2) can be specifically used as an example of converting the difficulty level d by the conversion f d 503 to the difficulty level ⁇ after conversion.
  • the converted difficulty level ⁇ represents the average of the absolute values of each element of the difficulty level d.
  • the process of calculating the difficulty level ⁇ after conversion may be, for example, a process of calculating one numerical value representing the characteristics of the plurality of numerical values from a plurality of numerical values such as a vector, and is not limited to the equation (2).
  • the process of calculating the difficulty level ⁇ after conversion may be realized, for example, by replacing the L1 norm of the equation (1) with an L2 norm or the like, or by using another non-linear transformation. Alternatively, it may be realized by converting it into a vector having a dimension lower than d.
  • the environment 502 outputs the observation o and the reward when the action a and the environment parameter ⁇ are input and the processing step progresses and the state transitions.
  • the reward will be described assuming that the reward is the unadjusted reward r.
  • the pre-adjustment reward r represents the reward in reinforcement learning without the difficulty adjustment function.
  • Observation o is represented by a column vector. In this case, each element of observation o represents a numerical value of an observable parameter in the state of environment 502.
  • the conversion f r 504 calculates the adjusted reward r'by discounting or increasing the pre-adjustment reward r according to the difficulty level and the learning progress.
  • the conversion fr 504 calculates the adjusted reward r'so that the lower the difficulty level, the smaller the discount or the larger the premium when the learning progress is low.
  • the conversion fr 504 calculates the adjusted reward r'so that the higher the difficulty level is, the smaller the discount or the larger the premium is when the learning progress is high.
  • the conversion fr 504 calculates the adjusted reward r'by inputting the pre-adjustment reward r, the post-conversion difficulty level ⁇ , and the moving average ⁇ of the cumulative pre-adjustment reward R.
  • the moving average ⁇ of the cumulative pre-adjustment reward R corresponds to the learning progress.
  • the equation (3) can be used as an example of the conversion fr 504.
  • the function f c is a function that outputs the ratio of discounting the pre-adjustment reward r according to the difficulty level and the learning progress.
  • Function f c is preferably differentiable to efficiently learning calculation of the policy.
  • FIG. 6 shows a graph showing a part of the contour lines as an example of the function f c.
  • FIG. 6 is a diagram showing a graph showing an example of the function f c using contour lines.
  • Function f c may be used of any shape by the user setting. For example, it is possible to set the discount to zero regardless of the difficulty level in the area where the learning progress is low. It is also possible to set the discount rate to be larger as the difficulty level is lower in the area where the learning progress is high.
  • the horizontal axis represents the moving average ⁇ (learning progress) of the cumulative pre-adjustment reward R, and the right side indicates that the average is high, and the left side indicates that the average is low.
  • the vertical axis represents the difficulty level ⁇ after conversion, and the higher the level, the higher the difficulty level, and the lower the level, the lower the difficulty level.
  • Numbers in Figure 6 represents the value of f c ( ⁇ , ⁇ ). The closer f c ( ⁇ , ⁇ ) is to 1, the smaller the discount (or the larger the premium). The closer f c ( ⁇ , ⁇ ) is to 0, the more discounts (or less premiums).
  • the conversion f r 504 is not limited to the example of Equation (3), for example, f c (r, [delta], mu) may be a function expressed in the form of.
  • Cumulative calculation f R 505 calculates the cumulative pre-adjustment reward R by inputting the pre-adjustment reward r.
  • the cumulative pre-adjustment reward R represents the cumulative responsibility reward in reinforcement learning without the difficulty adjustment function.
  • Cumulative calculation f R 505 calculates the cumulative pre-adjustment reward R for each episode. At the start of the episode, the initial value of the cumulative pre-adjustment reward R is set to, for example, 0.
  • the cumulative calculation f R 505 is calculated by adding the pre-adjustment reward r to the cumulative pre-adjustment reward R each time the pre-adjustment reward r is input. That is, the cumulative calculation f R 505 calculates the total value of the pre-adjustment reward r (cumulative pre-adjustment reward R) for each episode.
  • the episode represents one process in which the agent 501 acquires learning data through trial and error.
  • the episode represents, for example, the process from the initial state of the environment 502 at which the agent 501 starts acquiring training data to the condition of satisfying a predetermined end condition.
  • the episode ends when a predetermined end condition is met.
  • the environment 502 is reset to its initial state and a new episode begins.
  • the predetermined end condition may be, for example, a condition that the number of steps from the start of the episode of the agent 501 exceeds a preset threshold value. Further, the predetermined termination condition may be a condition such that the state of the environment 502 violates a preset constraint condition due to the action a of the agent 501.
  • the predetermined termination conditions are not limited to these examples.
  • the predetermined end condition may be a condition in which a plurality of the above-mentioned conditions are combined. An example of the constraint condition is when the arm-type robot invades a preset prohibited area.
  • the reward history buffer 506 stores a plurality of cumulative pre-adjustment rewards R calculated for each episode. It is assumed that the reward history buffer 506, which calculates the feature amount corresponding to the learning progress using these, has a built-in calculation function. Examples of the feature quantity include a moving average ⁇ of the cumulative pre-adjustment reward R and a moving standard deviation ⁇ . The feature amount corresponding to the learning progress is not limited to these examples.
  • the reward history buffer 506 samples the latest ones from a plurality of stored cumulative pre-adjustment rewards R by the number of window sizes preset by the user (that is, for a predetermined number of steps), and moves the average ⁇ . And the moving standard deviation ⁇ are calculated.
  • Conversion f o 507 includes the observation o, and difficulty d, the moving average ⁇ cumulative unadjusted reward R and moving standard deviation sigma, a process of outputting the extended observation o 'is a column vector bound in the column direction show. Therefore, the extended observation o'is the observation o in the reinforcement learning without the difficulty adjustment function, the difficulty level d in the reinforcement learning with the difficulty adjustment function, the moving average in the cumulative pre-adjustment reward R in the reinforcement learning without the difficulty adjustment function, and Includes its moving average deviation ⁇ . That is, the extended observation o'is an extension of the observation o of reinforcement learning without the difficulty adjustment function by adding the difficulty level and the learning progress so that the policy can output an appropriate difficulty level d.
  • the policy can output the difficulty level d in consideration of the balance with the reward acquired as the current learning progress of the policy.
  • the output of the policy may be determined without explicitly considering the learning progress, and in this case, it is not necessary to include the learning progress in the extended observation o'.
  • the above is a series of calculations of conversion processing in reinforcement learning with difficulty adjustment function.
  • the agent 501 transmits a set of the extended action a', the extended observation o', and the adjusted reward r'obtained by the conversion process to the learning unit 110 as learning data. Then, the learning unit 110 updates the policy using this learning data. On the other hand, in the reinforcement learning without the difficulty adjustment function, the policy is updated by using the learning data representing the set of the action a, the observation o, and the reward r.
  • the learning unit 110 executes the calculation according to the procedure shown in FIG.
  • FIG. 4 is a flowchart showing an example of a procedure in which the learning unit 110 updates the policy using the learning data acquired by the learning data acquisition unit 120.
  • the policy update unit 111 reads the learning data group acquired by the agent 501 stored in the learning data storage unit 113 (step S101).
  • the policy update unit 111 updates the policy using the read learning data group (step S102).
  • the update is calculated using the algorithms such as DDPG, PPO, and SAC mentioned above.
  • the algorithm for updating is not limited to these examples.
  • the policy update unit 111 determines the learning end condition (step S103).
  • a learning end condition a condition for ending when the number of policy updates exceeds a threshold set preset by the user can be mentioned.
  • step S103: No the process returns to step S101.
  • step S103: Yes the policy updated to end the learning process, the moving average ⁇ of the cumulative pre-adjustment reward R output from the reward history buffer 506, and the moving standard deviation.
  • the pair with ⁇ is transmitted to the policy storage unit 114 and stored (step S104).
  • step S104 After the process of step S104 is executed, the learning device 100 ends the process of FIG.
  • the learning data acquisition unit 120 executes the calculation according to the procedure shown in FIG.
  • FIG. 5 is a flowchart showing an example of a procedure in which the learning data acquisition unit 120 cooperates with the environment device 200 and the environment unit 210 to acquire the learning data used by the learning unit 110 for the policy calculation.
  • the procedure shown in FIG. 5 is an example. Since the flow shown in FIG. 5 includes a step in which processing can be performed in parallel and a step in which processing can be performed by exchanging the execution order, the calculation procedure of the learning data acquisition unit 120 is shown in FIG. Not limited to the procedure.
  • the conversion unit 123 initializes the cumulative pre-adjustment reward R to 0.
  • the agent calculation unit 121 resets the environment unit 210 to the initial state and starts the episode (step S201).
  • the conversion unit 123 calculates the initial value of the extended observation o'and transmits it to the agent calculation unit 121 (step S202).
  • the method for calculating the initial value of the extended observation o ' difficulty determined in advance and the observation o from the environment unit 210 d, the binding f o using a moving average ⁇ and moving standard deviation ⁇ of the cumulative unadjusted reward R
  • a method of calculating according to the indicated processing can be mentioned.
  • the agent calculation unit 121 inputs the extended observation o'in the policy and calculates the extended action a'(step S203). As the extended observation o'to be input to the policy, the one acquired in the step immediately before step S203 (step S202 or step S211) is used.
  • the conversion unit 123 decomposes the extended action a'calculated in step S204 into the action a and the difficulty level d (step S204).
  • the conversion unit 123 inputs the difficulty level d into the conversion f d and calculates the environment parameter ⁇ and the converted difficulty level ⁇ (step S205).
  • the conversion unit 123 inputs the action a and the environment parameter ⁇ to the environment unit 210, and advances the time step of the environment unit 210 to the next time step (step S206).
  • the conversion unit 123 acquires the observation o output from the environment unit 210 and the pre-adjustment reward r (step S207).
  • the cumulative calculation f R 505 adds the pre-adjustment reward r to the cumulative pre-adjustment reward R (step S208).
  • converted f o 507 from compensation history buffer 506 obtains the moving average ⁇ cumulative unadjusted reward R and moving standard deviation sigma (step S209).
  • the conversion fr 504 calculates the adjusted reward r'by inputting the pre-adjustment reward r, the post-conversion difficulty level ⁇ , and the moving average ⁇ of the cumulative pre-adjustment reward R (step S210).
  • converted f o 507 is observed o, difficulty d, the moving average ⁇ cumulative unadjusted compensation, and combines the moving standard deviation ⁇ of the cumulative adjustment before compensation and extended observation o '(step S211).
  • the agent calculation unit 121 transmits and stores the set of the extended action a', the extended observation o', and the adjusted reward r'as learning data to the learning data storage unit 113 (step S212).
  • the agent calculation unit 121 determines whether or not the episode has ended using the episode end condition (step S213). When the agent calculation unit 121 determines that the episode has not ended (step S213: No), the process returns to step S203. When the agent calculation unit 121 determines that the episode has ended (step S213: Yes), the conversion unit 123 stores the cumulative pre-adjustment reward R in the reward history buffer 506, and a plurality of stored rewards R in the reward history buffer 506. Using the cumulative pre-adjustment reward R, the moving average ⁇ and the moving standard deviation ⁇ of the cumulative pre-adjustment reward R are calculated and updated (step S214). When step S214 is complete, the episode ends and processing returns to step S201.
  • the series of processes of the learning data acquisition unit 120 shown in FIG. 5 is interrupted and ends when the series of processes of the learning unit 110 shown in FIG. 4 is completed.
  • the learning device of the present embodiment is a learning device that learns the policy for determining the control content of the target system, and according to the policy, the observation information about the target system and the method of state transition of the target system.
  • a determination means for determining the control to be applied to the target system and the difficulty level to be set for the target system, and the determined control, using the ease with which the evaluation of the control content is highly evaluated and the difficulty level corresponding to the high evaluation.
  • the learning progress calculation means for calculating the learning progress of the policy using multiple original evaluations of the state before and after the transition of the target system and the determined control according to the determined difficulty level, and the original evaluation were determined.
  • the learning device of the present embodiment can perform efficient learning.
  • control system including the learning device 100 of the second embodiment of the present invention will be described.
  • the control system is an example of the target system.
  • the configuration of the control system is the same as that of the learning system 1.
  • the environmental device 200 may have a policy storage unit 114 and a learning data acquisition unit 120.
  • the environmental device 200 is a control system.
  • the policy storage unit 114 stores the policy learned by the learning system 1, the moving average ⁇ of the cumulative pre-adjustment reward R, and the moving standard deviation ⁇ of the cumulative pre-adjustment reward R.
  • the agent calculation unit 121 uses the moving average ⁇ and the moving standard deviation ⁇ of the cumulative pre-adjustment reward R stored in the policy storage unit 114 as inputs according to the policy stored in the policy storage unit 114, and performs inference calculation. Is processed.
  • the agent calculation unit 121 and the conversion unit 123 perform a series of calculation processes, and input the action a and the environment parameter ⁇ to the environment unit 210.
  • the environment unit 210 changes the state according to the input action a and the environment parameter ⁇ , and outputs, for example, the observation o about the state after the transition.
  • the conversion unit 123 converts the observation o into the extended observation o'.
  • the calculated extended observation o' is input, and the agent calculation unit 121, the conversion unit 123, and the environment unit 210 perform the above-mentioned series of processes.
  • This series of processes is the desired control for the control system. That is, the agent calculation unit 121 and the conversion unit 123 determine the operation of the control system according to the policy stored in the policy storage unit 114, and control the control system so as to perform the determined operation. As a result, the control system performs the desired operation.
  • those that cannot be changed by the environment parameter ⁇ may ignore the setting of the environment parameter by the environment parameter ⁇ .
  • Parameters that can ignore the setting using the environment parameter ⁇ are, for example, parameters that can be easily changed in the simulation or emulation of the friction coefficient and elastic modulus of an object, but cannot be changed in the actual system. be.
  • Conversion f o 507 instead of the moving average ⁇ cumulative unadjusted reward R output from the compensation history buffer 506 and moving standard deviation sigma, and moving average ⁇ of the cumulative adjustment before compensation R the policy storage unit 114 stores Input the moving standard deviation ⁇ . Therefore, the conversion unit 123 does not have to perform the calculation process of the reward history buffer 506.
  • the conversion unit 123 does not have to perform the calculation processing of the conversion fr 504 and the cumulative f R 505. This is because the agent calculation unit 121 does not need a process of transmitting the learning data to the learning data storage unit 113 and storing it.
  • the above is the calculation process of the learning device 100 in the control system.
  • the learning device 100 according to the second embodiment can make the learned policy function as a control controller as a part of the control system.
  • the control system includes, for example, a pick-and-place control system for an arm-type robot, a walking control system for a humanoid robot, a flight attitude control system for a flight-type robot, and the like.
  • the control system is not limited to these examples.
  • the configuration of the learning device 100 is not limited to the configuration using a computer.
  • the learning device 100 may be configured by using dedicated hardware such as being configured by using an ASIC (Application Specific Integrated Circuit).
  • ASIC Application Specific Integrated Circuit
  • the present invention can also realize arbitrary processing by causing a CPU (Central Processing Unit) to execute a computer program. It is also possible to execute a program together with an auxiliary arithmetic unit such as a GPU (Graphic Processing Unit) as well as a CPU to realize the program.
  • the program can be stored and supplied to the computer using various types of non-transitory computer readable medium.
  • Non-temporary computer-readable media include various types of tangible storage media (tangible storage medium). Examples of non-temporary computer-readable media include magnetic recording media (eg flexible disks, magnetic tapes, optical discs), magneto-optical recording media (eg magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CDs.
  • DVD Digital Versatile Disc
  • BD Blu-ray (registered trademark) Disc
  • semiconductor memory for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random) Access Memory
  • FIG. 7 is a block diagram showing a main part of the learning device.
  • the learning device 800 uses the observation information about the target system (for example, observation o) according to the policy, and the difficulty level corresponding to the high evaluation of the state transition method and control of the target system.
  • a determination unit (determination means) 801 (in the embodiment, an agent calculation unit 121) that determines a control (for example, action a) to be applied to the target system and a difficulty level (for example, difficulty level ⁇ ) to be set for the target system.
  • the original evaluation eg, pre-adjustment reward
  • the state before and after the transition of the target system and the determined control according to the determined control and the determined difficulty level (for example, difficulty level ⁇ ).
  • Learning progress calculation unit (learning progress calculation means) 802 (in the embodiment, conversion unit 123, particularly cumulative calculation) for calculating the learning progress of the policy (for example, the moving average ⁇ of the cumulative pre-adjustment reward R) using a plurality of r). It is realized by f R 505 and the reward history buffer 506), the original evaluation, the determined difficulty level, and the calculated learning progress, and the revised evaluation (for example, the adjusted reward r') is performed.
  • the calculation unit (calculation means) 803 (in the embodiment , realized by the conversion unit 123, particularly the conversion fr 504), the observation information, the determined control, the determined difficulty level, and the modification. It is provided with a policy updating unit (polish updating means) 804 (in the embodiment, realized by the policy updating unit 111) that updates the policy by using the evaluation.

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

学習装置800は、ポリシに従って、対象システムに関する観測情報と、対象システムの状態遷移の仕方と制御についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御と、対象システムに対して設定する難易度とを決定する決定部801と、決定された制御と決定された難易度とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価を複数用いてポリシの学習進度を算出する学習進度算出部802と、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価を算出する算出部803と、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新するポリシ更新部804とを含む。

Description

学習装置、学習方法、及び、記録媒体
 本発明は、たとえば、制御対象を制御する制御内容等について学習を行う学習装置等に関する。
 機械学習は、画像の認識や機械の制御等の様々な場面において活用されている。機械学習は、人間の設計では実現困難とされる複雑で高度な意識決定を実現できるポテンシャルを持つものとして注目され、鋭意開発されている。
 強化学習は、たとえば、ゲームにおけるコンピュータプレイヤの動作を自動的に決定するシステムにおいて、人間のレベルを超えた意思決定を実現している。強化学習は、ロボットシステムの動作を自動的に決定するシステムにおいて、人間の設計では困難であるとされる複雑な動作を実現している。
 強化学習の学習を実行するフレームワークは、対象システムそのもの(または、対象システムを模擬した環境)と、対象システムについての動作(以降、行動と呼ぶ)を決定するエージェントとを含む。強化学習において、学習データは、行動(action)、観測(observation )、報酬(reward)の組である。報酬は、たとえば、対象システムの状態と所望状態の類似度に従い与えられる。この場合に、対象システムの状態と、所望状態との間の類似度が高いほど、報酬は高い。対象システムの状態と、所望状態との間の類似度が低いほど、報酬は低い。観測と報酬とは、それぞれエージェントが行動を行う度に環境から得られる。強化学習において、学習は、エージェントが試行錯誤しながら行動し、該行動によって得られる報酬が高くなるよう、様々な行動を探索する。そして、該学習は、探索によって得られた学習データを用いて、エージェントの行動を決定する数理モデルであるポリシを反復的に更新することである。ポリシは、エージェントが行動を開始してから完了するまでに、当該一連の行動によって獲得できる累積報酬が最大となるように更新される。
 強化学習においては、環境と実現したい動作(所望動作)との両方、または、いずれかが複雑な場合等に、探索によって学習に有効な報酬が得られる確率が低い。その結果、強化学習においては、膨大な探索が必要であり、所望のポリシを得るまでの演算時間が膨大である。そのため、強化学習においては、有効な報酬を効率的に得るための研究が行われている。
 特許文献1に開示されているシステムは、パラメタを学習計算中に変更できるユーザインターフェースを有する。より具体的には、特許文献1に開示されているシステムは、報酬関数を構成する各評価指標の重み係数を学習計算の途中で変更できるユーザインターフェースを有する。該システムは、学習が停滞したことを検出した際に、ユーザにアラートを発報して重み係数の変更を促す。
 特許文献2に開示されているシステムは、強化学習における学習計算を実行する度に、環境についてのパラメタを変更する計算処理を備える。具体的に説明すると、該システムは、学習結果に基づいてパラメタを変更するか否かを判定し、変更すると判定した場合に、ユーザが予め設定した更新量だけ環境のパラメタを調整する。
 非特許文献1に記載されたシステムは、環境についてのパラメタは確率分布に従いサンプルされるものとする。そして、当該システムは、強化学習のエージェント(ここでは生徒エージェントと呼ぶ)に対して、環境のパラメタの確率分布を変更する教師エージェントを備える。教師エージェントは、強化学習の学習計算の実行後に生徒エージェントの学習状況と、対応する環境のパラメタとに基づいて機械学習の計算を行い、より高い学習状況が得られる環境のパラメタについての確率分布を算出する。具体的には、教師エージェントは、ガウス混合モデルのクラスタリング計算を行う。そして、教師エージェントは、クラスタリングによって得られた複数の正規分布から1つを選択することをバンディットアルゴリズムに基づいて行うことで、環境のパラメタの確率分布を更新する。
国際公開第2018/110305号 特開2019-219741号公報
R. Portelas、 et al、 "Teacher Algorithms for Curriculum Learning of Deep RL in Continuously Parametrized Environments"、 In 3rd Annual Conference on Robot Learning (CoRL)、 2019.
 しかし、特許文献1及び特許文献2に記載されている技術を用いたとしても、効率的に強化学習を実行できるようパラメタを適切に設定することが難しい。この理由は、適切にパラメタを設定する方法が確立されていないためである。
 本発明の目的の1つは、効率的な学習が可能な学習装置等を提供することである。
 発明の1つの態様として、学習装置は、対象システムの制御内容を決定するポリシを学習する学習装置であって、ポリシに従って、対象システムに関する観測情報と、対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御と、対象システムに対して設定する難易度とを決定する決定手段と、決定された制御と決定された難易度とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価を複数用いてポリシの学習進度を算出する学習進度算出手段と、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価を算出する算出手段と、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新するポリシ更新手段とを含む。
 本発明の他の態様として、学習方法は、コンピュータによって、対象システムの制御内容を決定するポリシを学習する学習方法であって、ポリシに従って、対象システムに関する観測情報と、対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御と、対象システムに対して設定する難易度とを決定し、決定された制御と決定された難易度とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価を複数用いてポリシの学習進度を算出し、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価を算出する算出し、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新する。
 本発明の他の態様として、学習プログラムは、対象システムの制御内容を決定するポリシを学習するプログラムであって、コンピュータに、ポリシに従って、対象システムに関する観測情報と、対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御と、対象システムに対して設定する難易度とを決定する処理と、決定された制御と決定された難易度とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価を複数用いてポリシの学習進度を算出する処理と、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価を算出する処理と、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新する処理とを実行させる。
 本発明によれば、効率的な学習が可能である。
第1の実施形態に係る学習システムの装置構成の例を示す概略ブロック図である。 強化学習の機能構成を示す概略ブロック図である。 第1の実施形態に係る学習の処理内容を示す概略ブロック図である。 第1の実施形態に係る学習の処理工程の例を示すフローチャートである。 第1の実施形態に係る学習データ取得の処理工程の例を示すフローチャートである。 第1の実施形態に係る調整関数の例を示す図である。 学習装置の主要部を示すブロック図である。
 まず、本願発明の理解を容易にするため、本発明が解決しようとする課題を詳細に説明する。
 本願の発明者は、特許文献1及び特許文献2に記載されている技術において、ユーザが学習状況に応じて細かくパラメタを設定することについて課題を見出した。言い換えると、当該技術は、たとえば、ユーザからパラメタを受け取るものの、発明者は、ユーザがパラメタを適切に設定することができないという課題を見出した。当該技術においては、たとえば、パラメタを適切に設定できなかった場合に学習効率が低下してしまう。
 また、本願の発明者は、特許文献1、及び、特許文献2に記載されているシステムにおいて、学習計算の度にパラメタを更新しているため、ひとたびパラメタが決定されると、次の学習計算までの間はパラメタの変更ができないという課題を見出した。言い換えると、当該システムにおいては、適切でないパラメタが設定された場合に途中でパラメタを変更できないままエージェントの行動の探索が実行されてしまう。その結果、エージェントが学習に有効な報酬を獲得できなくても、次の学習計算までパラメタの変更を待つこととなり、学習効率が低下するという課題を発明者は見出した。
 発明者は、係る課題を見出すとともに、係る課題を解決する手段を導出するに至った。
 次に、本願で用いるカリキュラム学習の概要を説明する。カリキュラム学習は、簡単なことを学習してから難しいことを学ぶという学習プロセスに基づく手法である。カリキュラム学習は、難易度が低いタスクから始めて難易度が高いタスクを学習する機械学習法である。難易度が低いタスクは、たとえば、成功する確率が高い、または、達成度の期待値が高いタスクを表している。難易度が高いタスクは、たとえば、所望状態または所望制御を実現するタスクを表している。このようなカリキュラム学習を強化学習に適用することによって、強化学習において、難易度が低い条件で取得した学習データは、学習に有効な報酬を含む確率が高くなる。従って、この学習データを用いて更新したポリシを用いることで、難易度がより高い条件においても取得する学習データが学習に有効な報酬を含む確率が高くなり、学習の効率を向上させることできる。
 次に、本発明を実施する実施形態を、図面を参照しながら詳細に説明するが、以下の実施形態は請求の範囲に係る発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
<第1の実施形態>
 図1を参照しながら、本発明の第1の実施形態の学習装置100を含む学習システム1が有する構成の一例を詳細に説明する。図1は、本発明の第1の実施形態の学習装置100を含む学習システム1の構成を示す概略ブロック図である。
 学習システム1は、大別して、学習装置100と、環境装置200と、ユーザインターフェース(以降、「I/F」と表す)300とを備える。学習装置100は、学習部110と、学習データ取得部120と、入出力制御部130とを有する。学習部110は、ポリシ更新部111と、学習設定記憶部112と、学習データ記憶部113と、ポリシ記憶部114とを有する。学習データ取得部120は、エージェント計算部121と、エージェント設定記憶部122と、変換部123と、変換設定記憶部124とを有する。環境装置200は、環境部210を有する。環境部210は、環境装置200の処理を実行する。
 学習装置100は、環境装置200、及び、ユーザI/F300と、通信回線を介して通信可能に接続されている。通信回線は、たとえば、専用線、インターネット、VPN(Virtual Private Network )、LAN(Local Area Network)、USB(Universal Serial Bus)、Wi-Fi(登録商標)、Blue Tooth(登録商標)などの通信回線の占有形態及び有線回線、無線回線などの通信回線の物理形態など形態は問わず、いずれで構成されていてもよい。
 学習装置100は、制御対象等の対象システムを所望の通りに動作させるための制御内容を決定するモデルであるポリシを、後述するような学習処理に従って生成する。言い換えると、学習装置100は、対象システムの制御コントローラとしての処理を実現するポリシを生成する。すなわち、学習装置100は、制御対象を制御する制御装置としての機能も有する。そのため、たとえば、ユーザは、学習装置100を用いてポリシを生成することで、対象システムの制御コントローラの設計と実装を行うことができる。
 ここで、対象システムは、制御を行う対象であるシステムである。対象システムは、たとえば、ロボットシステムのようにシステムを構成する個々の機器を制御するシステムである。対象システムは、たとえば、ゲームシステムのようにプログラム中のオブジェクトまたはインスタンスを制御するシステムであってもよい。ただし、対象システムは、これらの例に限定されない。ロボットシステムにおける制御は、たとえば、アーム型ロボットの各関節部の角速度制御またはトルク制御である。あるいは、該制御は、たとえば、ヒューマノイド型ロボットの各モジュールのモータ制御であってもよい。該制御は、たとえば、飛行型ロボットのロータ制御であってもよい。ゲームシステムにおける制御は、たとえば、コンピュータプレイヤの自動操作、及び、ゲームの難易度調整等である。制御の例をいくつか挙げたが、制御はこれらの例に限定されない。
 環境装置200は、対象システム、または、対象システムを模擬する模擬システムである。模擬システムは、たとえば、対象システムのハードウェアエミュレータ、ソフトウェアエミュレータ、ハードウェアシミュレータ、ソフトウェアシミュレータ等である。模擬システムは、これらの例に限定されない。より具体的な例として、対象システムがアーム型ロボットであり、制御がピックアンドプレース(アーム型ロボットの先端に取り付けられたエンドエフェクターが、物体に近づき、物体を把持した後に、所定の場所に物体を運搬して、所定の場所に物体を置くという一連の制御のタスク)である例が挙げられる。模擬システムは、たとえば、アーム型ロボットのCAD(Computer Aided Design )データと、力学の数値計算を行うことができるソフトウェアである物理エンジンとが組み合わされたソフトウェアシミュレーションを実行するシステムである。ソフトウェアエミュレーション及びソフトウェアシミュレーションは、たとえば、パソコン(Personal Computer ;PC)、ワークステーション(Work Station)等のコンピュータで計算処理が実行される。
 学習システム1の構成は、図1に示されている構成に限定されない。学習装置100は、環境部210を有していてもよい。具体的には、対象システムを模擬するシステムを用い、さらに、ソフトウェアエミュレータまたはソフトウェアシミュレータを用いる場合に、学習装置100は、該ソフトウェアエミュレータまたはソフトウェアシミュレータに係る処理を実行する環境部210を有していてもよい。
 ユーザI/F300は、学習装置100の設定、学習処理の実行、ポリシの書き出し等の操作を外部から受け取る。ユーザI/F300は、たとえば、パーソナルコンピュータ、ワークステーション、タブレット、スマートフォン等のコンピュータである。ユーザI/F300は、キーボード、マウス、タッチパネルディスプレイ等の入力デバイスであってもよい。ただし、ユーザI/F300は、これらの例に限定されない。
 入出力制御部130は、ユーザI/F300より学習装置100の設定、学習処理の実行、ポリシの書き出し等の操作指令を外部から受け取る。入出力制御部130は、ユーザI/F300より受け取った操作指令に従って、学習設定記憶部112、ポリシ記憶部114、エージェント設定記憶部122、及び、変換設定記憶部124等に操作指令を行う。
 学習設定記憶部112は、入出力制御部130から受け取った操作指令に従って、ポリシ更新部111におけるポリシ学習に関する設定を記憶する。ポリシ学習に関する設定は、たとえば、学習に関するハイパーパラメタ等である。ポリシ更新部111は、ポリシの更新処理に際して、学習設定記憶部112からポリシ学習に関する設定を読み取る。
 エージェント設定記憶部122は、入出力制御部130から受け取った操作指令に従って、エージェント計算部121における学習データ取得処理に関する設定を記憶する。学習データ記憶処理に関する設定は、たとえば、学習データ取得処理に関するハイパーパラメタ等である。エージェント計算部121は、学習データ取得処理に際して、エージェント設定記憶部122から学習データ取得処理に関する設定を読み取る。
 変換設定記憶部124は、入出力制御部130から受け取った操作指令に従って、変換部123における変換処理に関する設定を記憶する。変換処理に関する設定は、たとえば、変換処理に関するハイパーパラメタ等である。変換部123は、学習データ取得処理に際して、変換設定記憶部124から変換処理に関する設定を読み取る。
 学習装置100は、ユーザI/F300を介してユーザより入力された設定に従い、環境装置200と通信し、該通信を介して取得した学習データを用いて学習計算処理を実行する。この結果、学習装置100は、ポリシを生成する。学習装置100は、たとえば、パーソナルコンピュータ、ワークステーション等のコンピュータで実現される。
 ポリシは、パラメトライズされた近似能力の高いモデルある。ポリシは、学習計算によってモデルパラメタを算出可能である。ポリシは、たとえば、ニューラルネットワーク等の学習可能なモデルを用いて実現される。なお、ポリシは、これに限定されない。
 以下では、ポリシがニューラルネットを用いて実現されているとする。
 ポリシへの入力は、対象システムについて測定することが可能な観測である。たとえば、対象システムがアーム型ロボットである場合に、ポリシへの入力は、ロボットの各関節の角度、各関節の角速度、各関節のトルク、周囲環境認識用に取り付けたカメラのイメージデータ、LIDER(Laser Imaging Detection and Ranging )によって取得する点群データ等である。なお、ポリシへの入力は、これらの例に限定されない。
 ポリシからの出力は、環境に対する行動、すなわち、対象システムを制御することが可能な制御入力値等である。たとえば、対象システムがアーム型ロボットの場合に、ポリシからの出力は、ロボットの各関節の目標速度、各関節の目標角速度、各関節の入力トルク等である。なお、ポリシからの出力は、これらの例に限定されない。
 ポリシの学習は、強化学習アルゴリズムに従って実行される。強化学習アルゴリズムは、たとえば、方策勾配法である。より具体的に、強化学習アルゴリズムは、DDPG(Deep Deterministic Policy Gradient)、PPO(Proxy Policy Optimization )、または、SAC(Soft Actor Critic )等のアルゴリズムである。強化学習アルゴリズムは、これらの例に限定されず、対象システムの制御コントローラとなるポリシの学習が実行可能であるアルゴリズムであればよい。
 図2を参照しながら、強化学習における学習処理を説明する。図2は、強化学習の機能構成を示すブロック図である。
 エージェント401は、環境402から取得可能な観測oをポリシに入力し、入力した観測oに対する出力を算出する。言い換えると、エージェント401は、入力した観測oに関して行動aを算出する。エージェント401は、算出した行動aを環境402に入力する。
 環境402の状態は、入力した行動aに従って所定の時間ステップを経て、遷移する。環境402は、遷移後の状態に関する観測oと報酬rとをそれぞれ算出し、算出した観測oと報酬rとをエージェント401等の装置に出力する。
 報酬rは、環境402の状態に対する行動aの制御の良さ(または、好ましさ)を表す数値である。エージェント401は、ポリシに入力した観測o、環境402に入力した行動a、及び、環境402から出力された報酬rの組を学習データとして記憶する。言い換えると、エージェント401は、行動aを算出する基である観測oと、該行動aと、該行動aに対する報酬rとの組を学習データとして記憶する。エージェント401は、環境402から受け取った観測oを用いて、行動aを算出する処理等、上述した処理と同様の処理を実行する。
 学習データは、このような処理が繰り返し実行されることによって、蓄積される。学習装置100において、ポリシ更新部111(図1に図示)は、学習計算に必要な分だけ学習データを取得できたら、学習データを用いて方策勾配法などの強化学習アルゴリズムに従ってポリシを更新する。エージェント401は、ポリシ更新部111によって更新されたポリシに従って、学習データの取得を行う。
 強化学習においては、このような学習計算と、エージェント401(図1における学習データ取得部120に対応)の学習データ取得処理とが交互または並列に実行される。
 図3を参照しながら、第1の実施形態に係る学習装置100における処理について説明する。図3は第1の実施形態に係る学習装置100における処理を概念的に表す図である。
 学習装置100は、難易度のパラメタ(以降、「難易度パラメタ」と表す)を調整しつつ強化学習法に従い処理を実行する。
 本実施形態において、難易度は、強化学習法における報酬が得られる確率と関連する(または、相関する)数値、または、数値群である。難易度は、強化学習法における得られる報酬の期待値に関連する(または、相関する)数値、または、数値群であってもよい。難易度が低いほど、報酬が得られる確率が高い、または、得られる報酬の期待値が大きい。難易度が高いほど、報酬が得られる確率が低い、または、得られる報酬の期待値が小さい。また同時に、難易度が低いほど、所望の環境の条件と離れている。難易度が高いほど、所望の環境の条件に近い。難易度パラメタは、たとえば、エージェントが報酬を獲得する確率の低さ、または、エージェントが獲得する報酬の期待値の低さを表しているということもできる。難易度パラメタは、環境の状態遷移の仕方に関連するパラメタであるということもできる。
 エージェント501は、上述したような難易度に関して、1つの共通のポリシに従って、行動aと難易度dとを1回の処理(後述する「拡張行動」を算出する処理)によって算出するので、効率よく学習データの取得を行うことができる。この理由は、エージェント501が、得られる報酬が高くなるように、行動と難易度との組み合わせを決定するので、設定する難易度が高すぎることによって報酬が得られないことを防ぐことができるためである。また、学習データの取得中の間に固定の難易度を設定する方法と比較すると、エージェント501が行動を算出する度に難易度の調整を行うため、環境502の状態に応じてきめ細やかに適切な難易度を設定することができる。
 さらに、エージェント501は、上述したような難易度を学習進度に応じて調整するので、効率よく学習データを取得することができる。ここで、学習進度は、学習データ取得時点におけるポリシによってエージェント501が獲得すると期待される累積報酬と関連する数値、または、数値群を表す。該数値、または、数値群が大きい程、学習進度は、後期である。該数値、または、数値群が小さい程、学習進度は、初期である。たとえば、エージェント501が、学習進度が初期である程、難易度を低く設定し、学習進度が後期である程、難易度を高く設定することによって、効率の良い強化学習を実現することできる。すなわち、エージェント501は、学習進度に応じて難易度を調整することによって、効率の良い強化学習を実現することできる。学習進度は、エージェント501が報酬を獲得する確率に関連する(または、連動する、相関する)数値、または、数値群である。あるいは、学習進度は、エージェント501が獲得する報酬の期待値に関連する(または、連動する、相関する)数値、または、数値群である。
 図3と図2とを参照しながら、難易度調整機能付き強化学習(図3参照)と、難易度調整機能なし強化学習(図2参照)との違いを説明する。その違いは、たとえば、エージェントと環境の間で送受信される行動、観測、報酬について、一連の計算処理によって変換が行われている点である。この変換処理は、エージェントがポリシを用いて適切な難易度を出力しつつ、学習が進むにつれて徐々に高い難易度を出力するようにポリシを学習するときに用いる学習データを取得するために行う。これは、難易度を環境に入力可能な数値へ変換、学習進度に相当するパラメタの算出、難易度と学習進度とに応じた報酬の調整等、を中心とした一連の計算処理である。以下、難易度調整機能付き強化学習における変換処理の詳細について説明を行う。
 エージェント501は、拡張行動a’を出力する。拡張行動a’は、たとえば、列ベクトルを用いて表されるとする。この場合に、拡張行動a’は、環境502に入力する制御のための行動aと環境502における制御の難易度dとを要素に持つ。行動a、及び、難易度dは、それぞれ列ベクトルを用いて表されるとする。この場合に、行動aの各要素は、環境502における各制御対象の制御入力に対応しているとする。難易度dの各要素は、環境502における制御の難易度を決める各要素の数値と対応しているとする。たとえば、対象システムがアーム型ロボットにおけるピックアンドプレースの場合に、行動aの各要素は、たとえば、ロボット各関節のトルク入力に対応している。そして、この場合に、難易度dは、たとえば、把持対象物体の摩擦係数や弾性係数等の把持の難易度と関係する各パラメタと対応している。難易度dと対応するパラメタは、たとえば、ユーザが指定する。
 変換f503は、難易度dを、環境パラメタρと変換後難易度δとに変換する。環境パラメタρは、環境502の状態遷移の仕方(遷移の仕方、transition characteristic )と関連するパラメタであり、式(1)を参照しながら後述するように、環境502の状態遷移の仕方について所望の状態遷移の仕方から所望から離れた状態遷移の過程までを制御可能なパラメタである。環境パラメタρは、列ベクトルを用いて表されるとする。この場合に、環境パラメタρの各要素は、難易度dの各要素とそれぞれ対応するとする。環境パラメタρは、環境502に入力されて、その特性が変更される。特性は、環境502の入力される行動aに対する状態遷移の過程である。環境パラメタρの各要素は、環境502に特性を決める各パラメタとそれぞれ対応するとする。たとえば、対象システムがアーム型ロボットにおけるピックアンドプレースの場合に、把持対象物体の摩擦係数や弾性係数等のユーザが指定したパラメタについての環境502の特性を、その数値を持つ環境パラメタρを環境502に入力することによって、変更する。
 変換f503による難易度dから環境パラメタρへ変換する例として具体的には、式(1)とすることができる。また、式(1)の例に限らず、非線形の変換としてもよい。たとえば、式(1)におけるdを(d・d)に置き換えてもよい。
   ρ=(I-d)・ρstart+d・ρtarget   (1)
 ここで、記号「・」はアダマール積であり、列ベクトルの要素毎の積を表す。難易度dの各要素は、0以上1以下の値をとり、値が大きいほど対応する環境パラメタρの数値が環境502における制御の難易度が高くなることを表す。Iは、難易度dと次元が同じ各要素が1である列ベクトルである。ρstartとρtargetとは、それぞれ難易度dと次元が同じである列ベクトルである。ρstartとρtargetとは、それぞれの各要素の数値、および、対応する環境502の特性を制御可能なパラメタは、たとえば、ユーザによって設定される。ρstartは、難易度dで指定可能な最も難易度が低い場合(たとえば、dが、零ベクトルの場合)の環境502における環境パラメタである。同様に、ρtargetは、難易度dで指定可能な最も難易度が高い場合(たとえば、dが、Iの場合)の環境502における環境パラメタである。通常、ρtargetは、最終的に制御コントローラとしてポリシを使用する際の環境パラメタとできるだけ近くなるか一致するようにユーザによって設定される。
 変換後難易度δは、変換f504に入力される列ベクトルまたはスカラ値であり、変換f503によって難易度を表す特徴量に変換される。以下の説明を簡単にするために変換後難易度δをスカラ値に変換する例を説明する。この場合、変換f503による難易度dから変換後難易度δへの変換する例として、具体的には、式(2)を使用することができる。
   δ=||d||/dim(d)   (2)
 ここで、||x||は、列ベクトルxのL1ノルムを表す。dim(x)は、列ベクトルxの次元を表す。記号「/」は、除算を表す。つまり、変換後難易度δは、難易度dの各要素の絶対値平均を表す。変換後難易度δを算出する処理は、たとえば、ベクトル等の複数の数値から、該複数の数値の特徴を表す1つの数値を算出する処理であればよく、式(2)に限定されない。変換後難易度δを算出する処理は、たとえば、式(1)のL1ノルムをL2ノルム等に置き換えたり、他の非線形変換を用いて実現されてもよい。他にも、dよりも次元の低いベクトルに変換して実現されてもよい。
 環境502は、行動aと環境パラメタρとが入力されて処理ステップが進みその状態が遷移すると、観測oと報酬とを出力する。ここでは、報酬を調整前報酬rと仮定して説明する。調整前報酬rは、難易度調整機能なし強化学習における報酬を表している。観測oは、列ベクトルによって表されるとする。この場合に、観測oの各要素は環境502の状態のうち観測可能なパラメタの数値を表す。
 変換f504は、調整前報酬rを、難易度と学習進度とに応じて調整前報酬rを割り引く、または、割り増すようにして調整後報酬r’を算出する。調整後報酬r’は、難易度調整機能付き強化学習における報酬を表している。変換f504は、学習進度が低いときに難易度が低いほど、割り引きを少なくするか割り増しを多くするように、調整後報酬r’を算出する。変換f504は、学習進度が高いときに難易度が高いほど、割り引きを少なくするか割り増しを多くするように、調整後報酬r’を算出する。具体的には、変換f504は、調整前報酬r、変換後難易度δ、累積調整前報酬Rの移動平均μを入力に、調整後報酬r’を算出する。ここでは、累積調整前報酬Rの移動平均μが学習進度に相当する。変換f504の例として具体的には、式(3)とすることができる。
   r’=r×f(δ,μ)   (3)
 ここで、関数fは、難易度と学習進度とに応じて調整前報酬rを割り引く割合を出力する関数である。関数fは、ポリシの学習計算を効率良くするために微分可能であることが望ましい。図6に、関数fの一例として等高線の一部を記したグラフを示す。図6は、関数fの一例を、等高線を用いて示したグラフを表す図である。関数fは、ユーザが設定によって任意の形状のものを使用することができる。たとえば、学習進度が低い領域について難易度に依らず割り引きをゼロにするという設定が可能である。学習進度が高い領域について難易度が低いほど割引の割合をより大きくするという設定も可能である。あるいは、割引の割合がゼロである領域を学習進度が低い位置に平行移動するという設定も可能である。図6において、横軸は、累積調整前報酬Rの移動平均μ(学習進度)を表し、右側である程該平均が高く、左側である程該平均が低いことを表す。縦軸は、変換後難易度δを表し、上側である程難易度が高く、下側である程難易度が低いことを表す。図6における数値は、f(δ,μ)の値を表す。f(δ,μ)が1に近いほど割り引きが少ない(または、割り増しが多い)。f(δ,μ)が0に近いほど割り引きが多い(または、割り増しが少ない)。また、変換f504は式(3)の例に限定されず、たとえば、f(r,δ,μ)の形式で表される関数としてもよい。
 累積計算f505は、調整前報酬rを入力して累積調整前報酬Rを算出する。累積調整前報酬Rは、難易度調整機能なし強化学習における累責報酬を表している。累積計算f505は、エピソード毎に累積調整前報酬Rを算出する。エピソード開始時において、累積調整前報酬Rの初期値は、たとえば、0に設定される。累積計算f505は、調整前報酬rを入力する度に累積調整前報酬Rに調整前報酬rを加算することで算出する。すなわち、累積計算f505は、エピソード毎に、調整前報酬rの合計値(累積調整前報酬R)を算出する。
 エピソードは、エージェント501が試行錯誤しながら学習データを取得する1つの過程を表す。エピソードは、たとえば、エージェント501が学習データの取得を開始する環境502の初期状態から所定の終了条件を満たすまでの過程を表す。エピソードは、所定の終了条件を満たしたときに終了する。エピソードが終了すると、環境502が初期状態にリセットされて、新しいエピソードが開始する。
 所定の終了条件は、たとえば、エージェント501がエピソード開始からのステップ数が予め設定した閾値を超えるという条件であってもよい。また、所定の終了条件は、エージェント501の行動aによって環境502の状態が予め設定した制約条件を違反する等の条件であってもよい。所定の終了条件は、これらの例に限定されない。所定の終了条件は、上述したような条件が複数組み合わされている条件であってもよい。制約条件の例としては、アーム型ロボットが予め設定した禁止領域に侵入したときなどが挙げられる。
 報酬履歴バッファ506は、エピソード毎に算出される複数の累積調整前報酬Rを記憶する。これらを用いて学習進度に相当する特徴量を算出する報酬履歴バッファ506には、演算機能が組み込まれているとする。特徴量として、たとえば、累積調整前報酬Rの移動平均μと移動標準偏差σとが挙げられる。なお、学習進度に相当する特徴量は、これらの例に限定されない。報酬履歴バッファ506は、記憶している複数の累積調整前報酬Rの中からユーザが予め設定したウィンドウサイズの数(すなわち、所定のステップ数分)だけ最新のものをサンプルして、移動平均μと移動標準偏差σを算出する。
 変換f507は、観測oと、難易度dと、累積調整前報酬Rの移動平均μと移動標準偏差σとを、列方向で結合した列ベクトルである拡張観測o’を出力する処理を表す。よって、拡張観測o’は、難易度調整機能なし強化学習における観測o、難易度調整機能付き強化学習における難易度d、難易度調整機能なし強化学習における累積調整前報酬Rにおける移動平均、及び、その移動標準偏差σを含む。すなわち、拡張観測o’は、ポリシが適切な難易度dを出力できるように、難易度調整機能なし強化学習の観測oに難易度と学習進度を追加拡張したものである。拡張観測o’をポリシに入力することで、学習によってポリシは、ポリシの現時点の学習進度として獲得する報酬とのバランスを考慮した難易度dを出力できるようになる。ただし、学習進度を明示的に考慮することなくポリシの出力を決定するものとしてもよく、この場合、拡張観測o’に学習進度を含める必要はない。
 以上が、難易度調整機能付き強化学習における変換処理の一連の計算である。エージェント501は、変換処理によって得られる拡張行動a’、拡張観測o’、調整後報酬r’の組を学習データとして学習部110に送信する。そして、この学習データを用いて学習部110はポリシを更新する。これに対して、難易度調整機能なし強化学習において、ポリシは、行動a、観測o、及び、報酬rの組を表す学習データを用いて更新される。
 学習部110は、図4に示す手順で計算を実行する。図4は、学習部110が、学習データ取得部120が取得した学習データを用いてポリシを更新する手順の例を示すフローチャートである。
 ポリシ更新部111は、学習データ記憶部113に格納されたエージェント501が行動して取得した学習データ群を読み取る(ステップS101)。
 ポリシ更新部111は、読み取った学習データ群を用いてポリシを更新する(ステップS102)。更新は、先に挙げたDDPG、PPO、SACなどのアルゴリズムを用いて計算処理を行う。更新するためのアルゴリズムは、これらの例に限定されない。
 ポリシ更新部111は、学習の終了条件を判定する(ステップS103)。学習の終了条件として、ユーザが予め設定した閾値をポリシ更新回数が超えた場合に終了とする条件が一例として挙げられる。
 ポリシ更新部111は、終了でないと判定した場合(ステップS103:No)、処理がステップS101に戻る。ポリシ更新部111は、終了と判定した場合(ステップS103:Yes)、学習処理を終了させるために更新したポリシ、報酬履歴バッファ506から出力される累積調整前報酬Rの移動平均μと移動標準偏差σとの組をポリシ記憶部114に送信して格納する(ステップS104)。
 ステップS104の処理が実行された後、学習装置100は、図4の処理を終了する。
 学習データ取得部120は、図5に示す手順で計算を実行する。図5は、学習データ取得部120が、環境装置200及び環境部210と連携して、学習部110がポリシ計算に用いる学習データを取得する手順の例を示すフローチャートである。ただし、図5に示す手順は、一例である。図5に示すフローには、並行して処理を行うことができるステップ及び実行順序を入れ替えて処理を行うことができるステップがあるため、学習データ取得部120の計算の手順は、図5に示す手順に限定されない。
 変換部123は、累積調整前報酬Rを0に初期化する。エージェント計算部121は、環境部210を初期状態にリセットして、エピソードを開始する(ステップS201)。
 変換部123は、拡張観測o’の初期値を算出してエージェント計算部121に送信する(ステップS202)。拡張観測o’の初期値の算出方法の一例として、環境部210から観測oと予め定めた難易度d、累積調整前報酬Rの移動平均μ及び移動標準偏差σとを用いて結合fに示された処理に従い算出する方法が挙げられる。
 エージェント計算部121は、ポリシに拡張観測o’を入力して拡張行動a’を算出する(ステップS203)。ポリシに入力する拡張観測o’として、ステップS203の直前のステップ(ステップS202またはステップS211)に取得したものを用いる。
 変換部123は、ステップS204で算出した拡張行動a’を、行動aと難易度dとに分解する(ステップS204)。
 変換部123は、変換fに難易度dを入力して環境パラメタρと変換後難易度δとを算出する(ステップS205)。
 変換部123は、環境部210に行動aと環境パラメタρとを入力し、環境部210の時間ステップを、次の時間ステップに進める(ステップS206)。
 変換部123は、環境部210から出力される観測oと調整前報酬rとを取得する(ステップS207)。
 変換部123において、累積計算f505は、調整前報酬rを累積調整前報酬Rに加算する(ステップS208)。変換部123において、変換f507は、報酬履歴バッファ506から、累積調整前報酬Rの移動平均μと移動標準偏差σとを取得する(ステップS209)。
 変換部123において、変換f504は、調整前報酬r、変換後難易度δと累積調整前報酬Rの移動平均μとを入力して調整後報酬r’を算出する(ステップS210)。
 変換部123において、変換f507は、観測o、難易度d、累積調整前報酬の移動平均μ、及び、累積調整前報酬の移動標準偏差σを結合して拡張観測o’とする(ステップS211)。
 エージェント計算部121は、拡張行動a’と、拡張観測o’と、調整後報酬r’との組を学習データとして学習データ記憶部113に送信して格納する(ステップS212)。
 エージェント計算部121は、エピソードの終了条件を用いてエピソードが終了したか否かの判定を行う(ステップS213)。エージェント計算部121が、エピソードが終了していないと判定した場合(ステップS213:No)、処理がステップS203に戻る。エージェント計算部121が、エピソードが終了したと判定した場合(ステップS213:Yes)、変換部123は、報酬履歴バッファ506に累積調整前報酬Rを格納し、報酬履歴バッファ506に格納された複数の累積調整前報酬Rを用いて累積調整前報酬Rの移動平均μと移動標準偏差σとを算出して更新する(ステップS214)。ステップS214が完了すると、エピソードが終了し、処理がステップS201に戻る。
 図5に示す学習データ取得部120の一連の処理は、図4に示す学習部110の一連の処理が完了すると、中断されて終了する。
 以上に説明したように、本実施形態の学習装置は対象システムの制御内容を決定するポリシを学習する学習装置であって、ポリシに従って、対象システムに関する観測情報と、対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御と、対象システムに対して設定する難易度とを決定する決定手段と、決定された制御と決定された難易度とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価を複数用いてポリシの学習進度を算出する学習進度算出手段と、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価を算出する算出手段と、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新するポリシ更新手段とを含む。その結果、本実施形態の学習装置は、効率的な学習が可能である。
 本発明の第2の実施形態の学習装置100を含む制御システムの一例を説明する。この例において、制御システムは、対象システムの一例である。
 該制御システムの構成は、学習システム1と同様の構成である。しかし、環境装置200が、ポリシ記憶部114、及び、学習データ取得部120を有する構成としてもよい。
 ここで、環境装置200は、制御システムである。また、ポリシ記憶部114は、学習システム1にて学習したポリシ、累積調整前報酬Rの移動平均μ、及び、累積調整前報酬Rの移動標準偏差σを記憶している。エージェント計算部121は、ポリシ記憶部114が記憶しているポリシに従い、ポリシ記憶部114が記憶している累積調整前報酬Rの移動平均μと移動標準偏差σとを入力に用いて、推論計算の処理を行う。
 エージェント計算部121と変換部123とは、一連の計算処理を行い、環境部210に、行動aと環境パラメタρを入力する。環境部210は、入力された行動aと環境パラメタρとに従って状態を遷移させ、たとえば、遷移後の状態についての観測oを出力する。変換部123は、観測oを拡張観測o’に変換する。算出された拡張観測o’を入力して、上述した一連の処理をエージェント計算部121、変換部123、環境部210が行う。この一連の処理が、制御システムについての所望制御である。すなわち、エージェント計算部121と変換部123とは、ポリシ記憶部114が記憶しているポリシに従って制御システムの動作を決定し、決定した動作をするよう制御システムを制御する。この結果、制御システムは、所望の動作を実施する。
 ここで、環境部210に入力する環境パラメタρがρtargetとなるように、エージェント計算部121の拡張行動a’から得られる難易度dをIに置き換えて、変換fに入力するものとしてもよい。
 環境部210に入力する環境パラメタのうち、環境パラメタρによって変更できないものについては、環境パラメタρによる環境パラメタの設定を無視してもよい。環境パラメタρを用いた設定を無視してよいパラメタは、たとえば、物体の摩擦係数、弾性係数等のシミュレーション、または、エミュレーションにおいては数値の変更が容易だが、実システムでは数値の変更ができないパラメタである。
 変換f507は、報酬履歴バッファ506から出力される累積調整前報酬Rの移動平均μと移動標準偏差σとの代わりに、ポリシ記憶部114が記憶する累積調整前報酬Rの移動平均μと移動標準偏差σとを入力とする。従って、変換部123は、報酬履歴バッファ506の計算処理を行わなくてもよい。
 変換部123は、変換f504、累積f505、それぞれの計算処理を行わなくてもよい。これは、エージェント計算部121は、学習データを学習データ記憶部113に送信して記憶させる処理を必要としないためである。
 以上が、該制御システムにおける学習装置100の計算処理である。上記の通り、第2の実施形態に係る学習装置100は、制御システムの一部として、学習したポリシを制御コントローラとして機能させることができる。該制御システムは、たとえば、アーム型ロボットのピックアンドプレース制御システム、ヒューマノイドロボットの歩行制御システム、飛行型ロボットの飛行姿勢制御システム等がある。該制御システムは、これらの例に限定されない。
 学習装置100の構成は、コンピュータを用いた構成に限定されない。たとえば、学習装置100が、ASIC(Application Specific Integrated Circuit )を用いて構成されるなど、専用のハードウェアを用いて構成されていてもよい。
 本発明は、任意の処理を、CPU(Central Processing Unit )にコンピュータプログラムを実行させることにより実現することも可能である。CPUだけなく、GPU(Graphic Processing Unit )などの補助演算装置と併せてプログラムを実行させて実現させることも可能である。この場合、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium )を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium )を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(たとえばフレキシブルディスク、磁気テープ、ハードディスク)、光磁気記録媒体(たとえば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、半導体メモリ(たとえば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM )、フラッシュROM、RAM(Random Access Memory)を含む。
 図7は、学習装置の主要部を示すブロック図である。学習装置800は、ポリシに従って、対象システムに関する観測情報(例えば、観測o)と、対象システムの状態遷移の仕方と制御についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御(例えば、行動a)と、対象システムに対して設定する難易度(例えば、難易度δ)とを決定する決定部(決定手段)801(実施形態では、エージェント計算部121で実現される。)と、決定された制御と決定された難易度(例えば、難易度δ)とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価(例えば、調整前報酬r)を複数用いてポリシの学習進度(例えば、累積調整前報酬Rの移動平均μ)を算出する学習進度算出部(学習進度算出手段)802(実施形態では、変換部123、特に、累積計算f505と報酬履歴バッファ506とで実現される。)と、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価(例えば、調整後報酬r’)を算出する算出部(算出手段)803(実施形態では、変換部123、特に、変換f504で実現される。)と、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新するポリシ更新部(ポリシ更新手段)804(実施形態では、ポリシ更新部111で実現される。)とを備える。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 100 学習装置
 110 学習部
 111 ポリシ更新部
 112 学習設定記憶部
 113 学習データ記憶部
 114 ポリシ記憶部
 120 学習データ取得部
 121 エージェント計算部
 122 エージェント設定記憶部
 123 変換部
 124 変換設定記憶部
 130 入出力制御部
 200 環境装置
 210 環境部
 300 ユーザI/F
 401 エージェント
 402 環境
 501 エージェント
 502 環境
 503 変換f
 504 変換計算部f
 505 累積計算部f
 506 報酬履歴バッファ
 507 結合計算部f
 601 調整関数
 800 学習装置
 801 決定部
 802 学習進度算出部
 803 算出部
 804 ポリシ更新部

Claims (6)

  1.  対象システムの制御内容を決定するポリシを学習する学習装置であって、
     前記ポリシに従って、前記対象システムに関する観測情報と、前記対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、前記対象システムに対して施す制御と、前記対象システムに対して設定する難易度とを決定する決定手段と、
     決定された前記制御と決定された前記難易度とに従って前記対象システムが遷移する前後の状態と決定された前記制御とについての元評価を複数用いてポリシの学習進度を算出する学習進度算出手段と、
     前記元評価と、決定された前記難易度と、算出された前記学習進度とを用いて、改評価を算出する算出手段と、
     前記観測情報と、決定された前記制御と、決定された前記難易度と、前記改評価とを用いて、前記ポリシを更新するポリシ更新手段と
     を備える学習装置。
  2.  前記決定手段は、さらに前記学習進度を用いて、前記対象システムに対して施す制御と、前記対象システムに対して設定する難易度とを決定する
     請求項1記載の学習装置。
  3.  前記算出手段は、前記元評価の値が同じとなる場合について、前記学習進度が高く、決定された前記難易度が低いほど、前記改評価を小さい値として算出する
     請求項1または2に記載の学習装置。
  4.  前記算出手段は、前記元評価の値が同じとなる場合について、前記学習進度が低く、決定された前記難易度が高いほど、前記改評価を小さい値として算出する
     請求項1から請求項3のうちのいずれか1項に記載の学習装置。
  5.  対象システムの制御内容を決定するポリシを学習する学習方法であって、
     前記ポリシに従って、前記対象システムに関する観測情報と、前記対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、前記対象システムに対して施す制御と、前記対象システムに対して設定する難易度とを決定し、
     決定された前記制御と決定された前記難易度とに従って前記対象システムが遷移する前後の状態と決定された前記制御とについての元評価を複数用いてポリシの学習進度を算出し、
     前記元評価と、決定された前記難易度と、算出された前記学習進度とを用いて、改評価を算出する算出し、
     前記観測情報と、決定された前記制御と、決定された前記難易度と、前記改評価とを用いて、前記ポリシを更新する
     学習方法。
  6.  対象システムの制御内容を決定するポリシを学習する学習プログラムが格納されたコンピュータ読み取り可能な記録媒体であって、
     前記学習プログラムは、コンピュータに、
     前記ポリシに従って、前記対象システムに関する観測情報と、前記対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、前記対象システムに対して施す制御と、前記対象システムに対して設定する難易度とを決定する処理と、
     決定された前記制御と決定された前記難易度とに従って前記対象システムが遷移する前後の状態と決定された前記制御とについての元評価を複数用いてポリシの学習進度を算出する処理と、
     前記元評価と、決定された前記難易度と、算出された前記学習進度とを用いて、改評価を算出する処理と、
     前記観測情報と、決定された前記制御と、決定された前記難易度と、前記改評価とを用いて、前記ポリシを更新する処理とを実行させる
     記録媒体。
PCT/JP2020/011465 2020-03-16 2020-03-16 学習装置、学習方法、及び、記録媒体 WO2021186500A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/909,835 US20240202569A1 (en) 2020-03-16 2020-03-16 Learning device, learning method, and recording medium
JP2022508616A JP7468619B2 (ja) 2020-03-16 2020-03-16 学習装置、学習方法、及び、記録媒体
PCT/JP2020/011465 WO2021186500A1 (ja) 2020-03-16 2020-03-16 学習装置、学習方法、及び、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/011465 WO2021186500A1 (ja) 2020-03-16 2020-03-16 学習装置、学習方法、及び、記録媒体

Publications (1)

Publication Number Publication Date
WO2021186500A1 true WO2021186500A1 (ja) 2021-09-23

Family

ID=77770726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/011465 WO2021186500A1 (ja) 2020-03-16 2020-03-16 学習装置、学習方法、及び、記録媒体

Country Status (3)

Country Link
US (1) US20240202569A1 (ja)
JP (1) JP7468619B2 (ja)
WO (1) WO2021186500A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114357884A (zh) * 2022-01-05 2022-04-15 厦门宇昊软件有限公司 一种基于深度强化学习的反应温度控制方法和系统
CN114404977A (zh) * 2022-01-25 2022-04-29 腾讯科技(深圳)有限公司 行为模型的训练方法、结构扩容模型的训练方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017183587A1 (ja) * 2016-04-18 2017-10-26 日本電信電話株式会社 学習装置、学習方法および学習プログラム
JP2019219741A (ja) * 2018-06-15 2019-12-26 株式会社日立製作所 学習制御方法及び計算機システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017183587A1 (ja) * 2016-04-18 2017-10-26 日本電信電話株式会社 学習装置、学習方法および学習プログラム
JP2019219741A (ja) * 2018-06-15 2019-12-26 株式会社日立製作所 学習制御方法及び計算機システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIANG, LU ET AL.: "Self-Paced Learning with Diversity", vol. 27, 2014, pages 1 - 9, XP055706933, Retrieved from the Internet <URL:https://papers.nips.cc/paper/5568-self-paced-learning-with-diversity.pdf> [retrieved on 20200727] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114357884A (zh) * 2022-01-05 2022-04-15 厦门宇昊软件有限公司 一种基于深度强化学习的反应温度控制方法和系统
CN114404977A (zh) * 2022-01-25 2022-04-29 腾讯科技(深圳)有限公司 行为模型的训练方法、结构扩容模型的训练方法
CN114404977B (zh) * 2022-01-25 2024-04-16 腾讯科技(深圳)有限公司 行为模型的训练方法、结构扩容模型的训练方法

Also Published As

Publication number Publication date
US20240202569A1 (en) 2024-06-20
JPWO2021186500A1 (ja) 2021-09-23
JP7468619B2 (ja) 2024-04-16

Similar Documents

Publication Publication Date Title
Pham et al. Optlayer-practical constrained optimization for deep reinforcement learning in the real world
Fu et al. One-shot learning of manipulation skills with online dynamics adaptation and neural network priors
EP3924884B1 (en) System and method for robust optimization for trajectory-centric model-based reinforcement learning
Qazani et al. A model predictive control-based motion cueing algorithm with consideration of joints’ limitations for hexapod motion platform
US20210107144A1 (en) Learning method, learning apparatus, and learning system
WO2021186500A1 (ja) 学習装置、学習方法、及び、記録媒体
Qazani et al. Optimising control and prediction horizons of a model predictive control-based motion cueing algorithm using butterfly optimization algorithm
KR101912918B1 (ko) 학습 로봇, 그리고 이를 이용한 작업 솜씨 학습 방법
EP3704550B1 (en) Generation of a control system for a target system
KR20220137732A (ko) 적응형 리턴 계산 방식을 사용한 강화 학습
CN112016678B (zh) 用于增强学习的策略生成网络的训练方法、装置和电子设备
Yang et al. Online adaptive teleoperation via motion primitives for mobile robots
Qazani et al. Whale optimization algorithm for weight tuning of a model predictive control-based motion cueing algorithm
CN114529010A (zh) 一种机器人自主学习方法、装置、设备及存储介质
Kolaric et al. Local policy optimization for trajectory-centric reinforcement learning
Ng et al. Model predictive control and transfer learning of hybrid systems using lifting linearization applied to cable suspension systems
Ganai et al. Learning stabilization control from observations by learning lyapunov-like proxy models
CN114378820B (zh) 一种基于安全强化学习的机器人阻抗学习方法
KR102570962B1 (ko) 로봇 제어 장치 및 이의 동작 방법
CN115421387A (zh) 一种基于逆强化学习的可变阻抗控制系统及控制方法
García et al. Incremental reinforcement learning for multi-objective robotic tasks
WO2022180785A1 (ja) 学習装置、学習方法及び記憶媒体
Mainampati et al. Implementation of human in the loop on the TurtleBot using reinforced learning methods and robot operating system (ROS)
CN114397817A (zh) 网络训练、机器人控制方法及装置、设备及存储介质
CN110298449B (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: 20925507

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022508616

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 17909835

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20925507

Country of ref document: EP

Kind code of ref document: A1