WO2018150654A1 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
WO2018150654A1
WO2018150654A1 PCT/JP2017/040356 JP2017040356W WO2018150654A1 WO 2018150654 A1 WO2018150654 A1 WO 2018150654A1 JP 2017040356 W JP2017040356 W JP 2017040356W WO 2018150654 A1 WO2018150654 A1 WO 2018150654A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
reward
input
learning
annotation
Prior art date
Application number
PCT/JP2017/040356
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 JP2018567988A priority Critical patent/JPWO2018150654A1/ja
Priority to EP17896366.6A priority patent/EP3584750A4/en
Priority to US16/475,540 priority patent/US20190332951A1/en
Publication of WO2018150654A1 publication Critical patent/WO2018150654A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/46Computing the game score
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/422Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle automatically for the purpose of assisting the player, e.g. automatic braking in a driving game

Definitions

  • the present disclosure relates to an information processing apparatus, an information processing method, and a program.
  • the present invention relates to an information processing apparatus, an information processing method, and a program that realize efficient data processing by machine learning.
  • machine learning is known as a process for causing an information processing apparatus such as a robot or an agent to perform optimal data processing or autonomous control.
  • an information processing apparatus such as a robot or an agent to perform optimal data processing or autonomous control.
  • various methods for machine learning there are a plurality of different algorithms such as supervised learning, unsupervised learning, reinforcement learning, and the like.
  • Supervised learning is a learning method in which a label (teacher data) consisting of a set of tasks and their correct answers is prepared in advance, and learning based on these labels is performed to learn a process for obtaining correct answers for the tasks. It is.
  • Reinforcement learning is a learning method using three elements of state, action, and reward, and an information processing apparatus such as an agent (robot) is in a certain state.
  • an action is performed, if the action is correct, a process of giving a reward is repeated, so that an optimal action in various states, that is, a correct action It is a technique to learn.
  • One typical reward setting example is a setting in which one reward is given when the process end state (goal) in which the final purpose is completed is reached from the process start state (start).
  • various branch points for example, a plurality of actions can be selected from the process start state to the process end state.
  • An agent can take different actions at each branch point. If an agent (robot) repeats an action that is not correct, it takes a lot of time to reach the final goal. Cost. That is, the problem that learning efficiency falls occurs.
  • Non-Patent Document 1 Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation
  • Non-Patent Document 1 uses a learning program in which a subgoal is set in advance as a point for rewarding in the course from a process start state (start) to a process end state (goal) in which the final purpose is completed.
  • a learning processing configuration is disclosed.
  • An information processing apparatus such as an agent (robot) is caused to execute a learning process according to the subgoal setting type reinforcement learning program.
  • An information processing device such as an agent (robot) can advance learning while confirming correct actions at multiple points in the middle from the start to the end. As a result, it takes time to reach the final goal. It can be shortened.
  • Such a subgoal setting learning program can be created only by a programmer who has programming ability and the ability to create a learning program, and can not be created by ordinary users such as ordinary people who lack programming knowledge. Absent.
  • An object is to provide an apparatus, an information processing method, and a program.
  • the first aspect of the present disclosure is: A database that stores information on the state, behavior, and reward related to the processing executed by the processing execution unit; A learning execution unit that executes a learning process according to a reinforcement learning algorithm to which the state, action, and reward information stored in the database is applied; Annotation input unit for inputting annotation information including sub-reward setting information and storing it in the database, The learning execution unit The information processing apparatus executes a learning process in which state information, action, and reward information input from the process execution unit and sub-reward setting information input via the annotation input unit are applied.
  • the second aspect of the present disclosure is: An information processing method executed in an information processing apparatus,
  • the information processing apparatus includes: A database that stores information on the state, behavior, and reward related to the processing executed by the processing execution unit; A learning execution unit that executes a learning process according to a reinforcement learning algorithm to which the state, action, and reward information stored in the database is applied; Annotation input unit for inputting annotation information including sub-reward setting information and storing it in the database,
  • the learning execution unit is an information processing method for executing a learning process in which state information, action, and reward information input from the process execution unit and sub-reward setting information input via the annotation input unit are applied.
  • the third aspect of the present disclosure is: A program for executing information processing in an information processing apparatus;
  • the information processing apparatus includes: A database that stores information on the state, behavior, and reward related to the processing executed by the processing execution unit;
  • a learning execution unit that executes a learning process according to a reinforcement learning algorithm to which the state, action, and reward information stored in the database is applied;
  • Annotation input unit for inputting annotation information including sub-reward setting information and storing it in the database,
  • the program is stored in the learning execution unit.
  • There is a program for executing a learning process that applies state information, action, and reward information input from the process execution unit and sub-reward setting information input via the annotation input unit.
  • the program of the present disclosure is a program that can be provided by, for example, a storage medium or a communication medium provided in a computer-readable format to an information processing apparatus or a computer system that can execute various program codes.
  • a program in a computer-readable format, processing corresponding to the program is realized on the information processing apparatus or the computer system.
  • system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.
  • an apparatus and a method that enable efficient reinforcement learning by inputting an annotation are realized.
  • a database that stores information on the state, behavior, and reward of the processing execution unit, a learning execution unit that executes a learning process according to a reinforcement learning algorithm to which the information stored in the database is applied,
  • An annotation input unit that inputs annotation information including sub-reward setting information and stores it in a database is provided.
  • the learning execution unit executes a learning process to which the state, action, and reward information input from the process execution unit and the sub-reward setting information are applied.
  • the learning execution unit derives an action determination rule for estimating an action to be executed in order to increase the expected reward, and determines an action to be executed by the process execution unit according to the action determination rule.
  • reinforcement learning is one of machine learning techniques.
  • Machine learning algorithms can be broadly classified into supervised learning, unsupervised learning, and reinforcement learning.
  • Supervised learning is a learning method in which a label (teacher data) consisting of a set of tasks and their correct answers is prepared in advance, and learning based on these labels is performed to learn a process for obtaining correct answers for the tasks. It is.
  • a label teacher data
  • unsupervised learning correct data for tasks is not prepared, and the actions taken by information processing devices such as agents (robots) and the results of data processing are verified and the correct and incorrect answers are determined.
  • This is a learning technique for learning a process for obtaining a correct answer to a task by performing clustering as a classification process of the above and sequentially confirming correct processes.
  • reinforcement learning is a learning processing method using three elements of a state, an action, and a reward.
  • the reinforcement learning algorithm will be described with reference to FIG.
  • FIG. 1 shows an information processing system including a learning execution unit 10 and a processing execution unit 20.
  • the learning execution unit 10 and the processing execution unit 20 shown in FIG. 1 can be configured in one information processing apparatus, and can be set as different apparatuses.
  • the learning execution unit 10 performs learning about processing executed in the processing execution unit 20. When the learning proceeds well, the process execution unit 20 can autonomously execute the optimum process.
  • the learning execution unit 10 illustrated in FIG. 1 inputs state information (State (St)) as observation information from the processing execution unit 20.
  • t is time, and state information at time t is expressed as At.
  • the learning execution unit 10 determines an action (action (At)) to be executed by the process execution unit 20 according to the input of the state information (State (St)).
  • a reward (reward (Rt)) corresponding to a state (State (St)) generated by an action (action (At)) performed by the process execution unit 20 is input to the learning execution unit 10.
  • the score at the completion of the game is input to the learning execution unit 10 as a reward (Rt).
  • the difference in score from the previous state is input to the learning execution unit 10 as a reward (Rt).
  • the learning execution unit 10 can recognize that the action (action (At)) is correct by inputting the reward (reward (Rt)). However, when the action (action (At)) executed by the process execution unit 20 is not a correct action, no reward (reward (Rt)) is input to the learning execution unit 10.
  • the input mode of the reward (reward (Rt)) is not limited to the configuration in which the presence / absence of input is determined only by whether the action (action (At)) is correct or incorrect. For example, there is a configuration in which a reward (reward (Rt)) determined according to an evaluation result of goodness of action (action (At)) is input.
  • reinforcement learning is a learning processing method using three elements of a state, an action, and a reward, and an information processing apparatus such as an agent (robot) has a certain state.
  • an information processing apparatus such as an agent (robot) has a certain state.
  • a certain action is performed, if the action is correct or good, a process of giving a reward is repeated, so that the optimum action in various states is obtained.
  • this is a technique for learning correct behavior.
  • the learning execution unit 10 and the processing execution unit 20 are configured by various devices such as a robot that performs a certain work, a PC that executes a certain data processing or game, and a cleaning robot. In any case, some specific processing, for example, processing such as a game and cleaning is made efficient by learning. The process that is the target of the learning process is different depending on the type of the device.
  • FIG. 2 is a diagram for explaining an example in which cleaning, which is processing performed by the cleaning robot 41, is made efficient by learning processing.
  • the cleaning robot 41 cleans a room where various furniture is arranged.
  • the process required for the cleaning robot 41 is a process of completing the cleaning by running all floor portions without furniture, and is required to perform this efficiently, that is, in a short time.
  • the cleaning robot 41 which is an agent, can learn the optimal route to travel for cleaning by learning processing.
  • FIG. 3 is a diagram illustrating an example in which an agent (information processing apparatus) that performs learning processing is a PC 42 that executes Go or shogi.
  • the PC 42 performs Go or Shogi against, for example, players 51 and 52 who are actual persons.
  • the PC 42 advances the game in accordance with a process execution program according to the rules of Go and Shogi. This program can learn the best way to win the game of Go and Shogi through learning process.
  • FIG. 4 is a diagram illustrating an example in which an agent (information processing apparatus) that performs learning processing is a PC 42 that executes a game.
  • the PC 42 executes the game displayed on the display unit.
  • the game scene proceeds from scene 1 to scene 4 as shown in the figure, for example.
  • the character goes up the stairs on the right side in scene 1, In scene 2, ride the cloud in the upper left, Take the star above the clouds in scene 3, return to the stairs, In scene 4, place a star on the tree.
  • Each of these scenes is configured.
  • a high score (high score) can be obtained.
  • This score corresponds to a reward in the reinforcement learning, and by performing learning for increasing the score (reward), the processes of the scenes 1 to 4 can be performed at a higher speed.
  • an agent capable of improving the efficiency and speed of processing by learning processing executes a robot that performs various operations, various data processing, and games.
  • Various devices such as a PC and a cleaning robot are assumed.
  • An agent information processing apparatus
  • An agent can gradually perform an optimal process by learning a process to be executed in order to achieve some purpose by a learning process.
  • the purpose given to the agent differs depending on each agent. For example, if the robot is a cleaning robot, the goal is to complete efficient cleaning in a short time, win if it is Go or Shogi, and if the game is a high score.
  • One typical reward setting example is a setting in which one reward is given when a process end state (goal) that achieves the purpose is reached.
  • a process end state goal
  • various branch points for example, a plurality of actions can be selected, from the process start state to the process end state.
  • An agent (robot) can take different actions at each branch point. If an agent (robot) repeats an action that is not correct, it takes a lot of time to reach the final goal. Problem arises.
  • Non-Patent Document 1 Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation
  • start the process start state
  • process end state the process end state
  • a reinforcement learning processing configuration using a learning program in which a subgoal as a point for giving a reward in the middle is set in advance is disclosed.
  • An information processing apparatus such as an agent or a robot is caused to execute a learning process according to the subgoal setting type reinforcement learning program.
  • Information processing devices such as agents and robots can learn while confirming correct behavior at multiple points from the start to the end, resulting in a shorter time to reach the final goal. It can be done.
  • the learning execution unit 10 described with reference to FIG. 1 is illustrated as the learning execution device 110
  • the processing execution unit 20 described with reference to FIG. 1 is illustrated as the processing execution device 120.
  • These two devices can be configured as a single information processing device, or can be configured as individual devices.
  • a learning execution apparatus 110 illustrated in FIG. 5 is an apparatus that executes the above-described reinforcement learning processing.
  • the process execution device 120 is a device that executes a specific process. For example, if it is a cleaning robot, it is a device that runs and cleans itself. Or it is an apparatus etc. which perform a game by running a game program.
  • 5 includes a database 111, a learning execution unit 112, a behavior determination unit 113, a determination behavior request unit 114, a behavior information input unit 115, a state information input unit 116, and a reward information input unit 117.
  • the learning execution unit 112 of the learning execution device 110 performs learning processing according to the learning algorithm for reinforcement learning described above. Specifically, the expected reward value defined in the reinforcement learning algorithm is maximized by using, for example, time-series state (S), action (A), and reward (R) data stored in the database 111.
  • S time-series state
  • A action
  • R reward
  • a behavior decision rule is derived and a learning process according to the behavior decision rule is performed. That is, a learning process according to the following (Formula 1) that defines the behavior decision rule is performed.
  • s) is a function that returns an optimal strategy in state (s), that is, action (a) to be taken in state (s).
  • T (s, a, s ′) is a function representing a change in state (Transition), and indicates that when action (a) is performed in state (s), the state changes to state (s ′).
  • v (s ′) means the sum of rewards when the state (s ′) is entered.
  • argmax is a function for selecting the maximum value.
  • Equation 1) is a mathematical expression (behavior determination rule) that selects an action a that transitions from the state s to the state s ′ that maximizes the reward sum v (s ′). That is, (Equation 1) is an action determination rule that determines an action (a) that maximizes the expected reward according to various states (s).
  • the state (S), action (A), and reward (R) data of each time (t) is input and accumulated from the process execution device 120 as needed. That is, the database is updated from time to time.
  • the learning execution unit 114 performs, for example, an action determination rule (Equation 1) update process for each data update of the database 111. By this update process, the optimum action according to various states, that is, the optimum action for increasing the reward gradually becomes clear.
  • the behavior determination unit 113 of the learning execution device 110 uses the behavior determination rule indicated by (Equation 1) updated at any time in the learning process in the learning execution unit 112 to perform the next behavior to be executed by the process execution unit 120. decide. That is, the next action is determined according to the action determination rule ⁇ * (a
  • the determined action request unit 114 requests the action execution unit 121 of the process execution device 120 to execute the determined action in order to cause the process execution device 120 to execute the action (A) determined by the action determination unit 113. .
  • action information (At) 101a is output.
  • t is a parameter indicating time.
  • the behavior execution unit 121 of the processing execution device 120 executes the behavior according to the behavior request input from the determined behavior request unit 114 of the learning execution device 110, that is, the behavior according to the behavior information (At) 101a.
  • the behavior information (At) 101b regarding the behavior executed by the behavior execution unit 121 of the processing execution device 120 is input to the behavior information input unit 115 of the learning execution device 110 and stored in the database 111.
  • the process execution device 120 further includes a state information acquisition unit 122 and a reward information acquisition unit 123.
  • the state information acquisition unit 122 of the process execution device 120 acquires the state information (St) 102 that is the state (S) of time (t) as needed, and outputs it to the state information input unit 116 of the learning execution unit 110.
  • the state information input unit 116 of the learning execution unit 110 stores the state information (St) 102 input from the state information acquisition unit 122 of the process execution device 120 in the database 111.
  • the state information acquired by the state information acquisition unit 122 of the process execution device 120 is, for example, information such as position information and travel information (speed, direction) of the cleaning robot when the process execution device 120 is a cleaning robot. It is. Further, when the process execution device 120 is a game execution device, it includes scene information indicating a game scene, character position, running information (speed, direction), and the like.
  • the reward information acquisition unit 123 of the process execution device 120 acquires the reward information (Rt) 103 that is the state (S) of time (t) as needed, and outputs it to the reward information input unit 117 of the learning execution unit 110. .
  • the reward information input unit 117 of the learning execution unit 110 stores the reward information (Rt) 103 input from the reward information acquisition unit 123 of the process execution device 120 in the database 111.
  • the reward information acquired by the reward information acquisition unit 123 of the process execution device 120 is configured by, for example, a game score when the process execution device 120 is a game execution device.
  • the processing execution device 120 is a cleaning robot, for example, evaluation information generated when cleaning is completed. Specifically, it is time information from the start to the end of cleaning, efficiency evaluation information based on route information, and the like.
  • the reward calculation process according to the above (Formula 2) is performed.
  • the reward calculation process according to the above (Formula 3) is performed. Which of the above formulas (Equation 2) and (Equation 3) is applied is defined in advance.
  • the reward (Rt) calculated by the reward calculation unit of the learning execution device 110 is stored in the database 111.
  • the learning execution unit 112 of the learning execution device 110 is defined in the reinforcement learning algorithm using data (state (S), action (A), reward (R)) including data newly stored in the database 111.
  • s) (Formula 1)
  • the learning process according to the above (Formula 1) is performed. By repeating this process, it is possible to predict the action with the highest reward setting and execute the process according to the predicted action.
  • the learning execution device 110 and the processing execution device 120 shown in FIG. 5 will be described with reference to FIG. 5.
  • the learning execution device 110 and the processing execution device 120 can be configured as one information processing device or as individual devices.
  • FIG. 6A illustrates an example in which a learning execution device 110 and a processing execution device 120 are included in a PC 130 that is one information processing device.
  • the PC 130 includes a learning program execution unit that functions as the learning execution device 110, and further includes, for example, a game program execution unit as the processing execution device 120.
  • the game program execution unit executes, for example, the game described above with reference to FIGS. 3 and 4 by executing the game program stored in the storage unit of the PC 130.
  • the execution of the game by the game program execution unit as the processing execution device 120 causes, for example, a change in state such as a character action, a game scene, or a character position.
  • These behavior information and state information are input to the learning execution device 110, which is a learning program execution unit, and learning processing is performed.
  • FIG. 6B is a diagram illustrating an example in which the learning execution device 110 and the processing execution device 120 are configured by individual devices.
  • FIG. 6B shows a cleaning robot 131, a remote controller 132 that controls the operation of the cleaning robot 131, and a smartphone 133.
  • the remote controller 132 or the smartphone 133 functions as a controller that controls the operation of the cleaning robot 131.
  • the remote controller 132 or the smartphone 133 has a learning program execution unit that functions as the learning execution device 110.
  • the cleaning robot 131 has a cleaning program execution unit that functions as the processing execution unit 120. By the execution of cleaning by the cleaning program execution unit as the processing execution device 120, for example, changes in the state of the action, position, travel information, etc. of the cleaning robot occur. These behavior information and state information are input to the remote controller 132 having the learning program execution unit or the smartphone 133, and learning processing is performed.
  • FIG. 7C shows an example in which the learning execution device 110 and the processing execution device 120 are set in the cleaning robot 131.
  • the cleaning robot 131 includes a learning program execution unit that functions as the learning execution device 110 and a cleaning program execution unit that functions as the processing execution unit 120.
  • a learning program execution unit that functions as the learning execution device 110
  • a cleaning program execution unit that functions as the processing execution unit 120.
  • the remote controller 132 and the smartphone 133 have a function as a remote controller when it is desired to perform cleaning according to the user's intention.
  • the learning execution device 110 and the processing execution device 120 described with reference to FIG. 5 can be realized as a single device or as individual devices. In addition to the configuration described with reference to FIGS. 6 and 7, various settings can be made.
  • the processing executed by the processing execution device 120 may be gradually changed to a processing with higher reward set. It can.
  • a problem in the learning process by the reinforcement learning algorithm there is a problem in which state a point for giving a reward is provided.
  • the agent can cause different actions and is not correct. If an action is repeated, it will take a long time to reach the final goal.
  • FIG. 8 is an example in which the learning execution device 110 and the processing execution device 120 are included in the PC 130 described above with reference to FIG. 6A, that is, the PC 130 that is one information processing device.
  • the PC 130 includes a learning program execution unit that functions as the learning execution device 110, and further includes, for example, a game program execution unit as the processing execution device 120.
  • the game program execution unit executes the game shown in FIG.
  • the game shown in FIG. 8 is a game for causing the character 135 at the lower left start position to reach the upper right goal.
  • the character 135 is moved back and forth and back and forth along the route in the scene to reach the upper right goal.
  • This game score becomes a reward in the reinforcement learning process.
  • There is an evil character 136 on the route, and when the collision occurs, the game ends, and score 0 (no reward).
  • the example shown in FIG. 9 is an example in which the goal is reached by a route different from the route shown in FIG.
  • the character 135 is advanced according to the dotted route shown in FIG. 9 to reach the goal, one character is picked up and the goal 135 is reached.
  • the score is lower than the setting shown in FIG. 8 in which three stars are picked up. That is, the reward is reduced.
  • a route for obtaining a higher reward that is, the route illustrated in FIG. Can find out.
  • branch points that is, many points at which a plurality of actions can be selected.
  • the character 135 can take different actions at each branch point, and if the action that is not correct is repeated, as a result, the character 135 has a tremendous amount of time until finding the highest reward route with the highest score. There is a problem that it takes time.
  • a PC 200 that is an example of the information processing apparatus illustrated in FIG. 10 includes a learning execution device and a processing execution device in the PC 200, similarly to the PC 130 described above with reference to FIG. 6A, FIG. 8, and FIG.
  • the PC 200 includes a learning program execution unit that functions as a learning execution device, and further includes a game program execution unit that functions as a processing execution device.
  • the game program execution unit executes the game shown in FIG.
  • the game shown in FIG. 10 is the same game as the game described above with reference to FIGS. 8 and 9, and is a game for causing the character 135 at the lower left start position to reach the upper right goal.
  • the character 135 is moved back and forth and back and forth along the route in the scene to reach the upper right goal.
  • This game score becomes a reward in the reinforcement learning process.
  • There is an evil character on the route, and when the collision occurs, the game ends, and score 0 (no reward).
  • the PC 200 as an example of the information processing apparatus of the present disclosure has a function as an annotation input device in addition to a learning program execution unit that functions as a learning execution device and a game program execution unit that functions as a processing execution device.
  • the annotation is reward setting information that is not originally set in the process execution program, in this example, the game execution program.
  • Reward setting information by annotation is called sub-reward setting information.
  • the reward setting information originally set in the game execution program is referred to as basic reward setting information.
  • the reward (game score) obtained when the character 135 described with reference to FIGS. 8 and 9 reaches the goal is a reward originally set in the game execution program and serves as basic reward setting information.
  • the sub-reward setting information based on the annotation can be freely input and set via the annotation input device by the user 201 who operates the PC 200 which is an example of the information processing device of the present disclosure.
  • the annotation input device is configured in the PC 200.
  • an input unit such as a keyboard or a mouse of the PC 200 functions as an annotation input device.
  • a user 201 can freely input annotations (sub-reward setting information) via an input unit such as a keyboard or a mouse of the PC 200.
  • an input unit such as a keyboard or a mouse of the PC 200.
  • the game screen shown in FIG. 10 is displayed on the display unit of the PC 200, the character 135 is moved, and an annotation (sub-reward setting information) is input when the character 135 moves to a predetermined position.
  • the character 135 at the start position of the game screen shown in FIG. 10 first has two routes: a right route (route marked with a circle) and an upward route (route marked with a cross).
  • a route can be selected.
  • the route in the right direction is a route corresponding to the route (correct answer) for obtaining a high score (high reward) described above with reference to FIG.
  • the user 201 moves the character 135 according to the right direction correct route (circle mark setting route) to reach the branch point (the position of (double circle ⁇ An1) shown in the figure).
  • the dotted line route and the marks “ ⁇ ”, “X”, and “10” shown in FIG. 10 are only shown for explanation, and are not actually displayed on the display screen of the PC 200.
  • the annotation (sub-reward setting information) (An1) 211 is input.
  • the sub-reward is set based on the action of the character 135 according to the correct route.
  • the annotation (sub-reward setting information) (An1) 211 input by the user 201 is registered in the database in the learning execution device.
  • the user 201 moves the character 135 according to the correct route (route shown in FIG. 8), and at the position where each character reaches each branch point, the user 201 sequentially adds annotations (sub-reward setting information) (An2-An9) to the PC 200. Input via an input unit such as a keyboard or mouse.
  • annotations sub-reward setting information (An1 to An9) are sequentially set on the correct route where the highest reward is obtained.
  • the annotations (sub-reward setting information) (An1 to An9) input by these users 201 are registered in the learning execution device and can be used in the learning process in the reinforcement learning process, that is, the action determination process that maximizes the expected reward. Reward information.
  • this annotation (sub-reward setting information) (An1 to An9) it is possible to find an ideal route that can efficiently obtain a high reward in a short time. That is, the efficiency of the reinforcement learning process is realized.
  • annotation (sub-reward setting information) input by the user 201 is output to the learning execution device and stored in the database.
  • the data stored in the database of the learning execution device based on the annotation input by the user is, for example, a combination of state (S), action (A), and reward (R) information at the time of annotation setting.
  • Information is, for example, a combination of state (S), action (A), and reward (R) information at the time of annotation setting.
  • the learning execution device 110 inputs state (S) and behavior (A) information from the processing execution device 120 as needed.
  • the learning execution device 110 corresponds to the sub-reward setting information input from the annotation input device with the latest state (S) and action (A) information at the input timing of the annotation (sub-reward setting information) from the annotation input device. And register it in the database.
  • it is good also as a setting which inputs together at least any information of each information of a state (S) and action (A) with sub reward setting information from an annotation input device.
  • the data registered in the database by the learning execution apparatus in accordance with the annotation input by the user is data including a combination of the state (S), action (A), and sub-reward (R) information at the time of annotation setting.
  • S state
  • A action
  • R sub-reward
  • the state information (S) includes game scene identification information at the time of annotation setting, annotation setting position, and the like.
  • the action information (A) is configured by information on the position of the character at the time of annotation setting and the movement (direction, speed, etc.) of the character.
  • the sub-reward information (R) can be set in various ways, but it is preferable to set the sub-reward information (R) to a smaller reward than the basic setting reward obtained by reaching the final goal.
  • the value of this sub-reward may be defined as a default value in advance, or may be configured so that the user can set it sequentially when the user inputs an annotation.
  • the reward is not limited to a positive reward, and a negative reward may be set.
  • a reward value arbitrarily set by the user can be registered in the database of the learning execution apparatus as a configuration in which an arbitrary reward value, for example, a reward value within a reward range of ⁇ 100 to +100, can be input from the annotation input device. It is good also as a structure.
  • FIG. 11 is the same game as the game described above with reference to FIG.
  • the game scene progresses from scene 1 to scene 4 as shown in the figure.
  • the character goes up the stairs on the right side in scene 1, In scene 2, ride the cloud on the left, Take the star above the clouds in scene 3, return to the stairs, In scene 4, place a star on the tree.
  • Each of these scenes is configured.
  • the PC 42 that executes the game can learn the correct action by the learning process.
  • the basic reward setting information originally set in this game program is a reward (game score) obtained when the character completes the process of placing a star on a tree in the scene 4.
  • the user 201 can perform sub reward setting information other than the basic reward setting information by the annotation input process.
  • the user 201 performs annotation (sub-reward setting information) by an input process via an input unit such as a keyboard or a mouse of the PC 200.
  • the character selects two routes, a correct route that goes up the stairs on the right side (route marked with a circle) and a left route (route marked with a cross). Is possible.
  • the user 201 moves the character according to the correct route ( ⁇ mark setting route) that goes up the stairs on the right side, and reaches the movement completion position or the movement middle position (the position of (double circle ⁇ An1) shown in the figure).
  • an annotation (sub-reward setting information) (An1) 221 is input. That is, the sub-reward is set based on the character's action according to the correct route.
  • the annotation (sub-reward setting information) (An1) 221 input by the user 201 is registered in the learning execution device.
  • the character has two routes, a correct route (a route set with a circle) and a right route (a route set with an x mark) riding on the upper left cloud. Selectable.
  • the user 201 moves the character according to the correct route (circle mark setting route) on the left cloud, and reaches the movement completion position or the movement middle position (the position of (double circle A2) shown in the figure).
  • an annotation (sub reward setting information) (An2) 222 is input. That is, the sub-reward is set based on the character's action according to the correct route.
  • the annotation (sub-reward setting information) (An2) 222 input by the user 201 is registered in the learning execution device.
  • the character is made to reach the positions of the double circles ⁇ An3 and An4 shown in the figure, and annotations (sub-reward setting information) (An3) 223 and (An4) 224 are input. That is, the sub-reward is set based on the character's action according to the correct route.
  • annotations (sub-reward setting information) (An1 to An4) are sequentially set on the correct route where the highest score (high reward) is obtained. .
  • the annotations (sub-reward setting information) (An1 to An4) input by these users 201 are registered in the database of the learning execution device, and in the learning process in the reinforcement learning process, that is, the action determination process that maximizes the expected reward. It becomes the reward information that can be used.
  • FIG. 12 is a diagram illustrating an example of a configuration relationship between the learning execution device 310, the processing execution device 320, and the annotation input device 350.
  • the example illustrated in FIG. 12 is an example in which the learning execution device 310, the processing execution device 320, and the annotation input device 350 are configured in one information processing device, that is, the PC 200.
  • These learning execution device 310, processing execution device 320, and annotation input device 350 can be set as components in one information processing device, or can be configured as individual devices.
  • the annotation input device 350 is configured by an input unit of the PC 200, that is, a keyboard, a mouse, and the like.
  • the user 201 can input annotation information (sub-reward (Rs) setting information) 351 from the annotation input device 350 at an arbitrary timing.
  • annotation information sub-reward (Rs) setting information
  • the input annotation information (sub-reward (Rs) setting information) 351 is input to the learning execution device 310 and stored in the database.
  • the learning execution device 310 further sequentially receives state information (S) 302 and behavior information (A) 301 from the processing execution device 320.
  • the learning execution device 310 includes annotation information (sub-reward (Rs) setting information) 351 input from the annotation input device 350, state information (S) 302 having input timing closest to the input timing of the annotation information 351, action information (A) 301 is stored in the database in association with each other.
  • FIG. 12 The example illustrated in FIG. 12 is an example.
  • state information (S) and behavior information (A) are learned from the annotation input device 250 in addition to the annotation information (sub-reward (Rs) setting information) 351. It is good also as a structure input into the apparatus 110.
  • Rs annotation information
  • FIG. 13 is a diagram illustrating a configuration example of an information processing system (information processing apparatus) according to the present disclosure.
  • the information processing system shown in FIG. 13 includes a learning execution device 310 and a processing execution device 320 as described above with reference to FIG. 5, and further includes an annotation (sub-reward setting information) input device 350. is doing.
  • These three devices can be configured as a single information processing device, or can be configured as individual devices.
  • a learning execution device 310 illustrated in FIG. 13 is a device that executes learning processing according to the reinforcement learning algorithm.
  • the process execution device 320 is a device that executes a specific process. For example, if it is a cleaning robot, it is a device that runs and cleans itself. Or it is an apparatus etc. which perform a game by running a game program.
  • the learning execution device 310 illustrated in FIG. 13 includes the following components. That is, it has a database 311, a learning execution unit 312, a behavior determination unit 313, a determination behavior request unit 314, a behavior information input unit 315, a state information input unit 316, and a basic reward information input unit 317. Furthermore, the learning execution device 310 illustrated in FIG. 13 includes an annotation (sub-reward (Rs) setting information) input unit 318 that is a component not included in the learning execution device 110 described with reference to FIG.
  • Rs sub-reward
  • the learning execution device 310 shown in FIG. 13 receives an annotation (sub-reward setting information) 351 from the annotation (sub-reward setting information) input device 350.
  • the user 201 can input the annotation (sub-reward setting information) 351 from the annotation (sub-reward setting information) input device 350 at an arbitrary timing.
  • the annotation (sub-reward setting information) 351 is remuneration that can be arbitrarily set by the user 201, that is, sub-reward (Rs) setting information, as described above with reference to FIGS.
  • the learning execution device 310 stores the annotation (sub-reward setting information) 351 input from the annotation (sub-reward setting information) input device 350 in the database 311 via the annotation (sub-reward setting information) input unit 318.
  • the data stored in the database 311 of the learning execution device 310 is based on the information described above with reference to FIG. 5 from the combination of the state (S), action (A), and reward (R) information at the time of annotation input. Will be added.
  • the learning execution device 310 receives state information (St) 302, behavior information (At) 301 b, and basic reward information (Rt) 303 from the processing execution device 320 as needed. Each information is input and stored in the database 311.
  • the learning execution device 310 illustrated in FIG. 13 inputs an annotation (sub reward (Rs)) from the annotation (sub reward setting information) input device 350 with an annotation input state (St) and action (At).
  • Setting information) 351 is stored in the database 311 in association with it.
  • the database storage process of these data is executed under the control of the control unit in the learning execution device 310.
  • the reward input from the process execution device 320 is a basic reward (Rt)
  • the reward included in the annotation (sub-reward setting information) 351 input from the annotation (sub-reward setting information) input device 350 is shown separately as the sub-reward (Rs).
  • the learning execution device 310 has only the state information (St) 302, behavior information (At) 301b, and basic reward information (Rt) 303 input from the processing execution device 320.
  • the annotation (sub-reward (Rs) setting information) 351, the timing status information (St) 302, and the behavior information (At) 301b input from the annotation (sub-reward setting information) input device 350 are also stored in the database 311. .
  • the data registered in the database 311 by the learning execution device 310 in response to the input of the annotation 351 by the user 201 includes the state (S), action (A), and reward (R) at the time of annotation setting as described above.
  • Data consisting of a combination of information. Specifically, for example, it is configured by the following data.
  • the state information (S) includes game scene identification information at the time of annotation setting, annotation setting position, and the like.
  • the action information (A) is configured by information on the position of the character at the time of annotation setting and the movement (direction, speed, etc.) of the character.
  • the reward information (R) can be set in various ways, but is set to a reward smaller than the basic setting reward obtained by reaching the final goal.
  • the value of this sub-reward may be defined as a default value in advance, or may be configured so that the user can set it sequentially when the user inputs an annotation.
  • the reward is not limited to a positive reward, and a negative reward may be set.
  • a negative reward may be set in the database of the learning execution apparatus.
  • a reward value arbitrarily set by the user can be registered in the database of the learning execution apparatus as a configuration in which an arbitrary reward value, for example, a reward value within a reward range of ⁇ 100 to +100, can be input from the annotation input device. It is good also as a structure.
  • the learning execution unit 312 of the learning execution device 310 shown in FIG. Do Similar to the learning execution unit 112 of the learning execution device 110 described above with reference to FIG. 5, the learning execution unit 312 of the learning execution device 310 shown in FIG. Do. Specifically, the expected reward value defined in the reinforcement learning algorithm is maximized by using, for example, time-series state (S), action (A), and reward (R) data stored in the database 311.
  • S time-series state
  • A action
  • R reward
  • s) is a function that returns an optimal strategy in state (s), that is, action (a) to be taken in state (s).
  • T (s, a, s ′) is a function representing a change in state (Transition), and indicates that when action (a) is performed in state (s), the state changes to state (s ′).
  • v (s ′) means the sum of rewards when the state (s ′) is entered.
  • argmax is a function for selecting the maximum value.
  • Equation 1) is a mathematical expression (behavior determination rule) that selects an action a that transitions from the state s to the state s ′ that maximizes the reward sum v (s ′). That is, (Equation 1) is an action determination rule that determines an action (a) that maximizes the expected reward according to various states (s).
  • the learning execution unit 314 performs, for example, an action determination rule (formula 1) update process for each data update of the database 311.
  • an action determination rule formula 1
  • the database 311 of the learning execution device 310 shown in FIG. 13 not only the state information (St) 302, the behavior information (At) 301b, and the basic reward information (Rt) 303 input from the processing execution device 320, but also annotations (Sub-reward setting information) Annotation (sub-reward (Rs) setting information) 351, timing information (St) 302, and behavior information (At) 301b input from the input device 350 are also stored. That is, the database 311 stores a data set of a higher density (S), action (A), and reward (R) than the database 111 of the learning execution apparatus 110 illustrated in FIG. 5 described above.
  • the learning execution unit 312 of the learning execution device 310 illustrated in FIG. 13 can perform learning processing using more data (state (S), action (A), reward (R)).
  • state (S) state (S)
  • action (A) action
  • reward (R) reward
  • the learning efficiency is improved, and it becomes possible to find out the optimum action for increasing the reward earlier. That is, in the learning process, learning using the annotation (sub-reward (Rs) setting information) 351 input from the annotation (sub-reward setting information) input device 350 in advance can be performed.
  • the process execution device 320 acts by, for example, autonomous control
  • the sub-reward is obtained when the process execution device 320 is in the same or similar state as the annotation set in advance.
  • the process of determining whether or not the state of the process execution device 320 is similar to the annotation is executed by applying, for example, the state (S) input from the process execution device 320 or the analysis data of the action (A).
  • S state
  • A analysis data of the action
  • processing such as creating and analyzing state metrics is possible.
  • the behavior determination unit 313 of the learning execution device 310 uses the behavior determination rule indicated by (Equation 1) updated at any time in the learning process in the learning execution unit 312 to execute the next behavior to be executed by the process execution unit 320. decide. That is, the next action is determined according to the action determination rule ⁇ * (a
  • the determined action request unit 314 requests the action execution unit 321 of the process execution device 320 to execute the determined action in order to cause the process execution device 320 to execute the action (A) determined by the action determination unit 313. .
  • action information (At) 301a is output.
  • t is a parameter indicating time.
  • the behavior execution unit 321 of the processing execution device 320 executes the behavior according to the behavior request input from the determined behavior request unit 314 of the learning execution device 310, that is, the behavior according to the behavior information (At) 301a.
  • the behavior information (At) 301 b regarding the behavior executed by the behavior execution unit 321 of the process execution device 320 is input to the behavior information input unit 315 of the learning execution device 110 and stored in the database 311.
  • the process execution device 320 further includes a state information acquisition unit 322 and a basic reward information acquisition unit 323.
  • the state information acquisition unit 322 of the process execution device 320 acquires the state information (St) 302 that is the state (S) of time (t) as needed, and outputs it to the state information input unit 316 of the learning execution unit 310.
  • the state information input unit 316 of the learning execution unit 310 stores the state information (St) 302 input from the state information acquisition unit 322 of the process execution device 320 in the database 311.
  • the state information acquired by the state information acquisition unit 322 of the process execution device 320 is, for example, information such as position information and travel information (speed, direction) of the cleaning robot when the process execution device 320 is a cleaning robot. Consists of. Further, when the processing execution device 320 is a game execution device, the processing execution device 320 includes scene information indicating a game scene, character position, running information (speed, direction), and the like.
  • the basic reward information acquisition unit 323 of the process execution device 320 acquires the basic reward information (Rt) 303 that is the state (S) of time (t) as needed, and inputs the basic reward information of the learning execution unit 310. To the unit 317.
  • the basic reward information input unit 317 of the learning execution unit 310 stores the basic reward information (Rt) 303 input from the basic reward information acquisition unit 323 of the process execution device 320 in the database 311.
  • the reward information acquired by the reward information acquisition unit 323 of the process execution device 320 includes, for example, a game score when the process execution device 320 is a game execution device.
  • the processing execution device 320 is a cleaning robot, for example, evaluation information generated upon completion of cleaning. Specifically, it is time information from the start to the end of cleaning, efficiency evaluation information based on route information, and the like.
  • a reward calculation unit is set in the learning execution device 310, and the process execution device
  • the reward may be calculated by applying a preset reward calculation algorithm based on the state information input from 320 and the action information.
  • the reward (Rt) calculated by the reward calculation unit of the learning execution device 310 is stored in the database 311.
  • the database 111 of the learning execution device 310 shown in FIG. Each information of state information (St) 302, action information (At) 301b, basic reward information (Rt) 303 input from the process execution device 320, Furthermore, annotation (sub reward (Rs) setting information) 351 input from the annotation (sub reward setting information) input device 350, timing information (St) 302, action information (At) 301b, These pieces of information are stored.
  • the database 311 stores data sets of higher density (S), behavior (A), and reward (R) than the database 111 shown in FIG.
  • the execution unit 312 can perform a learning process using more data (state (S), action (A), reward (R)). As a result, the learning efficiency is improved, and it becomes possible to identify the optimum action for increasing the reward earlier.
  • the learning execution device 310, the processing execution device 320, and the annotation (sub-reward setting information) input device 350 shown in FIG. 13 are configured as one information processing device as described above with reference to FIG. However, it can also be configured as a separate device. An example of a device configuration as an individual device will be described with reference to FIG.
  • FIG. 14 is a diagram illustrating a configuration example in which the learning execution device 310 and the annotation (sub-reward setting information) input device 350 are one device and the processing execution device 320 is another device.
  • FIG. 14 shows a cleaning robot 405, a smartphone 401 and a remote controller 402 as devices for controlling the operation of the cleaning robot 405.
  • the smartphone 401 or the remote controller 402 functions as a controller that controls the operation of the cleaning robot 405.
  • the smartphone 401 or the remote control 402 includes a learning program execution unit that functions as the learning execution device 310 and an input unit that functions as the annotation (sub-reward setting information) input device 350.
  • annotation (sub reward setting information) input units 403A and 403B are set.
  • an annotation input unit 403a including a [GOOD] button is used when inputting an annotation for which a positive reward is set.
  • the annotation input unit 403b including a [BAD] button is used when inputting an annotation for which a negative reward is set.
  • the cleaning robot 405 includes a cleaning program execution unit that functions as the processing execution unit 420.
  • a cleaning program execution unit that functions as the processing execution unit 420.
  • By the execution of cleaning by the cleaning program execution unit as the processing execution device 420 for example, a change in the state of the behavior, position, running information, etc. of the cleaning robot occurs.
  • These behavior information and state information are input to the smartphone 401 having the learning program execution unit or the remote controller 402, and learning processing is performed.
  • the user can perform an annotation (sub-reward setting information) input process at an arbitrary timing via the input unit of the smartphone 401 or the remote controller 402.
  • This input information is also stored in the database in the learning execution device 310 of the smartphone 401 or the remote controller 402, and is used for subsequent learning processing.
  • FIG. 15 shows a configuration in which the learning execution device 310 and the processing execution device 320 are set in the cleaning robot 405, and the smartphone 401 or the remote control 402 is set as the annotation (sub-reward setting information) input device 350. .
  • the cleaning robot 405 includes a learning program execution unit that functions as the learning execution device 310 and a cleaning program execution unit that functions as the processing execution unit 320.
  • a learning program execution unit that functions as the learning execution device 310
  • a cleaning program execution unit that functions as the processing execution unit 320.
  • the user can perform an annotation (sub-reward setting information) input process at an arbitrary timing via the smartphone 401 functioning as the annotation (sub-reward setting information) input device 350 or the input unit of the remote controller 402.
  • This input information is transmitted to a learning program execution unit that functions as the learning execution device 310 of the cleaning robot 405, stored in a database in the learning execution device 310, and used for subsequent learning processing.
  • a cleaning robot 405 illustrated in FIG. 16 includes a learning execution device 310 and a processing execution device 320 therein.
  • the remote control 402 is a controller of the cleaning robot 405 and functions as an annotation (sub-reward setting information) input device 350.
  • the cleaning robot 405 can move freely by the operation of the user 201 with respect to the remote controller 402.
  • the user 201 considers a route for efficiently cleaning the interior of the room, and moves the cleaning robot 405 along the route to perform cleaning. Furthermore, annotation (sub-reward setting information) input processing is executed at a plurality of points on the route that is being cleaned.
  • This input information is transmitted to a learning program execution unit that functions as the learning execution device 310 of the cleaning robot 405 and stored in a database in the learning execution device 310. Thereafter, this data is used for the learning process.
  • the cleaning robot 405 can autonomously perform cleaning according to a route in which the sub reward can be acquired, that is, a route set by the user.
  • the example illustrated in FIG. 17 is an example in which the learning execution device 310, the processing execution device 320, and the annotation (sub-reward setting information) input device 350 are individual devices.
  • the process execution device 320 includes a cleaning robot 405,
  • a learning execution device 310 includes a remote control 402,
  • An annotation (sub reward setting information) input device 350 is connected to the smartphone 401, These three devices each perform communication and perform processing.
  • the cleaning robot 405 performs cleaning by the cleaning program execution unit functioning as the processing execution device 320, and transmits each information of action (A), state (S), and basic reward (R) to the remote controller 402.
  • the smartphone 401 functioning as the annotation (sub-reward (Rs) setting information) input device 350 performs an annotation (sub-reward setting information) input process at an arbitrary timing by the user, and the input information is transmitted to the remote controller 402.
  • the remote control 402 has a learning program execution unit that functions as the learning execution device 310, and stores each information of action (A), state (S), and basic reward (R) input from the cleaning robot 405 in a database. Furthermore, the annotation (sub-reward (Rs) setting information) input from the smartphone 401 functioning as the annotation (sub-reward setting information) input device 350 is also the behavior (A), state (S), and reward (Rs) at that timing. Store as a set of each information in the database.
  • the remote controller 402 executes a learning process using the data stored in the database, and determines the optimum cleaning route by learning. Thereafter, the remote controller 402 only activates the cleaning robot 405, and a command according to the learned route is transmitted from the remote controller 402 to the cleaning robot 405, and cleaning on the optimum route becomes possible.
  • annotation (sub-reward setting information) that can be input using the annotation (sub-reward setting information) input device 350
  • the annotation (sub-reward setting information) input device 350 receives the sub-reward. Only the setting information of (Rs) is input to the learning execution device 310, and the other information, which is action (A) and state (S), is stored in the database using the input information from the processing execution device 320. There is a method.
  • annotation (sub-reward setting information) input device 350 may input not only the setting information of the sub-reward (Rs) but also information on the action (A) and the state (S).
  • the example illustrated in FIG. 18 is a diagram for describing variations of input information input from the annotation (sub-reward setting information) input device 350.
  • FIG. 18 shows eight different examples as input information examples of annotation (sub-reward setting information) input from the annotation (sub-reward setting information) input device 350.
  • (1) is an example in which a teaching action sequence and an annotation corresponding to a specific state are input together.
  • (2) is an input example of an annotated snapshot. For each of (1) and (2), four specific examples (a) to (d) are shown.
  • (1) (a) is an example in which one state (state) unit annotation is sequentially input in an example in which a teaching action sequence and an annotation corresponding to a specific state are input together.
  • the teaching action sequence is, for example, the travel route of the arrow shown as the data in FIG. (1) (a), and data in which an annotation indicating the sub-reward setting position is set on this route is generated and the annotation (sub-reward) is generated. This is an example of setting information).
  • (1) (b) is an example in which a plurality of annotations in a continuous state (continuous state) are input in an example in which a teaching action sequence and an annotation corresponding to a specific state are input together.
  • the teaching action sequence is, for example, an arrow travel route shown as data in FIGS. 1A and 1B, and data on which annotations indicating sub-reward setting positions are continuously generated on this route is generated.
  • This is an example of input information of annotation (sub-reward setting information).
  • This input process is performed, for example, by a process of continuously pressing the annotation input unit of the annotation (sub-reward setting information) input device 350.
  • (1) (c) is an example in which an identifier (ID) is set and input for each annotation to be input by the same processing as in the examples (1) and (a).
  • ID for example, an identifier sequentially generated in the annotation (sub-reward setting information) input device 350 or time information can be used.
  • (d) is an example in which an identifier (ID) is set and input for each annotation to be input by the same processing as in the examples (1) and (b).
  • ID an identifier that is sequentially generated within the annotation (sub-reward setting information) input device 350 or time information can be used.
  • (2) (a) is an example in which annotations of one state (state) unit are sequentially input in an example of inputting an annotated snapshot.
  • a snapshot at an annotation setting position for example, a snapshot showing a game scene is generated and used as input information for annotation (sub-reward setting information). is there.
  • (2) (b) is an example in which a plurality of annotations in a continuous state (continuous state) are input in an input example of an annotated snapshot.
  • a plurality of annotations in a continuous state continuous state
  • FIGS. 2 (b) and 2 (b) an example of generating snapshots at successive annotation setting positions, for example, snapshots indicating game scenes, and using them as input information for annotations (sub-reward setting information) It is.
  • This input process is performed, for example, by a process of continuously pressing the annotation input unit of the annotation (sub-reward setting information) input device 350.
  • (2) (c) is an example in which an identifier (ID) is set and input for each annotation to be input by the same processing as in the example of (2) (a).
  • ID for example, an identifier sequentially generated in the annotation (sub-reward setting information) input device 350 or time information can be used.
  • (2) (d) is an example in which an identifier (ID) is set and input for each annotation to be input by the same processing as in the examples of (2) and (b).
  • ID an identifier that is sequentially generated in the annotation (sub-reward setting information) input device 350 or time information can be used.
  • the processing according to the flow shown in FIG. 19 may be executed by a data processing unit configured by a CPU or the like having a program execution function of the learning execution device 110 shown in FIG. 5 according to a program stored in the storage unit. it can.
  • a data processing unit configured by a CPU or the like having a program execution function of the learning execution device 110 shown in FIG. 5 according to a program stored in the storage unit. it can.
  • the process of each step of the flow shown in FIG. 19 will be described in sequence.
  • Step S101 the data processing unit of the learning execution device 110 determines an action to be executed by the processing execution device through a learning process using the database accumulated data.
  • This process is a process executed by the learning execution unit 112 and the behavior determination unit 113 of the learning execution device 110 shown in FIG.
  • the learning execution unit 112 of the learning execution device 110 performs a learning process according to the learning algorithm of reinforcement learning described above. Specifically, the expected reward value defined in the reinforcement learning algorithm is maximized by using, for example, time-series state (S), action (A), and reward (R) data stored in the database 111.
  • a learning process is performed in accordance with the above-described (formula 1) ⁇ * (a
  • the database 111 stores the state (S), action (A), and reward (R) data of each time (t) input from the process execution device 120 as needed.
  • the data processing unit of the learning execution device 110 determines an action to be executed by the processing execution device through a learning process using the database accumulated data.
  • Step S102 the data processing unit of the learning execution device 110 outputs the action execution request determined in step S101 to the processing execution device.
  • This process is a process executed by the decision action request unit 114 of the learning execution device 110 shown in FIG.
  • the determined action request unit 114 requests the action execution unit 121 of the process execution device 120 to execute the determined action in order to cause the process execution device 120 to execute the action (A) determined by the action determination unit 113. .
  • Step S103 the data processing unit of the learning execution device 110 inputs information on (action (A), state (S), basic reward (R)) from the processing execution device 120. These pieces of information can be input at any time, and are input at an arbitrary timing regardless of the flow step order.
  • Step S104 the data processing unit of the learning execution device 110 receives the information input from the processing execution device 120 in step S103 (action (A), state (S), basic reward (R)). Information is stored in the database 111 and the database is updated.
  • step S105 the data processing unit of the learning execution device 110 determines whether or not the processing is completed, that is, whether or not the processing in the processing execution device 120 is completed. The following process is repeated.
  • the database 111 of the learning execution device 110 stores data sets of behavior (A), state (S), and reward (R) as needed, and updates the database.
  • the learning execution unit 112 of the learning execution device 110 is defined in the reinforcement learning algorithm using data (state (S), action (A), reward (R)) including data newly stored in the database 111.
  • s) (Formula 1)
  • the learning process according to the above (Formula 1) is performed. By repeating this process, it is possible to predict the action with the highest reward setting and execute the process according to the predicted action.
  • the flow shown in FIG. 19 is a processing flow in the learning execution device 110 having the configuration shown in FIG. 5, that is, a system that does not have the annotation (sub-reward setting information) input device described with reference to FIG. .
  • the processing according to the flow shown in FIG. 20 may be executed by a data processing unit configured by a CPU or the like having a program execution function of the learning execution device 310 shown in FIG. 13 according to a program stored in the storage unit. it can.
  • a data processing unit configured by a CPU or the like having a program execution function of the learning execution device 310 shown in FIG. 13 according to a program stored in the storage unit. it can.
  • the process of each step of the flow shown in FIG. 20 will be described sequentially.
  • Step S301 the data processing unit of the learning execution device 310 determines an action to be executed by the processing execution device by a learning process using the database accumulated data.
  • This process is a process executed by the learning execution unit 312 and the behavior determination unit 313 of the learning execution device 310 shown in FIG.
  • the learning execution unit 312 of the learning execution device 310 performs learning processing according to the learning algorithm of reinforcement learning described above. Specifically, the expected reward value defined in the reinforcement learning algorithm is maximized by using, for example, time-series state (S), action (A), and reward (R) data stored in the database 311.
  • a learning process is performed in accordance with the above-described (formula 1) ⁇ * (a
  • Expression 1) is an action determination rule that determines an action (a) that maximizes an expected reward according to various states (s).
  • the database 311 stores the state (S), action (A), and basic reward (R) data of each time (t) input from the process execution device 320 as needed. Further, in the database 311 of the learning execution device 310 shown in FIG. 13, the sub-reward (Rs) that is the input information from the annotation (sub-reward (Rs) setting information) input device 350 shown in FIG. ) Information on the corresponding state (S) and action (A) is also stored. That is, the database 311 of the learning execution device 310 shown in FIG. 13 has a data set of a higher density (S), action (A), and reward (R) than the database 111 shown in FIG. Stored.
  • step S ⁇ b> 301 the data processing unit of the learning execution device 310 determines an action to be executed by the processing execution device through learning processing using database accumulation data including more information.
  • the learning execution unit 312 of the learning execution device 310 illustrated in FIG. 13 can perform learning processing using more data (state (S), action (A), reward (R)), and learning efficiency is improved. It becomes possible to clarify the optimum action for increasing the reward earlier.
  • Step S302 the data processing unit of the learning execution device 310 outputs the action execution request determined in step S301 to the processing execution device.
  • This process is a process executed by the decision action request unit 314 of the learning execution apparatus 310 shown in FIG.
  • the determined action request unit 314 requests the action execution unit 321 of the process execution device 320 to execute the determined action in order to cause the process execution device 320 to execute the action (A) determined by the action determination unit 313. .
  • Step S303 Next, in step S ⁇ b> 303, the data processing unit of the learning execution device 310 inputs each information of (action (A), state (S), basic reward (R)) from the processing execution device 320. These pieces of information can be input at any time, and are input at an arbitrary timing regardless of the flow step order.
  • Step S304 the data processing unit of the learning execution device 310 receives the information input from the processing execution device 320 in step S303 (action (A), state (S), basic reward (R)). Information is stored in the database 311 and database update processing is performed.
  • Step S305 the data processing unit of the learning execution device 310 determines whether or not an annotation (sub-reward (Rs) setting information) is input in step S305. That is, it is determined whether an annotation (sub reward (Rs) setting information) is input from the annotation (sub reward setting information) input device 350. If it is determined that there is an input, the process proceeds to step S306. If it is not determined that there is an input, the process proceeds to step S307.
  • an annotation sub-reward (Rs) setting information
  • Step S306 If an annotation (sub-reward (Rs) setting information) input from the annotation (sub-reward setting information) input device 350 is detected in step S305, the data processing unit of the learning execution device 310 performs the annotation (sub-reward setting information) in step S306.
  • Reward setting information Annotation (sub-reward (Rs) setting information) input from the input device 350, and information on the action (A) and state (S) at this time are acquired and stored in the database 311. 311 update processing is performed.
  • the learning data corresponding to the annotation (sub reward setting information) based on the user input is accumulated in the database 311.
  • Step S307 the data processing unit of the learning execution device 310 determines whether or not the processing is completed, that is, whether or not the processing in the processing execution device 320 has been completed. The following process is repeated.
  • the database 311 of the learning execution device 310 has state information (St) 302, action information (At) 301 b, basic reward information (Rt) input from the processing execution device 320. ) 303, as well as annotation (sub-reward (Rs) setting information) 351 input from the annotation (sub-reward setting information) input device 350, timing status information (St) 302, action information (At) 301b is also stored.
  • the database 311 of the learning execution device 310 shown in FIG. 13 has a data set of a higher density (S), action (A), and reward (R) than the database 111 shown in FIG.
  • the learning execution unit 312 is stored, and can perform learning processing using more data (state (S), action (A), reward (R)). As a result, the learning efficiency is improved, and it becomes possible to identify the optimum action for increasing the reward earlier.
  • FIG. 21 a hardware configuration example of the information processing apparatus will be described with reference to FIG. 21 can be used as an information processing apparatus that executes the processing of the present disclosure, for example, each of the learning execution apparatus 310, the processing execution apparatus 320, the annotation input apparatus 350 illustrated in FIG. 13, or a combination of these apparatuses. It is a figure which shows the hardware structural example of information processing apparatus.
  • a CPU (Central Processing Unit) 501 functions as a control unit or a data processing unit that executes various processes according to a program stored in a ROM (Read Only Memory) 502 or a storage unit 508. For example, processing according to the sequence described in the above-described embodiment is executed.
  • a RAM (Random Access Memory) 503 stores programs executed by the CPU 501 and data.
  • the CPU 501, ROM 502, and RAM 503 are connected to each other by a bus 504.
  • the CPU 501 is connected to an input / output interface 505 via a bus 504.
  • the input / output interface 505 includes an input unit 506 including various switches, a keyboard, a mouse, a microphone, and the like, and an output unit that executes data output to a display unit, a speaker, and the like. 507 is connected.
  • the CPU 501 executes various processes in response to a command input from the input unit 506 and outputs a processing result to the output unit 507, for example.
  • the storage unit 508 connected to the input / output interface 505 includes, for example, a hard disk and stores programs executed by the CPU 501 and various data.
  • a communication unit 509 functions as a transmission / reception unit for Wi-Fi communication, Bluetooth (BT) communication, and other data communication via a network such as the Internet or a local area network, and communicates with an external device.
  • BT Bluetooth
  • the drive 510 connected to the input / output interface 505 drives a removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card, and executes data recording or reading.
  • a removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card
  • the technology disclosed in this specification can take the following configurations.
  • a learning execution unit that executes a learning process according to a reinforcement learning algorithm to which the state, action, and reward information stored in the database is applied;
  • Annotation input unit for inputting annotation information including sub-reward setting information and storing it in the database,
  • the learning execution unit An information processing apparatus that executes learning processing to which state information, behavior, and reward information input from the process execution unit and sub-reward setting information input via the annotation input unit are applied.
  • the learning execution unit The information processing apparatus according to (1), wherein an action determination rule for estimating an action to be executed in order to increase an expected reward is derived by the learning process.
  • the information processing apparatus further includes: The information processing apparatus according to (1) or (2), further including an action determination unit that determines an action to be executed by the processing execution unit according to the action determination rule.
  • the information processing apparatus further includes: It has a data input unit for inputting each information of the state, action, and reward input from the processing execution unit,
  • the database is The information processing apparatus according to any one of (1) to (3), wherein the input data of the data input unit is stored, and the sub-reward setting information input via the annotation input unit is stored.
  • the annotation input unit inputs annotation information including sub-reward setting information input via an annotation input device capable of input processing by a user at an arbitrary timing, and stores it in the database (1) (4)
  • the information processing apparatus according to any one of (4).
  • the information processing apparatus further includes: The control unit according to any one of (1) to (5), further including: a control unit that stores in the database each state information and action information of the processing execution unit at the time of the annotation input in association with the sub-reward setting information included in the annotation. Information processing device.
  • the learning execution unit Information on the state, action, and reward input from the processing execution unit,
  • the information processing according to (6) in which a learning process is applied that applies both state, action, and sub-reward information stored in the database in association with the sub-reward setting information input via the annotation input unit. apparatus.
  • the sub-reward setting information input via the annotation input unit is The information processing apparatus according to any one of (1) to (7), which is information input by a user observing a process executed by the process execution unit.
  • the sub-reward setting information input via the annotation input unit is The information processing apparatus according to any one of (1) to (8), which is information input by a user who controls a process executed by the process execution unit.
  • the sub-reward setting information input via the annotation input unit is Input by a user observing the process executed by the process execution unit,
  • the information processing apparatus according to any one of (1) to (9), wherein the information is reward setting information having a plus reward value input by a user who has confirmed that the process executed by the process execution unit is correct.
  • the sub-reward setting information input via the annotation input unit is Input by a user observing the process executed by the process execution unit,
  • the information processing device according to any one of (1) to (10), which is reward setting information having a negative reward value input by a user who has confirmed that the process executed by the process execution unit is not correct.
  • the processing execution unit is an independent device different from the information processing device, The information processing apparatus according to any one of (1) to (11), wherein the information processing apparatus performs data transmission / reception through communication processing with the process execution unit, and controls the process execution unit.
  • An information processing method executed in the information processing apparatus includes: A database that stores information on the state, behavior, and reward related to the processing executed by the processing execution unit; A learning execution unit that executes a learning process according to a reinforcement learning algorithm to which the state, action, and reward information stored in the database is applied; Annotation input unit for inputting annotation information including sub-reward setting information and storing it in the database, The learning execution unit An information processing method for executing a learning process in which state information, action, and reward information input from the process execution unit and sub-reward setting information input via the annotation input unit are applied.
  • a program for executing information processing in an information processing device includes: A database that stores information on the state, behavior, and reward related to the processing executed by the processing execution unit; A learning execution unit that executes a learning process according to a reinforcement learning algorithm to which the state, action, and reward information stored in the database is applied; Annotation input unit for inputting annotation information including sub-reward setting information and storing it in the database, The program is stored in the learning execution unit.
  • the program which performs the learning process which applied each information of the state, action, and reward input from the said process execution part, and the sub reward setting information input via the said annotation input part.
  • the series of processes described in the specification can be executed by hardware, software, or a combined configuration of both.
  • the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.
  • the program can be recorded in advance on a recording medium.
  • the program can be received via a network such as a LAN (Local Area Network) or the Internet and installed on a recording medium such as a built-in hard disk.
  • the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary.
  • the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.
  • an apparatus and a method that enable efficient reinforcement learning by inputting an annotation are realized.
  • a database that stores information on the state, behavior, and reward of the processing execution unit
  • a learning execution unit that executes a learning process according to a reinforcement learning algorithm to which the information stored in the database is applied
  • An annotation input unit that inputs annotation information including sub-reward setting information and stores it in a database is provided.
  • the learning execution unit executes a learning process to which the state, action, and reward information input from the process execution unit and the sub-reward setting information are applied.
  • the learning execution unit derives an action determination rule for estimating an action to be executed in order to increase the expected reward, and determines an action to be executed by the process execution unit according to the action determination rule.

