WO2023170973A1 - 強化学習装置、強化学習方法、及び強化学習プログラム - Google Patents

強化学習装置、強化学習方法、及び強化学習プログラム Download PDF

Info

Publication number
WO2023170973A1
WO2023170973A1 PCT/JP2022/011121 JP2022011121W WO2023170973A1 WO 2023170973 A1 WO2023170973 A1 WO 2023170973A1 JP 2022011121 W JP2022011121 W JP 2022011121W WO 2023170973 A1 WO2023170973 A1 WO 2023170973A1
Authority
WO
WIPO (PCT)
Prior art keywords
agent model
reinforcement learning
reward
simulation
state
Prior art date
Application number
PCT/JP2022/011121
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/JP2022/011121 priority Critical patent/WO2023170973A1/ja
Priority to JP2024505854A priority patent/JPWO2023170973A1/ja
Publication of WO2023170973A1 publication Critical patent/WO2023170973A1/ja

Links

Classifications

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

Definitions

  • the disclosed technology relates to a reinforcement learning device, a reinforcement learning method, and a reinforcement learning program.
  • Reinforcement learning is a method that can learn better behavior in an unknown environment. It is also possible to use continuous values for behavior, and when dealing with continuous behavior, the probability density function of the policy can be treated as a normal distribution with mean ⁇ and variance ⁇ 2 (for example, non-patent literature (see 1). At this time, the larger ⁇ is, the greater the variation in the calculated behavior is, and the wider the search is performed.
  • the first problem is that it takes a lot of time for reinforcement learning to converge. Therefore, if it is possible to perform learning with as few trials as possible and to prevent the computation time per trial from increasing excessively for efficient search, the computation time can be reduced and learning can be converged.
  • the second issue is that in reinforcement learning, which performs search and trial-and-error based on a policy, if the policy is incomplete, the search may not be successful, resulting in a local solution, making it impossible to achieve optimal control.
  • the disclosed technology has been made in view of the above points, and provides a reinforcement learning device, a reinforcement learning method, and a reinforcement learning method that can dynamically adjust a search space according to a predicted reward in reinforcement learning targeting a continuous action space.
  • the purpose is to provide reinforcement learning programs.
  • a first aspect of the present disclosure is a reinforcement learning device that performs reinforcement learning targeting a continuous action space, wherein predetermined settings for a simulation and an agent model are stored, and the settings are based on the settings in the reinforcement learning.
  • a predefined behavior is input, and the state in the next trial, a reward corresponding to the state, and a flag indicating whether the simulation execution has ended are acquired.
  • an agent model estimating unit that inputs the state acquired by the agent model into the agent model and obtains a policy; an action determining unit that calculates the behavior based on the policy and a predefined amount of search; a search amount estimating section for estimating a search amount, and the agent model estimating section is configured to calculate a search amount according to the settings of the agent model based on the state, the reward, the flag, and the action.
  • the agent model is updated, and the search amount estimation unit updates the search amount based on the predicted reward calculated for the reward and the search amount in the previous trial, and updates the search amount based on the flag and the setting.
  • the calculation of the behavior, the update of the agent model, and the update of the search amount are repeated until the corresponding predetermined condition is satisfied.
  • a second aspect of the present disclosure is a reinforcement learning method that performs reinforcement learning targeting a continuous action space, in which predetermined settings for simulation and agent models are stored, and the settings are based on the settings in the reinforcement learning.
  • a predefined behavior is input, and the state in the next trial, a reward corresponding to the state, and a flag indicating whether the simulation execution has ended are acquired.
  • the state obtained by is input to the agent model, a policy is obtained, the action is calculated based on the policy and a predefined amount of search, and the state, the reward, and the
  • the agent model is updated according to the settings of the agent model based on the flag and the behavior, and the agent model is updated based on the predicted reward calculated for the reward and the search amount in the previous trial.
  • the computer is caused to execute a process of updating the search amount and repeating the calculation of the behavior, the update of the agent model, and the update of the search amount until a predetermined condition according to the flag and the setting is satisfied.
  • a third aspect of the present disclosure is a reinforcement learning program that performs reinforcement learning targeting a continuous action space, wherein predetermined settings for simulation and agent models are stored, and the program is based on the settings in the reinforcement learning.
  • a predefined behavior is input, and the state in the next trial, a reward corresponding to the state, and a flag indicating whether the simulation execution has ended are acquired.
  • the state obtained by is input to the agent model, a policy is obtained, the action is calculated based on the policy and a predefined amount of search, and the state, the reward, and the
  • the agent model is updated according to the settings of the agent model based on the flag and the behavior, and the agent model is updated based on the predicted reward calculated for the reward and the search amount in the previous trial.
  • the computer is caused to execute a process of updating the search amount and repeating the calculation of the behavior, the update of the agent model, and the update of the search amount until a predetermined condition according to the flag and the setting is satisfied.
  • the search space can be dynamically adjusted according to the predicted reward.
  • FIG. 2 is a block diagram showing the hardware configuration of a reinforcement learning device.
  • FIG. 1 is a block diagram showing the functional configuration of a reinforcement learning device according to the present embodiment. This is an example of data stored in the learning setting storage unit. This is an example of agent model data stored in the model storage unit. This is an example of behavior data stored in the behavior storage unit. It is a flowchart which shows the flow of reinforcement learning processing by a reinforcement learning device.
  • FIG. 1 is a block diagram showing the hardware configuration of the reinforcement learning device 100.
  • the reinforcement learning device 100 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, and a display unit 1. 6 and communication interface (I/F) 17. Each configuration is communicably connected to each other via a bus 19.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • storage 14 an input unit
  • I/F communication interface
  • the CPU 11 is a central processing unit that executes various programs and controls various parts. That is, the CPU 11 reads a program from the ROM 12 or the storage 14 and executes the program using the RAM 13 as a work area. The CPU 11 controls each of the above components and performs various arithmetic operations according to programs stored in the ROM 12 or the storage 14. In this embodiment, the ROM 12 or the storage 14 stores a reinforcement learning program.
  • the ROM 12 stores various programs and various data.
  • the RAM 13 temporarily stores programs or data as a work area.
  • the storage 14 is constituted by a storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to perform various inputs.
  • the display unit 16 is, for example, a liquid crystal display, and displays various information.
  • the display section 16 may employ a touch panel system and function as the input section 15.
  • the communication interface 17 is an interface for communicating with other devices such as terminals.
  • a wired communication standard such as Ethernet (registered trademark) or FDDI
  • a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark) is used.
  • FIG. 2 is a block diagram showing the functional configuration of the reinforcement learning device of this embodiment.
  • Each functional configuration is realized by the CPU 11 reading out a reinforcement learning program stored in the ROM 12 or the storage 14, loading it into the RAM 13, and executing it.
  • the reinforcement learning device 100 performs reinforcement learning targeting a continuous action space.
  • the reinforcement learning device 100 includes a learning setting storage section 110, an agent model estimating section 111, a search amount estimating section 112, and a behavior determining section 113.
  • This configuration is the main configuration 100A of the reinforcement learning device 100.
  • the reinforcement learning device 100 includes a setting input section 101, a simulation execution section 102, a model storage section 103, a behavior storage section 104, and an operation output section 105 as processing sections responsible for input/output functions.
  • the settings input unit 101 stores data received through input from the user in the learning settings storage unit 110. Note that the setting input section 101 corresponds to the input section 15 in terms of hardware.
  • the learning settings storage unit 110 stores data received from the user through the settings input unit 101 as settings.
  • FIG. 3 is an example of data stored in the learning setting storage unit 110.
  • Information is saved for each column of "setting item”, “setting content”, and “setting target”.
  • “Setting contents” are settings or setting values for “setting items.”
  • the “setting target” is the target processing unit of the reinforcement learning device 100.
  • “setting items” include settings for ⁇ search amount estimator parameters ⁇ and ⁇ initial search amount ⁇ , which are used by the search amount estimator 112. As ⁇ search amount estimator parameters ⁇ , ⁇ , ⁇ , and C are determined.
  • "setting item” is a setting for ⁇ reinforcement learning algorithm name ⁇ , which is used by the agent model estimation unit 111.
  • ⁇ Reinforcement learning algorithm name ⁇ selects a reinforcement learning algorithm (hereinafter simply referred to as "algorithm” refers to a reinforcement learning algorithm) that determines the processing content of the agent model estimation unit 111.
  • algorithm a reinforcement learning algorithm
  • “setting items” required for each algorithm are stored, including settings for ⁇ maximum number of steps ⁇ and ⁇ agent model storage frequency ⁇ .
  • "setting items” are ⁇ simulation type name ⁇ that selects the processing content of the simulation execution unit 102, ⁇ simulation initialization parameters ⁇ , and ⁇ initial behavior value ⁇ that indicates the action value at the start of execution. The settings for are saved.
  • the learning setting storage unit 110 transmits each saved setting value to the simulation execution unit 102, agent model estimating unit 111, and search amount estimating unit 112, which are targets for setting each setting value.
  • the simulation execution unit 102 executes a simulation for the input action a.
  • action a which is a trigger for simulation execution
  • an initial action value is received from the learning setting storage unit 110 at the time of initial operation, and the initial action value is set as action a.
  • the action a is received from the action determining unit 113.
  • the simulation execution unit 102 outputs a state s (next state s) observed as a result of the simulation, a reward r defined for the state, and a flag d, and uses these outputs as an agent model. It is transmitted to the estimator 111.
  • the flag d is a truth value indicating whether the simulation has ended and the simulation environment should be reset.
  • the internal algorithm of the simulation execution unit 102 is set according to the ⁇ simulation type name ⁇ stored in the learning setting storage unit 110.
  • the internal algorithm for example, it is possible to use a simulator or one equivalent to a video game or a board game characterized by a screen or state transition in response to a specific operation.
  • a simulator reproduces state changes when operating equipment in a specific state prepared by the user in advance.
  • a simulator can be used that reproduces changes in indoor temperature and humidity when air conditioning is controlled.
  • the actual environment is, for example, an environment where there is a building where air conditioning can be controlled, and where changes in indoor temperature and humidity can be measured using sensors or the like and data can be collected.
  • the agent model estimation unit 111 receives the output (state s, reward r, and flag d) transmitted from the simulation execution unit 102, and receives the behavior a of the previous trial transmitted from the behavior determination unit 113. Further, the agent model estimation unit 111 reads various setting values stored in the learning setting storage unit 110 and extracts an agent model stored in the model storage unit 103.
  • the agent model estimation unit 111 inputs the state s obtained from the simulation execution unit 102 into the agent model, and obtains the policy ⁇ as part of the output of the agent model.
  • the agent model estimation unit 111 transmits the acquired policy ⁇ to the behavior determination unit 113.
  • the agent model estimation unit 111 inputs the state s, reward r, flag d, and action a to the extracted agent model, and updates the agent model.
  • the state s used to update the agent model is the next state s for the next time (trial) as described later, and the reward r and flag d corresponding to the next state s.
  • the action a is updated after the policy ⁇ is obtained.
  • the internal algorithm (reinforcement learning algorithm) used to calculate the agent model is defined by ⁇ reinforcement learning algorithm name ⁇ stored in the learning setting storage unit 110.
  • Existing technology may be used as the reinforcement learning algorithm, and an algorithm that targets continuous value behavior may be used.
  • the agent models defined by the algorithms are in the form of functions or neural networks, and their hyperparameters and weighting coefficients of the neural networks are updated in a manner defined by each algorithm.
  • the history of the state s, reward r, and action a may be saved in the agent model estimation unit and used to update the model.
  • the agent model estimation section 111 updates the updated agent model based on the setting value.
  • the agent model is sent to the model storage unit 103.
  • the search amount estimation unit 112 receives the reward r transmitted from the simulation execution unit 102, and updates the predicted reward r pred based on the reward r, for example, from equation (1).
  • the parameter ⁇ in equation (1) is the learning rate of the predicted reward, and uses the setting value of ⁇ search amount estimation parameter ⁇ stored in the learning setting storage unit 110.
  • r pred on the right side is the predicted reward before updating. Note that an arbitrary value such as 0 is used as the initial value of r pred on the right side. ...(1)
  • the search amount estimating unit 112 determines the search amount ⁇ from equation (2) based on the predicted reward r pred , and transmits it to the action determining unit 113.
  • the parameters ⁇ and C in equation (2) use the setting values of ⁇ search amount estimation parameters ⁇ stored in the learning setting storage unit 110. ...(2)
  • Equations (1) and (2) are simplified models that dynamically adjust movement variations in animal and human motor learning.
  • the behavior determining unit 113 calculates and determines the behavior a for the next trial based on the policy ⁇ transmitted from the agent model estimating unit 111 and the search amount ⁇ output from the search amount estimating unit 112, and executes the simulation.
  • the action a is transmitted to the section 102.
  • the probability density function of the action a can be expressed as shown in equation (3) below using the search amount ⁇ output from the search amount estimation unit 112.
  • x is a random variable.
  • Action a is stochastically determined according to a probability density function. This allows reinforcement learning to be performed in a continuous action space. ...(3)
  • the agent model updated by the agent model estimation unit 111 is stored in the model storage unit 103.
  • FIG. 4 is an example of agent model data stored in the model storage unit 103.
  • the model should be saved every time it is updated. If ⁇ agent model storage frequency ⁇ is written in the learning setting storage unit 110, that setting is followed.
  • the behavior storage unit 104 stores the behavior at each time transmitted from the behavior determination unit 113.
  • FIG. 5 is an example of behavior data stored in the behavior storage unit 104.
  • the operation output unit 105 extracts the behavior for a specific period stored in the behavior storage unit 104, and outputs the control content to the target controller.
  • FIG. 6 is a flowchart showing the flow of reinforcement learning processing by the reinforcement learning device 100. Reinforcement learning processing is performed by the CPU 11 reading a reinforcement learning program from the ROM 12 or the storage 14, loading it onto the RAM 13, and executing it.
  • step S100 the CPU 11 initializes the agent model and search amount.
  • the agent model is initialized by the agent model estimating section 111, and the search amount is initialized by the search amount estimating section 112.
  • the agent model estimation unit 111 initializes the agent model based on setting items such as ⁇ reinforcement learning algorithm name ⁇ stored in the learning setting storage unit 110.
  • the model storage unit 103 if a model corresponding to the combination of ⁇ reinforcement learning algorithm name ⁇ and ⁇ simulation type name ⁇ stored in the learning setting storage unit 110 already exists, the model with a large number of steps among the corresponding models is saved. is read out as the weight of the agent model.
  • the current number of steps is defined by the number of steps of the stored model. If the model stored in the model storage unit 103 is not read out, the current number of steps is set to 0. The current number of steps is stored within the agent model estimation unit 111.
  • the search amount estimation unit 112 extracts ⁇ search amount estimation parameters ⁇ and ⁇ initial search amount ⁇ stored in the learning setting storage unit 110. Initialize to use the value of the initial search amount as the search amount.
  • step S102 the CPU 11 initializes the simulator in the simulation execution unit 102 and obtains the state s.
  • the simulation execution unit 102 reads the ⁇ simulation type name ⁇ and ⁇ simulation initialization parameter ⁇ stored in the learning setting storage unit 110, and initializes the simulation environment corresponding to the simulation type name using the simulation initialization parameter. . Upon initialization, the simulation execution unit 102 outputs an initial state s, and outputs it to the agent model estimation unit. Further, the state s is stored inside the simulation execution unit 102.
  • step S104 the CPU 11, as the agent model estimation unit 111, inputs the state s obtained from the simulation execution unit 102 into the agent model, and obtains the policy ⁇ as an output.
  • step S106 the CPU 11, as the action determining unit 113, calculates the action a based on the policy ⁇ output from the agent model estimating unit 111 and the search amount ⁇ defined by the search amount estimating unit 112, and determines the action a. do.
  • Behavior a is output to the simulation execution unit 102 and behavior storage unit 104 and is also stored within the agent model estimation unit 111.
  • step S108 the CPU 11 adds 1 to the current step stored in the agent model estimation unit 111.
  • step S110 the CPU 11, as the simulation execution unit 102, obtains the next state s, the reward r, and the flag d.
  • the simulation execution unit 102 acquires the next state s for the next time (next trial) based on the behavior a acquired from the behavior determination unit 113 and the state s stored inside the simulation execution unit 102. .
  • the simulation execution unit 102 obtains the next state s, and also calculates a reward r and a flag d indicating whether the simulation execution has ended, depending on the next state s.
  • step S112 the CPU 11, as the agent model estimation unit 111, updates the agent model.
  • the update is executed according to ⁇ reinforcement learning algorithm name ⁇ based on the state s, reward r, and flag d acquired from the simulation execution unit 102 and the action a stored inside the agent model estimation unit 111.
  • the updated agent model is stored in the model storage unit 103 when the frequency described in ⁇ agent model storage frequency ⁇ is met.
  • the agent model is updated each time a simulation is executed, and cases where the model is not updated and is updated every multiple times.
  • the algorithm name registered in ⁇ reinforcement learning algorithm name ⁇ is an algorithm that is updated at once every several times, it is stored inside the agent model estimation unit 111 without being updated. That is, in cases other than the update timing defined by the algorithm, the agent model is not updated, and instead, the state s, reward r, and flag d obtained from the simulation execution unit 102 are stored inside the agent model estimation unit 111. do.
  • the agent model is updated based on the history of the state s, reward r, flag d, and action a stored in the agent model estimation unit 111.
  • step S114 the CPU 11, as the search amount estimation unit 112, performs a search based on the predicted reward obtained from the reward r obtained from the simulation execution unit 102 and the search amount ⁇ at the previous time stored in the search amount estimation unit 112.
  • Update amount The search amount is updated by calculating the predicted reward using equation (1) above and calculating the search amount ⁇ using equation (2).
  • the updated search amount is stored inside the search amount estimation section 112 and used when the action determination section 113 operates. By updating the search amount in this way, it is possible to update the search space to widen it when the reward amount is small.
  • step S116 the CPU 11 determines whether the flag d in the simulation execution unit 102 is True or False. If True, the simulation execution unit 102 is initialized in step S102, and subsequent processing is executed again. If the flag d is False, the process moves to step S118. Being False is an example of satisfying the predetermined condition regarding the flag of the present disclosure.
  • step S118 the CPU 11 determines whether the current step, which is a variable held in the agent model estimation unit 111, exceeds the maximum number of steps stored in the learning setting storage unit 110. If it does not exceed the threshold, the processing from step S104 onwards is executed again, and if it exceeds the threshold, all processing ends. Exceeding the maximum number of steps is an example of satisfying a predetermined condition regarding settings of the present disclosure.
  • the search space in reinforcement learning targeting a continuous action space, can be dynamically adjusted according to the predicted reward.
  • the time required for learning to converge is shortened without expanding the search space, while in situations where no rewards can be obtained, the search space is expanded to achieve optimal control without falling into a local solution. It can be realized.
  • the current policy can perform good control, so the demand for extensive search is low.
  • the demand for extensive search is low.
  • the search space is expanded when a strategy that does not yield a reward is reached, and by trying a wide range of actions, the local solution is escape and search for the optimal solution.
  • the method of the present disclosure it is possible to shorten the time until learning convergence by efficiently performing a search using reinforcement learning targeting a continuous action space, and the first problem can be solved. Furthermore, by widening the search space when the reward amount is small, it is possible to learn strategies that can obtain more rewards without falling into a local solution, and the second problem can be solved.
  • ⁇ When used for air conditioning control> In this usage mode, a simulator that predicts future room temperature changes and heat consumption by inputting weather data, number of visitors, past room temperature, air conditioning control data, etc. is used as the simulation execution unit 102, and air conditioning control is performed as an action. Handle setting values. This makes it possible to create an agent model that learns optimal air conditioning control that achieves energy savings while maintaining comfort.
  • Temperature prediction by the simulation execution unit 102 can be achieved by using a neural network or regression model that inputs various data and outputs room temperature.
  • heat consumption can be predicted by using a regression model that predicts the amount of heat required by inputting weather data, the number of visitors, and air conditioner settings. Moreover, these can also be used in combination.
  • the simulation execution unit 102 internally holds data acquired from various sensors, such as weather data, the number of visitors, past room temperature, and air conditioning control history (this is defined as environmental data). In addition, the simulation execution unit 102 uses these environmental data to learn in advance a model that reproduces environmental changes at a future time and a model that estimates the amount of heat (heat consumption) consumed by air conditioning equipment during air conditioning control. It is assumed that Further, it is assumed that rules are predetermined for evaluating whether these values are comfortable and energy-saving based on the estimated temperature/humidity and heat consumption.
  • step S100 is as described in the processing flow above.
  • the simulation execution unit 102 reads ⁇ simulation type name ⁇ and ⁇ simulation initialization parameter ⁇ registered in the learning setting storage unit 110.
  • a simulator eg, indoor temperature/humidity reproduction env
  • the simulation execution unit 102 is initialized according to ⁇ simulation initialization parameters ⁇ . For example, it is necessary to randomly select one day from among the dates for which environmental data exists and for which simulation can be executed, and to reproduce the indoor temperature and humidity from the time t of the relevant date using the time t specified in the simulation initialization parameter.
  • environment data is loaded and held in the simulation execution unit 102. Additionally, environmental data necessary for estimating heat consumption from time t on the date is similarly loaded and held in the simulation execution unit 102. As an initial state, indoor temperature and humidity data at time t is acquired and output to the agent model estimation unit 111.
  • Steps S104, S108, S112 and subsequent steps are as described in the processing flow above.
  • Step S106 is as described in the processing flow above.
  • action a indicates an air conditioning control method at a certain time, and indicates set values for each air conditioning device as shown in FIG.
  • the simulation execution unit 102 predicts the indoor temperature and humidity at the next time (for example, 10 minutes later).
  • the indoor temperature and humidity are predicted based on the behavior a (that is, the air conditioning control method) acquired from the behavior determination unit 113, the state s stored in the simulation execution unit 102, and the environmental data loaded in advance. Further, the amount of heat consumed by the air conditioner during air conditioning control is estimated using the state s and the environmental data loaded in advance.
  • the reward is determined based on a predetermined rule for evaluating whether the condition is good from the viewpoint of comfort and energy saving, based on the state s representing the indoor temperature and humidity and the predicted heat consumption. If the time at which the simulation was performed is the last time for which data exists on the date, the flag d indicating whether the simulation has ended is set to True; otherwise, it is set to False.
  • the state s, reward r, and flag d are output to the agent model estimator 111 and the search amount estimator 112.
  • the simulation execution unit 102 uses a simulator that predicts the future state of the equipment by inputting information indicating the equipment state and equipment operation, and uses equipment operation commands (such as motor operation and equipment movement) as actions. instructions).
  • Information indicating the state of the device includes joint angles and speeds, robot position information, etc. This makes it possible to create an agent model that learns optimal device control to achieve the desired behavior.
  • the simulation execution unit 102 has been trained to be able to predict changes in the device state from previously measured data, or can predict changes in the device state using a physical simulator. Further, it is assumed that rules for evaluating whether the motion is a desired motion are determined in advance.
  • step S100 is as described in the processing flow above.
  • the simulation execution unit 102 reads ⁇ simulation type name ⁇ and ⁇ simulation initialization parameter ⁇ registered in the learning setting storage unit 110.
  • the simulation execution unit 102 when using it for robot control, specify the name of the simulator (eg, robot arm env) that predicts the next state from the previous state and device operation.
  • the simulation execution unit 102 is initialized according to ⁇ simulation initialization parameters ⁇ .
  • Steps S104, S108, S112 and subsequent steps are as described in the processing flow above.
  • Step S106 is as described in the processing flow above.
  • action a indicates a device control method at a certain time.
  • the simulation execution unit 102 predicts a state change at the next time (for example, one second later).
  • the state change is predicted based on the action a (that is, the device control method) acquired from the action determining unit 113, the state s saved in the simulation execution unit, and the environment data loaded in advance.
  • the reward is determined based on a rule that evaluates whether the movement has a predetermined purpose.
  • the flag d indicating whether the simulation has ended is set to True; otherwise, it is set to False.
  • the state s, reward r, and end flag d are output to the agent model estimator and the search amount estimator. Operation failures include, for example, dropping an object when carrying it with a robot arm, or moving the robot out of the operation target area.
  • the simulation execution unit 102 uses as a simulator a game in which the state changes by inputting information indicating the state (game screen, etc.) and game operations, and handles the game operations as actions. This makes it possible to create an agent model that learns game operations that will yield high scores. At this time, it is assumed that the rules of the game are determined in advance and can be obtained as rewards.
  • step S100 is as described in the processing flow above.
  • the simulation execution unit 102 reads ⁇ simulation type name ⁇ and ⁇ simulation initialization parameter ⁇ registered in the learning setting storage unit 110.
  • the name of the simulator eg, block break env.
  • Steps S104, S108, S112 and subsequent steps are as described in the processing flow above.
  • Step S106 is as described in the processing flow above.
  • action a indicates a device control method at a certain time.
  • the simulation execution unit 102 executes the game using the action a (that is, the game operation) acquired from the action determination unit 113, and obtains the state change at the next time (for example, after one frame).
  • rewards are obtained based on predetermined game rules.
  • the flag d indicating whether the simulation has ended is set to True; otherwise, it is set to False.
  • the state s, reward r, and end flag d are output to the agent model estimator and the search amount estimator.
  • the reinforcement learning process that the CPU reads and executes the software (program) in the above embodiments may be executed by various processors other than the CPU.
  • processors include FPGA (Field-Programmable Gate Array), PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, GPU (Graphics Processing Unit), etc. ), and identification of ASIC (Application Specific Integrated Circuit), etc.
  • An example is a dedicated electric circuit that is a processor having a circuit configuration specifically designed to execute the processing.
  • the reinforcement learning process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, and a combination of a CPU and an FPGA). etc.).
  • the hardware structure of these various processors is, more specifically, an electric circuit that is a combination of circuit elements such as semiconductor elements.
  • the program can be installed on CD-ROM (Compact Disk Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), and USB (Universal Serial Bus) stored in a non-transitory storage medium such as memory It may be provided in the form of Further, the program may be downloaded from an external device via a network.
  • CD-ROM Compact Disk Read Only Memory
  • DVD-ROM Digital Versatile Disk Read Only Memory
  • USB Universal Serial Bus
  • a reinforcement learning device that performs reinforcement learning targeting a continuous action space, Predefined settings for simulation and agent models are saved. In a simulation based on the settings in reinforcement learning, a predefined behavior is input, and the state in the next trial, a reward according to the state, and a flag indicating whether the simulation execution has ended are obtained.
  • a reinforcement learning device configured as follows.
  • a non-transitory storage medium storing a program executable by a computer to perform a reinforcement learning process
  • the program is a reinforcement learning program that performs reinforcement learning targeting a continuous action space
  • Predefined settings for simulation and agent models are saved.
  • a predefined behavior is input, and the state in the next trial, a reward according to the state, and a flag indicating whether the simulation execution has ended are obtained.

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

