DE102021126378A1 - Method and control arrangement for the combined training of a vehicle fleet - Google Patents

Method and control arrangement for the combined training of a vehicle fleet Download PDF

Info

Publication number
DE102021126378A1
DE102021126378A1 DE102021126378.6A DE102021126378A DE102021126378A1 DE 102021126378 A1 DE102021126378 A1 DE 102021126378A1 DE 102021126378 A DE102021126378 A DE 102021126378A DE 102021126378 A1 DE102021126378 A1 DE 102021126378A1
Authority
DE
Germany
Prior art keywords
vehicles
sub
model parameters
module
fleet
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
DE102021126378.6A
Other languages
German (de)
Inventor
Kuo-Yun Liang
Abhishek Srinivasan
Anders Vesterberg
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.)
Scania CV AB
Original Assignee
Scania CV AB
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 Scania CV AB filed Critical Scania CV AB
Priority to DE102021126378.6A priority Critical patent/DE102021126378A1/en
Publication of DE102021126378A1 publication Critical patent/DE102021126378A1/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
    • G06N3/098Distributed learning, e.g. federated learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Traffic Control Systems (AREA)

Abstract

Die vorliegende Offenbarung schlägt ein Verfahren und eine Steueranordnung für das Verbundtraining einer Flotte 100 von Fahrzeugen 1 vor. Das Verfahren umfasst das Unterteilen S1, S3 von Fahrzeugen der Flotte 100 in mehrere erste Teilmengen VA, VB und zweite Teilmengen DA, DB. Das Verfahren umfasst auch das Empfangen S4 von angepassten Modellparametern und das Aggregieren S6 von angepassten Modellparametern des ersten Untermoduls unter Fahrzeugen, die zu derselben ersten Teilmenge gehören, und das Aggregieren S7 von angepassten Modellparametern des zweiten Untermoduls unter Fahrzeugen, die zu derselben zweiten Teilmenge gehören. Das Verfahren umfasst ferner das Versehen S8 einzelner Fahrzeuge mit ersten aggregierten angepassten Modellparametern p31xdes ersten Untermoduls 31 auf der Grundlage einer ersten Teilmenge VX, zu der die jeweiligen Fahrzeuge gehören, und zweiten aggregierten angepassten Modellparametern p32ydes zweiten Untermoduls 32 auf der Grundlage einer zweiten Teilmenge DY, zu der die jeweiligen Fahrzeuge 1 ebenfalls gehören.The present disclosure proposes a method and control arrangement for federated training of a fleet 100 of vehicles 1 . The method includes the subdivision S1, S3 of vehicles of the fleet 100 into several first subsets VA, VB and second subsets DA, DB. The method also includes receiving S4 adjusted model parameters and aggregating S6 adjusted model parameters of the first sub-module among vehicles belonging to the same first subset, and aggregating S7 adjusted model parameters of the second sub-module among vehicles belonging to the same second subset. The method further includes providing S8 individual vehicles with first aggregated customized model parameters p31x of the first sub-module 31 based on a first subset VX to which the respective vehicles belong, and second aggregated customized model parameters p32y of the second sub-module 32 based on a second subset DY, to which the respective vehicles 1 also belong.

Description

Technisches Gebiettechnical field

Die vorliegende Offenbarung betrifft maschinelles Lernen. Insbesondere betrifft die Offenbarung ein Verfahren und eine Steueranordnung für das Verbundtraining einer Fahrzeugflotte. Die Offenbarung betrifft ferner ein Computerprogramm, ein computerlesbares Medium und ein Fahrzeug.The present disclosure relates to machine learning. In particular, the disclosure relates to a method and a control arrangement for collaborative training of a fleet of vehicles. The disclosure further relates to a computer program, a computer-readable medium, and a vehicle.

Hintergrundbackground

Verbund- oder kollaboratives Lernen ist ein verteiltes maschinelles Lernverfahren, bei dem ein Algorithmus oder ein Modell durch mehrere Geräte trainiert wird, während die Daten auf jedem einzelnen Gerät verbleiben. Der Artikel „Communication-Efficient Learning of Deep Networks from Decentralized Data“ von H. Brendan McMahan, Eider Moore, Daniel Ramage, Seth Hampson, Blaise Agüera y Arcas, 2017 prägte den Begriff des Verbundlernens und zeigte große Erfolge bei der Anwendung dieses Verfahrens mit tiefen neuronalen Netzen (deep neural network, DNN). Verbundlernen wird auf IoT-Geräten (Internet of Things, Internet der Dinge), auch Randgeräte genannt, eingesetzt. In einem Fahrzeug könnte ein Randgerät ein Steuergerät (Electronic Control Unit, ECU) sein.Federated or collaborative learning is a distributed machine learning technique in which an algorithm or model is trained by multiple devices while the data resides on each individual device. The article "Communication-Efficient Learning of Deep Networks from Decentralized Data" by H. Brendan McMahan, Eider Moore, Daniel Ramage, Seth Hampson, Blaise Agüera y Arcas, 2017 coined the term of collaborative learning and showed great success in the application of this method deep neural networks (DNN). Federated learning is deployed on Internet of Things (IoT) devices, also known as edge devices. In a vehicle, an edge device could be an electronic control unit (ECU).

Ein grundlegender Algorithmus für Verbundlernen ist FedAvg (Federated Averaging). Bei der föderierten Mittelwertbildung initiiert ein zentraler Server ein Modell und sendet dieses an eine Vielzahl von Randgeräten. Jedes Randgerät trainiert sein jeweiliges Modell und sendet die angepassten Modellparameter aus dem Training zurück an einen zentralen Server. Der zentrale Server mittelt alle eingehenden Modellparameter und sendet diese dann zurück an alle beteiligten Geräte zur Verwendung in den jeweiligen Randgeräten. Ein häufiges Problem besteht darin, dass die Daten eines einzelnen Randgeräts eine andere Datenverteilung aufweisen als die anderer Randgeräte, d. h. nicht identisch und nicht unabhängig sind (non-identical and non-independent, non-IID), was zu einer schlechten Leistung des Durchschnittsmodells führt. Um das Problem der non-IID-Daten zwischen Randgeräten zu lösen, schlagen die Autoren in dem Artikel „Federated Learning with Personalization Layers“, 2019, M.G. Arivazhagan, V. Aggarwal, A.K. Singh und S. Choudhary, ein Verfahren vor, bei dem nur ein Teil der DNN-Gewichte föderiert wird. In der Regel werden die Eingabeschicht und einige verborgene Schichten föderal trainiert, während die Endschichten und die Ausgabeschicht (von den Autoren als Personalisierungsschicht bezeichnet) nur in dem Randgerät trainiert werden. Das bedeutet, dass die grundlegenden Merkmale gemeinsam gelernt werden, während die komplexeren Merkmale auf jedes Gerät zugeschnitten und einzeln gelernt werden.A basic algorithm for federated learning is FedAvg (Federated Averaging). In federated averaging, a central server initiates a model and sends it to a variety of edge devices. Each edge device trains its respective model and sends the adjusted model parameters from the training back to a central server. The central server averages all incoming model parameters and then sends them back to all devices involved for use in the respective edge devices. A common problem is that the data from a single edge device has a different data distribution than that of other edge devices; H. are non-identical and non-independent (non-IID), resulting in poor performance of the average model. To solve the problem of non-IID data between edge devices, in the article "Federated Learning with Personalization Layers", 2019, M.G. Arivazhagan, V. Aggarwal, A.K. Singh and S. Choudhary propose a method in which only part of the DNN weights are federated. Typically, the input layer and some hidden layers are trained federally, while the tail layers and the output layer (called the personalization layer by the authors) are only trained in the edge device. This means that the basic features are learned together, while the more complex features are tailored to each device and learned individually.

Ein Problem beim Einsatz von Verbundtraining in Fahrzeugen besteht jedoch darin, Unterschiede sowohl in der Konfiguration, wie z. B. unterschiedlich gebaute Fahrzeuge, als auch in der Nutzung und im Betrieb der Fahrzeuge (d. h. unterschiedliche Datenverteilung) zu bewältigen und dabei trotzdem die Vorteile des Verbundtrainings zu nutzen.A problem with the use of compound training in vehicles, however, is that differences in both the configuration, e.g. B. differently built vehicles, as well as in the use and operation of the vehicles (i.e. different data distribution) and still use the advantages of the network training.

ZusammenfassungSummary

Aufgabe der Offenbarung ist es, wenigstens einige der Nachteile des Standes der Technik zu beseitigen. Es ist also Aufgabe dieser Offenbarung, Verbundtrainingsverfahren bereitzustellen, die sowohl mit unterschiedlich gebauten Fahrzeugen als auch mit unterschiedlicher Nutzung und unterschiedlichem Betrieb der Fahrzeuge (d. h. unterschiedlicher Datenverteilung) umgehen können.The object of the disclosure is to eliminate at least some of the disadvantages of the prior art. Thus, it is an object of this disclosure to provide federated training methods that can handle vehicles of different builds as well as different uses and operations of the vehicles (i.e., different data distribution).

Gemäß einem ersten Aspekt betrifft die Offenbarung ein Verfahren für das Verbundtraining einer Fahrzeugflotte. Das Verfahren umfasst das Unterteilen von Fahrzeugen der Flotte in mehrere erste Teilmengen von Fahrzeugen und das Unterteilen von Fahrzeugen der Flotte in mehrere sich von den ersten Teilmengen unterscheidenden zweite Teilmengen von Fahrzeugen. Das Verfahren umfasst ferner das Versehen von Fahrzeugen der Flotte mit jeweiligen maschinellen Lernmodellen, die die einzelnen Fahrzeuge repräsentieren, wobei jedes maschinelle Lernmodell ein erstes Untermodul und ein von dem ersten Untermodul unabhängiges zweites Untermodul umfasst und wobei das erste und das zweite Untermodul jeweilige Modellparameter umfassen, die angepasst werden, wenn das maschinelle Lernen in den Fahrzeugen fortschreitet. Das Verfahren umfasst ferner das Empfangen von angepassten Modellparametern des ersten und des zweiten Untermoduls, die in den jeweiligen Fahrzeugen erhalten wurden, von den Fahrzeugen der Flotte und das Aggregieren von angepassten Modellparametern des ersten Untermoduls bei Fahrzeugen, die zu derselben ersten Teilmenge gehören, und das Aggregieren von angepassten Modellparametern des zweiten Untermoduls bei Fahrzeugen, die zu derselben zweiten Teilmenge gehören. Das Verfahren umfasst ferner das Versehen einzelner Fahrzeuge der Flotte mit ersten aggregierten angepassten Modellparametern des ersten Untermoduls auf der Grundlage einer ersten Teilmenge, zu der die jeweiligen Fahrzeuge gehören, und mit zweiten aggregierten angepassten Modellparametern des zweiten Untermoduls auf der Grundlage einer zweiten Teilmenge, zu der die jeweiligen Fahrzeuge ebenfalls gehören. Dies ermöglicht effizientes maschinelles Lernen auch in einer Flotte mit einer Vielzahl von Fahrzeugen, die sich beispielsweise individuell in Konfiguration und Nutzung unterscheiden. Das vorgeschlagene Verfahren steigert die Leistung des maschinellen Lernens, das auf die Konfiguration und den Betrieb des einzelnen Fahrzeugs zugeschnitten werden kann. Mit der vorgeschlagenen Lösung wird ein modulares System für den Aufbau eines maschinellen Lernmodells in Abhängigkeit von dem Anwendungsfall eingeführt. Maschinelles Lernen hat viele Anwendungen in Fahrzeugen, und das vorgeschlagene Verfahren ist nicht auf einen bestimmten Bereich oder Anwendungsfall beschränkt.According to a first aspect, the disclosure relates to a method for collaborative training of a fleet of vehicles. The method includes dividing vehicles in the fleet into a plurality of first subsets of vehicles and dividing vehicles in the fleet into a plurality of second subsets of vehicles that differ from the first subsets. The method further includes providing vehicles in the fleet with respective machine learning models that represent the individual vehicles, each machine learning model comprising a first sub-module and a second sub-module independent of the first sub-module, and the first and second sub-modules comprising respective model parameters, which will be adjusted as machine learning progresses in vehicles. The method further includes receiving adjusted model parameters of the first and second sub-modules obtained in the respective vehicles from the vehicles of the fleet and aggregating adjusted model parameters of the first sub-module for vehicles belonging to the same first subset, and that Aggregating adjusted model parameters of the second sub-module at vehicles belonging to the same second subset. The method further includes providing individual vehicles of the fleet with first aggregated customized model parameters of the first sub-module based on a first subset to which the respective vehicles belong and second aggregated customized model parameters of the second sub-module based on a second subset to which the respective vehicles also belong. This enables efficient machine learning even in a fleet with a A large number of vehicles that differ individually, for example in terms of configuration and use. The proposed method increases the power of machine learning, which can be tailored to the configuration and operation of the individual vehicle. The proposed solution introduces a modular system for building a machine learning model depending on the use case. Machine learning has many applications in vehicles, and the proposed method is not limited to any particular area or use case.

