DE102020105485A1 - Training local artificial neural networks - Google Patents

Training local artificial neural networks Download PDF

Info

Publication number
DE102020105485A1
DE102020105485A1 DE102020105485.8A DE102020105485A DE102020105485A1 DE 102020105485 A1 DE102020105485 A1 DE 102020105485A1 DE 102020105485 A DE102020105485 A DE 102020105485A DE 102020105485 A1 DE102020105485 A1 DE 102020105485A1
Authority
DE
Germany
Prior art keywords
local
network
central
training
networks
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
DE102020105485.8A
Other languages
German (de)
Inventor
Mohamed Zahran
Ahmad El-Sallab
Waleed Ali
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.)
Valeo Schalter und Sensoren GmbH
Original Assignee
Valeo Schalter und Sensoren GmbH
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 Valeo Schalter und Sensoren GmbH filed Critical Valeo Schalter und Sensoren GmbH
Priority to DE102020105485.8A priority Critical patent/DE102020105485A1/en
Publication of DE102020105485A1 publication Critical patent/DE102020105485A1/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

Abstract

Gemäß einem Verfahren zum Trainieren lokaler künstlicher neuronaler Netzwerke, die auf jeweiligen lokalen Geräten (7a, 7b, 7c) gespeichert sind, werden ein erstes und ein zweites zentrales künstliches neuronales Netzwerk (4, 5) bereitgestellt, die auf einem Serversystem (2) gespeichert sind. Die zentralen Netzwerke (4, 5) werden basierend auf initialen Trainingsdaten (15) unter Verwendung einer gemeinsamen Verlustfunktion initial trainiert, wobei das zweite zentrale Netzwerk (5) dazu trainiert wird, das erste zentrale Netzwerk (4) nachzuahmen. Jedes der lokalen Netzwerke wird als jeweilige Kopie des initial trainierten zweiten zentralen Netzwerks (5) initial erzeugt und jedes der lokalen Netzwerke wird abhängig von lokalen Sensordaten, die von einem Umfeldsensorsystem (10a, 10b, 10c) des jeweiligen lokalen Geräts (7a, 7b, 7c) erhalten werden, lokal trainiert.According to a method for training local artificial neural networks that are stored on respective local devices (7a, 7b, 7c), a first and a second central artificial neural network (4, 5) are provided, which are stored on a server system (2) are. The central networks (4, 5) are initially trained based on initial training data (15) using a common loss function, the second central network (5) being trained to imitate the first central network (4). Each of the local networks is initially generated as a respective copy of the initially trained second central network (5) and each of the local networks is generated as a function of local sensor data that is provided by an environment sensor system (10a, 10b, 10c) of the respective local device (7a, 7b, 7c), trained locally.

Description

Die Erfindung betrifft ein Verfahren zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke, ein Verfahren zum wenigstens teilweise automatischen Führen eines Fahrzeugs, ein System zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke, ein elektronisches Fahrzeugführungssystem, ein Computerprogrammprodukt, ein Computerprogramm und ein computerlesbares Speichermedium.The invention relates to a method for training one or more local artificial neural networks, a method for at least partially automatic driving of a vehicle, a system for training one or more local artificial neural networks, an electronic vehicle control system, a computer program product, a computer program and a computer-readable storage medium .

Kommunizierende oder verbundene selbstfahrende Fahrzeuge können künstliche neuronale Netzwerke benutzen, die auf dem Fahrzeug selbst gespeichert sind, beispielsweise um verschiedener Sensordaten, wie Kameradaten, Radardaten und so weiter, zu verarbeiten oder zu interpretieren. Basierend auf einer Vorhersage des künstlichen neuronalen Netzwerks kann das Fahrzeug voll- oder teilautomatisch geführt werden und/oder der Fahrer des Fahrzeugs kann unterstützt werden. Dabei können insbesondere Seiten- und/oder Längssteuerung des Fahrzeugs geführt werden. Des Weiteren können auch in Smartphones oder anderen mobilen elektronischen Geräten Algorithmen basierend auf den künstlichen neuronalen Netzwerken für verschiedene Anwendungen benutzt werden.Communicating or connected self-driving vehicles can use artificial neural networks that are stored on the vehicle itself, for example to process or interpret various sensor data such as camera data, radar data and so on. Based on a prediction of the artificial neural network, the vehicle can be driven fully or partially automatically and / or the driver of the vehicle can be supported. In particular, lateral and / or longitudinal control of the vehicle can be performed. Furthermore, algorithms based on the artificial neural networks can also be used for various applications in smartphones or other mobile electronic devices.

Eine potenzielle Herausforderung, der sich Entwickler im Zusammenhang mit solchen eingebetteten Systemen gegenüber sehen, sind ihre beschränkten Rechenressourcen hinsichtlich Prozessor- und Speicherressourcen. Folglich kann ein ausreichendes Trainieren der künstlichen neuronalen Netzwerke lokal durch die eingebetteten Systeme schwierig, ineffizient, zeitaufwändig oder, im Fall von komplexen Algorithmusarchitekturen, sogar unmöglich sein.One potential challenge that developers face with such embedded systems is their limited computing resources in terms of processor and memory resources. As a result, adequate training of the artificial neural networks locally by the embedded systems can be difficult, inefficient, time consuming or, in the case of complex algorithm architectures, even impossible.

Wenn ein Fahrer eines teilautomatischen Kraftwagens die Steuerung von einer automatischen Steuerung übernimmt, könnte dies außerdem auf eine nicht optimale Vorhersage des neuronalen Netzwerks hinweisen und folglich könnte ein Erfordernis bestehen, Parameter des lokalen Netzwerks zu aktualisieren. Die Aktualisierung kann rechnerisch zu anspruchsvoll dafür sein, lokal durchgeführt zu werden, und sie müsste auf jedem lokalen Gerät einzeln durchgeführt werden. Andererseits kann es sehr zeitaufwändig sein, die jeweiligen Modelle zentral zu aktualisieren.If a driver of a semi-automatic motor vehicle takes over the control from an automatic control, this could also indicate a non-optimal prediction of the neural network and consequently there could be a need to update parameters of the local network. The update can be computationally too demanding to be done locally, and it would have to be done on each local device individually. On the other hand, it can be very time-consuming to update the respective models centrally.

Die Veröffentlichung „ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections“, arXiv:1708.00630v2, 9. August 2017, von S. Ravi (im Folgenden bezeichnet als „Ravi“) beschreibt eine Herangehensweise, bei der unter Verwendung einer gemeinsamen Verlustfunktion zwei neuronale Netzwerke gleichzeitig trainiert werden. Zu diesem Zweck wird ein Trainingsnetzwerk, welches ein volles neuronales Netzwerk ist und dessen Wahl flexibel ist und von der Aufgabe abhängt, zusammen mit einem Projektionsnetzwerk erstellt, welches ein einfacheres Netzwerk ist, das einen Satz effizient zu berechnender Operationen kodiert. Das Projektionsnetzwerk basiert auf Projektionstransformationen, die vorberechnete parametrisierte Funktionen benutzen. Während des Trainierens lernt das einfachere Projektionsnetzwerk, spezifische Projektionsoperationen auszuwählen und anzuwenden, um Vorhersagen des vollen Trainingsnetzwerks, welches mehr Parameter und somit größere Vorhersagekapazität aufweist, nachzuahmen. Das Ergebnis ist ein trainiertes Projektionsnetzwerk, das hocheffizient darin ist, die hochpräzise Ausgabe des Trainingsnetzwerks bis zu einem gewissem Grad nachzuahmen, wobei die Komplexität des Projektionsnetzwerks so justiert werden kann, dass die erforderliche Genauigkeit erreicht wird.The publication "ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections", arXiv: 1708.00630v2, August 9, 2017, by S. Ravi (hereinafter referred to as "Ravi") describes an approach in which using a common Loss function two neural networks can be trained at the same time. For this purpose, a training network, which is a full neural network and the choice of which is flexible and depends on the task, is created together with a projection network, which is a simpler network that codes a set of operations to be calculated efficiently. The projection network is based on projection transformations using precomputed parameterized functions. During training, the simpler projection network learns to select and apply specific projection operations in order to mimic predictions of the full training network, which has more parameters and thus greater predictive capacity. The result is a trained projection network that is highly efficient in mimicking the high-precision output of the training network to some extent, whereby the complexity of the projection network can be adjusted to achieve the required accuracy.

Es ist daher eine Aufgabe der vorliegenden Erfindung, ein verbessertes Konzept zum Trainieren eines oder mehrerer lokaler künstlicher Netzwerke, insbesondere lokaler künstlicher neuronaler Netzwerke zum wenigstens teilweise automatischen Führen jeweiliger Fahrzeuge, bereitzustellen, wobei jedes der lokalen Netzwerke auf einem jeweiligen lokalen Gerät, insbesondere einem jeweiligen lokalen Gerät des jeweiligen Fahrzeugs, gespeichert ist, das den Rechenaufwand zum Trainieren der lokalen künstlichen neuronalen Netzwerke auf den lokalen Geräten reduziert.It is therefore an object of the present invention to provide an improved concept for training one or more local artificial networks, in particular local artificial neural networks for at least partially automatic driving of respective vehicles, with each of the local networks on a respective local device, in particular a respective local device of the respective vehicle, is stored, which reduces the computational effort for training the local artificial neural networks on the local devices.

Diese Aufgabe wird gelöst durch den jeweiligen Gegenstand der unabhängigen Ansprüche. Weitere Ausführungen und bevorzugte Ausführungsbeispiele sind Gegenstand der abhängigen Ansprüche.This object is achieved by the respective subject matter of the independent claims. Further designs and preferred exemplary embodiments are the subject of the dependent claims.

Das verbesserte Konzept beruht auf der Idee, ein erstes und ein zweites zentrales künstliches neuronales Netzwerk auf einem Serversystem zu erstellen und beide Netzwerke gemeinsam unter Verwendung einer gemeinsamen Verlustfunktion zu trainieren, so dass das zweite zentrale Netzwerk dazu imstande ist, das erste zentrale Netzwerk nachzuahmen. Jeweilige Kopien des initial trainierten zweiten zentralen Netzwerks werden dann auf den jeweiligen lokalen Geräten lokal trainiert.The improved concept is based on the idea of creating a first and a second central artificial neural network on a server system and training both networks together using a common loss function so that the second central network is able to imitate the first central network. The respective copies of the initially trained second central network are then trained locally on the respective local devices.

Gemäß dem verbesserten Konzept wird ein Verfahren zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke bereitgestellt. Jedes der lokalen Netzwerke wird auf einem jeweiligen lokalen Gerät, insbesondere auf einem jeweiligen Speicherelement des jeweiligen lokalen Geräts, gespeichert. Ein erstes zentrales künstliches neuronales Netzwerk, das auf einem Serversystem, insbesondere auf einem Serverspeicherelement des Serversystems, gespeichert ist, und ein zweites zentrales künstliches neuronales Netzwerk, das auf dem Serversystem, insbesondere auf dem Serverspeicherelement, gespeichert ist, werden bereitgestellt. Das erste zentrale Netzwerk und das zweite zentrale Netzwerk werden, insbesondere unter Verwendung einer Serverrecheneinheit des Serversystems, basierend auf initialen Trainingsdaten unter Verwendung einer vordefinierten gemeinsamen Verlustfunktion, initial trainiert, wobei das zweite zentrale Netzwerk durch das gemeinsame initiale Training dazu trainiert wird, das erste zentrale Netzwerk nachzuahmen. Jedes des einen oder der mehreren lokalen Netzwerke wird als eine jeweilige Kopie des initial trainierten zweiten zentralen Netzwerks, insbesondere von einer jeweiligen Recheneinheit des jeweiligen lokalen Geräts und/oder von der Serverrecheneinheit, initial erzeugt. Jedes des einen oder der mehreren initial erzeugten lokalen Netzwerke wird abhängig von lokalen Sensordaten, die von einem Umfeldsensorsystem des jeweiligen lokalen Geräts, insbesondere durch die jeweilige Recheneinheit des jeweiligen lokalen Geräts von dem jeweiligen Umfeldsensorsystem erhalten werden, lokal trainiert.According to the improved concept, a method for training one or more local artificial neural networks is provided. Each of the local networks is stored on a respective local device, in particular on a respective storage element of the respective local device. A first Central artificial neural network, which is stored on a server system, in particular on a server storage element of the server system, and a second central artificial neural network, which is stored on the server system, in particular on the server storage element, are provided. The first central network and the second central network are initially trained, in particular using a server computing unit of the server system, based on initial training data using a predefined common loss function, the second central network being trained by the common initial training to be the first central Imitate network. Each of the one or more local networks is initially generated as a respective copy of the initially trained second central network, in particular by a respective computing unit of the respective local device and / or by the server computing unit. Each of the one or more initially generated local networks is trained locally as a function of local sensor data obtained from an environment sensor system of the respective local device, in particular by the respective computing unit of the respective local device from the respective environment sensor system.

Hier und im Folgenden wird der Ausdruck „Netzwerk“ äquivalent zu dem Ausdruck „künstliches neuronales Netzwerk“ gebraucht, wenn nicht anders angegeben.Here and in the following, the term “network” is used equivalent to the term “artificial neural network”, unless otherwise stated.

Gemäß dem verbesserten Konzept wird auch ein Verfahren zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke zum wenigstens teilweise automatischen Führen jeweiliger Fahrzeuge bereitgestellt. Jedes der lokalen Netzwerke ist auf einem jeweiligen lokalen Gerät eines jeweiligen Fahrzeugs gespeichert. Ein erstes zentrales künstliches neuronales Netzwerk, das auf einem Serversystem gespeichert ist, und ein zweites zentrales künstliches neuronales Netzwerk, das auf dem Serversystem gespeichert ist, werden bereitgestellt. Das erste zentrale Netzwerk und das zweite zentrale Netzwerk werden basierend auf initialen Trainingsdaten unter Verwendung einer vordefinierten gemeinsamen Verlustfunktion initial trainiert, wobei das zweite zentrale Netzwerk dazu trainiert wird, das erste zentrale Netzwerk nachzuahmen. Jedes des ersten und der mehreren lokalen Netzwerke wird als eine jeweilige Kopie des initial trainierten zweiten zentralen Netzwerks initial erzeugt und jedes des einen oder der mehreren lokalen Netzwerke wird abhängig von lokalen Sensordaten, die von einem Umfeldsensorsystem des jeweiligen lokalen Geräts erhalten werden, lokal trainiert.According to the improved concept, a method for training one or more local artificial neural networks for at least partially automatic driving of respective vehicles is also provided. Each of the local networks is stored on a respective local device of a respective vehicle. A first central artificial neural network stored on a server system and a second central artificial neural network stored on the server system are provided. The first central network and the second central network are initially trained based on initial training data using a predefined common loss function, the second central network being trained to imitate the first central network. Each of the first and the plurality of local networks is initially generated as a respective copy of the initially trained second central network and each of the one or more local networks is trained locally as a function of local sensor data obtained from an environment sensor system of the respective local device.

In dem Fall, dass die lokalen Geräte in jeweiligen Fahrzeugen enthalten sind, können die lokalen Geräte beispielsweise als jeweilige elektronische Fahrzeugführungssysteme des Fahrzeugs implementiert sein.In the event that the local devices are contained in respective vehicles, the local devices can be implemented, for example, as respective electronic vehicle guidance systems of the vehicle.

Ein elektronisches Fahrzeugführungssystem kann verstanden werden als ein elektronisches System, welches dazu eingerichtet ist, ein Fahrzeug in vollautomatischer oder vollautonomer Weise und insbesondere, ohne dass ein manuelles Eingreifen oder Steuern durch einen Fahrer oder Benutzer des Fahrzeugs notwendig wäre, zu führen. Das Fahrzeug führt erforderliche Lenkmanöver, Bremsmanöver und/oder Beschleunigungsmanöver und so weiter automatisch aus. Insbesondere kann das elektronische Fahrzeugführungssystem einen vollautomatischen oder vollautonomen Fahrmodus gemäß Stufe 5 der SAE J3016 Klassifikation implementieren. Ein elektronisches Fahrzeugführungssystem kann auch als Fahrerassistenzsystem, ADAS, implementiert sein, welches einen Fahrer beim teilautomatischen oder teilautonomen Fahren unterstützt. Insbesondere kann das elektronische Fahrzeugführungssystem einen teilautomatischen oder teilautonomen Fahrmodus gemäß den Stufen 1 bis 4 der SAE J3016 Klassifikation implementieren. Hier und im Folgenden bezieht sich SAE J3016 auf den jeweiligen Standard mit Datum vom Juni 2018.An electronic vehicle guidance system can be understood as an electronic system which is set up to guide a vehicle in a fully automatic or fully autonomous manner and in particular without manual intervention or control by a driver or user of the vehicle being necessary. The vehicle automatically carries out required steering maneuvers, braking maneuvers and / or acceleration maneuvers and so on. In particular, the electronic vehicle guidance system can implement a fully automatic or fully autonomous driving mode according to level 5 of the SAE J3016 classification. An electronic vehicle guidance system can also be implemented as a driver assistance system, ADAS, which supports a driver in semi-automatic or semi-autonomous driving. In particular, the electronic vehicle guidance system can implement a partially automatic or partially autonomous driving mode according to levels 1 to 4 of the SAE J3016 classification. Here and in the following, SAE J3016 refers to the respective standard dated June 2018.

Wenigstens teilweise automatisches Führen des Fahrzeugs kann daher ein Führen des Fahrzeugs gemäß eines vollautomatischen oder vollautonomen Fahrmodus gemäß Stufe 5 der SAE J3016 Klassifikation beinhalten. Wenigstens teilweise automatisches Führen des Fahrzeugs kann auch Führen des Fahrzeugs gemäß einem teilautomatischen oder teilautonomen Fahrmodus gemäß den Stufen 1 bis 4 der SAE J3016 Klassifikation beinhalten.At least partially automatic driving of the vehicle can therefore include driving the vehicle in accordance with a fully automatic or fully autonomous driving mode in accordance with level 5 of the SAE J3016 classification. At least partially automatic driving of the vehicle can also include driving the vehicle according to a partially automatic or partially autonomous driving mode according to levels 1 to 4 of the SAE J3016 classification.

Insbesondere beinhaltet jedes der lokalen Geräte die jeweilige Recheneinheit des lokalen Geräts, das jeweilige Umfeldsensorsystem und ein jeweiliges Speicherelement, welches das jeweilige lokale künstliche neuronale Netzwerk speichert.In particular, each of the local devices contains the respective computing unit of the local device, the respective environment sensor system and a respective memory element which stores the respective local artificial neural network.

Insbesondere können die lokalen Geräte als lokal erachtet werden, da ihre räumlichen Positionen unabhängig voneinander und unabhängig von einer Position des Serversystems sind und ihre räumlichen Positionen können sich mit der Zeit auch ändern. In particular, the local devices can be regarded as local, since their spatial positions are independent of one another and independent of a position of the server system, and their spatial positions can also change over time.

Insbesondere kann das lokale Gerät einem mobilen elektronischen Gerät, wie einem Smartphone oder einem anderen tragbaren Rechner, entsprechen oder in diesem enthalten sein. Das lokale Gerät kann, wie dargelegt, auch in dem Fahrzeug oder dem elektronischen Fahrzeugführungssystem enthalten sein.In particular, the local device can correspond to or be contained in a mobile electronic device such as a smartphone or another portable computer. As stated, the local device can also be contained in the vehicle or in the electronic vehicle guidance system.

Das initiale Erzeugen des lokalen Netzwerks als eine Kopie des initial trainierten zweiten zentralen Netzwerks kann zum Beispiel so verstanden werden, dass das initial trainierte zweite zentrale Netzwerk und die jeweiligen Kopien dieselbe Netzwerkarchitektur und dieselben Parameter, wie Gewichtungen und/oder Biaswerte oder andere algorithmische Parameter neuronaler Netzwerke, aufweisen.The initial creation of the local network as a copy of the initially trained second central network can be understood, for example, in such a way that the initially trained second central network and the respective copies have the same network architecture and the same parameters as Weightings and / or bias values or other algorithmic parameters of neural networks.

Trainieren des zweiten zentralen Netzwerks, so dass es das erste zentrale Netzwerk nachahmt, kann zum Beispiel so verstanden werden, dass das initial trainierte erste und zweite zentrale Netzwerk als Reaktion auf eine gegebene Eingabe jeweilige Ausgaben bereitstellen, die voneinander weniger abweichen als ein vordefinierter maximaler Fehler. Dies kann insbesondere durch das gemeinsame Trainieren des ersten und des zweiten zentralen Netzwerks basierend auf der gemeinsamen Verlustfunktion erreicht werden.Training the second central network so that it mimics the first central network can be understood, for example, to mean that the initially trained first and second central networks provide respective outputs in response to a given input that differ less than a predefined maximum error . This can be achieved in particular by jointly training the first and the second central network based on the joint loss function.

Insbesondere wird auf die Offenbarung von Ravi verwiesen. Das erste zentrale Netzwerk kann als das Trainingsnetzwerk, wie in Abschnitt 3 von Ravi beschrieben, verstanden werden und das zweite zentrale Netzwerk kann als das in Abschnitt 3 von Ravi beschriebene Projektionsnetz verstanden werden.In particular, reference is made to the disclosure of Ravi. The first central network can be understood as the training network as described in section 3 of Ravi and the second central network can be understood as the projection network described in section 3 of Ravi.

Insbesondere kann die gemeinsame Verlustfunktion analog zu der in den Gleichungen (1) und (2) von Ravi definierten Verlustfunktion gewählt werden. Das erste und zweite zentrale Netzwerk kann gemäß den Gleichungen (3) bis (5) und der jeweiligen Beschreibung von Abschnitt 3 von Ravi erzeugt werden.In particular, the common loss function can be chosen analogously to the loss function defined by Ravi in equations (1) and (2). The first and second central networks can be generated according to equations (3) through (5) and the respective description of Section 3 of Ravi.

Ein Umfeldsensorsystem eines lokalen Geräts kann zum Beispiel als ein Sensorsystem verstanden werden, welches dazu imstande ist, Sensordaten oder Sensorsignale zu erzeugen, die eine Umgebung des Sensorsystems, des lokalen Geräts oder gegebenenfalls des Fahrzeugs anzeigen, darstellen, oder abbilden. Insbesondere kann das Umfeldsensorsystem eines oder mehrere Kamerasysteme und/oder eines oder mehrere Radarsysteme und/oder eines oder mehrere Lidarsysteme und/oder eines oder mehrere Ultraschallsensorsysteme beinhalten.An environment sensor system of a local device can be understood, for example, as a sensor system that is capable of generating sensor data or sensor signals that display, represent or map an environment of the sensor system, the local device or, if applicable, the vehicle. In particular, the environment sensor system can contain one or more camera systems and / or one or more radar systems and / or one or more lidar systems and / or one or more ultrasonic sensor systems.

Da die lokalen Netzwerke abhängig von den lokalen Sensordaten lokal trainiert werden, werden sie basierend auf realen Umgebungsinformationen des jeweiligen lokalen Geräts trainiert und nicht etwa ausschließlich basierend auf eigens konzipierten Trainingsdaten trainiert. Insbesondere ist es möglich, das reale Verhalten eines Benutzers des jeweiligen lokalen Geräts in Betracht zu ziehen, um die Vorhersagen oder Schlussfolgerungen des lokalen Netzwerks zu verifizieren oder auszuwerten. Auf diese Weise wird ein besonders effizientes Trainieren des lokalen Netzwerks erreicht.Since the local networks are trained locally as a function of the local sensor data, they are trained on the basis of real information about the surroundings of the respective local device and not, for example, exclusively on the basis of specially designed training data. In particular, it is possible to take into account the real behavior of a user of the respective local device in order to verify or evaluate the predictions or conclusions of the local network. A particularly efficient training of the local network is achieved in this way.

Durch Kombinieren des lokalen Trainierens mit dem gemeinsamen Trainieren der zentralen Netzwerke, wobei das zweite zentrale Netzwerk das erste zentrale Netzwerk nachahmt, kann die Komplexität des zweiten zentralen Netzwerks und folglich der lokalen Netzwerke verglichen mit der Komplexität des ersten zentralen Netzwerks stark reduziert werden. Somit erfordert das lokale Trainieren der lokalen Netzwerke weniger Rechenaufwand im Vergleich zum Trainieren des ersten zentralen Netzwerks.By combining the local training with the joint training of the central networks, the second central network mimicking the first central network, the complexity of the second central network and consequently the local networks can be greatly reduced compared to the complexity of the first central network. The local training of the local networks thus requires less computational effort compared to training the first central network.

Daher ist das verbesserte Konzept besonders geeignet für lokale Geräte im Kontext eingebetteter Systeme, zum Beispiel für Fahrzeuge oder mobile elektronische Geräte. Durch Kombinieren des initialen zentralen Trainierens mit dem individuellen lokalen Trainieren der lokalen Netzwerke durch die lokalen Geräte kann andererseits eine besonders hohe Zuverlässigkeit und Genauigkeit der Vorhersagen der lokalen Netzwerke erreicht werden, während die lokalen Rechenerfordernisse niedrig gehalten werden.Therefore, the improved concept is particularly suitable for local devices in the context of embedded systems, for example for vehicles or mobile electronic devices. By combining the initial central training with the individual local training of the local networks by the local devices, on the other hand, a particularly high reliability and accuracy of the predictions of the local networks can be achieved while the local computing requirements are kept low.

Gemäß mehreren Ausführungen des Verfahrens enthält das eine oder die mehreren lokalen Netzwerke zwei oder mehr lokale Netzwerke, wobei jedes der zwei oder mehr lokalen Netzwerke einen jeweiligen Satz von lokalen Parametern aufweist. Für jedes der zwei oder mehr lokalen Netzwerke enthält das lokale Trainieren ein Modifizieren des jeweiligen Satzes von lokalen Parametern, insbesondere durch die jeweilige Recheneinheit des lokalen Geräts. Für jedes der zwei oder mehr lokalen Netzwerke werden lokale Trainingsdaten abhängig von dem modifizierten Satz von lokalen Parametern an das Sensorsystem, insbesondere an die Serverrecheneinheit, beispielsweise durch jeweilige Kommunikationsschnittstellen der lokalen Geräte übermittelt. Das zweite zentrale Netzwerk, insbesondere das initial trainierte zweite zentrale Netzwerk, wird insbesondere durch die Serverrecheneinheit abhängig von den übermittelten lokalen Trainingsdaten, insbesondere abhängig von den lokalen Trainingsdaten von allen lokalen Geräten beziehungsweise allen lokalen Netzwerken, modifiziert. Dabei beinhaltet die Modifizierung der zweiten zentralen Netzwerke eine Modifizierung jeweiliger zweiter zentraler Parameter des zweiten zentralen Netzwerks, die zum Beispiel jeweilige Gewichtungs- und/oder Biasparameter des zweiten zentralen Netzwerks beinhalten.According to several implementations of the method, the one or more local networks includes two or more local networks, each of the two or more local networks having a respective set of local parameters. For each of the two or more local networks, the local training includes a modification of the respective set of local parameters, in particular by the respective processing unit of the local device. For each of the two or more local networks, local training data are transmitted as a function of the modified set of local parameters to the sensor system, in particular to the server computing unit, for example through respective communication interfaces of the local devices. The second central network, in particular the initially trained second central network, is modified in particular by the server computing unit as a function of the transmitted local training data, in particular as a function of the local training data from all local devices or all local networks. The modification of the second central networks includes a modification of respective second central parameters of the second central network, which for example contain respective weighting and / or bias parameters of the second central network.

Das Modifizieren des zweiten zentralen Netzwerks kann zum Beispiel gefolgt oder begleitet sein durch ein zusätzliches Trainieren oder erneutes Trainieren des ersten und/oder des zweiten zentralen Netzwerks basierend auf den initialen Trainingsdaten und/oder basierend auf weiteren Trainingsdaten.The modification of the second central network can be followed or accompanied, for example, by additional training or retraining of the first and / or the second central network based on the initial training data and / or based on further training data.

Die lokalen Parameter können zum Beispiel den Betrieb des jeweiligen lokalen Netzwerks vollständig definieren und können zum Beispiel jeweilige Gewichtungs- oder Biasparameter oder beides aufweisen. Mit anderen Worten wird das lokale Netzwerk durch Bereitstellen der jeweiligen Architektur des lokalen Netzwerks und des Satzes von lokalen Parametern vollständig definiert.The local parameters can, for example, completely define the operation of the respective local network and can, for example, have respective weighting or bias parameters or both. In other words, the local network is fully defined by providing the respective architecture of the local network and the set of local parameters.

Das lokale Trainieren kann es zum Beispiel beinhalten, die Sensordaten durch das Umfeldsensorsystem des jeweiligen lokalen Geräts zu erzeugen, jeweilige Eingabedaten basierend auf den Sensordaten zum Beispiel durch die jeweilige Recheneinheit des lokalen Geräts zu erzeugen, das lokale Netzwerk auf die Eingabedaten zur Erzeugung lokaler Ausgabedaten anzuwenden, eine jeweilige lokale Verlustfunktion durch die Recheneinheit des lokalen Geräts basierend auf den lokalen Ausgabedaten zu berechnen und die jeweiligen lokalen Parameter basierend auf einem, insbesondere durch die jeweilige Recheneinheit des lokalen Geräts, berechneten Wert der lokalen Verlustfunktion zu modifizieren.The local training can include, for example, generating the sensor data by the environment sensor system of the respective local device, generating respective input data based on the sensor data, for example by the respective computing unit of the local device, applying the local network to the input data to generate local output data to calculate a respective local loss function by the arithmetic unit of the local device based on the local output data and to modify the respective local parameters based on a value of the local loss function calculated in particular by the respective arithmetic unit of the local device.

Die an das Sensorsystem zu übermittelnden lokalen Trainingsdaten können zum Beispiel den modifizierten Satz von lokalen Parametern oder Daten abhängig von dem modifizierten Satz von lokalen Parametern beinhalten. Die lokalen Trainingsdaten können auch den vorherigen Satz von lokalen Parametern, insbesondere den Satz von lokalen Parametern vor der Modifizierung, beinhalten und/oder können Daten beinhalten, die von dem vorherigen Satz lokaler Parameter abhängen.The local training data to be transmitted to the sensor system can contain, for example, the modified set of local parameters or data depending on the modified set of local parameters. The local training data can also contain the previous set of local parameters, in particular the set of local parameters before the modification, and / or can contain data that depend on the previous set of local parameters.

Insbesondere können die lokalen Trainingsdaten Parametergradienten beinhalten, die als Abweichungen oder Unterschiede zwischen dem modifizierten Satz von Parametern und dem vorherigen Satz von Parametern verstanden werden können, oder Daten, die von derartigen Abweichungen oder Unterschieden abhängen.In particular, the local training data can include parameter gradients, which can be understood as deviations or differences between the modified set of parameters and the previous set of parameters, or data that depend on such deviations or differences.

Bei derartigen Ausführungen kann die Genauigkeit der Vorhersagen lokaler Netzwerke verbessert werden, indem das Lernen über alle lokalen Geräte verteilt wird und das lokale Trainieren basierend auf einer individuellen realen Umgebungseingabe durchgeführt wird, da die lokalen Sensordaten der lokalen Umfeldsensoren für das lokale Trainieren benutzt werden.In such designs, the accuracy of the predictions of local networks can be improved in that the learning is distributed over all local devices and the local training is carried out based on an individual real environment input, since the local sensor data of the local environment sensors are used for the local training.

Insbesondere ist es nicht notwendig, die Sensordaten oder die lokalen Eingabedaten, wie etwa Kamerabilder, von den lokalen Geräten an das Sensorsystem zu übermitteln. Es kann ausreichend sein, die Daten abhängig von den Parametern oder der Modifizierung der Parameter der jeweiligen lokalen Netzwerke zu übermitteln. Auf diese Weise kann eine verbesserte Datensicherheit sowie ein verbesserter Datenschutz erreicht werden.In particular, it is not necessary to transmit the sensor data or the local input data, such as camera images, from the local devices to the sensor system. It can be sufficient to transmit the data depending on the parameters or the modification of the parameters of the respective local networks. In this way, improved data security and improved data protection can be achieved.

Gemäß einigen Ausführungen kann die Serverrecheneinheit einen Satz von gemittelten Parametern basierend auf allen übermittelten lokalen Trainingsdaten aus den verschiedenen zwei oder mehr lokalen Netzwerken berechnen. Insbesondere kann eine Mittelung der Parametergradienten durch die Serverrecheneinheit erfolgen. Die Modifizierung des zweiten zentralen Netzwerks kann dann durch die Serverrecheneinheit abhängig von dem Ergebnis der Mittelung erfolgen.According to some embodiments, the server computing unit can compute a set of averaged parameters based on all transmitted local training data from the different two or more local networks. In particular, the parameter gradients can be averaged by the server computing unit. The server computing unit can then modify the second central network as a function of the result of the averaging.

Auf diese Weise können Informationen von allen der zwei oder mehr lokalen Netzwerke in Betracht gezogen werden, um die Leistung des zweiten zentralen Netzwerks zu verbessern.In this way, information from all of the two or more local area networks can be taken into account to improve the performance of the second central area network.

Gemäß einigen Ausführungen werden die zwei oder mehr lokal trainierten lokalen Netzwerke insbesondere von der Serverrecheneinheit und/oder der jeweiligen Recheneinheit des lokalen Geräts gemäß dem modifizierten zweiten zentralen Netzwerk aktualisiert.According to some embodiments, the two or more locally trained local networks are updated in particular by the server computing unit and / or the respective computing unit of the local device in accordance with the modified second central network.

Das Aktualisieren der lokalen Netzwerke abhängig von oder gemäß dem modifizierten zweiten zentralen Netzwerk kann es zum Beispiel beinhalten, die modifizierten zweiten zentralen Parameter zu kopieren und die jeweiligen lokalen Parameter vollständig oder teilweise durch die modifizierten zweiten zentralen Parameter zu ersetzen.The updating of the local networks as a function of or in accordance with the modified second central network can include, for example, copying the modified second central parameters and replacing the respective local parameters completely or partially with the modified second central parameters.

Auf diese Weise profitiert jedes der zwei oder mehr lokalen Netzwerke von dem lokalen Trainieren aller anderen lokalen Netzwerke.In this way, each of the two or more local area networks benefits from the local training of all other local area networks.

Gemäß einigen Ausführungen werden für jedes des einen oder der mehreren lokalen Netzwerke lokale Eingabedaten erzeugt, insbesondere von der jeweiligen Recheneinheit des lokalen Geräts, basierend auf den jeweiligen lokalen Sensordaten, insbesondere um das lokale Trainieren durchzuführen. Für jedes des einen oder der mehreren lokalen Netzwerke werden lokale Ausgabedaten abhängig von den lokalen Eingabedaten, insbesondere abhängig von den lokalen Eingabedaten und dem jeweiligen Satz von lokalen Parametern des lokalen Netzwerks, von dem jeweiligen lokalen Netzwerk erzeugt, insbesondere um das lokale Trainieren durchzuführen. Für jedes des einen oder der mehreren lokalen Netzwerke werden die lokalen Eingabedaten abhängig von den lokalen Ausgabedaten an das Serversystem übermittelt, insbesondere von der jeweiligen Kommunikationsschnittstelle des lokalen Geräts an die Serverrecheneinheit. Das initial trainierte erste zentrale Netzwerk und das initial trainierte zweite zentrale Netzwerk werden insbesondere von der Serverrecheneinheit basierend auf den übermittelten lokalen Eingabedaten, insbesondere aller lokaler Geräte, unter Verwendung der gemeinsamen Verlustfunktion erneut trainiert.According to some embodiments, local input data are generated for each of the one or more local networks, in particular by the respective computing unit of the local device, based on the respective local sensor data, in particular in order to carry out the local training. For each of the one or more local networks, local output data are generated by the respective local network as a function of the local input data, in particular as a function of the local input data and the respective set of local parameters of the local network, in particular to carry out the local training. For each of the one or more local networks, the local input data are transmitted to the server system as a function of the local output data, in particular from the respective communication interface of the local device to the server computing unit. The initially trained first central network and the initially trained second central network are in particular retrained by the server computing unit based on the transmitted local input data, in particular all local devices, using the common loss function.

Insbesondere wird das lokale Trainieren des lokalen Netzwerks abhängig von den lokalen Ausgabedaten durchgeführt.In particular, the local training of the local network is carried out as a function of the local output data.

Die lokalen Eingabedaten können den unverarbeiteten oder verarbeiteten Sensordaten entsprechen.The local input data can correspond to the unprocessed or processed sensor data.

Das erneute Trainieren des ersten und des zweiten zentralen Netzwerks kann es zum Beispiel beinhalten, jedes der zentralen Netzwerke auf die übermittelten lokalen Eingabedaten oder auf Daten anzuwenden, die von den übermittelten lokalen Eingabedaten abhängen oder die übermittelten lokalen Eingabedaten beinhalten, um jeweilige zentrale Ausgaben zu erzeugen. Danach kann die gemeinsame Verlustfunktion abhängig von den zentralen Ausgaben und abhängig von dem berechneten Wert der gemeinsamen Verlustfunktion berechnet werden.The retraining of the first and the second central network can include, for example, applying each of the central networks to the transmitted local input data or to data that depend on the transmitted local input data or contain the transmitted local input data in order to generate respective central outputs . Then the common loss function can be calculated depending on the central outputs and depending on the calculated value of the common loss function.

Bei derartigen Ausführungen können die Eingabedaten von den lokalen Geräten auch explizit zum Trainieren der zentralen Netzwerke benutzt werden. Insbesondere können Daten oder Sensordaten, die als „neu und interessant“ definiert werden, direkt an das Serversystem übermittelt werden, um die verfügbare Trainingsgrundlage zu vergrößern und ihre Relevanz und folglich ihre Zuverlässigkeit und Genauigkeit zu verbessern. In such designs, the input data from the local devices can also be used explicitly to train the central networks. In particular, data or sensor data that are defined as “new and interesting” can be transmitted directly to the server system in order to enlarge the available training basis and to improve its relevance and consequently its reliability and accuracy.

Gemäß einigen Ausführungsformen werden das erste und das zweite zentrale Netzwerk basierend auf den übermittelten lokalen Eingabedaten und den initialen Trainingsdaten erneut trainiert.According to some embodiments, the first and the second central network are retrained based on the transmitted local input data and the initial training data.

Insbesondere kann das erneute Trainieren der zentralen Netzwerke basierend auf den übermittelten lokalen Eingabedaten mit der Modifizierung des zweiten zentralen Netzwerks abhängig von den übermittelten lokalen Trainingsdaten kombiniert werden. Insbesondere kann auf das erneute Trainieren des ersten und des zweiten zentralen Netzwerks die Modifizierung der zweiten zentralen Parameter des zweiten zentralen Netzwerks abhängig von den übermittelten lokalen Trainingsdaten folgen oder umgekehrt.In particular, the renewed training of the central networks based on the transmitted local input data can be combined with the modification of the second central network depending on the transmitted local training data. In particular, the renewed training of the first and the second central network can be followed by the modification of the second central parameters of the second central network as a function of the transmitted local training data or vice versa.

Gemäß einigen Ausführungsformen werden das initial trainierte erste zentrale Netzwerk und das initial trainierte zweite zentrale Netzwerk, insbesondere von der Serverrecheneinheit, basierend auf den initialen Trainingsdaten, insbesondere den initialen Trainingsdaten und den übermittelten lokalen Eingabedaten aller lokaler Geräte, unter Verwendung der gemeinsamen Verlustfunktion erneut trainiert.According to some embodiments, the initially trained first central network and the initially trained second central network, in particular by the server computing unit, are retrained based on the initial training data, in particular the initial training data and the transmitted local input data from all local devices, using the common loss function.

Gemäß einigen Ausführungsformen werden die zwei oder mehr lokalen Netzwerke, insbesondere jedes der zwei oder mehr lokal trainierten lokalen Netzwerke, insbesondere von der jeweiligen Recheneinheit des lokalen Geräts gemäß dem erneut trainierten zweiten zentralen Netzwerk aktualisiert.According to some embodiments, the two or more local networks, in particular each of the two or more locally trained local networks, are updated in particular by the respective computing unit of the local device in accordance with the retrained second central network.

Das Aktualisieren der lokalen Netzwerke gemäß dem erneut trainierten zweiten zentralen Netzwerk kann es zum Beispiel beinhalten, die zweiten zentralen Parameter des erneut trainierten zweiten zentralen Netzwerks zu kopieren, um die jeweiligen lokalen Parameter vollständig oder teilweise zu ersetzen.The updating of the local networks in accordance with the retrained second central network can include, for example, copying the second central parameters of the retrained second central network in order to completely or partially replace the respective local parameters.

Gemäß einigen Ausführungen wird für jedes des einen oder der mehreren lokalen Netzwerke die Recheneinheit des jeweiligen lokalen Geräts benutzt, um einen Wert einer vordefinierten lokalen Verlustfunktion abhängig von den jeweiligen lokalen Ausgabedaten zu berechnen und insbesondere um den berechneten Wert der lokalen Verlustfunktion mit einem vordefinierten Schwellwert zu vergleichen. Für jedes des einen oder der mehreren lokalen Netzwerke werden die lokalen Eingabedaten, insbesondere durch die Kommunikationsschnittstelle des jeweiligen lokalen Geräts, an das Serversystem, insbesondere an die Serverrecheneinheit nur dann, wenn, beispielsweise genau dann, wenn der berechnete Wert der lokalen Verlustfunktion größer ist als der vordefinierte Schwellwert, übermittelt.According to some embodiments, the computing unit of the respective local device is used for each of the one or more local networks to calculate a value of a predefined local loss function depending on the respective local output data and in particular to assign the calculated value of the local loss function with a predefined threshold value to compare. For each of the one or more local networks, the local input data, in particular through the communication interface of the respective local device, are sent to the server system, in particular to the server computing unit, only when, for example precisely when the calculated value of the local loss function is greater than the predefined threshold value.

Insbesondere falls der Wert der lokalen Verlustfunktion größer ist als der Schwellwert kann dies so interpretiert werden, dass das jeweilige lokale Netzwerk durch zusätzliches Trainieren noch verbessert werden sollte. Die entsprechenden lokalen Eingabedaten, die dazu führen, dass die lokale Verlustfunktion größer als der Schwellwert ist, können als „neu und interessant“ erachtet werden und daher als vorteilhafte Eingabe zum Trainieren der zentralen Netzwerke.In particular, if the value of the local loss function is greater than the threshold value, this can be interpreted in such a way that the respective local network should be further improved through additional training. The corresponding local input data, which lead to the local loss function being greater than the threshold value, can be regarded as “new and interesting” and therefore as an advantageous input for training the central networks.

Indem die lokalen Eingabedaten nur dann übermittelt werden, wenn die Verlustfunktion größer ist als der Schwellwert, ist die Datenübertragung zwischen den lokalen Geräten und dem Serversystem beschränkt, was die Effizienz des Verfahrens sowie den Datenschutz verbessert.Since the local input data are only transmitted when the loss function is greater than the threshold value, the data transmission between the local devices and the server system is restricted, which improves the efficiency of the method and data protection.

Gemäß einigen Ausführungen definiert die Recheneinheit des lokalen Geräts einen oder mehrere jeweilige Übertragungszeiträume und übermittelt die lokalen Eingabedaten nur während der jeweiligen Übertragungszeiträume an das Serversystem.According to some embodiments, the processing unit of the local device defines one or more respective transmission time periods and transmits the local input data to the server system only during the respective transmission time periods.

Gemäß einigen Ausführungen wird für jedes des einen oder der mehreren lokalen Netzwerke eine Handlung des Benutzers eines Host-Geräts, welches das jeweilige lokale Gerät beinhaltet, zum Beispiel ein Benutzer oder Fahrer des jeweiligen Fahrzeugs, unter Verwendung eines weiteren Sensorsystems des Host-Geräts, insbesondere des Fahrzeugs, detektiert. Für jedes des einen oder der mehreren lokalen Netzwerke beinhaltet es das lokale Trainieren des jeweiligen lokalen Netzwerks, eine Schlussfolgerung des lokalen Netzwerks abhängig von den lokalen Sensordaten, insbesondere durch die jeweilige Recheneinheit des lokalen Geräts, zu erzeugen und die Schlussfolgerung basierend auf der Handlung des Benutzers, insbesondere unter Verwendung der Recheneinheit des lokalen Geräts, zu verifizieren.According to some embodiments, for each of the one or more local networks, an action by the user of a host device that contains the respective local device, for example a user or driver of the respective vehicle, using a further sensor system of the host device, in particular of the vehicle, detected. For each of the one or more local area networks, it involves locally training the respective local area network, a conclusion of the local area network depending on the to generate local sensor data, in particular by the respective processing unit of the local device, and to verify the conclusion based on the action of the user, in particular using the processing unit of the local device.

Die Schlussfolgerung kann beispielsweise den lokalen Ausgabedaten entsprechen, die abhängig von den lokalen Eingabedaten erzeugt wurden.The conclusion can correspond, for example, to the local output data that were generated as a function of the local input data.

Zum Verifizieren der Schlussfolgerung basierend auf der Handlung des Benutzers kann die Recheneinheit des lokalen Geräts beispielsweise die Schlussfolgerung oder die lokalen Ausgabedaten des lokalen Netzwerks mit der Handlung eines Benutzers oder mit einer erwarteten Schlussfolgerung beziehungsweise erwarteten lokalen Ausgabedaten basierend auf der Handlung des Benutzers vergleichen. Falls der Vergleich ergibt, dass die Schlussfolgerung, bis auf eine vordefinierte Toleranz, gleich der erwarteten Schlussfolgerung ist, kann die Schlussfolgerung als verifiziert angesehen werden, andernfalls kann sie als nicht verifiziert angesehen werden.To verify the conclusion based on the action of the user, the computing unit of the local device can, for example, compare the conclusion or the local output data of the local network with the action of a user or with an expected conclusion or expected local output data based on the action of the user. If the comparison shows that the conclusion is the same as the expected conclusion, except for a predefined tolerance, the conclusion can be considered verified, otherwise it can be considered unverified.

Mit anderen Worten wird das lokale Trainieren des jeweiligen lokalen Netzwerks abhängig von einer Abweichung zwischen der Schlussfolgerung und der Handlung des Benutzers oder zwischen der Schlussfolgerung und der erwarteten Schlussfolgerung ausgeführt.In other words, the local training of the respective local area network is carried out depending on a deviation between the conclusion and the action of the user or between the conclusion and the expected conclusion.

Die Handlung des Benutzers kann zum Beispiel eine Eingabe des Benutzers über eine Benutzerschnittfläche des lokalen Geräts oder eine Änderung der Position des lokalen Geräts oder des Benutzers und so weiter beinhalten.The action of the user can include, for example, an input by the user via a user interface of the local device or a change in the position of the local device or the user and so on.

Im Falle eines Fahrzeugs kann die Benutzerhandlung zum Beispiel das Betätigen einer Steuereinrichtung des Fahrzeugs, wie etwa eines Lenkrads, das Ändern eines Lenkwinkels, das Betätigen eines Bremssystems oder eines Bremspedals oder eines Beschleunigungspedals des Fahrzeugs beinhalten. Insbesondere kann die Benutzerhandlung jegliche Benutzerhandlung zur Längs- und/oder Quersteuerung des Fahrzeugs beinhalten.In the case of a vehicle, the user action can include, for example, operating a control device of the vehicle, such as a steering wheel, changing a steering angle, operating a brake system or a brake pedal or an accelerator pedal of the vehicle. In particular, the user action can include any user action for longitudinal and / or lateral control of the vehicle.

Dementsprechend kann das weitere Sensorsystem des Host-Geräts oder des Fahrzeugs einen Lenkwinkelsensor, einen Pedalsensor, einen Trägheitssensor, wie etwa einen Giersensor oder einen Beschleunigungssensor, einen Sensor für Rotationsgeschwindigkeit und/oder einen Positionssensor beinhalten.Accordingly, the further sensor system of the host device or of the vehicle can include a steering angle sensor, a pedal sensor, an inertia sensor such as a yaw sensor or an acceleration sensor, a sensor for rotational speed and / or a position sensor.

Die Verifizierung der Schlussfolgerung oder der Vergleich der Schlussfolgerung mit der Handlung des Benutzers kann es zum Beispiel beinhalten, die lokale Verlustfunktion zu berechnen und den berechneten Wert mit dem Schwellwert zu vergleichen.The verification of the conclusion or the comparison of the conclusion with the action of the user can include, for example, calculating the local loss function and comparing the calculated value with the threshold value.

Bei derartigen Ausführungen definiert die Benutzerhandlung effektiv das „korrekte“ Verhalten beziehungsweise die erwartete Schlussfolgerung. Folglich kann das lokale Trainieren ohne Bereitstellen eines gelabelten Satzes von Trainingsdaten durchgeführt werden und kann aufgrund des direkten Einflusses der realen Umgebungssituation des lokalen Geräts besonders relevant sein.In such implementations, the user action effectively defines the “correct” behavior or the expected conclusion. As a result, the local training can be carried out without providing a labeled set of training data and can be particularly relevant due to the direct influence of the real environment situation of the local device.

Das Trainieren kann daher effektiver sein und die trainierten lokalen Netzwerke können genauere oder zuverlässigere Vorhersagen erbringen.The training can therefore be more effective and the trained local networks can provide more accurate or more reliable predictions.

Gemäß einigen Ausführungen beinhaltet das erste zentrale Netzwerk einen ersten Satz von zentralen Parametern und das zweite zentrale Netzwerk beinhaltet einen zweiten Satz von zentralen Parametern, wobei der erste Satz von zentralen Parametern größer ist als der zweite Satz von zentralen Parametern.According to some implementations, the first central network includes a first set of central parameters and the second central network includes a second set of central parameters, the first set of central parameters being greater than the second set of central parameters.

Der erste und der zweite Satz von zentralen Parametern können zum Beispiel den Parametern entsprechen, die den Betrieb des ersten beziehungsweise zweiten Netzwerks definieren. Diese Parameter können zum Beispiel jeweilige Gewichtungs- und/oder Biasparameter beinhalten. Mit anderen Worten können die ersten und zweiten zentralen Parameter des ersten und zweiten zentralen Netzwerks alle trainierbaren Parameter des jeweiligen zentralen Netzwerks beinhalten.For example, the first and second sets of central parameters may correspond to the parameters defining the operation of the first and second networks, respectively. These parameters can contain, for example, respective weighting and / or bias parameters. In other words, the first and second central parameters of the first and second central network can contain all trainable parameters of the respective central network.

Dass der erste Satz von zentralen Parametern größer ist als der zweite Satz von zentralen Parametern, kann so verstanden werden, dass die Anzahl von Parametern in dem ersten Satz größer ist als eine Anzahl von Parametern in dem zweiten Satz.That the first set of central parameters is greater than the second set of central parameters can be understood to mean that the number of parameters in the first set is greater than a number of parameters in the second set.

Diese Wahl kann eine effiziente Abwägung zwischen Genauigkeit und lokalen Rechenerfordernissen darstellen. Insbesondere sind die Erfordernisse hinsichtlich der lokalen Rechenressourcen und Speicherressourcen umso geringer, je kleiner der zweite Satz von zentralen Parametern und folglich die jeweiligen Sätze von lokalen Parametern der lokalen Netzwerke sind. Andererseits ist die Genauigkeit der Vorhersage des ersten zentralen Netzwerks umso größer, je größer der erste Satz von zentralen Parametern ist, was sich auf die Genauigkeit des zweiten zentralen Netzwerks und der lokalen Netzwerke überträgt. Die Genauigkeit der lokalen Netzwerke kann jedoch auch durch Anpassen der Größe des zweiten Satzes von zentralen Parametern und damit des lokalen Satzes von Parametern justiert werden.This choice can represent an efficient trade-off between accuracy and local computational requirements. In particular, the requirements with regard to the local computing resources and memory resources are lower, the smaller the second set of central parameters and consequently the respective sets of local parameters of the local networks are. On the other hand, the greater the first set of central parameters, the greater the accuracy of the prediction of the first central network, which is transferred to the accuracy of the second central network and the local networks. However, the accuracy of the local area networks can also be adjusted by adapting the size of the second set of central parameters and thus the local set of parameters.

Auf diese Weise kann durch Beschränkung der zugelassenen Schwellwerte für die gemeinsame Verlustfunktion während des zentralen Trainierens der zweite Satz von zentralen Parametern so klein wie möglich gemacht werden, während er so groß wie nötig gehalten wird, um die erforderliche Genauigkeit zu erfüllen.In this way, by restricting the allowed thresholds for the joint loss function during central training, the second set of central parameters can be made as small as possible while being as large as necessary to meet the required accuracy.

Gemäß einigen Ausführungen ist ein vordefinierter Grad an Komplexität des ersten zentralen Netzwerks größer als der Grad an Komplexität des zweiten zentralen Netzwerks.According to some implementations, a predefined level of complexity of the first central network is greater than the level of complexity of the second central network.

Die Komplexität des ersten und des zweiten zentralen Netzwerks kann zum Beispiel direkt oder indirekt durch die Größe des jeweiligen Satzes von zentralen Parametern gegeben sein.The complexity of the first and the second central network can be given, for example, directly or indirectly by the size of the respective set of central parameters.

Der Grad an Komplexität kann zum Beispiel einer Anzahl von verborgenen Schichten oder einer Anzahl von Aktivierungsschichten des jeweiligen zentralen Netzwerks entsprechen.The degree of complexity can, for example, correspond to a number of hidden layers or a number of activation layers of the respective central network.

Der Grad an Komplexität kann auch durch die Gesamtzahl der Verbindungen zwischen künstlichen Neuronen in dem jeweiligen Netzwerk gegeben sein.The degree of complexity can also be given by the total number of connections between artificial neurons in the respective network.

Gemäß einigen Ausführungen ist das erste zentrale Netzwerk als ein volles neuronales Netzwerk oder ein tiefes neuronales Netzwerk ausgebildet. Insbesondere hat das erste zentrale Netzwerk mindestens zwei, vorzugsweise drei oder mehr, verborgene Schichten.According to some implementations, the first central network is designed as a full neural network or a deep neural network. In particular, the first central network has at least two, preferably three or more, hidden layers.

Gemäß einigen Ausführungen ist das erste zentrale Netzwerk als ein vorwärtsgesteuertes (englisch: „feed-forward“) neuronales Netzwerk, als ein Rekurrentes neuronales Netzwerk, RNN, oder als ein faltendes neuronales Netzwerk, CNN, ausgebildet.According to some embodiments, the first central network is designed as a feed-forward neural network, as a recurrent neural network, RNN, or as a folding neural network, CNN.

Gemäß einigen Ausführungen beinhaltet das zweite zentrale Netzwerk genau eine verborgene Schicht oder genau eine Schicht von Aktivierungen.According to some embodiments, the second central network contains exactly one hidden layer or exactly one layer of activations.

Das zweite zentrale Netzwerk kann zum Beispiel gemäß den Gleichungen (4) und (5) von Ravi definiert sein.The second central network can be defined according to equations (4) and (5) of Ravi, for example.

Gemäß dem verbesserten Konzept wird auch ein Verfahren zum wenigstens teilweise automatischen Führen eines Fahrzeugs bereitgestellt. Das Fahrzeug beinhaltet ein Speicherelement, das ein lokales künstliches neuronales Netzwerk speichert, und das Verfahren beinhaltet es, das lokale Netzwerk unter Verwendung eines Verfahrens zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke zum wenigstens teilweise automatischen Führen jeweiliger Fahrzeuge gemäß dem verbesserten Konzept zu trainieren. Das Verfahren beinhaltet es des Weiteren, weitere Sensordaten, die eine Umgebung des Fahrzeugs darstellen, unter Verwendung eines Umfeldsensorsystems des Fahrzeugs zu erzeugen. Das Verfahren beinhaltet es des Weiteren, weitere Ausgabedaten abhängig von den weiteren Sensordaten unter Verwendung des trainierten lokalen Netzwerks zu erzeugen und das Fahrzeug abhängig von den weiteren Ausgabedaten, insbesondere unter Verwendung einer Recheneinheit des Fahrzeugs, wenigstens teilweise automatisch zu führen.According to the improved concept, a method for at least partially automatic driving of a vehicle is also provided. The vehicle includes a storage element that stores a local artificial neural network, and the method includes training the local network using a method for training one or more local artificial neural networks to at least partially automatically drive respective vehicles according to the improved concept. The method also includes generating further sensor data that represent the surroundings of the vehicle using an environment sensor system of the vehicle. The method also includes generating further output data depending on the further sensor data using the trained local network and at least partially automatically guiding the vehicle depending on the further output data, in particular using a computer unit of the vehicle.

Insbesondere kann das Fahrzeug ein elektronisches Fahrzeugführungssystem beinhalten, das als ein lokales Gerät gemäß den obigen Darlegungen betrachtet werden kann, wobei das elektronische Fahrzeugführungssystem das Umfeldsensorsystem, das Speicherelement und die Recheneinheit beinhaltet.In particular, the vehicle can contain an electronic vehicle guidance system that can be viewed as a local device in accordance with the explanations above, the electronic vehicle guidance system including the environment sensor system, the memory element and the computing unit.

Das Erzeugen der weiteren Ausgabedaten kann es zum Beispiel beinhalten, weitere Eingabedaten abhängig von den weiteren Sensordaten unter Verwendung der Recheneinheit des Fahrzeugs zu erzeugen und die weiteren Eingabedaten als eine Eingabe an das trainierte lokale Netzwerk bereitzustellen.The generation of the further output data can include, for example, generating further input data as a function of the further sensor data using the computing unit of the vehicle and providing the further input data as an input to the trained local network.

Die lokalen Ausgabedaten gemäß dem Trainieren können zum wenigstens teilweise automatischen Führen des Fahrzeugs benutzt werden oder nicht. Mit anderen Worten können die lokalen Ausgabedaten für das Trainieren gemäß dem Verfahren zum Trainieren eines oder mehrerer künstlicher neuronaler Netzwerke gemäß dem verbesserten Konzept auch weiteren lokalen Ausgabedaten zum wenigstens teilweise automatischen Führen des Fahrzeugs entsprechen oder diese beinhalten.The local output data according to the training may or may not be used for at least partially automatic driving of the vehicle. In other words, the local output data for training according to the method for training one or more artificial neural networks according to the improved concept can also correspond to or contain further local output data for at least partially automatic driving of the vehicle.

Gemäß dem verbesserten Konzept wird auch ein Trainingssystem zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke bereitgestellt. Das Trainingssystem beinhaltet eines oder mehrere lokale Geräte, wobei jedes lokale Gerät eines, insbesondere genau eines, des einen oder der mehreren künstlichen neuronalen Netzwerke beinhaltet. Das Trainingssystem beinhaltet ein Serversystem, wobei das Serversystem, insbesondere ein Serverspeicherelement des Serversystems, ein erstes zentrales künstliches Netzwerk und ein zweites zentrales künstliches Netzwerk speichert. Das Serversystem beinhaltet eine Serverrecheneinheit, die dazu eingerichtet ist, das erste zentrale Netzwerk und das zweite zentrale Netzwerk unter Verwendung einer vordefinierten gemeinsamen Verlustfunktion basierend auf den initialen Trainingsdaten initial zu trainieren, wobei die initialen Trainingsdaten zum Beispiel auf dem Serverspeicherelement des Serversystems gespeichert sind, wobei das zweite zentrale Netzwerk dazu trainiert ist, das erste zentrale Netzwerk nachzuahmen. Jedes der lokalen Geräte beinhaltet eine jeweilige Recheneinheit, die dazu eingerichtet ist, das jeweilige lokale Netzwerk als eine jeweilige Kopie des initial trainierten zweiten zentralen Netzwerks initial zu erzeugen, lokale Sensordaten von einem Umfeldsensorsystem des jeweiligen lokalen Geräts zu erhalten und das initial erzeugte lokale Netzwerk abhängig von den lokalen Sensordaten lokal zu trainieren.According to the improved concept, a training system for training one or more local artificial neural networks is also provided. The training system includes one or more local devices, each local device including one, in particular exactly one, of the one or more artificial neural networks. The training system contains a server system, the server system, in particular a server storage element of the server system, storing a first central artificial network and a second central artificial network. The server system includes a server computing unit which is set up to initially train the first central network and the second central network using a predefined common loss function based on the initial training data, the initial training data being stored on the server storage element of the server system, for example the second central network is trained to mimic the first central network. Each of the local devices contains a respective arithmetic unit which is set up to initially generate the respective local network as a respective copy of the initially trained second central network, to receive local sensor data from an environment sensor system of the respective local device and the initially generated local To train the network locally depending on the local sensor data.

Gemäß einigen Ausführungen sind das eine oder die mehreren lokalen Geräte als jeweilige lokale Geräte zum wenigstens teilweise automatischen Führen jeweiliger Fahrzeuge, beispielsweise als jeweilige elektronische Fahrzeugführungssysteme ausgestaltet. Weitere Ausführungen des Trainingssystems gemäß dem verbesserten Konzept ergeben sich direkt aus den verschiedenen Ausführungen des Verfahrens zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke gemäß dem verbesserten Konzept und aus den verschiedenen Ausführungen des Verfahrens zum Führen eines Fahrzeugs gemäß dem verbesserten Konzept beziehungsweise umgekehrt.According to some embodiments, the one or more local devices are configured as respective local devices for at least partially automatic driving of respective vehicles, for example as respective electronic vehicle guidance systems. Further versions of the training system according to the improved concept result directly from the different versions of the method for training one or more local artificial neural networks according to the improved concept and from the different versions of the method for driving a vehicle according to the improved concept or vice versa.

Gemäß dem verbesserten Konzept wird auch ein elektronisches Fahrzeugführungssystem zum wenigstens teilweise automatischen Führen eines Fahrzeugs bereitgestellt, wobei das Fahrzeugführungssystem ein Speicherelement beinhaltet, das ein lokales künstliches neuronales Netzwerk speichert, das gemäß einem Verfahren zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke gemäß dem verbesserten Konzept trainiert worden ist. Das Fahrzeugführungssystem beinhaltet des Weiteren ein Umfeldsensorsystem, welches dazu eingerichtet ist, weitere Ausgabedaten abhängig von den weiteren Sensordaten unter Verwendung des trainierten lokalen Netzwerks zu erzeugen und das Fahrzeug abhängig von den weiteren Ausgabedaten wenigstens teilweise automatisch zu führen.According to the improved concept, an electronic vehicle guidance system for at least partially automatic guidance of a vehicle is also provided, the vehicle guidance system including a memory element that stores a local artificial neural network that is generated according to a method for training one or more local artificial neural networks according to the improved concept has been trained. The vehicle guidance system also includes an environment sensor system which is set up to generate additional output data as a function of the additional sensor data using the trained local network and to at least partially automatically guide the vehicle as a function of the additional output data.

Weitere Ausführungen des elektronischen Fahrzeugführungssystem ergeben sich unmittelbar aus den verschiedenen Ausführungen des Verfahrens zum Führen eines Fahrzeugs gemäß dem verbesserten Konzept und aus den verschiedenen Ausführungen des Trainingssystems gemäß dem verbesserten Konzept beziehungsweise umgekehrt.Further versions of the electronic vehicle guidance system result directly from the various versions of the method for driving a vehicle in accordance with the improved concept and from the various versions of the training system in accordance with the improved concept or vice versa.

Gemäß dem verbesserten Konzept wird auch ein Computerprogrammprodukt bereitgestellt. Das Computerprogrammprodukt beinhaltet einen zentralen Satz von Befehlen und für jedes von einem oder mehreren lokalen Geräten einen jeweiligen lokalen Satz von Befehlen. Wenn der zentrale Satz von Befehlen von einem Serversystem, insbesondere von einer Serverrecheneinheit, des Trainingssystems gemäß dem verbesserten Konzept ausgeführt wird und die lokalen Sätze von Befehlen von jeweiligen lokalen Geräten, insbesondere von jeweiligen Recheneinheiten der lokalen Geräte, des Trainingssystems gemäß dem verbesserten Konzept ausgeführt werden, veranlassen der zentrale Satz von Befehlen und die lokalen Sätze von Befehlen das Trainingssystem dazu, ein Verfahren zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke gemäß dem verbesserten Konzept durchzuführen.According to the improved concept, a computer program product is also provided. The computer program product contains a central set of commands and a respective local set of commands for each of one or more local devices. If the central set of commands is executed by a server system, in particular by a server computing unit, of the training system according to the improved concept and the local sets of commands are executed by respective local devices, in particular by respective processing units of the local devices, of the training system according to the improved concept , the central set of commands and the local sets of commands cause the training system to perform a method of training one or more local artificial neural networks according to the improved concept.

Das Computerprogrammprodukt kann als ein Satz von Computerprogrammen ausgebildet sein, die ein zentrales Computerprogramm mit einem zentralen Satz von Befehlen und ein jeweiliges lokales Computerprogramm für jedes der lokalen Geräte mit dem jeweiligen lokalen Satz von Befehlen beinhalten.The computer program product can be designed as a set of computer programs which contain a central computer program with a central set of commands and a respective local computer program for each of the local devices with the respective local set of commands.

Das Computerprogramm kann auch als ein Satz jeweiliger computerlesbarer Speichermedien ausgebildet sein, die jeweilige zentrale und lokale Sätze von Befehlen speichern.The computer program can also be designed as a set of respective computer-readable storage media that store respective central and local sets of commands.

Gemäß dem verbesserten Konzept wird ein weiteres Computerprogramm, das weitere Befehle beinhaltet, bereitgestellt. Wenn die weiteren Befehle von einem elektronischen Fahrzeugführungssystem gemäß dem verbesserten Konzept ausgeführt werden, veranlassen die weiteren Befehle das Fahrzeugführungssystem dazu, ein Verfahren zum Führen eines Fahrzeugs gemäß dem verbesserten Konzept durchzuführen. Gemäß dem verbesserten Konzept wird auch ein weiteres computerlesbares Speichermedium, welches ein weiteres Computerprogramm gemäß dem verbesserten Konzept speichert, bereitgestellt.According to the improved concept, a further computer program that contains further instructions is provided. If the further commands are executed by an electronic vehicle guidance system in accordance with the improved concept, the further commands cause the vehicle guidance system to carry out a method for driving a vehicle in accordance with the improved concept. According to the improved concept, a further computer-readable storage medium which stores a further computer program according to the improved concept is also provided.

Weitere Merkmale der Erfindung ergeben sich aus den Ansprüchen, den Figuren und der Figurenbeschreibung. Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen verwendbar, ohne den Rahmen der Erfindung zu verlassen. Es sind somit auch Ausführungen von der Erfindung als umfasst und offenbart anzusehen, die in den Figuren nicht explizit gezeigt und erläutert sind, jedoch durch separierte Merkmalskombinationen aus den erläuterten Ausführungen hervorgehen und erzeugbar sind. Es sind auch Ausführungen und Merkmalskombinationen als offenbart anzusehen, die somit nicht alle Merkmale eines ursprünglich formulierten unabhängigen Anspruchs aufweisen. Es sind darüber hinaus Ausführungen und Merkmalskombinationen, insbesondere durch die oben dargelegten Ausführungen, als offenbart anzusehen, die über die in den Rückbezügen der Ansprüche dargelegten Merkmalskombinationen hinausgehen oder von diesen abweichen.Further features of the invention emerge from the claims, the figures and the description of the figures. The features and combinations of features mentioned above in the description as well as the features and combinations of features mentioned below in the description of the figures and / or shown alone in the figures can be used not only in the specified combination, but also in other combinations without departing from the scope of the invention . There are thus also embodiments of the invention to be regarded as encompassed and disclosed, which are not explicitly shown and explained in the figures, but emerge and can be generated from the explained embodiments by means of separate combinations of features. Designs and combinations of features are also to be regarded as disclosed, which therefore do not have all the features of an originally formulated independent claim. In addition, designs and combinations of features, in particular through the statements set out above, are to be regarded as disclosed which go beyond the combinations of features set forth in the back-references of the claims or differ from them.

In den Figuren zeigen:

  • 1 eine schematische Darstellung einer beispielhaften Ausführung eines Trainingssystems gemäß dem verbesserten Konzept; und
  • 2 ein Flussdiagramm einer beispielhaften Ausführungsform eines Verfahrens gemäß dem verbesserten Konzept.
In the figures show:
  • 1 a schematic representation of an exemplary embodiment of a training system according to the improved concept; and
  • 2 a flow diagram of an exemplary embodiment of a method according to the improved concept.

In 1 ist eine beispielhafte Ausführung eines Trainingssystems 1 gemäß dem verbesserten Konzept schematisch gezeigt.In 1 is an exemplary implementation of a training system 1 shown schematically according to the improved concept.

Das Trainingssystem beinhaltet ein Serversystem 2 und eine Vielzahl von lokalen Geräten 7a, 7b, 7c. Die lokalen Geräte 7a, 7b, 7c können zum Beispiel in den jeweiligen Fahrzeugen 11a, 11b, 11c enthalten sein und können zum Beispiel als jeweilige elektronische Fahrzeugführungssysteme der jeweiligen Fahrzeuge 11a, 11b, 11c ausgebildet sein.The training system includes a server system 2 and a variety of local devices 7a , 7b , 7c . The local devices 7a , 7b , 7c can for example in the respective vehicles 11a , 11b , 11c be included and can, for example, as the respective electronic vehicle guidance systems of the respective vehicles 11a , 11b , 11c be trained.

Das Serversystem 2 beinhaltet eine Serverrecheneinheit 6 und ein Serverspeicherelement 3. Das Serverspeicherelement 3 speichert ein erstes zentrales künstliches neuronales Netzwerk 4 und ein zweites zentrales künstliches neuronales Netzwerk 5.The server system 2 includes a server computing unit 6th and a server storage element 3 . The server storage element 3 stores a first central artificial neural network 4th and a second central artificial neural network 5 .

Jedes der lokalen Geräte 7a, 7b, 7c beinhaltet eine jeweilige Recheneinheit 8a, 8b, 8c, ein jeweiliges lokales Speicherelement 9a, 9b, 9c sowie ein jeweiliges Sensorsystem 10a, 10b, 10c, wie etwa ein Kamerasystem.Any of the local devices 7a , 7b , 7c contains a respective computing unit 8a , 8b , 8c , a respective local storage element 9a , 9b , 9c as well as a respective sensor system 10a , 10b , 10c such as a camera system.

Die Funktion des Trainingssystems 1 wird im Folgenden genauer anhand von beispielhaften Ausführungen eines Verfahrens zum Trainieren eines oder mehrerer künstlicher neuronaler Netzwerke gemäß dem verbesserten Konzept und insbesondere mit Bezug auf 2 erläutert.The function of the training system 1 will be described in more detail below on the basis of exemplary embodiments of a method for training one or more artificial neural networks according to the improved concept and in particular with reference to FIG 2 explained.

2 zeigt ein Flussdiagramm einer beispielhaften Ausführung eines Verfahrens zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke gemäß dem verbesserten Konzept. 2 FIG. 3 shows a flow diagram of an exemplary embodiment of a method for training one or more local artificial neural networks according to the improved concept.

In Schritt S1 des Verfahrens werden das erste zentrale Netzwerk 4 und das zweite zentrale Netzwerk 5 von der Serverrecheneinheit 6 unter Verwendung einer von Ravi beschriebenen Herangehensweise erzeugt.In step S1 of the procedure will be the first central network 4th and the second central network 5 from the server computing unit 6th using an approach described by Ravi.

Das erste und das zweite zentrale Netzwerk 4, 5 können als ein neuronales Projektionsnetzwerk, wie beispielsweise mit Bezug auf 1 von Ravi beschrieben, betrachtet werden.The first and the second central network 4th , 5 can be used as a projection neural network, such as referring to FIG 1 described by Ravi.

Insbesondere entspricht das erste zentrale Netzwerk 4 einem Trainingsnetzwerk und das zweite zentrale Netzwerk 5 entspricht einem Projektionsnetzwerk. Das erste zentrale Netzwerk 4 kann zwei oder mehr verborgene Schichten 14 beinhalten, während das Projektionsnetzwerk 5 oder das zweite zentrale Netzwerk 5 eine einzige Schicht von Aktivierungen 13 enthalten kann. Das Bereitstellen eines Eingabemerkmalsvektors an jedes der zentralen Netzwerke 4, 5 führt zu einer jeweiligen Vorhersage des ersten zentralen Netzwerks 4 und einer jeweiligen Vorhersage des zweiten zentralen Netzwerks 5. Dabei werden die Verbindung der Merkmalsvektoreingaben mit den individuellen Neuronen der verborgenen Schichten 14 und der Zwischenschichtkopplung zwischen Neuronen der verschiedenen verborgenen Schichten 14 sowie die Kopplung der verborgenen Schichten 14 an eine Softmax-Schicht des ersten zentralen Netzwerks 4 durch Gewichtungs- und Biasparameter des ersten zentralen Netzwerks 4 definiert.In particular, corresponds to the first central network 4th a training network and the second central network 5 corresponds to a projection network. The first central network 4th can have two or more hidden layers 14th include while the projection network 5 or the second central network 5 a single layer of activations 13th may contain. Providing an input feature vector to each of the central networks 4th , 5 leads to a respective prediction of the first central network 4th and a respective prediction of the second central network 5 . Thereby the connection of the feature vector inputs with the individual neurons of the hidden layers 14th and the interlayer coupling between neurons of the different hidden layers 14th as well as the coupling of the hidden layers 14th to a Softmax layer of the first central network 4th by weighting and bias parameters of the first central network 4th Are defined.

Im Fall des zweiten zentralen Netzwerks 5 kann der Merkmalsvektor an die Schicht von Aktivierungen 13 mittels eines Satzes von Projektionsfunktionen 12 übertragen werden, was den Eingabemerkmalsvektor in d-bit Vektoren, einen je pro Projektionsfunktion, umwandeln kann.In the case of the second central network 5 the feature vector can be attached to the layer of activations 13th by means of a set of projection functions 12th which can convert the input feature vector into d-bit vectors, one per projection function.

Danach werden das erste und das zweite zentrale Netzwerk 4, 5 basierend auf initialen Trainingsdaten 15, die auf dem Serverspeicherelement 3 gespeichert sein können, unter Verwendung einer gemeinsamen Verlustfunktion initial trainiert. Insbesondere können die zentralen Netzwerke 4, 5 gemeinsam trainiert werden, um die gemeinsame Verlustfunktion zu optimieren, wie durch Gleichungen (1) und (2) von Ravi definiert: L = λ 1 L 1 ( . ) + λ 2 L 2 ( . ) + λ 3 L 3 ( . )

Figure DE102020105485A1_0001
L 1 ( . ) =  D [ h 4 ( x _ i ) , y ^ i ]
Figure DE102020105485A1_0002
L2 ( . ) =  D [ h 5 ( x _ i ) ,h 4 ( x _ i ) ]
Figure DE102020105485A1_0003
L3 ( . ) =  D [ h 5 ( x _ i ) , y ^ i ]
Figure DE102020105485A1_0004
After that, the first and the second central network 4th , 5 based on initial training data 15th that are on the server storage element 3 can be stored, initially trained using a common loss function. In particular, the central networks 4th , 5 trained together to optimize the common loss function as defined by equations (1) and (2) of Ravi: L. = λ 1 L. 1 ( . ) + λ 2 L. 2 ( . ) + λ 3 L. 3 ( . )
Figure DE102020105485A1_0001
L. 1 ( . ) = D. [ H 4th ( x _ i ) , y ^ i ]
Figure DE102020105485A1_0002
L2 ( . ) = D. [ H 5 ( x _ i ) ,H 4th ( x _ i ) ]
Figure DE102020105485A1_0003
L3 ( . ) = D. [ H 5 ( x _ i ) , y ^ i ]
Figure DE102020105485A1_0004

Dabei stellt Σ eine Summe mit Summierungsindex i dar, der über eine Anzahl von Trainingsinstanzen läuft, x i stellt den Eingabemerkmalsvektor in dem Fall dar, dass das erste zentrale Netzwerk 4 als ein vorwärtsgesteuertes Netzwerk ausgebildet ist. ŷi, bezeichnet die Ground-Truth-Ausgabeklassen, die für das Trainieren des Netzwerks benutzt werden. h4 ist eine Parameterdarstellung der entsprechenden verborgenen Einheiten in dem ersten zentralen Netzwerk 4, die x i , in die jeweilige Ausgabevorhersage y4i transformiert. Des Weiteren stellt h5 die jeweiligen Parameter des zweiten zentralen Netzwerks 5 dar, welches die Eingabe in die entsprechenden Vorhersagen y5i transformiert. Eine jeweilige Softmax Aktivierungsschicht kann auf jedes der zentralen Netzwerke 4, 5 angewendet werden, um die jeweiligen Vorhersagen y4i und y5i zu berechnen. D bezeichnet eine den Fehler darstellende Abstandsfunktion. Für weitere Einzelheiten wird auf die Offenbarung von Ravi, darin insbesondere Abschnitt 3, verwiesen.Here, Σ represents a sum with summation index i, which runs over a number of training instances, x i represents the input feature vector in the event that the first central network 4th is designed as a feedforward network. ŷ i , denotes the ground truth output classes that are used for training the network. h 4 is a parametric representation of the corresponding hidden entities in the first central network 4th , which transforms x i into the respective output prediction y 4i . Furthermore, h 5 represents the respective parameters of the second central network 5 which transforms the input into the corresponding predictions y 5i . A respective Softmax activation layer can be applied to each of the central Networks 4th , 5 can be applied to calculate the respective predictions y 4i and y 5i. D denotes a distance function representing the error. For further details, see the disclosure of Ravi, in particular section 3 , referenced.

Durch gemeinsames Trainieren des ersten und des zweiten zentralen Netzwerks 4, 5 unter Verwendung der gemeinsamen Verlustfunktion wird das zweite zentrale Netzwerk 5 dazu trainiert, die von dem ersten zentralen Netzwerk 4 getroffenen Vorhersagen nachzuahmen.By training the first and the second central network together 4th , 5 using the common loss function becomes the second central network 5 trained to do so by the first central network 4th mimic predictions made.

Das von dem ersten zentralen Netzwerk 4 dargestellte große Modell und das von dem zweiten zentralen Netzwerk 5 dargestellte kleine Modell werden daher gleichzeitig trainiert, so dass das zweite zentrale Netzwerk 5 leichte und effizient zu berechnende Operationen im Bit-Raum mit geringem Speicherbedarf kodiert, wie von Ravi beschrieben.That from the first central network 4th the large model shown and that of the second central network 5 The small model shown are therefore trained at the same time, so that the second central network 5 easy and efficient to compute operations in bit space with low memory requirements, as described by Ravi.

Zum Beispiel kann das zweite zentrale Netzwerk 5 unter Verwendung eines LSH-Verfahrens (englisch: „Locality-Sensitive Hashing“, LSH) erzeugt werden. Auf diese Weise kann die Nächste-Nachbarn-Suche in hochdimensionalen Räumen näherungsweise oder exakt gelöst werden. Als ein Ergebnis kann das zweite zentrale Netzwerk 5 einer binären Anordnung der Eingabe entsprechen. Auf der anderen Seite ist das erste zentrale Netzwerk 4 so komplex, dass es alle Merkmale beinhaltet, die zu lernen oder zu lehren sind.For example, the second central network 5 using an LSH process (English: "Locality-Sensitive Hashing", LSH). In this way, the closest neighbor search in high-dimensional spaces can be solved approximately or exactly. As a result, the second central network can 5 correspond to a binary order of the input. On the other hand is the first central network 4th so complex that it includes all the features to be learned or taught.

Die gemeinsame Verlustfunktion in diesem Modell kann eine Kombination aus drei Verlusten sein, nämlich einem Verlust zwischen dem Lehrer-Netzwerk und der Ground Truth, einem Verlust zwischen dem Projektionsnetzwerk und der Ground Truth sowie einem Verlust zwischen dem Lehrernetzwerk und dem Projektionsnetzwerk.The common loss function in this model can be a combination of three losses, namely a loss between the teacher network and the ground truth, a loss between the projection network and the ground truth, and a loss between the teacher network and the projection network.

Tests haben gezeigt, dass es möglich ist, die Größe des zweiten zentralen Netzwerks 4 bei einer akzeptablen Zunahme der Fehlerrate bis zu 10- bis 15-fach zu verringern.Tests have shown that it is possible to increase the size of the second central network 4th with an acceptable increase in the error rate by up to 10 to 15 times.

In Schritt S2 werden die lokalen neuronalen Netzwerke der jeweiligen lokalen Geräte 7a, 7b, 7c initial erzeugt, indem das jeweilige initial trainierte zweite zentrale Netzwerk 5 kopiert und zum Beispiel über jeweilige Kommunikationsschnittstellen heruntergeladen wird.In step S2 become the local neural networks of the respective local devices 7a , 7b , 7c initially generated by the respective initially trained second central network 5 copied and downloaded, for example, via the respective communication interfaces.

In Schritt S3 des Verfahrens werden die auf diese Weise erzeugten lokalen Netzwerke abhängig von jeweiligen lokalen Sensordaten, die von den entsprechenden Umfeldsensorsystemen 10a, 10b, 10c erzeugt werden, lokal trainiert.In step S3 of the method, the local networks generated in this way are dependent on the respective local sensor data from the corresponding environment sensor systems 10a , 10b , 10c are generated, trained locally.

Zu diesem Zweck können mindestens zwei Szenarien verwendet werden. In dem ersten Szenario ahmen die lokalen Netzwerke das Verhalten des jeweiligen Fahrers des Fahrzeugs 11a, 11b, 11c nur nach, ohne die Steuerung des Fahrzeugs 11a, 11b, 11 c zu übernehmen. Das zweite Szenario entspricht einer Situation, bei der das jeweilige lokale Netzwerk so gut trainiert ist, dass es die Steuerung des Fahrzeugs 11a, 11b, 11c übernimmt bis der Fahrer unterbricht und die Steuerung wieder übernimmt.At least two scenarios can be used for this purpose. In the first scenario, the local networks imitate the behavior of the respective driver of the vehicle 11a , 11b , 11c just after, without controlling the vehicle 11a , 11b , 11 c to take over. The second scenario corresponds to a situation in which the respective local network is so well trained that it can control the vehicle 11a , 11b , 11c takes over until the driver interrupts and takes control again.

In jedem Fall können die Recheneinheiten 8a, 8b, 8c die jeweiligen Eingabedaten 16a, 16b, 16c von den Umfeldsensorsystemen 10a, 10b, 10c und die lokalen Netzwerke erbringen entsprechende Vorhersagen und Schlussfolgerungen. Die Vorhersagen und Schlussfolgerungen können auch als Ausgabedaten der lokalen Netzwerke betrachtet werden.In any case, the arithmetic units 8a , 8b , 8c the respective input data 16a , 16b , 16c from the environmental sensor systems 10a , 10b , 10c and the local networks provide corresponding predictions and conclusions. The predictions and conclusions can also be viewed as output data from the local area networks.

Insbesondere wird die Ausgabe der lokalen Verlustfunktionen, die aus den jeweiligen Sensoreingaben 16a, 16b, 16c resultieren, mit einem jeweiligen vordefinierten Schwellwert verglichen.In particular, the output of the local loss functions is derived from the respective sensor inputs 16a , 16b , 16c result, compared with a respective predefined threshold value.

Wenn die Ausgabe der lokalen Verlustfunktion höher ist als der Schwellwert, waren die jeweiligen lokalen Ausgabedaten nicht genau genug und das lokale Netzwerk kann zum Beispiel Rückpropagation anwenden, um seine eigenen Gewichtungen zu aktualisieren.If the output of the local loss function is higher than the threshold value, the respective local output data were not accurate enough and the local network can, for example, use back propagation to update its own weights.

Auf der anderen Seite detektieren die Recheneinheiten 8a, 8b, 8c jeweilige Handlungen des Fahrers, entweder durch Übernahme der Steuerung von dem automatischen Fahren oder durch manuelles Fahren des Fahrzeugs 11a, 11b, 11c, während das Netzwerk unproduktiv parallel läuft.On the other hand, the computing units detect 8a , 8b , 8c respective actions of the driver, either by taking control of the automatic driving or by manually driving the vehicle 11a , 11b , 11c , while the network runs unproductively in parallel.

Dann berechnen die Recheneinheiten 8a, 8b, 8c jeweilige lokale Verlustfunktionen durch Vergleichen der Fahrerhandlungen und der jeweiligen Logits des jeweiligen lokalen Netzwerks. Danach können die Recheneinheiten 8a, 8b, 8c die lokalen Parameter der jeweiligen lokalen Netzwerke entsprechend anpassen. Auf diese Weise werden die lokalen Netzwerke lokal trainiert.Then calculate the arithmetic units 8a , 8b , 8c respective local loss functions by comparing the driver's actions and the respective logits of the respective local network. Then the arithmetic units can 8a , 8b , 8c adapt the local parameters of the respective local networks accordingly. In this way, the local networks are trained locally.

In Schritt S4 übermitteln die Recheneinheiten 8a, 8b, 8c lokale Trainingsdaten abhängig von den modifizierten lokalen Parametern der lokalen Netzwerke an die Serverrecheneinheit 6. Die Serverrecheneinheit 6 kann eine Mittelung abhängig von den übermittelten lokalen Trainingsdaten durchführen. Insbesondere kann die Serverrecheneinheit 6 jeweilige Durchschnittsparameter oder Durchschnittsgewichtungen aus allen hochgeladenen lokalen Trainingsdaten berechnen, um die zweiten Parameter des zweiten zentralen Netzwerks 5 zu aktualisieren. Zum Beispiel können die Gewichtungen des zweiten zentralen Netzwerks 5 gemäß der folgenden Regel modifiziert werden: w t + 1 w t n g k n k /n

Figure DE102020105485A1_0005
In step S4 transmit the computing units 8a , 8b , 8c local training data depending on the modified local parameters of the local networks to the server computing unit 6th . The server computing unit 6th can perform an averaging depending on the transmitted local training data. In particular, the server computing unit 6th calculate respective average parameters or average weightings from all uploaded local training data to the second parameters of the second central network 5 to update. For example, the weightings of the second central network 5 modified according to the following rule: w t + 1 w t - n G k n k / n
Figure DE102020105485A1_0005

Dabei ist die modifizierte Gewichtung wt+i die vorherige Gewichtung wt des zweiten zentralen Netzwerks 5 abgezogen von der Lernrate n zusammen mit der Summierung aller Gradienten gk jedes lokalen Geräts und n ist die Gesamtanzahl der Gewichtungen aller hochgeladenen Netzwerke. Der Summationsindex k läuft über alle lokalen Geräte.The modified weighting w t + i is the previous weighting wt of the second central network 5 subtracted from the learning rate n together with the summation of all gradients g k of each local device and n is the total number of weightings of all uploaded networks. The summation index k runs over all local devices.

Die Serverrecheneinheit 6 vereinigt die hochgeladenen Daten aus den lokalen Geräten 7a, 7b, 7c mit ihren ursprünglichen Daten, um einen vergrößerten Datensatz für das Trainieren zu erhalten.The server computing unit 6th combines the uploaded data from the local devices 7a , 7b , 7c with their original data to obtain an enlarged data set for training.

Die neuen gemeinsam initialisierten Gewichtungen gemäß obiger Gleichung werden als das modifizierte kleinere zweite zentrale Netzwerk 5 benutzt. Danach können die Verfahrensschritte wiederholt werden, indem wie beschrieben mit Schritt S2 fortgefahren werden kann.The new jointly initialized weights according to the above equation are called the modified smaller second central network 5 used. The method steps can then be repeated as described with step S2 can be continued.

Bei manchen Ausführungen können die optionalen Verfahrensschritte S5 und S6 ausgeführt werden. Falls die Ausgabe der lokalen Verlustfunktion höher als der Schwellwert ist, können die jeweiligen Eingabedaten 16a, 16b, 16c als „interessant“ betrachtet werden und können in dem lokalen Speicherelement 9a, 9b, 9c für zukünftiges Hochladen gespeichert werden. Andererseits, wenn die Ausgabe der lokalen Verlustfunktion niedriger ist als der Schwellwert, kann es sein, dass es keine Rückpropagierung des lokalen Netzwerks gibt und die jeweiligen Bilddaten nicht weiter zum Trainieren verwendet werden.In some implementations, the optional process steps S5 and S6 are executed. If the output of the local loss function is higher than the threshold value, the respective input data 16a , 16b , 16c can be considered "interesting" and can be stored in the local storage element 9a , 9b , 9c saved for future upload. On the other hand, if the output of the local loss function is lower than the threshold value, it may be that there is no back propagation of the local network and the respective image data are no longer used for training.

Die als „interessant“ betrachteten Eingabedaten 16a, 16b, 16c können auf die Serverrecheneinheit 6 hochgeladen werden.The input data considered “interesting” 16a , 16b , 16c can access the server computing unit 6th uploaded.

Danach, in Schritt S6, kann die Serverrecheneinheit 6 die zentralen Netzwerke 4, 5 basierend auf den hochgeladenen interessanten Bildeingabedaten 16a, 16b, 16c zum Beispiel in Kombination mit den initialen Trainingsdaten 15 erneut trainieren.After that, in step S6 , the server computing unit can 6th the central networks 4th , 5 based on the uploaded interesting image input data 16a , 16b , 16c for example in combination with the initial training data 15th train again.

Dieses erneute Trainieren kann auch von der Modifizierung, die oben mit Hinblick auf Schritt S4 beschrieben wird, begleitet werden oder mit dieser kombiniert werden.This retraining can also benefit from the modification that was made above with regard to step S4 is described, accompanied or combined with it.

Da die Eingabedaten 16a, 16b, 16c nur in dem Fall hochgeladen werden, dass sie als „interessant“ betrachtet werden, mit anderen Worten in dem Fall, dass die jeweilige lokale Verlustfunktion größer ist als der entsprechende Schwellwert, kann die Bandweitennutzung bei minimalen Anfordernissen maximiert werden.Since the input data 16a , 16b , 16c are only uploaded in the event that they are considered “interesting”, in other words in the event that the respective local loss function is greater than the corresponding threshold value, the bandwidth utilization can be maximized with minimal requirements.

Während des Trainierens auf dem Server aus Schritt S1 können die initialen Trainingsdaten 15 unabhängig von jeglichem beitragenden Fahrzeug 11a, 11b, 11c verwendet werden.While training on the server from step S1 can use the initial training data 15th regardless of any contributing vehicle 11a , 11b , 11c be used.

Das Herunterladen der Informationen zum initialen Erzeugen der lokalen Netzwerke kann unter Verwendung von Over-the-Air-Technologie erfolgen.The information for initially generating the local networks can be downloaded using over-the-air technology.

Wie dargelegt, stellt das verbesserte Konzept leichtgewichtige adaptierbare lokale Netzwerke zur Verwendung in eingebetteten Systemen, beispielsweise in Motorrädern, dar.As stated, the improved concept represents lightweight, adaptable local area networks for use in embedded systems, for example in motorcycles.

Das Hochladen von Daten kann beschränkt sein, um eine effiziente Nutzung der verfügbaren Bandweite und ein verbessertes Datenschutzniveau sicherzustellen.The uploading of data can be restricted in order to ensure efficient use of the available bandwidth and an improved level of data protection.

Aufgrund der leichtgewichtigen Ausführung lokaler Netzwerke können Latenz und Leistungsverbrauch reduziert werden.Because local networks are lightweight, latency and power consumption can be reduced.

Mit anderen Worten werden Rechenkosten der lokalen Netzwerke reduziert und die Leistung der lokalen Netzwerke wird unter Verwendung neuer Daten und durch entsprechendes lokales Trainieren stetig verbessert. Insbesondere nutzt jedes der lokalen Geräte oder der lokalen Netzwerke Informationen, die von allen angeschlossenen lokalen Geräten gesammelt werden. Mit anderen Worten werden v die Fahrzeuge von dem Serversystem sowie voneinander lernen, während Datenschutz und Anonymität gewahrt sind.In other words, the computing costs of the local networks are reduced and the performance of the local networks is continuously improved by using new data and through appropriate local training. In particular, each of the local devices or local networks uses information collected from all connected local devices. In other words, the vehicles will learn from the server system and from each other while maintaining privacy and anonymity.

Claims (15)