Landscapes

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

Abstract

アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法を提供する。処理実行部の状態、行動、報酬の各情報を格納するデータベースと、データベースに格納された情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、サブ報酬設定情報を含むアノテーション情報を入力して、データベースに格納するアノテーション入力部を有する。学習実行部は、処理実行部から入力する状態、行動、報酬の各情報と、サブ報酬設定情報を適用した学習処理を実行する。学習実行部は、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出し、行動決定則に従って、処理実行部に実行させる行動を決定する。

Description

情報処理装置、および情報処理方法、並びにプログラム
 本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。特に、機械学習による効率的なデータ処理を実現する情報処理装置、および情報処理方法、並びにプログラムに関する。
 近年、様々な情報処理分野において、機械学習により、人の判断や操作を必要とすることなく、自ら行動制御やデータ処理制御を行う自律型の情報処理装置、例えばロボットやエージェントと呼ばれる情報処理装置が利用されている。
 なお、これらのロボットやエージェント等の情報処理装置に最適なデータ処理や自律制御を行わせるための処理として機械学習が知られている。
 機械学習の手法には、様々な手法がある。
 具体的には、例えば教師あり学習、教師なし学習、強化学習等、複数の異なるアルゴリズムがある。
 教師あり学習は、予め、課題とその正解のセットからなるラベル(教師データ)を用意して、このラベルに基づく学習を行わせることで、課題に対して正解が得られる処理を学習させる学習手法である。
 教師なし学習は、課題に対する正解のデータが用意されておらず、エージェント(ロボット)等の情報処理装置が実行した行動やデータ処理の結果を検証して、その結果の正解、不正解の判定としての分類処理としてのクラスタリングを行い、正解となる処理を、順次、確認させることで、課題に対して正解が得られる処理を学習させる学習手法である。
 また、強化学習は、状態(state)、行動(action)、報酬(reward)の3要素を用いた学習手法であり、エージェント(ロボット)等の情報処理装置が、ある状態(state)において、ある行動(action)を行ったときに、その行動が正解であれば報酬(reward)を与えるといった処理を繰り返すことで、様々な状態(state)、における最適な行動(action)、すなわち正解となる行動を学習させる手法である。
 この強化学習アルゴリズムの問題点として、報酬の設定態様によって学習効率が低下してしまうという問題がある。
 1つの典型的な報酬設定例は、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという設定である。
 しかし、処理開始状態から、処理終了状態に到達するまでには、様々な分岐ポイント、例えば複数の行動を選択可能な状態があることが多い。エージェント(ロボット)は、各分岐ポイントで、異なる行動(action)を起こすことが可能であり、正解でない行動(action)を繰り返してしまうと、結果として最終的なゴールに到達するまでに多大な時間を要する。すなわち学習効率が低下するという問題が発生する。
 このような強化学習における問題点を解決する一つの手法として、非特許文献1(Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation)に記載の手法がある。
 非特許文献1には、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に至るまでの経路途中に報酬を与えるポイントとしてのサブゴールを予め設定した学習プログラムを利用した強化学習処理構成を開示している。
 エージェント(ロボット)等の情報処理装置に、このサブゴール設定型の強化学習プログラムに従って学習処理を実行させる。エージェント(ロボット)等の情報処理装置は、開始から終了までの途中の複数ポイントで、正解の行動を確認しながら学習を進めることが可能となり、結果として最終的なゴールに到達するまでの時間を短縮できるというものである。
 しかし、このようなサブゴール設定学習プログラムは、プログラミング能力を有し、かつ学習プログラムを作成する能力を有するプログラマのみが作成可能であり、プログラミングの知識の乏しい一般人等、普通のユーザが作成できるものではない。
Tejas D.Kulkarni、外3名、Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation、[online]、30th Conference on Neural Information Processing System(NIPS 2016),Barcelona, Spain、[2017年1月27日検索]、インターネット(https://papers.nips.cc/paper/6233-hierarchical-deep-reinforcement-learning-integrating-temporal-abstraction-and-intrinsic-motivation)
 本開示は、例えば、上記の問題点に鑑みてなされたものであり、特別なプログラミング能力を有していない一般ユーザであっても、効率的な強化学習を実行させることを可能とする情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
 本開示の第1の側面は、
 処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
 前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
 サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
 前記学習実行部は、
 前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理装置にある。
 さらに、本開示の第2の側面は、
 情報処理装置において実行する情報処理方法であり、
 前記情報処理装置は、
 処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
 前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
 サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
 前記学習実行部が、
 前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理方法にある。
 さらに、本開示の第3の側面は、
 情報処理装置において情報処理を実行させるプログラムであり、
 前記情報処理装置は、
 処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
 前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
 サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
 前記プログラムは、前記学習実行部に、
 前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行させるプログラムにある。
 なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
 具体的には、例えば、処理実行部の状態、行動、報酬の各情報を格納するデータベースと、データベースに格納された情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、サブ報酬設定情報を含むアノテーション情報を入力して、データベースに格納するアノテーション入力部を有する。学習実行部は、処理実行部から入力する状態、行動、報酬の各情報と、サブ報酬設定情報を適用した学習処理を実行する。学習実行部は、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出し、行動決定則に従って、処理実行部に実行させる行動を決定する。
 これらの処理により、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
強化学習のアルゴリズムについて説明する図である。 お掃除ロボットの実行する掃除を学習処理によって効率化させる例について説明する図である。 学習処理を行うエージェント(情報処理装置)が、囲碁や将棋を実行するPCである場合の例を説明する図である。 学習処理を行うエージェント(情報処理装置)が、ゲームを実行するPCである場合の例を説明する図である。 図1に示す学習実行部と、処理実行部の具体的構成例と処理例について説明する図である。 学習実行装置と、処理実行装置を有する情報処理装置の例について説明する図である。 学習実行装置と、処理実行装置を有する情報処理装置の例について説明する図である。 処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという典型的な報酬設定例について説明する図である。 処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという典型的な報酬設定例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理の例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理の例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成と処理例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を構成する具体的なデータ例について説明する図である。 情報処理装置の実行する処理シーケンスを説明するフローチャートを示す図である。 情報処理装置の実行する処理シーケンスを説明するフローチャートを示す図である。 情報処理装置のハードウェア構成例を示す図である。
 以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
 1.強化学習処理の概要について
 2.効率的な学習処理を実現する実施例について
 3.情報処理装置の実行する処理のシーケンスについて
 4.情報処理装置のハードウェア構成例について
 5.本開示の構成のまとめ
  [1.強化学習処理の概要について]
 まず、強化学習処理の概要について説明する。
 前述したように、強化学習は、機械学習の手法の一つである。
 機械学習のアルゴリズムを大きく分けると、教師あり学習、教師なし学習、強化学習に分類できる。
 教師あり学習は、予め、課題とその正解のセットからなるラベル(教師データ)を用意して、このラベルに基づく学習を行わせることで、課題に対して正解が得られる処理を学習させる学習手法である。
 教師なし学習は、課題に対する正解のデータが用意されておらず、エージェント(ロボット)等の情報処理装置が起こした行動やデータ処理の結果を検証して、その結果の正解、不正解の判定としての分類処理としてのクラスタリングを行い、正解となる処理を、順次、確認させることで、課題に対して正解が得られる処理を学習させる学習手法である。
 これに対して、強化学習は、状態(state)、行動(action)、報酬(reward)の3要素を用いた学習処理手法である。
 図1を参照して強化学習のアルゴリズムについて説明する。
 図1には、学習実行部10と、処理実行部20から構成される情報処理システムを示している。
 なお、図1に示す学習実行部10と、処理実行部20は、1つの情報処理装置内に構成することも可能であり、それぞれ異なる装置として設定することも可能である。
 学習実行部10は、処理実行部20において実行する処理についての学習を実行する。学習が良好に進むと、処理実行部20は、最適な処理を自律的に実行することが可能となる。
 図1に示す学習実行部10は、処理実行部20からの観測情報として、状態情報(State(St))を入力する。tは時間であり、時間tの状態情報をAtと表記する。
 学習実行部10は、状態情報(State(St))の入力に応じて、処理実行部20に実行させる行動(action(At))を決定する。
 学習実行部10の決定した行動(action(At))を、処理実行部20が実行することにより、状態が変化し、あらたな状態情報(State(St))が、学習実行部10に入力される。ただし、状態変化は発生しない場合もある。この場合、状態情報(St)は先行情報と同一となる。
 例えば、学習実行部10には、処理実行部20の実行した行動(action(At))によって発生した状態(State(St))に応じた報酬(reward(Rt))が入力される。
 具体的には、例えば、処理実行部20においてゲームプログラムが実行されている場合、ゲーム完了時のスコアが報酬(Rt)として、学習実行部10に入力される。
 あるいは、以前の状態とのスコアの差分が報酬(Rt)として、学習実行部10に入力される。
 学習実行部10は、報酬(reward(Rt))の入力によって、行動(action(At))が正解であったことを認識することが可能となる。
 ただし、処理実行部20の実行した行動(action(At))が正解の行動でなかった場合、学習実行部10に対して報酬(reward(Rt))は入力されない。
 なお、報酬(reward(Rt))の入力態様は、上記のように、行動(action(At))が正解か不正解かによってのみ入力有無が決定される構成に限らない。
 例えば、行動(action(At))の良さの評価結果に応じて決定される報酬(reward(Rt))を入力する構成もある。
 このように、強化学習は、状態(state)、行動(action)、報酬(reward)の3要素を用いた学習処理手法であり、エージェント(ロボット)等の情報処理装置が、ある状態(state)において、ある行動(action)を行ったときに、その行動が正解あるいは良好であれば報酬(reward)を与えるといった処理を繰り返すことで、様々な状態(state)、における最適な行動(action)、すなわち正解となる行動を学習させる手法である。
 学習実行部10や、処理実行部20は、例えば、ある作業を行うロボット、あるデータ処理やゲームを実行するPC、お掃除ロボット等、様々な装置によって構成される。
 いずれも何らかの特定の処理、例えば、ゲーム、掃除等の処理を、学習によって効率化させる。学習処理の対象となる処理は、装置の種類に応じて異なる処理となる。
 強化学習を実行可能なエージェント(情報処理装置)の具体例について図2以下を参照して説明する。
 図2は、お掃除ロボット41の実行する処理である掃除を学習処理によって効率化させる例を説明する図である。
 例えば、お掃除ロボット41は、様々な家具が配置された部屋を掃除する。お掃除ロボット41に要求される処理は、家具のない床部分を全て走行して掃除を完了させる処理であり、これを効率的に、すなわち短時間で行うことが要求される。
 この要求を満たすため、エージェントであるお掃除ロボット41は掃除を行うために走行する最適ルートを学習処理によって覚えることができる。
 図3は、学習処理を行うエージェント(情報処理装置)が、囲碁や将棋を実行するPC42である場合の例を説明する図である。
 図に示すように、PC42は、例えば実際の人である対局者51,52を相手として囲碁や将棋を行う。
 PC42は、囲碁や将棋のルールに従った処理実行プログラムに従って対局を進行させる。
 このプログラムは、囲碁や将棋の勝負に勝つための最善の手を学習処理によって覚えることができる。
 図4は、学習処理を行うエージェント(情報処理装置)が、ゲームを実行するPC42である場合の例を説明する図である。
 図に示すように、PC42は、表示部に表示されたゲームを実行する。
 ゲームのシーンは、例えば図に示すようにシーン1からシーン4まで進行する。
 ゲームは、シーン1でキャラクタが右側の階段を上り、
 シーン2で、左上部の雲に乗り、
 シーン3で雲の上の星を取って、階段に戻り、
 シーン4で、星を木の上に乗せる。
 これらの各シーンによって構成される。
 シーン4で、星を木の上に乗せることに成功した場合、高得点(ハイスコア)を得ることができる。
 このスコアが強化学習における報酬(reward)に相当し、スコア(報酬)を高くするための学習を行うことにより、シーン1~4の処理をより高速に行うことができるようになる。
 図2~図4を参照して説明したように、学習処理によって処理を効率化、高速化可能なエージェント(情報処理装置)は、様々な作業を行うロボット、様々なデータ処理やゲームを実行するPC、お掃除ロボット等、様々な装置が想定される。
 エージェント(情報処理装置)は、何らかの目的を達成するために実行すべき処理を学習処理によって学ぶことで、徐々に最適な処理を行うことができるようになる。
 エージェント(情報処理装置)に与えられる目的は、各エージェントによって異なる。
 例えばお掃除ロボットであれば短時間の効率的な掃除完了、囲碁や将棋であれば勝利、ゲームであれば、ハイスコアの獲得などが目的となる。
 この強化学習アルゴリズムによる学習処理における問題点として、前述したように、報酬付与ポイントの設定態様がある。
 1つの典型的な報酬設定例は、目的を達成した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという設定である。
 しかし、前述したように、処理開始状態から、処理終了状態に到達するまでには、様々な分岐ポイント、例えば複数の行動を選択可能なポイントがあることが多い。エージェント(ロボット)は、各分岐ポイントで、異なる行動(action)を起こすことが可能であり、正解でない行動(action)を繰り返してしまうと、結果として最終的なゴールに到達するまでに多大な時間を要するという問題が発生する。
 先に説明したように、非特許文献1(Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation)は、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に至るまでの経路途中に報酬を与えるポイントとしてのサブゴールを予め設定した学習プログラムを利用した強化学習処理構成を開示している。
 エージェントやロボット等の情報処理装置に、このサブゴール設定型の強化学習プログラムに従って学習処理を実行させる。エージェントやロボット等の情報処理装置は、開始から終了までの途中の複数ポイントで、正解の行動を確認しながら学習を進めることが可能となり、結果として最終的なゴールに到達するまでの時間を短縮できるというものである。
 しかし、このようなサブゴール設定学習プログラムは、プログラミング能力を有し、かつ学習プログラムを作成する能力を有する数少ないプログラマのみが作成可能であり、いわゆる一般人等、普通のユーザが作成できるものではない。
 次に、図5を参照して、先に図1を参照して説明した学習実行部10と、処理実行部20の具体的構成例と処理例について説明する。
 なお、図5においては、図1を参照して説明した学習実行部10を学習実行装置110として示し、図1を参照して説明した処理実行部20を処理実行装置120として示している。
 なお、これらの2つの装置は、1つの情報処理装置としても構成可能であり、個別の装置として構成することも可能である。
 図5に示す学習実行装置110は、前述した強化学習処理を実行する装置である。
 また、処理実行装置120は、特定の処理を実行する装置である。例えばお掃除ロボットであれば自走して掃除を行う装置である。あるいはゲームプログラムを実行してゲームを行う装置等である。
 図5に示す学習実行装置110は、データベース111、学習実行部112、行動決定部113、決定行動要求部114、行動情報入力部115、状態情報入力部116、報酬情報入力部117を有する。
 学習実行装置110の学習実行部112は、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
 具体的には、データベース111に格納された例えば時系列の状態(S)、行動(A)、報酬(R)のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を導出して行動決定則に従った学習処理を行う。
 すなわち、行動決定則を規定する以下の(式1)に従った学習処理を行う。
Figure JPOXMLDOC01-appb-M000001
 上記(式1)において、
 π(a|s)は、状態(s)における最適な戦略、すなわち状態(s)においてとるべき行動(a)を返す関数である。
 T(s,a,s')は、状態の変化(Transition)を表す関数であり、状態(s)において行動(a)を行うと状態(s')に変化することを示す。
 v(s')は、状態(s')に移行した場合の報酬の総和を意味する。
 argmaxは最大値を選択する関数である。
 上記(式1)は、状態sから状態s'に遷移する行動aから、報酬総和v(s')が最大化するものを選択する数式(行動決定則)である。
 すなわち、(式1)は、様々な状態(s)に応じて、期待報酬を最大化する行動(a)を決定する行動決定則である。
 データベース111には、各時間(t)の状態(S)、行動(A)、報酬(R)のデータが、処理実行装置120から、随時、入力され蓄積される。すなわちデータベースは、随時、更新される。学習実行部114は、例えば、データベース111のデータ更新ごとに行動決定則(式1)の更新処理を行う。
 この更新処理によって、様々な状態に応じた最適な行動、すなわち報酬を高くするための最適な行動が次第に明らかになっていく。
 学習実行装置110の行動決定部113は、学習実行部112における学習処理において、随時更新される(式1)によって示される行動決定則を利用して、処理実行部120に実行させる次の行動を決定する。
 すなわち、上記(式1)に示す行動決定則π(a|s)に従って、次の行動を決定する。
 決定行動要求部114は、行動決定部113の決定した行動(A)を処理実行装置120に実行させるため、処理実行装置120の行動実行部121に、決定した行動を実行させるための要求を行う。図に示すように、行動情報(At)101aを出力する。tは時間を示すパラメータである。
 処理実行装置120の行動実行部121は、学習実行装置110の決定行動要求部114から入力した行動要求に従った行動、すなわち、行動情報(At)101aに従った行動を実行する。
 処理実行装置120の行動実行部121の実行した行動に関する行動情報(At)101bは、学習実行装置110の行動情報入力部115に入力され、データベース111に格納される。
 処理実行装置120は、さらに、状態情報取得部122、報酬情報取得部123を有する。
 処理実行装置120の状態情報取得部122は、時間(t)の状態(S)である状態情報(St)102を、随時、取得して、学習実行部110の状態情報入力部116に出力する。
 学習実行部110の状態情報入力部116は、処理実行装置120の状態情報取得部122から入力した状態情報(St)102をデータベース111に格納する。
 処理実行装置120の状態情報取得部122の取得する状態情報とは、例えば、処理実行装置120が、お掃除ロボットである場合、お掃除ロボットの位置情報、走行情報(速度、方向)等の情報である。
 また、処理実行装置120が、ゲーム実行装置である場合、ゲームの場面を示すシーン情報、キャラクタ位置、走行情報(速度、方向)等である。
 処理実行装置120の報酬情報取得部123は、時間(t)の状態(S)である報酬情報(Rt)103を、随時、取得して、学習実行部110の報酬情報入力部117に出力する。
 学習実行部110の報酬情報入力部117は、処理実行装置120の報酬情報取得部123から入力した報酬情報(Rt)103をデータベース111に格納する。
 処理実行装置120の報酬情報取得部123の取得する報酬情報とは、例えば、処理実行装置120が、ゲーム実行装置である場合、ゲームのスコア等によって構成される。
 処理実行装置120が、お掃除ロボットである場合、例えば掃除完了に伴って生成される評価情報等である。具体的には、掃除の開始から終了に至るまでの時間情報や、経路情報等に基づく効率性の評価情報等である。
 なお、処理実行装置120に報酬情報取得部123が設定されていない場合、学習実行装置110に報酬計算部を設定して、処理実行装置120から入力する状態情報と、行動情報に基づいて、予め設定した報酬算出アルゴリズムを適用して報酬を算出する構成としてもよい。
 例えば、処理実行装置120の行動実行部121において実行された行動(a)の後に発生した状態(s)に基づく以下の報酬算出式(式2)、
 R=f(s)・・・(式2)
 上記(式2)に従った報酬算出処理を行う。
 あるいは、処理実行装置120の行動実行部121において実行された行動(a)の後に発生した状態(s)と、行動(a)の2つのパラメータに基づく以下の報酬算出式(式3)、
 R=f(s,a)・・・(式3)
 上記(式3)に従った報酬算出処理を行う。
 上記の(式2),(式3)いずれの報酬算出式を適用するかについては、予め規定しておく。
 この場合、学習実行装置110の報酬算出部の算出した報酬(Rt)が、データベース111に格納される。
 学習実行装置110のデータベース111には、行動情報(At)、状態情報(St)、報酬情報(Rt)のデータセットが、随時格納されることになる。
 学習実行装置110の学習実行部112は、データベース111に新たに格納されたデータを含むデータ(状態(S)、行動(A)、報酬(R))を利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則、
  π(a|s)・・・(式1)
 上記(式1)に従った学習処理を行う。
 この処理を繰り返すことで、最も報酬が高くなる設定の行動を予測して、その予測行動に従った処理を実行することが可能となる。
 次に、図5に示す学習実行装置110と、処理実行装置120の具体例について図6以下を参照して説明する。
 先に説明したように、学習実行装置110と、処理実行装置120は1つの情報処理装置として構成することも、個別の装置として構成することも可能である。
 図6(A)は、1つの情報処理装置であるPC130に学習実行装置110と、処理実行装置120を有する例である。
 PC130は、学習実行装置110として機能する学習プログラム実行部を有し、さらに、処理実行装置120として、例えばゲームプログラム実行部を有する。
 ゲームプログラム実行部は、例えば先に図3や図4を参照して説明したゲームをPC130の記憶部に格納されたゲームプログラムを実行して行う。
 処理実行装置120としてのゲームプログラム実行部によるゲームの実行により、例えば、キャラクタの行動、ゲームシーンやキャラクタの位置等の状態の変化が発生する。これらの行動情報、状態情報が、学習プログラム実行部である学習実行装置110に入力されて学習処理が行われることになる。
 図6(B)は、学習実行装置110と、処理実行装置120が個別の装置によって構成される例を示す図である。
 図6(B)にはお掃除ロボット131と、お掃除ロボット131の動作制御を行うリモコン132、スマホ133を示している。
 リモコン132、またはスマホ133は、お掃除ロボット131の動作制御を行うコントローラとして機能する。
 リモコン132、またはスマホ133は、学習実行装置110として機能する学習プログラム実行部を有する。
 お掃除ロボット131は、処理実行部120として機能する掃除プログラム実行部を有する。
 処理実行装置120としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、学習プログラム実行部を有するリモコン132、またはスマホ133に入力されて学習処理が行われることになる。
 図7(C)は、学習実行装置110と、処理実行装置120をお掃除ロボット131の内部に有する設定とした例である。
 お掃除ロボット131は、学習実行装置110として機能する学習プログラム実行部と、処理実行部120として機能する掃除プログラム実行部を有する。
 処理実行装置120としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、お掃除ロボット131内の学習プログラム実行部に入力されて学習処理が行われることになる。
 図7に示す例において、リモコン132、スマホ133は、ユーザの意思に従った掃除を行わせたいときのリモコンとしての機能を有する。
 図6、図7を参照して説明したように、図5を参照して説明した学習実行装置110、処理実行装置120は、1つの装置、あるいは個別の装置として実現可能である。
 なお、図6、図7を参照して説明した構成の他にも、様々な設定が可能である。
 図5を参照して説明した学習実行装置110、処理実行装置120を利用した強化学習処理により、処理実行装置120の実行する処理を、より報酬を高く設定した処理に、徐々に変更させることができる。
 しかし、先に説明したように、強化学習アルゴリズムによる学習処理における問題点として、どの状態に、報酬を付与するポイントを設けるかという問題がある。
 例えば1つの典型的な報酬設定例としては、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという設定がある。しかし、このような設定では、学習実行装置は、処理の完了まで全く有効な報酬情報を入力することができないことになる。
 処理開始状態から、処理終了状態に到達するまでの様々な分岐ポイント、例えば複数の行動を選択可能なポイントにおいて、エージェント(ロボット)は、異なる行動(action)を起こすことが可能であり、正解でない行動(action)を繰り返してしまうと、結果として最終的なゴールに到達するまでに多大な時間を要することになる。
 処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという典型的な報酬設定例について、図8以下を参照して説明する。
 図8に示す例は、先に図6(A)を参照して説明したPC130、すなわち、1つの情報処理装置であるPC130に学習実行装置110と、処理実行装置120を有する例である。
 PC130は、学習実行装置110として機能する学習プログラム実行部を有し、さらに、処理実行装置120として、例えばゲームプログラム実行部を有する。
 ゲームプログラム実行部は、図8に示すゲームを実行する。
 図8に示すゲームは、左下のスタート位置のキャラクタ135を、右上のゴールに到達させるゲームである。
 シーン内のルートに沿って、キャラクタ135を左右前後に移動させて、右上のゴールに到達させる。
 ルート上の星を多く拾うほど、ゲームスコアが高くなる。このゲームスコアが、強化学習処理における報酬となる。
 ルート上には悪キャラ136がおり、衝突するとゲーム終了となり、スコア=0(報酬なし)となる。
 キャラクタ135を、図8に示す点線ルートに従って進行させてゴールに到達すると、3つの星を拾ってゴールに到着することになり高スコアが得られる。すなわち、報酬が大きくなる。
 図9に示す例は、図8に示すルートと異なるルートでゴールに到達する例である。
 キャラクタ135を、図9に示す点線ルートに従って進行させてゴールに到達すると、1つの星を拾ってゴールに到着することになる。この場合、3つの星を拾った図8に示す設定より、低スコアとなる。すなわち、報酬が小さくなる。
 例えば、このような報酬の設定の下で、図5を参照して説明したシステムを利用して強化学習処理を行うと、より高い報酬の得られるルート、すなわち、図8に示すルートを最終的に見つけ出すことができる。
 しかし、図8、図9を参照して説明した報酬設定、すなわち、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという報酬設定とした場合、最終的な高報酬を得るルート(図8に示すルート)を見つけ出すための学習処理時間は長期化してしまう。
 図8、図9を参照して理解されるように、スタートからゴールまでのルートとして選択可能なルートは多数あり、強化学習処理では、これらの多数のルートを順次、実行(行動)し、その行動結果の報酬を解析するという処理を繰り返すことが必要となる。
 スタートからゴールまでには、多くの分岐ポイント、すなわち複数の行動を選択可能なポイントが多く、存在する。
 キャラクタ135は、各分岐ポイントで、異なる行動(action)を起こすことが可能であり、正解でない行動(action)を繰り返してしまうと、結果として、最大のスコアの高報酬ルートを見つけ出すまでに多大な時間を要するという問題がある。
  [2.効率的な学習処理を実現する実施例について]
 以下、本開示の情報処理装置、すなわち、効率的な学習処理を実現する情報処理装置の構成と処理について説明する。
 以下に説明する本開示の処理を適用することで、特別なプログラミング能力を有していない一般ユーザであっても、効率的な学習処理、具体的には、行動(A)、状況(S)、報酬(R)の各パラメータを適用した強化学習を効率的に実行させることが可能となる。
 図10を参照して、本開示の情報処理装置の実行する学習処理の例について説明する。
 図10に示す情報処理装置の一例であるPC200は、先に図6(A)や図8、図9を参照して説明したPC130と同様、PC200に学習実行装置と、処理実行装置を有する。
 PC200は、学習実行装置として機能する学習プログラム実行部を有し、さらに、処理実行装置として機能するゲームプログラム実行部を有する。
 ゲームプログラム実行部は、図10に示すゲームを実行する。
 図10に示すゲームは、先に図8、図9を参照して説明したゲームと同じゲームデあり、左下のスタート位置のキャラクタ135を、右上のゴールに到達させるゲームである。
 シーン内のルートに沿って、キャラクタ135を左右前後に移動させて、右上のゴールに到達させる。
 ルート上の星を多く拾うほど、ゲームスコアが高くなる。このゲームスコアが、強化学習処理における報酬となる。
 ルート上には悪キャラがおり、衝突するとゲーム終了となり、スコア=0(報酬なし)となる。
 本開示の情報処理装置の一例であるPC200は、学習実行装置として機能する学習プログラム実行部と、処理実行装置として機能するゲームプログラム実行部の他、アノテーション入力装置としての機能を有する。
 アノテーションとは、処理実行プログラム、本例ではゲーム実行プログラムに本来、設定されていない報酬の設定情報である。
 アノテーションによる報酬設定情報をサブ報酬設定情報と呼ぶ。
 なお、ゲーム実行プログラムに本来、設定されている報酬の設定情報を基本報酬設定情報と呼ぶことにする。
 図8、図9を参照して説明したキャラクタ135がゴールに到達した時点で得られる報酬(ゲームスコア)は、ゲーム実行プログラムに本来、設定されている報酬であり、基本報酬設定情報となる。
 アノテーションによるサブ報酬設定情報は、本開示の情報処理装置の一例であるPC200を操作するユーザ201によってアノテーション入力装置を介して自由に入力、設定することができる。
 なお、図10に示す構成において、アノテーション入力装置は、PC200に構成される。具体的にはPC200のキーボードやマウス等の入力部がアノテーション入力装置として機能する。
 ユーザ201は、PC200のキーボードやマウス等の入力部を介して自由にアノテーション(サブ報酬設定情報)を入力できる。
 例えば、図10に示すゲーム画面をPC200の表示部に表示し、キャラクタ135を移動させ、所定の位置にキャラクタ135が移動したときに、アノテーション(サブ報酬設定情報)を入力する。
 図10を参照して、アノテーション入力手順の一例について説明する。
 例えば、図10に示すゲーム画面のスタート位置にいるキャラクタ135は、まず、右方向のルート(○印の設定されたルート)と、上方向のルート(×印の設定されたルート)の2つのルートを選択可能である。
 右方向のルート(○印の設定されたルート)は、先に図8を参照して説明した高スコア(高報酬)の得られるルート(正解)に相当するルートである。
 ユーザ201は、キャラクタ135を、右方向の正解ルート(○印設定ルート)に従って移動させ、分岐ポイント(図に示す(二重丸◎An1)の位置)に到達させる。
 なお、図10に示す点線ルートや、○、×、◎の各マークは、説明のために示しているのみであり、実際にPC200の表示画面上に表示されるものではない。
 図10に示すように、キャラクタ135が、この分岐ポイント(図に示す(二重丸◎An1)の位置)に到達した時点で、アノテーション(サブ報酬設定情報)(An1)211を入力する。
 すなわち、正解ルートに従ったキャラクタ135の行動に基づいてサブ報酬を得ることができる設定とする。
 ユーザ201の入力したアノテーション(サブ報酬設定情報)(An1)211は、学習実行装置内のデータベースに登録される。
 さらに、キャラクタ135を正解ルート(図8に示すルート)に従って移動させて、各分岐ポイントに到達した位置において、ユーザ201は、順次、アノテーション(サブ報酬設定情報)(An2~An9)を、PC200のキーボードやマウス等の入力部を介して入力する。
 このアノテーション入力処理の結果、図10に示すように、最も高報酬が得られる正解ルート上に、順次、アノテーション(サブ報酬設定情報)(An1~An9)が設定されることになる。
 これらのユーザ201の入力したアノテーション(サブ報酬設定情報)(An1~An9)は、学習実行装置内に登録され、強化学習処理における学習処理、すなわち、期待報酬を最大化する行動決定処理において利用可能な報酬情報となる。
 このアノテーション(サブ報酬設定情報)(An1~An9)を利用した学習処理を行うことで、効率的に、すなわち短時間で高報酬の得られる理想的なルートを探しだすことが可能となる。
 すなわち強化学習処理の効率化が実現されることになる。
 なお、ユーザ201の入力したアノテーション(サブ報酬設定情報)は、学習実行装置に出力されてデータベースに格納される。
 ユーザが入力したアノテーションにより、学習実行装置のデータベースに格納されるデータは、具体的には、例えば、アノテーション設定時の状態(S)、行動(A)、報酬(R)各情報の組み合わせからなる情報である。
 先に図5を参照して説明したように、学習実行装置110は、処理実行装置120から、随時、状態(S)、行動(A)の各情報を入力している。
 学習実行装置110は、アノテーション入力装置からのアノテーション(サブ報酬設定情報)の入力タイミングにおける最新の状態(S)、行動(A)の各情報を、アノテーション入力装置から入力したサブ報酬設定情報に対応付けてデータベースに登録する。
 なお、アノテーション入力装置から、サブ報酬設定情報とともに状態(S)や、行動(A)の各情報の少なくともいずれかの情報を併せて入力する設定としてもよい。
 このように、ユーザによるアノテーション入力に応じて学習実行装置がデータベースに登録するデータはアノテーション設定時の状態(S)、行動(A)、サブ報酬(R)各情報の組み合わせからなるデータである。具体的には、例えば以下のデータによって構成される。
 状態情報(S)は、アノテーション設定時のゲームのシーンの識別情報、アノテーション設定位置等によって構成される。
 行動情報(A)は、アノテーション設定時のキャラクタの位置、キャラクタの動き(方向、速度等)の情報によって構成される。
 サブ報酬情報(R)は、様々な設定が可能であるが、最終的なゴールに至ることで得られる基本設定の報酬よりは小さい報酬に設定するのが好ましい。このサブ報酬の値は、予めデフォルト値として規定しておいてもよいし、ユーザのアノテーション入力時に逐次、ユーザが設定可能な構成としてもよい。
 また、報酬は、プラスの報酬のみに限らず、マイナスの報酬を設定する構成としてもよい。例えばキャラクタが正解ルートではない「不正解」のルートに進んだ地点でアノテーションを入力して、そのアノテーションを「マイナス報酬」を設定したアノテーションとして学習実行装置のデータベースに登録することも可能である。
 例えば、アノテーション入力装置から、任意の報酬の値、例えば-100~+100等の報酬範囲の報酬値を入力可能な構成として、ユーザが任意に設定した報酬値を学習実行装置のデータベースに登録可能な構成としてもよい。
 次に、図11を参照して、PC200が実行する異なるゲームにおけるアノテーション(サブ報酬設定情報)の設定例について説明する。
 図11に示すゲームは、先に図4を参照して説明したゲームと同様のゲームである。
 ゲームのシーンは、図に示すようにシーン1からシーン4まで進行する。
 ゲームは、シーン1でキャラクタが右側の階段を上り、
 シーン2で、左側の雲に乗り、
 シーン3で雲の上の星を取って、階段に戻り、
 シーン4で、星を木の上に乗せる。
 これらの各シーンによって構成される。
 シーン4で、星を木の上に乗せることに成功した場合、高得点(ハイスコア)を得ることができる。
 ゲームを実行するPC42は、学習処理によって正解の行動を覚えることができる。
 このゲームプログラムに本来、設定されている基本報酬設定情報は、キャラクタがシーン4で、星を木の上に乗せる処理を完了した時点で得られる報酬(ゲームスコア)である。
 ユーザ201は、この基本報酬設定情報以外のサブ報酬設定情報をアノテーション入力処理によって行うことができる。
 ユーザ201は、アノテーション(サブ報酬設定情報)をPC200のキーボードやマウス等の入力部を介した入力処理によって行う。
 例えば、図11に示すシーン1では、キャラクタは、右側の階段を上る正解ルート(○印の設定されたルート)と、左方向のルート(×印の設定されたルート)の2つのルートを選択可能である。
 ユーザ201は、キャラクタを、右側の階段を上る正解ルート(○印設定ルート)に従って移動させ、移動完了位置または移動途中位置(図に示す(二重丸◎An1)の位置)に到達させる。
 図10に示すように、キャラクタが、図に示す二重丸◎An1の位置に到達した時点で、アノテーション(サブ報酬設定情報)(An1)221を入力する。
 すなわち、正解ルートに従ったキャラクタの行動に基づいてサブ報酬を得ることができる設定とする。
 ユーザ201の入力したアノテーション(サブ報酬設定情報)(An1)221は、学習実行装置内に登録される。
 次の図11に示すシーン2では、キャラクタは、左上部の雲に乗る正解ルート(○印の設定されたルート)と、右方向のルート(×印の設定されたルート)の2つのルートを選択可能である。
 ユーザ201は、キャラクタを、左側の雲に乗る正解ルート(○印設定ルート)に従って移動させ、移動完了位置または移動途中位置(図に示す(二重丸◎An2)の位置)に到達させる。
 図11に示すように、キャラクタが、図に示す二重丸◎An2の位置に到達した時点で、アノテーション(サブ報酬設定情報)(An2)222を入力する。
 すなわち、正解ルートに従ったキャラクタの行動に基づいてサブ報酬を得ることができる設定とする。
 ユーザ201の入力したアノテーション(サブ報酬設定情報)(An2)222は、学習実行装置内に登録される。
 以下、シーン3,4についても、キャラクタを図に示す二重丸◎An3,An4の位置に到達させて、アノテーション(サブ報酬設定情報)(An3)223,(An4)224を入力する。
 すなわち、正解ルートに従ったキャラクタの行動に基づいてサブ報酬を得ることができる設定とする。
 このアノテーション入力処理の結果、図11に示すように、最もハイスコア(高報酬)が得られる正解ルート上に、順次、アノテーション(サブ報酬設定情報)(An1~An4)が設定されることになる。
 これらのユーザ201の入力したアノテーション(サブ報酬設定情報)(An1~An4)は、学習実行装置のデータベース内に登録され、強化学習処理における学習処理、すなわち、期待報酬を最大化する行動決定処理において利用可能な報酬情報となる。
 このアノテーション(サブ報酬設定情報)(An1~An4)を利用した学習処理を行うことで、効率的に、短時間で高報酬の得られる理想的なルートを探しだすことが可能となる。
 すなわち強化学習処理の効率化が実現されることになる。
 図12は、学習実行装置310、処理実行装置320と、アノテーション入力装置350の構成関係の一例を説明する図である。
 図12に示す例は、学習実行装置310、処理実行装置320、アノテーション入力装置350が一つの情報処理装置、すなわちPC200内に構成されている例である。
 これら、学習実行装置310、処理実行装置320、アノテーション入力装置350は、一つの情報処理装置内の構成要素として設定することも可能であり、個別の装置として構成することも可能である。
 図12に示す例では、アノテーション入力装置350は、PC200の入力部、すなわちキーボードや、マウス等によって構成される。
 ユーザ201は、任意タイミングで、アノテーション入力装置350から、アノテーション情報(サブ報酬(Rs)設定情報)351を入力することができる。
 入力したアノテーション情報(サブ報酬(Rs)設定情報)351は、学習実行装置310に入力されデータベースに格納される。
 学習実行装置310は、さらに、処理実行装置320から、状態情報(S)302、行動情報(A)301を逐次、入力する。
 学習実行装置310は、アノテーション入力装置350から入力するアノテーション情報(サブ報酬(Rs)設定情報)351と、このアノテーション情報351の入力タイミングに最も近い入力タイミングを持つ状態情報(S)302、行動情報(A)301を、対応付けてデータベースに格納する。
 なお、図12に示す例は一例であり、例えば、アノテーション入力装置250からアノテーション情報(サブ報酬(Rs)設定情報)351に併せて、状態情報(S)や、行動情報(A)を学習実行装置110に入力する構成としてもよい。
 図13は、本開示の情報処理システム(情報処理装置)の構成例を示す図である。
 図13に示す情報処理システムは、先に図5を参照して説明したと同様、学習実行装置310と、処理実行装置320を有し、さらに、アノテーション(サブ報酬設定情報)入力装置350を有している。
 なお、これらの3つの装置は、1つの情報処理装置としても構成可能であり、個別の装置として構成することも可能である。
 図13に示す学習実行装置310は、強化学習アルゴリズムに従った学習処理を実行する装置である。
 また、処理実行装置320は、特定の処理を実行する装置である。例えばお掃除ロボットであれば自走して掃除を行う装置である。あるいはゲームプログラムを実行してゲームを行う装置等である。
 図13に示す学習実行装置310は、先に図5を参照して説明した学習実行装置110と同様、以下の構成要素を有する。すなわち、データベース311、学習実行部312、行動決定部313、決定行動要求部314、行動情報入力部315、状態情報入力部316、基本報酬情報入力部317を有する。
 さらに、図13に示す学習実行装置310は、図5を参照して説明した学習実行装置110には無い構成要素である、アノテーション(サブ報酬(Rs)設定情報)入力部318を有する。
 図13に示す学習実行装置310は、図5に示す学習実行装置110と異なり、アノテーション(サブ報酬設定情報)入力装置350から、アノテーション(サブ報酬設定情報)351が入力される。
 ユーザ201は、任意のタイミングで、アノテーション(サブ報酬設定情報)入力装置350から、アノテーション(サブ報酬設定情報)351を入力することができる。
 アノテーション(サブ報酬設定情報)351とは、先に図10、図11を参照して説明したように、ユーザ201によって任意に設定できる報酬、すなわちサブ報酬(Rs)の設定情報である。
 学習実行装置310は、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬設定情報)351をアノテーション(サブ報酬設定情報)入力部318を介してデータベース311に格納する。
 学習実行装置310のデータベース311に格納されるデータは、先に図5を参照して説明した情報に、アノテーション入力時の状態(S)、行動(A)、報酬(R)各情報の組み合わせからなるデータが追加されることになる。
 先に図5を参照して説明した処理と同様、学習実行装置310は、処理実行装置320から、随時、状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報を入力してデータベース311に格納する。
 図13に示す学習実行装置310は、この情報に加え、アノテーション入力時の状態(St)、行動(At)を、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351に対応付けてデータベース311に格納する。
 これらのデータのデータベース格納処理は、図13には示していないが、学習実行装置310内の制御部による制御の下で実行される。
 なお、処理実行装置320から入力する報酬と、アノテーション(サブ報酬設定情報)入力装置350から入力する報酬を区別するため、
 処理実行装置320から入力する報酬を、基本報酬(Rt)とし、
 アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬設定情報)351に含まれる報酬をサブ報酬(Rs)として区別して示している。
 このように、図13に示す構成において、学習実行装置310は、処理実行装置320から入力する状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報のみならず、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351と、そのタイミングの状態情報(St)302、行動情報(At)301bもデータベース311に格納する。
 なお、ユーザ201によるアノテーション351の入力に応じて学習実行装置310がデータベース311に登録するデータは、先に説明したようにアノテーション設定時の状態(S)、行動(A)、報酬(R)各情報の組み合わせからなるデータである。具体的には、例えば以下のデータによって構成される。
 状態情報(S)は、アノテーション設定時のゲームのシーンの識別情報、アノテーション設定位置等によって構成される。
 行動情報(A)は、アノテーション設定時のキャラクタの位置、キャラクタの動き(方向、速度等)の情報によって構成される。
 報酬情報(R)は、様々な設定が可能であるが、最終的なゴールに至ることで得られる基本設定の報酬よりは小さい報酬に設定する。このサブ報酬の値は、予めデフォルト値として規定しておいてもよいし、ユーザのアノテーション入力時に逐次、ユーザが設定可能な構成としてもよい。
 また、報酬は、プラスの報酬のみに限らず、マイナスの報酬を設定する構成としてもよい。例えばキャラクタが不正解のルートに進んだ地点にアノテーションを設定して、そのアノテーションを「マイナス報酬」を設定したアノテーションとして学習実行装置のデータベースに登録することも可能である。
 例えば、アノテーション入力装置から、任意の報酬の値、例えば-100~+100等の報酬範囲の報酬値を入力可能な構成として、ユーザが任意に設定した報酬値を学習実行装置のデータベースに登録可能な構成としてもよい。
 図13に示す学習実行装置310の学習実行部312は、先に図5を参照して説明した学習実行装置110の学習実行部112と同様、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
 具体的には、データベース311に格納された例えば時系列の状態(S)、行動(A)、報酬(R)のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を導出して行動決定則に従った学習処理を行う。
 すなわち、先に図5を参照して説明した行動決定則を規定する以下の(式1)に従った学習処理を行う。