In einigen Ausführungsformen umfasst das Verfahren das Unterteilen von Fahrzeugen der Flotte in mehrere erste Teilmengen auf der Grundlage der Ähnlichkeit der physikalischen Eigenschaften der Fahrzeuge. Dadurch kann die Leistung des maschinellen Lernens gesteigert werden, das auf die Konfiguration des einzelnen Fahrzeugs zugeschnitten ist. Das ist normalerweise machbar, da der Server, der das maschinelle Lernen durchführt, in der Regel die Konfigurationen der Fahrzeuge kennt.In some embodiments, the method includes dividing vehicles of the fleet into a plurality of first subsets based on the similarity in physical characteristics of the vehicles. This can increase the performance of machine learning tailored to the configuration of each vehicle. This is usually doable as the server running the machine learning usually knows the configurations of the vehicles.

In einigen Ausführungsformen umfasst das Verfahren das Unterteilen der Fahrzeuge der Flotte in mehrere zweite Teilmengen auf der Grundlage der Ähnlichkeit der derzeitigen Nutzung der Fahrzeuge. Dadurch kann das maschinelle Lernen bei Fahrzeugen mit ähnlicher Nutzung erfolgen, was von Vorteil ist, da die Nutzung lokale Minima der maschinellen Lernmodelle beeinflussen kann.In some embodiments, the method includes dividing the vehicles of the fleet into a plurality of second subsets based on the similarity of the vehicles' current usage. This allows machine learning to occur on vehicles with similar usage, which is beneficial as usage can affect local minima of the machine learning models.

In einigen Ausführungsformen basiert das Unterteilen der Fahrzeuge in zweite Teilmengen auf einem Ähnlichkeitsmaß der empfangenen angepassten Modellparameter. Auf diese Weise können Fahrzeuge mit ähnlicher Nutzung mit vertretbarem Aufwand identifiziert werden.In some embodiments, dividing the vehicles into second subsets is based on a similarity measure of the received adjusted model parameters. In this way, vehicles with similar use can be identified with reasonable effort.

In einigen Ausführungsformen umfassen die Modellparameter eines oder mehrere der folgenden Elemente: Gewichte und Eingabeparameter, Cluster, Koeffizienten und Moduldaten. Dies sind Beispiele für Parameter, die durch maschinelles Lernen angepasst werden können.In some embodiments, the model parameters include one or more of the following: weights and input parameters, clusters, coefficients, and modulus data. These are examples of parameters that can be adjusted using machine learning.

In einigen Ausführungsformen werden die angepassten Modellparameter des ersten und des zweiten Untermoduls von den Fahrzeugen in separate Blöcke aufgeteilt empfangen. Diesen Vorgang muss also nicht der Server durchführen, was den Prozess erleichtern kann.In some embodiments, the adjusted model parameters of the first and second sub-modules are received from the vehicles in separate blocks. The server does not have to do this, which can make the process easier.

In einigen Ausführungsformen werden die angepassten Modellparameter des ersten und des zweiten Untermoduls gemeinsam empfangen, wobei das Verfahren das Unterteilen der angepassten Modellparameter pro Untermodul umfasst. Für das Verfahren ist es daher nicht erforderlich, dass die Fahrzeuge die Meldung der angepassten Parameter pro Untermodul unterstützen.In some embodiments, the adjusted model parameters of the first and second sub-modules are received together, the method comprising dividing the adjusted model parameters per sub-module. The method therefore does not require the vehicles to support the reporting of the adjusted parameters per sub-module.

In einigen Ausführungsformen umfasst das Aggregieren die Berechnung von föderierten Mittelwerten der angepassten Modellparameter. Die Bildung föderierter Mittelwerte ist ein kommunikationseffizienter Algorithmus für das verteilte Training mit vielen Randgeräten.In some embodiments, aggregating includes calculating federated means of the fitted model parameters. Federated averaging is a communication-efficient algorithm for distributed training with many edge devices.

In einigen Ausführungsformen umfassen die Untermodule unabhängige Untermodelle mit strukturierten Schnittstellen dazwischen. Daher führen die Untermodule unabhängig voneinander Funktionen aus, ohne mit anderen Untermodulen zu interagieren.In some embodiments, the sub-modules comprise independent sub-models with structured interfaces between them. Therefore, the sub-modules perform functions independently without interacting with other sub-modules.

In einigen Ausführungsformen werden für die einzelnen Fahrzeuge der Flotte unterschiedliche maschinelle Lernmodelle bereitgestellt, je nachdem, zu welchen Teilmengen die einzelnen Fahrzeuge gehören. Dies ermöglicht maschinelles Lernen, während die Flexibilität bei der Gestaltung erhalten bleibt.In some embodiments, different machine learning models are provided for each vehicle in the fleet depending on which subset each vehicle belongs to. This enables machine learning while maintaining design flexibility.

Gemäß einem zweiten Aspekt betrifft die Offenbarung ein Verfahren zur Verwendung in einem Fahrzeug, um ein Verbundtraining einer Fahrzeugflotte zu ermöglichen. Das Verfahren umfasst das Empfangen eines maschinellen Lernmodells, das das Fahrzeug repräsentiert, von einem Server, wobei das maschinelle Lernmodell ein erstes Untermodul und ein von dem ersten Untermodul unabhängiges zweites Untermodul umfasst, wobei das erste und das zweite Untermodul jeweilige Modellparameter umfassen, die angepasst werden, wenn das maschinelle Lernen in dem Fahrzeug fortschreitet. Das Verfahren umfasst ferner das Trainieren des maschinellen Lernmodells in dem Fahrzeug und das Bereitstellen angepasster Modellparameter des ersten und des zweiten Untermoduls, die durch das Training erhalten wurden, an den Server. Das Verfahren umfasst ferner das Empfangen erster aggregierter aktualisierter Modellparameter von dem Server, die durch Aggregieren angepasster Modellparameter des ersten Untermoduls in einer ersten Teilmenge von Fahrzeugen erhalten werden, und zweiter aggregierter aktualisierter Modellparameter, die durch Aggregieren angepasster Modellparameter des zweiten Untermoduls in einer zweiten Teilmenge von Fahrzeugen erhalten werden.In a second aspect, the disclosure relates to a method for use in a vehicle to enable collaborative training of a fleet of vehicles. The method includes receiving a machine learning model representing the vehicle from a server, the machine learning model including a first sub-module and a second sub-module independent of the first sub-module, the first and second sub-modules including respective model parameters that are adjusted , as machine learning progresses in the vehicle. The method further includes training the machine learning model in the vehicle and providing adjusted model parameters of the first and second sub-modules obtained through the training to the server. The method further includes receiving from the server first aggregated updated model parameters obtained by aggregating adjusted model parameters of the first sub-module in a first subset of vehicles, and second aggregated updated model parameters obtained by aggregating adjusted model parameters of the second sub-module in a second subset of vehicles are obtained.

In einigen Ausführungsformen umfasst das Verfahren das Unterteilen der angepassten Modellparameter pro Untermodul und das Bereitstellen des ersten und des zweiten Untermoduls an den Server getrennt für die einzelnen Untermodule.In some embodiments, the method includes dividing the adjusted model parameters per sub-module and providing the first and second sub-modules to the server separately for each sub-module.

Gemäß einem dritten Aspekt betrifft die Offenbarung eine Steueranordnung, die derart konfiguriert ist, dass sie die Verfahren gemäß dem ersten und oder dem zweiten Aspekt durchführt.According to a third aspect, the disclosure relates to a control arrangement configured in such a way is guaranteed that it carries out the methods according to the first and/or the second aspect.

Gemäß einem vierten Aspekt betrifft die Offenbarung ein Computerprogramm, das Anweisungen enthält, die, wenn das Programm von einem Computer ausgeführt wird, den Computer veranlassen, das Verfahren gemäß dem ersten und/oder zweiten Aspekt auszuführen.According to a fourth aspect, the disclosure relates to a computer program containing instructions which, when the program is executed by a computer, cause the computer to carry out the method according to the first and/or second aspect.

Gemäß einem fünften Aspekt betrifft die Offenbarung ein computerlesbares Medium, das Anweisungen enthält, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen, das Verfahren gemäß dem ersten und/oder zweiten Aspekt auszuführen.According to a fifth aspect, the disclosure relates to a computer-readable medium containing instructions which, when executed by a computer, cause the computer to carry out the method according to the first and/or second aspect.

Figurenlistecharacter list

  • 1 zeigt eine Fahrzeugflotte, die in eine erste und eine zweite Teilmenge unterteilt ist. 1 shows a fleet of vehicles divided into a first and a second subset.
  • 2 zeigt ein Fahrzeug 1, in dem das vorgeschlagene Verfahren implementiert werden kann. 2 shows a vehicle 1 in which the proposed method can be implemented.
  • 3 zeigt ein neuronales Netz mit unabhängigen Modulen. 3 shows a neural network with independent modules.
  • 4 zeigt Steueranordnungen, die zur Durchführung der vorgeschlagenen Verfahren konfiguriert sind. 4 shows control arrangements configured to perform the proposed methods.
  • 5 zeigt das Konzept der Zusammenführung von Modellparametern für jedes Untermodul bei Fahrzeugen, die zu derselben Teilmenge gehören. 5 shows the concept of merging model parameters for each sub-module in vehicles belonging to the same subset.
  • 6 ist ein Flussdiagramm des vorgeschlagenen Verfahrens für Verbundtraining. 6 Figure 12 is a flow chart of the proposed method for composite training.
  • 7 ist ein Flussdiagramm des vorgeschlagenen Verfahrens zur Ermöglichung des Verbundtrainings. 7 Figure 12 is a flow chart of the proposed method for enabling federated training.

Detaillierte BeschreibungDetailed description

Zum besseren Verständnis des vorgeschlagenen Verfahrens werden zunächst die Probleme in Zusammenhang mit dem maschinellen Lernen in einer Fahrzeugflotte erörtert. Erschwert wird das Verbundtraining bei Fahrzeugen durch die Tatsache, dass Fahrzeuge oft auf der Grundlage eines modularen Systems gebaut werden, bei dem z. B. der Motor eines Lastkraftwagens gegen einen beliebigen anderen Motor ausgetauscht werden kann, der noch passt und funktioniert. Bei einem solchen Motorwechsel kann der neue Motor eine andere Leistung haben und/oder mit anderen Sensoren ausgestattet sein als der vorherige, was sich in der Regel in den vom Motor erzeugten Daten widerspiegelt. Wenn in dem Motorsystem eine intelligente Logik eingebaut ist, z. B. die Erkennung von Anomalien mithilfe von maschinellem Lernen, dann sollte das maschinelle Lernmodell für die verschiedenen Motortypen unterschiedlich sein, um gute Ergebnisse zu erzielen. Haben die Fahrzeuge unterschiedliche Motoren, wird es also schwierig sein, Verbundlernen oder dergleichen zu verwenden, um gemeinsam von anderen Fahrzeugen zu lernen.For a better understanding of the proposed method, the problems related to machine learning in a vehicle fleet are first discussed. Compound training in vehicles is made more difficult by the fact that vehicles are often built on the basis of a modular system, in which e.g. For example, a truck engine can be swapped out for any other engine that still fits and works. With such an engine change, the new engine may have different performance and/or be equipped with different sensors than the previous one, which is usually reflected in the data generated by the engine. If intelligent logic is built into the motor system, e.g. B. detecting anomalies using machine learning, then the machine learning model should be different for different motor types to get good results. Therefore, if the vehicles have different engines, it will be difficult to use compound learning or the like to learn from other vehicles together.

Darüber hinaus kann ein Fahrzeug je nach Einsatzbereich in unterschiedlichen Betriebsarten eingesetzt werden, z. B. im Stadtverkehr oder auf der Autobahn. Dies könnte zu unterschiedlichen lokalen Minimallösungen der maschinellen Lernmodelle für verschiedene Betriebsarten führen, was zu einem schlechteren aggregierten Modell führen würde, wenn Verbundtraining verwendet wird. Dies ist ein ähnliches Problem wie bei dem oben erwähnten non-IID-Teil, bei dem die Datenverteilung nicht ähnlich ist und mit Personalisierungsschichten gelöst werden kann. Mit anderen Worten: Wir wissen, dass z. B. ein Lastkraftwagen im Fernverkehr nicht immer wie vorgesehen auf der Autobahn eingesetzt wird oder dass sich der Betrieb bei einem Eigentümerwechsel ändern kann.In addition, a vehicle can be used in different operating modes depending on the area of application, e.g. B. in city traffic or on the highway. This could lead to different local minimum solutions of the machine learning models for different modes of operation, which would result in a poorer aggregated model when using compound training. This is a similar problem to the non-IID part mentioned above, where the data distribution is not similar and can be solved with personalization layers. In other words, we know that e.g. For example, a long-distance truck is not always used on the motorway as intended, or that operations can change if there is a change of ownership.

Hier wird ein Verfahren für Verbundlernen vorgeschlagen, bei dem die Module eines Modellnetzes für maschinelles Lernen in wenigstens zwei Teile, hier Untermodule genannt, aufgeteilt werden. In einigen Ausführungsformen berücksichtigt das erste Untermodul die Konfiguration und wird mit Fahrzeugen mit ähnlicher Konfiguration zusammengefasst. Die Fahrzeugkonfiguration ist dem Server in der Regel im Voraus bekannt, sodass Fahrzeuge mit einer gemeinsamen Konfiguration relativ einfach gruppiert werden können. In einigen Ausführungsformen berücksichtigt das zweite Untermodul den Betrieb und wird mit Fahrzeugen mit einem ähnlichen Betrieb zusammengefasst. Der Betrieb kann dynamischer und daher schwieriger zu bestimmen sein als die Konfiguration, da ein Fahrzeug nicht immer wie vorgesehen eingesetzt wird. Die Modellparameter werden jedoch in der Regel auf der Grundlage von Daten gebildet (d. h. durch Training angepasst) und können daher indirekt die Verteilung der Daten aufzeigen. Durch die Verwendung eines Ähnlichkeitsmaßes ist es möglich, das zweite Untermodul der neuronalen Netze entsprechend dem Betrieb der Fahrzeuge zu gruppieren. Nach dem Training werden die beiden Untermodule des föderierten zentralen Modells an die entsprechenden Fahrzeuge zurückgemeldet. Die einzelnen Schritte des vorgeschlagenen Verfahrens werden nun anhand von 1 bis 7 beschrieben.A method for compound learning is proposed here, in which the modules of a model network for machine learning are divided into at least two parts, here called sub-modules. In some embodiments, the first sub-module takes configuration into account and is grouped with vehicles of similar configuration. The vehicle configuration is usually known to the server in advance, so vehicles with a common configuration can be grouped relatively easily. In some embodiments, the second sub-module considers operation and is grouped with vehicles with similar operation. Operation can be more dynamic and therefore more difficult to determine than configuration as a vehicle is not always used as intended. However, the model parameters are usually formed on the basis of data (i.e. adjusted by training) and can therefore indirectly reveal the distribution of the data. By using a similarity measure it is possible to group the second sub-module of the neural networks according to the operation of the vehicles. After the training, the two sub-modules of the federated central model are reported back to the corresponding vehicles. The individual steps of the proposed method are now based on 1 until 7 described.

1 veranschaulicht das Konzept des Unterteilens einer Flotte 100 von Fahrzeugen 1 in Teilmengen, die für das Verbundtraining verschiedener Untermodule eines maschinellen Lernmoduls verwendet werden. Genauer gesagt wird die Flotte 100 von Fahrzeugen 1 (hier Busse und Lastkraftwagen) in erste Teilmengen V auf der Grundlage der Fahrzeugkonfiguration unterteilt. In diesem vereinfachten Beispiel gibt es zwei erste Teilmengen: Busse mit der Bezeichnung VA (oben) und Lastkraftwagen mit der Bezeichnung VB (unten). In einem modularen System kann es natürlich viel mehr erste Teilmengen V geben, d. h. mehr verschiedene Fahrzeugkonfigurationen. Der Einfachheit halber werden jedoch nur zwei Arten dargestellt. 1 Figure 1 illustrates the concept of dividing a fleet 100 of vehicles 1 into subsets used for collaborative training of various sub-modules of a machine learning module. More specifically, the fleet 100 of vehicles 1 (here buses and trucks) divided into first subsets V based on the vehicle configuration. In this simplified example, there are two first subsets: buses labeled VA (above) and trucks labeled VB (below). In a modular system there can of course be many more first subsets V, ie more different vehicle configurations. However, for the sake of simplicity, only two types are shown.

Dieselben Fahrzeuge 1 (d. h. die Busse und die Lastkraftwagen) werden basierend auf der Fahrzeugnutzung auch in zweite Teilmengen D unterteilt. In diesem vereinfachten Beispiel gibt es zwei zweite Teilmengen: den als DA bezeichneten Stadtverkehr (links) und den als DB bezeichneten Fernverkehr (oder Autobahnverkehr) (rechts). In dem veranschaulichten Beispiel gehört jedes Fahrzeug 1 zu einer ersten Teilmenge VX und einer zweiten Teilmenge DY (wobei die Buchstaben „X“ und „Y“ eine bestimmte Teilmenge bezeichnen, z. B. A oder B im Beispiel, also VA und VB). Die Fahrzeuge einer Teilmenge gelten als „Peers“ (gleichranging), was bedeutet, dass sie in gewissem Sinne ähnlich sind. Im Beispiel von 1 hat also jedes Fahrzeug zwei verschiedene Gruppen von Peers - eine in Zusammenhang mit der Konfiguration und eine in Zusammenhang mit der Nutzung.The same vehicles 1 (ie the buses and the trucks) are also divided into second subsets D based on vehicle usage. In this simplified example, there are two second subsets: urban traffic denoted DA (left) and long-distance (or highway) traffic denoted DB (right). In the illustrated example, each vehicle 1 belongs to a first subset VX and a second subset DY (where the letters "X" and "Y" denote a particular subset, e.g. A or B in the example, i.e. VA and VB). The vehicles in a subset are considered "peers" (of the same rank), which means that they are in a sense similar. In the example of 1 so each vehicle has two different sets of peers - one related to configuration and one related to usage.

2 veranschaulicht konzeptionell ein Fahrzeug 1 der Flotte, hier einen Lastkraftwagen, bei dem das vorgeschlagene Verfahren angewandt werden kann. Das Fahrzeug 1 umfasst eine Vielzahl elektrischer Systeme und Teilsysteme. Ein Fahrzeug umfasst in der Regel eine Vielzahl von Steueranordnungen 10, die zur Steuerung der Teilsysteme konfiguriert sind. Eine Steueranordnung 10 kann eine oder mehrere elektronische Steuergeräte (ECUs) umfassen. ECU wird allgemein in der Automobilelektronik für jedes eingebettete System verwendet, das eine oder mehrere Funktionen des elektrischen Systems oder der Teilsysteme in einem autonomen Transportfahrzeug steuert. 2 12 conceptually illustrates a vehicle 1 of the fleet, here a truck, to which the proposed method can be applied. The vehicle 1 includes a variety of electrical systems and subsystems. A vehicle typically includes a plurality of control assemblies 10 configured to control the subsystems. A control assembly 10 may include one or more electronic control units (ECUs). ECU is commonly used in automotive electronics for any embedded system that controls one or more functions of the electrical system or subsystems in an autonomous transportation vehicle.

Der Einfachheit halber ist in 1 nur eine Steueranordnung 10 dargestellt. Die Steueranordnung umfasst beispielsweise ein Motorsteuermodul (Engine Control Module, ECM). Die Steueranordnung 10 umfasst eine interne Logik, beispielsweise ein System zur Erkennung von Anomalien unter Verwendung eines maschinellen Lernmodells. Die Steueranordnung 10 ist so angeordnet, dass sie mit einem Server 2 kommuniziert, der ein Verbundtraining einer Flotte 100 von Fahrzeugen 1 durchführt. Der Server umfasst eine Steueranordnung 20.For the sake of simplicity, in 1 only one control arrangement 10 is shown. The control arrangement includes, for example, an engine control module (ECM). The control arrangement 10 comprises internal logic, for example a system for detecting anomalies using a machine learning model. The control arrangement 10 is arranged in such a way that it communicates with a server 2 which carries out joint training of a fleet 100 of vehicles 1 . The server includes a control arrangement 20.

Das vorgeschlagene Verfahren basiert auf der Idee, maschinelle Lernmodelle in zwei unabhängige Teile - hier als Untermodule bezeichnet - zu unterteilen und jedes Untermodul entsprechend seinen Peers zu föderieren. Die Idee ist, dass die Peers für die jeweiligen Untermodule unterschiedlich sein können. Mit anderen Worten: Das Verbundtraining erfolgt unter verschiedenen Fahrzeugen für die verschiedenen Untermodule.The proposed method is based on the idea of dividing machine learning models into two independent parts - here referred to as sub-modules - and federating each sub-module according to its peers. The idea is that the peers can be different for the respective sub-modules. In other words, the composite training is done under different vehicles for the different sub-modules.

3 zeigt ein Beispiel für ein maschinelles Lernmodell, genauer gesagt ein tiefes neuronales Netz (DNN), das unabhängige Untermodule 31, 32 umfasst. Künstliche neuronale Netze (artificial neural network, ANN), üblicherweise einfach neuronale Netze (NN) genannt, sind Computersysteme, die von den biologischen neuronalen Netzen inspiriert sind, die die Gehirne von Tieren bilden. 3 Figure 12 shows an example of a machine learning model, more precisely a deep neural network (DNN) comprising independent sub-modules 31, 32. Artificial neural networks (ANN), commonly called simply neural networks (NN), are computing systems inspired by the biological neural networks that make up the brains of animals.

Ein NN basiert auf Knoten 34 - als künstliche Neuronen bezeichnet - mit dazwischen liegenden Verbindungen 33. Ein Knoten 34 empfängt ein oder mehrere Eingangssignale, verarbeitet die Eingangssignale und kann an die verbundenen Knoten Signale geben. Die Knoten 34 sind in der Regel in Schichten angeordnet, und jede Schicht hat ihren Zweck, wobei die erste Schicht als Eingabeschicht und die letzte Schicht als Ausgabeschicht bezeichnet wird. Ein tiefes neuronales Netz (DNN) ist ein ANN mit mehreren Schichten zwischen der Eingabe- und der Ausgabeschicht.A NN is based on nodes 34 - referred to as artificial neurons - with interconnections 33 in between. A node 34 receives one or more input signals, processes the input signals and can signal the connected nodes. The nodes 34 are typically arranged in layers and each layer has its purpose, with the first layer being called the input layer and the last layer being called the output layer. A deep neural network (DNN) is an ANN with multiple layers between the input and output layers.