Computerimplementiertes Verfahren zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke zum wenigstens teilweise automatischen Führen jeweiliger Fahrzeuge (11a, 11b, 11c), wobei jedes der lokalen Netzwerke auf einem jeweiligen lokalen Gerät (7a, 7b, 7c) eines jeweiligen Fahrzeugs (11a, 11b, 11c) gespeichert ist, wobei - ein erstes zentrales künstliches neuronales Netzwerk (4), das auf einem Serversystem (2) gespeichert ist, und ein zweites zentrales künstliches neuronales Netzwerk (5), das auf dem Serversystem (2) gespeichert ist, bereitgestellt werden; - das erste zentrale Netzwerk (4) und das zweite zentrale Netzwerk (5) basierend auf initialen Trainingsdaten (15) unter Verwendung einer vordefinierten gemeinsamen Verlustfunktion initial trainiert werden, wobei das zweite zentrale Netzwerk (5) dazu trainiert wird, das erste zentrale Netzwerk (4) nachzuahmen; und - jedes des einen oder der mehreren lokalen Netzwerke als eine jeweilige Kopie des initial trainierten zweiten zentralen Netzwerks (5) initial erzeugt wird; und - jedes des einen oder der mehreren lokalen Netzwerke abhängig von lokalen Sensordaten, die von einem Umfeldsensorsystem (10a, 10b, 10c) des jeweiligen lokalen Geräts (7a, 7b, 7c) erhalten werden, lokal trainiert wird.Computer-implemented method for training one or more local artificial neural networks for at least partially automatic driving of respective vehicles (11a, 11b, 11c), each of the local networks on a respective local device (7a, 7b, 7c) of a respective vehicle (11a, 11b , 11c), a first central artificial neural network (4) stored on a server system (2) and a second central artificial neural network (5) stored on the server system (2) being provided will; - The first central network (4) and the second central network (5) are initially trained based on initial training data (15) using a predefined common loss function, the second central network (5) being trained to use the first central network ( 4) imitate; and - each of the one or more local networks is initially generated as a respective copy of the initially trained second central network (5); and - each of the one or more local networks is locally trained as a function of local sensor data obtained from an environment sensor system (10a, 10b, 10c) of the respective local device (7a, 7b, 7c). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass - das eine oder die mehreren lokalen Netzwerke zwei oder mehr lokale Netzwerke enthält, wobei jedes der zwei oder mehr lokalen Netzwerke einen jeweiligen Satz von lokalen Parametern aufweist; - für jedes der zwei oder mehr lokalen Netzwerke - das lokale Trainieren eine Modifizierung des jeweiligen Satzes von lokalen Parametern enthält; und - lokale Trainingsdaten abhängig von dem modifizierten Satz von lokalen Parametern an das Serversystem (2) übermittelt werden; und - das zweite zentrale Netzwerk (5) abhängig von den übermittelten lokalen Trainingsdaten modifiziert wird.Procedure according to Claim 1 characterized in that - the one or more local area networks includes two or more local area networks, each of the two or more local area networks having a respective set of local parameters; - for each of the two or more local area networks - the local training includes a modification of the respective set of local parameters; and - local training data are transmitted to the server system (2) as a function of the modified set of local parameters; and - the second central network (5) is modified as a function of the transmitted local training data. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass jedes der zwei oder mehr lokalen Netzwerke gemäß dem modifizierten zweiten zentralen Netzwerk (5) aktualisiert wird.Procedure according to Claim 2 , characterized in that each of the two or more local area networks is updated according to the modified second central network (5). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass - für jedes des einen oder der mehreren lokalen Netzwerke, - lokale Eingabedaten (16a, 16b, 16c) basierend auf den jeweiligen lokalen Sensordaten erzeugt werden; - lokale Ausgabedaten abhängig von den lokalen Eingabedaten (16a, 16b, 16c) von dem jeweiligen lokalen Netzwerk erzeugt werden; und - abhängig von den lokalen Ausgabedaten die lokalen Eingabedaten (16a, 16b, 16c) an das Serversystem (2) übermittelt werden; und - das erste zentrale Netzwerk (4) und das zweite zentrale Netzwerk (5) basierend auf den übermittelten lokalen Eingabedaten (16a, 16b, 16c) unter Verwendung der gemeinsamen Verlustfunktion erneut trainiert werden.Method according to one of the preceding claims, characterized in that - for each of the one or more local networks - local input data (16a, 16b, 16c) are generated based on the respective local sensor data; - Local output data are generated as a function of the local input data (16a, 16b, 16c) from the respective local network; and - depending on the local output data, the local input data (16a, 16b, 16c) are transmitted to the server system (2); and - the first central network (4) and the second central network (5) are retrained based on the transmitted local input data (16a, 16b, 16c) using the common loss function. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das erste zentrale Netzwerk (4) und das zweite zentrale Netzwerk (5) basierend auf den initialen Trainingsdaten (15) unter Verwendung der gemeinsamen Verlustfunktion erneut trainiert werden.Procedure according to Claim 4 , characterized in that the first central network (4) and the second central network (5) are retrained based on the initial training data (15) using the common loss function. Verfahren nach einem der Ansprüche 4 oder 5, dadurch gekennzeichnet, dass jedes der zwei oder mehr lokalen Netzwerke gemäß dem erneut trainierten zweiten zentralen Netzwerk (5) aktualisiert wird.Method according to one of the Claims 4 or 5 , characterized in that each of the two or more local area networks is updated according to the retrained second central network (5). Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass für jedes des einen oder der mehreren lokalen Netzwerke, - eine Recheneinheit (8a, 8ab, 8c) des jeweiligen lokalen Geräts (7a, 7b, 7c) dazu benutzt wird, einen Wert einer vordefinierten lokalen Verlustfunktion abhängig von den jeweiligen lokalen Ausgabedaten zu berechnen; - die lokalen Eingabedaten (16a, 16b, 16c) nur dann an das Serversystem (2) übermittelt werden, wenn der berechnete Wert der lokalen Verlustfunktion größer als ein vordefinierter Schwellwert ist.Method according to one of the Claims 4 until 6th , characterized in that for each of the one or more local networks, - a computing unit (8a, 8ab, 8c) of the respective local device (7a, 7b, 7c) is used to calculate a value of a predefined local loss function depending on the respective calculate local output data; - The local input data (16a, 16b, 16c) are only transmitted to the server system (2) if the calculated value of the local loss function is greater than a predefined threshold value. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für jedes des einen oder der mehreren Netzwerke, - eine Handlung eines Benutzers des jeweiligen Fahrzeugs (11a, 11b, 11c) unter Verwendung eines weiteren Sensorsystems des Fahrzeugs (11a, 11b, 11c) detektiert wird; - das lokale Trainieren des jeweiligen lokalen Netzwerks es beinhaltet, - eine Schlussfolgerung eines lokalen Netzwerks abhängig von den lokalen Sensordaten zu erzeugen; und - die Schlussfolgerung basierend auf der Handlung des Benutzers zu verifizieren.Method according to one of the preceding claims, characterized in that for each of the one or more networks, - an action by a user of the respective vehicle (11a, 11b, 11c) is detected using a further sensor system of the vehicle (11a, 11b, 11c) will; the local training of the respective local network includes generating a conclusion of a local network as a function of the local sensor data; and verify the conclusion based on the user's action. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass - das erste zentrale Netzwerk (4) einen ersten Satz von Parametern aufweist und das zweite zentrale Netzwerk (5) einen zweiten Satz von Parametern aufweist, wobei der erste Satz von Parametern größer ist als der zweite Satz von Parametern; und/oder - ein vordefinierter Komplexitätsgrad des ersten zentralen Netzwerks (4) größer ist als der Komplexitätsgrad des zweiten zentralen Netzwerks (5).Method according to one of the preceding claims, characterized in that - the first central network (4) has a first set of parameters and the second central network (5) has a second set of parameters, the first set of parameters being greater than that second set of parameters; and / or - a predefined degree of complexity of the first central network (4) is greater than the degree of complexity of the second central network (5). Verfahren zum wenigstens teilweise automatischen Führen eines Fahrzeugs (11a, 11b, 11c), wobei das Fahrzeug (11a, 11b, 11c) ein Speicherelement (9a, 9b, 9c) aufweist, welches ein lokales künstliches neuronales Netzwerk speichert, wobei das Verfahren es beinhaltet, - das lokale Netzwerk unter Anwendung eines Verfahrens nach einem der vorhergehenden Ansprüche zu trainieren; - weitere Sensordaten, die eine Umgebung des Fahrzeugs (11a, 11b, 11c) darstellen, unter Verwendung eines Umfeldsensorsystems (10a, 10b, 10c) des Fahrzeugs (11a, 11b, 11c) zu erzeugen; - weitere Ausgabedaten abhängig von den weiteren Sensordaten unter Verwendung des trainierten lokalen Netzwerks zu erzeugen; und - das Fahrzeug (11a, 11b, 11c) abhängig von den weiteren Ausgabedaten wenigstens teilweise automatisch zu führen.A method for at least partially automatic driving of a vehicle (11a, 11b, 11c), the vehicle (11a, 11b, 11c) having a memory element (9a, 9b, 9c) which stores a local artificial neural network, the method including it , - to train the local network using a method according to one of the preceding claims; - to generate further sensor data representing the surroundings of the vehicle (11a, 11b, 11c) using an surroundings sensor system (10a, 10b, 10c) of the vehicle (11a, 11b, 11c); generate further output data depending on the further sensor data using the trained local network; and - to drive the vehicle (11a, 11b, 11c) at least partially automatically depending on the further output data. Trainingssystem zum Trainieren eines oder mehrerer lokaler künstlicher neuronaler Netzwerke, wobei - das Trainingssystem (1) eines oder mehrere lokale Geräte (7a, 7b, 7c) zum wenigstens teilweise automatischen Führen jeweiliger Fahrzeuge (11a, 11b, 11c) aufweist, wobei jedes lokale Gerät (7a, 7b, 7c) eines oder mehrere lokale künstliche neuronale Netzwerke speichert; - das Trainingssystem (1) ein Serversystem (2) aufweist, das ein erstes zentrales künstliches neuronales Netzwerk (4) und ein zweites zentrales künstliches neuronales Netzwerk (5) speichert; - das Serversystem (2) eine Serverrecheneinheit (6) aufweist, die dazu eingerichtet ist, das erste zentrale Netzwerk (4) und das zweite zentrale Netzwerk (5) basierend auf initialen Trainingsdaten (15) unter Verwendung einer vordefinierten gemeinsamen Verlustfunktion zu trainieren, wobei das zweite zentrale Netzwerk (5) dazu trainiert wird, das erste zentrale Netzwerk (4) nachzuahmen; und - jedes der lokalen Geräte (7a, 7b, 7c) eine jeweilige Recheneinheit (8a, 8b, 8c) aufweist, die dazu eingerichtet ist, - das jeweilige lokale Netzwerk als eine jeweilige Kopie des initial trainierten zweiten zentralen Netzwerks (5) initial zu erzeugen; - lokale Sensordaten von einem Umfeldsensorsystem (10a, 10b, 10c) des jeweiligen lokalen Geräts (7a, 7b, 7c) zu erhalten; und - das lokale Netzwerk abhängig von den lokalen Sensordaten lokal zu trainieren.Training system for training one or more local artificial neural networks, whereby - the training system (1) has one or more local devices (7a, 7b, 7c) for at least partially automatic driving of respective vehicles (11a, 11b, 11c), each local device (7a, 7b, 7c) having one or more local artificial neural Networks stores; - The training system (1) has a server system (2) which stores a first central artificial neural network (4) and a second central artificial neural network (5); - The server system (2) has a server computing unit (6) which is set up to train the first central network (4) and the second central network (5) based on initial training data (15) using a predefined common loss function, with the second central network (5) is trained to imitate the first central network (4); and - each of the local devices (7a, 7b, 7c) has a respective computing unit (8a, 8b, 8c) which is set up to initially assign the respective local network as a respective copy of the initially trained second central network (5) produce; - to receive local sensor data from an environment sensor system (10a, 10b, 10c) of the respective local device (7a, 7b, 7c); and - to train the local network locally as a function of the local sensor data. Elektronisches Fahrzeugführungssystem zum wenigstens teilweise automatischen Führen eines Fahrzeugs (11a, 11b, 11c), wobei das Fahrzeugführungssystem (7a, 7b, 7c) - ein Speicherelement (9a, 9b, 9c) beinhaltet, das ein lokales künstliches neuronales Netzwerk speichert, das gemäß einem der Ansprüche 1 bis 9 trainiert ist; - ein Umfeldsensorsystem (10a, 10b, 10c) beinhaltet, das dazu eingerichtet ist, weitere Sensordaten zu erzeugen, die eine Umgebung des Fahrzeugs (11a, 11b, 11c) darstellen; - eine Recheneinheit beinhaltet, die dazu eingerichtet ist, - weitere Ausgabedaten abhängig von den weiteren Sensordaten unter Verwendung des trainierten lokalen Netzwerks zu erzeugen; und - das Fahrzeug (11a, 11b, 11c) abhängig von den weiteren Ausgabedaten wenigstens teilweise automatisch zu führen.Electronic vehicle guidance system for at least partially automatic guidance of a vehicle (11a, 11b, 11c), wherein the vehicle guidance system (7a, 7b, 7c) - contains a memory element (9a, 9b, 9c) that stores a local artificial neural network which, according to a the Claims 1 until 9 is trained; - Contains an environment sensor system (10a, 10b, 10c) which is set up to generate further sensor data which represent the environment of the vehicle (11a, 11b, 11c); Contains a computing unit which is set up to generate further output data as a function of the further sensor data using the trained local network; and - to drive the vehicle (11a, 11b, 11c) at least partially automatically as a function of the further output data. Computerprogrammprodukt, welches einen zentralen Satz von Befehlen und für jedes eines oder mehrerer lokaler Geräte (7a, 7b, 7c) einen jeweiligen lokalen Satz von Befehlen beinhaltet, wobei, wenn der zentrale Satz von Befehlen und die lokalen Sätze von Befehlen von einem Trainingssystem (1) gemäß Anspruch 11 ausgeführt werden, der zentrale Satz von Befehlen und die lokalen Sätze von Befehlen das Trainingssystem (1) dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen.Computer program product, which contains a central set of commands and for each one or more local devices (7a, 7b, 7c) a respective local set of commands, wherein, if the central set of commands and the local sets of commands from a training system (1 ) according to Claim 11 are executed, the central set of commands and the local sets of commands cause the training system (1) to implement a method according to one of the Claims 1 until 9 perform. Computerprogramm, welches Befehle beinhaltet, die, wenn sie durch ein elektronische Fahrzeugführungssystem (7a, 7b, 7c) nach Anspruch 12 ausgeführt werden, das elektronische Fahrzeugführungssystem (7a, 7b, 7c) dazu veranlassen, ein Verfahren nach Anspruch 10 durchzuführen.Computer program which contains commands which, when sent by an electronic vehicle control system (7a, 7b, 7c) according to Claim 12 are executed, cause the electronic vehicle guidance system (7a, 7b, 7c) to carry out a method according to Claim 10 perform. Computerlesbares Speichermedium, das ein Computerprogramm nach Anspruch 14 speichert.Computer-readable storage medium containing a computer program Claim 14 saves.
DE102020105485.8A 2020-03-02 2020-03-02 Training local artificial neural networks Pending DE102020105485A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020105485.8A DE102020105485A1 (en) 2020-03-02 2020-03-02 Training local artificial neural networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020105485.8A DE102020105485A1 (en) 2020-03-02 2020-03-02 Training local artificial neural networks

Publications (1)

Publication Number Publication Date
DE102020105485A1 true DE102020105485A1 (en) 2021-09-02

Family

ID=77271403

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020105485.8A Pending DE102020105485A1 (en) 2020-03-02 2020-03-02 Training local artificial neural networks

Country Status (1)

Country Link
DE (1) DE102020105485A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FELLICIOUS, Christofer: Transfer learning and organic computing for autonomous vehicles. arXiv preprint arXiv:1808.05443, 2018
RAVI, Sujith: Projectionnet: Learning efficient on-device deep networks using neural projections. arXiv preprint arXiv:1708.00630, 2017 (selbstgenannter Stand der Technik)
SPRYN, Mitchell [et al.]: Distributed deep reinforcement learning on the cloud for autonomous driving. In: Proceedings of the 1st International Workshop on Software Engineering for AI in Autonomous Systems. 2018. S. 16-22

Similar Documents

Publication Publication Date Title
EP2112568B1 (en) Method for computer-supported control and/or regulation of a technical system
DE102018109835A1 (en) Method and device for determining a network configuration of a neural network
DE102019131385A1 (en) SAFETY AND PERFORMANCE STABILITY OF AUTOMATION THROUGH UNSECURITY-LEARNED LEARNING AND CONTROL
DE102020207085A1 (en) METHOD OF CONTROLLING A ROBOT AND ROBOT CONTROL UNIT
WO2020187591A1 (en) Method and device for controlling a robot
DE102020212502A1 (en) BAYESAN CONTEXT AGGREGATION FOR NEURAL PROCESSES
DE102020103527A1 (en) LEARNING SYSTEMS AND PROCEDURES
DE102021109382A1 (en) SYSTEM AND PROCEDURE OF A MONOTON NEURAL OPERATOR NETWORK TECHNICAL FIELD
DE102019216232A1 (en) Method and device for providing a driving strategy for the automated driving of a vehicle
DE102021213118A1 (en) METHOD AND SYSTEM FOR BLACK-BOX UNIVERSAL LOW-QUERY ATTACKS
DE102020211648A1 (en) Apparatus and method for controlling a robotic device
DE102021114768A1 (en) Vehicle control using a neural network controller in combination with a model-based controller
DE102020105485A1 (en) Training local artificial neural networks
DE102018109851A1 (en) Method and device for determining a network configuration of a neural network
DE102020127051A1 (en) Method for determining safety-critical output values using a data analysis device for a technical entity
EP3650964B1 (en) Method for controlling or regulating a technical system
DE102020122979A1 (en) Method for providing a compressed, robust neural network and assistance device
DE102021204943A1 (en) META-SCHOOLED EVOLUTIONAL STRATEGY BLACKBOX OPTIMIZATION CLASSIFIER
DE102020214177A1 (en) Apparatus and method for training a control strategy using reinforcement learning
WO2021089499A1 (en) Method and system for checking an automated driving function by reinforcement learning
DE102019130484A1 (en) Method and device for training an ensemble of neural networks
DE202019103233U1 (en) Device for setting a hyperparameter
DE102019205081A1 (en) Method, device and computer program for operating a deep neural network
DE102022208082B3 (en) Method for controlling a technical system
DE102019119739A1 (en) Method and system for generating security-critical output values of an entity

Legal Events

Date Code Title Description
R163 Identified publications notified