DE102020103274A1 - Method and device for generating training data for teaching a neural network - Google Patents

Method and device for generating training data for teaching a neural network Download PDF

Info

Publication number
DE102020103274A1
DE102020103274A1 DE102020103274.9A DE102020103274A DE102020103274A1 DE 102020103274 A1 DE102020103274 A1 DE 102020103274A1 DE 102020103274 A DE102020103274 A DE 102020103274A DE 102020103274 A1 DE102020103274 A1 DE 102020103274A1
Authority
DE
Germany
Prior art keywords
synthetic
data sample
gan
real
weighting function
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
Application number
DE102020103274.9A
Other languages
German (de)
Inventor
Artem Savkin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102020103274.9A priority Critical patent/DE102020103274A1/en
Publication of DE102020103274A1 publication Critical patent/DE102020103274A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

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

Abstract

Es wird eine Vorrichtung zur Bereitstellung von Trainingsdaten zum Anlernen eines neuronalen Netzes für eine bestimmte Aufgabe beschrieben. Die Vorrichtung ist eingerichtet, auf Basis einer synthetischen Menge von synthetischen Daten-Stichproben, die eine Ursprungs-Wahrscheinlichkeitsverteilung aufweisen, und auf Basis einer realen Menge von realen Daten-Stichproben, die eine Ziel-Wahrscheinlichkeitsverteilung aufweisen, eine Gewichtungsfunktion zu ermitteln. Die Vorrichtung ist ferner eingerichtet, unter Berücksichtigung der ermittelten Gewichtungsfunktion ein Generative Adversarial Network, kurz GAN, anzulernen, wobei das GAN ein Generator-Netzwerk umfasst. Die Trainingsdaten können dann anhand des angelernten Generator-Netzwerks ermittelt werden.A device for providing training data for teaching a neural network for a specific task is described. The device is set up to determine a weighting function on the basis of a synthetic set of synthetic data samples that have an original probability distribution and on the basis of a real set of real data samples that have a target probability distribution. The device is also set up, taking into account the determined weighting function, to learn a Generative Adversarial Network, GAN for short, the GAN comprising a generator network. The training data can then be determined using the trained generator network.

Description

Die Erfindung betrifft eine Vorrichtung und ein entsprechendes Verfahren zur Erzeugung von Trainingsdaten zum Anlernen eines neuronalen Netzes.The invention relates to a device and a corresponding method for generating training data for teaching a neural network.

Ein zumindest teilweise automatisiert fahrendes (Kraft-) Fahrzeug (z.B. ein Personenkraftwagen, ein Lastkraftwagen oder ein Bus) kann eingerichtet sein, Sensordaten von ein oder mehreren Umfeldsensoren des Fahrzeugs (z.B. eine Bildkamera, ein Lidarsensor, ein Radarsensor, etc.) auszuwerten, z.B. um ein oder mehrere Objekte im Umfeld des Fahrzeugs zu detektieren. Das Fahrzeug kann dann in Abhängigkeit von den ein oder mehreren detektieren Objekten automatisiert längs- und/oder quergeführt werden.An at least partially automated (motor) vehicle (e.g. a passenger car, a truck or a bus) can be set up to evaluate sensor data from one or more environment sensors of the vehicle (e.g. an image camera, a lidar sensor, a radar sensor, etc.), e.g. to detect one or more objects around the vehicle. The vehicle can then be automatically guided longitudinally and / or transversely as a function of the one or more detected objects.

Die Erkennung von Objekten auf Basis der Sensordaten von ein oder mehreren Umfeldsensoren kann anhand von spezifisch angelernten neuronalen Netzen, insbesondere sogenannten Deep Neural Networks, erfolgen. Das Anlernen von neuronalen Netzen für unterschiedliche Aufgaben, z.B. für das Erkennen von unterschiedlichen Typen von Objekten, ist typischerweise mit einem relativ hohen Aufwand verbunden, insbesondere in Bezug auf die Bereitstellung von gelabelten Trainingsdaten, etwa gelabelten Bildern, für die unterschiedlichen Aufgaben.The detection of objects on the basis of the sensor data from one or more environment sensors can take place on the basis of specifically learned neural networks, in particular so-called deep neural networks. The learning of neural networks for different tasks, e.g. for the recognition of different types of objects, is typically associated with a relatively high effort, especially with regard to the provision of labeled training data, such as labeled images, for the different tasks.

Ein Ansatz zur Bereitstellung von gelabelten Trainingsdaten ist das Generieren von synthetischen Trainingsdaten, z.B. von gelabelten synthetischen Bildern, mittels einer Computeranimation. Es hat sich jedoch gezeigt, dass ein auf Basis von synthetischen Trainingsdaten angelerntes neuronales Netz bei Verwendung mit realen Daten (insbesondere mit realen Bildern) eine begrenzte Zuverlässigkeit, z.B. eine relativ geringe Objekterkennungsrate, aufweist.One approach to providing labeled training data is to generate synthetic training data, e.g. labeled synthetic images, by means of computer animation. However, it has been shown that a neural network learned on the basis of synthetic training data has a limited reliability, e.g. a relatively low object recognition rate, when used with real data (in particular with real images).

Das vorliegende Dokument befasst sich mit der technischen Aufgabe, synthetisch generierte Trainingsdaten zum Anlernen eines neuronalen Netzes (z.B. für die Aufgabe der Objekterkennung) bereitzustellen, das auch bei Anwendung auf reale Daten eine hohe Zuverlässigkeit aufweist.The present document deals with the technical task of providing synthetically generated training data for learning a neural network (e.g. for the task of object recognition), which is also highly reliable when applied to real data.

Die Aufgabe wird jeweils durch die unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen werden u.a. in den abhängigen Ansprüchen beschrieben. Es wird darauf hingewiesen, dass zusätzliche Merkmale eines von einem unabhängigen Patentanspruch abhängigen Patentanspruchs ohne die Merkmale des unabhängigen Patentanspruchs oder nur in Kombination mit einer Teilmenge der Merkmale des unabhängigen Patentanspruchs eine eigene und von der Kombination sämtlicher Merkmale des unabhängigen Patentanspruchs unabhängige Erfindung bilden können, die zum Gegenstand eines unabhängigen Anspruchs, einer Teilungsanmeldung oder einer Nachanmeldung gemacht werden kann. Dies gilt in gleicher Weise für in der Beschreibung beschriebene technische Lehren, die eine von den Merkmalen der unabhängigen Patentansprüche unabhängige Erfindung bilden können.The object is achieved in each case by the independent claims. Advantageous embodiments are described, inter alia, in the dependent claims. It is pointed out that additional features of a patent claim dependent on an independent patent claim without the features of the independent patent claim or only in combination with a subset of the features of the independent patent claim can form a separate invention independent of the combination of all features of the independent patent claim, which can be made the subject of an independent claim, a divisional application or a subsequent application. This applies equally to technical teachings described in the description, which can form an invention that is independent of the features of the independent patent claims.

Gemäß einem Aspekt wird eine Vorrichtung (z.B. ein Computer oder ein Server) zur Bereitstellung von Trainingsdaten zum Anlernen eines neuronalen Netzes für eine bestimmte Aufgabe beschrieben. Das für die bestimmte Aufgabe angelernte neuronale Netz kann z.B. für eine Objektklassifizierung, eine Objekterkennung und/oder eine Objektsegmentierung (innerhalb von Bildern) ausgebildet sein. Mit anderen Worten, die bestimmte Aufgabe kann Objektklassifizierung, Objekterkennung und/oder Objektsegmentierung (innerhalb von ein oder mehreren Bildern) sein.According to one aspect, a device (e.g. a computer or a server) for providing training data for training a neural network for a specific task is described. The neural network learned for the specific task can be designed, for example, for object classification, object recognition and / or object segmentation (within images). In other words, the particular task can be object classification, object recognition and / or object segmentation (within one or more images).

Die Vorrichtung ist eingerichtet, auf Basis einer synthetischen Menge von synthetischen Daten-Stichproben, die eine Ursprungs-Wahrscheinlichkeitsverteilung aufweisen, und auf Basis einer realen Menge von realen Daten-Stichproben, die eine Ziel-Wahrscheinlichkeitsverteilung aufweisen, eine Gewichtungsfunktion zu ermitteln. Die synthetische Menge und/oder die reale Menge können dabei jeweils 100 oder mehr, oder 1000 oder mehr, oder 10000 oder mehr Stichproben umfassen. Eine synthetische Daten-Stichprobe und/oder eine reale Daten-Stichprobe können dabei jeweils ein Bild, insbesondere jeweils ein gelabeltes Bild, umfassen bzw. sein. Eine synthetische Daten-Stichprobe kann z.B. anhand einer Computersimulation bzw. einer Computeranimation generiert worden sein. Eine reale Daten-Stichprobe kann z.B. durch einen Umfeldsensor, insbesondere durch eine Kamera, (eines Fahrzeugs) erfasst worden sein.The device is set up to determine a weighting function on the basis of a synthetic set of synthetic data samples that have an original probability distribution and on the basis of a real set of real data samples that have a target probability distribution. The synthetic amount and / or the real amount can each comprise 100 or more, or 1000 or more, or 10,000 or more samples. A synthetic data sample and / or a real data sample can each include or be an image, in particular a labeled image. A synthetic data sample can, for example, have been generated using a computer simulation or a computer animation. A real data sample can, for example, have been recorded by an environment sensor, in particular by a camera (of a vehicle).

Die Gewichtungsfunktion kann derart ermittelt werden, dass die Gewichtungsfunktion für eine synthetische Daten-Stichprobe aus der synthetischen Menge anzeigt, wie nah die synthetische Daten-Stichprobe im Sinne eines (symmetrischen und/oder asymmetrischen) Abstandsmaßes an der Ziel-Wahrscheinlichkeitsverteilung ist bzw. liegt, und/oder wie gut die synthetische Daten-Stichprobe im Sinne des Abstandsmaßes zu der Ziel-Wahrscheinlichkeitsverteilung passt. Das Abstandsmaß kann z.B. ein Maß für eine Divergenz umfassen bzw. sein (insbesondere für eine Kullback-Leibler-Divergenz).The weighting function can be determined in such a way that the weighting function for a synthetic data sample from the synthetic set indicates how close the synthetic data sample is to the target in terms of a (symmetrical and / or asymmetrical) distance measure. The probability distribution is or is, and / or how well the synthetic data sample fits the target probability distribution in the sense of the distance measure. The distance measure can, for example, comprise or be a measure for a divergence (in particular for a Kullback-Leibler divergence).

