EP4272131A1 - Imitation learning based on prediction of outcomes - Google Patents
Imitation learning based on prediction of outcomesInfo
- Publication number
- EP4272131A1 EP4272131A1 EP22707626.2A EP22707626A EP4272131A1 EP 4272131 A1 EP4272131 A1 EP 4272131A1 EP 22707626 A EP22707626 A EP 22707626A EP 4272131 A1 EP4272131 A1 EP 4272131A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- model
- demonstrator
- imitation
- trajectories
- environment
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
Definitions
- This specification relates to methods and systems for training a neural network to control an agent to carry out a task in an environment.
- the training is in the context of an imitation learning system, in which a neural network is trained to control an agent to perform a task using data characterizing instances in which the task has previously been performed by a demonstrator, such as a human expert.
- the imitation learning system is a system that, at each of a series of successive time steps, selects an action to be performed by an agent interacting with an environment. In order for the agent to interact with the environment, the system receives data characterizing the current state of the environment and selects an action to be performed by the agent in response to the received data.
- Data characterizing a state of the environment is referred to in this specification as an observation, or as “state data”.
- Neural networks are adaptive systems (machine learning models) that employ one or more layers of nonlinear units to predict an output for a received input.
- Some neural networks are deep neural networks that include one or more hidden layers in addition to an output layer. The output of each hidden layer is used as input to the next layer in the network, i.e., the next hidden layer or the output layer.
- Each layer of the network generates an output from a received input in accordance with current values of a respective set of parameters.
- This specification generally describes how a system implemented as computer programs in one or more computers in one or more locations can perform a method to train (that is, repeatedly adjust numerical parameters of) an adaptive system (“policy model”) which is part of a control system configured select actions to be performed by an agent interacting with an environment, based on state data characterizing (describing) the environment.
- the control system is operative to create control data (“action data”) which is transmitted to the agent to control it.
- the policy model may be deterministic (i.e. the action data is a uniquely determined by the input to the policy model); alternatively, the policy model may generate a probability distribution over possible realizations of the action data, and the control system may output action data which is selected from among the possible realizations of the action data according to the probability distribution.
- the environment may be a real-world environment
- the agent may be an agent which operates on the real -world environment.
- the agent may be a mechanical or electromechanical system (e.g., a robot) comprising one or more members connected together using joints which permit relative motion of the members, and one or more drive mechanisms which, according to the action data, control the relative position of the members or which are operative to move the robot through the environment.
- the environment may be simulated environment and the agent may be a simulated agent moving within the environment.
- the simulated agent may have a simulated motion within the simulated environment which mimics the motion of the robot in the real environment.
- agent is used to describe both a real agent (robot) and a simulated agent
- environment is used to describe both environments.
- the policy model may make use of state data collected by one or more sensors and describing the real-world environment.
- the (or each) sensor may be a camera configured to collect images (still images or video images) of the real-world environment (which may include an image of at least a part of the agent).
- the sensor may further collect proprioceptive data describing the configuration of the agent.
- the proprioceptive features may be positions and/or velocities of the members of the agent.
- an adaptive policy model for generating action data for controlling an agent which operates on an environment is iteratively trained based on demonstrator trajectories which are composed of sets of state data relating to successive time steps during a period (an “episode”) when a task was performed by a demonstrator (e.g. a human operator).
- a demonstrator e.g. a human operator
- the policy network is used to generate action data which controls the agent, to generate “imitation trajectories”, composed of sets of state data at successive time steps.
- the policy model is trained based on a policy model reward function (here just referred to as the “reward function”) which characterizes how similar the probability distribution of the demonstrator trajectories is to the probability distribution of the imitation trajectories.
- the probability distribution of the demonstrator trajectories may be estimated using an adaptive system referred to as a demonstrator model.
- the demonstrator model is operative to generate, for any said demonstrator trajectory, a value indicative of the probability of the demonstrator trajectory occurring (e.g. given an initial state of the environment).
- the demonstrator model may be operative to generate a value indicative of the probability of each set of state data of an demonstrator trajectory being generated (except the first set of state data of the demonstrator trajectory, which depends upon how the environment is initialized); the probability of the entire demonstrator trajectory being generated, given the initial state of the environment, may be generated by the demonstrator model as the product of these probabilities.
- the demonstrator model may be arranged to output a value indicative of the conditional probability of the corresponding state data, given the sets of state data at one or more preceding time steps in the demonstrator trajectory, e.g. only the set of state data for the immediately preceding time step.
- the demonstrator model can be used to generate a value indicative of the probability of a trajectory occurring (one of the demonstrator trajectories or one of the imitation trajectories) as the product of the respective conditional probabilities of the sets of state data of the trajectory occurring (except the first set of state data, corresponding to the initial state).
- the demonstrator model does not receive any action data relating to the preceding time step. That is, the demonstrator model is a function of the state data at the preceding time step, but not action data at the preceding time step. Preferably the demonstrator model does not receive any action data; it is not conditioned on action data at all.
- Training the demonstrator model can be performed using the demonstrator trajectories. Note that since the demonstrator model does not receive action data, the demonstrator model can be generated even when no action data is available.
- the demonstrator trajectories may describe respective periods (“episodes”) when a task is performed by a human.
- the probability distribution of the imitation trajectories may be estimated using an adaptive system referred to as an imitator model.
- the imitator model is operative to generate, for any said imitation trajectory, a value indicative of the probability of the imitation trajectory occurring (e.g. given an initial state of the environment).
- the imitator model may be operative to generate a value indicative of the probability of each set of state data of an imitation trajectory being generated (except the first set of state data of the imitation trajectory, which depends upon how the environment is initialized); thus, the probability of the entire imitation trajectory being generated, given the initial state of the environment, is the product of these probabilities.
- the imitator model may be arranged to output a value indicative of the conditional probability of the corresponding state data, given the sets of state data at one or more preceding time steps in the imitation trajectory, e.g. only the set of state data for the immediately preceding time step.
- the imitator model can be used to generate a value indicative of the probability of a trajectory occurring (e.g. one of the imitation trajectories) as the product of the respective conditional probabilities of the sets of state data of the trajectory (except the first set of state data, corresponding to the initial state).
- the imitator model does not receive any action data relating to the preceding time step. That is, the imitator model is a function of the state data at the preceding time step, but not action data at the preceding time step. Indeed, preferably the imitator model does not receive action data relating to any preceding time step; it is not conditioned on action data at all.
- the reward function may be defined based on comparing the respective probabilities of imitation trajectories under the demonstrator model and under the imitator model. Accordingly, the reward function for training the policy model is generated only using state data from the demonstrator trajectories and the imitation trajectories, and not using action data from those trajectories.
- any action data generated during the generation of each imitation trajectory may not be employed after the corresponding period, and may be discarded (deleted) after it has been used by the agent, e.g. after the imitation trajectory is completed and before any training using the imitation trajectory is performed.
- effect models The imitator model and demonstrator models are referred to as “effect models”. This term is used to mean that they are not conditioned on (do not receive as an input) data encoding actions performed by the agent in the demonstrator trajectories or the imitation trajectories. Furthermore they do not output data encoding actions. Instead, the only data they receive (input) encodes state date (i.e. observations) for one or more of the time-steps, and the data they output encodes a probability of the state data for the last one of those time-step being received given the state data for the other received time step(s).
- state date i.e. observations
- the logarithm of the probability of a trajectory may be separable into a sum of terms which each represent the logarithm of the conditional probability of a corresponding item of state data at a corresponding time step of the trajectory being generated, given the state data at one or more earlier time steps in the trajectory (typically, there is a respective term for every item of state data in the trajectory, except the state data of the initial state of the environment).
- the effect models and/or the policy model may be implemented using neural networks such as feedforward networks, e.g. multi-layer perceptrons (MLP).
- MLP multi-layer perceptrons
- a neural network for each model may be trained to generate a value indicative of the conditional probability of an item of state data being generated in a trajectory, upon receiving data encoding the state data from the one or more preceding time step(s) of the same trajectory. The term can then be averaged over multiple trajectories.
- the policy model may be trained to output data which characterizes a specific action (e.g. a one-hot vector which indicates that action) and which is used by the control system to generate control data for the agent, or probabilistic data which characterizes a distribution over possible actions. In the latter case, the control system generates the control data for the agent by selecting an action from the distribution.
- a specific action e.g. a one-hot vector which indicates that action
- probabilistic data which characterizes a distribution over possible actions. In the latter case, the control system generates the control data for the agent by selecting an action from the distribution.
- the training of the models preferably includes regularization.
- the regularization may be performed for example by weight decay, using the network output at a time step as the input to the next, or by predicting multiple time steps at each step.
- the effect models are generative models, but their training is performed without an adversary network as in a generative-adversarial network (GAN) system.
- GAN generative-adversarial network
- the demonstrator model is trained before the joint training of the imitator model and the policy model, and remains unchanged during the joint training of the imitator model and the policy model.
- the demonstrator model may be trained by an iterative process. In each iteration, it may be modified so as to increase the value of a demonstrator reward function which characterizes the probability of a plurality of the demonstrator trajectories (e.g. a subset of all the demonstrator trajectories) occurring according to the demonstrator model.
- the demonstrator reward function may be expressed as the sum of respective terms generated by the demonstrator model for each time step of the plurality of demonstrator trajectories, averaged, e.g. in the logarithmic domain, over the plurality of demonstrator trajectories.
- a different set of trajectories can be chosen (e.g. at random) to evaluate the demonstrator reward function.
- Training the imitator model can be performed using imitation trajectories generated using the policy model (either the policy model in its current state, or in a recent state).
- the term “jointly training” is used here to mean that the training process of the policy model and the imitator model is an iterative process in which updates to the policy model are interleaved with, or performed in parallel to, updates of the imitator model.
- the policy model is trained (e.g. during intervals between updates to the policy model), it is used to generate new imitation trajectories, by using it to control the agent during corresponding periods, and recording the sets of state data at time steps during those periods.
- the policy model controls the agent by receiving the sets of state data, and from each set of state data generating respective action data which is transmitted as control data to the agent to cause the agent to perform an action.
- the reward function is evaluated by comparing the demonstrator model and the imitator model. This may be done by evaluating, for a plurality of the imitation trajectories, the similarity of those imitation trajectories occurring according to (i.e. as evaluated using) the demonstrator model, and according to (i.e. as evaluated using) the imitator model. Conveniently, only some of the imitation trajectories available to the training system (i.e. a proper sub-set of a database of imitation trajectories stored in a replay buffer) may be used for this evaluation.
- the update to the policy model may be performed using a maximum a posteriori policy optimization (MPO) algorithm.
- MPO maximum a posteriori policy optimization
- the reward function may be found as an average over the plurality of the imitation trajectories of a value representative of the difference between (i) the sum (or product) of the terms generated by the demonstrator model for each of the set of trajectories, and (ii) the sum (or product) of the terms generated by the imitator model for each of the set of trajectories.
- the reward function is higher when the difference is smaller.
- the updates to the imitator model may be so as to increase the value of an imitator reward function which characterizes the probability of a plurality of the imitation trajectories occurring according to the imitator model (e.g. a subset of all the imitation trajectories).
- This imitator reward function may be expressed as the sum (or product) of the terms generated by the imitator model for each time step of the plurality of imitation trajectories, averaged, e.g. in the logarithmic domain, over the plurality of imitation trajectories.
- the updates to the policy model and the imitator model may be performed using “some” of the previously generated imitation trajectories. Specifically, for each update step, the updates to both the policy model and the imitator model may be performed using imitation trajectories selected (e.g. at random) for that update step from a “replay buffer”.
- the replay buffer is a database of the imitation trajectories generated during using the policy model in its current state and typically also in one or more of its previous states.
- imitation trajectories may be deleted from the replay buffer (since as the policy model is trained older imitation trajectories are increasingly less representative of imitation trajectories which would be generated using the current policy model).
- an imitation trajectory may be deleted from the replay buffer after a certain number of update steps have passed since it was generated.
- the training of the policy model may be performed as part of a process which includes, for a certain task: performing the task (e.g., under control of a demonstrator such as a human expert) a plurality of times and collecting the demonstrator trajectories characterizing the performances; initializing a policy model; and training the policy model by the technique described above.
- the estimated value of the reward function may be used as, or more generally used to derive, a measure of the success of the training.
- Some conventional reinforcement learning situations use as their success measure a comparison of the actions generated by a trained policy model with a ground truth which is either the actions generated by the demonstrator during the demonstrator trajectories or is in fact an demonstrator policy (i.e. the policy used by the demonstrator to choose the actions which produced the demonstrator trajectories).
- imitation learning may be seen as “inverse reinforcement learning” in which an unobserved reward function is recovered from the expert behavior.
- the actions generated by the demonstrator and the demonstrator policy are unavailable, or at least not used during the training procedure.
- the measure of success based on the reward value may be used for example to define a termination criterion for the training of the policy model, e.g. based on a determination that the measure of success is above a threshold and/or that the measure of success has increased by less than a threshold amount during a certain number X of immediately preceding iterations of the training procedure (measure of success has increased by less than the threshold amount during the last X iterations).
- the measure of success may be based on the ability of the ability of the imitator model to predict the imitation trajectories (and/or the demonstrator trajectories), and the termination criterion might comprise a determination that the predicted probability of the imitation trajectories (and/or demonstrator trajectories) under the imitator model has increased by less than a threshold amount during a predetermined number of the last training iterations.
- the policy network may be used to generate action data to control the agent (e.g., a real-world agent) to perform the task in an environment, e.g., based on state data (observations) collected by at least one sensor, such as a (still or video) camera for collecting image data.
- agent e.g., a real-world agent
- state data observations
- sensor such as a (still or video) camera
- the demonstrator model, policy model and imitator model are each adaptive systems which may take the form of a respective neural network.
- One or more of the neural networks may comprise a convolutional neural network which includes a convolutional layer which receives the state data (e.g. in the form of image data as discussed below) and from it generates convolved data.
- one or more of the neural networks may be a recurrent neural network which generates a corresponding output for each set of state data it receives.
- a recurrent neural network is a neural network that receives can use some or all of the internal state of the network from a previous time step in computing an output at a current time step based on an input for the current time step.
- a policy model for controlling an agent to perform in an environment can be produced from instances of the task being performed by a demonstrator, even when no action data is available from those instances (e.g. when the demonstrator is a human, or is an agent which has a different control system from the one to be controlled by the policy model and is controlled by a different sort of action data). Accordingly, the present method is applicable to imitation learning tasks which cannot be performed using many conventional systems which rely on action data from instances of the task being performed by a demonstrator.
- the discriminator may use that factor to distinguish the demonstrator trajectories from the imitation trajectories, so that the reward is unrelated to the task.
- the presently proposed method does not require a discriminator, so this problem does not arise. Instead, even if the state data contains irrelevant information, the training of the demonstrator model tends to generate a demonstrator model in which that portion of the state data is ignored because it is not of predictive value. This in turn means that the imitator model and policy model tend to ignore it.
- examples of the present method strongly outperform known methods when there are distractor features in the state data.
- FIG. 1 shows schematically how an expert interacts with an environment to perform a task.
- FIG. 2 shows a system proposed by the present disclosure which controls an agent to perform actions in the environment.
- FIG. 3 explains the operation of the training engine of the system of FIG. 2.
- FIG. 4 is a flow diagram of a method proposed by the present disclosure for training a policy model proposed by the present disclosure.
- FIG. 5 is composed of FIGS. 5 A and 5B which compare, for two respective tasks, the quality of imitation trajectories produced by an example system according to the present disclosure and two other imitation learning algorithms.
- FIG. 1 shows schematically how an expert 102 (e.g. a human expert or a robot) interacts with an environment 106 to accomplish a goal (also referred to as “performing a task”).
- time steps a number of times
- x t is collected from the environment 106 by making an observation of the environment 106.
- the collection of state data ⁇ x t ⁇ is referred to as a “demonstrator trajectory”.
- a change in the state data from one time step to the next within a trajectory (e.g. from x t -1 at time step t-1 , to x t at the next time step f) is referred to as a “transition”.
- the demonstrator trajectory is stored in a demonstrator memory 104. Note that this notation, and the use of the terms “state” and “observation”, is not intended to imply that the environment 106 is a Markovian system. It need not be. Furthermore, the state data need not be a complete description of the state of the environment: it may only describe certain features of the environment and it may be subject to noise or other spurious signals (i.e. signals which are not informative about performing the task).
- the expert 102 may receive the state data for the time step x t .
- the expert have another source of information about the environment.
- the state data ⁇ x t ⁇ is the output of one or more sensors (e.g. one or more cameras) which sense the real world environment at each of the time-steps, and the human expert may, or may not, be given access to the state data ⁇ x t ⁇ .
- the expert is a human, he or she may perform the action himself/herself (e.g. with his/her own hands).
- the expert may perform the action by generating control data for an agent (a tool) to implement to perform the action, but the control data may not be stored in the demonstrator memory 104.
- the expert 102 will perform a certain task multiple more than once, i.e. there are multiple episodes.
- a respective demonstrator trajectory is stored in the demonstrator memory 104.
- multiple experts may attempt the task successively, each generating one or more corresponding demonstrator trajectories, each being composed of state data for one performance of the task for the corresponding expert. Note that the number of time steps T may be different for different ones of the demonstrator trajectories. All the demonstrator trajectories are stored in the demonstrator memory 104.
- Each of the demonstrator trajectories stored in the demonstrator memory 104 may be denoted by where the D indicates that the demonstrator trajectory is generated by the expert 102, and the integer label j labels the demonstrator trajectory.
- the measured state data obtained from the environment 106 was
- FIG. 2 shows an example action selection system 200 proposed by the present disclosure that is trained to control an agent 204 interacting with the environment 106 to perform the same task.
- the action selection system 200 is an example of a system implemented as computer programs on one or more computers in one or more locations in which the systems, components, and techniques described below are implemented.
- the system 200 selects actions 202 to be performed by the agent 204 interacting with the environment 106 at each of multiple time steps to accomplish the task. This set of time steps is also referred to as an episode.
- the system 200 receives state data 110 (denoted x t ) characterizing the current state of the environment 106 and selects an action ( ⁇ t ) to be performed by the agent 204 in response to the received state data 110. It transmits action data 202 specifying the selected action to the agent 204.
- the state of the environment 106 at the time step (as characterized by the state data 110) depends on the state of the environment 106 at the previous time step and the action 102 performed by the agent 104 at the previous time step.
- the environment 106 is a simulated environment and the agent is implemented as one or more computers interacting with the simulated environment.
- the simulated environment may be a simulation of a robot or vehicle and the imitation learning system may be trained on the simulation.
- the simulated environment may be a motion simulation environment, e.g., a driving simulation or a flight simulation, and the agent is a simulated vehicle navigating through the motion simulation.
- the actions may be control inputs to control the simulated user or simulated vehicle.
- a simulated environment can be useful for training an imitation learning system before using the system in the real world.
- the simulated environment may be a video game and the agent may be a simulated user playing the video game.
- the observations may include simulated versions of one or more of the previously described observations or types of observations and the actions may include simulated versions of one or more of the previously described actions or types of actions.
- the simulated environment may be a protein folding environment such that each state is a respective state of a protein chain and the agent is a computer system for determining how to fold the protein chain.
- the actions are possible folding actions for folding the protein chain and the result to be achieved may include, e.g., folding the protein so that the protein is stable and so that it achieves a particular biological function.
- the agent 204 may be a simulated mechanical agent that performs or controls the protein folding actions selected by the system automatically without human interaction.
- the state data may include direct or indirect observations of a state of the protein and/or may be derived from simulation.
- the environment may be a drug design environment such that each state is a respective state of a potential pharma chemical drug and the agent is a computer system for determining elements of the pharma chemical drug and/or a synthetic pathway for the pharma chemical drug.
- the drug/synthesis may be designed based on a reward derived from a target for the drug, for example in simulation.
- the agent may be a mechanical agent that performs or controls synthesis of the drug.
- the environment is a real-world environment.
- the agent may be an electromechanical agent interacting with the real-world environment.
- the agent may be a robot or other static or moving machine interacting with the environment to accomplish a specific task, e.g., to locate an object of interest in the environment or to move an object of interest to a specified location in the environment or to navigate to a specified destination in the environment; or the agent may be an autonomous or semi-autonomous land or air or sea vehicle navigating through the environment.
- the observations may include, for example, one or more of images, object position data, and sensor data to capture observations as the agent interacts with the environment, for example sensor data from an image, distance, or position sensor or from an actuator.
- the observations may similarly include one or more of the position, linear or angular velocity, force, torque or acceleration, and global or relative pose of one or more parts of the agent.
- the observations may be defined in 1, 2 or 3 dimensions, and may be absolute and/or relative observations.
- the observations may include data characterizing the current state of the robot, e.g., one or more of: joint positionjoint velocity, joint force, torque or acceleration, and global or relative pose of a part of the robot such as an arm and/or of an item held by the robot.
- the observations may also include, for example, sensed electronic signals such as motor current or a temperature signal; and/or image or video data for example from a camera or a LIDAR sensor, e.g., data from sensors of the agent or data from sensors that are located separately from the agent in the environment.
- the actions may be control inputs to control the robot, e.g., torques for the joints of the robot or higher-level control commands; or to control the autonomous or semi-autonomous land or air or sea vehicle, e.g., torques to the control surface or other control elements of the vehicle or higher-level control commands; or, e.g., motor control data.
- the actions can include for example, position, velocity, or force/torque/accel eration data for one or more joints of a robot or parts of another mechanical agent.
- Action data may include data for these actions and/or electronic control data such as motor control data, or more generally data for controlling one or more electronic devices within the environment the control of which has an effect on the observed state of the environment.
- the actions may include actions to control navigation, e.g., steering, and movement, e.g., braking and/or acceleration of the vehicle.
- the agent 204 may be an electronic agent which controls a real-world environment 206 which is a plant or service facility, and the state data 110 may include data from one or more sensors monitoring part of the plant or service facility, such as current, voltage, power, temperature and other sensors and/or electronic signals representing the functioning of electronic and/or mechanical items of equipment.
- the agent may control actions in the environment 206 including items of equipment, for example in a facility such as: a data center, server farm, or grid mains power or water distribution system, or in a manufacturing plant or service facility. The observations may then relate to operation of the plant or facility.
- the agent may control actions in the environment to increase efficiency, for example by reducing resource usage, and/or reduce the environmental impact of operations in the environment, for example by reducing waste.
- the agent may control electrical or other power consumption, or water use, in the facility and/or a temperature of the facility and/or items within the facility.
- the actions may include actions controlling or imposing operating conditions on items of equipment of the plant/facility, and/or actions that result in changes to settings in the operation of the plant/facility, e.g., to adjust or turn on/off components of the plant/facility.
- the environment is a real-world environment and the agent manages distribution of tasks across computing resources, e.g., on a mobile device and/or in a data center.
- the actions may include assigning tasks to particular computing resources.
- the actions may include presenting advertisements, the observations may include advertisement impressions or a click-through count or rate, and the reward may characterize previous selections of items or content taken by one or more users.
- the action selection system 200 selects actions for the agent 204 to take using a policy model 220.
- the policy model 220 is denoted where ⁇ denotes a set of parameters defining the policy model.
- the parameters ⁇ are iteratively trained by a training process described below. Once that training process terminates, the trained policy model 220 may be used to control the agent 204 to perform the task with no further training of the policy model 220.
- the policy model 220 upon receiving state data x t at time step t, outputs corresponding output data indicative of the action, denoted ⁇ t , which the agent 204 should take in this time step.
- the action selection system 200 generates the action data 202 based on the output data from the policy model 220, and transmits it to the agent 204 to command it to perform a selected action.
- the policy model 220 may generate the action data 202 itself, e.g. as a “one hot” vector which has respective components for each of the actions the agent 204 might perform, and in which one of the components takes a first value (e.g. 1) and all other components take a second different value (e.g. 0), such that the vector specifies the action corresponding to the component which takes the first value.
- the output data of the policy model 220 may be values for each of a set of possible actions which the agent 204 might take, and the action selection system 200 may select the action to be specified by the action data 202 as the action for which the corresponding value is highest.
- the output data may define a probability distribution over a set of possible actions, and the action selection system 200 may select the action from the set of possible actions as a random selection of one of the possible actions according to the probability distribution.
- the policy model 220 is trained (that is, the parameters ⁇ are iteratively set) using a training engine 212.
- the training engine 212 also receives the state data 110 at each time step, and stores this data in a replay buffer 214.
- the structure of the training engine 212 is explained below with reference to FIG. 3.
- the sets of state data which is generated while the agent 204 is controlled by the action selection system 200 to perform the task are referred to as an “imitation trajectory”.
- the imitation trajectory ⁇ x t ⁇ is stored in the replay buffer 214.
- a plurality of imitation trajectories ⁇ x t ⁇ are generated in this way, representing different respective attempts to perform the task by the agent 204 under the control of the action selection system 110, and these imitation trajectories are stored in the replay buffer 214.
- Each imitation trajectory is denoted by where the I indicates that the imitation trajectory is generated by agent 204 under the control of the action selection system 110, and the integer label k labels each of the imitation trajectories.
- the training engine 212 trains the policy model 220 based on the demonstrator trajectories stored in the demonstrator memory 104, and the imitation trajectories stored in the replay buffer 214. Note that typically the demonstrator trajectories do not include action data (or if they do, it is not used for the training). Similarly, the imitation trajectories stored in the replay buffer 214 do not include any action data (or if they do, it is not used for the training).
- training engine 212 makes use of state data from the demonstrator trajectories and the imitation trajectories, but does not employ action data from either of these types of trajectory (and in particular not from the demonstrator trajectories), makes the present method suitable for a case in which action data generated by the expert 102 of FIG. 1 is not available (e.g. because the expert 102 used his or her hands to act on the environment during the generation of the demonstrator trajectories, rather than by issuing control instructions to equipment operating on the environment) or is not suitable for controlling the agent 204 (e.g. because agent 204 is different from a tool controlled by the expert 102).
- the training engine 112 is designed to treat ⁇ form as a return, and maximize it using imitation learning techniques proposed by the present disclosure.
- Each term of ⁇ form is a log-density over the states encountered in an episode. Due to the chain rule for probability, logp D (X) can be rewritten as As the initial state is independent of the policy, the reward term is equivalent to This means the return can be expressed solely in terms of next-step conditional densities (probabilities).
- the explanation below is given in terms of one-step predictive models (i.e. based on probabilities such as logp(x t
- Fig. 3 shows the structure of the training engine 212.
- the training engine 212 includes two models referred to as “effect models”.
- effect model is used to mean a model of the probability distribution, given the state data x t _ 1 at time t-1, of the state data at time t being x t .
- the effect model is conditioned (only) on x t and x t _ T . It is not conditioned on actions. It attempts to capture effects of policy and environment dynamics.
- the first effect model is a demonstrator model 301.
- the demonstrator model 301 is defined by parameters ⁇ and denoted Upon receiving the inputs x t and x t-1 , it outputs an estimate of p D (x t
- the second effect model is an imitator model 303.
- the demonstrator model 303 is defined by parameters ⁇ and denoted Upon receiving the inputs x t and x t _ 1 , it outputs an estimate of If individual ones of the imitation trajectories are labelled by respective values of an integer index k, a given imitation trajectory may be denoted Thus, the imitator model 303 is operative to generate, for the k-th said imitation trajectory, a value indicative of the probability of the k-th imitation trajectory occurring, given the initial state data x 0 at the start of the trajectory and the policy model defined by the parameters ⁇ , i.e. as
- the demonstrator model 301, the imitator model 303 and/or the policy model 220 may be implemented using neural networks such as feedforward networks, e.g. multi-layer perceptrons (MLP). For example, they may be implemented as 3 layer MLPs with tanh and exponential linear unit (ELU) nonlinearities.
- MLP multi-layer perceptrons
- ELU exponential linear unit
- One or more of the models may however be implemented using a different type of neural network.
- the policy network 220 might be implemented as a recurrent network.
- the sensor data is in the form of a data array (e.g.
- one or more of the demonstrator model 301, the imitator model 303 and/or the policy model 220 may include at the input one or more stacked layers which are convolutional layers.
- the demonstrator model 301 and imitator model 303 may each include a unit for multiplying the conditional probabilities for the transitions of a trajectory (or equivalently adding the logarithms of those conditional probabilities) to derive a value which indicates the probability of the entire trajectory occurring.
- the demonstrator model training unit solves Eqn. (2) by performing multiple iterations. The maximization process may be considered as maximizing a demonstrator reward function.
- the demonstrator training unit 302 randomly selects a batch of multiple demonstrator trajectories from the demonstrator memory 104, and performs a gradient step (e.g.
- the training engine 212 jointly trains the policy model 220 and the imitator model 303 in an iterative process in which the iterated update steps to the policy model 220 and the imitator model 303 are interleaved or performed in parallel.
- This joint training process can follow the training of the demonstrator model 301, since the cost function of Eqn. (2) is not dependent on the imitator model 303, the policy model 220 or the imitation trajectories.
- the joint training process is performed concurrently with multiple episodes in which the policy model 220 controls the agent 204 to perform the task in the environment 106, thereby generating multiple respective imitation trajectories which are added to the replay buffer 214.
- the policy model 220 controls the agent 204 to perform the task in the environment 106, thereby generating multiple respective imitation trajectories which are added to the replay buffer 214.
- one or more episodes may be carried out of the action selection system 200 controlling the agent 204 using the policy model 220 to perform the task, resulting in one or more respective new imitation trajectories which are added to the replay buffer 214.
- imitation trajectories may be discarded from the replay buffer 214 according to a discard criterion (e.g. a given imitation trajectory may be discarded after a certain threshold number of updates have been made to the policy model 220 since the imitation trajectory was generated, or after a sum of the magnitudes of the updates to the policy model since the imitation trajectory was generated is above a threshold).
- the imitation trajectories are discarded because there is a risk that they are no longer statistically representative of imitation trajectories which the policy model 220 in its current state would produce.
- Updates to the policy model 220 are made by a reward evaluation unit 305 and a policy model update unit 306.
- the reward evaluation unit 305 evaluates a reward function which is a measure of the similarity of the demonstrator model and the imitator model. Specifically, a batch of imitation trajectories is sampled from the replay buffer 214. The reward function is evaluated by determining, for the batch of imitation trajectories, a measure of the similarity of the probability of those imitation trajectories occurring according to the demonstrator model and according to the imitator model. This involves calculating, for the k- th imitation trajectory of the batch, and for each element of state data for t above zero, a respective reward value:
- the policy model update unit 306 then updates the parameters ⁇ of the policy model 220 to increase the sum of Eqn. (3) over all the values of t above 0, averaged over all the respective values of k for the batch of imitation trajectories.
- the Retrace algorithm may be used to do this. It amounts to training parameters ⁇ of the policy model 220 to be the solution of:
- the policy gradient does not involve gradients of either or p D because neither of these densities are conditioned on the actions sampled from the policy (in effect, the contribution of the density to the policy gradient is integrated out).
- Some known training algorithms are justified in terms of matching the state-action occupancy of a policy model to that of an expert. For example, GAIL attempts to unconditionally match the rates at which states and actions are visited.
- the reward function of Eqn. (4) which is used to train the policy model 220 is derived directly from an objective that matches a policy model’s effect on the environment in its initial state to that of the expert. This increases the stability of the learning, and makes it less subject to noise (e.g. in the state data).
- the objective of Eqn. (4) includes both an expectation with respect to the current policy model 220 and a term that reflects the current imitator model 303. This might suggest that this objective is easiest to optimize in an on-policy setting. Nonetheless, it has been found that the algorithm explained above (i.e. a moderately off-policy setting, using the replay buffer 214), can optimize the objective stably.
- the Retrace algorithm corrects for mildly off-policy actions using importance sampling.
- the optimization of the policy model 220 may be performed using the MPO algorithm (Abdolmaleki et al., “Maximum a posteriori policy optimization”, In Proceedings of The International Conference on Learning Representation, 2018), since it is known to perform well in mildly off-policy settings.
- Eqn. (4) is not based on any MPO-specific assumptions, so it is expected to perform well with many other policy optimizers.
- An imitator model update unit 304 then updates the parameters ⁇ of the imitator model 303 (e.g. using the Adam algorithm) to increase the value of the sum, over all the values of t above 0 and over the all the respective values of k for the batch of imitation trajectories, of log
- the imitator model update unit seeks the values of parameters ⁇ which solve: where the expectation value is obtained by summing over the transitions of the batch of imitation trajectories.
- the maximization process may be considered as maximizing an imitator reward function.
- the updates to the imitator model 303 and the policy model 301 may be performed in the opposite order.
- FIG. 4 summarizes a method 400 performed by the training engine 212.
- Method 400 is an example of a method which may be implemented as computer programs on one or more computers in one or more locations.
- step 401 of the method 400 a corresponding demonstrator trajectory is obtained for each of a plurality of performances of the task (episodes).
- each demonstrator trajectory comprises a plurality of sets of state data characterizing the environment during the performance of the task.
- step 401 may be carried out by obtaining the demonstrator trajectories from a pre-existing database of demonstrator trajectories (e.g. a public database of videos showing a task being carried out).
- step 402 the demonstrator trajectories are used, as explained above with reference to FIG. 3, to generate the demonstrator model 301.
- the demonstrator model 301 is operative to generate, for any said demonstrator trajectory, a value indicative of the probability of the demonstrator trajectory occurring.
- steps 403 to 405 the imitator model 303 and policy model 220 are trained jointly.
- the set of steps 403 to 405 is performed repeatedly as a series of iterations.
- step 403 a plurality of imitation trajectories are generated.
- the imitator model 303 is trained using the imitation trajectories, such that the trained imitator model is operative to generate, for any said imitation trajectory, a value indicative of the probability of the imitation trajectory occurring.
- the imitator model is operative to generate the conditional probabilities of each of the transitions of the imitation trajectory, and to multiply them together (or add their logarithms) to obtain the probability of the imitation trajectory occurring.
- step 405 the policy model 220 is trained using the reward function of Eqn. (4), which is a measure of the similarity of the demonstrator model and the imitator model.
- this similarity measure may be the average over a batch of imitation trajectories of the difference between probability values assigned by the demonstrator model and the imitator model to each of those imitation trajectories.
- the thirteen tasks used corresponding ones of six different domains (types of environment), and they did not include distractors. It was found that the asymptotic performance of FORM was better than most of these algorithms. For example, one such algorithm was as “Gail from Observations” (GAIfO) described in Torabi, F., Warnell, G., and Stone, P. Generative adversarial imitation from observation. In Imitation, Intent, and Interaction (13) (ICML Workshop), 2019a, which is based on the GAIL algorithm. The GAIL algorithm struggles to imitate in the presence of a small number of differences between expert and imitator domains, and indeed the performance of FORM was better than GAIfO in most of the tasks.
- GAIfO Garnier from Observations
- GAIfO can be improved using a regularized variant with a tuned gradient penalty (as suggested in Gulrajani, I., Ahmed, F., Arjovsky, M., Dumoulin, V., and Courville, A. C. Improved training of wasserstein GANs. In Proceedings ofNeural Information Processing Systems (NeurlPS), 2017), and this will be referred to here as GAIfO-GP.
- the asymptotic performance of FORM was comparable to GAIfO-GP in the thirteen tasks considered, which, as noted, did not include distractors.
- each item of state data in the demonstrator trajectory is concatenated with an N-component binary vector h, (where N is an integer) to form modified state data
- bj is one of a set of M randomly generated N-component binary vectors, where M is an integer known as the “pool size”. ⁇ b 1 , b 2 , ... .
- each demonstrator trajectory was used to form a modified demonstrator trajectory, and the modified demonstrator trajectories were used in place of the original demonstrator trajectories for the imitation learning.
- each item of state data in the imatation trajectory is concatenated with an N-component random binary vector b.
- N makes the task harder, by reducing the fraction of the state data which contains information useful to performing the task.
- Increasing M makes the task easier, because it means that each of the M spurious signals is present in a smaller proportion of the demonstrator trajectories. In other words, it has the effect of increasing the statistical similarity of the spurious signals as between the demonstrator trajectories and the imitation trajectories.
- a low value of M makes it easier to distinguish between the demonstrator trajectories and the imitation trajectories based on the spurious signals.
- FORM was implemented using simple feedforward architectures to parameterize the demonstrator model, imitator model and policy models. Each was implemented as a 3 layer MLP with 256 units, and tanh and ELU nonlinearities.
- the action data was a mixture of 4 Gaussian components with a diagonal covariance matrix, with the policy model outputting Gaussian mixture model (GMM) mixture coefficients and the means and standard deviations of each component. In all experiments, the standard deviation was clipped to a minimum value of 0.0001.
- GMM Gaussian mixture model
- the weight were tuned (using sweeping values of [0.0, 0.01, 0.1, and 1.0]), and the fraction of each batch generated by agent rollouts were also tuned (using sweeping values of [0.0, 0.01, 0.1, 1.0]), but otherwise identical hyperparameters were used for all FORM models.
- FIG 5 A compares the quality of imitation trajectories produced by the FORM method (i.e. the example system according to the present disclosure) with the imitation trajectories for GAIfO and GAIfO-GP, for a task in the DCS called “walker run”.
- a quality measure of the imitation trajectories is shown by the vertical axis (“imitator return”), while the horizontal axis represents M (the number of spurious signals in the demonstrator trajectories).
- FIG. 5B shows results for a second task known as “quadruped walk” from the DCS.
- Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
- Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non transitory program carrier for execution by, or to control the operation of, data processing apparatus.
- the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- the computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. The computer storage medium is not, however, a propagated signal.
- the term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
- the apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
- the apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
- a computer program (which may also be referred to or described as a program, software, a software application, a module, a software module, a script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- a computer program may, but need not, correspond to a file in a file system.
- a program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub programs, or portions of code.
- a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- an “engine,” or “software engine,” refers to a software implemented input/output system that provides an output that is different from the input.
- An engine can be an encoded block of functionality, such as a library, a platform, a software development kit (“SDK”), or an object.
- SDK software development kit
- Each engine can be implemented on any appropriate type of computing device, e.g., servers, mobile phones, tablet computers, notebook computers, music players, e-book readers, laptop or desktop computers, PDAs, smart phones, or other stationary or portable devices, that includes one or more processors and computer readable media. Additionally, two or more of the engines may be implemented on the same computing device, or on different computing devices.
- the processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output.
- the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
- special purpose logic circuitry e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
- the processes and logic flows can be performed by and apparatus can also be implemented as a graphics processing unit (GPU).
- GPU graphics processing unit
- Computers suitable for the execution of a computer program include, by way of example, can be based on general or special purpose microprocessors or both, or any other kind of central processing unit.
- a central processing unit will receive instructions and data from a read only memory or a random access memory or both.
- the essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
- mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
- a computer need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few.
- Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user’s client device in response to requests received from the web browser.
- a back end component e.g., as a data server
- a middleware component e.g., an application server
- a front end component e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back end, middleware, or front end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
- LAN local area network
- WAN wide area network
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Feedback Control In General (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202163146370P | 2021-02-05 | 2021-02-05 | |
| PCT/EP2022/052792 WO2022167625A1 (en) | 2021-02-05 | 2022-02-04 | Imitation learning based on prediction of outcomes |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4272131A1 true EP4272131A1 (en) | 2023-11-08 |
Family
ID=80628548
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP22707626.2A Pending EP4272131A1 (en) | 2021-02-05 | 2022-02-04 | Imitation learning based on prediction of outcomes |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20240185082A1 (en) |
| EP (1) | EP4272131A1 (en) |
| WO (1) | WO2022167625A1 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12377536B1 (en) * | 2022-11-11 | 2025-08-05 | Google Llc | Imitation robot control stack models |
| CN118721181B (en) * | 2024-05-29 | 2025-12-26 | 江南大学 | A Teleoperation-Based Imitation Learning Training Method for Mobile Grasping Robots |
| CN119858154A (en) * | 2024-11-13 | 2025-04-22 | 中国人民解放军海军工程大学 | Mobile mechanical arm control method and system based on deep element imitation learning |
| CN120633467B (en) * | 2025-08-11 | 2025-12-12 | 中核装备技术研究(上海)有限公司 | Pedestrian track prediction method, system, equipment and medium based on continuous learning |
-
2022
- 2022-02-04 WO PCT/EP2022/052792 patent/WO2022167625A1/en not_active Ceased
- 2022-02-04 US US18/275,722 patent/US20240185082A1/en active Pending
- 2022-02-04 EP EP22707626.2A patent/EP4272131A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2022167625A1 (en) | 2022-08-11 |
| US20240185082A1 (en) | 2024-06-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11886997B2 (en) | Training action selection neural networks using apprenticeship | |
| US20260080207A1 (en) | Generative neural network systems for generating instruction sequences to control an agent performing a task | |
| US12346786B2 (en) | Data-efficient reinforcement learning for continuous control tasks | |
| CN112119404B (en) | Sample-Efficient Reinforcement Learning | |
| EP3596661B1 (en) | Data efficient imitation of diverse behaviors | |
| US20240185082A1 (en) | Imitation learning based on prediction of outcomes | |
| US20210158162A1 (en) | Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space | |
| US20210089910A1 (en) | Reinforcement learning using meta-learned intrinsic rewards | |
| JP7181415B2 (en) | Control agents for exploring the environment using the likelihood of observations | |
| CN112292693A (en) | Meta-gradient update of reinforcement learning system training return function | |
| CN111316295A (en) | Reinforcement learning using distributed prioritized playback | |
| JP2023511630A (en) | Planning for Agent Control Using Learned Hidden States | |
| EP4000009B1 (en) | Training a neural network to control an agent using task-relevant adversarial imitation learning | |
| CN110546653A (en) | Action selection for reinforcement learning using neural networks | |
| JP7354460B2 (en) | Learning environment representation for agent control using bootstrapped latency predictions | |
| US20220076099A1 (en) | Controlling agents using latent plans | |
| CN118974738A (en) | Internalizing speech to facilitate task learning | |
| CN118043824A (en) | Retrieval-augmented reinforcement learning | |
| CN121889805A (en) | Training a high-level controller to generate natural language commands for controlling an agent | |
| CN115066686A (en) | Generating implicit plans that achieve a goal in an environment using attention operations embedded to the plans | |
| US20240104379A1 (en) | Agent control through in-context reinforcement learning |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20230731 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: GDM HOLDING LLC |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20251203 |