DE102023113679A1 - Erkennung von anomalien und drifts in dezentralen lernumgebungen - Google Patents

Erkennung von anomalien und drifts in dezentralen lernumgebungen Download PDF

Info

Publication number
DE102023113679A1
DE102023113679A1 DE102023113679.8A DE102023113679A DE102023113679A1 DE 102023113679 A1 DE102023113679 A1 DE 102023113679A1 DE 102023113679 A DE102023113679 A DE 102023113679A DE 102023113679 A1 DE102023113679 A1 DE 102023113679A1
Authority
DE
Germany
Prior art keywords
data
local
global
drift
node
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
DE102023113679.8A
Other languages
English (en)
Inventor
Satish Kumar Mopur
Krishnaprasad Lingadahalli Shastry
Sathyanarayanan Manamohan
Ravi Sarveswara
Gunalan Perumal Vijayan
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102023113679A1 publication Critical patent/DE102023113679A1/de
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/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Erkennung von Anomalien und Drift in dezentralen Lernumgebungen. Das Verfahren umfasst den Einsatz an einem ersten Knoten (1) eines lokalen unbeaufsichtigten Autoencoders, der an dem ersten Knoten trainiert wird, zusammen mit einer lokalen Trainingsdaten-Referenzbasislinie für den ersten Knoten, und (2) eines globalen unbeaufsichtigten Autoencoders, der über eine Vielzahl von Knoten trainiert wird, zusammen mit einer entsprechenden globalen Trainingsdaten-Referenzbasislinie. Die Produktionsdaten am ersten Knoten werden mit lokalen und globalen ML-Modellen verarbeitet, die von einem Benutzer eingesetzt werden. Auf der Grundlage der lokalen bzw. der globalen Trainingsdaten-Referenzbasislinie wird mindestens eines der folgenden Elemente abgeleitet: lokale und globale Anomaliedaten für anomale Produktionsdaten oder lokale und globale Driftdaten für driftende Produktionsdaten. Mindestens eine der lokalen Anomaliedaten wird mit den globalen Anomaliedaten oder die lokalen Driftdaten mit den globalen Driftdaten verglichen, um die Auswirkungen der Anomalien/Drift auf die ML-Modelle zu bewerten.

