-
HINTERGRUND
-
Maschinelle Lernmodelle (zum Beispiel neuronale Netzwerke, Entscheidungsbäume, Support-Vektor-Maschinen, bayessche Netzwerke und dergleichen) sind in vielen Produkten enthalten, wie etwa Kraftfahrzeugen, medizinischen Geräten, Sicherheitssystemen und dergleichen. Maschinelle Lernmodelle werden trainiert, um Eingabedaten (zum Beispiel ein von einer Kamera empfangenes Bild, eine von einem Mikrofon empfangene Audioaufzeichnung und dergleichen) als eine mehrerer Optionen durch einen Lernalgorithmus unter Verwendung gelabelter Trainingsdaten zu klassifizieren. Beispielsweise kann ein maschinelles Lernmodell ein Bild von einer Kamera als eine Eingabe empfangen und trainiert werden, um zu bestimmen, ob ein Bild einen Elefanten beinhaltet. In diesem Beispiel beinhalten die Trainingsdaten mehrere Bilder, die entweder Elefanten abbilden oder nicht. Jedes Bild in den Trainingsdaten ist mit einem Label assoziiert, das angibt, ob ein Elefant im Bild enthalten ist. Durch das Versuchen, für jedes in den Trainingsdaten enthaltene Trainingsbeispiel zu bestimmen, ob ein Elefant in dem Bild abgebildet ist, und das Aktualisieren des maschinellen Lernmodells jedes Mal, wenn die Bestimmung inkorrekt ist, lernt das maschinelle Lernmodell zu detektieren, ob ein Bild einen Elefanten beinhaltet.
-
KURZFASSUNG
-
Aktives Lernen ist ein spezieller Fall des maschinellen Lernens, bei dem ein Lernalgorithmus in der Lage ist, einen Benutzer oder eine andere Informationsquelle (zum Beispiel eine Datenbank) interaktiv abzufragen, um Label für nicht gelabelte Trainingsdaten zu erhalten. Aktives Lernen ist nützlich, da das Labeln von Trainingsdaten eine zeitaufwendige und arbeitsintensive Aufgabe ist. Beispielsweise ist bei der medizinischen Diagnose das Labeln von MRI-Scans, CT(Computertomographie)-Scans, PET(Positronen-Emissions-Tomographie)-Scans und dergleichen, um anzugeben, ob die Scans eine bestimmte Krankheit oder Erkrankung angeben, eine zeitaufwendige Aufgabe, die medizinisches Fachwissen erfordert. Lernalgorithmen, die aktives Lernen verwenden, reduzieren die Anzahl gelabelter Trainingsbeispiele, die zum Trainieren maschineller Lernmodelle (zum Beispiel tiefer Lernmodelle) benötigt werden, indem die relevantesten Trainingsbeispiele aus den nicht gelabelten Trainingsdaten ausgewählt werden und eine Informationsquelle nur nach den Labeln der Trainingsbeispiele abgefragt wird, die als die relevantesten erachtet werden.
-
Gegenwärtig gibt es mehrere Systeme, die aktives Lernen zum Trainieren maschineller Lernmodelle verwenden. Viele gegenwärtige Systeme erfassen jedoch jeweils ein zusätzliches gelabeltes Trainingsbeispiel, fügen das eine zusätzliche Trainingsbeispiel zu den gelabelten Trainingsdaten hinzu und trainieren das Modell unter Verwendung der aktualisierten gelabelten Trainingsdaten nach jeder Erfassung neu. Diese gegenwärtigen Systeme verbrauchen eine erhebliche Rechenzeit dafür, das maschinelle Lernmodell neu zu trainieren, insbesondere, wenn das maschinelle Lernmodell ein tiefes Lernmodell ist. Diese gegenwärtigen Systeme sind auch ineffizient, da jede Abfrage zu einer Informationsquelle mit Kosten (zum Beispiel Verarbeitungs- und Netzwerkkapazität) assoziiert ist und diese Systeme eine große Anzahl von Abfragen zu der Informationsquelle vornehmen. Zusätzlich scheitern viele gegenwärtige Systeme daran, die Tatsache zu berücksichtigen, dass die Informationsquelle inkorrekt gelabelte oder verrauschte Daten bereitstellen kann.
-
Um die Mängel der gegenwärtigen Systeme zum Trainieren maschineller Lernmodelle mit aktivem Lernen zu überwinden, beschreiben Ausführungsformen hierin unter anderem ein System und ein Verfahren zum Trainieren eines maschinellen Lernmodells unter Verwendung eines Batch-basierten aktiven Lernansatzes. In manchen Ausführungsformen fragt ein aktiver Lernalgorithmus eine Informationsquelle nach den Labeln für einen Batch von Trainingsbeispielen ab. Nach dem Erfassen von Labeln für einen Batch von Trainingsbeispielen trainiert der Lernalgorithmus das maschinelle Lernmodell unter Verwendung des Batches gelabelter Trainingsbeispiele neu. Das Neutrainieren des maschinellen Lernmodells nach dem Erfassen von Labeln für einen Batch von Trainingsbeispielen, anstatt das Neutrainieren des maschinellen Lernmodells nach dem Erfassen eines Labels für ein einzelnes Trainingsbeispiel ermöglicht, dass maschinelle Lernmodelle unter Verwendung geringerer Verarbeitungsleistung und weniger leistungsstarken Prozessoren angelernt werden. Zusätzlich ermöglicht das Trainieren maschineller Lernmodelle unter Verwendung von Batches von Trainingsbeispielen, anstatt einzelner Trainingsbeispiele, dass die maschinellen Lernmodelle in kürzerer Zeit und mit weniger Abfragen zu der Informationsquelle trainiert werden. Schnellere und effizientere Verfahren zum Trainieren maschineller Lernmodelle sind besonders wichtig, wenn das maschinelle Lernmodell tiefes Lernen (zum Beispiel ein tiefes neuronales Netzwerk) nutzt.
-
Manche hierin beschriebenen Ausführungsformen berücksichtigen auch, dass für ein oder mehrere Trainingsbeispiele erfasste Label inkorrekt oder verrauscht sein können. In manchen Fällen beinhalten Ausführungsformen das Anfügen einer Schicht an das trainierte maschinelle Lernmodell. Die angefügte Schicht bestimmt die Likelihood, dass ein trainiertes maschinelles Lernmodell die empfangene Eingabe aufgrund verrauschter oder fehlerhaft gelabelter Trainingsdaten fehlerhaft labelt.
-
Eine Ausführungsform stellt ein System zum Trainieren eines maschinellen Lernmodells unter Verwendung eines Batch-basierten aktiven Lernansatzes bereit. Das System beinhaltet eine Informationsquelle und einen elektronischen Prozessor. Der elektronische Prozessor ist dazu ausgelegt, ein zu trainierendes maschinelles Lernmodell, einen nicht gelabelten Trainingsdatensatz, einen gelabelten Trainingsdatensatz und eine Kennung der Informationsquelle zu empfangen. Der elektronische Prozessor ist auch dazu ausgelegt, einen Batch von Trainingsbeispielen aus dem nicht gelabelten Trainingsdatensatz auszuwählen und eine Anforderung, für jedes in dem Batch enthaltene Trainingsbeispiel, für ein Label für das Trainingsbeispiel zu der Informationsquelle zu senden. Der elektronische Prozessor ist ferner dazu ausgelegt, für jedes in dem Batch enthaltene Trainingsbeispiel ein Label zu empfangen, das Trainingsbeispiel mit dem Label zu assoziieren und das Trainingsbeispiel zu dem gelabelten Trainingsdatensatz hinzuzufügen. Der elektronische Prozessor ist auch dazu ausgelegt, das maschinelle Lernmodell unter Verwendung der in dem Batch enthaltenen gelabelten Trainingsdaten zu trainieren.
-
Eine andere Ausführungsform stellt ein Verfahren zum Trainieren eines maschinellen Lernmodells unter Verwendung eines Batch-basierten aktiven Lernansatzes bereit. Das Verfahren beinhaltet Empfangen eines zu trainierenden maschinellen Lernmodells, eines nicht gelabelten Trainingsdatensatzes, eines gelabelten Trainingsdatensatzes und einer Kennung einer Informationsquelle. Das Verfahren beinhaltet auch Auswählen, mit einem elektronischen Prozessor, eines Batches von Trainingsbeispielen aus dem nicht gelabelten Trainingsdatensatz und Senden, zu der Informationsquelle, einer Anforderung, für jedes in dem Batch enthaltene Trainingsbeispiel, für ein Label für das Trainingsbeispiel. Das Verfahren beinhaltet ferner, für jedes in dem Batch enthaltene Trainingsbeispiel, Empfangen eines Labels, Assoziieren des Trainingsbeispiels mit dem Label und Hinzufügen des Trainingsbeispiels zu dem gelabelten Trainingsdatensatz. Das Verfahren beinhaltet außerdem Trainieren, mit dem elektronischen Prozessor, des maschinellen Lernmodells unter Verwendung der in dem Batch enthaltenen gelabelten Trainingsdaten.
-
Andere Aspekte, Merkmale und Ausführungsformen werden bei Erwägung der ausführlichen Beschreibung und der begleitenden Zeichnungen ersichtlich werden.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines Systems zum Trainieren eines maschinellen Lernmodells unter Verwendung eines Batch-basierten aktiven Lernansatzes gemäß manchen Ausführungsformen.
- 2 ist ein Flussdiagramm eines Verfahrens zur Verwendung des Systems von 1 zum Trainieren eines maschinellen Lernmodells unter Verwendung eines Batch-basierten aktiven Lernansatzes gemäß manchen Ausführungsformen.
- 3 ist ein Flussdiagramm eines Verfahrens zur Verwendung des Systems von 1 zum Auswählen von Trainingsbeispielen aus einem nicht gelabelten Trainingsdatensatz für den Einschluss in einen Batch von Trainingsbeispielen gemäß manchen Ausführungsformen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Bevor irgendwelche Ausführungsformen ausführlich erläutert werden, ist zu verstehen, dass diese Offenbarung nicht in ihrer Anwendung auf die in der folgenden Beschreibung dargelegten oder in den folgenden Zeichnungen veranschaulichten Konstruktionseinzelheiten und Anordnung von Komponenten beschränkt sein soll. Ausführungsformen sind zu anderen Konfigurationen und zur verschiedenartigen Umsetzung oder Ausführung fähig.
-
Mehrere hardware- und softwarebasierte Vorrichtungen sowie mehrere unterschiedliche strukturelle Komponenten können verwendet werden, um verschiedene Ausführungsformen zu implementieren. Zusätzlich können Ausführungsformen Hardware, Software und elektronische Komponenten oder Module beinhalten, die, für Besprechungszwecke, so veranschaulicht und beschrieben sind, als ob die Mehrheit der Komponenten alleinig in Hardware implementiert wären. Ein Durchschnittsfachmann würde jedoch basierend auf dem Lesen dieser ausführlichen Beschreibung erkennen, dass in mindestens einer Ausführungsform die elektronikbasierten Aspekte der Erfindung in Software implementiert (beispielsweise auf einem nichtflüchtigen computerlesbaren Medium gespeichert) werden können, die durch einen oder mehrere Prozessoren ausführbar ist. Beispielsweise können in der Patentschrift beschriebene „Steuereinheiten“ und „Steuerungen“ einen oder mehrere elektronische Prozessoren, ein oder mehrere Speichermodule einschließlich eines nichtflüchtigen computerlesbaren Mediums, eine oder mehrere Eingabe/Ausgabe-Schnittstellen, eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) und verschiedene Verbindungen (zum Beispiel einen Systembus), die die verschiedenen Komponenten verbinden, beinhalten.
-
1 veranschaulicht ein System 100 zum Trainieren eines maschinellen Lernmodells unter Verwendung eines Batch-basierten aktiven Lernansatzes. Das System 100 beinhaltet eine elektronische Vorrichtung 105 und eine Informationsquelle 110. Die elektronische Vorrichtung 105 kann ein Laptop- oder Desktop-Computer, ein Tablet-Computer, ein Smartphone oder eine andere Rechenvorrichtung sein. Die Informationsquelle 110 kann ein Laptop- oder Desktop-Computer, ein Tablet-Computer, ein Smartphone, eine Datenbank oder eine andere Rechenvorrichtung sein. In manchen Ausführungsformen ist die Informationsquelle 110 ein Desktop-Computer, der ein hörbares oder visuelles Trainingsbeispiel für einen Benutzer ausgibt und vom Benutzer ein Label für das Trainingsbeispiel empfängt. Beispielsweise kann die Informationsquelle 110 einen Bildschirm, der CT-Scans anzeigt, und eine Eingabevorrichtung beinhalten, die einem elektronischen Prozessor der Informationsquelle 110 ermöglicht, von einem Radiologen eine Auswahl zu empfangen, ob der CT-Scan angibt, dass ein Patient Krebs hat.
-
Wie in 1 veranschaulicht, kommunizieren die elektronische Vorrichtung 105 und die Informationsquelle 110 über ein Kommunikationsnetzwerk 115. Das Kommunikationsnetzwerk 115 beinhaltet ein oder mehrere drahtgebundene Netzwerke, drahtlose Netzwerke oder eine Kombination davon, die Kommunikationen innerhalb des Systems 100 ermöglichen. In manchen Konfigurationen beinhaltet das Kommunikationsnetzwerk 115 zum Beispiel Kabelnetze, das Internet, Lokalnetzwerke (LANs), großflächige Netzwerke (WAN), Mobiltelefonnetze (MTNs) und andere Netzwerkarten, die möglicherweise in Verbindung miteinander verwendet werden, um eine Kommunikation zwischen der elektronischen Vorrichtung 105 und der Informationsquelle 110 zu ermöglichen, die in dem System 100 enthalten sind.
-
Die in 1 veranschaulichte Ausführungsform stellt nur ein Beispiel der Komponenten und Verbindungen des Systems 100 bereit. Diese Komponenten und Verbindungen können jedoch auf andere Weisen als die hierin veranschaulichten und beschriebenen erstellt werden.
-
Die elektronische Vorrichtung 105 beinhaltet mehrere elektrische und elektronische Komponenten, die den Komponenten und Modulen innerhalb der elektronischen Vorrichtung 105 Leistung, Betriebssteuerung und Schutz bereitstellen. Die elektronische Vorrichtung 105 beinhaltet unter anderem einen elektronischen Prozessor 120 (wie etwa einen programmierbaren elektronischen Mikroprozessor, Mikrocontroller oder eine andere ähnliche Vorrichtung), einen Speicher 125 (beispielsweise einen nichtflüchtigen computerlesbaren Speicher) und eine Eingabe/Ausgabe-Schnittstelle 130. Der elektronische Prozessor 120 ist kommunikativ mit dem Speicher 125 und der Eingabe/Ausgabe-Schnittstelle 130 verbunden. Der elektronische Prozessor 120 ist in Abstimmung mit dem Speicher 125 und der Eingabe/Ausgabe-Schnittstelle 130 dazu ausgelegt, unter anderem die hierin beschriebenen Verfahren zu implementieren. Es versteht sich, dass die elektronische Vorrichtung 105 auch einen oder mehrere Sensoren beinhalten kann, die Daten gewinnen, die in ein maschinelles Lernmodell zur Klassifikation als eine mehrerer Klassen eingegeben werden können. Beispielsweise kann die elektronische Vorrichtung 105 eine Kamera, einen Radarsensor, einen Lidar-Sensor, einen Ultraschallsensor, ein Mikrofon, eine Kombination des Vorstehenden oder dergleichen beinhalten.
-
Wie nachstehend ausführlicher beschrieben wird, beinhaltet der Speicher 125 computerausführbare Anweisungen zum Trainieren eines maschinellen Lernmodells unter Verwendung eines Batch-basierten aktiven Lernansatzes. In dem in 1 veranschaulichten Beispiel beinhaltet der Speicher 125 ein maschinelles Lernmodell 135, einen nicht gelabelten Trainingsdatensatz 140, einen gelabelten Trainingsdatensatz 145 und einen Lernalgorithmus 150, die jeweils nachstehend ausführlicher beschrieben sind. Es versteht sich, dass der Speicher 125 mehr, weniger oder andere Programme oder Softwarekomponenten als jene in 1 veranschaulichten beinhalten kann. Es sollte auch verstanden werden, dass Funktionalität oder Werte, die hierin als mit einer Komponente des Speichers 125 assoziiert beschrieben werden, in anderen Ausführungsformen mit einer anderen Komponente des Speichers 125 assoziiert sein können.
-
In manchen Ausführungsformen kann die elektronische Vorrichtung 105 in mehreren unabhängigen Steuerungen (zum Beispiel programmierbaren elektronischen Steuerungen) implementiert werden, die jeweils dazu ausgelegt sind, spezifische Funktionen oder Teilfunktionen durchzuführen. Zusätzlich kann die elektronische Vorrichtung 105 Untermodule enthalten, die zusätzliche elektronische Prozessoren, Speicher oder anwendungsspezifische integrierte Schaltungen (ASICs) zum Bearbeiten von Eingabe/Ausgabe-Funktionen, zur Verarbeitung von Signalen und zur Anwendung der unten aufgelisteten Verfahren beinhalten. In anderen Ausführungsformen beinhaltet die elektronische Vorrichtung 105 zusätzliche, weniger oder andere Komponenten. Somit können die Programme auch unter einem oder mehreren Prozessoren verteilt sein.
-
2 veranschaulicht ein Beispiel eines Verfahrens 200 zum Trainieren eines maschinellen Lernmodells unter Verwendung eines Batch-basierten aktiven Lernansatzes. Das Verfahren 200 wird durch den elektronischen Prozessor 120 durchgeführt, wenn der elektronische Prozessor 120 den Lernalgorithmus 150 ausführt.
-
Das Verfahren 200 beginnt bei Schritt 205, wenn der elektronische Prozessor 120 einen gelabelten Trainingsdatensatz (zum Beispiel den gelabelten Trainingsdatensatz 145), einen nicht gelabelten Trainingsdatensatz (zum Beispiel den nicht gelabelten Trainingsdatensatz 140), ein maschinelles Lernmodell zum Trainieren (zum Beispiel das maschinelle Lernmodell 135) und eine Kennung einer abzufragenden Informationsquelle, um Label für den nicht gelabelten Trainingsdatensatz 140 zu erhalten (zum Beispiel die Informationsquelle 110), empfängt. Das maschinelle Lernmodell 135 kann zum Beispiel ein neuronales Netzwerk, ein Entscheidungsbaum, eine Support-Vektor-Maschine, ein bayessches Netzwerk oder dergleichen sein. Der gelabelte Trainingsdatensatz 145 und der nicht gelabelte Trainingsdatensatz 140 sind beispielsweise ein Pool von Bildern, Sprachaufzeichnungen oder dergleichen. Die Größe des empfangenen gelabelten Trainingsdatensatzes 145 ist im Vergleich zu der Größe des nicht gelabelten Trainingsdatensatzes 140 gewöhnlich sehr klein, aber beide Trainingsdatensätze enthalten Trainingsdaten des gleichen Mediums. Falls beispielsweise der nicht gelabelte Trainingsdatensatz 140 Bilder beinhaltet, wird der gelabelte Trainingsdatensatz 145 auch Bilder enthalten. Wie nachstehend ausführlicher beschrieben, variieren der gelabelte Trainingsdatensatz 145 und der nicht gelabelte Trainingsdatensatz 140, während das Verfahren 200 durchgeführt wird. Es ist zu beachten, dass in manchen Ausführungsformen, wenn der gesetzte gelabelte Trainingsdatensatz 145 empfangen wird, er eine kleine Anzahl gelabelter Trainingsbeispiele beinhaltet, und bei der ersten Iteration des Verfahrens 200 der elektronische Prozessor 120 das maschinelle Lernmodell 135 mit der kleinen Anzahl von Trainingsbeispielen trainiert, die in dem empfangenen gelabelten Trainingsdatensatz 145 enthalten sind, bevor der Schritt 210 durchgeführt wird.
-
Bei Schritt
210 wählt der elektronische Prozessor
120 einen Batch von Trainingsbeispielen aus dem nicht gelabelten Trainingsdatensatz
140 aus.
3 veranschaulicht ein beispielhaftes Verfahren
300, das durch den elektronischen Prozessor
120 durchgeführt wird, um Trainingsbeispiele aus dem nicht gelabelten Trainingsdatensatz
140 für den Einschluss in den Batch auszuwählen. Bei Schritt
305 weist der elektronische Prozessor
120 jedem nicht gelabelten Trainingsbeispiel, das in dem nicht gelabelten Trainingsdatensatz
140 enthalten ist, eine Wichtigkeitsbewertung zu. Beispielsweise wird die Wichtigkeitsbewertung für ein nicht gelabeltes Trainingsbeispiel basierend auf gegenseitigen Informationen zwischen einem Vektor von Modellparametern (Θ) des maschinellen Lernmodells
135 und dem Trainingsbeispiel (x) bestimmt. Die folgende Gleichung (1) wird zum Berechnen gegenseitiger Informationen verwendet. Die folgende Gleichung (1) beschreibt die gegenseitige Wichtigkeit zwischen zwei Zufallsvariablen X und Y (I(X;Y)).
-
In der Gleichung (1) ist p(x,y) die gemeinsame Verteilung der Zufallsvariablen X und Y. Weitere Informationen bezüglich des Bestimmens der gegenseitigen Wichtigkeit kann bei https://en.wikipedia.org/wiki/Mutual_Information gefunden werden. Die einem Trainingsbeispiel (x) zugewiesene Wichtigkeitsbewertung gibt die Reduzierung der Unsicherheit des maschinellen Lernmodells 135 an, wenn das maschinelle Lernmodell 135 unter Verwendung des Trainingsbeispiels (x) trainiert wird.
-
Nachdem jedem Trainingsbeispiel, das in dem nicht gelabelten Trainingsdatensatz 140 enthalten ist, eine Wichtigkeitsbewertung zugewiesen wurde, clustert der elektronische Prozessor 120 bei Schritt 310 ähnliche nicht gelabelte Trainingsbeispiele zusammen. Der elektronische Prozessor 120 führt das Clustering durch das Ausführen eines Clustering-Algorithmus durch, wie etwa eines k-Means-Clustering-Algorithmus. In manchen Ausführungsformen wird die gewünschte Anzahl von Clustern (k) basierend auf einer in einem Batch einzuschließenden gewünschten Anzahl von Trainingsbeispielen (einer gewünschten Batch-Größe) bestimmt. Die gewünschte Batch-Größe kann ein vorbestimmter Wert sein oder kann vor der Ausführung des Verfahrens 200 ausgewählt werden. In manchen Ausführungsformen wird für jedes Trainingsbeispiel, das in dem nicht gelabelten Trainingsdatensatz 140 enthalten ist, eine Ausgabe des maschinellen Lernmodells 135, wenn dem maschinellen Lernmodell 135 das nicht gelabelte Trainingsbeispiel gegeben wird, durch eine Squashing-Funktion (zum Beispiel die Softmax-Funktion) ausgeführt und dann zum Clustern der Trainingsbeispiele, die in dem nicht gelabelten Trainingsdatensatz 140 enthalten sind, verwendet. Falls beispielsweise das maschinelle Lernmodell 135 eine Eingabe als zu einer von K Klassen gehörend klassifiziert, wird das Trainingsbeispiel als ŷ repräsentiert, wobei ŷ eine K-dimensionale Ausgabe des maschinellen Lernmodells 135 ist (in Anbetracht des Trainingsbeispiels als Eingabe), nachdem es der Squashing-Funktion unterzogen wurde. In manchen Ausführungsformen wird die Quadratwurzel der Jenson-Shannon-Divergenz als die Distanzmetrik des Clustering-Algorithmus verwendet, und das Clustering wird mit einem Bottom-Up-Ansatz (auch als agglomeratives Clustering bekannt) durchgeführt, bis die gewünschte Anzahl von Clustern erhalten wird. Die Jenson-Shannon-Divergenz misst die Ähnlichkeit zweier Wahrscheinlichkeitsverteilungen.
-
Bei Schritt 315 bestimmt der elektronische Prozessor 120 ein Zentroid für jedes Cluster basierend auf Wichtigkeitsbewertungen von Trainingsbeispielen, die in dem mit dem Zentroid assoziierten Cluster enthalten sind. Beispielsweise kann das Zentroid des Clusters eine Wichtigkeitsbewertung aufweisen, die der Median der Wichtigkeitsbewertungen der in dem Cluster enthaltenen Trainingsbeispiele ist.
-
Bei Schritt
320 wählt der elektronische Prozessor
120 für jedes Zentroid ein oder mehrere in den Batch einzuschließende nicht gelabelte Trainingsbeispiele aus, die mit dem Zentroid assoziiert sind. In manchen Ausführungsformen wird die folgende Gibbs-Verteilung (Gleichung (2)) verwendet, um ein oder mehrere nicht gelabelte Trainingsbeispiele relativ zu dem Zentroid für den Einschluss in den Batch auszuwählen.
-
Pic ist die Wahrscheinlichkeit, dass ein nicht gelabeltes Trainingsbeispiel mit dem Zentroid assoziiert ist. In manchen Ausführungsformen werden nicht gelabelte Trainingsbeispiele mit einem Pic-Wert größer als eine vorbestimmte Schwelle (zum Beispiel 75 Prozent) in den Batch eingeschlossen. In manchen Ausführungsformen werden nicht gelabelte Trainingsbeispiele mit einer Pic größer als eine erste vorbestimmte Schwelle (zum Beispiel 65 Prozent) und geringer als eine zweite vorbestimmte Schwelle (zum Beispiel 75 Prozent) in den Batch eingeschlossen. In manchen Ausführungsformen werden nicht gelabelte Trainingsbeispiele mit einer Pic größer oder gleich einer ersten vorbestimmten Schwelle und geringer oder gleich einer zweiten vorbestimmten Schwelle in den Batch eingeschlossen. In manchen Ausführungsformen ist der elektronische Prozessor 120 dazu ausgelegt, die erste vorbestimmte Schwelle und die zweite vorbestimmte Schwelle bei Block 325 zu modifizieren, sodass mehr Trainingsbeispiele zu dem Batch hinzugefügt werden, falls Schritt 320 wiederholt wird.
-
In Gleichung (2) ist β der inverse Temperaturkoeffizient und eine Funktion der Unsicherheit des maschinellen Lernmodells 135 (nachstehend ausführlicher beschrieben), drj bezeichnet die Quadratwurzel der Jenson-Shannon-Distanz zwischen dem Zentroid eines Clusters und einem nicht gelabelten Trainingsbeispiel, das in dem Cluster enthalten ist. β liegt im Bereich von 0 bis ∞, wobei der Wert von 0 ein unsicheres maschinelles Lernmodell 135 angibt und ∞ ein sicheres maschinelles Lernmodell 135 angibt.
-
Wenn das Training des maschinellen Lernmodells 135 beginnt (zum Beispiel in der ersten Iteration des Verfahrens 200), ist das maschinelle Lernmodell 135 unsicher, und seine Vorhersagen (Ausgabe) sind sehr unzuverlässig. Wenn sich die Anzahl von Malen erhöht, die der elektronische Prozessor 120 die Schritte 210 bis 225 des Verfahrens 200 (unten beschrieben) durchführt, wird das maschinelle Lernmodell 135 stärker und macht zunehmend sichere Vorhersagen bezüglich der Klassifikation der Eingabe. Die Unsicherheit des maschinellen Lernmodells 135 wird als eine Funktion der Varianz der Ausgabe des maschinellen Lernmodells 135, des Variationsverhältnisses der Ausgabe des maschinellen Lernmodells 135 oder dergleichen gemessen. Da die Wichtigkeitsbewertung von der Sicherheit der Ausgabe des maschinellen Lernmodells 135 abhängt, sind die Wichtigkeitsbewertungen nicht genau, wenn das maschinelle Lernmodell 135 unsicher ist.
-
Um die sich ändernde Genauigkeit der Wichtigkeitsbewertungen zu berücksichtigen, verwendet der elektronische Prozessor 120 Gleichung (2), um die in den Batch einzuschließenden nicht gelabelten Trainingsbeispiele auf eine etwas zufällige Weise zu bestimmen. Beim herkömmlichen deterministischen Annealing ist die Assoziation von Punkten zu Clustern schwach, wenn der Temperaturkoeffizient hoch ist, und die Assoziation von Punkten zu Clustern wird stärker, während der Temperaturkoeffizient abnimmt. In manchen hierin beschriebenen Ausführungsformen, wird, wie oben angemerkt, β (der Temperaturkoeffizient) als die Inverse der Unsicherheit des maschinellen Lernmodells 135 angenommen. Wenn beispielsweise das maschinelle Lernmodell 135 stark unsicher ist, ist β niedrig.
-
Die inverse Funktion, die durch den elektronischen Prozessor
120 zum Bestimmen von β aus der Unsicherheit des maschinellen Lernmodells
135 verwendet wird, kann von dem maschinellen Lernmodell
135 (zum Beispiel, ob das maschinelle Lernmodell
135 ein neuronales Netzwerk oder ein Entscheidungsbaum ist) sowie der Art der Trainingsdaten, die in dem gelabelten und nicht gelabelten Trainingsdatensatz (
145,
140) enthalten sind (zum Beispiel, ob die Trainingsdaten Bilder oder Audioaufzeichnungen beinhalten), abhängen. In manchen Ausführungsformen wird eine Kreuzvalidierung verwendet, um die inverse Funktion aus festen Klassen von Funktionen zu bestimmen. In einem Beispiel kann
(wobei σ die quantifizierte Modellunsicherheit ist und die Basis des Logarithmus e ist) als die inverse Funktion verwendet werden. In einem anderen 1 Beispiel kann
(wobei σ die quantifizierte Modellunsicherheit ist) als die inverse Funktion verwendet werden.
-
Bei Schritt 325 bestimmt der elektronische Prozessor 120, ob der Batch die gewünschte Anzahl nicht gelabelter Trainingsbeispiele oder die gewünschte Batch-Größe beinhaltet. Falls die im Batch enthaltene Anzahl nicht gelabelter Trainingsbeispiele geringer als die gewünschte Batch-Größe ist, wiederholt der elektronische Prozessor 120 die Schritte (Handlungen) 320 und 325 des Verfahrens 300.
-
Erneut unter Bezugnahme auf Verfahren 200 sendet der elektronische Prozessor 120 bei Schritt 215 eine Anforderung, für jedes Trainingsbeispiel, das in dem in Schritt 210 bestimmten Batch enthalten ist, für ein Label für das Trainingsbeispiel zu der Informationsquelle 110. Bei Schritt 220 empfängt der elektronische Prozessor 120, für jedes in dem Batch enthaltene Trainingsbeispiel, ein Label und assoziiert das Trainingsbeispiel mit dem Label. Sobald ein Trainingsbeispiel mit einem Label assoziiert ist, entfernt der elektronische Prozessor 120 das Trainingsbeispiel aus dem nicht gelabelten Trainingsdatensatz 140 und fügt das Trainingsbeispiel zu dem gelabelten Trainingsdatensatz 145 hinzu. Bei Schritt 225 trainiert der elektronische Prozessor 120 das maschinelle Lernmodell 135 unter Verwendung des gelabelten Trainingsdatensatzes 145 neu, der aktualisiert wurde, sodass er die für den Einschluss in den Batch bei Schritt 210 ausgewählten Trainingsbeispiele beinhaltet. Bei Schritt 230 bestimmt der elektronische Prozessor 120, ob das Training des maschinellen Lernmodells 135 abgeschlossen ist. In manchen Ausführungsformen bestimmt der elektronische Prozessor 120, dass das Training des maschinellen Lernmodells 135 abgeschlossen ist, wenn das maschinelle Lernmodell 135 eine gewünschte Fehlschlagquote oder gewünschte Erfolgsquote erreicht. In anderen Ausführungsformen bestimmt der elektronische Prozessor 120, dass das Training des maschinellen Lernmodells 135 abgeschlossen ist, wenn zumindest eine vorbestimmte Anzahl von Anforderungen oder Abfragen für Label zu der Informationsquelle 110 gesendet wurden oder zumindest eine vorbestimmte Menge an Verarbeitungsleistung zum Abfragen der Informationsquelle 110 verwendet wurde. Falls das Trainieren dieses maschinellen Lernmodells 135 nicht abgeschlossen ist, wiederholt der elektronische Prozessor 120 die Schritte (Handlungen) 210 bis 230.
-
Sobald das maschinelle Lernmodell 135 trainiert ist, kann das maschinelle Lernmodell 135 empfangene Eingabedaten klassifizieren. In einem Beispiel kann das maschinelle Lernmodell 135 einen CT-Scan von einem oder mehreren Röntgendetektoren als Eingabe empfangen und den CT-Scan als Krebs angebend oder keinen Krebs angebend klassifizieren. In einem anderen Beispiel kann das maschinelle Lernmodell 135 Bilder und Audioaufzeichnungen einer Werkshalle von einer Kamera bzw. einem Mikrofon empfangen und die Bilder und Audioaufzeichnungen als ein Problem angebend (zum Beispiel Maschinenfehlfunktion) oder kein Problem angebend klassifizieren. In manchen Ausführungsformen kann das maschinelle Lernmodell 135 auch eine Klassifikation des Problems ausgeben (zum Beispiel, ob das Problem ein abgenutzter Riemen, ein fehlerhafter Motor oder dergleichen ist).
-
In manchen Ausführungsformen kann die Ausgabe des maschinellen Lernmodells 135 veranlassen, dass der elektronische Prozessor 120 eine Handlung durchführt. In einem Beispiel kann das maschinelle Lernmodell 135 ein Bild einer umliegenden Umgebung eines Fahrzeugs von einer Kamera empfangen und bestimmen, ob sich ein Objekt (zum Beispiel ein Fußgänger) im Pfad des Fahrzeugs befindet. Falls das maschinelle Lernmodell 135 bestimmt, dass sich ein Fußgänger im Pfad des Fahrzeugs befindet, kann der elektronische Prozessor 120 die Bremsen des Fahrzeugs aktivieren. In einem anderen Beispiel kann das maschinelle Lernmodell 135 ein Bild des Gesichts einer Person von einer Kamera empfangen und das Gesicht als zu einem mehrerer autorisierter Benutzer oder einem nicht autorisierten Benutzer gehörend klassifizieren. Als Reaktion darauf, dass das maschinelle Lernmodell 135 bestimmt, dass das Gesicht in dem Bild zu einer Person gehört, die für den Zugriff auf die elektronische Vorrichtung 105 autorisiert ist, entsperrt der elektronische Prozessor 120 (erlaubt einem Benutzer Zugriff auf) die elektronische Vorrichtung 105. In noch einem anderen Beispiel ist, wenn das maschinelle Lernmodell 135 bestimmt, dass Bilder und Audioaufzeichnungen einer Werkshalle ein Problem angeben, wie oben beschrieben, der elektronische Prozessor 120 dazu ausgelegt, eine Warnung an den Benutzer (wie etwa Wartungspersonal) über eine Ausgabevorrichtung auszugeben.
-
Falls der elektronische Prozessor 120 ein oder mehrere inkorrekte Label für eines oder mehrere der zum Trainieren des maschinellen Lernmodells 135 verwendeten Trainingsbeispiele empfängt, kann das maschinelle Lernmodell 135 die empfangene Eingabe inkorrekt klassifizieren. Um dies anzusprechen, wird in manchen Ausführungsformen eine Denoising-Schicht an das maschinelle Lernmodell 135 angefügt (zum Beispiel, wenn das maschinelle Lernmodell 135 ein neuronales Netzwerk ist). Die Denoising-Schicht gibt das mit einem Trainingsbeispiel assoziierte Rauschen aus. Mit anderen Worten gibt die Denoising-Schicht die Likelihood aus, dass das maschinelle Lernmodell 135 ein verrauschtes Label für das Trainingsbeispiel ausgeben oder dieses inkorrekt klassifizieren würde. Diese Likelihood kann als die bedingte Wahrscheinlichkeit p(y'|y) repräsentiert werden, wobei y' das inkorrekte Label ist (das Label, das von einer idealen Informationsquelle empfangen werden würde, und in manchen Ausführungsformen das Label, das durch die Schicht des maschinellen Lernmodells 135 unmittelbar vor der Denoising-Schicht ausgegeben wird). Falls beispielsweise das maschinelle Lernmodell 135 eine handgeschriebene Zahl als 0, 1 oder 2 klassifiziert und die korrekte Klassifikation 1 ist, gibt die Denoising-Schicht die Likelihood aus, dass das maschinelle Lernmodell 135 die handgeschriebene Zahl als 0 anstatt einer 1 klassifiziert, und die Likelihood, dass das maschinelle Lernmodell 135 die handgeschriebene Zahl als 2 anstatt eine 1 klassifiziert. Das maschinelle Lernmodell 135 lernt p(y'|y) aus den verrauschten Daten von der Informationsquelle 110. Das maschinelle Lernmodell 135 wird unter Verwendung der Ausgabe der Denoising-Schicht (der finalen Schicht) des maschinellen Lernmodells 135 trainiert, da die Trainingslabel verrauscht sein können, während das maschinelle Lernmodell 135 unter Verwendung der Ausgabe von der vorletzten Schicht validiert wird (unter der Annahme, dass die Label für die Validierung rauschfrei sind). Die Denoising-Schicht ist eine vollständig verbundene KxK dichte Schicht, wobei K die Anzahl von Klassen ist, als die die Eingabe möglicherweise klassifiziert werden könnte. Die Gewichte der Denoising-Schicht sind derart, dass die Ausgabe der Denoising-Schicht immer positiv ist und die Summe der Ausgabe gleich 1 ist (Σy, p(y'|y) = 1. (3)).
-
In der vorstehenden Patentschrift wurden spezifische Ausführungsformen beschrieben. Ein Durchschnittsfachmann erkennt jedoch, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne von dem in den folgenden Ansprüchen dargelegten Schutzumfang der Erfindung abzuweichen. Dementsprechend sollen die Patentschrift und Figuren als veranschaulichend anstatt beschränkend angesehen werden, und alle derartigen Modifikationen sollen innerhalb des Schutzumfangs der vorliegenden Lehren eingeschlossen sein.
-
In diesem Dokument können relationale Ausdrücke, wie etwa erster und zweiter, oben und unten und dergleichen lediglich verwendet werden, um eine Entität oder Handlung von einer anderen Entität oder Handlung zu unterscheiden, ohne notwendigerweise eine tatsächliche solche Beziehung oder Reihenfolge zwischen solchen Entitäten oder Handlungen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „weist auf, „aufweisend“, „beinhaltet“, „einschließlich“, „enthält“, „enthaltend“ oder eine beliebige andere Variation davon sollen einen nicht ausschließenden Einschluss abdecken, sodass ein Prozess, ein Verfahren, ein Artikel oder eine Einrichtung, der/das/die eine Liste von Elementen umfasst, aufweist, beinhaltet oder enthält, nicht nur diese Elemente beinhaltet, sondern andere Elemente beinhalten kann, die nicht ausdrücklich aufgelistet oder einem/r solchen Prozess, Verfahren, Artikel oder Einrichtung inhärent sind. Ein Element, dem „umfasst ein/e...“, „beinhaltet ein/e...“ oder „enthält ein/e...“ vorausgeht, schließt ohne mehr Einschränkungen nicht das Vorhandensein zusätzlicher identischer Elemente in dem/r Prozess, Verfahren, Artikel oder Einrichtung aus, der/das/die das Element umfasst, aufweist, beinhaltet, enthält. Die Ausdrücke „ein“ und „eine“ sind als ein oder mehr definiert, insofern hierin nicht ausdrücklich anderweitig dargelegt. Die Ausdrücke „im Wesentlichen“, „wesentlich“, „ungefähr“, „etwa“ oder eine beliebige andere Version davon sind als nahe zu dem, wie durch einen Durchschnittsfachmann verstanden, definiert, und in einer nicht beschränkenden Ausführungsform ist der Ausdruck als innerhalb 10 %, in einer anderen Ausführungsform innerhalb 5 %, in einer anderen Ausführungsform innerhalb 1 % und in einer anderen Ausführungsform innerhalb 0,5 % definiert. Der Ausdruck „gekoppelt“, wie hierin verwendet, ist als verbunden definiert, obwohl nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder Struktur, die auf eine gewisse Weise „konfiguriert“ ist, ist in zumindest dieser Weise konfiguriert, kann aber auch auf Weisen konfiguriert sein, die nicht aufgelistet sind.
-
Verschiedene Merkmale, Vorteile und Ausführungsformen sind in den folgenden Ansprüchen dargelegt.