Die Gewichtungsfunktion kann insbesondere derart ermittelt werden, dass die Gewichtungsfunktion für jede der synthetischen Daten-Stichproben aus der synthetischen Menge jeweils einen Gewichtungswert anzeigt. Dabei kann der Gewichtungswert für eine synthetische Daten-Stichprobe anzeigen, wie nah die synthetische Daten-Stichprobe im Sinne des Abstandsmaßes an der Ziel-Wahrscheinlichkeitsverteilung ist bzw. liegt, und/oder wie gut die synthetische Daten-Stichprobe im Sinne des Abstandsmaßes zu der Ziel-Wahrscheinlichkeitsverteilung passt. Dabei kann ein relativ hoher Gewichtungswert anzeigen, dass die synthetische Daten-Stichprobe relativ nah an der Ziel-Wahrscheinlichkeitsverteilung liegt und/oder relativ gut zu der Ziel-Wahrscheinlichkeitsverteilung passt. Andererseits kann ein relativ niedriger Gewichtungswert anzeigen, dass die synthetische Daten-Stichprobe relativ weit entfernt von der Ziel-Wahrscheinlichkeitsverteilung liegt und/oder relativ schlecht zu der Ziel-Wahrscheinlichkeitsverteilung passt. Die Gewichtungsfunktion kann z.B. auf Gewichtungswerte zwischen Null und Eins normiert sein.The weighting function can in particular be determined in such a way that the weighting function displays a weighting value for each of the synthetic data samples from the synthetic set. The weighting value for a synthetic data sample can indicate how close the synthetic data sample is or is to the target probability distribution in terms of the distance measure, and / or how good the synthetic data sample is in terms of the distance measure to the target - Probability distribution fits. A relatively high weighting value can indicate that the synthetic data sample is relatively close to the target probability distribution and / or fits relatively well with the target probability distribution. On the other hand, a relatively low weighting value can indicate that the synthetic data sample is relatively far removed from the target probability distribution and / or fits the target probability distribution relatively poorly. The weighting function can, for example, be normalized to weighting values between zero and one.

Die Gewichtungsfunktion kann insbesondere derart ermittelt werden, dass die Gewichtungsfunktion eine Approximation des Verhältnisses der Dichtefunktion der Ziel-Wahrscheinlichkeitsverteilung zu der Dichtefunktion der Ursprungs-Wahrscheinlichkeitsverteilung ist bzw. darstellt. So kann ein Generative Adversarial Network, kurz GAN, bereitgestellt werden, das die Semantik der synthetischen Daten-Stichproben in besonders zuverlässiger Weise beibehält.The weighting function can in particular be determined in such a way that the weighting function is or represents an approximation of the ratio of the density function of the target probability distribution to the density function of the original probability distribution. In this way, a Generative Adversarial Network, or GAN for short, can be provided which maintains the semantics of the synthetic data samples in a particularly reliable manner.

Die Vorrichtung kann eingerichtet sein, die Gewichtungsfunktion mittels einer Kullback-Leibler importance estimation procedure, kurz KLIEP, Methode zu ermitteln. Das Abstandsmaß kann in diesem Fall einen Kullback-Leibler-Abstand bzw. eine Kullback-Leibler-Divergenz umfassen oder ein Kullback-Leibler-Abstand bzw. eine Kullback-Leibler-Divergenz sein. So können eine besonders präzise Approximation des Verhältnisses der Dichtefunktionen und somit eine besonders präzise Gewichtungsfunktion bereitgestellt werden.The device can be set up to determine the weighting function by means of a Kullback-Leibler importance estimation procedure, or KLIEP for short, method. In this case, the distance measure can comprise a Kullback-Leibler distance or a Kullback-Leibler divergence or a Kullback-Leibler distance or a Kullback-Leibler divergence. A particularly precise approximation of the ratio of the density functions and thus a particularly precise weighting function can thus be provided.

Alternativ oder ergänzend kann die Vorrichtung eingerichtet sein, die Gewichtungsfunktion auf Basis einer gewichteten Summe von Basisfunktionen zu ermitteln. Dabei können die Basisfunktionen radial basis function, kurz RBF, Kerne umfassen. Des Weiteren können die Basisfunktionen von den realen Daten-Stichproben aus der realen Menge abhängen. So können eine besonders präzise Approximation des Verhältnisses der Dichtefunktionen und somit eine besonders präzise Gewichtungsfunktion bereitgestellt werden.As an alternative or in addition, the device can be set up to determine the weighting function on the basis of a weighted sum of basic functions. The basic functions can include radial basis function, RBF for short, cores. Furthermore, the basic functions can depend on the real data samples from the real set. A particularly precise approximation of the ratio of the density functions and thus a particularly precise weighting function can thus be provided.

Die Vorrichtung ist ferner eingerichtet, unter Berücksichtigung der ermittelten Gewichtungsfunktion ein GAN anzulernen. Dabei umfasst das GAN ein Generator-Netzwerk, das ausgebildet ist, auf Basis einer synthetischen Daten-Stichprobe jeweils eine entsprechende angepasste Daten-Stichprobe zu ermitteln. Des Weiteren umfasst das GAN ferner ein Diskriminator-Netzwerk, das ausgebildet ist, eine von dem Generator-Netzwerk aus einer synthetischen Daten-Stichprobe generierte angepasste Daten-Stichprobe und eine reale Daten-Stichprobe aus der realen Menge (paarweise) zu analysieren, und eine Entscheidung für oder gegen die angepasste Daten-Stichprobe zu treffen. Dabei kann insbesondere eine Entscheidung darüber getroffen werden, ob die angepasste Daten-Stichprobe oder die reale Daten-Stichprobe eine Stichprobe aus der Ziel-Wahrscheinlichkeitsverteilung ist. Das GAN kann derart angelernt werden, dass das Diskriminator-Netzwerk (genau) in 50% der Fälle für die jeweils angepasste Daten-Stichprobe und/oder (genau) in 50% der Fälle gegen die jeweils angepasste Daten-Stichprobe entscheidet.The device is also set up to learn a GAN, taking into account the weighting function determined. The GAN includes a generator network which is designed to determine a corresponding adapted data sample on the basis of a synthetic data sample. Furthermore, the GAN further comprises a discriminator network which is designed to analyze an adapted data sample generated by the generator network from a synthetic data sample and a real data sample from the real set (in pairs), and a To make a decision for or against the adapted data sample. In particular, a decision can be made as to whether the adapted data sample or the real data sample is a sample from the target probability distribution. The GAN can be learned in such a way that the discriminator network decides (exactly) in 50% of the cases for the respectively adjusted data sample and / or (exactly) in 50% of the cases against the respectively adjusted data sample.

Die Vorrichtung kann eingerichtet sein, eine Fehlerfunktion zum Anlernen des GANs auf Basis der Gewichtungsfunktion zu ermitteln. Insbesondere kann die Vorrichtung eingerichtet sein, einen Fehlerterm der Fehlerfunktion für eine synthetische Daten-Stichprobe mit dem Gewichtungswert der Gewichtungsfunktion für die synthetische Daten-Stichprobe zu gewichten. Der Fehlerterm der Fehlerfunktion für die synthetische Daten-Stichprobe kann dabei davon abhängen, ob sich das Diskriminator-Netzwerk des GANs bei der Analyse der entsprechenden angepassten Daten-Stichprobe und einer realen Daten-Stichprobe aus der realen Menge für die angepassten Daten-Stichprobe entscheidet oder nicht. Alternativ oder ergänzend kann die Fehlerfunktion von dem Erwartungswert der Entscheidungen des Diskriminator-Netzwerks für die synthetischen Daten-Stichproben aus der synthetischen Menge, insbesondere von einem mit der Gewichtungsfunktion gewichteten Erwartungswert der Entscheidungen des Diskriminator-Netzwerks für die synthetischen Daten-Stichproben aus der synthetischen Menge, abhängen.The device can be set up to determine an error function for teaching the GAN on the basis of the weighting function. In particular, the device can be set up to weight an error term of the error function for a synthetic data sample with the weighting value of the weighting function for the synthetic data sample. The error term of the error function for the synthetic data sample can depend on whether the discriminator network of the GAN decides in favor of the adjusted data sample when analyzing the corresponding adjusted data sample and a real data sample from the real quantity Not. Alternatively or additionally, the error function can be derived from the expected value of the decisions of the discriminator network for the synthetic data samples from the synthetic set, in particular from an expected value of the decisions of the discriminator network weighted with the weighting function for the synthetic data samples from the synthetic set , depend.

Durch die Gewichtung der Fehlerfunktion kann in effizienter Weise bewirkt werden, dass das GAN verstärkt auf Basis der synthetischen Daten-Stichproben angelernt wird, die bereits relativ gut zu der Ziel-Wahrscheinlichkeitsverteilung passen (und somit nur relativ wenig angepasst werden müssen). Als Folge daraus kann das Ausmaß der semantischen Veränderungen, die von dem Generator-Netzwerk des GANs bewirkt werden, reduziert werden.By weighting the error function, it can be achieved in an efficient manner that the GAN is increasingly trained on the basis of the synthetic data samples, which already fit relatively well with the target probability distribution (and therefore only need to be adapted relatively little). As a result, the extent of the semantic changes caused by the generator network of the GAN can be reduced.

Die Vorrichtung kann ferner eingerichtet sein, die Trainingsdaten anhand des Generator-Netzwerks des GANs zu ermitteln. Insbesondere kann die Vorrichtung eingerichtet sein, anhand des Generator-Netzwerks für jede synthetische Daten-Stichprobe aus der synthetischen Menge jeweils eine angepasste Daten-Stichprobe als Teil der Trainingsdaten für das neuronale Netz zu ermitteln. Das neuronale Netz kann dann in präziser Weise anhand der ermittelten Trainingsdaten angelernt werden. So können die Objekterkennung in einem Fahrzeug verbessert und basierend darauf die automatisierte Längs- und/oder Querführung des Fahrzeugs verbessert werden.The device can also be set up to determine the training data on the basis of the generator network of the GAN. In particular, the device can be set up to use the generator network to determine an adapted data sample from the synthetic set as part of the training data for the neural network for each synthetic data sample. The neural network can then be learned in a precise manner on the basis of the training data determined. Object recognition in a vehicle can thus be improved and, based on this, the automated longitudinal and / or lateral guidance of the vehicle can be improved.

Die Vorrichtung kann eingerichtet sein, auf Basis der synthetischen Menge von synthetischen Daten-Stichproben und auf Basis der realen Menge von realen Daten-Stichproben eine inverse Gewichtungsfunktion zu ermitteln. Die inverse Gewichtungsfunktion kann für eine reale Daten-Stichprobe aus der realen Menge anzeigen, wie nah die reale Daten-Stichprobe im Sinne eines Abstandsmaßes an der Ursprungs-Wahrscheinlichkeitsverteilung ist bzw. liegt und/oder wie gut die reale Daten-Stichprobe zu der Ursprungs-Wahrscheinlichkeitsverteilung passt.The device can be set up to determine an inverse weighting function on the basis of the synthetic amount of synthetic data samples and on the basis of the real amount of real data samples. For a real data sample from the real set, the inverse weighting function can show how close the real data sample is or is to the original probability distribution in the sense of a distance measure and / or how well the real data sample is to the original Probability distribution fits.

Des Weiteren kann die Vorrichtung eingerichtet sein, unter Berücksichtigung der ermittelten inversen Gewichtungsfunktion und gemeinsam mit dem GAN ein inverses GAN anzulernen. Dabei kann das inverse GAN ein inverses Generator-Netzwerk umfassen, das ausgebildet ist, auf Basis einer realen Daten-Stichprobe eine entsprechende invers angepasste Daten-Stichprobe zu ermitteln.Furthermore, the device can be set up to learn an inverse GAN, taking into account the ascertained inverse weighting function and together with the GAN. The inverse GAN can include an inverse generator network which is designed to determine a corresponding inversely adapted data sample on the basis of a real data sample.

In einem bevorzugten Beispiel können das GAN und das inverse GAN mittels einer gemeinsamen Fehlerfunktion angelernt werden, wobei die gemeinsame Fehlerfunktion von der Gewichtungsfunktion und von der inversen Gewichtungsfunktion abhängt. Die Fehlerfunktion kann dabei einen ersten Fehlerterm umfassen, der von einer Entscheidung des Diskriminator-Netzwerks des GANs abhängt, und einen zweiten Fehlerterm umfassen, der von einer Entscheidung des inversen Diskriminator-Netzwerks des inversen GANs abhängt. Der erste Fehlerterm kann dann mit der Gewichtungsfunktion gewichtet werden und der zweite Fehlerterm kann mit der inversen Gewichtungsfunktion gewichtet werden.In a preferred example, the GAN and the inverse GAN can be learned by means of a common error function, the common error function depending on the weighting function and on the inverse weighting function. The error function can include a first error term that depends on a decision by the discriminator network of the GAN, and a second error term that depends on a decision by the inverse discriminator network of the inverse GAN. The first error term can then be weighted with the weighting function and the second error term can be weighted with the inverse weighting function.

Durch das gleichzeitige Anlernen eines GANs und eines inversen GANs können die Robustheit des angelernten GANs und damit die Güte der bereitgestellten Trainingsdaten und damit die Güte des angelernten neuronalen Netzes erhöht werden.By learning a GAN and an inverse GAN at the same time, the robustness of the learned GAN and thus the quality of the training data provided and thus the quality of the learned neural network can be increased.

Gemäß einem weiteren Aspekt wird ein (Computer-implementiertes) Verfahren zur Bereitstellung und/oder zur Ermittlung von Trainingsdaten zum Anlernen eines neuronalen Netzes für eine bestimmte Aufgabe beschrieben. Das Verfahren umfasst das Ermitteln einer Gewichtungsfunktion, auf Basis einer synthetischen Menge von synthetischen Daten-Stichproben, die eine Ursprungs-Wahrscheinlichkeitsverteilung aufweisen, und auf Basis einer realen Menge von realen Daten-Stichproben, die eine Ziel-Wahrscheinlichkeitsverteilung aufweisen. Das Verfahren umfasst ferner das Anlernen eines GANs unter Berücksichtigung der ermittelten Gewichtungsfunktion. Des Weiteren umfasst das Verfahren das Ermitteln der Trainingsdaten anhand des Generator-Netzwerks des angelernten GANs.According to a further aspect, a (computer-implemented) method for providing and / or determining training data for teaching a neural network for a specific task is described. The method comprises determining a weighting function based on a synthetic set of synthetic data samples that have an original probability distribution and based on a real set of real data samples that have a target probability distribution. The method further comprises the training of a GAN taking into account the weighting function determined. The method also includes determining the training data using the generator network of the trained GAN.

Gemäß einem weiteren Aspekt wird ein Software (SW) Programm beschrieben. Das SW Programm kann eingerichtet werden, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.According to a further aspect, a software (SW) program is described. The software program can be set up to be executed on a processor and thereby to execute the method described in this document.

Gemäß einem weiteren Aspekt wird ein Speichermedium beschrieben. Das Speichermedium kann ein SW Programm umfassen, welches eingerichtet ist, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.According to a further aspect, a storage medium is described. The storage medium can comprise a software program which is set up to be executed on a processor and thereby to execute the method described in this document.

Es ist zu beachten, dass die in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systeme sowohl alleine, als auch in Kombination mit anderen in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen verwendet werden können. Des Weiteren können j egliche Aspekte der in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen in vielfältiger Weise miteinander kombiniert werden. Insbesondere können die Merkmale der Ansprüche in vielfältiger Weise miteinander kombiniert werden.It should be noted that the methods, devices and systems described in this document can be used both alone and in combination with other methods, devices and systems described in this document. Furthermore, any aspects of the methods, devices and systems described in this document can be combined with one another in diverse ways. In particular, the features of the claims can be combined with one another in diverse ways.

Im Weiteren wird die Erfindung anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen

  • 1 beispielhafte Komponenten eines Fahrzeugs;
  • 2a ein beispielhaftes neuronales Netz;
  • 2b ein beispielhaftes Neuron;
  • 3 ein beispielhaftes Generative Adversarial Network (GAN); und
  • 4 ein Ablaufdiagramm eines beispielhaften Verfahrens zur Bereitstellung von Trainingsdaten zum Anlernen eines neuronalen Netzes.
The invention is described in more detail below on the basis of exemplary embodiments. Show it
  • 1 exemplary components of a vehicle;
  • 2a an exemplary neural network;
  • 2 B an exemplary neuron;
  • 3 an exemplary Generative Adversarial Network (GAN); and
  • 4th a flowchart of an exemplary method for providing training data for teaching a neural network.

Wie eingangs dargelegt, befasst sich das vorliegende Dokument mit der effizienten Bereitstellung von Trainingsdaten zum Anlernen eines neuronalen Netzes für eine bestimmte Zielaufgabe. Beispielhafte Aufgaben eines neuronalen Netzes sind: die Klassifizierung, die Objekterkennung und/oder die Segmentierung.As stated at the beginning, the present document deals with the efficient provision of training data for teaching a neural network for a specific target task. Exemplary tasks of a neural network are: classification, object recognition and / or segmentation.

1 zeigt beispielhafte Komponenten eines Fahrzeugs 100. Das Fahrzeug 100 umfasst ein oder mehrere Umfeldsensoren 102, die eingerichtet sind, Umfelddaten (d.h. Sensordaten) in Bezug auf das Umfeld des Fahrzeugs 100 zu erfassen. Beispielhafte Umfeldsensoren 102 sind eine Bildkamera, ein Radarsensor, ein Lidarsensor und/oder ein Ultraschallsensor. Des Weiteren umfasst das Fahrzeug 100 typischerweise ein oder mehrere Fahrzeugsensoren 103, die eingerichtet sind, Zustandsdaten (d.h. Sensordaten) in Bezug auf eine Zustandsgröße des Fahrzeugs 100 zu erfassen. Beispielhafte Zustandsgrößen sind die Fahrgeschwindigkeit und/oder die (Längs-) Beschleunigung des Fahrzeugs 100. Ferner umfasst das Fahrzeug 100 ein oder mehrere Aktoren 104 zur automatischen Längs- und/oder Querführung des Fahrzeugs 100. Beispielhafte Aktoren 104 sind ein Antriebsmotor, eine Bremsvorrichtung und/oder eine Lenkvorrichtung. 1 shows exemplary components of a vehicle 100 . The vehicle 100 includes one or more environment sensors 102 that are set up, environment data (ie sensor data) relating to the environment of the vehicle 100 capture. Exemplary environmental sensors 102 are an image camera, a radar sensor, a lidar sensor and / or an ultrasonic sensor. The vehicle also includes 100 typically one or more vehicle sensors 103 , which are set up, state data (ie sensor data) in relation to a state variable of the Vehicle 100 capture. Exemplary state variables are the driving speed and / or the (longitudinal) acceleration of the vehicle 100 . The vehicle also includes 100 one or more actuators 104 for automatic longitudinal and / or lateral guidance of the vehicle 100 . Exemplary actuators 104 are a drive motor, a braking device and / or a steering device.

Eine Steuereinheit 101 des Fahrzeugs 100 kann eingerichtet sein, ein oder mehrere Aktoren 104 automatisch auf Basis der Umfelddaten und/oder auf Basis der Zustandsdaten zu betreiben. Insbesondere kann die Steuereinheit 101 eingerichtet sein, auf Basis der Sensordaten der ein oder mehreren Umfeldsensoren 102 ein Objekt im Umfeld des Fahrzeugs 100 zu detektieren. Die ein oder mehreren Aktoren 104 können dann in Abhängigkeit von dem detektieren Objekt betrieben werden, insbesondere um das Fahrzeug 100 zumindest teilweise automatisiert zu führen.A control unit 101 of the vehicle 100 can be set up one or more actuators 104 to operate automatically on the basis of the environment data and / or on the basis of the status data. In particular, the control unit 101 be set up on the basis of the sensor data of the one or more environment sensors 102 an object in the vicinity of the vehicle 100 to detect. The one or more actuators 104 can then be operated as a function of the detected object, in particular around the vehicle 100 at least partially automated.

Zur Erkennung eines Objekts auf Basis der Sensordaten von ein oder mehreren Umfeldsensoren 102 kann zumindest ein neuronales Netz verwendet werden, das auf Basis von Trainingsdaten für die Aufgabe der Objekterkennung angelernt wurde. 2a und 2b zeigen beispielhafte Komponenten eines neuronalen Netzes 200, insbesondere eines Feedforward-Netzes. Das Netz 200 umfasst in dem dargestellten Beispiel zwei Eingangs-Neuronen bzw. Eingabe-Knoten 202, die zu einem bestimmten Zeitpunkt t jeweils einen aktuellen Wert einer Eingangsgröße als Eingangswert 201 aufnehmen. Die ein oder mehrere Eingangs-Knoten 202 sind Teil einer Eingangs-Schicht 211. Allgemein kann das Netz 200 ausgebildet sein, Eingangsdaten mit ein oder mehreren Eingangswerten 201 (z.B. die Bildpunkte eines Bildes) aus einer Daten-Stichprobe aufzunehmen.To detect an object based on the sensor data from one or more environmental sensors 102 At least one neural network can be used that has been trained on the basis of training data for the task of object recognition. 2a and 2 B show exemplary components of a neural network 200 , especially a feedforward network. The network 200 comprises two input neurons or input nodes in the example shown 202 , which at a certain point in time t each have a current value of an input variable as an input value 201 record, tape. The one or more input nodes 202 are part of an entry layer 211 . In general, the network 200 be designed, input data with one or more input values 201 (eg the pixels of an image) from a data sample.

Das neuronale Netz 200 umfasst ferner Neuronen 220 in ein oder mehreren verdeckten Schichten 212 des neuronalen Netzes 200. Jedes der Neuronen 220 kann als Eingangswerte die einzelnen Ausgangswerte der Neuronen der vorhergehenden Schicht 212, 211 aufweisen (oder zumindest einen Teil davon). In jedem der Neuronen 220 erfolgt eine Verarbeitung, um in Abhängigkeit von den Eingangswerten einen Ausgangswert des Neurons 220 zu ermitteln. Die Ausgangswerte der Neuronen 220 der letzten verdeckten Schicht 212 können in einem Ausgangs-Neuron bzw. Ausgabe-Knoten 220 einer Ausgangs-Schicht 213 verarbeitet werden, um die ein oder mehreren Ausgangswerte 203 des neuronalen Netzes 200 zu ermitteln. Allgemein kann das Netz 200 ausgebildet sein, Ausgangsdaten mit ein oder mehreren Ausgangswerten 203 bereitzustellen.The neural network 200 also includes neurons 220 in one or more hidden layers 212 of the neural network 200 . Each of the neurons 220 can use the individual output values of the neurons of the previous layer as input values 212 , 211 have (or at least part of them). In each of the neurons 220 processing takes place in order to generate an output value of the neuron as a function of the input values 220 to determine. The output values of the neurons 220 the last hidden layer 212 can be in an output neuron or output node 220 an output layer 213 processed to the one or more output values 203 of the neural network 200 to determine. In general, the network 200 be designed, output data with one or more output values 203 provide.

2b veranschaulicht die beispielhafte Signalverarbeitung innerhalb eines Neurons 220, insbesondere innerhalb der Neuronen 202 der ein oder mehreren verdeckten Schichten 212 und/oder der Ausgangs-Schicht 213. Die Eingangswerte 221 des Neurons 220 werden mit individuellen Gewichten 222 gewichtet, um in einer Summeneinheit 223 eine gewichtete Summe 224 der Eingangswerte 221 zu ermitteln (ggf. unter Berücksichtigung eines Bias bzw. Offsets 227). Durch eine Aktivierungsfunktion 225 kann die gewichtete Summe 224 auf einen Ausgangswert 226 des Neurons 220 abgebildet werden. Dabei kann durch die Aktivierungsfunktion 225 z.B. eine Begrenzung des Wertebereichs erfolgen. Für ein Neuron 220 kann z.B. eine Sigmoid-Funktion oder eine Tangens hyperbolicus (tanh)-Funktion oder eine Rectified Linear Unit (ReLU), z.B. f(x) = max(0, x) als Aktivierungsfunktion 225 verwendet werden. Ggf. kann der Wert der gewichteten Summe 224 mit einem Offset 227 verschoben werden. 2 B illustrates the exemplary signal processing within a neuron 220 , especially within the neurons 202 the one or more hidden layers 212 and / or the output layer 213 . The input values 221 of the neuron 220 are with individual weights 222 weighted to in a total unit 223 a weighted sum 224 of the input values 221 to be determined (if necessary, taking into account a bias or offset 227 ). Through an activation function 225 can be the weighted sum 224 to an initial value 226 of the neuron 220 can be mapped. You can use the activation function 225 For example, the range of values can be limited. For a neuron 220 can eg a sigmoid function or a hyperbolic tangent (tanh) function or a rectified linear unit (ReLU), eg f (x) = max (0, x) as activation function 225 be used. If necessary, the value of the weighted sum 224 with an offset 227 be moved.

Ein Neuron 220 weist somit Gewichte 222 und/oder ggf. einen Offset 227 als Neuron-Parameter auf. Die Neuron-Parameter der Neuronen 220 eines neuronalen Netzes 200 können in einer Trainingsphase angelernt werden, um zu bewirken, dass das neuronale Netz 200 eine bestimmte Funktion approximiert und/oder ein bestimmtes Verhalten modelliert.A neuron 220 thus has weights 222 and / or an offset, if applicable 227 as a neuron parameter. The neuron parameters of the neurons 220 of a neural network 200 can be learned in a training phase to cause the neural network 200 approximates a certain function and / or models a certain behavior.

Das Anlernen eines neuronalen Netzes 200 kann z.B. anhand des Backpropagation-Algorithmus erfolgen. Zu diesem Zweck können in einer ersten Phase einer qten Epoche eines Lernalgorithmus für die Eingangswerte 201 an den ein oder mehreren Eingangs-Knoten 202 des neuronalen Netzes 200 einer bestimmten Trainingsmenge von Daten-Stichproben entsprechende Ausgangswerte 203 an dem Ausgang der ein oder mehreren Ausgangs-Neuronen 220 ermittelt werden. Auf Basis der Ausgangswerte 203 kann der Fehlerwert einer Optimierungs- bzw. Fehlerfunktion ermittelt werden. Insbesondere können die Abweichungen zwischen den von dem Netz 200 berechneten Ausgangswerten 203 und dem Soll-Ausgangswerten aus den Daten-Stichproben als Fehlerwerte berechnet werden. Alternativ oder ergänzend kann die Fehlerfunktion von einer statistischen Verteilung der Ausgangswerte 203 des neuronalen Netzes 200 abhängen (z.B. zum Anlernen eines GANs, wie in diesem Dokument beschrieben).Learning a neural network 200 can be done using the backpropagation algorithm, for example. For this purpose, a learning algorithm for the input values can be used in a first phase of a q th epoch 201 at the one or more input nodes 202 of the neural network 200 output values corresponding to a certain training set of data samples 203 at the output of the one or more output neurons 220 be determined. On the basis of the initial values 203 the error value of an optimization or error function can be determined. In particular, the deviations between the network 200 calculated output values 203 and the nominal output values are calculated from the data samples as error values. As an alternative or in addition, the error function can be derived from a statistical distribution of the output values 203 of the neural network 200 (e.g. to teach-in a GAN, as described in this document).

In einer zweiten Phase der qten Epoche des Lernalgorithmus erfolgt eine Rückpropagation des Fehlers bzw. des Fehlerwertes von dem Ausgang zum Eingang des neuronalen Netzes 200, um schichtweise die Neuron-Parameter der Neuronen 220 zu verändern. Dabei kann die ermittelte Fehlerfunktion am Ausgang partiell nach jedem einzelnen Neuron-Parameter des neuronalen Netzes 200 abgeleitet werden, um ein Ausmaß und/oder eine Richtung zur Anpassung der einzelnen Neuron-Parameter zu ermitteln. Dieser Lernalgorithmus kann iterativ für eine Vielzahl von Epochen wiederholt werden, bis ein vordefiniertes Konvergenz- und/oder Abbruchkriterium erreicht wird.In a second phase of the q th epoch of the learning algorithm, the error or the error value is propagated back from the output to the input of the neural network 200 to layer the neuron parameters of the neurons 220 to change. The error function determined at the output can be partially based on each individual neuron parameter of the neural network 200 can be derived in order to determine an extent and / or a direction for adapting the individual neuron parameters. This learning algorithm can be iteratively repeated for a variety of epochs, up to a predefined convergence and / or termination criterion is reached.

Die Anzahl von Daten-Stichproben in einer Trainingsmenge, z.B. die Anzahl von gelabelten Bildern einer Kamera, die für das Anlernen eines neuronalen Netzes 200 benötigt werden, ist typischerweise relativ hoch. Dabei müssen die einzelnen Daten-Stichproben jeweils gelabelt werden, um zu den Eingangswerten die jeweiligen Soll-Ausgangswerte anzugeben. Das Labeln, insbesondere das manuelle Labeln, ist mit einem relativ hohen Aufwand verbunden.The number of data samples in a training set, for example the number of labeled images from a camera that are required for learning a neural network 200 are typically relatively high. The individual data samples must each be labeled in order to indicate the respective target output values for the input values. Labeling, in particular manual labeling, is associated with a relatively high level of effort.

Die Daten-Stichproben eines Trainings-Datensatzes können synthetisch generiert werden. Beispielsweise können als Daten-Stichproben synthetische Bilder mittels einer Computeranimation generiert werden. Das Labeln der synthetischen Bilder kann dann jeweils automatisch im Rahmen der Computeranimation erfolgen. Es hat sich jedoch gezeigt, dass ein neuronales Netz 200, das auf Basis von synthetischen Daten-Stichproben angelernt wurde, meist nicht auf reale Daten-Stichproben (z.B. auf reale Bilder einer Kamera) anwendbar ist. Der Grund dafür ist insbesondere, dass die (Ursprungs-) Wahrscheinlichkeitsverteilung Ps(x) der synthetischen Daten-Stichproben x i s ,

Figure DE102020103274A1_0001
mit i = 1, ...,NS, typischerweise nicht der (Ziel-) Wahrscheinlichkeitsverteilung Pr(x) von realen Daten-Stichproben x j r ,
Figure DE102020103274A1_0002
mit j = 1, ..., Nr, übereinstimmt.The data samples of a training data set can be generated synthetically. For example, synthetic images can be generated as data samples by means of computer animation. The synthetic images can then be labeled automatically as part of the computer animation. However, it has been shown that a neural network 200 , which was learned on the basis of synthetic data samples, is mostly not applicable to real data samples (eg to real images from a camera). The reason for this is in particular that the (original) probability distribution P s (x) of the synthetic data samples x i s ,
Figure DE102020103274A1_0001
with i = 1, ..., N S , typically not the (target) probability distribution P r (x) of real data samples x j r ,
Figure DE102020103274A1_0002
coincides with j = 1, ..., N r .

Eine synthetische Menge D s = { x i s } i = 1 N s

Figure DE102020103274A1_0003
von synthetischen Daten-Stichproben kann derart angepasst werden, dass die angepasste Menge von angepassten, synthetischen Daten-Stichproben (zumindest annähern) eine Wahrscheinlichkeitsverteilung aufweist, die der realen (Ziel-) Wahrscheinlichkeitsverteilung Pr(x) einer realen Menge D r = { x j r } j = 1 N r
Figure DE102020103274A1_0004
von realen Daten-Stichproben entspricht. Dies kann z.B. mittels eines Generative Adversarial Networks (GAN) bewirkt werden.A synthetic amount D. s = { x i s } i = 1 N s
Figure DE102020103274A1_0003
of synthetic data samples can be adjusted in such a way that the adjusted set of adjusted, synthetic data samples has (at least approximately) a probability distribution that corresponds to the real (target) probability distribution P r (x) of a real set D. r = { x j r } j = 1 N r
Figure DE102020103274A1_0004
of real data samples. This can be achieved, for example, by means of a Generative Adversarial Network (GAN).

3 zeigt ein beispielhaftes GAN 300 mit einem Generator-Netzwerk 301 und einem Diskriminator-Netzwerk 302. Das Generator-Netzwerk 301 kann derart angelernt werden, dass das Generator-Netzwerk 301 ausgebildet ist, eine synthetische Daten-Stichprobe x i s

Figure DE102020103274A1_0005
311 aus der synthetischen Menge Ds 310 in eine angepasste, synthetische Daten-Stichprobe 312 zu transformieren, die zumindest statistisch von dem Diskriminator-Netzwerk 302 nicht von einer realen Daten-Stichprobe x j r
Figure DE102020103274A1_0006
321 aus der realen Menge Dr 320 unterschieden werden kann. Das Diskriminator-Netzwerk 302 ist ausgebildet, jeweils zwei Daten-Stichproben 312, 321 am Eingang aufzunehmen, und jeweils zu entscheiden, welche der beiden Daten-Stichprobe 312, 321 die reale Daten-Stichprobe ist. Das Generator-Netzwerk 301 kann derart angelernt werden, dass die Entscheidung 303 des Diskriminator-Netzwerkes 302 (genau) in 50% der Fälle auf die jeweilige angepasste, synthetische Daten-Stichprobe 312 fällt. 3 shows an exemplary GAN 300 with a generator network 301 and a discriminator network 302 . The generator network 301 can be learned in such a way that the generator network 301 is trained to sample a synthetic data x i s
Figure DE102020103274A1_0005
311 from the synthetic set D s 310 into an adapted, synthetic data sample 312 to transform, at least statistically, from the discriminator network 302 not from a real data sample x j r
Figure DE102020103274A1_0006
321 can be distinguished from the real quantity D r 320. The discriminator network 302 is designed to take two data samples at a time 312 , 321 at the entrance, and decide which of the two data samples 312 , 321 is the real data sample. The generator network 301 can be learned in such a way that the decision 303 of the discriminator network 302 (exactly) in 50% of the cases on the respective adapted, synthetic data sample 312 falls.

Zum Anlernen des GANs 300 kann der in Zusammenhang mit 2 dargelegte Lern-Algorithmus verwendet werden. Dabei kann zum Anlernen des Diskriminator-Netzwerkes 302 eine Fehlerfunktion verwendet werden, die darauf gerichtet ist, die Wahrscheinlichkeit dafür zu erhöhen, dass sich das Diskriminator-Netzwerk 302 für die realen Daten-Stichproben 321 entscheidet. For teaching the GAN 300 can be related to 2 The learning algorithm set out above can be used. You can learn the discriminator network 302 an error function can be used, which aims to increase the probability that the discriminator network will move 302 for the real data samples 321 decides.

Andererseits wird zum Anlernen des Generator-Netzwerkes 301 eine Fehlerfunktion verwendet werden, die darauf gerichtet ist, die Wahrscheinlichkeit dafür zu erhöhen, dass sich das Diskriminator-Netzwerk 302 für die angepassten, synthetischen Daten-Stichproben 312 entscheidet.On the other hand, it is used to train the generator network 301 an error function can be used, which aims to increase the probability that the discriminator network will move 302 for the adapted, synthetic data samples 312 decides.

Ein von dem Generator-Netzwerk 301 aus der synthetischen Daten-Stichprobe xs generierte angepasste, synthetische Daten-Stichprobe kann mit gr(x s) bezeichnet werden. Die Entscheidung 303 des Diskriminator-Netzwerks 302 kann mit dr() bezeichnet werden. Eine beispielhafte Fehlerfunktion zum Anlernen kann sein E [ log ( d r ( x s ) ) + log ( 1 d r ( g r ( x s ) ) ) ]

Figure DE102020103274A1_0007
wobei E[ ] der Erwartungswert für die betrachtete Mengen 310, 320 ist. Diese Fehlerfunktion kann zum Anlernen des Diskriminator-Netzwerks 302 maximiert und zum Anlernen des Generator-Netzwerks 301 minimiert werden.One from the generator network 301 Adapted, synthetic data sample generated from the synthetic data sample x s can be denoted by g r ( x s). The decision 303 of the discriminator network 302 can be denoted by d r (). An exemplary error function for teaching can be E. [ log ( d r ( x s ) ) + log ( 1 - d r ( G r ( x s ) ) ) ]
Figure DE102020103274A1_0007
where E [] is the expected value for the set under consideration 310 , 320 is. This error function can be used to train the discriminator network 302 maximized and for training the generator network 301 be minimized.

Wie weiter oben dargelegt, weisen die synthetischen Daten-Stichproben 311 typischerweise jeweils Label auf, die eine semantische Beschreibung der jeweiligen synthetischen Daten-Stichprobe 311 und/oder eines Teilbereichs der synthetischen Daten-Stichprobe 311 bereitstellen. Beispielsweise kann durch ein Label die Position eines Objekts in der synthetischen Daten-Stichprobe 311 angezeigt werden. Durch die Transformation in dem Generator-Netzwerk 301 kann eine semantische Veränderung einer synthetischen Daten-Stichprobe 311 bewirkt werden, so dass das Label der synthetischen Daten-Stichprobe 311 nicht mehr auf die entsprechende angepasste (synthetische) Daten-Stichprobe 312 anwendbar ist. Folglich kann die angepasste Daten-Stichprobe 312 nicht zum Anlernen eines neuronalen Netzes 200 verwendet werden.As stated above, the synthetic data have samples 311 typically each label has a semantic description of the respective synthetic data sample 311 and / or a sub-area of the synthetic data sample 311 provide. For example, a label can indicate the position of an object in the synthetic data sample 311 are displayed. Through the transformation in the generator network 301 can be a semantic change in a synthetic sample of data 311 caused so that the label of the synthetic data sample 311 no longer on the corresponding adapted (synthetic) data sample 312 is applicable. Consequently, the adjusted data sample 312 not for learning a neural network 200 be used.

In diesem Dokument wird ein Verfahren beschrieben, das es ermöglicht, ein GAN 300 derart anzulernen, dass die von dem GAN 300 aus synthetischen Daten-Stichproben 311 erzeugten angepassten Daten-Stichproben 312,

  1. a) eine gewünschte Ziel-Wahrscheinlichkeitsverteilung Pr(x) aufweisen (die durch die reale Menge 320 beschrieben wird); und
  2. b) keine (wesentlichen) semantischen Veränderungen gegenüber den entsprechenden synthetischen Daten-Stichproben 311 aufweisen.
This document describes a method that enables a GAN 300 learn in such a way that the GAN 300 from synthetic data samples 311 generated adjusted data samples 312 ,
  1. a) have a desired target probability distribution P r (x) (that by the real quantity 320 is described); and
  2. b) no (significant) semantic changes compared to the corresponding synthetic data samples 311 exhibit.

Zu diesem Zweck kann eine Gewichtungsfunktion ω (x) bereitgestellt, insbesondere approximiert, werden. Die Gewichtungsfunktion kann dabei für eine synthetische Daten-Stichprobe 311 anzeigen, wie stark die synthetische Daten-Stichprobe 311 von einer typischen realen Daten-Stichprobe 321 abweicht. Bei einer relativ starken Abweichung weist die Gewichtungsfunktion bevorzugt einen relativ niedrigen Gewichtungswert auf, und bei einer relativ niedrigen Abweichung weist die Gewichtungsfunktion bevorzugt einen relativ hohen Gewichtungswert auf. Die Gewichtungsfunktion kann dann dazu genutzt werden, beim Anlernen des GANs 300 die synthetischen Daten-Stichproben 311 aus der synthetischen Menge 310 stärker zu berücksichtigen, die einen relativ hohen Gewichtungswert aufweisen, als die synthetischen Daten-Stichproben 311, die einen relativ niedrigen Gewichtungswert aufweisen.For this purpose, a weighting function ω (x) can be provided, in particular approximated. The weighting function can be used for a synthetic data sample 311 show how strong the synthetic data sample is 311 from a typical real data sample 321 deviates. In the case of a relatively large deviation, the weighting function preferably has a relatively low weighting value, and in the case of a relatively low deviation, the weighting function preferably has a relatively high weighting value. The weighting function can then be used when teaching the GAN 300 the synthetic data samples 311 from the synthetic crowd 310 that have a relatively high weighting value than the synthetic data samples 311 that have a relatively low weight value.

Die Gewichtungsfunktion kann von der Wahrscheinlichkeitsdichtefunktion ps(x) der synthetischen Daten-Stichproben 311 und von der Wahrscheinlichkeitsdichtefunktion Pr(x) der realen Daten-Stichproben 321 abhängen, insbesondere von dem Verhältnis der beiden Wahrscheinlichkeitsdichtefunktionen, etwa ω ( x ) = p r ( x ) p s ( x ) .

Figure DE102020103274A1_0008
The weighting function can be derived from the probability density function p s (x) of the synthetic data samples 311 and from the probability density function P r (x) of the real data samples 321 depend, in particular on the ratio of the two probability density functions, for example ω ( x ) = p r ( x ) p s ( x ) .
Figure DE102020103274A1_0008

Zur Approximation der Gewichtungsfunktion kann die Kullback-Leibler Importance Estimation Procedure (KLIEP) Methode verwendet werden. Dabei kann die Gewichtungsfunktion durch eine gewichtete Summe von Basisfunktionen φi(x) approximiert werden, z.B. als ω ^ ( x ) = l α l φ l ( x )

