WO2018110305A1 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
WO2018110305A1
WO2018110305A1 PCT/JP2017/043163 JP2017043163W WO2018110305A1 WO 2018110305 A1 WO2018110305 A1 WO 2018110305A1 JP 2017043163 W JP2017043163 W JP 2017043163W WO 2018110305 A1 WO2018110305 A1 WO 2018110305A1
Authority
WO
WIPO (PCT)
Prior art keywords
agent
reward
learning
definition
information processing
Prior art date
Application number
PCT/JP2017/043163
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 US16/343,644 priority Critical patent/US20190272558A1/en
Priority to EP17882203.7A priority patent/EP3557493A4/en
Priority to CN201780075833.6A priority patent/CN110073376A/zh
Priority to JP2018556565A priority patent/JP7047770B2/ja
Publication of WO2018110305A1 publication Critical patent/WO2018110305A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0226Incentive systems for frequent usage, e.g. frequent flyer miles programs or point systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present technology relates to an information processing device and an information processing method, and in particular, for example, an information processing device and an information processing that can realize various variations of scenes of various events in a simulator environment imitating the real world. Regarding the method.
  • an agent that acts in the simulator environment learns the agent's behavior decision rule so that it takes a desired action according to the purpose and situation.
  • reinforcement learning There is learning called reinforcement learning in the framework.
  • an agent determines an action a according to a learning model as an action decision rule, based on a state s having observed values that can be observed as components.
  • the agent takes action a determined according to the learning model, and receives a reward r indicating whether action a is appropriate for achieving the desired purpose.
  • the agent updates the learning model using the action a, the state s after the action a is taken, and the reward r for the action a so that the reward r (total) received in the future becomes larger.
  • the agent determines action a according to the updated learning model, and thereafter repeats the same processing.
  • Deep Q Net Network
  • Non-Patent Document 1 Deep Q Net (Network) (for example, see Non-Patent Document 1).
  • the reward r is calculated according to a predetermined reward definition.
  • the reward definition is a guideline for calculating the reward.For example, a function that quantitatively expresses whether the state s after the agent performs action a is good or bad in comparison with the state expected by the agent. It is a numerical formula etc.
  • exploratory behavior is interweaved with agent behavior.
  • a learning model is learned as a behavior decision rule through random behavior.
  • an agent takes an exploratory action
  • using real hardware in the real world places a heavy load on the real world environment and hardware. That is, in the worst case, a real-world object and hardware may collide, and the real-world object or hardware may be damaged.
  • agent reinforcement learning is performed by generating a simulator environment simulating the real world and performing a simulation of (virtual) agent behavior in the simulator environment.
  • the agent learning model
  • the agent is applied to an actual device, so that the device takes an appropriate action (performs operation) in the real world. be able to.
  • the agent B is programmed to act according to a predetermined rule, for example.
  • Agent B can only perform actions that the programmer assumed in advance, and as a result, variations of scenes that can be reproduced in the simulator environment are limited.
  • agent A is an agent as an autonomous driving vehicle that learns vehicle control laws
  • agent B is an agent as another vehicle such as a bicycle or a pedestrian
  • the agent as a bicycle or a pedestrian
  • the behavior of B is programmed in advance according to, for example, a realistic and standard physical model or behavior model.
  • Agent B by programming Agent B's behavior, various variations of scenes of various events that can occur exceptionally, such as the phenomenon of a pedestrian jumping out on the roadway or the event of the vehicle running backward, It is difficult to reproduce in the simulator environment.
  • This technology has been made in view of such a situation, and enables various variations of scenes of various events to be realized in a simulator environment imitating the real world.
  • An information processing apparatus includes a simulator environment generation unit that generates a simulator environment imitating a real world, a first that learns a behavior determination rule in accordance with a reward for the behavior in the simulator environment.
  • the reward definition that increases when the action is taken to be large and the reward that is obtained when the action is made so as to increase the reward of the first agent is reduced to the predetermined reward definition.
  • An information processing apparatus comprising: a reward providing unit that provides a reward according to the hostile reward definition to the second agent as the hostile reward definition to be performed .
  • the information processing method of the present technology generates a simulator environment that imitates the real world, acts in the simulator environment, and learns a behavior decision rule according to a reward for the behavior and the first agent
  • a reward according to a predetermined reward definition is provided to the first agent among the two agents, and the reward of the second agent is reduced by the second agent.
  • a reward definition that increases the reward obtained when acting and reduces the reward obtained when acting so as to increase the reward of the first agent is an adversary reward that opposes the predetermined reward definition.
  • the definition is an information processing method including providing a reward according to the hostile reward definition to the second agent.
  • the first agent and the second agent who act in the simulator environment imitating the real world and learn the behavior decision rule according to the reward for the behavior In contrast, rewards are provided.
  • a reward according to a predetermined reward definition is provided to the first agent.
  • the reward obtained when the second agent acts so as to reduce the reward of the first agent is increased, and the action of increasing the reward of the first agent is increased.
  • the reward definition that reduces the reward obtained in this case is defined as an adversary reward definition that is hostile to the predetermined reward definition, and the reward according to the hostile reward definition is provided to the second agent.
  • the information processing apparatus may be an independent apparatus or an internal block constituting one apparatus.
  • the information processing apparatus can be realized by executing a program on a computer.
  • a program can be provided by being transmitted through a transmission medium or by being recorded on a recording medium.
  • FIG. 3 is a block diagram illustrating a functional configuration example of an agent A.
  • FIG. It is a top view which shows typically the example of the simulator environment which the simulator environment production
  • 4 is a diagram illustrating an example of a component of a state s of an agent A.
  • FIG. FIG. 6 is a diagram for explaining an example of an action a of agent A. It is a figure which shows the example of the learning in the learning part 65 of the agent A, and the action determination in the action determination part 66.
  • FIG. It is a figure explaining the example of a reward definition of Agent A.
  • FIG. 4 is a diagram illustrating an example of agent B.
  • FIG. 10 is a flowchart illustrating an example of processing performed by agent A.
  • 5 is a flowchart for explaining an example of processing of a simulator environment providing unit 31. It is a figure which shows typically the example of the change pattern of the reward with respect to agents A and B.
  • FIG. It is a figure which shows the example of a display of GUI displayed on user I / F40. It is a flowchart explaining the example of the alert issuing process which issues an alert. It is a flowchart explaining the example of the alert issuing process which issues an alert.
  • FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
  • FIG. 1 is a diagram for explaining the outline of reinforcement learning.
  • the learning target agent 10 is a virtual agent, and includes an experience DB (Database) 11, a learning unit 12, and an action determination unit 13.
  • Agent 10 is placed in a simulator environment simulating the real world.
  • the behavior a is determined by the behavior determination unit 13 according to the learning model as the behavior determination rule ⁇ * (a
  • s) is, for example, the probability distribution of the action a for various states, and the action a having the greatest probability with respect to the state s is the action to be taken by the agent 10 (the determined action). Determined).
  • the agent 10 receives, from the simulator environment, a reward r indicating whether or not the decision action a is appropriate for achieving the desired purpose.
  • the learning unit 12 uses the (determined) action a, the state s after the action a is taken, and the reward r for the action a, and the reward r (total) received in the future is larger.
  • s) (as a learning model) of the agent 10 is performed.
  • the action determining unit 13 determines the next action a according to the learned action determination rule ⁇ * (a
  • the experience DB 11 indicates that the state s, action a, and A time series of reward r (s 1 , a 1 , r 1 , s 2 , a 2 , r 2 ,... S N , a N , r N ,...) Is stored.
  • the learning unit 12 uses the time series of the state s, the action a, and the reward r stored in the experience DB 11, and the action determination rule ⁇ * (a
  • argmax ⁇ [x] represents the behavior decision rule ⁇ that maximizes x in the behavior decision rule ⁇
  • E [x] represents the expected value of x.
  • represents the summation when t is changed from the initial value 1 to ⁇ .
  • is a parameter called a discount rate, and a value between 0 and 1 is adopted.
  • R In (s t, a t, s t + 1) the state s t, a result of the agent 10 has acted a t, a scalar value as reward r obtained when the state s t + 1
  • Equation (1) E [ ⁇ t R (s t , a t , s t + 1 )
  • Equation (1) ⁇ * (a
  • FIG. 2 is a block diagram illustrating a functional configuration example of an embodiment of a simulation system to which the present technology is applied.
  • the simulation system includes a simulator 30 and a user I / F (Interface) 40.
  • the simulator 30 has a learning target (virtual) Agent A (first agent) and a learning target (virtual) Agent B (second agent).
  • the learning target agent is only one agent A, but the learning target agent may be a plurality of agents.
  • the simulator 30 can include one or more agents that are learning targets and one or more agents that are not learning targets.
  • the simulator 30 includes a simulator environment providing unit 31 and an input / output control unit 36 in addition to agents A and B.
  • the simulator environment providing unit 31 includes a simulator environment generating unit 32, a reward providing unit 33, and a learning status determining unit 34, and performs various processes regarding the provision of the simulator environment.
  • the simulator environment generation unit 32 generates and provides a simulator environment. Agents A and B act in the simulator environment provided from the simulator environment generation unit 32, and learn behavior decision rules by reinforcement learning.
  • the reward providing unit 33 observes the agents A and B and the simulator environment, and calculates and provides a reward r for the agents A and B (the action a) based on the observation result.
  • the reward providing unit 33 calculates a reward for the agent A according to a predetermined reward definition determined in advance, and calculates a reward for the agent B according to the hostile reward definition that is hostile to the reward definition of the agent A.
  • the hostile reward definition that is hostile to Agent A's reward definition is that the reward obtained when Agent B acts in a situation that makes Agent A's reward small, and the Agent A's reward becomes large It means the reward definition that the reward obtained when acting like this becomes small.
  • the learning status determination unit 34 learns learning of the agents A and B (behavior determination rule ⁇ * (a
  • the input / output control unit 36 controls input / output of information with respect to the user I / F 40.
  • the user I / F 40 is configured with devices for exchanging information with the user, such as a touch panel, a display, a speaker, a keyboard, a pointing device, and a communication I / F.
  • the input / output control unit 36 functions as a display control unit that displays an image and other information such as a GUI (Graphical User Interface) on a touch panel and a display configuring the user I / F 40.
  • GUI Graphic User Interface
  • the input / output control unit 36 functions as an output control unit that outputs voice and other sounds from the speaker constituting the user I / F 40.
  • the input / output control unit 36 functions as a reception unit that receives input of operations such as a touch panel, a keyboard, a pointing device, and an operable GUI as a user I / F 40 by the user.
  • the input / output control unit 36 functions as an issue control unit that issues an alert from the user I / F 40 according to the learning status of the agents A and B. That is, the input / output control unit 36 outputs (displays) a message as an alert from, for example, a touch panel, a display, or a speaker constituting the user I / F 40. Further, the input / output control unit 36 transmits, for example, a mail or other message as an alert to the communication I / F configuring the user I / F 40.
  • FIG. 3 is a block diagram illustrating a functional configuration example of the agent A in FIG.
  • Agent B can be configured in the same manner as Agent A in FIG.
  • Agent A includes an action plan unit 61, an ambient environment information acquisition unit 62, a data acquisition unit 63, a database 64, a learning unit 65, an action determination unit 66, and an action control unit 67.
  • the action plan unit 61 sets, for example, a target route for the agent A as the action plan. Furthermore, the action planning unit 61 sets points (hereinafter also referred to as way points) on the target route of the agent A, for example, at equal intervals.
  • the ambient environment information acquisition unit 62 acquires environment information around the agent A in the simulator environment (hereinafter also referred to as ambient environment information).
  • the ambient environment information acquisition unit 62 for example, distance information obtained by sensing the distance to an object around Agent A in the simulator environment with a distance sensor such as LiDAR (sensing with a distance sensor in the real world). Distance information) that would be obtained if it was obtained as ambient environment information.
  • a distance sensor such as LiDAR (sensing with a distance sensor in the real world).
  • Distance information that would be obtained if it was obtained as ambient environment information.
  • the data acquisition unit 63 acquires an observation value that can be observed by the agent A, and obtains a vector having the observation value as a component as a state s.
  • the data acquisition unit 63 acquires the waypoint (coordinates) set by the action plan unit 61, the distance information as the ambient environment information acquired by the ambient environment information acquisition unit 62, and the like as components.
  • a vector to be obtained is obtained as a state s.
  • the data acquisition unit 63 acquires the behavior a determined by the behavior determination unit 66 and the reward r provided from the reward providing unit 33 (FIG. 2).
  • the data acquisition unit 63 supplies the state s, the action a, and the reward r to the database 64 in time series.
  • the database 64 stores the time series of state s, action a, and reward r supplied from the data acquisition unit 63.
  • the learning unit 65 learns (updates) the learning model as the action determination rule ⁇ * (a
  • Deep Q Net can be used as the learning model.
  • the behavior determination unit 66 determines the behavior a according to Deep Q Net after learning in the learning unit 65, and the behavior a (information thereof) is determined by the behavior control unit. 67.
  • the behavior control unit 67 controls the agent A to take the (decision) behavior a from the behavior determination unit 66.
  • FIG. 4 is a plan view schematically showing an example of a simulator environment generated by the simulator environment generation unit 32 (FIG. 2).
  • the simulator environment shown in Fig. 4 is an environment that simulates a road traffic environment in the real world.
  • agent A an agent of a car (automatic driving vehicle) that automates behavior by learning is used
  • agent B a person or bicycle agent coexisting with a car in the real world is used. A description will be given on the assumption that A and B are placed in the simulator environment.
  • FIG. 5 is a diagram showing an example of a component of state A of agent A.
  • a distance sensor such as LiDAR (if sensed with a distance sensor in the real world)
  • Distance information can be obtained for multiple directions around Agent A.
  • the direction in which the distance information is obtained (direction of the distance information) can also be adopted.
  • relative coordinates ( ⁇ x, ⁇ y) of the plurality of waypoints close to the agent A on the target route with respect to the position of the agent A can be adopted.
  • the speed of agent A can be adopted as the component of state A of agent A.
  • the state A of the agent A includes distance information in each direction of a plurality of frames, each direction of distance information, relative coordinates ( ⁇ x, ⁇ y) of a plurality of waypoints, and a plurality of dimensions such as 810 dimensions including the agent A speed as a component
  • the vector can be adopted.
  • FIG. 6 is a diagram for explaining an example of the action a of the agent A.
  • a of the agent A that is an automobile agent an agent imitating an automobile
  • the agent A for example, as shown in FIG. 6A, steering, an accelerator pedal, and a brake pedal that are operated when the automobile is operated.
  • the steering and the accelerator pedal are adopted as the targets of the action a of the agent A.
  • the action a of the agent A it is assumed that the steering is moved at a predetermined angular acceleration and the accelerator pedal is moved at a predetermined acceleration.
  • the angular acceleration of the steering wheel the clockwise direction is positive, and three angular accelerations of - ⁇ , 0, + ⁇ are adopted.
  • the acceleration of the accelerator pedal the direction in which the accelerator pedal is depressed is positive. Let ⁇ , 0, + ⁇ be adopted.
  • the action a of the agent A is nine types of combinations of the three angular accelerations - ⁇ , 0, + ⁇ of the steering wheel and the three accelerations - ⁇ , 0, + ⁇ of the accelerator pedal.
  • FIG. 7 is a diagram illustrating an example of learning by the learning unit 65 of the agent A and behavior determination by the behavior determination unit 66.
  • Deep Q Net learning deep reinforcement learning
  • s) that maximizes the expected reward
  • Deep Q Net is a 810-dimension that uses distance information in each direction of multiple frames, each direction of distance information, relative coordinates ( ⁇ x, ⁇ y) of multiple waypoints, and the speed of agent A as components.
  • Is a state s, and the value function Q (s, 1), Q (s, 2) ,. . . , Q (s, 9) function value is output.
  • the value function Q (s, a) is updated according to the reward r when the agent A takes a certain action a in a certain state s. For example, if the reward r is large, the value function Q (s, a) is updated so that the function value becomes large.
  • the action a is determined based on the state s according to Deep ⁇ Q Net after learning (update).
  • FIG. 8 is a diagram for explaining an example of the reward definition for Agent A, that is, an example of the reward definition used for calculating the reward r for Agent A.
  • Agent A's reward definition includes, for example, a variable R1 representing “no collision”, a variable R2 representing traveling at an “appropriate vehicle speed along the route”, and a “route” It can be expressed using a variable R3 representing "following" (not leaving the path).
  • variable R1 for example, 1 is adopted when a collision occurs, and 0 is adopted when no collision occurs.
  • variable R2 for example, an inner product of a speed vector v1 representing the speed of the agent A and a vector v2 connecting two waypoints closest to the agent A is adopted.
  • variable R3 for example, a distance between Agent A and one waypoint closest to Agent A is adopted. It can be said that the variables R1 to R3 are scales from which the reward is calculated.
  • the reward definition of Agent A can be expressed by, for example, Expression (2) using ⁇ 1 , ⁇ 2 , and ⁇ 3 as weights, for example.
  • weight ⁇ 1 when the weight ⁇ 1 is set to a large negative value, when the agent A collides with a wall, a person, or another vehicle other than the agent A in the simulator environment, a reward r with a large negative value is obtained. Is calculated. Further, for example, when the weight ⁇ 2 is set to be large, a large positive reward r is calculated when the agent A is moving at an appropriate vehicle speed along the target route.
  • FIG. 9 is a diagram illustrating an example of Agent B.
  • agent B for example, a human (pedestrian) agent can be employed.
  • Agent B learns to move to a target point given as a target (behavior), and can take an action to move at a speed within a range determined according to a position vector from the current location to the target point. Configure as possible.
  • the agent B has a relative position (coordinates) with respect to the position of the agent B, the velocity vector v1, Can be observed.
  • Agent B for example, Deep ⁇ Q Net is adopted as the learning model, as with Agent A.
  • Agent B for example, Deep ⁇ Q Net is adopted as the learning model, as with Agent A.
  • As the state s of the agent B a vector whose components are the relative position of the agent A and the velocity vector v1 described above can be employed.
  • the reward r for the agent B is calculated according to the hostile reward definition that is hostile to the reward definition of the agent A.
  • a reward definition in which a positive reward is calculated as the relative distance from the position of Agent B to the predicted position pp ahead of N steps (time) of Agent A is smaller. Can be adopted as.
  • a reward definition in which a positive reward is calculated can be adopted as the hostile reward definition.
  • Agent B's reward definition includes the hostile reward definition as described above, and as an index related to Agent B's appropriate behavior, the average movement speed is a constant value (for example, the average walking speed of people in a real environment) It is possible to add a remuneration definition that calculates a positive remuneration when the index is realized by adopting “fits in the vicinity” or the like.
  • U1, U2, U3 together represent a ..., and represent the weights V 1, V 2, V 3 , and ..., rewards definition of Agent B
  • a reward definition for calculating the reward r according to the equation (3) is adopted.
  • FIG. 10 is a flowchart for explaining an example of processing of Agent A in FIG.
  • step S11 the data acquisition unit 63 of agent A acquires the latest state s, reward r, and action a, stores them in the database 64, and the process proceeds to step S12.
  • step S12 the learning unit 65 learns (updates) Deep Q Net as a learning model using the state s, action a, and reward r stored in the database 64, and the process proceeds to step S13. move on.
  • step S13 the action determining unit 66 determines the action a according to the Deep Q Net after learning in the learning unit 65 based on the latest state s stored in the database 64, and the process proceeds to step S14.
  • step S14 the behavior control unit 67 controls the agent A to take the (determination) behavior a from the behavior determination unit 66. And a process returns to step S11 from step S14, and the same process is repeated hereafter.
  • Agent B performs the same processing as Agent A.
  • FIG. 11 is a flowchart illustrating an example of processing of the simulator environment providing unit 31 in FIG.
  • step S21 the simulator environment generation unit 32 generates a simulator environment, and the process proceeds to step S22.
  • Agents A and B that perform the processing of FIG. 10 are placed in a simulator environment generated by the simulator environment generation unit 32.
  • step S22 the reward providing unit 33 observes the agents A and B and the simulator environment, and based on the observation result, according to the reward definition of the agent A described in FIG. Calculate r.
  • the reward providing unit 33 determines the agent B according to the reward definition of Agent B described with reference to FIG. Calculate the reward r for B (action a).
  • the reward providing unit 33 provides the reward r for the agent A to the agent A, and provides the reward r for the agent B to the agent B.
  • the process returns from step S23 to step S22, and so on. The process is repeated.
  • the reward providing unit 33 provides the reward according to the predetermined reward definition to the agent A, and obeys the hostile reward definition against the agent A reward definition. Since the reward is provided, Agent B takes the action of causing the worst case or various exceptional events (for example, jumping out of a bicycle or a person). As a result, various variations of scenes of various events can be realized in the simulator environment.
  • agent A learns various agents including exceptional events by learning agent A, which is a vehicle agent. It is possible to acquire a behavior decision rule for performing an appropriate and robust action against an event. And the automatic driving
  • the agents A and B are learned, and then, for example, the agent C that has learned automatic driving in the other simulator environment together with the learned agent B
  • the environmental applicability of the agent C that is, for example, the appropriateness of learning of the automatic operation of the agent C can be quantitatively measured.
  • FIG. 12 is a diagram schematically showing an example of a reward change pattern for agents A and B.
  • FIG. 12 is a diagram schematically showing an example of a reward change pattern for agents A and B.
  • the horizontal axis represents the number of steps (time), and the vertical axis represents the reward.
  • Agents A and B learn in a simulator environment simulating a road traffic environment, Agent B is initially acting randomly, but as learning progresses appropriately, gradually, Approaches Agent A and begins to take action.
  • Agent A is acting randomly at the beginning, but as learning progresses appropriately, it gradually acts along the target route so that it does not collide with a wall or the like. At the same time, he will take action to avoid Agent B's jumping out.
  • Agent B is rewarded according to the hostile reward definition that is hostile to Agent A's reward definition, so in the simulator environment, exceptional events that rarely occur in the real world (for example, jumping out of people or bicycles, etc.) ) Can be created. Then, the agent A can learn an appropriate action (for example, avoiding a collision with the agent B) when encountering such an exceptional event.
  • Action agent A or B is performed the result of the learning, for example, by setting the learning condition such as the values of the weights omega i and V i which defines a formula (2) or the formula (3) as a reward definition of the agent A and B Change.
  • learning may fail.
  • learning conditions such as the values of the weights ⁇ i and V i at an appropriate timing
  • learning can be appropriately advanced.
  • Such adjustment of learning conditions is called learning difficulty level adjustment, and learning performed while adjusting learning conditions as appropriate is called curriculum learning.
  • learning conditions are set to learn behaviors that achieve simple goals, and learning to achieve behaviors that achieve difficult goals as learning progresses.
  • a condition is set.
  • ⁇ Adjustment (setting) of learning conditions can be performed according to the operation of the operator of the simulation system of FIG. 2 so that learning proceeds strategically.
  • the weights ⁇ i and V i (values) as learning conditions can be adjusted by the user operating the user I / F 40 (FIG. 1).
  • the input / output control unit 36 can display a GUI for adjusting the weights ⁇ i and V i on the user I / F 40. Further, the input / output control unit 36 accepts an operation by the operator of the GUI displayed on the user I / F 40, and the reward providing unit 33 determines a reward parameter according to the GUI operation accepted by the input / output control unit 36. The weights ⁇ i and V i can be adjusted.
  • the learning status determination unit 34 (FIG. 2) can record a log of rewards provided to Agents A and B, respectively.
  • the reward log provided to each of the plurality of agents A may be recorded individually, or the average value of the reward provided to each of the plurality of agents A is recorded. You may do it. The same applies to Agent B.
  • the input / output control unit 36 may display, on the user I / F 40, a graph in which rewards provided to the agents A and B are plotted in time series (hereinafter also referred to as a reward graph) using the reward log. it can.
  • the operator looks at the reward graph displayed on the user I / F 40, confirms the learning situation (degree of learning progress, etc.), and based on the learning situation, reward parameters (here, weights ⁇ i and V i ) can determine when to adjust.
  • the learning status determination unit 34 can determine the learning status from the reward graph, and the input / output control unit 36 can control the issuance of an alert for prompting adjustment of the parameters of the reward according to the learning status.
  • the alert can be issued by, for example, displaying a message prompting the adjustment of the reward parameter in a pop-up on the user I / F 40, sending it by e-mail, or outputting it by voice.
  • FIG. 12 shows an example of a reward graph of rewards for Agents A and B.
  • 12 is a time series of moving average values of rewards for agents A and B.
  • the change pattern of the reward graph is a pattern p1 that continues to rise, as shown in A of FIG. Therefore, when the change pattern of the reward graph is pattern p1, it is possible to determine that the learning situation is a situation in which learning is progressing smoothly so as to appropriately improve the actions of agents A and B. it can.
  • the change pattern of the reward graph converges for a certain period or more after the increase (the change width falls within a predetermined threshold) p2 It becomes. Therefore, when the change pattern of the reward graph is the pattern p2, it can be determined that the learning state is a state in which learning under the current learning condition (task difficulty level) is successful.
  • the change pattern of the reward graph is determined at the start of learning (or the reward After adjusting the parameters, the pattern p3 is almost unchanged over a certain period. Therefore, when the change pattern of the reward graph is the pattern p3, it can be determined that the learning situation is a situation in which learning has failed.
  • the learning status determination unit 34 determines the learning status by determining the change pattern of the reward graph, and outputs the determination result of the change pattern of the reward graph as the determination result of the learning status.
  • the input / output control unit 36 issues an alert that prompts the user I / F 40 to adjust the reward parameter according to the change pattern of the reward graph as the learning state determination result by the learning state determination unit 34
  • the learning status determination unit 34 determines that the change pattern of the reward graph is the pattern p1 of A or D in FIG. 12, since the learning proceeds smoothly, the input / output control unit 36 In particular, alerts are not issued. Furthermore, the simulator environment providing unit 31 causes the agents A and B to continue learning.
  • the learning status determination unit 34 determines that the change pattern of the reward graph is the pattern p2 of B in FIG. 12, learning has succeeded and converged under the current learning conditions.
  • the input / output control unit 36 issues an alert by displaying on the user I / F 40 the message “Learning has converged. Weight parameter reset request” indicating that effect.
  • the simulator environment providing unit 31 causes the agents A and B to suspend learning.
  • Weight parameter reset request operates the GUI to adjust the reward parameters and reset other learning conditions, and then operate the GUI. By doing so, it is possible to instruct the resumption of learning and to cause the agents A and B to resume learning.
  • Weight parameter reset request as an alert determines that agents A and B have been sufficiently learned, and operates the GUI to operate agents A and B. Learning can be terminated.
  • the learning status determination unit 34 determines that the change pattern of the reward graph is the pattern p3 of C in FIG. 12, learning under the current learning conditions has failed, so input / output control
  • the unit 36 issues an alert by causing the user I / F 40 to display a message “Learning failed. Weight parameter reset request” indicating that effect.
  • the simulator environment providing unit 31 causes the agents A and B to suspend learning.
  • the operator who receives the message “Learning failed. Weight parameter reset request” as an alert operates the GUI to adjust reward parameters and reset other learning conditions, and then operate the GUI. By doing so, it is possible to instruct the resumption of learning and to cause the agents A and B to resume learning.
  • Agents A and B take over the latest learning result when learning converges (if the learning has never converged, a predetermined initial value, etc.) and learn. Can be resumed.
  • the past learning results of agents A and B can be managed and stored by agents A and B, respectively, or can be managed and stored by simulator environment providing unit 31.
  • FIG. 13 is a diagram showing a display example of a GUI displayed on the user I / F 40.
  • a simulator environment sliders 81 and 82, and a message as an alert (hereinafter also referred to as an alert message) are displayed as a GUI.
  • the slider 81 is operated when adjusting the weight ⁇ i as the reward parameter of the agent A.
  • the slider 82 is operated when adjusting the weight V i as the reward parameter of the agent B.
  • FIG. 13A shows a GUI display example when the change pattern of the reward graph of Agent A is the pattern p3 of C of FIG.
  • the slider for agent A (slider for adjusting the reward parameter of agent A) 81 in order to prompt adjustment of only the reward parameter of agent A.
  • the operable state is enabled, and the slider 82 for the agent B is disabled so that it cannot be operated.
  • FIG. 13B shows a GUI display example when the change pattern of the reward graphs of both agents A and B is the pattern p2 of B of FIG.
  • both the agent A slider 81 and the agent B slider 82 are in an operable state.
  • FIG. 13C shows a GUI display example when the change pattern of the reward graph of Agent B is the pattern p3 of C of FIG.
  • Agent A has succeeded in learning regardless of Agent B's learning status.
  • An alert can be issued to display a success message indicating that the user has
  • the slider 81 for the agent A can be enabled and the slider 82 for the agent B can be disabled.
  • Agent B has succeeded in learning regardless of Agent A's learning status.
  • An alert can be issued to display a success message indicating that the user has
  • the slider 82 for the agent B can be enabled and the slider 81 for the agent A can be disabled, as in FIG. 13C.
  • FIG. 14 is a flowchart illustrating an example of alert issuing processing for issuing an alert as described with reference to FIGS. 12 and 13.
  • FIG. 15 is a flowchart following FIG.
  • step S41 the learning status determination unit 34 acquires the reward graphs of the agents A and B for the latest predetermined period, and the process proceeds to step S42.
  • step S42 the learning status determination unit 34 determines the learning status of Agent A based on the change pattern of the reward graph of Agent A. That is, in step S42, the learning status determination unit 34 determines whether or not the change pattern of the reward graph of agent A is the pattern p3 of C in FIG.
  • step S42 If it is determined in step S42 that the change pattern of the reward graph of agent A is not the pattern p3, the process skips steps S43 to S46 and proceeds to step S47.
  • Step S42 when it is determined that the change pattern of the reward graph of Agent A is the pattern p3, Agent A stops learning, and the process proceeds to Step S43.
  • step S43 the input / output control unit 36 notifies the variable text as the alert message that learning of the agent A has failed, and prompts the user to adjust the agent A reward parameter (weight ⁇ i ). Agent A learning failure. Please reset the weight parameter.
  • step S43 the input / output control unit 36 issues an alert by causing the user I / F 40 to display a message set in the variable text as an alert message, and the process proceeds to step S44.
  • step S44 the input / output control unit 36 initializes activation of all the sliders 81 and 82 to a disabled state, disables the sliders 81 and 82, and the process proceeds to step S45.
  • step S45 the input / output control unit 36 sets the activation of the slider 81 for the agent A to an enabled state, makes it operable, and the process proceeds to step S45.
  • the display of A in FIG. 13 is performed, and as a result, the user can recognize that the learning of the agent A has failed and the adjustment of the parameters of the reward of the agent A is necessary. Further, the user can adjust the reward parameter of Agent A by operating the slider 81 for Agent A.
  • step S46 the input / output control unit 36 determines whether or not the user I / F 40 has been operated to resume learning. If it is determined that the user I / F 40 has not been operated, the process returns to step S46.
  • step S46 If it is determined in step S46 that the user I / F 40 has been operated to resume learning, the agent A resumes learning, and the process proceeds to step S47.
  • step S47 the learning status determination unit 34 determines the learning status of Agent B based on the change pattern of the reward graph of Agent B. That is, in step S47, the learning status determination unit 34 determines whether or not the change pattern of the reward graph of agent B is the pattern p3 of C in FIG.
  • step S47 If it is determined in step S47 that the change pattern of the reward graph of agent B is not the pattern p3, the process skips steps S48 to S51 and proceeds to step S61 in FIG.
  • Step S47 when it is determined that the change pattern of the reward graph of Agent B is the pattern p3, Agent B stops learning, and the process proceeds to Step S48.
  • step S48 the input / output control unit 36 notifies the variable text as an alert message that learning of Agent B has failed, and prompts the user to adjust the reward parameter (weight ⁇ i ) of Agent B. Agent B learning failure. Please reset the weight parameter.
  • step S48 the input / output control unit 36 issues an alert by causing the user I / F 40 to display a message set in the variable text as an alert message, and the process proceeds to step S49.
  • step S49 the input / output control unit 36 initializes activation of all the sliders 81 and 82 to a disabled state, disables the sliders 81 and 82, and the process proceeds to step S50.
  • step S50 the input / output control unit 36 sets the activation of the slider 81 for the agent B to an enabled state, makes it operable, and the process proceeds to step S50.
  • the display of C in FIG. 13 is performed, and as a result, the user can recognize that the learning of the agent B has failed and the adjustment of the parameters of the reward of the agent B is necessary. Further, the user can adjust the reward parameter of Agent B by operating the slider 82 for Agent B.
  • step S51 the input / output control unit 36 determines whether or not the user I / F 40 has been operated to resume learning. If it is determined that the user I / F 40 has not been operated, the process returns to step S51.
  • step S51 If it is determined in step S51 that the user I / F 40 has been operated to resume learning, the agent B resumes learning, and the process proceeds to step S61 in FIG.
  • the learning status determination unit 34 determines the learning status of agents A and B based on the change pattern of the reward graphs of agents A and B. That is, in step S42, the learning status determination unit 34 determines whether the change patterns of the reward graphs of the agents A and B are both the pattern p2 of B in FIG.
  • Step S61 when it is determined that one or both of the change patterns of the reward graphs of Agents A and B are not the pattern p2, the process returns to Step S41 in FIG.
  • step S61 If it is determined in step S61 that the change patterns of the reward graphs of agents A and B are both patterns p2, agents A and B interrupt learning and the process proceeds to step S62.
  • step S62 the input / output control unit 36 notifies the variable text as the alert message that learning of both the agents A and B is successful, and the reward parameters of the agents A and B (weights ⁇ i and Set the message “Learning convergence. Please reset the weight parameters” prompting adjustment of V i ).
  • step S62 the input / output control unit 36 issues an alert by causing the user I / F 40 to display a message set in the variable text as an alert message, and the process proceeds to step S63.
  • step S63 the input / output control unit 36 initializes activation of all the sliders 81 and 82 to the enabled state, makes the sliders 81 and 82 operable, and the process proceeds to step S64.
  • the display of B in FIG. 13 is performed, and as a result, the user can adjust the learning parameters of the agents A and B and adjust the reward parameters of the agents A and B as necessary. You can recognize what you can do. Further, the user adjusts the reward parameter of Agent A by operating the slider 81 for Agent A, and adjusts the parameter of reward for Agent B by operating the slider 82 for Agent B. It can be carried out.
  • step S64 the input / output control unit 36 determines whether or not the user I / F 40 has been operated so as to resume learning. If it is determined that the user I / F 40 has not been operated, the process returns to step S64.
  • step S64 If it is determined in step S64 that the user I / F 40 has been operated to resume learning, the agents A and B resume learning. And a process returns to step S41 of FIG. 14 from step S64, and the same process is repeated hereafter.
  • agent A an agent of a vehicle that performs automatic driving
  • agent B another agent such as a bicycle or a person
  • the present technology can be applied to learning of behavior decision rules in various fields other than the field of automatic driving.
  • the present technology can be applied to, for example, the field of vaccine development and the field of crop variety improvement.
  • Agent A for example, in the field of vaccine development, by adopting a vaccine agent as Agent A and adopting a virus agent as Agent B, it is possible to learn a vaccine action decision rule effective for viruses.
  • agent A employs a cultivar agent of a certain varieties (new varieties), and agent B employs a pest agent to determine the behavior of cultivars that are resistant to pests. Can learn the rules.
  • FIG. 16 is a block diagram illustrating a configuration example of an embodiment of a computer in which a program for executing the series of processes described above is installed.
  • the program can be recorded in advance in a hard disk 105 or a ROM 103 as a recording medium built in the computer.
  • the program can be stored (recorded) in the removable recording medium 111.
  • a removable recording medium 111 can be provided as so-called package software.
  • examples of the removable recording medium 111 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disc, a DVD (Digital Versatile Disc), a magnetic disc, and a semiconductor memory.
  • the program can be installed on the computer from the removable recording medium 111 as described above, or can be downloaded to the computer via the communication network or the broadcast network and installed on the built-in hard disk 105. That is, the program is transferred from a download site to a computer wirelessly via a digital satellite broadcasting artificial satellite, or wired to a computer via a network such as a LAN (Local Area Network) or the Internet. be able to.
  • a network such as a LAN (Local Area Network) or the Internet.
  • the computer includes a CPU (Central Processing Unit) 102, and an input / output interface 110 is connected to the CPU 102 via the bus 101.
  • CPU Central Processing Unit
  • the CPU 102 executes a program stored in a ROM (Read Only Memory) 103 accordingly. .
  • the CPU 102 loads a program stored in the hard disk 105 into a RAM (Random Access Memory) 104 and executes it.
  • the CPU 102 performs processing according to the flowchart described above or processing performed by the configuration of the block diagram described above. Then, the CPU 102 outputs the processing result as necessary, for example, via the input / output interface 110, from the output unit 106, transmitted from the communication unit 108, and further recorded in the hard disk 105.
  • the input unit 107 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 106 includes an LCD (Liquid Crystal Display), a speaker, and the like.
  • the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program includes processing executed in parallel or individually (for example, parallel processing or object processing).
  • the program may be processed by one computer (processor), or may be distributedly processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • this technique can take the following structures.
  • a simulator environment generation unit that generates a simulator environment imitating the real world; In accordance with a predetermined reward definition for the first agent among the first agent and the second agent who act in the simulator environment and learn the behavior decision rule according to the reward for the behavior Rewards, The reward obtained when the second agent acts so as to reduce the reward of the first agent is large, and the act of acting so as to increase the reward of the first agent
  • a reward providing unit that provides a reward according to the hostile reward definition to the second agent as a hostile reward definition that is hostile to the predetermined reward definition.
  • Information processing apparatus provided. ⁇ 2> The information processing apparatus according to ⁇ 1>, wherein the reward providing unit adjusts the parameter of the reward according to a user operation.
  • the information processing apparatus further including a display control unit that performs display control for displaying a GUI (Graphical User Interface) for adjusting the reward parameter.
  • the information processing according to ⁇ 2> or ⁇ 3> further comprising: an issuance control unit that controls issuance of an alert that urges adjustment of the reward parameter according to a learning state of the first agent and the second agent apparatus.
  • the information processing apparatus further including: a determination unit that determines the learning state according to the reward change pattern.
  • the first agent or the second agent issues the alert when the learning fails and when the first agent and the second agent succeed in learning ⁇ 4> or The information processing apparatus according to ⁇ 5>.
  • Creating a simulator environment that mimics the real world In accordance with a predetermined reward definition for the first agent among the first agent and the second agent who act in the simulator environment and learn the behavior decision rule according to the reward for the behavior Rewards, The reward obtained when the second agent acts so as to reduce the reward of the first agent is large, and the act of acting so as to increase the reward of the first agent And providing a reward in accordance with the hostile reward definition to the second agent as a hostile reward definition that is hostile to the predetermined reward definition. Processing method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Computational Linguistics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Traffic Control Systems (AREA)

Abstract

本技術は、現実世界を模したシミュレータ環境において、様々な事象のシーンの様々なバリエーションを実現することができるようにする情報処理装置及び情報処理方法に関する。 報酬提供部は、現実世界を模したシミュレータ環境の中を行動し、その行動に対する報酬に応じて、行動決定則を学習する第1のエージェント及び第2のエージェントに対して報酬を提供する。第1のエージェントに対しては、所定の報酬定義に従った報酬を提供される。また、第2のエージェントが第1のエージェントの報酬を小にする状況になるように行動した場合に得られる報酬が大になり、第1のエージェントの報酬を大にするように行動した場合に得られる報酬が小になる報酬定義を、所定の報酬定義に敵対する敵対報酬定義として、第2のエージェントに対して、敵対報酬定義に従った報酬が提供される。本技術は、例えば、エージェントの強化学習に適用できる。

Description

情報処理装置及び情報処理方法
 本技術は、情報処理装置及び情報処理方法に関し、特に、例えば、現実世界を模したシミュレータ環境において、様々な事象のシーンの様々なバリエーションを実現することができるようにする情報処理装置及び情報処理方法に関する。
 現実世界を模したシミュレータ環境において、そのシミュレータ環境の中で行動する(人工知能)エージェントに、目的と状況に応じた所望の行動をとるように、エージェントの行動決定則の学習を行う機械学習の枠組みに、強化学習と呼ばれる学習がある。
 強化学習では、エージェントが、観測することができる観測値をコンポーネントとする状態sに基づき、行動決定則としての学習モデルに従って行動aを決定する。エージェントは、学習モデルに従って決定した行動aをとり、その行動aに対して、行動aが所望の目的の達成に適切かどうかを表す報酬rを受ける。そして、エージェントは、行動a、行動aをとった後の状態s、行動aに対する報酬rとを用いて、将来的に受け取る報酬r(の総和)がより大になるように、学習モデルを更新する。エージェントは、更新後の学習モデルに従って、行動aを決定し、以下、同様の処理を繰り返す。
 強化学習に用いられる学習モデルとしては、例えば、Deep Q Net(Network)がある(例えば、非特許文献1を参照)。
 強化学習において、報酬rは、あらかじめ決められた報酬定義に従って算出される。報酬定義は、報酬を算出する指針であり、例えば、エージェントが行動aを行った後の状態sが、人がエージェントに期待する状態と照らし合わせて良かったか悪かったかを定量的に表現する関数等の数式等である。
 強化学習では、エージェントの行動に、探索的行動を織り交ぜ、特に、学習の初期では、ランダム的な行動を通じて、行動決定則としての学習モデルの学習が行われる。エージェントが探索的行動をとる過程では、実世界で、現実のハードウェアを用いると、実世界の環境及びハードウェアに大きな負荷がかかる。すなわち、最悪の場合には、実世界の物体とハードウェアとが衝突して、実世界の物体やハードウェアが破損することがある。
 そこで、実世界を模したシミュレータ環境を生成し、そのシミュレータ環境の中で、(仮想的な)エージェントを行動させるシミュレーションを行うことで、エージェントの強化学習が行われる。
 シミュレータ環境の中でのエージェントの学習の終了後、そのエージェント(の学習モデル)を実際の装置等に適用することにより、その装置等は、実世界において、適切な行動をとる(動作を行う)ことができる。
Mnih, Volodymyr, et al. "Human-level control through deep reinforcement learning.", Nature 518.7540(2015): 529-533.
 ところで、シミュレータ環境に、学習対象のエージェントAと、学習対象でない他のエージェントBとが共存する場合、エージェントBは、例えば、あらかじめ決められた規則に従って行動するようにプログラムされる。
 この場合、エージェントBは、プログラマがあらかじめ想定した行動しか行うことができず、その結果、シミュレータ環境において再現可能なシーンのバリエーションが限定的になる。
 一方、学習対象のエージェントAの学習については、実世界ではめったに起こらない例外的事象への適切な行動生成能力の重要性が大きい場合が多い。
 例えば、エージェントAが、車両制御則を学習する自動運転車両としてのエージェントであり、エージェントBが、自転車等の他の車両や歩行者等としてのエージェントである場合、自転車や歩行者等としてのエージェントBの行動は、例えば、現実的、標準的な物理モデルや行動モデルに従って、あらかじめプログラムされる。
 しかしながら、エージェントBの行動をプログラムするのでは、歩行者が車道に飛び出してくる事象や、車両が逆走している事象等の、例外的に起こりうる様々な事象のシーンの様々なバリエーションを、シミュレータ環境の中に再現することは難しい。
 本技術は、このような状況に鑑みてなされたものであり、現実世界を模したシミュレータ環境において、様々な事象のシーンの様々なバリエーションを実現することができるようにするものである。
 本技術の情報処理装置は、現実世界を模したシミュレータ環境を生成するシミュレータ環境生成部と、前記シミュレータ環境の中を行動し、その行動に対する報酬に応じて、行動決定則を学習する第1のエージェント及び第2のエージェントのうちの前記第1のエージェントに対して、所定の報酬定義に従った報酬を提供するとともに、前記第2のエージェントが前記第1のエージェントの報酬を小にする状況になるように行動した場合に得られる報酬が大になり、前記第1のエージェントの報酬を大にするように行動した場合に得られる報酬が小になる報酬定義を、前記所定の報酬定義に敵対する敵対報酬定義として、前記第2のエージェントに対して、前記敵対報酬定義に従った報酬を提供する報酬提供部とを備える情報処理装置である。
 本技術の情報処理方法は、現実世界を模したシミュレータ環境を生成することと、前記シミュレータ環境の中を行動し、その行動に対する報酬に応じて、行動決定則を学習する第1のエージェント及び第2のエージェントのうちの前記第1のエージェントに対して、所定の報酬定義に従った報酬を提供するとともに、前記第2のエージェントが前記第1のエージェントの報酬を小にする状況になるように行動した場合に得られる報酬が大になり、前記第1のエージェントの報酬を大にするように行動した場合に得られる報酬が小になる報酬定義を、前記所定の報酬定義に敵対する敵対報酬定義として、前記第2のエージェントに対して、前記敵対報酬定義に従った報酬を提供することとを含む情報処理方法である。
 本技術の情報処理装置及び情報処理方法においては、現実世界を模したシミュレータ環境の中を行動し、その行動に対する報酬に応じて、行動決定則を学習する第1のエージェント及び第2のエージェントに対して、報酬が提供される。前記第1のエージェントに対しては、所定の報酬定義に従った報酬が提供される。また、前記第2のエージェントが前記第1のエージェントの報酬を小にする状況になるように行動した場合に得られる報酬が大になり、前記第1のエージェントの報酬を大にするように行動した場合に得られる報酬が小になる報酬定義を、前記所定の報酬定義に敵対する敵対報酬定義として、前記第2のエージェントに対しては、前記敵対報酬定義に従った報酬が提供される。
 なお、情報処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 また、情報処理装置は、コンピュータにプログラムを実行することにより実現することができる。かかるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 本技術においては、現実世界を模したシミュレータ環境において、様々な事象のシーンの様々なバリエーションを実現することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
強化学習の概要を説明する図である。 本技術を適用したシミュレーションシステムの一実施の形態の機能的な構成例を示すブロック図である。 エージェントAの機能的な構成例を示すブロック図である。 シミュレータ環境生成部32が生成するシミュレータ環境の例を模式的に示す平面図である。 エージェントAの状態sのコンポーネントの例を示す図である。 エージェントAの行動aの例を説明する図である。 エージェントAの学習部65での学習と、行動決定部66での行動決定の例を示す図である。 エージェントAの報酬定義の例を説明する図である。 エージェントBの例を説明する図である。 エージェントAの処理の例を説明するフローチャートである。 シミュレータ環境提供部31の処理の例を説明するフローチャートである。 エージェントAやBに対する報酬の変化パターンの例を模式的に示す図である。 ユーザI/F40に表示されるGUIの表示例を示す図である。 アラートの発行を行うアラート発行処理の例を説明するフローチャートである。 アラートの発行を行うアラート発行処理の例を説明するフローチャートである。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 <強化学習の概要>
 図1は、強化学習の概要を説明する図である。
 学習対象のエージェント10は、仮想的なエージェントであり、経験DB(Database)11、学習部12、及び、行動決定部13を有する。
 エージェント10は、現実世界を模したシミュレータ環境に置かれる。
 エージェント10では、行動決定部13において、エージェント10が観測することができる観測値をコンポーネントとする状態sに基づき、行動決定則π*(a|s)としての学習モデルに従って行動aが決定される。そして、エージェント10は、シミュレータ環境において、行動決定部13が決定した行動(以下、決定行動ともいう)aをとる。
 行動決定則π*(a|s)は、例えば、様々な状態に対する行動aの確率分布であり、状態sに対して、確率が最も大の行動aが、エージェント10のとるべき行動(決定行動)に決定される。
 エージェント10は、決定行動aに対して、その決定行動aが所望の目的の達成に適切かどうかを表す報酬rを、シミュレータ環境から受ける。
 さらに、エージェント10では、学習部12が、(決定)行動a、行動aをとった後の状態s、行動aに対する報酬rとを用いて、将来的に受け取る報酬r(の総和)がより大になるように、エージェント10の行動決定則π*(a|s)(としての学習モデル)の学習を行う。
 そして、エージェント10では、行動決定部13において、行動aの後の状態sに基づき、学習後の行動決定則π*(a|s)に従って、次の行動aが決定され、以下、同様の処理が繰り返される。
 いま、時刻tの状態s、行動a、及び、報酬rを、それぞれ、状態st、行動at、及び、報酬rtと表すこととすると、経験DB11は、状態s、行動a、及び、報酬rの時系列(s1,a1,r1,s2,a2,r2,...sN,aN,rN,...)を記憶する。
 学習部12は、経験DB11に記憶された状態s、行動a、及び、報酬rの時系列を用い、式(1)で定義される、期待報酬を最大化する行動決定則π*(a|s)の学習を行う。
 π*(a|s)=argmaxπE[ΣγtR(st,at,st+1)|s1=s(1),a1=a(1)]
                        ・・・(1)
 式(1)において、argmaxπ[x]は、行動決定則πの中で、xを最大にする行動決定則πを表し、E[x]は、xの期待値を表す。Σは、tを初期値である1から∞に変えてのサメーションを表す。γは、割引率と呼ばれるパラメータで、0以上1未満の値が採用される。R(st,at,st+1)は、状態stにおいて、エージェント10が行動atをとった結果、状態st+1になったときに得られる報酬rとしてのスカラ値を表す。s(1)は、時刻t=1のときの状態(の初期値)を表し、a(1)は、時刻t=1のときの行動(の初期値)を表す。
 式(1)のE[ΣγtR(st,at,st+1)|s1=s(1),a1=a(1)]は、期待報酬、すなわち、将来に亘って得られる報酬rの総和ΣγtR(st,at,st+1)の期待値を表す。
 したがって、式(1)によれば、π*(a|s)は、行動決定則πの中で、期待報酬E[ΣγtR(st,at,st+1)|s1=s(1),a1=a(1)]を最大にする行動決定則πである。
 <本技術を適用したシミュレーションシステムの一実施の形態>
 図2は、本技術を適用したシミュレーションシステムの一実施の形態の機能的な構成例を示すブロック図である。
 図2において、シミュレーションシステムは、シミュレータ30及びユーザI/F(Interface)40を有する。
 シミュレータ30は、学習対象の(仮想的な)エージェントA(第1のエージェント)、及び、学習対象ではない(仮想的な)エージェントB(第2のエージェント)を有する。
 なお、図2では、学習対象のエージェントが、エージェントAの1つだけであるが、学習対象のエージェントは、複数のエージェントであっても良い。学習対象でないエージェントについても同様である。すなわち、シミュレータ30には、学習対象の1以上のエージェントと、学習対象でない1以上のエージェントとを置くことができる。
 シミュレータ30は、エージェントA及びBの他、シミュレータ環境提供部31及び入出力制御部36を有する。
 シミュレータ環境提供部31は、シミュレータ環境生成部32、報酬提供部33、及び、学習状況判定部34を有し、シミュレータ環境の提供に関して各種の処理を行う。
 シミュレータ環境生成部32は、シミュレータ環境を生成して提供する。エージェントA及びBは、シミュレータ環境生成部32から提供されるシミュレータ環境の中を行動し、強化学習により行動決定則を学習する。
 報酬提供部33は、エージェントA及びB、並びに、シミュレータ環境を観測し、その観測結果に基づいて、エージェントA及びB(の行動a)に対する報酬rを算出して提供する。
 なお、報酬提供部33は、エージェントAに対する報酬を、あらかじめ決められた所定の報酬定義に従って算出するとともに、エージェントBに対する報酬を、エージェントAの報酬定義に敵対する敵対報酬定義に従って算出する。
 エージェントAの報酬定義に敵対する敵対報酬定義とは、エージェントBがエージェントAの報酬を小にする状況になるように行動した場合に得られる報酬が大になり、エージェントAの報酬を大にするように行動した場合に得られる報酬が小になる報酬定義を意味する。
 報酬が小という場合には、正の値の報酬が小さい場合の他、報酬が0又は負の値である場合が含まれる。
 学習状況判定部34は、例えば、報酬提供部33が算出するエージェントAやBに対する報酬の変化パターンに応じて、エージェントA及びB(の行動決定則π*(a|s))の学習の学習状況を判定する。
 入出力制御部36は、ユーザI/F40に対する情報の入出力を制御する。
 ユーザI/F40は、タッチパネル、ディスプレイ、スピーカ、キーボード、ポインティングデバイス、通信I/F等の、ユーザとの間で情報をやりとるするためのデバイスで構成される。
 入出力制御部36は、ユーザI/F40を構成するタッチパネルやディスプレイに、GUI(Graphical User Interface)等の画像その他の情報を表示させる表示制御部として機能する。
 また、入出力制御部36は、ユーザI/F40を構成するスピーカから、音声その他の音響を出力させる出力制御部として機能する。
 さらに、入出力制御部36は、ユーザによるユーザI/F40としてのタッチパネルや、キーボード、ポインティングデバイス、操作可能なGUI等の操作の入力を受け付ける受付部として機能する。
 また、入出力制御部36は、エージェントAやBの学習状況に応じて、ユーザI/F40からアラートを発行させる発行制御部として機能する。すなわち、入出力制御部36は、例えば、ユーザI/F40を構成するタッチパネルや、ディスプレイ、スピーカから、アラートとしてのメッセージを出力(表示)させる。また、入出力制御部36は、例えば、ユーザI/F40を構成する通信I/Fに、アラートとしてのメールその他のメッセージを送信させる。
 <エージェントA及びBの構成例>
 図3は、図2のエージェントAの機能的な構成例を示すブロック図である。
 なお、エージェントBも、図3のエージェントAと同様に構成することができる。
 エージェントAは、行動計画部61、周囲環境情報取得部62、データ取得部63、データベース64、学習部65、行動決定部66、及び、行動制御部67を有する。
 行動計画部61は、行動計画として、例えば、エージェントAの目標経路の設定を行う。さらに、行動計画部61は、エージェントAの目標経路上に、例えば、等間隔に、ポイント(以下、ウェイポイント(way point)ともいう)を設定する。
 周囲環境情報取得部62は、シミュレータ環境の中のエージェントAの周囲の環境の情報(以下、周囲環境情報ともいう)を取得する。
 すなわち、周囲環境情報取得部62は、例えば、シミュレータ環境の中のエージェントAの周囲にある物体までの距離を、LiDAR等の距離センサでセンシングして得られる距離情報(現実世界において距離センサでセンシングしたならば得られるであろう距離情報)を、周囲環境情報として取得する。
 データ取得部63は、エージェントAが観測することができる観測値を取得し、その観測値をコンポーネントとするベクトルを、状態sとして求める。例えば、データ取得部63は、行動計画部61で設定されるウェイポイント(の座標)や、周囲環境情報取得部62で取得される周囲環境情報としての距離情報等を取得し、それらをコンポーネントとするベクトルを、状態sとして求める。
 また、データ取得部63は、行動決定部66で決定された行動aや、報酬提供部33(図2)から提供される報酬rを取得する。
 そして、データ取得部63は、状態s、行動a、及び、報酬rを、時系列に、データベース64に供給する。
 データベース64は、データ取得部63から供給される状態s、行動a、及び、報酬rの時系列を記憶する。
 学習部65は、データベース64に記憶された状態s、行動a、及び、報酬rを必要に応じて用いて、行動決定則π*(a|s)としての学習モデルの学習(更新)を行う。学習モデルとしては、例えば、Deep Q Netを採用することができる。
 行動決定部66は、データベース64に記憶された最新の状態sに基づき、学習部65での学習後のDeep Q Netに従って、行動aを決定し、その行動a(の情報)を、行動制御部67に供給する。
 行動制御部67は、行動決定部66からの(決定)行動aをとるように、エージェントAを制御する。
 <シミュレーション環境の例>
 図4は、シミュレータ環境生成部32(図2)が生成するシミュレータ環境の例を模式的に示す平面図である。
 図4のシミュレータ環境は、現実世界のある道路交通環境を模した環境になっている。
 以下では、エージェントAとして、学習により行動を自動化させる自動車(自動運転車両)のエージェントを用いるとともに、エージェントBとして、現実世界で自動車と共存する人や自転車のエージェントを用いることとし、そのようなエージェントA及びBが、シミュレータ環境に置かれていることを前提として、説明を行う。
 <エージェントAの状態sのコンポーネントの例>
 図5は、エージェントAの状態sのコンポーネントの例を示す図である。
 エージェントAの状態sのコンポーネントとしては、シミュレータ環境の中のエージェントAの周囲にある物体までの距離を、LiDAR等の距離センサでセンシングして得られる距離情報(現実世界において距離センサでセンシングしたならば得られるであろう距離情報)を採用することができる。
 距離情報は、エージェントAの周囲の複数の方向について得ることができる。エージェントAの状態sのコンポーネントとしては、距離情報を得た方向(距離情報の方向)も採用することができる。
 また、エージェントAの状態sのコンポーネントとしては、目標経路上の、エージェントAの近い位置の複数のウェイポイントの、エージェントAの位置を基準とする相対座標(Δx,Δy)を採用することができる。
 さらに、エージェントAの状態sのコンポーネントとしては、エージェントAの速度を採用することができる。
 エージェントAの状態sとしては、複数フレームの各方向の距離情報、距離情報の各方向、複数のウェイポイントの相対座標(Δx,Δy)、エージェントAの速度をコンポーネントとする810次元等の複数次元のベクトルを採用することができる。
 <エージェントAの行動の例>
 図6は、エージェントAの行動aの例を説明する図である。
 自動車のエージェント(自動車を模したエージェント)であるエージェントAの行動aの対象としては、例えば、図6のAに示すように、自動車を操縦するときに操作されるステアリングや、アクセルペダル、ブレーキペダル等がある。
 ここでは、説明を簡単にするため、エージェントAの行動aの対象として、ステアリングとアクセルペダルとを採用することとする。さらに、エージェントAの行動aとしては、ステアリングを所定の角加速度で動かすこと、及び、アクセルペダルを所定の加速度で動かすことを採用することとする。また、ステアリングの角加速度としては、時計回りの方向を正として、-α,0,+αの3つの角加速度を採用するとともに、アクセルペダルの加速度としては、アクセルペダルを踏み込む方向を正として、-β,0,+βを採用することとする。
 この場合、エージェントAの行動aは、ステアリングの3つの角加速度-α,0,+αと、アクセルペダルの3つの加速度-β,0,+βとの組み合わせの9種類になる。
 この9種類の行動aを、a=1,2,...,9のシンボルで表すこととする。
 <エージェントAの学習と行動決定の例>
 図7は、エージェントAの学習部65での学習と、行動決定部66での行動決定の例を示す図である。
 学習部65では、期待報酬を最大化する行動決定則π*(a|s)の学習として、例えば、Deep Q Netの学習(深層強化学習)が行われる。
 本実施の形態では、Deep Q Netは、複数フレームの各方向の距離情報、距離情報の各方向、複数のウェイポイントの相対座標(Δx,Δy)、エージェントAの速度をコンポーネントとする810次元等の複数次元のベクトルを、状態sとして、その状態sの入力に対して、9シンボルの行動a=1,2,...,9それぞれに対する価値関数Q(s,1),Q(s,2),...,Q(s,9)の関数値を出力する。
 学習部65での学習では、ある状態sにおいて、エージェントAが、ある行動aをとったときの報酬rに応じて、価値関数Q(s,a)が更新される。例えば、報酬rが大きければ、関数値が大になるように、価値関数Q(s,a)が更新される。
 行動決定部66では、状態sに基づき、学習(更新)後のDeep Q Netに従って、行動aが決定される。
 すなわち、行動決定部66は、状態sを、Deep Q Netに入力し、その入力によって得られる9シンボルの行動a=1,2,...,9それぞれに対する価値関数Q(s,1),Q(s,2),...,Q(s,9)の中で、関数値が最も大きい価値関数Q(s,a)に対する行動a=f(s)=argmaxaQ(s,a)が、決定行動に決定される。
 <エージェントAの報酬定義の例>
 図8は、エージェントAの報酬定義、すなわち、エージェントAに対する報酬rの算出に用いる報酬定義の例を説明する図である。
 エージェントAの報酬定義は、安全運転の指標となる変数として、例えば、「衝突しない」ことを表す変数R1、「経路に沿った適切な車速」で走行することを表す変数R2、及び、「経路追従」(経路から離れないこと)を表す変数R3を用いて表すことができる。
 変数R1として、例えば、衝突が生じた場合に1を採用し、衝突が生じていない場合に0を採用することとする。変数R2として、例えば、エージェントAの速度を表す速度ベクトルv1と、エージェントAに最も近い2つのウェイポイントを結ぶベクトルv2との内積を採用することとする。変数R3として、例えば、エージェントAと、エージェントAに最も近い1つのウェイポイントとの間の距離を採用することとする。変数R1ないしR3は、報酬の算出の元となる尺度であるということができる。
 この場合、エージェントAの報酬定義は、例えば、ω,ω,ωを重みとして、例えば、式(2)で表すことができる。
 r=ωR1+ωR2+ωR3
                        ・・・(2)
 重みω,ω,ωとしては、例えば、ω=-20000,ω=300,ω=-500等を採用することができる。
 式(2)の報酬定義によれば、重みω,ω,ωの設定により、R1ないしR3のうちのいずれに重きをおいた報酬設定にするのかを調整することができる。
 例えば、重みωを負の大きな値に設定した場合には、エージェントAが、シミュレータ環境において、壁や、人、エージェントA以外の他の車両に衝突したときに、大きな負の値の報酬rが算出される。また、例えば、重みωを大に設定した場合には、エージェントAが、目標経路に沿って適切な車速で移動しているときに、大きな正の報酬rが算出される。
 <エージェントB>
 図9は、エージェントBの例を説明する図である。
 エージェントBとしては、例えば、人(歩行者)のエージェントを採用することができる。エージェントBは、例えば、目標として与えられた目標地点に移動すること(行動)を学習し、現在地から目標地点までの位置ベクトルに応じて決められた範囲内の速度で移動する行動をとることが可能であるように構成する。
 さらに、エージェントBは、図9に示すように、エージェントBから一定距離内に位置する(一番近い)エージェントAの、エージェントBの位置を基準とする相対位置(座標)と、速度ベクトルv1との観測が可能であることとする。
 また、エージェントBについては、学習モデルとして、例えば、エージェントAと同様に、Deep Q Netを採用することとする。エージェントBの状態sとしては、上述のエージェントAの相対位置や速度ベクトルv1等をコンポーネントとするベクトルを採用することができる。
 図2で説明したように、報酬提供部33において、エージェントBに対する報酬rは、エージェントAの報酬定義に敵対する敵対報酬定義に従って算出される。
 図8で説明したエージェントAの報酬定義に敵対する敵対報酬定義としては、エージェントBが、エージェントAの進路に飛び出して衝突するような行動に対して、正の報酬が算出される報酬定義を採用することができる。
 具体的には、例えば、エージェントAのNステップ(時刻)先の予測位置ppまでの、エージェントBの位置を基準とする相対距離が小さいほど正の報酬が算出される報酬定義を、敵対報酬定義として採用することができる。
 また、例えば、エージェントAの報酬が負の報酬である場合や、エージェントAが、エージェントBに衝突した場合に、正の報酬が算出される報酬定義を、敵対報酬定義として採用することができる。
 エージェントBの報酬定義としては、以上のような敵対報酬定義の他、エージェントBの適切な行動に関わる指標として、「平均移動速度が一定値(例えば、実環境中での人の平均歩行速度)付近に収まる」等を採用し、その指標が実現されている場合に正の報酬が算出される報酬定義を加えることができる。
 エージェントBの報酬の指標を表す数値の変数を、U1,U2,U3,・・・と表すとともに、重みをV1,V2,V3,・・・と表すこととし、エージェントBの報酬定義としては、報酬rを、例えば、式(3)に従ってで算出する報酬定義を採用することとする。
 r=U1×V1+U2×V2+U3×V3+・・・
                        ・・・(3)
 <エージェントA及びBの処理の例>
 図10は、図3のエージェントAの処理の例を説明するフローチャートである。
 ステップS11において、エージェントAのデータ取得部63は、最新の状態s、報酬r、及び、行動aを取得し、データベース64に記憶させて、処理は、ステップS12に進む。
 ステップS12では、学習部65は、データベース64に記憶された状態s、行動a、及び、報酬rを用いて、学習モデルとしてのDeep Q Netの学習(更新)を行い、処理は、ステップS13に進む。
 ステップS13では、行動決定部66が、データベース64に記憶された最新の状態sに基づき、学習部65での学習後のDeep Q Netに従って、行動aを決定し、処理は、ステップS14に進む。
 ステップS14では、行動制御部67は、行動決定部66からの(決定)行動aをとるように、エージェントAを制御する。そして、処理は、ステップS14からステップS11に戻り、以下、同様の処理が繰り返される。
 なお、エージェントBでも、エージェントAと同様の処理が行われる。
 <シミュレータ環境提供部31の処理の例>
 図11は、図2のシミュレータ環境提供部31の処理の例を説明するフローチャートである。
 ステップS21において、シミュレータ環境生成部32は、シミュレータ環境を生成し、処理は、ステップS22に進む。図10の処理を行うエージェントA及びBは、シミュレータ環境生成部32が生成するシミュレータ環境の中におかれる。
 ステップS22では、報酬提供部33は、エージェントA及びB、並びに、シミュレータ環境を観測し、その観測結果に基づき、図8で説明したエージェントAの報酬定義に従って、エージェントA(の行動a)に対する報酬rを算出する。
 さらに、報酬提供部33は、エージェントA及びB、並びに、シミュレータ環境の観測結果に基づき、図9で説明したエージェントBの報酬定義、すなわち、エージェントAの報酬定義に敵対する敵対報酬定義に従って、エージェントB(の行動a)に対する報酬rを算出する。
 そして、報酬提供部33は、エージェントAに対する報酬rを、エージェントAに提供するとともに、エージェントBに対する報酬rを、エージェントBに提供して、処理は、ステップS23からステップS22に戻り、以下、同様の処理が繰り返される。
 以上のように、報酬提供部33では、エージェントAに対して、所定の報酬定義に従った報酬が提供されるとともに、エージェントBに対して、エージェントAの報酬定義に敵対する敵対報酬定義に従った報酬が提供されるので、エージェントBは、ワーストケースや、例外的に起こりうる様々な事象(例えば、自転車や人等の飛び出し等)を起こす行動をとる。その結果、シミュレータ環境において、様々な事象のシーンの様々なバリエーションを実現することができる。
 さらに、そのような様々な事象のシーンの様々なバリエーションが実現されるシミュレータ環境の中で、車両のエージェントであるエージェントAの学習を行うことにより、エージェントAは、例外的な事象を含む様々な事象に対して、ロバストで適切な行動を行う行動決定則を獲得することができる。そして、その行動決定則を、車両制御に適用することにより、自動運転を実現することができる。
 その他、シミュレータ環境生成部32が生成するシミュレータ環境において、エージェントA及びBの学習を行い、その後、他のシミュレータ環境で、例えば、自動運転の学習を行ったエージェントCを、学習済みのエージェントBとともに、シミュレータ環境生成部32が生成するシミュレータ環境の中に導入することにより、エージェントCの環境適用度、すなわち、例えば、エージェントCの自動運転の学習の適切さを、定量的に測ることができる。
 <報酬rの変化パターン>
 図12は、エージェントAやBに対する報酬の変化パターンの例を模式的に示す図である。
 図12において、横軸は、ステップ数(時間)を表し、縦軸は、報酬を表す。
 道路交通環境を模したシミュレータ環境の中で、エージェントA及びBが学習を行うと、エージェントBは、始めは、ランダムな行動をしているが、学習が適切に進行していくと、次第に、エージェントAに接近してぶつかりに行くような行動をとるようになる。
 一方、エージェントAは、やはり、始めは、ランダムな行動(動き)をしているが、学習が適切に進行していくと、次第に、目標経路に沿って、壁等に衝突しないように行動しつつ、かつ、エージェントBの飛び出しを回避するような行動をとるようになる。
 エージェントBは、エージェントAの報酬定義に敵対する敵対報酬定義に従った報酬を受けるので、シミュレータ環境では、現実世界でまれにしか起こらないような例外的な事象(例えば、人や自転車の飛び出し等)を生み出すことができる。そして、エージェントAは、そのような例外的事象に遭遇した際の適切な行動(例えば、エージェントBとの衝突を避ける等)を学習することができる。
 エージェントAやBが学習の結果行う行動は、例えば、エージェントAやBの報酬定義としての式(2)や式(3)を規定する重みωやViの値等の学習条件の設定によって変化する。
 学習条件の設定によっては、学習が失敗することがあり得る。そこで、学習の途中で、例えば、重みωやViの値等の学習条件を、適切なタイミングで、適切に調整することで、学習を適切に進行させることが可能になる。このような学習条件の調整は、学習難易度調整と呼ばれ、学習条件を、適宜調整しながら行う学習は、カリキュラム学習と呼ばれる。
 カリキュラム学習では、例えば、学習の始めでは、簡単な目標を達成する行動を学習するように、学習条件が設定され、学習の進捗に応じて、難しい目標を達成する行動を学習するように、学習条件が設定される。
 具体的には、学習の始めでは、例えば、学習条件としての式(2)の重みωのうちの重みω及びωを0に固定する調整を行い、学習がある程度適切に進行した場合には、学習条件としての式(2)の重みωのうちの重みωだけを0に固定する調整を行うことができる。学習がさらに適切に進行した場合には、学習条件としての式(2)の重みωの固定を解除し、重みωないしωをいずれも固定せずに、学習を行うことができる。
 その他、学習の進捗に応じて、学習条件としてのエージェントBの数を徐々に増加する調整や、学習条件としてのエージェントBの速度を徐々に増加する調整、学習条件としての、異なる速度のエージェントBの数を徐々に増加する調整等を行うことができる。
 学習条件の調整(設定)は、学習を戦略的に進行させるように、図2のシミュレーションシステムのオペレータの操作に応じて行うことができる。
 例えば、学習条件としての重みωやVi(の値)の調整は、ユーザがユーザI/F40(図1)を操作することにより行うことができる。
 すなわち、入出力制御部36は、ユーザI/F40に、重みωやViを調整するGUIを表示させることができる。さらに、入出力制御部36は、ユーザI/F40に表示されたGUIの、オペレータによる操作を受け付け、報酬提供部33は、入出力制御部36が受け付けたGUIの操作に応じて、報酬のパラメータとしての重みωやViを調整することができる。
 エージェントA及びBが学習を行っている期間については、学習状況判定部34(図2)において、エージェントA及びBそれぞれに提供される報酬のログを記録しておくことができる。
 エージェントAが複数導入されている場合には、複数のエージェントAそれぞれに提供される報酬のログを、個別に記録しても良いし、複数のエージェントAそれぞれに提供される報酬の平均値を記録しても良い。エージェントBについても、同様である。
 入出力制御部36は、報酬のログを用いて、エージェントA及びBそれぞれに提供される報酬を時系列にプロットしたグラフ(以下、報酬グラフともいう)を、ユーザI/F40に表示することができる。
 オペレータは、ユーザI/F40に表示された報酬グラフを見て、学習状況(学習の進捗の度合い等)を確認し、その学習状況に基づいて、報酬のパラメータ(ここでは、重みωやVi)を調整するタイミングを判断することができる。
 なお、ユーザビリティの観点からは、オペレータが報酬グラフを見て、学習状況を確認し続けることは、オペレータの負担になる。
 そこで、学習状況判定部34において、報酬グラフから、学習状況を判定し、入出力制御部36において、学習状況に応じて、報酬のパラメータの調整を促すアラートの発行を制御することができる。
 アラートの発行は、例えば、報酬のパラメータの調整を促すメッセージを、ユーザI/F40にポップアップで表示させることや、メールで送信させること、音声で出力させること等によって行うことができる。
 図12は、エージェントAやBに対する報酬の報酬グラフの例を示している。
 図12の報酬グラフは、エージェントAやBに対する報酬の移動平均値の時系列になっている。
 エージェントAやBの学習が適切に進行している場合には、図12のAに示すように、報酬グラフの変化パターンは、上昇を続けるパターンp1となる。したがって、報酬グラフの変化パターンがパターンp1である場合には、学習状況は、エージェントAやBの行動を適切に改善するように、学習が順調に進行している状況であると判定することができる。
 エージェントAやBの学習が収束した場合には、図12のBに示すように、報酬グラフの変化パターンは、上昇後に、一定期間以上収束する(変化幅が所定の閾値以内に収まる)パターンp2となる。したがって、報酬グラフの変化パターンがパターンp2である場合には、学習状況は、現在の学習条件(タスク難易度)での学習が成功している状況であると判定することができる。
 エージェントAやBの学習が適切に進行していない場合(学習に失敗している場合)には、図12のCに示すように、報酬グラフの変化パターンは、学習の開始時(又は報酬のパラメータの調整後)の報酬から、一定期間以上、ほとんど変化しないパターンp3となる。したがって、報酬グラフの変化パターンがパターンp3である場合には、学習状況は、学習に失敗している状況であると判定することができる。
 なお、エージェントAやBの学習が適切に進行している場合には、報酬グラフが、図12のAに示したように、上昇を続けるケースの他、例えば、図12のDに示すように、上昇後、一時、下降し、又は、ほとんど変化しなくなり、その後、再び、上昇を開始するケースがある。
 上昇後、一時、下降し、又は、ほとんど変化しなくなり、その後、再び、上昇する図12のDの報酬グラフの変化パターンは、図12のAの上昇を続けるパターンp1に一致しないが、学習が適切に進行している場合に現れるパターンである点、及び、最終的に上昇している点で、パターンp1と一致するので、図12のDの報酬グラフの変化パターンは、パターンp1に分類することとする。
 学習状況判定部34は、報酬グラフの変化パターンを判定することにより、学習状況を判定し、報酬グラフの変化パターンの判定結果を、学習状況の判定結果として出力する。
 入出力制御部36は、学習状況判定部34による学習状況の判定結果としての報酬グラフの変化パターン(の判定結果)に応じて、ユーザI/F40に、報酬のパラメータの調整を促すアラートを発行させる。
 例えば、学習状況判定部34において、報酬グラフの変化パターンが、図12のAやDのパターンp1であると判定された場合、学習が順調に進行しているので、入出力制御部36は、特にアラートを発行させない。さらに、シミュレータ環境提供部31は、エージェントA及びBに、学習をそのまま続行させる。
 また、例えば、学習状況判定部34において、報酬グラフの変化パターンが、図12のBのパターンp2であると判定された場合、現在の学習条件での学習が成功し、収束しているので、入出力制御部36は、その旨を表すメッセージ「学習は収束。重みパラメータ再設定要求」をユーザI/F40に表示させることにより、アラートを発行する。さらに、シミュレータ環境提供部31は、エージェントA及びBに、学習をサスペンドさせる。
 アラートとしてのメッセージ「学習は収束。重みパラメータ再設定要求」を受けたオペレータは、GUIを操作することにより、報酬のパラメータの調整や、その他の学習条件の再設定を行い、さらに、GUIを操作することにより、学習の再開を指示し、エージェントA及びBに、学習を再開させることができる。
 又は、アラートとしてのメッセージ「学習は収束。重みパラメータ再設定要求」を受けたオペレータは、エージェントA及びBの学習が十分に行われたと判断して、GUIを操作することにより、エージェントA及びBの学習を終了させることができる。
 また、例えば、学習状況判定部34において、報酬グラフの変化パターンが、図12のCのパターンp3であると判定された場合、現在の学習条件での学習が失敗しているので、入出力制御部36は、その旨を表すメッセージ「学習は失敗。重みパラメータ再設定要求」をユーザI/F40に表示させることにより、アラートを発行する。さらに、シミュレータ環境提供部31は、エージェントA及びBに、学習をサスペンドさせる。
 アラートとしてのメッセージ「学習は失敗。重みパラメータ再設定要求」を受けたオペレータは、GUIを操作することにより、報酬のパラメータの調整や、その他の学習条件の再設定を行い、さらに、GUIを操作することにより、学習の再開を指示し、エージェントA及びBに、学習を再開させることができる。
 学習が失敗した場合に、その学習に失敗した期間の学習結果(以下、失敗結果ともいう)を引き継いで、学習が再開されると、失敗結果が、再開後の学習に悪影響を与えることがあり得る。そこで、学習が失敗した場合には、エージェントA及びBは、学習が収束したときの最新の学習結果(学習が収束したことがない場合には、あらかじめ決められた初期値等)を引き継ぎ、学習を再開することができる。エージェントA及びBの過去の学習結果は、エージェントA及びBで、それぞれ管理、記憶すること、又は、シミュレータ環境提供部31で、管理、記憶することができる。
 <GUIの表示例>
 図13は、ユーザI/F40に表示されるGUIの表示例を示す図である。
 図13では、GUIとして、シミュレータ環境、スライダ81及び82、並びに、アラートとしてのメッセージ(以下、アラートメッセージともいう)が表示されている。
 スライダ81は、エージェントAの報酬のパラメータとしての重みωを調整するときに操作される。スライダ82は、エージェントBの報酬のパラメータとしての重みViを調整するときに操作される。
 図13のAは、エージェントAの報酬グラフの変化パターンが、図12のCのパターンp3になっている場合のGUIの表示例を示している。
 エージェントAの報酬グラフの変化パターンがパターンp3になっている場合、現在の学習条件でのエージェントAの学習が失敗しているので、図13のAのアラートメッセージは、エージェントAの学習が失敗していることを報知し、エージェントAの報酬のパラメータ(重みω)の調整を促すメッセージ「エージェントAの学習失敗。重みパラメータ再設定してください」になっている。
 なお、図13のAでは、エージェントAの報酬のパラメータのみの調整を促すために、スライダ81及び82のうちの、エージェントA用のスライダ(エージェントAの報酬のパラメータを調整するためのスライダ)81が、操作可能なイネーブル状態になっており、エージェントB用のスライダ82は、操作できないディセーブル状態になっている。
 この場合、エージェントBの学習が失敗しておらず、適切に進行しているときに、オペレータが、誤って、エージェントB用のスライダ82を操作することを防止することができる。さらに、オペレータは、エージェントA用のスライダ81を操作すべきことを容易に認識することができる。
 図13のBは、エージェントA及びBの両方の報酬グラフの変化パターンが、図12のBのパターンp2になっている場合のGUIの表示例を示している。
 エージェントA及びBの両方の報酬グラフの変化パターンが、いずれもパターンp2になっている場合、エージェントA及びBの両方の学習が成功しているので、図13のBのアラートメッセージは、エージェントA及びBの学習が成功していることを報知し、エージェントA及びBの報酬のパラメータ(重みω及びVi)の調整を促すメッセージ「学習収束。重みパラメータ再設定してください」になっている。
 また、図13のBでは、エージェントA用のスライダ81、及び、エージェントB用のスライダ82のいずれも、操作可能なイネーブル状態になっている。
 したがって、オペレータは、エージェントA用のスライダ81、及び、エージェントB用のスライダ82を操作すべきことを容易に認識することができる。
 図13のCは、エージェントBの報酬グラフの変化パターンが、図12のCのパターンp3になっている場合のGUIの表示例を示している。
 エージェントBの報酬グラフの変化パターンがパターンp3になっている場合、現在の学習条件でのエージェントBの学習が失敗しているので、図13のCのアラートメッセージは、エージェントBの学習が失敗していることを報知し、エージェントBの報酬のパラメータ(重みVi)の調整を促すメッセージ「エージェントBの学習失敗。重みパラメータ再設定してください」になっている。
 なお、図13のCでは、エージェントBの報酬のパラメータのみの調整を促すために、スライダ81及び82のうちの、エージェントB用のスライダ82が、操作可能なイネーブル状態になっており、エージェントA用のスライダ81は、操作できないディセーブル状態になっている。
 この場合、エージェントAの学習が失敗しておらず、適切に進行しているときに、オペレータが、誤って、エージェントA用のスライダ81を操作することを防止することができる。さらに、オペレータは、エージェントB用のスライダ82を操作すべきことを容易に認識することができる。
 なお、図13では、エージェントA及びBの両方の報酬グラフの変化パターンが、いずれもパターンp2になっており、エージェントA及びBの両方の学習が成功している場合に、図13のBに示したように、「学習収束。重みパラメータ再設定してください」等の、学習が成功していること等を表すアラートメッセージ(以下、成功メッセージともいう)を表示するアラートの発行を行うこととしたが、成功メッセージを表示するアラートの発行は、エージェントA及びBのそれぞれについて、個別に行うことができる。
 すなわち、例えば、エージェントAの報酬グラフの変化パターンが、パターンp2になっており、エージェントAの学習が成功している場合には、エージェントBの学習状況にかかわらず、エージェントAの学習が成功していること等を表す成功メッセージを表示するアラートの発行を行うことができる。
 この場合、スライダ81及び82については、図13のAと同様に、エージェントA用のスライダ81はイネーブル状態にし、エージェントB用のスライダ82はディセーブル状態にすることができる。
 また、例えば、エージェントBの報酬グラフの変化パターンが、パターンp2になっており、エージェントBの学習が成功している場合には、エージェントAの学習状況にかかわらず、エージェントBの学習が成功していること等を表す成功メッセージを表示するアラートの発行を行うことができる。
 この場合、スライダ81及び82については、図13のCと同様に、エージェントB用のスライダ82はイネーブル状態にし、エージェントA用のスライダ81はディセーブル状態にすることができる。
 <アラート発行処理>
 図14は、図12及び図13で説明したようなアラートの発行を行うアラート発行処理の例を説明するフローチャートである。
 図15は、図14に続くフローチャートである。
 アラート発行処理では、ステップS41において、学習状況判定部34が、最新の所定期間のエージェントA及びBそれぞれの報酬グラフを取得し、処理は、ステップS42に進む。
 ステップS42では、学習状況判定部34は、エージェントAの報酬グラフの変化パターンに基づき、エージェントAの学習状況を判定する。すなわち、ステップS42では、学習状況判定部34は、エージェントAの報酬グラフの変化パターンが、図12のCのパターンp3であるかどうかを判定する。
 ステップS42において、エージェントAの報酬グラフの変化パターンがパターンp3でないと判定された場合、処理は、ステップS43ないしS46をスキップして、ステップS47に進む。
 また、ステップS42において、エージェントAの報酬グラフの変化パターンがパターンp3であると判定された場合、エージェントAは学習を中断して、処理は、ステップS43に進む。
 ステップS43では、入出力制御部36は、アラートメッセージとしての変数textに、エージェントAの学習が失敗していることを報知し、エージェントAの報酬のパラメータ(重みω)の調整を促すメッセージ「エージェントAの学習失敗。重みパラメータ再設定してください」をセットする。
 さらに、ステップS43では、入出力制御部36は、アラートメッセージとしての変数textにセットされたメッセージをユーザI/F40に表示させることによるアラートの発行を行い、処理は、ステップS44に進む。
 ステップS44では、入出力制御部36は、すべてのスライダ81及び82のアクティベーションをディセーブル状態に初期化し、スライダ81及び82を操作不能状態にして、処理は、ステップS45に進む。
 ステップS45では、入出力制御部36は、エージェントA用のスライダ81のアクティベーションをイネーブル状態に設定し、操作可能状態にして、処理は、ステップS45に進む。
 以上により、図13のAの表示が行われ、その結果、ユーザは、エージェントAの学習に失敗し、エージェントAの報酬のパラメータの調整が必要であることを認識することができる。さらに、ユーザは、エージェントA用のスライダ81を操作することにより、エージェントAの報酬のパラメータの調整を行うことができる。
 ステップS46では、入出力制御部36は、ユーザI/F40が学習を再開するように操作されたかどうかを判定し、操作されていないと判定した場合、処理は、ステップS46に戻る。
 また、ステップS46において、ユーザI/F40が学習を再開するように操作されたと判定された場合、エージェントAは、学習を再開し、処理は、ステップS47に進む。
 ステップS47では、学習状況判定部34は、エージェントBの報酬グラフの変化パターンに基づき、エージェントBの学習状況を判定する。すなわち、ステップS47では、学習状況判定部34は、エージェントBの報酬グラフの変化パターンが、図12のCのパターンp3であるかどうかを判定する。
 ステップS47において、エージェントBの報酬グラフの変化パターンがパターンp3でないと判定された場合、処理は、ステップS48ないしS51をスキップして、図15のステップS61に進む。
 また、ステップS47において、エージェントBの報酬グラフの変化パターンがパターンp3であると判定された場合、エージェントBは学習を中断して、処理は、ステップS48に進む。
 ステップS48では、入出力制御部36は、アラートメッセージとしての変数textに、エージェントBの学習が失敗していることを報知し、エージェントBの報酬のパラメータ(重みω)の調整を促すメッセージ「エージェントBの学習失敗。重みパラメータ再設定してください」をセットする。
 さらに、ステップS48では、入出力制御部36は、アラートメッセージとしての変数textにセットされたメッセージをユーザI/F40に表示させることによるアラートの発行を行い、処理は、ステップS49に進む。
 ステップS49では、入出力制御部36は、すべてのスライダ81及び82のアクティベーションをディセーブル状態に初期化し、スライダ81及び82を操作不能状態にして、処理は、ステップS50に進む。
 ステップS50では、入出力制御部36は、エージェントB用のスライダ81のアクティベーションをイネーブル状態に設定し、操作可能状態にして、処理は、ステップS50に進む。
 以上により、図13のCの表示が行われ、その結果、ユーザは、エージェントBの学習に失敗し、エージェントBの報酬のパラメータの調整が必要であることを認識することができる。さらに、ユーザは、エージェントB用のスライダ82を操作することにより、エージェントBの報酬のパラメータの調整を行うことができる。
 ステップS51では、入出力制御部36は、ユーザI/F40が学習を再開するように操作されたかどうかを判定し、操作されていないと判定した場合、処理は、ステップS51に戻る。
 また、ステップS51において、ユーザI/F40が学習を再開するように操作されたと判定された場合、エージェントBは、学習を再開し、処理は、図15のステップS61に進む。
 図15のステップS61では、学習状況判定部34は、エージェントA及びBの報酬グラフの変化パターンに基づき、エージェントA及びBの学習状況を判定する。すなわち、ステップS42では、学習状況判定部34は、エージェントA及びBの報酬グラフの変化パターンが、いずれも、図12のBのパターンp2であるかどうかを判定する。
 ステップS61において、エージェントA及びBの報酬グラフの変化パターンの一方、又は、両方が、パターンp2でないと判定された場合、処理は、図14のステップS41に戻る。
 また、ステップS61において、エージェントA及びBの報酬グラフの変化パターンが、いずれもパターンp2であると判定された場合、エージェントA及びBは学習を中断して、処理は、ステップS62に進む。
 ステップS62では、入出力制御部36は、アラートメッセージとしての変数textに、エージェントA及びBの両方の学習が成功していることを報知し、エージェントA及びBの報酬のパラメータ(重みω及びVi)の調整を促すメッセージ「学習収束。重みパラメータ再設定してください」をセットする。
 さらに、ステップS62では、入出力制御部36は、アラートメッセージとしての変数textにセットされたメッセージをユーザI/F40に表示させることによるアラートの発行を行い、処理は、ステップS63に進む。
 ステップS63では、入出力制御部36は、すべてのスライダ81及び82のアクティベーションをイネーブル状態に初期化し、スライダ81及び82を操作可能状態にして、処理は、ステップS64に進む。
 以上により、図13のBの表示が行われ、その結果、ユーザは、エージェントA及びBの学習が収束したこと、及び、必要に応じて、エージェントA及びBの報酬のパラメータを調整することができることを認識することができる。さらに、ユーザは、エージェントA用のスライダ81を操作することにより、エージェントAの報酬のパラメータの調整を行うとともに、エージェントB用のスライダ82を操作することにより、エージェントBの報酬のパラメータの調整を行うことができる。
 ステップS64では、入出力制御部36は、ユーザI/F40が学習を再開するように操作されたかどうかを判定し、操作されていないと判定した場合、処理は、ステップS64に戻る。
 また、ステップS64において、ユーザI/F40が学習を再開するように操作されたと判定された場合、エージェントA及びBは、学習を再開する。そして、処理は、ステップS64から図14のステップS41に戻り、以下、同様の処理が繰り返される。
 なお、本実施の形態では、エージェントAとして、自動運転を行う車両のエージェントを採用するとともに、エージェントBとして、自転車等の他の車両や人等のエージェントを採用し、自動運転の行動決定則を学習する自動運転の分野に、本技術を適用した場合について説明したが、本技術は、その他、自動運転の分野以外の様々な分野の行動決定則の学習に適用することができる。
 すなわち、本技術は、例えば、ワクチン開発の分野や、農作物品種改良の分野等に適用することができる。
 例えば、ワクチン開発の分野については、エージェントAとして、ワクチンのエージェントを採用するとともに、エージェントBとして、ウイルスのエージェントを採用することで、ウイルスに有効なワクチンの行動決定則を学習することができる。
 また、例えば、農作物品種改良の分野については、エージェントAとして、ある品種(新種)の農作物のエージェントを採用するとともに、エージェントBとして、害虫のエージェントを採用することで、害虫に強い品種の行動決定則を学習することができる。
 <本技術を適用したコンピュータの説明>
 次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
 図16は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
 あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
 なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
 コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
 CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
 これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
 なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 なお、本技術は、以下の構成をとることができる。
 <1>
 現実世界を模したシミュレータ環境を生成するシミュレータ環境生成部と、
 前記シミュレータ環境の中を行動し、その行動に対する報酬に応じて、行動決定則を学習する第1のエージェント及び第2のエージェントのうちの
  前記第1のエージェントに対して、所定の報酬定義に従った報酬を提供するとともに、
  前記第2のエージェントが前記第1のエージェントの報酬を小にする状況になるように行動した場合に得られる報酬が大になり、前記第1のエージェントの報酬を大にするように行動した場合に得られる報酬が小になる報酬定義を、前記所定の報酬定義に敵対する敵対報酬定義として、前記第2のエージェントに対して、前記敵対報酬定義に従った報酬を提供する
 報酬提供部と
 を備える情報処理装置。
 <2>
 前記報酬提供部は、ユーザの操作に応じて、前記報酬のパラメータを調整する
 <1>に記載の情報処理装置。
 <3>
 前記報酬のパラメータを調整するGUI(Graphical User Interface)を表示させる表示制御を行う表示制御部をさらに備える
 <2>に記載の情報処理装置。
 <4>
 前記第1のエージェント及び前記第2のエージェントの学習状況に応じて、前記報酬のパラメータの調整を促すアラートの発行を制御する発行制御部をさらに備える
 <2>又は<3>に記載の情報処理装置。
 <5>
 前記報酬の変化パターンに応じて、前記学習状況を判定する判定部をさらに備える
 <4>に記載の情報処理装置。
 <6>
 前記第1のエージェント又は前記第2のエージェントが、学習に失敗した場合と、前記第1のエージェント及び前記第2のエージェントが、学習に成功した場合とに、前記アラートを発行する
 <4>又は<5>に記載の情報処理装置。
 <7>
 現実世界を模したシミュレータ環境を生成することと、
 前記シミュレータ環境の中を行動し、その行動に対する報酬に応じて、行動決定則を学習する第1のエージェント及び第2のエージェントのうちの
  前記第1のエージェントに対して、所定の報酬定義に従った報酬を提供するとともに、
  前記第2のエージェントが前記第1のエージェントの報酬を小にする状況になるように行動した場合に得られる報酬が大になり、前記第1のエージェントの報酬を大にするように行動した場合に得られる報酬が小になる報酬定義を、前記所定の報酬定義に敵対する敵対報酬定義として、前記第2のエージェントに対して、前記敵対報酬定義に従った報酬を提供することと
 を含む情報処理方法。
 10 エージェント, 11 経験DB, 12 学習部, 13 行動決定部, 30 シミュレータ, 31 シミュレータ環境提供部, 32 シミュレータ環境生成部, 33 報酬提供部, 34 学習状況判定部, 36 入出力制御部, 40 ユーザI/F, 61 行動計画部, 62 周囲環境情報取得部, 63 データ取得部, 64 データベース, 65 学習部, 66 行動決定部, 67 行動制御部, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体

Claims (7)

  1.  現実世界を模したシミュレータ環境を生成するシミュレータ環境生成部と、
     前記シミュレータ環境の中を行動し、その行動に対する報酬に応じて、行動決定則を学習する第1のエージェント及び第2のエージェントのうちの
      前記第1のエージェントに対して、所定の報酬定義に従った報酬を提供するとともに、
      前記第2のエージェントが前記第1のエージェントの報酬を小にする状況になるように行動した場合に得られる報酬が大になり、前記第1のエージェントの報酬を大にするように行動した場合に得られる報酬が小になる報酬定義を、前記所定の報酬定義に敵対する敵対報酬定義として、前記第2のエージェントに対して、前記敵対報酬定義に従った報酬を提供する
     報酬提供部と
     を備える情報処理装置。
  2.  前記報酬提供部は、ユーザの操作に応じて、前記報酬のパラメータを調整する
     請求項1に記載の情報処理装置。
  3.  前記報酬のパラメータを調整するGUI(Graphical User Interface)を表示させる表示制御を行う表示制御部をさらに備える
     請求項2に記載の情報処理装置。
  4.  前記第1のエージェント及び前記第2のエージェントの学習状況に応じて、前記報酬のパラメータの調整を促すアラートの発行を制御する発行制御部をさらに備える
     請求項2に記載の情報処理装置。
  5.  前記報酬の変化パターンに応じて、前記学習状況を判定する判定部をさらに備える
     請求項4に記載の情報処理装置。
  6.  前記第1のエージェント又は前記第2のエージェントが、学習に失敗した場合と、前記第1のエージェント及び前記第2のエージェントが、学習に成功した場合とに、前記アラートを発行する
     請求項4に記載の情報処理装置。
  7.  現実世界を模したシミュレータ環境を生成することと、
     前記シミュレータ環境の中を行動し、その行動に対する報酬に応じて、行動決定則を学習する第1のエージェント及び第2のエージェントのうちの
      前記第1のエージェントに対して、所定の報酬定義に従った報酬を提供するとともに、
      前記第2のエージェントが前記第1のエージェントの報酬を小にする状況になるように行動した場合に得られる報酬が大になり、前記第1のエージェントの報酬を大にするように行動した場合に得られる報酬が小になる報酬定義を、前記所定の報酬定義に敵対する敵対報酬定義として、前記第2のエージェントに対して、前記敵対報酬定義に従った報酬を提供することと
     を含む情報処理方法。
PCT/JP2017/043163 2016-12-14 2017-11-30 情報処理装置及び情報処理方法 WO2018110305A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/343,644 US20190272558A1 (en) 2016-12-14 2017-11-30 Information processing apparatus and information processing method
EP17882203.7A EP3557493A4 (en) 2016-12-14 2017-11-30 INFORMATION PROCESSING DEVICE AND METHOD
CN201780075833.6A CN110073376A (zh) 2016-12-14 2017-11-30 信息处理装置和信息处理方法
JP2018556565A JP7047770B2 (ja) 2016-12-14 2017-11-30 情報処理装置及び情報処理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-241920 2016-12-14
JP2016241920 2016-12-14

Publications (1)

Publication Number Publication Date
WO2018110305A1 true WO2018110305A1 (ja) 2018-06-21

Family

ID=62558540

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/043163 WO2018110305A1 (ja) 2016-12-14 2017-11-30 情報処理装置及び情報処理方法

Country Status (5)

Country Link
US (1) US20190272558A1 (ja)
EP (1) EP3557493A4 (ja)
JP (1) JP7047770B2 (ja)
CN (1) CN110073376A (ja)
WO (1) WO2018110305A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020094868A (ja) * 2018-12-11 2020-06-18 トヨタ自動車株式会社 満充電容量学習装置
WO2021075107A1 (ja) * 2019-10-18 2021-04-22 ソニー株式会社 情報処理装置及び情報処理方法
WO2021090413A1 (ja) * 2019-11-06 2021-05-14 日本電信電話株式会社 制御装置、制御システム、制御方法及びプログラム
WO2021095464A1 (ja) * 2019-11-13 2021-05-20 オムロン株式会社 ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
WO2021245720A1 (ja) * 2020-06-01 2021-12-09 日本電気株式会社 プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体
US11238372B2 (en) * 2018-08-27 2022-02-01 Vmware, Inc. Simulator-training for automated reinforcement-learning-based application-managers
JP2022522278A (ja) * 2019-02-22 2022-04-15 ビ-エイイ- システムズ パブリック リミテッド カンパニ- ビスポークな検出モデル
JP2022175160A (ja) * 2021-05-13 2022-11-25 三菱電機株式会社 他車両行動予測装置および行動予測モデル学習装置
JP2023512723A (ja) * 2020-02-07 2023-03-28 ディープマインド テクノロジーズ リミテッド 目的別行動価値関数を使用する多目的強化学習

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117521725A (zh) * 2016-11-04 2024-02-06 渊慧科技有限公司 加强学习系统
CN112100787B (zh) * 2019-05-28 2023-12-08 深圳市丰驰顺行信息技术有限公司 车辆动作预测方法、装置、电子设备及存储介质
CN111830971B (zh) * 2020-06-15 2021-09-07 中山大学 一种用于在稀疏奖励信号下学习多机器人编队导航策略的课程学习方法
TWI771004B (zh) * 2021-05-14 2022-07-11 財團法人工業技術研究院 物件姿態估測系統及其執行方法與圖案化使用者介面

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022902A (ja) * 2009-07-17 2011-02-03 Ritsumeikan 電力取引管理システム、管理装置、電力取引方法、及び電力取引用コンピュータプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8756177B1 (en) * 2011-04-18 2014-06-17 The Boeing Company Methods and systems for estimating subject intent from surveillance

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022902A (ja) * 2009-07-17 2011-02-03 Ritsumeikan 電力取引管理システム、管理装置、電力取引方法、及び電力取引用コンピュータプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
EGUCHI, TORU ET AL.: "A Plant Control Technology Using Reinforcement Learning Method with Automatic Reward Adjustment", IEEJ TRANSACTIONS ON ELECTRONICS, INFORMATION AND SYSTEMS, vol. 129, no. 7, 1 July 2009 (2009-07-01), pages 1253 - 1263, XP009515210, DOI: 10.1541/ieejeiss.129.1253 *
ITO, AKIRA ET AL.: "The acquisition of the strategy to ''read others", A PROPOSAL OF A STANDARD PROBLEM. THE 17TH ANNUAL CONFERENCE OF THE JAPANESE SOCIETY FOR ARTIFICIAL INTELLIGENCE, 2003, pages 1 - 4, XP009515666, DOI: 10.11517/pjsai.JSAI03.0.208.0 *
MNIHVOLODYMYR ET AL.: "Human-level control through deep reinforcement learning", NATURE, vol. 518, no. 7540, 2015, pages 529 - 533
See also references of EP3557493A4

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11238372B2 (en) * 2018-08-27 2022-02-01 Vmware, Inc. Simulator-training for automated reinforcement-learning-based application-managers
JP2020094868A (ja) * 2018-12-11 2020-06-18 トヨタ自動車株式会社 満充電容量学習装置
JP7247358B2 (ja) 2019-02-22 2023-03-28 ビ-エイイ- システムズ パブリック リミテッド カンパニ- ビスポークな検出モデル
JP2022522278A (ja) * 2019-02-22 2022-04-15 ビ-エイイ- システムズ パブリック リミテッド カンパニ- ビスポークな検出モデル
WO2021075107A1 (ja) * 2019-10-18 2021-04-22 ソニー株式会社 情報処理装置及び情報処理方法
JP7494856B2 (ja) 2019-10-18 2024-06-04 ソニーグループ株式会社 情報処理装置及び情報処理方法
WO2021090413A1 (ja) * 2019-11-06 2021-05-14 日本電信電話株式会社 制御装置、制御システム、制御方法及びプログラム
JPWO2021090413A1 (ja) * 2019-11-06 2021-05-14
JP7396367B2 (ja) 2019-11-06 2023-12-12 日本電信電話株式会社 制御装置、制御システム、及びプログラム
WO2021095464A1 (ja) * 2019-11-13 2021-05-20 オムロン株式会社 ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
JP7400371B2 (ja) 2019-11-13 2023-12-19 オムロン株式会社 ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
JP2021077286A (ja) * 2019-11-13 2021-05-20 オムロン株式会社 ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
JP2023512723A (ja) * 2020-02-07 2023-03-28 ディープマインド テクノロジーズ リミテッド 目的別行動価値関数を使用する多目的強化学習
JP7436688B2 (ja) 2020-02-07 2024-02-22 ディープマインド テクノロジーズ リミテッド 目的別行動価値関数を使用する多目的強化学習
JP7380874B2 (ja) 2020-06-01 2023-11-15 日本電気株式会社 プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体
WO2021245720A1 (ja) * 2020-06-01 2021-12-09 日本電気株式会社 プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体
JP2022175160A (ja) * 2021-05-13 2022-11-25 三菱電機株式会社 他車両行動予測装置および行動予測モデル学習装置
JP7258077B2 (ja) 2021-05-13 2023-04-14 三菱電機株式会社 他車両行動予測装置

Also Published As

Publication number Publication date
JPWO2018110305A1 (ja) 2019-10-24
CN110073376A (zh) 2019-07-30
US20190272558A1 (en) 2019-09-05
EP3557493A1 (en) 2019-10-23
JP7047770B2 (ja) 2022-04-05
EP3557493A4 (en) 2020-01-08

Similar Documents

Publication Publication Date Title
WO2018110305A1 (ja) 情報処理装置及び情報処理方法
US10825350B2 (en) Virtual reality driver training and assessment system
Heess et al. Emergence of locomotion behaviours in rich environments
EP3040807B1 (en) Virtual sensor in a virtual environment
Chang et al. Redirection controller using reinforcement learning
WO2020003670A1 (ja) 情報処理装置、および情報処理方法
KR20210048969A (ko) 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템
JP2009181187A (ja) 行動モデル作成装置及びプログラム
Queiroz et al. A driver-vehicle model for ADS scenario-based testing
WO2020235693A1 (ja) 人らしく振舞うaiエージェントの学習方法、学習装置及び学習プログラム
US8494981B2 (en) Real-time intelligent virtual characters with learning capabilities
Eriksson et al. A toolbox for automated driving on the STISIM driving simulator
US11494732B2 (en) Need-based inventory
Stein et al. Combining NEAT and PSO for learning tactical human behavior
Perez et al. Evolving a rule system controller for automatic driving in a car racing competition
JP7014349B1 (ja) 制御装置、学習装置、推論装置、制御システム、制御方法、学習方法、推論方法、制御プログラム、学習プログラム、及び推論プログラム
Yun et al. Generative model-based simulation of driver behavior when using control input interface for teleoperated driving in unstructured canyon terrains
TWI811156B (zh) 機器人的運動步態的過渡方法
JP7429809B2 (ja) 自律運転シミュレーションのためのシナリオを作成する装置と方法
EP4068241A1 (en) Driving assistance system and method of controlling autonomous vehicles
Fellah et al. Fuzzy/PSO Based Washout Filter for Inertial Stimuli Restitution in Flight Simulation
JP2013206188A (ja) シミュレーション方法、シミュレーション装置およびシミュレーションプログラム
Broad Generalizable data-driven models for personalized shared control of human-machine systems
US20230237370A1 (en) Methods for training an artificial intelligent agent with curriculum and skills
Chan et al. Development of a cognitive vehicle system for simulation of driving behavior

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018556565

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

Country of ref document: EP

Effective date: 20190715