連続行動空間を対象とした強化学習を行う強化学習装置である。強化学習装置には、シミュレーション及びエージェントモデルについてあらかじめ定められた設定が保存されている。強化学習装置は、シミュレーションにより取得された状態をエージェントモデルに入力し、方策を取得するエージェントモデル推定部と、方策と、あらかじめ定義された探索量とに基づいて、行動を算出する行動決定部と、探索量を推定するための探索量推定部とを含み、エージェントモデル推定部は、状態と、報酬と、フラグと、行動とに基づいて、エージェントモデルの設定に応じて、エージェントモデルを更新し、探索量推定部は、報酬に対して求まる予測報酬と、前の試行における探索量とに基づいて、探索量を更新し、フラグ及び設定に応じた所定の条件を満たすまで、行動の算出、エージェントモデルの更新、及び探索量の更新を繰り返す。

Description

強化学習装置、強化学習方法、及び強化学習プログラム
 開示の技術は、強化学習装置、強化学習方法、及び強化学習プログラムに関する。
 強化学習は未知の環境に対してより良い行動を学習できる手法である。行動には連続的な値を用いることも可能であり、連続的な行動を扱う場合には、方策の確立密度関数を平均μ、分散σの正規分布として扱うことができる(例えば非特許文献1参照)。この時、σが大きいほど算出される行動のばらつきが大きく、広範囲な探索がなされる。
また、強化学習は試行錯誤によって学習を行うため、学習が遅いという欠点があり、これまでに並列化等の計算時間短縮化のための検討が行われてきている(例えば非特許文献2参照)。
木村元, 小林重信. "Actor に適正度の履歴を用いた actor-critic アルゴリズム: 不完全な value-function のもとでの強化学習." 人工知能 15.2 (2000): 267-275. 森紘一郎, 山名早人. "強化学習並列化による学習の高速化." 情報処理学会研究報告知能と複雑系 (ICS) 2004.29 (2003-ICS-135) (2004): 89-94.
 従来の強化学習の手法には次の第1及び第2の課題がある。第1の課題は、強化学習の学習収束に多大な時間を要することである。そのため、なるべく少ない試行数で学習ができること、効率的な探索のために一回の試行の計算時間が過大に増えないことが達成できれば、計算時間が少なく学習を収束させることができる。
 第2の課題は、方策に基づき探索と試行錯誤を行う強化学習では、方策が不完全であると探索がうまく行えず、局所解に陥り最適な制御が実現できなくなる場合があることである。
 開示の技術は、上記の点に鑑みてなされたものであり、連続行動空間を対象とした強化学習において、予測報酬に応じて探索空間を動的に調整できる強化学習装置、強化学習方法、及び強化学習プログラムを提供することを目的とする。
 本開示の第1態様は、連続行動空間を対象とした強化学習を行う強化学習装置であって、シミュレーション及びエージェントモデルについてあらかじめ定められた設定が保存されており、前記強化学習における前記設定に基づくシミュレーションでは、あらかじめ定義された行動を入力として、次の試行における状態と、当該状態に応じた報酬と、シミュレーション実行が終了したかどうかを示すフラグとが取得されるようになっており、前記シミュレーションにより取得された前記状態を前記エージェントモデルに入力し、方策を取得するエージェントモデル推定部と、前記方策と、あらかじめ定義された探索量とに基づいて、前記行動を算出する行動決定部と、前記探索量を推定するための探索量推定部とを含み、前記エージェントモデル推定部は、前記状態と、前記報酬と、前記フラグと、前記行動とに基づいて、前記エージェントモデルの前記設定に応じて、前記エージェントモデルを更新し、前記探索量推定部は、前記報酬に対して求まる予測報酬と、前の試行における前記探索量とに基づいて、前記探索量を更新し、前記フラグ及び前記設定に応じた所定の条件を満たすまで、前記行動の算出、前記エージェントモデルの更新、及び前記探索量の更新を繰り返す。
 本開示の第2態様は、連続行動空間を対象とした強化学習を行う強化学習方法であって、シミュレーション及びエージェントモデルについてあらかじめ定められた設定が保存されており、前記強化学習における前記設定に基づくシミュレーションでは、あらかじめ定義された行動を入力として、次の試行における状態と、当該状態に応じた報酬と、シミュレーション実行が終了したかどうかを示すフラグとが取得されるようになっており、前記シミュレーションにより取得された前記状態を前記エージェントモデルに入力し、方策を取得し前記方策と、あらかじめ定義された探索量とに基づいて、前記行動を算出し、更に、前記状態と、前記報酬と、前記フラグと、前記行動とに基づいて、前記エージェントモデルの前記設定に応じて、前記エージェントモデルを更新し、前記報酬に対して求まる予測報酬と、前の試行における前記探索量とに基づいて、前記探索量を更新し、前記フラグ及び前記設定に応じた所定の条件を満たすまで、前記行動の算出、前記エージェントモデルの更新、及び前記探索量の更新を繰り返す、処理をコンピュータに実行させる。
 本開示の第3態様は、連続行動空間を対象とした強化学習を行う強化学習プログラムであって、シミュレーション及びエージェントモデルについてあらかじめ定められた設定が保存されており、前記強化学習における前記設定に基づくシミュレーションでは、あらかじめ定義された行動を入力として、次の試行における状態と、当該状態に応じた報酬と、シミュレーション実行が終了したかどうかを示すフラグとが取得されるようになっており、前記シミュレーションにより取得された前記状態を前記エージェントモデルに入力し、方策を取得し前記方策と、あらかじめ定義された探索量とに基づいて、前記行動を算出し、更に、前記状態と、前記報酬と、前記フラグと、前記行動とに基づいて、前記エージェントモデルの前記設定に応じて、前記エージェントモデルを更新し、前記報酬に対して求まる予測報酬と、前の試行における前記探索量とに基づいて、前記探索量を更新し、前記フラグ及び前記設定に応じた所定の条件を満たすまで、前記行動の算出、前記エージェントモデルの更新、及び前記探索量の更新を繰り返す、処理をコンピュータに実行させる。
 開示の技術によれば、連続行動空間を対象とした強化学習において、予測報酬に応じて探索空間を動的に調整できる。
強化学習装置のハードウェア構成を示すブロック図である。 本実施形態の強化学習装置の機能的な構成を示すブロック図である。 学習設定保存部に保存されるデータの一例である。 モデル保存部に保存されるエージェントモデルのデータの一例である。 行動保存部に保存される行動のデータの一例である。 強化学習装置による強化学習処理の流れを示すフローチャートである。
 以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
 図1は、強化学習装置100のハードウェア構成を示すブロック図である。
 図1に示すように、強化学習装置100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
 CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、強化学習プログラムが格納されている。
 ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
 表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能してもよい。
 通信インタフェース17は、端末等の他の機器と通信するためのインタフェースである。当該通信には、例えば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。
 次に、強化学習装置100の各機能構成について説明する。図2は、本実施形態の強化学習装置の機能的な構成を示すブロック図である。各機能構成は、CPU11がROM12又はストレージ14に記憶された強化学習プログラムを読み出し、RAM13に展開して実行することにより実現される。強化学習装置100は連続行動空間を対象とした強化学習を行う。
 図2に示すように、強化学習装置100は、学習設定保存部110と、エージェントモデル推定部111と、探索量推定部112と、行動決定部113とを含んで構成されている。当該構成が強化学習装置100の主構成100Aである。また、強化学習装置100は、入出力の機能を担う処理部として、設定入力部101と、シミュレーション実行部102と、モデル保存部103と、行動保存部104と、操作出力部105とを含む。
 設定入力部101は、ユーザからの入力により受け付けたデータを学習設定保存部110に保存する。なお、設定入力部101はハードウェアとしては入力部15に相当する。
 学習設定保存部110には、設定入力部101でユーザから受け付けたデータが設定として保存される。図3は学習設定保存部110に保存されるデータの一例である。データは、「設定項目」、「設定内容」、「設定対象」のカラムごとに情報が保存される。「設定内容」が「設定項目」についての設定又は設定値である。「設定対象」が強化学習装置100の対象の処理部である。1行目、2行目には、「設定項目」が{探索量推定部パラメータ}及び{初期探索量}に対する設定が保存され、探索量推定部112で利用される。{探索量推定部パラメータ}としては、α、λ、Cが定められる。3行目には、「設定項目」が{強化学習アルゴリズム名}に対する設定が保存され、エージェントモデル推定部111で利用される。{強化学習アルゴリズム名}により、エージェントモデル推定部111での処理内容を定める強化学習アルゴリズム(以下、単にアルゴリズムと記載するものは強化学習アルゴリズムを指す)を選定する。4、8行目には、各アルゴリズムに対して必要となる「設定項目」が{最大ステップ数}、{エージェントモデル保存頻度}に対する設定が保存される。5~7行目には、「設定項目」が、シミュレーション実行部102の処理内容を選定する{シミュレーション種類名}、{シミュレーション初期化パラメータ}、実行開始時の行動値を示す{初期行動値}に対する設定が保存される。なおこれらの設定は一例であり、学習設定保存部110には適宜、強化学習に必要な設定を保存し得る。学習設定保存部110は、保存された各設定値を、各設定値の設定対象であるシミュレーション実行部102、エージェントモデル推定部111、及び探索量推定部112へそれぞれ送信する。
 シミュレーション実行部102は、入力された行動aに対してシミュレーションを実行する。シミュレーション実行のトリガとなる行動aの入力は、初期動作時には学習設定保存部110から初期行動値を受信し、初期行動値を行動aとする。初期動作時以外は、行動決定部113から行動aを受信する。シミュレーション実行部102は、シミュレーションの実行により、シミュレーションの結果観測される状態s(次の状態s)と、状態に対して定義される報酬rと、フラグdを出力し、これらの出力をエージェントモデル推定部111へ送信する。フラグdはシミュレーションが終了しシミュレーション環境をリセットするべきかどうかを示す真偽値である。
 シミュレーション実行部102の内部アルゴリズムは、学習設定保存部110に保存される{シミュレーション種類名}に応じて設定される。内部アルゴリズムは、例えば、特定の操作に対して画面や状態が遷移することを特徴とするビデオゲーム又はボードゲームに相当するものや、シミュレータを利用することができる。シミュレータは、あらかじめユーザが用意した特定の状態に対して機器を操作した場合の状態変化を再現するものであり、例えば、空調を制御した場合の室内の温湿度変化を再現するシミュレータを利用できる。なお、シミュレーション実行部102と同じ入出力を持つ実環境が存在する場合、実環境を用いてもよい。実環境は、例えば、空調を制御できる建物があり、室内の温湿度変化をセンサ等により計測しデータを収集することができる環境である。
 エージェントモデル推定部111は、シミュレーション実行部102から送信された出力(状態s、報酬r、及びフラグd)を受け付け、行動決定部113から送信された前回試行の行動aを受け付ける。また、エージェントモデル推定部111は、学習設定保存部110に保存されている各種設定値を読み込み、モデル保存部103に保存されるエージェントモデルを抽出する。
 エージェントモデル推定部111は、シミュレーション実行部102から取得した状態sをエージェントモデルに入力し、エージェントモデルの出力の一部として方策πを取得する。エージェントモデル推定部111は、取得された方策πを行動決定部113に送信する。また、エージェントモデル推定部111は、状態s、報酬r、フラグd、及び行動aを抽出したエージェントモデルへ入力し、エージェントモデルを更新する。ここでエージェントモデルの更新に用いられる状態sは、後述するように次の時刻(試行)についての次の状態sであり、当該次の状態sに応じた報酬r、及びフラグdである。また、行動aは方策π取得後に更新されたものである。エージェントモデルの計算に用いる内部アルゴリズム(強化学習アルゴリズム)は、学習設定保存部110に保存される{強化学習アルゴリズム名}により定義される。強化学習アルゴリズムは既存技術を用いればよく、連続値行動を対象とするアルゴリズムを用いればよい。アルゴリズムにより定義されるエージェントモデルは、関数又はニューラルネットワークの様態であり、それらのハイパーパラメータやニューラルネットワークの重み係数は各アルゴリズムにより定義される方法で更新される。アルゴリズムによっては、エージェントモデル推定部内で、状態s、報酬r、及び行動aの履歴を保存し、モデルの更新に利用する場合もある。アルゴリズムにより定義されるエージェントモデルの更新が実行された場合又は学習設定保存部110にエージェントモデルの保存頻度が記載される場合には、エージェントモデル推定部111は、その設定値に基づき、更新されたエージェントモデルをモデル保存部103に送信する。
 探索量推定部112は、シミュレーション実行部102から送信された報酬rを受け付け、報酬rをもとに、例えば式(1)から予測報酬rpredを更新する。式(1)のパラメータαは予測報酬の学習率であり、学習設定保存部110に保存される{探索量推定パラメータ}の設定値を利用する。また、右辺のrpredは更新前の予測報酬である。なお、右辺のrpredの初期値として0などの任意の値を利用する。

                                   ・・・(1)
 次に、探索量推定部112は、予測報酬rpredをもとに式(2)から探索量σを決定し、行動決定部113へ送信する。なお、式(2)のパラメータλ及びCは学習設定保存部110に保存される{探索量推定パラメータ}の設定値を利用する。

                                   ・・・(2)
 式(1)及び式(2)は、動物及び人間の運動学習における運動のばらつきを動的に調整するモデルを簡略化したものである。
 行動決定部113は、エージェントモデル推定部111から送信された方策πと、探索量推定部112から出力された探索量σに基づいて、次の試行の行動aを算出して決定し、シミュレーション実行部102へ行動aを送信する。
 ここで、方策πが平均μ、分散σの正規分布を表す場合、行動aの確率密度関数は探索量推定部112から出力される探索量σによって以下式(3)のように表現できる。xは確率変数である。行動aは確率密度関数に応じて確率的に決定される。これにより連続行動空間を対象とした強化学習が行える。

                                   ・・・(3)
 モデル保存部103には、エージェントモデル推定部111において更新されたエージェントモデルが保存される。図4はモデル保存部103に保存されるエージェントモデルのデータの一例である。モデルの保存は原則更新される度に行うとする。学習設定保存部110に{エージェントモデル保存頻度}が記載される場合にはその設定に従う。
 また、エージェントモデル推定部111の学習を途中で中断し再度実行する際に、あらかじめモデル保存部103に同一の{強化学習アルゴリズム名}、同一の{シミュレーション種類名}のモデルが保存されている場合には、ステップ数の大きいモデルを読みだして利用することができる。
 行動保存部104には、行動決定部113から送信された各時刻における行動が保存される。図5は行動保存部104に保存される行動のデータの一例である。
 操作出力部105は行動保存部104に保存された特定の期間の行動を抽出し、対象とする制御器へ制御内容を出力する。