Figure DE102020103274A1_0009
wobei αi die Gewichte für die Basisfunktionen sind. Als Basisfunktionen können radial basis function (RBF) Kerne Kσ verwendet werden, z.B. jeweils zentriert um eine reale Daten-Stichprobe 321 und mit der Varianz σr der realen Menge 320. Die Gewichtungsfunktion kann dann auf Basis der Mengen 310, 320 der Daten-Stichproben 311, 321 ermittelt werden, durch Lösen des folgenden Optimierungsproblems maximize α l j log l α l φ ( x j r ) subject to l α l i φ l ( x i s ) = N s , α 0.
Figure DE102020103274A1_0010
The Kullback-Leibler Importance Estimation Procedure (KLIEP) method can be used to approximate the weighting function. The weighting function can be approximated by a weighted sum of basic functions φ i (x), for example as ω ^ ( x ) = l α l φ l ( x )
Figure DE102020103274A1_0009
where α i are the weights for the basis functions. Radial basis function (RBF) kernels K σ can be used as basic functions, for example each centered around a real data sample 321 and with the variance σ r of the real set 320 . The weighting function can then be based on the quantities 310 , 320 of the data samples 311 , 321 can be determined by solving the following optimization problem maximize α l j log l α l φ ( x j r ) subject to l α l i φ l ( x i s ) = N s , α 0.
Figure DE102020103274A1_0010

Beim Anlernen des GANs 300 kann die (approximierte) Gewichtungsfunktion ω̂(x) dazu verwendet werden, die Entscheidungen 303 des Diskriminator-Netzwerks 302 zu gewichten. Dabei können Entscheidungen 303 für synthetische Daten-Stichproben 311, die einer typischen realen Daten-Stichprobe 312 relativ ähnlich sind, höher gewichtet werden als Entscheidungen 303 für synthetische Daten-Stichproben 311, die relativ weit von einer typischen realen Daten-Stichprobe 312 entfernt sind.When teaching the GAN 300 the (approximated) weighting function ω̂ (x) can be used to make the decisions 303 of the discriminator network 302 to weight. This can make decisions 303 for synthetic data samples 311 that of a typical real-world data sample 312 are relatively similar, are weighted more heavily than decisions 303 for synthetic data samples 311 that is relatively far from a typical real-world data sample 312 are away.

Als Fehlerfunktion beim Anlernen des GANs 300 kann z.B. verwendet werden, E [ ω ^ ( x s ) log ( d r ( x s ) ) + ω ^ ( x s ) log ( 1 d r ( g r ( x s ) ) ) ]

Figure DE102020103274A1_0011
As an error function when teaching the GAN 300 can be used, for example, E. [ ω ^ ( x s ) log ( d r ( x s ) ) + ω ^ ( x s ) log ( 1 - d r ( G r ( x s ) ) ) ]
Figure DE102020103274A1_0011

Zur Erhöhung der Robustheit des GANs 300 bei der Erzeugung von angepassten (synthetischen) Daten-Stichproben 312 aus synthetischen Daten-Stichproben 311, kann es vorteilhaft sein, gleichzeitig ein inverses GAN anzulernen, das ausgebildet ist, aus realen Daten-Stichproben 321 angepasste (reale) Daten-Stichproben zu generieren, die die (Ursprungs-) Wahrscheinlichkeitsverteilung der synthetischen Menge 310 aufweist (oder an diese approximiert ist). Das inverse Generator-Netzwerk des inversen GANs kann mit gs(), und das inverse Diskriminator-Netzwerk des inversen GANs kann mit ds() bezeichnet werden.To increase the robustness of the GAN 300 in the generation of adapted (synthetic) data samples 312 from synthetic data samples 311 , it can be advantageous to learn an inverse GAN at the same time, which is formed from real data samples 321 Generate adapted (real) data samples that show the (original) probability distribution of the synthetic set 310 has (or is approximated to this). The inverse generator network of the inverse GAN can be denoted by g s (), and the inverse discriminator network of the inverse GAN can be denoted by d s ().

