DE102022132540A1 - Adaptive modellbereinigung zum verbessern der leistung von föderalem lernen - Google Patents

Adaptive modellbereinigung zum verbessern der leistung von föderalem lernen Download PDF

Info

Publication number
DE102022132540A1
DE102022132540A1 DE102022132540.7A DE102022132540A DE102022132540A1 DE 102022132540 A1 DE102022132540 A1 DE 102022132540A1 DE 102022132540 A DE102022132540 A DE 102022132540A DE 102022132540 A1 DE102022132540 A1 DE 102022132540A1
Authority
DE
Germany
Prior art keywords
loss reduction
vehicles
training
model
received
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
DE102022132540.7A
Other languages
English (en)
Inventor
Zaydoun RAWASHDEH
Harsh Bhupendra Bhate
Jin Lu
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102022132540A1 publication Critical patent/DE102022132540A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/084Backpropagation, e.g. using gradient descent
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein System empfängt eine Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde. Das System bestimmt eine Verlustreduktion für jeden empfangenen Datensatz, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht. Das System bestimmt, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet, und trainiert das globale Modell unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.

Description

  • GEBIET DER TECHNIK
  • Die veranschaulichenden Ausführungsformen betreffen im Allgemeinen adaptive Modellbereinigung zum Verbessern der Leistung von föderalem Lernen.
  • ALLGEMEINER STAND DER TECHNIK
  • Bordeigene Fahrzeugsoftware verbessert sich ständig in Bezug auf Umfang und Funktionalität. In der Vergangenheit wurde diese Software durch Versionierung erstellt und entwickelt, wobei Codierer zukünftige Versionen von Software verbessern und aktualisierte Versionen einsetzen. Maschinelles Lernen ermöglicht jedoch, dass sich Software selbst verbessert, ohne dass erforderlich ist, dass ein Codierer tatsächlich ändert, wie die Software betrieben wird.
  • Modelle zum maschinellen Lernen nutzen häufig große Datensätze, die aus Tausenden von Quellen erfasst sind. Diese Trainingsdaten können verwendet werden, um ein zentrales Modell zu trainieren, das als verbessertes Modell an Clients weiterverteilt werden kann. In einigen Fällen kann es eingesetzte Modelle geben, die zum unabhängigen Lernen in der Lage sind, d. h., sie beginnen, von dem eingesetzten Grundmodell abzuzweigen. Dies stellt eine Gelegenheit für föderales Lernen bereit, die es ermöglicht, die Gewichtungen und Verzerrungen von unterschiedlich trainierten Modellen zu verwenden, um ein zentralisiertes Modell zu verbessern. Dies vermeidet den Aufwand für das Übertragen aller durch alle Instanzen beobachteten Daten und ermöglicht stattdessen im Wesentlichen, dass die einzelnen Instanzen das, was ihre Modelle „gelernt“ haben, als Informationen übertragen, die zum Aktualisieren des globalen Modells zu verwenden sind.
  • KURZDARSTELLUNG
  • In einer ersten veranschaulichenden Ausführungsform beinhaltet ein System einen Prozessor, der konfiguriert ist zum Empfangen einer Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde. Der Prozessor ist zudem konfiguriert zum Bestimmen einer Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht. Der Prozessor ist ferner konfiguriert zum Bestimmen, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet, und Trainieren des globalen Modells unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.
  • In einer zweiten veranschaulichenden Ausführungsform beinhaltet ein Verfahren Empfangen einer Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde. Das Verfahren beinhaltet ferner Bestimmen einer Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht. Zudem beinhaltet das Verfahren Bestimmen, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet, und Trainieren des globalen Modells unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.
  • In einer dritten veranschaulichenden Ausführungsform speichert ein nichttransitorisches Speichermedium Anweisungen, die bei Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren dazu veranlassen, ein Verfahren durchzuführen, das Empfangen einer Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen beinhaltet, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde. Das Verfahren beinhaltet ferner Bestimmen einer Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht. Zudem beinhaltet das Verfahren Bestimmen, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet, und Trainieren des globalen Modells unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.
  • Figurenliste
    • 1 zeigt ein veranschaulichendes Beispiel für ein System mit mehreren Fahrzeugen, das zum fahrzeuginternen und föderalen Lernen in der Lage ist;
    • 2 zeigt ein veranschaulichendes Beispiel für einen Lernprozess für ein eingesetztes Modell, der an Bord eines Fahrzeugs erfolgen kann; und
    • 3 zeigt ein veranschaulichendes Beispiel für einen Analyse-, Trainings- und Bereinigungsprozess.
  • DETAILLIERTE BESCHREIBUNG
  • In dieser Schrift sind Ausführungsformen der vorliegenden Offenbarung beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht unbedingt maßstabsgetreu; einige Merkmale könnten vergrößert oder verkleinert dargestellt sein, um Details konkreter Komponenten zu zeigen. Daher sind in dieser Schrift offenbarte spezifische strukturelle und funktionelle Details nicht als einschränkend auszulegen, sondern lediglich als repräsentative Grundlage, um den Fachmann den vielfältigen Gebrauch der vorliegenden Erfindung zu lehren. Für den Durchschnittsfachmann versteht es sich, dass verschiedene Merkmale, die unter Bezugnahme auf eine beliebige der Figuren veranschaulicht und beschrieben sind, mit Merkmalen kombiniert werden können, die in einer oder mehreren anderen Figuren veranschaulicht sind, um Ausführungsformen zu erzeugen, die nicht ausdrücklich veranschaulicht oder beschrieben sind. Die Kombinationen von veranschaulichten Merkmalen stellen repräsentative Ausführungsformen für typische Anwendungen bereit. Verschiedene Kombinationen und Modifikationen der Merkmale, die mit den Lehren dieser Offenbarung vereinbar sind, könnten jedoch für konkrete Anwendungen oder Implementierungen gewünscht sein.
  • Zusätzlich dazu, dass beispielhafte Prozesse durch ein Fahrzeugrechensystem ausgeführt werden, das sich in einem Fahrzeug befindet, können die beispielhaften Prozesse in gewissen Ausführungsformen durch ein Rechensystem ausgeführt werden, das mit einem Fahrzeugrechensystem in Kommunikation steht. Ein derartiges System kann eine drahtlose Vorrichtung (z. B. und ohne Einschränkung ein Mobiltelefon) oder ein entferntes Rechensystem (z. B. und ohne Einschränkung einen Server), das durch die drahtlose Vorrichtung verbunden ist, beinhalten, ohne darauf beschränkt zu sein. Zusammen können derartige Systeme als dem Fahrzeug zugeordnete Rechensysteme (vehicle associated computing systems - VACS) bezeichnet werden. In gewissen Ausführungsformen können konkrete Komponenten des VACS in Abhängigkeit von der konkreten Implementierung des Systems konkrete Abschnitte eines Prozesses durchführen. Falls ein Prozess beispielsweise und ohne Einschränkung einen Schritt zum Senden oder Empfangen von Informationen mit einer gekoppelten drahtlosen Vorrichtung aufweist, dann ist es wahrscheinlich, dass die drahtlose Vorrichtung diesen Abschnitt des Prozesses nicht durchführt, da die drahtlose Vorrichtung Informationen nicht sich selbst bzw. von sich selbst „senden und empfangen“ würde. Der Durchschnittsfachmann wird verstehen, wann es unzweckmäßig ist, ein konkretes Rechensystem auf eine gegebene Lösung anzuwenden.
  • Die Ausführung von Prozessen kann durch die Verwendung eines oder mehrerer Prozessoren erleichtert werden, die allein oder in Verbindung miteinander arbeiten und Anweisungen ausführen, die auf verschiedenen nichttransitorischen Speichermedien gespeichert sind, wie etwa Flash-Speicher, programmierbarem Speicher, Festplattenlaufwerken usw., ohne darauf beschränkt zu sein. Derartige Prozessoren können einzeln oder zusammen beschrieben sein und es versteht sich, dass die Verwendung mehrerer Prozessoren zum Durchführen von Handlungen, die einem Prozessor zugeschrieben sind, nicht außerhalb des Umfangs einer derartigen Beschreibung oder Sprache liegt, da Prozessoren allein oder in Verbindung arbeiten können. Die Kommunikation zwischen Systemen und Prozessen kann zum Beispiel die Verwendung von Bluetooth, Wi-Fi, Mobilfunkkommunikation und anderer geeigneter drahtloser und drahtgebundener Kommunikation beinhalten.
  • In jeder der in dieser Schrift erörterten veranschaulichenden Ausführungsformen ist ein beispielhaftes, nicht einschränkendes Beispiel für einen durch ein Rechensystem (oder Systeme, die in Verbindung wirken) durchführbaren Prozess gezeigt. In Bezug auf jeden Prozess ist es möglich, dass das Rechensystem, das den Prozess ausführt, für den begrenzten Zweck des Ausführens des Prozesses als Spezialprozessor zum Durchführen des Prozesses konfiguriert wird. Nicht alle Prozesse müssen in ihrer Gesamtheit durchgeführt werden, sondern sind als Beispiele für Arten von Prozessen zu verstehen, die durchgeführt werden können, um Elemente der Erfindung zu erzielen. Je nach Wunsch können zusätzliche Schritte zu den beispielhaften Prozessen hinzugefügt oder daraus entfernt werden.
  • In Bezug auf die veranschaulichenden Ausführungsformen, die in den Figuren beschrieben sind, die veranschaulichende Prozessabläufe zeigen, ist anzumerken, dass ein Universalprozessor vorübergehend als Spezialprozessor zum Zweck des Ausführens einiger oder aller der beispielhaften Verfahren, die durch diese Figuren gezeigt sind, befähigt sein kann. Wenn Code ausgeführt wird, der Anweisungen zum Durchführen einiger oder aller Schritte des Verfahrens bereitstellt, kann der Prozessor vorübergehend so lange zu einem Spezialprozessor umfunktioniert werden, bis das Verfahren abgeschlossen ist. In einem anderen Beispiel kann in zweckmäßigem Ausmaß Firmware, die gemäß einem vorkonfigurierten Prozessor wirkt, den Prozessor dazu veranlassen, als Spezialprozessor zu wirken, der zum Zweck des Durchführens des Verfahrens oder einer angemessenen Variation davon bereitgestellt ist.
  • In einem Fahrzeugnetzwerk mit Millionen von Fahrzeugen, die jeweils große Datensätze beobachten und diskret trainierte Modelle aufweisen, stellt die massive Anzahl von alternativen Modellen und alternativen Beobachtungen eine Gelegenheit für föderales Lernen bereit. Gleichzeitig haben unter Umständen viele der Modelle seit einer letzten Aktualisierung nicht erheblich divergiert und stellen somit unter Umständen keine guten Kandidaten zum Trainieren eines zentralen Modells dar. Das Hinzufügen aller Gewichtungen und Verzerrungen dieser Modelle kann die Konvergenz des zentralen Modells mit besser trainierten Modellen verzögern. Die veranschaulichenden Ausführungsformen schlagen einen Bereinigungsprozess vor, bei dem Nutzungen eines gegebenen Modells auf Grundlage davon spezifiziert werden können, ob das Modell Parameter erfüllt, um ein guter Kandidat zu sein, und somit kann erwartet werden, dass der Modellsatz, der zum Trainieren des globalen Modells verwendet wird, Kandidaten beinhaltet, die gute Kandidaten für Modelltraining darstellen. Modellbereinigung kann zudem den Rechenaufwand und den Kommunikationsaufwand an den Clients reduzieren.
  • In einem Beispiel werden die Bereinigungsentscheidungen an einem Server getroffen und teilen alle Clients einen Verlustwert mit dem Server, und falls die Verlustreduktion über einen Zyklus (oder Zyklen) nicht über einem Grenzschwellenwertparameter liegt, können die Daten für diesen Client ausmaskiert werden, da sie keinen guten Kandidaten zum Trainieren darstellen. Modelle mit hoher Verlustreduktion scheinen seit einer vorherigen Iteration erheblich gelernt zu haben, wohingegen Modelle mit geringer Verlustreduktion in einem Zustand konvergieren, in dem sich das Lernen für diese Modelle verlangsamt hat oder zum Stillstand gekommen ist und sie in ihrer derzeitigen Verbesserung begrenzt sind.
  • Der Schwellenwert kann anfänglich auf einen hohen Standard (z. B. eine sehr hohe Verlustreduktion) festgelegt sein, da viele Modelle wahrscheinlich einen gewissen frühen Grad an Verlustreduktion aufweisen und daher der Standard ausreichen müsste, um einige dieser Modelle dennoch zu bereinigen. Wenn sich die anderen Modelle verbessern, beginnt ihre Verlustreduktion, mit der Verlustreduktion der bereits bereinigten Modelle zu konvergieren, und daher muss unter Umständen ein neuer Standard ausgesucht werden, der nicht zu übermäßiger Bereinigung führt, aber dennoch einige der Modelle zur Bereinigung isoliert. Falls ein Schwellenwert zum Ausmaskieren von Modellgewichtungen zu hoch festgelegt ist, kann dies auf Grundlage davon ersichtlich sein, dass die Anzahl oder der Prozentsatz der verbleibenden unbereinigten Modelle zu niedrig ist, und der Standard kann modifiziert werden, sodass er mehr Modelle beinhaltet.
  • Darüber hinaus kann es bei Millionen von Fahrzeugen, die Modellgewichtungen melden, angemessen sein, einen Meldezyklus als ausreichend beendet zu betrachten, wenn eine gewisse Anzahl oder ein gewisser Prozentsatz von Fahrzeugen gemeldet hat. Einige Fahrzeuge können monatelang offline sein, andere können eine begrenzte Konnektivität und somit begrenzte Meldung aufweisen, und es kann ineffizient sein, darauf zu warten, dass alle Fahrzeuge in einem Satz melden, vorausgesetzt, dass mindestens eine geeignete Anzahl von Fahrzeugen gemeldet hat, um das Trainieren sinnvoll zu machen. Somit könnte die Bereinigung auf den Datensatz angewendet werden, wie er für den Zyklus gemeldet wird (oder eine zufällige Stichprobenentnahme von meldenden Fahrzeugen). Selbstverständlich könnten die nicht meldenden Fahrzeuge möglicherweise die interessantesten und nützlichsten Modelle aufweisen und daher könnte das Trainieren verzögert werden, bis es hundertprozentige Meldung gibt, aber die statistische Wahrscheinlichkeit, dass nicht meldende Fahrzeuge die besten Modelle oder sogar eine erheblich andere Verteilung von guten/schlechten Modellen als die Gruppe aufweisen, ist relativ gering, und sofern nicht anderweitig beobachtet, ist es kein unangemessener Ansatz, eine Stichprobe mit einer sehr großen Teilmenge einer sehr, sehr großen Gruppe zu entnehmen und diese Stichprobe als ausreichend nützlich und/oder repräsentativ für das Trainieren zu erachten.
  • Föderales Lernen (Federated Learning - FL) ist eine Art von verteiltem Lernen, die verwendet wird, um genauere Modelle zum maschinellen Lernen zu erstellen. Unter Verwendung des FL-Konzepts kann ein Vorhersagemodell zum maschinellen Lernen optimiert werden, ohne die Rohdaten jedes Clients (Workers) preiszugeben. Stattdessen trainieren Clients ihre Modelle lokal und teilen die erlernten Gewichtungen (oder den Unterschied der Gewichtungen zwischen aufeinanderfolgenden Durchläufen) von Modellen mit der Cloud zur Aggregation. In der Cloud aggregiert ein FL-Server alle empfangenen Gewichtungen von den Clients (z. B. bildet einen Durchschnitt davon), erarbeitet ein globales Modell und sendet es zurück an die Clients. Dieser Prozess wiederholt sich, bis das Modell die gewünschte Leistung erreicht.
  • 1 zeigt ein veranschaulichendes Beispiel für ein System mit mehreren Fahrzeugen, das zum fahrzeuginternen (Online-) Lernen und föderalen Lernen in der Lage ist. Es ist eine begrenzte Teilmenge von veranschaulichenden Fahrzeugen 101, 121, 141 gezeigt, die jeweils ein bordeigenes Rechensystem aufweisen, das zur Datenerfassung in der Lage ist und zum Ausführen von fahrzeuginternem Lernen (maschinellem Lernen, das an dem Fahrzeug erfolgt) in der Lage ist. Wenngleich die Rechensysteme als vergleichbar dargestellt sind, können gewisse Fahrzeuge zusätzliche oder alternative Versionen von Sensoren oder Merkmalen aufweisen, die zum Erfassen von Daten und/oder zur Benutzerinteraktion in der Lage sind. Somit kann das gleiche Modell, das an zwei Fahrzeugen eingesetzt wird, Zugriff auf Eingaben aufweisen, die von unterschiedlichen Sensoren (z. B. mit variierender Präzision oder Qualität) erfasst werden. Ferner kann jedes Fahrzeug 101, 121, 141 in variierenden Umgebungen betrieben werden und dies kann zusammen mit Benutzereinstellungen veranlassen, dass gewisse Fahrzeuge mehr oder andere Daten von anderen Fahrzeugen erfassen. Zudem kann jedes Fahrzeug mit unterschiedlicher Häufigkeit verwendet werden, was ebenfalls zu einer Ungleichheit in Bezug auf die in Betracht gezogenen Daten führt. Aus all diesen und weiteren Gründen können die Modelle, die an den Fahrzeugen ausgeführt werden und an den Fahrzeugen trainiert werden, sehr unterschiedliches Trainieren und sehr unterschiedliche Änderungen wahrnehmen, was sowohl die Häufigkeit des Trainierens als auch die Verlustreduktion angeht.
  • In diesem Beispiel weist jedes Fahrzeug eine Vielzahl von Sensoren 107, 109, 127, 129, 147, 149 auf, die jeweils in den Fahrzeugen 101, 121, 141 eingesetzt wird (in diesem Beispiel zwei pro jedem). Diese Sensoren erfassen Daten für Prozesse zum maschinellen Lernen und zum Trainieren, zum Beispiel kann ein Sensor eine Kamera sein und kann der andere ein Beschleunigungsmesser sein, und die erfassten Daten können ein Bild sein, das während einer Beschleunigung erfolgt, und das Bild kann mit Beschleunigungsdaten beschriftet sein.
  • Ein Prozess zum maschinellen Lernen kann dem Benutzer ein Merkmal auf Grundlage der erfassten Daten bereitstellen und eine Konfigurationsdatei, die sich an Bord des Fahrzeugs befindet und dem Prozess zum maschinellen Lernen zugeordnet ist, kann Erwartungen für den Prozess definieren. Der Prozess kann Teil einer AEML-Vorgangspipeline 105, 125, 145 sein, in der das Fahrzeug Modelle überwacht, Inferenzen für die Modellnutzung und das Modelltraining bereitstellt, Daten erfasst, Daten beschriftet, Modelle trainiert und neu trainierte Modelle validiert.
  • Allgemein ausgedrückt, kann das Fahrzeug 101 auf Grundlage eines Überwachungsprozesses der Pipeline 105 in diesem Beispiel und durch einen oder mehrere Fahrzeugprozessoren 103 ausgeführt bestimmen, dass ein an Bord des Fahrzeugs 101 gespeichertes Modell zum Trainieren bereit ist. Unter Verwendung von durch die Sensoren 107, 109 erfassten Daten und/oder vorab hierfür vorgesehenen Trainingsdaten kann das Fahrzeug 101 das Modell an Bord des Fahrzeugs 101 trainieren.
  • Das neu trainierte Modell kann an Bord des Fahrzeugs in einem Modellrepositorium gespeichert und im Hintergrund als Schattensoftware während des Fahrzeugbetriebs zu Verifizierungszwecken ausgeführt werden. Die Schattenausführung erzeugt nicht unbedingt Ergebnisse an Bord des Fahrzeugs (wie es das Vordergrundmodell tun würde), stellt jedoch dennoch Ausgaben bereit, die anhand von in der Konfigurationsdatei definierten Erwartungen geprüft und anhand einer Vordergrundausführung des Modells geprüft werden können. Falls das Modell eine ausreichende Verbesserung zeigt (die zudem durch die Konfigurationsdatei definiert sein kann), kann das neu trainierte Modell das Vordergrundmodell als das aktive Modell ersetzen.
  • An diesem Punkt führt das Fahrzeug 101 wahrscheinlich ein anderes Modell aus als die Fahrzeuge 121 und 141, es sei denn, die Modelle auf den anderen Fahrzeugen 121, 141 waren genau gleich trainiert worden (an Bord dieser jeweiligen Fahrzeuge) und hatten sich genau gleich geändert. Wenn jedes Fahrzeug einen Trainingszyklus abschließt und ein Modell validiert, kann es die Ergebnisse des Trainings an die Cloud 161 melden. Da Fahrzeuge mit unterschiedlichen Raten trainieren können, wie zuvor angemerkt, kann es angemessen sein, föderales Lernen in der Cloud 161 zu versuchen, wenn eine Schwellenanzahl von Modelltrainingsgewichtungen und Verlustwerten gemeldet worden ist.
  • Eine Gateway-Funktion 163 kann Auswertung eingehender Daten und Modellverteilung (Verteilen eines Modells, das durch föderales Lernen neu trainiert ist) bereitstellen. Client-Daten von den einzelnen Fahrzeugen können in einer Datenbank 167 gespeichert sein und Modellgewichtungen und andere Werte können in einem Modelldatenrepositorium 169 gespeichert sein. Ein Analyseprozess 171 kann ausgeführt werden, wenn ausreichende Meldung von Modellaktualisierungen erfolgt ist, und kann die Datensätze analysieren, um zu bestimmen, welche Modelle zu bereinigen sind, wie in Verbindung mit 3 ausführlicher beschrieben. Nach der Bereinigung 173 gewisser Modelle aus den Trainingsmodellen (Ausnehmen ihrer Gewichtungen aus der Berücksichtigung) kann der Cloud-Prozess föderales Lernen verwenden, um das globale Modell bei 175 zu aktualisieren. Das Gateway (oder eine andere Funktion) 163 kann dann das aktualisierte globale Modell gegebenenfalls an die Fahrzeuge 101, 121, 141 verteilen.
  • 2 zeigt ein veranschaulichendes Beispiel für einen Lernprozess für ein eingesetztes Modell, der an Bord eines Fahrzeugs erfolgen kann. Dieser Prozess zieht fahrzeuginternes Lernen (Online-Lernen) in Betracht und kann zur Unterstützung von föderalem Lernen durch lokales Trainieren von Modellen verwendet werden, die an eine zentrale Instanz zum föderalen Lernen gemeldet werden können. Modellrepositorien auf einem Fahrzeug können sowohl persönliche als auch generische Modellversionen speichern und persönliche Modellversionen, die an einem Fahrzeug für eine spezifische Person trainiert werden, sind unter Umständen nicht für das Trainieren des globalen Modells in der Cloud geeignet, falls sie auf einen gegebenen Benutzer oder eine gegebene Benutzergruppe zugeschnitten sind. Cloud-Modellrepositorien können Versionen von globalen Modellen und Urmodellen speichern und/oder können Versionen von Modellen, die auf einzelne Benutzer oder Fahrzeuge anwendbar sind, mit entsprechender Bezugnahme auf die anwendbare Instanz speichern.
  • Föderales Lernen kann zudem fahrzeugintern oder an einem Edge-Knoten erzielt werden, da Fahrzeuge Verlustinformationen und Gewichtungen austauschen können, die sich auf gemeinsam besessene Modelle beziehen, und gewisse dieser Modelle auf föderale Weise (unter Verwendung von Informationen von anderen Fahrzeugen) in einem gegebenen Fahrzeug trainierbar sein können, falls die Modelle von den anderen Fahrzeugen eine ausreichende Verlustreduktion darstellen und/oder im Allgemeinen angeben, dass sie besser „gelernt“ haben als die Version des Modells, die sich derzeit auf dem gegebenen Fahrzeug befindet. Die teilenden Fahrzeuge können einen Zyklus melden, der einer Vielzahl von Verlustwerten zugeordnet ist, sodass die Verlustreduktion relativ zu dem gegebenen Obj ektfahrzeug bestimmt werden kann - dies kann eine Dauer zwischen Verlustwerten, in Betracht gezogene Datenpunkte, Betriebsstunden zwischen Verlustwerten usw. beinhalten. Das gegebene Objektfahrzeug kann dann die Verlustreduktion mit seiner eigenen Verlustreduktion über eine vergleichbare Spanne vergleichen, und sobald ausreichende geteilte Modelle empfangen worden sind, die eine „bessere“ Verlustreduktion darstellen, kann das gegebene Fahrzeug sein eigenes Modell unter Verwendung föderaler Durchschnittsbildung der Gewichtungen trainieren, die den schneller lernenden Modellen zugeordnet sind, die durch die anderen Fahrzeuge geteilt werden.
  • Techniken und Konzepte, die in Bezug auf fahrzeuginternes Lernen beschrieben sind, können zudem auf föderales Lernen anwendbar sein, wenn dies angemessen ist, und der Fachmann wird verstehen, wann die als zu dem einen gehörend offenbarten Konzepte auf das andere erweiterbar wären.
  • Ein AI/ML-Merkmal 201 kann die vorliegend ausgeführte Version eines gegebenen ML-Modells darstellen, das eine Konfigurationsdatei aufweisen kann, die ihre eigenen Anforderungen und Parameter zur Datenerfassung definiert. Dieses Modell kann ursprünglich als globales Modell und/oder globales Modell, das durch eine vorherige Iteration von föderalem Lernen trainiert worden ist, verteilt worden sein. Das Fahrzeug 100 kann lokalisierte Daten laut Erfassungsanforderungen bereitstellen, wobei etwaige angeforderte 203 zulässige Daten in einem beliebigen Intervall gesammelt werden, über das die Daten angefordert werden. Richtlinienverwaltung kann vorgeben, wie viele Daten für ein gegebenes Modell oder einen gegebenen Dienst gespeichert werden, da der Speicher nicht unbegrenzt ist, aber jedes Modell 201 kann eine lokalisierte Version von Daten aufweisen, die gemäß seinen eigenen Parametern erfasst und annotiert werden, sodass hochspezifische Versionen der gleichen allgemeinen Arten von Daten zum Trainieren jedes Modells gespeichert werden können.
  • Ein automatischer Annotations-/Beschriftungsprozess 205 kann dazu dienen, die Daten in Echtzeit zu beschriften, was eine sofortige Verwendung der Daten ermöglicht, ohne darauf warten zu müssen, dass ein manueller Beschriftungsprozess erfolgt. Dies fügt den Daten aus der Perspektive des gegebenen Merkmals 201 Relevanz hinzu, wodurch ein sauberer Datensatz 207 erzeugt wird, der in Bezug auf das gegebene Merkmal 201 gespeichert 209 werden kann. Diese Daten können durch neuere Daten ersetzt oder aufbewahrt werden, solange dies notwendig ist und/oder die Richtlinie dies zulässt.
  • Learning as a Service (LaaS) 211 kann auf Wunsch fahrzeuginternes Lernen ohne Rückgriff auf Cloud- oder Edge-Computing bereitstellen. Dies ermöglicht es dem Fahrzeug 100, seine eigenen Modelle selbst zu verbessern, ohne auf eine globale Verbesserung oder einen globalen Einsatz warten zu müssen. Dies ermöglicht zudem das Ausnutzen von HPCC und einer gezielten Architektur des Fahrzeugs 100, um ein Modell unter Verwendung der Architektur des Fahrzeugs 100 effizient zu trainieren, und verteilt die Berechnung, die verwendet werden würde, um ein Modell zu trainieren, über die ausgedehnte Flotte von eingesetzten Fahrzeugen. Die Ergebnisse dieses Trainings können, wenn sie auf zweckmäßige Modelle angewendet werden, die von föderalem Lernen profitieren, mit einer zentralen Trainingsplattform (z. B. der Cloud/dem Backend) geteilt werden und diese Ergebnisse des lokalisierten fahrzeuginternen Trainings können verwendet werden, um das globale Modell beim föderalen Lernen erneut zu trainieren.
  • Ein neu trainiertes Modell kann anhand eines Satzes von Parametern validiert 213 werden, um die allgemeine Funktionalität sicherzustellen sowie um zu bestimmen, ob das Modell eine verbesserte Version des derzeitigen Modells 201 darstellt. Sobald es validiert ist, kann das Modell in ein Modellrepositorium verschoben werden, das eingesetzte globale Modelle verfolgen und vergangene Iterationen/Versionen von Modellen speichern kann. Beim föderalen Lernen können global trainierte Modelle vor der Verteilung in der Cloud validiert werden oder zum Testen/zur Validierung vor der breiten Verteilung an eine begrenzte Teilmenge von Fahrzeugen verteilt werden.
  • Der fahrzeuginterne Trainingsprozess ermöglicht es Fahrzeugen, ihre eigenen Modelle unter Verwendung von Daten, die sowohl für das Modell als auch für das gegebene Fahrzeug relevant sind, selbst zu verbessern. Da Fahrzeuge auf Grundlage von Örtlichkeiten, Gesamtnutzung, spezifischen Nutzungsarten, Tendenzen des Besitzers/Fahrzeugführers, Umgebungsvarianzen usw. erheblich variierende Informationen beobachten, ist die Wahrnehmung eines gegebenen Fahrzeugs viel weniger homogen als zum Beispiel die einer Anwendung, die sich auf einem Desktop-Computer an einem festen Standort in einer Büroumgebung befindet. Wenngleich jedes beliebige eingesetzte Modell auf Grundlage von Tendenzen und Zielen des Fahrzeugführers variieren kann, stellen Fahrzeuge selbst kontinuierlich variable Betriebsumgebungen dar und erfordern unter Umständen viele zusätzliche Varianzen gegenüber einem typischen Modell, um eine fortgeführte Verbesserung und Leistung unter einem viel breiteren Variablensatz sicherzustellen. Dies bedeutet nicht, dass in Fahrzeugen eingesetzte Modelle nicht von globalen Aktualisierungen profitieren, aber in einigen Fällen profitieren sie zudem von einer Vielfalt an persönlichen Verbesserungen auf eine Weise, die eine viel individuellere Umgebung relativ zu einem gegebenen Fahrzeug widerspiegeln kann als eine einfache Verbesserung eines Modells, das relativ zu einer Art von Benutzer (gemeinsame Ziele und Nutzung) gegenüber einem anderen trainiert wird. Ob ein gegebenes Modell für föderales Lernen geeignet ist oder nicht, kann davon abhängen, wie persönlich das Modell ist - z. B. kann ein Fensterstandortpräferenzmodell im Allgemeinen sehr persönlich sein, aber es kann zudem einige regionale Voreinstellungen geben, die von föderalem Lernen aus Modellen über die Region hinweg profitieren könnten. In einem derartigen Beispiel kann es ein Basismodell geben, das mit neuen Fahrzeugen verteilt wird und das auf Grundlage von regional beobachteten Vorhersagen und Präferenzen trainiert wird, und dann wird das Modell durch fahrzeuginternes Trainieren schnell personalisiert und nicht länger Aktualisierungen von dem zentral trainierten Modell unterzogen. Gleichzeitig kann dieses Modell dennoch verwendet werden, um das zentrale Modell zu trainieren, das als das Basisverteilungsmodell für Fahrzeuge dient, die noch nicht für einen Besitzer personalisiert worden sind.
  • Das Modellrepositorium kann sowohl in der Cloud als auch in dem Fahrzeug bestehen. Die Cloud-Version des Repositoriums kann generische Modelle und Urmodelle speichern, bei denen es sich um ML-Modelle handeln kann, die weithin auf eine Flotte, eine Region, eine Umgebung usw. anwendbar sind. Sowohl die Cloud als auch das Fahrzeug können spezialisierte Modelle speichern, bei denen es sich um ML-Modelle handelt, die für einen gegebenen Benutzer oder ein gegebenes Fahrzeug/eine gegebene VIN einzigartig sind. Hierbei handelt es sich um Modelle, die speziell für diesen Benutzer oder dieses Fahrzeug trainiert worden sind. Dies könnte buchstäblich zig Millionen Modelle in der Cloud darstellen und muss unter Umständen auf eine angemessene Art der Datenverwaltung bewerkstelligt werden. Allgemein ausgedrückt, können die generischen Modelle von flottenweitem föderalem Lernen profitieren, können die Urmodelle von föderalem Lernen innerhalb ihrer Verteilungsregion (kleinere Flotte, Region, Umgebung usw.) profitieren und sind die persönlichen Modelle üblicherweise keine Subjekte von föderalem Lernen. Gleichzeitig können Ausnahmen bestehen, die gegebenenfalls vom Fachmann erkannt werden.
  • Quellen des Modelltrainings können sowohl fahrzeuginternes Lernen (zum Beispiel für spezialisierte Modelle) als auch föderales Lernen (zum Beispiel für globale Modelle) sein. Daten, die in Bezug auf ein gegebenes Modell gespeichert sind, können zum Beispiel Beschreibungen von Modellen, Algorithmusklassen (z. B. lineare Regression, Entscheidungsbaum, neuronales Netz usw.), MI,-Frameworks, Kontaktinformationen für Modell-/Merkmalsbesitzer, Versionen von Trainingsdatensätzen, die verwendet werden, um das Modell zu erzielen, Fahrzeugabhängigkeiten, Einsatzmodi, Abhängigkeiten, Aktivierungsauslöser usw. beinhalten, ohne darauf beschränkt zu sein.
  • Die Cloud 161 kann dazu konfiguriert sein, aktualisierte Modelle zuzustellen, wie etwa, wenn ein neues ML-Modell eine spezifische Verzweigung in dem Modellrepositorium erreicht. Für ein gegebenes Modell können Aktualisierungen zudem für Fahrzeuge geplant werden, die von einer identifizierten Versionsänderung zwischen einem eingesetzten Modell und einem neu trainierten Modell profitieren können. Andere Zustellungsauslöser können Ein-Klick-Einsatz (augenblicklich) beinhalten oder auf Fahrzeug- und/oder Lebenszyklusereignissen basieren. Zum Beispiel kann ein gültiger Fahrzeugzustand vor dem Einsatz erforderlich sein, was ein Abonnement/eine Registrierung, eine Fahrzeugautorisierung, eine Benutzerautorisierung, das Vorliegen oder Nichtvorliegen gewisser Software- oder Hardwaremerkmale usw. beinhalten kann, ohne darauf beschränkt zu sein.
  • Modellversionierung ist ein Prozess, der einer beliebigen AI/ML-Infrastruktur zugeordnet sein kann. Mit der veranschaulichenden FNV-AI/MI,-Architektur können die Konzepte des fahrzeuginternen Lernens und des föderalen Lernens von modifizierter Modellversionierung in dem Fahrzeug profitieren, um Modelle zu verfolgen, die in dem Fahrzeug trainiert, feinabgestimmt, validiert und aktualisiert werden. Im Automobilkontext kann dies eine Speicherstruktur beinhalten, die mit AUTOSAR arbeitet, es versteht sich jedoch, dass sich dieses Konzept über den Automobilkontext hinaus auf eine beliebige Gruppe von ungleichartig trainierten Modellen erstreckt, die an einen zentralen Beauftragten melden können, der dafür vorgesehen ist, das globale Modell durch föderales Lernen zu trainieren.
  • Modelle können in zwei Kategorien unterteilt werden: allgemeine Modelle oder spezialisierte Modelle. Allgemeine Modelle stellen ein Modell dar, das auf eine große Flotte von Fahrzeugen anwendbar ist, z. B. alle Fahrzeuge eines konkreten Modells oder alle Fahrzeuge in einer konkreten Region. Diese Modelle können durch die Cloud bereitgestellt und in der Cloud trainiert werden (sogar z. B. durch föderales Lernen) und einem Fahrzeug als Teil einer normalen Software-/Konfigurationslast bereitgestellt werden. Spezialisierte Modelle sind Modelle, die für einen konkreten Benutzer oder ein konkretes Fahrzeug trainiert sind. Sie sind unter Umständen kein Teil der Softwarelast und können entweder in dem Fahrzeug oder in der Cloud trainiert werden. Spezialisierte Modelle sind typischerweise von nicht spezialisierten Urmodellen abgeleitet.
  • Modelle müssen zudem unter Umständen vor dem Einsatz validiert werden, was aggressive Tests unter einer Vielfalt an Umständen beinhalten kann, die dazu beitragen, sicherzustellen, dass sich ein gegebenes Fahrzeug unter einer sehr breiten Palette von Umständen nicht unerwartet verhält. Bevor ein Modell in einer Produktionsumgebung eingesetzt wird, kann das Modell mit unterstützendem Inferenzcode in einer Cloud-Umgebung eingesetzt werden. Dort können Testdaten und Validierungs-/Schwellenwertdaten in Verbindung mit dem Modell verwendet werden, um sicherzustellen, dass die erwarteten Ergebnisse/Schwellenwerte unter Ausführung der Testdaten erzielt werden. Falls das Modell eine neue Version eines bestehenden Modells ist, können Differenztests verwendet werden, bei denen die Unterschiede bei der Ausführung von einer Version zu einer anderen verglichen werden können, wenn die Eingaben (Daten) gleich sind.
  • Zusätzlich kann es, wie zuvor angemerkt, einen Schattenmodus des Modells geben, der in der Zielumgebung ausgeführt werden kann, ohne die Leistung des vorliegend ausgeführten Modells zu ändern. Dies ermöglicht eine Vorhersage relativ zu sowohl der bestehenden als auch der neuen Version des Modells. Unter Verwendung von Live-Daten können Vorhersageeingaben und -ausgaben für beide Versionen überwacht und gespeichert werden und die resultierenden Daten können verwendet werden, um zu bestimmen, ob die neue Version besser funktioniert als die bestehende Version, was als Einsatzauslöser dienen kann. Im Kontext des föderalen Lernens kann die Schattenausführung an einer zufälligen Teilmenge von Fahrzeugen erfolgen, um die Konsistenz des Betriebs und der Ausgabe unter zufälliger Verteilung vor der globalen Verteilung des neu trainierten Modells sicherzustellen.
  • 3 zeigt ein veranschaulichendes Beispiel für einen Analyse-, Trainings- und Bereinigungsprozess. Wie zuvor angemerkt, bezieht sich dieser Prozess auf föderales Lernen (FL), wobei Gewichtungen vieler Modelle, die von einem anfänglichen Modell abgezweigt sind, verwendet werden, um die anfängliche (oder eine zuvor trainierte) Version des globalen Modells erneut zu trainieren, wobei das an Bord einiger oder aller der entfernten Instanzen, die das Modell einzeln trainieren, erfolgende Trainieren ausgenutzt wird.
  • Jede beliebige FL-Plattform kann ein sicheres Rechenframework bereitstellen, um FL-Erfordernisse zu unterstützen. Sie kann sichere Kommunikationsprotokolle unter Verwendung unterschiedlicher Verschlüsselungsverfahren implementieren, während FL-Architekturen und sichere Berechnung verschiedener Algorithmen zum maschinellen Lernen unterstützt werden, was alle gradientenbasierten Modelle zum maschinellen Lernen (z. B. verallgemeinerte lineare Modelle, Entscheidungsbaumalgorithmen mit Gradientenverstärkung, Deep Learning) beinhaltet.
  • Die veranschaulichenden Ausführungsformen ziehen ein adaptives Bereinigungsverfahren in Betracht, das einen optimalen oder ausreichenden Satz von verbleibenden (d. h. nicht bereinigten) Modellparametern für das effizienteste Trainieren in der nahen Zukunft findet. Das Verfahren bereinigt Clients auf Grundlage ihres einzelnen Trainingsfortschritts zwischen unterschiedlichen Trainingsrunden. Modelle (Clients) mit erheblicher Änderung (z. B. hoher Verlustreduktion) zwischen Durchläufen sind diejenigen, die hauptsächlich für die zukünftigen Aktualisierungen des globalen Modells berücksichtigt werden können. Dies bedeutet, dass sich das Modell gegenüber dem vorherigen Durchlauf verbessert hat und eine größere Auswirkung auf das globale Modell hätte. Modelle mit weniger erheblicher Änderung sollten bereinigt werden. Es ist anzumerken, dass selbst dann, wenn ein Modell bereinigt wird, da es eine geringe Verlustreduktion aufweist, die Bereinigung nicht unbedingt fortbesteht und die Leistung und Verlustreduktion des Modells in zukünftigen Meldezyklen in Betracht gezogen werden können und das Modell wieder zu dem Datensatz von verwendbaren Modellen zum Trainieren hinzugefügt werden kann.
  • Ein Beispiel beinhaltet ein FL-System mit N Clients. Jeder Client n ∈ [N] := {1, 2, ..., N} weist einen empirischen Fehler (lokalen Verlust) F n ( w ) : = 1 | D n | i D n f i ( w )
    Figure DE102022132540A1_0001
    auf, der an seinem lokalen Datensatz Dn für einen Modellparametervektor w definiert ist, wobei fi(w) die Verlustfunktion (z. B. Kreuzentropie, mittlerer quadratischer Fehler usw.) ist, die den Unterschied zwischen der Modellausgabe und der gewünschten Ausgabe der Datenstichprobe i aufzeichnet. Das System versucht, einen Parameter w zu finden, der den empirischen Fehler (globalen Fehler) minimiert: min w   F ( w ) : = n [ N ] p n F n ( w )
    Figure DE102022132540A1_0002
    wobei pn > 0 Gewichtungen pro Clients sind (die sich von den Gewichtungen des Modells unterscheiden), sodass Pn∈[N]pn = 1. Falls zum Beispiel Dn ∩ Dn' = ∅ für n ≠ n' gilt und pn = Dn/|D| bei D := ∪ Dn festgelegt ist, ergibt sich F ( w ) = 1 | D | i D n f i ( w ) .
    Figure DE102022132540A1_0003
    Andere Möglichkeiten zum Konfigurieren von pn können zudem verwendet werden, um der Fairness Rechnung zu tragen. An der FL-Prozedur sind üblicherweise mehrere Schritte des stochastischen Gradientenabstiegs (stochastic gradient descent - SGD) an dem empirischen Fehler (lokalen Verlust) Fn(w) beteiligt, der durch den Client n berechnet wird, gefolgt von einem Parameterfusionsschritt, an dem beteiligt ist, dass der Server die lokalen Parameter der Clients sammelt und einen aggregierten Parameter berechnet. Bei föderaler Durchschnittsbildung ist der aggregierte Parameter einfach der Durchschnitt von lokalen Parametern, der mit pn gewichtet ist. Im Folgenden bezeichnen wir diese Prozedur von mehreren lokalen SGD-Schritten, gefolgt von einem Fusionsschritt, als eine Runde. Es ist möglich, dass an jeder Runde nur eine Teilmenge von Clients beteiligt ist, um eine unverhältnismäßige Verzögerung zu vermeiden, die durch Warten auf alle Clients veranlasst wird. Es ist gezeigt worden, dass föderale Durchschnittsbildung selbst bei zufälliger Client-Teilnahme konvergiert, obwohl die Konvergenzrate mit dem Grad einer derartigen Zufälligkeit zusammenhängt.
  • In der Edge-/Mobile-Computing-Umgebung, in der die Ressourcen und die Kommunikationsbandbreite der Clients begrenzt sind, kann die vorstehende FL-Prozedur erheblich herausgefordert werden, wenn die Modellgröße groß ist. Modellbereinigung kann dazu beitragen, den Berechnungs- und Kommunikationsaufwand an Clients zu reduzieren.
  • Zu Beginn eines FL-Prozesses wird ein vorab trainiertes Modell (als globales Basismodell bezeichnet) durch den Server an alle Clients verteilt. Die adaptive Bereinigung wird mit der standardmäßigen Prozedur zur föderalen Durchschnittsbildung durchgeführt, bei der das Modell in Abhängigkeit davon, was das Trainieren am effizientesten macht, entweder wachsen oder schrumpfen kann. An dieser Stufe sind Daten von allen teilnehmenden Clients beteiligt.
  • In einem Beispiel für ein adaptives Bereinigungsverfahren beinhaltet der Begriff der Bereinigung grob formuliert sowohl das Entfernen als auch das Wiederhinzufügen von Aktualisierungen lokaler Parameter. Daher werden derartige Bereinigungsvorgänge zusammen als Neukonfiguration bezeichnet. Das Modell wird in einem gegebenen Intervall neu konfiguriert, das mehrere Iterationen beinhaltet. Zur Bereinigung findet die Neukonfiguration an dem Server statt, nachdem Parameteraktualisierungen von Clients empfangen worden sind (d. h. an der Grenze zwischen zwei FL-Runden), wodurch das Neukonfigurationsintervall in diesem Fall ein ganzzahliges Vielfaches der Anzahl von lokalen Iterationen in jeder FL-Runde ist. In jedem Neukonfigurationsschritt findet adaptive Bereinigung einen optimalen oder ausreichenden Satz von verbleibenden (d. h. nicht bereinigten) Modellparametern für das effizienteste Trainieren in der nahen Zukunft. Dann werden die Parameter entsprechend bereinigt oder wieder hinzugefügt und das resultierende Modell wird bis zum nächsten Neukonfigurationsschritt zum Trainieren verwendet.
  • Diese Bereinigung hilft beim Bestimmen eines Teilnetzwerks, das am schnellsten oder zumindest schneller lernt als das vollständige Netzwerk von Clients, von denen viele aus einer Vielfalt an Gründen eine minimale Verlustreduktion zwischen Runden wahrnehmen können. Ein Beispiel dafür, wie dies erzielt werden kann, ist durch Schätzen des empirischen Fehlers dividiert durch die Zeit, die erforderlich ist, um eine FL-Runde für eine beliebige gegebene Teilmenge von Parametern, die zur Bereinigung ausgesucht wird, abzuschließen. Es ist zu beachten, dass nach der Durchschnittsbildung von Parametern bei FL alle Clients mit dem gleichen Parametervektor w beginnen. Daher untersucht dieses Beispiel die Änderung des empirischen Fehlers (lokalen Verlusts) nach einer SGD-Iteration beginnend mit einem gemeinsamen Parameter w(k) in der Iteration k. Die Idee besteht darin, dass, falls es eine erhebliche Änderung des Verlusts (äquivalent der Genauigkeit) gibt, ein gegebenes Modell ein guter Kandidat ist und die Glaubwürdigkeit aufweist, um das endgültige globale Modell zu aktualisieren.
  • gw(k) bezeichne den stochastischen Gradienten, der bei w(k) bewertet und an dem gesamten Parameterraum in der Iteration k berechnet wird, sodass E[gw(k)] = ∇F(w(k)). Zudem bezeichne mw(k) einen Maskierungsvektor, der null ist, falls die entsprechende lokale Aktualisierung w(k) bereinigt wird, und eins, falls diese nicht bereinigt wird. Wenn das Modell am Ende der Iteration k bereinigt wird, wird die Parameteraktualisierung in der nächsten Iteration für den bereinigten Parametervektor (Clients-Vektor), w'(k), vorgenommen, sodass sich ein SGD-Aktualisierungsschritt ergibt, der folgt: w ( k + 1 ) = w ' ( k ) η w ' g w ' ( k ) m w ' ( k )
    Figure DE102022132540A1_0004
  • Um den Maskierungsvektor zu berechnen und daher die Client-Bereinigung durchzuführen, wird angenommen, dass alle Clients ihre Verlustwerte mit dem Server teilen. Es sei angenommen, dass der Server den Maskierungsvektor alle δ Iterationen aktualisiert, und es sei angenommen, dass der Verlustwert für den Client n, der in Zyklus k - δ unter Verwendung von Gleichung 1 berechnet wird, F n k δ ( w )
    Figure DE102022132540A1_0005
    beträgt. Wenn angenommen wird, dass der in dem derzeitigen Zyklus k berechnete Verlustwert F n k ( w )
    Figure DE102022132540A1_0006
    beträgt, dann ist die Verlustwertreduktion: V e r l u s t r e d = F n k ( w ) F n k δ ( w ) δ
    Figure DE102022132540A1_0007
  • Der entsprechende Skalarwert, mc, für den Client n in dem Maskierungsvektor, M, ist wie folgt definiert: m c = { 0 f a l l s   V e r l u s t r e d < γ 1 a n d e r n f a l l s
    Figure DE102022132540A1_0008
    Wobei γ ein vordefinierter Schwellenwert ist. Daher werden Clients mit mc bereinigt und ihre Gewichtungen werden nicht verwendet, um das globale Modell zu aktualisieren. Die Schritte finden auf dem Server statt, nachdem Modelle und Verlustwerte von den Clients empfangen worden sind, was bedeutet, dass sich die Gewichtungen des Modells nicht ändern. Gamma kann dynamisch modifiziert werden, falls unzureichende Modelle bereinigt werden und/oder eine übermäßige Bereinigung erfolgt. Die Idee besteht darin, Gamma auf einen Wert festzulegen, der Modelle bereinigt, die relativ zu der größeren Gruppe nicht so schnell gelernt haben, sodass eine Teilmenge von Meldemodellen, die die schnelleren Lerner darstellt, verwendet wird, um das globale Modell zu aktualisieren. Gleichzeitig kann es gewünscht sein, eine gewisse Größe oder einen gewissen Prozentsatz der einbezogenen Gewichtungen beizubehalten.
  • In dem in 3 gezeigten Beispiel empfängt die Cloud 161 bei 301 die Daten von einer Vielzahl von meldenden Fahrzeugen 101, 121, 141, was die Verlustwerte und Modellgewichtungen für eine gegebene Interaktion des Modells an einem gegebenen Fahrzeug beinhaltet. Sobald es bei 303 eine Schwellenanzahl von Datensätzen gibt (bei der es sich um alle Datensätze handeln könnte, z. B. alle Fahrzeuge, aber es sich nicht unbedingt um alle Datensätze handeln muss), begutachtet der Prozess bei 305 den Verlust für jeden Client und bestimmt bei 307 die Verlustreduktion (zum Beispiel Änderung des Verlusts über die Anzahl von Zyklen). Der Prozess bestimmt bei 309 zudem, ob der Client für die Einbeziehung in das Trainieren in Frage kommt, was in diesem Fall ein Vergleich der Verlustreduktion mit demjenigen Wert ist, der für Gamma festgelegt ist.
  • In einem alternativen Beispiel kann der Server den Gammawert oder bevorzugten Gammawert für einen gegebenen Zyklus an die Kandidatenfahrzeuge verteilen und können die Kandidatenfahrzeuge ihre eigene Verlustreduktion über eine zweckmäßige Anzahl von Zyklen bestimmen. Fahrzeuge, die keine ausreichende Verlustreduktion aufweisen, können den Schritt zum Melden ihrer Gewichtungen und Modelldaten überspringen, um den Übertragungsaufwand weiter zu reduzieren. Die zweckmäßige Anzahl von Zyklen kann zum Beispiel eine Anzahl von Zyklen seit einem letzten Hochladen, über einen Zeitraum usw. sein.
  • Sie kann zudem pro Fahrzeug variieren (falls ein Zyklus eine Trainingsinstanz darstellt), aber falls der Durchschnitt der Verlustreduktion pro Zyklus gebildet wird, kann das Fahrzeug dazu in der Lage sein, einen relativen Wert zu anderen Fahrzeugen selbst zu bestimmen.
  • In einem anderen Fall kann es eine Schwellenverlustreduktion über einen beliebigen Zyklus geben, die ebenfalls Meldung veranlasst, falls das Fahrzeug selbst wählt, nicht zu melden. Dieses gleiche Konzept kann auf Serverentscheidungen über Bereinigung angewendet werden. Das heißt, ein Fahrzeug kann über einen einzelnen Zyklus eine sehr erhebliche Verlustreduktion wahrnehmen und kann dann (zum Beispiel nahe dem Optimum) eine reduzierte Verlustreduktion wahrnehmen. Falls die Anzahl von Zyklen groß genug ist, kann sie die Auswirkung der einmaligen Verlustreduktion abschwächen, aber die Gewichtungen für das Modell können dennoch relevant sein, da das Modell über einen gegebenen Trainingszyklus „sehr schnell“ gelernt hat. Dieses Modell kann unter gewissen Umständen dennoch für die Einbeziehung in Frage kommen, falls die maximale Reduktion über einen einzelnen Zyklus über einem Schwellenwert liegt und unter der Annahme, dass der Implementierer dies als wertvollen Indikator erachtet. Aus ähnlichen Gründen kann die Anzahl von Zyklen, die zum Bestimmen der Verlustreduktion relativ zu Gamma verwendet wird, fahrzeugspezifisch sein, falls das Fahrzeug die Daten eingehend prüft, sodass eine große Anzahl von Fahrzeugen, die Meldung mit mehreren Zyklen aufweist, nicht veranlasst, dass ein Fahrzeug, das nur einem einzelnen Trainingszyklus unterzogen wird, seine Verlustreduktion unterschätzt, indem sie durch die größere Anzahl von Trainingszyklen (und daher Meldezyklen) dividiert wird, die durch die Gruppe als Ganzes wahrgenommen wird.
  • Falls ein gegebener Datensatz bei 309 für die Einbeziehung in Frage kommt, wird der Maskierungsvektor bei 313 auf 1 festgelegt, andernfalls wird der Vektor bei 311 auf 0 festgelegt. Dies ist einfach ein Multiplikationskoeffizient, der auf die resultierenden Gewichtungen angewendet wird, um zu bestimmen, ob ein Gewichtungssatz einbezogen wird oder auf null gesetzt wird. Falls bei 315 zusätzliche Datensätze verbleiben, wird die Analyse wiederholt, bis alle relevanten Datensätze auf Bereinigung bewertet worden sind.
  • Sobald die Datensätze auf Grundlage des vorliegenden Werts von Gamma bereinigt worden sind, kann der Prozess bei 317 bewerten, ob die resultierende Anzahl oder der resultierende Prozentsatz der Datensätze ausreichend ist, z. B. ob sie/er einen vordefinierten Parameter für das Trainieren erfüllt. Falls die Anzahl nicht ist, kann der Prozess entweder bei 319 wählen, auf mehr Datensätze zu warten, oder bei 321 einen neuen Schwellenwert festlegen. Falls zum Beispiel das Trainieren versucht wurde, als nur 50 Prozent Meldung vorhanden war, und sich Gamma als zu aggressiv erwiesen hat, um eine ausreichende Anzahl von nicht bereinigten Datensätzen zu erzeugen, kann der Prozess wählen, einfach auf mehr Meldung zu warten, da zusätzliche Daten zu der zweckmäßigen Anzahl von Datensätzen führen können. Falls andererseits 95 Prozent der Fahrzeuge gemeldet hatten, muss Gamma unter Umständen angepasst werden, um einige zuvor bereinigte Datensätze wieder einzubeziehen. Die Entscheidung darüber, welcher Pfad (falls beide Pfade eine Option sind) genommen werden kann, kann zudem relativ zu der erwarteten Verteilung erfolgreicher Werte über die verbleibende mögliche Meldung sein.
  • Falls zum Beispiel erwartet wurde, dass insgesamt 100 Fahrzeuge melden, und der Schwellenwert für die gewünschte Datensatzgröße 30 war, könnte die Analyse bei 50 Prozent Meldung angeben, dass 20 Modelle nicht bereinigt wurden. Die prognostizierten Ergebnisse aus den verbleibenden 50 Prozent wären weitere 20 Modelle und somit kann der Prozess wählen, zu warten, da das Ziel von 30 Modellen, die einzubeziehen sind, bei etwa 75 Prozent Meldung erzielt werden sollte. Gleichzeitig wäre, falls die Analyse bei 50 Prozent Meldung aufzeigte, dass nur 10 Modelle eine ausreichende Verlustreduktion nachwiesen, die Erwartung, dass bei voller Meldung ungefähr 20 Modelle eine ausreichende Verlustreduktion nachweisen würden, und somit muss Gamma dann unter Umständen angepasst werden. Die Anpassung von Gamma kann sogar eine Funktion der vorliegenden Teilmenge von meldenden Fahrzeugen sein - z. B. kann Gamma auf Grundlage der Verlustreduktion der 50 Prozent Meldung angepasst werden, um zum Beispiel 18 Fahrzeuge einzubeziehen, wobei eine Erwartung festgelegt wird, dass der vollständige Datensatz um 83 Prozent Meldung erzielt wäre. Alternativ kann Gamma einfach nach unten angepasst werden, und falls in dem Beispiel eine Modellaktualisierung bei 50 Prozent Meldung gewünscht wäre, kann Gamma nach unten angepasst werden, bis es 30 der 50 meldenden Fahrzeuge einbezieht.
  • Sobald bei 317 ausreichende Modelle gewählt worden sind, kann bei 325 föderale Durchschnittsbildung verwendet werden, um den Durchschnitt der Gewichtungen der Modelle zu bilden, die am meisten gelernt haben, und diese Daten können verwendet werden, um das globale Modell bei 327 zu aktualisieren. Selbst wenn es aktualisiert wird, könnte das globale Modell vor der breiten Verteilung auf dem Prüfstand getestet und/oder an eine begrenzte Teilmenge von Fahrzeugen verteilt werden, um die neu trainierte Version des Modells zu validieren.
  • Wenngleich vorstehend beispielhafte Ausführungsformen beschrieben sind, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die durch die Patentansprüche eingeschlossen sind. Die in der Beschreibung verwendeten Ausdrücke sind beschreibende und nicht einschränkende Ausdrücke und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Wesen und Umfang der Offenbarung abzuweichen. Wie zuvor beschrieben, können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die unter Umständen nicht ausdrücklich beschrieben oder veranschaulicht sind. Wenngleich verschiedene Ausführungsformen so beschrieben sein könnten, dass sie Vorteile bereitstellen oder gegenüber anderen Ausführungsformen oder Implementierungen nach dem Stand der Technik in Bezug auf eine oder mehrere gewünschte Eigenschaften bevorzugt sind, erkennt der Durchschnittsfachmann, dass bei einem/einer oder mehreren Merkmalen oder Eigenschaften Kompromisse eingegangen werden können, um die gewünschten Gesamtattribute des Systems zu erzielen, die von der spezifischen Anwendung und Implementierung abhängen. Demnach liegen Ausführungsformen, die in Bezug auf eine oder mehrere Eigenschaften als weniger wünschenswert als andere Ausführungsformen oder Implementierungen nach dem Stand der Technik beschrieben sind, nicht außerhalb des Umfangs der Offenbarung und können für konkrete Anwendungen wünschenswert sein.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: einen Prozessor, der zu Folgendem konfiguriert ist: Empfangen einer Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde; Bestimmen einer Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht; Bestimmen, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet; und Trainieren des globalen Modells unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.
  • Gemäß einer Ausführungsform ist die Verlustreduktion eine durchschnittliche Verlustreduktion über eine Vielzahl von Meldezyklen, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem konfiguriert: Festlegen eines Maskierungsvektors für jedes Fahrzeug der Vielzahl von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet; und wobei das Trainieren auf der empfangenen Vielzahl von Datensätzen basiert, die durch den Maskierungsvektor modifiziert ist, sodass Datensätze von jedem Fahrzeug, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet, beim Trainieren des globalen Modells ausmaskiert werden.
  • Gemäß einer Ausführungsform ist der Prozessor konfiguriert zum Warten darauf, dass alle der Vielzahl von Fahrzeugen mindestens einen Meldezyklus seit einem vorherigen Meldezyklus vor dem Trainieren des globalen Modells abschließen, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  • Gemäß einer Ausführungsform ist der Prozessor konfiguriert zum Warten darauf, dass mindestens eines von einer vordefinierten Gesamtanzahl oder einem vordefinierten Prozentsatz der Vielzahl von Fahrzeugen mindestens einen Meldezyklus seit einem vorherigen Meldezyklus vor dem Trainieren des globalen Modells abschließt, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem konfiguriert: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Warten darauf, dass Datensätze von einer zusätzlichen Anzahl oder einem zusätzlichen Prozentsatz der Vielzahl von Fahrzeugen empfangen werden.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem konfiguriert: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Dekrementieren des Schwellengrenzwerts, sodass dieser beim Trainieren Datensätze zusätzlicher Fahrzeuge beinhaltet, wofür die Verlustreduktion den Schwellengrenzwert vor dem Dekrementieren des Grenzwerts nicht überschritt.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Empfangen einer Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde; Bestimmen einer Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht; Bestimmen, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet; und Trainieren des globalen Modells unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.
  • In einem Aspekt der Erfindung ist die Verlustreduktion eine durchschnittliche Verlustreduktion über eine Vielzahl von Meldezyklen, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Folgendes: Festlegen eines Maskierungsvektors für jedes Fahrzeug der Vielzahl von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet; und wobei das Trainieren auf der empfangenen Vielzahl von Datensätzen basiert, die durch den Maskierungsvektor modifiziert ist, sodass Datensätze von jedem Fahrzeug, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet, beim Trainieren des globalen Modells ausmaskiert werden.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Warten darauf, dass alle der Vielzahl von Fahrzeugen mindestens einen Meldezyklus seit einem vorherigen Meldezyklus vor dem Trainieren des globalen Modells abschließen, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Warten darauf, dass mindestens eines von einer vordefinierten Gesamtanzahl oder einem vordefinierten Prozentsatz der Vielzahl von Fahrzeugen mindestens einen Meldezyklus seit einem vorherigen Meldezyklus vor dem Trainieren des globalen Modells abschließt, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Folgendes: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Warten darauf, dass Datensätze von einer zusätzlichen Anzahl oder einem zusätzlichen Prozentsatz der Vielzahl von Fahrzeugen empfangen werden.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Folgendes: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und
    als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Dekrementieren des Schwellengrenzwerts, sodass dieser beim Trainieren Datensätze zusätzlicher Fahrzeuge beinhaltet, wofür die Verlustreduktion den Schwellengrenzwert vor dem Dekrementieren des Grenzwerts nicht überschritt.
  • Gemäß der vorliegenden Erfindung ein nichttransitorisches Speichermedium, das Anweisungen speichert, die bei Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren dazu veranlassen, ein Verfahren durchzuführen, beinhaltet: Empfangen einer Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde; Bestimmen einer Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht; Bestimmen, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet; und Trainieren des globalen Modells unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.
  • Gemäß einer Ausführungsform ist die Verlustreduktion eine durchschnittliche Verlustreduktion über eine Vielzahl von Meldezyklen, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  • In einem Aspekt der Erfindung das Verfahren: Festlegen eines Maskierungsvektors für jedes Fahrzeug der Vielzahl von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet; und wobei das Trainieren auf der empfangenen Vielzahl von Datensätzen basiert, die durch den Maskierungsvektor modifiziert ist, sodass Datensätze von jedem Fahrzeug, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet, beim Trainieren des globalen Modells ausmaskiert werden.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Folgendes: Warten darauf, dass mindestens eines von einer vordefinierten Gesamtanzahl oder einem vordefinierten Prozentsatz der Vielzahl von Fahrzeugen mindestens einen Meldezyklus seit einem vorherigen Meldezyklus vor dem Trainieren des globalen Modells abschließt, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Folgendes: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Warten darauf, dass Datensätze von einer zusätzlichen Anzahl oder einem zusätzlichen Prozentsatz der Vielzahl von Fahrzeugen empfangen werden.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Folgendes: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Dekrementieren des Schwellengrenzwerts, sodass dieser beim Trainieren Datensätze zusätzlicher Fahrzeuge beinhaltet, wofür die Verlustreduktion den Schwellengrenzwert vor dem Dekrementieren des Grenzwerts nicht überschritt.

Claims (15)

  1. System, umfassend: einen Prozessor, der zu Folgendem konfiguriert ist: Empfangen einer Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde; Bestimmen einer Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht; Bestimmen, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet; und Trainieren des globalen Modells unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.
  2. System nach Anspruch 1, wobei die Verlustreduktion eine durchschnittliche Verlustreduktion über eine Vielzahl von Meldezyklen ist, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  3. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem konfiguriert ist: Festlegen eines Maskierungsvektors für jedes Fahrzeug der Vielzahl von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet; und wobei das Trainieren auf der empfangenen Vielzahl von Datensätzen basiert, die durch den Maskierungsvektor modifiziert ist, sodass Datensätze von jedem Fahrzeug, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet, beim Trainieren des globalen Modells ausmaskiert werden.
  4. System nach Anspruch 1, wobei der Prozessor konfiguriert ist zum Warten darauf, dass alle der Vielzahl von Fahrzeugen mindestens einen Meldezyklus seit einem vorherigen Meldezyklus vor dem Trainieren des globalen Modells abschließen, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  5. System nach Anspruch 1, wobei der Prozessor konfiguriert ist zum Warten darauf, dass mindestens eines von einer vordefinierten Gesamtanzahl oder einem vordefinierten Prozentsatz der Vielzahl von Fahrzeugen mindestens einen Meldezyklus seit einem vorherigen Meldezyklus vor dem Trainieren des globalen Modells abschließt, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  6. System nach Anspruch 5, wobei der Prozessor ferner zu Folgendem konfiguriert ist: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Warten darauf, dass Datensätze von einer zusätzlichen Anzahl oder einem zusätzlichen Prozentsatz der Vielzahl von Fahrzeugen empfangen werden.
  7. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem konfiguriert ist: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Dekrementieren des Schwellengrenzwerts, sodass dieser beim Trainieren Datensätze zusätzlicher Fahrzeuge beinhaltet, wofür die Verlustreduktion den Schwellengrenzwert vor dem Dekrementieren des Grenzwerts nicht überschritt.
  8. Verfahren, umfassend: Empfangen einer Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde; Bestimmen einer Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht; Bestimmen, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet; und Trainieren des globalen Modells unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.
  9. Verfahren nach Anspruch 8, wobei die Verlustreduktion eine durchschnittliche Verlustreduktion über eine Vielzahl von Meldezyklen ist, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  10. Verfahren nach Anspruch 8, ferner umfassend: Festlegen eines Maskierungsvektors für jedes Fahrzeug der Vielzahl von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet; und wobei das Trainieren auf der empfangenen Vielzahl von Datensätzen basiert, die durch den Maskierungsvektor modifiziert ist, sodass Datensätze von jedem Fahrzeug, wofür die Verlustreduktion den vordefinierten Grenzwert nicht überschreitet, beim Trainieren des globalen Modells ausmaskiert werden.
  11. Verfahren nach Anspruch 8, ferner umfassend Warten darauf, dass alle der Vielzahl von Fahrzeugen mindestens einen Meldezyklus seit einem vorherigen Meldezyklus vor dem Trainieren des globalen Modells abschließen, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  12. Verfahren nach Anspruch 8, ferner umfassend Warten darauf, dass mindestens eines von einer vordefinierten Gesamtanzahl oder einem vordefinierten Prozentsatz der Vielzahl von Fahrzeugen mindestens einen Meldezyklus seit einem vorherigen Meldezyklus vor dem Trainieren des globalen Modells abschließt, wobei ein Meldezyklus eine Iteration des für das gegebene Fahrzeug empfangenen Datensatzes darstellt, der den vorliegenden lokalen Verlustwert beinhaltet.
  13. Verfahren nach Anspruch 12, ferner umfassend: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Warten darauf, dass Datensätze von einer zusätzlichen Anzahl oder einem zusätzlichen Prozentsatz der Vielzahl von Fahrzeugen empfangen werden.
  14. Verfahren nach Anspruch 8, ferner umfassend: Bestimmen, ob mindestens eines von einer Gesamtanzahl oder einem Prozentsatz von Fahrzeugen, wofür die Verlustreduktion den vordefinierten Schwellengrenzwert überschreitet, einen vordefinierten Wert überschreitet, der ausreichende Trainingsdaten darstellt; und als Reaktion darauf, dass das mindestens eine der Gesamtanzahl oder des Prozentsatzes den vordefinierten Wert nicht überschreitet, Dekrementieren des Schwellengrenzwerts, sodass dieser beim Trainieren Datensätze zusätzlicher Fahrzeuge beinhaltet, wofür die Verlustreduktion den Schwellengrenzwert vor dem Dekrementieren des Grenzwerts nicht überschritt.
  15. Nichttransitorisches Speichermedium, das Anweisungen speichert, die bei Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren dazu veranlassen, ein Verfahren durchzuführen, das Folgendes umfasst: Empfangen einer Vielzahl von Datensätzen, die sich auf unterschiedlich trainierte Versionen eines globalen Modells zum maschinellen Lernen bezieht, von einer Vielzahl von Fahrzeugen, wobei die Datensätze mindestens einen vorliegenden lokalen Verlustwert beinhalten, der durch eine derzeitige Version des globalen Modells wahrgenommen wird, die auf einem gegebenen Fahrzeug ausgeführt wird, wofür ein Datensatz der Vielzahl von Datensätzen empfangen wurde; Bestimmen einer Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen, die eine Verlustreduktion seit einem vorherigen lokalen Verlustwert darstellt, der in einem vorherigen empfangenen Datensatz beinhaltet ist, der dem gegebenen Fahrzeug entspricht; Bestimmen, ob die Verlustreduktion für jeden empfangenen Datensatz der Vielzahl von Datensätzen einen vordefinierten Schwellengrenzwert überschreitet; und Trainieren des globalen Modells unter Verwendung von föderalem Lernen und auf Grundlage der Datensätze der Vielzahl von Datensätzen, wofür die Verlustreduktion den vordefinierten Grenzwert überschreitet.
DE102022132540.7A 2021-12-07 2022-12-07 Adaptive modellbereinigung zum verbessern der leistung von föderalem lernen Pending DE102022132540A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/544,307 2021-12-07
US17/544,307 US20230177404A1 (en) 2021-12-07 2021-12-07 Adaptive model pruning to improve performance of federated learning

Publications (1)

Publication Number Publication Date
DE102022132540A1 true DE102022132540A1 (de) 2023-06-07

Family

ID=86382311

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022132540.7A Pending DE102022132540A1 (de) 2021-12-07 2022-12-07 Adaptive modellbereinigung zum verbessern der leistung von föderalem lernen

Country Status (3)

Country Link
US (1) US20230177404A1 (de)
CN (1) CN116245161A (de)
DE (1) DE102022132540A1 (de)

Also Published As

Publication number Publication date
US20230177404A1 (en) 2023-06-08
CN116245161A (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
DE202017007517U1 (de) Aggregatmerkmale für maschinelles Lernen
WO2021121695A1 (de) Verfahren, vorrichtung und system zur detektion von anomalen betriebszuständen eines geräts
DE112016003235T5 (de) Ausgangseffizienzoptimierung in Produktionssystemen
DE102017210787A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE19718262A1 (de) Verfahren und System zur Generierung eines Prozeßmodells eines technischen Problems
WO2020011655A1 (de) Verfahren und system zur datenerfassung in fahrzeugen
DE102018006332A1 (de) Verfahren zum Ermitteln von Ampelschaltzeiten
DE102022132540A1 (de) Adaptive modellbereinigung zum verbessern der leistung von föderalem lernen
EP3672200B1 (de) Verfahren zur zusammenarbeit von mehreren geräten eines lokalen netzwerks
DE102015205720A1 (de) System zum Analysieren nichtklassifizierter Kraftfahrzeugfehlerdaten
EP3901713B1 (de) Verfahren und system zum betrieb einer technischen anlage mit einem optimalen modell
EP3396919A1 (de) Verfahren zur datenübertragung von einem gerät an ein datenverwaltungsmittel, vermittlungseinheit, gerät und system
EP3705993B1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk
EP3637354A1 (de) Verfahren zur suche eines programmcodes für ein elektronisches gerät in einer datenbank
DE102022000473A1 (de) Verfahren zum Training neuronaler Netze eingerichtet zur Steuerung einer Fahrzeugfunktion sowie ein Fahrzeug und System zur Durchführung des Verfahrens
DE102021200192A1 (de) Verfahren zum Überwachen von Zuständen von Entitäten
DE102023112189A1 (de) Überwachen von Maschinenlernmodellen in ressourcenbeschränkten Umfeldern
DE102014118401A1 (de) Dezentralisiertes Expertensystem für netzwerkbasiertes Crowdfunding
DE102022206834A1 (de) Vorrichtung und verfahren zum schätzen des zustands einer batterie in einem fahrzeug
WO2023139130A1 (de) Computer-implementierte datenstruktur, verfahren und system zum betrieb eines technischen geräts mit einem modell auf basis föderierten lernens
DE102022001441A1 (de) Diagnoseverfahren für verteilte Softwareanwendungen eines Fahrzeugs
DE102021200190A1 (de) Verfahren zum Bereitstellen eines Konfigurations-Datensatzes einer Entität
EP4296909A1 (de) Individuelle testmodelle für generalisierte maschinelle lernmodelle
DE102021112661A1 (de) Verfahren, Vorrichtung, Computerprogramm und computerlesbares Speichermedium zur Ermittlung von fehlerbehafteten Fahrzeugen
DE102021214162A1 (de) Verfahren zum Übertragen von Daten, insbesondere eines Softwareupdates, auf eine Vielzahl von Fahrzeugen

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: PATERIS THEOBALD ELBEL & PARTNER, PATENTANWAEL, DE