DE102023207516A1 - Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle - Google Patents

Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle Download PDF

Info

Publication number
DE102023207516A1
DE102023207516A1 DE102023207516.4A DE102023207516A DE102023207516A1 DE 102023207516 A1 DE102023207516 A1 DE 102023207516A1 DE 102023207516 A DE102023207516 A DE 102023207516A DE 102023207516 A1 DE102023207516 A1 DE 102023207516A1
Authority
DE
Germany
Prior art keywords
labeled
unlabeled
machine learning
examples
unlabeled example
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
DE102023207516.4A
Other languages
English (en)
Inventor
Michael Kuka
Thomas Alber
Bijay Kumar Soren
Felix Schorn
Filipe Cabrita Condessa
Rizal Fathony
Andreas Henke
Florian Lang
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102023207516A1 publication Critical patent/DE102023207516A1/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/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

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

Abstract

Ein Verfahren umfasst als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: Empfangen eines gelabelten Datensatzes, der eine Mehrzahl gelabelter Beispiele enthält, Empfangen eines ungelabelten Datensatzes, der eine Mehrzahl ungelabelter Beispiele enthält, Identifizieren einer Mehrzahl gelabelter/ungelabelter Beispielpaare, Anwenden einer Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel, Berechnen für jedes mindestens eine gelabelte/ungelabelte Beispielpaar latenter Darstellungsräume unter Verwendung des Maschinenlernmodells, Erzeugen, unter Verwendung des Maschinenlernmodells, einer Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar, Berechnen einer Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen, Anwenden einer Optimierungsfunktion auf jede jeweilige Verlustfunktion und Aktualisieren eines Gewichtungswerts für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion.

Description

  • Gebiet der Technik
  • Die vorliegende Offenbarung bezieht sich auf Computersysteme, die Fähigkeiten für künstliche Intelligenz aufweisen, einschließlich neuronale Netzwerke. In Ausführungsformen bezieht sich diese Offenbarung auf die Verwendung von Experten-gesteuertem, halbüberwachtem maschinellem Lernen unter Verwendung von Trainingsdatensätzen mit Labelpropagierung.
  • Hintergrund
  • Bei der Entwicklung von Daten zum Trainieren von Maschinenlernmodellen sind die Erfassung und das Labeling der Daten ein arbeits- und zeitaufwändiges und kostspieliges Unterfangen, das in den meisten aktuellen Pipelines für maschinelles Lernen einen großen Engpass darstellen kann. In vielen realen Anwendungen ist die Anzahl der gelabelten Beispiele relativ begrenzt, während ungelabelte Beispiele eher nicht reichlich vorhanden sind und üblicherweise begrenzte Ressourcen zu ihrer Erfassung erfordern. Um solche ungelabelten Beispiele zu verwenden, werden üblicherweise Labels angebracht, was im Allgemeinen manuellen Aufwand erfordert, was tendenziell zu höheren Kosten und einem höheren Zeitaufwand bei der Vorbereitung gelabelter Trainingsdaten führt.
  • Zusammenfassung
  • Ein Aspekt der offenbarten Ausführungsformen umfasst ein Verfahren zum halbüberwachten Training eines Maschinenlernmodells. Das Verfahren umfasst als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: Empfangen eines gelabelten Datensatzes, der eine Mehrzahl gelabelter Beispiele enthält, Empfangen eines ungelabelten Datensatzes, der eine Mehrzahl ungelabelter Beispiele enthält, Identifizieren einer Mehrzahl gelabelter/ungelabelter Beispielpaare, wobei jedes gelabelte/ungelabelte Beispielpaar ein jeweiliges gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele enthält, Anwenden einer Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren, Berechnen für jedes mindestens eine gelabelte/ungelabelte Beispielpaar latenter Darstellungsräume unter Verwendung des Maschinenlernmodells, Erzeugen, unter Verwendung des Maschinenlernmodells, einer Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar, Berechnen einer Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen, Anwenden einer Optimierungsfunktion auf jede jeweilige Verlustfunktion und Aktualisieren eines Gewichtungswerts für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion.
  • Ein anderer Aspekt der offenbarten Ausführungsformen umfasst ein System zum halbüberwachten Training eines Maschinenlernmodells. Das System umfasst einen Prozessor und einen Speicher. Der Speicher umfasst Anweisungen, die bei Ausführung durch den Prozessor den Prozessor veranlassen, als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: einen gelabelten Datensatz zu empfangen, der eine Mehrzahl gelabelter Beispiele enthält, einen ungelabelten Datensatz zu empfangen, der eine Mehrzahl ungelabelter Beispiele enthält, eine Mehrzahl gelabelter/ungelabelter Beispielpaare zu identifizieren, wobei jedes gelabelte/ungelabelte Beispielpaar ein jeweiliges gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele enthält, eine Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren anzuwenden, für jedes mindestens eine gelabelte/ungelabelte Beispielpaar latente Darstellungsräume unter Verwendung des Maschinenlernmodells zu berechnen, unter Verwendung des Maschinenlernmodells eine Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar zu erzeugen, eine Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen zu berechnen, eine Optimierungsfunktion auf jede jeweilige Verlustfunktion anzuwenden und einen Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion zu aktualisieren.
  • Ein anderer Aspekt der offenbarten Ausführungsformen umfasst eine Vorrichtung zum halbüberwachten Training eines Maschinenlernmodells. Die Vorrichtung umfasst einen Prozessor und einen Speicher. Der Speicher umfasst Anweisungen, die bei Ausführung durch den Prozessor den Prozessor veranlassen, als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: einen gelabelten Datensatz zu empfangen, der eine Mehrzahl gelabelter Beispiele enthält, einen ungelabelten Datensatz zu empfangen, der eine Mehrzahl ungelabelter Beispiele enthält, eine Mehrzahl gelabelter/ungelabelter Beispielpaare zu identifizieren, wobei jedes gelabelte/ungelabelte Beispielpaar ein jeweiliges gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele enthält, eine Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren anzuwenden, für jedes mindestens eine gelabelte/ungelabelte Beispielpaar latente Darstellungsräume unter Verwendung eines Merkmalextrahierers des Maschinenlernmodells zu berechnen, unter Verwendung eines oder mehrerer Prädiktornetzwerke des Maschinenlernmodells eine Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar zu erzeugen, eine Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen zu berechnen, wobei die Verlustfunktion eine Kombination aus einem mittleren quadratischen Fehler jeder Labelvorhersage und einem Contrastive Loss umfasst, eine Optimierungsfunktion auf jede jeweilige Verlustfunktion anzuwenden und einen Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion zu aktualisieren.
  • Kurzbeschreibung der Zeichnungen
    • 1 veranschaulicht allgemein ein System zum Trainieren eines neuronalen Netzwerks gemäß den Prinzipien der vorliegenden Offenbarung.
    • 2 veranschaulicht allgemein ein computer-implementiertes Verfahren zum Trainieren und Nutzen eines neuronalen Netzwerks gemäß den Prinzipien der vorliegenden Offenbarung.
    • 3A und 3B veranschaulichen allgemein Trainings-Pipelines für maschinelles Lernen gemäß den Prinzipien der vorliegenden Offenbarung.
    • 4 ist ein Flussdiagramm, das allgemein ein Trainingsverfahren für halbüberwachtes maschinelles Lernen gemäß den Prinzipien der vorliegenden Offenbarung veranschaulicht.
    • 5 zeigt ein schematisches Diagramm einer Interaktion zwischen einer computergesteuerten Maschine und einem Steuersystem gemäß den Prinzipien der vorliegenden Offenbarung.
    • 6 zeigt ein schematisches Diagramm des Steuersystems von 5, das konfiguriert ist, um ein Fahrzeug zu steuern, bei dem es sich um ein teilweise autonomes Fahrzeug, ein vollständig autonomes Fahrzeug, einen teilweise autonomen Roboter oder einen vollständig autonomen Roboter gemäß den Prinzipien der vorliegenden Offenbarung handeln kann.
    • 7 zeigt ein schematisches Diagramm des Steuersystems von 5, das konfiguriert ist, um eine Fertigungsmaschine zu steuern, wie etwa ein Stanzwerkzeug, eine Fräse oder einen Tieflochbohrer eines Fertigungssystems, wie etwa als Teil einer Fertigungslinie.
    • 8 zeigt ein schematisches Diagramm des Steuersystems von 5, das konfiguriert ist, um ein Elektrowerkzeug zu steuern, wie etwa eine Bohrmaschine oder einen Leistungstreiber, der über einen zumindest teilweise autonomen Modus verfügt.
    • 9 zeigt ein schematisches Diagramm des Steuersystems von 5, das konfiguriert ist, um einen automatisierten persönlichen Assistenten zu steuern.
    • 10 zeigt ein schematisches Diagramm des Steuersystems von 5, das konfiguriert ist, um ein Überwachungssystem zu steuern, wie etwa ein Zutrittskontrollsystem oder eine Überwachungsanlage.
    • 11 zeigt ein schematisches Diagramm des Steuersystems von 5, das konfiguriert ist, um ein bildgebendes System zu steuern, wie etwa eine MRT-Vorrichtung, eine Röntgenabbildungsvorrichtung oder eine Ultraschallvorrichtung.
  • Ausführliche Beschreibung
  • Ausführungsformen der vorliegenden Offenbarung werden hierin beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht notwendigerweise maßstabsgetreu, und einige Merkmale können übertrieben oder verkleinert dargestellt sein, um Einzelheiten spezieller Bauteile zu zeigen. Daher sollen spezielle bauliche und funktionelle Einzelheiten, die hier offengelegt werden, nicht als einschränkend verstanden werden, sondern nur als repräsentative Grundlage dafür, es Fachleuten auf dem Gebiet zu ermöglichen, die Ausführungsformen auf verschiedene Arten und Weisen einzusetzen. Wie Fachleute auf dem Gebiet verstehen werden, können unter Bezugnahme auf eine beliebige der Figuren veranschaulichte und beschriebene verschiedene Merkmale mit in einer oder mehreren anderen Figuren dargestellten Merkmalen kombiniert werden, um Ausführungsformen zu erzeugen, die nicht explizit veranschaulicht und beschrieben werden. Die Kombinationen von veranschaulichten Merkmalen liefern repräsentative Ausführungsformen für typische Anwendungen. Verschiedene Kombinationen und Modifikationen der Merkmale, die mit den Lehren dieser Offenbarung übereinstimmen, können jedoch für bestimmte Anwendungen oder Implementierungen gewünscht sein.
  • Wie beschrieben sind bei der Entwicklung von Daten zum Trainieren von Maschinenlernmodellen die Erfassung und das Labeling der Daten ein arbeits- und zeitaufwändiges und kostspieliges Unterfangen, das in den meisten aktuellen Pipelines für maschinelles Lernen einen großen Engpass darstellen kann. In vielen realen Anwendungen ist die Anzahl der gelabelten Beispiele relativ begrenzt, während ungelabelte Beispiele eher nicht reichlich vorhanden sind und üblicherweise begrenzte Ressourcen zu ihrer Erfassung erfordern. Um solche ungelabelten Beispiele zu verwenden, werden üblicherweise Labels angebracht, was im Allgemeinen manuellen Aufwand erfordert, was tendenziell zu höheren Kosten und einem höheren Zeitaufwand bei der Vorbereitung gelabelter Trainingsdaten führt.
  • Typischerweise stellen Systeme, die für die Formulierung des Contrastive Loss für selbstüberwachtes Lernen konfiguriert sind, nicht die Labelinformationen bereit, die dem Lernenden zur Verfügung stehen. Für einen bestimmten Batch (z. B. ein Minibatch von Beispielen mit einer relativ kleinen Anzahl von Beispielen) von Beispielen mit einer Größe von n beginnt der kontrastive Lernansatz mit der Durchführung einer Datenaugmentierung für jedes Beispiel, wodurch sich 2n Beispiele ergeben (z. B. n Paare). Ein solcher Ansatz erstellt typischerweise latente Darstellungen jedes Beispiels und erzwingt eine ähnliche Darstellung der verbundenen Beispiele durch Einsatz von Contrastive Loss, der wie folgt definiert werden kann: l ( i , j ) = log exp ( sim ( z i , z j ) / τ ) k = 1 2 n I [ k i ] exp ( sim ( z i , z k ) / τ )
    Figure DE102023207516A1_0001
    L = 1 2 n k = 1 n [ l ( 2 k 1,2 k ) + l ( 2 k ,2 k 1 ) ]
    Figure DE102023207516A1_0002
    wo sim(zi,zj) eine Ähnlichkeitsmetrik zwischen zwei latenten Darstellungen ist und τ einen Temperaturparameter bezeichnet. Für jedes Beispiel wird ein entsprechendes verbundenes Beispiel als positives Beispiel betrachtet, während andere Beispiele in dem Batch die negativen Beispiele sind.
  • Ferner konzentrieren sich solche Ansätze typischerweise auf selbstüberwachtes Lernen ohne Verwendung von Labelinformationen oder auf halbüberwachtes Lernen, das auf Klassifizierungsaufgaben beschränkt ist (z. B. wo es relativ einfach sein kann, positive und negative Beispiele zu definieren).
  • Dementsprechend können Systeme und Verfahren, wie die hier beschriebenen, wünschenswert sein, die konfiguriert sind, um die ungelabelten Beispiele in einer halbüberwachten Lernumgebung zu verwenden, um die Leistung von Algorithmen für maschinelles Lernen zu verbessern. In einigen Ausführungsformen können die hier beschriebenen Systeme und Verfahren konfiguriert sein, um Trainingsdatensätze für maschinelles Lernen unter Verwendung von gelabelten Beispielen, ungelabelten Beispielen, Expertenwissen, das von mit dem Maschinenlernalgorithmus verbundenen Fachleuten bereitgestellt wird, oder einer Kombination davon bereitzustellen. Beispielsweise können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um für die Anwendung zur Bewertung der Klangwahrnehmung zumindest einige Kriterien von Eigenschaften zu empfangen, die dazu führen, dass zwei unterschiedliche Geräusche vom menschlichen Ohr ähnlich wahrgenommen werden (die z. B. von Experten für Geräuschanalyse bereitgestellt werden können).
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um eine Labelpropagierung auf fortlaufenden Labels in einer halbüberwachten Deep Learning-Anwendung bereitzustellen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um von Experten abgeleitete Regeln in die Pipeline für maschinelles Lernen einzufügen, insbesondere von Experten abgeleitete Ähnlichkeitsmetrik(en). Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um unter Verwendung des Maschinenlernmodells Regressionsaufgaben durchzuführen, bei denen die Labels fortlaufend bewertet werden. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um einen Darstellungsraum zu bestimmen, der unter Verwendung eines tiefen neuronalen Netzwerks erlernt wird, der als Abstands- oder Ähnlichkeitsmetrik zur Durchführung der Labelpropagierung verwendet wird (was z. B. für verschiedene Anwendungen nützlich sein kann, die auf einer Fähigkeit eines tiefen neuronalen Netzwerks zum Erlernen von Darstellungen komplexer Objekte aufbauen).
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um als Eingabe einen Satz gelabelter Trainingsdaten X zu empfangen, die aus den gelabelten Beispielen {(x1,y1 ),(x2,y2 ),...,(xn,yn )} bestehen, wobei xi das i-te Beispiel ist, yi das entsprechende Label ist und n die Anzahl der gelabelten Beispiele ist. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um als Eingabe einen Satz ungelabelter Daten U zu empfangen, die aus den ungelabelten Beispielen {x(n+1,x(n+2),..,x({n+u})} bestehen, wobei u die Anzahl der ungelabelten Beispiele ist. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um als Eingabe Expertendomänenwissen in Form eines Ähnlichkeitsgraphen G über sowohl gelabelte als auch ungelabelte Daten zu empfangen (wenn z. B. xi und xj im Graphen verbunden sind, bedeutet das, dass sie einander ähnlich sind). Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um unter Verwendung des Maschinenlernmodells Regressionsaufgaben durchzuführen, bei denen das Label y fortlaufend bewertet wird (z. B. y ∈ ℜ), was im Gegensatz zu Klassifizierungsaufgaben stehen kann, bei denen dem Label ein diskreter Wert zugewiesen wird. Es versteht sich, dass die hierin beschriebenen Systeme und Verfahren konfiguriert sein können, um zusätzlich zu den oder anstelle der Regressionsaufgaben auch Klassifizierungsaufgaben durchzuführen.
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um ein Merkmalextrahierer-Netzwerk fθ (x) (z. B. parametrisiert durch θ) zu verwenden, das ein Beispiel xi einem latenten Darstellungsraum zi zuordnet. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um ein Prädiktor (Unter-)Netzwerk gω(x) (z. B. parametrisiert durch ω) zu verwenden, das die latente Darstellung zi empfängt und ein vorhergesagtes Label ŷi ausgibt. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um einen Ähnlichkeitsex-traktor des K-Nearest Neighbor (KNN)-Graphen zu verwenden, der die gesamte latente Darstellung für die gelabelten und ungelabelten Daten empfängt und einen Ähnlichkeitsgraphen Gknn ausgibt, der auf den im latenten Raum gemessenen k nächsten Nachbarn basiert. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um eine Kosinus-Ähnlichkeitsmetrik zu verwenden, um die Ähnlichkeit zwischen zwei latenten Darstellungen zu messen, wobei jeder Knoten in Gknn eine k Verbindung zu den k ähnlichsten Beispielen enthält.
  • Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um einen Labelpropagator zu verwenden, der einen Ähnlichkeitsgraphen empfängt, der sowohl aus gelabelten als auch aus ungelabelten Daten besteht. Der Labelpropagator kann das Label von den gelabelten Daten an die ungelabelten Daten durch iterative Weitergabe bekannter Labels an entsprechende Nachbarn im Graphen weitergeben. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um eine Verlustfunktion ℓ(ŷ, y) zu verwenden, die als ein Ziel im Trainingsprozess dient. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um den quadratischen Fehler ℓ(ŷ, y) = (ŷ - y)2 als unsere Regressionsverlustfunktion zu verwenden.
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um eine vollständig überwachte Lernphase bereitzustellen, die zumindest das Training des Maschinenlernmodells (z. B. einschließlich der Merkmalextrahierer- und Prädiktornetzwerke) unter Verwendung gelabelter Daten (z. B. so, dass der Merkmalextrahierer für die Labelpropagierung verwendbar ist) für zehn Epochen (oder z. B. eine andere geeignete Anzahl von Epochen) umfasst, durch Minimierung von: min θ , ω i = 1 n l ( g ω ( f θ ( x i ) ) , y i ) = min θ , ω i = 1 n ( g ω ( f θ ( x i ) ) y i ) 2
    Figure DE102023207516A1_0003
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um eine halbüberwachte Lernphase bereitzustellen, die zumindest die Durchführung von halbüberwachtem Lernen unter Verwendung sowohl gelabelter als auch ungelabelter Daten durch iteratives Durchführen der hierin beschriebenen Schritte umfasst. Beispielsweise können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um die trainierten Netzwerke des Maschinenlernmodells zu verwenden, die latenten Darstellungsräume zi für alle Beispiele (z. B. sowohl gelabelte als auch ungelabelte Beispiele) zu berechnen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um den KNN-Graph-Ähnlichkeitsextraktor zu verwenden, um unter Verwendung der berechneten latenten Darstellung einen KNN-Ähnlichkeitsgraphen Gknn zu erstellen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um den KNN-Ähnlichkeitsgraphen Gknn mit dem vom Experten abgeleiteten Ähnlichkeitsgraphen G zu erweitern. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um den kombinierten Ähnlichkeitsgraphen Gcomb auszugeben (wo z. B. zwei Knoten in Gcomb verbunden sind, wenn die beiden Knoten in mindestens einem von dem Graphen Gknn oder G verbunden sind). Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um das Label mithilfe des Labelpropagators zu propagieren, indem sie Gcomb als Eingabe empfangen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um unter Verwendung des Labelpropagators ein propagiertes Label y ~ für jedes ungelabelte Beispiel mit einem Konfidenzniveau a auszugeben, das das Vertrauen des Propagators in das propagierte Label misst. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um die Merkmalextrahierer- und Prädiktornetzwerke unter Verwendung von sowohl gelabelten Daten als auch ungelabelten Daten mit dem propagierten Label für eine Epoche zu trainieren, indem sie Folgendes optimieren: min θ , ω i = 1 n ( g ω ( f θ ( x i ) ) y i ) 2 + i = n + 1 n + u α i ( g ω ( f θ ( x i ) ) y ˜ i ) 2 .
    Figure DE102023207516A1_0004
  • Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um eine Summierung über den quadratischen Fehler für die gelabelten Beispiele und eine Summierung des gewichteten quadratischen Fehlers für die ungelabelten Beispiele mit den propagierten Labeln zu bestimmen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um eine Prüfung gemäß Konvergenzkriterien vorzunehmen, wobei, wenn die Konvergenzkriterien erfüllt werden, die hierin beschriebenen Systeme und Verfahren konfiguriert sein können, um das Training zu beenden (z. B. um wiederum zum Start des halbüberwachten Lernens zurückzukehren).
  • In einigen Ausführungsformen können die hier beschriebenen Systeme und Verfahren konfiguriert sein, um eine Labelpropagierung wie beschrieben bereitzustellen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um die gelabelten Beispiele {(x1,y1 ),(x2,y2 ),...,(xn,yn)}, die ungelabelten Beispiele {x(n+1),x(n+2),...,x({n+u)}, einen Ähnlichkeitsgraphen Gcomb und/oder einen Konfidenzabzug η als Eingabe zu empfangen.
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um einen gewichteten Graphen Gweighted aus Gcomb zu erzeugen, wobei die Gewichtung einer Kante die Kosinusähnlichkeit der latenten Darstellung ihrer verbundenen Knoten ist. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um die propagierte Labelvariable ŷl, ∀i ∈ [1, n+u] und die Konfidenzvariable αi,∀i ∈ [1, n+u] vorzubereiten. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um ŷl = yi und αi = 1 für die gelabelten Beispiele festzulegen.
  • Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um ŷl = Null und αi = Null für die ungelabelten Beispiele festzulegen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um, bis die Konvergenzbedingung erfüllt ist, Folgendes zu wiederholen: Durchführen einer einstufigen Propagierung (z. B. für jedes Beispiel (jeden Knoten im Graphen): Normalisieren der Gewichtung ihrer Nicht-Nullwert-Nachbarn, Berechnen der neuen propagierten Beispiele als gewichteter Durchschnitt über das Label ihrer Nicht-Nullwert-Nachbarn und/oder Berechnen der neuen Konfidenz für das propagierte Label als Durchschnitt der Konfidenz ihrer Nicht-Nullwert-Nachbarn multipliziert mit dem Konfidenzabzug) und Fixieren der gelabelten Daten (z. B. das Festlegen von ŷi = yi und αi = 1 für jedes gelabelte Beispiel). In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um die propagierten Labels ŷ und eine entsprechende Konfidenz a für jedes ungelabelte Beispiel zurückzugeben.
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um halbüberwachtes Lernen für Regressionsaufgaben bereitzustellen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um halbüberwachtes Lernen für Regressionsaufgaben bereitzustellen, bei denen die Labels fortlaufend bewertet werden. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um von Experten abgeleitete Regeln in eine Formulierung des Contrastive Loss in Form eines Ähnlichkeitsgraphen einzufügen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um halbüberwachtes Lernen unter Verwendung sowohl gelabelter als auch ungelabelter Daten bereitzustellen.
  • Die hierin beschriebenen Systeme und Verfahren können für ein Trainingsverfahren konfiguriert sein, das in einer Minibatch-Trainingsumgebung durchgeführt wird. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um unter Verwendung verfügbarer Daten m Beispiele gelabelter Daten aus X Beispielen zu ziehen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um für jeden gelabelten Datenwert x ein ungelabeltes Beispiel x aus U auszuwählen, das in dem Ähnlichkeitsgraphen G mit x verbunden ist (was z. B. angibt, dass x ununterscheidbar ähnlich ist mit x). Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um als Reaktion darauf, dass x mehr als einen ungelabelten Nachbarn besitzt, ein Nachbar zufällig ausgewählt wird. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um als Reaktion darauf, dass x keinen entsprechenden ungelabelten Nachbarn besitzt, x = x zuweisen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um eine Datenaugmentierungstransformation sowohl auf x als auch auf x anzuwenden. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um für jeden Batch m Paare von gelabelten/ungelabelten Beispielen zu ziehen (z. B. 2m Beispiele insgesamt). Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um Informationen bereitzustellen, die ungepaarte Beispiele im Batch anzeigen, die im Ähnlichkeitsgraphen G verbunden sind.
  • In einigen Ausführungsformen, wie allgemein in 3A und 3B veranschaulicht, können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um eine neuronale Netzwerkarchitektur, die ein Merkmalextrahierer-Netzwerk fθ (x) umfasst, das ein Beispiel xi einem latenten Darstellungsraum zi zuordnet, und ein Prädiktor (Unter-) Netzwerk gω(x), das die latente Darstellung zi empfängt und ein vorhergesagtes Label ŷi ausgibt, bereitzustellen. Das Merkmalextrahierer-Netzwerk kann durch θ parametrisiert werden und das Prädiktornetzwerk kann durch ω parametrisiert werden.
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um eine Verlustfunktion ℓ(ŷ,y) zu verwenden, die als ein Ziel im Trainingsprozess dient. Die Verlustfunktion kann eine Kombination aus einem mittleren quadratischen Fehler (MSE) der Labelvorhersage und einem Contrastive Loss umfassen, die dafür sorgt, dass die latente Darstellung ähnlicher Beispiele (z. B. entweder gelabelte oder ungelabelte Beispiele) ähnlich ist. Der Verlust kann wie folgt definiert werden: z i = f θ ( x i )
    Figure DE102023207516A1_0005
    l ( i , j ) = log exp ( sim ( z i , z j ) / τ ) + k = 1 2 n I [ ( i , k ) E G ] exp ( sim ( z i , z k ) / τ ) k = 1 2 n I [ k i ( i , k )  E G ] exp ( sim ( z i , z k ) / τ )
    Figure DE102023207516A1_0006
    L Contrastive = 1 2 n k = 1 n [ l ( 2 k 1,2 k ) + l ( 2 k ,2 k 1 ) ]
    Figure DE102023207516A1_0007
    Figure DE102023207516A1_0008
    L = L MSE + τ L Contrastive
    Figure DE102023207516A1_0009
    wobei τ ein Parameter ist, der die Bedeutung des Contrastive Loss relativ zum MSE-Verlust anpasst, und EG die Kanten im Ähnlichkeitsgraphen G bezeichnet.
  • Der Ausdruck I [ ( i , k ) E G ]
    Figure DE102023207516A1_0010
    an, dass die i-ten und j-ten Beispiele Nachbarn in G sind, wohingegen der Ausdruck I [ ( i , k ) E G ]
    Figure DE102023207516A1_0011
    angibt, dass sie keine Nachbarn sind. Zu beachten ist, dass die hierin beschriebenen Systeme und Verfahren für den MSE-Verlust konfiguriert sein können, um das Label für das gelabelte Beispiel (z. B. das Beispiel mit „ungeraden“ Indizes) als das echte Label für ein entsprechendes Paar (z. B. das Beispiel mit „geraden“ Indizes) zu verwenden. Für jedes Beispiel i sind die „positiven“ Beispiele für den Contrastive Loss das entsprechende Paar und andere Beispiele in dem Batch, die mit i in dem Ähnlichkeitsgraphen G verbunden sind, wohingegen die „negativen“ Beispiele alle anderen Beispiel in dem Batch sind, die kein Nachbar von i in dem Graphen G sind.
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um einen Optimierungsalgorithmus zu verwenden, der die Parameter durch Reduzieren und/oder Minimieren der Verlustfunktion optimiert. Beispielsweise können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um einen Optimierer (z. B. ein Adam-Optimierer oder ein anderer geeigneter Optimierer) zu verwenden, der die Verlustfunktion in einer stochastischen Gradientenabstiegsoptimierungsumgebung oder einer anderen geeigneten Umgebung, einem anderen geeigneten Szenario und dergleichen optimiert.
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um bis zur Erfüllung der Konvergenzbedingung: gelabelte/ungelabelte Beispielpaare für ein Minibatch-Training zu ziehen und/oder Ähnlichkeitsbeziehungsinformationen zu extrahieren, die den Beispielen im Ähnlichkeitsgraphen zugeordnet sind, die latenten Darstellungen z und die vorhergesagte Bewertung ŷ für jedes Beispiel unter Verwendung des Merkmalextrahierer-Netzwerks fθ und des Prädiktornetzwerks gω zu berechnen, die Verlustfunktion
    Figure DE102023207516A1_0012
    zu berechnen, die eine Kombination aus MSE-Verlust und Contrastive Loss umfassen kann, das Verlustsignal zurück auf die Parameter der Netzwerke zu leiten und eine Gewichtung basierend auf dem Gradienten unter Verwendung des Optimierers zu aktualisieren.
  • In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um als Reaktion auf die Nichterfüllung mindestens eines Konvergenzkriteriums eine Trainingsschleife fortzusetzen. Beispielsweise können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um einen gelabelten Datensatz zu empfangen, der eine Mehrzahl gelabelter Beispiele enthält. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um einen ungelabelten Datensatz zu empfangen, der eine Mehrzahl ungelabelter Beispiele enthält. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um eine Mehrzahl gelabelter/ungelabelter Beispielpaare zu identifizieren. Jedes gelabelte/ungelabelte Beispielpaar kann ein entsprechendes gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele umfassen. In einigen Ausführungsformen können die hierin beschriebenen Systeme und Verfahren konfiguriert sein, um die Mehrzahl gelabelter/ungelabelter Beispielpaare unter Verwendung eines Ähnlichkeitsgraphen zu identifizieren, der dem gelabelten Datensatz und dem ungelabelten Datensatz zugeordnet ist. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um den Ähnlichkeitsgraphen basierend auf mindestens einem von Experten abgeleiteten Ähnlichkeitsgraphen zu erzeugen.
  • Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um eine Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren anzuwenden. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um für mindestens ein gelabeltes/ungelabeltes Beispielpaar latente Darstellungsräume unter Verwendung des Maschinenlernmodells (auf welches z. B. hierin als Maschinenlernalgorithmus Bezug genommen wird) zu berechnen. Das Maschinenlernmodell kann einen Merkmalextrahierer und ein oder mehrere Prädiktornetzwerke umfassen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um unter Verwendung des Maschinenlernmodells eine Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar zu erzeugen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um eine Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl gelabelter/ungelabelter Beispielpaare basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen zu berechnen. Die Verlustfunktion kann eine Kombination von einem mittleren quadratischen Fehler für jede Labelvorhersage und einem Contrastive Loss umfassen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein um eine Optimierungsfunktion auf jede jeweilige Verlustfunktion anzuwenden. Die Optimierungsfunktion kann eine stochastische Gradientenabstiegsoptimierungsfunktion umfassen. Die hierin beschriebenen Systeme und Verfahren können konfiguriert sein, um einen Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl gelabelter/ungelabelter Beispielpaare als Reaktion auf die Anwendung der Optimierungsfunktion zu aktualisieren.
  • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzwerks. Das System 100 kann eine Eingabeschnittstelle für den Zugriff auf Trainingsdaten 102 für das neuronale Netzwerk umfassen. Wie beispielsweise in 1 veranschaulicht, kann die Eingabeschnittstelle aus einer Datenspeicherschnittstelle 104 bestehen, die auf die Trainingsdaten 102 aus einem Datenspeicher 106 zugreifen kann. Beispielsweise kann die Datenspeicherschnittstelle 104 eine Speicherschnittstelle oder eine persistente Speicherschnittstelle sein, z. B. eine Festplatte oder eine SSD-Schnittstelle, aber auch eine persönliche, lokale oder Wide Area Network-Schnittstelle, wie etwa eine Bluetooth-, Zigbee- oder Wi-Fi Schnittstelle oder eine Ethernet- oder Glasfaserschnittstelle. Der Datenspeicher 106 kann ein interner Datenspeicher des Systems 100 sein, wie etwa eine Festplatte oder SSD, aber auch ein externer Datenspeicher, z. B. ein über das Netzwerk zugänglicher Datenspeicher.
  • In einigen Ausführungsformen kann der Datenspeicher 106 ferner eine Datendarstellung 108 einer untrainierten Version des neuronalen Netzwerks umfassen, auf die das System 100 über den Datenspeicher 106 zugreifen kann. Es versteht sich jedoch, dass auf die Trainingsdaten 102 und die Datendarstellung 108 des untrainierten neuronalen Netzwerks auch jeweils von einem anderen Datenspeicher aus zugegriffen werden kann, z. B. über ein anderes Subsystem der Datenspeicherschnittstelle 104. Jedes Subsystem kann von einem Typ sein, wie vorstehend für die Datenspeicherschnittstelle 104 beschrieben.
  • In einigen Ausführungsformen kann die Datendarstellung 108 des untrainierten neuronalen Netzwerks intern vom System 100 auf der Grundlage von Entwurfsparametern für das neuronale Netzwerk erzeugt und daher möglicherweise nicht explizit im Datenspeicher 106 gespeichert werden. Das System 100 kann ferner ein Prozessor-Subsystem 110 umfassen, das konfiguriert sein kann, um während des Betriebs des Systems 100 eine iterative Funktion als Ersatz für einen Schichtenstapel des zu trainierenden neuronalen Netzwerks bereitzustellen. Dabei können die jeweiligen Schichten des zu ersetzenden Schichtenstapels gemeinsam genutzte Gewichtungen aufweisen und als Eingabe eine Ausgabe einer vorherigen Schicht oder für eine erste Schicht des Schichtenstapels eine anfängliche Aktivierung und einen Teil der Eingabe der Schichtenstapel empfangen.
  • Das Prozessor-Subsystem 110 kann ferner konfiguriert sein, um das neuronale Netzwerk unter Verwendung der Trainingsdaten 102 iterativ zu trainieren. Dabei kann eine Iteration des Trainings durch das Prozessor-Subsystem 110 einen Teil der Vorwärtspropagierung und einen Teil der Rückwärtspropagierung umfassen. Das Prozessor-Subsystem 110 kann konfiguriert sein, um den Teil der Vorwärtspropagierung unter anderem durch Operationen, die den Teil der Vorwärtspropagierung definieren, die durchgeführt werden kann, durch Bestimmen eines Gleichgewichtspunkts der iterativen Funktion, an dem die iterative Funktion zu einem festen Punkt konvergiert, wobei das Bestimmen des Gleichgewichtspunkts die Verwendung eines numerischen Wurzelfindungsalgorithmus umfasst, um eine Wurzellösung für die iterative Funktion abzüglich ihrer Eingabe zu finden, und durch Bereitstellen des Gleichgewichtspunkts als Ersatz für eine Ausgabe des Schichtenstapels in dem neuronalen Netzwerk durchzuführen.
  • Das System 100 kann ferner eine Ausgabeschnittstelle zum Ausgeben einer Datendarstellung 112 des trainierten neuronalen Netzwerks umfassen; diese Daten können auch als trainierte Modelldaten 112 bezeichnet werden. Wie beispielsweise auch in 1 veranschaulicht, kann die Ausgabeschnittstelle durch die Datenspeicherschnittstelle 104 gebildet werden, wobei die Schnittstelle in diesen Ausführungsformen eine Eingabe-/Ausgabeschnittstelle („E/A“) ist, über die die trainierten Modelldaten 112 im Datenspeicher 106 gespeichert werden können. Beispielsweise kann die Datendarstellung 108, die das „untrainierte“ neuronale Netzwerk definiert, während oder nach dem Training zumindest teilweise durch die Datendarstellung 112 des trainierten neuronalen Netzwerks ersetzt werden, indem die Parameter des neuronalen Netzwerks, wie etwa Gewichtungen, Hyperparameter und andere Arten von Parametern neuronaler Netzwerke, angepasst werden können, um das Training anhand der Trainingsdaten 102 widerzuspiegeln. Dies ist auch in 1 durch die Bezugszeichen 108, 112 veranschaulicht, die sich auf den gleichen Dateneintrag in dem Datenspeicher 106 beziehen. In einigen Ausführungsformen kann die Datendarstellung 112 getrennt von der Datendarstellung 108 gespeichert werden, die das „untrainierte“ neuronale Netzwerk definiert. In einigen Ausführungsformen kann die Ausgabeschnittstelle von der Datenspeicherschnittstelle 104 getrennt sein, kann aber im Allgemeinen von einem Typ sein, wie vorstehend bei der Datenspeicherschnittstelle 104 beschrieben.
  • 2 zeigt ein Datenannotations-/-augmentationssystem 200 zum Implementieren eines Systems zum Annotieren und/oder Erweitern von Daten. Das Datenannotationssystem 200 kann mindestens ein Computersystem 202 umfassen. Das Computersystem 202 kann mindestens einen Prozessor 204 umfassen, der operativ mit einer Speichereinheit 208 verbunden ist. Der Prozessor 204 kann eine oder mehrere integrierte Schaltungen umfassen, die die Funktionalität einer Zentraleinheit (CPU) 206 implementieren. Bei der CPU 206 kann es sich um eine kommerziell verfügbare Verarbeitungseinheit handeln, die einen Befehlssatz implementiert, wie etwa eine der x86-, ARM-, Power- oder MIPS-Befehlssatzfamilien.
  • Während des Betriebs kann die CPU 206 die gespeicherten Programmanweisungen ausführen, die aus der Speichereinheit 208 abgerufen werden. Die gespeicherten Programmanweisungen können Software umfassen, die den Betrieb der CPU 206 steuert, um den hier beschriebenen Betrieb durchzuführen. In einigen Ausführungsformen kann der Prozessor 204 ein System-on-a-Chip (SoC) sein, das die Funktionalität der CPU 206, der Speichereinheit 208, einer Netzwerkschnittstelle und Eingabe-/Ausgabeschnittstellen in einem einzigen integrierten Gerät integriert. Das Computersystem 202 kann ein Betriebssystem zum Verwalten verschiedener Aspekte des Betriebs implementieren.
  • Die Speichereinheit 208 kann einen flüchtigen Speicher und einen nichtflüchtigen Speicher zum Speichern von Anweisungen und Daten umfassen. Der nichtflüchtige Speicher kann Festkörperspeicher, wie etwa NAND-Flash-Speicher, magnetische und optische Speichermedien oder jede andere geeignete Datenspeichervorrichtung umfassen, die Daten speichert, wenn das Computersystem 202 deaktiviert ist oder elektrische Energie verliert. Der flüchtige Speicher kann einen statischen und dynamischen Direktzugriffsspeicher (RAM) umfassen, der Programmanweisungen und Daten speichert. Beispielsweise kann die Speichereinheit 208 ein(en) Maschinenlernmodell 210 oder -algorithmus, einen Trainingsdatensatz 212 für das Maschinenlernmodell 210 und einen Rohquellendatensatz 216 speichern.
  • Das Computersystem 202 kann eine Netzwerkschnittstellenvorrichtung 222 umfassen, die konfiguriert ist, um die Kommunikation mit externen Systemen und Geräten bereitzustellen. Beispielsweise kann die Netzwerkschnittstellenvorrichtung 222 eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle umfassen, wie in der Gruppe von IEEE(Institute of Electrical and Electronics Engineers) 802.11-Standards definiert. Die Netzwerkschnittstellenvorrichtung 222 kann eine Mobilfunkkommunikationsschnittstelle zur Kommunikation mit einem Mobilfunknetzwerk (z. B. 3G, 4G, 5G) umfassen. Die Netzwerkschnittstellenvorrichtung 222 kann ferner konfiguriert sein, um eine Kommunikationsschnittstelle zu einem externen Netzwerk 224 oder einer Cloud bereitzustellen.
  • Das externe Netzwerk 224 kann als World Wide Web oder Internet bezeichnet werden. Das externe Netzwerk 224 kann ein Standardkommunikationsprotokoll zwischen Computervorrichtungen einrichten. Das externe Netzwerk 224 kann den einfachen Austausch von Informationen und Daten zwischen Computervorrichtungen und Netzwerken ermöglichen. Ein oder mehrere Server 230 können mit dem externen Netzwerk 224 kommunizieren.
  • Das Computersystem 202 kann eine Eingabe-/Ausgabe (E/A)-Schnittstelle 220 umfassen, die konfiguriert sein kann, um digitale und/oder analoge Ein- und Ausgänge bereitzustellen. Die E/A-Schnittstelle 220 kann zusätzliche serielle Schnittstellen zur Kommunikation mit externen Vorrichtungen umfassen (z. B. eine Universal Serial Bus (USB)-Schnittstelle).
  • Das Computersystem 202 kann eine Mensch-Maschine-Schnittstelle (HMI)-Vorrichtung 218 umfassen, die eine beliebige Vorrichtung umfassen kann, dies es dem System 200 ermöglicht, Steuereingaben zu empfangen. Beispiele für Eingabevorrichtungen können Vorrichtungen für die Eingabe durch Menschen sein, wie etwa Tastaturen, Mäuse, Touchscreens, Stimmeingabevorrichtungen und ähnliche Vorrichtungen. Das Computersystem 202 kann eine Anzeigevorrichtung 232 umfassen. Das Computersystem 202 kann Hardware und Software zum Ausgeben von Grafik- und Textinformationen an die Anzeigevorrichtung 232 umfassen. Die Anzeigevorrichtung 232 kann einen elektronischen Anzeigebildschirm, einen Projektor, einen Drucker oder eine andere geeignete Vorrichtung zum Anzeigen von Informationen für einen Benutzer oder Bediener umfassen. Das Computersystem 202 kann ferner konfiguriert sein, um eine Interaktion mit entfernten HMI- und entfernten Anzeigevorrichtungen über die Netzwerkschnittstellenvorrichtung 222 zu ermöglichen.
  • Das System 200 kann unter Verwendung eines oder mehrerer Computersysteme implementiert werden. Während das Beispiel ein einzelnes Computersystem 202 darstellt, das alle beschriebenen Merkmale implementiert, ist beabsichtigt, dass verschiedene Merkmale und Funktionen getrennt und von mehreren miteinander kommunizierenden Computereinheiten implementiert werden können. Die jeweilige ausgewählte Systemarchitektur kann von einer Vielzahl von Faktoren abhängen.
  • Das System 200 kann einen Maschinenlernalgorithmus 210 implementieren, der konfiguriert ist, um den Rohquellendatensatz 216 zu analysieren. Der Rohquellendatensatz 216 kann rohe oder unverarbeitete Sensordaten enthalten, die einen Eingabedatensatz für ein Maschinenlernsystem darstellen können. Der Rohquellendatensatz 216 kann Videos, Videosegmente, Bilder, textbasierte Informationen und rohe oder teilweise verarbeitete Sensordaten (z. B. eine Radarkarte von Objekten) umfassen. In einigen Ausführungsformen kann der Maschinenlernalgorithmus 210 ein neuronaler Netzwerkalgorithmus sein, der dafür ausgelegt ist, eine vorgegebene Funktion durchzuführen. Beispielsweise kann der neuronale Netzwerkalgorithmus in Automobilanwendungen konfiguriert werden, um Fußgänger auf Videobildern zu identifizieren.
  • Das Computersystem 200 kann einen Trainingsdatensatz 212 für den Maschinenlernalgorithmus 210 speichern. Der Trainingsdatensatz 212 kann einen Satz zuvor aufgebauter Daten zum Trainieren des Maschinenlernalgorithmus 210 darstellen. Der Trainingsdatensatz 212 kann von dem Maschinenlernalgorithmus 210 verwendet werden, um Gewichtungsfaktoren zu lernen, die einem neuronalen Netzwerkalgorithmus zugeordnet sind. Der Trainingsdatensatz 212 kann einen Satz von Quelldaten umfassen, der entsprechende Resultate oder Ergebnisse aufweist, die der Maschinenlernalgorithmus 210 über den Lernprozess zu duplizieren versucht. In diesem Beispiel kann der Trainingsdatensatz 212 Quellvideos mit und ohne Fußgängern und entsprechende Anwesenheits- und Standortinformationen umfassen. Die Quellvideos können verschiedene Szenarien umfassen, in denen Fußgänger identifiziert werden.
  • Der Maschinenlernalgorithmus 210 kann in einem Lernmodus unter Verwendung des Trainingsdatensatzes 212 als Eingabe betrieben werden. Der Maschinenlernalgorithmus 210 kann über eine Anzahl von Iterationen unter Verwendung der Daten aus dem Trainingsdatensatz 212 ausgeführt werden. Bei jeder Iteration kann der Maschinenlernalgorithmus 210 interne Gewichtungsfaktoren basierend auf den erzielten Ergebnissen aktualisieren. Beispielsweise kann der Maschinenlernalgorithmus 210 Ausgabeergebnisse (z. B. Annotationen) mit denen vergleichen, die im Trainingsdatensatz 212 enthalten sind. Da der Trainingsdatensatz 212 die erwarteten Ergebnisse enthält, kann der Maschinenlernalgorithmus 210 bestimmen, wann die Leistung akzeptabel ist. Nachdem der Maschinenlernalgorithmus 210 ein vorbestimmtes Leistungsniveau erreicht hat (z. B. 100 % Übereinstimmung mit den Ergebnissen, die dem Trainingsdatensatz 212 zugeordnet sind), kann der Maschinenlernalgorithmus 210 unter Verwendung von Daten ausgeführt werden, die nicht im Trainingsdatensatz 212 enthalten sind. Der trainierte Maschinenlernalgorithmus 210 kann auf neue Datensätze angewendet werden, um annotierte Daten zu erzeugen.
  • Der Maschinenlernalgorithmus 210 kann konfiguriert sein, um ein bestimmtes Merkmal in den Rohquelldaten 216 zu identifizieren. Die Rohquelldaten 216 können mehrere Instanzen oder Eingabedatensätze umfassen, für die Annotationsergebnisse gewünscht werden. Beispielsweise kann der Maschinenlernalgorithmus 210 konfiguriert sein, um die Anwesenheit eines Fußgängers in Videobildern zu erkennen und das Vorkommen zu annotieren. Der Maschinenlernalgorithmus 210 kann so programmiert sein, dass er die Rohquelldaten 216 verarbeitet, um das Vorhandensein der bestimmten Merkmale zu identifizieren. Der Maschinenlernalgorithmus 210 kann konfiguriert sein, um ein Merkmal in den Rohquelldaten 216 als vorbestimmtes Merkmal (z. B. Fußgänger) zu identifizieren. Die Rohquelldaten 216 können aus verschiedenen Quellen abgeleitet werden. Beispielsweise können die Rohquelldaten 216 tatsächliche Eingabedaten sein, die von einem Maschinenlernsystem erfasst wurden. Die Rohquelldaten 216 können zum Testen des Systems maschinell generiert werden. Beispielsweise können die Rohquelldaten 216 Rohvideobilder von einer Kamera umfassen.
  • In dem Beispiel kann der Maschinenlernalgorithmus 210 die Rohquelldaten 216 verarbeiten und einen Hinweis auf eine Darstellung eines Bildes ausgeben. Die Ausgabe kann auch eine erweiterte Darstellung des Bildes umfassen. Ein Maschinenlernalgorithmus 210 kann für jede generierte Ausgabe ein Konfidenzniveau oder einen Konfidenzfaktor erzeugen. Beispielsweise kann ein Konfidenzwert, der einen vorbestimmten hohen Konfidenzschwellenwert überschreitet, angeben, dass der Maschinenlernalgorithmus 210 sicher ist, dass das identifizierte Merkmal dem jeweiligen Merkmal entspricht. Ein Konfidenzwert, der unter einem niedrigen Konfidenzschwellenwert liegt, kann angeben, dass der Maschinenlernalgorithmus 210 eine gewisse Unsicherheit darüber hat, ob das jeweilige Merkmal vorhanden ist.
  • In einigen Ausführungsformen kann das System 200 als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist, eine Trainingsschleife fortsetzen. Beispielsweise kann das System 200 einen gelabelten Datensatz empfangen, der eine Mehrzahl gelabelter Beispiele enthält. Das System 200 kann einen ungelabelten Datensatz empfangen, der eine Mehrzahl ungelabelter Beispiele enthält. Das System 200 kann eine Mehrzahl gelabelter/ungelabelter Beispielpaare identifizieren. Jedes gelabelte/ungelabelte Beispielpaar kann ein entsprechendes gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele umfassen. Das System 200 kann die Mehrzahl gelabelter/ungelabelter Beispielpaare unter Verwendung eines Ähnlichkeitsgraphen identifizieren, der dem gelabelten Datensatz und dem ungelabelten Datensatz zugeordnet ist. Das System 200 kann den Ähnlichkeitsgraphen basierend auf mindestens einem von Experten abgeleiteten Ähnlichkeitsgraphen erzeugen.
  • Das System 200 kann eine Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren anwenden. Das System 200 kann latente Darstellungsräume für jedes mindestens eine gelabelte/ungelabelte Beispielpaar unter Verwendung des Maschinenlernalgorithmus 210 berechnen. Der Maschinenlernalgorithmus 210 kann einen Merkmalextrahierer und ein oder mehrere Prädiktornetzwerke, wie hierin beschrieben, umfassen. Das System 200 kann unter Verwendung des Maschinenlernalgorithmus 210 eine Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar erzeugen. Das System 200 kann eine Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen berechnen. Die Verlustfunktion kann eine Kombination von einem mittleren quadratischen Fehler für jede Labelvorhersage und einem Contrastive Loss umfassen. Das System 200 kann eine Optimierungsfunktion auf jede jeweilige Verlustfunktion anwenden. Die Optimierungsfunktion kann eine stochastische Gradientenabstiegsoptimierungsfunktion umfassen. Das System 200 kann einen Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion aktualisieren.
  • 4 ist ein Flussdiagramm, das allgemein ein Trainingsverfahren 400 für halbüberwachtes maschinelles Lernen gemäß den Prinzipien der vorliegenden Offenbarung veranschaulicht. Das Verfahren 400 kann als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist, die Schritte 402-418 durchführen. Bei 402 empfängt das Verfahren 400 einen gelabelten Datensatz, der eine Mehrzahl gelabelter Beispiele enthält. Beispielsweise kann das System 20 den gelabelten Datensatz empfangen, der eine Mehrzahl gelabelter Beispiele enthält.
  • Bei 404 empfängt das Verfahren 400 einen ungelabelten Datensatz, der eine Mehrzahl ungelabelter Beispiele enthält. Beispielsweise kann das System 200 den ungelabelten Datensatz empfangen, der die Mehrzahl ungelabelter Beispiele enthält.
  • Bei 406 identifiziert das Verfahren 400 eine Mehrzahl gelabelter/ungelabelter Beispielpaare. Jedes gelabelte/ungelabelte Beispielpaar kann ein entsprechendes gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele umfassen. Beispielsweise kann das System 200 die Mehrzahl gelabelter/ungelabelter Beispielpaare identifizieren.
  • Bei 408 wendet das Verfahren 400 eine Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren an. Beispielsweise kann das System 200 die Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren anwenden.
  • Bei 410 kann das Verfahren 400 für jedes mindestens eine gelabelte/ungelabelte Beispielpaar latente Darstellungsräume unter Verwendung des Maschinenlernmodells berechnen. Beispielsweise kann das System 200 für jedes mindestens eine gelabelte/ungelabelte Beispielpaar latente Darstellungsräume unter Verwendung des Maschinenlernalgorithmus 210 berechnen.
  • Bei 412 erzeugt das Verfahren 400 unter Verwendung des Maschinenlernmodells eine Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar. Beispielsweise kann das System 200 unter Verwendung des Maschinenlernalgorithmus 210 die Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar erzeugen.
  • Bei 414 berechnet das Verfahren 400 eine Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen. Beispielsweise kann das System 200 die Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen berechnen.
  • Bei 416 wendet das Verfahren 400 eine Optimierungsfunktion auf jede jeweilige Verlustfunktion an. Beispielsweise kann das System 200 die Optimierungsfunktion auf jede jeweilige Verlustfunktion anwenden.
  • Bei 418 aktualisiert das Verfahren 400 einen Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion. Beispielsweise kann das System 200 den Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion aktualisieren.
  • 5 zeigt ein schematisches Diagramm einer Interaktion zwischen der computergesteuerten Maschine 500 und dem Steuersystem 502. Die computergesteuerte Maschine 500 umfasst einen Aktor 504 und einen Sensor 506. Der Aktor 504 kann einen oder mehrere Aktoren umfassen und der Sensor 506 kann einen oder mehrere Sensoren umfassen. Der Sensor 506 ist konfiguriert, um einen Zustand der computergesteuerten Maschine 500 zu erfassen. Der Sensor 506 kann konfiguriert sein, um den erfassten Zustand in Sensorsignale 508 zu kodieren und die Sensorsignale 508 an das Steuersystem 502 zu übertragen. Nicht einschränkende Beispiele für den Sensor 506 umfassen Video-, Radar-, LiDAR-, Ultraschall- und Bewegungssensoren. In einigen Ausführungsformen ist der Sensor 506 ein optischer Sensor, der konfiguriert ist, um optische Bilder einer Umgebung in der Nähe der computergesteuerten Maschine 500 zu erfassen.
  • Das Steuersystem 502 ist konfiguriert, um Sensorsignale 508 von der computergesteuerten Maschine 500 zu empfangen. Wie nachstehend dargelegt, kann das Steuersystem 502 ferner konfiguriert sein, um Aktorsteuerbefehle 510 abhängig von den Sensorsignalen zu berechnen und die Aktorsteuerbefehle 510 an den Aktor 504 der computergesteuerten Maschine 500 zu übertragen.
  • Wie in 5 gezeigt, umfasst das Steuersystem 502 die Empfangseinheit 512. Die Empfangseinheit 512 kann konfiguriert sein, um die Sensorsignale 508 von dem Sensor 506 zu empfangen und die Sensorsignale 508 in Eingangssignale x umzuwandeln. In einer alternativen Ausführungsform werden die Sensorsignale 508 direkt als Eingangssignale x ohne die Empfangseinheit 512 empfangen. Jedes Eingangssignal x kann ein Teil jedes Sensorsignals 508 sein. Die Empfangseinheit 512 kann konfiguriert sein, um jedes Sensorsignal 508 zu verarbeiten, um jedes Eingangssignal x zu erzeugen. Das Eingangssignal x kann Daten enthalten, die einem von dem Sensor 506 aufgenommenen Bild entsprechen.
  • Das Steuersystem 502 umfasst einen Klassifizierer 514. Der Klassifizierer 514 kann konfiguriert sein, um Eingangssignale x in ein oder mehrere Labels unter Verwendung eines Maschinenlern (ML)-Algorithmus zu klassifizieren, wie etwa das vorstehend beschriebene neuronale Netzwerk. Der Klassifizierer 514 ist so konfiguriert, dass er durch Parameter, wie etwa die vorstehend beschriebenen (z. B. der Parameter θ), parametrisiert werden kann. Die Parameter θ können in dem nichtflüchtigen Speicher 516 gespeichert und von diesem bereitgestellt werden. Der Klassifizierer 514 ist konfiguriert, um die Ausgangssignale y aus den Eingangssignalen x zu bestimmen. Jedes Ausgangssignal y enthält Informationen, die jedem Eingangssignal x ein oder mehrere Labels zuweisen. Der Klassifizierer 514 kann die Ausgangssignale y an die die Umwandlungseinheit 518 übertragen. Die Umwandlungseinheit 518 ist konfiguriert, um die Ausgangssignale y in Aktorsteuerbefehle 510 umzuwandeln. Das Steuersystem 502 ist konfiguriert, um die Aktorsteuerbefehle 510 an den Aktor 504 zu übertragen, der konfiguriert ist, um die computergesteuerte Maschine 500 als Reaktion auf die Aktorsteuerbefehle 510 zu betätigen. In einigen Ausführungsformen ist der Aktor 504 konfiguriert, um die computergesteuerte Maschine 500 basierend auf den Ausgangssignalen y direkt zu betätigen.
  • Bei Empfang der Aktorsteuerbefehle 510 durch den Aktor 504 ist der Aktor 504 konfiguriert, um eine Aktion auszuführen, die dem zugehörigen Aktorsteuerbefehl 510 entspricht. Der Aktor 504 kann eine Steuerlogik umfassen, die konfiguriert ist, um die Aktorsteuerbefehle 510 in einen zweiten Aktorsteuerbefehl umzuwandeln, der zur Steuerung des Aktors 504 verwendet wird. In einer oder mehreren Ausführungsformen können die Aktorsteuerbefehle 510 verwendet werden, um eine Anzeigevorrichtung anstelle eines Aktors oder zusätzlich zu diesem zu steuern.
  • In einigen Ausführungsformen umfasst das Steuersystem 502 den Sensor 506 anstelle oder zusätzlich zur computergesteuerten Maschine 500 einschließlich des Sensors 506. Das Steuersystem 502 kann auch den Aktor 504 anstelle oder zusätzlich zur computergesteuerten Maschine 500 umfassen, die den Aktor 504 umfasst.
  • Wie in 5 gezeigt, umfasst das Steuersystem 502 auch einen Prozessor 520 und einen Speicher 522. Der Prozessor 520 kann einen oder mehrere Prozessoren umfassen. Der Speicher 522 kann eine oder mehrere Speichervorrichtungen umfassen. Der Klassifizierer 514 (z. B. die ML-Algorithmen) von einer oder mehreren Ausführungsformen kann durch das Steuersystem 502 implementiert werden, das den nichtflüchtigen Speicher 516, den Prozessor 520 und den Speicher 522 umfasst.
  • Der nichtflüchtige Speicher 516 kann eine oder mehrere persistente Datenspeichervorrichtungen, wie etwa eine Festplatte, ein optisches Laufwerk, ein Bandlaufwerk, eine nichtflüchtige Solid-State-Vorrichtung, einen Cloud-Speicher oder jedes andere Gerät umfassen, das Informationen dauerhaft speichern kann. Der Prozessor 520 kann ein oder mehrere Vorrichtungen umfassen, die aus Hochleistungsdatenverarbeitungs (HPC)-Systemen ausgewählt werden, einschließlich Hochleistungskernen, Mikroprozessoren, Mikrocontrollern, digitalen Signalprozessoren, Mikrocomputern, Zentraleinheiten, feldprogrammierbaren Gate-Arrays, programmierbaren Logikvorrichtungen, Zustandsmaschinen, Logikschaltungen, analogen Schaltungen, digitalen Schaltungen oder anderen Vorrichtungen, die Signale (analog oder digital) basierend auf computerausführbaren Anweisungen manipulieren, die sich im Speicher 522 befinden. Der Speicher 522 kann eine einzelne Speichervorrichtung oder mehrere Speichervorrichtungen umfassen, einschließlich, aber nicht beschränkt auf Direktzugriffsspeicher (RAM), flüchtige Speicher, nichtflüchtige Speicher, statische Direktzugriffsspeicher (SRAM), dynamische Direktzugriffsspeicher (DRAM), Flash-Speicher, Cache-Speicher oder jedes andere Gerät, das Informationen speichern kann.
  • Der Prozessor 520 kann konfiguriert sein, um in den Speicher 522 zu lesen und computerausführbare Anweisungen auszuführen, die sich im nichtflüchtigen Speicher 516 befinden und einen oder mehrere ML-Algorithmen und/oder Verfahren einer oder mehrerer Ausführungsformen verkörpern. Der nichtflüchtige Speicher 516 kann ein oder mehrere Betriebssysteme und Anwendungen umfassen. Der nichtflüchtige Speicher 516 kann kompilierte und/oder interpretierte Computerprogramme speichern, die mittels einer Vielfalt von Programmiersprachen und/oder -techniken erstellt wurden, einschließlich und entweder eigenständig oder kombiniert, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl und PL/SQL, ohne darauf beschränkt zu sein.
  • Bei der Ausführung durch den Prozessor 520 können die computerausführbaren Anweisungen des nichtflüchtigen Speichers 516 dazu führen, dass das Steuersystem 502 einen oder mehrere der hier offenbarten ML-Algorithmen und/oder - Methoden implementiert. Der nichtflüchtige Speicher 516 kann auch ML-Daten (einschließlich Datenparameter) enthalten, die die Funktionen, Merkmale und Prozesse der einen oder mehreren hierin beschriebenen Ausführungsformen unterstützen.
  • Der Programmcode, der die hierin beschriebenen Algorithmen und/oder Methoden verkörpert, kann einzeln oder gemeinsam als Programmprodukt in verschiedenen Formen verbreitet werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speichermediums verteilt werden, auf dem sich computerlesbare Programmanweisungen befinden, um einen Prozessor zu veranlassen, Aspekte einer oder mehrerer Ausführungsformen auszuführen. Computerlesbare Speichermedien, die von Natur aus nichtflüchtig sind, können flüchtige und nichtflüchtige sowie entfernbare und nicht entfernbare materielle Medien umfassen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern von Informationen implementiert sind, wie etwa computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Zu den computerlesbaren Speichermedien können außerdem RAM, ROM, löschbarer programmierbarer Nur-Lese-Speicher (EPROM), elektrisch löschbarer programmierbarer Nur-Lese-Speicher (EEPROM), Flash-Speicher oder eine andere Solid-State-Speichertechnologie sowie tragbare CD-ROM (Compact Disc Read-Only Memory) oder andere optische Speicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und das von einem Computer gelesen werden kann, gehören. Computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf einen Computer, eine andere Art von programmierbarer Datenverarbeitungsvorrichtung oder eine andere Vorrichtung oder auf einen externen Computer oder eine externe Speichervorrichtung über ein Netzwerk heruntergeladen werden.
  • Die computerlesbaren Programmanweisungen, die in einem computerlesbaren Medium gespeichert sind, können verwendet werden, um einen Computer, andere Arten programmierbarer Datenverarbeitungsvorrichtungen oder andere Geräte anzuweisen, auf eine bestimmte Weise zu funktionieren, sodass die auf dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsgegenstand einschließlich Anweisungen erzeugen, die die in den Flussdiagrammen oder Diagrammen angegebenen Funktionen, Handlungen und/oder Vorgänge implementieren. In bestimmten alternativen Ausführungsformen können die in den Flussdiagrammen und Diagrammen angegebenen Funktionen, Handlungen und/oder Operationen im Einklang mit einer oder mehreren Ausführungsformen neu angeordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden. Darüber hinaus können alle Flussdiagramme und/oder Diagramme mehr oder weniger Knoten oder Blöcke enthalten als die, die im Einklang mit einer oder mehreren Ausführungsformen dargestellt sind.
  • Die Prozesse, Verfahren oder Algorithmen können ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten, wie etwa ASICs (anwendungsspezifische integrierte Schaltungen), FPGAs (Field-Programmable Gate Arrays), Zustandsautomaten, Steuerungen oder andere Hardwarekomponenten oder -einrichtungen, oder einer Kombination von Hardware-, Software- und Firmwarekomponenten, realisiert werden.
  • 6 zeigt ein schematisches Diagramm des Steuersystems 502, das konfiguriert ist, um das Fahrzeug 600 zu steuern, bei dem es sich um ein zumindest teilweise autonomes Fahrzeug oder einen zumindest teilweise autonomen Roboter handeln kann. Das Fahrzeug 600 umfasst einen Aktor 504 und einen Sensor 506. Der Sensor 506 kann einen oder mehrere Videosensoren, Kameras, Radarsensoren, Ultraschallsensoren, LiDAR-Sensoren und/oder Positionssensoren (z. B. GPS) umfassen. Einer oder mehrere des einen oder der mehreren spezifischen Sensoren können in das Fahrzeug 600 integriert sein. Alternativ oder zusätzlich zu einem oder mehreren der vorstehend identifizierten spezifischen Sensoren kann der Sensor 506 ein Softwaremodul umfassen, das konfiguriert ist, um bei seiner Ausführung einen Zustand des Aktors 504 zu bestimmen. Ein nicht einschränkendes Beispiel eines Softwaremoduls umfasst ein Wetterinformations-Softwaremodul, das konfiguriert ist, um eine aktuelle oder zukünftige Wetterlage in der Nähe des Fahrzeugs 600 oder eines anderen Standorts zu bestimmen.
  • Der Klassifizierer 514 des Steuersystems 502 des Fahrzeugs 600 kann konfiguriert sein, um Objekte in der Nähe des Fahrzeugs 600 abhängig von Eingangssignalen x zu erkennen. In einer solchen Ausführungsform kann das Ausgangssignal y Informationen enthalten, die die Nähe von Objekten zum Fahrzeug 600 charakterisieren. In Übereinstimmung mit diesen Informationen kann der Aktorsteuerbefehl 510 bestimmt werden. Der Aktorsteuerbefehl 510 kann verwendet werden, um Kollisionen mit den erkannten Objekten zu vermeiden.
  • In einigen Ausführungsformen ist das Fahrzeug 600 ein zumindest teilweise autonomes Fahrzeug. Der Aktor 504 kann in einer Bremse, einem Antriebssystem, einem Motor, einem Antriebsstrang oder einer Lenkung des Fahrzeugs 600 verkörpert sein. Die Aktorsteuerbefehle 510 können so bestimmt werden, dass der Aktor 504 auf eine Weise gesteuert wird, dass das Fahrzeug 600 Kollisionen mit erkannten Objekten vermeidet. Die erkannten Objekte können auch entsprechend der Einschätzung klassifiziert werden, für was der Klassifizierer 514 sie am wahrscheinlichsten hält, beispielsweise Fußgänger oder Bäume. Die Aktorsteuerbefehle 510 können abhängig von der Klassifizierung bestimmt werden. In einem Szenario, in dem es zu einer Adversarial Attack kommen kann, kann das vorstehend beschriebene System ferner trainiert werden, um Objekte besser zu erkennen oder eine Änderung der Lichtverhältnisse oder eines Winkels für einen Sensor oder eine Kamera am Fahrzeug 600 zu identifizieren.
  • In einigen Ausführungsformen, in denen es sich bei dem Fahrzeug 600 um einen zumindest teilweise autonomen Roboter handelt, kann das Fahrzeug 600 ein mobiler Roboter sein, der konfiguriert ist, um eine oder mehrere Funktionen, wie etwa Fliegen, Schwimmen, Tauchen und Schreiten, durchzuführen. Der mobile Roboter kann ein zumindest teilweise autonomer Rasenmäher oder ein zumindest teilweise autonomer Reinigungsroboter sein. In solchen Ausführungsformen kann der Aktorsteuerbefehl 510 so bestimmt werden, dass eine Antriebseinheit, eine Lenkeinheit und/oder eine Bremseinheit des mobilen Roboters so gesteuert werden können, dass der mobile Roboter Kollisionen mit identifizierten Objekten vermeiden kann.
  • In einigen Ausführungsformen ist das Fahrzeug 600 ein zumindest teilweise autonomer Roboter in Form eines Gartenroboters. In einer solchen Ausführungsform kann das Fahrzeug 600 einen optischen Sensor als Sensor 506 verwenden, um einen Zustand von Pflanzen in einer Umgebung in der Nähe des Fahrzeugs 600 zu bestimmen. Der Aktor 504 kann eine Düse sein, die konfiguriert ist, um Chemikalien zu versprühen. In Abhängigkeit von einer identifizierten Art und/oder einem identifizierten Zustand der Pflanzen kann der Aktorsteuerbefehl 510 bestimmt werden, um den Aktor 504 zu veranlassen, die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien zu besprühen.
  • Das Fahrzeug 600 kann ein zumindest teilweise autonomer Roboter in Form eines Haushaltsgeräts sein. Nicht einschränkende Beispiele für Haushaltsgeräte sind eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder ein Geschirrspüler. In einem solchen Fahrzeug 600 kann der Sensor 506 ein optischer Sensor sein, der konfiguriert ist, um einen Zustand eines Objekts zu erkennen, das einer Verarbeitung durch das Haushaltsgerät unterzogen werden soll. Handelt es sich bei dem Haushaltsgerät beispielsweise um eine Waschmaschine, kann der Sensor 506 den Zustand der Wäsche in der Waschmaschine erfassen. Der Aktorsteuerbefehl 510 kann basierend auf dem erfassten Zustand der Wäsche bestimmt werden.
  • 7 zeigt ein schematisches Diagramm des Steuersystems 502, das konfiguriert ist, um das System 700 (z. B. eine Fertigungsmaschine) zu steuern, wie etwa ein Stanzwerkzeug, eine Fräse oder einen Tieflochbohrer eines Fertigungssystems 702, wie etwa als Teil einer Fertigungslinie. Das Steuersystem 502 kann konfiguriert sein, um den Aktor 504 zu steuern, der konfiguriert ist, um das System 700 (z. B. die Fertigungsmaschine) zu steuern.
  • Der Sensor 506 des Systems 700 (z. B. die Fertigungsmaschine) kann ein optischer Sensor sein, der konfiguriert ist, um eine oder mehrere Eigenschaften des hergestellten Produkts 704 zu erfassen. Der Klassifizierer 514 kann konfiguriert sein, um einen Zustand des hergestellten Produkts 704 anhand einer oder mehrerer der erfassten Eigenschaften zu bestimmen. Der Aktor 504 kann konfiguriert sein, um das System 700 (z. B. die Fertigungsmaschine) abhängig von dem ermittelten Zustand des hergestellten Produkts 704 für einen nachfolgenden Herstellungsschritt des hergestellten Produkts 704 zu steuern. Der Aktor 504 kann konfiguriert sein, um Funktionen des Systems 700 (z. B. die Fertigungsmaschine) auf dem anschließend hergestellten Produkt 706 des Systems 700 (z. B. die Fertigungsmaschine) abhängig von dem ermittelten Zustand des hergestellten Produkts 704 zu steuern.
  • 8 zeigt ein schematisches Diagramm des Steuersystems 502, das konfiguriert ist, um ein Elektrowerkzeug 800 zu steuern, wie etwa eine Bohrmaschine oder einen Leistungstreiber, der über einen zumindest teilweise autonomen Modus verfügt. Das Steuersystem 502 kann konfiguriert sein, um den Aktor 504 zu steuern, der konfiguriert ist, um das Elektrowerkzeug 800 zu steuern.
  • Der Sensor 506 des Elektrowerkzeugs 800 kann ein optischer Sensor sein, der konfiguriert ist, um eine oder mehrere Eigenschaften der Arbeitsfläche 802 und/oder des in die Arbeitsfläche 802 eingetriebenen Befestigungselements 804 zu erfassen. Der Klassifizierer 514 kann konfiguriert sein, um einen Zustand der Arbeitsfläche 802 und/oder des Befestigungselements 804 relativ zur Arbeitsfläche 802 anhand einer oder mehreren der erfassten Eigenschaften zu bestimmen. Der Zustand kann sein, dass das Befestigungselement 804 bündig mit der Arbeitsfläche 802 abschließt. Der Zustand kann alternativ die Härte der Arbeitsfläche 802 sein. Der Aktor 504 kann konfiguriert sein, um das Elektrowerkzeug 800 so zu steuern, dass die Antriebsfunktion des Elektrowerkzeugs 800 abhängig vom bestimmten Zustand des Befestigungselements 804 relativ zur Arbeitsfläche 802 oder einer oder mehreren erfassten Eigenschaften der Arbeitsfläche 802 angepasst wird. Beispielsweise kann der Aktor 504 die Antriebsfunktion unterbrechen, wenn der Zustand des Befestigungselements 804 bündig mit der Arbeitsfläche 802 ist. Als weiteres nicht einschränkendes Beispiel kann der Aktor 504 abhängig von der Härte der Arbeitsfläche 802 ein zusätzliches oder geringeres Drehmoment anwenden.
  • 9 zeigt ein schematisches Diagramm des Steuersystems 502, das konfiguriert ist, um den automatisierten persönlichen Assistenten 900 zu steuern. Das Steuersystem 502 kann konfiguriert sein, um den Aktor 504 zu steuern, der konfiguriert ist, um den automatisierten persönlichen Assistenten 900 zu steuern. Der automatisierte persönliche Assistent 900 kann konfiguriert sein, um ein Haushaltsgerät zu steuern, wie etwa eine Waschmaschine, einen Herd, einen Ofen, eine Mikrowelle oder einen Geschirrspüler.
  • Der Sensor 506 kann ein optischer Sensor und/oder ein Audiosensor sein. Der optische Sensor kann konfiguriert sein, um Videobilder von Gesten 904 des Benutzers 902 zu empfangen. Der Audiosensor kann konfiguriert sein, um einen Sprachbefehl des Benutzers 902 zu empfangen.
  • Das Steuersystem 502 des automatisierten persönlichen Assistenten 900 kann konfiguriert sein, um die Aktorsteuerbefehle 510 zu bestimmen, die konfiguriert sind, um das System 502 zu steuern. Das Steuersystem 502 kann konfiguriert sein, um die Aktorsteuerbefehle 510 in Übereinstimmung mit den Sensorsignalen 508 des Sensors 506 zu bestimmen. Der automatisierte persönliche Assistent 900 ist konfiguriert, um die Sensorsignale 508 an das Steuersystem 502 zu übertragen. Der Klassifizierer 514 des Steuersystems 502 kann konfiguriert sein, um einen Gestenerkennungsalgorithmus auszuführen, um die von dem Benutzer 902 ausgeführte Geste 904 zu identifizieren, die Aktorsteuerbefehle 510 zu bestimmen und die Aktorsteuerbefehle 510 an den Aktor 504 zu übertragen. Der Klassifizierer 514 kann konfiguriert sein, um Informationen aus dem nichtflüchtigen Speicher als Reaktion auf die Geste 904 abzurufen und die abgerufenen Informationen in einer für den Empfang durch den Benutzer 902 geeigneten Form auszugeben.
  • 10 zeigt ein schematisches Diagramm des Steuersystems 502, das konfiguriert ist, um das Überwachungssystem 1000 zu steuern. Das Überwachungssystem 1000 kann konfiguriert sein, um den Zugang durch die Tür 1002 physisch zu steuern. Der Sensor 506 kann konfiguriert sein, um eine Szene zu erkennen, die für die Entscheidung relevant ist, ob Zugang gewährt wird. Der Sensor 506 kann ein optischer Sensor sein, der konfiguriert ist, um Bild- und/oder Videodaten zu erzeugen und zu übertragen. Solche Daten können von dem Steuersystem 502 verwendet werden, um das Gesicht einer Person zu erkennen.
  • Der Klassifizierer 514 des Steuersystems 502 des Überwachungssystems 1000 kann konfiguriert sein, um die Bild- und/oder Videodaten zu interpretieren, indem er die Identitäten bekannter Personen abgleicht, die im nichtflüchtigen Speicher 516 gespeichert sind, und so die Identität einer Person bestimmt. Der Klassifizierer 514 kann konfiguriert sein, um einen Aktorsteuerbefehl 510 als Reaktion auf die Interpretation der Bild- und/oder Videodaten zu erzeugen. Das Steuersystem 502 ist konfiguriert, um den Aktorsteuerbefehl 510 an den Aktor 504 zu übertragen. In dieser Ausführungsform kann der Aktor 504 konfiguriert sein, um die Tür 1002 als Reaktion auf den Aktorsteuerbefehl 510 zu verriegeln oder entriegeln. In einigen Ausführungsformen ist auch eine nicht-physische, logische Zugangskontrolle möglich.
  • Das Überwachungssystem 1000 kann auch eine Überwachungsanlage sein. In einer solchen Ausführungsform kann der Sensor 506 ein optischer Sensor sein, der konfiguriert ist, um eine Szene zu erkennen, die überwacht wird, und das Steuersystem 502 ist konfiguriert, um die Anzeigevorrichtung 1004 zu steuern. Der Klassifizierer 514 ist konfiguriert, um eine Klassifizierung einer Szene zu bestimmen, z. B. ob die vom Sensor 506 erkannte Szene verdächtig ist. Das Steuersystem 502 ist konfiguriert, um einen Aktorsteuerbefehl 510 an die Anzeigevorrichtung 1004 als Reaktion auf die Klassifizierung zu übertragen. Die Anzeigevorrichtung 1004 kann konfiguriert sein, um die angezeigten Inhalte als Reaktion auf den Aktorsteuerbefehl 510 anzupassen. Beispielsweise kann die Anzeigevorrichtung 1004 ein Objekt hervorheben, das dem Klassifizierer 514 verdächtig erscheint. Unter Verwendung einer Ausführungsform des offenbarten Systems kann das Überwachungssystem das Erscheinen von Objekten zu bestimmten Zeitpunkten in der Zukunft vorhersagen.
  • 11 zeigt ein schematisches Diagramm des Steuersystems 502, das konfiguriert ist, um ein bildgebendes System 1100 zu steuern, wie etwa eine MRT-Vorrichtung, eine Röntgenabbildungsvorrichtung oder eine Ultraschallvorrichtung. Der Sensor 506 kann beispielsweise ein bildgebender Sensor sein. Der Klassifizierer 514 kann konfiguriert sein, um eine Klassifizierung des gesamten oder eines Teils des erfassten Bildes zu bestimmen. Der Klassifizierer 514 kann konfiguriert sein, um einen Aktorsteuerbefehl 510 als Reaktion auf die von dem trainierten neuronalen Netzwerk erhaltene Klassifizierung zu bestimmen oder auszuwählen. Beispielsweise kann der Klassifizierer 514 einen Bereich eines erfassten Bildes als potenziell anomal interpretieren. In diesem Fall kann der Aktorsteuerbefehl 510 bestimmt oder ausgewählt werden, um die Anzeigevorrichtung 1102 zu veranlassen, das Bild anzuzeigen und den potenziell anomalen Bereich hervorzuheben.
  • In einigen Ausführungsformen umfasst ein Verfahren zum halbüberwachten Trainieren eines Maschinenlernmodells als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: Empfangen eines gelabelten Datensatzes, der eine Mehrzahl gelabelter Beispiele enthält, Empfangen eines ungelabelten Datensatzes, der eine Mehrzahl ungelabelter Beispiele enthält, Identifizieren einer Mehrzahl gelabelter/ungelabelter Beispielpaare, wobei jedes gelabelte/ungelabelte Beispielpaar ein jeweiliges gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele enthält, Anwenden einer Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren, Berechnen für jedes mindestens eine gelabelte/ungelabelte Beispielpaar latenter Darstellungsräume unter Verwendung des Maschinenlernmodells, Erzeugen, unter Verwendung des Maschinenlernmodells, einer Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar, Berechnen einer Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen, Anwenden einer Optimierungsfunktion auf jede jeweilige Verlustfunktion und Aktualisieren eines Gewichtungswerts für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion.
  • In einigen Ausführungsformen umfasst das Maschinenlernmodell einen Merkmalextrahierer und ein oder mehrere Prädiktornetzwerke. In einigen Ausführungsformen umfasst das Verfahren auch das Trainieren des Maschinenlernmodells unter Verwendung des gelabelten Datensatzes und des ungelabelten Datensatzes, bei dem Beispiele anhand von vorhergesagten Labels propagiert werden. In einigen Ausführungsformen umfasst das Identifizieren der Mehrzahl gelabelter/ungelabelter Beispielpaare das Identifizieren der Mehrzahl gelabelter/ungelabelter Beispielpaare unter Verwendung eines Ähnlichkeitsgraphen, der dem gelabelten Datensatz und dem ungelabelten Datensatz zugeordnet ist. In einigen Ausführungsformen kann der Ähnlichkeitsgraph basierend auf mindestens einem von Experten abgeleiteten Ähnlichkeitsgraphen erzeugt werden. In einigen Ausführungsformen umfasst die Verlustfunktion eine Kombination von einem mittleren quadratischen Fehler für jede Labelvorhersage und einem Contrastive Loss. In einigen Ausführungsformen umfasst die Optimierungsfunktion eine stochastische Gradientenabstiegsoptimierungsfunktion. In einigen Ausführungsformen ist das Maschinenlernmodell konfiguriert, um mindestens eine Klassifizierungsaufgabe durchzuführen. In einigen Ausführungsformen ist das Maschinenlernmodell konfiguriert, um mindestens eine Regressionsaufgabe durchzuführen.
  • In einigen Ausführungsformen umfasst ein System zum halbüberwachten Training eines Maschinenlernmodells einen Prozessor und einen Speicher. Der Speicher umfasst Anweisungen, die bei Ausführung durch den Prozessor den Prozessor veranlassen, als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: einen gelabelten Datensatz zu empfangen, der eine Mehrzahl gelabelter Beispiele enthält, einen ungelabelten Datensatz zu empfangen, der eine Mehrzahl ungelabelter Beispiele enthält, eine Mehrzahl gelabelter/ungelabelter Beispielpaare zu identifizieren, wobei jedes gelabelte/ungelabelte Beispielpaar ein jeweiliges gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele enthält, eine Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren anzuwenden, für jedes mindestens eine gelabelte/ungelabelte Beispielpaar latente Darstellungsräume unter Verwendung des Maschinenlernmodells zu berechnen, unter Verwendung des Maschinenlernmodells eine Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar zu erzeugen, eine Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen zu berechnen, eine Optimierungsfunktion auf jede jeweilige Verlustfunktion anzuwenden und einen Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion zu aktualisieren.
  • In einigen Ausführungsformen umfasst das Maschinenlernmodell einen Merkmalextrahierer und ein oder mehrere Prädiktornetzwerke. In einigen Ausführungsformen können die Anweisungen den Prozessor ferner dazu veranlassen, das Maschinenlernmodell unter Verwendung des gelabelten Datensatzes und des ungelabelten Datensatzes, bei dem Beispiele anhand von vorhergesagten Labels propagiert werden, zu trainieren. In einigen Ausführungsformen veranlassen die Anweisungen den Prozessor ferner dazu, die Mehrzahl gelabelter/ungelabelter Beispielpaare durch das Identifizieren der Mehrzahl gelabelter/ungelabelter Beispielpaare unter Verwendung eines Ähnlichkeitsgraphen, der dem gelabelten Datensatz und dem ungelabelten Datensatz zugeordnet ist, zu identifizieren. In einigen Ausführungsformen kann der Ähnlichkeitsgraph basierend auf mindestens einem von Experten abgeleiteten Ähnlichkeitsgraphen erzeugt werden. In einigen Ausführungsformen umfasst die Verlustfunktion eine Kombination von einem mittleren quadratischen Fehler für jede Labelvorhersage und einem Contrastive Loss. In einigen Ausführungsformen umfasst die Optimierungsfunktion eine stochastische Gradientenabstiegsoptimierungsfunktion. In einigen Ausführungsformen ist das Maschinenlernmodell konfiguriert, um mindestens eine Klassifizierungsaufgabe durchzuführen. In einigen Ausführungsformen ist das Maschinenlernmodell konfiguriert, um mindestens eine Regressionsaufgabe durchzuführen.
  • In einigen Ausführungsformen umfasst eine Vorrichtung zum halbüberwachten Training eines Modells für maschinelles Lernen einen Prozessor und einen Speicher. Der Speicher umfasst Anweisungen, die bei Ausführung durch den Prozessor den Prozessor veranlassen, als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: einen gelabelten Datensatz zu empfangen, der eine Mehrzahl gelabelter Beispiele enthält, einen ungelabelten Datensatz zu empfangen, der eine Mehrzahl ungelabelter Beispiele enthält, eine Mehrzahl gelabelter/ungelabelter Beispielpaare zu identifizieren, wobei jedes gelabelte/ungelabelte Beispielpaar ein jeweiliges gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele enthält, eine Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren anzuwenden, für jedes mindestens eine gelabelte/ungelabelte Beispielpaar latente Darstellungsräume unter Verwendung eines Merkmalextrahierers des Maschinenlernmodells zu berechnen, unter Verwendung eines oder mehrerer Prädiktornetzwerke des Maschinenlernmodells eine Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar zu erzeugen, eine Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen zu berechnen, wobei die Verlustfunktion eine Kombination aus einem mittleren quadratischen Fehler jeder Labelvorhersage und einem Contrastive Loss umfasst, eine Optimierungsfunktion auf jede jeweilige Verlustfunktion anzuwenden und einen Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion zu aktualisieren.
  • In einigen Ausführungsformen können die Anweisungen den Prozessor ferner dazu veranlassen, das Maschinenlernmodell unter Verwendung des gelabelten Datensatzes und des ungelabelten Datensatzes, bei dem Beispiele anhand von vorhergesagten Labels propagiert werden, zu trainieren.
  • Die hierin offenbarten Prozesse, Verfahren oder Algorithmen können für eine Verarbeitungseinrichtung, eine Steuerung oder einen Computer, wozu eine beliebige vorhandene programmierbare elektronische Steuereinheit oder dedizierte elektronische Steuereinheit gehören kann, bereitstellbar sein bzw. durch sie implementiert werden. Ebenso können die Prozesse, Verfahren oder Algorithmen als Daten und Anweisungen, die durch eine Steuerung oder einen Computer ausführbar sind, in vielen Formen gespeichert werden, darunter, aber nicht darauf beschränkt, Informationen, die auf nicht beschreibbaren Speichermedien, wie etwa ROM-Einrichtungen, permanent gespeichert sind, und Informationen, die auf beschreibbaren Speichermedien, wie etwa Disketten, Magnetbändern, CDs, RAM-Einrichtungen und anderen magnetischen und optischen Medien, veränderbar gespeichert sind. Die Prozesse, Verfahren oder Algorithmen können auch in einem ausführbaren Softwareobjekt implementiert werden. Als Alternative können die Prozesse, Verfahren oder Algorithmen ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten, wie etwa ASICs (anwendungsspezifische integrierte Schaltungen), FPGAs (Field-Programmable Gate Arrays), Zustandsautomaten, Steuerungen oder andere Hardwarekomponenten oder -einrichtungen, oder einer Kombination von Hardware-, Software- und Firmwarekomponenten, realisiert werden.
  • Obwohl vorstehend beispielhafte Ausführungsformen beschrieben werden, ist es nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die von den Ansprüchen umfasst werden. Die in der Beschreibung verwendeten Ausdrücke dienen der Beschreibung und nicht der Einschränkung, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne von dem Gedanken und Schutzumfang der Offenbarung abzuweichen. Wie zuvor beschrieben können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die möglicherweise nicht explizit beschrieben oder dargestellt sind. Verschiedene Ausführungsformen wurden zwar womöglich als Vorteile bietend oder bevorzugt gegenüber anderen Implementierungen des Stands der Technik hinsichtlich einer oder mehrerer gewünschter Eigenschaften beschrieben, jedoch können, wie für Fachleute auf dem Gebiet offensichtlich ist, zwischen einem oder mehreren Merkmalen oder einer oder mehreren Eigenschaften Kompromisse geschlossen werden, um die gewünschten Gesamtsystemmerkmale zu erreichen, was von der besonderen Anwendung und Implementierung abhängig ist. Diese Attribute können Kosten, Robustheit, Haltbarkeit, Lebenszykluskosten, Marktfähigkeit, Aussehen, Verpackung, Größe, Wartungsfreundlichkeit, Gewicht, Herstellbarkeit, einfache Montage etc. beinhalten, ohne darauf beschränkt zu sein.
  • Ausführungsformen, die bezüglich einer oder mehrerer Eigenschaften als weniger wünschenswert als andere Ausführungsformen oder Implementierungen des Stands der Technik beschrieben werden, liegen somit nicht außerhalb des Schutzbereichs der Offenbarung und können für bestimmte Anwendungen wünschenswert sein.

Claims (20)

  1. Verfahren zum halbüberwachten Training eines Maschinenlernmodells, das Verfahren umfassend: als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: Empfangen eines gelabelten Datensatzes, der eine Mehrzahl gelabelter Beispiele enthält; Empfangen eines ungelabelten Datensatzes, der eine Mehrzahl ungelabelter Beispiele enthält; Identifizieren einer Mehrzahl gelabelter/ungelabelter Beispielpaare, wobei jedes gelabelte/ungelabelte Beispielpaar ein jeweiliges gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele enthält; Anwenden einer Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren; Berechnen latenter Darstellungsräume für jedes mindestens eine gelabelte/ungelabelte Beispielpaar unter Verwendung des Maschinenlernmodells; Erzeugen einer Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar unter Verwendung des Maschinenlernmodells; Berechnen einer Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen; Anwenden einer Optimierungsfunktion auf jede jeweilige Verlustfunktion; und Aktualisieren eines Gewichtungswerts für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion.
  2. Verfahren nach Anspruch 1, wobei das Maschinenlernmodell einen Merkmalextrahierer und ein oder mehrere Prädiktornetzwerke umfasst.
  3. Verfahren nach Anspruch 1, ferner umfassend das Trainieren des Maschinenlernmodells unter Verwendung des gelabelten Datensatzes und des ungelabelten Datensatzes, bei dem Beispiele anhand von vorhergesagten Labels propagiert werden.
  4. Verfahren nach Anspruch 1, wobei das Identifizieren der Mehrzahl gelabelter/ungelabelter Beispielpaare das Identifizieren der Mehrzahl gelabelter/ungelabelter Beispielpaare unter Verwendung eines Ähnlichkeitsgraphen umfasst, der dem gelabelten Datensatz und dem ungelabelten Datensatz zugeordnet ist.
  5. Verfahren nach Anspruch 4, wobei der Ähnlichkeitsgraph basierend auf mindestens einem von Experten abgeleiteten Ähnlichkeitsgraphen erzeugt wird.
  6. Verfahren nach Anspruch 1, wobei die Verlustfunktion eine Kombination von einem mittleren quadratischen Fehler für jede Labelvorhersage und einem Contrastive Loss umfasst.
  7. Verfahren nach Anspruch 1, wobei die Optimierungsfunktion eine stochastische Gradientenabstiegsoptimierungsfunktion umfasst.
  8. Verfahren nach Anspruch 1, wobei das Maschinenlernmodell konfiguriert ist, um mindestens eine Klassifizierungsaufgabe durchzuführen.
  9. Verfahren nach Anspruch 1, wobei das Maschinenlernmodell konfiguriert ist, um mindestens eine Regressionsaufgabe durchzuführen.
  10. System zum halbüberwachten Training eines Maschinenlernmodells, das System umfassend: einen Prozessor, und einen Speicher umfassend Anweisungen, die bei Ausführung durch den Prozessor den Prozessor veranlassen: als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: einen gelabelten Datensatz zu empfangen, der eine Mehrzahl gelabelter Beispiele enthält; einen ungelabelten Datensatz zu empfangen, der eine Mehrzahl ungelabelter Beispiele enthält; eine Mehrzahl gelabelter/ungelabelter Beispielpaare zu identifizieren, wobei jedes gelabelte/ungelabelte Beispielpaar ein jeweiliges gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele enthält; eine Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren anzuwenden; latente Darstellungsräume für jedes mindestens eine gelabelte/ungelabelte Beispielpaar unter Verwendung des Maschinenlernmodells zu berechnen; eine Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar unter Verwendung des Maschinenlernmodells zu erzeugen; eine Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen zu berechnen; eine Optimierungsfunktion auf jede jeweilige Verlustfunktion anzuwenden; und einen Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion zu aktualisieren
  11. System nach Anspruch 10, wobei das Maschinenlernmodell einen Merkmalextrahierer und ein oder mehrere Prädiktornetzwerke.
  12. System nach Anspruch 10, wobei die Anweisungen den Prozessor ferner dazu veranlassen, das Maschinenlernmodell unter Verwendung des gelabelten Datensatzes und des ungelabelten Datensatzes, bei dem Beispiele anhand von vorhergesagten Labels propagiert werden, zu trainieren.
  13. System nach Anspruch 10, wobei die Anweisungen den Prozessor ferner dazu veranlassen, die Mehrzahl gelabelter/ungelabelter Beispielpaare durch das Identifizieren der Mehrzahl gelabelter/ungelabelter Beispielpaare unter Verwendung eines Ähnlichkeitsgraphen, der dem gelabelten Datensatz und dem ungelabelten Datensatz zugeordnet ist, zu identifizieren.
  14. System nach Anspruch 13, wobei der Ähnlichkeitsgraph basierend auf mindestens einem von Experten abgeleiteten Ähnlichkeitsgraphen erzeugt wird.
  15. System nach Anspruch 10, wobei die Verlustfunktion eine Kombination von einem mittleren quadratischen Fehler für jede Labelvorhersage und einem Contrastive Loss umfasst.
  16. System nach Anspruch 10, wobei die Optimierungsfunktion eine stochastische Gradientenabstiegsoptimierungsfunktion umfasst.
  17. System nach Anspruch 10, wobei das Maschinenlernmodell konfiguriert ist, um mindestens eine Klassifizierungsaufgabe durchzuführen.
  18. System nach Anspruch 10, wobei das Maschinenlernmodell konfiguriert ist, um mindestens eine Regressionsaufgabe durchzuführen.
  19. Vorrichtung zum halbüberwachten Training eines Maschinenlernmodells, die Vorrichtung umfassend: einen Prozessor, und einen Speicher umfassend Anweisungen, die bei Ausführung durch den Prozessor den Prozessor veranlassen: als Reaktion darauf, dass mindestens ein Konvergenzkriterium nicht erfüllt ist: einen gelabelten Datensatz zu empfangen, der eine Mehrzahl gelabelter Beispiele enthält; einen ungelabelten Datensatz zu empfangen, der eine Mehrzahl ungelabelter Beispiele enthält; eine Mehrzahl gelabelter/ungelabelter Beispielpaare zu identifizieren, wobei jedes gelabelte/ungelabelte Beispielpaar ein jeweiliges gelabeltes Beispiel der gelabelten Beispiele und ein entsprechendes ungelabeltes Beispiel der Mehrzahl ungelabelter Beispiele enthält; eine Datenaugmentierungstransformation auf jedes gelabelte Beispiel und jedes entsprechende ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren anzuwenden; latente Darstellungsräume für jedes mindestens eine gelabelte/ungelabelte Beispielpaar unter Verwendung eines Merkmalextrahierers des Maschinenlernmodells zu berechnen; eine Labelvorhersage für jedes ungelabelte Beispiel für jedes gelabelte/ungelabelte Beispielpaar unter Verwendung eines oder mehrerer Prädiktornetzwerke des Maschinenlernmodells zu erzeugen; eine Verlustfunktion für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren basierend auf den jeweiligen Latenzdarstellungsräumen und den jeweiligen Labelvorhersagen zu berechnen, wobei die Verlustfunktion eine Kombination aus einem mittleren quadratischen Fehler jeder Labelvorhersage und eines Contrastive Loss umfasst; eine Optimierungsfunktion auf jede jeweilige Verlustfunktion anzuwenden; und einen Gewichtungswert für jedes gelabelte/ungelabelte Beispielpaar der Mehrzahl von gelabelten/ungelabelten Beispielpaaren als Reaktion auf die Anwendung der Optimierungsfunktion zu aktualisieren
  20. Vorrichtung nach Anspruch 19, wobei die Anweisungen den Prozessor ferner dazu veranlassen, das Maschinenlernmodell unter Verwendung des gelabelten Datensatzes und des ungelabelten Datensatzes, bei dem Beispiele anhand von vorhergesagten Labels propagiert werden, zu trainieren.
DE102023207516.4A 2022-08-16 2023-08-04 Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle Pending DE102023207516A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/888,849 US20240070449A1 (en) 2022-08-16 2022-08-16 Systems and methods for expert guided semi-supervision with contrastive loss for machine learning models
US17/888849 2022-08-16

Publications (1)

Publication Number Publication Date
DE102023207516A1 true DE102023207516A1 (de) 2024-02-22

Family

ID=89808511

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023207516.4A Pending DE102023207516A1 (de) 2022-08-16 2023-08-04 Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle

Country Status (3)

Country Link
US (1) US20240070449A1 (de)
CN (1) CN117592542A (de)
DE (1) DE102023207516A1 (de)

Also Published As

Publication number Publication date
US20240070449A1 (en) 2024-02-29
CN117592542A (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
DE102021125856A1 (de) Erkennen von feindlichen angriffen auf ein tiefes neuronales netz (deep neural network (dnn))
DE102021213118A1 (de) Verfahren und ein system für black-box-universalangriffe mit geringer abfrage
DE102023102316A1 (de) System und verfahren zur robusten erzeugung von pseudo-labels für die halb-überwachte objekterkennung
DE102022210129A1 (de) Bildverarbeitung über isotonische faltungs-neuronalnetze
DE102020215200A1 (de) System und verfahren eines verfahrens für robustes aktives lernen unter verwendung von verrauschten labels und domänenadaption
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
DE102021210721A1 (de) Verfahren und system zum adversarischen training unter verwendung metagelernter initialisierung
DE102023207516A1 (de) Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle
DE102021204943A1 (de) Meta-gelehrte evolutionsstrategie-blackbox-optimierungsklassifizierer
DE102023207515A1 (de) Systeme und Verfahren für expertengeführte Semiüberwachung mit Label-Propagation für maschinelle Lernmodelle
DE102022206063A1 (de) System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe
DE102023206752A1 (de) Verfahren und System auf Crown-Basis für gegnerische Angriffe
DE102021210392A1 (de) System und verfahren zum verwenden von störeffekten in einer mehrmodalen umgebung
US20230101812A1 (en) Monotone mean-field inference in deep markov random fields
DE102021210415A1 (de) Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings
DE102023202739A1 (de) Verfahren und System für einen komplexen Autoencoder, der zur Objektentdeckung verwendet wird
DE102023209384A1 (de) System und verfahren zur verteilungsbewussten zielvorhersage für modulare autonome fahrzeugsteuerung
US20230100765A1 (en) Systems and methods for estimating input certainty for a neural network using generative modeling
DE102023202402A1 (de) System und Verfahren zum Verbessern der Robustheit von vortrainierten Systemen in tiefen neuronalen Netzwerken unter Verwendung von Randomisierung und Sample-Abweisung
US20240096067A1 (en) Systems and methods for multi-teacher group-distillation for long-tail classification
DE102023209443A1 (de) System und Verfahren für Deep-Learning-basierte Tonvorhersage unter Verwendung von Beschleunigungsmesserdaten
US20230107917A1 (en) System and method for a hybrid unsupervised semantic segmentation
DE102023207534A1 (de) System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen

Legal Events

Date Code Title Description
R012 Request for examination validly filed