Figure JPOXMLDOC01-appb-M000002
 上記(式1)において、
 π(a|s)は、状態(s)における最適な戦略、すなわち状態(s)においてとるべき行動(a)を返す関数である。
 T(s,a,s')は、状態の変化(Transition)を表す関数であり、状態(s)において行動(a)を行うと状態(s')に変化することを示す。
 v(s')は、状態(s')に移行した場合の報酬の総和を意味する。
 argmaxは最大値を選択する関数である。
 上記(式1)は、状態sから状態s'に遷移する行動aから、報酬総和v(s')が最大化するものを選択する数式(行動決定則)である。
 すなわち、(式1)は、様々な状態(s)に応じて、期待報酬を最大化する行動(a)を決定する行動決定則である。
 なお、データベース311には、逐次、新たなデータが入力され、新たなデータ入力ごとにデータベース更新処理が実行される。学習実行部314は、例えば、データベース311のデータ更新ごとに行動決定則(式1)の更新処理を行う。
 この更新処理によって、様々な状態に応じた最適な行動、すなわち報酬を高くするための最適な行動が次第に明らかになっていく。
 図13に示す学習実行装置310のデータベース311には、処理実行装置320から入力する状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報のみならず、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351と、そのタイミングの状態情報(St)302、行動情報(At)301bも格納される。
 すなわち、データベース311には、先に説明した図5に示す学習実行装置110のデータベース111より、より密度の高い状態(S)、行動(A)、報酬(R)のデータセットが格納される。
 従って、図13に示す学習実行装置310の学習実行部312は、より多くのデータ(状態(S)、行動(A)、報酬(R))を利用した学習処理を行うことが可能となる。
 この結果、学習効率が高められ、報酬を高くするための最適な行動をより早く見つけ出すことが可能となる。
 すなわち、学習処理においては、事前にアノテーション(サブ報酬設定情報)入力装置350から入力されたアノテーション(サブ報酬(Rs)設定情報)351を利用した学習が可能となる。処理実行装置320が例えば自律制御によって行動する場合、処理実行装置320が、事前に設定したアノテーションと同一、あるいは類似する状態になった場合、サブ報酬が得られることになる。
 なお、処理実行装置320の状態がアノテーションと類似する状態であるか否かの判定処理は、例えば処理実行装置320から入力する状態(S)や、行動(A)の解析データを適用して実行することが可能である。例えば状態のメトリクスを作成して解析する等の処理が可能である。
 学習実行装置310の行動決定部313は、学習実行部312における学習処理において、随時更新される(式1)によって示される行動決定則を利用して、処理実行部320に実行させる次の行動を決定する。
 すなわち、行動決定則π(a|s)に従って、次の行動を決定する。
 決定行動要求部314は、行動決定部313の決定した行動(A)を処理実行装置320に実行させるため、処理実行装置320の行動実行部321に、決定した行動を実行させるための要求を行う。図に示すように、行動情報(At)301aを出力する。tは時間を示すパラメータである。
 処理実行装置320の行動実行部321は、学習実行装置310の決定行動要求部314から入力した行動要求に従った行動、すなわち、行動情報(At)301aに従った行動を実行する。
 処理実行装置320の行動実行部321の実行した行動に関する行動情報(At)301bは、学習実行装置110の行動情報入力部315に入力され、データベース311に格納される。
 処理実行装置320は、さらに、状態情報取得部322、基本報酬情報取得部323を有する。
 処理実行装置320の状態情報取得部322は、時間(t)の状態(S)である状態情報(St)302を、随時、取得して、学習実行部310の状態情報入力部316に出力する。
 学習実行部310の状態情報入力部316は、処理実行装置320の状態情報取得部322から入力した状態情報(St)302をデータベース311に格納する。
 処理実行装置320の状態情報取得部322の取得する状態情報とは、例えば、処理実行装置320が、お掃除ロボットである場合、お掃除ロボットの位置情報、走行情報(速度、方向)等の情報によって構成される。
 また、処理実行装置320が、ゲーム実行装置である場合、ゲームの場面を示すシーン情報、キャラクタ位置、走行情報(速度、方向)等によって構成される。
 また、処理実行装置320の基本報酬情報取得部323は、時間(t)の状態(S)である基本報酬情報(Rt)303を、随時、取得して、学習実行部310の基本報酬情報入力部317に出力する。
 学習実行部310の基本報酬情報入力部317は、処理実行装置320の基本報酬情報取得部323から入力した基本報酬情報(Rt)303をデータベース311に格納する。
 処理実行装置320の報酬情報取得部323の取得する報酬情報とは、例えば、処理実行装置320が、ゲーム実行装置である場合、ゲームのスコア等によって構成される。
 処理実行装置320が、お掃除ロボットである場合、例えば掃除完了に伴って生成される評価情報等である。具体的には、掃除の開始から終了に至るまでの時間情報や、経路情報等に基づく効率性の評価情報等である。
 なお、先に図5を参照して説明した構成と同様、処理実行装置320に基本報酬情報取得部323が設定されていない場合、学習実行装置310に報酬計算部を設定して、処理実行装置320から入力する状態情報と、行動情報に基づいて、予め設定した報酬算出アルゴリズムを適用して報酬を算出する構成としてもよい。
 この場合、学習実行装置310の報酬算出部の算出した報酬(Rt)が、データベース311に格納される。
 前述したように、図13に示す学習実行装置310のデータベース111には、
 処理実行装置320から入力される状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報、
 さらに、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351と、そのタイミングの状態情報(St)302、行動情報(At)301b、
 これらの情報が格納される。
 この結果、データベース311には、先に説明した図5に示すデータベース111より、より密度の高い状態(S)、行動(A)、報酬(R)のデータセットが格納されることになり、学習実行部312は、より多くのデータ(状態(S)、行動(A)、報酬(R))を利用した学習処理を行うことが可能となる。
 この結果、学習効率が高められ、報酬を高くするための最適な行動をより早く明らかにすることが可能となる。
 図13に示す学習実行装置310と、処理実行装置320と、アノテーション(サブ報酬設定情報)入力装置350は、先に図12を参照して説明したように、1つの情報処理装置として構成することが可能であるが、個別の装置として構成することも可能である。
 個別の装置とした装置構成例について、図14以下を参照して説明する。
 図14には、学習実行装置310とアノテーション(サブ報酬設定情報)入力装置350を一つの装置とし、処理実行装置320を別の装置とした構成例を示す図である。
 図14には、お掃除ロボット405と、お掃除ロボット405の動作制御を行う機器としてのスマホ401、リモコン402を示している。
 スマホ401、またはリモコン402は、お掃除ロボット405の動作制御を行うコントローラとして機能する。
 スマホ401、またはリモコン402は、学習実行装置310として機能する学習プログラム実行部と、アノテーション(サブ報酬設定情報)入力装置350として機能する入力部を有する。
 図に示すリモコン402には、アノテーション(サブ報酬設定情報)入力部403A,403Bが設定されている。
 例えば、[GOOD]のボタンからなるアノテーション入力部403aは、プラスの報酬を設定したアノテーションの入力時に利用される。
 一方、[BAD]のボタンからなるアノテーション入力部403bは、マイナスの報酬を設定したアノテーションの入力時に利用される。
 お掃除ロボット405は、処理実行部420として機能する掃除プログラム実行部を有する。
 処理実行装置420としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、学習プログラム実行部を有するスマホ401、またはリモコン402に入力されて学習処理が行われることになる。
 さらに、ユーザは、スマホ401、またはリモコン402の入力部を介して任意のタイミングで、アノテーション(サブ報酬設定情報)の入力処理を行うことができる。
 この入力情報も、スマホ401、またはリモコン402の学習実行装置310内のデータベースに格納され、その後の学習処理に利用される。
 図15は、学習実行装置310と処理実行装置320を、お掃除ロボット405の内部に有する設定とし、スマホ401、またはリモコン402を、アノテーション(サブ報酬設定情報)入力装置350として設定した構成である。
 お掃除ロボット405は、学習実行装置310として機能する学習プログラム実行部と、処理実行部320として機能する掃除プログラム実行部を有する。
 処理実行装置320としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、お掃除ロボット405内の学習プログラム実行部に入力されて学習処理が行われることになる。
 ユーザは、アノテーション(サブ報酬設定情報)入力装置350として機能するスマホ401、またはリモコン402の入力部を介して任意のタイミングで、アノテーション(サブ報酬設定情報)の入力処理を行うことができる。
 この入力情報は、お掃除ロボット405の学習実行装置310として機能する学習プログラム実行部に送信されて、学習実行装置310内のデータベースに格納され、その後の学習処理に利用される。
 図15に示す構成において、リモコン402を利用したアノテーション(サブ報酬設定情報)入力処理例について、図16を参照して説明する。
 図16に示すお掃除ロボット405は、学習実行装置310と、処理実行装置320を内部に有する。
 リモコン402は、お掃除ロボット405のコントローラであり、かつアノテーション(サブ報酬設定情報)入力装置350として機能する。
 お掃除ロボット405は、リモコン402に対するユーザ201の操作によって自由に移動することができる。
 ユーザ201は、部屋内部を効率的に掃除させるためのルートを考えて、そのルートに従ってお掃除ロボット405を移動させて掃除をさせる。
 さらに、掃除実行中のルート上の複数のポイントで、アノテーション(サブ報酬設定情報)の入力処理を実行する。
 この入力情報は、お掃除ロボット405の学習実行装置310として機能する学習プログラム実行部に送信されて、学習実行装置310内のデータベースに格納される。
 その後、このデータが、学習処理に利用される。
 この学習処理によって、お掃除ロボット405は、サブ報酬の取得可能なルート、すなわちユーザの設定したルートに従って掃除を自律的に行うことが可能となる。
 図17に示す例は、学習実行装置310と、処理実行装置320と、アノテーション(サブ報酬設定情報)入力装置350をそれぞれ個別の装置とした例である。
 処理実行装置320が、お掃除ロボット405、
 学習実行装置310が、リモコン402、
 アノテーション(サブ報酬設定情報)入力装置350が、スマホ401、
 これらの3つの装置が、それぞれ通信を実行して処理を行う。
 お掃除ロボット405は、処理実行装置320として機能する掃除プログラム実行部により、掃除を実行し、行動(A)、状態(S)、基本報酬(R)の各情報をリモコン402に送信する。
 アノテーション(サブ報酬(Rs)設定情報)入力装置350として機能するスマホ401は、ユーザにより、任意のタイミングで、アノテーション(サブ報酬設定情報)の入力処理が行われ、入力情報がリモコン402に送信される。
 リモコン402は、学習実行装置310として機能する学習プログラム実行部を有し、お掃除ロボット405から入力する行動(A)、状態(S)、基本報酬(R)の各情報をデータベースに格納する。
 さらに、アノテーション(サブ報酬設定情報)入力装置350として機能するスマホ401から入力するアノテーション(サブ報酬(Rs)設定情報)も、そのタイミングの行動(A)、状態(S)、報酬(Rs)の各情報のセットとしてデータベースに格納する。
 リモコン402は、学習実行装置310として機能する学習プログラム実行部において、データベースに格納されたデータヲ利用した学習処理を実行し、最適なお掃除ルートを学習により、決定する。
 その後、リモコン402により、お掃除ロボット405を起動するのみで、学習したルートに従ったコマンドがリモコン402からお掃除ロボット405に送信され、最適ルートでの掃除が可能となる。
 次に、図18を参照して、アノテーション(サブ報酬設定情報)入力装置350を利用して入力可能なアノテーション(サブ報酬設定情報)の情報例について説明する。
 アノテーション(サブ報酬設定情報)入力装置350を利用してアノテーション(サブ報酬設定情報)を入力する場合、先に説明したように、例えば、アノテーション(サブ報酬設定情報)入力装置350からは、サブ報酬(Rs)の設定情報のみを学習実行装置310に入力し、その他の情報である、行動(A)、状態(S)については、処理実行装置320からの入力情報を利用してデータベースに格納するという方法がある。
 その他、アノテーション(サブ報酬設定情報)入力装置350から、サブ報酬(Rs)の設定情報のみならず、行動(A)や状態(S)についての情報を入力してもよい。
 図18に示す例は、これら、アノテーション(サブ報酬設定情報)入力装置350から入力する入力情報のバリエーションについて説明する図であるる
 図18には、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬設定情報)の入力情報例として8種類の異なる例を示している。
 (1)は、教示行動列と、特定状態対応のアノテーションを併せて入力する例である。
 (2)は、アノテーションのついた状態のスナップショットの入力例である。
 (1),(2)の各々について(a)~(d)の4種類の具体例を示しているる
 (1)(a)は、教示行動列と、特定状態対応のアノテーションを併せて入力する例において、1つの状態(ステート)単位のアノテーションを、順次、入力する例である。
 教示行動列は、例えば図(1)(a)のデータとして示す矢印の進行ルートであり、このルート上にサブ報酬設定位置を示すアノテーションを設定したデータを生成して、これをアノテーション(サブ報酬設定情報)の入力情報とする例である。
 (1)(b)は、教示行動列と、特定状態対応のアノテーションを併せて入力する例において、連続状態(連続ステート)の複数のアノテーションを入力する例である。
 教示行動列は、例えば図(1)(b)のデータとして示す矢印の進行ルートであり、このルート上に連続して、サブ報酬設定位置を示すアノテーションを設定したデータを生成して、これをアノテーション(サブ報酬設定情報)の入力情報とする例である。
 この入力処理は、例えば、アノテーション(サブ報酬設定情報)入力装置350のアノテーション入力部を連続して押下し続ける処理によって行われる。
 (1)(c)は、(1)(a)の例と同様の処理により入力するアノテーションの各々に識別子(ID)を設定して入力する例である。
 識別子(ID)は、例えばアノテーション(サブ報酬設定情報)入力装置350内部で順次生成する識別子や、時間情報を利用することが可能である。
 (1)(d)は、(1)(b)の例と同様の処理により入力するアノテーションの各々に識別子(ID)を設定して入力する例である。
 (1)(c)の例と同様、識別子(ID)は、例えばアノテーション(サブ報酬設定情報)入力装置350内部で順次生成する識別子や、時間情報を利用することが可能である。
 (2)(a)は、アノテーションのついた状態のスナップショットの入力例において、1つの状態(ステート)単位のアノテーションを、順次、入力する例である。
 例えば図(2)(a)に示すように、アノテーションの設定位置におけるスナップショット、例えばゲームのシーンを示すスナップショットを生成して、これをアノテーション(サブ報酬設定情報)の入力情報とする例である。
 (2)(b)は、アノテーションのついた状態のスナップショットの入力例において、連続状態(連続ステート)の複数のアノテーションを入力する例である。
 例えば図(2)(b)に示すように、連続するアノテーション設定位置におけるスナップショット、例えばゲームのシーンを示すスナップショットを生成して、これをアノテーション(サブ報酬設定情報)の入力情報とする例である。
 この入力処理は、例えば、アノテーション(サブ報酬設定情報)入力装置350のアノテーション入力部を連続して押下し続ける処理によって行われる。
 (2)(c)は、(2)(a)の例と同様の処理により入力するアノテーションの各々に識別子(ID)を設定して入力する例である。
 識別子(ID)は、例えばアノテーション(サブ報酬設定情報)入力装置350内部で順次生成する識別子や、時間情報を利用することが可能である。
 (2)(d)は、(2)(b)の例と同様の処理により入力するアノテーションの各々に識別子(ID)を設定して入力する例である。
 (2)(c)の例と同様、識別子(ID)は、例えばアノテーション(サブ報酬設定情報)入力装置350内部で順次生成する識別子や、時間情報を利用することが可能である。
  [3.情報処理装置の実行する処理のシーケンスについて]
 次に、図19以下に示すフローチャートを参照して、情報処理装置の実行する処理のシーケンスの例について説明する。
 以下において説明する処理シーケンスは、学習実行装置の実行する処理の処理シーケンスである。
 図13他を参照して説明したアノテーション(サブ報酬設定情報)入力装置を利用した学習実行装置310の処理と、アノテーション(サブ報酬設定情報)入力装置を利用しない従来型の図5に示す構成における学習実行装置110の処理の違いを理解しやすくするため、図5に示す学習処理装置110の処理と、図13に示す学習処理装置310の処理シーケンスについて、順次、説明する。
 まず、図19に示すフローチャートを参照して、アノテーション(サブ報酬設定情報)入力装置を利用しない従来型の図5に示す構成における学習実行装置110の処理のシーケンスについて説明する。
 なお、図19に示すフローに従った処理は、図5に示す学習実行装置110のプログラム実行機能を持つCPU等によって構成されるデータ処理部が、記憶部に格納されたプログラムに従って実行することができる。
 以下、図19に示すフローの各ステップの処理について、順次、説明する。
  (ステップS101)
 まず、学習実行装置110のデータ処理部は、ステップS101において、データベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
 この処理は、図5に示す学習実行装置110の学習実行部112と、行動決定部113の実行する処理である。
 先に図5を参照して説明したように、学習実行装置110の学習実行部112は、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
 具体的には、データベース111に格納された例えば時系列の状態(S)、行動(A)、報酬(R)のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を規定する前述の(式1)π(a|s)に従った学習処理を行う。
 (式1)は、様々な状態(s)に応じて、期待報酬を最大化する行動(a)を決定する行動決定則である。
 データベース111には、処理実行装置120から、随時、入力された各時間(t)の状態(S)、行動(A)、報酬(R)のデータが格納されている。
