-
HINTERGRUND
-
Diese Spezifikation bezieht sich auf das Training von maschinellen Lernmodellen.
-
Maschinelle Lernmodelle erhalten eine Eingabe und erzeugen eine Ausgabe, z. B. eine vorhergesagte Ausgabe, basierend auf der empfangenen Eingabe. Einige maschinelle Lernmodelle sind parametrische Modelle und erzeugen die Ausgabe auf der Grundlage der empfangenen Eingabe und von Werten der Parameter des Modells.
-
Bei einigen maschinellen Lernmodellen handelt es sich um tiefe Modelle, die mehrere Modellschichten verwenden, um eine Ausgabe für eine empfangene Eingabe zu erzeugen. Ein tiefes neuronales Netz ist zum Beispiel ein tiefes maschinelles Lernmodell, das eine Ausgabeschicht und eine oder mehrere versteckte Schichten einschließt, die jeweils eine nichtlineare Transformation auf eine empfangene Eingabe anwenden, um eine Ausgabe zu erzeugen. Maschinelle Lernmodelle können jedoch dem „katastrophalen Vergessen“ unterliegen, wenn sie auf mehrere Aufgaben trainiert werden, d. h., wenn eine neue Aufgabe gelernt wird, geht das Wissen über eine vorherige Aufgabe verloren. Einige neuronale Netze sind rekurrente neuronale Netze. Ein rekurrentes neuronales Netz ist ein neuronales Netz, das eine Eingabesequenz empfängt und aus der Eingabesequenz eine Ausgabesequenz erzeugt. Insbesondere verwendet ein rekurrentes neuronales Netz einen Teil oder den gesamten internen Zustand des Netzes, nach der Verarbeitung einer vorherigen Eingabe in der Eingabesequenz, bei der Erzeugung einer Ausgabe aus der aktuellen Eingabe in der Eingabesequenz.
-
Li und Hoiem, „Learning Without Forgetting", Network and Parallel Computing, 29. Juni 2016, Springer, Bd. 9908, Seiten 614-629, beschreibt ein Verfahren, bei dem zwei separate, vollständig verbundene Schichten mit jeweils aufgabenspezifischen Parametern an Merkmalen eines neuronalen Faltungsnetzes arbeiten. French, „Catastrophic forgetting in connectionist networks", Trends In Cognitive Sciences, Bd. 3, Nr. 4, 1. April 1999, Seiten 128-135, stellt einen allgemeinen Überblick über katastrophale Inferenz/katastrophales Vergessen in künstlichen neuronalen Netzen und im Gehirn bereit.
-
ZUSAMMENFASSUNG
-
Diese Spezifikation beschreibt, wie ein System, das als Computerprogramme auf einem oder mehreren Computern an einem oder mehreren Orten implementiert ist, ein maschinelles Lernmodell auf mehrere maschinelle Lernaufgaben trainieren kann.
-
Die Erfindung ist in Anspruch 1 dargelegt; weitere Aspekte sind in den abhängigen Ansprüchen dargelegt.
-
Im Allgemeinen kann ein innovativer Aspekt in einem Verfahren zum Trainieren eines maschinellen Lernmodells, das mehrere Parameter aufweist, ausgeführt werden. Das maschinelle Lernmodell wurde auf eine erste maschinelle Lernaufgabe trainiert, um erste Werte der Parameter des maschinellen Lernmodells zu bestimmen. Das Verfahren schließt Folgendes ein: Bestimmen, für jeden der Vielzahl von Parametern, eines jeweiligen Maßes einer Wichtigkeit des Parameters für das maschinelle Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht; Erzielen von Trainingsdaten zum Trainieren des maschinellen Lernmodells auf eine zweite, unterschiedliche maschinelle Lernaufgabe; und Trainieren des maschinellen Lernmodells auf die zweite maschinelle Lernaufgabe durch Trainieren des maschinellen Lernmodells auf die Trainingsdaten, um die ersten Werte der Parameter so anzupassen, dass das maschinelle Lernmodell ein akzeptables Leistungsniveau bei der zweiten maschinellen Lernaufgabe erreicht, während es gleichzeitig ein akzeptables Leistungsniveau bei der ersten maschinellen Lernaufgabe beibehält, bei der, während des Trainings des maschinellen Lernmodells auf die zweite maschinelle Lernaufgabe, Werte von Parametern, die in dem maschinellen Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht, wichtiger waren, stärker darauf beschränkt werden, nicht von den ersten Werten abzuweichen, als Werte von Parametern, die in dem maschinellen Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht, weniger wichtig waren.
-
Das Trainieren des maschinellen Lernmodells auf die Trainingsdaten kann Folgendes einschließen: Anpassen der ersten Werte der Parameter, um eine Zielfunktion zu optimieren, insbesondere zu minimieren, die Folgendes einschließt: (i) einen ersten Term, der eine Leistung des maschinellen Lernmodells bei der zweiten maschinellen Lernaufgabe misst, und (ii) einen zweiten Term, der eine Strafe für Parameterwerte auferlegt, die von den ersten Parameterwerten abweichen, wobei der zweite Term Abweichungen von den ersten Werten stärker für Parameter bestraft, die für das Erreichen einer akzeptablen Leistung bei der ersten maschinellen Lernaufgabe wichtiger waren als für Parameter, die für das Erreichen einer akzeptablen Leistung bei der ersten maschinellen Lernaufgabe weniger wichtig waren. Der zweite Term kann für jeden der Vielzahl von Parametern von einem Produkt aus dem jeweiligen Maß der Wichtigkeit des Parameters und einem Unterschied zwischen dem aktuellen Wert des Parameters und dem ersten Wert des Parameters abhängen.
-
In einigen Implementierungen kann das Training eine „elastische Gewichtskonsolidierung“ (EWC) implementieren, bei der, während des Trainings auf die zweite Aufgabe, die Parameter durch eine elastische Strafe, d. h. eine Strafe für das Anpassen eines Parameters, die mit zunehmender Entfernung vom ersten Wert des Parameters zunimmt, auf ihren ersten Werten verankert werden. Die Steifigkeit oder der Grad der elastischen Strafe kann von einem Maß der Wichtigkeit des Parameters für die erste Aufgabe oder allgemeiner für alle zuvor gelernten Aufgaben abhängen. So kann die elastische Gewichtskonsolidierung als weiche Beschränkung implementiert werden, z. B. quadratisch mit zunehmender Entfernung, sodass jedes Gewicht in Richtung seines alten Wertes/ seiner alten Werte um einen Betrag zurückgezogen wird, der von einem Maß seiner Wichtigkeit für eine zuvor durchgeführte Aufgabe oder Aufgaben abhängt, z. B. proportional dazu. Grob gesagt, werden die Parameter durch einen Prior gemildert, der die A-posteriori-Verteilung der Parameter ist, die aus der/den vorherigen Aufgabe(n) abgeleitet wurde.
-
Im Allgemeinen umfasst das maschinelle Lernmodell ein neuronales Netz wie z.B. ein neuronales Faltungsnetz oder ein rekurrentes neuronales Netz, und die Parameter umfassen Gewichte des neuronalen Netzes. Die Wichtigkeit von einzelnen Parametern („Gewichten“) kann auf unterschiedliche Weise bestimmt werden, wie weiter unten beschrieben. Optional kann die Wichtigkeit von einzelnen Parametern (Gewichten) neu berechnet werden, bevor das Training auf eine neue Aufgabe beginnt.
-
Das Trainieren des maschinellen Lernmodells auf die Trainingsdaten kann für jedes Trainingsbeispiel in den Trainingsdaten Folgendes einschließen: Verarbeiten des Trainingsbeispiels unter Verwendung des maschinellen Lernmodells in Übereinstimmung mit aktuellen Werten von Parametern des maschinellen Lernmodells, um eine Modellausgabe zu bestimmen; Bestimmen eines Gradienten der Zielfunktion unter Verwendung der Modellausgabe, einer Zielausgabe für das Trainingsbeispiel, der aktuellen Werte der Parameter des maschinellen Lernmodells und der ersten Werte der Parameter des maschinellen Lernmodells; und Anpassen der aktuellen Werte der Parameter unter Verwendung des Gradienten, um die Zielfunktion zu optimieren.
-
Das Bestimmen eines jeweiligen Maßes einer Wichtigkeit des Parameters für das maschinelle Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht, für jeden der Vielzahl von Parametern, kann Folgendes einschließen: Bestimmen einer Annäherung an eine Wahrscheinlichkeit, dass ein aktueller Wert des Parameters ein korrekter Wert des Parameters ist, für jeden der Vielzahl von Parametern, bei gegebenen ersten Trainingsdaten, die zum Trainieren des maschinellen Lernmodells auf die erste Aufgabe verwendet werden.
-
Eine Möglichkeit, für jeden der Vielzahl von Parametern ein jeweiliges Maß einer Wichtigkeit des Parameters für das maschinelle Lernmodell zu bestimmen, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht, kann Folgendes einschließen: Bestimmen einer Fisher-Informationsmatrix (FIM) der Vielzahl von Parametern des maschinellen Lernmodells in Bezug auf die erste maschinelle Lernaufgabe, in der für jeden der Vielzahl von Parametern das jeweilige Maß der Wichtigkeit des Parameters ein entsprechender Wert auf einer Diagonale der FIM ist. Dies ist rechnerisch bequem, da die FIM aus Ableitungen erster Ordnung berechnet werden kann. Zum Beispiel kann die FIM anhand der Kovarianz der Log-Wahrscheinlichkeiten des Modells in Bezug auf seine Parameter bestimmt werden.
-
Die Verwendung der Diagonalenwerte der FIM als ein Wichtigkeitsmaß verringert die Rechenkomplexität, während gleichzeitig eine Punktschätzung der Varianz eines Parameters, d. h. der Unsicherheit eines Gewichts, berechnet wird. In einigen Implementierungen kann eine Schätzung von Mittelwert und der Standardabweichung (oder Varianz) von Gewichten durch Anwendung eines Bayes by Backprop-Verfahrens erzielt werden, wie in „Weight Uncertainty in Neural Networks“, Blundell et al., ICML (2015) beschrieben. Dies kann unter Verwendung einer Variation des Rückpropagationsverfahrens erfolgen.
-
In einigen Implementierungen sind die erste maschinelle Lernaufgabe und die zweite maschinelle Lernaufgabe unterschiedliche überwachte Lernaufgaben.
-
In einigen anderen Implementierungen handelt es sich bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe um unterschiedliche Verstärkungslernaufgaben. Bei einer Verstärkungslernaufgabe kann die Zielfunktion einen diskontierten Belohnungsterm einschließen, der von einer erwarteten Belohnung für das Vornehmen einer Aktion in einem Zustand abhängt. Das maschinelle Lernmodell kann beispielsweise auf einem Deep Q-Network (DQN), einem Double-DQN, einem Advantage Actor Critic(A3C)-Netzwerk oder anderen Architekturen basieren.
-
In einigen Implementierungen, insbesondere, aber nicht ausschließlich in einem System mit verstärktem Lernen (RL), können die maschinellen Lernaufgaben identifiziert werden. Sie können zum Beispiel explizit gekennzeichnet oder automatisch identifiziert werden, indem ein Modell zum Ableiten einer Aufgabe verwendet wird. Dann können ein oder mehrere Strafterme für die Zielfunktion in Abhängigkeit von der identifizierten Aufgabe ausgewählt werden. Wenn ein Aufgabenwechsel identifiziert wird, können der eine oder die mehreren Strafterme so ausgewählt werden, dass das Parameterlemen so beschränkt wird, dass es nahe bei Werten erfolgt, die für eine oder mehrere frühere Aufgaben gelernt wurden (entsprechend ihrer Wichtigkeit für die frühere(n) Aufgabe(n), wie zuvor beschrieben). Der Wechsel kann zu einer neuen, vorher nicht gesehenen Aufgabe oder zu einer Rückkehr zu einer früheren Aufgabe erfolgen. Die Strafterme können Beschränkungen für alle zuvor gesehenen Aufgaben mit Ausnahme einer aktuellen Aufgabe einschließen. Bei den Beschränkungen kann es sich um quadratische Beschränkungen handeln. Optional kann die Wichtigkeit einzelner Parameter (Gewichte) neu berechnet werden, wenn von einer Lernaufgabe zu einer anderen gewechselt wird.
-
Das Verfahren kann ferner Folgendes einschließen: nach dem Trainieren des maschinellen Lernmodells auf die zweite maschinelle Lernaufgabe, um zweite Werte der Parameter des maschinellen Lernmodells zu bestimmen: Erzielen von dritten Trainingsdaten zum Trainieren des maschinellen Lernmodells auf eine dritte, unterschiedliche maschinelle Lernaufgabe; und Trainieren des maschinellen Lernmodells auf die dritte maschinelle Lernaufgabe durch Trainieren des maschinellen Lernmodells auf die dritten Trainingsdaten, um die zweiten Werte der Parameter so anzupassen, dass das maschinelle Lernmodell ein akzeptables Leistungsniveau bei der dritten maschinellen Lernaufgabe erreicht, während es gleichzeitig ein akzeptables Leistungsniveau bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe beibehält, wobei, während des Trainings des maschinellen Lernmodells auf die dritte maschinelle Lernaufgabe, Werte von Parametern, die bei dem maschinellen Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe erreicht, wichtiger waren, stärker darauf beschränkt werden, nicht von den zweiten Werten abzuweichen als Werte von Parametern, die bei dem maschinellen Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe erreicht, weniger wichtig waren.
-
Das Verfahren kann dann ferner Folgendes umfassen: Bestimmen eines jeweiligen Maßes einer Wichtigkeit des Parameters für das maschinelle Lernmodell, um eine akzeptable Leistung bei der zweiten maschinellen Lernaufgabe zu erreichen, für jeden der Vielzahl von Parametern. Das Trainieren des maschinellen Lernmodells auf die dritten Trainingsdaten kann dann das Anpassen der zweiten Werte der Parameter einschließen, um eine Zielfunktion zu optimieren, die einen ersten Term einschließt, der eine Leistung des maschinellen Lernmodells bei der dritten maschinellen Lernaufgabe misst, und einen zweiten Term, der eine Strafe für Parameterwerte auferlegt, die von den zweiten Parameterwerten abweichen. Ähnlich wie zuvor beschrieben, kann der zweite Term Abweichungen von den zweiten Werten für Parameter, die für das Erreichen einer akzeptablen Leistung bei der ersten maschinellen Lernaufgabe und dem zweiten maschinellen Lernen wichtiger waren, stärker bestrafen als für Parameter, die für das Erreichen einer akzeptablen Leistung bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe weniger wichtig waren. Der zweite Term der Zielfunktion kann zwei separate Strafterme umfassen, einen für jede vorherige Aufgabe, oder einen kombinierten Strafterm. Umfassen die Strafterme beispielsweise jeweils eine quadratische Strafe, wie z. B. das Quadrat des Unterschieds zwischen einem Parameter und seinem vorherigen Wert, kann die Summe zweier solcher Strafen selbst als quadratische Strafe geschrieben werden.
-
Die oben genannten Aspekte können in jeder beliebigen zweckdienlichen Form umgesetzt werden. Beispielsweise können Aspekte und Implementierungen durch geeignete Computerprogramme implementiert werden, die auf geeigneten Trägermedien, die materielle Trägermedien (z. B. Disketten) oder immaterielle Trägermedien (z. B. Kommunikationssignale) sein können, getragen werden können. Aspekte können ebenfalls durch geeignete Vorrichtungen implementiert werden, welche die Form von programmierbaren Computern haben können, auf denen Computerprogramme laufen.
-
Besondere Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands können so implementiert werden, dass einer oder mehrere der folgenden Vorteile realisiert werden. Durch das Trainieren desselben maschinellen Lernmodells auf mehrere Aufgaben, wie in dieser Spezifikation beschrieben, kann das Modell, sobald es trainiert wurde, für jede der mehreren Aufgaben mit einem akzeptablen Leistungsniveau verwendet werden. Folglich können Systeme, die in der Lage sein müssen, eine akzeptable Leistung bei mehreren Aufgaben zu erreichen, dies tun, während sie gleichzeitig weniger ihrer Speicherkapazität verwenden und eine geringere Systemkomplexität aufweisen. Indem man beispielsweise eine einzige Instanz eines Modells beibehält, anstatt mehrere verschiedene Instanzen eines Modells, die jeweils unterschiedliche Parameterwerte aufweisen, muss nur ein Parametersatz gespeichert werden anstatt mehrere verschiedener Parametersätze, was den erforderlichen Speicherplatz reduziert und gleichzeitig eine akzeptable Leistung bei jeder Aufgabe beibehält. Zusätzlich wird das Modell auf eine neue Aufgabe trainiert, indem Werte von Parametern des Modells angepasst werden, um eine Zielfunktion zu optimieren, die zum Teil davon abhängt, wie wichtig die Parameter für (eine) zuvor gelernte Aufgabe(n) sind. So kann das Modell effektiv neue Aufgaben nacheinander lernen und gleichzeitig das Wissen über frühere Aufgaben schützen.
-
Die Einzelheiten einer oder mehrerer Ausführungsformen des Gegenstands dieser Beschreibung sind in den beigefügten Zeichnungen und der nachfolgenden Beschreibung dargelegt. Weitere Merkmale, Aspekte und Vorteile des Gegenstands werden aus der Beschreibung, den Zeichnungen und den Ansprüchen ersichtlich.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
- ist ein Blockdiagramm eines Beispiels für ein maschinelles Lernsystem, das ein maschinelles Lernmodell trainiert
- ist ein Flussdiagramm eines Beispielprozesses für das Training eines maschinellen Lernmodells, das mehrere Parameter für mehrere Aufgaben aufweist.
- ist ein Flussdiagramm eines Beispielprozesses zum Trainieren des maschinellen Lernmodells auf eine dritte maschinelle Lernaufgabe, nachdem das maschinelle Lernmodell auf eine erste und eine zweite maschinelle Lernaufgabe trainiert wurde.
- Gleiche Bezugsnummern und Bezeichnungen in den verschiedenen Zeichnungen bezeichnen gleiche Elemente.
-
DETAILLIERTE BESCHREIBUNG
-
Diese Spezifikation beschreibt, wie ein System, beispielsweise ein maschinelles Lemsystem, das als Computerprogramme auf einem oder mehreren Computern an einem oder mehreren Orten implementiert ist, ein maschinelles Lernmodell auf mehrere maschinelle Lernaufgaben trainieren kann.
-
In einigen Fällen handelt es sich bei den mehreren maschinellen Lernmodellen um unterschiedliche überwachte Lernaufgaben. Beispielsweise können die überwachten Lernaufgaben verschiedene Klassifizierungsaufgaben einschließen, wie z. B. Bildverarbeitungsaufgaben, Spracherkennungsaufgaben, Aufgaben zur Verarbeitung natürlicher Sprache oder Aufgaben zur optischen Zeichenerkennung. Die Bildverarbeitungsaufgaben können zum Beispiel verschiedene Bilderkennungsaufgaben einschließen, worin jede Bilderkennungsaufgabe die Erkennung eines anderen Objekts oder einer anderen Struktur in einem Bild erfordert. Als ein anderes Beispiel können die Spracherkennungsaufgaben mehrere Aufgaben zur Erkennung von Aktivierungswörtern einschließen, worin jede Aufgabe die Erkennung eines unterschiedlichen Aktivierungsworts oder einer unterschiedlichen Sequenz von Aktivierungswörtern erfordert.
-
In einigen Fällen handelt es sich bei den mehreren maschinellen Lernaufgaben um verschiedene Verstärkungslernaufgaben. Beispielsweise können die Verstärkungslernaufgaben mehrere Aufgaben einschließen, bei denen ein Agent mit verschiedenen Umgebungen interagiert oder mit der gleichen Umgebung interagiert, um ein unterschiedliches Ziel zu erreichen. Zum Beispiel können die Verstärkungslernaufgaben mehrere Aufgaben einschließen, bei denen ein computergesteuerter Agent mit mehreren verschiedenen simulierten oder virtualisierten Umgebungen interagiert. Als ein anderes Beispiel können die Verstärkungslernaufgaben mehrere Aufgaben einschließen, bei denen ein Roboteragent mit einer realen Umgebung interagiert, um zu versuchen, verschiedene Ziele zu erreichen. Ein solcher Roboteragent kann in einer statischen oder sich bewegenden Maschine oder in einem statischen oder sich bewegenden Fahrzeug ausgeführt sein.
-
zeigt ein Beispiel für ein maschinelles Lernsystem 100. Das maschinelle Lernsystem 100 ist ein Beispiel für ein System, das als Computerprogramme auf einem oder mehreren Computern an einem oder mehreren Standorten implementiert ist, und in dem die unten beschriebenen Systeme, Komponenten und Techniken implementiert sind.
-
Das maschinelle Lernsystem 110 ist so konfiguriert, dass es ein maschinelles Lernmodell 110 auf mehrere aufeinanderfolgende maschinelle Lernaufgaben trainiert. Das maschinelle Lernmodell 110 kann eine Eingabe empfangen und eine Ausgabe, z. B. eine vorhergesagte Ausgabe, basierend auf der empfangenen Eingabe erzeugen.
-
In einigen Fällen ist das maschinelle Lernmodell 110 ein parametrisches Modell, das mehrere Parameter aufweist. In diesen Fällen erzeugt das maschinelle Lernmodell 110 die Ausgabe basierend auf der empfangenen Eingabe und auf Werten der Parameter des Modells 110.
-
In einigen anderen Fällen ist das maschinelle Lernmodell 110 ein tiefes maschinelles Lernmodell, das mehrere Schichten des Modells einsetzt, um eine Ausgabe für eine empfangene Eingabe zu erzeugen. Ein tiefes neuronales Netz ist zum Beispiel ein tiefes maschinelles Lernmodell, das eine Ausgabeschicht und eine oder mehrere versteckte Schichten einschließt, die jeweils eine nichtlineare Transformation auf eine empfangene Eingabe anwenden, um eine Ausgabe zu erzeugen.
-
Im Allgemeinen trainiert das maschinelle Lernsystem 100 das maschinelle Lernmodell 110 auf eine bestimmte Aufgabe, d. h., um die bestimmte Aufgabe zu lernen, indem es die Werte der Parameter des maschinellen Lernmodells 110 anpasst, um die Leistung des Modells 110 für die bestimmte Aufgabe zu optimieren, z. B. durch Optimieren einer Zielfunktion 118 des Modells 110.
-
Das System 100 kann das Modell 110 trainieren, um eine Sequenz von mehreren maschinellen Lernaufgaben zu lernen. Um es dem maschinellen Lernmodell 110 zu ermöglichen, neue Aufgaben zu lernen, ohne frühere Aufgaben zu vergessen, trainiert das System 100 das Modell 110 im Allgemeinen so, dass es die Leistung des Modells 110 bei einer neuen Aufgabe optimiert und gleichzeitig die Leistung bei früheren Aufgaben schützt, indem es die Parameter so einschränkt, dass sie in einem Bereich akzeptabler Leistung (z. B. einem Bereich mit geringem Fehler) bei früheren Aufgaben auf der Grundlage von Informationen über die früheren Aufgaben bleiben.
-
Das System 100 bestimmt die Informationen über frühere Aufgaben unter Verwendung einer Maschine zur Berechnung von Wichtigkeitsgewichten 112. Insbesondere bestimmt die Maschine 112 für jede Aufgabe, für die das Modell 110 zuvor trainiert wurde, einen Satz von Wichtigkeitsgewichten, die dieser Aufgabe entsprechen. Der Satz von Wichtigkeitsgewichten für eine gegebene Aufgabe schließt im Allgemeinen ein jeweiliges Gewicht für jeden Parameter des Modells 110 ein, das ein Maß einer Wichtigkeit des Parameters für das Erreichen einer akzeptablen Leistung des Modells 110 bei der Aufgabe darstellt. Das System 100 verwendet dann die Sätze von Wichtigkeitsgewichten, die früheren Aufgaben entsprechen, um das Modell 110 auf eine neue Aufgabe zu trainieren, sodass das Modell 110 ein akzeptables Leistungsniveau bei der neuen Aufgabe erreicht, während es gleichzeitig ein akzeptables Leistungsniveau bei den früheren Aufgaben beibehält.
-
Wie in gezeigt, bestimmt die Maschine zur Berechnung von Wichtigkeitsgewichten 112 einen Satz von Wichtigkeitsgewichten 120, die der Aufgabe A entsprechen, wenn das Modell 110 auf eine erste maschinelle Lernaufgabe, z. B. Aufgabe A, trainiert wurde, wobei erste Trainingsdaten verwendet werden, um erste Werte der Parameter des Modells 110 zu bestimmen. Insbesondere bestimmt die Maschine 112 für jeden der Parameter des Modells 110 ein jeweiliges Wichtigkeitsgewicht, das ein Maß einer Wichtigkeit des Parameters für das Modell 110 darstellt, das eine akzeptable Leistung bei Aufgabe A erreicht. Das Bestimmen eines jeweiligen Wichtigkeitsgewichts für jeden der Parameter schließt das Bestimmen einer Annäherung an eine Wahrscheinlichkeit ein, für jeden der Parameter, dass ein aktueller Wert des Parameters ein korrekter Wert des Parameters ist, wenn die ersten Trainingsdaten verwendet werden, um das maschinelle Lernmodell 110 auf Aufgabe A zu trainieren.
-
Beispielsweise kann die Maschine 112 eine A-posteriori-Verteilung über mögliche Werte der Parameter des Modells 110 bestimmen, nachdem das Modell 110 auf frühere Trainingsdaten aus (einer) früheren maschinellen Lernaufgabe(n) trainiert worden ist. Für jeden der Parameter weist die A-posteriori-Verteilung dem aktuellen Wert des Parameters einen Wert zu, bei dem der Wert eine Wahrscheinlichkeit darstellt, dass der aktuelle Wert ein korrekter Wert des Parameters ist.
-
In einigen Implementierungen kann die Maschine 112 die A-posteriori-Verteilung unter Verwendung einer Näherungsmethode approximieren, beispielsweise unter Verwendung einer Fisher-Informationsmatrix (FIM). Die Maschine 112 kann eine FIM der Parameter des Modells 110 in Bezug auf Aufgabe A bestimmen, in der für jeden der Parameter das jeweilige Wichtigkeitsgewicht des Parameters ein entsprechender Wert auf einer Diagonale der FIM ist. Das heißt, jeder Wert auf der Diagonale der FIM entspricht einem unterschiedlichen Parameter des maschinellen Lernmodells 110.
-
Die Maschine 112 kann die FIM bestimmen, indem sie die zweite Ableitung der Zielfunktion 118 bei den Werten von Parametern berechnet, welche die Zielfunktion 118 in Bezug auf die Aufgabe A optimieren. Die FIM kann auch allein aus Ableitungen erster Ordnung berechnet werden und ist daher selbst für große maschinelle Lernmodelle leicht zu berechnen. Die FIM ist garantiert positiv semidefinit. Die Berechnung einer FIM wird in Pascanu R, Bengio Y (2013) „Revisiting natural gradient for deep networks.“ arXiv:1301.3584 ausführlicher beschrieben.
-
Nachdem die Maschine 112 den Satz von Wichtigkeitsgewichten 120 entsprechend Aufgabe A bestimmt hat, kann das System 100 das Modell 110 auf neue Trainingsdaten 114 trainieren, die einer neuen maschinellen Lernaufgabe, z. B. Aufgabe B, entsprechen.
-
Damit das Modell 118 Aufgabe B lernen kann, ohne Aufgabe A zu vergessen, verwendet das System 100 während des Trainings des Modells 110 auf Aufgabe B den Satz von Wichtigkeitsgewichten 120, welcher Aufgabe A entspricht, um einen Strafterm in der Zielfunktion 118 zu bilden, der darauf abzielt, eine akzeptable Leistung bei der Aufgabe A aufrechtzuerhalten. Das heißt, das Modell 110 wird trainiert, um trainierte Parameterwerte 116 zu bestimmen, welche die Zielfunktion 118 in Bezug auf Aufgabe B optimieren, und, da die Zielfunktion 118 den Strafterm einschließt, behält das Modell 110 eine akzeptable Leistung bei Aufgabe A bei, selbst nachdem es auf Aufgabe B trainiert wurde. Das Verfahren zum Trainieren des Modells 110 und die Zielfunktion 118 werden im Folgenden unter Bezugnahme auf näher beschrieben.
-
Wenn es mehr als zwei Aufgaben in der Sequenz von maschinellen Lernaufgaben gibt, z. B. wenn das Modell 110 noch auf eine dritte Aufgabe, z. B. Aufgabe C, trainiert werden muss, nachdem es auf Aufgabe B trainiert wurde, nachdem die trainierten Parameterwerte 116 für Aufgabe B bestimmt wurden, stellt das maschinelle Lernsystem 100 die trainierten Parameterwerte 116 der Maschine 112 bereit, sodass die Maschine 112 einen neuen Satz von Wichtigkeitsgewichten bestimmen kann, der Aufgabe B entspricht.
-
Beim Trainieren des Modells 110 auf Aufgabe C kann das System 100 das Modell 110 so trainieren, dass es den Satz von Wichtigkeitsgewichten, der Aufgabe A entspricht, und den neuen Satz von Wichtigkeitsgewichten, der Aufgabe B entspricht, verwendet, um einen neuen Strafterm in der Zielfunktion 118 zu bilden, die von dem Modell 110 in Bezug auf Aufgabe C zu optimieren ist. Der Prozess zum Trainieren des maschinellen Lernmodells 110 auf Aufgabe C wird im Folgenden unter Bezugnahme auf ausführlicher beschrieben. 3. Dieser Trainingsprozess kann wiederholt werden, bis das Modell 110 alle Aufgaben in der Sequenz von maschinellen Lernaufgaben gelernt hat.
-
ist ein Flussdiagramm eines Beispielprozesses 200 zum Trainieren eines maschinellen Lernmodells mit mehreren Parametern für mehrere aufeinanderfolgende Aufgaben.
-
Der Einfachheit halber wird der Prozess 200 so beschrieben, dass er von einem System aus einem oder mehreren Computern an einem oder mehreren Orten durchgeführt wird. Zum Beispiel kann ein maschinelles Lemsystem, z. B. das maschinelle Lernsystem 100 von , das gemäß dieser Beschreibung in geeigneter Weise programmiert ist, den Prozess 200 durchführen.
-
Das maschinelle Lernmodell ist ein Modell, das auf eine erste maschinelle Lernaufgabe trainiert wurde, um erste Werte der Parameter des maschinellen Lernmodells zu bestimmen.
-
Um das maschinelle Lernmodell auf eine andere Aufgabe zu trainieren, bestimmt das System zunächst für jeden der Vielzahl von Parametern ein jeweiliges Maß einer Wichtigkeit des Parameters (z. B. ein Wichtigkeitsgewicht des Parameters) für das maschinelle Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht (Schritt 202).
-
Das Bestimmen eines jeweiligen Maßes einer Wichtigkeit des Parameters schließt das Bestimmen einer Annäherung an eine Wahrscheinlichkeit ein, dass ein aktueller Wert des Parameters ein korrekter Wert des Parameters ist, wenn die ersten Trainingsdaten verwendet werden, um das maschinelle Lernmodell für die erste maschinelle Lernaufgabe zu trainieren.
-
So kann das System beispielsweise eine A-posteriori-Verteilung über mögliche Werte der Parameter des Modells bestimmen, nachdem das Modell anhand früherer Trainingsdaten aus (einer) früheren maschinellen Lernaufgabe(n) trainiert worden ist. Für jeden der Parameter weist die A-posteriori-Verteilung dem aktuellen Wert des Parameters einen Wert zu, bei dem der Wert eine Wahrscheinlichkeit darstellt, dass der aktuelle Wert ein korrekter Wert des Parameters ist.
-
In einigen Implementierungen kann das System die A-posteriori-Verteilung unter Verwendung eines Näherungsverfahrens annähern, z. B. untere Verwendung einer Fisher-Informationsmatrix (FIM). Insbesondere bestimmt das System eine Fisher-Informationsmatrix (FIM) der Parameter des maschinellen Lernmodells in Bezug auf die erste maschinelle Lernaufgabe, in der für jeden der Parameter das jeweilige Maß einer Wichtigkeit des Parameters ein entsprechender Wert auf einer Diagonale der FIM ist. Das heißt, jeder Wert auf der Diagonale der FIM entspricht einem unterschiedlichen Parameter des maschinellen Lernmodells.
-
Anschließend erzielt das System neue Trainingsdaten für das Training des maschinellen Lernmodells auf eine zweite, unterschiedliche maschinelle Lernaufgabe (Schritt 204). Die neuen Trainingsdaten schließen mehrere Trainingsbeispiele ein. Jedes Trainingsbeispiel schließt ein Paar aus einem Eingabebeispiel und einer Zielausgabe für das Eingabebeispiel ein.
-
In einigen Implementierungen sind die erste maschinelle Lernaufgabe und die zweite maschinelle Lernaufgabe unterschiedliche überwachte Lernaufgaben. In einigen anderen Implementierungen handelt es sich bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe um unterschiedliche Verstärkungslernaufgaben.
-
Das System trainiert dann das maschinelle Lernmodell auf die zweite maschinelle Lernaufgabe, indem es das maschinelle Lernmodell auf die neuen Trainingsdaten trainiert (Schritt 206).
-
Um es dem maschinellen Lernmodell zu ermöglichen, die zweite Aufgabe zu erlernen, ohne die erste Aufgabe zu vergessen (z. B. durch Beibehalten der Erinnerung an die erste Aufgabe), trainiert das System das maschinelle Lernmodell auf die neuen Trainingsdaten, indem es die ersten Werte der Parameter anpasst, um eine Zielfunktion zu optimieren, die zum Teil von einem Strafterm abhängt, der auf den bestimmten Maßen der Wichtigkeit der Parameter für das maschinelle Lernmodell in Bezug auf die erste Aufgabe basiert.
-
Der Strafterm bestraft Abweichungen von den ersten Werten bei Parametern, die für das Erreichen einer akzeptablen Leistung bei der ersten maschinellen Lernaufgabe wichtiger waren, stärker als bei Parametern, die für das Erreichen einer akzeptablen Leistung bei der ersten maschinellen Lernaufgabe weniger wichtig waren. Indem die ersten Werte des Parameters angepasst werden, um die Zielfunktion zu optimieren, beispielsweise zu minimieren, stellt das maschinelle Lernmodell sicher, dass Werte von Parametern, die in dem maschinellen Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht, wichtiger waren, stärker darauf beschränkt werden, nicht von den ersten Werten abzuweichen als Werte von Parametern, die in dem maschinellen Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht, weniger wichtig waren.
-
In einigen Implementierungen kann die Zielfunktion wie folgt ausgedrückt werden:
-
Die Zielfunktion, die in Gl. 1 gezeigt ist, schließt zwei Terme ein. Der erste Term, L
B (θ), misst eine Leistung des maschinellen Lernmodells bei der zweiten maschinellen Lernaufgabe. Der erste Term kann eine beliebige Zielfunktion sein, die für das zweite maschinelle Lernmodell geeignet ist, z. B. Kreuzentropieverlust, mittlerer quadratischer Fehler, maximale Wahrscheinlichkeit, Ziel eines tiefen Q-Netzes (DQN) und so weiter. Der zweite Term,
ist ein Strafterm, der eine Strafe für Parameterwerte auferlegt, die von den ersten Parameterwerten abweichen. Insbesondere hängt der Strafterm für jeden Parameter i der mehreren Parameter des maschinellen Lernmodells von einem Produkt aus (i) dem jeweiligen Maß der Wichtigkeit F
i des Parameters für das maschinelle Lernmodell, das ein akzeptables Leistungsniveau bei der ersten maschinellen Lernaufgabe erreicht, und (ii) einem Unterschied zwischen dem aktuellen Wert des Parameters θ
i und dem ersten Wert des Parameters
ab. Der zweite Term hängt ebenfalls von
ab, das angibt, wie wichtig die alte Aufgabe (z. B. die erste maschinelle Lernaufgabe) im Vergleich zur neuen Aufgabe (z. B. der zweiten maschinellen Lernaufgabe) ist. Die F
i -Werte können Gewichtsunsicherheiten des neuronalen Netzes darstellen und können aus den FIM-Diagonalwerten oder auf andere Weise abgeleitet werden.
-
Bei einem Ansatz zum Anpassen der ersten Werte der Parameter führt das System die folgende Iteration für jedes von mehreren Trainingsbeispielen in den neuen Trainingsdaten durch.
-
Für jedes Trainingsbeispiel verarbeitet das System das Eingabebeispiel unter Verwendung des maschinellen Lernmodells in Übereinstimmung mit aktuellen Werten von Parametern des maschinellen Lernmodells, um eine Modellausgabe zu bestimmen.
-
Für die erste Iteration sind die aktuellen Werte der Parameter gleich den ersten Werten von Parametern, die bestimmt wurden, nachdem das maschinelle Lernmodell auf die erste maschinelle Lernaufgabe trainiert wurde.
-
Als nächstes bestimmt das System einen Gradienten der Zielfunktion unter Verwendung der Modellausgabe, einer Zielausgabe für das Eingabebeispiel, der aktuellen Werte der Parameter des maschinellen Lernmodells und der ersten Werte der Parameter des maschinellen Lernmodells.
-
Das System passt dann die aktuellen Werte der Parameter unter Verwendung des ermittelten Gradienten an, um die Zielfunktion zu optimieren. Die angepassten Werte der Parameter werden dann als aktuelle Werte der Parameter in der nächsten Iteration verwendet.
-
In einigen Fällen verarbeitet das System die mehreren Trainingsbeispiele in Batches. In diesen Fällen werden für jeden Batch die aktuellen Werte für jedes Trainingsbeispiel in dem Batch festgelegt. Genauer gesagt, verarbeitet das System Eingabebeispiele von Trainingsbeispielen in jedem Batch unter Verwendung des maschinellen Lernmodells in Übereinstimmung mit aktuellen Werten von Parametern des maschinellen Lernmodells, um Modellausgaben zu bestimmen. Das System bestimmt dann einen Gradienten der Zielfunktion unter Verwendung der Modellausgaben, der Zielausgaben für die Eingabebeispiele im Batch, der aktuellen Werte der Parameter des maschinellen Lernmodells und der ersten Werte der Parameter des maschinellen Lernmodells. Das System passt dann die aktuellen Werte der Parameter unter Verwendung des bestimmten Gradienten an, um die Zielfunktion zu optimieren. Die angepassten Werte der Parameter werden dann als aktuelle Werte der Parameter im nächsten Batch verwendet.
-
Nachdem das System die obige Iteration für alle Trainingsbeispiele in den neuen Trainingsdaten durchgeführt hat, beendet das System das Training des maschinellen Lernmodells auf die neuen Trainingsdaten für die zweite maschinelle Lernaufgabe. Die aktuellen Werte der in der letzten Iteration erzielten Parameter werden als die trainierten Parameter des maschinellen Lernmodells in Bezug auf die zweite maschinelle Lernaufgabe bestimmt. Das Training des Modells auf diese Weise führt zu trainierten Parameterwerten, die es dem maschinellen Lernmodell ermöglichen, ein akzeptables Leistungsniveau bei der zweiten maschinellen Lernaufgabe zu erreichen und gleichzeitig ein akzeptables Leistungsniveau bei der ersten maschinellen Lernaufgabe beizubehalten.
-
Sobald das System das maschinelle Lernmodell auf die zweite maschinelle Lernaufgabe trainiert hat, kann das System das maschinelle Lernmodell weiter trainieren, um ein akzeptables Leistungsniveau bei neuen maschinellen Lernaufgaben zu erreichen und gleichzeitig eine akzeptable Leistung bei Aufgaben beizubehalten, auf die das Modell bereits trainiert wurde.
-
Zum Beispiel kann das System, nach dem Training des maschinellen Lernmodells auf die zweite maschinelle Lernaufgabe, um zweite Werte der Parameter des maschinellen Lernmodells zu bestimmen, das maschinelle Lernmodell weiter auf eine dritte, unterschiedliche maschinelle Lernaufgabe trainieren.
-
ist ein Flussdiagramm eines Beispielprozesses 300 zum Trainieren des maschinellen Lernmodells auf eine dritte maschinelle Lernaufgabe, nachdem das maschinelle Lernmodell auf eine erste und eine zweite maschinelle Lernaufgabe trainiert wurde.
-
Der Einfachheit halber wird der Prozess 300 so beschrieben, dass er von einem System aus einem oder mehreren Computern an einem oder mehreren Orten durchgeführt wird. Zum Beispiel kann ein maschinelles Lemsystem, z. B. das maschinelle Lernsystem 100 von , das gemäß dieser Beschreibung in geeigneter Weise programmiert ist, den Prozess 300 durchführen.
-
Das System kann optional für jeden der Vielzahl von Parametern ein jeweiliges Maß einer Wichtigkeit des Parameters für das maschinelle Lernmodell bestimmen, das eine akzeptable Leistung bei der zweiten maschinellen Lernaufgabe erreicht (Schritt 302).
-
Das System erzielt dritte Trainingsdaten zum Trainieren des maschinellen Lernmodells auf die dritte maschinelle Lernaufgabe (Schritt 304).
-
Das System trainiert dann das maschinelle Lernmodell auf die dritte maschinelle Lernaufgabe, indem es das maschinelle Lernmodell auf die dritten Trainingsdaten trainiert, um die zweiten Werte der Parameter so anzupassen, dass das maschinelle Lernmodell ein akzeptables Leistungsniveau bei der dritten maschinellen Lernaufgabe erreicht, während es gleichzeitig ein akzeptables Leistungsniveau bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe beibehält (Schritt 306). Während des Trainings des maschinellen Lernmodells auf die dritte maschinelle Lernaufgabe werden Werte von Parametern, die bei dem maschinellen Lernmodell, das bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe eine akzeptable Leistung erreicht, wichtiger waren, stärker darauf beschränkt, nicht von den zweiten Werten abzuweichen, als Werte von Parametern, die bei dem maschinellen Lernmodell, das bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe eine akzeptable Leistung erreicht hat, weniger wichtig waren.
-
In einigen Fällen trainiert das System das maschinelle Lernmodell, um die zweiten Werte der Parameter anzupassen, um dritte Werte der Parameter zu erzielen, die eine neue Zielfunktion optimieren, die zum Teil von einem Strafterm abhängt, der auf den Maßen einer Wichtigkeit der Parameter für das maschinelle Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht, und auf den Maßen einer Wichtigkeit der Parameter für das maschinelle Lernmodell, das eine akzeptable Leistung bei der zweiten maschinellen Lernaufgabe erreicht, basiert.
-
Zum Beispiel schließt die neue Zielfunktion Folgendes ein: (i) einen ersten Term, der eine Leistung des maschinellen Lernmodells bei der dritten maschinellen Lernaufgabe misst, (ii) einen zweiten Term, der eine Strafe für Parameterwerte auferlegt, die von den ersten Parameterwerten abweichen, wobei der zweite Term Abweichungen von den ersten Werten stärker für Parameter bestraft, die für das Erreichen einer akzeptablen Leistung bei der ersten maschinellen Lernaufgabe wichtiger waren als für Parameter, die für das Erreichen einer akzeptablen Leistung bei der ersten maschinellen Lernaufgabe weniger wichtig waren, und (iii) einen dritten Term, der eine Strafe für von den zweiten Parameterwerten abweichende Parameterwerte auferlegt, wobei der dritte Term Abweichungen von den zweiten Werten stärker für Parameter bestraft, die für das Erreichen einer akzeptablen Leistung bei der zweiten maschinellen Lernaufgabe wichtiger waren als für Parameter, die für das Erreichen einer akzeptablen Leistung bei der zweiten maschinellen Lernaufgabe weniger wichtig waren.
-
Der zweite Term der neuen Zielfunktion kann für jeden der Vielzahl von Parametern von einem Produkt aus (i) dem jeweiligen Maß der Wichtigkeit des Parameters für das maschinelle Lernmodell, das eine akzeptable Leistung bei der ersten maschinellen Lernaufgabe erreicht, und (ii) einem Unterschied zwischen dem aktuellen Wert des Parameters und dem ersten Wert des Parameters abhängen.
-
Der dritte Term der neuen Zielfunktion kann für jeden der Vielzahl von Parametern von einem Produkt aus (i) dem jeweiligen Maß der Wichtigkeit des Parameters für das maschinelle Lernmodell, das eine akzeptable Leistung bei der zweiten maschinellen Lernaufgabe erreicht, und (ii) einem Unterschied zwischen dem aktuellen Wert des Parameters und dem zweiten Wert des Parameters abhängen.
-
Die erzielten dritten Parameterwerte ermöglichen es dem maschinellen Lernmodell, ein akzeptables Leistungsniveau bei der dritten maschinellen Lernaufgabe zu erreichen, während gleichzeitig ein akzeptables Leistungsniveau bei der ersten maschinellen Lernaufgabe und der zweiten maschinellen Lernaufgabe beibehalten wird.
-
In einigen Fällen kann die Zielfunktion wie folgt ausgedrückt werden:
worin
ein Strafterm ist, der eine Strafe für Parameterwerte auferlegt, die von den ersten Parameterwerten abweichen, und für jeden Parameter i der mehreren Parameter des maschinellen Lernmodells von einem Produkt aus (i) dem jeweiligen Maß der Wichtigkeit F
A,i des Parameters für das maschinelle Lernmodell, das ein akzeptables Leistungsniveau bei der ersten maschinellen Lernaufgabe erreicht, und (ii) einem Unterschied zwischen dem aktuellen Wert des Parameters θ
i und dem ersten Wert des Parameters
abhängt.
ist ein anderer Strafterm, der eine Strafe für Parameterwerte auferlegt, die von den zweiten Parameterwerten abweichen, und für jeden Parameter i der mehreren Parameter des maschinellen Lernmodells von einem Produkt aus (i) dem jeweiligen Maß der Wichtigkeit F
B,i des Parameters für das maschinelle Lernmodell, das ein akzeptables Leistungsniveau bei der zweiten maschinellen Lernaufgabe erreicht, und (ii) einem Unterschied zwischen dem aktuellen Wert des Parameters θ
i und dem zweiten Wert des Parameters
abhängt.
-
Ein maschinelles Lernsystem, das den obigen Ansatz umsetzt, z. B. ein RL-System, kann ein System zum automatischen Erkennen von Wechseln zwischen Aufgaben einschließen. Dieses kann einen Online-Algorithmus zur Clusterbildung implementieren, der ohne Überwachung trainiert wird. Dies kann beispielsweise durch Modellieren einer aktuellen Aufgabe als kategorischer Kontext c geschehen, der als verborgene Variable eines Hidden-Markov-Modells behandelt wird, das eine aktuelle Beobachtung erklärt. Der Aufgabenkontext c kann ein generatives Modell bedingen, das die Beobachtungswahrscheinlichkeit vorhersagt, und neue generative Modelle können hinzugefügt werden, wenn sie aktuelle Daten besser erklären als der bestehende Pool generativer Modelle. Zum Beispiel kann am Ende jedes aufeinander folgenden Zeitfensters das Modell ausgewählt werden, das der aktuellen Aufgabe am besten entspricht, und ein nicht initialisiertes Modell (Gleichverteilung) kann zur Auswahl bereitgestellt werden, um ein neues generatives Modell und einen neuen Aufgabenkontext zu erstellen.
-
Ein RL-System, das den obigen Ansatz umsetzt, kann mit oder ohne Regeln arbeiten; bei einem Betrieb ohne Regeln kann ein separater Erfahrungspuffer für jede identifizierte oder abgeleitete Aufgabe geführt werden. Optional können Verstärkungen und Verzerrungen des neuronalen Netzes aufgabenspezifisch sein.
-
In dieser Spezifikation wird der Begriff „konfiguriert“ im Zusammenhang mit Systemen und Komponenten von Computerprogrammen verwendet. Wenn ein System aus einem oder mehreren Computern so konfiguriert ist, dass es bestimmte Vorgänge oder Aktionen ausführt, bedeutet dies, dass das System Software, Firmware, Hardware oder eine Kombination davon darauf installiert hat, die im Betrieb das System veranlassen, die Schritte oder Aktionen auszuführen. Damit ein oder mehrere Computerprogramme so konfiguriert sind, dass sie bestimmte Vorgänge oder Aktionen durchführen, müssen das eine oder die mehreren Programme Anweisungen einschließen, die, wenn sie von einer Datenverarbeitungsvorrichtung ausgeführt werden, die Vorrichtung veranlassen, die Vorgänge oder Aktionen durchzuführen.
-
Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands und der funktionalen Vorgänge können in digitalen elektronischen Schaltkreisen, in greifbar ausgeführter Computersoftware oder Firmware, in Computerhardware, einschließlich der in dieser Spezifikation offengelegten Strukturen und ihrer strukturellen Äquivalente, oder in Kombinationen aus einer oder mehreren davon implementiert werden. Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands können als ein oder mehrere Computerprogramme implementiert werden, d. h. als ein oder mehrere Module von Computerprogrammanweisungen, die auf einem greifbaren, nichtflüchtigen Speichermedium codiert sind, um von einer Datenverarbeitungsvorrichtung ausgeführt zu werden oder den Betrieb einer solchen zu steuern. Bei dem Computerspeichermedium kann es sich um ein maschinenlesbares Speichergerät, ein maschinenlesbares Speichersubstrat, eine Speichervorrichtung mit wahlfreiem oder seriellem Zugriff oder eine Kombination aus einem oder mehreren davon handeln. Alternativ oder zusätzlich können die Programmanweisungen auf einem künstlich erzeugten, fortgepflanzten Signal codiert werden, z. B., einem maschinell erzeugten elektrischen, optischen oder elektromagnetischen Signal, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfangsvorrichtung zur Ausführung durch eine Datenverarbeitungsvorrichtung zu codieren.
-
Der Begriff „Datenverarbeitungsvorrichtung“ bezieht sich auf Datenverarbeitungshardware und schließt alle Arten von Vorrichtungen, Geräten, und Maschinen für das Verarbeiten von Daten ein, einschließlich beispielsweise einen programmierbaren Prozessor, einen Computer oder mehrere Prozessoren oder Computer. Die Vorrichtung kann ebenfalls Folgendes sein oder dieses ferner einschließen: eine spezielle Logikschaltung, z. B. eine FPGA-Anordnung (Field Programmable Gate Array) oder eine ASIC-Schaltung (Application Specific Integrated Circuit). Die Vorrichtung kann optional, zusätzlich zu Hardware, Code einschließen, der eine Ausführungsumgebung für Computerprogramme schafft, z. B. Code, der eine Prozessor-Firmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination aus einem oder mehreren von diesen bildet.
-
Ein Computerprogramm, das ebenfalls als Programm, Software, Softwareanwendung, App, Modul, Softwaremodul, Skript oder Code bezeichnet oder beschrieben werden kann, kann in jeder beliebigen Programmiersprache geschrieben werden, einschließlich kompilierter oder interpretierter Sprachen oder deklarativer oder prozeduraler Sprachen; und es kann in jeder beliebigen Form eingesetzt werden, einschließlich als eigenständiges Programm oder als Modul, Komponente, Unterprogramm oder andere Einheit, der/die/das zur Verwendung in einer Computerumgebung geeignet ist. Ein Programm kann, muss aber nicht, einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert werden, die andere Programme oder Daten enthält, z. B. ein oder mehrere Skripte, die in einem Auszeichnungssprachdokument gespeichert sind, in einer einzelnen Datei, die nur dem betreffenden Programm gewidmet ist, oder in mehreren koordinierten Dateien, z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile von Code speichern. Ein Computerprogramm kann zur Ausführung auf einem Computer oder auf mehreren Computern eingesetzt werden, die sich an einem Standort befinden oder über mehrere Standorte verteilt und über ein Datenkommunikationsnetz miteinander verbunden sind.
-
In dieser Spezifikation wird der Begriff „Maschine“ im weitesten Sinne verwendet und bezieht sich auf ein softwarebasiertes System, Teilsystem oder einen Prozess, das/der so programmiert ist, dass es/ er eine oder mehrere spezifische Funktionen durchführt. Im Allgemeinen wird eine Maschine als ein oder mehrere Softwaremodule oder Komponenten implementiert, die auf einem oder mehreren Computern an einem oder mehreren Orten installiert sind. In einigen Fällen sind ein oder mehrere Computer einer bestimmten Maschine gewidmet; in anderen Fällen können mehrere Maschinen auf demselben Computer oder denselben Computern installiert sein und laufen.
-
Die in dieser Spezifikation beschriebenen Prozesse und logischen Abläufe können von einem oder mehreren programmierbaren Computern durchgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durchzuführen, indem sie auf Eingabedaten arbeiten und eine Ausgabe erzeugen. Die Prozesse und logischen Abläufe können ebenfalls von speziellen Logikschaltungen, z. B. einer FPGA oder einer ASIC, oder von einer Kombination aus speziellen Logikschaltungen und einem oder mehreren programmierten Computern durchgeführt werden.
-
Computer, die für die Ausführung eines Computerprogramms geeignet sind, können auf allgemeinen oder speziellen Mikroprozessoren oder auf beiden oder auf jeder anderen Art von zentraler Verarbeitungseinheit basieren. In der Regel empfängt eine zentrale Verarbeitungseinheit Anweisungen und Daten aus einem Festwertspeicher oder einem Speicher mit wahlfreiem Zugriff oder aus beiden. Die wesentlichen Elemente eines Computers sind eine zentrale Verarbeitungseinheit zum Durchführen oder Ausführen von Anweisungen und ein oder mehrere Speichergeräte zum Speichern von Anweisungen und Daten. Die zentrale Verarbeitungseinheit und der Speicher können durch spezielle Logikschaltungen ergänzt werden oder in diese integriert sein. Im Allgemeinen schließt ein Computer ebenfalls ein oder mehrere Massenspeichergeräte zum Speichern von Daten ein oder ist funktionsfähig damit gekoppelt, um Daten von einem oder mehreren Massenspeichergeräten, z. B. magnetischen, magnetooptischen Platten oder optischen Platten, zu empfangen oder Daten an diese zu übertragen oder beides. Ein Computer muss jedoch keine solchen Geräte aufweisen. Darüber hinaus kann ein Computer in ein anderes Gerät eingebettet sein, z. B. in ein Mobiltelefon, einen persönlichen digitalen Assistenten (PDA), einen mobilen Audio- oder Videoplayer, eine Spielkonsole, einen Global Positioning Sytem-Empfänger (GPS) oder eine tragbare Speichervorrichtung, z. B. einen Universal System Bus-Stick (USB), um nur einige zu nennen.
-
Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und -daten geeignet sind, schließen alle Formen von nichtflüchtigen Speichern, Medien und Speichergeräten ein, einschließlich z. B. Halbleiterspeichergeräte, z. B. EPROM, EEPROM und Flash-Speichergeräte, Magnetplatten, z. B. interne Festplatten oder abnehmbare Platten; magnetooptische Platten sowie CD-ROM- und DVD-ROM-Platten.
-
Um die Interaktion mit einem Benutzer zu ermöglichen, können Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands auf einem Computer implementiert werden, der ein Anzeigegerät, z. B. einen CRT- (Kathodenstrahlröhre) oder LCD- (Flüssigkristallanzeige)-Monitor, zum Anzeigen von Informationen für den Benutzer sowie eine Tastatur und ein Zeigegerät, z. B. eine Maus oder einen Trackball, aufweist, mit denen der Benutzer Eingaben in den Computer machen kann. Es können auch andere Arten von Geräten verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen; so kann ein Feedback, das dem Benutzer bereitgestellt wird, jede Form von sensorischem Feedback sein, z. B. visuelles Feedback, auditives Feedback oder taktiles Feedback; und Eingaben von dem Benutzer können in jeder Form empfangen werden, einschließlich akustischer, sprachlicher oder taktiler Eingaben. Darüber hinaus kann ein Computer mit einem Benutzer interagieren, indem er Dokumente an ein vom Benutzer verwendetes Gerät sendet und von diesem empfängt, z. B. durch Senden von Webseiten an einen Webbrowser auf einem Gerät eines Benutzers als Reaktion auf vom Webbrowser empfangene Anfragen. Ebenfalls kann ein Computer mit einem Benutzer interagieren, indem er Textnachrichten oder andere Formen von Nachrichten an ein persönliches Gerät sendet, z. B. ein Smartphone, auf dem eine Nachrichtenanwendung läuft, und im Gegenzug Antwortnachrichten vom Benutzer empfängt.
-
Datenverarbeitungsvorrichtung für das Implementieren von maschinellen Lernmodellen können beispielsweise ebenfalls spezielle Hardware-Beschleunigungseinheiten für das Verarbeiten allgemeiner und rechenintensiver Teile von maschinellen Lerntraining oder Produktion, d. h. Inferenz, Arbeitslasten einschließen.
-
Maschinelle Lernmodelle können unter Verwendung eines maschinellen Lem-Frameworks implementiert und eingesetzt werden, z. B. eines TensorFlow-Framework, eines Microsoft Cognitive Toolkit-Framework, eines Apache Singa-Framework oder eines Apache MXNet-Framework.
-
Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands können in einem Computersystem implementiert werden, das eine Backend-Komponente, z. B. als Datenserver, einschließt, oder das eine Middleware-Komponente, z. B. einen Anwendungsserver, einschließt, oder das eine Frontend-Komponente, z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche, einem Webbrowser oder einer App, über die ein Benutzer mit einer Implementierung des in dieser Spezifikation beschriebenen Gegenstands interagieren kann, oder eine beliebige Kombination aus einer oder mehreren solcher Backend-, Middleware- oder Frontend-Komponenten einschließt. Die Komponenten des Systems können über eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, z. B. ein Kommunikationsnetz, miteinander verbunden werden. Beispiele für Kommunikationsnetze schließen ein lokales Netz (LAN) und ein Weitverkehrsnetz (WAN), z. B. das Internet, ein.
-
Das Computersystem kann Clients und Server einschließen. Ein Client und ein Server sind im Allgemeinen voneinander entfernt und interagieren typischerweise über ein Kommunikationsnetz. Die Beziehung zwischen Client und Server entsteht dadurch, dass Computerprogramme auf den jeweiligen Computern laufen und eine Client-Server-Beziehung zueinander aufweisen. In einigen Ausführungsformen überträgt ein Server Daten, z. B. eine HTML-Seite, an ein Benutzergerät, z. B. zum Anzeigen von Daten und zum Empfangen von Benutzereingaben von einem Benutzer, der mit dem Gerät interagiert, das als Client fungiert. Die auf dem Benutzergerät erzeugten Daten, z. B. ein Ergebnis der Benutzerinteraktion, können von dem Gerät auf dem Server empfangen werden.
-
Diese Spezifikation enthält viele spezifische Implementierungsdetails, die jedoch nicht als Beschränkungen des Umfangs jeglicher Erfindung oder des Umfangs der Ansprüche ausgelegt werden sollten, sondern als Beschreibungen von Merkmalen, die für bestimmte Ausführungsformen bestimmter Erfindungen spezifisch sein können. Bestimmte Merkmale, die in dieser Beschreibung im Zusammenhang mit einzelnen Ausführungsformen beschrieben werden, können ebenfalls in Kombination in einer einzigen Ausführungsform implementiert werden. Umgekehrt können verschiedene Merkmale, die im Zusammenhang mit einer einzigen Ausführungsform beschrieben werden, ebenfalls in mehreren Ausführungsformen separat oder in jeder geeigneten Unterkombination implementiert werden. Darüber hinaus kann/können, obwohl oben Merkmale als in bestimmten Kombinationen wirkend beschrieben werden und sogar ursprünglich als solche beansprucht werden, ein oder mehrere Merkmale einer beanspruchten Kombination in einigen Fällen aus der Kombination herausgenommen werden, und die beanspruchte Kombination kann auf eine Unterkombination oder eine Variation einer Unterkombination gerichtet sein.
-
Ähnlich sind Vorgänge in den Zeichnungen zwar in einer bestimmten Reihenfolge abgebildet und in den Ansprüchen aufgeführt, dies ist jedoch nicht so zu verstehen, dass derartige Vorgänge in der gezeigten bestimmten Reihenfolge oder aufeinanderfolgend durchgeführt werden müssen, oder dass alle abgebildeten Vorgänge durchgeführt werden müssen, um gewünschte Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung vorteilhaft sein. Darüber hinaus ist die Trennung verschiedener Systemmodule und -komponenten in den oben beschriebenen Ausführungsformen nicht so zu verstehen, dass eine solche Trennung in allen Ausführungsformen erforderlich ist, und es ist davon auszugehen, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in ein einziges Softwareprodukt integriert oder in mehreren Softwareprodukten verpackt sein können.
-
Besondere Ausführungsformen des Gegenstandes sind beschrieben worden. Andere Ausführungsformen fallen in den Anwendungsbereich der folgenden Ansprüche. Zum Beispiel können die in den Ansprüchen genannten Handlungen in einer anderen Reihenfolge durchgeführt werden und dennoch zu den gewünschten Ergebnissen führen. Als ein Beispiel sei angeführt, dass die in den beigefügten Figuren abgebildeten Prozesse nicht unbedingt in der gezeigten Reihenfolge ablaufen müssen, um die gewünschten Ergebnisse zu erzielen. In einigen Fällen können Multitasking und Parallelverarbeitung von Vorteil sein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Li und Hoiem, „Learning Without Forgetting“, Network and Parallel Computing, 29. Juni 2016, Springer, Bd. 9908, Seiten 614-629 [0004]
- French, „Catastrophic forgetting in connectionist networks“, Trends In Cognitive Sciences, Bd. 3, Nr. 4, 1. April 1999, Seiten 128-135 [0004]