Als gemeinsame Fehlerfunktion zum Anlernen der Netzwerke beider GANs kann die folgende Fehlerfunktion verwendet werden = I W   A d v + I W   C y c = E x r [ ψ ( x r ) log d r ( x r ) ] + E x s [ ω ( x s ) log ( 1 d r ( g r ( x s ) ) ] + E x s [ ω ( x s ) log d s ( x s ) ] + E x r [ ψ ( x r ) log ( 1 d s ( g s ( x r ) ) ] + E x r [ ψ ( x r ) g r ( g s ( x r ) ) x r ] + E x s [ ω ( x s ) g s ( g r ( x s ) ) x s ]

Figure DE102020103274A1_0012
The following error function can be used as a common error function for teaching the networks of both GANs = I. W. A. d v + I. W. C. y c = E. x r [ ψ ( x r ) log d r ( x r ) ] + E. x s [ ω ( x s ) log ( 1 - d r ( G r ( x s ) ) ] + E. x s [ ω ( x s ) log d s ( x s ) ] + E. x r [ ψ ( x r ) log ( 1 - d s ( G s ( x r ) ) ] + E. x r [ ψ ( x r ) G r ( G s ( x r ) ) - x r ] + E. x s [ ω ( x s ) G s ( G r ( x s ) ) - x s ]
Figure DE102020103274A1_0012

Dabei ist ψ(x) eine inverse Gewichtungsfunktion für das inverse GAN, mit dem das inverse Verhältnis der Dichtefunktion, d.h. p s ( x ) p r ( x ) ,

Figure DE102020103274A1_0013
approximiert wird. Die inverse Gewichtungsfunktion ψ(x) kann durch eine komplementäre bzw. inverse Formulierung des o.g. Optimierungsproblems approximiert werden. Insgesamt können dann die Gewichtungsfunktionen approximiert werden als, ω ^ ( x s ) = l α l K σ r ( x s , x l r )
Figure DE102020103274A1_0014
ψ ^ ( x r ) = k β k K σ a ( x r , x k s )
Figure DE102020103274A1_0015
Here, ψ (x) is an inverse weighting function for the inverse GAN, with which the inverse ratio of the density function, ie p s ( x ) p r ( x ) ,
Figure DE102020103274A1_0013
is approximated. The inverse weighting function ψ (x) can be approximated by a complementary or inverse formulation of the above-mentioned optimization problem. Overall, the weighting functions can then be approximated as, ω ^ ( x s ) = l α l K σ r ( x s , x l r )
Figure DE102020103274A1_0014
ψ ^ ( x r ) = k β k K σ a ( x r , x k s )
Figure DE102020103274A1_0015

4 zeigt ein Ablaufdiagramm eines beispielhaften (Computer-implementierten) Verfahrens 400 zur Bereitstellung von Trainingsdaten zum Anlernen eines neuronalen Netzes 200 für eine bestimmte Aufgabe. Eine beispielhafte bestimmte Aufgabe ist die Objekterkennung von ein oder mehreren Objekten in einem Bild, z.B. in einem Bild einer Fahrzeugkamera 102. 4th shows a flow diagram of an exemplary (computer-implemented) method 400 for the provision of training data for learning a neural network 200 for a specific task. An exemplary specific task is the object recognition of one or more objects in an image, for example in an image from a vehicle camera 102 .

Das Verfahren 400 umfasst das Ermitteln 401 einer Gewichtungsfunktion ω̂(x), auf Basis einer synthetischen Menge Ds 310 von synthetischen Daten-Stichproben x i s

Figure DE102020103274A1_0016
311, die eine Ursprungs-Wahrscheinlichkeitsverteilung Ps(x) aufweisen, und auf Basis einer realen Menge Dr 320 von realen Daten-Stichproben x j r
Figure DE102020103274A1_0017
321, die eine Ziel-Wahrscheinlichkeitsverteilung Pr(x) aufweisen.The procedure 400 includes determining 401 a weighting function ω̂ (x), based on a synthetic set D s 310 of synthetic data samples x i s
Figure DE102020103274A1_0016
311, which have an original probability distribution P s (x), and based on a real set D r 320 of real data samples x j r
Figure DE102020103274A1_0017
321, which have a target probability distribution P r (x).

Dabei kann die Gewichtungsfunktion ω̂(x) für eine synthetische Daten-Stichprobe x i s

Figure DE102020103274A1_0018
311 aus der synthetischen Menge Ds 310 anzeigen, wie nah die synthetische Daten-Stichprobe x i s
Figure DE102020103274A1_0019
311 im Sinne eines Abstandsmaßes an der Ziel-Wahrscheinlichkeitsverteilung Pr(x) ist, und/oder wie gut die synthetische Daten-Stichprobe x i s
Figure DE102020103274A1_0020
311 im Sinne des Abstandsmaßes zu der Ziel-Wahrscheinlichkeitsverteilung Pr(x) passt. Ein relativ hoher Gewichtungswert kann anzeigen, dass die synthetische Daten-Stichprobe x i s
Figure DE102020103274A1_0021
311 relativ gut zu der Ziel-Wahrscheinlichkeitsverteilung Pr(x) passt (und deshalb mit einer relativ hohen Gewichtung beim Anlernen eines GANs 300 berücksichtigt werden sollte). Andererseits zeigt ein relativ niedriger Gewichtungswert ggf. an, dass die synthetische Daten-Stichprobe x i s
Figure DE102020103274A1_0022
311 relativ schlecht zu der Ziel-Wahrscheinlichkeitsverteilung Pr(x) passt (und deshalb mit einer relativ niedrigen Gewichtung beim Anlernen eines GANs 300 berücksichtigt werden sollte).The weighting function ω̂ (x) for a synthetic data sample x i s
Figure DE102020103274A1_0018
311 from the synthetic set D s 310 indicate how close the synthetic data sample is x i s
Figure DE102020103274A1_0019
311 is in the sense of a distance measure on the target probability distribution P r (x), and / or how good the synthetic data sample is x i s
Figure DE102020103274A1_0020
311 fits the target probability distribution P r (x) in the sense of the distance measure. A relatively high weight value can indicate that the synthetic data sample x i s
Figure DE102020103274A1_0021
311 fits the target probability distribution P r (x) relatively well (and therefore with a relatively high weighting when teaching a GAN 300 should be considered). On the other hand, a relatively low weighting value may indicate that the synthetic data sample x i s
Figure DE102020103274A1_0022
311 fits the target probability distribution P r (x) relatively poorly (and therefore with a relatively low weighting when teaching a GAN 300 should be considered).

Das Verfahren 400 umfasst ferner das Anlernen 402 eines GANs 300 unter Berücksichtigung der ermittelten Gewichtungsfunktion ω̂(x). Das GAN 300 umfasst dabei ein Generator-Netzwerk 301, das ausgebildet ist, auf Basis einer synthetischen Daten-Stichprobe x i s

Figure DE102020103274A1_0023
311 eine entsprechende angepasste Daten-Stichprobe g r ( x i s )
Figure DE102020103274A1_0024
312 zu ermitteln. Durch das Anlernen 402 kann bewirkt werden, dass die angepassten Daten-Stichproben g r ( x i s )
Figure DE102020103274A1_0025
312 statistisch nicht von den realen Daten-Stichproben x j r
Figure DE102020103274A1_0026
321 unterschieden werden können, und/oder dass die angepassten Daten-Stichproben g r ( x i s )
Figure DE102020103274A1_0027
312 die Ziel-Wahrscheinlichkeitsverteilung Pr(x) aufweisen. Des Weiteren kann durch das Anlernen 402 bewirkt werden (insbesondere aufgrund der Verwendung der Gewichtungsfunktion ω̂(x)), dass die Semantik der synthetischen Daten-Stichprobe x i s
Figure DE102020103274A1_0028
311 in den entsprechenden angepassten Daten-Stichproben g r ( x i s )
Figure DE102020103274A1_0029
312 (zumindest statistisch) erhalten bleibt.The procedure 400 also includes teaching 402 of a GAN 300 taking into account the determined weighting function ω̂ (x). The GAN 300 includes a generator network 301 that is formed based on a synthetic data sample x i s
Figure DE102020103274A1_0023
311 a corresponding adapted data sample G r ( x i s )
Figure DE102020103274A1_0024
312 to be determined. By teaching 402 can be effected that the adjusted data samples G r ( x i s )
Figure DE102020103274A1_0025
312 not statistically different from the real data samples x j r
Figure DE102020103274A1_0026
321 can be differentiated, and / or that the adapted data samples G r ( x i s )
Figure DE102020103274A1_0027
312 have the target probability distribution P r (x). Furthermore, by teaching 402 caused (in particular due to the use of the weighting function ω̂ (x)) that the semantics of the synthetic data sample x i s
Figure DE102020103274A1_0028
311 in the corresponding adapted data samples G r ( x i s )
Figure DE102020103274A1_0029
312 (at least statistically) is preserved.

Außerdem umfasst das Verfahren 400 das Ermitteln 403 der Trainingsdaten anhand des Generator-Netzwerks 301. Insbesondere können die Trainingsdaten auf Basis der angepassten Daten-Stichproben g r ( x i s )

Figure DE102020103274A1_0030
bereitgestellt werden.The procedure also includes 400 determining 403 the training data using the generator network 301 . In particular, the training data can be based on the adapted data samples G r ( x i s )
Figure DE102020103274A1_0030
to be provided.

Durch die in diesem Dokument beschriebenen Maßnahmen können in effizienter Weise Trainingsdaten bereitgestellt werden, mit denen ein neuronales Netz 200 in präziser und robuster Weise für eine bestimmte Aufgabe (z.B. Objekterkennung) angelernt werden kann.The measures described in this document can be used to efficiently provide training data with which a neural network 200 can be learned in a precise and robust way for a specific task (e.g. object recognition).

Die vorliegende Erfindung ist nicht auf die gezeigten Ausführungsbeispiele beschränkt. Insbesondere ist zu beachten, dass die Beschreibung und die Figuren nur beispielhaft das Prinzip der vorgeschlagenen Verfahren, Vorrichtungen und Systeme veranschaulichen sollen.The present invention is not restricted to the exemplary embodiments shown. In particular, it should be noted that the description and the figures are only intended to illustrate the principle of the proposed methods, devices and systems by way of example.

Claims (14)

Vorrichtung zur Bereitstellung von Trainingsdaten zum Anlernen eines neuronalen Netzes (200) für eine bestimmte Aufgabe; wobei die Vorrichtung eingerichtet ist, - auf Basis einer synthetischen Menge (310) von synthetischen Daten-Stichproben (311), die eine Ursprungs-Wahrscheinlichkeitsverteilung aufweisen, und auf Basis einer realen Menge (320) von realen Daten-Stichproben (321), die eine Ziel-Wahrscheinlichkeitsverteilung aufweisen, eine Gewichtungsfunktion zu ermitteln, die für eine synthetische Daten-Stichprobe (311) aus der synthetischen Menge (310) anzeigt, wie nah die synthetische Daten-Stichprobe (311) im Sinne eines Abstandsmaßes an der Ziel-Wahrscheinlichkeitsverteilung ist, - unter Berücksichtigung der ermittelten Gewichtungsfunktion ein Generative Adversarial Network, kurz GAN, (300) anzulernen; wobei das GAN (300) ein Generator-Netzwerk (301) umfasst, das ausgebildet ist, auf Basis einer synthetischen Daten-Stichprobe (311) eine entsprechende angepasste Daten-Stichprobe (312) zu ermitteln; und - die Trainingsdaten anhand des Generator-Netzwerks (301) zu ermitteln.Device for providing training data for training a neural network (200) for a specific task; wherein the device is set up, - on the basis of a synthetic amount (310) of synthetic data samples (311) which have an original probability distribution, and on the basis of a real amount (320) of real data samples (321) which have a target probability distribution, to determine a weighting function which indicates for a synthetic data sample (311) from the synthetic set (310) how close the synthetic data sample (311) is to the target probability distribution in terms of a distance measure, - learning a Generative Adversarial Network, GAN for short, (300) taking into account the weighting function determined; wherein the GAN (300) comprises a generator network (301) which is designed to determine a corresponding adapted data sample (312) on the basis of a synthetic data sample (311); and - to determine the training data using the generator network (301). Vorrichtung gemäß Anspruch 1, wobei die Gewichtungsfunktion eine Approximation eines Verhältnisses einer Dichtefunktion der Ziel-Wahrscheinlichkeitsverteilung und einer Dichtefunktion der Ursprungs-Wahrscheinlichkeitsverteilung ist.Device according to Claim 1 , wherein the weighting function is an approximation of a ratio of a density function of the target probability distribution and a density function of the original probability distribution. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei - die Vorrichtung eingerichtet ist, die Gewichtungsfunktion mittels einer Kullback-Leibler importance estimation procedure, kurz KLIEP, Methode zu ermitteln; und - das Abstandsmaß einen Kullback-Leibler-Abstand umfasst oder ein Kullback-Leibler-Abstand ist.Device according to one of the preceding claims, wherein the device is set up to determine the weighting function using a Kullback-Leibler importance estimation procedure, or KLIEP for short, method; and - the distance dimension comprises a Kullback-Leibler distance or is a Kullback-Leibler distance. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Vorrichtung eingerichtet ist, - die Gewichtungsfunktion auf Basis einer gewichteten Summe von Basisfunktionen zu ermitteln; und - die Basisfunktionen radial basis function, kurz RBF, Kerne umfassen; und/oder - die Basisfunktionen von den realen Daten-Stichproben (321) aus der realen Menge (320) abhängen.Device according to one of the preceding claims, wherein the device is set up - to determine the weighting function on the basis of a weighted sum of basic functions; and - the basic functions radial basis function, RBF for short, include kernels; and or - The basic functions depend on the real data samples (321) from the real set (320). Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Vorrichtung eingerichtet ist, - eine Fehlerfunktion zum Anlernen des GANs (300) auf Basis der Gewichtungsfunktion zu ermitteln; und/oder - einen Fehlerterm einer Fehlerfunktion zum Anlernen des GANs (300) für eine synthetische Daten-Stichprobe (311) mit einem Gewichtungswert der Gewichtungsfunktion für die synthetische Daten-Stichprobe (311) zu gewichten.Device according to one of the preceding claims, wherein the device is set up - to determine an error function for teaching the GAN (300) on the basis of the weighting function; and or - to weight an error term of an error function for training the GAN (300) for a synthetic data sample (311) with a weighting value of the weighting function for the synthetic data sample (311). Vorrichtung gemäß Anspruch 5, wobei ein Fehlerterm der Fehlerfunktion für eine synthetische Daten-Stichprobe (311) davon abhängt, ob sich ein Diskriminator-Netzwerk (302) des GANs (300) bei einer Analyse der entsprechenden angepassten Daten-Stichprobe (312) und einer realen Daten-Stichprobe (321) aus der realen Menge (320) für die angepassten Daten-Stichprobe (312) entscheidet oder nicht.Device according to Claim 5 , wherein an error term of the error function for a synthetic data sample (311) depends on whether a discriminator network (302) of the GAN (300) is in an analysis of the corresponding adapted data sample (312) and a real data sample (321) decides from the real quantity (320) for the adapted data sample (312) or not. Vorrichtung gemäß einem der Ansprüche 5 bis 6, wobei - das GAN (300) ein Diskriminator-Netzwerk (302) umfasst, das ausgebildet ist, eine von dem Generator-Netzwerk (301) aus einer synthetischen Daten-Stichprobe (311) generierte angepasste Daten-Stichprobe (312) und eine reale Daten-Stichprobe (321) aus der realen Menge (320) zu analysieren, und eine Entscheidung (303) für oder gegen die angepasste Daten-Stichprobe (312) zu treffen; und - die Fehlerfunktion von einem Erwartungswert der Entscheidungen (303) für die synthetischen Daten-Stichproben (311) aus der synthetischen Menge (310), insbesondere von einem mit der Gewichtungsfunktion gewichteten Erwartungswert der Entscheidungen (303) für die synthetischen Daten-Stichproben (311) aus der synthetischen Menge (310), abhängt.Device according to one of the Claims 5 until 6th wherein - the GAN (300) comprises a discriminator network (302) which is designed, an adapted data sample (312) generated by the generator network (301) from a synthetic data sample (311) and a real one Analyze data sample (321) from the real set (320) and make a decision (303) for or against the adapted data sample (312); and - the error function of an expected value of the decisions (303) for the synthetic data samples (311) from the synthetic set (310), in particular of an expected value of the decisions (303) for the synthetic data samples (311) weighted with the weighting function ) from the synthetic amount (310). Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Vorrichtung eingerichtet ist, - auf Basis der synthetischen Menge (310) von synthetischen Daten-Stichproben (311) und auf Basis der realen Menge (320) von realen Daten-Stichproben (321) eine inverse Gewichtungsfunktion zu ermitteln, die für eine reale Daten-Stichprobe (321) aus der realen Menge (320) anzeigt, wie nah die reale Daten-Stichprobe (321) im Sinne eines Abstandsmaßes an der Ursprungs-Wahrscheinlichkeitsverteilung ist; und - unter Berücksichtigung der ermittelten inversen Gewichtungsfunktion und gemeinsam mit dem GAN (300) ein inverses GAN anzulernen; wobei das inverse GAN ein inverses Generator-Netzwerk umfasst, das ausgebildet ist, auf Basis einer realen Daten-Stichprobe (321) eine entsprechende invers angepasste Daten-Stichprobe zu ermitteln.Device according to one of the preceding claims, wherein the device is set up - on the basis of the synthetic amount (310) of synthetic data samples (311) and on the basis of the real amount (320) of real data samples (321) to determine an inverse weighting function that is necessary for a real data sample (321) indicates from the real quantity (320) how close the real data sample (321) is to the original probability distribution in terms of a distance measure; and - learning an inverse GAN, taking into account the ascertained inverse weighting function and together with the GAN (300); wherein the inverse GAN comprises an inverse generator network which is designed to determine a corresponding inversely adapted data sample on the basis of a real data sample (321). Vorrichtung gemäß Anspruch 8, wobei - die Vorrichtung eingerichtet ist, das GAN (300) und das inverse GAN mittels einer gemeinsamen Fehlerfunktion anzulernen, die von der Gewichtungsfunktion und von der inversen Gewichtungsfunktion abhängt; - die Fehlerfunktion insbesondere einen ersten Fehlerterm umfasst, der von einer Entscheidung (303) eines Diskriminator-Netzwerks (302) des GANs (300) abhängt, und einen zweiten Fehlerterm umfasst, der von einer Entscheidung eines inversen Diskriminator-Netzwerks des inversen GANs abhängt; und - der erste Fehlerterm insbesondere mit der Gewichtungsfunktion gewichtet wird und der zweite Fehlerterm insbesondere mit der inversen Gewichtungsfunktion gewichtet wird.Device according to Claim 8 , in which - the device is set up to learn the GAN (300) and the inverse GAN by means of a common error function which depends on the weighting function and on the inverse weighting function; - the error function in particular comprises a first error term that depends on a decision (303) of a discriminator network (302) of the GAN (300), and comprises a second error term that depends on a decision of an inverse discriminator network of the inverse GAN; and the first error term is weighted in particular with the weighting function and the second error term is weighted in particular with the inverse weighting function. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Vorrichtung eingerichtet ist, - die Gewichtungsfunktion derart zu ermitteln, dass die Gewichtungsfunktion für jede der synthetischen Daten-Stichproben (311) aus der synthetischen Menge (310) jeweils einen Gewichtungswert anzeigt; und - der Gewichtungswert für eine synthetische Daten-Stichprobe (311) anzeigt, wie nah die synthetische Daten-Stichprobe (311) im Sinne des Abstandsmaßes an der Ziel-Wahrscheinlichkeitsverteilung liegt.Device according to one of the preceding claims, wherein the device is set up - to determine the weighting function in such a way that the weighting function displays a weighting value for each of the synthetic data samples (311) from the synthetic set (310); and - The weighting value for a synthetic data sample (311) indicates how close the synthetic data sample (311) is to the target probability distribution in terms of the distance measure. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei - eine synthetische Daten-Stichprobe (311) und/oder eine reale Daten-Stichprobe (321) ein Bild, insbesondere ein gelabeltes Bild, umfassen; und/oder - das für die bestimmte Aufgabe angelernte neuronale Netz (200) für eine Objektklassifizierung, eine Objekterkennung und/oder eine Objektsegmentierung ausgebildet ist.Device according to one of the preceding claims, wherein - a synthetic data sample (311) and / or a real data sample (321) comprise an image, in particular a labeled image; and or - The neural network (200) learned for the specific task is designed for object classification, object recognition and / or object segmentation. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Vorrichtung eingerichtet ist, - anhand des Generator-Netzwerks (301) für jede synthetische Daten-Stichprobe (311) aus der synthetischen Menge (310) jeweils eine angepasste Daten-Stichprobe (312) als Teil der Trainingsdaten für das neuronale Netz (200) zu ermitteln; und/oder - das neuronale Netz (200) anhand der ermittelten Trainingsdaten anzulernen.Device according to one of the preceding claims, wherein the device is set up - using the generator network (301) to determine an adapted data sample (312) as part of the training data for the neural network (200) for each synthetic data sample (311) from the synthetic set (310); and or - Learn the neural network (200) on the basis of the training data determined. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei - eine synthetische Daten-Stichprobe (311) anhand einer Computersimulation generiert wurde; und/oder - eine reale Daten-Stichprobe (321) durch einen Umfeldsensor (102), insbesondere durch eine Kamera, eines Fahrzeugs (100) erfasst wurde.Device according to one of the preceding claims, wherein - A synthetic data sample (311) was generated on the basis of a computer simulation; and or - A real data sample (321) was recorded by an environment sensor (102), in particular by a camera, of a vehicle (100). Verfahren (400) zur Bereitstellung von Trainingsdaten zum Anlernen eines neuronalen Netzes (200) für eine bestimmte Aufgabe; wobei das Verfahren (400) umfasst, - Ermitteln (401) einer Gewichtungsfunktion, auf Basis einer synthetischen Menge (310) von synthetischen Daten-Stichproben (311), die eine Ursprungs-Wahrscheinlichkeitsverteilung aufweisen, und auf Basis einer realen Menge (320) von realen Daten-Stichproben (321), die eine Ziel-Wahrscheinlichkeitsverteilung aufweisen; wobei die Gewichtungsfunktion für eine synthetische Daten-Stichprobe (311) aus der synthetischen Menge (310) anzeigt, wie nah die synthetische Daten-Stichprobe (311) im Sinne eines Abstandsmaßes an der Ziel-Wahrscheinlichkeitsverteilung ist; - Anlernen (402) eines Generative Adversarial Network, kurz GAN, (300) unter Berücksichtigung der ermittelten Gewichtungsfunktion; wobei das GAN (300) ein Generator-Netzwerk (301) umfasst, das ausgebildet ist, auf Basis einer synthetischen Daten-Stichprobe (311) eine entsprechende angepasste Daten-Stichprobe (312) zu ermitteln; und - Ermitteln (403) der Trainingsdaten anhand des Generator-Netzwerks (301).Method (400) for providing training data for training a neural network (200) for a specific task; wherein the method (400) comprises, - determining (401) a weighting function based on a synthetic set (310) of synthetic data samples (311) which have an original probability distribution, and based on a real set (320) of real data samples (321), which have a target probability distribution; wherein the weighting function for a synthetic data sample (311) from the synthetic set (310) indicates how close the synthetic data sample (311) is to the target probability distribution in terms of a distance measure; - Learning (402) a Generative Adversarial Network, GAN for short, (300) taking into account the weighting function determined; wherein the GAN (300) comprises a generator network (301) which is designed to determine a corresponding adapted data sample (312) on the basis of a synthetic data sample (311); and - Determination (403) of the training data on the basis of the generator network (301).
DE102020103274.9A 2020-02-10 2020-02-10 Method and device for generating training data for teaching a neural network Pending DE102020103274A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020103274.9A DE102020103274A1 (en) 2020-02-10 2020-02-10 Method and device for generating training data for teaching a neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020103274.9A DE102020103274A1 (en) 2020-02-10 2020-02-10 Method and device for generating training data for teaching a neural network

Publications (1)

Publication Number Publication Date
DE102020103274A1 true DE102020103274A1 (en) 2021-08-12

Family

ID=76968422

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020103274.9A Pending DE102020103274A1 (en) 2020-02-10 2020-02-10 Method and device for generating training data for teaching a neural network

Country Status (1)

Country Link
DE (1) DE102020103274A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DIESENDRUCK, M. [et al.]: Importance weighted generative networks. In: arXiv [online], Juni 2020.URL: https://arxiv.org/abs/1806.02512v2[abgerufen am 20.01.2021]
PANTAZIS, Y. [et al.]: Training generative adversarial networks with weights. In: 2019 27th European Signal Processing Conference (EUSIPCO), IEEE, 2019.URL: https://ieeexplore.ieee.org/iel7/8893974/8902336/08902934.pdf[abgerufen am 20.01.2021]
SAVKIN, A. [et al.]: Sampling/importance resampling for semantically consistent synthetic to real image domain adaptation in urban traffic scenes. In: 2019 IEEE Intelligent Vehicles Symposium (IV), IEEE, 2019, S. 1061-1068.URL: https://ieeexplore.ieee.org/iel7/8792328/8813768/08814168.pdf [abgerufen am 19.01.2021]

Similar Documents

Publication Publication Date Title
DE102018200724A1 (en) Method and device for improving the robustness against "Adversarial Examples"
DE102018218586A1 (en) Method, device and computer program for generating robust automatic learning systems and testing trained automatic learning systems
DE102018128289A1 (en) METHOD AND DEVICE FOR AUTONOMOUS SYSTEM PERFORMANCE AND CLASSIFICATION
DE102019209644A1 (en) Method for training a neural network
WO2020260016A1 (en) Method and apparatus for training a machine learning system
DE102019114737A1 (en) Method and device for predicting the behavior of a road user
DE102020103274A1 (en) Method and device for generating training data for teaching a neural network
EP3857455A1 (en) Machine learning system and a method, a computer program and a device for creating the machine learning system
DE102018215288A1 (en) Method and processing unit for tracking an object
DE102022201679A1 (en) Method and device for training a neural network
DE102021133977A1 (en) Method and system for classifying virtual test scenarios and training methods
DE102021212277A1 (en) Method and device for reinforcement learning
DE102019207911A1 (en) Method, device and computer program for predicting a learning curve
DE102021202813A1 (en) Method, device and computer program for an uncertainty assessment of an image classification
DE102020213253A1 (en) COMPUTER-IMPLEMENTED CONSISTENT CLASSIFICATION PROCEDURES
DE102020101248A1 (en) Method and device for relearning a neural network
DE102021124204A1 (en) Method and device for estimating the resource expenditure of a neural network
DE102021124649A1 (en) Method and device for generating images using scene graphs
DE102020203135A1 (en) Procedure for quality assurance of an example-based system
DE202019103046U1 (en) Device for predicting a learning curve
DE102019130484A1 (en) Method and device for training an ensemble of neural networks
DE102016200854B4 (en) Method and arithmetic unit for dimensioning a classifier
DE102021124203A1 (en) Method and device for training a neural network with quantized parameters
DE202023102037U1 (en) Device for optimizing a hyperparameter space with at least two hyperparameters of a machine learning algorithm
DE102021108934A1 (en) Method and system for providing a function using a machine-learned processing unit

Legal Events

Date Code Title Description
R163 Identified publications notified
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000