学習実行装置110のデータ処理部は、ステップS101において、データベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
  (ステップS102)
 次に、学習実行装置110のデータ処理部は、ステップS102において、ステップS101で決定した行動の実行要求を処理実行装置に出力する。
 この処理は、図5に示す学習実行装置110の決定行動要求部114の実行する処理である。
 決定行動要求部114は、行動決定部113の決定した行動(A)を処理実行装置120に実行させるため、処理実行装置120の行動実行部121に、決定した行動を実行させるための要求を行う。
  (ステップS103)
 次に、学習実行装置110のデータ処理部は、ステップS103において、処理実行装置120から、(行動(A),状態(S)、基本報酬(R))の各情報を入力する。
 なお、これらの情報は、随時、入力可能であり、フローのステップ順に関わらず、任意のタイミングで入力される。
  (ステップS104)
 次に、学習実行装置110のデータ処理部は、ステップS104において、ステップS103で、処理実行装置120から入力した情報、(行動(A),状態(S)、基本報酬(R))これらの各情報をデータベース111に格納し、データベースの更新処理を行う。
  (ステップS105)
 次に、学習実行装置110のデータ処理部は、ステップS105において、処理が完了、すなわち、処理実行装置120における処理が完了したか否かを判定し、処理が終了していない場合は、ステップS101以下の処理を繰り返し実行する。
 学習実行装置110のデータベース111には、行動(A)、状態(S)、報酬(R)のデータセットが、随時格納されてデータベース更新がなされる。
 学習実行装置110の学習実行部112は、データベース111に新たに格納されたデータを含むデータ(状態(S)、行動(A)、報酬(R))を利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則、
  π(a|s)・・・(式1)
 上記(式1)に従った学習処理を行う。
 この処理を繰り返すことで、最も報酬が高くなる設定の行動を予測して、その予測行動に従った処理を実行することが可能となる。
 この図19に示すフローは、図5に示す構成の学習実行装置110、すなわち、図13他を参照して説明したアノテーション(サブ報酬設定情報)入力装置を有していないシステムにおける処理フローである。
 次に、図20に示すフローチャートを参照して、図13他を参照して説明したアノテーション(サブ報酬設定情報)入力装置を利用した学習実行装置310の処理のシーケンスについて説明する。
 なお、図20に示すフローに従った処理は、図13に示す学習実行装置310のプログラム実行機能を持つCPU等によって構成されるデータ処理部が、記憶部に格納されたプログラムに従って実行することができる。
 以下、図20に示すフローの各ステップの処理について、順次、説明する。
  (ステップS301)
 まず、学習実行装置310のデータ処理部は、ステップS301において、データベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
 この処理は、図13に示す学習実行装置310の学習実行部312と、行動決定部313の実行する処理である。
 先に図13を参照して説明したように、学習実行装置310の学習実行部312は、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
 具体的には、データベース311に格納された例えば時系列の状態(S)、行動(A)、報酬(R)のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を規定する前述の(式1)π(a|s)に従った学習処理を行う。
 (式1)は、様々な状態(s)に応じて、期待報酬を最大化する行動(a)を決定する行動決定則である。
 データベース311には、処理実行装置320から、随時、入力された各時間(t)の状態(S)、行動(A)、基本報酬(R)のデータが格納されている。
 さらに、図13に示す学習実行装置310のデータベース311には、図13に示すアノテーション(サブ報酬(Rs)設定情報)入力装置350からの入力情報であるサブ報酬(Rs)と、サブ報酬(Rs)対応の状態(S)、行動(A)の各情報も記憶されている。
 すなわち、図13に示す学習実行装置310のデータベース311には、先に説明した図5に示すデータベース111より、より密度の高い状態(S)、行動(A)、報酬(R)のデータセットが格納されている。
 学習実行装置310のデータ処理部は、ステップS301において、これらのより多くの情報からなるデータベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
 図13に示す学習実行装置310の学習実行部312は、より多くのデータ(状態(S)、行動(A)、報酬(R))を利用した学習処理が可能となり、学習効率が高められ、報酬を高くするための最適な行動をより早く明らかにすることが可能となる。
  (ステップS302)
 次に、学習実行装置310のデータ処理部は、ステップS302において、ステップS301で決定した行動の実行要求を処理実行装置に出力する。
 この処理は、図13に示す学習実行装置310の決定行動要求部314の実行する処理である。
 決定行動要求部314は、行動決定部313の決定した行動(A)を処理実行装置320に実行させるため、処理実行装置320の行動実行部321に、決定した行動を実行させるための要求を行う。
  (ステップS303)
 次に、学習実行装置310のデータ処理部は、ステップS303において、処理実行装置320から、(行動(A),状態(S)、基本報酬(R))の各情報を入力する。
 なお、これらの情報は、随時、入力可能であり、フローのステップ順に関わらず、任意のタイミングで入力される。
  (ステップS304)
 次に、学習実行装置310のデータ処理部は、ステップS304において、ステップS303で、処理実行装置320から入力した情報、(行動(A),状態(S)、基本報酬(R))これらの各情報をデータベース311に格納し、データベースの更新処理を行う。
  (ステップS305)
 次に、学習実行装置310のデータ処理部は、ステップS305において、アノテーション(サブ報酬(Rs)設定情報)の入力有無を判定する。
 すなわち、アノテーション(サブ報酬設定情報)入力装置350からアノテーション(サブ報酬(Rs)設定情報)が入力されたか否かを判定する。
 入力ありの判定がなされた場合は、ステップS306に進む。
 入力ありの判定がなされなかった場合は、ステップS307に進む。
  (ステップS306)
 ステップS305において、アノテーション(サブ報酬設定情報)入力装置350からのアノテーション(サブ報酬(Rs)設定情報)入力が検出された場合、学習実行装置310のデータ処理部は、ステップS306において、アノテーション(サブ報酬設定情報)入力装置350から入力したアノテーション(サブ報酬(Rs)設定情報)と、この時点の行動(A),状態(S)の各情報を取得し、これらをデータベース311に格納し、データベース311の更新処理を行う。
 この処理によりデータベース311には、ユーザ入力に基づくアノテーション(サブ報酬設定情報)に対応する学習用のデータが蓄積されることになる。
  (ステップS307)
 次に、学習実行装置310のデータ処理部は、ステップS307において、処理が完了、すなわち、処理実行装置320における処理が完了したか否かを判定し、処理が終了していない場合は、ステップS301以下の処理を繰り返し実行する。
 先に図13を参照して説明したように、学習実行装置310のデータベース311には、処理実行装置320から入力される状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報のみならず、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351と、そのタイミングの状態情報(St)302、行動情報(At)301bも格納される。
 すなわち、図13に示す学習実行装置310のデータベース311には、先に説明した図5に示すデータベース111より、より密度の高い状態(S)、行動(A)、報酬(R)のデータセットが格納され、学習実行部312は、より多くのデータ(状態(S)、行動(A)、報酬(R))を利用した学習処理を行うことが可能となる。
 この結果、学習効率が高められ、報酬を高くするための最適な行動をより早く明らかにすることが可能となる。
  [4.情報処理装置のハードウェア構成例について]
  次に、図21を参照して情報処理装置のハードウェア構成例について説明する。
 図21は、本開示の処理を実行する情報処理装置、例えば図13に示す学習実行装置310、処理実行装置320、アノテーション入力装置350の各装置、あるいはこれら各装置を組み合わせた装置として利用可能な情報処理装置のハードウェア構成例を示す図である。
 CPU(Central Processing Unit)501は、ROM(Read Only Memory)502、または記憶部508に記憶されているプログラムに従って各種の処理を実行する制御部やデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)503には、CPU501が実行するプログラムやデータなどが記憶される。これらのCPU501、ROM502、およびRAM503は、バス504により相互に接続されている。
 CPU501はバス504を介して入出力インタフェース505に接続され、入出力インタフェース505には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部506、表示部やスピーカなどに対するデータ出力を実行する出力部507が接続されている。CPU501は、入力部506から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部507に出力する。
 入出力インタフェース505に接続されている記憶部508は、例えばハードディスク等からなり、CPU501が実行するプログラムや各種のデータを記憶する。通信部509は、Wi-Fi通信、ブルートゥース(登録商標)(BT)通信、その他インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
 入出力インタフェース505に接続されているドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア511を駆動し、データの記録あるいは読み取りを実行する。
  [5.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) 処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
 前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
 サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
 前記学習実行部は、
 前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理装置。
 (2) 前記学習実行部は、
 前記学習処理によって、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出する(1)に記載の情報処理装置。
 (3) 前記情報処理装置は、さらに、
 前記行動決定則に従って、前記処理実行部に実行させる行動を決定する行動決定部を有する(1)または(2)に記載の情報処理装置。
 (4) 前記情報処理装置は、さらに、
 前記処理実行部から入力する状態、行動、報酬の各情報を入力するデータ入力部を有し、
 前記データベースは、
 前記データ入力部の入力データを格納するとともに、前記アノテーション入力部を介して入力されたサブ報酬設定情報を格納する(1)~(3)いずれかに記載の情報処理装置。
 (5) 前記アノテーション入力部は、ユーザによる任意タイミングでの入力処理が可能なアノテーション入力装置を介して入力されるサブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納する(1)~(4)いずれかに記載の情報処理装置。
 (6) 前記情報処理装置は、さらに、
 前記アノテーション入力時における前記処理実行部の状態、行動の各情報を、前記アノテーションに含まれるサブ報酬設定情報に対応付けてデータベースに格納する制御部を有する(1)~(5)いずれかに記載の情報処理装置。
 (7) 前記学習実行部は、
 前記処理実行部から入力する状態、行動、報酬の各情報と、
 前記アノテーション入力部を介して入力されたサブ報酬設定情報に対応付けてデータベースに格納された状態、行動、サブ報酬の各情報の双方を適用した学習処理を実行する(6)に記載の情報処理装置。
 (8) 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
 前記処理実行部の実行する処理を観察するユーザによって入力される情報である(1)~(7)いずれかに記載の情報処理装置。
 (9) 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
 前記処理実行部の実行する処理をコントロールするユーザによって入力される情報である(1)~(8)いずれかに記載の情報処理装置。
 (10) 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
 前記処理実行部の実行する処理を観察するユーザによって入力され、
 前記処理実行部の実行する処理が正解であることを確認したユーザによって入力されるプラス報酬値を有する報酬設定情報である(1)~(9)いずれかに記載の情報処理装置。
 (11) 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
 前記処理実行部の実行する処理を観察するユーザによって入力され、
 前記処理実行部の実行する処理が正解でないことを確認したユーザによって入力されるマイナス報酬値を有する報酬設定情報である(1)~(10)いずれかに記載の情報処理装置。
 (12) 前記処理実行部は、前記情報処理装置と異なる独立した装置であり、
 前記情報処理装置は、前記処理実行部との通信処理によってデータ送受信を行い、前記処理実行部の制御を行う(1)~(11)いずれかに記載の情報処理装置。
 (13) 前記アノテーション入力部は、前記情報処理装置と異なる独立したアノテーション入力装置によって入力されるアノテーション情報を入力する構成である(1)~(12)いずれかに記載の情報処理装置。
 (14) 情報処理装置において実行する情報処理方法であり、
 前記情報処理装置は、
 処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
 前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
 サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
 前記学習実行部が、
 前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理方法。
 (15) 情報処理装置において情報処理を実行させるプログラムであり、
 前記情報処理装置は、
 処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
 前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
 サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
 前記プログラムは、前記学習実行部に、
 前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行させるプログラム。
 また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
 具体的には、例えば、処理実行部の状態、行動、報酬の各情報を格納するデータベースと、データベースに格納された情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、サブ報酬設定情報を含むアノテーション情報を入力して、データベースに格納するアノテーション入力部を有する。学習実行部は、処理実行部から入力する状態、行動、報酬の各情報と、サブ報酬設定情報を適用した学習処理を実行する。学習実行部は、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出し、行動決定則に従って、処理実行部に実行させる行動を決定する。
 これらの処理により、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
  10 学習実行部
  20 処理実行部
  41 お掃除ロボット
  42 PC
 110 学習実行装置
 111 データベース
 112 学習実行部
 113 行動決定部
 114 決定行動要求部
 115 行動情報入力部
 116 状態情報入力部
 117 報酬情報入力部
 120 処理実行部
 121 行動実行部
 122 状態情報取得部
 123 報酬情報取得部
 130 PC
 131 お掃除ロボット
 132 リモコン
 133 スマホ
 200 PC
 201 ユーザ
 310 学習実行装置
 311 データベース
 312 学習実行部
 313 行動決定部
 314 決定行動要求部
 315 行動情報入力部
 316 状態情報入力部
 317 報酬情報入力部
 318 アノテーション入力部
 320 処理実行装置
 321 行動実行部
 322 状態情報取得部
 323 基本報酬情報取得部
 350 アノテーション入力装置
 401 スマホ
 402 リモコン
 403 アノテーション入力部
 405 お掃除ロボット
 501 CPU
 502 ROM
 503 RAM
 504 バス
 505 入出力インタフェース
 506 入力部
 507 出力部
 508 記憶部
 509 通信部
 510 ドライブ
 511 リムーバブルメディア

Claims (15)

  1.  処理実行部の状態、行動、報酬の各情報を格納するデータベースと、
     前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
     サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
     前記学習実行部は、
     前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理装置。
  2.  前記学習実行部は、
     前記学習処理によって、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出する請求項1に記載の情報処理装置。
  3.  前記情報処理装置は、さらに、
     前記行動決定則に従って、前記処理実行部に実行させる行動を決定する行動決定部を有する請求項1に記載の情報処理装置。
  4.  前記情報処理装置は、さらに、
     前記処理実行部から入力する状態、行動、報酬の各情報を入力するデータ入力部を有し、
     前記データベースは、
     前記データ入力部の入力データを格納するとともに、前記アノテーション入力部を介して入力されたサブ報酬設定情報を格納する請求項1に記載の情報処理装置。
  5.  前記アノテーション入力部は、ユーザによる任意タイミングでの入力処理が可能なアノテーション入力装置を介して入力されるサブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納する請求項1に記載の情報処理装置。
  6.  前記情報処理装置は、さらに、
     前記アノテーション入力時における前記処理実行部の状態、行動の各情報を、前記アノテーションに含まれるサブ報酬設定情報に対応付けてデータベースに格納する制御部を有する請求項1に記載の情報処理装置。
  7.  前記学習実行部は、
     前記処理実行部から入力する状態、行動、報酬の各情報と、
     前記アノテーション入力部を介して入力されたサブ報酬設定情報に対応付けてデータベースに格納された状態、行動、サブ報酬の各情報の双方を適用した学習処理を実行する請求項6に記載の情報処理装置。
  8.  前記アノテーション入力部を介して入力するサブ報酬設定情報は、
     前記処理実行部の実行する処理を観察するユーザによって入力される情報である請求項1に記載の情報処理装置。
  9.  前記アノテーション入力部を介して入力するサブ報酬設定情報は、
     前記処理実行部の実行する処理をコントロールするユーザによって入力される情報である請求項1に記載の情報処理装置。
  10.  前記アノテーション入力部を介して入力するサブ報酬設定情報は、
     前記処理実行部の実行する処理を観察するユーザによって入力され、
     前記処理実行部の実行する処理が正解であることを確認したユーザによって入力されるプラス報酬値を有する報酬設定情報である請求項1に記載の情報処理装置。
  11.  前記アノテーション入力部を介して入力するサブ報酬設定情報は、
     前記処理実行部の実行する処理を観察するユーザによって入力され、
     前記処理実行部の実行する処理が正解でないことを確認したユーザによって入力されるマイナス報酬値を有する報酬設定情報である請求項1に記載の情報処理装置。
  12.  前記処理実行部は、前記情報処理装置と異なる独立した装置であり、
     前記情報処理装置は、前記処理実行部との通信処理によってデータ送受信を行い、前記処理実行部の制御を行う請求項1に記載の情報処理装置。
  13.  前記アノテーション入力部は、前記情報処理装置と異なる独立したアノテーション入力装置によって入力されるアノテーション情報を入力する構成である請求項1に記載の情報処理装置。
  14.  情報処理装置において実行する情報処理方法であり、
     前記情報処理装置は、
     処理実行部の状態、行動、報酬の各情報を格納するデータベースと、
     前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
     サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
     前記学習実行部が、
     前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理方法。
  15.  情報処理装置において情報処理を実行させるプログラムであり、
     前記情報処理装置は、
     処理実行部の状態、行動、報酬の各情報を格納するデータベースと、
     前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
     サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
     前記プログラムは、前記学習実行部に、
     前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行させるプログラム。