(強化学習装置100の処理フロー)
 次に、強化学習装置100の作用について説明する。図6は、強化学習装置100による強化学習処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から強化学習プログラムを読み出して、RAM13に展開して実行することにより、強化学習処理が行なわれる。
 ステップS100において、CPU11は、エージェントモデル及び探索量を初期化する。初期化は、エージェントモデルはエージェントモデル推定部111で行い、探索量は探索量推定部112で行う。
 エージェントモデル推定部111では、学習設定保存部110に保存された{強化学習アルゴリズム名}等の設定項目をもとにエージェントモデルを初期化する。モデル保存部103において、学習設定保存部110に保存された{強化学習アルゴリズム名}及び{シミュレーション種類名}の組み合わせに該当するモデルがすでに存在する場合は、該当するモデルのうちステップ数が大きいものをエージェントモデルの重みとして読み出す。ここで、モデル保存部103に保存されるモデルを読み出した場合は、現在のステップ数を保存されたモデルのステップ数により定義する。モデル保存部103に保存されるモデルを読み出さない場合は、現在のステップ数を0とする。現在のステップ数はエージェントモデル推定部111内部に保存する。
 また、探索量推定部112では、学習設定保存部110に保存された{探索量推定パラメータ}及び{初期探索量}を抽出する。探索量として初期探索量の値を用いるように初期化する。
 ステップS102において、CPU11は、シミュレーション実行部102におけるシミュレータを初期化し、状態sを取得する。
 シミュレーション実行部102では、学習設定保存部110に保存された{シミュレーション種類名}及び{シミュレーション初期化パラメータ}を読み出し、シミュレーション種類名に該当するシミュレーション環境を、シミュレーション初期化パラメータを用いて初期化する。シミュレーション実行部102は初期化により、初期状態sを出力し、エージェントモデル推定部に出力する。また、状態sはシミュレーション実行部102内部に保存される。
 ステップS104において、CPU11は、エージェントモデル推定部111として、シミュレーション実行部102から取得した状態sをエージェントモデルに入力し、方策πを出力として取得する。
 ステップS106において、CPU11は、行動決定部113として、エージェントモデル推定部111から出力された方策πと、探索量推定部112で定義された探索量σとに基づいて、行動aを算出し、決定する。行動aはシミュレーション実行部102と行動保存部104に出力されるとともにエージェントモデル推定部111の内部にも保存される。
 ステップS108において、CPU11は、エージェントモデル推定部111に保存される現在のステップに1を加算する。
 ステップS110において、CPU11は、シミュレーション実行部102として、次の状態sと、報酬rと、フラグdとを取得する。シミュレーション実行部102では、行動決定部113から取得された行動aとシミュレーション実行部102内部に保存された状態sをもとに、次の時刻(次の試行)についての次の状態sを取得する。またシミュレーション実行部102では、当該次の状態sの取得と共に、当該次の状態sに応じて、報酬rと、シミュレーション実行が終了したかどうかを示すフラグdとを算出する。
 ステップS112において、CPU11は、エージェントモデル推定部111として、エージェントモデルを更新する。更新は、シミュレーション実行部102から取得した状態s、報酬r、及びフラグdと、エージェントモデル推定部111内部に保存される行動aとに基づいて、{強化学習アルゴリズム名}に応じて実行する。更新されたエージェントモデルは{エージェントモデル保存頻度}に記載の頻度に該当する場合にモデル保存部103に保存する。
 なお、強化学習アルゴリズムの種類によっては、毎度のシミュレーション実行の度にエージェントモデルを更新する場合と、モデル更新を行わずに複数回おきにまとめて更新を行う場合がある。{強化学習アルゴリズム名}に登録されたアルゴリズム名が複数回おきにまとめて更新を行うアルゴリズムである場合は、更新せずにエージェントモデル推定部111内部に保存する。つまり、アルゴリズムにより定義される更新タイミング以外の場合は、エージェントモデルの更新処理は行わず、代わりにシミュレーション実行部102から取得した状態s、報酬r、及びフラグdをエージェントモデル推定部111内部に保存する。アルゴリズムにより定義される更新タイミングの際には、エージェントモデル推定部111内部に保存された状態s、報酬r、フラグd、及び行動aの履歴をもとにエージェントモデルの更新をおこなう。
 ステップS114において、CPU11は、探索量推定部112として、シミュレーション実行部102から取得した報酬rから求まる予測報酬と探索量推定部112内部に保存される前の時刻における探索量σに基づいて、探索量を更新する。探索量の更新は、上記式(1)の予測報酬の算出及び式(2)の探索量σの算出により行う。更新された探索量は探索量推定部112の内部に保存し、行動決定部113の動作の際に利用する。このように探索量を更新することで、報酬量が少ない場合に探索空間を広げるように更新が行える。
 ステップS116において、CPU11は、シミュレーション実行部102におけるフラグdがTrue又はFalseの何れであるかを判定する。Trueの場合には、ステップS102のシミュレーション実行部102の初期化を実行し、その後の後続処理を再度実行する。フラグdがFalseの場合はステップS118へ移行する。Falseであることが本開示のフラグに関する所定の条件を満たすことの一例である。
 ステップS118において、CPU11は、エージェントモデル推定部111に保持される変数である現在のステップが、学習設定保存部110に保存される最大ステップ数を超えるか否か判定する。超えない場合は、ステップS104以降の処理を再度実行し、超える場合はすべての処理を終了する。最大ステップ数を超えることが本開示の設定に関する所定の条件を満たすことの一例である。
 以上説明したように本実施形態の強化学習装置100によれば、連続行動空間を対象とした強化学習において、予測報酬に応じて探索空間を動的に調整できる。これにより、報酬が多く得られる状況では探索空間を広げずに学習収束までの時間を短縮し、一方、報酬が得られない状況では探索空間を広げることで局所解に陥ることなく最適な制御を実現することができる。
 一般的に報酬が多く得られる状況では、現状の方策でも良い制御を実行できるため、広範囲な探索をする需要は低く、反対に報酬が得られない状況では、良い制御を実行できないため、広範囲に探索をする必要がある。本開示の手法では、探索空間を予測報酬に応じて動的に調整することで、報酬の得られない方策に陥った場合に探索空間を拡大し、広範囲の行動を試行することで局所解から脱して最適解を探索する。
 本開示の手法によれば、連続行動空間を対象とした強化学習で、効率的に探索をおこなうことで学習収束までの時間を短縮することができ、第1の課題を解決できる。また、報酬量が少ない場合に探索空間を広げることで、局所解に陥らずより報酬を獲得できる方策を学習することができ、第2の課題を解決できる。
