-
Technisches Gebiet
-
Die Erfindung betrifft ein Verfahren zur Vorhersage einer Lernkurve bei einem iterativen Anlernverfahren eines maschinellen Lernsystems. Ebenso betrifft die Erfindung eine Vorrichtung und ein Computerprogramm, die jeweils eingerichtet sind, das Verfahren auszuführen.
-
Stand der Technik
-
Die Autoren T. Elsken, J. Metzen, und F. Hutter geben in ihrer Veröffentlichung „Neural architecture search: A survey.“ arXiv preprint arXiv:1808.05377 (2018) einen Überblick über Verfahren zur Optimierung einer Architektur von maschinellen Lernsystemen.
-
Die Autoren A. Klein, S. Falkner, J. T. Springenberg, und F. Hutter offenbaren in ihrer Veröffentlichung „Learning curve prediction with Bayesian neural networks“ International Conference on Learning Representations (ICLR'17) ein Verfahren zur Vorhersage von Lernkurven maschineller Lernsysteme.
-
Vorteile der Erfindung
-
Das Anlernen von maschinellen Lernsystemen ist sehr rechenintensiv und deshalb selbst auf leistungsstarken Rechnern extrem zeitintensiv. Dieses Problem verschärft sich, wenn das maschinelle Lernsystem viele Parameter (z.B. <100 bis >1Mio Parameter) aufweist und viele Trainingsdaten beim Anlernen benötigt werden, da diese beim Anlernen jeweils durch das maschinelle Lernsystem verarbeitet werden müssen. Ein Hyperparameter des Anlernverfahrens kann durch Ausprobieren angepasst werden, um die Lernkurve positiv zu beeinflussen. Das Ausprobieren ist jedoch extrem ineffizient, da hierfür jedes Mal alle Berechnungen durchgeführt werden müssen, ohne vorhersehen zu können, ob dieser angepasste Hyperparameter des Anlernverfahrens anschließend zu einer besseren Lernkurve führt.
-
Die Erfindung hat zum Ziel, den Anlernprozess von maschinellen Lernsystemen zu vereinfachen, indem gezielt ein geeigneter Wert des Hyperparameters des Anlernverfahrens bestimmt wird, sodass insgesamt weniger Anlernschritte benötigt werden, wodurch das Anlernverfahren computerressourcen-effizienter wird.
-
Es wird vorgeschlagen, dass die Lernkurve kostengünstig vorhergesagt wird. Abhängig von der Vorhersage kann dann entschieden werden, ob das Anlernen mit dem gewählten Hyperparameter des Anlernverfahrens zielführend sein wird, also beibehalten wird, oder ob der Hyperparameter geändert werden soll. Damit kann dann selektiv der Hyperparameter des Lernverfahrens beim Anlernen des maschinellen Lernsystems verwendet werden, um schneller und damit computerressourcen-sparsamer das maschinelle Lernsystem anzulernen, ohne unnötig viele, nicht-zielführende Werte des Hyperparameters zu verwenden, insbesondere zu testen.
-
Ferner erlaubt die Erfindung auch einen Hyperparameter des Anlernverfahrens zu finden, die es ermöglicht präziser ein Optimum der Kostenfunktion beim Anlernen zu finden und damit eine höhere Leistungsfähigkeit des maschinellen Lernsystems zu erreichen.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt wird ein, insbesondere computerimplementiertes, Verfahren gemäß dem unabhängigen Anspruch 1 zur Vorhersage einer Lernkurve eines iterativen Anlernverfahrens eines ersten maschinellen Lernsystems vorgestellt. Die Lernkurve ist eine, insbesondere sequenzielle Zeit-, Reihe einer Mehrzahl von Werten, die jeweils einem Wert einer Kostenfunktion des iterativen Anlernverfahrens entsprechen oder die jeweils eine Leistungsfähigkeit (engl. performance) des ersten maschinellen Lernsystems auf Trainingsdaten charakterisieren. Unter Trainingsdaten werden alle bereitgestellten Daten verstanden, die jeweils ein Paar aus Eingangsgrößen und zugeordneten Ausgangsgrößen umfassen und zum Anlernen und Evaluieren des ersten maschinellen Lernsystem verwendet werden. Vorzugsweise wird zum Evaluieren der Leistungsfähigkeit ein Validierungsdatensatz verwendet.
-
Vorzugsweise sind die Werte der Lernkurve jeweils einem Iterationsschritt des Anlernverfahrens zugeordnet. Die Lernkurve beschreibt einen Verlauf, bzw. einen Fortschritt des Anlernverfahrens, also eine zeitliche Entwicklung der Werte der Kostenfunktion oder der Leistungsfähigkeit entlang der Iterationsschritte des Anlernens des ersten maschinellen Lernsystems. Unter der Leistungsfähigkeit kann verstanden werden, in wie weit das erste maschinelle Lernsystem, angewendet auf die Trainingsdaten, bereits seiner Aufgabe nachkommt, gemäß welcher das erste maschinelle Lernsystem angelernt wird, diese Aufgabe zu lösen. Die Leistungsfähigkeit ist bspw. eine Klassifikationsgenauigkeit der Trainingsdaten, die zum Anlernen des ersten maschinellen Lernsystem verwendet werden. Das iterative Anlernverfahren wird zum Anlernen des ersten maschinellen Lernsystems verwendet und ist durch eine Parametrisierung parametrisiert. Das Verfahren zur Vorhersage der Lernkurve umfasst die Schritte: Erhalten der Parametrisierung des iterativen Anlernverfahrens und zumindest eines vorhergehenden Wertes der Lernkurve, der nach zumindest einem vorhergehend ausgeführten, vorzugsweise aktuellsten, Iterationsschritt des Anlernverfahrens ermittelt wurde. D.h. der vorhergehende Wert der Lernkurve entspricht im Wesentlichen einem vorhergehenden Wert der Kostenfunktion dieses Iterationsschrittes oder charakterisiert die Leistungsfähigkeit nachdem dieser Iterationsschritt ausgeführt wurde. Daraufhin folgt ein Vorhersagen, mittels eines zweiten maschinellen Lernsystems, eines nachfolgenden Wertes der Lernkurve abhängig von der Parametrisierung und abhängig von dem zumindest einem vorhergehenden Wert der Lernkurve. D.h. der nachfolgende Wert der Lernkurve entspricht im Wesentlichen einem Wert der Kostenfunktion, den die Kostenfunktion zu einem nachfolgenden Iterationsschritt des Anlernverfahrens ermitteln würde oder charakterisiert die Leistungsfähigkeit nachdem der nachfolgende Iterationsschritt ausgeführt worden wäre. Daraufhin folgt ein Entscheiden abhängig von dem vorhergesagten Wert der Lernkurve, ob die Parametrisierung des iterativen Anlernverfahren beibehalten wird. Denkbar ist auch, dass die Schritte des Verfahrens mehrfach wiederholt werden und abhängig von einer Mehrzahl von vorhergesagten Werten der Lernkurve entschieden wird, ob die Parametrisierung des iterativen Anlernverfahren beibehalten wird.
-
Der Vorteil des Verfahrens ist, dass dieses besonders effizient und zuverlässig den Verlauf der Lernkurve vorhersagt. Da die Parametrisierung des iterativen Anlernverfahrens die Lernkurve und damit den Erfolg des Anlernens des ersten maschinellen Lernsystems beeinflusst, kann mithilfe dieses Verfahrens vorhergesagt werden, wie erfolgsversprechend die Parametrisierung sein wird. Unter der Parametrisierung kann eine oder eine Mehrzahl von Hyperparametern verstanden werden. Ein Hyperparameter ist ein Parameter, dessen Wert(e) zu Beginn eines Lernverfahrens gewählt wird und bis zu einer Beendigung des iterativen Anlerverfahrens unverändert bleibt.
-
Es sei angemerkt, dass zu jedem Iterationsschritt des Anlernverfahrens die Kostenfunktion ausgewertet werden kann und abhängig von der Kostenfunktion eine Parametrisierung des ersten maschinellen Lernsystems angepasst wird. Die Parametrisierung des ersten maschinellen Lernsystems kann mehr als 100 Parameter, oder mehr als 1 Mio. Parameter umfassen.
-
Unter einem iterativen Anlernverfahren wird ein (Trainings-)Verfahren verstanden, dass die Parametrisierung des ersten maschinellen Lernsystems derart anpasst, dass die Kostenfunktion hinsichtlich eines vorgebbaren Kriteriums optimal wird. Das Anpassen der Parametrisierung des ersten maschinellen Lernsystems erfolgt hierbei iterativ. Alternierend wird die Parametrisierung des ersten maschinellen Lernsystems abhängig von der Kostenfunktion angepasst und die Kostenfunktion wird dann abhängig von der angepassten Parametrisierung ermittelt. D.h. die Parametrisierung wird angepasst, woraufhin die Kostenfunktion aktualisiert wird und die Parametrisierung abhängig von der aktualisierten Kostenfunktion erneut angepasst wird. Dies kann mehrfach hintereinander ausgeführt werden, bis ein vorgebbares Abbruchkriterium erreicht wird. Beispielsweise kann das iterative Anlernverfahren ein Gradientenabstiegsverfahren, wie zum Beispiel Adam, sein. Das erste maschinelle Lernsystem kann jede Art von lernfähigen Systemen sein, wie zum Beispiel ein neuronales Netzwerk oder ein Gaußprozess oder eine Support Vector Machine, etc.. Das erste maschinelle Lernsystem kann zur Klassifikation oder Segmentierung von Bildern, Videosequenzen und/oder Audiosignale verwendet werden. Ferner sei angemerkt, dass das maschinelle Lernsystem auch für weitere Aufgaben, wie z.B. eine Regression, verwendet werden kann.
-
Unter einer Kostenfunktion kann eine Differenz bzw. eine Abweichung zwischen wenigstens einer ermittelten Ausgangsgröße des ersten maschinellen Lernsystems abhängig von einer Trainingseingangsgröße und einer Trainingsausgangsgröße, die der Trainingseingangsgröße zugeordnet ist, sein. Die Kostenfunktion kann beispielsweise eine Kreuzentropie oder Ähnliches sein.
-
Es wird vorgeschlagen, dass das zweite maschinelle Lernsystem ein Random Forest ist. Der Random Forest sagt abhängig von einer Mehrzahl von vorhergehenden Werten der Lernkurve den nachfolgenden Wert der Lernkurve vorher. Ein jeder Entscheidungsbaum (engl. tree) des Random Forest gibt zumindest eine erste Größe und eine zweite Größe aus. Die Vorhersage des nachfolgenden Wertes der Lernkurve wird abhängig von einem Mittelwert über die ersten Größen und abhängig von einem Mittelwert über die zweiten Größen ermittelt.
-
Der Mittelwert der ersten und zweiten Größe kann verwendet werden, um eine Wahrscheinlichkeitsverteilung, vorzugsweise eine Gauß-Verteilung, zu parametrisieren, wobei der vorhergesagte Wert der Lernkurve dann zufällig aus dieser Wahrscheinlichkeitsverteilung gezogen wird.
-
Ein Random Forest ist ein Regressions-/Klassifikationsverfahren, das aus mehreren unkorrelierten Entscheidungsbäumen besteht. Alle Entscheidungsbäume wurden während eines Lernprozesses erstellt. Für eine Klassifikation darf jeder Baum in diesem „Wald“ eine Entscheidung treffen. Die endgültige Klassifikation wird dann abhängig von allen Entscheidungen der Bäume getroffen. Die erste und zweite Größe des Random Forest charakterisieren vorzugsweise ein erstes und zweites Moment einer Wahrscheinlichkeitsverteilung, bspw. einer Gauß Verteilung. Der Vorteil des Random Forest liegt darin, dass diese Art von maschinellen Lernsystemen mit wenigen Trainingsdaten zurechtkommen und daher effizient erstellt und betrieben werden können.
-
Weiterhin wird vorgeschlagen, dass das zweite maschinelle Lernsystem ein Bayes'sches rekurrentes neuronales Netz ist, auch bekannt unter der englischen Bezeichnung Variational Recurrent Neural Network (VRNN). Ferner wird vorgeschlagen, dass das Bayes'sche rekurrente neuronale Netz eine Mehrzahl von LongShortTermMemory-Module (LSTM) umfasst, die nach einer vorgegebenen Reihenfolge miteinander verbundenen sind.
-
Der Vorteil von rekurrenten neuronalen Netzen liegt darin, dass diese beim Betreiben nur einen vorhergehenden Wert der Lernkurve benötigen und sich anhand ihres internen Kurz-/Lang-zeitgedächtnisses an erhaltene Werte der Lernkurve von vorhergehenden Berechnungen erinnern können. Damit kommen die rekurrenten neuronalen Netze im Betrieb mit wenigen Daten aus, um eine besonders zuverlässige Vorhersage treffen zu können. Der Vorteil des Bayes'schen rekurrenten neuronalen Netzes ist, dass dieses eine Aussage über eine Verlässlichkeit der Vorhersage treffen kann.
-
Weiterhin wird vorgeschlagen, dass die Parametrisierung jeweils mittels einer Mehrzahl von vollvermaschten neuronalen Netzen (engl. fully connected neural networks) verarbeitet wird und jeweils die verarbeiteten Parametrisierungen zusätzlich als Eingangsgröße jeweils einem der LSTM bereitgestellt werden. Zusätzlich können die verarbeiteten Parametrisierungen abhängig von einer zufällig gezogenen Größe, insbesondere aus einer Bernoulli-Verteilung, gewichtet werden. Dies erlaubt eine Gewichtung der Parametrisierung des Anlernverfahrens, wodurch die Parametrisierung nach ihrer Verlässlichkeit den LSTM zugeführt werden. Ein weiterer Vorteil der vollvermaschten neuronalen Netze besteht in ihrer Differenzierbarkeit, die die Optimierung von neuen Parametrisierungen erleichtert. Außerdem können (vollvermaschte) neuronale Netze mit viel mehr Daten trainiert werden, was die Vorhersagen verbessert.
-
Weiterhin wird vorgeschlagen, dass vor Beginn des iterativen Anlernverfahrens die Mehrzahl der LSTM des Bayes'schen rekurrenten neuronalen Netzes und die Lernkurve initialisiert werden. Beim Initialisieren der Lernkurve wird ein erster Wert gleich Null gesetzt. Der erste Wert muss nicht unbedingt Null sein, beliebige Werte sind denkbar, solange beim Ausführen des Verfahrens der gleiche Wert verwendet wird.
-
Das zweite maschinelle Lernsystem sagt abhängig von der Parametrisierung und dem auf Null gesetzten Wert der Lernkurve den nachfolgenden Wert der Lernkurve vorher, insbesondere ohne dass ein Iterationsschritt des Anlernverfahrens ausgeführt werden muss. Es sei angemerkt, dass dieser nachfolgende Wert der Lernkurve einem Wert der Lernkurve entspricht und erwartet wird, dass dieser nach einem Ausführen des ersten Iterationsschrittes des Anlernverfahrens vorliegen würde. Der Vorteil liegt darin, dass das iterative Anlernverfahren nicht ausgeführt werden muss, dennoch kann eine Vorhersage der Lernkurve durchgeführt werden. Dies erlaubt ein besonders effizientes Anlernverfahren welches mit einer minimalen Anzahl von Iterationsschritten des Anlernverfahrens auskommt. Unter Initialisieren des Bayes'schen rekurrenten neuronalen Netzes kann verstanden werden, dass alle internen Zustände des rekurrenten neuronalen Netzes auf einen vorgegebenen Wert, beispielsweise auf den Wert Null, gesetzt werden.
-
Weiterhin wird vorgeschlagen, dass dann, wenn das zweite maschinelle Lernsystem den nachfolgenden Wert der Lernkurve vorhergesagt hat, das zweite maschinelle Lernsystem den vorhergesagten Wert der Lernkurve als vorhergehenden Wert der Lernkurve erhält, und dieser Schritt mehrmals wiederholt wird, bis eine vorgebbare Mehrzahl von Werten der Lernkurve vorhergesagt wurde. Vorteilhaft hieran ist, dass damit eine Konvergenz des Anlernverfahrens, insbesondere der Lernkurve, vorhergesagt werden kann.
-
Weiterhin wird vorgeschlagen, dass das iterative Anlernverfahren zum Anlernen des ersten maschinellen Lernsystem abhängig von der Vorhersage der Lernkurve durchgeführt, insbesondere fortgesetzt, wird. Denkbar ist auch, dass abhängig von der Vorhersage der Lernkurve das Anlernverfahren mit einer anderen Parametrisierung parametrisiert und vorzugsweise dann mit der anderen Parametrisierung das erste maschinelle Lernsystem angelernt wird, oder für die andere Parametrisierung eine Lernkurve vorhergesagt wird. Erreicht bspw. die Lernkurve nicht einen vorgebbaren Schwellwert, dann kann die Parametrisierung verworfen und eine neue Parametrisierung gewählt werden. Überschreitet die vorhergesagte Lernkurve den vorgebbaren Schwellwert, dann wird das iterative Anlernverfahren gemäß der Parametrisierung parametrisiert und daraufhin das erste maschinelle Lernsystem mit diesem parametrisierten Anlernverfahren angelernt.
-
Weiterhin wird vorgeschlagen, dass die Schritte des Verfahrens jeweils für eine Mehrzahl unterschiedlicher Parametrisierungen durchgeführt werden, und dass das Anlernverfahren zum Anlernen des ersten maschinellen Lernsystem abhängig von den Vorhersagen parametrisiert wird. Dieses Vorgehen erlaubt es, eine optimale Parametrisierung des iterativen Anlernverfahrens auszuloten.
-
Weiterhin wird vorgeschlagen, dass das zweite maschinelle Lernsystem abhängig von einer Mehrzahl von Trainingsdaten angelernt wird und die Trainingsdaten eine Mehrzahl von Trainingslernkurven und zu jeder Trainingslernkurve zugeordnete Parametrisierung umfassen. Die Trainingslernkurven können unterschiedlich lang sein.
-
Es sei angemerkt, dass die Trainingsdaten vorzugsweise aus vorhergehenden Anlernverfahren mit ähnlichen Anlernverfahren und/oder Kostenfunktion stammen. Unterschiedlich lang bedeutet, dass die Trainingslernkurven unterschiedlich viele Werte umfassen. Denkbar ist, dass parallel zum Anlernen des ersten maschinellen Lernsystems das zweite maschinelle Lernsystem angelernt wird. Dies hat den Vorteil, dass die bereits erzeugten Lernkurven des ersten maschinellen Lernsystems als Trainingsdaten für das Anlernen des zweiten maschinellen Lernsystems verwendet werden können.
-
Weiterhin wird vorgeschlagen, dass die Trainingsdaten Daten aufweisen, die beim Anlernen maschineller Lernsysteme für unterschiedliche Aufgaben bzw. Anwendungen erfasst wurden.
-
Vorzugsweise werden alternativ oder zusätzlich zu der Parametrisierung des Anlernverfahrens Meta-Daten der Trainingsdaten verwendet. Der Vorteil hierbei ist, dass dies ein direktes Lernen über unterschiedliche Trainingsdaten hinweg ermöglicht. Meta-Daten können z.B. Größen sein, die eine Argumentierung der Trainingsdaten charakterisieren (Rotation/Translation, usw.). Alternativ kann anstatt der Meta-Daten ein latenter Vektor gelernt werden, der für die Aufgabe charakteristisch ist, welche das erste maschinelle Lernsystem nach dem Anlernen lösen soll. Es wird vorgeschlagen, dass dieser Vektor dann auf der Grundlage von wenigen beobachteten Datenpunkten der Lernkurve auf dem neuen Datensatz geschätzt werden kann. Hierzu können u.a. Methoden aus dem Bereich „Variational Inference“ (z.B. Markov-Chain-Monte-Carlo-Verfahren - kurz MCMC - oder Stochastic Variational Infence - kurz SVI) benutzt werden.
-
Die Erfindung des ersten Aspektes kann auch für „bandit-based hyperparameter optimizers“, wie z.B. BOHB, verwendet werden, um diese sinnvoll zu initialisieren.
-
Da die Erfindung des ersten Aspektes anhand ihrer Vorteile (wie der zuverlässigen, besonders kostengünstigen Vorhersagen der Lernkurve und einem Ausgeben probabilistischer Verlässlichkeiten der Vorhersagen), ist die Erfindung auch in „exploitation-exploration paradigm“ Szenarios einsetzbar, z.B. in reinforcement-learning Anwendungen. Hierbei kann bspw. der Wert der Lernkurve eine Belohnung sein. Dies hat den Vorteil, dass bei aufwändig zu beobachtenden oder zu messenden Belohnungen diese mittels des zweiten maschinellen Lernsystem einfach vorhergesagt werden können.
-
In einem zweiten Aspekt der Erfindung wird das erste maschinelle Lernsystem unter Verwendung des ersten Aspektes der Erfindung angelernt. Daraufhin kann das erste maschinelle Lernsystem zum Steuern eines technischen Systems verwendet werden. Das technische System kann zum Beispiel eine zumindest teilautonome Maschine, ein zumindest teilautonomes Fahrzeug, ein Roboter, ein Werkzeug, eine Werkmaschine oder ein Flugobjekt wie eine Drohne sein. Die Eingangsgröße des ersten maschinellen Lernsystems kann eine Größe sein, welche mittels eines Sensors erfasst wurde. Abhängig von einer Ausgangsgröße des maschinellen Lernsystems kann eine Steuergröße ermittelt werden.
-
Die Steuergröße kann zum Steuern eines Aktors eines technischen Systems verwendet werden.
-
In einem weiteren Aspekt wird ein Computerprogramm vorgeschlagen. Das Computerprogramm ist eingerichtet, eines der vorherigen genannten Verfahren auszuführen. Das Computerprogramm umfasst Anweisungen, die einen Computer veranlassen, eines dieser genannten Verfahren mit all seinen Schritten auszuführen, wenn das Computerprogramm auf dem Computer abläuft. Ferner wird ein maschinenlesbares Speichermodul vorgeschlagen, auf welchem das Computerprogramm gespeichert ist. Des Weiteren wird eine Vorrichtung vorgeschlagen, die eingerichtet ist eines der Verfahren auszuführen.
-
Ausführungsbeispiele der oben genannten Aspekte sind in den beiliegenden Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Dabei zeigen:
-
Figurenliste
-
- 1 eine schematische Darstellung eines ersten maschinellen Lernsystems und eines zweiten maschinellen Lernsystems;
- 2 eine schematische Darstellung einer Architektur des zweiten maschinellen Lernsystems;
- 3 eine schematische Darstellung eines Flussdiagrammes einer Ausführungsform des Verfahrens zum Vorhersagen einer Lernkurve;
- 4 eine schematische Darstellung einer Ausführungsform einer Vorrichtung, welche zum Anlernen des ersten oder zweiten maschinellen Lernsystems verwendet werden kann.
-
1 zeigt schematisch ein erstes maschinelles Lernsystem (10), das mittels einer Vorrichtung (11) angelernt wird. Die Vorrichtung (11) erhält eine Trainingseingangsgröße, die mittels des ersten maschinellen Lernsystems (10) zu einer Ausgangsgröße verarbeitet wird. Die Trainingseingangsgrößen können, wie beispielhaft in 1 dargestellt, Bilder sein. Denkbar sind aber auch andere Signale, wie Audiosignale. Nachdem die Ausgangsgröße des ersten maschinellen Lernsystems (10) ermittelt wurde, wird mittels einer Kostenfunktion (engl. loss function) abhängig von der ermittelten Ausgangsgröße und einer zu der Trainingseingangsgröße bereitgestellten Trainingsausgangsgröße eine Differenz zwischen der ermittelten Ausgangsgröße und der Trainingsausgangsgrößen ermittelt. Die Kostenfunktion gibt dann einen Wert yt-1 aus. Wenn das erste maschinelle Lernsystem (10) ein tiefes neuronales Netz ist, dann kann die Kostenfunktion bspw. ein quadratischer Fehler sein.
-
Dieser Wert yt-1 kann daraufhin verwendet werden, um mittels eines iterativen Anlernverfahrens eine Parametrisierung des ersten maschinellen Lernsystems (10) anzupassen, sodass die Kostenfunktion optimiert, beispielsweise minimiert, wird.
-
Das iterative Anlernverfahren kann mehrmals hintereinander ausgeführt werden. Dabei kann jeweils der Wert der Kostenfunktion bei jedem Iterationsschritt in einem Schaubild eingetragen werden, um den Verlauf des Anlernverfahrens abzubilden. Das Bezugszeichen 13a zeigt beispielhaft ein Schaubild einer Lernkurve (13) des ersten maschinellen Lernsystems (10). Auf der x-Achse sind die einzelnen Iterationsschritte zum Zeitpunkt (t) und auf der y-Achse die Werte der Kostenfunktion aufgetragen. Das Schaubild zeigt beispielhaft wie sich die Werte der Kostenfunktion entlang der Iterationsschritte des Anlernverfahrens verhalten.
-
Alternativ kann der Wert yt-1 auch eine Leistungsfähigkeit (engl. performance) des ersten maschinellen Lernsystems (10) auf den Trainingsdaten charakterisieren, bspw. eine Klassifikationsgenauigkeit der Bilder. Denkbar ist dann, dass auf der y-Achse des Schaubildes eine Klassifikationsgenauigkeit aufgetragen ist und die Lernkurve (13) die Konvergenz der Klassifikationsgenauigkeit beim Anlernen des ersten maschinellen Lernsystems (10) darstellt.
-
Da das iterative Anlernverfahren parametrisierbar ist, beispielsweise durch eine Lernrate, Gradientenschrittweite oder Ähnliches, kann anhand dieser Parametrisierung θ eine Konvergenzeigenschaft der Lernkurve (13) beeinflusst werden. Da es nicht möglich ist, eine optimale Parametrisierung θ analytisch zu ermitteln, wird diese üblicherweise durch manuelles Ausprobieren festgelegt. Dies ist nachteilig, da hierfür diverse Parametrisierungen θ ausprobiert werden müssen, wovon die meisten verworfen werden, da diese nicht geeignet sind, um eine hohe Leistungsfähigkeit des ersten maschinellen Lernsystems zu erreichen. Fraglich ist auch, ob durch das manuelle Ausprobieren überhaupt eine annährend optimale Parametrisierungen θ gefunden werden kann, wenn ein Parametrisierungsraum mehrdimensional ist.
-
Es wird deshalb vorgeschlagen, ein zweites maschinelles Lernsystem (12) zu verwenden, das als Eingangsgröße die Parametrisierung θ des Anlernverfahrens und zumindest einen Wert (yt-1) der Lernkurve erhält. Der Wert (yt-1) kann zu einem vorhergehenden Iterationsschritt (t - 1) des Anlernverfahrens ermittelt worden sein und eine Leistungsfähigkeit des ersten maschinellen Lernsystems(10) charakterisieren oder ein Wert der Kostenfunktion sein. Das zweite maschinelle Lernsystem (12) ist derart angelernt, dass dieses abhängig von seiner Eingangsgröße einen nachfolgenden Wert yt der Lernkurve (13) vorhersagt, der nach einem nachfolgenden durchgeführten Iterationsschritt (t) des Anlernverfahrens ermittelt worden wäre. Dies erlaubt eine erste Abschätzung, ob anhand der gewählten Parametrisierung des Anlernverfahrens ein sinnvolles Anlernen des ersten maschinellen Lernsystems (10) erzielt werden kann.
-
Im Folgenden wird die Lernkurve (13) als eine sequenzielle Zeitreihe von Werten der Kostenfunktion und/oder der Leistungsfähigkeit angesehen und ein Wert (yt) der Lernkurve wird basierend auf vorhergehenden beobachteten Werten (yt-K-1, ...,yt-1) zu vorhergehenden Iterations-/Zeit-schritten (t - K - 1, ..., t - 1) vorhergesagt.
-
Der vorhergesagte Wert (y
t) der Lernkurve (
13) lässt sich unter der Annahme, dass die Werte (y
t-K-1, ...,y
t-1) verrauscht beobachtet wurden, wie folgt ermitteln:
dabei entspricht Ψ einer Gauß-Verteilung und x
t = [θ,y
t-K-1, ...,y
t-1] und D beschreibt die Trainingsdaten, die insgesamt N unterschiedliche Trainingslernkurven mit unterschiedlicher Länge zusammen mit der jeweiligen zugeordneten Parametrisierung θ umfassen.
-
Das zweite maschinelle Lernsystem (
12) kann in einer ersten Ausführungsform als ein Random Forest mit i-Entscheidungsbäumen implementiert sein. Der Random Forest ermittelt für jedes x
t die Gauß-Verteilung
wobei
und µ
i entspricht den einzelnen Vorhersagen der Entscheidungsbäume und wobei
insbesondere unter Verwendung des Gesetztes der totalen Varianz (engl. law of total variance) berechnet wird.
-
In der ersten Ausführungsform erhält der Random Forest insgesamt K nacheinander ermittelte Werte (yt-K-1, ...,yt-1) der Lernkurve (13) einer bisher noch nicht beobachteten Lernkurve. Der Random Forest sagt dann den weiteren Verlauf (yt, ...,yt+X) der Lernkurve (13) ausgehend von diesen insgesamt K Werten vorher. Dieses Vorhersagen von K Werten des weiteren Verlaufs der Lernkurve (13) soll im Folgenden als ein Rollout bezeichnet werden.
-
Für ein einziges Rollout wird der vorhergesagte Wert (yt+1) aus der ermittelten Gauß-Verteilung Ψ gezogen und zu den ermittelten Werten der Lernkurve hinzugefügt oder ersetzt einen der ermittelten Werten der Lernkurve. Dieses Vorgehen kann mehrmals wiederholt werden, bis eine Sequenz mit vorgebbarer Länge erreicht wurde.
-
In einer Weiterentwicklung der ersten Ausführungsform können mehrere Rollouts für die insgesamt K nacheinander ermittelten Werte (y
t-K-1, ...,y
t-1) der Lernkurve ausgeführt werden. Daraufhin kann über alle Rollouts gemittelt werden, bspw.:
und
um eine zuverlässigere Vorhersage zu erhalten.
-
In einer zweiten Ausführungsform des zweiten maschinellen Lernsystems (12) ist dieses durch ein Bayes'sches rekurrentes neuronales Netz (20) gegeben. Ein Aufbau des Bayes'schen rekurrenten neuronalen Netzes (20) ist beispielhaft in 2 dargestellt. Das Bayes'sche rekurrente neuronale Netz (20) erhält als Eingangsgröße einen vorhergehenden ermittelten Wert yt-1 der Lernkurve (13) und verarbeitet diesen mittels in Reihe verschalteten LSTM Schichten (22, engl. LSTM layer). In der Ausführungsform gemäß 2 umfasst das Bayes'sche rekurrente neuronale Netz (20) zwei LSTM (r1,r2). Zusätzlich kann das Bayes'sche rekurrente neuronale Netz (20) an seinem Ausgang mit einem vollvermaschten neuronalen Netz (23, engl. fully connected neural network) verbunden sein, welches als Ausgangsgröße den Wert yt der Lernkurve (13) ausgibt.
-
Zusätzlich kann das Bayes'sche rekurrente neuronale Netz (20) zumindest ein weiteres vollvermaschtes neuronales Netz (21) umfassen, das die Parametrisierung θ zu h1 verarbeitet und einem der LSTM zusätzlich als Eingangsgröße bereitstellt. In 2 umfasst das Bayes'sche rekurrente neuronale Netz (20) eine Mehrzahl von weiteren vollvermaschten neuronalen Netzen (21).
-
Zusätzlich kann die zu h1 verarbeite Parametrisierung θ mittels des weiteren vollvermaschten neuronalen Netz (21) abhängig von einer Größe z gewichtet werden, in 2 dargestellt durch: h1 · z1. Die Größe z kann zufällig aus einer Bernoulli-Verteilung B(d)gezogen werden. Es sei angemerkt, dass eine Parametrisierung d der Bernoulli-Verteilung B(d) beim Anlernen des Bayes'schen rekurrenten neuronalen Netzes (20) optimiert werden kann.
-
Ebenso, wie bereits in der ersten Ausführungsform erläutert, kann hier ein Rollout durchgeführt werden. Abhängig von dem vorhergesagten Wert yt kann mittels des Bayes'schen rekurrenten neuronalen Netzes (20) ein nachfolgender Wert yt+1 abhängig von dem bereits vorhergesagten Wert yt vorhergesagt werden, usw.
-
3 zeigt schematisch ein Flussdiagram eines Verfahrens (30) zur Vorhersage der Lernkurve (13).
-
Das Verfahren (30) beginnt mit Schritt 3000. In diesem Schritt wird das zweite maschinelle Lernsystem (12) angelernt. Hierfür werden die Trainingsdaten D bereitgestellt und daraufhin verwendet, um das zweite maschinelle Lernsystem (12) durch das Anlernen derart zu parametrisieren, dass dieses die Werte y der Lernkurve (13), insbesondere aus den Trainingsdaten, vorhersagen kann.
-
Nachdem das zweite maschinelle Lernsystem (12) angelernt wurde, folgt Schritt 3100. In diesem Schritt wird das zweite maschinelle Lernsystem initialisiert. Ist das zweite maschinelle Lernsystem beispielsweise das Bayes'sche rekurrente neuronale Netz (20), können die internen Zustände der LSTM (r1,r2) beispielsweise mit dem Wert Null initialisiert werden.
-
Im nachfolgenden Schritt 3200 wird eine Parametrisierung θ des Anlernverfahren gewählt und das erste maschinelle Lernsystem (10) mittels dieses Anlernverfahrens angelernt. Abhängig von einem Wert yt-1 der Kostenfunktion kann dann mittels des zweiten maschinellen Lernsystems (12) ein Wert yt der Kostenfunktion vorhergesagt werden, (wie gezeigt in 2). Alternativ können die Werte y eine Leistungsfähigkeit des ersten maschinellen Lernsystems (10) charakterisieren.
-
Alternativ kann in Schritt 3200 der erste Wert y0 der Kostenfunktion initial auf den Wert 0 gesetzt werden. Denkbar ist, dass bis dahin das erste maschinelle Lernsystem (10) noch nicht angelernt wurde.
-
In dem nachfolgenden Schritt 3300 wird der Wert yt-1 oder der erste Wert y0 = 0 durch das zweite maschinelle Lernsystem (12) verarbeitet. Das zweite maschinelle Lernsystem (12) gibt dann den Wert yt aus.
-
Optional wird der nachfolgende Schritt 3400 ausgeführt. Hierin wird abhängig von dem vorhergesagten Wert yt der Kostenfunktion aus Schritt 3300 ein weiterer Wert yt+1 der Kostenfunktion vorhergesagt. Dieser Schritt 3400 kann mehrmals hintereinander ausgeführt werden, bis eine Sequenz yt,..., yt+X von vorhergesagten Werten der Kostenfunktion ermittelt wurde.
-
Im darauffolgenden Schritt 3500 wird abhängig von den vorhergesagten Werten nach Schritt 3400 oder abhängig von dem vorhergesagten Wert nach Schritt 3300 entschieden, ob die Parametrisierung θ weiter verwendet wird, um das erste maschinelle Lernsystem (10) anzulernen, oder ob eine andere Parametrisierung θ* gewählt werden soll. Beispielsweise kann die andere Parametrisierung θ* zufällig aus einem vorgebbaren Wertebereich gezogen werden. Denkbar ist dann, dass erneut Schritt 3200 mit der neu gewählten Parametrisierung θ* ausgeführt wird, um zu prüfen, ob die neu gewählte Parametrisierung θ* besser geeigenet ist.
-
Nachdem Schritt 3500 abgeschlossen wurde, folgt Schritt 3600. In diesem Schritt wird das Anlernverfahren mit der Parametrisierung θ initialisiert und das erste maschinelle Lernsystem (10) anhand dieses initialisierten Anlernverfahrens angelernt.
-
Nachdem Schritt 3600 abgeschlossen wurde, kann Schritt 3700 folgen. In diesem Schritt wird das angelernte erste maschinelle Lernsystem (10) für ein technisches System, wie zum Beispiel ein zumindest teilautonomer Roboter, verwendet.
-
In einer alternativen Ausführungsform des Verfahrens (30) kann das zweite maschinelle Lernsystem (12) verwendet werden, um abhängig von einer Mehrzahl bereitgestellter unterschiedlicher Parametrisierungen θ und für jede der Parametrisierung mit dem intial gewählten Wert der Kostenfunktion gleich null mehere Rollouts auszuführen. Abhängig von demjenigen Rollout, welches die geeignetste Lernkurve vorhersagt, wird dann die dafür verwendete Parametrisierung ausgewählt und daraufhin zum Anlernen des ersten maschinellen Lernsystems (10) verwendet.
-
Der zumindest teilautonome Roboter kann durch ein zumindest teilautonomes Fahrzeug gegeben sein. In einem weiteren Ausführungsbeispiel kann der zumindest teilautonome Roboter ein Service-, Montage- oder stationärer Produktionsroboter, alternativ ein autonomes Flugobjekt, wie eine Drohne, sein.
-
Das zumindest teilautonome Fahrzeug kann eine Erfassungseinheit umfassen. Die Erfassungseinheit kann zum Beispiel eine Kamera sein, welche eine Umgebung des Fahrzeugs erfasst. Die Erfassungseinheit kann mit dem ersten maschinellen Lernsystem (10) verbunden sein. Das erste maschinelle Lernsystem (10) ermittelt abhängig von einer bereitgestellten Eingangsgröße, z.B. bereitgestellt von der Erfassungseinheit, und in Abhängigkeit einer Mehrzahl von Parametern des ersten maschinellen Lernsystem eine Ausgangsgröße. Die Ausgangsgröße kann an eine Steuerungseinheit weitergeleitet werden.
-
Die Steuerungseinheit steuert in Abhängigkeit der Ausgangsgröße des maschinellen Lernsystem einen Aktor, vorzugsweise steuert diese den Aktor derart, dass das Fahrzeug ein kollisionsfreies Manöver ausführt. Im ersten Ausführungsbeispiel kann der Aktor ein Motor oder ein Bremssystem des Fahrzeugs sein. In einem weiteren Ausführungsbeispiel kann der teilautonome Roboter ein Werkzeug, eine Werkmaschine oder ein Fertigungsroboter sein. Ein Material eines Werkstückes kann mittels des ersten maschinellen Lernsystem klassifiziert werden. Der Aktor kann hierbei z.B. ein Motor, der einen Schleifkopf betreibt, sein.
-
4 zeigt eine schematische Darstellung der Vorrichtung (11) zum Anlernen des ersten maschinellen Lernsystems (10), insbesondere zum Ausführen der Schritte zum Anlernen des maschinellen Lernsystems (12) nachdem die Parametrisierung θ des Anlernverfahrens initialisiert oder angepasst wurde. Die Vorrichtung (40) umfasst ein Trainingsmodul (41), welches die Trainingsdaten (Bilder und zugeordnete Label ys) enthält. Zweckgemäß können neben Bildern auch Tonsequenzen, Textausschnitte, Radar-, Lidar- oder Ultraschall-signale verwendet werden, die jeweils gelabelt sind. Abhängig von der ermittelten Ausgangsgröße y des ersten maschinellen Lernsystems (10) und den Labeln ys ermittelt ein Differenzmodul (42) eine Differenz, die an ein Anpassungsmodul (43) weitergeleitet wird. Das Anpassungsmodul (43) ermittelt abhängig von der Differenz eine Änderung ϕ' der Parameter ϕ des ersten maschinellen Lernsystems (10), die in einem Speicher P hinterlegt sind, und abhängig von der Änderung ϕ' angepasst werden.
-
Die Vorrichtung kann eine Recheneinheit (44) und ein Speicherelement (45) umfassen.