PCT/JP2017/040356 2017-02-15 2017-11-09 情報処理装置、および情報処理方法、並びにプログラム WO2018150654A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018567988A JPWO2018150654A1 (ja) 2017-02-15 2017-11-09 情報処理装置、および情報処理方法、並びにプログラム
EP17896366.6A EP3584750A4 (en) 2017-02-15 2017-11-09 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND PROGRAM
US16/475,540 US20190332951A1 (en) 2017-02-15 2017-11-09 Information processing apparatus, and information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-026205 2017-02-15
JP2017026205 2017-02-15

Publications (1)

Publication Number Publication Date
WO2018150654A1 true WO2018150654A1 (ja) 2018-08-23

Family

ID=63170138

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/040356 WO2018150654A1 (ja) 2017-02-15 2017-11-09 情報処理装置、および情報処理方法、並びにプログラム

Country Status (4)

Country Link
US (1) US20190332951A1 (ja)
EP (1) EP3584750A4 (ja)
JP (1) JPWO2018150654A1 (ja)
WO (1) WO2018150654A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210047088A (ko) * 2019-10-21 2021-04-29 주식회사 코그넷나인 데이터 가공 장치 및 그 방법
JP2022525411A (ja) * 2019-03-15 2022-05-13 株式会社ソニー・インタラクティブエンタテインメント 対戦マッチのための人工知能モデルを訓練するためのシステム及び方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210260482A1 (en) * 2018-06-29 2021-08-26 Sony Corporation Information processing device and information processing method
US11663522B2 (en) * 2020-04-27 2023-05-30 Microsoft Technology Licensing, Llc Training reinforcement machine learning systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005238422A (ja) * 2004-02-27 2005-09-08 Sony Corp ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法
JP2013081683A (ja) * 2011-10-12 2013-05-09 Sony Corp 情報処理装置、情報処理方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005238422A (ja) * 2004-02-27 2005-09-08 Sony Corp ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法
JP2013081683A (ja) * 2011-10-12 2013-05-09 Sony Corp 情報処理装置、情報処理方法、及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MAEDA ET AL.: "Behavior acquisition supporting method used shaping reinforcement learning for autonomous agent", JAPAN SOCIETY FOR FUZZY THEORY AND INTELLIGENT INFORMATICS, vol. 21, no. 5, 1 October 2009 (2009-10-01), pages 722 - 733, XP055613516, ISSN: 1347-7986, DOI: 10.3156/jsoft.21.722 *
See also references of EP3584750A4
TEJAS D. KULKARNI: "Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation, [online", 30TH CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEM (NIPS 2016), BARCELONA, SPAIN, 27 January 2017 (2017-01-27), Retrieved from the Internet <URL:https://papers.nips.cc/paper/6233-hierarchical-deep-reinforcement-learning-integrating-temporal-abstraction-and-intrinsic-motivation>

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022525411A (ja) * 2019-03-15 2022-05-13 株式会社ソニー・インタラクティブエンタテインメント 対戦マッチのための人工知能モデルを訓練するためのシステム及び方法
JP7376607B2 (ja) 2019-03-15 2023-11-08 株式会社ソニー・インタラクティブエンタテインメント 対戦マッチのための人工知能モデルを訓練するためのシステム及び方法
KR20210047088A (ko) * 2019-10-21 2021-04-29 주식회사 코그넷나인 데이터 가공 장치 및 그 방법
KR102273398B1 (ko) 2019-10-21 2021-07-06 주식회사 코그넷나인 데이터 가공 장치 및 그 방법