(種々の産業分野への活用)
 本開示における強化学習装置100を用いた手法は、種々の産業分野に利用できるため活用例を挙げて各ケースを説明する。
<空調制御に利用する場合>
 本利用形態の場合、シミュレーション実行部102として気象データ、来館者人数、過去の室温、空調制御データ等を入力として将来の室温変化及び熱消費量を予測するシミュレータを利用し、行動として空調制御の設定値を扱う。これにより、快適さを保ちながら省エネ性を実現する最適な空調制御を学習するエージェントモデルを作成することができる。
 シミュレーション実行部102での温度予測については、各種データを入力とし、室温を出力とするニューラルネットワークや回帰モデルを利用することで実現できる。また、熱消費量予測については、気象データや来館者人数、空調機の設定値を入力とし必要熱量を予測する回帰モデルを利用することで実現できる。また、これらを組み合わせて利用することもできる。
 このとき、シミュレーション実行部102は、気象データや来館者人数、過去の室温、空調制御履歴などの各種センサ等から取得されたデータを内部に保持している(これを環境データと定義する)。また、シミュレーション実行部102は、これらの環境データを利用して将来時刻の環境変化を再現するモデルと空調制御にともない空調機器で消費される熱量(熱消費量)を推定するモデルをあらかじめ学習していることとする。また、推定された温湿度と熱消費量に基づいて、これらの値が快適かつ省エネかを評価するルールはあらかじめ定められているとする。
 なお、ステップS100ついては上記処理フローの説明の通りである。ステップS102については、シミュレーション実行部102において、学習設定保存部110に登録されている{シミュレーション種類名}及び{シミュレーション初期化パラメータ}を読み出す。ここで、空調制御に利用する場合は、気象、来館者人数、過去の室温、空調制御に応じて将来の室温変化を予測するシミュレータの名前(例:室内温湿度再現env)を指定する。{シミュレーション初期化パラメータ}に応じてシミュレーション実行部102を初期化する。例えば、環境データが存在しシミュレーション実行可能な日付のなかから1日をランダムに選定し、シミュレーション初期化パラメータで指定された時刻tにより、当該日付の時刻tから室内温湿度再現を行うために必要な環境データをロードし、シミュレーション実行部102内に保持する。また、当該日付の時刻tから熱消費量推定に必要な環境データも同様にロードし、シミュレーション実行部102内に保持する。初期状態として、時刻tの室内温湿度データを取得し、エージェントモデル推定部111に出力する。
 ステップS104、S108、S112以降については上記処理フローの説明の通りである。
 ステップS106については、上記処理フローの説明の通りである。ここで行動aとは、ある時刻における空調制御方法を示すものであり、図4のように各空調機器に対する設定値を示すものである。ステップS110については、シミュレーション実行部102において、次の時刻(例えば10分後)の室内温湿度を予測する。室内温湿度は、行動決定部113から取得された行動a(つまりは空調制御方法)とシミュレーション実行部102にて保存される状態s及びあらかじめロードされている環境データをもとに予測する。また、空調制御にともない空調機器で消費される熱量について、状態s及びあらかじめロードされている環境データを用いて推定する。室内温湿度を表す状態s及び予測消費熱量から、あらかじめ定められた快適さと省エネ性の観点で良い状態かどうかを評価するルールに基づき、報酬を決定する。シミュレーションを行った時刻が当該日付のうちデータが存在する最後の時刻である場合は、シミュレーションが終了したかどうかのフラグdをTrueとし、これ以外の場合はFalseとする。状態sと報酬r、フラグdをエージェントモデル推定部111及び探索量推定部112に出力する。