Neuronale Netze lernen durch die Verarbeitung von Beispielen, die bekannte Eingaben und bekannte Ausgaben umfassen. Durch das Training werden die Modellparameter, wie z. B. die wahrscheinlichkeitsgewichteten Verbindungen zwischen den Knoten 34, angepasst und in dem NN gespeichert. Im gezeigten Beispiel werden die Modellparameter des ersten Untermoduls 31 als p31 und die Modellparameter des ersten Untermoduls 32 als p32 bezeichnet.Neural networks learn by processing examples that involve known inputs and known outputs. Through the training, the model parameters, such as B. the probability-weighted connections between the nodes 34, adjusted and stored in the NN. In the example shown, the model parameters of the first sub-module 31 are referred to as p 31 and the model parameters of the first sub-module 32 as p 32 .

In einem DNN sind die frühen Schichten (hier auch als erstes Untermodul 31 bezeichnet) in der Regel für die grundlegenden Merkmale zuständig, während die späteren Schichten (hier auch als zweites Untermodul 32 bezeichnet) komplexere Merkmale verarbeiten. Die Schichten umfassen unabhängige Untermodelle mit strukturierten Schnittstellen dazwischen. Jede Schicht kann daher in der Regel unabhängig von den anderen Schichten ausgeführt werden.In a DNN, the early layers (also referred to herein as the first sub-module 31) are typically responsible for the basic features, while the later layers (also referred to herein as the second sub-module 32) process more complex features. The layers comprise independent sub-models with structured interfaces between them. Each layer can therefore usually be executed independently of the other layers.

In einem Beispiel werden die frühen Schichten 31 an die Fahrzeugkonfiguration angepasst, um die Art der Daten zu verarbeiten, die das Fahrzeug generieren kann, während die späteren Schichten 32 die Verteilung der Daten in Abhängigkeit von der Nutzung des Fahrzeugs 1 während der Zeit des Verbundtrainings verarbeiten. Bei dem DNN handelt es sich in der Regel um ein reguläres vorwärts gerichtetes NN, es kann aber auch eine andere Art von DNN sein, wie z. B. ein faltendes NN oder ein rekurrentes NN oder eine beliebige Mischung je nach Anwendungsfall. Auch andere Voraussetzungen sind möglich, und es können sogar noch mehr Untermodule vorhanden sein.In one example, the early layers 31 are customized to the vehicle configuration to process the type of data that the vehicle can generate, while the later layers 32 process the distribution of the data depending on the usage of the vehicle 1 during the time of compound training . The DNN is usually a regular forward NN, but it can be another type of DNN be, such as B. a convolutional NN or a recurrent NN or any mixture depending on the application. Other requirements are also possible, and there may be even more sub-modules.

5 zeigt ein Beispiel für das Konzept der Zusammenführung von Modellparametern p - im Folgenden einfach als Parameter bezeichnet - einzelner Untermodule 31, 32 bei Fahrzeugen, die zu derselben Teilmenge VX, DY gehören. Der Zweck kann beispielsweise darin bestehen, Anomalien in einer Flotte von Fahrzeugen 1 auf der Grundlage ihrer Motoren zu erkennen. Nehmen wir an, es gibt eine erste Gruppe von Verteilerfahrzeugen mit 11-l-Motor (hier als Busse dargestellt) und eine Gruppe von Fernverkehrsfahrzeugen mit 13-l-Motor (hier als Lastkraftwagen dargestellt). Die Fahrzeuge werden dann je nach Fahrzeugkonfiguration in zwei verschiedene erste Teilmengen VA (Verteilerverkehr) und VB (Fernverkehr) unterteilt. 5 shows an example of the concept of merging model parameters p - referred to simply as parameters below - of individual sub-modules 31, 32 in vehicles that belong to the same subset VX, DY. For example, the purpose may be to detect anomalies in a fleet of vehicles 1 based on their engines. Suppose there is a first group of 11L engine distribution vehicles (represented here as buses) and a group of long-distance 13L engine vehicles (represented here as trucks). Depending on the vehicle configuration, the vehicles are then divided into two different first subsets VA (distribution traffic) and VB (long-distance traffic).

Einige der Fahrzeuge 1 fahren hauptsächlich in der Stadt und haben daher aufgrund der vielen Stopp-and-Go-Fahrten einen schwankenden Kraftstoffverbrauch, während andere Fahrzeuge hauptsächlich auf der Autobahn fahren und einen gleichmäßigen Kraftstoffverbrauch haben. Die Fahrzeuge 1 werden dann ebenfalls je nach Nutzung in zwei Teilmengen DA (Stadtfahrt) und DB (Autobahnfahrt) unterteilt.Some of the vehicles 1 mainly drive in the city and therefore have a fluctuating fuel consumption due to the many stop-and-go journeys, while other vehicles mainly drive on the freeway and have a constant fuel consumption. The vehicles 1 are then also divided into two subsets DA (city driving) and DB (freeway driving) depending on their use.

Nehmen wir an, dass ein DNN mit 8 Schichten in allen Fahrzeugen 1 verwendet wird. Die Eingänge des DNN sind jedoch für die 11-l- und 13-l-Motoren unterschiedlich, z. B. hat das DNN je nach Motorgröße 10 bzw. 11 Eingangssignale. Die Ausgabe ist nur ein Parameter, der anzeigt, ob ein Anomalieproblem vorliegt oder nicht. Das DNN wird dann in zwei Untermodule 31, 32 aufgeteilt, sodass jedes Untermodul z. B. 4 Schichten umfasst (wie in 3 dargestellt). Jedes Untermodul 31, 32 umfasst entsprechende Parameter p31,p32, wie z. B. Modellgewichte. Das erste Untermodul ist dann für alle Fahrzeuge mit demselben Motor gleich, während das zweite Untermodul für alle Fahrzeuge gleich ist.Suppose that an 8-layer DNN is used in all vehicles 1 . However, the inputs to the DNN are different for the 11L and 13L engines, e.g. For example, the DNN has 10 or 11 input signals depending on the motor size. The output is just a parameter that shows whether there is an anomaly problem or not. The DNN is then divided into two sub-modules 31, 32, so that each sub-module e.g. B. 4 layers (as in 3 shown). Each sub-module 31, 32 includes corresponding parameters p 31 , p 32 , such as. B. Model weights. The first sub-module is then the same for all vehicles with the same engine, while the second sub-module is the same for all vehicles.

Zum Zeitpunkt des Zusammenschlusses werden die aktualisierten Parameter p31,p32 aller Fahrzeuge an einen zentralen Server 2 gesendet (2). Der Server 2 teilt die Parameter p31,p32 auf zwei Teile auf, genauer gesagt in Parameter p31 des ersten Untermoduls 31 und Parameter p32 des zweiten Untermoduls 32.At the time of the merger, the updated parameters p 31 , p 32 of all vehicles are sent to a central server 2 ( 2 ). The server 2 divides the parameters p 31 , p 32 into two parts, more precisely in parameter p 31 of the first sub-module 31 and parameter p 32 of the second sub-module 32.

Hinsichtlich des ersten Untermoduls 31 weiß der Server, welche Fahrzeuge 1 mit einem 11-l- und welche mit einem 13-l-Motor ausgestattet sind, also nur zusammengeführte Parameter p31 des ersten Untermoduls 31 bei Fahrzeugen mit denselben Motoren. Mit anderen Worten: Modellparameter p31 des ersten Untermoduls 31 werden mit Fahrzeugen derselben ersten Teilmenge VX zusammengeführt. In diesem Beispiel kann VX eines einzelnen Fahrzeugs entweder VA oder VB sein. Die Pfeile 51 in 5 verdeutlichen, dass die Modellparameter p31 des ersten Untermoduls nur bei Fahrzeugen mit derselben Konfiguration (Verteiler- oder Fernverkehr) zusammengeführt werden. Genauer gesagt werden für Verteilerfahrzeuge VA erste aggregierte angepasste Modellparameter p31a erhalten, indem angepasste Modellparameter p31 des ersten Untermoduls 31 mit Verteilerfahrzeugen VA zusammengeführt werden. Auf die gleiche Weise werden für Fahrzeuge des Fernverkehrs VB erste aggregierte angepasste Modellparameter p31b erhalten, indem angepasste Modellparameter p31 des ersten Untermoduls 31 mit Fahrzeugen des Fernverkehrs VB zusammengeführt werden.With regard to the first sub-module 31, the server knows which vehicles 1 are equipped with an 11-liter engine and which are equipped with a 13-liter engine, ie only combined parameters p 31 of the first sub-module 31 for vehicles with the same engines. In other words: model parameters p 31 of the first sub-module 31 are merged with vehicles of the same first subset VX. In this example, VX of a single vehicle can be either VA or VB. The arrows 51 in 5 make it clear that the model parameters p 31 of the first sub-module are only combined for vehicles with the same configuration (distribution or long-distance traffic). More precisely, first aggregated adjusted model parameters p 31a are obtained for distribution vehicles VA by merging adjusted model parameters p 31 of the first sub-module 31 with distribution vehicles VA. In the same way, first aggregated adjusted model parameters p 31b are obtained for long-distance transport vehicles VB by merging adjusted model parameters p 31 of the first sub-module 31 with long-distance transport vehicles VB.

Hinsichtlich des zweiten Untermoduls 32 kann der Server 2 zunächst die angepassten Parameter p32 verschiedener Fahrzeuge 1 miteinander vergleichen und dann nur diejenigen innerhalb von Gruppen von Fahrzeugen 1 zusammenführen, die einander ähnlich sind (z. B. unter Verwendung eines Ähnlichkeitsmaßes). Mit anderen Worten: Angepasste Modellparameter p32 des zweiten Untermoduls 32 werden mit Fahrzeugen in derselben ersten Teilmenge DY zusammengeführt. In diesem Beispiel ist DY eines einzelnen Fahrzeugs entweder DA oder DB. Die Pfeile 52 in 5 verdeutlichen, dass die Modellparameter p32 des zweiten Untermoduls nur mit Fahrzeugen mit gleichem Einsatzzweck (Stadtverkehr oder Autobahn) zusammengeführt werden. Genauer gesagt werden für im Stadtverkehr fahrende Fahrzeuge DA zweite aggregierte angepasste Modellparameter p32b erhalten, indem angepasste Modellparameter p32 des zweiten Untermoduls 32 mit im Stadtverkehr fahrenden Fahrzeugen DA zusammengeführt werden. In gleicher Weise werden für auf der Autobahn fahrende Fahrzeuge DB zweite aggregierte angepasste Modellparameter p32b erhalten, indem angepasste Modellparameter p32 des zweiten Untermoduls 32 mit auf der Autobahn fahrenden Fahrzeugen DB zusammengeführt werden. Es mag für den Server 2 schwierig sein, zu wissen, ob die Datenverteilungen zwischen den Fahrzeugen unterschiedlich sind, um sie für die Zusammenführung korrekt zu gruppieren. Allerdings haben die Autoren des Artikels „Clustered Federated Learning: Model-Agnostic Distributed Multi-Task Optimization under Privacy Constraints“, F. Sattler, K.-R. Müller und W. Samek, („Clustered Federated Learning: Model-Agnostic Distributed Multi-Task Optimization under Privacy Constraints“, 2019, Preprint arXiv:1910.01991) gezeigt, dass Datenverteilungen unter Anwendung von Ähnlichkeitsmaßen auf die Modellparameter ohne die Originaldaten bestimmt werden können. Alternativ können die zweiten Teilmengen auf der Grundlage der in dem Server 2 verfügbaren Informationen bestimmt werden, da der Eigentümer einer Flotte Zugang zu Informationen über die Nutzung der Fahrzeuge haben kann.With regard to the second sub-module 32, the server 2 can first compare the adjusted parameters p 32 of different vehicles 1 with one another and then only merge those within groups of vehicles 1 which are similar to one another (e.g. using a similarity measure). In other words: adapted model parameters p 32 of the second sub-module 32 are merged with vehicles in the same first subset DY. In this example, a single vehicle's DY is either DA or DB. The arrows 52 in 5 make it clear that the model parameters p 32 of the second sub-module are only combined with vehicles with the same purpose (city traffic or motorway). More specifically, second aggregated adjusted model parameters p 32b are obtained for urban vehicles DA by merging adjusted model parameters p 32 of the second sub-module 32 with urban vehicles DA. In the same way, second aggregated adjusted model parameters p 32b are obtained for vehicles DB driving on the freeway by merging adjusted model parameters p 32 of the second sub-module 32 with vehicles DB driving on the freeway. It may be difficult for the server 2 to know if the data distributions are different between vehicles in order to correctly group them for merging. However, the authors of the article "Clustered Federated Learning: Model-Agnostic Distributed Multi-Task Optimization under Privacy Constraints", F. Sattler, K.-R. Müller and W. Samek, (“Clustered Federated Learning: Model-Agnostic Distributed Multi-Task Optimization under Privacy Constraints”, 2019, Preprint arXiv:1910.01991) showed that data distributions can be determined by applying similarity measures to the model parameters without the original data. Alternatively, they can second subsets are determined on the basis of the information available in the server 2, since the owner of a fleet can have access to information about the use of the vehicles.

Sobald der Server die angepassten Modellparameter p in jeder Teilmenge DA, DB, VA, VB zusammengeführt hat, sendet er die aggregierten angepassten Modellparameter p31a, p31b, p32a, p32b an die Fahrzeuge 1 zurück, je nachdem, zu welcher Teilmenge V, D das jeweilige Fahrzeug gehört. In einigen Ausführungsformen werden die aggregierten Modellparameter p31x, p32y eines Fahrzeugs zusammengeführt, bevor sie zurückgesendet werden.Once the server has merged the adjusted model parameters p in each subset DA, DB, VA, VB, it sends back the aggregated adjusted model parameters p 31a , p 31b , p 32a, p 32b to the vehicles 1 depending on which subset V , D the respective vehicle belongs. In some embodiments, the aggregated model parameters p 31x , p 32y of a vehicle are merged before being sent back.

Das vorgeschlagene Verfahren für ein Verbundtraining einer Flotte 100 von Fahrzeugen 1 wird nun unter Bezugnahme auf das Flussdiagramm von 6 sowie auf die anderen Figuren beschrieben. Das Verfahren wird von einer Steueranordnung 20 (2, 4) durchgeführt, die beispielsweise in einem zentralen Server 2 angeordnet sein kann, der das Verbundtraining einer Flotte 100 von Fahrzeugen 1 durchführt. Zu beachten ist auch, dass diese Lösung nicht auf einen bestimmten Anwendungsfall wie die Erkennung von Anomalien oder die Klassifizierung abstellt, sondern vielmehr auf das Verfahren für Verbundlernen, damit eine Vielzahl von Untermodulen eines beliebigen maschinellen Lernmodells behandelt wird. Das vorgeschlagene Verfahren kann daher jederzeit in Zusammenhang mit dem Betrieb und/oder der dem Laden von Fahrzeugen 1 durchgeführt werden. Das Verfahren kann sowohl in vollständig oder teilweise manuell betriebenen Fahrzeugen als auch in autonomen Fahrzeugen eingesetzt werden.The proposed method for collaborative training of a fleet 100 of vehicles 1 will now be described with reference to the flow chart of FIG 6 as well as described on the other figures. The method is controlled by a control arrangement 20 ( 2 , 4 ) carried out, which can be arranged, for example, in a central server 2, which carries out the network training of a fleet 100 of vehicles 1. Also note that this solution does not target a specific use case such as anomaly detection or classification, but rather the compound learning technique to address a variety of sub-modules of any machine learning model. The proposed method can therefore be carried out at any time in connection with the operation and/or charging of vehicles 1 . The method can be used in fully or partially manually operated vehicles as well as in autonomous vehicles.

Das Verfahren kann als Computerprogramm implementiert werden, das Anweisungen umfasst, die, wenn das Programm von einem Computer (z. B. einem Prozessor in der Steueranordnung 20 (4)) ausgeführt wird, den Computer veranlassen, das Verfahren auszuführen. In einigen Ausführungsformen ist das Computerprogramm auf einem computerlesbaren Medium (z. B. einem Speicher oder einer Compact Disc) gespeichert, das Anweisungen umfasst, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen, das Verfahren auszuführen. Das Verfahren kann mehrere Male wiederholt werden.The method may be implemented as a computer program that includes instructions that, when the program is executed by a computer (e.g., a processor in the control assembly 20 ( 4 )) is executed, cause the computer to execute the procedure. In some embodiments, the computer program is stored on a computer-readable medium (e.g., memory or compact disc) comprising instructions that, when executed by a computer, cause the computer to perform the method. The procedure can be repeated several times.

Der Server 2 ist so eingerichtet, dass er eine Flotte 100 von Fahrzeugen 1 überwacht, verwaltet und/oder steuert. Der Server 2 kennt in der Regel die Konfigurationen der Fahrzeuge 1, da er normalerweise von einem Eigentümer oder Hersteller der Flotte 100 betrieben wird. Konfiguration kann sich hier je nach Anwendung auf eine beliebige physikalische Eigenschaft des Fahrzeugs 1 beziehen. Die Konfiguration ist üblicherweise eine statische oder halbstatische Hardwarekonfiguration. Vor Beginn des Verfahrens prüft der Server 2, genauer gesagt die Steueranordnung 20, welche Fahrzeuge verfügbar sind.The server 2 is set up in such a way that it monitors, manages and/or controls a fleet 100 of vehicles 1 . The server 2 usually knows the configurations of the vehicles 1 since it is normally operated by an owner or manufacturer of the fleet 100. Depending on the application, configuration here can refer to any physical property of the vehicle 1 . The configuration is usually a static or semi-static hardware configuration. Before the start of the process, the server 2, more precisely the control arrangement 20, checks which vehicles are available.

Wie in Zusammenhang mit 1 und 5 erläutert, wird die Flotte 100 der Fahrzeuge 1 auf der Grundlage verschiedener Eigenschaften in Teilmengen V, D unterteilt. Die Unterteilung dient dazu, Gruppen von Fahrzeugen 1 zu identifizieren, die sich so ähneln, dass ein Verbundtraining bis zu einem gewissen Grad möglich ist. Mit anderen Worten: Das Verfahren umfasst das Unterteilen der Fahrzeuge der Flotte 100 in mehrere erste Teilmengen VA, VB von Fahrzeugen. Das Verfahren umfasst ferner das Unterteilen S2 von Fahrzeugen der Flotte 100 in mehrere zweite Teilmengen DA, DB von Fahrzeugen, die sich von den ersten Teilmengen VA, VB unterscheiden.As related to 1 and 5 explained, the fleet 100 of vehicles 1 is divided into subsets V, D based on various characteristics. The subdivision is used to identify groups of vehicles 1 that are similar enough to allow some degree of compound training. In other words: the method includes dividing the vehicles of the fleet 100 into a plurality of first subsets VA, VB of vehicles. The method also includes the subdivision S2 of vehicles in the fleet 100 into a plurality of second subsets DA, DB of vehicles that differ from the first subsets VA, VB.

Die Teilmengen können auf unterschiedliche Weise definiert sein, in der Regel werden jedoch physikalische Eigenschaften der Fahrzeuge berücksichtigt. Daher umfasst das Verfahren in einigen Ausführungsformen das Unterteilen von Fahrzeugen 1 der Flotte 100 in mehrere erste Teilmengen VA, VB basierend auf der Ähnlichkeit der physikalischen Eigenschaften der Fahrzeuge.The subsets can be defined in different ways, but usually physical properties of the vehicles are taken into account. Therefore, in some embodiments, the method includes dividing vehicles 1 of the fleet 100 into a plurality of first subsets VA, VB based on the similarity of the physical properties of the vehicles.

Eine weitere Unterteilung in Teilmengen erfolgt anhand von nicht physikalischen Eigenschaften, die in gewisser Weise auch das maschinelle Lernen beeinflussen, wie z. B. Eigenschaften in Zusammenhang mit der Datenverteilung aufgrund der Nutzung. In einigen Ausführungsformen umfasst das Verfahren daher das Unterteilen der Fahrzeuge der Flotte in mehrere zweite Teilmengen DA, DB basierend auf der Ähnlichkeit der derzeitigen Nutzung der Fahrzeuge. Die Nutzung kann jede mit dem Betrieb und/oder dem Laden verbundene Aktivität betreffen. In einigen Ausführungsformen basiert das Unterteilen der Fahrzeuge in zweite Teilmengen DA, DB auf einem Ähnlichkeitsmaß der empfangenen angepassten Modellparameter. Jedes Fahrzeug 1 wird nun einer ersten Teilmenge VX und einer zweiten Teilmenge DY zugewiesen.A further division into subsets is based on non-physical properties that also influence machine learning in some way, such as e.g. B. Properties related to data distribution based on usage. In some embodiments, the method therefore comprises dividing the vehicles of the fleet into a plurality of second subsets DA, DB based on the similarity of the current usage of the vehicles. Use can relate to any activity related to operation and/or charging. In some embodiments, the subdivision of the vehicles into second subsets DA, DB is based on a similarity measure of the received adjusted model parameters. Each vehicle 1 is now assigned to a first subset VX and a second subset DY.

Die Fahrzeuge 1 der Flotte 100 werden ebenfalls mit entsprechenden maschinellen Lernmodellen versehen. Mit anderen Worten: Das Verfahren umfasst ferner das Versehen S3 von Fahrzeugen der Flotte 100 mit entsprechenden maschinellen Lernmodellen 30, die die einzelnen Fahrzeuge repräsentieren. Es ist darauf hinzuweisen, dass viele verschiedene Arten von maschinellen Lernmodellen durch das vorgeschlagene Verfahren trainiert werden können. In einigen Ausführungsformen umfasst das bereitgestellte maschinelle Lernmodell 30 einen maschinellen Lernalgorithmus, ein neuronales Netz, ein statistisches Modell und/oder ein Modell der künstlichen Intelligenz.The vehicles 1 of the fleet 100 are also provided with corresponding machine learning models. In other words: the method also includes providing vehicles S3 of the fleet 100 with corresponding machine learning models 30 that represent the individual vehicles. It should be noted that many different types of machine learning models can be trained by the proposed method. In some embodiments, the machine learning model 30 provided includes a machine learning algorithm, a neural network, a statistical model and/or an artificial intelligence model.

Die maschinellen Lernmodelle können für unterschiedlich konfigurierte Fahrzeuge 1 der Flotte 100 unterschiedlich sein. Zum Beispiel kann die Anzahl der Eingabeparameter je nach Konfiguration variieren. Mit anderen Worten: In einigen Ausführungsformen werden für einzelne Fahrzeuge der Flotte 100 unterschiedliche maschinelle Lernmodelle 30 bereitgestellt, die darauf basieren, zu welchen Teilmengen VX-DY (1) einzelne Fahrzeuge gehören.The machine learning models can be different for differently configured vehicles 1 of the fleet 100 . For example, the number of input parameters can vary depending on the configuration. In other words: In some embodiments, different machine learning models 30 are provided for individual vehicles of the fleet 100, which are based on which subsets VX-DY ( 1 ) belong to individual vehicles.

Wie in 3 erläutert, umfasst jedes maschinelle Lernmodell ein erstes Untermodul 31 und ein von dem ersten Untermodul 31 unabhängiges zweites Untermodul 32. In einigen Ausführungsformen umfassen die Untermodule 31, 32 unabhängige Untermodelle mit strukturierten Schnittstellen dazwischen. Das erste und das zweite Untermodul 31, 32 umfassen jeweilige Modellparameter p31,p32, die angepasst werden, wenn das maschinelle Lernen in den Fahrzeugen 1 fortschreitet. Es ist darauf hinzuweisen, dass die Fahrzeuge 1 zu jedem beliebigen Zeitpunkt mit maschinellen Lernmodellen versehen S3 werden können, z. B. während der Herstellung oder vor Inbetriebnahme der Fahrzeuge oder sogar nach Inbetriebnahme der Fahrzeuge 1. Schritt S3 kann also vor den Schritten S1 und S2 erfolgen.As in 3 As explained above, each machine learning model comprises a first sub-module 31 and a second sub-module 32 independent of the first sub-module 31. In some embodiments, the sub-modules 31, 32 comprise independent sub-models with structured interfaces between them. The first and the second sub-module 31, 32 comprise respective model parameters p 31 , p 32 which are adjusted as the machine learning in the vehicles 1 progresses. It should be noted that the vehicles 1 can be provided with machine learning models S3 at any point in time, e.g. B. during manufacture or before starting up the vehicles or even after starting up the vehicles 1. Step S3 can therefore take place before steps S1 and S2.

Verschiedene Modellparameter p31,p32 können durch Verbundtraining angepasst werden. In einigen Ausführungsformen umfassen die Modellparameter p31,p32 eines oder mehrere der Gewichte und Eingabeparameter. In einem probabilistischen grafischen Modell können die Modellparameter p31,p32 eine Wahrscheinlichkeitsverteilung umfassen. In einem anderen Beispiel können die Parameter p31, p32 Clusterschwerpunkte und Kovarianzen eines Clustering-Algorithmus umfassen.Various model parameters p 31 , p 32 can be adjusted by compound training. In some embodiments, the model parameters p 31 , p 32 include one or more of the weights and input parameters. In a probabilistic graphical model, the model parameters p 31 , p 32 may include a probability distribution. In another example, the parameters p 31 , p 32 may include cluster centroids and covariances of a clustering algorithm.

Der Server 2 wartet dann darauf, dass die Fahrzeuge 1 ihre jeweiligen maschinellen Lernmodelle trainieren und angepasste (d. h. neue oder aktualisierte) Modellparameter zurücksenden. In einigen Ausführungsformen ist der Server 2 derart konfiguriert, dass er die Fahrzeuge dazu veranlasst, mit dem Training zu beginnen. Daher umfasst das Verfahren ferner das Empfangen S4 angepasster Modellparameterp31, p32 des ersten und des zweiten Untermoduls 31, 32, die in den jeweiligen Fahrzeugen 1 erhalten wurden, von den Fahrzeugen 1 der Flotte 100.The server 2 then waits for the vehicles 1 to train their respective machine learning models and return adjusted (ie new or updated) model parameters. In some embodiments, server 2 is configured to prompt vehicles to begin training. Therefore, the method further comprises receiving S4 adjusted model parameters p 31 , p 32 of the first and second sub-modules 31, 32 obtained in the respective vehicles 1 from the vehicles 1 of the fleet 100.

Die Fahrzeuge 1 können die angepassten Parameter entweder nach Untermodulen aufgeteilt oder in einem Datenblock zusammengeführt an den Server 2 zurücksenden. Anders ausgedrückt: In einigen Ausführungsformen werden die angepassten Modellparameter p31, p32 des ersten und des zweiten Untermoduls 31, 32 von den Fahrzeugen in getrennten Blöcken empfangen. In einigen anderen Ausführungsformen werden die angepassten Modellparameter p31,p32 des ersten und des zweiten Untermoduls 31, 32 gemeinsam empfangen (d. h. zusammengeführt), und das Verfahren umfasst dann das Unterteilen S5 der angepassten Modellparameter p31, p32 pro Untermodul.The vehicles 1 can either split the adjusted parameters according to sub-modules or send them back to the server 2 combined in a data block. In other words: In some embodiments, the adapted model parameters p 31 , p 32 of the first and second sub-modules 31, 32 are received from the vehicles in separate blocks. In some other embodiments the adjusted model parameters p 31 , p 32 of the first and second sub-modules 31, 32 are received together (ie merged) and the method then comprises dividing S5 the adjusted model parameters p 31 , p 32 per sub-module.

Wenn der Server 2 die angepassten Parameter von allen (oder wenigstens von einigen oder den meisten) Fahrzeugen 1 erhalten hat, wird die Zusammenführung eingeleitet. Die Parameter des ersten Untermoduls 31 werden dann bei den Fahrzeugen, die zu derselben ersten Teilmenge gehören, z. B. bei denen mit derselben (oder ähnlichen) Konfiguration, zusammengeführt, um erste aggregierte angepasste Modellparameter des ersten Untermoduls 31 zu erhalten. Mit anderen Worten: Das Verfahren umfasst ferner das Aggregieren S6 angepasster Modellparameter des ersten Untermoduls p31 bei Fahrzeugen, die zu derselben ersten Teilmenge VA, VB gehören. Die ersten aggregierten angepassten Modellparameter werden hier als p31x bezeichnet, wobei sich der Buchstabe „x“ auf die Teilmenge DX für den Verbund bezieht.When the server 2 has received the adjusted parameters from all (or at least some or most) of the vehicles 1, the merging is initiated. The parameters of the first sub-module 31 are then used for the vehicles belonging to the same first subset, e.g. those with the same (or similar) configuration, merged to obtain first aggregated fitted model parameters of the first sub-module 31 . In other words: the method also includes the aggregation S6 of adapted model parameters of the first sub-module p 31 for vehicles that belong to the same first subset VA, VB. The first aggregated fitted model parameters are denoted here as p 31x , where the letter "x" refers to the subset DX for the composite.

Die Parameter des zweiten Untermoduls 32 werden bei den Fahrzeugen, die zu derselben zweiten Teilmenge 32 gehören, z. B. bei denen mit ähnlicher Nutzung oder ähnlichem Betrieb, zusammengeführt, um zweite aggregierte angepasste Modellparameter des zweiten Untermoduls 32 zu erhalten. Mit anderen Worten: Das Verfahren umfasst ferner das Aggregieren S7 angepasster Modellparameter des zweiten Untermoduls p32 bei Fahrzeugen, die zu derselben zweiten Teilmenge DA, DB gehören. Die zweiten aggregierten angepassten Modellparameter werden hier als p32y bezeichnet, wobei sich der Buchstabe „y“ auf die Teilmenge DY für den Verbund bezieht.The parameters of the second sub-module 32 are in the vehicles that belong to the same second subset 32, z. those of similar use or operation, are brought together to obtain second aggregated adjusted model parameters of the second sub-module 32 . In other words: the method also includes the aggregation S7 of adapted model parameters of the second sub-module p 32 for vehicles that belong to the same second subset DA, DB. The second aggregated fitted model parameters are denoted here as p 32y , where the letter "y" refers to the subset DY for the composite.

Zum Aggregieren S6, S7 können verschiedene Verfahren angewandt werden, die dem Stand der Technik im Bereich Verbundlernen entsprechen, wie z. B. föderierter stochastischer Gradientenabstieg oder föderierte Mittelwertbildung. In einigen Ausführungsformen umfasst das Aggregieren S6 die Berechnung föderierter Mittelwerte p31x der angepassten Modellparameter p31 des ersten Moduls für einzelne Fahrzeuge, die zu derselben ersten Teilmenge VX gehören. In einigen Ausführungsformen umfasst das Aggregieren S7 die Berechnung föderierter Mittelwerte p32y angepasster Modellparameter p32 des zweiten Untermoduls 32 für einzelne Fahrzeuge, die zu derselben zweiten Teilmenge DY gehören.For aggregation S6, S7, various methods can be used that correspond to the state of the art in the field of collaborative learning, such as e.g. federated stochastic gradient descent or federated averaging. In some embodiments, the aggregating S6 comprises the calculation of federated mean values p 31x of the fitted model parameters p 31 of the first module for individual vehicles belonging to the same first subset VX. In some embodiments, the aggregating S7 includes the calculation of federated mean values p 32y of fitted model parameters p 32 of the second sub-module 32 for individual vehicles belonging to the same second subset DY.

Bevor die aggregierten aktualisierten Modellparameter p31x, p32y an die Fahrzeuge zurückgesendet werden, können sie je nach Implementierung für die einzelnen Fahrzeuge zusammengeführt werden, je nachdem, zu welchen Teilmengen VX, DY ein einzelnes Fahrzeug gehört. Alternativ können die angepassten Modellparameter p31, p32 auch separat, d. h. pro Untermodul 31, 32, an die Fahrzeuge zurückgesendet werden.Depending on the implementation, before the aggregated updated model parameters p 31x , p 32y are sent back to the vehicles, they can be merged for the individual vehicles, depending on which subsets VX, DY an individual vehicle belongs to. Alternatively, the adapted model parameters p 31 , p 32 can also be sent back to the vehicles separately, ie per sub-module 31 , 32 .

Für jedes Fahrzeug 1 werden dann die aggregierten angepassten Modellparameter p31x, p32y des ersten und/oder des zweiten Untermoduls 31, 32 bereitgestellt. Für ein einzelnes Fahrzeug werden aggregierte angepasste Modellparameter bereitgestellt, die den Teilmengen VX-DY entsprechen, denen das Fahrzeug zugeordnet ist. Anders ausgedrückt: Das Verfahren umfasst dann das Bereitstellen S8 von aggregierten angepassten Modellparametern des ersten Untermoduls p31x auf der Grundlage einer ersten Teilmenge VX, zu der die jeweiligen Fahrzeuge gehören, und von aggregierten angepassten Modellparametern des zweiten Untermoduls p31y auf der Grundlage einer zweiten Teilmenge DY, zu der die jeweiligen Fahrzeuge ebenfalls gehören (wobei X und Y = A oder B) für einzelne Fahrzeuge 1 der Flotte 100. Die Parameter eines einzelnen Fahrzeugs werden also nur mit den Peers des Fahrzeugs 1 zusammengeführt, wobei die Peers für die jeweiligen Untermodule 31, 32 unterschiedlich sind. Beispielsweise wird ein Fahrzeug der Teilmengen VB-DA mit aggregierten angepassten Modellparametern p31b, p32a versorgt.The aggregated, adapted model parameters p 31x , p 32y of the first and/or the second sub-module 31 , 32 are then provided for each vehicle 1 . For an individual vehicle, aggregated fitted model parameters are provided that correspond to the VX-DY subsets to which the vehicle is assigned. In other words, the method then includes providing S8 aggregated adjusted model parameters of the first sub-module p 31x based on a first subset VX to which the respective vehicles belong, and aggregated adjusted model parameters of the second sub-module p 31y based on a second subset DY, to which the respective vehicles also belong (where X and Y = A or B) for individual vehicles 1 of fleet 100. The parameters of an individual vehicle are therefore only merged with the peers of vehicle 1, the peers for the respective sub-modules 31, 32 are different. For example, a vehicle of the subsets VB-DA is supplied with aggregated, adapted model parameters p 31b , p 32a .

Wird das Training als zufriedenstellend angesehen, kann es beendet werden, andernfalls kann das Verfahren ab Schritt S4 wiederholt werden. Das Training wird z. B. als zufriedenstellend angesehen, wenn die Modellparameter konvergiert haben, d. h. einen Fehler in der Nähe der lokalen/globalen Minima aufweisen. Mit anderen Worten: In einigen Ausführungsformen umfasst das Verfahren die Wiederholung der Schritte Empfangen S4, Aggregieren S6, S7 und Bereitstellen S8.If the training is considered satisfactory, it can be ended, otherwise the process can be repeated from step S4. The training will B. considered satisfactory when the model parameters have converged, i. H. have an error near the local/global minima. In other words: In some embodiments, the method includes repeating the steps receiving S4, aggregating S6, S7 and providing S8.

7 ist ein Flussdiagramm eines entsprechenden Verfahrens zur Verwendung in einem Fahrzeug 1, um Verbundtraining einer Flotte 100 von Fahrzeugen 1 zu ermöglichen. 7 1 is a flow diagram of a corresponding method for use in a vehicle 1 to enable collaborative training of a fleet 100 of vehicles 1. FIG.

Vor dem Start des Verbundtrainings senden Fahrzeuge 1 der Flotte 100 üblicherweise eine Verfügbarkeitsbestätigung an den Server 2. Das Verfahren umfasst das Empfangen S11 eines maschinellen Lernmodells, das das Fahrzeug 1 repräsentiert, von einem Server 2, wobei das maschinelle Lernmodell ein erstes Untermodul 31 und ein von dem ersten Untermodul 31 unabhängiges zweites Untermodul 32 umfasst, wobei das erste und das zweite Untermodul 31, 32 entsprechende Modellparameter p31, p32 umfassen, die angepasst werden, wenn das maschinelle Lernen in dem Fahrzeug fortschreitet.Before the start of the network training, vehicles 1 of the fleet 100 usually send an availability confirmation to the server 2. The method includes receiving S11 a machine learning model representing the vehicle 1 from a server 2, the machine learning model having a first sub-module 31 and a second sub-module 32 independent of the first sub-module 31, the first and second sub-modules 31, 32 comprising respective model parameters p 31 , p 32 which are adjusted as machine learning progresses in the vehicle.

Das Fahrzeug 1 führt dann das maschinelle Lernmodell aus und trainiert es anhand der verfügbaren Daten. Dies kann während des Betriebs, des Ladens usw. erfolgen. Mit anderen Worten: Das Verfahren umfasst ferner das Trainieren S12 des maschinellen Lernmodells in dem Fahrzeug.The vehicle 1 then runs the machine learning model and trains it using the available data. This can be done during operation, charging, etc. In other words: the method further includes training S12 the machine learning model in the vehicle.

Nach dem Training sendet das Fahrzeug 1 angepasste Modellparameter p31,p32 an den Server 2. In einigen Ausführungsformen werden die Modellparameter vor dem Senden auf die einzelnen Untermodule aufgeteilt. Mit anderen Worten: In einigen Ausführungsformen umfasst das Verfahren ferner das Unterteilen S13 der angepassten Modellparameter p31, p32 pro Untermodul und das Bereitstellen S14 des ersten und des zweiten Untermoduls 31, 32 an den Server getrennt für die einzelnen Untermodule. Alternativ werden die angepassten Modellparameter p31,p32 des ersten und des zweiten Moduls 31, 32 zusammen gesendet.After the training, the vehicle 1 sends adapted model parameters p 31 , p 32 to the server 2. In some embodiments, the model parameters are divided between the individual sub-modules before they are sent. In other words: In some embodiments, the method further comprises dividing S13 the adjusted model parameters p 31 , p 32 per sub-module and providing S14 the first and second sub-modules 31, 32 to the server separately for the individual sub-modules. Alternatively, the adjusted model parameters p 31 , p 32 of the first and second modules 31, 32 are sent together.

Daher umfasst das Verfahren ferner das Bereitstellen S14 angepasster Modellparameter p31,p32 der ersten und zweiten Untermodule 31, 32, die durch das Training 1 erhalten wurden, an den Server 2.The method therefore also includes providing S14 adapted model parameters p 31 , p 32 of the first and second sub-modules 31, 32, which were obtained by training 1, to server 2.

Das Fahrzeug wartet dann darauf, dass föderierte Parameter von dem Server 2 eintreffen, und ersetzt die aktuellen Parameter durch die empfangenen aggregierten angepassten Modellparameter, wenn sie eintreffen. Somit umfasst das Verfahren ferner das Empfangen S15 erster aggregierter aktualisierter Modellparameter p31x, die durch Aggregation angepasster Modellparameter p31 des ersten Untermoduls 31 bei einer ersten Teilmenge VX von Fahrzeugen erhalten wurden, und zweiter aggregierter aktualisierter Modellparameter p32x, die durch Aggregation angepasster Modellparameter p32 des zweiten Untermoduls 32 bei einer zweiten Teilmenge DY von Fahrzeugen erhalten wurden, von dem Server 2. Wenn der Server mit der Qualität der aggregierten angepassten Modellparameter zufrieden ist, wird das Verfahren gestoppt, andernfalls wird das Verfahren ab Schritt S11 wiederholt.The vehicle then waits for federated parameters to arrive from the server 2 and replaces the current parameters with the received aggregated adjusted model parameters when they arrive. Thus, the method further comprises receiving S15 first aggregated updated model parameters p 31x obtained by aggregating adjusted model parameters p 31 of the first sub-module 31 at a first subset VX of vehicles, and second aggregated updated model parameters p 32x obtained by aggregating adjusted model parameters p 32 of the second sub-module 32 at a second subset DY of vehicles have been received from the server 2. If the server is satisfied with the quality of the aggregated adjusted model parameters, the process is stopped, otherwise the process is repeated from step S11.

4 zeigt die Steueranordnungen 10 und 20, die derart konfiguriert sind, dass sie die vorgeschlagenen Verfahren im Detail ausführen. In einigen Ausführungsformen sind die Steueranordnungen 10, 20 „Einheiten“ im funktionalen Sinne. Daher können die Steueranordnungen 10, 20 in einigen Ausführungsformen Steueranordnungen sein, die jeweils einige physische Steuergeräte umfassen, die gemeinsam arbeiten. 4 Figure 1 shows the control arrangements 10 and 20 configured to carry out the proposed methods in detail. In some embodiments, the control assemblies 10, 20 are "units" in a functional sense. Therefore, in some embodiments, the control arrangements 10, 20 may be control arrangements each comprising several physical control devices that operate in concert.

Die Steueranordnung 20 ist zum Beispiel in einem Server 2 angeordnet. Die Steueranordnung umfasst einen Prozessor 201 und einen Speicher 202. Die Steueranordnung 20, oder genauer gesagt der Prozessor 201 der Steueranordnung 20, ist derart konfiguriert, dass die Steueranordnung 20 alle Aspekte des Verfahrens für ein Verbundtraining einer Flotte 100 von Fahrzeugen 1 ausführt. Dies geschieht in der Regel durch Ausführen eines Computerprogrammcodes, der in dem Datenspeicher oder Speicher 202 in dem Prozessor 201 der Steueranordnung 20 gespeichert ist. Der Datenspeicher 202 kann auch derart konfiguriert sein, dass er semistatische Fahrzeugparameter wie Fahrzeugabmessungen speichert.The control arrangement 20 is arranged in a server 2, for example. The control arrangement comprises a processor 201 and a memory 202. The control arrangement 20, or more precisely the processor 201 of the control arrangement 20, is configured such that the control arrangement 20 executes all aspects of the method for a federated training of a fleet 100 of vehicles 1. This is typically done by executing computer program code stored in data storage or memory 202 in processor 201 of control assembly 20 . Data storage 202 may also be configured to store semi-static vehicle parameters such as vehicle dimensions.

Die Steueranordnung 20 kann auch eine Kommunikationsschnittstelle 203 zum Kommunizieren mit einer Steueranordnung 10 des Fahrzeugs 1 umfassen.The control arrangement 20 can also comprise a communication interface 203 for communicating with a control arrangement 10 of the vehicle 1 .

Die Steueranordnung 10 ist in einem Fahrzeug 1 angeordnet. Die Steueranordnung umfasst einen Prozessor 101 und einen Speicher 102.The control arrangement 10 is arranged in a vehicle 1 . The control arrangement comprises a processor 101 and a memory 102.

Die Steueranordnung 10 oder genauer gesagt der Prozessor 101 der Steueranordnung 10 ist derart konfiguriert, dass er die Steueranordnung 10 veranlasst, alle Aspekte des Verfahrens zur Ermöglichung eines Verbundtrainings für eine Flotte 100 von Fahrzeugen 1 durchzuführen. Dies geschieht in der Regel durch Ausführen eines Computerprogrammcodes, der in dem Datenspeicher oder Speicher 102 in dem Prozessor 101 der Steueranordnung 10 gespeichert ist. Der Datenspeicher 102 kann auch derart konfiguriert sein, dass er semistatische Fahrzeugparameter wie Fahrzeugabmessungen speichert.The control arrangement 10 or more precisely the processor 101 of the control arrangement 10 is configured in such a way that it causes the control arrangement 10 to carry out all aspects of the method for enabling composite training for a fleet 100 of vehicles 1 . This is typically done by executing computer program code stored in the data store or memory 102 in the processor 101 of the control arrangement 10 . Data storage 102 may also be configured to store semi-static vehicle parameters such as vehicle dimensions.

Die Steueranordnung 10 kann auch eine Kommunikationsschnittstelle 103 zum Kommunizieren mit anderen Steuereinheiten des Fahrzeugs und/oder mit externen Systemen, wie z. B. mit einem Server 2, umfassen.The control arrangement 10 can also have a communication interface 103 for communicating with other control units of the vehicle and/or with external systems, such as e.g. B. with a server 2 include.

Die Terminologie, die in der Beschreibung der in den beigefügten Zeichnungen dargestellten Ausführungsformen verwendet wird, ist nicht als Einschränkung des beschriebenen Verfahrens, der Steueranordnung oder des Computerprogramms zu verstehen. Es können verschiedene Änderungen, Ersetzungen und/oder Abwandlungen vorgenommen werden, ohne dass von den in den beigefügten Ansprüchen definierten Ausführungsformen abgewichen wird.The terminology used in the description of the embodiments illustrated in the accompanying drawings should not be construed as limiting the method, control arrangement or computer program described. Various changes, substitutions and/or modifications can be made without departing from the embodiments defined in the appended claims.

Sofern nicht ausdrücklich anders angegeben, ist der Begriff „oder“, wie hier verwendet, als mathematisches ODER zu verstehen, d. h. als einschließende Disjunktion, nicht als mathematisches ausschließendes ODER (XOR). Sofern nicht ausdrücklich anders angegeben, sind darüber hinaus die Singularformen „ein/eine“ und „der/die/das“ als „wenigstens ein/e“ zu verstehen, sodass sie auch eine Vielzahl gleichartiger Einheiten umfassen können. Es versteht sich ferner, dass die Begriffe „umfasst“ und/oder „umfassend“ das Vorhandensein der genannten Merkmale, Maßnahmen, ganzen Zahlen, Schritte, Operationen, Elemente und/oder Komponenten angeben, aber das Vorhandensein oder Hinzufügen von einem oder mehreren anderen Merkmalen, Maßnahmen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon nicht ausschließen. Eine einzige Einheit, wie z. B. ein Prozessor, kann die Funktionen mehrerer in den Ansprüchen aufgeführter Punkte erfüllen.Unless expressly stated otherwise, the term "or" as used herein shall be understood as a mathematical OR, i.e. H. as an inclusive disjunction, not as a mathematical exclusive OR (XOR). Furthermore, unless expressly stated otherwise, the singular forms "a" and "the" shall be understood as "at least one" and may also include a plurality of similar entities. It is further understood that the terms "comprises" and/or "comprising" indicate the presence of the recited features, measures, integers, steps, operations, elements and/or components, but the presence or addition of one or more other features , measures, integers, steps, operations, elements, components and/or groups thereof. A single entity such as B. a processor, can fulfill the functions of several items listed in the claims.

Claims (13)