Also Published As

Publication number Publication date
EP3584750A1 (en) 2019-12-25
EP3584750A4 (en) 2020-02-26
US20190332951A1 (en) 2019-10-31
JPWO2018150654A1 (ja) 2019-12-12

Similar Documents

Publication Publication Date Title
WO2018150654A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
Da Silva et al. A survey on transfer learning for multiagent reinforcement learning systems
Chernova et al. Robot learning from human teachers
Chernova et al. Confidence-based policy learning from demonstration using gaussian mixture models
Pardowitz et al. Incremental learning of tasks from user demonstrations, past experiences, and vocal comments
Crick et al. Human and robot perception in large-scale learning from demonstration
JP6453922B2 (ja) ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
CN107644255B (zh) 一种人工智能设备的数据处理方法、装置及系统
US20200409379A1 (en) Machine learning method and mobile robot
Asta et al. An apprenticeship learning hyper-heuristic for vehicle routing in HyFlex
Akkaladevi et al. Towards reinforcement based learning of an assembly process for human robot collaboration
Haasdijk et al. Racing to improve on-line, on-board evolutionary robotics
KR102248365B1 (ko) 사용자의 학습을 조정하는 방법 및 이를 이용한 서버
Langsfeld Learning task models for robotic manipulation of nonrigid objects
US11138536B1 (en) Intelligent implementation project management
Melo et al. A tutorial on machine learning for interactive pedagogical systems
Cakmak et al. Active learning with mixed query types in learning from demonstration
US20220150148A1 (en) Latency mitigation system and method
Freedman et al. Safety in AI-HRI: Challenges complementing user experience quality
Stulp et al. Combining declarative, procedural, and predictive knowledge to generate, execute, and optimize robot plans
Bisagno et al. Virtual crowds: An LSTM-based framework for crowd simulation
Srinath et al. Reinforcement Learning in Real-World Scenarios: Challenges, Applications, and Future Directions
Ghasemi et al. An Introduction to Reinforcement Learning: Fundamental Concepts and Practical Applications
Herman et al. Learning high-level navigation strategies via inverse reinforcement learning: A comparative analysis
Hussein Deep learning based approaches for imitation learning.

Legal Events

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

Ref document number: 17896366

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018567988

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017896366

Country of ref document: EP

Effective date: 20190916