<ロボット等の機器制御に利用する場合>
 本利用形態の場合、シミュレーション実行部102として機器の状態を示す情報と機器操作を入力として将来の機器の状態を予測するシミュレータを利用し、行動として機器の操作コマンド(モーターの動作や機器の移動指示)を扱う。機器の状態を示す情報は関節の角度や速度、ロボットの位置情報などである。これにより目的の動作を実現する最適な機器制御を学ぶエージェントモデルを作成することができる。このとき、シミュレーション実行部102は、事前に計測されたデータから機器状態の変化をあらかじめ予測できるように学習済みであるか、物理シミュレータにより機器状態の変化を予測できるとする。また、目的の動作であることを評価するルールはあらかじめ定められているとする。
 なお、ステップS100ついては上記処理フローの説明の通りである。ステップS102については、シミュレーション実行部102において、学習設定保存部110に登録されている{シミュレーション種類名}及び{シミュレーション初期化パラメータ}を読み出す。ここで、ロボット制御に利用する場合は、前状態と機器操作から次状態を予測するシミュレータの名前(例:ロボットアームenv)を指定する。{シミュレーション初期化パラメータ}に応じてシミュレーション実行部102を初期化する。
 ステップS104、S108、S112以降については上記処理フローの説明の通りである。
 ステップS106については、上記処理フローの説明の通りである。ここで行動aとは、ある時刻における機器制御方法を示すものである。ステップS110については、シミュレーション実行部102において、次の時刻(例えば1秒後)の状態変化を予測する。状態変化は、行動決定部113から取得された行動a(つまりは機器制御方法)とシミュレーション実行部にて保存される状態s及びあらかじめロードされている環境データをもとに予測する。また、あらかじめ定められた目的の動作であることを評価するルールに基づき、報酬を決定する。シミュレーションをおこなった結果、動作の失敗によりシミュレーションが終了した場合は、シミュレーション終了したかのフラグdをTrueとし、これ以外の場合はFalseとする。状態sと報酬r、終了フラグdをエージェントモデル推定部及び探索量推定部に出力する。動作の失敗とは、例えば、ロボットアームで物体を運ぶ際に、物体を落としてしまう、移動するロボットが操作対象エリアより外に出てしまう等である。
<ゲームの操作に利用する場合>
 本利用形態の場合、シミュレーション実行部102として状態を示す情報(ゲーム画面など)とゲーム操作を入力として状態が遷移するゲームをシミュレータとして利用し、行動としてゲーム操作を扱う。これにより高得点を得られるゲーム操作を学ぶエージェントモデルを作成することができる。このとき、ゲームのルールはあらかじめ定められており、報酬として取得できることを前提とする。
 なお、ステップS100ついては上記処理フローの説明の通りである。ステップS102においては、シミュレーション実行部102において、学習設定保存部110に登録されている{シミュレーション種類名}及び{シミュレーション初期化パラメータ}を読み出す。ここで、ゲーム操作に利用する場合は、シミュレータ(ゲーム)の名前(例:ブロック崩しenv)を指定する。{シミュレーション初期化パラメータ}に応じてシミュレーション実行部を初期化する。
 ステップS104、S108、S112以降については上記処理フローの説明の通りである。
 ステップS106については、上記処理フローの説明の通りである。ここで行動aとは、ある時刻における機器制御方法を示すものである。ステップS110については、シミュレーション実行部102において、行動決定部113から取得された行動a(つまりはゲーム操作)をもちいてゲームを実行し、次の時刻(例えば1フレーム後)の状態変化を得る。また、あらかじめ定められたゲームのルールに基づき報酬を取得する。シミュレーションを行った結果、ゲームオーバー等によりシミュレーション(ゲーム実行)が終了した場合は、シミュレーション終了したかのフラグdをTrueとし、これ以外の場合はFalseとする。状態sと報酬r、終了フラグdをエージェントモデル推定部及び探索量推定部に出力する。
 以上が活用例の説明である。
 なお、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した強化学習処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、GPU(Graphics Processing Unit)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、強化学習処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記実施形態では、強化学習プログラムがストレージ14にあらかじめ記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 以上の実施形態に関し、更に以下の付記を開示する。
 (付記項1)
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 連続行動空間を対象とした強化学習を行う強化学習装置であって、
 シミュレーション及びエージェントモデルについてあらかじめ定められた設定が保存されており、
 前記強化学習における前記設定に基づくシミュレーションでは、あらかじめ定義された行動を入力として、次の試行における状態と、当該状態に応じた報酬と、シミュレーション実行が終了したかどうかを示すフラグとが取得されるようになっており、
 前記シミュレーションにより取得された前記状態を前記エージェントモデルに入力し、方策を取得し、
 前記方策と、あらかじめ定義された探索量とに基づいて、前記行動を算出し、
 更に、前記状態と、前記報酬と、前記フラグと、前記行動とに基づいて、前記エージェントモデルの前記設定に応じて、前記エージェントモデルを更新し、
 前記報酬に対して求まる予測報酬と、前の試行における前記探索量とに基づいて、前記探索量を更新し、
 前記フラグ及び前記設定に応じた所定の条件を満たすまで、前記行動の算出、前記エージェントモデルの更新、及び前記探索量の更新を繰り返す、
 ように構成されている強化学習装置。
 (付記項2)
 強化学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
 前記プログラムは連続行動空間を対象とした強化学習を行う強化学習プログラムであって、
 シミュレーション及びエージェントモデルについてあらかじめ定められた設定が保存されており、
 前記強化学習における前記設定に基づくシミュレーションでは、あらかじめ定義された行動を入力として、次の試行における状態と、当該状態に応じた報酬と、シミュレーション実行が終了したかどうかを示すフラグとが取得されるようになっており、
 前記シミュレーションにより取得された前記状態を前記エージェントモデルに入力し、方策を取得し、
 前記方策と、あらかじめ定義された探索量とに基づいて、前記行動を算出し、
 更に、前記状態と、前記報酬と、前記フラグと、前記行動とに基づいて、前記エージェントモデルの前記設定に応じて、前記エージェントモデルを更新し、
 前記報酬に対して求まる予測報酬と、前の試行における前記探索量とに基づいて、前記探索量を更新し、
 前記フラグ及び前記設定に応じた所定の条件を満たすまで、前記行動の算出、前記エージェントモデルの更新、及び前記探索量の更新を繰り返す、
 非一時的記憶媒体。
100 強化学習装置
100 学習装置
101 設定入力部
102 シミュレーション実行部
103 モデル保存部
104 行動保存部
105 操作出力部
110 学習設定保存部
111 エージェントモデル推定部
112 探索量推定部
113 行動決定部

