US12694290B2 - Method for controlling an agent - Google Patents
Method for controlling an agentInfo
- Publication number
- US12694290B2 US12694290B2 US18/045,382 US202218045382A US12694290B2 US 12694290 B2 US12694290 B2 US 12694290B2 US 202218045382 A US202218045382 A US 202218045382A US 12694290 B2 US12694290 B2 US 12694290B2
- Authority
- US
- United States
- Prior art keywords
- agent
- agents
- behavior
- neural network
- training
- 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.)
- Active, expires
Links
Images
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/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- 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
-
- 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/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Definitions
- the present invention relates to methods for controlling an agent.
- the prediction of the behavior of moving objects is an important task in order to reliably control the agent and for example to avoid collisions.
- VAE variational auto-encoder
- x,z) is modeled by a decoder network g ⁇ (y,x,z) and p(z
- ELBO(x,y, ⁇ , ⁇ ) ⁇ KL(h ⁇ (z,x,y) ⁇ p(z))+E z ⁇ h ⁇ (x,y,z) [log(g ⁇ (y,x,z))].
- KL designates the Kullback-Leibler divergence between distributions, and is used to regularize the latent variables or their distribution.
- the second part of the ELBO is called the reconstruction loss, and is used to train the decoder to make the best possible predictions.
- control methods for agents are desirable that contain an efficient prediction of an object (detected in the environment of the agent).
- a method for controlling an agent including training of a neural network using training data that contain, for a multiplicity of agents, examples of a behavior of the agents, the output of the neural network having a prediction of a behavior and being a function of network parameters that are trained in common for all training data, and being a function of a further parameter that is trained individually for each of the agents of the multiplicity of agents; fitting a probability distribution to the values of the further parameter for the agents that result from the training; sampling a value from the probability distribution for a further agent in the environment of the agent; and controlling the agent, taking into account a prediction of the behavior of the further agent that the neural network outputs for the sampled value for the further agent.
- the method described above according to the present invention may enable the generation of various probable behavior patterns of other agents (in particular human agents).
- other agents in particular human agents.
- individual patterns of behavior can be determined that avoid collisions with the other agents, or other impairments to the other agents.
- the method according to the present invention may enable the taking into account of the behavior of objects in the controlling of agents by using a behavior prediction that can be effectively trained. It can be implemented using established components (neural network, probability model), and the setting of the hyperparameters is significantly easier, and the training is more robust overall, than for example in a VAE approach. As a result, for example the models can be quickly and easily subsequently trained for new cases of applications such as the prediction of driver behavior in a different country; that is, an agent can quickly adapt to changed conditions, which for example increases safety in the case of autonomous driving.
- the functional dependence of the output of the neural network on the further parameter can thus easily be achieved in that the further parameter is added to the input of the neural network (as a trainable part of the input).
- the further parameter is added to the input of the neural network (as a trainable part of the input).
- no particular network architecture is required; rather, an existing network architecture can be used with corresponding dimensioning of the input.
- the neural network can include the state of the control scenario in its prediction.
- the input of the neural network can for example be the input of a traffic situation in the form of a list of vehicles with their position and speed, supplemented with the additional parameters.
- a Gaussian mixture model can be efficiently trained in order to model complex distributions, and sampling from the model can be done efficiently.
- the further parameter is included in a training of the neural network.
- the further parameter here has different (trainable) values for training examples of different agents, because it is individually trained for each agent for which the training data contain examples of the behavior.
- FIG. 1 shows a vehicle according to an example embodiment of the present invention.
- FIG. 2 shows an example of a prediction using a neural network, according to an example embodiment of the present invention.
- FIG. 3 shows a flow diagram of a method for controlling a robot to pick up and inspect an object according to a specific example embodiment of the present invention.
- FIG. 1 shows a vehicle 101 .
- a vehicle 101 for example a passenger car or a truck, is provided with a vehicle control device 102 .
- Vehicle control device 102 has data processing components, e.g. a processor (e.g., a CPU) 103 and a memory 104 for storing control software according to which vehicle control device 102 operates, and data that are processed by processor 103 .
- a processor e.g., a CPU
- memory 104 for storing control software according to which vehicle control device 102 operates, and data that are processed by processor 103 .
- the stored control software (computer program) has instructions that, when the processor executes them, cause processor 103 to implement one or more neural networks 107 .
- the data stored in memory 104 can for example contain image data that are acquired by one or more cameras 105 .
- the one or more cameras 105 can for example record one or more grayscale or color photos of the environment surrounding vehicle 101 .
- vehicle control device 102 can detect objects 108 in the surrounding environment of vehicle 101 , in particular other vehicles, pedestrians, i.e., persons, or animals.
- Vehicle control device 102 can examine the sensor data and can control vehicle 101 according to the results, i.e. can ascertain control actions for the vehicle and signal them to respective actuators of the vehicle.
- vehicle control device 102 can for example control actuator 106 (e.g., a brake) in order to control the speed of the vehicle, e.g., in order to brake the vehicle.
- control actuator 106 e.g., a brake
- vehicle control device 102 In the case of movable objects 108 in the environment, i.e. objects that move themselves, for an effective controlling it is necessary for vehicle control device 102 to predict how objects 108 will move. For example, vehicle control device 102 should be capable of predicting whether a person is stepping into the street or getting into another vehicle.
- vehicle control device 102 carries out a behavioral prediction for humans, such as drivers or pedestrians, but also, e.g., for animals, or possibly also for other autonomous devices.
- these movable objects are also regarded as (other or further) agents that are present in the environment of the controlled agent, alongside the controlled agent.
- a training data set is used that contains data (i.e., training examples) for the other agents that represent their behavior; e.g., for various traffic scenarios, the trajectories with which the agents have moved in the traffic scenarios.
- the prediction model is expanded by a vector z of the preferences.
- the vector z is treated as a separate and trainable parameter z a of the model for each other agent a for which the training data set contains data.
- the dimension of z is sufficiently low (e.g. as is standard in VAEs), and a regularization technique such as weight decay is used, these z a can be learned.
- the learned values of z a are collected after the training and, in an additional, second step, a distribution model is estimated for the data set of the z a .
- a distribution model is estimated for the data set of the z a .
- various established methods for fitting probability models to data may be used from which random variables can be efficiently drawn, such as a Gaussian mixture model. By drawing from such a probability distribution, possible preferences can then be determined for new agents, and using the prediction model a possible behavior can be generated.
- the control device of an agent e.g. in the case of vehicle 101 vehicle control device 102 , thus carries out a behavior prediction for another agent.
- the control device predicts its behavior y based on input data x.
- the variable x depending on the specific application, can be a vector of input data, a matrix that contains a time series of input data, or a multichannel image. The same holds for the output y.
- a prediction model is used whose input data x (which indicate for example position, etc.) are expanded by an element z a whose value is learned individually for each agent for which the training data contains training examples.
- the value (possibly a vector of values) of z a can easily be appended to x.
- additional channels having constant values corresponding to the values of z a can be created.
- the prediction model for predicting the variable y is realized by a neural network f ⁇ (x), where ⁇ designates the trainable parameters.
- the neural network can determine a distribution for y or can directly determine a value for y. Differing from approaches such as a VAE-based approach, however, the variables z a are a part of the trainable parameters ⁇ .
- This can also be realized in that an existing network architecture f ⁇ (x) is expanded to the input data x and f ⁇ ( x ) is set.
- FIG. 2 shows an example of a prediction using a neural network 201 .
- the input data are state vectors 202 that describe the state of an agent for which a trajectory is to be predicted.
- Each state vector is expanded by a value 203 of z a .
- the resulting expanded state vectors 204 form the input of neural network 201 ; in this example, neural network 201 receives a set (i.e. a time series 207 ) of such expanded state vectors 204 , and from this predicts a trajectory 205 ; that is, the output of the neural network here is an indication of trajectory 205 .
- value 203 of z a is sampled from a probability distribution, and is then constant for all state vectors 204 that are used for the current prediction. It can also be held constant for all predictions that relate to the same agent, or can also be newly sampled for each prediction (even if it relates to the same agent).
- first (start) values for z a are randomly sampled for each agent for which there are training examples in the training data, and the z a are trained (individually for each agent) together with the actual parameters (i.e. the network parameters, typically the weights) of neural network 201 .
- different loss functions such as cross-entropy loss, may be used.
- the value of z a codes the individual behavior of the agent.
- the probability distribution 206 of the variables z a designated g(z a ), is modelled.
- any methods for fitting a probability distribution to data may be used that yield a probability distribution that makes it possible to efficiently sample values of z a , e.g. a Gaussian mixture model.
- the resulting model g(z a ) can then be used to sample values of z a for new agents and to predict their behavior using f ⁇ ( x ).
- FIG. 3 shows a flow diagram 300 that shows a method for controlling a robot to pick up and inspect an object according to a specific embodiment.
- a neural network is trained using training data that contain, for a multiplicity of agents, examples of a behavior of the agents, the output of the neural network including a prediction of a behavior and being a function of network parameters that are trained in common for all training data and that are a function of a further parameter that is trained individually (i.e. specifically) for each of the agents of the multiplicity of agents.
- a probability distribution is fitted to the values of the further parameter for the agents that result from the training.
- a value for a further agent in the environment of the agent is sampled (i.e. drawn) from the probability distribution.
- the agent is controlled taking into account a prediction of the method of the further agent that the neural network outputs for the sampled value for the further agent.
- the method of FIG. 3 can be carried out by one or more computers having one or more data processing units.
- data processing unit can be understood as any type of entity that enables the processing of data or signals.
- the data or signals can for example be treated according to at least one (i.e. one or more than one) specific function that is carried out by the data processing unit.
- a data processing unit can include an analog circuit, a digital circuit, a logic circuit, a microprocessor, a microcontroller, a central unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP,) an integrated circuit of a programmable gate array (FPGA), or any combination thereof, or may be fashioned therefrom.
- Any other manner of implementing the respective functions described in more detail herein can also be understood as a data processing unit or logic circuit system.
- One or more of the method steps described here in detail can be executed (e.g. implemented) by a data processing unit through one or more specific functions that are carried out by the data processing unit.
- Various specific embodiments can receive and use sensor signals from various sensors, such as video, radar, lidar, ultrasound, movement, acceleration, heat mapping, etc., for example in order to provide sensor data for the detection of objects (i.e. other agents) and as input for the neural network for the prediction of the behavior.
- sensors such as video, radar, lidar, ultrasound, movement, acceleration, heat mapping, etc.
- the neural network can supply, as output, values from a continuous value range or a plurality of values from a continuous value range. It can for example carry out a regression in relation to the future behavior of human agents that it represents in its output by one or more positions, trajectories, locations, etc.
- Specific embodiments can be used to train a machine learning system and to control an agent, e.g. a physical system such as a robot or a vehicle.
- an agent e.g. a physical system such as a robot or a vehicle.
- specific embodiments are applicable to the controlling and monitoring of the carrying out of manipulation tasks, e.g. in assembly lines.
- the controlled agent can be a robot device, i.e., a control signal can be produced for a robot device.
- robot device can be understood as relating to any physical system (having a mechanical part whose movement is controlled), such as a computer-controlled machine, a vehicle, a household appliance, an electric tool, a manufacturing machine, a personal assistant, or an access control system. A control rule for the physical system is learned and the physical system is then correspondingly controlled.
- the robot device detects pedestrians (e.g., using lidar sensors), and calculates their position and speed.
- the respective control device e.g., vehicle control device 102
- samples a potential preference for each pedestrian and uses the trained prediction model (i.e., the trained neural network) to predict its future trajectory from the current position of the pedestrian.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Feedback Control In General (AREA)
Abstract
Description
-
- Exemplary embodiment 1 is a method for controlling a robot, as described above.
- Exemplary embodiment 2 is the method according to exemplary embodiment 1, the neural network being trained to map an input of the neural network onto a prediction of the behavior of an agent, the input of the neural network including state information of the agent for which the neural network is to predict the behavior, and the further parameter.
-
- Exemplary embodiment 3 is the method according to exemplary embodiment 2, the input of the neural network including state information about a control scenario in which the behavior of the agent is to be predicted.
-
- Exemplary embodiment 4 is the method according to one of the exemplary embodiments 1 through 3, the probability distribution being a Gaussian mixture model.
-
- Exemplary embodiment 5 is the method according to one of exemplary embodiments 1 through 4, including training of the network parameters and of the additional parameter by adapting the network parameters and the additional parameter in order to minimize a loss between the examples of the behavior of the agents and the behavior respectively predicted by the neural network.
-
- Exemplary embodiment 6 is a control device that is set up to carry out a method according to one of exemplary embodiments 1 through 5.
- Exemplary embodiment 7 is a computer program having commands that, when they are executed by a processor, cause the processor to carry out a method according to one of exemplary embodiments 1 through 5.
- Exemplary embodiment 8 is a computer-readable medium that stores commands that, when they are executed by a processor, cause the processor to carry out a method according to one of exemplary embodiments 1 through 5.
-
- 1. Initialization of the neural networks fθ(
x ) - 2. For all agents a in the training data set, an initial variable za is created
- 3. Training of the network and of the variables za
- 3.1. Training for a number of epochs or until an abort criterion is met
- 3.1.1. Drawing a minibatch {(x,y)} from the training data
- 3.1.2. Enlarging the data points x with the value of the variables za for the associated agent
x =[x,za] in order to produce an enlarged minibatch {(x ,y)} - 3.1.3. Optimization step with regard to θ and {za} for a loss L(fθ(
x ),y)
- 3.1. Training for a number of epochs or until an abort criterion is met
- 4. Collecting the trained values of the variables {za}
- 5. Training a probability distribution model g(za) on the collected data {za}
Realization for the Prediction - 1. Drawing a value for za from the trained probability distribution model g(za) for a further agent
- 2. Evaluation of the actual prediction model fθ for the expanded input
x =[x,za,] results in the prediction y
- 1. Initialization of the neural networks fθ(
Claims (7)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102021211909.3A DE102021211909A1 (en) | 2021-10-21 | 2021-10-21 | Method of controlling an agent |
| DE102021211909.3 | 2021-10-21 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20230128941A1 US20230128941A1 (en) | 2023-04-27 |
| US12694290B2 true US12694290B2 (en) | 2026-07-28 |
Family
ID=85795863
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/045,382 Active 2045-02-18 US12694290B2 (en) | 2021-10-21 | 2022-10-10 | Method for controlling an agent |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12694290B2 (en) |
| JP (1) | JP2023062688A (en) |
| CN (1) | CN116011523A (en) |
| DE (1) | DE102021211909A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200104684A1 (en) * | 2018-09-27 | 2020-04-02 | Deepmind Technologies Limited | Imitation learning using a generative predecessor neural network |
| US20200104680A1 (en) * | 2018-09-27 | 2020-04-02 | Deepmind Technologies Limited | Action selection neural network training using imitation learning in latent space |
| US20230294276A1 (en) * | 2022-03-20 | 2023-09-21 | Nvidia Corporation | Simulating physical interactions for automated systems |
| US11886993B2 (en) * | 2019-09-12 | 2024-01-30 | Beijing University Of Posts And Telecommunications | Method and apparatus for task scheduling based on deep reinforcement learning, and device |
| US12166688B2 (en) * | 2020-12-24 | 2024-12-10 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to optimize resources in edge networks |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016091039A (en) * | 2014-10-29 | 2016-05-23 | 株式会社デンソー | Risk prediction device, driving support system |
| EP3579211B1 (en) * | 2018-06-06 | 2023-08-16 | Honda Research Institute Europe GmbH | Method and vehicle for assisting an operator of an ego-vehicle in controlling the ego-vehicle by determining a future behavior and an associated trajectory for the ego-vehicle |
| US10997729B2 (en) * | 2018-11-30 | 2021-05-04 | Baidu Usa Llc | Real time object behavior prediction |
-
2021
- 2021-10-21 DE DE102021211909.3A patent/DE102021211909A1/en active Pending
-
2022
- 2022-10-10 US US18/045,382 patent/US12694290B2/en active Active
- 2022-10-20 CN CN202211285722.7A patent/CN116011523A/en active Pending
- 2022-10-20 JP JP2022168137A patent/JP2023062688A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200104684A1 (en) * | 2018-09-27 | 2020-04-02 | Deepmind Technologies Limited | Imitation learning using a generative predecessor neural network |
| US20200104680A1 (en) * | 2018-09-27 | 2020-04-02 | Deepmind Technologies Limited | Action selection neural network training using imitation learning in latent space |
| US11886993B2 (en) * | 2019-09-12 | 2024-01-30 | Beijing University Of Posts And Telecommunications | Method and apparatus for task scheduling based on deep reinforcement learning, and device |
| US12166688B2 (en) * | 2020-12-24 | 2024-12-10 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to optimize resources in edge networks |
| US20230294276A1 (en) * | 2022-03-20 | 2023-09-21 | Nvidia Corporation | Simulating physical interactions for automated systems |
Non-Patent Citations (6)
| Title |
|---|
| "Value Refinement Network (VRN)", ICLR 2022 (2022) pp. 1-16. |
| Nguyen et al., "A Model of Generating and Predicting Intention toward Human-Robot Cooperation", Nov. 6, 2018, IEEE, 2018 27th IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN) (2018, pp. 113-120) (Year: 2018). * |
| Wohlke et al. "Value Refinement Network (VRN)", ICLR 2022 Conference (2022) pp. 1-13. |
| "Value Refinement Network (VRN)", ICLR 2022 (2022) pp. 1-16. |
| Nguyen et al., "A Model of Generating and Predicting Intention toward Human-Robot Cooperation", Nov. 6, 2018, IEEE, 2018 27th IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN) (2018, pp. 113-120) (Year: 2018). * |
| Wohlke et al. "Value Refinement Network (VRN)", ICLR 2022 Conference (2022) pp. 1-13. |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116011523A (en) | 2023-04-25 |
| US20230128941A1 (en) | 2023-04-27 |
| DE102021211909A1 (en) | 2023-04-27 |
| JP2023062688A (en) | 2023-05-08 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: ROBERT BOSCH GMBH, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SCHMITT, FELIX;REEL/FRAME:062408/0644 Effective date: 20221019 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION COUNTED, NOT YET MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ALLOWED -- NOTICE OF ALLOWANCE NOT YET MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |