DE112020003498T5 - Erzeugung von trainings- und validierungsdaten für maschinelles lernen - Google Patents

Erzeugung von trainings- und validierungsdaten für maschinelles lernen Download PDF

Info

Publication number
DE112020003498T5
DE112020003498T5 DE112020003498.4T DE112020003498T DE112020003498T5 DE 112020003498 T5 DE112020003498 T5 DE 112020003498T5 DE 112020003498 T DE112020003498 T DE 112020003498T DE 112020003498 T5 DE112020003498 T5 DE 112020003498T5
Authority
DE
Germany
Prior art keywords
data
neural network
subset
candidate
confidence
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
DE112020003498.4T
Other languages
English (en)
Inventor
Namsoon Jung
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.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of DE112020003498T5 publication Critical patent/DE112020003498T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

Ein Verfahren zum Ermöglichen einer Labelingfähigkeit für Trainings- und Validierungsdaten in einem Edge-Gerät zur Unterstützung der Transferlernfähigkeit eines neuronalen Netzes wird bereitgestellt. Das Verfahren umfasst: Eingeben von Kandidatendaten in ein erstes neuronales Netzwerk, um die Kandidatendaten durch Auswählen einer Untermenge von Kandidatendaten auf Grundlage einer Ausgabe des ersten neuronalen Netzwerks zu filtern, Durchführen einer Konfidenzverbesserungsprüfung an der Untermenge von Kandidatendaten durch: (1) Durchführen einer Datenkonsistenzprüfung durch Erzeugen angereicherter Daten von allen Kandidatendaten aus der Untermenge von Kandidatendaten, (2) Eingeben der Untermenge von Kandidatendaten in ein zweites neuronales Netz, das unter Verwendung von Daten aus einer Umgebung trainiert wird, um eine zweite Konfidenzbedingung zu bestimmen, und (3) Durchführen eines Clustering an der Untermenge von Kandidatendaten, und automatisches Labeling der Untermenge von Kandidatendaten als Trainingsdaten nach Maßgabe eines Konfidenzniveaulabels.

Description

  • FACHGEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf die Ermöglichung einer automatischen Labelingfunktion für Trainings- und Validierungsdaten in einem Edge-Gerät zur Unterstützung der Transferlernfähigkeit neuronaler Netze.
  • HINTERGRUNDTECHNIK
  • Maschinelles Lernen ist ein Bereich der künstlichen Intelligenz, der ein Studiengebiet umfasst, das Computern die Fähigkeit zum Lernen verleiht, ohne ausdrücklich programmiert zu werden. Insbesondere ist maschinelles Lernen eine Technologie, die zur Erforschung und Konstruktion eines Systems zum Lernen, zur Vorhersage und zur Verbesserung seiner eigenen Leistung auf der Grundlage empirischer Daten und eines entsprechenden Algorithmus verwendet wird. Die Algorithmen des maschinellen Lernens arbeiten mit einer Methode zur Konstruktion eines spezifischen Modells, um die Vorhersage oder die Bestimmung auf der Grundlage der Eingabedaten zu erhalten, anstatt die streng definierten statischen Programmanweisungen auszuführen.
  • Die Lernmethode eines neuronalen Netzes wie eines Convolutional Neural Network (CNN) kann weitgehend in beaufsichtigtes Lernen, unbeaufsichtigtes Lernen, semi-beaufsichtigtes Lernen und Verstärkungslernen unterteilt werden. Beaufsichtigtes Lernen ist ein Systemtyp, bei dem sowohl Eingabe- als auch gewünschte Ausgabedaten bereitgestellt und zur Klassifizierung gelabelt werden, um eine Lerngrundlage für die weitere Datenverarbeitung zu schaffen. Unbeaufsichtigtes Lernen liegt vor, wenn ein Algorithmus nur Eingabedaten ohne entsprechende Ausgabewerte als Trainingsset erhält. Im Gegensatz zum beaufsichtigten Lernen gibt es keine vorgegebenen korrekten Ausgabewerte, also keine Lehrer. Stattdessen können die Algorithmen beim unbeaufsichtigten Lernen frei arbeiten, um mehr über die Daten zu lernen und Erkenntnisse zu präsentieren.
  • Das semibeaufsichtigte Lernen ist eine Kombination aus beaufsichtigten und unbeaufsichtigten Methoden des maschinellen Lernens und nutzt sowohl gelabelte Trainingsdaten als auch nicht gelabelte Trainingsdaten. Das Ziel des semibeaufsichtigten Lernens ist es, die nicht gelabelten Trainingsdaten in gelabelte Trainingsdaten umzuwandeln, indem die nicht gelabelten Trainingsdaten unter Verwendung der bereits gelabelten Trainingsdaten klassifiziert werden. Eines der Hauptmerkmale der semibeaufsichtigten Lernmethode ist daher die Nähe zwischen den gelabelten und den nicht gelabelten Daten. Verstärkungslernen ist eine Art des maschinellen Lernens, bei der ein Verstärkungsagent lernt, wie er sich in einer Umgebung verhalten soll, indem er Aktionen ausführt und die Ergebnisse sieht. Verstärkungslernen unterscheidet sich vom beaufsichtigtem Lernen dadurch, dass beim beaufsichtigten Lernen die Trainingsdaten mit dem Antwortschlüssel verknüpft sind, so dass das Modell selbst mit der korrekten Antwort trainiert wird. Im Gegensatz dazu gibt es beim Verstärkungslernen keine vorgegebene Antwort, so dass der Verstärkungsagent entscheidet, was zu tun ist, um die gegebene Aufgabe zu erfüllen.
  • Für ein beaufsichtigtes Lernverfahren mit einem neuronalen Faltungsnetzwerk ist es notwendig, Trainingsdaten zu labeln, die durch Sensoren, die mit einem Edge-Gerät verbunden sind, neu erfasst werden. Das Labeling von Trainingsdaten ist jedoch ein kostspieliger Prozess, da beaufsichtigte maschinelle Lernalgorithmen eine große Menge an Trainingsdaten benötigen. Die großen Mengen an Trainingsdaten erfordern auch einen erheblichen manuellen Arbeitsaufwand, um die Trainingsdaten manuell in ausreichender Menge zu labeln, damit die Leistung des trainierten neuronalen Netzes zu einem gewünschten Ergebnis konvergiert. Beispielsweise müssen beaufsichtigte Algorithmen für maschinelles Lernen über eine ausreichend große Menge an Trainingsdaten verfügen, damit die Klassifizierungsleistung in einem bestimmten Anwendungsbereich zu einer Genauigkeit führt, die höher ist als ein vorgegebener Mindestwert. Da es jedoch nicht praktikabel ist, die Trainingsdaten manuell zu labeln, wenn das Edge-Gerät an eine reale Umgebung geliefert wird, bietet die vorliegende Offenlegung ein neuartiges Verfahren zur Erzeugung von Trainingsdaten durch Labeling von Eingabedaten.
  • Es folgt daraus, dass eine mögliche Lösung zur Überwindung der Probleme bei der Beschaffung einer ausreichenden Anzahl von Trainingsdaten ohne manuelles Labeling darin besteht, automatisch Labels für Label-freie Daten zu erzeugen. Es gibt jedoch keine Garantie dafür, dass das neuronale Netz auf Basis der automatisch erzeugten gelabelten Trainingsdaten über einen längeren Zeitraum und nach einer Reihe von Aktualisierungen der Modellparameter innerhalb akzeptierter Parameter arbeitet. Daher besteht auch die Notwendigkeit, die Leistung eines neuronalen Netzes nach einer Reihe von Aktualisierungen der Modellparameter zu überprüfen.
  • Während des semibeaufsichtigten Lernens und/oder des unbeaufsichtigten Lernens kann ein Maschinenlernalgorithmus einen Satz von gelabelten Daten verwenden, um einen anderen Satz von nicht gelabelten Daten während einer Transferlernphase zu approximieren. Da die Ergebnisse der Approximation des Labeling jedoch von Natur aus nicht deterministisch sind, werden die vorgeschlagenen Labelingapproximationen und die daraus resultierende Ausgabe des Transferlernens unter Verwendung der approximierten Labels durch das neuronale Netz hinsichtlich des Ausmaßes von Änderungen und der Korrektheit validiert.
  • Die Validierung ist besonders wichtig, wenn das Transferlernen auf einem Edge-Gerät ausgeführt wird, weil es notwendig ist zu prüfen, ob die neu gelernten Modellparameter des neuronalen Netzes die Leistung des neuronalen Netzes verbessern, bevor die bereits vorhandenen Modellparameter aktualisiert werden. Da es auch nicht praktikabel ist, die neu gelernten Modellparameter manuell zu validieren, wenn das Edge-Gerät in die reale Umgebung ausgeliefert wird, stellt die vorliegende Offenbarung zudem ein neues Verfahren zur automatischen Validierung der neu gelernten Modellparameter während einer Trainingsphase auf dem Edge-Gerät bereit.
  • OFFENBARUNG DER ERFINDUNG
  • TECHNISCHES PROBLEM
  • Die vorliegende Offenbarung zielt darauf ab, eine automatische Labelingfunktion für Trainings- und Validierungsdaten in einem Edge-Gerät zu ermöglichen, um die Transferlernfähigkeit eines neuronalen Netzes zu unterstützen. Die vorliegende Offenbarung ist auch auf die automatische Validierung gerichtet, ob neu gelernte Modellparameter des neuronalen Netzes eine Leistung des neuronalen Netzes verbessern, bevor die bereits vorhandenen Modellparameter aktualisiert werden.
  • LÖSUNG DES PROBLEMS
  • Eine Ausführungsform der vorliegenden Offenbarung umfasst ein Verfahren, welches Kandidatendaten in ein erstes neuronales Netz eingibt, um die Kandidatendaten durch Auswählen einer Untermenge der Kandidatendaten auf Basis einer Ausgabe des ersten neuronalen Netzes zu filtern, wobei das erste neuronale Netz vortrainiert wird; eine Konfidenzverbesserungsprüfung an der Untermenge von Kandidatendaten durchführt durch: Durchführen einer Datenkonsistenzprüfung durch Erzeugen angereicherter Daten von allen Kandidatendaten aus der Untermenge von Kandidatendaten, wobei die erzeugten angereicherten Daten als Eingaben in das erste neuronale Netz verwendet werden, um eine erste Konfidenzbedingung für alle Daten der Untermenge von Kandidatendaten zu bestimmen, Eingeben der Untermenge von Kandidatendaten in ein zweites neuronales Netz, das unter Verwendung von Daten aus einer Umgebung trainiert wird, um eine zweite Konfidenzbedingung zu bestimmen, wobei das zweite neuronale Netz eine an die Umgebung überangepasste Version des ersten neuronalen Netzes ist, und Durchführen eines Clustering an der Untermenge von Kandidatendaten, wobei Ergebnisse des Clustering an der Untermenge von Kandidatendaten als Eingaben in einen dritten maschinellen Lernansatz verwendet werden, um eine dritte Konfidenzbedingung zu bestimmen; und die Untermenge von Kandidatendaten aus der Untermenge von Kandidatendaten nach Maßgabe eines Konfidenzniveaulabels basierend auf der ersten Konfidenzbedingung, der zweiten Konfidenzbedingung und der dritten Konfidenzbedingung automatisches als Trainingsdaten labelt.
  • Eine weitere Ausführungsform der vorliegenden Offenbarung zumfasst ein Gerät umfassend einen oder mehrere Prozessoren; einen nichtflüchtigen Speicher; und ein oder mehrere in dem nichtflüchtigen Speicher gespeicherte Programme, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, bewirken, dass das Edge-Gerät zur Durchführung konfiguriert ist von: Eingeben von Kandidatendaten in ein erstes neuronales Netz, um die Kandidatendaten durch Auswählen einer Untermenge der Kandidatendaten auf Basis einer Ausgabe des ersten neuronalen Netzes zu filtern, wobei das erste neuronale Netz vortrainiert wird; Durchführen einer Konfidenzverbesserungsprüfung an der Untermenge von Kandidatendaten durch: Durchführen einer Datenkonsistenzprüfung durch Erzeugen angereicherter Daten von allen Kandidatendaten aus der Untermenge von Kandidatendaten, wobei die erzeugten angereicherten Daten als Eingaben in das erste neuronale Netz verwendet werden, um eine erste Konfidenzbedingung für alle Daten der Untermenge von Kandidatendaten zu bestimmen, Eingeben der Untermenge von Kandidatendaten in ein zweites neuronales Netz, das unter Verwendung von Daten aus einer Umgebung trainiert wird, um eine zweite Konfidenzbedingung zu bestimmen, wobei das zweite neuronale Netz eine an die Umgebung überangepasste Version des ersten neuronalen Netzes ist, und Durchführen eines Clustering an der Untermenge von Kandidatendaten, wobei Ergebnisse des Clustering an der Untermenge von Kandidatendaten als Eingaben in einen dritten maschinellen Lernansatz verwendet werden, um eine dritte Konfidenzbedingung zu bestimmen; und automatisches Labeling der Untermenge von Kandidatendaten aus der Untermenge von Kandidatendaten nach Maßgabe eines Konfidenzniveaulabels basierend auf der ersten Konfidenzbedingung, der zweiten Konfidenzbedingung und der dritten Konfidenzbedingung. Die vorliegende Offenbarung ist nicht auf das beschränkt, was vorstehend beschrieben wurde, und andere Aspekte und Vorteile der vorliegenden Offenbarung, die vorstehend nicht erwähnt wurden, werden durch die folgende Beschreibung von Ausführungsformen der vorliegenden Offenbarung verstanden werden. Ferner versteht es sich, dass die Aspekte und Vorteile der vorliegenden Offenbarung durch die in den Ansprüchen beschriebenen Konfigurationen und Kombinationen derselben erreicht werden können.
  • Gemäß einiger Ausführungsformen umfasst ein elektronisches Gerät einen oder mehrere Prozessoren, einen nichtflüchtigen Speicher und ein oder mehrere Programme, wobei das eine oder die mehreren Programme in dem nichtflüchtigen Speicher gespeichert und so konfiguriert sind, dass sie von dem einen oder den mehreren Prozessoren ausgeführt werden können, wobei das eine oder die mehreren Programme Instruktionen zur Durchführung oder Bewirkung der Durchführung eines der hier beschriebenen Verfahren enthalten. In Übereinstimmung mit einigen Ausführungsformen enthält ein nichtflüchtiges, computerlesbares Speichermedium Instruktionen, die, wenn sie von einem oder mehreren Prozessoren eines elektronischen Geräts ausgeführt werden, das elektronische Gerät veranlassen, eines der hier beschriebenen Verfahren durchzuführen oder durchzuführen. In Übereinstimmung mit einigen Ausführungsformen enthält ein elektronisches Gerät: einen oder mehrere Prozessoren, einen nichtflüchtigen Speicher und Mittel zur Durchführung oder Veranlassung der Durchführung eines der hier beschriebenen Verfahren.
  • Figurenliste
  • Damit die vorliegende Offenbarung von Fachleuten verstanden werden kann, wird eine detailliertere Beschreibung durch Bezugnahme auf Aspekte einiger illustrativer Ausführungsformen gegeben, von denen einige in den beigefügten Zeichnungen dargestellt sind.
    • 1 ist ein Blockdiagramm eines Beispiels für ein Edge-Learning-Verarbeitungssystem gemäß einiger Ausführungsformen.
    • 2 ist ein Blockdiagramm, das Edge-Learning-Aufgaben in verschiedenen Stadien gemäß einiger Ausführungsformen zeigt.
    • 3 ist ein Flussdiagramm, das ein Verfahren zum automatischen Labeling von Trainings- und Validierungsdaten gemäß einiger Ausführungsformen darstellt.
    • 4 ist ein Flussdiagramm, das die Durchführung einer Konsistenzprüfung von Inferenzergebnissen in einer angereicherten Datengruppe gemäß einiger Ausführungsformen darstellt.
    • 5A ist ein Diagramm, das verschiedene Arten der Anpassung eines neuronalen Netzes gemäß einiger Ausführungsformen darstellt.
    • 5B ist ein Flussdiagramm, das die Verwendung von vortrainierten neuronalen Netzen zur Durchführung einer Konfidenzverbesserung unter Verwendung eines leicht überangepassten neuronalen Netzes gemäß einiger Ausführungsformen darstellt.
    • 6 ist ein Flussdiagramm, das die Verwendung von vortrainierten neuronalen Netzen zur Durchführung einer Konfidenzverbesserung unter Verwendung eines Clustering-Ansatzes gemäß einiger Ausführungsformen darstellt.
    • 7 ist ein Flussdiagramm zur Durchführung einer Konfidenzverbesserung gemäß einiger Ausführungsformen.
    • 8 ist eine Ausführungsform zur Durchführung einer Stratifizierung zur k-fachen Verwendung der angereicherten Validierungsdaten gemäß einiger Ausführungsformen.
    • 9 ist ein Flussdiagramm zur Validierung der Leistung eines vortrainierten neuronalen Netzes, das unter Verwendung automatisch gelabelter Trainings- und Validierungsdaten trainiert wurde, die auf Grundlage von einem Gerät gesammelter Daten erzeugt werden, gemäß einiger Ausführungsformen.
    • 10 ist ein Blockdiagramm eines Beispiels eines neuronalen Netzwerks gemäß einiger Ausführungsformen.
    • 11 ist ein Blockdiagramm eines Edge-Geräts gemäß einiger Ausführungsformen.
  • Gemäß üblicher Praxis können die verschiedenen in den Zeichnungen dargestellten Merkmale nicht maßstabsgetreu gezeichnet sein. Dementsprechend können die Abmessungen der verschiedenen Merkmale zum Zwecke der Klarheit willkürlich erweitert oder verkleinert sein. Darüber hinaus sind in einigen Zeichnungen möglicherweise nicht alle Komponenten eines bestimmten Systems, Verfahrens oder einer Vorrichtung dargestellt. Schließlich können in der gesamten Beschreibung und in den Figuren gleichartige Merkmale durch gleiche Bezugsziffern bezeichnet sein.
  • BESTER MODUS ZUR AUSFÜHRUNG DER ERFINDUNG
  • Nachfolgend werden die in der vorliegenden Spezifikation offengelegten Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen im Einzelnen beschrieben, wobei gleiche oder ähnliche Elemente unabhängig von einer Bezugsziffer mit der gleichen Bezugsziffer bezeichnet werden und eine erneute Beschreibung derselben unterbleibt. In der folgenden Beschreibung werden die Begriffe „Modul“ und „Einheit“ zur Bezeichnung von Elementen der Einfachheit halber austauschbar zugewiesen und verwendet, so dass die Begriffe an sich nicht unbedingt unterschiedliche Bedeutungen oder Funktionen haben. Wo immer möglich, werden in den Zeichnungen gleiche Bezugsziffern verwendet, um auf gleiche oder ähnliche Teile zu verweisen. In der folgenden Beschreibung werden bekannte Funktionen oder Strukturen, welche über die Substanz der vorliegenden Offenbarung Verwirrung stiften könnten, nicht erläutert. Die beigefügten Zeichnungen dienen dazu, verschiedene technische Merkmale zu erläutern, und es ist zu verstehen, dass die hier vorgestellten Ausführungsformen durch die beigefügten Zeichnungen nicht eingeschränkt werden. Als solche sollte die vorliegende Offenbarung so ausgelegt werden, dass sie sich auf alle Abwandlungen, Äquivalente und Substitute zusätzlich zu denen erstreckt, die in den beigefügten Zeichnungen besonders dargestellt sind.
  • Obwohl die Begriffe „erste“, „zweite“, „dritte“ und dergleichen hier verwendet werden können, um verschiedene Elemente, Komponenten, Regionen, Schichten und/oder Abschnitte zu beschreiben, sollen diese Elemente, Komponenten, Regionen, Schichten und/oder Abschnitte nicht durch diese Begriffe eingeschränkt werden. Diese Begriffe werden im Allgemeinen nur verwendet, um ein Element von einem anderen zu unterscheiden.
  • Wo ein Element oder eine Schicht als „auf“, „in Eingriff mit“, „verbunden mit“ oder „gekoppelt mit“ einem anderen Element oder einer anderen Schicht bezeichnet wird, kann es direkt auf, in Eingriff mit, verbunden oder gekoppelt mit dem anderen Element oder der anderen Schicht sein, oder es können dazwischen liegende Elemente oder Schichten vorhanden sein. Im Gegensatz dazu können dort, wo ein Element als „direkt auf‟, „direkt in Eingriff mit“, „direkt verbunden mit“ oder „direkt gekoppelt mit“ einem anderen Element oder einer anderen Schicht bezeichnet ist, keine dazwischenliegenden Elemente oder Schichten vorhanden sein.
  • 1 ist ein Blockdiagramm eines Beispiels für ein Edge-Learning-Verarbeitungssystem 100 in Übereinstimmung mit einigen Ausgestaltungen. Bei verschiedenen Ausführungsformen ist das beispielhafte Edge-Learning-Verarbeitungssystem 100 oder Teile hiervon in einem Edge-Gerät 150 (z.B. das in 11 gezeigte Edge-Gerät 1100), einer Steuerung oder einer geeigneten Kombination davon enthalten. Während relevante Merkmale gezeigt sind, werden diejenigen, die über gewöhnliche Fachkenntnisse verfügen, anhand der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht dargestellt wurden, um relevantere Aspekte der hier offenbarten Beispielausgestaltungen nicht zu verdecken. Zu diesem Zweck, als nicht einschränkendes Beispiel, umfasst das beispielhafte Edge-Learning-Verarbeitungssystem 100 mindestens einen Trainingsserver 110, ein Netzwerk 120, Sensoren 130, einen Controller 140 und ein Edge-Gerät 150. Bei einigen Ausgestaltungen umfasst der Trainingsserver 110 mindestens ein vortrainiertes neuronales Netz 112 und Parameter des neuronalen Netzes. Bei einigen Ausführungsformen umfassen die Sensoren 130 zumindest einen Bildsensor 132 und ein Mikrofon 134. Bei einigen Ausgestaltungen umfasst das Edge-Gerät 150 zumindest einen Speicher 160, einen oder mehrere Prozessoren 170, eine Trainingsdatenbank 910 und ein Edge-Learning-Modul 180.
  • Bei dem beispielhaften Edge-Learning-Verarbeitungssystem 100 bilden zwei verschiedene Arten von Neuronalnetz-Trainingsphasen für den Edge-Learning-Prozess. Die erste Phase des Neuronalnetz-Trainings wird auf dem Trainingsserver 110 durchgeführt. Die zweite Phase des Neuronalnetz-Trainings wird auf einem Edge-Gerät 150 mit einem oder mehreren Prozessoren 170 durchgeführt. Bei der zweiten Neuronalnetz-Trainingsphase wird das in der ersten Phase vortrainierte neuronale Netz 112 als Basisnetz verwendet. Die Systeme und Verfahren der vorliegenden Offenbarung werden zur Verfeinerung eines neuronalen Netzmodells in einem Transfer-Learning-Prozess angewendet, nachdem das Edge-Gerät 150 in einer lokal begrenzten physikalischen Umgebung eingesetzt wird. Bei diesem Ansatz wird davon ausgegangen, dass das neuronale Netz aus den Eingabedaten lernt, die von einem Edge-Gerät, das in einem begrenzten physischen Raum mit einer bekannten festen Anzahl von Klassen eingesetzt wird, erfasst werden. Dementsprechend können die Edge-Learning-Methoden in zahlreichen Arten von Unterhaltungselektronik und Geräten eingesetzt werden, die so konzipiert sind, dass sie künstliche Intelligenz und maschinelle Lerntechniken für ihre Dienste und Funktionen nutzen.
  • Während des Edge-Learning-Prozesses wird ein Teil der Eingabedaten (gesammelt z.B. von den Sensoren 130) für das Training und die Validierung des Transfer-Learning verwendet. Es gibt bestimmte Arten von neuronalen Netzen, bei denen die Trainingsdaten gelabelt, d.h. mit einem Label gekennzeichnet werden müssen. Ein Beispiel für ein neuronales Netz, das ein Labeling der Trainingsdaten erfordert, ist das beaufsichtigte Lernen mit einem CNN. Normalerweise werden die Trainingsdaten vor dem Trainingsprozess auf einem Trainingsserver 110 vor dem eigentlichen Trainingsprozess des neuronalen Netzs von menschlichen Kommentatoren gelabelt. Für Edge-Geräte wie das Edge-Gerät 150 ist es jedoch unpraktisch, die manuelle Kommentierung durchzuführen, um die Trainingsdaten zu labeln, wenn das Edge-Gerät 150 in einer realen Umgebung eingesetzt wird. Zum Beispiel ist es während des Trainingsprozesses des neuronalen Netzes nicht machbar, einen Benutzer des Edge-Geräts 150 zu bitten oder von ihm zu erwarten, die neu gewonnenen Trainingsdaten zu sammeln und zu labeln. Darüber hinaus ist es nicht praktikabel, die Wohnung eines jeden Verbrauchers zu betreten, um Daten zu sammeln und das Edge-Gerät 150 des Verbrauchers zu trainieren. Daher werden im Rahmen der vorliegenden Offenbarung die Trainingsdaten durch ein automatisches Labeling-Verfahren automatisch gelabelt (oder approximiert), nachdem das Edge-Gerät in der Wohnung eines Verbrauchers installiert wurde.
  • Der Trainingsserver 110 dient dazu, verschiedene Dienste im Zusammenhang mit dem Training und Testen eines vortrainierten neuronalen Netzes 112 bereitzustellen, das in einer Ausgestaltung der vorliegenden Offenbarung beschrieben wird. Ein Trainingsserver trainiert das vortrainierte neuronale Netz 112, bevor das Edge-Gerät 150 in einem lokal begrenzten physischen Raum eingesetzt wird. Ein vortrainiertes neuronales Netzmodell wird auf der Grundlage des Ziels einer Aufgabe entworfen und trainiert. Beispielsweise kann das vortrainierte neuronale Netz 112 auf dem Trainingsserver 110 in einer Fabrik vortrainiert werden, bevor die Edge-Geräte an die Verbraucher versandt werden. Dementsprechend handelt es sich beim Edge-Learning um einen Transfer-Learning-Ansatz, bei dem ein neuronales Basisnetzwerk für eine bestimmte Funktion (z.B. Bildklassifizierung) entworfen wird und dann das vortrainierte und optimierte neuronale Basisnetzwerk in einen Speicher 160 übertragen wird, auf den das Edge-Gerät 150 zugreifen kann.
  • Bei einigen Ausgestaltungen kann das Edge-Gerät 150 verschiedenen Verbrauchergeräten wie einem Roboter, einem Putzroboter, einem Kühlschrank, einem Fernseher, einer Klimaanlage oder ähnlichem entsprechen. Die Edge-Geräte können Geräten entsprechen, die so konzipiert sind, dass sie Funktionen der künstlichen Intelligenz wie Bildverarbeitung oder Spracherkennung umfassen. Bei einigen Ausführungsformen kann das Edge-Gerät 150 Bilder, Videos oder Audiodaten mit Hilfe des darin vorgesehenen Bildsensors 132 oder Mikrofons 134 erfassen, einige der erfassten Bilder, Videos oder Audiodaten im Speicher 160 des Edge-Geräts 150 speichern und einige der Bilder, Videos oder Audiodaten in einem Speicher eines mit einem Netzwerk 120 verbundenen Computers speichern, indem sie an den Computer übertragen werden.
  • Bei einigen Ausgestaltungen umfasst der Prozessor 170 zumindest ein Inferenzmodul 172 und ein Trainingsdaten-Steuermodul 174. Im Allgemeinen verwendet das Inferenzmodul 172 ein neuronales Netz zur Durchführung von Klassifizierungs- oder Regressionsergebnissen, und das Trainingsdaten-Steuermodul 174 führt Funktionen aus, die aus den Trainingsdaten lernen und das neuronale Netz für die Bewältigung bestimmter Aufgaben trainieren. Bei einigen Ausgestaltungen entspricht der eine oder die mehreren Prozessoren 170 einem oder mehreren neuromorphen Prozessoren (NMP), die auf dem Edge-Gerät 150 eingesetzt werden. Ein NMP ist eine besondere Art von Vorrichtung, die jegliche elektrischen Vorrichtungen umfasst, welche die natürlichen biologischen Strukturen des menschlichen Nervensystems nachahmen. Das Ziel eines NMP ist es, einer Maschine kognitive Fähigkeiten zu verleihen, indem Neuros in Silizium implementiert werden.
  • Bei einigen Ausgestaltungen ist das Inferenzmodul 172 so konfiguriert, dass es Inferenzergebnisse für Trainings- und Validierungsdaten erzeugt. Bei einigen Ausgestaltungen ist das Inferenzmodul 172 zudem so konfiguriert, dass es eine Inferenzkonsistenzprüfung in einer angereicherten Datengruppe durchführt, um zu prüfen, ob die Inferenzergebnisse der Trainings- und Validierungsdaten innerhalb der gleichen angereicherten Datengruppe konsistent sind. Die Inferenzkonsistenzprüfung in einer angereicherten Datengruppe wird weiter unten mit Bezug auf 4 genauer beschrieben.
  • Bei einigen Ausgestaltungen ist das Trainingsdaten-Steuermodul 174 so konfiguriert, dass es die Größe eines Mini-Bündels von Trainingsdaten bestimmt. Die Trainingsdaten können zunächst in ein kleineres Datenformat als die ursprünglichen Trainingsdaten konvertiert werden, um den Umfang der Datenverarbeitung zu verringern und den Durchsatz der Datenbandbreite zu erhöhen. Sofern bei einigen Ausgestaltungen die Trainingsdaten während der Trainingsphase konvertiert und quantisiert werden, behalten die Trainingsdaten Skalierungsinformationen für jede Quantisierung bei.
  • Bei einigen Ausgestaltungen ist das Trainingsdaten-Steuermodul 174 überdies so konfiguriert, dass es die Ausführung des neuronalen Netzes für das Edge-Learning so plant, dass die tatsächliche Ausführung des Edge-Learning-Prozesses vom Datensammelprozess getrennt werden kann. Beispielsweise können die Trainingsdaten während einer durch das Inferenzmodul 172 gesteuerten Inferenzphase gesammelt werden, und das tatsächliche Transferlernen, das durch das Trainingsdaten-Steuermodul 174 gesteuert wird, kann während einer Nicht-Inferenzphase stattfinden. Wie in 2 noch näher erläutert wird, ist die Ausführung der verschiedenen Prozesse in unterschiedlichen Phasen vorteilhaft, da dies dem Edge-Gerät 150 hilft, seine begrenzten Hardware-Ressourcen effizienter zu nutzen.
  • Bei einigen Ausgestaltungen kann der Speicher 160 einer doppelten Datenrate (DDR) entsprechen. Bei einigen Ausgestaltungen speichert der Speicher 160 zumindest Trainingsdaten, automatisch gelabelte Test- und Validierungsdaten, Referenzausgaben, Inferenzmodellparameter, Inferenzausgabedaten, eine Kopie des binären Inferenzmodells und neu vorgeschlagene Modellparameter.
  • Bei einigen Ausgestaltungen umfasst das Edge-Gerät 150 Sensoren 130 wie einen Bildsensor 132 und ein Mikrofon 134 zur Erfassung von Eingangssignalen, die visuellen Signalen und Audiosignalen entsprechen, die spezifisch für eine Umgebung sind. Bei einigen Ausgestaltungen werden die Eingabedaten an die Trainingsdatenbank 190 für den Zugriff durch das Edge-Learning-Modul 180 gesendet.
  • Die Eingabedaten können im Allgemeinen in drei verschiedene Gruppen unterteilt werden, je nach ihrer funktionalen Verwendung. In der ersten Gruppe können die Eingabedaten für das Training der neuronalen Netze in der zweiten Neuronalnetz-Trainingsphase auf dem Edge-Gerät 150 verwendet werden. In der zweiten Gruppe können die Eingabedaten zur Validierung der Ausgabe des aktuell trainierten neuronalen Netzes und zur Bereitstellung von Rückmeldungen für das aktuell trainierte neuronale Netz verwendet werden, um eine Feinabstimmung der Modellparameter auf dem Edge-Gerät 510 vorzunehmen. In der dritten Gruppe können die Eingabedaten zum Testen und Messen der endgültigen Leistung des neu trainierten neuronalen Netzmodells und zum Ableiten der Ausgabe des neuronalen Netzes verwendet werden. In diesem Fall wird die Inferenzausgabe an eine oder mehrere Anwendungsfunktionen gesendet, die die Inferenzausgabe für die beabsichtigten Anwendungsfälle der spezifischen Anwendung des Edge-Geräts 150 interpretieren und nutzen.
  • Bei einigen Ausgestaltungen ist das Edge-Learning-Modul 180 so konfiguriert, dass es eine Datenanreicherung (wie in 4 näher beschrieben), einen Konfidenzverbesserungsprozess (wie in den 5 und 6 näher beschrieben), ein Auto-Labeling der Trainings- und Validierungsdaten (wie in 7 näher beschrieben), eine Kurz- und Langzeitvalidierung (wie in den 8 und 9 näher beschrieben) und eine Aktualisierung der Parameter des neuronalen Netzes durchführt. Bei einigen Ausgestaltungen wird das Edge-Learning-Modul 180 durch das Trainingsdaten-Steuermodul 174 gesteuert und erhält Trainingsdaten aus der Trainingsdatenbank 190. Bei einigen Ausgestaltungen empfängt das Edge-Learning-Modul 180 Inferenzmodellparameter und Anweisungen aus dem Speicher 160 und speichert Modellparameter im Speicher 160.
  • Bei einigen Ausgestaltungen führt das Edge-Learning-Modul 180 einen Auto-Labeling-Prozess durch, der aus mehreren Algorithmen besteht, die das Label von Trainingsdaten approximieren (oder generieren). Die verschiedenen Algorithmen zur Approximierung der Label werden weiter unten in Bezug auf die 4, 5, 6 und 7 näher beschrieben. Nach Abschluss des Transfer-Learning werden die neu vorgeschlagenen Parameter in einem zweistufigen Validierungsverfahren (z.B. einer Kurzzeitvalidierung und einer Langzeitvalidierung) validiert. Ziel der Kurzzeitvalidierung ist es, zu überprüfen, ob die neu vorgeschlagenen Parameter tatsächlich zu besseren Leistungsergebnissen führen als das vorherige neuronale Netzmodell. Ziel der Langzeitvalidierung ist es, zu prüfen, ob eine Reihe von Modellparameteraktualisierungen, die über einen längeren Zeitraum durchgeführt wurden, dazu geführt haben, dass sich das neuronale Netz von einem akzeptablen Leistungsbereich für das Edge-Gerät entfernt hat. Wenn die neu vorgeschlagenen Parameter in dem zweistufigen Validierungsprozess eine Validierungsschwelle erfüllen, werden die neu vorgeschlagenen Parameter aktualisiert und an den Speicher 160 gesendet. Wenn die neu vorgeschlagenen Parameter die Validierungsschwelle nicht erfüllen, werden die neu vorgeschlagenen Parameter verworfen.
  • Bei einigen Ausgestaltungen ist der Controller 140 so konfiguriert, dass er den Edge-Learning-Prozess für das Edge-Gerät 150 verwaltet und koordiniert. Bei einigen Ausgestaltungen umfasst der Controller 140 eine geeignete Kombination aus Software, Firmware und/oder Hardware. Bei einigen Ausgestaltungen ist der Controller 140 ein Computergerät, das lokal oder entfernt bezüglich des Edge-Geräts 150 angeordnet ist. Beispielsweise kann der Controller 140 ein lokaler Server sein, der sich in der Umgebung befindet. In einem anderen Beispiel ist der Controller 140 ein entfernter Server, der sich außerhalb der Umgebung befindet (z.B. ein Cloud-Server, ein zentraler Server usw.). Bei einigen Ausgestaltungen ist der Controller 140 über einen oder mehrere drahtgebundene oder drahtlose Kommunikationskanäle (z.B. BLUETOOTH, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x usw.) mit dem Edge-Gerät 150 kommunikativ verbunden.
  • Bei einigen Ausgestaltungen sind der Trainingsserver 110 und das Edge-Gerät 150 zur Kommunikation über ein Netzwerk 120 verbunden. Das Netzwerk 120 kann ein beliebiges geeignetes Kommunikationsnetzwerk sein, einschließlich eines verdrahteten und eines drahtlosen Netzwerks, z.B. ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), das Internet, ein Intranet, ein Extranet und ein mobiles Netzwerk, z.B. ein Mobilfunknetz, ein Mobilfunksystem der dritten Generation (3G), Long Term Evolution (LTE), ein Mobilfunksystem der fünften Generation (5G), Wi-Fi-Netzwerke, ein Ad-hoc-Netzwerk und eine Kombination davon.
  • Das Netzwerk 120 kann eine Verbindung von Netzwerkelementen wie Hubs, Brücken, Routern, Schaltern und Gateways umfassen. Das Netzwerk 120 kann ein oder mehrere verbundene Netzwerke umfassen, darunter ein öffentliches Netzwerk wie das Internet und ein privates Netzwerk wie ein sicheres privates Unternehmensnetz. Das Netzwerk 120 kann beispielsweise eine Multinetzwerkumgebung umfassen. Der Zugang zu dem Netzwerk kann über ein oder mehrere drahtgebundene oder drahtlose Zugangsnetze erfolgen.
  • Das Edge-Gerät 150 kann Daten mit dem Trainingsserver 110 über ein 5G-Netzwerk übertragen und empfangen. Insbesondere kann das Edge-Gerät 150 eine Datenkommunikation mit dem Trainingsserver 110 durchführen, indem es mindestens einen der Dienste Enhanced Mobile Broadband (eMBB), Ultra Reliable and Low Latency Communications (URLLC) oder Massive Machine Type Communications (mMTC) über das 5G-Netzwerk nutzt.
  • eMBB ist ein mobiler Breitbanddienst, der z.B. Multimedia-Inhalte und drahtlosen Datenzugang bietet. Darüber hinaus können über eMBB verbesserte mobile Dienste wie Hotspots und Breitbandabdeckung zur Bewältigung des schnell wachsenden mobilen Datenverkehrs bereitgestellt werden. Über einen Hotspot kann das hohe Verkehrsaufkommen in einem Gebiet mit geringer Nutzermobilität und hoher Nutzerdichte abgewickelt werden. Durch die Breitbandabdeckung können eine weitreichende und stabile drahtlose Umgebung und die Mobilität der Nutzer gewährleistet werden.
  • Ein URLLC-Dienst definiert Anforderungen, die in Bezug auf Zuverlässigkeit und Übertragungsverzögerung von Datenübertragung und -empfang weit über die von LTE hinausgehen, und entspricht einem 5G-Dienst für die Automatisierung von Produktionsprozessen in der Industrie, Telemedizin, Fernchirurgie, Verkehr, Sicherheit und dergleichen.
  • mMTC ist ein übertragungsverzögerungsunempfindlicher Dienst, der eine relativ geringe Datenübertragungsmenge erfordert. Mit mMTC kann eine viel größere Anzahl von Endgeräten, wie z.B. Sensoren, gleichzeitig an ein drahtloses Zugangsnetz angeschlossen werden als mit herkömmlichen Mobiltelefonen. In diesem Fall sollte der Preis für das Kommunikationsmodul des Endgeräts günstig sein, und es besteht Bedarf an einer verbesserten Energieeffizienz und einer energiesparenden Technologie, die jahrelang ohne Batteriewechsel oder Aufladen betrieben werden kann.
  • Obwohl der Speicher 160, der/die Prozessor(en) 170, das Inferenzmodul 172, das Trainingsdaten-Steuermodul 174, die Trainingsdatenbank 190 und das Edge-Learning-Modul 180 als auf einem einzigen Edge-Gerät 150 befindlich dargestellt sind, sollte man verstehen, dass bei anderen Ausgestaltungen jedwede Kombination des Speichers 160, des/der Prozessors/Prozessoren 170, des Inferenzmoduls 172, des Trainingsdaten-Steuermoduls 174, der Trainingsdatenbank 190 und des Edge-Learning-Moduls 180 in separaten Rechenvorrichtungen untergebracht sein kann.
  • Wie der Fachmann weiß, können die separat dargestellten Elemente kombiniert und einige Elemente getrennt werden. Beispielsweise könnten einige der in 1 separat dargestellten Module in einem einzigen Modul implementiert sein, und die verschiedenen Funktionen eines einzelnen Moduls könnten bei verschiedenen Ausgestaltungen durch ein oder mehrere Module implementiert werden. Die tatsächliche Anzahl von Modulen und die Aufteilung bestimmter Funktionen sowie die Art und Weise, wie Merkmale unter ihnen aufgeteilt werden, variiert von einer Ausgestaltung zur anderen und hängt bei einigen Ausgestaltungen teilweise von der für eine bestimmte Ausgestaltung gewählten speziellen Kombination von Hardware, Software und/oder Firmware ab, wie dies für Fachleute verständlich ist.
  • Mit Bezug auf die Trainingsdaten für die hier erörterten neuronale Netze und als Hintergrundinformation ist ein neuronales Netz, das auch als künstliches neuronales Netz (ANN) bezeichnet wird, ein Datenverarbeitungssystem, das dem Mechanismus biologischer Neuronen und Interneuronenverbindungen nachgebildet ist und in dem eine Reihe von Neuronen, die als Knoten oder Verarbeitungselemente bezeichnet werden, in Schichten miteinander verbunden sind. Neuronale Netze können sich allgemein auf Modelle beziehen, bei denen künstliche Neuronen (Knoten) durch synaptische Verbindungen ein Netz bilden und Problemlösungsfähigkeiten erwerben, wenn die Stärke der synaptischen Verbindungen während des Trainings angepasst wird. Es gibt verschiedene Arten von ANNs, darunter neuronale Faltungsnetze (CNN), die im Allgemeinen für Bilderkennungsprozesse verwendet werden. Die Begriffe „künstliches neuronales Netz“ und „neuronales Netz“ können hier austauschbar verwendet werden.
  • Ein ANN kann eine Reihe von Schichten umfassen, die jeweils eine Anzahl von Neuronen enthalten. Darüber hinaus kann das ANN Synapsen umfassen, die die Neuronen miteinander verbinden. ANNs können also durch die folgenden drei Faktoren definiert werden: (1) ein Verbindungsmuster zwischen Neuronen in verschiedenen Schichten; (2) einen Lernprozess, der die synaptischen Gewichte aktualisiert; und (3) eine Aktivierungsfunktion, die einen Ausgabewert aus einer gewichteten Summe von Eingaben erzeugt, die von einer unteren Schicht empfangen werden. ANNs können überdies Netzwerkmodelle wie ein tiefes neuronales Netz (DNN), ein rekurrentes neuronales Netz (RNN), ein bidirektionales rekurrentes tiefes neuronales Netz (BRDNN) und eine Mehrschicht-Perzeption (MLP) umfassen, sind aber nicht darauf beschränkt.
  • Ein ANN kann je nach Anzahl der Schichten als ein- oder mehrschichtiges neuronales Netz klassifiziert werden. Ein allgemeines einschichtiges neuronales Netz besteht aus einer Eingabeschicht und einer Ausgabeschicht. Darüber hinaus besteht ein allgemeines mehrschichtiges neuronales Netz aus einer Eingabeschicht, einer oder mehreren verborgenen Schichten und einer Ausgabeschicht.
  • Die Eingabeschicht empfängt Daten aus einer externen Quelle, und die Anzahl der Neuronen in der Eingabeschicht ist identisch mit der Anzahl der Eingabevariablen. Die versteckte Schicht befindet sich zwischen der Eingabeschicht und der Ausgabeschicht und empfängt Signale von der Eingabeschicht, extrahiert Merkmale und leitet die extrahierten Merkmale an die Ausgabeschicht weiter. Die Ausgabeschicht empfängt ein Signal von der verborgenen Schicht und gibt auf der Grundlage des empfangenen Signals einen Ausgabewert aus. Eingangssignale zwischen den Neuronen werden summiert, nachdem sie mit entsprechenden Verbindungsstärken (synaptischen Gewichten) multipliziert wurden, und wenn diese Summe einen Schwellenwert eines entsprechenden Neurons überschreitet, kann das Neuron aktiviert werden und einen durch eine Aktivierungsfunktion erhaltenen Ausgabewert ausgeben.
  • Ein tiefes neuronales Netz mit mehreren verborgenen Schichten zwischen der Eingabeschicht und der Ausgabeschicht ist der repräsentativste Typ eines künstlichen neuronalen Netzes, das tiefes Lernen ermöglicht, was eine Technik des maschinellen Lernens ist.
  • Ein neuronales Netz kann anhand von Trainingsdaten trainiert werden. Dabei kann sich das Training auf den Prozess der Bestimmung von Parametern des künstlichen neuronalen Netzes unter Verwendung der Trainingsdaten beziehen, um Aufgaben wie Klassifizierung, Regressionsanalyse und Clustering der eingegebenen Daten durchzuführen. Zu diesen Parametern des künstlichen neuronalen Netzes können auf die Neuronen angewendete synaptische Gewichte und Bias gehören. Ein neuronales Netz, das anhand von Trainingsdaten trainiert wird, kann eingegebene Daten nach einem Muster innerhalb der eingegebenen Daten klassifizieren.
  • In der vorliegenden Beschreibung wird ein neuronales Netz wie ein CNN, das anhand von Trainingsdaten trainiert wird, als trainiertes Modell bezeichnet. Nachfolgend werden Lemparadigmen eines neuronalen Netzes im Detail beschrieben.
  • Lernparadigmen eines neuronalen Netzes lassen sich in beaufsichtigtes Lernen, unbeaufsichtigtes Lernen, semi-beaufsichtigtes Lernen und verstärkendes Lernen einteilen.
  • Beaufsichtigtes Lernen ist eine Methode des maschinellen Lernens, bei der eine einzelne Funktion aus den Trainingsdaten abgeleitet wird. Unter den Funktionen, die auf diese Weise abgeleitet werden können, kann eine Funktion, die einen kontinuierlichen Bereich von Werten ausgibt, als Regressor bezeichnet werden, und eine Funktion, die die Klasse eines Eingangsvektors vorhersagt und ausgibt, kann als Klassifikator bezeichnet werden. Beim beaufsichtigten Lernen kann ein CNN mit Trainingsdaten trainiert werden, denen ein Label zugewiesen wurde. Dabei kann sich das Label auf eine Zielantwort (oder einen Ergebniswert) beziehen, die vom künstlichen neuronalen Netz zu erraten ist, wenn die Trainingsdaten in das künstliche neuronale Netz eingegeben werden. In der vorliegenden Beschreibung kann die Zielantwort (oder ein Ergebniswert), die bzw. der vom CNN bei der Eingabe der Trainingsdaten zu erraten ist, als Label oder Labeling-Daten bezeichnet werden.
  • Darüber hinaus kann in der vorliegenden Beschreibung die Zuweisung eines oder mehrerer Labels zu den Trainingsdaten, um ein CNN zu trainieren, als Labeling der Trainingsdaten mit Labeling-Daten bezeichnet werden. Trainingsdaten und Labels, die den Trainingsdaten entsprechen, können zusammen einen einzigen Trainingssatz bilden, und als solcher können sie in ein künstliches neuronales Netz als Trainingssatz eingespeist werden. Unterdessen können die Trainingsdaten eine Reihe von Merkmalen aufweisen, und die mit den Labeln versehen Trainingsdaten können als die Merkmale interpretiert werden, die die mit den Labeln versehenen Trainingsdaten aufweisen. Dabei können die Trainingsdaten ein Merkmal eines Eingabeobjekts als Vektor darstellen. Unter Verwendung von Trainingsdaten und Labeling-Daten kann der CNN eine Korrelationsfunktion zwischen den Trainingsdaten und den Labeling-Daten ableiten. Durch Auswertung der vom neuronalen Netz abgeleiteten Funktion kann dann ein Parameter des neuronalen Netzes bestimmt (z.B. optimiert) werden.
  • Unbeaufsichtigtes Lernen ist eine Methode des maschinellen Lernens, die aus Trainingsdaten lernt, denen kein Label zugewiesen wurde. Genauer gesagt kann unbeaufsichtigtes Lernen ein Trainingsverfahren sein, bei dem ein neuronales Netz so trainiert wird, dass es ein Muster in gegebenen Trainingsdaten entdeckt und eine Klassifizierung unter Verwendung des entdeckten Musters vornimmt, anstatt eine Korrelation zwischen gegebenen Trainingsdaten und den gegebenen Trainingsdaten entsprechenden Labels zu verwenden. Beispiele für unbeaufsichtigtes Lernen sind u.a. Clustering und unabhängige Komponentenanalyse.
  • Semi-beaufsichtigtes Lernen ist eine Methode des maschinellen Lernens, bei der sowohl gelabelte als auch ungelabelte Trainingsdaten verwendet werden. Eine Technik des semi-beaufsichtigten Lernens besteht darin, das Label von ungelabelten Trainingsdaten zu beurteilen und dann dieses geurteilte Label für das Lernen zu verwenden. Diese Technik kann vorteilhaft sein, wenn die mit dem Labeling-Prozess verbundenen Kosten hoch sind.
  • Verstärkungslemen kann auf einer Theorie beruhen, die besagt, dass bei gegebener Bedingung, unter welcher ein Verstärkungslern-Agent bestimmen kann, welche Aktion zu einem jeweiligen Zeitpunkt zu wählen ist, der Agent einen optimalen Pfad zu einer Lösung allein auf der Grundlage von Erfahrung ohne Bezugnahme auf Daten finden kann. Verstärkungslemen kann hauptsächlich durch einen Markov-Entscheidungsprozess (MDP) durchgeführt werden. Der Markov-Entscheidungsprozess besteht aus vier Phasen: Erstens wird einem Agenten eine Bedingung gegeben, die Informationen umfasst, die für die Durchführung einer nächsten Aktion erforderlich sind; zweitens wird definiert, wie sich der Agent unter der Bedingung verhält; drittens wird festgelegt, welche Aktionen der Agent wählen sollte, um Belohnungen zu erhalten, und welche Aktionen er wählen sollte, um Bestrafungen zu erhalten; und viertens iteriert der Agent, bis die zukünftige Belohnung maximiert ist, wodurch eine optimale Strategie abgeleitet wird.
  • Ein neuronales Netz wird durch Merkmale seines Modells charakterisiert, zu denen eine Aktivierungsfunktion, eine Verlustfunktion oder Kostenfunktion, ein Lernalgorithmus, ein Optimierungsalgorithmus usw. gehören. Außerdem werden die Hyperparameter vor dem Lernen festgelegt, und Modellparameter können durch das Lernen festgelegt werden, um die Architektur des künstlichen neuronalen Netzes zu bestimmen. Die Struktur eines neuronalen Netzes kann beispielsweise durch eine Reihe von Faktoren bestimmt werden, darunter die Anzahl der versteckten Schichten, die Anzahl der versteckten Knoten in jeder versteckten Schicht, die Vektoren der Eingangsmerkmale, die Vektoren der Zielmerkmale und so weiter.
  • Im Allgemeinen wird ein neuronales Netz zunächst trainiert, indem Hyperparameter experimentell auf verschiedene Werte festgelegt werden. Auf der Grundlage der Trainingsergebnisse können die Hyperparameter auf optimale Werte festgelegt werden, die eine stabile Lernrate und Genauigkeit gewährleisten. Zu den Hyperparametern können verschiedene Parameter gehören, die ähnlich wie die Anfangswerte der Modellparameter zunächst für das Lernen festgelegt werden müssen. Auch die Modellparameter können verschiedene Parameter umfassen, die durch Lernen ermittelt werden sollen. Zu den Hyperparametern können beispielsweise Anfangswerte der Gewichte und des Bias zwischen den Knoten, die Größe der Mini-Bündel, die Iterationszahl, die Lernrate usw. gehören. Darüber hinaus können die Modellparameter ein Gewicht zwischen Knoten, einen Bias zwischen Knoten usw. umfassen.
  • Die Verlustfunktion kann als Index (Referenz) bei der Bestimmung eines optimalen Modellparameters während des Lernprozesses eines künstlichen neuronalen Netzes verwendet werden. Das Lernen in einem neuronalen Netz beinhaltet einen Prozess der Anpassung von Modellparametern, um die Verlustfunktion zu reduzieren, und der Zweck des Lernens kann darin bestehen, die Modellparameter zu bestimmen, die die Verlustfunktion minimieren. Verlustfunktionen verwenden typischerweise den mittleren quadratischen Fehler (MSE) oder den Kreuzentropie-Fehler (CEE), aber die vorliegende Offenbarung ist darauf nicht beschränkt.
  • Der Kreuzentropie-Fehler kann verwendet werden, wenn ein wahres Label „one-hot“-kodiert wird. Die One-Hot-Kodierung kann eine Kodierungsmethode beinhalten, bei der von gegebenen Neuronen nur diejenigen, die einer Zielantwort entsprechen, den Wert 1 als wahres Label erhalten, während diejenigen Neuronen, die der Zielantwort nicht entsprechen, den Wert 0 als wahres Label erhalten.
  • Beim maschinellen Lernen oder tiefen Learning können Lernoptimierungsalgorithmen eingesetzt werden, um eine Kostenfunktion zu minimieren. Beispiele für solche Lernoptimierungsalgorithmen sind Gradientenabnahme (GD), stochastische Gradientenabnahme (SGD), Momentum, Nesterov-Beschleunigungsgradient (NAG), Adagrad, AdaDelta, RMSProp, Adam und Nadam.
  • GD umfasst ein Verfahren, das Modellparameter unter Verwendung einer aktuellen Steigung der Kostenfunktion in einer Richtung anpasst, die die Ausgabe einer Kostenfunktion senkt. Die Richtung, in der die Modellparameter angepasst werden sollen, kann als Schrittrichtung bezeichnet werden, und eine Größe, um die die Modellparameter angepasst werden sollen, kann als Schrittgröße bezeichnet werden. Dabei kann die Schrittweite eine Lernrate bedeuten. GD ermittelt eine Steigung der Kostenfunktion durch Verwendung partieller Differentialgleichungen, bei denen jeder Modellparameter verwendet wird, und aktualisiert die Modellparameter durch Anpassung der Modellparameter um eine Lernrate in Richtung der Steigung.
  • SGD kann eine Methode umfassen, die den Trainingsdatensatz in Mini-Bündel aufteilt und die Häufigkeit der Gradientenabnahme erhöht, indem die Gradientenabnahme für jedes dieser Mini-Bündel durchgeführt wird.
  • Adagrad, AdaDelta und RMSProp können Methoden umfassen, die die Optimierungsgenauigkeit bei SGD durch Anpassung der Schrittgröße erhöhen, und können auch Methoden umfassen, die die Optimierungsgenauigkeit bei SGD durch Anpassung des Momentum und der Schrittrichtung erhöhen. Adam kann eine Methode umfassen, die Momentum und RMSProp kombiniert und die Optimierungsgenauigkeit bei SGD durch Anpassung der Schrittgröße und Schrittrichtung erhöht. Nadam kann eine Methode umfassen, die NAG und RMSProp kombiniert und die Optimierungsgenauigkeit durch Anpassung der Schrittgröße und Schrittrichtung erhöht.
  • Lernrate und Genauigkeit eines künstlichen neuronalen Netzes hängen nicht nur von der Struktur und den Lernoptimierungsalgorithmen des künstlichen neuronalen Netzes ab, sondern auch von dessen Hyperparametern. Um ein gutes Lernmodell zu erhalten, ist es daher wichtig, eine geeignete Struktur und Lernalgorithmen für das künstliche neuronale Netz zu wählen, aber auch geeignete Hyperparameter zu wählen.
  • 2 ist ein Blockdiagramm, das Aufgaben des Edge-Learning in verschiedenen Stadien in Übereinstimmung mit einigen Ausgestaltungen zeigt. Fachleute werden verstehen, dass das vereinfachte Blockdiagramm 200 lediglich die grundlegenden Informationen zur Veranschaulichung der Hauptkomponenten des gesamten Edge-Learning-Prozesses umfasst, der in anderen Abschnitten beschrieben wird. Während also bestimmte spezifische Merkmale illustriert sind, wird der Fachmann aus der vorliegenden Offenbarung ersehen, dass verschiedene andere Merkmale der Kürze halber nicht dargestellt wurden, um relevantere Aspekte des vereinfachten Blockdiagramms 200 nicht zu verdecken, da diese zur Beschreibung hervorstechenderer Merkmale der verschiedenen oben offenbarten Ausführungsformen verwendet werden. Nichtsdestotrotz werden Fachleute die Interaktion zwischen den verschiedenen Stadien von Edge-Learning-Aufgaben zu schätzen wissen.
  • Das neuronale Hauptinferenznetz ist so konzipiert und trainiert, dass es maschinelles Lernen unterstützt. Beispielsweise kann ein CNN (z.B. das in 11 beschriebene neuronale Faltungsnetz 1000) für eine Bildklassifizierungsaufgabe für einen vordefinierten Satz von Klassen mit Trainingsbilddaten ausgelegt werden. Bei einigen Ausgestaltungen wird ein bekanntes Deep-Learning-Software-Gerüst verwendet, um die Parameterdatei und die Beschreibungsdateien des neuronalen Netzes zu erstellen. Bekannte Deep-Learning-Software-Gerüste können zur Ausgestaltung des vortrainierten neuronalen Netzes (z.B. das in 1 gezeigte vortrainierte neuronale Netz 112) verwendet werden, darunter Caffe, TensorFlow oder Keras. Das Deep-Learning-Software-Gerüst wird auch zum Trainieren des Netzes auf der Grundlage der zuvor erfassten Trainingsdaten verwendet. Bei einigen Ausgestaltungen kann ein Controller (z.B. der in 1 dargestellte Controller 140) den Prozess der Edge-Learning-Aufgaben in verschiedenen Phasen überwachen.
  • Während einer Prä-Inferenzphase 201 überträgt ein Trainingsserver (z.B. der in 1 gezeigte Trainingsserver 110) Parameter des Inferenzmodells und Anweisungen für die RISCV-Binärdateien (wie z.B. Datenpartitionierung) an das Edge-Gerät (z.B. das in 1 gezeigte Edge-Gerät 150). Je nach Konfiguration können die Daten in einen quantisierten Datentyp umgewandelt und die Funktionsaufrufe des neuronalen Netzes auf für das Edge-Gerät erkennbare Anweisungen abgebildet werden.
  • Bei einigen Ausgestaltungen, bei denen der Prozessor (z.B. der in 1 gezeigte Prozessor 170) einem NMP entspricht, werden die Dateien während der Prä-Inferenzphase an ein Konvertermodul weitergeleitet, das ein herkömmliches neuronales Netz in ein NMP-Netz wandelt, das das Edge-Gerät erkennen kann. Der Konverter analysiert und passt die optimale Präzision der Modellparameterwerte an. Je nach Ausführungsszenario können die Modellparameterwerte zur schnelleren Anbindung auch quantisiert werden. Schließlich wird das NMP-Netz komprimiert und eine Inferenzdatei auf der Grundlage des NMP-erkennbaren Netzes erstellt.
  • In Anlehnung an das obige Beispiel, bei dem der Prozessor einem NMP entspricht, analysiert ein Mapper während der Prä-Inferenzphase die Schnittstellendatei und ordnet die NMP-erkennbaren Netzbeschreibungen einem Satz von Funktionsaufrufen zu, die auf dem NMP ausgeführt werden können. Die gemappten Funktionsaufrufe erzeugen eine ausführbare Binärdatei, die mit den gemeinsam genutzten Bibliotheken in einem Speicher (z.B. dem in 1 dargestellten Speicher 160) auf dem Edge-Gerät verknüpft wird. Der Mapper erzeugt auch ein Szenario für die Speichersteuerung. Die gemeinsam genutzten Bibliotheken können aus einer oder mehreren hardwarespezifischen primitiven Anwendungsprogrammierschnittstellen (APIs), APIs für mathematische Funktionen und APIs für neuronale Netzebenen bestehen. Anschließend lädt der NMP den Laufzeitcode und führt die Klassifizierungsaufgabe für gegebene Eingabedaten aus.
  • Während einer Inferenzphase 203 sammelt das Edge-Learning-Verarbeitungssystem (z.B. das in 1 gezeigte Beispiel eines Edge-Learning-Verarbeitungssystems 100) Daten und führt eine Vorwärtsberechnung für die Inferenz durch. Bei einigen Ausgestaltungen kann die Vorwärtsberechnung auch sowohl für Inferenz als auch für Auto-Labeling durchgeführt werden. Wenn die Inferenz für das Auto-Labeling durchgeführt wird, werden die Inferenz-Ausgabedaten aufbewahrt und an den Auto-Labeling-Prozess übertragen, um Label-Kandidaten für die separat zugewiesenen Daten während des Edge-Trainings zu liefern.
  • Bei einigen Ausgestaltungen kann das Auto-Labeling während der Inferenzphase 203 während des Betriebs des Edge-Geräts durchgeführt werden. Die Durchführung des Auto-Labeling während des Betriebs wird jedoch in der Regel nicht empfohlen, da das Edge-Gerät gezwungen ist, die Hardware-Ressourcen mit dem Inferenzprozess zu teilen. Diese parallelen Prozesse können die Hardware-Ressourcen und die Bandbreite übermäßig belasten.
  • Während einer Datensammel- und -aufbereitungsphase 205 sammelt und speichert ein Steuergerät (z.B. der in 1 gezeigte Controller 140) Trainings- und Validierungsdaten parallel zum Inferenzprozess. Je nach Konfiguration werden die Trainings- und Validierungsdaten gesampelt und in Mini-Bündel von Datensätzen organisiert. Ein Schritt des Datensampling bedeutet, dass nicht alle gesammelten Eingabedaten für das Training oder die Validierung verwendet werden. Daher wird eine Untermenge der neu erfassten Eingabedaten, die ein Sampling-Kriterium erfüllen, für das Training und die Validierung ausgewählt.
  • Bei dem Sampling-Schritt führt bei einigen Ausgestaltungen führt das Edge-Learning-Verarbeitungssystem ein Sampling durch, indem es ein dediziertes neuronales Netz für das Sampling verwendet. Bei einigen Ausgestaltungen ist das dedizierte Trainings- und Validierungsdaten-Sampling-Netz ein einfacheres und kleineres neuronales Netz als das neuronale Hauptinferenznetz. Der Zweck des zusätzlichen Trainings- und Validierungsdaten-Sampling-Netzes besteht darin, die Qualität der Eingabedaten für die nachfolgenden Auto-Labeling-Aufgaben zu kontrollieren.
  • Beim Schritt der Datenanreicherung reichert das Edge-Learning-Verarbeitungssystem alle gesampelten Trainings- und Validierungsdaten für zwei Hauptzwecke an. Der erste Zweck besteht darin, die Größe der Trainingsdaten durch eine Variation der ursprünglichen Trainingsdaten zu erhöhen. Der zweite Zweck besteht darin, eine Gruppe von Trainingsdaten bereitzustellen, die in der Validierungsphase verwendet werden. Eine Hauptannahme bei der Verwendung von Gruppen angereicherter Daten basiert auf der Tatsache, dass die angereicherten Daten in der Gruppe, die aus den Quellendaten angereichert wurde, das gleiche Label wie die Quellendaten haben sollten. Daher kann das Edge-Learning-Verarbeitungssystem 100 die Inferenzausgabe für die angereicherten Daten in der gleichen Gruppe wie die Quellendaten mit der Inferenzausgabe der Quellendaten vergleichen und überprüfen, ob die Daten in dieser angereicherten Datengruppe das gleiche Label enthalten oder nicht. Dieser Vergleich hilft bei der Feststellung, ob das Inferenzergebnis korrekt ist oder nicht, je nachdem, ob sich eine Inferenzausgabe von den anderen in der gleichen Gruppe unterscheidet.
  • Im Featuring/Vektorisierungs-Schritt wandelt das Edge-Learning-Modul 180 die Trainingsdaten in Merkmalsvektoren um, die im neuronalen Netz als Eingangsvektoren verwendet werden. Jede andere Vorverarbeitung, die die Qualität der Trainingsdaten erhöhen kann, kann ebenfalls in dieser Phase durchgeführt werden. Auch das Datenformat der Trainingsdaten kann je nach Konfiguration des neuronalen Netzes geändert werden. Wenn eine Quantisierung erforderlich ist, können die Daten in einen anderen Datentyp konvertiert werden.
  • Während der Auto-Labeling-Phase 207 führt das Edge-Learning-Verarbeitungssystem 100 eine Vorwärts-Berechnung durch, um Auto-Labeling durchzuführen. Die Durchführung von Auto-Labeling während des Betriebs des Edge-Geräts wird nicht empfohlen, da der Auto-Labeling-Prozess Hardware-Ressourcen mit dem primären Inferenzprozess des Edge-Geräts teilt. Diese beiden parallelen Prozesse würden die Hardwareressourcen und die Bandbreite übermäßig belasten. Dementsprechend wird der Auto-Labeling-Prozess in der Regel durchgeführt, wenn sich das Edge-Gerät 150 in einer Docking-Station befindet und nicht seine eigene primäre Inferenzaufgabe ausführt, um die Hardware-Ressourcen effizienter zu nutzen und das Risiko von Engpässen bei der Datenübertragung zu vermeiden.
  • Während der Edge-Learning-Phase 209 verwendet das Edge-Learning-Modul 180 auto-gelabelte Trainingsdaten aus der vorherigen Phase (z.B. Auto-Labeling-Phase 207). Hier führt das Edge-Learning-Verarbeitungssystem 100 eine SGD-Berechnung und Rückpropagieumg über die auto-gelabelten Trainingsdaten durch, um einen Satz neuer Modellparameter zu lernen. Dies ermöglicht es dem Edge-Learning-Verarbeitungssystem 100, einen neuen Satz von Modellparametern als potentielle Updates des Edge-Learning-Verarbeitungssystems 100 vorzuschlagen.
  • Während der Post-Edge-Learning-Phase 211 validiert das Edge-Learning-Modul 180 den neuen Satz von Modellparametern mit gesampelten Validierungsdaten. Konkret validiert das Edge-Learning-Verarbeitungssystem 100 die neu vorgeschlagenen Modellparameterkandidaten durch einen Kurzzeitvalidierungsschritt und einen Langzeitvalidierungsschritt. Wie oben erläutert, besteht das Ziel des KurzzeitValidierungsprozesses darin, zu überprüfen, ob die neu vorgeschlagenen Modellparameter, die von dem Edge-Learning-Modul (z.B. dem in 1 gezeigten Edge-Learning-Modul 180) vorgeschlagen wurden, tatsächlich eine bessere Leistung erzeugen, indem die Ausgabe des vorherigen neuronalen Netzmodells mit einer Ausgabe des neuen neuronalen Netzmodells mit den vorgeschlagenen Modellparametern verglichen wird. Ziel der Langzeitvalidierung ist es, zu prüfen, ob eine Reihe von Modellaktualisierungen, die über einen bestimmten Zeitraum hinweg durchgeführt werden, von den ursprünglich vorgesehenen Leistungsgrenzen abweichen können. Ein weiteres Ziel der Langzeitvalidierung ist es, zu überprüfen, ob die Langzeitaktualisierung nicht dazu geführt hat, dass das Modell des neuronalen Netzes von einem akzeptablen Leistungsbereich des Edge-Geräts abweicht, der von einem Trainingsserver (z.B. dem in 1 dargestellten Trainingsserver 110) vorgegeben werden kann.
  • Bei dem Validierungsschritt validiert das Edge-Learning-Verarbeitungssystem die vorgeschlagenen Modellparameter mit einem Kurzzeitvalidierungsverfahren. Der Kurzzeitvalidierungsprozess wird in 9 näher erläutert. Auf der Grundlage des Kurzzeitvalidierungsprozesses bestimmt das Edge-Learning-Verarbeitungssystem, ob das neuronale Inferenznetz mit den neu erlernten Modellparametern aktualisiert werden soll oder nicht. Wenn die endgültige Entscheidung lautet, das neuronale Inferenznetz zu aktualisieren, überträgt das Edge-Learning-Modul 180 neu gelernte Modellparameter in den Speicher 160, um die bereits vorhandenen Modellparameter zu ersetzen. Wenn die endgültige Entscheidung lautet, das neuronale Inferenznetz nicht zu aktualisieren, ignoriert das Edge-Learning-Modul 180 die neu vorgeschlagenen Modellparameter, und das Edge-Gerät 150 kehrt zur Prä-Inferenzstufe 201 zurück.
  • Nach einer Reihe von Aktualisierungen der Modellparameter des neuronalen Netzes, die auf der Verwendung automatisch gelabelter Trainings- und Validierungsdaten beruhen, kann die Reihe von Aktualisierungen der Parameter des neuronalen Netzes zu einer größeren Abweichung von den ursprünglichen Leistungszielen des neuronalen Netzes führen, als ursprünglich vom Design des neuronalen Netzes beabsichtigt. Die Abweichung erhöht somit das Risiko einer Überanpassung des neuronalen Netzes über eine vordefinierte Grenze hinaus, selbst wenn eine Validierung der neu vorgeschlagenen Aktualisierungen des neuronalen Netzes bei jedem Aktualisierungsschritt des Netzes durchgeführt wird. Dies gilt insbesondere dann, wenn das Edge-Gerät in einer spezifischen realen Umgebung eingesetzt wird und die Variation der neu erfassten Eingabedaten auf die einzigartigen Situationen der spezifischen realen Umgebung beschränkt ist. Mit anderen Worten: Aus globaler Sicht kann eine Reihe lokaler Validierungen nicht garantieren, dass die Leistung des neuronalen Netzes auf Dauer konvergiert. Daher ist es notwendig, eine langfristige Validierung des neuronalen Netzes nach einem vordefinierten Intervall durchzuführen, das eine Reihe von Aktualisierungen der Modellparameter erfasst.
  • Bei dem Validierungsschritt validiert das Edge-Learning-Verarbeitungssystem die vorgeschlagenen Modellparameter mit einem Langzeitvalidierungsverfahren. Der Langzeitvalidierungsprozess wird anhand von 9 näher erläutert. Das Edge-Learning-Modul führt den Langzeitvalidierungsprozess nach einer vordefinierten Zeitspanne durch, um zu prüfen, ob eine Reihe aktualisierter Modellparameter dazu geführt hat, dass das neuronale Netz von einer vordefinierten Grenze des Verhaltens des neuronalen Netzes abweicht. Bei einigen Ausgestaltungen kann die ursprüngliche Leistungsgrenze des Netzes heuristisch festgelegt werden. Bei einigen Ausgestaltungen können die Leistungsgrenzen des Netzes über ein Computernetzwerk (z.B. das in 1 dargestellte Netzwerk 120) aktualisiert werden. Beispielsweise können die Netzwleistungsgrenzen in einer Fabrik optimiert und über ein Cloud-Netzwerk verteilt werden, wenn der Besitzer des Edge-Geräts 150 sich dafür entscheidet, das neuronale Netz während regelmäßiger Wartungsperioden oder nach einem Kundendienstplan zu aktualisieren. Bei einigen Ausgestaltungen kann das Edge-Gerät auch eine regelmäßige Aktualisierung der Leistungsgrenzen des Netzes während des langfristigen Validierungsprozesses empfehlen.
  • Beim Schritt der Übertragung der Modellparameter überträgt das Edge-Learning-Modul 180 die neu vorgeschlagenen Modellparameterkandidaten, wenn die neu vorgeschlagenen Modellparameterkandidaten die Validierung durch den Kurzzeit- und Langzeitvalidierungsprozess bestehen. Bei einigen Ausgestaltungen tauscht das Edge-Learning-Modul 180 die neu vorgeschlagenen Modellparameterkandidaten gegen einen Werksmodellparameter aus oder aktualisiert die Modellparameter mit einem neuen Satz von werksseitig trainierten Modellparametern von einem Aktualisierungsstandort, wenn die neu vorgeschlagenen Modellparameterkandidaten die Validierung durch den Langzeitvalidierungsprozess nicht bestehen. Dies wird in Bezug auf die 9 weiter erläutert.
  • 3 ist eine Flussdiagramm-Darstellung eines Verfahrens zum automatischen Labeling von Trainings- und Validierungsdaten in Übereinstimmung mit einigen Ausgestaltungen. Bei einigen Ausgestaltungen wird das Verfahren 300 von einem Gerät mit einem oder mehreren Prozessoren und einem nichtflüchtigen Speicher, wie dem in 1 gezeigten Edge-Gerät 150, ausgeführt. Bei einigen Ausgestaltungen wird das Verfahren 300 als ein Satz von computerlesbaren Anweisungen implementiert, die in einer Vorrichtung ausgeführt werden. Kurz gesagt umfasst das Verfahren 300: Eingeben von Kandidatendaten in ein erstes neuronales Netz, um Kandidatendaten herauszufiltern, indem eine Untermenge von Kandidatendaten auf Grundlage einer Ausgabe des ersten neuronalen Netzes ausgewählt wird, Durchführen einer Konfidenzverbesserungsprüfung an der Untermenge von Daten und automatisches Labeln der Untermenge von Kandidatendaten in Übereinstimmung mit einem Konfidenzniveau-Label.
  • Zu diesem Zweck, wie durch Block 301 dargestellt, umfasst das Verfahren 300 bei einigen Ausgestaltungen eine Eingabe von Kandidatendaten in ein erstes neuronales Netz, um die Kandidatendaten zu filtern, indem eine Untermenge der Kandidatendaten auf Grundlage einer Ausgabe des ersten neuronalen Netzes ausgewählt wird, wobei das erste neuronale Netz (z.B. das in 1 gezeigte vortrainierte neuronale Netz 112) vortrainiert ist. Bei einigen Ausgestaltungen entsprechen die Kandidatendaten neu erfassten Daten, die von Sensoren (z.B. dem in 1 dargestellten Bildsensor 132 oder Mikrofon 134) auf einem Gerät erfasst wurden, wobei die neu erfassten Daten visuellen oder akustischen Daten entsprechen, die für die Umgebung spezifisch sind. Bei einigen Ausgestaltungen basiert das erste neuronale Netz auf einer vereinfachten Version eines neuronalen Basisnetzmodells (z.B. dem vortrainierten neuronalen Netz 112).
  • Wie in Block 303 dargestellt, umfasst das Verfahren 300 bei einigen Ausgestaltungen die Durchführung einer Konfidenzverbesserungsprüfung für die Untermenge der Kandidatendaten.
  • Wie durch Block 305 dargestellt, wird eine Datenkonsistenzprüfung durch Erzeugung angereicherter Daten von allen Datenkandidaten aus der Untermenge von Kandidatendaten durchgeführt, wobei die erzeugten angereicherten Daten als Eingaben in das erste neuronale Netz verwendet werden, um eine erste Konfidenzbedingung für alle Daten der Untermenge von Kandidatendaten zu bestimmen. Bei einigen Ausgestaltungen umfasst das Verfahren 300 ferner: Zuweisen einer Gruppenkennung zu den angereicherten Daten, wobei die Gruppenkennung eine Quelle für die erzeugten angereicherten Daten angibt; Vergleichen eines Label-Kandidaten mit anderen Label-Kandidaten in einer angereicherten Datengruppe mit derselben Gruppenkennung, und Erhöhen eines Gewichts der ersten Konfidenzbedingung basierend auf einer Konfidenz des Label-Kandidaten, wenn der Label-Kandidat mit den anderen Label-Kandidaten in der angereicherten Datengruppe mit der gleichen Gruppenkennung konsistent ist. Bei einigen Ausgestaltungen werden die angereicherten Daten durch mindestens eines der folgenden Verfahren erzeugt: Verschieben, Skalieren, Translation oder Rotation eines Bildes aus der Untermenge der Kandidatendaten. Ein ausführlicheres Beispiel für die Durchführung der Datenkonsistenzprüfung durch Erzeugung angereicherter Daten wird im Folgenden unter Bezugnahme auf das in 4 dargestellte Flussdiagramm beschrieben.
  • Wie in Block 307 dargestellt, wird die Untermenge von Kandidatendaten aus der Untermenge von Kandidatendaten in ein zweites neuronales Netz eingegeben, das unter Verwendung von Daten aus einer Umgebung trainiert wird, um eine zweite Konfidenzbedingung zu bestimmen, wobei das zweite neuronale Netz eine Version des ersten neuronalen Netzes ist, die an die Umgebung überangepasst ist. Ein detaillierteres Beispiel für die Eingabe der Untermenge von Kandidatendaten in ein zweites neuronales Netz wird im Folgenden unter Bezugnahme auf das in 5B dargestellte Flussdiagramm beschrieben.
  • Wie in Block 309 dargestellt, wird ein Clustering an der Untermenge von Kandidatendaten durchgeführt, wobei Ergebnisse des Clustering an der Untermenge von Kandidatendaten als Eingaben in einen dritten maschinellen Lernansatz verwendet werden, um eine dritte Konfidenzbedingung zu bestimmen. Bei einigen Ausgestaltungen umfasst das Clustering eine bekannte feste Anzahl von Clustern mit bekannten Referenzpunkten. Bei einigen Ausgestaltungen basiert das Clustering auf einem Vergleich von Abstandsmessungen für die Untermenge der Kandidatendaten mit bekannten Referenzpunkten und einer Messung von Ähnlichkeiten zwischen den Abstandsmessungen, um Cluster zu bilden. Ein detaillierteres Beispiel für die Durchführung einer Clusterbildung auf der Untermenge der Kandidatendaten wird im Folgenden unter Bezugnahme auf das in 6 dargestellte Flussdiagramm beschrieben.
  • Wie durch Block 311 dargestellt, wird die Untermenge von Kandidatendaten aus der Untermenge von Kandidatendaten automatisch als Trainingsdaten gelabelt in Übereinstimmung mit einem Konfidenzniveau-Label basierend auf der ersten Konfidenzbedingung, der zweiten Konfidenzbedingung und der dritten Konfidenzbedingung. Bei einigen Ausgestaltungen basiert die erste Konfidenzbedingung auf Ergebnissen einer Konsistenzprüfung der Inferenzergebnisse, die zweite Konfidenzbedingung entspricht einer gewichteten Summe einer Ausgabe des zweiten neuronalen Netzes (z.B. des leicht überangepassten neuronalen Netzes), und die dritte Konfidenzbedingung entspricht einer Ausgabe des dritten maschinellen Lernansatzes (z.B. einer Variation des k-Means Clustering auf der Basis von unbeaufsichtigtem Lernen). Bei einigen Ausgestaltungen wird die automatisch gelabelte Untermenge der Kandidatendaten in automatisch gelabelte Trainingsdaten und automatisch gelabelte Validierungsdaten unterschieden. Ein ausführlicheres Beispiel für das automatische Labeling der Untermenge von Kandidatendaten wird im Folgenden unter Bezugnahme auf das in 7 dargestellte Flussdiagramm beschrieben.
  • 4 ist eine Flussdiagramm-Darstellung der Durchführung einer Inferenzergebnis-Konsistenzprüfung 400 in einer angereicherten Datengruppe in Übereinstimmung mit einigen Ausgestaltungen. Während bestimmte spezifische Merkmale illustriert sind, wird der Fachmann anhand der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht illustriert wurden, um relevantere Aspekte der hier offenbarten Ausgestaltungen nicht zu verdecken. Bei einigen Ausgestaltungen wird die Inferenzergebnis-Konsistenzprüfung 400 in dem Edge-Learning-Modul 180 auf dem Edge-Gerät 150 durchgeführt. Bei einigen Ausgestaltungen liefert die Inferenzergebnis-Konsistenzprüfung 400 eine erste Konfidenzbedingung in einem Konfidenzverbesserungskriterium, das für die Auto-Labeling-Aufgabe verwendet wird.
  • Wie in Block 401 gezeigt, reichert das Inferenzmodul 172 (z.B. das in 1 gezeigte Inferenzmodul 172) die Trainingsdaten und die Validierungsdaten an, um die Trainingsgröße zu erhöhen. Bei einigen Ausgestaltungen führt das Inferenzmodul 172 den Anreicherungsschritt nach dem Sampling der Trainings- und Validierungsdaten durch. Bei einigen Ausgestaltungen erhöht das Inferenzmodul 172 die Trainingsgröße, indem es aus einem Trainingsbild verschiedene 2D-Array-Werte eines angereicherten Bilds erzeugt, indem es das ursprüngliche Trainingsbild nimmt und eine Verschiebung, Skalierung, Translation oder Rotation oder ähnliches an dem ursprünglichen Trainingsbild durchführt, um ein anderes 2D-Array von Werten zu bestimmen. Bei einigen Ausgestaltungen weist das Inferenzmodul 172 den angereicherten Daten eine Gruppenkennung (Gruppen-ID) zu, so dass die Gruppen-ID angibt, von welchen Quellendaten die angereicherten Daten abgeleitet sind. Bei einigen Ausgestaltungen wird ein vordefinierter Schwellenwert verwendet, um zu entscheiden, ob ein Top-Ergebnis aus einer Softmax-Ausgabe eines Eingabebilds der Kandidat für das approximierte Label der Eingabe ist oder nicht.
  • Als nicht einschränkendes Beispiel führt das Inferenzmodul eine Anreicherung durch, indem es ein ursprüngliches Trainingsbild nimmt und dieses verschiebt, skaliert, transliert oder rotiert, um 10 angereicherte Bilder zu erstellen. Auch wenn diese 10 angereicherten Bilder unterschiedlich sind, sollte das Edge-Gerät 150 (z.B. das Edge-Gerät 150) in der Lage sein, diese 10 angereicherten Bilder zuverlässig mit dem gleichen Label zu versehen, da diese 10 angereicherten Bilder vom selben Label abgeleitet sind. Wenn also ein oder zwei der Label der 10 angereicherten Bilder falsch gelabelt sind, dann weiß das Edge-Learning-Gerät, dass etwas nicht stimmt. Das Prinzip hinter der Durchführung einer Inferenzergebnis-Konsistenzprüfung in einer angereicherten Datengruppe ist, dass Datenpunkte mit dem gleichen Label in einer Datenverteilung nahe beieinander liegen sollten. Daher sollte diese Annahme bei der Überprüfung von Inferenzergebnissen für Klassen-Labels innerhalb der gleichen angereicherten Datengruppe zutreffen.
  • Wie in Block 403 gezeigt, umfasst das Inferenzmodul die Eingabe der angereicherten, mit Label-Kandidaten versehenen Trainings- und Validierungsdaten in ein erstes neuronales Netz, um eine erste Konfidenzbedingung für jedwede der Trainings- und Validierungsdaten der Untermenge zu bestimmen. Bei einigen Ausgestaltungen umfasst das Inferenzmodul die Eingabe der angereicherten, mit Label-Kandidaten versehenen Trainings- und Validierungsdaten in ein separates neuronales Netz (z.B. mit einem anderen Design und Training als das erste neuronale Netz, aber für die gleich Aufgabe), um eine erste Konfidenzbedingung für alle Daten der Untermenge von Trainings- und Validierungsdaten zu bestimmen.
  • Wie in Block 405 gezeigt, prüft das Inferenzmodul 172 die Konsistenz der Labels, indem es Label-Kandidaten mit den anderen Label-Kandidaten in der angereicherten Datengruppe mit der gleichen Gruppen-ID vergleicht. Wenn das Inferenzmodul 172 feststellt, dass der Label-Kandidat der Eingabedaten mit den anderen Labels in der gleichen Gruppe konsistent ist, erzeugt das Inferenzmodul 172, wie in Block 407 gezeigt, eine erste Konfidenzbedingung auf der Grundlage der Inferenzergebnis-Konsistenzprüfung. Die erste Konfidenzbedingung wird mit einer zweiten Konfidenzbedingung und einer dritten Konfidenzbedingung kombiniert, um zu bestimmen, ob die Ergebnisse der drei Konfidenzverbesserungstechniken (z.B. Datenanreicherung, leicht überangepasstes neuronales Netz, Clustering) ein Konfidenzverbesserungskriterium erfüllen, das zuverlässig genug ist, um das approximierte Label zu verwenden.
  • Bei einigen Ausgestaltungen speichert das Inferenzmodul 172 die auto-gelabelten Trainings- und Validierungsdaten mit Labels im Speicher 160 (z.B. dem in 1 dargestellten Speicher 160). Bei einigen Ausgestaltungen umfasst das Speichern der auto-gelabelten Trainings- und Validierungsdaten mit Labels ferner das Gewichten des Labelkandidat-Konfidenzlabels und das Aktualisieren des Labels durch ein Konfidenzverbesserungskriterium. Bei einigen Ausgestaltungen wird die Gewichtung der Labelkandidat-Konfidenz durchgeführt, indem ein Gewicht einer ersten Konfidenzbedingung basierend auf einer Konfidenz des Label-Kandidaten erhöht wird, wenn der Label-Kandidat mit den anderen Label-Kandidaten in der angereicherten Datengruppe mit der gleichen Gruppen-ID konsistent ist.
  • Wenn das Inferenzmodul 172 feststellt, dass der Label-Kandidat der Eingabedaten nicht mit den anderen Labels in der gleichen Gruppe konsistent ist, gibt das Inferenzmodul 172, wie in Block 403 gezeigt, die Inferenzergebnisse zwischen den Trainings-/Validierungsdaten und den angereicherten Daten zurück in das erste neuronale Netz (z.B. das in 1 gezeigte vortrainierte neuronale Netz 112).
  • Das Inferenzmodul 172 wiederholt die Inferenzergebnis-Konsistenzprüfung 400 für alle Daten in den angereicherten Trainingsdaten und in den angereicherten Validierungsdaten, so dass den entsprechenden Trainings- und Validierungsdaten automatisch jeweils ein Konfidenzverbesserungs-Label zugewiesen wird.
  • 5A ist ein Diagramm, das verschiedene Arten der Anpassung eines neuronalen Netzes in Übereinstimmung mit einigen Ausgestaltungen zeigt. Während bestimmte spezifische Merkmale illustriert sind, wird der Fachmann aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale aus Gründen der Kürze nicht illustriert wurden, um relevantere Aspekte der hier offenbarten Ausgestaltungen nicht zu verdecken. 5A ist ein vereinfachtes Diagramm 500a, das die Beziehung zwischen Unteranpassung 502, geringfügiger Überanpassung 504 und Überanpassung 506 zeigt.
  • Unteranpassung 502 bezieht sich auf ein Modell, das weder Trainingsdaten modellieren noch sich auf neue Daten verallgemeinern kann. Ein Modell ist unterangepasst, wenn die für die Trainingsdaten gegebenen Metriken schlecht sind, was bedeutet, dass die Trainingsgenauigkeit des Modells niedrig und/oder der Trainingsverlust hoch ist. Wenn ein Modell unterangepasst ist, ist es nicht in der Lage, Daten zu klassifizieren, mit denen es trainiert wurde. Es ist also wahrscheinlich, dass es bei der Vorhersage von Daten, die es noch nie gesehen hat, schlecht abschneidet.
  • Überanpassung 506 bezieht sich auf ein Modell, das die Trainingsdaten zu gut modelliert. Eine Überanpassung liegt vor, wenn ein Modell die Details und das Rauschen in den Trainingsdaten in einem Maße lernt, dass es die Leistung des Modells bei neuen Daten negativ beeinflusst. Das bedeutet, dass das Rauschen und die zufälligen Schwankungen in den Trainingsdaten vom Modell aufgenommen und als Konzepte gelernt werden.
  • Im Allgemeinen wird Überanpassung 506 als ein Merkmal betrachtet, das beim maschinellen Lernen in der Regel vermieden wird, da ein überangepasstes neuronales Netz nicht auf zufällige Eingabevektoren verallgemeinert werden kann. Anstatt die allgemeine Verteilung der Daten zu lernen, lernt das Modell die erwartete Ausgabe für jeden Datenpunkt. Daher kann das überangepasste neuronale Netz nicht für zufällige Eingabedaten in einem allgemeinen Problembereich verwendet werden.
  • Das Edge-Gerät 150 nutzt ein leicht überangepasstes neuronales Netz 504, um absichtlich ein vorgeprägtes neuronales Netz für die Approximation der Label der Trainings- und Validierungsdaten zu induzieren. Das Ziel eines leicht überangepassten neuronalen Netzes ist es, nach einer Reihe von Aktualisierungen der Parameter des neuronalen Netzmodells auf jedem Edge-Gerät in einer bestimmten Region ein lokal vorgeprägtes neuronales Netz zu haben. Das bedeutet, dass sich ein neuronales Netz auf einem Edge-Gerät in einer bestimmten Region anders verhält als ein anderes neuronales Netz auf anderen Edge-Geräten, auch wenn die Edge-Geräte im Werk mit demselben neuronalen Netz optimiert wurden.
  • Für ein Edge-Gerät 150, das ein auf einem neuronalen Netz basierendes Bildklassifizierungsproblem bearbeitet, besteht eine viel größere Chance, dass die eingegebenen Bilder im Haus eines Verbrauchers über einen bestimmten Zeitraum des Betriebs des Edge-Geräts einander ähnlich sind, da das Edge-Gerät 150 wiederholt in derselben Umgebung arbeitet. Wenn das Edge-Gerät in der Wohnung des Verbrauchers eingesetzt wird, kann das Edge-Gerät mit einer leichten Überanpassung umgehen, da das Edge-Gerät bereits in einer physisch eingeschränkten Umgebung (z.B. in der Wohnung des Verbrauchers) platziert ist. Wenn der Staubsaugerroboter fortwährend arbeitet und die Wohnung des Verbrauchers reinigt, wird er immer wieder dieselben Objekte sehen, was dazu führt, dass der Roboter in einem Rückkopplungsprozess approximierte Label-Daten zurückmeldet, die das neuronale Netz des Staubsaugerroboters naturgemäß prägen. Dieses leicht überangepasste neuronale Netz ermöglicht es dem Staubsaugerroboter, das spezifische Zuhause des Benutzers (d. h. die Möbel, Personen oder ähnliches, die für die Umgebung spezifisch sind) besser zu lernen. Dadurch wird die Variation der Eingabebilder und der Merkmalsvektoren verringert. Dies gilt insbesondere dann, wenn das Modell des neuronalen Netzes für eine feste Anzahl von vordefinierten und bekannten Klassen entwickelt wurde und verwendet werden soll. Mit anderen Worten, eine Verallgemeinerung der Leistung des neuronalen Netzes ist nicht unbedingt ein Ziel des Systems - stattdessen wird eine leicht überangepasste Leistung in einem begrenzten physikalischen Raum erwartet und erlaubt.
  • 5B ist eine Flussdiagramm-Darstellung der Verwendung von vortrainierten neuronalen Netzen zur Durchführung einer Konfidenzverbesserung unter Verwendung eines leicht überangepassten neuronalen Netzes gemäß einiger Ausgestaltungen. Während bestimmte spezifische Merkmale illustriert sind, wird der Fachmann aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht illustriert wurden, um relevantere Aspekte der hier offenbarten Ausgestaltungen nicht zu verdecken. Bei einigen Ausgestaltungen wird der leicht überangepasste neuronale Netzprozess 500b in dem Edge-Learning-Modul 180 auf dem Edge-Gerät 150 durchgeführt. Zunächst wird ein neuronales Netz vortrainiert (z.B. das in 1 gezeigte vortrainierte neuronale Netz 112), um eine Konfidenzverbesserung durchzuführen. Es gibt mehrere Methoden zum Entwerfen und Trainieren des neuronalen Netzes, um ein Konfidenzmodell durchzuführen. Bei einigen Ausgestaltungen stellen die leicht überangepassten Merkmale eines neuronalen Netzes eine zweite Konfidenzbedingung in einem Konfidenzverbesserungskriterium dar, das für die Auto-Labeling-Aufgabe verwendet wird.
  • Als nicht einschränkendes Beispiel können die Edge-Geräte werksseitig mit dem gleichen vortrainierten neuronalen Netz ausgestattet sein, das auf dem Edge-Gerät 150 programmiert ist. In diesem Fall wird das vortrainierte neuronale Netz auf dem Edge-Gerät 150 (z.B. dem in 1 gezeigten Edge-Gerät 150) optimiert, um eine Überanpassung (z.B. die in 5A gezeigte Überanpassung 506) des neuronalen Netzes zu vermeiden. Sobald das Edge-Gerät 150 jedoch ausgeliefert und in der Wohnung eines Verbrauchers eingesetzt wird, wird die Notwendigkeit der Verallgemeinerung schwächer und die Notwendigkeit für das Edge-Gerät 150 und sein neuronales Netz, sich an den spezifischen physischen Raum anzupassen, größer.
  • Wie in Block 501 dargestellt, umfasst der Prozess des leicht überangepassten neuronalen Netzes den Empfang von Trainingsdaten aus einer Trainingsdatenbank 190. Beispielsweise werden Trainingsdaten gesammelt, während der Reinigungsroboter arbeitet, aber das Training wird nicht durchgeführt, während der Reinigungsroboter arbeitet. Stattdessen nimmt der Reinigungsroboter einfach nur Bilder auf und speichert sie in einem Speicherbereich. Wie in 2 erwähnt, leitet das Edge-Gerät 150 den Transferlernprozess ein, während der Reinigungsroboter angedockt ist, um seine Hardware-Ressourcen effizient zu nutzen.
  • Wie in Block 503 gezeigt, gibt das Edge-Gerät 150 Trainingsdaten in ein zweites neuronales Netz zun Auto-Labeling ein, wobei das zweite neuronale Netz einem leicht überangepassten neuronalen Netzmodell entspricht. Bei einigen Ausgestaltungen verwendet das leicht überangepasste neuronale Netz eine Kopie des gleichen neuronalen Inferenznetzmodells wie das vortrainierte neuronale Netz (z.B. das in 1 gezeigte vortrainierte neuronale Netz 112), um das leicht überangepasste neuronale Netz zu erzeugen, indem Parameter so entspannt werden, dass die Anforderungen an die Nicht-Überanpassung gelockert werden. Dementsprechend nutzt das Edge-Gerät 150 das leicht überangepasste neuronale Netz, um das neuronale Netz zu veranlassen, sich anzupassen und für eine begrenzte Anzahl von Eingabedaten geprägt zu werden. Wie oben im Beispiel des Staubsaugerroboters erwähnt, ist die Verwendung eines leicht überangepassten Prozesses akzeptabel, weil die Anzahl der Klassen für das neuronale Netz bekannt und fest ist und weil die Variation der Eingabedaten geringer ist als in den allgemeinen Fällen, weil die eingegebenen Trainings- und Validierungsdaten im gleichen physikalischen Raum erfasst werden. Darüber hinaus versucht das Edge-Gerät 150 auch, einen Grad des Überanpassungsprozesses auf Grundlage eines vordefinierten Wertes zu regulieren, damit das neuronale Netz die Generalisierungsaspekte nicht auf einmal alle verliert. Ziel ist es, die Überanpassung des neuronalen Netzes schrittweise auf kleiner Skala mit einem kleinen Anteil um den vordefinierten Grad zu ermöglichen.
  • Wie in Block 505 gezeigt, erzeugt das Edge-Gerät 150 eine zweite Konfidenzbedingung auf er Grundlage der Ergebnisse von dem zweiten neuronalen Netz. Die zweite Konfidenzbedingung wird mit der ersten Konfidenzbedingung und der dritten Konfidenzbedingung kombiniert, um zu bestimmen, ob die Ergebnisse der drei Konfidenzverbesserungstechniken (z.B. Datenanreicherung, leicht überangepasstes neuronales Netz, Clustering) ein Konfidenzverbesserungskriterium erfüllen, das sicher genug ist, um approximierte Label zu verwenden.
  • Bei einigen Ausgestaltungen kann der Prozess der Konfidenzverbesserung unter Verwendung eines leicht überangepassten neuronalen Netzes wie folgt formalisiert werden:
    y i = M ( x i )
    Figure DE112020003498T5_0001
    y i ' = M k ' ( x i )
    Figure DE112020003498T5_0002
    C i ( x i ) = y i + w ' ( y i ' ) , { c i , j = 1 : wenn c i , j > 1, c i , j = 0 : wenn c i , j < 0, c i , j C i ( x i ) }
    Figure DE112020003498T5_0003
    wobei die Terme in dieser Gleichung wie folgt definiert sind:
    xi: i - ter Eingangsvektor, xi ∈ Xs
    M : vortrainiertes neuronales Basisnetzmodell für Inferenz
    M k '
    Figure DE112020003498T5_0004
    : leicht überangepasstes neuronales Netzmodell unter den Randbedingungen k
    yi: Softmax-Ausgabe für Eingabe xi durch vortrainiertes neuronales Basisnetzmodell M
    y i '
    Figure DE112020003498T5_0005
    : Softmax-Ausgabe für Eingabe xi durch überangepasstes neuronales Netzmodell M k '
    Figure DE112020003498T5_0006

    w': Gewicht für Ausgabe des überangepassten neuronalen Netzes
    Ci(xi): Ausgabe der Konfidenzverbesserung für Eingabe xi
    ci,j: j - ter Skalarwert, ci,j ∈ Ci (xi)
  • 6 ist eine Flussdiagramm-Darstellung der Verwendung von vortrainierten neuronalen Netzen zur Durchführung einer Konfidenzverbesserung unter Verwendung eines Clustering-Ansatzes gemäß einiger Ausgestaltungen. Während bestimmte spezifische Merkmale illustriert sind, wird der Fachmann aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht illustriert wurden, um relevantere Aspekte der hier offengelegten Ausgestaltungen nicht zu verdecken. Bei einigen Ausgestaltungen wird der Clustering-Ansatz 600 in dem Edge-Learning-Modul 180 auf dem Edge-Gerät 150 durchgeführt.
  • Bei der vorliegenden Offenbarung wird ein Clustering-Ansatz 600 verwendet, der einem K-Means-Clustering-Algorithmus ähnelt, um eine dritte Konfidenzbedingung in den für die Auto-Labeling-Aufgabe verwendeten Konfidenzverbesserungskriterien zu schaffen. Die Variante des K-Means-Clustering wird als L-Means-Clustering bezeichnet. Der K-Means-Clustering-Algorithmus ist ein iterativer Algorithmus, der versucht, den Datensatz in K vordefinierte, eindeutige, sich nicht überschneidende Cluster aufzuteilen, wobei jeder Datenpunkt nur zu einer Gruppe gehört. Der K-Means-Cluster-Algorithmus zielt darauf ab, die Datenpunkte zu finden und in Klassen zu gruppieren, die eine hohe Ähnlichkeit zueinander aufweisen, so dass Datenpunkte im gleichen Cluster (oder Untermenge) ähnlich sind, während Datenpunkte in verschiedenen Clustern unterschiedlich sind. Der Algorithmus ordnet die Datenpunkte so einem Cluster zu, dass die Summe des quadratischen Abstands zwischen den Datenpunkten und dem Schwerpunkt des Clusters (arithmetisches Mittel der Datenpunkte, die zu diesem Cluster gehören) minimal ist.
  • Im Gegensatz zu herkömmlichen K-Means-Cluster-Algorithmen implementiert das Edge-Gerät 150 jedoch einen Clustering-Algorithmus mit einer bekannten k-Zahl, so dass das Edge-Gerät 150 mit einem Basismodell beginnt, das die Daten (Streudiagramm) für jede der Daten kennt. Das Streudiagramm der vordefinierten Referenzpunkte für jeden Cluster wird zunächst durch den vordefinierten Satz von Trainingsdaten geleitet. Dementsprechend basiert das L-Means-Clustering auf einem unbeaufsichtigten Lernansatz in dem Sinne, dass diese Variante der traditionellen K-Means-Clustering-Methode auf die neu gewonnenen, ungelabelten Trainingsdaten angewendet wird.
  • Wie in Block 601 dargestellt, empfängt das Edge-Gerät 150 Trainingsdaten aus der Trainingsdatenbank (z.B. die in 1 gezeigte Trainingsdatenbank 190). Bei einigen Ausgestaltungen werden die Trainingsdaten gesampelt. Bei einigen Ausgestaltungen bestehen die Trainingsdaten aus nicht-angereicherten Daten oder/und angereicherten Daten.
  • Wie in Block 603 gezeigt, führt das Edge-Gerät 150 ein Clustering an den empfangenen Trainingsdaten durch, wobei das Clustering eine Anzahl von Clustern und Datenmerkmalen umfasst, die für eine Auto-Labeling-Aufgabe bekannt sind. Im Gegensatz zu einem herkömmlichen K-Means-Clustering-Algorithmus wird die Anzahl der Cluster durch die Anzahl der Klassen des ersten und zweiten neuronalen Netzes bestimmt, und die anfänglichen Zentroide der Datenmerkmale werden auf der Grundlage vordefinierter Referenzpunkte für jeden der Cluster berechnet und sind bekannt, anstatt für die Auto-Labeling-Aufgabe im Clustering-Ansatz 600 zufällig initialisiert zu werden. So beginnt das Edge-Gerät 150 (z.B. das in 1 gezeigte Edge-Gerät 150) mit einer festen Anzahl von Clustern (z.B. wird für jede Klasse ein Cluster zugewiesen) mit bekannten Referenzpunkten (z.B. Datenpunkte aus Trainingsdaten, die in einer Fabrik verwendet wurden). Dadurch kann die Initialisierung mit einer festen Anzahl von Clustern mit den bekannten Referenzpunkten beginnen. Die bekannten Referenzdatenpunkte sind die gleichen wie die Datenpunkte aus den Trainingsdaten, die in der Fabrik verwendet wurden.
  • Wie in Block 605 gezeigt, bestimmt das Edge-Gerät 150 eine Cluster-ID für alle empfangenen Trainingsdaten basierend auf dem Abstand zwischen den Clustern. Das Edge-Gerät 150 kann die Klassen bestimmen, zu denen die empfangenen Trainingsdaten gehören, da jeder Klasse ein Cluster zugeordnet ist. Daher bildet das Edge-Gerät 150 Cluster, indem es Ähnlichkeiten zwischen der Abstandsmessung für neu erfasste Trainingsdaten und den bekannten Referenzdatenpunkten vergleicht. Bei einigen Ausgestaltungen ist die verwendete Abstandsmessung ein quadratischer euklidischer Abstand.
  • Beispielsweise kann das Edge-Gerät 150 die Clusterbildung mit einer k-Konstante von 5 initialisieren, wobei die Zahl aus den vorangegangenen Klassifizierungsaufgaben des neuronalen Netzes übernommen wird. Dies bedeutet, dass das Edge-Gerät 150 5 Cluster erzeugt, von denen jeder zu einer anderen Klasse in einem Hyperraum gehört. Als Nächstes berechnet das Edge-Gerät 150 Abstände zwischen den Daten und den 5 Clustern und wiederholt den Vorgang so lange, bis sich der Schwerpunkt nicht mehr ändert (d. h. die Zuordnung der Datenpunkte zu den Clustern ändert sich nicht mehr). Schließlich klassifiziert das Edge-Gerät 150 die Daten in 5 Cluster auf der Grundlage der Nähe der Daten zueinander. Je näher die Datenpunkte beieinander liegen, desto ähnlicher und wahrscheinlicher ist es, dass die Datenpunkte zum selben Cluster gehören.
  • Wie gezeigt, gibt das Edge-Gerät 150 in Block 607 die Clustering-Ergebnisse in einen dritten maschinellen Lernansatz ein. Der dritte maschinelle Lernansatz ist ein vom ersten neuronalen Netz und vom zweiten neuronalen Netz getrennter maschineller Lernansatz, der auf unbeaufsichtigtem Lernen als einer Form des L-Means-Clustering basiert. Bei einigen Ausgestaltungen kann der dritte maschinelle Lernansatz so interpretiert werden, dass er den gesamten L-Means-Clustering-Prozess beschreibt.
  • Wie gezeigt, erzeugt das Edge-Gerät 150 in Block 609 eine dritte Konfidenzbedingung, die auf den Ergebnissen des dritten maschinellen Lernansatzes basiert. Die dritte Konfidenzbedingung wird mit der zweiten Konfidenzbedingung und der ersten Konfidenzbedingung kombiniert, um zu bestimmen, ob die Ergebnisse der drei Konfidenzverbesserungstechniken (z.B. Datenanreicherung, leicht überangepasstes neuronales Netz und Clustering) eine Konfidenzverbesserung zulassen, die ausreichend ist, um approximierte Label zu verwenden.
  • Bei einigen Ausgestaltungen kann der Clustering-Ansatz 600 wie folgt formalisiert werden:
  • Initialisiere L k '
    Figure DE112020003498T5_0007
    mit ausgewähltem xo ∈ X für jeden von l Ausgabeknoten für M Wiederhole 1) und 2), bis k = Randbedingungen für Stoppkriterien
    1. 1) argmin L ' j = 1 l x i X s x i μ j 2 = { l 1 ' , l 2 ' , , l l ' }
      Figure DE112020003498T5_0008
      , wobei l vorab festgelegt ist und L’
    2. 2) μ j = 1 | X s | x i X s x i
      Figure DE112020003498T5_0009
    3. 3) l j ' = L k ' ( x j )
      Figure DE112020003498T5_0010
    wobei die Terme in dieser Gleichung wie folgt definiert sind:
    • xo: ein Eingabevektor, xo ∈ X
    • xi: i - ter gesampelter Eingabevektor, xi ∈ Xs
    • xj: j - ter gesampelter Eingabevektor, xj ∈ Xs
    • M: vortrainiertes neuronales Basisnetzmodell für Inferenz
    • µ: Menge von Mitteln durch Vx ∈ X, wobei |µ| bekannt ist durch Anzahl der Ausgabeknoten durch M
    • µi: Mittelwert von Punkten, µi ∈ µ
    • L k ' :
      Figure DE112020003498T5_0011
      L-Means-Clustering unter den Randbedingungen k
    • l j ' :
      Figure DE112020003498T5_0012
      Cluster-ID für Eingabe xj durch L-Means-Clustering L k '
      Figure DE112020003498T5_0013
      unter Randbedingungen k
    • l: vorgegebene Anzahl von Clustern, die gleich ist zur Anzahl der Ausgabeknoten
  • 7 ist ein Flussdiagramm zur Durchführung einer Konfidenzverbesserung gemäß einigen Ausgestaltungen. Während bestimmte spezifische Merkmale abgebildet sind, werden Fachleute aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht abgebildet wurden, um relevantere Aspekte der hier offengelegten Ausgestaltungen nicht zu verdecken. Bei einigen Ausgestaltungen wird der Konfidenzverbesserungsprozess 700 durch das Edge-Learning-Modul 180 (z.B. das in 1 gezeigte Edge-Learning-Modul 180) auf dem Edge-Gerät 150 durchgeführt.
  • Wie in Feld 701 gezeigt, empfängt der Konfidenzverbesserungsprozess eine erste Konfidenzbedingung, die Ergebnissen der Inferenzergebnis-Konsistenzprüfung entspricht (wie in 4 beschrieben), eine zweite Konfidenzbedingung, die Ergebnissen vom leicht überangepassten neuronalen Netz entspricht (wie in 5B beschrieben), und eine dritte Konfidenzbedingung, die sich auf die Clustering-ID mit einer Ähnlichkeitsmessung bezieht (wie in 6 beschrieben).
  • Wie in Feld 703 gezeigt, berechnet das Edge-Gerät 150 eine gewichtete Summe aus der ersten Konfidenzbedingung, der zweiten Konfidenzbedingung und der dritten Konfidenzbedingung, um die Endwerte der Softmax-Funktion anzupassen. Bei einigen Ausgestaltungen werden die Ähnlichkeiten und die Cluster-ID als Teil der gewichteten Anpassung für den hochskalierten Softmax-Wert für den Label-Kandidaten verwendet. Bei einigen Ausgestaltungen können die anfänglichen Softmax-Werte als Ergebnis des vortrainierten neuronalen Basisnetzwerkmodells berechnet werden. Sodann werden die endgültigen Softmax-Werte von den anfänglichen Softmax-Werten als gewichtete Anpassung hochskaliert (d. h. die gewichtete Summe der ersten Konfidenzbedingung, der zweiten Konfidenzbedingung und der dritten Konfidenzbedingung). Sobald die gewichtete Summe der Ausgabe des leicht überangepassten neuronalen Netzes, der L-Mittel-Clustering-ID mit Ähnlichkeitsmessung und der Softmax-Funktion berechnet ist und den Schwellenwert für die Konfidenzverbesserung erreicht, wird der Softmax-Funktionswert des Label-Kandidaten hochskaliert und das approximierte Label wird den eingegebenen Trainings- oder Validierungsdaten zugewiesen. Bei einigen Ausgestaltungen entspricht eine Softmax-Ausgabe von -90% typischerweise einem hohen Konfidenzniveau.
  • Wie in Feld 705 dargestellt, bestimmt das Edge-Gerät 150, ob die gewichtete Summe einen Schwellenwert für die Konfidenzverbesserung überschreitet. Wenn die gewichtete Summe einen Schwellenwert für die Konfidenzverbesserung überschreitet („Ja“-Pfad in Feld 705), erhöht der Konfidenzverbesserungsprozess 700 den Softmax-Funktionswert des Label-Kandidaten, wie in Feld 707 dargestellt. Überschreitet die gewichtete Summe jedoch nicht den Schwellenwert für die Konfidenzverbesserung (Pfad „Nein“ in Feld 705), endet der Prozess der Konfidenzverbesserung 700.
  • Wie in Block 709 dargestellt, versieht das Edge-Gerät 150 die eingegebenen Trainings- oder Validierungsdaten automatisch mit dem approximierten Label.
  • Bei einigen Ausgestaltungen wird der Prozess der Konfidenzverbesserung durch die Verwendung eines leicht überangepassten neuronalen Netzes, der L-Means Clustering-ID mit Ähnlichkeitsmaß und der Softmax-Funktion wie folgt formalisiert:
  • y i = M ( x i )
    Figure DE112020003498T5_0014
    y i ' = M k ' ( x i )
    Figure DE112020003498T5_0015
    C i ( x i ) = y i + w ' ( y i ' ) w ' ' ' A ( x i , X i a ) ,
    Figure DE112020003498T5_0016
    l i 0 = max L a b e l ( C i ( x i ) )
    Figure DE112020003498T5_0017
    l i ' = L k ' ( x i )
    Figure DE112020003498T5_0018
    C i ' ( x i ) = C i ( x i ) + w ' ' ( y i ' ) falls l i 0 n i c h t g l e i c h l i ' i s t ,
    Figure DE112020003498T5_0019
    C i ' ( x i ) = C i ( x i ) w ' ' ( y i ' ) falls l i 0 n i c h t g l e i c h l i ' i s t ,
    Figure DE112020003498T5_0020
    l i = max L a b e l ( C i ( x i ) )
    Figure DE112020003498T5_0021
    wobei die Terme in dieser Gleichung wie folgt definiert sind:
    • xi: i - ter Eingabevektor, xi ∈ Xs
    • X i a = { x i 1 , x i 2 , , x i n a } :
      Figure DE112020003498T5_0022
      ein Satz angereicherter Daten aus i - tem Eingangsvektor, xi ∈ Xs
    • A ( x i , X i a ) :
      Figure DE112020003498T5_0023
      eine Funktion zur Inferenzkonsistenz der angereicherten Daten X i a
      Figure DE112020003498T5_0024
    • M : vortrainiertes neuronales Basisnetzmodell für Inferenz
    • M k ' :
      Figure DE112020003498T5_0025
      leicht überangepasstes neuronales Netzmodell unter den Randbedingungen k
    • yi: Softmax-Ausgabe für Eingabe xi durch das vortrainierte neuronale Basisnetzmodell M
    • y i ' :
      Figure DE112020003498T5_0026
      Softmax-Ausgabe für Eingabe xi durch das überangepasste neuronale Netzmodell M k '
      Figure DE112020003498T5_0027
    • w' : Gewicht für Ausgabe des überangepassten neuronalen Netzes
    • w'': Gewicht für Ausgabe des überangepassten neuronalen Netzes unter der Bedingung, dass L k '
      Figure DE112020003498T5_0028
      Ergebnis
    • w''': Gewicht für Inferenzkonsistenzausgabe von A(xi,Xa)
    • L k ' :
      Figure DE112020003498T5_0029
      L-Means-Clustering
    • Ci(xi) Ausgabe anfänglicher Konfidenzverbesserung für Eingabe xi
    • l i 0 :
      Figure DE112020003498T5_0030
      Label mit maximaler Softmax-Ausgabe durch anfängliche Konfidenzverbesserung Ci(xi)
    • l i ' :
      Figure DE112020003498T5_0031
      Cluster-ID für Eingabe xi durch L-Means-Clustering L k '
      Figure DE112020003498T5_0032
      unter Randbedingungen k
    • C i ' ( x i ) :
      Figure DE112020003498T5_0033
      Ausgabe Konfidenzverbesserung für Eingabe xi mit gewichteter Anpassung an Bedingung von L k '
      Figure DE112020003498T5_0034
      Ergebnis
    • li: finales geschätztes Label für xi
  • Kurzzeit- und Langzeitvalidierung
  • Daraus folgt, dass eine mögliche Lösung zur Überwindung des Problems, genügend Trainingsdaten ohne manuelles Labeling zu erhalten, darin besteht, Labels für ungelabelte Daten automatisch zu erzeugen, wie oben beschrieben. Es gibt jedoch keine Garantie dafür, dass das neuronale Netz über einen längeren Zeitraum und auch nach der Aktualisierung des neuronalen Netzes mit einer Reihe von verschiedenen Modellparameteraktualisierungen auf Grundlage automatisch erzeugter gelabelter Trainingsdaten innerhalb der akzeptierten Parameter arbeitet. Daher besteht die Notwendigkeit, die Leistung eines vortrainierten neuronalen Netzes, das mit automatisch gelabelten Trainings- und Validierungsdaten trainiert wurde, nach einer Reihe von Aktualisierungen der Modellparameter zu validieren.
  • Beim maschinellen Lernen verwenden die Methoden des semi-beaufsichtigten Lernens und/oder des selbstbeaufsichtigten Lernens einen Satz von gelabelten Daten, um einen Satz von ungelabelten Daten während einer Transferlernphase zu approximieren. Da die Approximationsergebnisse nicht deterministisch sind, werden die vorgeschlagenen Label-Approximationen und die daraus resultierende Ausgabe des Transfer-Leamings unter Verwendung der approximierten Labels durch das neuronale Netz auf ihre Korrektheit und ihren Grad der Korrektheit überprüft. Das Ziel des Transfer-Learning-Prozesses für Edge-Geräte besteht darin, zu überwachen, ob die wiederholten Aktualisierungen der Modellparameter unter Verwendung der approximierten Label innerhalb eines vordefinierten Leistungsbereichs in Bezug auf die Genauigkeit liegen. Die Validierung ist besonders nützlich, wenn das Transfer-Lernen auf einem Edge-Gerät ausgeführt wird. Bei einigen Ausgestaltungen kann die Validierung auf eine kleinere Anzahl von Mini-Bündel-Trainingsdaten angewandt werden, um schrittweise aus neu gewonnenen Daten auf dem Edge-Gerät zu lernen. Das Ziel des Validierungsprozesses ist es, eine relative Verbesserung der neu erlernten und vorgeschlagenen Modellparameter in einem bestimmten physikalischen Raum unter physikalischen Randbedingungen zu sehen, wobei das Risiko einer leichten Überanpassung der Modellparameter besteht, anstatt eine verallgemeinerte Verbesserung des neuronalen Netzmodells für allgemeine Fälle zu sehen.
  • 8 ist eine Ausführungsform zur Durchführung einer Stratifizierung für die k-fache Verwendung der angereicherten Validierungsdaten in Übereinstimmung mit einigen Ausgestaltungen. Das Edge-Gerät 150 (z.B. das in 1 gezeigte Edge-Gerät 150) wendet eine stratifizierte k-fache Kreuzvalidierungstechnik auf automatisch gelabelte Trainings- und Validierungsdaten auf neuartige Weise an. Obwohl die automatisch gelabelten Validierungsdaten die Korrektheit der Approximation nicht auf deterministische Weise garantieren, liefern die Label der angereicherten Daten aus den automatisch gelabelten Daten einen praktischen Hinweis darauf, dass die Datendarstellung der Validierungsdaten gleichmäßig in den k-fachen Untermengen der Validierungsdaten verteilt ist. In diesem Fall versucht der Stratifizierungsprozess 800, die neu vorgeschlagenen Modellparameter anhand der automatisch generierten (oder approximierten) gelabelten Daten auf dem Edge-Gerät zu validieren.
  • Bei einigen Ausgestaltungen umfasst der Stratifizierungsprozess 800 die Durchführung einer f-fachen Stratifizierung (z.B. Untermengen der automatisch gelabelten Validierungsdaten) auf Grundlage der angereicherten Datengruppe und der Inferenzergebnis-Konsistenzprüfung (näher erläutert in Bezug auf 4). Die Stratifizierung ist ein Prozess, der dafür sorgt, dass die Datendarstellung bei jedem Durchlauf nicht verzerrt ist, so dass die Datendarstellung in jedem Durchlauf gerecht auf die gegebene Anzahl von Klassen (z.B. nc) verteilt ist, indem die Datenpunkte aus jeder Klasse in jedem Durchlauf vorhanden sind. Da das Edge-Gerät 150 (z.B. das in 1 gezeigte Edge-Gerät 150) die Validierungsdaten pro Label anreichert, können die angereicherten Daten pro Label im Stratifizierungsprozess jedem Durchlauf zugewiesen werden.
  • Bei einigen Ausgestaltungen wird der Stratifizierungsprozess wie folgt formalisiert:
  • V s ƒ = 1 = { v i = 1 1 , v i = 2 1 , , v i = n c 1 }
    Figure DE112020003498T5_0035
    V s ƒ = 2 = { v i = 1 2 , v i = 2 2 , , v i = n c 2 }
    Figure DE112020003498T5_0036
    .... V s ƒ = k = { v i = 1 k , v i = 2 k , , v i = n c k }
    Figure DE112020003498T5_0037
    wobei die Begriffe für diese Komponenten wie folgt definiert sind:
    • nc: Anzahl Klassen
    • na: Anzahl Anreicherungen für jeden Quellen-Eingabevektor
    • k: Anzahl Durchläufe
    • v i ƒ :
      Figure DE112020003498T5_0038
      iter Vektor für die Validierung, v i ƒ V ƒ ,
      Figure DE112020003498T5_0039
    • Vƒ: ein Durchlauf als Untermenge von Vektoren für die Validierung,Vƒ ⊂ Vc
    • V S ƒ :
      Figure DE112020003498T5_0040
      ein stratifizierter Durchlauf als Untermenge von Vektoren für die Validierung, V S ƒ V C
      Figure DE112020003498T5_0041
    • Vc: eine Menge von Vektoren zur Validierung für Klasse c
  • Bei einigen Ausgestaltungen wird die Größe von k während des Trainings des Basismodells vordefiniert. Es sie auch darauf hingewiesen, dass die Größe von k nicht notwendigerweise mit na identisch ist, während die Stratifizierung eine gute Repräsentation der nc Klassen haben sollte. Daher werden die na so verteilt, dass jede Falte ungefähr eine gleiche Anzahl von Validierungsdaten aus jeder Klasse umfasst.
  • Wie bereits oben erwähnt, werden in einem semi-beaufsichtigten Lernszenario die Label der neu gewonnenen, ungelabelten Daten approximiert. Daher gibt es keine Garantie, dass die Approximationen korrekt sind, da die Label auf nicht-deterministische Weise approximiert werden. Das Edge-Learning-Modul 180 (z.B. das in 1 gezeigte Edge-Learning-Modul 180) macht sich jedoch die Tatsache zunutze, dass angereicherte Daten aus derselben Gruppe das gleiche Label und dieselbe Verteilung der angereicherten Daten über die k-Durchläufe aufweisen sollten. Das Edge-Gerät 150 reichert also die approximiert gelabelten Daten an und verteilt sie über die k- Durchläufe, um eine gerechte Darstellung der approximierten Beschriftungen in jedem Durchlauf zu gewährleisten.
  • Bei einigen Ausgestaltungen konstruiert das Edge-Learning-Verarbeitungssystem die k-fache Stratifizierung anders, weil die Größe von k nicht gleich na ist. 8 zeigt drei verschiedene Situationen: (1) ein erster Fall der Stratifizierung 801, bei dem die Größe von na = k ist, (2) ein zweiter Fall der Stratifizierung 803, bei dem die Größe von n <α k ist, und (3) ein dritter Fall der Stratifizierung 805, bei dem die Größe von na > k ist. Ziel ist es, sicherzustellen, dass die Stratifizierung eine gute Darstellung der nc Klassen für jeden Durchlauf hat. Bei einigen Ausgestaltungen wird eine gute Repräsentation in einer Untermenge (d. h. einem Durchlauf) als eine Validierungsdatenverteilung definiert, die die Trainingsdaten repräsentiert. Daher wird die Anzahl na der angereicherten Daten aus den Quellendaten so verteilt, dass jeder Durchlauf ungefähr die gleiche Anzahl von Validierungsdaten aus jeder Klasse umfasst.
  • Wie in 8 gezeigt, wird im ersten Fall der Stratifizierung 801 die Anzahl na der angereicherten Daten gleichmäßig über die Durchläufe verteilt, wenn na = k. Im zweiten Fall der Stratifizierung 803, wenn na < k ist, verteilt das Edge-Learning-Prozesssystem zuerst die Anzahl na der angereicherten Daten über die Durchläufe und das Edge-Learning-Verarbeitungssystem wählt eine von ( n a k j )
    Figure DE112020003498T5_0042
    Untermengen von {1,..,na} und verteilt die Untermenge der angereicherten Daten auf die verbleibenden Durchläufe, d.h. (k - j) Durchläufe. Für den dritten Fall der Stratifizierung 805, wenn na > k, wählt die vorliegende Offenbarung zunächst U1..c = U 1.. c = { u 1 , , u k } , U 1 , U 2 , .., U c ( n a k )
    Figure DE112020003498T5_0043
    Untermengen von {1,..,na} und das Edge-Learning-Verarbeitungssystem verteilt die gewählten angereicherten Daten auf die k Durchläufe. Es ist anzumerken, dass die vorliegende Offenbarung versucht, eine gleiche Chance der Darstellung der nc Klassen für jeden Durchlauf in jedem dieser drei Fälle.
  • 9 ist ein Flussdiagramm zur Validierung der Leistung eines vortrainierten neuronalen Netzes, das unter Verwendung von automatisch gelabelten Trainings- und Validierungsdaten trainiert wurde, die auf Grundlage von einem Gerät gesammelter Daten erzeugt wurden, in Übereinstimmung mit einigen Ausgestaltungen. Bei verschiedenen Ausgestaltungen wird das Verfahren 900 von einer Vorrichtung (z.B. dem in 1 gezeigten Edge-Gerät 150 oder dem in 11 gezeigten Edge-Gerät 1100) mit einem oder mehreren Prozessoren und einem nicht-transitorischen Speicher durchgeführt. Bei einigen Ausgestaltungen wird das Verfahren 900 von einer Verarbeitungslogik ausgeführt, die Hardware, Firmware, Software oder eine Kombination davon umfasst. Bei einigen Ausgestaltungen wird das Verfahren 900 von einem Prozessor ausgeführt, der einen in einem nicht-transitorischen computerlesbaren Medium (z.B. einem Speicher) gespeicherten Code ausführt.
  • Wie in Block 901 dargestellt, umfasst das Verfahren 900 die Bestimmung vorgeschlagener Modellparameter als potentielle Aktualisierungen des neuronalen Netzes unter Verwendung der gelabelten Validierungsdaten, wobei die gelabelten Validierungsdaten aus demselben Datensatz abgeleitet werden, der von der Vorrichtung gesammelt wird, wie die automatisch gelabelten Trainingsdaten. Bei einigen Ausgestaltungen lernt das Edge-Gerät 150 (z.B. das in 1 gezeigte Edge-Gerät 150) die vorgeschlagenen Modellparameter, indem es eine Vorwärtsberechnung und eine Rückpropagation über die automatisch gelabelten Trainingsdaten durchführt.
  • Bei einigen Ausgestaltungen werden die gelabelten Trainingsdaten aus Eingabedaten ausgewählt, die von den Sensoren (z.B. den Sensoren 130) erfasst werden, die mit dem Edge-Gerät 150 verbunden sind, da es nicht praktikabel ist, Trainings- und Validierungsdaten manuell zu erfassen, wenn das Edge-Gerät 150 in einer realen Umgebung eingesetzt wird.
  • Wie in Block 903 dargestellt, umfasst das Verfahren 900 die Durchführung einer Kurzzeitvalidierung der auf das neuronale Netz angewendeten vorgeschlagenen Modellparameterm auf Grundlage der gelabelten Validierungsdaten, indem eine erste Leistungsausgabe und eine zweite Leistungsausgabe verglichen werden, wobei die erste Leistungsausgabe aus der Anwendung der vorgeschlagenen Modellparameter auf das vortrainierte neuronale Netz bestimmt wird und die zweite Leistungsausgabe aus der Anwendung der gegenwärtig existierenden Modellparameter auf das neuronale Netz bestimmt wird.
  • Wie in Block 905 dargestellt, beinhaltet das Verfahren 900 das Aktualisieren der gegenwärtig existierenden Modellparameter mit den vorgeschlagenen Modellparametern, wenn die zweite Leistungsausgabe die erste Leistungsausgabe in Bezug auf die gelabelten Validierungsdaten übertrifft. Das Verfahren 900 umfasst ferner das Verwerfen der gelabelten Trainingsdaten und der gelabelten Validierungsdaten, wenn die erste Leistungsausgabe die zweite Leistungsausgabe in Bezug auf die gelabelten Daten übertrifft. Das Verfahren 900 umfasst ferner das Aktualisieren der Modellparameter durch Ersetzen der Werte der gegenwärtig existierenden Modellparameter durch die neuen, wenn die zweite Leistungsausgabe die erste Leistungsausgabe in Bezug auf die gelabelten Daten übertrifft. Bei einigen Ausgestaltungen umfasst das Verfahren 900 ferner das Speichern einer Instanz der aktuell existierenden Modellparameter als zuvor existierende Modellparameter, bevor die aktuell existierenden Modellparameter mit den vorgeschlagenen Modellparametern aktualisiert werden. Bei einigen Ausgestaltungen umfasst das Verfahren 900 ferner das Übertragen der vorgeschlagenen Modellparameter in einen Speicher (z.B. den in 1 gezeigten Speicher 160), um die aktualisierten aktuell existierenden Modellparameter zu ersetzen, wobei der Speicher für einen Prozessor zugänglich ist.
  • Bei einigen Ausgestaltungen werden die aktualisierten Modellparameter auch in einer Datenbank (z.B. im Speicher 160 in 1) für Modellparametersätze gespeichert. Frühere Validierungsmessungen mit entsprechenden Modellparametern in den Modellparametersätzen können nützliche Informationen über die neu vorgeschlagenen Modellparameter liefern. Beispielsweise kann ein Schwellenwert auf der Grundlage eines gewichteten Durchschnitts der Leistung angepasst werden, indem frühere Validierungsmessungen mit den entsprechenden Modellparametern verwendet werden, die für erfolgreiche Modellparameteraktualisierungen verwendet wurden. Auf diese Weise lässt sich auch sicherstellen, dass die Leistungsverbesserungen durch die neu vorgeschlagenen Modellparameter nicht trivial sind.
  • Bei einigen Ausgestaltungen wird die Kurzzeitvalidierung wie folgt formalisiert:
    • y i t = M t ( x i ) ,
      Figure DE112020003498T5_0044
      mit einem Satz aktueller Modellparameter Pt = param(Mt)
    • y i t + 1 = M t + 1 ( x i ) ,
      Figure DE112020003498T5_0045
      mit einer Menge vorgeschlagener Modellparameter Pt+1 = param(Mt+1)
    • Pt+1 besteht den Kurzzeit - Validierungstest,
    • falls f a l l s ( m A P ( y i t + 1 ) m A P ( y i t ) ) > θ s v
      Figure DE112020003498T5_0046
      Anzahl von xi ∈ Xƒ=k Speichere param(Mt+1) zu einer Historie der Modellparameter Hp,
    • wobei die Terme in dieser Gleichung wie folgt definiert sind:
    • xi: iter Eingabevektor, xi ∈ Xf=k, Xƒ=k ⊂ Xs
    • Xs: eine Menge gesampelter Eingabevektoren
    • Xf=k: kter Durchlauf in der Menge gesampelter Eingabevektoren Xs
    • y i t :
      Figure DE112020003498T5_0047
      Softmax-Ausgang für iten Eingabevektor xi durch das aktuelle neuronale Netz Mt
    • y i t + 1 :
      Figure DE112020003498T5_0048
      Softmax-Ausgang für i - ten Eingabevektor xi durch vorgeschlagenes neuronales Netz Mt+1
    • θsv: vordefinierte Schwelle für Kurzzeitvalidierung
    • nsv: vordefinierte Anzahl von Eingabevektoren, die für Kurzzeitvalidierung geeignet sein sollten
  • Bei einigen Ausgestaltungen werden die Größen von nsv und k in der k-fachen Kreuzvalidierung während des Trainings des Basismodells auf dem Trainingsserver (z.B. dem in 1 dargestellten Trainingsserver 110) vordefiniert werden.
  • Wie oben erläutert, kann aus globaler Sicht durch eine Reihe lokaler Validierungen (z.B. Kurzzeitvalidierung) die Leistungsabdeckung des neuronalen Netzes auf lange Sicht nicht gewährleistet werden. Daher ist es erforderlich, das neuronale Netz nach einem vordefinierten Intervall, das eine Reihe von Modellparameteraktualisierungen umfasst, einer längerfristigen Validierung zu unterziehen.
  • Wie in Block 907 dargestellt, umfasst das Verfahren 900 die Durchführung der Langzeitvalidierung an den aktualisierten, gegenwärtig existierenden Modellparametern, die auf das neuronale Netz angewendet werden, indem eine Differenz zwischen den ursprünglichen Modellparametern, die auf das neuronale Netz angewendet werden, und den aktualisierten, gegenwärtig existierenden Modellparametern, die auf das neuronale Netz angewendet werden, bestimmt wird, wobei die aktualisierten, gegenwärtig existierenden Modellparameter den aktuellen Modellparametern entsprechen.
  • Bei einigen Ausgestaltungen ist die Langzeitvalidierung wie folgt formalisiert:
    • Stufe 1:
      • y i o = M o ( x i ) .
        Figure DE112020003498T5_0049
        mit einem Satz ursprünglicher Modellparameter Pt=0 = param(M°), Pt=0 ∈ Hp
      • y i t = M t ( x i )
        Figure DE112020003498T5_0050
        mit einem Satz aktueller Modellparameter Pt = param(Mt), Pt ∈ Hp
      • y i t + 1 = M t + 1 ( x i ) ,
        Figure DE112020003498T5_0051
        mit einer Menge vorgeschlagener Modellparameter Pt+1 = param(Mt+1)
      • Pt+1 besteht den Langzeit - Validierungstest Stufe 1,
        • falls f a l l s k = 0 t ( m A P ( y i k + 1 ) m A P ( y i k ) ) < θ s v
          Figure DE112020003498T5_0052
          für nlv Anzahl von xiX ƒ=k
      • Pt+1 besteht den Kurzzeit - Validierungstest Stufe 1,
        • falls f a l l s ( m A P ( y i t + 1 ) m A P ( y i t ) ) > θ s v
          Figure DE112020003498T5_0053
          für nsv Anzahl von xi ∈ Xƒ=k
        wobei die Terme in dieser Gleichung wie folgt definiert sind:
      • xi: ith Eingabevektor, xi ∈ Xƒ=k, Xƒ=k ⊂ Xs
      • Xs: eine Menge gesampelter Eingabevektoren
      • Xf=k: kter Durchlauf in der Menge gesampelter Eingabevektoren Xs
      • y i o :
        Figure DE112020003498T5_0054
        Softmax-Ausgang für i - ten Eingabevektor xi durch ursprüngliches neuronales Netz M°
      • y i t :
        Figure DE112020003498T5_0055
        Softmax-Ausgang für i - ten Eingabevektor xi durch aktuelles neuronales Netz Mt
      • y i t + 1 :
        Figure DE112020003498T5_0056
        Softmax-Ausgang für i - ten Eingabevektor xi durch vorgeschlagenes neuronales Netz Mt+1
      • θlv: vordefinierte Schwelle für Langzeitvalidierung
      • θsv: vordefinierte Schwelle für Kurzzeitvalidierung
      • nlv: vordefinierte Anzahl von Eingabevektoren, die für Langzeitvalidierung geeignet sein sollten
      • nsv: vordefinierte Anzahl von Eingabevektoren, die für Kurzzeitvalidierung geeignet sein sollten
      • Hp: eine Historie der Modellparameter
    • Stufe 2:
      • y r o = M o ( x r ) ,
        Figure DE112020003498T5_0057
        mit einem Satz ursprünglicher Modellparameter Pt=0 = param(M°), Pt=0 ∈ Hp
      • y r t = M t ( x r ) ,
        Figure DE112020003498T5_0058
        mit einem Satz aktueller Modellparameter Pt = param(Mt), Pt ∈ Hp
      • y r t + 1 = M t + 1 ( x r ) ,
        Figure DE112020003498T5_0059
        mit einer Menge vorgeschlagener Modellparameter Pt+1 = param(Mt+1)
      • Pt+1 besteht den Langzeit - Validierungstest Stufe 2,
        • falls f a l l s k = 0 t ( m A P ( y r k + 1 ) m A P ( y r k ) ) < θ l v
          Figure DE112020003498T5_0060
          für nlv Anzahl von xr ∈ Xr
      • Pt+1 besteht den Kurzzeit - Validierungstest Stufe 2,
        • falls f a l l s ( m A P ( y r t + 1 ) m A P ( y r t ) ) > θ s v
          Figure DE112020003498T5_0061
          für nsv Anzahl von xr ∈ Xr
        wobei die Terme in dieser Gleichung wie folgt definiert sind:
      • xr: r - ter Eingabevektor, xr ∈ Xr
      • Xr: Menge von Referenz-Eingabevektoren
      • y r o :
        Figure DE112020003498T5_0062
        Softmax-Ausgang für r—tenEingabevektor xr durch ursprüngliches neuronales Netz M°
      • y r t :
        Figure DE112020003498T5_0063
        Softmax-Ausgang für r - ten Eingabevektor xr durch aktuelles neuronales Netz Mt
      • y r t + 1 :
        Figure DE112020003498T5_0064
        Softmax-Ausgang für r - ten Eingabevektor xr durch vorgeschlagenes neuronales Netz Mt+1
    • Stufe 3:
      • Pt+1 besteht den Langzeit - Validierungstest
        • falls Pt+1 besteht Langzeit
          • - Validierungstests Stufe 1 und Stufe 2,
      • Pt+1 besteht den Kurzzeit - Validierungstest
        • if Pt+1 besteht Kurzzeit
          • - Validierungstests Stufe 1 und Stufe 2,
      • falls Pt+1 besteht den Langzeit - Validierungstest und den Kurzzeit - Validierungstest
      Speichere param(Mt+1) zu einer Historie der Modellparameter Hp,
  • Bei einigen Ausgestaltungen werden die Größen von nlv, nsv und k in der k-fachen Kreuzvalidierung während des Trainings des Basismodells auf dem Trainingsserver (z.B. dem in 1 dargestellten Trainingsserver 110) vordefiniert.
  • Wie in Block 909 dargestellt, umfasst das Verfahren 900 die Durchführung einer Operation, wenn die Differenz zwischen den ursprünglichen Modellparametern und den aktualisierten, aktuell existierenden Modellparametern innerhalb eines Schwellenwertes liegt. Bei einigen Ausgestaltungen umfasst das Verfahren 900 ferner das Anpassen der aktualisierten, aktuell existierenden Modellparameter, wenn die Differenz zwischen den ursprünglichen Modellparametern und den aktualisierten, aktuell existierenden Modellparametern außerhalb des Schwellenwerts liegt, wobei das Anpassen der aktualisierten, aktuell existierenden Modellparameter ferner Folgendes umfasst: Einstellen der aktualisierten, aktuell existierenden Modellparameter auf zuvor existierende Modellparameter, Durchführen einer Werksrückstellung der aktualisierten, aktuell existierenden Modellparameter auf die ursprünglichen Modellparameter oder Aktualisieren der aktualisierten, aktuell existierenden Modellparameter auf einen neuen Satz von Modellparametern über ein Netzwerk. Bei einigen Ausgestaltungen wird der Schwellenwert oder die ursprünglichen Modellparameter durch Aktualisierungen über ein Netzwerk 120 (z.B. das in 1 gezeigte Netzwerk 120) festgelegt.
  • Bei einigen Ausgestaltungen wird der Unterschied zwischen den ursprünglichen Modellparametern und den aktualisierten, aktuell existierenden Modellparametern durch den Vergleich einer ersten mittleren Durchschnittspräzision, die sich auf eine erste Leistung der auf das vortrainierte neuronale Netz angewendeten ursprünglichen Parameter bezieht, und einer zweiten mittleren Durchschnittspräzision, die sich auf eine zweite Leistung der auf das vortrainierte neuronale Netz angewendeten aktualisierten, aktuell existierenden Modellparameter bezieht, bestimmt.
  • 10 ist ein Blockdiagramm eines beispielhaften neuronalen Netzes 1000 gemäß einigen Ausgestaltungen. Während bestimmte spezifische Merkmale illustriert sind, wird der Fachmann aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht illustriert wurden, um relevantere Aspekte der hier offengelegten Ausgestaltungen nicht zu verdecken. Zu diesem Zweck umfasst das neuronale Netz 1000 bei einigen Ausführungsformen als nicht beschränkendes Beispiel eine Eingabeschicht 1020, eine erste verborgene Schicht 1022, eine zweite verborgene Schicht 1024 und eine Ausgabeschicht 1026. Während das neuronale Netz 1000 als Beispiel zwei verborgene Schichten umfasst, werden Fachleute aus der vorliegenden Offenbarung erkennen, dass bei verschiedenen Ausgestaltungen auch eine oder mehrere zusätzliche verborgene Schichten vorhanden sind. Das Hinzufügen zusätzlicher verborgener Schichten erhöht die Rechenkomplexität und den Speicherbedarf, kann aber bei einigen Anwendungen die Leistung verbessern.
  • Bei verschiedenen Ausgestaltungen ist die Eingabeschicht 1020 dazu gekoppelt (z.B. konfiguriert), verschiedene Eingaben 1002 (z.B. Bilddaten) zu empfangen. Beispielsweise empfängt die Eingabeschicht 1020 Pixeldaten von einem oder mehreren Bildsensoren (z.B. dem in 1 gezeigten Bildsensor 132). Bei verschiedenen Ausführungsformen umfasst die Eingabeschicht 1020 eine Reihe von Logikeinheiten 1020a mit Langzeitspeicher (LSTM), die von Fachleuten auch als Neuronenmodell(e) bezeichnet werden. Bei einigen dieser Ausgestaltungen umfasst eine Eingangsmatrix von den Merkmalen zu den LSTM-Logikeinheiten 1020a rechteckige Matrizen. Die Größe dieser Matrix ist zum Beispiel eine Funktion der Anzahl der im Merkmalsstrom enthaltenen Merkmale.
  • Bei einigen Ausgestaltungen umfasst die erste verborgene Schicht 1022 eine Anzahl von LSTM-Logikeinheiten 1022a. Bei einigen Ausgestaltungen liegt die Anzahl der LSTM-Logikeinheiten 1022a zwischen etwa 10 und 500. Gewöhnliche Fachleute wissen, dass bei solchen Ausgestaltungen die Anzahl der LSTM-Logikeinheiten pro Schicht um Größenordnungen geringer ist als bei bisher bekannten Ansätzen (in der Größenordnung von O(101) bis 0(102)), was es ermöglicht, solche Ausgestaltungen in Geräte mit stark eingeschränkten Ressourcen einzubetten. Wie im Beispiel der 10 dargestellt, erhält die erste verborgene Schicht 1022 ihre Eingaben von der Eingabeschicht 1020. Beispielsweise führt die erste verborgene Schicht 1022 eine oder mehrere der folgenden Operationen durch: eine Faltungsoperation, eine Nichtlinearitätsoperation, eine Normalisierungsoperation, eine Pooling-Operation und/oder ahnliches.
  • Bei einigen Ausgestaltungen umfasst die zweite verborgene Schicht 1024 eine Anzahl von LSTM-Logikeinheiten 1024a. Bei einigen Ausgestaltungen ist die Anzahl der LSTM-Logikeinheiten 1024a gleich oder ähnlich der Anzahl der LSTM-Logikeinheiten 1020a in der Eingabeschicht 1020 oder der Anzahl der LSTM-Logikeinheiten 1022a in der ersten verborgenen Schicht 1022. Wie im Beispiel der 10 dargestellt, erhält die zweite verborgene Schicht 1024 ihre Eingaben von der ersten verborgenen Schicht 1022. Zusätzlich und/oder alternativ erhält die zweite verborgene Schicht 1024 bei einigen Ausgestaltungen ihre Eingaben von der Eingangsschicht 1020. Beispielsweise führt die zweite verborgene Schicht 1024 eine oder mehrere der folgenden Operationen aus: eine Faltungsoperation, eine Nichtlinearitätsoperation, eine Normalisierungsoperation, eine Pooling-Operation und/oder ähnliches.
  • Bei einigen Ausführungsformen umfasst die Ausgabeschicht 1026 eine Anzahl von LSTM-Logikeinheiten 1026a. Bei einigen Ausgestaltungen ist die Anzahl der LSTM-Logikeinheiten 1026a gleich oder ähnlich der Anzahl der LSTM-Logikeinheiten 1020a in der Eingabeschicht 1020, der Anzahl der LSTM-Logikeinheiten 1022a in der ersten verborgenen Schicht 1022 oder der Anzahl der LSTM-Logikeinheiten 1024a in der zweiten verborgenen Schicht 1024. Bei einigen Ausgestaltungen ist die Ausgabeschicht 1026 eine aufgabenabhängige Schicht, die eine Computer-Vision-bezogene Aufgabe wie Merkmalsextraktion, Objekterkennung, Objekterfassung, Posenabschätzung oder ähnliches durchführt. Bei einigen Ausgestaltungen umfasst die Ausgabeschicht 1026 eine Ausgestaltung einer multinomialen logistischen Funktion (z.B. eine Soft-Max-Funktion), die eine Anzahl von Ausgaben 1030 erzeugt.
  • Neuronale Netze wie CNNs werden häufig zur Lösung von Bildverarbeitungsproblemen eingesetzt, darunter Merkmalsextraktion, Objekterkennung, Objekterkennung und Posenabschätzung. Ein modernes CNN besteht in der Regel aus einer Eingabeschicht, einer Reihe von verborgenen Schichten und einer Ausgabeschicht. Zumindest bei einigen Szenarien ist die Eingabe in die Eingabeschicht des CNN ein Bildrahmen, während die Ausgabeschicht eine aufgabenabhängige Schicht ist. Die verborgenen Schichten umfassen oft eine von mehreren Operationen wie Faltungsoperationen, Nichtlinearität, Normalisierung und Pooling. Eine entsprechende Faltungsschicht kann beispielsweise einen Satz von Filtern enthalten, deren Gewichte direkt aus den Daten gelernt werden. Bei diesem Beispiel sind die Ausgaben dieser Filter eine oder mehrere Merkmalskarten, die durch Anwendung von Filtern auf die Eingabedaten der Faltungsschicht erhalten werden.
  • 11 ist ein Blockdiagramm eines Beispiels für ein Edge-Gerät (z.B. das in 1 gezeigte Edge-Gerät 150), das in Übereinstimmung mit einigen Ausgestaltungen konfiguriert ist. Während bestimmte spezifische Merkmale abgebildet sind, werden Fachleute aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht abgebildet wurden, um relevantere Aspekte der hier offengelegten Ausgestaltungen nicht zu verdecken. Zu diesem Zweck, als nicht beschränkendes Beispiel, umfasst die Vorrichtung 1100 bei einigen Ausgestaltungen eine oder mehrere Verarbeitungseinheiten 1102 (z.B. NMP, Mikroprozessoren, ASICs, FPGAs, GPUs, CPUs, Verarbeitungskerne und/oder dergleichen), eine oder mehrere optionale E/A-Vorrichtungen 1106, eine oder mehrere Kommunikationsschnittstellen 1108 (z.B., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, BLUETOOTH, ZIGBEE und/oder ähnliche Schnittstellen), eine oder mehrere Programmierschnittstellen (z.B. E/A) 1110, einen oder mehrere Sensoren 1111, einen Speicher 1310 und einen oder mehrere Kommunikationsbusse 1104 zur Verbindung dieser und verschiedener anderer Komponenten.
  • Bei einigen Ausgestaltungen umfassen die ein oder mehreren Kommunikationsbusse 1104 Schaltkreise, die die Kommunikation zwischen den Systemkomponenten verbinden und steuern.
  • Bei einigen Ausführungsformen sind die Sensoren 1111 so konfiguriert, dass sie Bilddatenrahmen erhalten. Die Sensoren 1111 entsprechen beispielsweise einer oder mehreren RGB-Kameras (z.B. mit einem CMOS-Bildsensor (Complementary Metal-Oxide-Semiconductor) oder einem CCD-Bildsensor (Charge-Coupled Device)), Infrarot-Bildsensoren, ereignisbasierten Kameras, einem Mikrofon und/oder Ähnlichem.
  • Der Speicher 1130 umfasst einen Hochgeschwindigkeits-Direktzugriffsspeicher, wie DRAM, SRAM, DDR RAM oder andere Festkörperspeicher mit Direktzugriff. Bei einigen Ausgestaltungen umfasst der Speicher 1130 einen nichtflüchtigen Speicher, wie z.B. ein oder mehrere Magnetplattenspeichergeräte, optische Plattenspeichergeräte, Flash-Speichergeräte oder andere nichtflüchtige Festkörperspeichergeräte. Der Speicher 1130 umfasst optional eine oder mehrere Speichereinrichtungen, die von der einen oder mehreren Verarbeitungseinheiten 1102 entfernt sind. Der Speicher 1130 umfasst ein nicht-flüchtiges, computerlesbares Speichermedium. Bei einigen Ausgestaltungen speichert der Speicher 1130 oder das nicht-übertragbare, computerlesbare Speichermedium des Speichers 1130 die folgenden Programme, Module und Datenstrukturen oder eine Untermenge davon, einschließlich eines optionalen Betriebssystems 1114, eines Edge-Learning-Moduls 1116, eines Trainingsdaten-Steuermoduls 1118 und eines Inferenzmoduls 1120.
  • Das optionale Betriebssystem 1114 umfasst Verfahren zur Handhabung verschiedener grundlegender Systemdienste und zur Durchführung hardwareabhängiger Aufgaben.
  • Bei einigen Ausgestaltungen ist das Edge-Learning-Modul 1116 so konfiguriert, dass es eine Datenanreicherung, eine Konfidenzverbesserung, ein automatisches Labeling der Trainings- und Validierungsdaten, eine Kurzzeit- und Langzeitvalidierung sowie eine Aktualisierung der Parameter des neuronalen Netzes durchführt. Zu diesem Zweck umfasst das Edge-Learning-Modul 1116 bei verschiedenen Ausgestaltungen Anweisungen 1116a und/oder Logik dafür sowie Heuristiken und Metadaten 1116b.
  • Bei einigen Ausgestaltungen ist das Trainingsdaten-Steuermodul 1118 so konfiguriert, dass es die Größe der Trainingsdaten bestimmt und plant, wann die Ausführung des Trainings des neuronalen Netzes für das Edge-Learning eingeleitet werden soll. Zu diesem Zweck umfasst das Trainingsdaten-Steuermodul 1118 bei verschiedenen Ausgestaltungen Anweisungen 1118a und/oder Logik dafür sowie Heuristiken und Metadaten 1118b dafür.
  • Bei einigen Ausgestaltungen ist das Inferenzmodul 1120 so konfiguriert, dass es Inferenzergebnisse für die Trainings- und Validierungsdaten erzeugt und eine Inferenzkonsistenzprüfung in einer angereicherten Datengruppe durchführt. Zu diesem Zweck umfasst das Inferenzmodul 1120 bei verschiedenen Ausgestaltungen Anweisungen 1120a und/oder Logik dafür sowie Heuristiken und Metadaten 1120b dafür.
  • Obwohl das Edge-Learning-Modul 1116, das Trainingsdaten-Steuermodul 1118 und das Inferenzmodul 1120 als auf einem einzigen Gerät (z.B. dem Edge-Gerät 1100) befindlich dargestellt sind, kann bei einigen Ausgestaltungen jede Kombination des Edge-Learning-Moduls 1116, des Trainingsdaten-Steuermoduls 1118 und des Inferenzmoduls 1120 in separaten Rechenvorrichtungen untergebracht sein.
  • Darüber hinaus ist 11 eher als funktionale Beschreibung der verschiedenen Merkmale gedacht, die bei einer bestimmten Ausgestaltung vorhanden sein könnten, und nicht als strukturelles Schema der hier beschriebenen Ausgestaltungen. Wie von Fachleuten erkannt, können die separat dargestellten Elemente kombiniert und einige Elemente getrennt werden. Beispielsweise könnten einige in 11 separat dargestellte Funktionsmodule in einem einzigen Modul implementiert werden, und die verschiedenen Funktionen einzelner Funktionsblöcke könnten bei verschiedenen Ausgestaltungen durch einen oder mehrere Funktionsblöcke implementiert werden. Die tatsächliche Anzahl von Modulen und die Aufteilung bestimmter Funktionen sowie die Art und Weise, wie Merkmale unter ihnen aufgeteilt werden, variiert von einer Ausgestaltung zur anderen und hängt bei einigen Ausgestaltungen teilweise von der besonderen Kombination von Hardware, Software und/oder Firmware ab, die für eine bestimmte Ausgestaltung gewählt wurde.
  • Während verschiedene Aspekte von Ausgestaltungen innerhalb des Geltungsbereichs der beigefügten Ansprüche oben beschrieben sind, sollte es offensichtlich sein, dass die verschiedenen Merkmale der oben beschriebenen Ausgestaltungen in einer Vielzahl von Formen verkörpert werden können und dass jede spezifische Struktur und/oder Funktion, die oben beschrieben ist, lediglich illustrativ ist. Auf der Grundlage der vorliegenden Offenbarung sollte ein Fachmann erkennen, dass ein hierin beschriebener Aspekt unabhängig von anderen Aspekten implementiert werden kann und dass zwei oder mehr dieser Aspekte auf verschiedene Weise kombiniert werden können. So kann beispielsweise eine Vorrichtung implementiert und/oder ein Verfahren unter Verwendung einer beliebigen Anzahl der hier dargelegten Aspekte durchgeführt werden. Darüber hinaus kann eine solche Vorrichtung implementiert und/oder ein solches Verfahren unter Verwendung einer anderen Struktur und/oder Funktionalität zusätzlich zu oder abweichend von einem oder mehreren der hier dargelegten Aspekte durchgeführt werden.
  • Es versteht sich auch von selbst, dass, obwohl die Begriffe „erstes“, „zweites“ usw. hier zur Beschreibung verschiedener Elemente verwendet werden können, diese Elemente nicht durch diese Begriffe eingeschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erstes Bild als zweites Bild bezeichnet werden, und ebenso könnte ein zweites Bild als erstes Bild bezeichnet werden, wodurch sich die Bedeutung der Beschreibung ändert, solange die Vorkommen des „ersten Bildes“ konsequent umbenannt werden und die Vorkommen des „zweiten Bildes“ konsequent umbenannt werden. Das erste Bild und das zweite Bild sind beide Bilder, aber sie sind nicht dasselbe Bild.
  • Die hier verwendete Terminologie dient nur der Beschreibung bestimmter Ausführungsformen und ist nicht als Einschränkung der Ansprüche zu verstehen. Die in der Beschreibung der Ausführungen und den beigefügten Ansprüchen verwendeten Singularformen „ein“, „ein“ und „die“ schließen auch die Pluralformen ein, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Es versteht sich auch, dass der Begriff „und/oder“, wie er hier verwendet wird, sich auf alle möglichen Kombinationen von einem oder mehreren der aufgelisteten Elemente bezieht und diese einschließt. Es versteht sich ferner, dass die Begriffe „umfasst“ und/oder „enthaltend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein der angegebenen Merkmale, ganzen Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, aber nicht das Vorhandensein oder die Hinzufügung von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Der Begriff „wenn“ kann je nach Kontext so verstanden werden, dass er „wenn“ oder „bei“ oder „als Reaktion auf die Feststellung“ oder „in Übereinstimmung mit einer Feststellung“ oder „als Reaktion auf die Feststellung“ bedeutet, dass eine angegebene aufschiebende Bedingung erfüllt ist. Ebenso kann die Formulierung „wenn festgestellt wird [dass eine angegebene aufschiebende Bedingung erfüllt ist]“ oder „wenn [eine angegebene aufschiebende Bedingung erfüllt ist]“ oder „wenn [eine angegebene aufschiebende Bedingung erfüllt ist]“ je nach Kontext so ausgelegt werden, dass sie „bei der Feststellung“ oder „als Reaktion auf die Feststellung“ oder „in Übereinstimmung mit einer Feststellung“ oder „bei der Feststellung“ oder „als Reaktion auf die Feststellung“ bedeutet, dass die angegebene aufschiebende Bedingung erfüllt ist.

Claims (21)

  1. Verfahren, umfassend: Eingeben von Kandidatendaten in ein erstes neuronales Netz, um die Kandidatendaten durch Auswählen einer Untermenge der Kandidatendaten auf Basis einer Ausgabe des ersten neuronalen Netzes zu filtern, wobei das erste neuronale Netz vortrainiert wird; Durchführen einer Konfidenzverbesserungsprüfung an der Untermenge von Kandidatendaten durch: Durchführen einer Datenkonsistenzprüfung durch Erzeugen angereicherter Daten von allen Kandidatendaten aus der Untermenge von Kandidatendaten, wobei die erzeugten angereicherten Daten als Eingaben in das erste neuronale Netz verwendet werden, um eine erste Konfidenzbedingung für alle Daten der Untermenge von Kandidatendaten zu bestimmen, Eingeben der Untermenge von Kandidatendaten in ein zweites neuronales Netz, das unter Verwendung von Daten aus einer Umgebung trainiert wird, um eine zweite Konfidenzbedingung zu bestimmen, wobei das zweite neuronale Netz eine an die Umgebung überangepasste Version des ersten neuronalen Netzes ist, und Durchführen eines Clustering an der Untermenge von Kandidatendaten, wobei Ergebnisse des Clustering an der Untermenge von Kandidatendaten als Eingaben in einen dritten maschinellen Lernansatz verwendet werden, um eine dritte Konfidenzbedingung zu bestimmen; und automatisches Labeling, als Trainingsdaten, der Untermenge von Kandidatendaten aus der Untermenge von Kandidatendaten nach Maßgabe eines Konfidenzniveaulabels basierend auf der ersten Konfidenzbedingung, der zweiten Konfidenzbedingung und der dritten Konfidenzbedingung.
  2. Verfahren nach Anspruch 1, wobei die Kandidatendaten neu erfassten Daten entsprechen, die von Sensoren an einem Gerät erfasst werden, wobei die neu erfassten Daten visuellen oder akustischen Daten entsprechen, die für die Umgebung spezifisch sind.
  3. Verfahren nach Anspruch 1, wobei das erste neuronale Netz auf einer vereinfachten Version eines neuronalen Basisnetzmodells basiert.
  4. Verfahren nach Anspruch 1, wobei die Durchführung der Datenkonsistenzprüfung ferner umfasst: Zuordnen einer Gruppenidentifikation zu den angereicherten Daten, wobei die Gruppenidentifikation eine Quelle für die erzeugten angereicherten Daten angibt; Vergleichen eines Kandidatenlabels mit anderen Kandidatenlabels in einer angereicherten Datengruppe mit einer gleichen Gruppenidentifikation; und Erhöhen eines Gewichts der ersten Konfidenzbedingung auf Grundlage einer Konfidenz des Kandidatenlabels, wenn das Kandidatenlabel mit den anderen Kandidatenlabels in der angereicherten Datengruppe mit der gleichen Gruppenidentifikation übereinstimmt.
  5. Verfahren nach Anspruch 1, wobei die angereicherten Daten durch mindestens eines von Verschieben, Skalieren, Translation oder Rotation eines Bildes aus der Untermenge der Kandidatendaten erzeugt werden.
  6. Verfahren nach Anspruch 1, wobei das Clustering eine bekannte feste Anzahl von Clustern mit bekannten Referenzdatenpunkten umfasst.
  7. Verfahren nach Anspruch 1, wobei das Clustering auf dem Vergleich von Abstandsmessungen für die Untermenge von Kandidatendaten mit bekannten Referenzpunkten und der Messung von Ähnlichkeiten zwischen den Abstandsmessungen basiert, um Cluster zu bilden.
  8. Verfahren nach Anspruch 1, wobei die erste Konfidenzbedingung auf Ergebnissen der Datenkonsistenzprüfung basiert, die zweite Konfidenzbedingung einem Ergebnis der Ausgabe des zweiten neuronalen Netzes entspricht, und die dritte Konfidenzbedingung einem Ergebnis der Ausgabe des dritten maschinellen Lernansatzes entspricht.
  9. Verfahren nach Anspruch 1, wobei die automatisch gelabelte Untermenge von Kandidatendaten in automatisch gelabelte Trainingsdaten und automatisch gelabelte Validierungsdaten unterschieden wird.
  10. Verfahren nach Anspruch 1, wobei das automatische Labeling der Untermenge von Kandidatendaten aus der Untermenge von Kandidatendaten durchgeführt wird, während ein Gerät in einer Dockingstation aufgeladen wird.
  11. Edge-Gerät, wobei das Edge-Gerät umfasst: einen oder mehrere Prozessoren; einen nichtflüchtigen Speicher; und ein oder mehrere in dem nichtflüchtigen Speicher gespeicherte Programme, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, bewirken, dass das Edge-Gerät zur Durchführung konfiguriert ist von: Eingeben von Kandidatendaten in ein erstes neuronales Netz, um die Kandidatendaten durch Auswählen einer Untermenge der Kandidatendaten auf Basis einer Ausgabe des ersten neuronalen Netzes zu filtern, wobei das erste neuronale Netz vortrainiert wird; Durchführen einer Konfidenzverbesserungsprüfung an der Untermenge von Kandidatendaten durch: Durchführen einer Datenkonsistenzprüfung durch Erzeugen angereicherter Daten von allen Kandidatendaten aus der Untermenge von Kandidatendaten, wobei die erzeugten angereicherten Daten als Eingaben in das erste neuronale Netz verwendet werden, um eine erste Konfidenzbedingung für alle Daten der Untermenge von Kandidatendaten zu bestimmen, Eingeben der Untermenge von Kandidatendaten in ein zweites neuronales Netz, das unter Verwendung von Daten aus einer Umgebung trainiert wird, um eine zweite Konfidenzbedingung zu bestimmen, wobei das zweite neuronale Netz eine an die Umgebung überangepasste Version des ersten neuronalen Netzes ist, und Durchführen eines Clustering an der Untermenge von Kandidatendaten, wobei Ergebnisse des Clustering an der Untermenge von Kandidatendaten als Eingaben in einen dritten maschinellen Lernansatz verwendet werden, um eine dritte Konfidenzbedingung zu bestimmen; und automatisches Labeling, als Trainingsdaten, der Untermenge von Kandidatendaten aus der Untermenge von Kandidatendaten nach Maßgabe eines Konfidenzniveaulabels basierend auf der ersten Konfidenzbedingung, der zweiten Konfidenzbedingung und der dritten Konfidenzbedingung.
  12. Edge-Gerät nach Anspruch 11, wobei die Kandidatendaten neu erfassten Daten entsprechen, die von Sensoren an einem Gerät erfasst werden, wobei die neu erfassten Daten visuellen oder akustischen Daten entsprechen, die für die Umgebung spezifisch sind.
  13. Edge-Gerät nach Anspruch 11, wobei das erste neuronale Netz auf einer vereinfachten Version eines neuronalen Basisnetzmodells basiert.
  14. Edge-Gerät nach Anspruch 11, wobei die Durchführung der Datenkonsistenzprüfung ferner umfasst: Zuordnen einer Gruppenidentifikation zu den angereicherten Daten, wobei die Gruppenidentifikation eine Quelle für die erzeugten angereicherten Daten angibt; Vergleichen eines Kandidatenlabels mit anderen Kandidatenlabels in einer angereicherten Datengruppe mit einer gleichen Gruppenidentifikation; und Erhöhen eines Gewichts der ersten Konfidenzbedingung auf Grundlage einer Konfidenz des Kandidatenlabels, wenn das Kandidatenlabel mit den anderen Kandidatenlabels in der angereicherten Datengruppe mit der gleichen Gruppenidentifikation übereinstimmt.
  15. Edge-Gerät nach Anspruch 11, wobei die angereicherten Daten durch mindestens eines von Verschieben, Skalieren, Translation oder Rotation eines Bildes aus der Untermenge der Kandidatendaten erzeugt werden.
  16. Edge-Gerät nach Anspruch 11, wobei das Clustering eine bekannte feste Anzahl von Clustern mit bekannten Referenzdatenpunkten umfasst.
  17. Edge-Gerät nach Anspruch 11, wobei das Clustering auf dem Vergleich von Abstandsmessungen für die Untermenge von Kandidatendaten mit bekannten Referenzpunkten und der Messung von Ähnlichkeiten zwischen den Abstandsmessungen basiert, um Cluster zu bilden.
  18. Edge-Gerät nach Anspruch 11, wobei die erste Konfidenzbedingung auf Ergebnissen einer Inferenzergebnis-Konsistenzprüfung basiert, die zweite Konfidenzbedingung einer gewichteten Summe einer Ausgabe des zweiten neuronalen Netzes entspricht und die dritte Konfidenzbedingung einem Ergebnis der Ausgabe des dritten maschinellen Lernansatzes entspricht.
  19. Edge-Gerät nach Anspruch 11, wobei die automatisch gelabelte Untermenge von Kandidatendaten in automatisch gelabelte Trainingsdaten und automatisch gelabelte Validierungsdaten unterschieden wird.
  20. Edge-Gerät nach Anspruch 11, wobei das automatische Labeling der Untermenge von Kandidatendaten aus der Untermenge von Kandidatendaten durchgeführt wird, während das Edge-Gerät in einer Dockingstation aufgeladen wird.
  21. Maschinenlesbares nichtflüchtiges Medium mit darauf gespeicherten maschinenausführbaren Instruktionen zum Labeling von Trainingsdaten für maschinelles Lernen, wobei die Instruktionen umfassen: Eingeben von Kandidatendaten in ein erstes neuronales Netz, um die Kandidatendaten durch Auswählen einer Untermenge der Kandidatendaten auf Basis einer Ausgabe des ersten neuronalen Netzes zu filtern, wobei das erste neuronale Netz vortrainiert wird; Durchführen einer Konfidenzverbesserungsprüfung an der Untermenge von Kandidatendaten durch Durchführen einer Datenkonsistenzprüfung durch Erzeugen angereicherter Daten von allen Kandidatendaten aus der Untermenge von Kandidatendaten, wobei die erzeugten angereicherten Daten als Eingaben in das erste neuronale Netz verwendet werden, um eine erste Konfidenzbedingung für alle Daten der Untermenge von Kandidatendaten zu bestimmen, Eingeben der Untermenge von Kandidatendaten in ein zweites neuronales Netz, das unter Verwendung von Daten aus einer Umgebung trainiert wird, um eine zweite Konfidenzbedingung zu bestimmen, wobei das zweite neuronale Netz eine an die Umgebung überangepasste Version des ersten neuronalen Netzes ist, und Durchführen eines Clustering an der Untermenge von Kandidatendaten, wobei Ergebnisse des Clustering an der Untermenge von Kandidatendaten als Eingaben in einen dritten maschinellen Lernansatz verwendet werden, um eine dritte Konfidenzbedingung zu bestimmen; und automatisches Labeling, als Trainingsdaten, der Untermenge von Kandidatendaten aus der Untermenge von Kandidatendaten nach Maßgabe eines Konfidenzniveaulabels basierend auf der ersten Konfidenzbedingung, der zweiten Konfidenzbedingung und der dritten Konfidenzbedingung.
DE112020003498.4T 2019-08-20 2020-05-13 Erzeugung von trainings- und validierungsdaten für maschinelles lernen Pending DE112020003498T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962889056P 2019-08-20 2019-08-20
US62/889,056 2019-08-20
PCT/KR2020/006250 WO2021033873A1 (en) 2019-08-20 2020-05-13 Generating training and validation data for machine learning

Publications (1)

Publication Number Publication Date
DE112020003498T5 true DE112020003498T5 (de) 2022-04-21

Family

ID=74645795

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020003498.4T Pending DE112020003498T5 (de) 2019-08-20 2020-05-13 Erzeugung von trainings- und validierungsdaten für maschinelles lernen

Country Status (3)

Country Link
US (1) US11562236B2 (de)
DE (1) DE112020003498T5 (de)
WO (1) WO2021033873A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7222429B2 (ja) * 2019-07-30 2023-02-15 日本電信電話株式会社 データ選択方法、データ選択装置及びプログラム
EP3789924A1 (de) * 2019-09-09 2021-03-10 Robert Bosch GmbH Stochastische datenerweiterung für maschinenlernen
US11282192B2 (en) * 2019-12-19 2022-03-22 Varian Medical Systems International Ag Training deep learning engines for radiotherapy treatment planning
KR20210106814A (ko) * 2020-02-21 2021-08-31 삼성전자주식회사 뉴럴 네트워크 학습 방법 및 장치
US11847559B2 (en) * 2020-03-04 2023-12-19 HCL America, Inc. Modifying data cleansing techniques for training and validating an artificial neural network model
CN113506470A (zh) * 2020-03-24 2021-10-15 深圳市超捷通讯有限公司 超车辅助方法、车载装置及可读存储介质
US11328435B2 (en) * 2020-06-08 2022-05-10 KLA Corp. Image alignment setup for specimens with intra- and inter-specimen variations using unsupervised learning and adaptive database generation methods
WO2022043512A1 (en) * 2020-08-28 2022-03-03 UMNAI Limited Behavior modeling, verification, and autonomous actions and triggers of ml and ai systems
US11360155B2 (en) * 2020-09-03 2022-06-14 Volkswagen Aktiengesellschaft Battery state of health estimator
US11132598B1 (en) * 2021-02-23 2021-09-28 Neuraville, Llc System and method for humanoid robot control and cognitive self-improvement without programming
CN113724219A (zh) * 2021-08-27 2021-11-30 重庆大学 基于卷积神经网络的建筑物表面病害检测方法及系统
WO2023044555A1 (en) * 2021-09-27 2023-03-30 Fairly Ai Inc. System and method for artificial intelligence and machine learning model validation
CN113868240B (zh) * 2021-11-30 2022-03-11 深圳佑驾创新科技有限公司 数据清洗方法及计算机可读存储介质
CN116432011A (zh) * 2021-12-29 2023-07-14 华为技术有限公司 一种深度学习模型训练方法、装置及相关设备
CN114462623B (zh) * 2022-02-10 2023-05-26 电子科技大学 基于边缘计算的数据分析方法、系统及平台
US20230386184A1 (en) * 2022-04-13 2023-11-30 Subtle Medical, Inc. Self-supervised learning for medical image quality control
CN114996010B (zh) * 2022-06-06 2024-05-24 中国地质大学(北京) 面向移动边缘环境下的智能服务保障方法
CN117445735B (zh) * 2023-12-25 2024-03-19 国网天津市电力公司武清供电分公司 云边协同的充电预警方法、设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750886B1 (ko) * 2005-12-09 2007-08-22 한국전자통신연구원 학습 데이터 구축 장치 및 방법
US8774515B2 (en) * 2011-04-20 2014-07-08 Xerox Corporation Learning structured prediction models for interactive image labeling
US9747555B2 (en) * 2014-06-05 2017-08-29 International Business Machines Corporation Labeling of data for machine learning
US10002313B2 (en) * 2015-12-15 2018-06-19 Sighthound, Inc. Deeply learned convolutional neural networks (CNNS) for object localization and classification
EP3411828A4 (de) * 2016-02-01 2019-09-25 See-Out Pty Ltd. Bildklassifizierung und -markierung
KR102077804B1 (ko) * 2017-04-26 2020-04-07 김정희 학습 데이터 전처리 방법 및 시스템

Also Published As

Publication number Publication date
US11562236B2 (en) 2023-01-24
WO2021033873A1 (en) 2021-02-25
US20210056412A1 (en) 2021-02-25

Similar Documents

Publication Publication Date Title
DE112020003498T5 (de) Erzeugung von trainings- und validierungsdaten für maschinelles lernen
DE102018129424A1 (de) System und verfahren zum lernen der struktur von tiefen neuronalen netzwerken
Panda et al. Asp: Learning to forget with adaptive synaptic plasticity in spiking neural networks
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
DE112018000272T5 (de) Resistive Verarbeitungseinheit mit hysteretischen Aktualisierungen zum Trainieren neuronaler Netze
DE202017007641U1 (de) Training von maschinellen Lernmodellen auf mehrere maschinelle Lernaufgaben
DE202017007528U1 (de) Differenzmetrik für auf maschinellem Lernen basierende Verarbeitungssysteme
DE112020005610T5 (de) Identifizieren von optimalen gewichtungen zum verbessern einervorhersagegenauigkeit bei methoden für maschinelles lernen
DE112020003446T5 (de) Validierung einer Leistung eines neuronalen Netzes, das mit markierten Trainingsdaten trainiert wurde
CN113671421A (zh) 一种变压器状态评估与故障预警方法
DE102021205722A1 (de) System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
DE112021002866T5 (de) Modelltreueüberwachung und -neuerstellung zur entscheidungsunterstützung eines fertigungsverfahrens
DE102021102748A1 (de) 3d-posenschätzung des menschlichen körpers unter verwendung eines modells, das ausgehend von ungelabelten multi-view-daten trainiert wurde
DE112020004229T5 (de) Neues framework für zeitliche lokalisierung von aktionen mit wenigen aufnahmen
DE102023205594A1 (de) Verfahren und Systeme zum Trainieren eines Maschinenlernmodells mit während eines Herstellungsprozesses erfassten Messdaten
DE202023103073U1 (de) Ein System zur Segmentierung synthetischer Bilder unter Verwendung einer Glühwürmchen-Technik auf Basis des Absorptionskoeffizienten
Montazeri et al. Stochastic learning algorithms
DE112021002939T5 (de) Effiziente kachel-zuordnung für zeilenweise zuordnung in neuronalen faltungsnetzen zur analogen inferenz in künstliche-intelligenz-netzen
DE102020132591A1 (de) Auswählen von rechenkernvarianten unter verwendung neuronaler netzwerke
Mohamed A statistical view of deep learning
Bento et al. An Overview Of The Latest Machine Learning Trends In Short-Term Load Forecasting
DE102020123155A1 (de) Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und Operationsverfahren unter Verwendung eines künstlichen neuronalen Netzwerks
Richard et al. A comprehensive benchmark of neural networks for system identification
DE102023210855A1 (de) Geglättete Belohnungssystemübertragung für Bestärkende Actor-Critic-Lernmodelle

Legal Events

Date Code Title Description
R012 Request for examination validly filed