Claims (6)

  1.  連続行動空間を対象とした強化学習を行う強化学習装置であって、
     シミュレーション及びエージェントモデルについてあらかじめ定められた設定が保存されており、
     前記強化学習における前記設定に基づくシミュレーションでは、あらかじめ定義された行動を入力として、次の試行における状態と、当該状態に応じた報酬と、シミュレーション実行が終了したかどうかを示すフラグとが取得されるようになっており、
     前記シミュレーションにより取得された前記状態を前記エージェントモデルに入力し、方策を取得するエージェントモデル推定部と、
     前記方策と、あらかじめ定義された探索量とに基づいて、前記行動を算出する行動決定部と、
     前記探索量を推定するための探索量推定部とを含み、
     前記エージェントモデル推定部は、前記状態と、前記報酬と、前記フラグと、前記行動とに基づいて、前記エージェントモデルの前記設定に応じて、前記エージェントモデルを更新し、
     前記探索量推定部は、前記報酬に対して求まる予測報酬と、前の試行における前記探索量とに基づいて、前記探索量を更新し、
     前記フラグ及び前記設定に応じた所定の条件を満たすまで、前記行動の算出、前記エージェントモデルの更新、及び前記探索量の更新を繰り返す、
     強化学習装置。
  2.  前記探索量推定部は、前記設定に定めた予測報酬の学習率のパラメータと、前記報酬とに基づいて前記予測報酬を算出し、算出した前記予測報酬と前記設定における探索量推定のためのパラメータとに基づいて探索量を更新する請求項1に記載の強化学習装置。
  3.  前記行動決定部により決定される前記行動は、確率変数と、前記方策が表す、正規分布の平均及び分散とを用いた確率密度関数に応じて確率的に決定される請求項1又は請求項2に記載の強化学習装置。
  4.  前記行動は、空調制御方法である請求項1又は請求項2に記載の強化学習装置。
  5.  連続行動空間を対象とした強化学習を行う強化学習方法であって、
     シミュレーション及びエージェントモデルについてあらかじめ定められた設定が保存されており、
     前記強化学習における前記設定に基づくシミュレーションでは、あらかじめ定義された行動を入力として、次の試行における状態と、当該状態に応じた報酬と、シミュレーション実行が終了したかどうかを示すフラグとが取得されるようになっており、
     前記シミュレーションにより取得された前記状態を前記エージェントモデルに入力し、方策を取得し、
     前記方策と、あらかじめ定義された探索量とに基づいて、前記行動を算出し、
     更に、前記状態と、前記報酬と、前記フラグと、前記行動とに基づいて、前記エージェントモデルの前記設定に応じて、前記エージェントモデルを更新し、
     前記報酬に対して求まる予測報酬と、前の試行における前記探索量とに基づいて、前記探索量を更新し、
     前記フラグ及び前記設定に応じた所定の条件を満たすまで、前記行動の算出、前記エージェントモデルの更新、及び前記探索量の更新を繰り返す、
     処理をコンピュータに実行させる強化学習方法。
  6.  連続行動空間を対象とした強化学習を行う強化学習プログラムであって、
     シミュレーション及びエージェントモデルについてあらかじめ定められた設定が保存されており、
     前記強化学習における前記設定に基づくシミュレーションでは、あらかじめ定義された行動を入力として、次の試行における状態と、当該状態に応じた報酬と、シミュレーション実行が終了したかどうかを示すフラグとが取得されるようになっており、
     前記シミュレーションにより取得された前記状態を前記エージェントモデルに入力し、方策を取得し、
     前記方策と、あらかじめ定義された探索量とに基づいて、前記行動を算出し、
     更に、前記状態と、前記報酬と、前記フラグと、前記行動とに基づいて、前記エージェントモデルの前記設定に応じて、前記エージェントモデルを更新し、
     前記報酬に対して求まる予測報酬と、前の試行における前記探索量とに基づいて、前記探索量を更新し、
     前記フラグ及び前記設定に応じた所定の条件を満たすまで、前記行動の算出、前記エージェントモデルの更新、及び前記探索量の更新を繰り返す、
     処理をコンピュータに実行させる強化学習プログラム。
PCT/JP2022/011121 2022-03-11 2022-03-11 強化学習装置、強化学習方法、及び強化学習プログラム WO2023170973A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/011121 WO2023170973A1 (ja) 2022-03-11 2022-03-11 強化学習装置、強化学習方法、及び強化学習プログラム
JP2024505854A JPWO2023170973A1 (ja) 2022-03-11 2022-03-11

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/011121 WO2023170973A1 (ja) 2022-03-11 2022-03-11 強化学習装置、強化学習方法、及び強化学習プログラム

Publications (1)

Publication Number Publication Date
WO2023170973A1 true WO2023170973A1 (ja) 2023-09-14

Family

ID=87936387

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/011121 WO2023170973A1 (ja) 2022-03-11 2022-03-11 強化学習装置、強化学習方法、及び強化学習プログラム

Country Status (2)

Country Link
JP (1) JPWO2023170973A1 (ja)
WO (1) WO2023170973A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013225192A (ja) * 2012-04-20 2013-10-31 Nippon Telegr & Teleph Corp <Ntt> 報酬関数推定装置、報酬関数推定方法、およびプログラム
US20200113017A1 (en) * 2018-10-05 2020-04-09 Airspan Networks Inc. Apparatus and method for configuring a communication link
US20200110964A1 (en) * 2018-10-04 2020-04-09 Seoul National University R&Db Foundation Method and device for reinforcement learning using novel centering operation based on probability distribution
CN111782871A (zh) * 2020-06-18 2020-10-16 湖南大学 基于时空强化学习的跨模态视频时刻定位方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013225192A (ja) * 2012-04-20 2013-10-31 Nippon Telegr & Teleph Corp <Ntt> 報酬関数推定装置、報酬関数推定方法、およびプログラム
US20200110964A1 (en) * 2018-10-04 2020-04-09 Seoul National University R&Db Foundation Method and device for reinforcement learning using novel centering operation based on probability distribution
US20200113017A1 (en) * 2018-10-05 2020-04-09 Airspan Networks Inc. Apparatus and method for configuring a communication link
CN111782871A (zh) * 2020-06-18 2020-10-16 湖南大学 基于时空强化学习的跨模态视频时刻定位方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Actor-Critic Algorithm Using Appropriateness History For Actor: Reinforcement Learning Under Incomplete Value-Function", ARTIFICIAL INTELLIGENCE, vol. 15, no. 2, 2000, pages 267 - 275
GABRIEL DULAC-ARNOLD; DANIEL MANKOWITZ; TODD HESTER: "Challenges of Real-World Reinforcement Learning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 29 April 2019 (2019-04-29), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081268717 *
KOBAYASHI, TAISUKE: "Machine Learning and Control: Reinforcement Learning in Continuous Action Space", JOURNAL OF THE SOCIETY OF INSTRUMENT AND CONTROL ENGINEERS, vol. 58, no. 10, 10 October 2019 (2019-10-10), pages 806 - 810, XP009548991, ISSN: 0453-4662, DOI: 10.11499/sicejl.58.806 *
KOICHIRO MORIHAYATO YAMANA: "Kyoka-gakushu heiretsuka ni yoru gakushu no kosokuka (in Japanese) (Accelerating Learning by Reinforcement Learning Parallelization", IPSJ SIG TECHNICAL REPORTS, INTELLIGENCE AND COMPLEX SYSTEM (ICS, 2004, pages 89 - 94

Also Published As

Publication number Publication date
JPWO2023170973A1 (ja) 2023-09-14

Similar Documents

Publication Publication Date Title
Hao et al. Exploration in deep reinforcement learning: From single-agent to multiagent domain
Wang et al. Multi-population following behavior-driven fruit fly optimization: A Markov chain convergence proof and comprehensive analysis
US20230131283A1 (en) Method for generating universal learned model
JP7279445B2 (ja) 予測方法、予測プログラムおよび情報処理装置
Abed-Alguni et al. A comparison study of cooperative Q-learning algorithms for independent learners
Duell et al. Solving partially observable reinforcement learning problems with recurrent neural networks
CN110481536A (zh) 一种应用于混合动力汽车的控制方法及设备
CN112016678B (zh) 用于增强学习的策略生成网络的训练方法、装置和电子设备
Ma et al. A novel APSO-aided weighted LSSVM method for nonlinear hammerstein system identification
Hafez et al. Topological Q-learning with internally guided exploration for mobile robot navigation
Wu et al. Torch: Strategy evolution in swarm robots using heterogeneous–homogeneous coevolution method
JP2018528511A (ja) 生産システムにおける出力効率の最適化
Pan et al. Additional planning with multiple objectives for reinforcement learning
Hafez et al. Efficient intrinsically motivated robotic grasping with learning-adaptive imagination in latent space
JP6947029B2 (ja) 制御装置、それを使用する情報処理装置、制御方法、並びにコンピュータ・プログラム
WO2023170973A1 (ja) 強化学習装置、強化学習方法、及び強化学習プログラム
CN115453860A (zh) 环境参数控制设备集群控制方法、装置、设备及存储介质
CN117478538A (zh) 一种基于深度强化学习的物联网设备探测与控制方法
Tan et al. Q-learning with heterogeneous update strategy
Du et al. Reinforcement learning
Fu et al. Federated Reinforcement Learning for Adaptive Traffic Signal Control: A Case Study in New York City
Du et al. A novel locally regularized automatic construction method for RBF neural models
Li et al. A novel estimation of distribution algorithm using graph-based chromosome representation and reinforcement learning
Ansari et al. Language expansion in text-based games
Chandak et al. Equilibrium bandits: Learning optimal equilibria of unknown dynamics

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2024505854

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2022930953

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022930953

Country of ref document: EP

Effective date: 20241011