Verfahren zum Verbundtraining einer Flotte (100) von Fahrzeugen (1), wobei das Verfahren umfasst: - Unterteilen (S1) von Fahrzeugen (1) der Flotte (100) in mehrere erste Teilmengen (VA, VB) von Fahrzeugen, - Unterteilen (S2) von Fahrzeugen der Flotte (100) in mehrere zweite Teilmengen (DA, DB) von Fahrzeugen, die sich von den ersten Teilmengen (VA, VB) unterscheiden, - Versehen (S3) von Fahrzeugen der Flotte (100) mit jeweiligen maschinellen Lernmodellen (30), die die einzelnen Fahrzeuge repräsentieren, wobei jedes maschinelle Lernmodell ein erstes Untermodul (31) und ein zweites Untermodul (32) umfasst, das unabhängig von dem ersten Untermodul (31) ist, und wobei das erste und das zweite Untermodul (31, 32) jeweilige Modellparameter (p31, p32) umfassen, die angepasst werden, wenn das maschinelle Lernen in den Fahrzeugen (1) fortschreitet, - Empfangen (S4) von angepassten Modellparametern (p31, p32) des ersten und zweiten Untermoduls (31, 32), die in den jeweiligen Fahrzeugen (1) erhalten wurden, von den Fahrzeugen (1) der Flotte (100), - Aggregieren (S6) der angepassten Modellparameter des ersten Untermoduls (p31) unter den Fahrzeugen, die zu derselben ersten Teilmenge (VA, VB) gehören, - Aggregieren (S7) der angepassten Modellparameter des zweiten Untermoduls (p32) unter den Fahrzeugen, die zu derselben zweiten Teilmenge (DA, DB) gehören, - Versehen (S8) einzelner Fahrzeuge (1) der Flotte (100) mit aggregierten angepassten Modellparametern des ersten Untermoduls (p31x) auf der Grundlage einer ersten Teilmenge (VX), zu der die jeweiligen Fahrzeuge gehören, und aggregierten angepassten Modellparametern des zweiten Untermoduls (p32y) auf der Grundlage einer zweiten Teilmenge (DY), zu der die jeweiligen Fahrzeuge ebenfalls gehören. Method for joint training of a fleet (100) of vehicles (1), the method comprising: - subdividing (S1) vehicles (1) of the fleet (100) into a plurality of first subsets (VA, VB) of vehicles, - subdividing (S2 ) of vehicles in the fleet (100) into a plurality of second subsets (DA, DB) of vehicles that differ from the first subsets (VA, VB), - providing (S3) vehicles in the fleet (100) with respective machine learning models ( 30) representing the individual vehicles, each machine learning model comprising a first sub-module (31) and a second sub-module (32) which is independent of the first sub-module (31), and wherein the first and the second sub-module (31, 32) include respective model parameters (p 31 , p 32 ) that are adjusted as machine learning progresses in the vehicles (1), - receiving (S4) adjusted model parameters (p 31 , p 32 ) of the first and second sub-modules ( 31, 32) obtained in the respective vehicles (1) from the vehicles (1) of the fleet (100), - aggregating (S6) the adjusted model parameters of the first sub-module (p 31 ) among the vehicles belonging to the same belonging to the first subset (VA, VB), - aggregating (S7) the adapted model parameters of the second sub-module (p 32 ) among the vehicles belonging to the same second subset (DA, DB), - providing (S8) individual vehicles (1) the fleet (100) with aggregated adjusted model parameters of the first sub-module (p 31x ) based on a first subset (VX) to which the respective vehicles belong and aggregated adjusted model parameters of the second sub-module (p 32y ) based on a second part quantity (DY) to which the respective vehicles also belong. Verfahren nach Anspruch 1, bei dem Fahrzeuge (1) der Flotte (100) in mehrere erste Teilmengen (VA, VB) auf der Grundlage der Ähnlichkeit der physikalischen Eigenschaften der Fahrzeuge unterteilt werden.procedure after claim 1 , in which vehicles (1) of the fleet (100) are divided into a plurality of first subsets (VA, VB) on the basis of the similarity in the physical properties of the vehicles. Verfahren nach Anspruch 1 oder 2, bei dem Fahrzeuge der Flotte auf der Grundlage der Ähnlichkeit der gegenwärtigen Nutzung der Fahrzeuge in mehrere zweite Teilmengen (DA, DB) unterteilt werden.procedure after claim 1 or 2 , in which vehicles of the fleet are divided into several second subsets (DA, DB) based on the similarity of the current usage of the vehicles. Verfahren nach Anspruch 3, wobei das Unterteilen von Fahrzeugen in zweite Teilmengen (DA, DB) auf einem Ähnlichkeitsmaß der empfangenen angepassten Modellparameter basiert.procedure after claim 3 , wherein the subdivision of vehicles into second subsets (DA, DB) is based on a similarity measure of the received adjusted model parameters. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Modellparameter (p31, p32) eines/einen oder mehrere Gewichte und Eingabeparameter umfassen.A method according to any one of the preceding claims, wherein the model parameters (p 31 , p 32 ) comprise one or more weights and input parameters. Verfahren nach einem der vorhergehenden Ansprüche, wobei die angepassten Modellparameter (p31, p32) des ersten und zweiten Untermoduls (31, 32) von den Fahrzeugen in getrennten Blöcken empfangen werden.Method according to any of the preceding claims, wherein the adapted model parameters (p 31 , p 32 ) of the first and second sub-modules (31, 32) are received from the vehicles in separate blocks. Verfahren nach einem der vorhergehenden Ansprüche, wobei die angepassten Modellparameter (p31, p32) des ersten und zweiten Untermoduls (31, 32) gemeinsam empfangen werden und wobei das Verfahren das Unterteilen (S5) der angepassten Modellparameter (p31, p32) pro Untermodul umfasst.Method according to one of the preceding claims, wherein the adapted model parameters (p 31 , p 32 ) of the first and second sub-module (31, 32) are received together and wherein the method comprises subdividing (S5) the adapted model parameters (p 31 , p 32 ) included per sub-module. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Aggregieren (S6, S7) das Berechnen von föderierten Mittelwerten der angepassten Modellparameter (p31, p32) umfasst.Method according to one of the preceding claims, wherein the aggregating (S6, S7) comprises calculating federated means of the fitted model parameters (p 31 , p 32 ). Verfahren nach einem der vorhergehenden Ansprüche, wobei die Untermodule (31, 32) unabhängige Untermodelle mit dazwischenliegenden strukturierten Schnittstellen umfassen.Method according to one of the preceding claims, in which the sub-modules (31, 32) comprise independent sub-models with structured interfaces between them. Verfahren nach einem der vorhergehenden Ansprüche, wobei für einzelne Fahrzeuge der Flotte unterschiedliche maschinelle Lernmodelle (30) bereitgestellt werden basierend darauf, zu welchen Teilmengen (VX, DY) einzelne Fahrzeuge gehören.Method according to one of the preceding claims, wherein different machine learning models (30) are provided for individual vehicles in the fleet based on which subsets (VX, DY) individual vehicles belong to. Ein Verfahren zur Verwendung in einem Fahrzeug (1), um ein Verbundtraining einer Flotte (100) von Fahrzeugen (1) zu ermöglichen, wobei das Verfahren Folgendes umfasst: - Empfangen (S11) eines maschinellen Lernmodells, das das Fahrzeug (1) repräsentiert, von einem Server (2), wobei das maschinelle Lernmodell ein erstes Untermodul (31) und ein von dem ersten Untermodul (31) unabhängiges zweites Untermodul (32) umfasst, wobei das erste und das zweite Untermodul (31, 32) jeweilige Modellparameter (p31, p32) umfassen, die angepasst werden, wenn das maschinelle Lernen in dem Fahrzeug fortschreitet, - Trainieren (S12) des maschinellen Lernmodells in dem Fahrzeug, - Bereitstellen (S14) an den Server (2) von angepassten Modellparametern (p31, p32) des ersten und des zweiten Untermoduls (31, 32), die durch das Training (1) erhalten wurden, - Empfangen (S15) von dem Server (2) von ersten aggregierten aktualisierten Modellparametern (p31x), die durch Aggregieren von angepassten Modellparametern (p31) des ersten Untermoduls (31) aus einer ersten Teilmenge (VX) von Fahrzeugen erhalten wurden, und zweiten aggregierten aktualisierten Modellparametern (p32y), die durch Aggregieren von angepassten Modellparametern (p32) des zweiten Untermoduls (32) aus einer zweiten Teilmenge (DY) von Fahrzeugen (10) erhalten wurden.A method for use in a vehicle (1) to enable collaborative training of a fleet (100) of vehicles (1), the method comprising: - receiving (S11) a machine learning model representing the vehicle (1), from a server (2), wherein the machine learning model comprises a first sub-module (31) and a second sub-module (32) independent of the first sub-module (31), wherein the first and the second sub-module (31, 32) have respective model parameters (p 31 , p 32 ) that are adjusted as the machine learning progresses in the vehicle, - training (S12) the machine learning model in the vehicle, - providing (S14) to the server (2) adjusted model parameters (p 31 , p 32 ) of the first and second sub-modules (31, 32) obtained by the training (1), - receiving (S15) from the server (2) first aggregated updated model parameters (p 31x ) obtained by aggregating adjusted model parameters (p 31 ) of the first sub-module (31) obtained from a first subset (VX) of vehicles, and second aggregated updated model parameters (p 32y ) obtained by aggregating adjusted model parameters (p 32 ) of the second sub-module (32) were obtained from a second subset (DY) of vehicles (10). Verfahren nach Anspruch 11, umfassend: - Unterteilen (S13) der angepassten Modellparameter (p31, p32) pro Untermodul und Bereitstellen (S14) des ersten und zweiten Untermoduls (31, 32) an den Server getrennt für die einzelnen Untermodule.procedure after claim 11 , comprising: - subdividing (S13) the adapted model parameters (p 31 , p 32 ) per sub-module and providing (S14) the first and second sub-modules (31, 32) to the server separately for the individual sub-modules. Steueranordnung (10, 20), die zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 12 konfiguriert ist.Control arrangement (10, 20) for carrying out the method according to one of Claims 1 until 12 is configured.
DE102021126378.6A 2021-10-12 2021-10-12 Method and control arrangement for the combined training of a vehicle fleet Pending DE102021126378A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021126378.6A DE102021126378A1 (en) 2021-10-12 2021-10-12 Method and control arrangement for the combined training of a vehicle fleet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021126378.6A DE102021126378A1 (en) 2021-10-12 2021-10-12 Method and control arrangement for the combined training of a vehicle fleet

Publications (1)

Publication Number Publication Date
DE102021126378A1 true DE102021126378A1 (en) 2023-04-13

Family

ID=85705653

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021126378.6A Pending DE102021126378A1 (en) 2021-10-12 2021-10-12 Method and control arrangement for the combined training of a vehicle fleet

Country Status (1)

Country Link
DE (1) DE102021126378A1 (en)

Similar Documents

Publication Publication Date Title
WO2021121695A1 (en) Method, apparatus and system for detecting abnormal operating states of a device
DE102017213247A1 (en) Knowledge transfer between different deep-learning architectures
DE102019217613A1 (en) METHOD OF DIAGNOSING AN ENGINE CONDITION AND DIAGNOSTIC MODELING METHOD FOR THEREOF
DE102019218613A1 (en) Object classification method, object classification circuit, motor vehicle
EP4193135A1 (en) Computer-implemented method for providing a test process for traffic scenarios to be tested
DE102018209595A1 (en) Method for automatically determining a road condition
DE102021129697A1 (en) Machine learning method and machine learning system
DE102021114514A1 (en) VEHICLE, MODEL TRAINING SYSTEM AND SERVER
EP3460727A1 (en) Method for examining a functional behaviour of a technical system and evaluation unit
DE102021118615A1 (en) Learning device and model learning system
WO2021037911A1 (en) Classification of ai modules
DE102021126378A1 (en) Method and control arrangement for the combined training of a vehicle fleet
DE102022132111A1 (en) SYSTEMS AND METHODS FOR DETECTING DEEP NEURAL NETWORK INFERENCE QUALITY USING IMAGE/DATA MANIPULATION WITHOUT GROUND TRUTH INFORMATION
DE102022123358A1 (en) FREQUENCY-BASED FEATURE RESTRICTION FOR A NEURAL NETWORK
DE102022112358A1 (en) Method and control arrangement for asynchronous network training of a vehicle fleet
DE102021122094A1 (en) Method for operating a motor vehicle
EP3901713A1 (en) Method and device for operating a technical system with optimal model
DE102019217951A1 (en) Method and apparatus for determining a domain distance between at least two data domains
DE102022208250B3 (en) System for managing various vehicle components in an electric-electronic vehicle architecture and vehicle architecture
DE102022202990B4 (en) Method and apparatus for distributed machine learning for a vehicle-related machine learning problem
DE102018215017A1 (en) Method for determining an operating strategy for a vehicle, system, control device for a vehicle and a vehicle
DE102020213058A1 (en) Method and device for partially automated or fully automated control of a vehicle
DE102022204862A1 (en) Update of a vehicle's software based on vehicle field data
DE102018219996A1 (en) Training procedure for a neural network with reduced runtime
DE102021208610B4 (en) Method, computer program and device for processing signals in a process of continuous data provision