Description

  • Querverweis auf verwandte Anwendung
  • Die vorliegende Offenbarung befasst sich mit dem Schwarmlernen. Weitere Informationen zum Thema Schwarmlernen sind in der US-Patentanmeldung Nr. 17/205,632 beschrieben, die am 18. März 2021 eingereicht und als US-Patentanmeldungsveröffentlichung Nr. US 2021/0398017 veröffentlicht wurde und deren Inhalt durch Bezugnahme hierin aufgenommen wird.
  • Hintergrund
  • Beim maschinellen Lernen (ML) handelt es sich im Allgemeinen um einen computerimplementierten Prozess, der anhand von Beispieldaten (z. B. Trainingsdaten) ein Modell erstellt, um Vorhersagen zu treffen oder Entscheidungen zu treffen, ohne explizit dafür programmiert zu werden. ML-Prozesse werden in einer Vielzahl von Anwendungen eingesetzt, insbesondere dort, wo es schwierig oder nicht machbar ist, herkömmliche Algorithmen zur Ausführung verschiedener Rechenaufgaben zu entwickeln.
  • Blockchain ist ein fälschungssicheres, dezentralisiertes Hauptbuch, das ein Maß an Vertrauen für den Austausch von Werten ohne den Einsatz von Zwischenhändlern schafft. Eine Blockchain kann zur Aufzeichnung und zum Nachweis jeder Transaktion verwendet werden und wird jedes Mal aktualisiert, wenn eine Transaktion stattfindet.
  • Eine besondere Art des maschinellen Lernens, das so genannte überwachte maschinelle Lernen, verwendet markierte Datensätze, um Algorithmen zur Klassifizierung von Daten oder zur Vorhersage von Ergebnissen zu trainieren. Der Prozess zur Einrichtung des überwachten maschinellen Lernens umfasst im Allgemeinen (a) die Zentralisierung eines großen Datenspeichers, (b) die Beschaffung einer Grundwahrheit für diese Daten, definiert als die Realität oder die richtige Antwort, die mit dem überwachten maschinellen Lernalgorithmus modelliert wird, und (c) die Verwendung der Grundwahrheit zum Trainieren des ML-Modells für die Klassifizierungsaufgabe. Dieser Rahmen birgt jedoch erhebliche praktische Herausforderungen, einschließlich der Vertrauenswürdigkeit der Daten, des Datenschutzes und der Sicherheit, die mit der Erstellung eines großen zentralen Datenspeichers für das Training der ML-Modelle einhergehen.
  • Da beim traditionellen ML lokale Datensätze in einen zentralen Datenspeicher hochgeladen werden müssen, stößt das traditionelle Modell an seine Grenzen, vor allem, wenn es viele verteilte Datenquellen gibt. Dezentrales ML ist ein Ansatz, der koordiniertes ML-Training und Re-Training ohne gemeinsame Nutzung der lokalen Datensätze ermöglicht. Federated Learning und Swarm Learning sind Arten des dezentralen Lernens.
  • Genauer gesagt ist Federated Learning (auch bekannt als kollaboratives Lernen) eine Art von ML-Prozess, bei dem ein ML-Modell auf mehreren dezentralen Geräten mit lokalen Datenproben trainiert wird. Oftmals können die dezentralen Geräte aufgrund von Richtlinien oder aus praktischen Erwägungen daran gehindert werden, ihre Datensätze auszutauschen. Dieser Ansatz, bei dem ein koordiniertes Training durchgeführt wird, ohne dass lokale Datensätze ausgetauscht werden, steht im Gegensatz zu herkömmlichen zentralisierten ML-Techniken, bei denen lokale Datensätze auf ein Gerät hochgeladen werden.
  • Das föderierte Lernen ermöglicht es mehreren Geräten, ein gemeinsames, robustes ML-Modell zu erstellen, ohne Daten gemeinsam nutzen zu müssen, wodurch kritische Fragen wie Datenschutz, Datensicherheit, Datenzugriffsrechte und Zugang zu heterogenen Daten gelöst werden können. Die Anwendungen erstrecken sich über eine Reihe von Branchen, unter anderem Verteidigung, Telekommunikation, Internet der Dinge (loT), Pharmazie und Gesundheitswesen.
  • Es gibt jedoch nach wie vor Bedenken in Bezug auf föderiertes Lernen, z. B. hinsichtlich des Datenschutzes und anderer Aspekte. Beispielsweise können die Quellen, die Daten für föderiertes Lernen liefern, unzuverlässig sein. Die Quellen können für Netzwerkprobleme anfällig sein, da sie im Allgemeinen auf weniger leistungsfähige Kommunikationsmedien (z. B. Wi-Fi) oder batteriebetriebene Systeme (z. B. Smartphones und loT-Geräte) angewiesen sind, im Vergleich zu herkömmlichem zentralisiertem ML, bei dem die Knoten in der Regel Rechenzentren sind, die über leistungsstarke Rechenkapazitäten verfügen und über schnelle Netzwerke miteinander verbunden sind.
  • Swarm Learning erweitert das föderierte Lernen und macht einen zentralen Server wie bei der traditionellen ML überflüssig. Beim Schwarmlernen nutzt ein dezentraler, datenschutzfreundlicher ML-Rahmen die Rechenleistung an oder in der Nähe der verteilten Datenquellen, um die ML-Algorithmen zum Trainieren der Modelle auszuführen. Die Modellbildung erfolgt dort, wo die Daten am aktuellsten sind. Beim Swarm Learning wird die zentrale Autorität durch einen intelligenten Vertrag ersetzt, der innerhalb der Blockchain ausgeführt wird. Im Allgemeinen ist ein intelligenter Vertrag ein auf einer Blockchain gespeichertes Programm, das eine Reihe von Regeln enthält, mit denen die Parteien oder Teilnehmer des intelligenten Vertrags vereinbaren, miteinander zu interagieren. Das Programm wird ausgeführt, wenn eine oder mehrere vorher festgelegte Bedingungen erfüllt sind. Dementsprechend werden intelligente Verträge in der Regel verwendet, um die Ausführung einer Vereinbarung zu automatisieren, so dass alle Teilnehmer sofort Gewissheit über das Ergebnis oder die vorher festgelegte(n) Bedingung(en) haben, ohne dass ein Vermittler beteiligt ist oder Zeit verliert. Intelligente Verträge können auch einen Arbeitsablauf automatisieren und die nächste Aktion auslösen, wenn die Bedingungen erfüllt sind. Jeder Knoten aktualisiert die Blockchain, die dann einen intelligenten Vertrag zur Ausführung eines Codes veranlasst.
  • Beim Schwarmlernen trainiert jeder Knoten, der über lokale Trainingsdaten verfügt, ein gemeinsames ML-Modell, ohne die lokalen Trainingsdaten mit einem anderen Knoten oder einer anderen Einheit im Schwarm-Blockchain-Netzwerk zu teilen. Dies wird durch die gemeinsame Nutzung von Parametern (oder Gewichten) erreicht, die aus dem Training des gemeinsamen ML-Modells unter Verwendung der lokalen Trainingsdaten abgeleitet wurden. Auf diese Weise können die gelernten Erkenntnisse in Bezug auf die Rohdaten (statt der Rohdaten selbst) unter den Teilnehmern oder den kollaborierenden Peers/Knoten geteilt werden, was zum Schutz der Daten vor Datenschutzverletzungen beiträgt. Das hier beschriebene Schwarmlernen nutzt die Blockchain-Technologie, um eine dezentrale Kontrolle, Monetarisierung und die Gewährleistung von Vertrauen und Sicherheit zwischen den einzelnen Knoten zu ermöglichen. Dementsprechend umfasst das dezentralisierte Lernen auch das föderierte Lernen. Swarm Learning ermöglicht Föderation mit einem datenschutzfreundlichen Ansatz, bei dem der Aggregator auf jedem beliebigen Knoten laufen kann und nicht an einen einzigen Server gebunden ist.
  • Kurzbeschreibung der Zeichnungen
  • Die vorliegende Offenbarung wird in Übereinstimmung mit einem oder mehreren verschiedenen Beispielen unter Bezugnahme auf die folgenden Figuren im Detail beschrieben. Die Figuren dienen nur der Veranschaulichung und zeigen lediglich typische Beispiele.
    • 1A zeigt ein Beispiel für ein System zur dezentralen Verwaltung von Gerätebeständen außerhalb eines Computernetzwerks, wie z. B. Edge-Netzwerke, in denen jeder Knoten Anomalien und Drift-Erkennung gemäß einer Ausführungsform der offengelegten Technologie durchführen kann.
    • 1 B zeigt ein Beispiel für einen Verwaltungsknoten, der Anomalien und Drift in einem verteilten Blockchain-Netzwerk für die dezentrale Verwaltung von Gerätewerten außerhalb eines Computernetzwerks, wie z. B. Edge-Netzwerke, gemäß einer Ausführungsform der offengelegten Technologie erkennt.
    • 1C zeigt ein Beispiel für einen Edge-Knoten, der Anomalien und Drift-Erkennung in einem verteilten Blockchain-Netzwerk für die dezentrale Verwaltung von Geräte-Assets außerhalb eines Computernetzwerks, wie z. B. Edge-Netzwerke, in Übereinstimmung mit einer Ausführungsform der offengelegten Technologie durchführt.
    • 1D zeigt ein Beispiel für eine Blockchain-Schnittstellenschicht für die dezentrale Verwaltung von Gerätewerten außerhalb eines Computernetzwerks gemäß einer Ausführungsform der offengelegten Technologie.
    • 2 zeigt ein Trainingsmodul zur Erkennung von Anomalien und Drift gemäß einem Beispiel der offengelegten Technologie.
    • 3 zeigt ein Produktionsmodul zur Erkennung von Anomalien und Drift gemäß einem Beispiel der offengelegten Technologie.
    • 4 zeigt ein Trainingsverfahren zur Erkennung von Anomalien und Drift in Übereinstimmung mit einem Beispiel der offengelegten Technologie.
    • 5 zeigt ein Verfahren zur Erkennung von Anomalien und Drift in Übereinstimmung mit einem Beispiel der offengelegten Technologie.
    • 6 ist ein Beispiel für eine Rechnerkomponente, die verwendet werden kann, um Funktionen zur Erkennung von Anomalien und Drift eines Knotens in Übereinstimmung mit einem Beispiel der offengelegten Technologie zu implementieren.
    • 7 ist ein Beispiel für eine Computerkomponente, die zur Implementierung verschiedener Merkmale der in der vorliegenden Offenbarung beschriebenen Ausführungsformen verwendet werden kann.
  • Die Figuren sind nicht erschöpfend und beschränken die vorliegende Offenbarung nicht auf die genaue Form, die offengelegt wird.
  • Detaillierte Beschreibung
  • Wie bereits erwähnt, geht der Nutzen des dezentralen Lernens über die reine Zeit- und Bandbreitenersparnis hinaus. Es gibt auch Vorteile für die Privatsphäre und andere Vorteile. Allerdings gibt es auch Nachteile. So wird bei dezentralen Ansätzen häufig davon ausgegangen, dass die lokalen Datenproben identisch verteilt sind. Die Annahme „unabhängiger und identisch verteilter Daten“ (IID-Daten) ist bei Algorithmen für maschinelles Lernen üblich. „Unabhängig“ bedeutet, dass die Stichproben der einzelnen Zufallsvariablen unabhängig voneinander sind. Eine Verteilung ist „identisch“, wenn die Stichproben von der gleichen Zufallsvariablen stammen. Allerdings sind die IID-Annahmen über die Datensätze, die es den aktuellen Versionen des dezentralen ML ermöglichen, zu funktionieren, nicht immer genau, und wenn sie es nicht sind, kann das Ergebnis ein sehr schlechtes ML-Modell sein. Die offengelegte Technologie ermöglicht dezentrale ML, wenn Daten nicht IID über verteilte Geräte sind, und bewahrt die Vorteile der dezentralen ML.
  • Der Einsatz von Künstlicher Intelligenz (KI) hat sich in praktisch allen Branchen durchgesetzt, z. B. im Gesundheitswesen, in der Fertigung, im Finanzwesen, im Einzelhandel, in den Biowissenschaften und in vielen anderen. Deep Learning (DL) mit großen Datensätzen ist eine vorherrschende Technologie zur Lösung von realen Problemen in Bereichen wie z. B. der Bildklassifizierung, der Zeitreihenvorhersage und der Verarbeitung natürlicher Sprache (NLP), ohne darauf beschränkt zu sein. Große Datensätze sind jedoch in einzelnen Unternehmen nicht immer verfügbar. Wie bereits erwähnt, enthalten föderierte Lernlösungen wie das Schwarmlernen Techniken zur Wahrung der Privatsphäre, die ein dezentralisiertes globales Modelltraining ermöglichen, wobei das Eigentum an den Daten bei einem Teilnehmer verbleibt, um die Bedenken der Teilnehmer hinsichtlich des Datenschutzes zu berücksichtigen. Unternehmen nutzen föderiertes Lernen und Schwarmlernen, um ein allgemeines globales Modell zu erstellen, ohne den Datenschutz oder die Sicherheit zu gefährden.
  • Jedes Modell, das für eine hohe Genauigkeit und Leistung trainiert wurde, wird jedoch tendenziell eine Verschlechterung der Vorhersage erfahren, wenn die Trainingsdaten nicht mehr eine reale Datenverteilung darstellen. Trainingsdaten, die nicht mit der IID übereinstimmen, können durch Ursachen wie Anomalien oder Ausreißer in den Daten entstehen, die sich von den übrigen Daten unterscheiden, oder durch Datendrift, die dazu geführt hat, dass sich die Daten im Laufe der Zeit von den Eingabedaten während der Produktion verschoben haben.
  • Genauer gesagt können bei einigen Anwendungen die Analysen, die an den gesammelten Daten der Edge-Knoten oder -Server durchgeführt werden, zum Trainieren der ML-Modelle verwendet werden. Verschiedene Algorithmen können das Funktionieren der Edge-Systeme verbessern, wie es durch bestimmte Parameter definiert ist. In realen Anwendungen kann sich jedoch das dynamische Verhalten der Systeme auf die Ergebnisse der ML-Modelle auswirken. Dynamisches Verhalten kann aus verschiedenen Quellen stammen, z. B. aus der Ineffizienz von Sensoren, der Denaturierung von Sensoren, vorübergehenden Änderungen gemessener Parameter und der Einführung neuer zu analysierender Parameter. Die dynamischen Verhaltensweisen können in den Daten als Drifts, Anomalien oder Ausreißer auftreten. Eine Drift kann beispielsweise bei Eingangsdatenströmen oder vorhergesagten Ausgangsdaten auftreten, oder es kann eine Konzeptverschiebung in einer Beziehung zwischen Eingangsdatenströmen und Ausgängen über einen bestimmten Zeitraum auftreten. „Drift“ kann sich auf die statistischen Eigenschaften einer Zielvariablen (die das ML-Modell vorherzusagen versucht) beziehen, die sich im Laufe der Zeit auf unvorhersehbare Weise ändern können. Die Veränderung im Laufe der Zeit kann dazu führen, dass die Vorhersagen mit der Zeit ungenauer werden. In einem Beispiel könnte die Drift auf eine Verzerrung in der Datenerfassungsphase zurückzuführen sein. „Anomalien“ und „Ausreißer“ können sich auf Datenelemente beziehen, die erheblich von der Mehrheit der anderen Datenelemente abweichen. Diese Anomalien oder Ausreißer können aufgrund von Rauschen oder unerwarteten Datenpunkten auftreten, die das Vorhersageverhalten des Modells beeinflussen und eine genauere Untersuchung erforderlich machen. Anomalien oder Ausreißer in den Eingabedatenströmen und Drifts in den Datenströmen können das Vorhersageverhalten von ML-Modellen beeinträchtigen, die zuvor mit markierten Daten trainiert wurden. In dieser Anwendung werden die Begriffe „Anomalien“ und „Ausreißer“ synonym verwendet.
  • Ein Drift kann immer dann auftreten, wenn sich ein Datenmuster im Laufe der Zeit bei der Inferenz oder Produktion ändert. Die Trainingsdaten können sich stark von den Produktionsdaten unterscheiden. Drift, Anomalien oder Ausreißer in den Daten können dazu führen, dass beim verteilten Training weniger zuverlässige Daten verwendet werden. So können beim lokalen Training von Modellen an lokalen Knoten unterschiedliche Anomalien oder Datendrift auftreten, und ein erneutes Training auf lokaler Ebene wird Anomalien oder Drift an anderen Knoten nicht berücksichtigen. Wenn ein globales Neutraining eingeleitet wird, kann das Versäumnis, die Auswirkungen von Anomalien oder Drift zu erkennen und zu bewerten, dazu führen, dass sich bösartige Daten im gesamten Lernnetzwerk ausbreiten. Darüber hinaus werden die Modelle an den Knoten mit lokalisierten Daten trainiert, so dass die vorhandenen Lösungen zur Erkennung von Anomalien oder Drifts aufgrund der begrenzten lokalisierten Trainingsdaten tendenziell ungenau sind.
  • Als spezifischeres Beispiel für technische Herausforderungen, die auftreten können, wenn ein in einem föderierten Lernnetzwerk trainiertes ML-Modell in der Produktion eingesetzt wird, betrachten wir den Anwendungsfall der KI im Gesundheitswesen mit potenziellen Anwendungen in Bereichen wie Brusterkrankungen. Die am föderierten Lernen teilnehmenden Knoten verwenden historisch markierte Krankheitsdaten, die für die Kennzeichnung von Brustkrankheiten verfügbar sind, um ein globales föderiertes ML-Modell zur Klassifizierung von Brustkrankheiten (z. B. Lungenentzündung, Kardiomegalie, Atelektase usw.) zu trainieren. Wenn dann ein Knotenpunkt Daten beobachtet, die für Varianten einer neuen Krankheit oder eines neuen Leidens relevant sind, wie z. B. Covid-19 (als es zum ersten Mal auftrat), können die Vorhersagen des ML-Modells ungenau sein, da die Daten, die mit dieser neuen Krankheit oder diesem neuen Leiden verbunden sind, eine Abweichung von den historisch markierten Krankheitsdaten darstellen können. Wenn also nur das lokale ML-Modell dieses Knotens auf die neuen Daten umtrainiert wird, wird dieser Knoten Covid-19 korrekt identifizieren und klassifizieren; ein ML-Modell der anderen beteiligten Knoten wird jedoch nicht in der Lage sein, Covid-19 korrekt zu identifizieren und zu klassifizieren, da diese anderen Knoten nicht auf die neuen Daten trainiert wurden. Dies kann zu ungenauen medizinischen Diagnosen bei diesen anderen teilnehmenden Knoten führen, obwohl ein Knoten die richtige medizinische Diagnose hat, wodurch die Zusammenarbeit zwischen den teilnehmenden Knoten unterbrochen wird. Anders ausgedrückt: Jeder Knoten kann eine unterschiedliche Menge an Daten sehen. Ein Knoten kann die neue Krankheit falsch klassifizieren und muss dann diese Fehlklassifizierung korrigieren. Die Korrekturmaßnahmen sind jedoch lokal auf den Knoten beschränkt, so dass sich ein technisches Problem ergibt, nämlich die Frage, wie die Korrektur auf andere Knoten übertragen und die Modelle auf allen Knoten mit den neuen Daten neu trainiert werden können. Im Wesentlichen gibt es folgende Szenarien, die technische Herausforderungen mit sich bringen können.
  • Erstens können an einem oder mehreren Knotenpunkten Anomalien oder eine Datendrift im Laufe der Zeit auftreten. An verschiedenen Knotenpunkten können unterschiedliche Anomalien oder Driftdatenmerkmale und -muster auftreten. Es kann auch neue Daten geben, die an einem Knoten als Drift erscheinen, weil sie nicht zu den historisch markierten Daten gehören, aber in Wirklichkeit korrekt sind, wie z. B. eine neue Variante von Covid-19. Die Behebung des Leistungsabfalls durch lokales Neutraining bringt keine Vorteile für die anderen Teilnehmerknoten. Zweitens ist es wichtig zu verstehen, ob ein lokaler Drift die Leistung des ML-Modells beeinträchtigt und somit ein Neutraining erforderlich macht. Wird ein regelmäßiges Neutraining für Modelle in allen Knoten naiv eingeleitet, d. h. ohne die Auswirkungen von Anomalien oder Drift zu erkennen und zu bewerten, kann dies zu einer potenziellen böswilligen Datenausbreitung im gesamten dezentralen Netz führen, was für die beteiligten Knoten katastrophale Folgen haben kann. Drittens: Da die Daten verteilt sind und nicht zentral als Referenz für die Erkennung von Datendrifts zur Verfügung stehen, wird die Genauigkeit bestehender Lösungen zur Erkennung von Anomalien und Drifts ohne Zugriff auf die verteilten Daten tendenziell leiden.
  • Dementsprechend bietet dezentrales Lernen zwar viele Vorteile gegenüber rein lokalem Lernen, bringt aber auch gewisse technische Herausforderungen mit sich. Der Einsatz von Deep Learning in einer Gruppe von teilnehmenden Knoten auf kollaborative Weise zur Entwicklung eines ML-Modells, das Herausforderungen wie die oben genannten angeht, kann von erheblichem Wert sein. Bestehende Ansätze sind nicht in der Lage, Anomalien oder Abweichungen in dezentralen Lernumgebungen zu erkennen. Bestehende Ansätze sind auch nicht in der Lage, den Nutzern Sichtbarkeit oder Kontrolle über neue Daten zu geben, die zur Auslösung eines neuen kollaborativen Lernens verwendet werden, z. B. wenn ein Knoten eine neue Covid-19-Variante identifiziert, diese neuen Daten aber nicht an andere Knoten weitergegeben werden.
  • Technische Lösungen werden in der gesamten Anwendung umgesetzt. Um die oben genannten technischen Probleme mit föderiertem Lernen zu lösen, wird eine neue Pipeline/ein neuer Arbeitsablauf offengelegt. An jedem Knoten eines föderierten Lernnetzwerks wird ein lokaler Variations-Autoencoder (VAE) anhand der Trainingsdaten dieses Knotens trainiert, um eine lokale Basislinie abzuleiten. Wie weiter unten erläutert, wird ein Variations-Autoencoder in einem Beispiel als primärer Motor für die Erkennung von Anomalien und Drifts in föderierten Lernumgebungen verwendet. Ein VAE ist ein unüberwachtes künstliches neuronales Netz, das lernt, Daten effizient zu komprimieren und in einen latenten Raum zu kodieren und die Daten aus der reduzierten kodierten Darstellung zu rekonstruieren. Ein Grund für die Wahl eines VAE ist, dass die vom Autoencoder gelernte kodierte Darstellung spezifisch für die Trainingsdatenverteilung in einem kontinuierlichen latenten Raum ist. Dies ermöglicht eine effektive Berechnung der Unterschiede in der latenten Raumverteilung der Eingabedaten unter Verwendung globaler und lokaler Basislinien. Dieses Verhalten wird in den Beispielen zur effektiven Erkennung von Unterschieden in der Drift und Anomalien genutzt, was dem Benutzer bei der Bewertung der Auswirkungen auf das globale Modell hilft.
  • In einem Beispiel verfügt ein Knoten über Trainingsdaten, die Röntgenbilder der Brust mit Krankheitsklassen = {Normal, Virale Pneumonie} umfassen, und ein zweiter Knoten verfügt über Trainingsdaten, die Röntgenbilder der Brust mit Krankheitsklassen = {Normal, Kardiomegalie} umfassen. In diesem Beispiel wird eine lokale VAE anhand der Trainingsdaten der einzelnen Knoten trainiert, um die jeweiligen lokalen Basislinien abzuleiten, und eine globale VAE wird im gesamten dezentralen Netzwerk trainiert, um eine globale Basislinie abzuleiten. Die globale VAE wird mit den Trainingsdaten aller beteiligten Knoten trainiert. Auf diese Weise können Anomalien und Drift sowohl aus lokaler als auch aus globaler Sicht bewertet werden. Nach dem Training werden die lokalen und globalen VAEs mit ihren jeweiligen lokalen und globalen Baselines zusammen mit ML-Modellen an jedem Knoten in der Produktion eingesetzt. Nach dem Einsatz erkennen die lokalen und globalen VAEs Anomalien/Datenabweichungen im Vergleich zu den jeweiligen lokalen und globalen Basislinien auf der Grundlage der tatsächlichen Produktions-/Live-Daten. Ein Beispiel: Ein Knoten erhält Röntgenbilder der Krankheitsklasse = COVID-19 mit hoher Lungentrübung, wobei die Anzahl der Bilder über einen bestimmten Zeitraum (Tage oder Wochen) allmählich zunimmt. Da die VAE nicht mit COVID-19-Bildern trainiert wurde, werden diese Bilder als Drift erkannt, da ihre Anzahl über die Dauer ansteigt. Nach der Erkennung quantifiziert ein Komparator die Datenabweichung. Ein weiteres Beispiel: Röntgenbilder der Brust, die aufgrund eines fehlerhaften Scanners verrauscht sind, können Teil der Produktionsdaten sein und werden als Anomalien erkannt. Der Benutzer kann dann in Kenntnis der Sachlage entscheiden, ob ein erneutes Training eingeleitet werden sollte. Dies führt zu einem kontinuierlichen Training mit der Fähigkeit, ein ständig aktualisiertes globales Modell über alle beteiligten Knoten abzuleiten.
  • Clustering kann auf die Rekonstruktionsverluste und den aus den lokalen/globalen VAEs extrahierten latenten Raum angewendet werden. Durch Clustering können Anomalien in den Daten aufgedeckt werden, wie z. B. Clusterausreißer, die in einem Beispiel durch die Anzahl der Datenpunkte, die von einem Cluster mit hoher Dichte entfernt sind, und die Abstände zu diesen klassifiziert werden können. Das Clustering kann auch die Datendrift aufdecken, indem es die sich ändernde Clusterdichte mit Hilfe eines statistischen Analyse-Ensembles bewertet, das in 5 näher beschrieben wird. Sobald lokale und globale Datendrifts und Anomalien erkannt sind, können sie verglichen werden. Anomale oder ausreißerische Daten können als solche gekennzeichnet werden. In Bezug auf die Bewertung der Drift kann ein Ergebnis vorhergesagt werden. Mögliche Ergebnisse sind zum Beispiel, dass es keine tatsächliche Drift gibt oder dass ein föderiertes Lernmodell mit hoher Wahrscheinlichkeit nicht beeinträchtigt wird, um nur einige zu nennen. Auf der Grundlage der Bewertungen oder der vorhergesagten Ergebnisse können auch Maßnahmen vorgeschlagen werden, wie z. B. ein erneutes Training oder das Verwerfen von anomalen Produktionsdaten und/oder driftenden Produktionsdaten.
  • Wie oben erwähnt, kann die offengelegte Technologie in einigen Beispielen auf Teilnehmerknoten angewendet werden, die unter der Kontrolle eines Netzwerks stehen, wie z. B. eines Netzwerks für föderiertes Lernen, verteiltes Lernen, dezentrales Lernen oder Schwarmlernen. In einigen Beispielen ist das Netzwerk ein Blockchain-Netzwerk, aber Implementierungen der offengelegten Technologie sind nicht auf ein Blockchain-Netzwerk beschränkt. Diese Knoten können als „Edge“-Systeme bezeichnet werden, da sie an oder in der Nähe der Grenze platziert werden können, an der die reale Welt (z. B. Computergeräte der Benutzer, loT-Geräte oder andere für Benutzer zugängliche Netzwerkgeräte) mit einer großen Informationstechnologie-Infrastruktur interagiert. So verfügen beispielsweise autonome Bodenfahrzeuge derzeit über mehr als ein Rechengerät, das mit festen Serveranlagen kommunizieren kann. Darüber hinaus sind Edge-Geräte wie loT-Geräte in verschiedenen Kontexten wie Unterhaltungselektronik, Haushaltsgeräte oder Drohnen zunehmend mit Rechen- und Netzwerkkapazität ausgestattet. Ein weiteres Beispiel ist das Echtzeit-Verkehrsmanagement in intelligenten Städten, die ihre Daten an ein Rechenzentrum weiterleiten. Wie hier beschrieben, können diese Edge-Geräte jedoch aus Effizienz- und Skalierungsgründen dezentralisiert werden, um kollaboratives maschinelles Lernen als Knotenpunkte in einem Blockchain-Netzwerk durchzuführen.
  • 1A-1D veranschaulichen ein Beispielsystem und Systemkomponenten (Verwaltungsknoten, Randknoten, Blockchain-Schnittstellenschicht) für die dezentrale Verwaltung von Gerätebeständen außerhalb eines Computernetzwerks, einschließlich der Erkennung von Anomalien und Drift, gemäß einer Ausführungsform der offengelegten Technologie.
  • Genauer gesagt veranschaulicht 1A ein Beispiel für ein System 100 zur dezentralen Verwaltung von Gerätebeständen außerhalb eines Computernetzwerks 102, in dem jeder Knoten Anomalien und Drift-Erkennung gemäß einer Implementierung der offengelegten Technologie durchführen kann. Das System 100 kann ein Blockchain-Netzwerk 110 umfassen. Das Blockchain-Netzwerk 110 kann eine Vielzahl von Knoten umfassen, die über ein oder mehrere Verbindungsprotokolle, einschließlich eines Peer-to-Peer-Verbindungsprotokolls, miteinander verbunden sind. Die Knoten des Blockchain-Netzwerks 110 können einen Verwaltungsknoten 12 und Randknoten 10 umfassen. Die Anzahl, Konfiguration und Verbindungen zwischen den Randknoten 10 können variieren. Daher dient die in 1A dargestellte Anordnung der Randknoten 10 nur der Veranschaulichung.
  • Der Verwaltungsknoten 12 ist Teil einer Firewall 106 des Computernetzwerks 102 und arbeitet innerhalb dieser, während die Randknoten 10 außerhalb der Firewall arbeiten. Wie oben angedeutet und weiter unten ausführlicher beschrieben, können solche Randknoten 10 Daten beitragen, die zum Trainieren einer lokalen Instanz eines globalen ML-Modells in einem dezentralen Lern- oder Schwarmlernkontext verwendet werden können. Das Computernetzwerk 102 kann auch ein oder mehrere Sicherungssysteme 104 enthalten, die den Managementknoten 12 und/oder andere Komponenten 108, die innerhalb des Computernetzwerks arbeiten, vor Ausfällen schützen. Die Komponenten des Computernetzwerks 102 können über ein lokales Netzwerk („LAN“) miteinander kommunizieren. Die Komponenten des Computernetzwerks 102 können über die Firewall 106 mit Geräten außerhalb des Computernetzwerks 102 kommunizieren. Die Firewall 106 kann als Software-Firewall und/oder als Hardware-Firewall konfiguriert sein. Die Firewall 106 kann eine Netzwerk-Switch-Vorrichtung enthalten oder mit ihr verbunden sein, die den Netzwerkverkehr über die Firewall in das und aus dem Computernetzwerk leitet. Das Netzwerk 101 kann ein Weitverkehrsnetz („WAN“) umfassen, das Geräte außerhalb der Firewall 106 miteinander verbindet.
  • Beispiele für weitere Details eines Verwaltungsknotens 12 werden nun unter Bezugnahme auf 1 B beschrieben. Der Verwaltungsknoten 12 kann einen oder mehrere Prozessoren 20 (der Einfachheit halber hier auch als Prozessoren 20, Prozessor(en) 20 oder Prozessor 20 bezeichnet), ein oder mehrere Speichergeräte 40 und/oder andere Komponenten umfassen. Der Prozessor 20 kann durch eine oder mehrere Computerprogrammanweisungen programmiert werden. Beispielsweise kann der Prozessor 20 so programmiert sein, dass er eine Verwaltungsbenutzerschnittstelle 22 (dargestellt als „Verwaltungsbenutzerschnittstelle 22“), einen Controller 24, eine Blockchain-Schnittstellenschicht 30 und/oder andere Anweisungen ausführt, um verschiedene Vorgänge auszuführen, die hier jeweils ausführlicher beschrieben werden. Im Folgenden werden die verschiedenen Anweisungen der Einfachheit halber als Ausführung einer Operation beschrieben, wenn die verschiedenen Anweisungen tatsächlich die Prozessoren 20 (und damit den Verwaltungsknoten 12) zur Ausführung der Operation programmieren.
  • Die Verwaltungsbenutzerschnittstelle 22 kann eine Schnittstelle bereitstellen, z. B. eine grafische Benutzerschnittstelle, eine Befehlszeilenschnittstelle und/oder eine andere Art von Schnittstelle, die für den Empfang von Verwaltungsoptionseingaben konfiguriert ist. Beispielsweise kann ein Benutzer wie ein Systemadministrator die Verwaltungsbenutzerschnittstelle 22 verwenden, um Verwaltungsvorgänge einzugeben, die an einem oder mehreren der Randknoten 10 des Blockchain-Netzwerks 110 durchgeführt werden sollen, oder um einen hinzuzufügenden Randknoten einzugeben. Auf diese Weise kann der Benutzer die Randknoten 10 auf der Grundlage von Änderungsanforderungen verwalten, die aus dem Computernetzwerk 102 stammen.
  • Die Steuereinheit 24 kann die auszuführenden Verwaltungsvorgänge abrufen und sie an die betreffenden Randknoten 10 weiterleiten. Die Verwaltungsvorgänge können von der Verwaltungsbenutzerschnittstelle 22 und/oder einer globalen Richtlinie 48 bezogen werden. Die Steuereinheit 24 kann die Verwaltungsvorgänge über die Blockchain-Schnittstellenschicht 30 übermitteln. Beispielsweise kann die Steuereinheit 24 die Verwaltungsoperationen in eine Blockchain-Transaktion schreiben, die an die Edge Nodes 10 übertragen wird. Die Blockchain-Transaktion kann über ein Multicast-Protokoll an mehrere oder alle Edge Nodes 10 gesendet werden. In einigen Fällen kann die Blockchain-Transaktion über ein Peer-to-Peer-Netzwerk übertragen werden, bei dem der Verwaltungsknoten 12 als Peer fungiert, um die Transaktion an mindestens einen anderen Peer (in diesem Fall einen Edge-Knoten 10) zu übertragen, der die Transaktion an andere Peers überträgt und so weiter. In einigen Implementierungen kann der Controller 24 warten, bis eine Blockchain-Transaktion wie hier beschrieben von einem Edge-Node 10 signiert wird, bevor er die Transaktion in einen Block (hier auch als „Ledger-Block“ bezeichnet) des verteilten Ledgers 42 schreibt. In diesen Implementierungen können die Randknoten 10 Verwaltungsoperationen direkt von der übertragenen Transaktion erhalten. In anderen Implementierungen kann das Steuergerät 24 die Transaktion in einen Block des verteilten Hauptbuchs 42 schreiben. Bei diesen Implementierungen können die Randknoten 10 Verwaltungsoperationen erhalten, indem sie den aktuellen (d. h. neuesten) Block abrufen, der auf Transaktionen mit Verwaltungsoperationen verweist.
  • Unabhängig davon, auf welche Art und Weise die Steuereinheit 24 die Verwaltungsvorgänge an die Randknoten 10 unter Verwendung der Blockchain-Schnittstellenschicht 30 sendet, kann die Steuereinheit 24 dies auf eine Weise tun, die an alle Randknoten 10 gerichtet ist. Zum Beispiel kann eine Verwaltungsoperation „Status prüfen“ an alle Knoten des Blockchain-Netzwerks 110 gerichtet werden, so dass jeder Randknoten angewiesen wird, eine Statusprüfung durchzuführen. Jeder Randknoten 10 führt dann die Statusprüfung durch und sendet seinen Status mit den Ergebnissen der Statusprüfung (oder einer anderen Verwaltungsoperation, wie unten beschrieben).
  • In einigen Fällen kann die Steuereinheit 24 einen oder mehrere Randknoten 10 anvisieren, um eine Verwaltungsoperation zu erhalten. Bei diesen Implementierungen kann die Steuereinheit 24 eine Blockchain-Transaktion und/oder einen Block im verteilten Hauptbuch 42 erzeugen, der an den/die anvisierten Edge-Knoten 10 gerichtet ist. So kann die Steuereinheit 24 beispielsweise eine Kennung des anvisierten Edge Nodes 10 kodieren. Alternativ oder zusätzlich kann die Steuereinheit 24 einen Gerätetyp kodieren, der auf bestimmte Arten von Edge Nodes 10 abzielt, die Verwaltungsvorgänge durchführen sollen. Weitere Beispiele sind Standorte, die anvisiert werden sollen, so dass Edge Nodes 10 in bestimmten geografischen Gebieten anvisiert werden. Die intelligenten Verträge 44 können Regeln enthalten, die jeder Edge-Knoten 10 befolgt und die die Knoten 10 anweisen, Transaktionen und/oder Blöcke zu prüfen, um zu bestimmen, ob der Knoten 10 eine in der Transaktion und/oder dem Block enthaltene Verwaltungsoperation anwenden soll. In einigen Implementierungen kann der Controller 24 die auszuführende Verwaltungsoperation mit dem öffentlichen Schlüssel eines Zielkantenknotens 10 verschlüsseln, so dass nur der Zielkantenknoten 10 die Verwaltungsoperation mit seinem privaten Schlüssel entschlüsseln kann.
  • In einigen Fällen können bestimmte Verwaltungsvorgänge periodisch ohne Benutzereingriff ausgeführt werden. Beispielsweise kann die Steuereinheit 24 einen Dämon oder einen anderen Prozess ausführen, der in regelmäßigen Abständen eine Statusprüfung von allen Edge-Knoten 10 veranlasst. Dieser Daemon kann in regelmäßigen Abständen relevante Änderungsanforderungen generieren, die an die Randknoten 10 ausgegeben und über das verteilte Hauptbuch 42 verfolgt werden.
  • In einer Implementierung kann der Controller 24 die globale Richtlinie 48 durchsetzen, indem er sicherstellt, dass der Zustand des Netzes mit der globalen Richtlinie 48 übereinstimmt. So kann die Steuereinheit 24 beispielsweise regelmäßig den aktuellen Systemzustand aus dem verteilten Hauptbuch 42 abrufen. Wie bereits an anderer Stelle erwähnt, können die Zustandsübergänge der Randknoten 10 im verteilten Hauptbuch 42 aufgezeichnet werden. Alternativ oder zusätzlich kann das Ergebnis von Statusprüfungen in das verteilte Hauptbuch 42 geschrieben werden, um den aktuellen Zustand des Systems anzuzeigen. Der Controller 24 kann den aktuellen Systemzustand (z. B. den Zustand des Blockchain-Netzwerks 110) mit der globalen Richtlinie 48 vergleichen, die einen gewünschten Zustand des Systems angeben kann. Der gewünschte Zustand kann einen Makro-Zustand des Systems als Ganzes und/oder einen Mikro-Zustand eines einzelnen oder einer Gruppe von Randknoten 10 umfassen. Abweichungen können festgestellt werden, und ein Randknoten 10, der die Anforderungen nicht erfüllt, kann zur Ausführung eines Verwaltungsvorgangs aufgefordert werden, der die Nichteinhaltung behebt. In einigen Fällen können die intelligenten Verträge 44 und/oder die globale Richtlinie 48 Regeln kodieren, die angeben, wann ein nicht konformer Edge-Knoten 10 offline genommen werden sollte. So können die Regeln beispielsweise festlegen, dass ein Edge-Knoten 10, der nach einer Anzahl von N Blöcken, die in das verteilte Hauptbuch 42 geschrieben wurden, weiterhin nicht konform ist, offline genommen werden sollte. Auch andere Parameter können eine solche Entfernung vorschreiben. Auf diese Weise kann die wiederholte Durchsetzung und Einhaltung von Richtlinien mit Hilfe der Blockchain-Schnittstellenschicht 30 sichergestellt werden.
  • In einer Ausführungsform kann der Controller 24 in Verbindung mit bestimmten Arten von Verwaltungsvorgängen Dateien zum Herunterladen zur Verfügung stellen. So können beispielsweise Betriebssystem-Images, Software-Updates, neue Software und/oder andere herunterladbare Dateien oder Daten für Edge Nodes 10 zum Herunterladen in Verbindung mit einem Verwaltungsvorgang zur Verfügung gestellt werden. Wie weiter unten beschrieben wird, können die herunterladbaren Dateien in einigen Ausführungsformen Dateien mit bestimmten Verschlüsselungsschlüsseln, zusammengeführten Parametern usw. enthalten. Dadurch kann sichergestellt werden, dass das verteilte Hauptbuch 42 selbst solche Dateien oder Daten nicht speichern muss, sondern eine unveränderliche Aufzeichnung der aktuellen Dateien oder Daten speichert, die verwendet werden sollten (sowie eine historische Auflistung solcher Dateien oder Daten).
  • Die Blockchain-Schnittstellenschicht 30 kann verwendet werden, um mit dem verteilten Ledger 42 in Übereinstimmung mit den intelligenten Verträgen 44 zu kommunizieren. Die Blockchain-Schnittstellenschicht 30 wird im Folgenden unter Bezugnahme auf 1D beschrieben.
  • Die Speichergeräte 40 können ein verteiltes Hauptbuch 42, intelligente Verträge 44, Knotenschlüssel 46 und/oder andere Daten speichern. Das verteilte Hauptbuch 42 kann eine Reihe von Datenblöcken enthalten, die sich auf mindestens einen anderen Block, z. B. einen vorherigen Block, beziehen. Auf diese Weise können die Datenblöcke aneinandergereiht werden. Ein Beispiel für ein verteiltes Hauptbuch ist in dem bekannten Whitepaper „Bitcoin: A Peer-to-Peer Electronic Cash System“ von Satoshi Nakamoto (bitcoin.org) beschrieben, dessen Inhalt hier vollständig wiedergegeben wird. Das verteilte Hauptbuch 42 kann Blöcke speichern, die den Zustand eines Randknotens 10 in Bezug auf seine Konfiguration oder andere Verwaltungsinformationen anzeigen.
  • Die intelligenten Verträge 44 können Regeln enthalten, die die Knoten so konfigurieren, dass sie sich im Zusammenhang mit der dezentralen Verwaltung von Edge-Knoten auf bestimmte Weise verhalten. Beispielsweise können die Regeln deterministische Zustandsübergänge festlegen, welche Knoten sich für die Teilnahme an der dezentralen Verwaltung anmelden können, Regeln für die Umsetzung einer vom Verwaltungsknoten 12 ausgegebenen Änderungsanforderung und/oder andere Aktionen, die ein Edge-Knoten 10 oder Verwaltungsknoten 12 für die dezentrale Verwaltung durchführen kann. In einigen Ausführungsformen können solche Regeln angeben, wann ein Merge-Leader gewählt werden soll, welcher Randknoten 10 von der Entschlüsselungswahl ausgeschlossen werden soll usw.
  • In den Knotenschlüsseln 46 können öffentliche Verschlüsselungsschlüssel von Edge-Knoten 10 in Verbindung mit ihren Identitäten (z. B. Internetprotokoll oder andere Adressen und/oder identifizierende Informationen) gespeichert werden. Auf diese Weise können in einigen Implementierungen Änderungsanforderungen an bestimmte Edge-Knoten 10 gerichtet und mit dem öffentlichen Schlüssel des Ziel-Edge-Knotens verschlüsselt werden.
  • Die globale Richtlinie 48 kann eine Sicherheits- oder andere Richtlinie für das System speichern. Die globale Richtlinie 48 kann z. B. Netzwerkkonfigurationseinstellungen, Sicherheitskonfigurationseinstellungen, Betriebssystemeinstellungen, Anwendungseinstellungen, Richtlinienregeln und/oder andere Richtlinieninformationen für Geräte enthalten, die vom Managementknoten 12 verwaltet werden.
  • Der Verwaltungsknoten 12 umfasst auch ein Trainingsmodul 80 für die Erkennung von Anomalien und Drift und ein Produktionsmodul 82 für die Erkennung von Anomalien und Drift, die beide im Folgenden näher beschrieben werden.
  • Beispiele für weitere Details eines Randknotens 10 werden nun unter Bezugnahme auf 1C beschrieben. Ein Edge Node 10 kann ein festes oder mobiles Gerät sein. Obwohl in den Figuren nur einer der Edge Nodes 10 im Detail dargestellt ist, kann jeder der Edge Nodes 10 in der dargestellten Weise konfiguriert sein. Die Edge Nodes 10 können miteinander auf Peer-to-Peer-Basis kommunizieren. Die Edge Nodes 10 können jeweils einen oder mehrere Prozessoren 50 (der Einfachheit halber hier auch als Prozessoren 50, Prozessor(en) 50 oder Prozessor 50 bezeichnet), eine oder mehrere Speichervorrichtungen 70 und/oder andere Komponenten umfassen.
  • Der Prozessor 50 kann durch eine oder mehrere Computerprogrammanweisungen programmiert werden. Beispielsweise kann der Prozessor 50 so programmiert werden, dass er einen Blockchain-Agenten 52, einen Konfigurationsmanager 54, eine Blockchain-Schnittstellenschicht 30 und/oder andere Anweisungen ausführt, um verschiedene Operationen durchzuführen, die hier jeweils ausführlicher beschrieben werden. Im Folgenden werden die verschiedenen Anweisungen der Einfachheit halber als Ausführung einer Operation beschrieben, wenn die verschiedenen Anweisungen die Prozessoren 50 (und damit den Edge-Node 10) tatsächlich zur Ausführung der Operation programmieren.
  • Der Blockchain-Agent 52 kann die Blockchain-Schnittstellenschicht 30 verwenden, um mit anderen Randknoten 10 und/oder Verwaltungsknoten 12 zu kommunizieren. Die Blockchain-Schnittstellenschicht 30, die unter Bezugnahme auf 1D beschrieben wird, kann auf die gleiche Weise am Verwaltungsknoten 12 und am Randknoten 10 arbeiten, um mit dem Blockchain-Netzwerk zu kommunizieren (mit Ausnahme der Möglichkeit, in das verteilte Hauptbuch 42 zu schreiben). Zum Beispiel kann der Blockchain-Agent 52 eine aktualisierte Kopie des verteilten Hauptbuchs 42 von einem oder mehreren anderen Randknoten 10 und/oder dem Verwaltungsknoten 12 erhalten. Der Blockchain-Agent 52 kann auch Verwaltungsoperationen aus dem verteilten Hauptbuch 42 erhalten, die vom Verwaltungsknoten 12 geschrieben wurden. Auf diese Weise kann der Verwaltungsknoten 12 die an einem Randknoten 10 auszuführenden Verwaltungsvorgänge über das verteilte Hauptbuch 42 übermitteln.
  • Der Konfigurationsmanager 54 kann eine oder mehrere Verwaltungsoperationen von dem Blockchain-Agenten 52 erhalten. Der Konfigurationsmanager 54 kann die eine oder mehrere Verwaltungsoperationen auf den Randknoten 10 anwenden. In einigen Fällen kann der Konfigurationsmanager 54 die Verwaltungsoperationen anwenden, ohne zu bestimmen, ob dies geschehen soll. In anderen Fällen kann der Konfigurationsmanager 54 eine oder mehrere lokale Richtlinien konsultieren, um sicherzustellen, dass der Edge-Knoten 10 die eine oder mehreren Verwaltungsoperationen einhalten kann. Die lokalen Richtlinien können durch die Smart Contracts 44 kodiert werden. Alternativ oder zusätzlich können einige lokale Richtlinien in einer lokalen Richtlinie 78 gespeichert werden, die nicht unbedingt mit anderen Edge Nodes 10 geteilt wird. Mit anderen Worten, die lokale Richtlinie 78 kann speziell an einem Randknoten 10, an dem sie gespeichert ist, definiert werden.
  • Sobald der Konfigurationsmanager 54 auf die eine oder mehrere Verwaltungsoperationen reagiert hat (ob durch deren Anwendung oder nicht), kann der Blockchain-Agent 52 seinen Zustand an andere Knoten des Blockchain-Netzwerks 110 übermitteln. Beispielsweise kann der Blockchain-Agent 52 eine Blockchain-Transaktion erzeugen und übermitteln, die den Zustand des Randknotens 10 angibt (z. B. ob, wie und/oder wann die eine oder mehrere Verwaltungsoperationen angewendet wurden). Die Blockchain-Transaktion kann Informationen enthalten, die angeben, welcher Verwaltungsvorgang durchgeführt wurde (oder nicht). Beispielsweise kann die Information, die den Verwaltungsvorgang identifiziert, ein Blockbezeichner (wie ein Blockhash) sein, der den Block identifiziert, aus dem die Verwaltungsvorgänge erhalten wurden. Auf diese Weise kann die Blockchain-Transaktion, die den Zustand eines Knotens angibt, den Verwaltungsvorgang aufzeichnen, der durchgeführt (oder nicht durchgeführt) wurde.
  • Bei Implementierungen, in denen Verwaltungsvorgänge auf einen Randknoten 10 ausgerichtet sind und mit dem öffentlichen Schlüssel 72 des Randknotens 10 verschlüsselt werden, kann der Blockchain-Agent 52 die Verwaltungsvorgänge mit dem privaten Schlüssel 74 des Randknotens 10 entschlüsseln. In einigen Implementierungen kann der Blockchain-Agent 52 eine Blockchain-Transaktion vom Verwaltungsknoten 12, die die Verwaltungsoperation enthält, digital signieren. Zum Beispiel kann der Verwaltungsknoten 12 eine an den Randknoten 10 gerichtete Transaktion erzeugen und die Transaktion mit dem öffentlichen Schlüssel des Verwaltungsknotens 12 signieren.
  • Der Verwaltungsknoten 12 kann dann die signierte Transaktion in das verteilte Hauptbuch 42 schreiben, um eine unveränderliche Aufzeichnung der Verwaltungsoperation und der Zustandsänderung des anvisierten Edge-Knotens zu erstellen. Auf diese Weise kann sicher nachgewiesen werden, dass die Transaktion von dem Randknoten 10 ausgeführt wurde. Es ist anzumerken, dass der Edge Node 10 nicht speziell angepeilt werden muss, um die Transaktion zu signieren, damit eine Aufzeichnung des Zustands des Edge Nodes 10 in einer Transaktion und damit eine Sperre erstellt wird.
  • Nach dem Empfang einer Transaktion wendet der Randknoten 10 die Verwaltungsoperation an und zeigt an, dass er dies erfolgreich getan hat, indem er die Transaktion mit dem privaten Schlüssel 74 des Randknotens signiert. Der Verwaltungsknoten 12 kann diese Transaktion in das verteilte Hauptbuch (Distributed Ledger) 42 schreiben und damit einen sicheren, unveränderlichen Datensatz erstellen, der beweist, dass der Edge-Knoten 10 die Verwaltungsoperation empfangen und angewendet hat. In einigen Implementierungen kann ein Randknoten 10 mit einer Reihe von Transaktionen verbunden sein, so dass sich jede Transaktion auf einen vorherigen Transaktionshash beziehen kann. Die Transaktionen können vom Verwaltungsknoten 12 in das verteilte Hauptbuch 42 geschrieben werden, wodurch eine unveränderliche und historische Aufzeichnung der Transaktionen für einen bestimmten Edge-Knoten 10 entsteht.
  • In einer Implementierung kann der Konfigurationsmanager 54 in regelmäßigen Abständen die Übereinstimmung mit dem aktuellen Zustand des Systems sicherstellen. Zum Beispiel können die intelligenten Verträge 44 Regeln kodieren, die festlegen, welche Ereignisse eine solche Überprüfung auslösen. Zu den Ereignissen können ein Neustart, eine Neuinitialisierung, das Verstreichen einer Zeitspanne, eine Anzahl von Blöcken, die in das verteilte Hauptbuch 42 geschrieben wurden, ein Sicherheitsereignis wie die Erkennung von Schadsoftware, eine Eingabe eines Benutzers, die angibt, dass die Prüfung erfolgen soll, und/oder andere Ereignisse gehören, die eine Bewertung der Konformität auslösen können. Um die Konformität zu bewerten, kann der Konfigurationsmanager 54 feststellen, ob aktuelle Verwaltungsoperationen (wie durch den letzten Block definiert, der solche Operationen kodiert), einschließlich globaler und speziell auf den Randknoten 10 gerichteter Operationen, durchgeführt werden. Wenn dies der Fall ist, kann der Konfigurationsmanager 54 feststellen, ob sie hätten implementiert werden müssen, aber nicht implementiert wurden. Ist dies nicht der Fall, kann der Konfigurationsmanager 54 die Verwaltungsoperationen implementieren. Auf diese Weise können die Randknoten 10 die aktuellen Verwaltungsvorgänge (wie durch den aktuellen Systemzustand definiert) selbständig durchsetzen.
  • Die Speichervorrichtungen 70 können eine Kopie des verteilten Hauptbuchs 42, die Kopie der intelligenten Verträge 44, den öffentlichen Schlüssel 72 des Edge-Knotens, den privaten Schlüssel 74 des Edge-Knotens und/oder andere Daten speichern.
  • Der Randknoten 10 umfasst auch ein Trainingsmodul 80 für die Erkennung von Anomalien und Drift und ein Produktionsmodul 82 für die Erkennung von Anomalien und Drift, die im Folgenden im Einzelnen beschrieben werden.
  • Es wird nun auf 1D verwiesen, in der ein Beispiel für die Blockchain-Schnittstellenschicht 30 dargestellt ist. Jeder der Randknoten 10 und der Verwaltungsknoten 12 können die Blockchain-Schnittstellenschicht 30 implementieren, mit der Ausnahme, dass die Randknoten 10 keine Berechtigung zum Schreiben in das verteilte Hauptbuch 42 haben. Die Blockchain-Schnittstellenschicht 30 kann eine Nachrichtenschnittstelle enthalten, die zur Kommunikation mit dem Blockchain-Netzwerk 110 verwendet wird. Die Nachrichtenübermittlungsschnittstelle kann als Secure Hypertext Transmission Protocol („HTTPS“)-Mikroserver 31 konfiguriert sein. Es können auch andere Arten von Nachrichtenübermittlungsschnittstellen verwendet werden. Die Blockchain-Schnittstellenschicht 30 kann eine Blockchain-API 32 verwenden, um Blockchain-Funktionen auf der Grundlage einer Blockchain-Spezifikation aufzurufen. Beispiele für Blockchain-Funktionen sind unter anderem das Lesen und Schreiben von Blockchain-Transaktionen 34 und das Lesen und Schreiben von Blockchain-Blöcken in das verteilte Hauptbuch 42. Ein Beispiel für eine Blockchain-Spezifikation ist die Ethereum-Spezifikation. Es können auch andere Blockchain-Spezifikationen verwendet werden. Die Konsens-Engine 36 kann Funktionen enthalten, die Konsensentscheidungen treffen, z. B. ob ein Knoten zur Teilnahme an der dezentralen Verwaltung der Randknoten 10 angemeldet werden soll. Der Zustand eines Knotens 10 kann durch den Status 38 wiedergegeben werden.
  • Obwohl in 1 B und 1C als eine einzige Komponente dargestellt, kann ein Verwaltungsknoten 12 bzw. ein Randknoten 10 eine Vielzahl von Einzelkomponenten (z. B. Computergeräte) umfassen, die jeweils mit mindestens einigen der hier beschriebenen Funktionen programmiert sind. Der eine oder die mehreren Prozessoren 20 oder 50 können jeweils einen oder mehrere physische Prozessoren umfassen, die durch Computerprogrammanweisungen programmiert sind. Die verschiedenen hier beschriebenen Anweisungen dienen nur zur Veranschaulichung. Es können auch andere Konfigurationen und eine andere Anzahl von Anweisungen verwendet werden, solange der/die Prozessor(en) 20 oder 50 so programmiert sind, dass sie die hier beschriebenen Funktionen ausführen.
  • Darüber hinaus ist zu beachten, dass, obwohl die verschiedenen Funktionen in den 1B und 1C so dargestellt sind, als wären sie gemeinsam in einer einzigen Verarbeitungseinheit untergebracht, in Implementierungen, in denen der/die Prozessor(en) 20 oder 50 mehrere Verarbeitungseinheiten umfasst/umfassen, eine oder mehrere Anweisungen entfernt von den anderen Anweisungen ausgeführt werden können.
  • Die verschiedenen Anweisungen zur Ausführung der hierin beschriebenen Funktionen können in einer Speichereinrichtung 40 oder 70 gespeichert werden, die einen Speicher mit wahlfreiem Zugriff (RAM), einen Festwertspeicher (ROM) und/oder einen anderen Speicher umfassen kann. Die Speichervorrichtung 40 oder 70 kann die vom Prozessor 20 bzw. 50 auszuführenden Computerprogrammanweisungen (wie die vorgenannten Anweisungen) sowie Daten speichern, die vom Prozessor 20 oder 50 bearbeitet werden können. Die Speichervorrichtung 40 oder 70 kann ein oder mehrere nicht transitorische maschinenlesbare Speichermedien wie Disketten, Festplatten, optische Platten, Bänder oder andere physische Speichermedien zur Speicherung von computerausführbaren Anweisungen und/oder Daten umfassen.
  • Das verteilte Hauptbuch (Distributed Ledger) 42, die Transaktionswarteschlange, die intelligenten Verträge (Smart Contracts) 44, die durchzuführenden Verwaltungsvorgänge und/oder andere hierin beschriebene Informationen können in verschiedenen Speichergeräten wie dem Speichergerät 40 oder 70 gespeichert werden. Je nach den jeweiligen Speicher- und Abrufanforderungen können auch andere Speichergeräte verwendet werden. Beispielsweise können die verschiedenen hier beschriebenen Informationen in einer oder mehreren Datenbanken gespeichert werden. Bei den Datenbanken kann es sich beispielsweise um eine relationale Oracle™-Datenbank handeln, die von der Oracle Corporation kommerziell vertrieben wird, oder um eine Schnittstelle zu einer solchen Datenbank. Andere Datenbanken wie Informix™, DB2 (Database 2) oder andere Datenspeicher, einschließlich dateibasierter, oder Abfrageformate, Plattformen oder Ressourcen wie OLAP (On Line Analytical Processing), SQL (Structured Query Language), ein SAN (Storage Area Network), Microsoft Access™ oder andere können ebenfalls verwendet, eingebunden oder genutzt werden. Die Datenbank kann aus einer oder mehreren solcher Datenbanken bestehen, die sich in einem oder mehreren physischen Geräten und an einem oder mehreren physischen Orten befinden. Die Datenbank kann eine Vielzahl von Datentypen und/oder Dateien und zugehörige Daten oder Dateibeschreibungen, Verwaltungsinformationen oder andere Daten speichern.
  • Der Verwaltungsknoten 12 und die Randknoten 10, die in 1C bzw. 1B dargestellt sind, können mit anderen Knoten über ein Netzwerk verbunden sein, das beispielsweise das Internet, ein Intranet, ein PAN (Personal Area Network), ein LAN (Local Area Network), ein WAN (Wide Area Network), ein SAN (Storage Area Network), ein MAN (Metropolitan Area Network), ein drahtloses Netzwerk, ein zellulares Kommunikationsnetzwerk, ein öffentliches Telefonnetz und/oder ein anderes Netzwerk umfassen kann. In 1A sowie in anderen Figuren kann eine andere Anzahl von Einheiten als die dargestellten verwendet werden. Darüber hinaus können die hier beschriebenen Komponenten gemäß verschiedenen Implementierungen in Hardware und/oder Software implementiert werden, die Hardware konfiguriert.
  • Unter Bezugnahme auf die 2 bis 3 bietet die offengelegte Technologie eine technische Lösung, die die oben genannten technischen Herausforderungen angeht, indem sie in einem Beispiel die rechtzeitige Erkennung von Anomalien und Drift bei Produktionsdaten ermöglicht, die in verteilten oder dezentralen Umgebungen wie föderierten Lern- oder Schwarmlernumgebungen trainiert wurden. Die offengelegte Technologie umfasst in einem Beispiel eine neue Pipeline mit einer unüberwachten Lerntechnik, die einen Variational Autoencoder (VAE) in Verbindung mit einem Clustering- und Statistik-Ensemble (näher erläutert in 5) verwendet, um Anomalien und driftende Daten an jedem Teilnehmerknoten in der Umgebung zu erkennen und zu bewerten. Die Driftanalyse mit zugehöriger Modellvorhersage von ML-Modellen ermöglicht es den Nutzern, kontinuierliches föderiertes Lernen zu initiieren. Dementsprechend kann aufgrund der Merkmale der offengelegten Technologie die Konsistenz der Qualität der globalen Modellleistung durch kontinuierliches Lernen in kollaborativen Umgebungen aufrechterhalten werden. Geeignete VAEs zur Verwendung mit der offengelegten Technologie werden im Folgenden näher erläutert.
  • 2 zeigt ein Trainingsmodul 80 zur Erkennung von Anomalien und Drift in Übereinstimmung mit einem Beispiel der offengelegten Technologie . Das Anomalien- und Drifterkennungs-Trainingsmodul 80 kann beispielsweise in einem Verwaltungsknoten oder Randknoten eines dezentralisierten oder verteilten Netzwerks implementiert werden, wie z. B. im Verwaltungsknoten 12 oder im Randknoten 10 von 1B bzw. 1C. Auf diese Weise kann das Anomalien- und Drifterkennungs-Trainingsmodul 80 eine oder mehrere Komponenten der 1A-1D nutzen, einschließlich, aber nicht beschränkt auf Prozessor(en) 20, Controller 24, Blockchain-Schnittstellenschicht 30, Speichergerät(e) 40, verteilten Ledger 42 und Smart Contract(s) 44 des Managementknotens 12 oder Prozessor(en) 50, Blockchain-Schnittstellenschicht 30, verteilten Ledger 42, Smart Contracts 44, Speichergerät(e) 70 des Randknotens 10. Das Trainingsmodul 80 zur Erkennung von Anomalien und Drift kann beispielsweise in einem Rahmen für föderiertes Lernen oder Schwarmlernen implementiert werden. Natürlich sind dies nur Beispielimplementierungen, und die offengelegte Technologie ist nicht darauf beschränkt.
  • Das Anomalien- und Drifterkennungs-Trainingsmodul 80 bietet eine Trainingsumgebung an jedem Teilnehmerknoten. Das Trainingsmodul 80 für die Erkennung von Anomalien und Drift umfasst einen ersten Variations-Autoencoder (VAE) 120, bei dem es sich um einen lokalen VAE handelt, einen zweiten Variations-Autoencoder (VAE) 122, bei dem es sich um einen globalen VAE handelt, ein lokales ML-Modell 124 des Benutzers und ein globales ML-Modell 126 des Benutzers.
  • Das lokale ML-Benutzermodell 124 und die lokale VAE 120 werden lokal mit Trainingsdaten trainiert, um eine lokale Basislinie abzuleiten, die in einer lokalen Basisliniendatenbank 128 gespeichert wird. Die lokale VAE 120 wird mit denselben Trainingsdaten wie das lokale ML-Benutzermodell 124 trainiert, bis sie die Eingabebilder mit stabilisierten minimalen oder reduzierten Verlustwerten rekonstruieren kann. Diese Werte werden zusammen mit dem entsprechenden latenten Raum der lokalen VAE 120 als lokale Basislinie bezeichnet, die eine repräsentative Referenz der Trainingsdaten dieses Knotens darstellt. Das globale ML-Benutzermodell 126 und die globale VAE 122 werden gemeinsam für eine Vielzahl von Teilnehmerknoten (bei denen es sich entweder um Verwaltungsknoten 12 oder Randknoten 10 handeln kann) unter Verwendung der Trainingsdaten trainiert, um eine globale Basislinie abzuleiten, die in einer globalen Basisliniendatenbank 130 gespeichert wird. Die stabilisierten minimalen oder reduzierten Verlustwerte zusammen mit dem entsprechenden latenten Raum der globalen VAE 122 werden als die globale Basislinie bezeichnet, die eine repräsentative ungefähre Referenz der Trainingsdaten über einige oder alle Teilnehmerknoten darstellt.
  • Die lokalen und globalen VAEs 120, 122 extrahieren stabilisierte Rekonstruktionsverluste und den latenten Raum als die jeweiligen lokalen und globalen Basislinien. Der latente Raum einer VAE ist die kodierte Darstellung, die vom Encoder des Autoencoders gelernt wurde und die Trainingsdatenverteilung statistisch repräsentiert. Dementsprechend können Anomalien und Drifts sowohl aus lokaler als auch aus globaler Sicht bewertet werden. Die lokalen und globalen Basislinien werden als Referenzen für die Erkennung von Anomalien und Drift in der Produktion verwendet. Die lokalen und globalen Basislinien und die jeweiligen trainierten lokalen und globalen VAEs 120, 122 werden für den Einsatz in der Produktionsumgebung verpackt, die vom Produktionsmodul 82 zur Erkennung von Anomalien und Drift bereitgestellt wird.
  • 3 zeigt ein Produktionsmodul 82 zur Erkennung von Anomalien und Drift gemäß einem Beispiel der offengelegten Technologie. Das Produktionsmodul 82 zur Erkennung von Anomalien und Drift kann beispielsweise in einem Verwaltungsknoten oder einem Randknoten eines dezentralisierten oder verteilten Netzwerks wie dem Verwaltungsknoten 12 oder dem Randknoten 10 von 1 B bzw. 1C. Auf diese Weise kann das Anomalien- und Drifterkennungs-Produktionsmodul 80 eine oder mehrere Komponenten der 1A-1D nutzen, einschließlich, aber nicht beschränkt auf Prozessor(en) 20, Controller 24, Blockchain-Schnittstellenschicht 30, Speichergerät(e) 40, verteiltes Ledger 42 und Smart Contract(s) 44 des Managementknotens 12 oder Prozessor(en) 50, Blockchain-Schnittstellenschicht 30, verteiltes Ledger 42, Smart Contracts 44, Speichergerät(e) 70 des Edge Nodes 10. Das Produktionsmodul 82 zur Erkennung von Anomalien und Drift kann beispielsweise in einem Rahmen für föderiertes Lernen oder Schwarmlernen implementiert werden. Natürlich sind dies nur Beispielimplementierungen, und die offengelegte Technologie ist nicht darauf beschränkt.
  • Die Produktionsumgebung an jedem Teilnehmerknoten wird durch das Produktionsmodul 82 zur Erkennung von Anomalien und Drift bereitgestellt. Das Produktionsmodul 82 zur Erkennung von Anomalien und Drift umfasst ein trainiertes lokales ML-Modell 124, ein trainiertes globales ML-Modell 126, eine trainierte lokale VAE 120, eine trainierte globale VAE 122 und einen Komparator 132. In der Produktionsumgebung werden die trainierte lokale VAE 120 und die trainierte globale VAE 122 zusammen mit den jeweiligen lokalen und globalen Basislinien eingesetzt, die in den jeweiligen lokalen und globalen Basisliniendatenbanken 128, 130 gespeichert sind. Die Produktionsdaten werden mit dem trainierten lokalen Benutzer-ML-Modell 124 und dem trainierten globalen Benutzer-ML-Modell 126 verarbeitet. Die trainierten lokalen und globalen VAEs 120, 122 extrahieren Anomalien und Drift in Bezug auf die jeweiligen lokalen und globalen Basislinien, wenn neue Daten am Knotenpunkt anfallen. Dies kann auf der Grundlage tatsächlicher Produktions- oder Live-Daten erfolgen. Die Daten werden geclustert und in ein statistisches Ensemble zur Bewertung der Drift eingespeist, das von den trainierten lokalen und globalen VAEs 120, 122 und dem Komparator 132 bereitgestellt wird, wie in Verbindung mit dem Verfahren 500 in 5, das ein Beispiel für ein Verfahren zur Erkennung von Anomalien und Drift bei der Inferenz zeigt, näher beschrieben wird.
  • Die trainierten lokalen und globalen VAEs 120, 122 leiten mindestens eines von (1) lokalen und globalen Anomaliedaten in Bezug auf anomale Produktionsdaten oder (2) lokalen und globalen Driftdaten in Bezug auf driftende Produktionsdaten ab, basierend auf den jeweiligen lokalen und globalen Trainingsdaten-Referenzgrundlagen. Der Komparator 132 vergleicht dann (1) die lokalen Anomaliedaten mit den globalen Anomaliedaten oder (2) die lokalen Driftdaten mit den globalen Driftdaten, um erkannte Anomalien und Datendrift zu quantifizieren. Insbesondere bewertet der Komparator 132 die Menge der Anomalien und/oder der Datendrift über die trainierten lokalen und globalen VAEs 120, 122 zusammen mit der ML-Modellleistung der trainierten lokalen und globalen ML-Modelle 124, 126 des Benutzers. Der Komparator 132 sendet dann das Ergebnis an die Datenbank 134 zur Speicherung und präsentiert das Ergebnis einem Benutzer.
  • Das Ergebnis kann z. B. Anomalie- und Driftdaten und zugehörige Modellvorhersagen umfassen. Dementsprechend ist ein Benutzer in der Lage, die Auswirkungen der neuen Daten (d. h. der anomalen Produktionsdaten oder der driftenden Produktionsdaten) auf die trainierten lokalen und/oder globalen ML-Modelle 124, 126 zu verstehen. Der Benutzer ist ferner in der Lage, eine fundierte Entscheidung darüber zu treffen, ob ein erneutes Trainieren der lokalen und/oder globalen ML-Modelle 124, 126 und der lokalen und globalen VAEs 120, 122 in dem dezentralisierten/verteilten Netzwerk, wie dem Netzwerk 102 von 1A, auf der Grundlage der Auswirkungen auf die Benutzermodellvorhersagen aufgrund der neuen Daten, die anomal oder driftend sind, eingeleitet werden soll.. Beispielsweise könnte das Benutzermodell neue COVID-19-Bilddaten fälschlicherweise als Krankheitsklasse Kardiomegalie vorhersagen. Aufgrund der Merkmale der offengelegten Technologie kann ein kontinuierliches Training ermöglicht werden, um aktualisierte lokale und/oder globale ML-Modelle 124, 126 für alle teilnehmenden Knoten zu erhalten, wobei diese neuen Daten, die als Anomalien oder Drift erkannt werden, verwendet werden.
  • Dementsprechend leitet die offengelegte Technologie eine globale Referenz-Basislinie zur Bewertung der Auswirkungen von Anomalien und Driftdaten für ein trainiertes globales ML-Modell in einem dezentralisierten/verteilten oder föderierten oder Schwarm-Lernnetzwerk ab, ohne Zugang zu den Daten über die Teilnehmerknoten hinweg zu haben, wobei ein neuartiger Driftanalyse-Workflow/eine neuartige Pipeline für eine robuste Driftbewertung verwendet wird. Die offengelegte Technologie kann die Auswirkungen von Driftdaten auf ein lokales und/oder globales ML-Modell mit den zugehörigen Leistungsdaten unterscheiden, wodurch ein Benutzer in die Lage versetzt wird, eine fundierte Entscheidung zu treffen, ob das Netzwerk mit den Driftdaten neu trainiert werden soll.
  • Dank der offengelegten Technologie können die teilnehmenden Knoten des Netzes mit regelmäßig aktualisierten lokalen und/oder globalen ML-Modellen versorgt werden. Ein globales ML-Modell kann unabhängig davon erstellt werden, wo die Datendrift zwischen den teilnehmenden Knotenpunkten auftritt. Darüber hinaus kann eine nachhaltige ML-Modellleistung durch kontinuierliches Neutraining der lokalen und/oder globalen Modelle unter dynamischen Produktionsdatenszenarien erreicht werden, wobei die Privatsphäre gewahrt bleibt.
  • Die Komponenten der in 2 und 3 dargestellten Technologie werden im Folgenden näher beschrieben.
  • Die lokalen und globalen Variations-Autokodierer (VAEs) 120, 122
  • Wie oben erwähnt, nutzt die offengelegte Technologie Variations-Autoencoder (VAEs) als primäre Engine zur Erkennung von Anomalien und Drifts in dezentralisierten/verteilten, föderierten oder Schwarm-Lernumgebungen. Insbesondere werden in den 2 und 3 lokale und globale VAEs 120, 122 verwendet. Ein VAE ist ein unbeaufsichtigtes künstliches neuronales Netz, das lernt, wie man Daten effizient komprimiert und in einen latenten Raum kodiert und die Daten aus der reduzierten kodierten Darstellung wieder rekonstruiert. Ein VAE wird gewählt, weil die vom VAE gelernte kodierte Repräsentation spezifisch für die Trainingsdatenverteilung in einem kontinuierlichen latenten Raum ist. Dies ermöglicht eine effektive Berechnung der Unterschiede in der latenten Raumverteilung der Eingabedaten unter Verwendung der globalen und lokalen Basislinien. Dieses Verhalten wird in der offengelegten Technologie zur effektiven Erkennung von Unterschieden in der Drift und/oder Anomalien genutzt, um einen Benutzer bei der Bewertung der Auswirkungen anomaler Produktionsdaten und/oder driftender Produktionsdaten auf die lokalen und/oder globalen ML-Modelle zu unterstützen.
  • Die lokalen und globalen M L-Modelle der Benutzer 124, 126
  • An jedem Knoten erstellt ein Benutzer ein Modell für das Training mit Daten, die am lokalen Knoten verfügbar sind, das nach dem Training gespeichert werden kann, z. B. als lokales ML-Modell 124 des Benutzers. Bei mehreren Knoten (drei Knoten in einem nicht einschränkenden Beispiel) wird dasselbe ML-Modell für das Training in einer dezentralisierten/verteilten Lernumgebung, wie z. B. föderiertes Lernen oder Schwarmlernen, verwendet, das nach dem Training z. B. als „User Global ML Model 126“ gespeichert werden kann.
  • Baseline Referenz Ableitung
  • In Bezug auf die lokale Basislinienreferenz an jedem Knoten, die in der lokalen Basisliniendatenbank 128 gespeichert ist, wird die lokale VAE 120 in der Trainingsumgebung mit denselben Daten wie das lokale ML-Modell 124 des Benutzers trainiert, bis die lokale VAE 120 in der Lage ist, die erwartete Ausgabe mit minimalen oder reduzierten Fehlern, d. h. den Rekonstruktionsverlustwerten, zu rekonstruieren. Es wird eine lokale Basislinie (LBd) abgeleitet, die die stabilisierten Verlustwerte und den zugehörigen latenten Raum des Encoders umfasst, der die lokalen Daten darstellt. Diese wird als Referenz für die Driftanalyse bei der Inferenz für das lokale ML-Modell 124 verwendet.
  • In Bezug auf die in der globalen Basisdatenbank 130 gespeicherte globale Basislinienreferenz über alle teilnehmenden Knoten hinweg wird die globale VAE 122 unter Verwendung von dezentralisiertem/verteiltem Lernen, wie z. B. Verbund- oder Schwarmlernen, gemeinsam über mehrere teilnehmende Knoten hinweg trainiert, bis die globale VAE 122 in der Lage ist, die erwartete Ausgabe mit minimalen oder reduzierten Fehlern, d. h. den Rekonstruktionsverlustwerten, zu rekonstruieren. Es wird eine globale Basislinie (GBd) abgeleitet, die die stabilisierten Verlustwerte und den zugehörigen latenten Raum des VAE-Codierers umfasst, der die über die Knoten verteilten Daten darstellt. Diese wird als Referenz für die Driftanalyse bei der Inferenz für das globale ML-Modell 126 verwendet.
  • Trainina der lokalen und globalen VAEs 120, 122 zur Erkennung von Anomalien und Drift
  • 4 zeigt ein Trainingsverfahren 400 zur Erkennung von Anomalien und Drift gemäß einem Beispiel der offengelegten Technologie. Das Verfahren 400 kann beispielsweise von lokalen oder globalen VAEs 120, 122 des Anomalien- und Drifterkennungs-Trainingsmoduls 80 durchgeführt werden, das an jedem Teilnehmerknoten eine Trainingsumgebung bereitstellen kann. Das Anomalien- und Drifterkennungs-Trainingsmodul 80 kann in einem Verwaltungsknoten oder einem Randknoten eines dezentralisierten oder verteilten Netzwerks implementiert werden, wie z. B. dem Verwaltungsknoten 12 oder dem Randknoten 10 der 1B bzw. 1C, implementiert sein. Bei dem Netzwerk kann es sich um einen Rahmen für föderiertes Lernen oder Schwarmlernen handeln. Natürlich sind dies nur Beispielimplementierungen, und die offengelegte Technologie ist nicht darauf beschränkt.
  • Schritt 402 umfasst das lokale Training eines lokalen ML-Modells 124 und einer lokalen VAE 120 unter Verwendung von Trainingsdaten, um eine lokale Basislinie abzuleiten. Schritt 404 umfasst die Speicherung der abgeleiteten lokalen Basislinie in einer lokalen Basisliniendatenbank 128. Die lokale Basislinie stellt eine repräsentative Referenz der Trainingsdaten dieses Knotens dar.
  • Schritt 406 umfasst das gemeinsame Trainieren des globalen ML-Modells 126 des Benutzers und der globalen VAE 122 für eine Vielzahl von Teilnehmerknoten (bei denen es sich entweder um Managementknoten 12 oder Randknoten 10 handeln kann) unter Verwendung der Trainingsdaten, um eine globale Basislinie abzuleiten. Schritt 408 umfasst das Speichern der abgeleiteten globalen Basislinie in einer globalen Basisliniendatenbank 130. Die globale Basislinie stellt eine repräsentative ungefähre Referenz der Trainingsdaten für einige oder alle Teilnehmerknoten dar.
  • Dementsprechend extrahiert die Methode 400 durch die lokalen und globalen VAEs 120, 122 stabilisierte Rekonstruktionsverluste und latenten Raum als lokale und globale Basislinien. So können Anomalien und Drift sowohl aus lokaler als auch aus globaler Perspektive bewertet werden. Die lokalen und globalen Basislinien werden als Referenzen für die Erkennung von Anomalien und Drift in der Produktion verwendet. Die lokalen und globalen Basislinien und die entsprechenden trainierten lokalen und globalen VAEs 120, 122 werden für den Einsatz in der Produktionsumgebung verpackt, die vom Produktionsmodul 82 zur Erkennung von Anomalien und Drift bereitgestellt wird.
  • Erkennung von Anomalien und Drift bei der Ableitung
  • 5 zeigt ein Verfahren 500, das von den lokalen oder globalen VAE 120, 122 und dem Komparator 132 des Produktionsmoduls 82 zur Erkennung von Anomalien und Drift gemäß einem Beispiel der vorliegenden Offenbarung durchgeführt wird. Das Verfahren 500 ist ein Beispiel für ein Verfahren zur Erkennung von Anomalien und Drift bei der Inferenz.
  • Die trainierte lokale VAE 120, aus der die lokale Basislinie abgeleitet wird, und die trainierte globale VAE 122, aus der die globale Basislinie abgeleitet wird, werden bei der Inferenz eingesetzt. Der Benutzer setzt auch die lokalen und globalen ML-Modelle 124, 126 bei der Inferenz ein. Inferenz bezieht sich auf die Erkennung von Anomalien und Drifts in der Produktion. In der Produktionsumgebung, die durch das Produktionsmodul 82 zur Erkennung von Anomalien und Drifts bereitgestellt wird, erhalten die lokalen und globalen ML-Modelle 124, 126 Produktionsdaten als Eingaben und rekonstruieren die Bilder. Die folgende Abfolge von Funktionen wird auf die eingegebenen Produktionsdaten angewendet. Sie können sowohl für die lokale VAE 120 als auch für die globale VAE 122 gelten.
  • Dementsprechend beinhaltet Schritt 502 die Bereitstellung der trainierten lokalen VAE 120 und der trainierten globalen VAE 122 mit den entsprechenden lokalen und globalen Basislinien an Inferenzknoten.
  • Schritt 504 umfasst den Empfang der eingegebenen Produktionsdaten sowie der jeweiligen lokalen und globalen Basislinien, die in den jeweiligen lokalen und globalen Basisliniendatenbanken 128, 130 gespeichert sind, durch die lokale oder globale VAE 120, 122.
  • Schritt 506 umfasst die Extraktion von Rekonstruktionsverlusten und latenten Räumen aus den empfangenen Produktionsdaten. In diesem Schritt werden die Rekonstruktionsverluste und latenten Räume aus dem Kodierer der lokalen VAE 120 (AD_Local_Latent) und der globalen VAE 122 (AD_Global_Latent) extrahiert.
  • Schritt 508 umfasst die Durchführung einer Datenclusterung an den Rekonstruktionsverlusten und den latenten Räumen, die aus den lokalen und globalen VAEs 120, 122 extrahiert wurden, um dadurch einen Satz von Clustern zu erzeugen. Bei dieser Funktion wird beispielsweise Mean Shift Clustering auf die extrahierten Rekonstruktionsverluste und die latenten Räume des Encoders angewendet, die aus den lokalen und globalen VAEs 120, 122 extrahiert wurden, wodurch ein Satz von Clustern C = {C1,C2,...Ci...Cn} erzeugt wird. Diese Cluster C werden für die hier beschriebene Erkennung von Anomalien und Drifts verwendet. Die folgenden Schritte konzentrieren sich auf die Analyse auf der Grundlage des latenten Raums als Beispiel, während ein ähnlicher Prozess für die Analyse auf der Grundlage von Rekonstruktionsverlusten angewandt wird, um einen kollektiven Ansatz für die Erkennung von Anomalien und Drifts zu unterstützen und die Robustheit zu verbessern.
  • Schritt 510 umfasst das Erkennen und Extrahieren von Ausreißern oder Anomalien aus den erzeugten Clustern C unter Verwendung der lokalen oder globalen Basislinien, die in den jeweiligen lokalen oder globalen Basisliniendatenbanken 128, 130 gespeichert sind. Die Erkennung und Extraktion ist durch einen Satz von Regeln gekennzeichnet, wie z. B. in einem nicht einschränkenden Beispiel die Identifizierung eines Clusters mit hoher Dichte und die Erkennung und Extraktion von Datenpunkten mit maximalem Abstand (oder einem Schwellenwertabstand) von einem Cluster mit hoher Dichte. Dementsprechend werden in einem nicht einschränkenden Beispiel Anomalien erkannt und extrahiert, indem ein High-Density-Cluster identifiziert wird und Datenpunkte erkannt und extrahiert werden, die am weitesten von dem High-Density-Cluster entfernt sind und über einem Maximalwert der abgeleiteten Basislinie liegen. Anomalien können als oberhalb des Maximalwerts der Basislinie und am weitesten vom Cluster mit der höchsten Dichte entfernt betrachtet werden. Wenn der Cluster mit der höchsten Dichte selbst über der Basislinie liegt, dann sind die obersten Werte des Clusters die Anomalien. Die obersten Werte können ein vom Benutzer eingestellter Prozentsatz der gesamten Punkte über der Basislinie im Cluster sein.
  • In einem anderen, nicht einschränkenden Beispiel ist die Erkennung und Extraktion durch die Erkennung und Extraktion von Datenpunkten mit einer signifikant geringen Anzahl von Werten gekennzeichnet. Die Werte können auch dadurch bewertet werden, dass überprüft wird, ob ein Wert kleiner oder größer ist als gültige Wasserzeichen in den Basisdaten, die ein Benutzer angeben kann. Dementsprechend kann ein Benutzer Kriterien für die Erkennung und Extraktion festlegen. Die aus den Clustern C extrahierten Anomalien werden als Anomalien gekennzeichnet.
  • Schritt 512 umfasst die Erkennung von Datendrift in den erzeugten Clustern unter Verwendung der lokalen oder globalen Basislinien, die in den jeweiligen lokalen oder globalen Basisliniendatenbanken 128, 130 gespeichert sind. Wenn eine Drift auftritt, neigt die Dichte der Cluster dazu, sich zeitlich zu verändern. Die Datendrift kann durch Bewertung der Dichteänderungen der Datencluster für jeden Datenstapel, der in den Schritt 506 der Clustergenerierung eingegeben wird, erkannt werden. Eine Änderung der Dichte über einen bestimmten Zeitraum hinweg bei den Clustern pro Stapel, die konsistent mit der Grundlinie für eine bestimmte Dauer ist, ist ein Hinweis auf eine Drift oder eine Abweichung des Datenmusters. Dementsprechend wird in diesem Schritt eine Bewertung der Clusterdichte durchgeführt und die Drift abgeleitet. Lokale und/oder globale Anomalien und die Erkennung von Drift werden durch die Bewertung der Dichteänderung zwischen den Clustern gegenüber der lokalen Basislinie (LBd) und der globalen Basislinie (GBd) durchgeführt.
  • Schritt 514 umfasst die Durchführung eines Vergleichs lokaler und/oder globaler Anomalien und/oder Drift durch den Komparator 132. Insbesondere umfasst dieser Schritt den Vergleich von (1) den lokalen Anomaliedaten mit den globalen Anomaliedaten oder (2) den lokalen Driftdaten mit den globalen Driftdaten, um entsprechende anomale Produktionsdaten oder driftende Produktionsdaten abzuleiten. Der Komparator 132 verwendet ein Kreuzkorrelationsmaß (in einem nicht einschränkenden Beispiel die Pearson-Korrelation), um einen Kreuzkorrelationswert zu erhalten, und einen nichtparametrischen Test (in einem nicht einschränkenden Beispiel den Mann-Whitney-Test mit der Hypothese, dass die beiden Verteilungen signifikant ähnlich sind) zum Vergleich der Dichteverteilung. Für jeden Durchlauf der Clusterbildung wird ein Dichteset DSi mit den Clustern erstellt, wobei DSi = {DS1 , DS2 ,...DSn} in einer zeitlichen Reihenfolge über die Durchläufe hinweg, wobei DSi = {C1,..., Ci} über ein einstellbares Zeitfenster. Eine Dichtezählung jedes Clusters wird in der Dichtemenge DSi.
  • Ein Ensemble wird über den Dichtesatz DSi und die Basislinien LBd und GBd in zeitlicher Hinsicht auf der Grundlage des folgenden Beispiels für die Bewertungslogik ausgeführt, wie in der folgenden Tabelle 1 dargestellt. Es versteht sich von selbst, dass die in Tabelle 1 gezeigte Bewertungslogik nur ein Beispiel ist, und die offengelegte Technologie ist nicht auf das darin dargestellte Beispiel beschränkt. Tabelle 1
    Bewertung Ergebnis Bedeutung
    Wenn (Kreuzkorrelationswert < Ähnlichkeitsschwelle, z. B. 0,5) UND Drift zwischen den Clustersets aufgetreten Die geclusterten Datensätze stammen aus unterschiedlichen Verteilungen
    (Hypothese = Ablehnen)
    Wenn (cross_correlation_value > similarity_threshold , z.B. 0.5) UND (Hypothese = nicht zu verwerfen) Keine Drift zwischen Clustersätzen Die Cluster der Datensätze stammen höchstwahrscheinlich aus der gleichen Verteilung
    Wenn (Kreuzkorrelationswert < Ähnlichkeitsschwelle , z. B. 0,5) UND (Hypothese = nicht zu verwerfen) Marginale Drift oder anomaler Dateneinfluss Markierung als marginale Drift und Überwachung für weitere Datenstapel
    Wenn (cross_correlation_value > similarity_threshold , z.B. 0.5) UND (Hypothese = Ablehnen) Marginale Drift oder anomaler Dateneinfluss Markierung als marginale Drift und Überwachung für weitere Datenstapel
  • Dementsprechend enthält Tabelle 1 einen Beispielalgorithmus für die Extraktion von Anomalien/Drift mithilfe von Clustering. In dem Beispiel in Tabelle 1 wird ein numerischer Wert von 0,5 als Ähnlichkeitsschwelle angegeben, der angibt, inwieweit die Datenverteilungen ähnlich sind, und der vom Benutzer eingestellt werden kann. (0,5 ist ein nicht einschränkendes Beispiel.) Normalerweise werden Datenpunkte außerhalb der Grundlinie als Anomalien eingestuft, während Daten innerhalb der Grundlinie nicht als Anomalien eingestuft werden. Die Verwendung sowohl der Kreuzkorrelation als auch der hypothesenbasierten Regeln trägt zur Verringerung der falsch-positiven Ergebnisse bei, da es bei jeder einzelnen Technik schwieriger sein kann, falsch-positive Ergebnisse zu reduzieren.
  • Für die Driftergebnisse wird ein Trending durchgeführt, um die Änderungsrate der Drift anhand von Kreuzkorrelationswerten zu bestimmen. Driftdatencluster werden aus dem Clustersatz für die lokale Basislinie (AD_Local_Drift_Clusters) und für die globale Basislinie (AD_Global_Drift_Clusters) unter Verwendung der jeweiligen VAEs 120, 122 extrahiert.
  • Der Komparator kann die lokale mit der globalen Drift vergleichen. Diese Funktion vergleicht die von den VAEs 120, 122 erkannten Drifts. Das folgende Beispiel für eine Bewertungslogik, wie in Tabelle 2 dargestellt, wird durchgeführt und dem Benutzer als Beobachtungen präsentiert. Es versteht sich von selbst, dass die in Tabelle 2 gezeigte Bewertungslogik nur ein Beispiel ist, und die offengelegte Technologie ist nicht auf das darin dargestellte Beispiel beschränkt: Tabelle 2
    Bewertung Ergebnis Benutzeraktionen
    If (AD_Local_Drift_Clusters = 0) UND AD_Global_Drift_Clusters = 0) Keine Abdrift Keine Aktion
    If (AD_Local_Drift_Clusters = positive Anzahl) UND (AD_Global_Drift_Clusters = 0) Hohe Wahrscheinlichkeit, dass die Leistung des föderierten ML-Modells nicht beeinträchtigt wird Untersuchen Sie driftende Daten und untersuchen Sie die Ausgabe des lokalen ML-Modells im Vergleich zur Ausgabe des globalen Modells.
    If (AD_Local_Drift_Clusters = positive Anzahl) UND (AD_Global_Drift_Clusters = positive Anzahl) Hohe Wahrscheinlichkeit, dass die Leistung des föderalen ML-Modells beeinträchtigt wird. Untersuchen Sie abweichende Daten. Erneutes Auslösen des föderierten Lernens mit neuen Daten basierend auf dem Konsens der Teilnehmer
    If (AD_Local_Drift_Clusters = 0) UND (AD_Global_Drift_Clusters = positive Anzahl) Hohe Wahrscheinlichkeit, dass die Leistung des föderierten ML-Modells beeinträchtigt wird. Lokales Modell mit guter Leistung. Untersuchen Sie abweichende Daten. Erneutes Auslösen des föderierten Lernens mit neuen Daten auf der Grundlage des Konsenses der Teilnehmer
  • Tabelle 2 enthält ein Beispiel für einen Algorithmus zur Drifterkennung. Um auf das Beispiel Covid-19 zurückzukommen, nehmen wir an, dass Produktionsdaten verfügbar sind (Covid-19) am Tag 1 von 20 Röntgenstrahlen; am Tag 2 von 30 Röntgenstrahlen; usw. Ein separater Cluster beginnt sich zu bilden, und es gibt keinen Basiswert, der unter dem abgeleiteten Wert liegt. Der Rekonstruktionsverlust wird also sofort hoch sein, d. h. über einem Schwellenwert liegen. Ein Beispiel: Wenn an Tag 1 ein Cluster, an Tag 2 zwei Cluster und an Tag 3 drei Cluster auftauchen, kann man sagen, dass die Datenmenge kontinuierlich zunimmt und die Daten somit driften. Die Änderung der zeitlichen Dichte zwischen den Clustern, die kontinuierlich auftritt, kann ein Driftszenario sein. Wenn sich die Datendichte auf diese Weise ändert, kann daher festgestellt werden, dass an diesem bestimmten Knoten eine Drift stattfindet. Es könnte auch andere Beispiele geben, bei denen die Änderung der zeitlichen Dichte ein plötzlicher Anstieg oder eine Oszillation ist, die von diesem Algorithmus erkannt wird.
  • Schritt 516 umfasst die Ableitung und Darstellung der Auswirkungen der Drift auf das lokale ML-Modell 124 im Vergleich zum globalen ML-Modell 126 für einen Benutzer. Insbesondere umfasst Schritt 514 das Ableiten und Präsentieren der Auswirkungen der anomalen Produktionsdaten und/oder der driftenden Produktionsdaten auf die lokalen und globalen ML-Modelle 124, 126 auf die Vorhersagen des ML-Modells des Benutzers, beispielsweise eine fehlerhafte Vorhersage, . Dies kann z. B. in Form von Anomalie- und Driftdaten oder zugehörigen Modellvorhersagen geschehen, die in der Ergebnisdatenbank 134 gespeichert sind.
  • In diesem Schritt kann die Drift zum Beispiel wie folgt klassifiziert werden. Die Differenz zwischen den Vektoren AD_Local_Latent und AD_Global_Latent mit den latenten Räumen LBd und GBd oder einem beliebigen latenten Raum in einem Szenario ohne Drift bei der Produktion liefert den Bereich um die Eingabedaten, in dem die Drift aufgetreten ist. Auf diese Weise kann der Benutzer die zugehörigen Eingabebilder, die die Drift verursachen, mit der entsprechenden ML-Modellklassifikation untersuchen, um die Modellleistung zu bewerten. Der Benutzer kann dann zum Beispiel das ML-Modell mit den Daten, die der Drift entsprechen, neu trainieren, um das globale Modell zu verfeinern.
  • Schritt 518 umfasst das Auslösen eines erneuten Trainings von mindestens einem der lokalen und globalen ML-Modelle 124, 126 durch den Benutzer auf der Grundlage der Auswirkungen auf die ML-Modell-Vorhersagen des Benutzers, beispielsweise einer fehlerhaften Vorhersage. Der Benutzer kann auf der Grundlage der Präsentation entscheiden, ob er das Modell verwerfen oder neu trainieren möchte.
  • 6 ist ein Beispiel für eine Rechnerkomponente, die verwendet werden kann, um Funktionen zur Erkennung von Anomalien und Drift eines Knotens in Übereinstimmung mit einem Beispiel der offengelegten Technologie zu implementieren. Die Rechnerkomponente 600 kann in einen Knoten eines dezentralisierten, verteilten, föderierten Lern- oder Schwarmlernsystems integriert werden, wie z. B. in den Verwaltungsknoten 12 oder den Randknoten 10 des Computernetzwerks 102 von 1A. Bei der Rechnerkomponente 600 kann es sich beispielsweise um einen Server-Computer, einen Controller oder eine andere ähnliche Rechnerkomponente handeln, die in der Lage ist, Daten zu verarbeiten. In der Beispielimplementierung von 6 umfasst die Computerkomponente 600 einen Hardwareprozessor 602 und ein maschinenlesbares Speichermedium 604. In einigen Beispielen kann die Rechnerkomponente 600 eine Ausführungsform des Prozessors 20 des Managementknotens 12 von 1B oder eine Ausführungsform des Prozessors 50 des Randknotens 10 von 1C sein.
  • Bei dem Hardware-Prozessor 602 kann es sich um eine oder mehrere Zentraleinheiten (CPUs), halbleiterbasierte Mikroprozessoren und/oder andere Hardware-Geräte handeln, die zum Abrufen und Ausführen von Anweisungen geeignet sind, die auf dem maschinenlesbaren Speichermedium 604 gespeichert sind. Der Hardware-Prozessor 602 kann Befehle, wie die Befehle 606-616, abrufen, dekodieren und ausführen, um Prozesse oder Operationen zur Durchführung von Anomalien und Drifterkennungsfunktionen eines Knotens zu steuern. Alternativ oder zusätzlich zum Abrufen und Ausführen von Befehlen kann der Hardware-Prozessor 602 einen oder mehrere elektronische Schaltkreise enthalten, die elektronische Komponenten zur Ausführung der Funktionalität eines oder mehrerer Befehle umfassen, wie z. B. ein Field Programmable Gate Array (FPGA), einen anwendungsspezifischen integrierten Schaltkreis (ASIC) oder andere elektronische Schaltkreise.
  • Ein maschinenlesbares Speichermedium, wie das maschinenlesbare Speichermedium 604, kann ein beliebiges elektronisches, magnetisches, optisches oder anderes physikalisches Speichergerät sein, das ausführbare Anweisungen enthält oder speichert. Bei dem maschinenlesbaren Speichermedium 604 kann es sich beispielsweise um einen Arbeitsspeicher (RAM), einen nichtflüchtigen Arbeitsspeicher (NVRAM), einen elektrisch löschbaren, programmierbaren Festspeicher (EEPROM), ein Speichergerät, eine optische Platte oder Ähnliches handeln. In einigen Beispielen kann das maschinenlesbare Speichermedium 604 ein nicht-transitorisches Speichermedium sein, wobei der Begriff „nicht-transitorisch“ nicht die transitorischen Übertragungssignale umfasst. Wie nachstehend im Einzelnen beschrieben, kann das maschinenlesbare Speichermedium 304 mit ausführbaren Befehlen kodiert sein, z. B. mit den Befehlen 606-616.
  • Der Hardware-Prozessor 602 kann die Anweisung 606 ausführen, um an einem ersten Knoten eines föderierten Lernnetzwerks einen lokalen unüberwachten Auto-Encoder zu trainieren und eine lokale Trainingsdaten-Referenzbasis für den ersten Knoten zu erhalten. Der Hardware-Prozessor 602 kann die Anweisung 608 ausführen, um am ersten Knoten (1) den lokalen unüberwachten Autoencoder zusammen mit der lokalen Trainingsdaten-Referenzbasislinie und (2) einen globalen unüberwachten Autoencoder, der über eine Vielzahl von Knoten trainiert wurde, zusammen mit einer entsprechenden globalen Trainingsdaten-Referenzbasislinie einzusetzen.
  • Der Hardware-Prozessor 602 kann die Anweisung 610 ausführen, um Produktionsdaten am ersten Knoten mit einem lokalen maschinellen Lernmodell und einem globalen maschinellen Lernmodell zu verarbeiten und mindestens eines von (1) lokalen und globalen Anomaliedaten in Bezug auf anomale Produktionsdaten oder (2) lokalen und globalen Driftdaten in Bezug auf driftende Produktionsdaten auf der Grundlage der lokalen Trainingsdaten-Referenzbasislinie bzw. der globalen Trainingsdaten-Referenzbasislinie abzuleiten. Der Hardware-Prozessor 602 kann die Anweisung 612 ausführen, um mindestens eines von (1) den lokalen Anomaliedaten mit den globalen Anomaliedaten oder (2) den lokalen Driftdaten mit den globalen Driftdaten zu vergleichen. Der Hardware-Prozessor 602 kann die Anweisung 614 ausführen, um die Auswirkungen der anomalen Produktionsdaten und/oder der driftenden Produktionsdaten auf die lokalen und globalen maschinellen Lernmodelle zu bewerten und eine fehlerhafte Vorhersage als Beispiel für die Vorhersagen des ML-Modells des Benutzers zu präsentieren. Der Hardware-Prozessor 602 kann die Anweisung 616 ausführen, um auf der Grundlage der Auswirkungen auf die Vorhersagen des ML-Benutzermodells, einer fehlerhaften Vorhersage als Beispiel, ein Neutraining von mindestens einem der lokalen und globalen maschinellen Lernmodelle auszulösen.
  • Die offengelegte Technologie ermöglicht es, mit Hilfe von VAEs lokale und globale Referenz-Basislinien zu erhalten, um die Auswirkungen von Anomalien und driftenden Daten auf ein lokal trainiertes ML-Benutzermodell und ein globales ML-Modell beim Einsatz in der Produktion zu bewerten. Auf diese Weise können die Auswirkungen von Driftdaten auf beide ML-Modelle unterschieden werden, so dass ein Benutzer eine fundierte Entscheidung treffen kann, um mindestens eines der ML-Modelle unter Verwendung der Driftdaten neu zu trainieren, oder auf der Grundlage der Auswirkungen auf die Vorhersagen des ML-Benutzermodells, z. B. einer fehlerhaften Vorhersage.
  • Die offengelegte Technologie verwendet eine unüberwachte Lerntechnik über lokale und globale VAEs, wobei ein latenter Raum abgeleitet wird, der sowohl für die lokalen als auch für die globalen VAEs spezifisch ist und die lokalen und verteilten Daten repräsentiert, wodurch eine effektive und robuste Bestimmung von Anomalien und Drift für ML-Modelle von Benutzern ermöglicht wird. Die offengelegte Technologie verwendet eine statistische, auf einem Ensemble basierende Bewertungslogik für die Driftanalyse, die dazu beiträgt, falsche Driftauslöser abzuschwächen und dadurch die Robustheit der Driftanalyse zu verbessern.
  • Aufgrund der Merkmale der offengelegten Technologie kann ein globales Modell erstellt werden, unabhängig davon, wo die Datenabweichung bei den teilnehmenden Knoten auftritt. Die teilnehmenden Knoten müssen keinen Zugang zu den Daten der einzelnen Knoten haben, um Anomalien oder Datendrift anhand des globalen Modells zu bewerten, wodurch die Privatsphäre gewahrt bleibt. Die Leistung des ML-Modells kann durch kontinuierliches Neutraining des globalen Modells in dynamischen Produktionsdatenszenarien unter Wahrung des Datenschutzes aufrechterhalten werden. Die Robustheit bei der Erkennung von Drift kann durch die Ensemble-Methode der Driftanalyse gewährleistet werden.
  • Die vorgestellte Technologie kann erweitert werden, um automatisch dezentralisiertes/verteiltes föderiertes oder Schwarmlernen durch benutzerdefinierte Regeln oder intelligente Verträge auszulösen.
  • Eine Plugin-basierte Lösung kann bereitgestellt werden, um nahtlose Erweiterungen der Architektur des Autoencoders oder von Varianten zu ermöglichen.
  • 7 zeigt ein Blockdiagramm eines Beispiel-Computersystems 700, in dem verschiedene der hier beschriebenen Beispiele implementiert werden können, einschließlich, aber nicht beschränkt auf den Randknoten 10, den Verwaltungsknoten 12, das Trainingsmodul 80 zur Erkennung von Anomalien und Drift, das Produktionsmodul 82 zur Erkennung von Anomalien und Drift, die lokale VAE 120, die globale VAE 122 und die Rechnerkomponente 600. Das Computersystem 700 umfasst einen Bus 702 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen sowie einen oder mehrere Hardware-Prozessoren 704, die mit dem Bus 702 verbunden sind, um Informationen zu verarbeiten. Bei dem/den Hardware-Prozessor(en) 704 kann es sich zum Beispiel um einen oder mehrere Allzweck-Mikroprozessoren handeln.
  • Das Computersystem 700 umfasst auch einen Hauptspeicher 706, z. B. einen Speicher mit wahlfreiem Zugriff (RAM), einen Cache und/oder andere dynamische Speichergeräte, die mit dem Bus 702 verbunden sind, um Informationen und Anweisungen zu speichern, die vom Prozessor 704 ausgeführt werden sollen. Der Hauptspeicher 706 kann auch zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen verwendet werden, die vom Prozessor 704 ausgeführt werden sollen. Wenn solche Befehle in Speichermedien gespeichert werden, auf die der Prozessor 704 zugreifen kann, wird das Computersystem 700 zu einer Spezialmaschine, die so angepasst ist, dass sie die in den Befehlen angegebenen Operationen ausführen kann.
  • Das Computersystem 700 umfasst außerdem einen Festwertspeicher (ROM) 708 oder ein anderes statisches Speichergerät, das mit dem Bus 702 verbunden ist, um statische Informationen und Anweisungen für den Prozessor 704 zu speichern. Ein Speichergerät 710, z. B. eine Magnetplatte, eine optische Platte oder ein USB-Stick (Flash-Laufwerk), ist vorgesehen und mit dem Bus 702 verbunden, um Informationen und Anweisungen zu speichern.
  • Das Computersystem 700 kann über den Bus 702 mit einer Anzeige 712, z. B. einer Flüssigkristallanzeige (LCD) (oder einem Berührungsbildschirm), verbunden sein, um einem Computerbenutzer Informationen anzuzeigen. Ein Eingabegerät 714, einschließlich alphanumerischer und anderer Tasten, ist mit dem Bus 702 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 704 zu übermitteln. Eine andere Art von Benutzereingabegerät ist die Cursorsteuerung 716, wie z. B. eine Maus, ein Trackball oder Cursor-Richtungstasten zur Übermittlung von Richtungsinformationen und Befehlsauswahlen an den Prozessor 704 und zur Steuerung der Cursorbewegung auf dem Display 712. In einigen Beispielen können die gleichen Richtungsinformationen und Befehlsauswahlen wie bei der Cursorsteuerung über den Empfang von Berührungen auf einem Touchscreen ohne Cursor implementiert werden.
  • Das Computersystem 700 kann ein Benutzerschnittstellenmodul zur Implementierung einer grafischen Benutzeroberfläche enthalten, das in einem Massenspeichergerät als ausführbare Softwarecodes gespeichert werden kann, die von dem/den Computergerät(en) ausgeführt werden. Dieses und andere Module können beispielsweise Komponenten wie Softwarekomponenten, objektorientierte Softwarekomponenten, Klassenkomponenten und Aufgabenkomponenten, Prozesse, Funktionen, Attribute, Prozeduren, Unterprogramme, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltkreise, Daten, Datenbanken, Datenstrukturen, Tabellen, Arrays und Variablen umfassen.
  • Im Allgemeinen kann sich das Wort „Komponente“, „Engine“, „System“, „Datenbank“, „Datenspeicher“ und dergleichen, wie es hier verwendet wird, auf eine in Hardware oder Firmware verkörperte Logik oder auf eine Sammlung von Softwareanweisungen beziehen, die möglicherweise Ein- und Ausstiegspunkte haben und in einer Programmiersprache wie z. B. Java, C oder C++ geschrieben sind. Eine Softwarekomponente kann kompiliert und zu einem ausführbaren Programm verknüpft werden, in einer dynamischen Link-Bibliothek installiert werden oder in einer interpretierten Programmiersprache wie BASIC, Perl oder Python geschrieben sein. Es ist klar, dass Softwarekomponenten von anderen Komponenten oder von sich selbst aus aufgerufen werden können und/oder als Reaktion auf erkannte Ereignisse oder Unterbrechungen aufgerufen werden können. Softwarekomponenten, die für die Ausführung auf Computergeräten konfiguriert sind, können auf einem computerlesbaren Medium, wie z. B. einer Compact Disc, einer digitalen Videodisc, einem Flash-Laufwerk, einer Magnetplatte oder einem anderen greifbaren Medium, oder als digitaler Download bereitgestellt werden (und können ursprünglich in einem komprimierten oder installierbaren Format gespeichert sein, das vor der Ausführung eine Installation, Dekomprimierung oder Entschlüsselung erfordert). Ein solcher Softwarecode kann teilweise oder vollständig in einem Speicher des ausführenden Computergeräts gespeichert werden, damit er von dem Computergerät ausgeführt werden kann. Softwareanweisungen können in Firmware, wie z. B. einem EPROM, eingebettet sein. Darüber hinaus können die Hardwarekomponenten aus verbundenen Logikeinheiten wie Gattern und Flipflops und/oder aus programmierbaren Einheiten wie programmierbaren Gatteranordnungen oder Prozessoren bestehen.
  • Das Computersystem 700 kann die hier beschriebenen Techniken unter Verwendung von kundenspezifischer festverdrahteter Logik, einem oder mehreren ASICs oder FPGAs, Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem das Computersystem 700 zu einer Spezialmaschine macht oder programmiert. Gemäß einem Beispiel werden die hierin beschriebenen Techniken vom Computersystem 700 als Reaktion auf den/die Prozessor(en) 704 ausgeführt, der/die eine oder mehrere Sequenzen von einem oder mehreren im Hauptspeicher 706 enthaltenen Befehlen ausführt/ausführen. Solche Anweisungen können in den Hauptspeicher 706 von einem anderen Speichermedium, wie z. B. dem Speichergerät 710, eingelesen werden. Die Ausführung der im Hauptspeicher 706 enthaltenen Befehlssequenzen veranlasst den/die Prozessor(en) 704, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Beispielen können fest verdrahtete Schaltungen anstelle von oder in Kombination mit Softwareanweisungen verwendet werden.
  • Der Begriff „nichtflüchtige Medien“ und ähnliche Begriffe, wie sie hier verwendet werden, beziehen sich auf alle Medien, die Daten und/oder Befehle speichern, die eine Maschine in einer bestimmten Weise arbeiten lassen. Solche nichtflüchtigen Medien können nichtflüchtige Medien und/oder flüchtige Medien umfassen. Zu den nichtflüchtigen Medien gehören beispielsweise optische oder magnetische Festplatten, wie die Speichervorrichtung 710. Zu den flüchtigen Medien gehören dynamische Speicher, wie der Hauptspeicher 706. Zu den gängigen Formen nichtflüchtiger Medien gehören beispielsweise Disketten, flexible Platten, Festplatten, Solid-State-Laufwerke, Magnetbänder oder andere magnetische Datenspeichermedien, CD-ROMs, andere optische Datenspeichermedien, physische Medien mit Lochmustern, RAM, PROM und EPROM, FLASH-EPROM, NVRAM, andere Speicherchips oder -kassetten sowie deren vernetzte Versionen.
  • Nicht-transitorische Medien unterscheiden sich von Übertragungsmedien, können aber in Verbindung mit ihnen verwendet werden. Übertragungsmedien sind an der Übertragung von Informationen zwischen nichttransitorischen Medien beteiligt. Zu den Übertragungsmedien gehören z. B. Koaxialkabel, Kupfer- und Glasfaserkabel, einschließlich der Drähte, aus denen der Bus 702 besteht. Übertragungsmedien können auch in Form von Schall- oder Lichtwellen auftreten, wie sie bei der Datenkommunikation über Funk und Infrarot erzeugt werden.
  • Das Computersystem 700 umfasst auch eine Kommunikationsschnittstelle 718, die mit dem Bus 702 verbunden ist. Die Kommunikationsschnittstelle 718 stellt eine bidirektionale Datenkommunikationsverbindung zu einem oder mehreren Netzwerkverbindungen her, die mit einem oder mehreren lokalen Netzwerken verbunden sind. Bei der Kommunikationsschnittstelle 718 kann es sich beispielsweise um eine ISDN-Karte (Integrated Services Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem handeln, um eine Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung herzustellen. Als weiteres Beispiel kann die Kommunikationsschnittstelle 718 eine LAN-Karte sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN (oder einer WAN-Komponente zur Kommunikation mit einem WAN) herzustellen. Es können auch drahtlose Verbindungen implementiert werden. In jeder dieser Implementierungen sendet und empfängt die Kommunikationsschnittstelle 718 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen, die verschiedene Arten von Informationen darstellen.
  • Eine Netzverbindung ermöglicht in der Regel die Datenkommunikation über ein oder mehrere Netze zu anderen Datengeräten. Eine Netzverbindung kann beispielsweise eine Verbindung über ein lokales Netz zu einem Host-Computer oder zu Datengeräten herstellen, die von einem Internetdienstanbieter (ISP) betrieben werden. Der ISP wiederum bietet Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetz an, das heute gemeinhin als „Internet“ bezeichnet wird. Sowohl das lokale Netz als auch das Internet verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die Signale über die verschiedenen Netze und die Signale auf der Netzverbindung und über die Kommunikationsschnittstelle 718, die die digitalen Daten zum und vom Computersystem 700 übertragen, sind Beispiele für Übertragungsmedien.
  • Das Computersystem 700 kann über das/die Netzwerk(e), die Netzwerkverbindung und die Kommunikationsschnittstelle 718 Nachrichten senden und Daten, einschließlich Programmcode, empfangen. In dem Internet-Beispiel könnte ein Server einen angeforderten Code für ein Anwendungsprogramm über das Internet, den ISP, das lokale Netzwerk und die Kommunikationsschnittstelle 718 übertragen.
  • Der empfangene Code kann vom Prozessor 704 bei seinem Empfang ausgeführt und/oder in der Speichereinrichtung 710 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert werden.
  • Jeder der in den vorstehenden Abschnitten beschriebenen Prozesse, Methoden und Algorithmen kann in Code-Komponenten verkörpert und vollständig oder teilweise durch diese automatisiert werden, die von einem oder mehreren Computersystemen oder Computerprozessoren mit Computerhardware ausgeführt werden. Das eine oder die mehreren Computersysteme oder Computerprozessoren können auch so betrieben werden, dass sie die Ausführung der entsprechenden Vorgänge in einer „Cloud Computing“-Umgebung oder als „Software as a Service“ (SaaS) unterstützen. Die Prozesse und Algorithmen können teilweise oder vollständig in anwendungsspezifischen Schaltkreisen implementiert sein. Die verschiedenen oben beschriebenen Merkmale und Verfahren können unabhängig voneinander verwendet oder auf verschiedene Weise kombiniert werden. Verschiedene Kombinationen und Unterkombinationen sollen in den Anwendungsbereich dieser Offenbarung fallen, und bestimmte Verfahrens- oder Prozessblöcke können in einigen Implementierungen weggelassen werden. Die hier beschriebenen Methoden und Prozesse sind auch nicht auf eine bestimmte Reihenfolge beschränkt, und die damit verbundenen Blöcke oder Zustände können in anderen geeigneten Reihenfolgen, parallel oder auf andere Weise ausgeführt werden. Blöcke oder Zustände können zu den offengelegten Beispielen hinzugefügt oder daraus entfernt werden. Die Ausführung bestimmter Operationen oder Prozesse kann auf Computersysteme oder Computerprozessoren verteilt werden, die sich nicht nur in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen verteilt sind.
  • Wie hierin verwendet, kann eine Schaltung in jeder Form von Hardware, Software oder einer Kombination davon implementiert werden. Beispielsweise können ein oder mehrere Prozessoren, Controller, ASICs, PLAs, PALs, CPLDs, FPGAs, logische Komponenten, Software-Routinen oder andere Mechanismen implementiert werden, um eine Schaltung zu bilden. Bei der Implementierung können die verschiedenen hier beschriebenen Schaltungen als diskrete Schaltungen implementiert werden, oder die beschriebenen Funktionen und Merkmale können teilweise oder insgesamt auf eine oder mehrere Schaltungen aufgeteilt werden. Auch wenn verschiedene Merkmale oder Funktionselemente einzeln als getrennte Schaltungen beschrieben oder beansprucht werden, können diese Merkmale und Funktionen von einer oder mehreren gemeinsamen Schaltungen gemeinsam genutzt werden, und eine solche Beschreibung soll nicht voraussetzen oder implizieren, dass getrennte Schaltungen erforderlich sind, um diese Merkmale oder Funktionen zu implementieren. Wenn eine Schaltung ganz oder teilweise mit Software implementiert ist, kann diese Software so implementiert werden, dass sie mit einem Computer- oder Verarbeitungssystem arbeitet, das in der Lage ist, die in Bezug auf sie beschriebene Funktionalität auszuführen, wie z. B. das Computersystem 700.
  • Wie hierin verwendet, kann der Begriff „oder“ sowohl im einschließenden als auch im ausschließenden Sinne verstanden werden. Darüber hinaus ist die Beschreibung von Ressourcen, Vorgängen oder Strukturen im Singular nicht so zu verstehen, dass der Plural ausgeschlossen wird. Bedingte Ausdrücke wie z. B. „kann“, „könnte“, „könnte“ oder „darf“ sollen im Allgemeinen vermitteln, dass bestimmte Beispiele bestimmte Merkmale, Elemente und/oder Schritte einschließen, während andere Beispiele diese nicht einschließen, es sei denn, es ist ausdrücklich etwas anderes angegeben oder im jeweiligen Kontext anders zu verstehen.
  • Die in diesem Dokument verwendeten Begriffe und Ausdrücke sowie deren Abwandlungen sind, sofern nicht ausdrücklich etwas anderes angegeben ist, nicht als einschränkend, sondern als offen zu verstehen. Adjektive wie „konventionell“, „traditionell“, „normal“, „Standard“, „bekannt“ und Begriffe mit ähnlicher Bedeutung sind nicht so zu verstehen, dass sie den beschriebenen Gegenstand auf einen bestimmten Zeitraum oder auf einen zu einem bestimmten Zeitpunkt verfügbaren Gegenstand beschränken, sondern sollten so verstanden werden, dass sie konventionelle, traditionelle, normale oder Standardtechnologien umfassen, die jetzt oder zu einem beliebigen Zeitpunkt in der Zukunft verfügbar oder bekannt sein können. Das Vorhandensein erweiternder Wörter und Ausdrücke wie „eine oder mehrere“, „mindestens“, „aber nicht beschränkt auf” oder ähnliche Ausdrücke in einigen Fällen ist nicht so zu verstehen, dass der engere Fall beabsichtigt oder erforderlich ist, wenn solche erweiternden Ausdrücke nicht vorhanden sind.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17/205632 [0001]
    • US 2021/0398017 [0001]

Claims (20)

  1. Eine Computerkomponente an einem ersten Knoten, die Folgendes umfasst: mindestens einen Prozessor; und einen Speicher, der operativ mit dem mindestens einen Prozessor verbunden ist, wobei der Speicher Befehle enthält, die, wenn sie ausgeführt werden, den mindestens einen Prozessor veranlassen: eine lokale Trainingsdaten-Referenzbasis für den ersten Knoten eines dezentralisierten Lernnetzwerks erhalten, indem am ersten Knoten ein lokaler Autoencoder trainiert wird; am ersten Knoten (1) den lokalen Autoencoder zusammen mit der lokalen Trainingsdaten-Referenzbasislinie und (2) einen über eine Vielzahl von Knoten trainierten globalen Autoencoder zusammen mit einer entsprechenden globalen Trainingsdaten-Referenzbasislinie einzusetzen; Produktionsdaten am ersten Knoten mit einem lokalen maschinellen Lernmodell und einem globalen maschinellen Lernmodell verarbeiten und lokale und globale Anomaliedaten bezüglich anomaler Produktionsdaten auf der Grundlage der lokalen Trainingsdaten-Referenzbasislinie bzw. der globalen Trainingsdaten-Referenzbasislinie ableiten, indem: Extraktion von Rekonstruktionsverlusten und latenten Räumen aus den Produktionsdaten, Erstellung von Clustern aus den extrahierten Rekonstruktionsverlusten und latenten Räumen, Erkennen und Extrahieren von Anomalien aus den erzeugten Clustern, und Erkennung von Datenentwürfen in den erzeugten Clustern unter Verwendung der jeweiligen lokalen oder globalen Trainings-Referenzdaten-Basislinien ; die lokalen Anomaliedaten mit den globalen Anomaliedaten vergleichen; Bewertung und Darstellung der Auswirkungen der anomalen Produktionsdaten auf die lokalen und globalen maschinellen Lernmodelle auf die Vorhersagen der ML-Modelle der Benutzer; und ein Neutraining von mindestens einem der lokalen und globalen maschinellen Lernmodelle auf der Grundlage der Auswirkungen auf die ML-Modellvorhersagen des Benutzers auslösen.
  2. Die Computerkomponente nach Anspruch 1, wobei die Cluster durch Mean Shift Clustering auf den extrahierten Rekonstruktionsverlusten und latenten Räumen erzeugt werden.
  3. Die Computerkomponente nach Anspruch 1, wobei der Speicher Befehle enthält, die, wenn sie ausgeführt werden, den mindestens einen Prozessor dazu veranlassen, Anomalien zu erkennen und zu extrahieren, indem ein Cluster mit hoher Dichte identifiziert wird und Datenpunkte erkannt und extrahiert werden, die am weitesten von dem Cluster mit hoher Dichte entfernt sind und über einem Maximalwert der jeweiligen lokalen oder globalen Trainingsreferenzdaten-Grundlinien liegen.
  4. Die Computerkomponente nach Anspruch 1, wobei der Speicher Befehle enthält, die, wenn sie ausgeführt werden, ferner den mindestens einen Prozessor veranlassen, die Datendrift unter Verwendung von Kreuzkorrelationswerten der erzeugten Cluster zu erkennen, um eine Änderungsrate der Datendrift zu bestimmen.
  5. Die Computerkomponente nach Anspruch 1, wobei der Speicher Befehle enthält, die, wenn sie ausgeführt werden, ferner den mindestens einen Prozessor veranlassen, die Datendrift zu erkennen, indem Dichteänderungen der erzeugten Cluster über einen Zeitraum für jeden Datenstapel über Cluster pro Datenstapel hinweg unter Bezugnahme auf die lokalen oder globalen Trainingsreferenzdaten-Basislinien bewertet werden.
  6. Die Computerkomponente nach Anspruch 1, wobei der Speicher Befehle enthält, die, wenn sie ausgeführt werden, ferner den mindestens einen Prozessor veranlassen, die lokalen Anomaliedaten mit den globalen Anomaliedaten unter Verwendung eines Dichteverteilungsvergleichs zu vergleichen.
  7. Ein computer-implementiertes Verfahren, das Folgendes umfasst: Trainieren eines lokalen Autoencoders an einem ersten Knoten eines dezentralen Lernnetzwerks und Erhalten einer lokalen Trainingsdaten-Referenzbasislinie für den ersten Knoten; Trainieren eines globalen Autoencoders über eine Vielzahl von teilnehmenden Knoten und Erhalten einer entsprechenden globalen Trainingsdaten-Referenzbasislinie; Bereitstellen am ersten Knoten (1) des lokalen Autoencoders zusammen mit der lokalen Trainingsdaten-Referenzbasislinie und (2) des globalen Autoencoders, der über eine Vielzahl von Knoten trainiert wurde, zusammen mit der entsprechenden globalen Trainingsdaten-Referenzbasislinie; Verarbeiten von Produktionsdaten am ersten Knoten mit einem lokalen maschinellen Lernmodell und einem globalen maschinellen Lernmodell, die von einem Benutzer eingesetzt werden, und Ableiten lokaler und globaler Anomaliedaten in Bezug auf anomale Produktionsdaten auf der Grundlage der lokalen Trainingsdaten-Referenzbasislinie bzw. der globalen Trainingsdaten-Referenzbasislinie, indem: Extraktion von Rekonstruktionsverlusten und latenten Räumen aus den Produktionsdaten, Erstellung von Clustern aus den extrahierten Rekonstruktionsverlusten und latenten Räumen, Erkennen und Extrahieren von Anomalien aus den erzeugten Clustern, und Erkennung von Datenentwürfen in den erzeugten Clustern unter Verwendung der jeweiligen lokalen oder globalen Trainingsreferenzdaten-Basislinien; Vergleich der lokalen Anomaliedaten mit den globalen Anomaliedaten; Bewertung und Darstellung der Auswirkungen der anomalen Produktionsdaten auf die lokalen und globalen Modelle für maschinelles Lernen auf die Vorhersagen des ML-Modells des Benutzers; und Auslösung (1) des Verwerfens der anomalen Produktionsdaten oder (2) des Neutrainings von mindestens einem der lokalen und globalen maschinellen Lernmodelle auf der Grundlage der Auswirkungen auf die Vorhersagen des ML-Modells des Benutzers.
  8. Das Verfahren nach Anspruch 7, wobei die Cluster durch Mean Shift Clustering auf den extrahierten Rekonstruktionsverlusten und latenten Räumen erzeugt werden.
  9. Das Verfahren nach Anspruch 7 umfasst ferner das Erkennen und Extrahieren von Anomalien durch Identifizierung eines Clusters mit hoher Dichte und das Erkennen und Extrahieren von Datenpunkten, die am weitesten von dem Cluster mit hoher Dichte entfernt sind und über dem Maximalwert der jeweiligen lokalen oder globalen Trainingsreferenzdaten-Basislinien liegen.
  10. Das Verfahren nach Anspruch 7 umfasst ferner das Erkennen der Datendrift unter Verwendung von Kreuzkorrelationswerten der erzeugten Cluster, um eine Änderungsrate der Datendrift zu bestimmen.
  11. Das Verfahren nach Anspruch 7 umfasst ferner das Erkennen der Datendrift durch Bewerten von Dichteänderungen der erzeugten Cluster über einen Zeitraum für jeden Datenstapel über Cluster pro Datenstapel hinweg unter Bezugnahme auf die lokalen oder globalen Trainingsreferenzdaten-Basislinien.
  12. Das Verfahren nach Anspruch 7, bei dem der Vergleich der lokalen Anomaliedaten mit den globalen Anomaliedaten unter Verwendung eines Dichteverteilungsvergleichs durchgeführt wird.
  13. Das Verfahren nach Anspruch 7 umfasst ferner: Verarbeiten der Produktionsdaten am ersten Knoten mit dem lokalen maschinellen Lernmodell und dem globalen maschinellen Lernmodell, die von einem Benutzer eingesetzt werden, und Ableiten lokaler und globaler Driftdaten bezüglich driftender Produktionsdaten auf der Grundlage der lokalen Trainingsdaten-Referenzbasislinie bzw. der globalen Trainingsdaten-Referenzbasislinie; Vergleich der lokalen Driftdaten mit den globalen Driftdaten; Bewertung und Darstellung der Auswirkungen der driftenden Produktionsdaten auf die lokalen und globalen Modelle für maschinelles Lernen auf die Vorhersagen des ML-Modells des Benutzers; und Auslösung (1) des Verwerfens der driftenden Produktionsdaten oder (2) des Neutrainings mindestens eines der lokalen und globalen maschinellen Lernmodelle auf der Grundlage der Auswirkungen auf die ML-Modellvorhersagen des Benutzers.
  14. Ein Knoten, der in einem dezentralisierten Lernnetzwerk arbeitet und Folgendes umfasst: mindestens einen Prozessor; und einen Speicher, der operativ mit dem mindestens einen Prozessor verbunden ist, wobei der Speicher Befehle enthält, die, wenn sie ausgeführt werden, den mindestens einen Prozessor veranlassen,: eine lokale Trainingsdaten-Referenzbasislinie für den Knoten zu erhalten, indem am Knoten ein lokaler Variations-Autoencoder trainiert wird; an dem Knoten (1) den lokalen Variations-Autoencoder zusammen mit der lokalen Trainingsdaten-Referenzbasislinie und (2) einen globalen Variations-Autoencoder, der über eine Vielzahl von Knoten in dem dezentralisierten Lernnetzwerk trainiert wurde, zusammen mit einer entsprechenden globalen Trainingsdaten-Referenzbasislinie einzusetzen; Verarbeiten von Produktionsdaten am Knoten mit einem lokalen maschinellen Lernmodell und einem globalen maschinellen Lernmodell und Ableiten von lokalen und globalen Driftdaten bezüglich driftender Produktionsdaten auf der Grundlage der lokalen Trainingsdaten-Referenzbasislinie bzw. der globalen Trainingsdaten-Referenzbasislinie durch: Extraktion von Rekonstruktionsverlusten und latenten Räumen aus den Produktionsdaten, Erstellung von Clustern aus den extrahierten Rekonstruktionsverlusten und latenten Räumen, Erkennen und Extrahieren von Anomalien aus den erzeugten Clustern, und Erkennung von Datenentwürfen in den erzeugten Clustern unter Verwendung der jeweiligen lokalen oder globalen Trainingsreferenzdaten-Basislinien; die lokalen Driftdaten mit den globalen Driftdaten vergleichen; Bewertung und Darstellung der Auswirkungen der driftenden Produktionsdaten auf die lokalen und globalen maschinellen Lernmodelle auf die Vorhersagen der ML-Modelle der Nutzer; und eine Entscheidung in Bezug auf mindestens eines der lokalen und globalen maschinellen Lernmodelle auf der Grundlage der Auswirkungen auf die Vorhersagen des ML-Modells des Benutzers zu treffen.
  15. Der Knoten nach Anspruch 14, wobei die Entscheidung entweder (1) das Verwerfen der driftenden Produktionsdaten oder (2) das erneute Trainieren von mindestens einem der lokalen und globalen maschinellen Lernmodelle umfasst.
  16. Der Knoten nach Anspruch 14, wobei die Cluster durch Mean Shift Clustering auf den extrahierten Rekonstruktionsverlusten und latenten Räumen erzeugt werden.
  17. Der Knoten nach Anspruch 14, wobei der Speicher Anweisungen enthält, die, wenn sie ausgeführt werden, den mindestens einen Prozessor dazu veranlassen, Anomalien zu erkennen und zu extrahieren, indem ein Cluster mit hoher Dichte identifiziert wird und Datenpunkte erkannt und extrahiert werden, die am weitesten von dem Cluster mit hoher Dichte entfernt sind und über einem Maximalwert der jeweiligen lokalen oder globalen Trainingsreferenzdaten-Grundlinien liegen.
  18. Der Knoten nach Anspruch 14, wobei der Speicher Anweisungen enthält, die, wenn sie ausgeführt werden, ferner den mindestens einen Prozessor veranlassen, die Datendrift unter Verwendung von Kreuzkorrelationswerten der erzeugten Cluster zu erkennen, um eine Änderungsrate der Datendrift zu bestimmen.
  19. Der Knoten nach Anspruch 14, wobei der Speicher Befehle enthält, die, wenn sie ausgeführt werden, den mindestens einen Prozessor dazu veranlassen, die Datendrift zu erkennen, indem Dichteänderungen der erzeugten Cluster über einen Zeitraum für jeden Datenstapel über Cluster pro Datenstapel mit Bezug auf die lokalen oder globalen Trainingsreferenzdaten-Basislinien bewertet werden.
  20. Der Knoten nach Anspruch 14, wobei der Speicher Anweisungen enthält, die, wenn sie ausgeführt werden, ferner den mindestens einen Prozessor veranlassen, die lokalen Driftdaten mit den globalen Driftdaten unter Verwendung eines Dichteverteilungsvergleichs zu vergleichen.
DE102023113679.8A 2022-11-15 2023-05-25 Erkennung von anomalien und drifts in dezentralen lernumgebungen Pending DE102023113679A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/987,518 US20240160939A1 (en) 2022-11-15 2022-11-15 Anomalies and drift detection in decentralized learning environments
US17/987,518 2022-11-15

Publications (1)

Publication Number Publication Date
DE102023113679A1 true DE102023113679A1 (de) 2024-05-16

Family

ID=91024244

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023113679.8A Pending DE102023113679A1 (de) 2022-11-15 2023-05-25 Erkennung von anomalien und drifts in dezentralen lernumgebungen

Country Status (3)

Country Link
US (1) US20240160939A1 (de)
CN (1) CN118052296A (de)
DE (1) DE102023113679A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210398017A1 (en) 2020-06-23 2021-12-23 Hewlett Packard Enterprise Development Lp Systems and methods for calculating validation loss for models in decentralized machine learning

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210398017A1 (en) 2020-06-23 2021-12-23 Hewlett Packard Enterprise Development Lp Systems and methods for calculating validation loss for models in decentralized machine learning

Also Published As

Publication number Publication date
US20240160939A1 (en) 2024-05-16
CN118052296A (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
DE112020005289B4 (de) Teilweise sortierte blockchain
DE112020005075B4 (de) Effiziente schwellenwertspeicherung von datenobjekten
DE112021000189T5 (de) Mikrodienst-Aufspaltungsstrategie von monolithischen Anwendungen
DE112021002259T5 (de) Network intrusion detection durch deep learning
DE112021006232T5 (de) Proaktive anomalieerkennung
DE112016001742T5 (de) Integrierte Gemeinschafts- und Rollenentdeckung in Unternehmensnetzwerken
DE102021109767A1 (de) Systeme und methoden zur vorausschauenden sicherheit
DE112020005429T5 (de) Zufallsknotenauswahl für zulassungsbeschränkte Blockchain
DE102021109950A1 (de) Systeme und verfahren zur berechnung von validierungsverlusten für modelle im dezentralen maschinenlernen
DE112021000608T5 (de) Schnellere ansichtsänderung für eine blockchain
DE112021004344T5 (de) Konsensdienst für Blockchain-Netzwerke
DE112021000688T5 (de) Indexstruktur für blockchain-ledger
DE112020000136T5 (de) Browserverlauf mit geringer Entropie für die Quasi-Personalisierung von Inhalten
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE112021001671T5 (de) Netzübergreifendes bereitstellen von identitäten
DE102022126665A9 (de) Ermöglichung der bedeutung von merkmalen mit hilfe von siamesischen autoencodern für eine effektive erkennung von bildveränderungen
DE112021003908T5 (de) Föderales maschinenlernen durch verwenden von ortsabhängigem hashing
DE112021003747T5 (de) Erkennen von anomalien in einer netzwerktopologie
DE112021000689T5 (de) Attestierung von neuronalen abläufen
DE102021125856A1 (de) Erkennen von feindlichen angriffen auf ein tiefes neuronales netz (deep neural network (dnn))
DE112021006165T5 (de) Schlüsselwiederherstellung in einem blockchain-netzwerk mit oprf
DE112021005678T5 (de) Normieren von OCT-Bilddaten
DE202016009111U1 (de) System zur Verwaltung der Datenqualität
DE102023113679A1 (de) Erkennung von anomalien und drifts in dezentralen lernumgebungen
DE112020004688T5 (de) Debuggen und erstellen von profilen von maschinenlernmodelltraining