DE102020216202A1 - Method for training a learning algorithm for converting sensor data from a sensor system into output data for controlling an actuator and method for controlling an actuator of a vehicle - Google Patents
Method for training a learning algorithm for converting sensor data from a sensor system into output data for controlling an actuator and method for controlling an actuator of a vehicle Download PDFInfo
- Publication number
- DE102020216202A1 DE102020216202A1 DE102020216202.6A DE102020216202A DE102020216202A1 DE 102020216202 A1 DE102020216202 A1 DE 102020216202A1 DE 102020216202 A DE102020216202 A DE 102020216202A DE 102020216202 A1 DE102020216202 A1 DE 102020216202A1
- Authority
- DE
- Germany
- Prior art keywords
- parameters
- learning algorithm
- learning
- output data
- learning module
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0062—Adapting control system settings
- B60W2050/0075—Automatic parameter input, automatic initialising or calibrating means
- B60W2050/0083—Setting, resetting, calibration
- B60W2050/0088—Adaptive recalibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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
Abstract
Die vorliegende Erfindung betrifft ein Verfahren zum Trainieren eines Lernalgorithmus (102) zum Umwandeln von Sensordaten (108, x) einer Sensorik (106) in Ausgabedaten (108, y) zum Ansteuern einer Aktorik (110). Das Verfahren umfasst die folgenden Schritte: Eingeben der Sensordaten (104, x) in den Lernalgorithmus (102), wobei der Lernalgorithmus (102) ein durch erste Parameter (114) parametriertes erstes Lernmodul (112) und ein mit dem ersten Lernmodul (112) in Reihe geschaltetes und durch zweite Parameter (118) parametriertes zweites Lernmodul (116) zum Umwandeln der Sensordaten (104, x) in die Ausgabedaten (108, y) umfasst; Ausgeben der Ausgabedaten (108, y) durch den Lernalgorithmus (102); und Optimieren des Lernalgorithmus (102) durch ein Optimierungsmodul (120) basierend auf den Ausgabedaten (108, y), wobei eine erste Zielfunktion (122) durch Ändern der ersten Parameter (114) optimiert wird und die zweiten Parameter (118) während des Optimierens der ersten Zielfunktion (122) konstant gehalten werden.The present invention relates to a method for training a learning algorithm (102) for converting sensor data (108, x) of a sensor (106) into output data (108, y) for controlling an actuator (110). The method comprises the following steps: inputting the sensor data (104, x) into the learning algorithm (102), the learning algorithm (102) having a first learning module (112) parameterized by first parameters (114) and a first learning module (112) a second learning module (116) connected in series and parameterized by second parameters (118) for converting the sensor data (104, x) into the output data (108, y); outputting the output data (108,y) by the learning algorithm (102); and optimizing the learning algorithm (102) by an optimization module (120) based on the output data (108, y), wherein a first objective function (122) is optimized by changing the first parameters (114) and the second parameters (118) during the optimization of the first objective function (122) are kept constant.
Description
Gebiet der Erfindungfield of invention
Die Erfindung betrifft ein Verfahren zum Trainieren eines Lernalgorithmus zum Umwandeln von Sensordaten einer Sensorik in Ausgabedaten zum Ansteuern einer Aktorik und ein Verfahren zum Ansteuern einer Aktorik eines Fahrzeugs. Des Weiteren betrifft die Erfindung eine Vorrichtung, ein Computerprogramm und ein computerlesbares Medium zum Ausführen mindestens eines der genannten Verfahren.The invention relates to a method for training a learning algorithm for converting sensor data from a sensor system into output data for controlling an actuator and a method for controlling an actuator of a vehicle. Furthermore, the invention relates to a device, a computer program and a computer-readable medium for executing at least one of the methods mentioned.
Stand der TechnikState of the art
Beim Trainieren eines künstlichen neuronalen Netzes ist es möglich, durch Optimieren einer Kostenfunktion eine oder mehrere Zielgrößen oder auch eine Zielgröße unter Berücksichtigung einer Randgröße zu optimieren. Zum Ausgleich eines Zielkonflikts zwischen den zu optimierenden Größen kann beispielsweise ein Trade-off-Parameter der Kostenfunktion definiert werden. Die Bestimmung eines geeigneten Trade-off-Parameters kann jedoch mit erheblichem Aufwand verbunden sein. Ferner kann eine derartige Kostenfunktion, die mehrere zu optimierende Größen umfasst, eine relativ komplexe Netzarchitektur erfordern.When training an artificial neural network, it is possible, by optimizing a cost function, to optimize one or more target variables or also a target variable taking into account a marginal variable. For example, a trade-off parameter of the cost function can be defined to compensate for a conflict of objectives between the variables to be optimized. However, determining a suitable trade-off parameter can involve considerable effort. Furthermore, such a cost function involving multiple quantities to be optimized may require a relatively complex network architecture.
Ein solches künstliches neuronales Netz kann beispielsweise im Kontext autonomen Fahrens zur Verarbeitung von Sensordaten einer Sensorik und zur Bereitstellung entsprechender Eingaben für eine Steuereinheit zum Steuern einer Aktorik, etwa für einen Geschwindigkeitsregler o. Ä., eingesetzt werden.Such an artificial neural network can be used, for example, in the context of autonomous driving for processing sensor data from a sensor system and for providing corresponding inputs for a control unit for controlling an actuator system, for example for a speed controller or the like.
Offenbarung der ErfindungDisclosure of Invention
Vor diesem Hintergrund werden mit dem hier vorgestellten Ansatz ein Verfahren zum Trainieren eines Lernalgorithmus, ein Verfahren zum Ansteuern einer Aktorik, eine Vorrichtung, ein Computerprogramm und ein computerlesbares Medium gemäß den unabhängigen Ansprüchen vorgestellt. Vorteilhafte Weiterbildungen und Verbesserungen des hier vorgestellten Ansatzes ergeben sich aus der Beschreibung und sind in den abhängigen Ansprüchen beschrieben.Against this background, with the approach presented here, a method for training a learning algorithm, a method for controlling an actuator system, a device, a computer program and a computer-readable medium are presented according to the independent claims. Advantageous developments and improvements of the approach presented here result from the description and are described in the dependent claims.
Vorteile der ErfindungAdvantages of the Invention
Ausführungsformen der vorliegenden Erfindung ermöglichen es in vorteilhafter Weise, beim Trainieren eines Lernalgorithmus wie beispielsweise eines künstlichen neuronalen Netzes mehrere konkurrierende (Ziel-)Größen zu optimieren, ohne dass hierzu die oftmals schwierige und a priori unklare manuelle Bestimmung eines Trade-offs zwischen diesen Größen erforderlich ist. Dies ermöglicht zum einen eine gezielte Optimierung des Lernalgorithmus. Somit kann beispielsweise erreicht werden, dass der Lernalgorithmus mehrere Ziele auf einmal erfüllt, ohne dass er in verschiedene, eventuell miteinander in Konflikt stehende Richtungen getrieben wird. Zum anderen kann der Lernprozess damit deutlich vereinfacht werden. Ferner wird die Verwendung von Lernalgorithmen mit verhältnismäßig einfachen Architekturen ermöglicht, was Zeit und Kosten spart.Advantageously, embodiments of the present invention make it possible to optimize multiple competing (target) variables when training a learning algorithm such as an artificial neural network without the need for the often difficult and a priori unclear manual determination of a trade-off between these variables is. On the one hand, this enables a targeted optimization of the learning algorithm. It can thus be achieved, for example, that the learning algorithm fulfills several goals at once without being driven in different directions that may conflict with one another. On the other hand, the learning process can be significantly simplified. Furthermore, the use of learning algorithms with relatively simple architectures is made possible, which saves time and money.
Ein erster Aspekt der Erfindung betrifft ein computerimplementiertes Verfahren zum Trainieren eines Lernalgorithmus zum Umwandeln von Sensordaten einer Sensorik in Ausgabedaten zum Ansteuern einer Aktorik. Das Verfahren umfasst zumindest die folgenden Schritte: Eingeben der Sensordaten in den Lernalgorithmus, wobei der Lernalgorithmus ein durch erste Parameter parametriertes erstes Lernmodul und ein mit dem ersten Lernmodul in Reihe geschaltetes und durch zweite Parameter parametriertes zweites Lernmodul zum Umwandeln der Sensordaten in die Ausgabedaten umfasst; Ausgeben der Ausgabedaten durch den Lernalgorithmus; und Optimieren des Lernalgorithmus durch ein Optimierungsmodul basierend auf den Ausgabedaten, wobei eine erste Zielfunktion durch Ändern der ersten Parameter optimiert wird und die zweiten Parameter während des Optimierens der ersten Zielfunktion konstant gehalten werden.A first aspect of the invention relates to a computer-implemented method for training a learning algorithm for converting sensor data from a sensor system into output data for controlling an actuator system. The method comprises at least the following steps: inputting the sensor data into the learning algorithm, the learning algorithm comprising a first learning module parameterized by first parameters and a second learning module connected in series with the first learning module and parameterized by second parameters for converting the sensor data into the output data; outputting the output data by the learning algorithm; and optimizing the learning algorithm by an optimization module based on the output data, wherein a first objective function is optimized by changing the first parameters and the second parameters are kept constant while optimizing the first objective function.
Das Verfahren kann beispielsweise automatisch durch einen Prozessor ausgeführt werden.The method can be executed automatically by a processor, for example.
Unter einem Lernalgorithmus kann im Allgemeinen ein Algorithmus zum maschinellen Lernen eines Modells, das Eingaben in bestimmte Ausgaben umwandelt, beispielsweise durch Klassifikation und/oder Regression, verstanden werden. Beispiele für mögliche Lernalgorithmen sind künstliche neuronale Netze, genetische Algorithmen, Support-Vector-Maschinen, k-Means, Kernel-Regression oder Diskriminanzanalyse. Der Lernalgorithmus kann auch eine Kombination aus mehreren der genannten Beispiele umfassen.A learning algorithm can generally be understood as an algorithm for machine learning of a model that converts inputs into specific outputs, for example by classification and/or regression. Examples of possible learning algorithms are artificial neural networks, genetic algorithms, support vector machines, k-means, kernel regression or discriminant analysis. The learning algorithm can also include a combination of several of the examples mentioned.
Es ist beispielsweise möglich, dass die beiden Lernmodule abwechselnd auf verschiedene Zielgrößen hin optimiert werden, wobei die Zielgröße desjenigen Lernmoduls, das gerade nicht optimiert wird, konstant gehalten werden kann (siehe unten).It is possible, for example, for the two learning modules to be alternately optimized for different target values, with the target value of the learning module that is not currently being optimized being kept constant (see below).
Die Sensorik kann beispielsweise konfiguriert sein, um ein Umfeld und/oder einen Fahrzustand eines Fahrzeugs zu erfassen. Das Fahrzeug kann ein Kraftfahrzeug, etwa in Form eines Pkw, Lkw, Busses oder eines Motorrads, sein. Im weiteren Sinn kann unter einem Fahrzeug auch ein autonomer, mobiler Roboter verstanden werden. Beispielsweise kann die Sensorik mindestens einen Umfeldsensor wie etwa einen Ultraschall-, Radar-, Lidarsensor oder eine Kamera und/oder mindestens einen Fahrdynamiksensor wie etwa einen Drehraten-, Beschleunigungs-, Raddrehzahl- oder Lenkradwinkelsensor umfassen. Darüber hinaus kann die Sensorik einen Ortungssensor zur Bestimmung einer absoluten Position des Fahrzeugs mithilfe eines globalen Navigationssatellitensystems wie GPS, GLONASS o. Ä. umfassen.The sensor system can be configured, for example, to detect an environment and/or a driving state of a vehicle. The vehicle may be an automobile, such as a car, truck, bus, or motorcycle. In a broader sense, a vehicle can also be understood as an autonomous, mobile robot. For example, the sensor system can have at least one environment sensor such as an ultrasonic, radar, lidar sensor or a camera and/or at least one vehicle dynamics sensor such as a yaw rate, acceleration, wheel speed or steering wheel angle sensor. In addition, the sensors can use a location sensor to determine an absolute position of the vehicle using a global navigation satellite system such as GPS, GLONASS or similar. include.
Bei den Sensordaten, die zum Trainieren des Lernalgorithmus verwendet werden, kann es sich um reale, d. h. durch die Sensorik durch Messung erzeugte Sensordaten handeln. Es ist jedoch auch möglich, dass durch einen Computer, beispielsweise im Rahmen einer Simulation des Fahrzeugs und dessen Umfelds, berechnete Sensordaten zum Trainieren des Lernalgorithmus verwendet werden.The sensor data used to train the learning algorithm can be real, i. H. act through the sensors generated by measurement sensor data. However, it is also possible for sensor data calculated by a computer, for example as part of a simulation of the vehicle and its surroundings, to be used to train the learning algorithm.
Bei den Ausgabedaten kann es sich beispielsweise um ein Beschleunigungssignal oder ein Lenkwinkelsignal handeln. Die Ausgabedaten können jedoch auch beliebige andere zum Ansteuern der Aktorik geeignete Informationen umfassen, etwa erkannte Objekte im Umfeld des Fahrzeugs, Positionen und/oder Lagen der erkannten Objekte oder eine Trajektorie des Fahrzeugs.The output data can be an acceleration signal or a steering angle signal, for example. However, the output data can also include any other information suitable for controlling the actuators, such as recognized objects in the vicinity of the vehicle, positions and/or locations of the recognized objects or a trajectory of the vehicle.
Die Aktorik kann beispielsweise konfiguriert sein, um das Fahrzeug zu lenken, zu beschleunigen, abzubremsen und/oder zu navigieren. Hierzu kann die Aktorik einen Lenkaktor, einen Bremsaktor, ein Motorsteuergerät, einen Elektromotor oder eine Kombination aus zumindest zwei der genannten Beispiele umfassen. Es ist möglich, dass das Fahrzeug mit einem Fahrerassistenzsystem bzw. Robotersteuersystem zum teil- oder vollautomatisierten Ansteuern der Aktorik basierend auf den Sensordaten ausgestattet ist. Das Fahrerassistenzsystem bzw. Robotersteuersystem kann als Hardware und/oder Software in einem Steuergerät des Fahrzeugs implementiert sein.The actuator system can be configured, for example, to steer, accelerate, brake and/or navigate the vehicle. For this purpose, the actuator can include a steering actuator, a brake actuator, an engine control unit, an electric motor or a combination of at least two of the examples mentioned. It is possible for the vehicle to be equipped with a driver assistance system or robot control system for partially or fully automated control of the actuators based on the sensor data. The driver assistance system or robot control system can be implemented as hardware and/or software in a control unit of the vehicle.
Beispielsweise kann der Lernalgorithmus zur Klassifikation von Beschleunigungen für einen Fahrzeugregler konfiguriert sein. Hierbei können beispielsweise Bildgrößen eines oder mehrerer Zielobjekte als die Sensordaten in den Lernalgorithmus eingegeben werden. Bei einer solchen Bildgröße kann es sich beispielsweise um eine Position im Bild des Objekts, etwa in Form eines u- oder v-Pixelwerts, einen Time-To-Contact-Wert, kurz TTC-Wert genannt, eine Information über einen optischen Fluss oder um Blinker- oder Bremslichtinformationen von Objekten handeln. Dementsprechend können die Ausgabedaten des Lernalgorithmus eine Beschleunigung umfassen, die vom Fahrzeugregler angefordert wird.For example, the learning algorithm for classifying accelerations can be configured for a vehicle controller. In this case, for example, image sizes of one or more target objects can be entered as the sensor data in the learning algorithm. Such an image size can be, for example, a position in the image of the object, for example in the form of a u or v pixel value, a time-to-contact value, or TTC value for short, information about an optical flow or around Trade turn signal or brake light information from objects. Accordingly, the learning algorithm output data may include an acceleration requested by the vehicle controller.
Alternativ oder zusätzlich zum vorgenannten Beispiel kann der Lernalgorithmus auch zur Fahrzeugquerführung konfiguriert sein. Dazu können Informationen über erfasste Fahrspurbegrenzungen eines Ego-Fahrzeugs als die Sensordaten in den Lernalgorithmus eingegeben werden, beispielsweise in Form von Pixelkoordinaten einer rechten und/oder linken Fahrspurbegrenzung. Der Lernalgorithmus kann konfiguriert sein, um einen Lenkwinkel basierend auf den Sensordaten zu prädizieren. Dementsprechend können die Ausgabedaten des Lernalgorithmus einen prädizierten Lenkwinkel umfassen.As an alternative or in addition to the aforementioned example, the learning algorithm can also be configured for vehicle lateral guidance. For this purpose, information about detected lane boundaries of an ego vehicle can be entered as the sensor data in the learning algorithm, for example in the form of pixel coordinates of a right and/or left lane boundary. The learning algorithm can be configured to predict a steering angle based on the sensor data. Accordingly, the output data of the learning algorithm can include a predicted steering angle.
Es sind jedoch auch weitere Umsetzungen denkbar. Grundsätzlich eignet sich der hier vorgestellte Ansatz zur Prädiktion beliebiger Arten von Signalen, von denen ein glatter Verlauf erwartet wird.However, other implementations are also conceivable. In principle, the approach presented here is suitable for predicting any type of signal from which a smooth course is expected.
Unter einer Zielfunktion kann beispielsweise eine zu minimierende Kosten- oder Verlustfunktion oder eine zu maximierende Belohnungsfunktion verstanden werden.A target function can be understood, for example, as a cost or loss function to be minimized or a reward function to be maximized.
Bei den ersten Parametern kann es sich um Variablen, d. h. während einer Laufzeit des Lernalgorithmus in einem Optimierungsverfahren veränderbare Gewichte, handeln. Hingegen können die zweiten Parameter entweder Variablen oder Konstanten sein. Beispielsweise können die zweiten Parameter als Konstanten im Vorfeld des Trainings des Lernalgorithmus vordefiniert worden sein. Möglich ist jedoch auch, dass die zweiten Parameter beim Trainieren des Lernalgorithmus analog zu den ersten Parametern verändert werden, etwa im Rahmen der Optimierung einer von der ersten Zielfunktion abweichenden zweiten Zielfunktion (siehe weiter unten). Beispielsweise können die zweiten Parameter Filterkoeffizienten eines Filters mit endlicher Impulsantwort, auch FIR-Filter (FIR = finite impulse response) genannt, sein. Der FIR-Filter kann beispielsweise als Tiefpassfilter, Hochpassfilter oder Bandpassfilter konfiguriert sein (siehe auch weiter unten).The first parameters can be variables, i. H. changeable weights during a runtime of the learning algorithm in an optimization process. On the other hand, the second parameters can be either variables or constants. For example, the second parameters can have been predefined as constants prior to the training of the learning algorithm. However, it is also possible for the second parameters to be changed in the same way as the first parameters when training the learning algorithm, for example as part of the optimization of a second target function that differs from the first target function (see below). For example, the second parameters can be filter coefficients of a filter with a finite impulse response, also known as an FIR filter (FIR=finite impulse response). The FIR filter can be configured, for example, as a low-pass filter, high-pass filter or band-pass filter (see also below).
Das Optimieren der ersten Zielfunktion kann beispielsweise in einem Gradientenverfahren durch Backpropagation erfolgen. Denkbar sind aber auch andere Optimierungsverfahren.The first target function can be optimized, for example, in a gradient method by backpropagation. However, other optimization methods are also conceivable.
Beispielsweise können die Schritte des Eingebens, Ausgebens und Optimierens zyklisch wiederholt werden, insbesondere so oft, bis beim Optimieren des Lernalgorithmus ein lokales oder globales Optimum erreicht wird.For example, the steps of inputting, outputting and optimizing can be repeated cyclically, in particular until a local or global optimum is reached when optimizing the learning algorithm.
Der hier vorgestellte Ansatz ermöglicht beispielsweise im Fall eines Geschwindigkeitsreglers eines autonomen Fahrzeugs eine Verhaltensapproximation des Geschwindigkeitsreglers an eine vorgegebene Zielkurve, die beispielsweise von einem professionellen Fahrer aufgenommen worden sein kann, und stellt darüber hinaus sicher, dass die gelernte, gut approximierte Fahrt nicht durch ruckartige Veränderungen der Fahrzeugbeschleunigung geprägt ist, die von den Fahrzeuginsassen als unangenehm empfunden werden könnten.The approach presented here enables, for example, in the case of a cruise controller of an autonomous vehicle, a behavioral approximation of the cruise controller to a predetermined target curve, which can be generated, for example, by a pro professional driver, and also ensures that the learned, well-approximated journey is not characterized by jerky changes in vehicle acceleration, which the vehicle occupants could find uncomfortable.
Beispielsweise kann der Lernalgorithmus eine Kombination aus einem künstlichen neuronalen Netz als dem ersten Lernmodul und einem Frequenzfilter als dem zweiten Lernmodul, wie sie in der klassischen Signalverarbeitung verwendet werden, umfassen. Der Frequenzfilter kann mit dem Ausgang des künstlichen neuronalen Netzes verbunden sein und beispielsweise im Vorfeld der Lernprozedur so ausgelegt worden sein, dass ein resultierendes Gesamtsignal des Lernalgorithmus unerwünschte Eigenschaften einer Randgröße wie etwa hohe Frequenzkomponenten eines Beschleunigungssignals nicht oder allenfalls stark abgeschwächt enthält. Im einfachsten Fall kann die Parametrisierung des Frequenzfilters während der Lernprozedur konstant bleiben, d. h., die zweiten Parameter werden im Unterschied zu den ersten Parametern, hier den Parametern des künstlichen neuronalen Netzes, nicht anhand der ersten Zielfunktion optimiert. Auf diese Weise kann die Einhaltung von Bedingungen, die die Randgröße erfüllen soll, automatisch garantiert werden, ohne dass ein Trade-off-Parameter in die Kostenfunktion eingeführt zu werden braucht.For example, the learning algorithm can include a combination of an artificial neural network as the first learning module and a frequency filter as the second learning module, as used in classical signal processing. The frequency filter can be connected to the output of the artificial neural network and, for example, be designed in advance of the learning procedure in such a way that a resulting overall signal from the learning algorithm does not contain undesirable properties of a marginal variable, such as high frequency components of an acceleration signal, or at best contains them in a greatly weakened form. In the simplest case, the parameterization of the frequency filter can remain constant during the learning procedure, i. That is to say, the second parameters are not optimized using the first objective function, in contrast to the first parameters, here the parameters of the artificial neural network. In this way, compliance with conditions that the marginal size is supposed to fulfill can be automatically guaranteed without having to introduce a trade-off parameter into the cost function.
Je nach Randgröße kann hierdurch auch die Lernprozedur vereinfacht werden, da all diejenigen Signale am Ausgang des künstlichen neuronalen Netzes, die sich nur in den durch den Frequenzfilter herausgefilterten Frequenzkomponenten von Signalen am Ausgang des Frequenzfilters unterscheiden, zur gleichen Lösung führen. Daraus resultiert eine Vergrößerung der Menge an (lokalen) Optima der ersten Zielfunktion, was die Lernprozedur schneller und zuverlässiger konvergieren lässt.Depending on the boundary size, this can also simplify the learning procedure, since all those signals at the output of the artificial neural network that differ only in the frequency components filtered out by the frequency filter from signals at the output of the frequency filter lead to the same solution. This results in an increase in the number of (local) optima of the first objective function, which allows the learning procedure to converge faster and more reliably.
Letztendlich kann somit die Zuverlässigkeit und Erkennungsgenauigkeit des Lernalgorithmus erhöht werden. Dies kann insbesondere beim Einsatz für sicherheitsrelevante Funktionen wie beispielsweise Fahrfunktionen zur Erhöhung der Verkehrssicherheit betragen.Ultimately, the reliability and recognition accuracy of the learning algorithm can thus be increased. In particular when used for safety-related functions such as driving functions, this can contribute to increasing traffic safety.
Ein zweiter Aspekt der Erfindung betrifft ein computerimplementiertes Verfahren zum Ansteuern einer Aktorik eines Fahrzeugs. Dabei umfasst das Fahrzeug zusätzlich zur Aktorik eine Sensorik zum Erfassen eines Fahrzustands und/oder eines Umfelds des Fahrzeugs. Das Verfahren umfasst zumindest die folgenden Schritte: Empfangen von durch die Sensorik erzeugten Sensordaten; Eingeben der Sensordaten in einen Lernalgorithmus, der in einem Verfahren gemäß einer Ausführungsform des ersten Aspekts der Erfindung trainiert wurde, um die Sensordaten in Ausgabedaten umzuwandeln; und Erzeugen eines Steuersignals zum Ansteuern der Aktorik basierend auf den Ausgabedaten.A second aspect of the invention relates to a computer-implemented method for controlling an actuator of a vehicle. In addition to the actuator system, the vehicle also includes a sensor system for detecting a driving state and/or an environment of the vehicle. The method comprises at least the following steps: receiving sensor data generated by the sensor system; inputting the sensor data into a learning algorithm trained in a method according to an embodiment of the first aspect of the invention to convert the sensor data into output data; and generating a control signal for controlling the actuator based on the output data.
Zusätzlich zur Sensorik und Aktorik kann das Fahrzeug ein Steuergerät zum Ansteuern der Aktorik basierend auf den Sensordaten umfassen. Der Lernalgorithmus kann als Hardware und/oder Software in dem Steuergerät implementiert sein. Das Verfahren kann beispielsweise automatisch durch einen Prozessor des Steuergeräts ausgeführt werden.In addition to the sensors and actuators, the vehicle can include a control unit for controlling the actuators based on the sensor data. The learning algorithm can be implemented as hardware and/or software in the control unit. The method can be executed automatically by a processor of the control device, for example.
Merkmale des Verfahrens gemäß einer Ausführungsform des ersten Aspekts der Erfindung können auch Merkmale des Verfahrens gemäß einer Ausführungsform des zweiten Aspekts der Erfindung sein und umgekehrt.Features of the method according to an embodiment of the first aspect of the invention can also be features of the method according to an embodiment of the second aspect of the invention and vice versa.
Ein dritter Aspekt der Erfindung betrifft eine Vorrichtung zur Datenverarbeitung. Die Vorrichtung umfasst einen Prozessor, der konfiguriert, um das Verfahren gemäß einer Ausführungsform des ersten Aspekts der Erfindung und/oder das Verfahren gemäß einer Ausführungsform des zweiten Aspekts der Erfindung auszuführen. Unter einer Vorrichtung zur Datenverarbeitung kann beispielsweise ein Computer, ein Computersystem oder ein Steuergerät verstanden werden. Die Vorrichtung kann Hardware- und/oder Softwaremodule umfassen. Zusätzlich zum Prozessor kann die Vorrichtung einen Speicher und Datenkommunikationsschnittstellen zur Datenkommunikation mit Peripheriegeräten umfassen. Merkmale des Verfahrens gemäß einer Ausführungsform des ersten bzw. zweiten Aspekts der Erfindung können auch Merkmale der Vorrichtung sein und umgekehrt.A third aspect of the invention relates to a device for data processing. The device comprises a processor configured to carry out the method according to an embodiment of the first aspect of the invention and/or the method according to an embodiment of the second aspect of the invention. A device for data processing can be understood to mean, for example, a computer, a computer system or a control device. The device may include hardware and/or software modules. In addition to the processor, the device may include memory and data communication interfaces for data communication with peripheral devices. Features of the method according to an embodiment of the first or second aspect of the invention can also be features of the device and vice versa.
Ein vierter Aspekt der Erfindung betrifft ein Computerprogramm. Das Computerprogramm umfasst Befehle, die einen Prozessor bei Ausführung des Computerprogramms durch den Prozessor veranlassen, das Verfahren gemäß einer Ausführungsform des ersten Aspekts der Erfindung und/oder das Verfahren gemäß einer Ausführungsform des zweiten Aspekts der Erfindung auszuführen.A fourth aspect of the invention relates to a computer program. The computer program comprises instructions which, when the computer program is executed by the processor, cause a processor to carry out the method according to an embodiment of the first aspect of the invention and/or the method according to an embodiment of the second aspect of the invention.
Ein fünfter Aspekt der Erfindung betrifft ein computerlesbares Medium, auf dem das Computerprogramm gemäß einer Ausführungsform des vierten Aspekts der Erfindung gespeichert ist. Das computerlesbare Medium kann ein flüchtiger oder nicht flüchtiger Datenspeicher sein. Beispielsweise kann das computerlesbare Medium eine Festplatte, ein USB-Speichergerät, ein RAM, ROM, EPROM oder Flash-Speicher sein. Das computerlesbare Medium kann auch ein einen Download eines Programmcodes ermöglichendes Datenkommunikationsnetzwerk wie etwa das Internet oder eine Datenwolke (Cloud) sein.A fifth aspect of the invention relates to a computer-readable medium on which the computer program according to an embodiment of the fourth aspect of the invention is stored. The computer-readable medium can be volatile or non-volatile data storage. For example, the computer-readable medium can be a hard drive, USB storage device, RAM, ROM, EPROM, or flash memory. The computer-readable medium can also be a data communication network such as the Internet or a data cloud (cloud) enabling a download of a program code.
Merkmale des Verfahrens gemäß einer Ausführungsform des ersten bzw. zweiten Aspekts der Erfindung können auch Merkmale des Computerprogramms und/oder des computerlesbaren Mediums sein und umgekehrt.Features of the method according to an embodiment of the first or second aspect of the invention can also be features of the computer program and/or the computer-readable medium and vice versa.
Ideen zu Ausführungsformen der vorliegenden Erfindung können unter anderem als auf den nachfolgend beschriebenen Gedanken und Erkenntnissen beruhend angesehen werden.Ideas for embodiments of the present invention can be regarded as being based, among other things, on the ideas and findings described below.
Gemäß einer Ausführungsform wird zum Optimieren des Lernalgorithmus ferner eine von der ersten Zielfunktion abweichende zweite Zielfunktion durch Ändern der zweiten Parameter basierend auf den Ausgabedaten optimiert. Bei der ersten Zielfunktion und der zweiten Zielfunktion kann es sich beispielsweise um unterschiedliche Kosten- oder Belohnungsfunktionen handeln. Das Optimieren der zweiten Zielfunktion kann beispielsweise in einem Gradientenverfahren durch Backpropagation erfolgen. Denkbar sind aber auch andere Optimierungsverfahren. Somit kann der Lernalgorithmus gezielt an konkurrierende Zielgrößen angepasst werden.According to one embodiment, to optimize the learning algorithm, a second objective function that differs from the first objective function is further optimized by changing the second parameters based on the output data. The first objective function and the second objective function can be different cost or reward functions, for example. The second target function can be optimized, for example, in a gradient method by backpropagation. However, other optimization methods are also conceivable. In this way, the learning algorithm can be specifically adapted to competing target values.
Gemäß einer Ausführungsform werden die ersten Parameter während des Optimierens der zweiten Zielfunktion konstant gehalten. Zusätzlich oder alternativ kann ein Funktionswert der ersten Zielfunktion während des Optimierens der zweiten Zielfunktion konstant gehalten werden. Unter einem Funktionswert der ersten Zielfunktion kann eine abhängige Variable der ersten Zielfunktion verstanden werden. Somit können beim Optimieren des Lernalgorithmus unerwünschte Wechselwirkungen zwischen der ersten Zielfunktion und der zweiten Zielfunktion vermieden werden.According to one embodiment, the first parameters are kept constant during the optimization of the second objective function. Additionally or alternatively, a function value of the first target function can be kept constant during the optimization of the second target function. A function value of the first target function can be understood as a dependent variable of the first target function. Undesirable interactions between the first target function and the second target function can thus be avoided when optimizing the learning algorithm.
Möglich ist auch, dass während des Optimierens der ersten Zielfunktion zusätzlich zu den zweiten Parametern ein Funktionswert der zweiten Zielfunktion konstant gehalten wird.It is also possible that a function value of the second target function is kept constant in addition to the second parameters during the optimization of the first target function.
Gemäß einer Ausführungsform werden die erste Zielfunktion und die zweite Zielfunktion in mehreren Schleifen abwechselnd optimiert, beispielsweise bis zum Erreichen eines lokalen oder globalen Optimums. Somit kann der Lernalgorithmus sehr effizient optimiert werden. Zudem können somit unerwünschte Wechselwirkungen zwischen der ersten Zielfunktion und der zweiten Zielfunktion vermieden werden.According to one embodiment, the first objective function and the second objective function are alternately optimized in a plurality of loops, for example until a local or global optimum is reached. Thus, the learning algorithm can be optimized very efficiently. In addition, undesired interactions between the first target function and the second target function can thus be avoided.
Gemäß einer Ausführungsform werden die Sensordaten in das erste Lernmodul eingegeben und die Ausgabedaten durch das zweite Lernmodul ausgegeben. Dabei können Ausgaben des ersten Lernmoduls als Eingaben in das zweite Lernmodul eingegeben werden. Dies ermöglicht eine Filterung von Ausgabedaten des ersten (durch Optimieren der ersten Zielfunktion konfigurierbaren) Lernmoduls durch das zweite (beispielsweise vorkonfigurierte) Lernmodul.According to one embodiment, the sensor data is input into the first learning module and the output data is output by the second learning module. In this case, outputs from the first learning module can be entered as inputs into the second learning module. This allows output data from the first learning module (configurable by optimizing the first objective function) to be filtered by the second learning module (preconfigured, for example).
Alternativ dazu können die Sensordaten in das zweite Lernmodul eingegeben und die Ausgabedaten durch das erste Lernmodul ausgegeben werden. Dabei können Ausgaben des zweiten Lernmoduls als Eingaben in das erste Lernmodul eingegeben werden. Dies ermöglicht eine Filterung von Ausgabedaten des zweiten (beispielsweise vorkonfigurierten) Lernmoduls durch das erste (durch Optimieren der ersten Zielfunktion konfigurierbare) Lernmodul.Alternatively, the sensor data can be entered into the second learning module and the output data can be output by the first learning module. In this case, outputs from the second learning module can be entered as inputs into the first learning module. This allows output data from the second (preconfigured, for example) learning module to be filtered by the first learning module (configurable by optimizing the first objective function).
Gemäß einer Ausführungsform ist das erste Lernmodul als ein erster Filter zum Filtern von Ausgaben des zweiten Lernmoduls konfiguriert. Dabei sind die ersten Parameter Filterkoeffizienten des ersten Filters. Beispielsweise können die Sensordaten zunächst in das zweite Lernmodul eingegeben werden und die Ausgaben des zweiten Lernmoduls zur weiteren Filterung anschließend in das erste Lernmodul eingegeben werden. Dementsprechend kann es sich bei den Ausgabedaten des Lernalgorithmus um Ausgaben des ersten Lernmoduls handeln. Dies hat den Vorteil, dass die Filterkoeffizienten unabhängig von den Parametern des zweiten Lernmoduls gewählt werden können. Somit können Zielgrößenkonflikte beim Optimieren des Lernalgorithmus vermieden werden.According to one embodiment, the first learning module is configured as a first filter for filtering outputs of the second learning module. The first parameters are filter coefficients of the first filter. For example, the sensor data can first be entered into the second learning module and the outputs of the second learning module can then be entered into the first learning module for further filtering. Accordingly, the output data from the learning algorithm can be outputs from the first learning module. This has the advantage that the filter coefficients can be selected independently of the parameters of the second learning module. In this way, target variable conflicts can be avoided when optimizing the learning algorithm.
Gemäß einer alternativen Ausführungsform ist das zweite Lernmodul als ein zweiter Filter zum Filtern von Ausgaben des ersten Lernmoduls konfiguriert. Dabei sind die zweiten Parameter Filterkoeffizienten des zweiten Filters. Beispielsweise können die Sensordaten zunächst in das erste Lernmodul eingegeben werden und die Ausgaben des ersten Lernmoduls zur weiteren Filterung anschließend in das zweite Lernmodul eingegeben werden. Dementsprechend kann es sich bei den Ausgabedaten des Lernalgorithmus um Ausgaben des zweiten Lernmoduls handeln. Dies hat den Vorteil, dass die Filterkoeffizienten unabhängig von den Parametern des ersten Lernmoduls gewählt werden können. Somit können Zielgrößenkonflikte beim Optimieren des Lernalgorithmus vermieden werden.According to an alternative embodiment, the second learning module is configured as a second filter for filtering outputs of the first learning module. The second parameters are filter coefficients of the second filter. For example, the sensor data can first be entered into the first learning module and the outputs of the first learning module can then be entered into the second learning module for further filtering. Accordingly, the output data from the learning algorithm can be outputs from the second learning module. This has the advantage that the filter coefficients can be selected independently of the parameters of the first learning module. In this way, target variable conflicts can be avoided when optimizing the learning algorithm.
Bei dem ersten bzw. zweiten Filter kann es sich beispielsweise um einen Filter zur digitalen Signalverarbeitung, etwa einen Filter mit endlicher Impulsantwort, auch FIR-Filter genannt, handeln (siehe weiter oben). Je nach Filterkoeffizienten kann der erste bzw. zweite Filter beispielsweise als Hochpass-, Tiefpass- oder Bandpassfilter konfiguriert sein.The first or second filter can be, for example, a filter for digital signal processing, such as a filter with a finite impulse response, also known as an FIR filter (see above). Depending on the filter coefficients, the first or second filter can be configured as a high-pass, low-pass or band-pass filter, for example.
Gemäß einer Ausführungsform ist der erste Filter ein Tiefpassfilter. Dies hat den Effekt, dass die Ausgaben des zweiten Lernmoduls, etwa ein Beschleunigungs- oder Lenkwinkelsignal, mittels des ersten Lernmoduls geglättet werden können.According to one embodiment, the first filter is a low-pass filter. This has the effect that the Outputs of the second learning module, such as an acceleration or steering angle signal, can be smoothed using the first learning module.
Gemäß einer alternativen Ausführungsform ist der zweite Filter ein Tiefpassfilter. Dies hat den Effekt, dass die Ausgaben des ersten Lernmoduls, etwa ein Beschleunigungs- oder Lenkwinkelsignal, mittels des zweiten Lernmoduls geglättet werden können.According to an alternative embodiment, the second filter is a low-pass filter. This has the effect that the outputs of the first learning module, such as an acceleration or steering angle signal, can be smoothed using the second learning module.
Gemäß einer Ausführungsform werden ferner den Sensordaten zugeordnete Zielwerte in den Lernalgorithmus eingegeben. Dabei quantifiziert die erste Zielfunktion eine Abweichung zwischen den Ausgabedaten und den Zielwerten. Die erste Zielfunktion wird dann durch Ändern der ersten Parameter basierend auf den Ausgabedaten und den Zielwerten minimiert. Die Zielwerte können als Label aufgefasst werden, mit denen die Sensordaten annotiert sind. Anders ausgedrückt kann der Lernalgorithmus so optimiert werden, dass die Ausgabedaten bestmöglich mit den Zielwerten übereinstimmen.According to one embodiment, target values associated with the sensor data are also input into the learning algorithm. The first target function quantifies a deviation between the output data and the target values. The first objective function is then minimized by changing the first parameters based on the output data and the target values. The target values can be understood as labels with which the sensor data are annotated. In other words, the learning algorithm can be optimized in such a way that the output data matches the target values as closely as possible.
Es ist möglich, dass der Lernalgorithmus zusätzlich zum ersten und zweiten Lernmodul mindestens ein durch dritte Parameter parametriertes drittes Lernmodul umfasst, das das erste Lernmodul mit dem zweiten Lernmodul verbindet. Dabei können die ersten und/oder zweiten Parameter unabhängig von den dritten Parametern veränderbar sein und umgekehrt. Analog zu den ersten bzw. zweiten Parametern kann beispielsweise zum Optimieren des Lernalgorithmus ferner eine von der ersten und/oder zweiten Zielfunktion abweichende dritte Zielfunktion durch Ändern der dritten Parameter basierend auf den Ausgabedaten optimiert werden. Beispielsweise können während des Optimierens der ersten Zielfunktion die zweiten und/oder dritten Parameter, während des Optimierens der zweiten Zielfunktion die ersten und/oder dritten Parameter und/oder während des Optimierens der dritten Zielfunktion die ersten und/oder zweiten Parameter konstant gehalten werden. Somit kann der Lernalgorithmus gezielt an mindestens drei konkurrierende Zielgrößen angepasst werden.It is possible that the learning algorithm includes at least one third learning module parameterized by third parameters, in addition to the first and second learning module, which connects the first learning module to the second learning module. The first and/or second parameters can be changeable independently of the third parameters and vice versa. Analogously to the first or second parameters, a third target function that deviates from the first and/or second target function can also be optimized by changing the third parameters based on the output data, for example to optimize the learning algorithm. For example, the second and/or third parameters can be kept constant during the optimization of the first objective function, the first and/or third parameters during the optimization of the second objective function, and/or the first and/or second parameters during the optimization of the third objective function. Thus, the learning algorithm can be specifically adapted to at least three competing target variables.
Gemäß einer Ausführungsform umfasst der Lernalgorithmus mindestens ein künstliches neuronales Netz. Dabei sind die ersten Parameter trainierbare Gewichte mindestens einer ersten Schicht des künstlichen neuronalen Netzes. Zusätzlich oder alternativ können die zweiten Parameter trainierbare Gewichte mindestens einer zweiten Schicht des künstlichen neuronalen Netzes sein. Das künstliche neuronale Netz kann beispielsweise ein mehrlagiges Perzeptron mit mindestens einer trainerbaren Zwischenschicht, ein faltendes neuronales Netz, auch Convolutional Neural Network (CNN) genannt, ein rekurrentes neuronales Netz, auch Recurrent Neural Network (RNN) genannt, ein LSTM-Netz (LSTM = long short-term memory) oder eine Kombination aus mindestens zwei der genannten Beispiele sein. Besonders vorteilhaft ist ein künstliches neuronales Netz mit einer Vielzahl trainierbarer Zwischenschichten, auch Deep Neural Network genannt. Möglich ist beispielsweise auch, dass die erste Schicht und die zweite Schicht unterschiedlichen, miteinander verknüpften künstlichen neuronalen Netzen angehören.According to one embodiment, the learning algorithm includes at least one artificial neural network. The first parameters are trainable weights of at least one first layer of the artificial neural network. Additionally or alternatively, the second parameters can be trainable weights of at least a second layer of the artificial neural network. The artificial neural network can be, for example, a multi-layer perceptron with at least one intermediate layer that can be trained, a convolutional neural network, also known as a convolutional neural network (CNN), a recurrent neural network, also known as a recurrent neural network (RNN), an LSTM network (LSTM = long short-term memory) or a combination of at least two of the above examples. An artificial neural network with a large number of trainable intermediate layers, also known as a deep neural network, is particularly advantageous. It is also possible, for example, for the first layer and the second layer to belong to different artificial neural networks that are linked to one another.
Figurenlistecharacter list
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, wobei weder die Zeichnungen noch die Beschreibung als die Erfindung einschränkend auszulegen sind.
-
1 zeigt schematisch eine Vorrichtung zur Datenverarbeitung gemäß einem Ausführungsbeispiel der Erfindung. -
2 zeigt schematisch ein Fahrzeug mit einem Steuergerät gemäß einem Ausführungsbeispiel der Erfindung. -
3 zeigt schematisch ein Flussdiagramm zur Veranschaulichung eines Verfahrens zum Trainieren eines Lernalgorithmus gemäß einem Ausführungsbeispiel der Erfindung. -
4 zeigt ein Diagramm zur Veranschaulichung eines Beschleunigungssignals am Ausgang eines einfachen künstlichen neuronalen Netzes. -
5 zeigt ein Diagramm zur Veranschaulichung eines Beschleunigungssignals am Ausgang eines Lernalgorithmus, der in einem Verfahren gemäß einem Ausführungsbeispiel der Erfindung trainiert wurde.
-
1 shows schematically a device for data processing according to an embodiment of the invention. -
2 shows schematically a vehicle with a control device according to an embodiment of the invention. -
3 FIG. 12 schematically shows a flowchart to illustrate a method for training a learning algorithm according to an embodiment of the invention. -
4 shows a diagram illustrating an acceleration signal at the output of a simple artificial neural network. -
5 shows a diagram to illustrate an acceleration signal at the output of a learning algorithm that was trained in a method according to an embodiment of the invention.
Die Figuren sind lediglich schematisch und nicht maßstabsgetreu. Gleiche Bezugszeichen bezeichnen in den Figuren gleiche oder gleichwirkende Merkmale.The figures are merely schematic and not true to scale. In the figures, the same reference symbols denote the same features or features that have the same effect.
Ausführungsformen der ErfindungEmbodiments of the invention
Die zwei Lernmodule 112, 116 sind so konfiguriert, dass die ersten Parameter 114 unabhängig von den zweiten Parametern 118 optimierbar, d. h. veränderbar sind. Umgekehrt können beispielsweise auch die zweiten Parameter 118 unabhängig von den ersten Parametern 114 veränderbar sein. Alternativ können die zweiten Parameter 118 im Gegensatz zu den ersten Parametern 114 unveränderlich sein.The two
Bei den ersten Parametern 114 und den zweiten Parametern 118 kann es sich beispielsweise um trainierbare Gewichte unterschiedlicher Schichten ein und desselben künstlichen neuronalen Netzes 119 oder um trainierbare Gewichte unterschiedlicher künstlicher neuronale Netze 119a, 119b handeln. Genauer können die ersten Parameter 114 trainierbare Gewichte einer oder mehrerer aufeinanderfolgender erster Schichten sein und die zweiten Parameter 118 trainierbare Gewichte einer oder mehrerer den ersten Schichten nachfolgenden zweiten Schichten sein.The first parameters 114 and the second parameters 118 can be, for example, trainable weights of different layers of one and the same artificial neural network 119 or trainable weights of different artificial neural networks 119a, 119b. More specifically, the first parameters 114 may be trainable weights of one or more consecutive first layers and the second parameters 118 may be trainable weights of one or more second layers subsequent to the first layers.
Der Lernalgorithmus 102 kann zusätzlich zu dem ersten Lernmodul 112 und dem zweiten Lernmodul 116 ein Optimierungsmodul 120 zum Optimieren einer ersten Zielfunktion 122 durch Ändern der ersten Parameter 114 und, optional, zum Optimieren einer zweiten Zielfunktion 124 durch Ändern der zweiten Parameter 118 basierend auf den Ausgabedaten 108 aufweisen.The
Hierzu können beispielsweise entsprechende Zielwerte y in das Optimierungsmodul 120 eingegeben werden. Beispielsweise können die Sensordaten 104 eine Mehrzahl realer oder simulierter Messwerte x umfassen, wobei jedem der Messwerte x ein bestimmter Zielwert y zugeordnet sein kann und der Lernalgorithmus 102 für jeden der Messwerte x einen Prädiktionswert y ausgeben kann. Die Ausgabedaten 108 können somit eine Mehrzahl von Prädiktionswerten y umfassen.For this purpose, for example, corresponding target values y can be entered into the
Zum Optimieren der ersten Zielfunktion 122 können die ersten Parameter 114 beispielsweise in einem Gradientenverfahren durch Backpropagation basierend auf den Prädiktionswerten y und den entsprechenden Zielwerten y verändert werden. Beispielsweise kann die erste Zielfunktion 122 eine Kosten- oder Verlustfunktion sein, die eine Abweichung zwischen den Prädiktionswerten y und den Zielwerten y quantifiziert, beispielsweise eine quadratische Verlustfunktion oder eine 0-1-Verlustfunktion. Dabei können die Prädiktionswerte y, die Zielwerte y und die ersten Parameter 114 unabhängige Variablen der ersten Zielfunktion 122 sein, während ein Funktionswert, d. h. eine abhängige Variable, der ersten Zielfunktion 122 durch entsprechendes Ändern der ersten Parameter 114 zu minimieren ist.In order to optimize the
Das Optimieren der zweiten Zielfunktion 124 durch Ändern der zweiten Parameter 118 kann analog zum vorangehend beschriebenen Optimieren der ersten Zielfunktion 122 erfolgen. Die zweite Zielfunktion 124 kann jedoch auch in einem anderen Optimierungsverfahren optimiert werden. Wichtig ist, dass jeweils unter Randbedingungen optimiert wird, also die jeweils andere Zielfunktion konstant oder besser bleibt.The optimization of the
Es wird darauf hingewiesen, dass es zum Trainieren bzw. Optimieren des Lernalgorithmus 102 nicht zwingend erforderlich ist, die zweiten Parameter 118 zusätzlich zu den ersten Parametern 114 zu verändern. Wie bereits erwähnt, ist es beispielsweise auch möglich, dass die zweiten Parameter 118 als fixe Werte vorgegeben sind, d. h. während der Laufzeit des Lernalgorithmus 102 unabhängig von der Optimierung der ersten Zielfunktion 122 gleich bleiben.It is pointed out that it is not absolutely necessary to change the second parameters 118 in addition to the first parameters 114 in order to train or optimize the
Die Vorrichtung 100 umfasst ferner einen Prozessor 126 zum Ausführen eines Computerprogramms und einen Speicher 128, auf dem das Computerprogramm gespeichert ist. Das Ausführen des Computerprogramms bewirkt, dass der Lernalgorithmus 102 in einem Verfahren, wie es beispielhaft anhand von
Der fertig trainierte Lernalgorithmus 102 kann beispielsweise in einem Steuergerät 200 eines Fahrzeugs 202 (siehe
Zum automatisierten Ansteuern der Aktorik 110 werden zunächst die von der Sensorik 106 bereitgestellten Sensordaten 104, x im Steuergerät 200 empfangen und dann in den Lernalgorithmus 102 eingegeben. Der Lernalgorithmus 102 kann von einem Prozessor des Steuergeräts 200 (nicht gezeigt) in Form eines entsprechenden Computerprogramms ausgeführt werden. Basierend auf den durch den Lernalgorithmus 102 ausgegebenen Ausgabedaten 108, y erzeugt das Steuergerät 200 ein entsprechendes Steuersignal 204 und gibt dieses an die Aktorik 110 aus. Beispielsweise können die Ausgabedaten 108, y in einen Geschwindigkeitscontroller des Steuergeräts 200 eingegeben werden, wobei das Steuersignal 204 basierend auf den Ausgabedaten 108, y durch den Geschwindigkeitscontroller erzeugt wird und durch Ausgeben des Steuersignals 204 an die Aktorik 110 bewirkt wird, dass das Fahrzeug 202 seine Geschwindigkeit ändert.For the automated control of the
Wie bereits erwähnt, ist es möglich, dass beim Trainieren des Lernalgorithmus 102 zusätzlich zur Parametrisierung des ersten Lernmoduls 112 die Parametrisierung des zweiten Lernmoduls 116 angepasst wird, etwa um Ausgabedaten 108, y zu erhalten, die zusätzlich zu (Haupt-)Bedingungen einer Zielgröße (Neben-)Bedingungen einer Randgröße erfüllen. Das zweite Lernmodul 116 kann dabei nur für die Randgröße, nicht aber für die Zielgröße zuständig sein. Die Anpassung kann beispielsweise in einem zweistufigen Verfahren mit unterschiedlichen Kostenfunktionen erfolgen, wie es in
Dazu können in einem ersten Optimierungsschritt die ersten Parameter 114 bei konstanter Parametrisierung des zweiten Lernmoduls 116 auf die Zielgröße hin optimiert werden, wobei ein Approximationsfehler, der die Abweichung zwischen den Prädiktionswerten y und den Zielwerten y anzeigt, bestimmt wird. Anschließend können in einem zweiten Optimierungsschritt die zweiten Parameter 118 bei konstanter Parametrisierung des ersten Lernmoduls 112 und/oder konstantem Approximationsfehler, wie er im ersten Optimierungsschritt bestimmt wurde, auf die Randgröße hin optimiert werden. Durch die Randgröße kann beispielsweise ein bevorzugter Frequenzbereich der Ausgabedaten 108, y definiert werden.For this purpose, in a first optimization step, the first parameters 114 can be optimized for the target variable with constant parameterization of the
Der erste Optimierungsschritt und der zweite Optimierungsschritt können beispielsweise bis zur Konvergenz alternierend ausgeführt werden.The first optimization step and the second optimization step can, for example, be carried out alternately until they converge.
Beispielsweise kann der Frequenzfilter vor dem Training des künstlichen neuronalen Netzes 119a einmalig parametrisiert werden und dann in diesen Werten fix bleiben, auch für den weiteren Verlauf des Trainings des Lernalgorithmus 102.For example, the frequency filter can be parameterized once before the training of the artificial neural network 119a and then remain fixed in these values, also for the further course of the training of the
Denkbar ist auch, dass das erste Lernmodul 112 und das zweite Lernmodul 116 vertauscht werden, sodass die Sensordaten 104, x in das zweite Lernmodul 116 eingegeben werden und die Ausgabedaten 108, y durch das erste Lernmodul 112 ausgegeben werden. Somit können durch das zweite Lernmodul 118 gefilterte Eingabedaten für das erste Lernmodul 112 bereitgestellt werden.It is also conceivable that the
Es ist zu erkennen, dass das durch den Lernalgorithmus 102 approximierte Beschleunigungssignal in
Zum besseren Vergleich der Approximationsergebnisse sind in
Abschließend wird darauf hingewiesen, dass Begriffe wie „aufweisend“, „umfassend“ etc. keine anderen Elemente oder Schritte ausschließen und Begriffe wie „eine“ oder „ein“ keine Vielzahl ausschließen. Bezugszeichen in den Ansprüchen sind nicht als Einschränkung anzusehen.Finally, it is noted that terms such as "comprising,""comprising," etc. do not exclude other elements or steps, and terms such as "a" or "an" do not exclude a plurality. Any reference signs in the claims should not be construed as limiting.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020216202.6A DE102020216202A1 (en) | 2020-12-17 | 2020-12-17 | Method for training a learning algorithm for converting sensor data from a sensor system into output data for controlling an actuator and method for controlling an actuator of a vehicle |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020216202.6A DE102020216202A1 (en) | 2020-12-17 | 2020-12-17 | Method for training a learning algorithm for converting sensor data from a sensor system into output data for controlling an actuator and method for controlling an actuator of a vehicle |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102020216202A1 true DE102020216202A1 (en) | 2022-06-23 |
Family
ID=81847384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102020216202.6A Pending DE102020216202A1 (en) | 2020-12-17 | 2020-12-17 | Method for training a learning algorithm for converting sensor data from a sensor system into output data for controlling an actuator and method for controlling an actuator of a vehicle |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102020216202A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017205713A1 (en) | 2017-04-04 | 2018-10-04 | Siemens Aktiengesellschaft | Method and control device for controlling a technical system |
-
2020
- 2020-12-17 DE DE102020216202.6A patent/DE102020216202A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017205713A1 (en) | 2017-04-04 | 2018-10-04 | Siemens Aktiengesellschaft | Method and control device for controlling a technical system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102016107938B4 (en) | PREDICTIVE VEHICLE CRUISE CONTROL SYSTEM AND PROCEDURES FOR PREDICTIVE CRUISE CONTROL | |
DE102019104974A1 (en) | Method and system for determining a driving maneuver | |
DE102018206208A1 (en) | Method, device, product and computer program for operating a technical system | |
EP3765927B1 (en) | Method for generating a training data record for training an artificial intelligence module for a control device of a vehicle | |
DE102019110217B4 (en) | Method for the automated control of a motor vehicle | |
WO2015139864A1 (en) | Method and device for operating a vehicle | |
EP3530537B1 (en) | Motor vehicle control device and method for operating the control device for autonomous driving of a motor vehicle | |
DE102019105389A1 (en) | Safety device for a self-learning measuring system in the vehicle for the detection and classification of objects in the area around the vehicle with the help of a deep learning process | |
DE102021128041A1 (en) | IMPROVEMENT OF A VEHICLE NEURAL NETWORK | |
DE102020124633A1 (en) | CONTEXT-SENSITIVE ADAPTATION OF A TERRAIN VIEW TIME | |
DE102019209457A1 (en) | Method for training an artificial neural network, artificial neural network, use of an artificial neural network and a corresponding computer program, machine-readable storage medium and corresponding device | |
DE102018219760A1 (en) | Collision prediction system | |
DE102021203588A1 (en) | Method and controller for estimating a behavior of a system | |
DE102018121866A1 (en) | Method for depth estimation of two-dimensional sensor data | |
DE102020101060A1 (en) | Self-learning ultrasonic measuring system in the vehicle for the detection and classification of objects in the vicinity of the vehicle with a multiplanar reformatter | |
DE102020100996A1 (en) | Ultrasonic measuring system with a self-learning AI control of microbeamformers in the vehicle | |
DE102020216202A1 (en) | Method for training a learning algorithm for converting sensor data from a sensor system into output data for controlling an actuator and method for controlling an actuator of a vehicle | |
DE102018216561A1 (en) | Method, device and computer program for determining an agent's strategy | |
DE102022109385A1 (en) | Reward feature for vehicles | |
DE102020101000B4 (en) | Ultrasonic measurement system in the vehicle with a Doppler processor as a feature extractor for a self-learning neural network | |
DE102020101036B4 (en) | Self-learning ultrasonic measuring system in the vehicle for the detection and classification of objects in the vehicle's surroundings with a volume renderer | |
WO2021191120A1 (en) | Method for determining a value of a controller variable | |
DE102021111597A1 (en) | AUTONOMOUS DRIVER FEEDBACK SYSTEM AND PROCEDURE | |
DE102020129451A1 (en) | Method for predicting driving interventions, method for training an algorithm and motor vehicle | |
DE102020210376A1 (en) | Apparatus and method for controlling a hardware agent in a multiple hardware agent control situation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified |