DE202019103233U1 - Vorrichtung zum Einstellen eines Hyperparameters - Google Patents

Vorrichtung zum Einstellen eines Hyperparameters Download PDF

Info

Publication number
DE202019103233U1
DE202019103233U1 DE202019103233.2U DE202019103233U DE202019103233U1 DE 202019103233 U1 DE202019103233 U1 DE 202019103233U1 DE 202019103233 U DE202019103233 U DE 202019103233U DE 202019103233 U1 DE202019103233 U1 DE 202019103233U1
Authority
DE
Germany
Prior art keywords
computer
value
strategy
optimization algorithm
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202019103233.2U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Albert Ludwigs Universitaet Freiburg
Original Assignee
Robert Bosch GmbH
Albert Ludwigs Universitaet Freiburg
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH, Albert Ludwigs Universitaet Freiburg filed Critical Robert Bosch GmbH
Priority to DE202019103233.2U priority Critical patent/DE202019103233U1/de
Publication of DE202019103233U1 publication Critical patent/DE202019103233U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Feedback Control In General (AREA)

Abstract

Vorrichtung zum Einstellen eines Hyperparameters h eines Computerprogramms,
wobei das Computerprogramm mittels eines Optimierungsalgorithmus (11) ein Optimierungsproblem löst und der Optimierungsalgorithmus (11) anhand des Hyperparameters h parametrisiert ist,
wobei die Vorrichtung ein maschinenenlesbares Speichermedium umfasst, auf dem Befehle gespeichert sind, die beim Ausführen durch einen Computer bewirken, dass der Computer ein Verfahren mit folgenden Schritten ausführt:
wobei abhängig von einem erfassten Zustand (engl. state) des Computerprogramms mittels einer vorgegebenen Strategie (engl. policy, Π) ein Wert (engl. action, a) vorgeschlagen wird,
wobei ein Wert v des Hyperparameters h abhängig von dem vorgeschlagenen Wert a der vorgegebenen Strategie Π angepasst wird.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft eine Vorrichtung zum Einstellen eines Hyperparameters eines Optimierers.
  • 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.
  • 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 anhand einer Strategie (engl. policy) ein optimaler Wert des Hyperparameters oder Werte einer Mehrzahl von Hyperparametern eingestellt wird. Die Strategie (engl. policy) kann durch ein bestärkendes Lernen (engl. reinforcement learning) ermittelt werden. Dies ermöglicht es, präziser ein Optimum der Kostenfunktion beim Anlernen zu finden und damit eine höhere Leistungsfähigkeit des maschinellen Lernsystems zu erreichen.
  • Mit der Strategie kann dynamisch der Hyperparameter des Lernverfahrens beim Anlernen des maschinellen Lernsystems angepasst 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 optimalen Hyperparameter des Anlernverfahrens zu finden, welches schlussendlich weniger Fehleranfällig wird, da nicht mehr manuell der Hyperparameter eingestellt wird.
  • Offenbarung der Erfindung
  • In einem ersten Aspekt wird ein, insbesondere computerimplementiertes, Verfahren zum Einstellen eines Hyperparameters h eines Computerprogramms oder eines computerimplementierten Optimierungsalgorithmus vorgeschlagen. Das Computerprogramm ist eingerichtet, mittels des Optimierungsalgorithmus ein Optimierungsproblem zu lösen. Der Optimierungsalgorithmus ist anhand des Hyperparameters h parametrisiert. Abhängig von einem erfassten Zustand (engl. state) des Computerprogramms oder des Optimierungsalgorithmus wird mittels einer vorgegebenen Strategie (engl. policy, Π) ein Wert (engl. action, a) vorgeschlagen, insbesondere ermittelt. Der Wert a kann auch eine Konfiguration des Hyperparameters charakterisieren. Alternativ kann der Zustand auch abhängig von dem Optimierungsalgorithmus erfasst werden. Der Zustand kann den Optimierungsalgorithmus oder das Computerprogramm charakterisieren, inwieweit diese jeweils das Optimierungsproblem gelöst haben. Ein Wert v des Hyperparameters h wird abhängig von dem vorgeschlagenen Wert a der vorgegebenen Strategie angepasst. Unter dem Hyperparameter kann mindestens ein Parameter des Optimierungsalgorithmus verstanden werden, der den Optimierungsalgorithmus charakterisiert. Der Wert des Hyperparameters ist üblicherweise für zumindest einen Iterationsschritt des Optimierungsalgorithmus fix.
  • Folgendes kann unter einem Optimierungsproblem verstanden werden: Bei einem (mathematischen) Optimierungsproblem ist ein Lösungsraum Ω (Menge von möglichen Lösungen) und eine Ziel-/Bewertungs-funktion / gegeben. Gesucht ist eine Lösung x ∈ Ω mit möglichst großem oder kleinstem Wert f(x), oder eine Aussagen über die Werte der Lösungen. Ferner kann es sich bei dem Optimierungsproblem darum drehen, eine optimale Parametrisierung der Zielfunktion hinsichtlich einer Nebenbedingung zu ermitteln. Der Optimierungsalgorithmus wird verwendet, um eine optimale Lösung des Optimierungsproblems zu ermitteln. Aufgrund der Komplexität kann der Optimierungsalgorithmus näherungsweise und/oder iterativ eine optimale Lösung ermitteln.
  • Beim Aufrufen oder Starten des Computerprogramms kann der Optimierungsalgorithmus gestartet werden. Der Optimierungsalgorithmus ermittelt gegeben einer Eingangsgröße, die ein Optimierungsproblem charakterisiert, eine Lösung des Optimierungsproblems. Der Optimierungsalgorithmus oder das Computerprogramm kann eine Ausgangsgröße ausgeben. Diese Ausgangsgröße charakterisiert eine Lösung des Optimierungsproblems, welches durch die Eingangsgröße charakterisiert wird. Vorzugsweise löst der Optimierungsalgorithmus iterativ das Optimierungsproblem, da aufgrund der Komplexität vorzugsweise numerische Verfahren eingesetzt werden. Dabei führt der Optimierungsalgorithmus zu jeweils einem Zeitschritt einer Abfolge von Zeitschritten jeweils einen Iterationsschritt aus. Dadurch nähert sich die ermittelte (partielle) Lösung der Iterationsschritte sukzessive der optimalen Lösung. Bei jedem Iterationsschritt wird dann eine Lösung, insbesondere die Ausgangsgröße, ausgegeben, wobei die Lösung unter Verwendung des Hyperparameters ermittelt wird. Der Hyperparameter kann den Optimierungsalgorithmus konfigurieren und beeinflusst dadurch ein Verhalten des Optimierungsalgorithmus. Das Verhalten kann ein Konvergenzverhalten sein.
  • Die Strategie ist eine Regel, durch welche abhängig von dem Zustand vorgeschlagen wird, welche Aktion idealerweise durchgeführt werden soll. Im Folgenden soll die Aktion der vorgeschlagene Wert a sein, abhängig von dem der Hyperparameter h angepasst wird. Die Strategie Π(s) kann eine deterministische/stochastische Abbildung des Zustandes s auf den Wert a sein.
  • Die Strategie kann hierbei derart eingerichtet sein, dass anhand der Strategie ein Ziel, zum Beispiel ein Erreichen einer optimalen Lösung des Optimierungsproblems innerhalb eines vorgebbaren Budget von Computerressourcen, erreicht wird. Die Strategie kann ferner derart eingerichtet sein, dass eine Belohnung (engl. reward) optimiert wird, um das Ziel zu erreichen.
  • Die Strategie kann bspw. eine LookUp-Table sein, in der die passenden Werte a für die jeweiligen Zustände s hinterlegt sind. Alternativ kann die Strategie durch ein neuronales Netz implementiert sein, welches abhängig von dem Zustand s den Wert a vorschlägt. Zusätzlich kann das neuronale Netz einen Wert einer Q-Funktion (engl. Q-function) ausgeben.
  • Der Zustand ist eine Größe die einen internen Zustand des Computerprogramms und/oder Optimierungsalgorithmus charakterisiert. Der Zustand kann z.B. ein Fortschritt des Anlernverfahrens zum jeweiligen betrachteten Iterationsschritt/Zeitschritt sein. Der Fortschritt kann bspw. durch eine Leistungsfähigkeit eines zu optimierenden maschinellen Lernsystem auf einem Validierungsset gegeben sein oder durch eine ausgewertete Kostenfunktion dieses maschinellen Lernsystems auf Trainingsdaten. Der Fortschritt kann jeweils einem Wert einer Kostenfunktion des iterativen Anlernverfahrens entsprechen. Zusätzlich oder alternativ kann der Fortschritt eine Leistungsfähigkeit (engl. performance) des 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 separater Validierungsdatensatz der Trainingsdaten verwendet.
  • Zusätzlich oder alternativ, kann der Zustand eine Anzahl durchgeführter Rechenoperationen zwischen mindestens zwei Iterationsschritten des Optimierungsalgorithmus und/oder eine vergangene Zeit zwischen mindestens zwei Iterationsschritten sein und/oder eine Historie die letzten Iterationsschritte. Ferner kann der Zustand eine Anzahl von veränderten Werte in einer partiellen Lösung des Optimierungsalgorithmus und/oder eine Veränderung der Lösung verglichen zu einer vorherigen Lösung und/oder eine Distanz zwischen partiellen Lösungen der Iterationsschritte sein. Zusätzlich oder alternativ, kann der Zustand ein verbrauchtes Budget (z.B. Rechenzeit) sein.
  • Der Zustand s kann aber auch Informationen über das Optimierungsproblem, das der Optimierungsalgorithmus lösen soll, enthalten, beispielsweise eine Problemgröße (z.B. Anzahl Variablen des Optimierungsproblems).
  • Der Wert a beschreibt entweder eine Änderung des Wertes v des Hyperparameters oder der Wert a ist ein vorgeschlagener, neuer Wert v des Hyperparameters. Weist das Anlernverfahren mehr als einen Hyperparameter auf, dann werden mehrere Werte a vorgeschlagen.
  • Der Vorteil dieses Verfahrens zum Einstellen des Hyperparameters h ist, dass die Strategie es erlaubt direkt nach jedem Iterationsschritt des Optimierungsalgorithmus, auf eine einfache Weise einen optimalen Wert v des Hyperparameters h zu ermitteln. Dadurch kann eine Folge von optimalen Hyperparameterwerte eingestellt werden. Dies resultiert in einem schnelleren Lösen des Optimierungsproblems und erlaubt auch komplexere Optimierungsprobleme, wie zum Beispiel Anlernen von maschinellen Lernsystemen für eine Klassifikation, computerressourceneffizient auszuführen. Ein weiterer Vorteil ist, dass dieses Verfahren zu einem „Sample“ effizienteren lösen des Optimierungsproblems beiträgt und auch eine bessere Generalisierung beim Anlernen von maschinellen Lernsystem erreicht werden kann.
  • Weiterhin wird vorgeschlagen, dass der Optimierungsalgorithmus iterativ ausgeführt wird. Nach Beendigung eines Iterationsschrittes des Optimierungsalgorithmus, wird der Zustand des Computerprogrammes erfasst, insbesondere ermittelt. Nachdem der Wert des Hyperparameters angepasst wurde, kann zumindest einer der, insbesondere unmittelbar, nachfolgenden Iterationsschritte des Optimierungsalgorithmus ausgeführt werden.
  • Weiterhin wird vorgeschlagen, dass die Schritte des Erfassens des Zustands und Anpassen des Wertes des Hyperparameters abhängig von dem Wert der Strategie und anschließende Ausführen des nachfolgenden Iterationsschrittes oder der nachfolgenden Iterationsschritte mehrmals hintereinander ausgeführt werden.
  • Denkbar ist, dass ein individuelles Anpassen des Wertes des Hyperparameters nach jedem oder nach einer Mehrzahl von Iterationsschritten ausgeführt wird. Vorteilhaft hierbei ist, dass keine feste Hyperparametrisierung für alle Optimierungsschritte verwendet wird. Damit kann eine flexible Konfiguration ermöglicht werden. Dadurch kann präziser ein Optimum des Optimierungsproblems erreicht werden, als mit einer festen Hyperparametrisierung. Ferner kann damit eine schnellere Konvergenz des Optimierungsverfahrens erzielt werden. Daraus folgt, dass z.B. weniger Daten zum Anlernen eines maschinellen Lernsystems benötigt werden. Das besondere an der Strategie ist, dass diese dynamisch zu jedem Zustand des Optimierungsalgorithmus einen optimalen Wert des Hyperparameters ausgeben kann. Das erlaubt ein situationsabhängiges Anpassen und Nachjustieren des Hyperparameters.
  • Weiterhin wird vorgeschlagen, dass die vorgegebene Strategie abhängig von einer Mehrzahl von unterschiedlichen Instanzen des Optimierungsproblems erstellt, insbesondere optimiert, wurde. Es sei angemerkt, dass die Strategie nach dem zweiten Aspekt der Erfindung erstellt worden sein kann.
  • Weiterhin wird vorgeschlagen, dass derjenige Wert aus einem vorgebbaren Wertebereich des Hyperparameters, für welchen eine maximale Gesamtbelohnung der Mehrzahl der Gesamtbelohnungen erzielt wird, als Wert v für den Hyperparameter vorgeschlagen wird.
  • Die Gesamtbelohnung kann durch eine Aktionswert-Funktion (engl. action-value function/Q-function, Q(s, a)), und insbesondere auch abhängig von einer Belohnungsfunktion R(s, a), ermittelt werden.
  • Derjenige Wert, der die maximale Gesamtbelohnung erzielt, kann durch eine „greedy Evaluierung“ der Gesamtbelohnung, insbesondere der Aktionswert-Funktion, bestimmt werden.
  • Die Aktionswert-Funktion ermittelt die Gesamtbelohnung durch ein Rollout beginnend bei dem Zustand s und einem gegebenen Wert des Hyperparameters unter Verwendung der Strategie. Es wird also die Gesamtbelohnung vorhergesagt, insbesondere bei Befolgen der Strategie für die nächsten Iterationsschritte.
  • Es kann die Strategie über die Instanzen hinweg ausgewertet werden. Es sei angemerkt, dass zum Auswerten der Aktionswert-Funktion für die jeweilige Instanz jeweils eine der jeweiligen Instanz zugeordneten Belohnungsfunktion und ggf. einer zugeordneten Übertragungsfunktion ermittelt wird.
  • Weiterhin wird vorgeschlagen, dass die Strategie denjenigen Wert aus dem vorgebbaren Wertebereich des Hyperparameters auswählt, für welchen die Aktionswert-Funktion die maximale Gesamtbelohnung für eine der unterschiedlichen Instanzen des Optimierungsproblems ermittelt. Dies erlaubt eine abhängige Auswahl des Wertes a unter Berücksichtigung der Instanzen. Für den Fall, dass bekannt ist, welcher Instanz das aktuell zu lösende Optimierungsproblem am ähnlichsten ist, kann abhängig von der ähnlichsten Instanz der Wert a ausgewählt werden, der zu der max. Gesamtbelohnung für diese Instanz führt.
  • Vorteilhaft hieran ist, dass eine (engl. per-instance algortihm configuration, PIAC) erzielt werden kann. Für PIAC würde die Strategie immer die gleiche Aktion für alle Zustände zurückgeben, aber möglicherweise unterschiedliche Aktionen bei verschiedenen Instanzen.
  • Die Aktionswert-Funktion Q(s, a) stellt eine erwartete Gesamtbelohnung (kumulative diskontierte Belohnung) dar, die erzielt wird, wenn der Hyperparameter zu dem aktuellen Zustand das Computerprogramm mit dem vorgeschlagenen Wert a der Strategie angepasst wird und der Hyperparameter danach entsprechend angepasst wird.
  • Der Vorteil hierbei ist eine Instanz-abhängige Anpassung des Hyperparameters. D.h. es wird berücksichtigt, wie sich die jeweilige Anpassung des Hyperparameters auf den unterschiedlichen Instanzen auswirken würde. Dadurch wird eine Robustheit der Auswahl erhöht, wodurch die Strategie besonders zuverlässig wird.
  • Weiterhin wird vorgeschlagen, dass die Strategie parallel für eine Mehrzahl von Computerprogrammen zur Anpassung deren Hyperparameter verwendet wird.
  • Weiterhin wird vorgeschlagen, dass der Optimierungsalgorithmus zum Optimieren einer Parametrisierung eines maschinellen Lernsystems verwendet wird. Der Optimierungsalgorithmus kann ein Anlernverfahren für das maschinelle Lernsystem sein. Das maschinelle Lernsystem für eine (Bild-)Klassifikation verwendet werden und kann ein neuronales Netz sein. Das maschinelle Lernsystem kann min. 10, vorzugsweise min. 50, besonders bevorzugt min. 1000 Parameter umfassen.
  • Unter einem Optimieren des maschinellen Lernsystems kann ein Anlernen des maschinellen Lernsystems verstanden werden. Beim Anlernen wird eine Kostenfunktion, die eine Differenz zwischen Ausgaben des maschinellen Lernsystems und Trainingsdaten charakterisiert, abhängig von der Parametrisierung des maschinellen Lernsystems optimiert. Bspw. bei Deep Learning kann der Hyperparameter eine Lernrate/Gradientenschrittweite sein. Es kann dadurch eine bessere Generalisierung erreicht werden, da dynamisch der Hyperparameter beim Anlernen des maschinellen Lernsystems angepasst wird. Es sei angemerkt, dass der Optimierungsalgorithmus auch zur Optimierung einer Routen-/Trajektorien-planung verwendet werden kann.
  • In einem zweiten Aspekt der Erfindung wird ein, insbesondere computerimplementiertes, Verfahren zum Erstellen einer Strategie Π, die zum Anpassen eines Hyperparameters h eines Optimierungsalgorithmus verwendet wird, vorgeschlagen. Die Strategie kann auch für einen Optimierungsalgorithmus eines Computerprogramms verwendet werden. Das Verfahren umfasst folgende Schritte: Zuerst erfolgt ein Initialisieren der Strategie Π. Die Strategie ist geeignet, abhängig von einem Zustand s des Optimierungsalgorithmus einen Wert des Hyperparameters h vorzuschlagen. Daraufhin folgt ein Erhalten einer Mehrzahl von initialen Zuständen des Optimierungsalgorithmus und einer Mehrzahl von vorgegebenen Belohnungsfunktionen (engl. reward function), die beide jeweils eine Instanz eines Optimierungsproblems, für welches der Optimierungsalgorithmus zum Lösen eingerichtet ist, zugeordnet sind. Daraufhin folgt ein Optimieren der Strategie. Das Optimieren der Strategie kann derart durchgeführt werden, dass der vorgeschlagene Wert a gegeben dem initialen Zustand hinsichtlich einer Gesamtbelohnung für jede der Instanzen zu einer maximalen Gesamtbelohnung führt. Die Gesamtbelohnung wird abhängig von jeweils einem Rollout beginnend bei dem initialen Zustand und jeweils einem unterschiedlichen Wert aus einem vorgebbaren Wertebereich des Hyperparameters, insbesondere unter Verwendung der Strategie ermittelt.
  • Die erstellte Strategie kann für den ersten Aspekt der Erfindung verwendet werden. Vorzugsweise wird die erstellte Strategie für ein Anlernen von maschinellen Lernsystemen verwendet.
  • Die Gesamtbelohnungen kann abhängig von zumindest einer Aktionswert-Funktion (engl. action-value function, Q(s, a)) ermittelt werden, wobei die Aktionswert-Funktion mindestens abhängig von der Belohnungsfunktion ist, die der jeweiligen Instanz zugeordnet ist. Die Gesamtbelohnung wird jeweils abhängig von einem Rollout beginnend bei dem initialen Zustand der jeweiligen Instanz schrittweise abhängig von der initialisierten Strategie und der jeweiligen vorgegebenen Belohnungsfunktion und optional der Übergangsfunktion (engl. transition function) ermittelt. Die Belohnungsfunktion ermittelt jeweils abhängig von der durch die Strategie ermittelten Aktion und abhängig von dem Zustand eine Belohnung (engl. reward).
  • Die Übergangsfunktion ermittelt einen nachfolgenden Zustand, welcher abhängig von dem Wert v des Hyperparameters und dem aktuellen Zustand nach Ausführen zumindest eines Iterationsschrittes des Optimierungsalgorithmus erreicht wird. Die Übergangsfunktion kann eine Wahrscheinlichkeit ausgeben, die charakterisiert, ob einer der Zustände des Zustandsraums unter Anwenden des gegebenen Wertes des Hyperparameters erreicht wird, gegeben dem aktuellen Zustand. Es wird vorgeschlagen, dass die Übergangsfunktion durch ein bestärkendes Lernen (engl. reinforcement learning) gelernt wird.
  • Unter einem Rollout kann ein Ausrollen, insbesondere ein Vorhersagen, verstanden werden. Hierfür wird abhängig von den eingenommenen Zuständen und gewählten Aktionen eine Abfolge von nacheinander ausgeführten Aktionen und resultierenden Zuständen vorhergesagt. Die mit jeder Aktion a verbundenen Belohnung wird zu der Gesamtbelohnung aufsummiert. Das Rollout kann unter Befolgen der Strategie erfolgen.
  • Der Optimierungsalgorithmus kann auf jeder der Instanzen angewendet werden, wobei die Instanzen jeweils unterschiedlich konfigurierte Situationen eines Optimierungsalgorithmus sind. Für einen Optimierungsalgorithmus wie ein SATsolver, ist beispielsweise eine Instanz eine Logikformel, die erfüllt werden muss. Beim Training eines neuronalen Netzes wäre eine Instanz ein komplettes Datenset auf dem das neuronale Netz trainiert und evaluiert wird. Für Klassifizierungsprobleme könnte der Zustand dann beispielsweise die Anzahl Klassen, die Anzahl Datenpunkte pro Klasse und die Dimensionalität der Datenpunkte beinhalten. Abhängig von der Strategie kann hier z.B. eine Lernrate gesteuert werden.
  • Es sei angemerkt, dass die Strategie die unter Verwendung einer der Instanzen (vollständig) optimiert werden kann. Die Optimierung kann derart erfolgen, dass die Strategie eine Aktion a ausgibt, sodass die max. Gesamtbelohnung erreicht wird, insbesondere wenn der Hyperparameter abhängig von dieser Aktion a angepasst wird.
  • Es sei angemerkt, dass zusätzlich eine vorgegebene Übergangsfunktion (engl. transition function) verwendet werden kann. Das Rollout kann zusätzlich abhängig von der vorgegebenen Übertragungsfunktion ermittelt werden, wobei beim Rollout die Übertragungsfunktion abhängig von dem Zustand und der ermittelten Größe der Strategie einen nachfolgenden Zustand vorhersagt, der dann wiederum verwendet wird, um anhand der Strategie die Größe zu ermitteln, usw.
  • Es sei angemerkt, dass der Schritt des Optimierens der Strategie mehrmals hintereinander ausgeführt werden kann, vorzugsweise auch beginnend von unterschiedlichen initialen Zuständen, bis eine verwendbare Strategie vorliegt.
  • Die Belohnung ist eine Größe die charakterisiert in wie weit der gewählte Wert a zielführend war. Ein Ziel des Optimierungsalgorithmus kann eine Zeit bis zum Lösen des Problems oder eine Genauigkeit der Lösung des Problems und/oder eine Qualität der Lösung und/oder eine Distanz zu einem Ziel sein. Der Vorteil dieser unterschiedlichen Belohnungen ist, dass diese sich zu jedem Zeitpunkt des Optimierungsalgorithmus, wie einem Anlernverfahren, bestimmen lassen, wodurch das Erlernen der Strategie beschleunigt werden kann.
  • Zusätzlich oder alternativ kann die Belohnung die negative benötigte Rechenzeit zwischen zwei Iterationsschritte des Optimierungsalgorithmus sein. Eine solche Belohnung würde zu einer minimalen gesamten Laufzeit des Optimierungsalgorithmus führen. Ferner kann die Belohnung abhängig von partiellen Lösungen des iterativen Optimierungsalgorithmus ermittelt werden. Für den Fall, dass der Optimierungsalgorithmus ein SAT solver ist, kann die Belohnung abhängig von einem Prozentsatz der bereits erfüllten Formel des SAT ermittelt werden. Für den Fall, dass der Optimierungsalgorithmus eine Funktion f abhängig von einem Wert x optimiert, und zu jedem Iterationsschritt einen neuen Wert x vorschlägt, kann die Belohnung abhängig von f(x) sein.
  • Weiterhin wird vorgeschlagen, dass die Strategie mittels bestärkenden Lernens (engl. reinforcement learning) erlernt wird. Der Vorteil hierbei ist, dass automatisiert und mit möglichst wenigen Iterationen bei einem Explorieren die Strategie erlernt werden kann.
  • Weiterhin wird vorgeschlagen, dass der Zustandsraum und der Wertebereich des Hyperparameters über die Instanzen hinweg gleich sind, aber unterschiedliche Belohnungsfunktion und/oder Übergangsfunktion den unterschiedlichen Instanzen zugeordnet sind. Der Vorteil hierbei ist, dass besser über mehrere Instanzen hinweg die Strategie gelernt werden kann. Folglich auch eine bessere Generalisierung erreicht und aus komplexeren Sequenzen eine Strategie erlernt werden kann. Denkbar ist auch, dass die Strategie parallel für mehrere Optimierungsalgorithmen zu verwendet, da die Strategie nicht abhängig von vorherigen Werte des Hyperparameters oder Zuständen des jeweiligen Optimierungsalgorithmus ist. Vorteilhaft ist auch, dass über heterogene Instanzen hinweg die Strategie gelernt werden kann.
  • Vorzugsweise wird der Zustand mit weiteren Informationen angereichert, z.B. mit „instance features“, wie einer Größe, die charakterisiert, wie komplex das Optimierungsproblem ist. Denn je besser der Fortschritt charakterisiert wird, desto schneller kann die Strategie erlernt werden, aber auch anschließend können mittels der gelernten Strategie bessere Werte a vorhersagt werden.
  • Denkbar ist, dass die Belohnung unabhängig von der Instanz ist, z.B. ein negativer Reward für jeden unternommenen Schritt. Dadurch kann eine Strategie gelernt werden, welche das Problem mit einer minimalen Rechenzeit (engl. runtime) löst.
  • Weiterhin wird vorgeschlagen, dass einer Mehrzahl unterschiedlicher Instanzen des Optimierungsproblems, für welches der Optimierungsalgorithmus zum Lösen eingerichtet ist, bereitgestellt werden. Daraufhin kann ein Explorieren eines Zustandsraumes jeder der Instanzen, insbesondere unter Berücksichtigung eines vorgegebenen Wertebereichs des Hyperparameters erfolgen. Beim Explorieren wird erkundet, gegeben einem Zustand des Computerprogrammes oder des Optimierungsalgorithmus unter Verwendung eines möglichen Wertes des Hyperparameters aus dem vorgebbaren Wertebereich des Hyperparameters welcher nachfolgende Zustand des Computerprogrammes oder des Optimierungsalgorithmus erreicht wird. Es wird also der Zustandsraum erforscht. Es kann auch die Belohnungsfunktion und ggf. die Übergangsfunktion abhängig von der Exploration ermittelt werden.
  • Der Zustandsraum ist eine Menge aller möglichen Zustände, die das Computerprogramm oder Optimierungsalgorithmus annehmen kann. Durch das Explorieren wird beobachtete, welche Aktion zu einem aktuellen Zustand zu welchem nachfolgenden Zustand führt.
  • In einem weiteren Aspekt der Erfindung wird vorgeschlagen, dass der Optimierungsalgorithmus ein maschinelles Lernsystem optimiert, sodass bspw. dieses maschinelle Lernsystem zum Steuern eines Aktors verwendet werden kann. Alternativ kann dieses maschinelle Lernsystem eine Steuergröße kann zum Steuern eines Aktors eines technischen Systems ermitteln. 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 dieses maschinellen Lernsystem kann bspw. abhängig von erfassten Sensordaten, die dem maschinellen Lernsystem bereitgestellt werden, ermittelt werden. Die Sensordaten können von einem Sensor, wie z.B. einer Kamera, des technischen Systems erfasst oder alternativ von extern empfangen 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 Reglers, der ein Wert eines Optimierungsalgorithmus anpasst;
    • 2 eine schematische Darstellung einer Ausführungsform eines Verfahren zum Anpassen eines Wertes des Optimierungsalgorithmus.
  • 1 zeigt schematisch einen Regler (10), der eine Strategie Π hat, mittels dieser der Regler (10) abhängig von einer Belohnung (rt+1) oder/und einem internen Zustand (st+1) eines Optimierungsalgorithmus (11) eine Aktion at ermittelt. Die Aktion at kann verwendet werden, um einen Wert a vorzuschlagen, um mit dem einen Wert v eines Hyperparameter h des Optimierungsalgorithmus (11) anzupassen. Ferner zeigt 1 eine Mehrzahl von Instanzen i ∈ I. Der Regler (10) kann zu jedem Iterationsschritt t des Optimierungsalgorithmus den Wert v des Hyperparameters h abhängig von dem Wert a anpassen. Basierend auf dem internen Zustand si, für eine gegebene Instanz i, kann der Regler (10), bis eine Instanz gelöst oder ein maximales Budget erreicht wurde, entscheiden, welcher Wert v der Hyperparameter h haben soll. Der Regler (10) kann auf eine Recheneinheit (12) und einen Speicher (13) zugreifen. Der Regler (10) kann in Software als auch in Hardware implementiert sein.
  • Im Folgenden soll eine Optimierung eines Hyperparameters h für einen Optimierungsalgorithmus, wie zum Beispiel ein Anlernverfahren eines maschinellen Lernsystems gezeigt werden. Der Hyperparameter h kann beispielsweise eine Gradientenschrittweite (Lernrate) des Anlernverfahrens, wie Deep-Learning, sein. Das Anlernverfahren wird iterativ ausgeführt, d.h. der Schritt des Optimierens einer Kostenfunktion (engl. loss function) wird mehrfach wiederholt, bis ein vorgebbares Abbruchkriterium erreicht wird. Normalerweise wird ein Wert des Hyperparameters h zu Beginn des Anlernverfahrens gewählt und immer der gleiche Wert zu jedem Iterationsschritt verwendet.
  • Jedoch ist es vorteilhaft, wenn der Wert des Hyperparameters h dynamisch angepasst werden kann, um bspw. die Kostenfunktion zielgerichteter optimieren zu können. Im nachfolgenden soll gezeigt werden, wie der Wert des Hyperparameters h dynamisch angepasst werden kann.
  • Hierfür kann die Entscheidung, welchen Wert der Hyperparameter h annehmen soll, durch ein Markov Decision Process (MDP) beschrieben werden: M : = ( S   , A   , T   , R )
    Figure DE202019103233U1_0001
    wobei S ein Zustandsraum, A ein Aktionsraum, T eine Übergangsfunktion und R eine Belohnungsfunktion ist.
  • Zustandsraum S:
  • Zu jedem Iterationsschritt t muss der Regler (10) über den internen Zustand st des Optimierungsalgorithmus (1: Algorithmus) informiert sein, um den Wert des Hyperparameters h optimal anpassen zu können. Für das Beispiel, wenn der Optimierungsalgorithmus das Deep-Learning Verfahren ist, kann der interne Zustand s eine momentane Leistungsfähigkeit des neuronalen Netzes auf einem Validierungsdatensatz charakterisieren. Die Leistungsfähigkeit kann auch bspw. ein Wert der Kostenfunktion sein.
  • Aktionsraum A:
  • Gegeben dem aktuellen internen Zustand st entscheidet der Regler (10), wie der Wert v des Hyperparameters h geändert werden muss. Der Wert v ist ein Wert aus einem vorgebbaren Wertebereich Ah des Hyperparameters h. Der Regler (10) kann entweder einen vorgeschlagenen Wert a der Strategie Π direkt als Wert v dem Hyperparameter h zuweisen. Alternativ kann die Strategie Π eine Änderung des Wertes v des Hyperparameters vorschlagen. Abhängig von dieser vorgeschlagenen Änderung wird der Wert des Hyperparameters angepasst.
  • Übergangsfunktion T:
  • Die Übergangsfunktion T beschreibt in welchen nachfolgenden internen Zustand st+1 sich der Algorithmus befindet, nachdem der Wert v des Hyperparameters h angepasst wurde und der Algorithmus mit diesem Hyperparameter einen Iterationsschritt ausgeführt hat. Beispielsweise kann die Übergangsfunktion T eine Wahrscheinlichkeit p(st+1|at,st) ausgeben. Es sei angemerkt, dass die Übergangsfunktion T direkt aus beobachteten Übergängen ermittelt werden kann, wie z.B. bei Verwendung von bestärkendem Lernen (engl. reinforcement learning).
  • Belohnungsfunktion R:
  • Dass der Regler (10) lernt, welchen Wert v für den Hyperparameter h geeignet ist, benötigt der Regler (10) eine Belohnung (engl. reward). Abhängig von dieser Belohnung kann der Regler (10) lernen, welche Werte v für den jeweiligen gegebenen Zustand s geeignet sind. Für den Fall, dass der Optimierungsalgorithmus (11) ein Anlernverfahren ist, kann die Belohnung beispielsweise eine Qualität der ermittelten Ausgaben eines neuronalen Netzes sein. Die Belohnungsfunktion R kann auch abhängig von einem Zeit-/Energie-Budget berechnet werden.
  • Aus der Gleichung (1) kann eine Strategie (engl. policy Π) ermittelt werden, die es ermöglicht, abhängig von einem gegebenen aktuellen internen Zustand st einen geeigneten Wert a des Hyperparameters h vorzuschlagen.
  • Um eine bessere Generalisierung der Strategie zu erreichen, also eine Strategie zu finden, die auf mehreren unterschiedlichen Trainingsinstanzen und auch auf unbekannten Instanzen zu guten Ergebnissen führt, wird Gleichung (1) als „contextual Markov Decision Process“ (cMDP) umgeschrieben: M i : = ( S   , A   , T i   , R i )
    Figure DE202019103233U1_0002
    wobei S der Zustandsraum ist, A der Aktionsraum ist, T die Übergangsfunktion ist und R die Belohnungsfunktion ist. Der Index i ∈ I gibt die betrachtete Instanz einer Mehrzahl von Instanzen I an.
  • Um eine Strategie zu ermitteln, die auf allen Instanzen I funktioniert, kann für die MDPs nach Gleichung (2) ein gemeinsamer Aktionsraum A und ein gemeinsamer Zustandsraum S für alle Instanzen festgelegt werden. Es werden aber unterschiedlichen Übergangs- und Belohnungsfunktionen Ti, Ri für die unterschiedlichen Instanzen i verwendet. Mit dem nach Gleichung (2) definierten MDPs kann nun eine Strategie Π ermittelt werden, die auf alle Instanzen I angewendet werden kann.
  • Beim Anlernen eines neuronalen Netzes kann eine Instanz ein komplettes Datenset sein, auf welchem das neuronale Netz trainiert und evaluiert wird. Für Klassifizierungsprobleme könnte der Zustand s beispielsweise eine Anzahl von Klassen, eine Anzahl von Datenpunkte pro Klasse und/oder eine Dimensionalität der Datenpunkte charakterisieren.
  • Eine optimale Strategie Π i I
    Figure DE202019103233U1_0003
    kann durch Lösen der folgenden Gleichung erreicht werden: Π i I ( s ) a r g m a x a A R i I ( s , a ) + Q Π i I ( s , a ) Q Π i I ( s , a ) = E Π i I [ k = 0 γ k r i , t + k + 1 | s t = s , a t = a , i I ]
    Figure DE202019103233U1_0004
    wobei Q Π i I
    Figure DE202019103233U1_0005
    die Action-Value-Funktion ist, die die erwartete zukünftige Belohnung liefert, ausgehend vom Zustand s unter Anwendung der Aktion a, insbesondere unter Verwendung der Strategie Π i I
    Figure DE202019103233U1_0006
    auf Instanz i, eine Abschlagsrate γ und dem Erwartungswertoperator E.
  • 2 zeigt schematisch ein Flussdiagramm (20) eines Verfahrens zum Erstellen der Strategie Π i I ,
    Figure DE202019103233U1_0007
    die dann zum Einstellen eines Hyperparameters h eines Optimierungsalgorithmus verwendet werden kann.
  • Das Verfahren beginnt mit Schritt 200. Hierin wird die Strategie Π i I
    Figure DE202019103233U1_0008
    initialisiert. Für den Fall, dass die Strategie eine Abbildungsfunktion des aktuellen Zustandes st auf einen Wert a, insbesondere eine Aktion a, ist, kann hierbei zum Beispiel eine zufällig initialisiert Abbildungsfunktion bereitgestellt werden. Alternativ kann die Strategie Π i I
    Figure DE202019103233U1_0009
    auch durch ein neuronales Netz implementiert sein, dessen Parameter in diesem Schritt zufällig initialisiert werden. Optional kann in Schritt 200 die Mehrzahl der Instanzen I und auch die Übergangsfunktionen Ti, sowie die Belohnungsfunktionen Ri bereitgestellt werden.
  • Optional kann der nachfolgende Schritt 201 ausgeführt werden, wenn die Übertragungsfunktionen und Belohnungsfunktionen nicht in Schritt 200 bereitgestellt wurden. Hierbei wird für jede der Instanzen I eine Exploration des Zustandraumes ausgeführt. Bei der Exploration wird durch eine Interaktion, zum Beispiel durch Ausführen der Aktionen a, beobachtet welche nachfolgende Zustände auftreten und mit welchen Belohnungen r die jeweiligen Aktionen a belohnt werden. Aus diesen Beobachtungen wird in Schritt 201 die Belohnungsfunktion und die Übergangsfunktion ermittelt, die diese nachfolgenden Zustände und Belohnungen abhängig von den beobachteten Zuständen und ausgeführten Aktionen a vorhersagen können. Es sei angemerkt, dass der Schritt 201 für jede der bereitgestellten Instanzen ausgeführt werden kann.
  • In Schritt 202 wird dann die Strategie Π i I
    Figure DE202019103233U1_0010
    mithilfe der Gleichung (3) optimiert. Hierfür wird für jede Instanz i ein Rollout ausgeführt, wobei anhand der Aktionswert-Funktion Q(s, a) für jeden ausgeführten Iterationsschritt anhand der bereitgestellten Belohnungsfunktionen Ri und Übergangsfunktionen Ti für die jeweilige Instanz eine Gesamtbelohnung ermittelt wird. Die Strategie Π i I
    Figure DE202019103233U1_0011
    wird dann derart optimiert, dass diese eine Aktion a auswählt, sodass diese zu einer möglichst hohen Gesamtbelohnung für die jeweilige Instanz i führt.
  • Wenn die Strategie Π i I
    Figure DE202019103233U1_0012
    durch ein neuronales Netz implementiert ist, dann wird in Schritt 202 bspw. eine Parametrisierung dieses neuronalen Netzes angepasst.
  • Der Schritt 202 wird für jede der bereitgestellten Instanzen ausgeführt. Denkbar ist auch, dass der Schritt 202 mehrmals für die Instanzen ausgeführt wird.
  • Der Schritt 202 kann mehrfach hintereinander wiederholt werden, bis ein vorgebbares Abbruchkriterium erfüllt ist.
  • In dem nachfolgenden Schritt 203 wird die optimierte Strategie bereitgestellt. Die optimierte Strategie kann beispielsweise dem Regler (10) bereitgestellt werden.
  • In den nachfolgenden optionalen Schritten 204 und 205, wird die bereitgestellte Strategie aus Schritt 203 verwendet, um den Hyperparameter h beim Ausführen des Optimierungsalgorithmus (11) anzupassen.
  • In dem optionalen Schritt 204 wird mittels der Strategie aus Schritt 203 abhängig von dem aktuellen Zustand des Optimierungsalgorithmus ein Wert a vorgeschlagen, der dann als Wert v des Hyperparameters h verwendet wird. Daraufhin kann der Optimierungsalgorithmus abhängig von dem Hyperparameter das Optimierungsproblem lösen oder mindestens einen Iterationsschritt ausführen, um sich einer Lösung des Optimierungsproblems anzunähern.
  • In dem optionalen Schritt 205 wird der Optimierungsalgorithmus verwendet, um ein maschinelles Lernsystem derart anzulernen, dass dieses zum Klassifizieren von Bilder und/oder Audiosignalen eingerichtet ist.
  • Denkbar ist, dass das angelernte neuronale Netz nach Beendigung des Schrittes 205 zum Beispiel für einen zumindest teilautonomen Roboter verwendet wird. 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 maschinellen Lernsystem verbunden sein. Das maschinelle Lernsystem ermittelt abhängig von einer bereitgestellten Eingangsgröße, z.B. bereitgestellt von der Erfassungseinheit, und in Abhängigkeit der Parametrisierung 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.

Claims (11)

  1. Vorrichtung zum Einstellen eines Hyperparameters h eines Computerprogramms, wobei das Computerprogramm mittels eines Optimierungsalgorithmus (11) ein Optimierungsproblem löst und der Optimierungsalgorithmus (11) anhand des Hyperparameters h parametrisiert ist, wobei die Vorrichtung ein maschinenenlesbares Speichermedium umfasst, auf dem Befehle gespeichert sind, die beim Ausführen durch einen Computer bewirken, dass der Computer ein Verfahren mit folgenden Schritten ausführt: wobei abhängig von einem erfassten Zustand (engl. state) des Computerprogramms mittels einer vorgegebenen Strategie (engl. policy, Π) ein Wert (engl. action, a) vorgeschlagen wird, wobei ein Wert v des Hyperparameters h abhängig von dem vorgeschlagenen Wert a der vorgegebenen Strategie Π angepasst wird.
  2. Vorrichtung nach Anspruch 1, wobei die bespeicherten Befehle derart ausgebildet sind, dass das Verfahren, dass der Computer ausführt, wenn die Befehle auf dem Computer ausgeführt werden, derart abläuft, dass der Optimierungsalgorithmus (11) iterativ ausgeführt wird, wobei nach Beendigung eines Iterationsschrittes des Optimierungsalgorithmus (11) der Zustand s des Computerprogrammes erfasst wird, wobei zumindest ein nachfolgender Iterationsschritt des Optimierungsalgorithmus (11) ausgeführt wird, nachdem der Wert des Hyperparameters angepasst wurde.
  3. Vorrichtung nach einem der Ansprüche 1 oder 2, wobei die bespeicherten Befehle derart ausgebildet sind, dass das Verfahren, dass der Computer ausführt, wenn die Befehle auf dem Computer ausgeführt werden, derart abläuft, dass die vorgegebene Strategie abhängig von einer Mehrzahl von unterschiedlichen Instanzen des Optimierungsproblems erstellt wurde.
  4. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei die bespeicherten Befehle derart ausgebildet sind, dass das Verfahren, dass der Computer ausführt, wenn die Befehle auf dem Computer ausgeführt werden, derart abläuft, dass derjenige Wert aus einem vorgebbaren Wertebereich Ah des Hyperparameters ermittelt wird, für welchen eine maximale Gesamtbelohnung erzielt wird und als Wert a für den Hyperparameter vorgeschlagen wird, wobei die Gesamtbelohnung abhängig von einem Rollout beginnend bei dem erfassten Zustand s und einem gegebenen Wert aus dem Wertebereich Ah des Hyperparameters unter Verwendung der Strategie ermittelt wird.
  5. Vorrichtung nach Anspruch 4, wobei die bespeicherten Befehle derart ausgebildet sind, dass das Verfahren, dass der Computer ausführt, wenn die Befehle auf dem Computer ausgeführt werden, derart abläuft, dass eine Mehrzahl von Gesamtbelohnungen jeweils für unterschiedliche Instanzen des Optimierungsproblems ermittelt werden und derjenige Wert aus dem vorgebbaren Wertebereich Ah des Hyperparameters h auswählt wird, für welchen die maximale Gesamtbelohnung der unterschiedlichen Instanzen ermittelt wird.
  6. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei die bespeicherten Befehle derart ausgebildet sind, dass das Verfahren, dass der Computer ausführt, wenn die Befehle auf dem Computer ausgeführt werden, derart abläuft, dass der Optimierungsalgorithmus (11) zum Optimieren einer Parametrisierung eines maschinellen Lernsystems verwendet wird.
  7. Vorrichtung zum Erstellen einer Strategie Π, die zum Anpassen eines Hyperparameters h eines Optimierungsalgorithmus (11) verwendet wird, wobei der Optimierungsalgorithmus (11) zum Lösen eines Optimierungsproblems eingerichtet ist, wobei die Vorrichtung ein maschinenenlesbares Speichermedium umfasst, auf dem Befehle gespeichert sind, die beim Ausführen durch einen Computer bewirken, dass der Computer ein Verfahren mit folgenden Schritten ausführt: Initialisieren der Strategie Π, wobei die initialisierte Strategie geeignet ist, abhängig von einem Zustand s des Optimierungsalgorithmus einen Wert a für den Hyperparameter h vorzuschlagen; Erhalten einer Mehrzahl von initialen Zuständen des Optimierungsalgorithmus (11) und einer Mehrzahl von vorgegebenen Belohnungsfunktionen (engl. reward function), die beide jeweils einer Instanzen i einer Mehrzahl von Instanzen I des Optimierungsproblems zugeordnet sind; Optimieren der Strategie hinsichtlich einer Gesamtbelohnung für jede der Instanzen i, wobei die Gesamtbelohnungen abhängig von jeweils einem Rollout beginnend bei dem initialen Zustand und jeweils einem unterschiedlichen Wert aus einem vorgebbaren Wertebereich des Hyperparameters und abhängig von der jeweiligen Belohnungsfunktion, die der jeweiligen Instanz zugeordnet ist, ermittelt wird.
  8. Vorrichtung nach Anspruch 7, wobei die bespeicherten Befehle derart ausgebildet sind, dass das Verfahren, dass der Computer ausführt, wenn die Befehle auf dem Computer ausgeführt werden, derart abläuft, dass die Strategie mittels bestärkenden Lernens (engl. reinforcement learning) erlernt wird.
  9. Vorrichtung nach einem der vorhergehenden Ansprüche 7 oder 8, wobei die bespeicherten Befehle derart ausgebildet sind, dass das Verfahren, dass der Computer ausführt, wenn die Befehle auf dem Computer ausgeführt werden, derart abläuft, dass ein Zustandsraum und ein Wertebereich Ah des Hyperparameters über die Instanzen hinweg gleich sind, wobei unterschiedliche Belohnungsfunktion und/oder unterschiedliche Übergangsfunktion (engl. transition function T) jeweils den unterschiedlichen Instanzen zugeordnet sind, wobei die Gesamtbelohnung zusätzlich abhängig von der jeweiligen Übertragungsfunktion, die der jeweiligen Instanz zugeordnet ist, ermittelt wird.
  10. Vorrichtung nach einem der vorhergehenden Ansprüche 7 bis 9, wobei die bespeicherten Befehle derart ausgebildet sind, dass das Verfahren, dass der Computer ausführt, wenn die Befehle auf dem Computer ausgeführt werden, derart abläuft, dass die Gesamtbelohnung jeweils abhängig von einem Rollout beginnend bei dem initialen Zustand der jeweiligen Instanz schrittweise abhängig von der initialisierten Strategie und der jeweiligen vorgegebenen Belohnungsfunktion und einer Übergangsfunktion ermittelt wird.
  11. Vorrichtung nach einem der vorhergehenden Ansprüche 7 bis 10, wobei die bespeicherten Befehle derart ausgebildet sind, dass das Verfahren, dass der Computer ausführt, wenn die Befehle auf dem Computer ausgeführt werden, derart abläuft, dass folgende weitere Schritte ausgeführt werden: Bereitstellen einer Mehrzahl der unterschiedlichen Instanzen des Optimierungsproblems, für welches der Optimierungsalgorithmus zum Lösen eingerichtet ist; Explorieren des Zustandsraumes jeder der Instanzen, wobei beim Explorieren erkundet wird, gegeben welchem aktuellen Zustand unter Verwendung eines möglichen Wertes des Hyperparameters aus dem vorgebbaren Wertebereich des Hyperparameters welcher nachfolgende Zustand erreicht wird, wobei die Belohnungsfunktion abhängig von der Exploration ermittelt wird.
DE202019103233.2U 2019-06-07 2019-06-07 Vorrichtung zum Einstellen eines Hyperparameters Active DE202019103233U1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE202019103233.2U DE202019103233U1 (de) 2019-06-07 2019-06-07 Vorrichtung zum Einstellen eines Hyperparameters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE202019103233.2U DE202019103233U1 (de) 2019-06-07 2019-06-07 Vorrichtung zum Einstellen eines Hyperparameters

Publications (1)

Publication Number Publication Date
DE202019103233U1 true DE202019103233U1 (de) 2019-06-24

Family

ID=67224595

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202019103233.2U Active DE202019103233U1 (de) 2019-06-07 2019-06-07 Vorrichtung zum Einstellen eines Hyperparameters

Country Status (1)

Country Link
DE (1) DE202019103233U1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022063537A1 (de) * 2020-09-25 2022-03-31 Volkswagen Aktiengesellschaft Verfahren und vorrichtung zum unterstützen einer manöverplanung für ein zumindest teilautomatisiert fahrendes fahrzeug oder einen roboter

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022063537A1 (de) * 2020-09-25 2022-03-31 Volkswagen Aktiengesellschaft Verfahren und vorrichtung zum unterstützen einer manöverplanung für ein zumindest teilautomatisiert fahrendes fahrzeug oder einen roboter

Similar Documents

Publication Publication Date Title
EP3785177B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102019208262A1 (de) Verfahren und Vorrichtung zur Ermittlung von Modellparametern für eine Regelungsstrategie eines technischen Systems mithilfe eines Bayes&#39;schen Optimierungsverfahrens
DE202018102632U1 (de) Vorrichtung zum Erstellen einer Modellfunktion für ein physikalisches System
EP3748551A1 (de) Verfahren, vorrichtung und computerprogramm zum einstellen eines hyperparameters
WO2020187591A1 (de) Verfahren und vorrichtung zum ansteuern eines roboters
DE102019214625A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines künstlichen neuronalen Netzes
DE202019103233U1 (de) Vorrichtung zum Einstellen eines Hyperparameters
EP3785178B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102019210372A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter
DE202019105304U1 (de) Vorrichtung zum Erstellen eines künstlichen neuronalen Netzes
DE202019103862U1 (de) Vorrichtung zum Erstellen einer Strategie für einen Roboter
EP3467722A1 (de) Konfiguration einer kraftfahrzeug-fahrerassistenzvorrichtung mit einem neuronalen netzwerk im laufenden betrieb
EP3650964B1 (de) Verfahren zum steuern oder regeln eines technischen systems
DE102020205962B3 (de) Vorrichtung und Verfahren zum Betreiben eines Prüfstands
WO2020207786A1 (de) Verfahren, vorrichtung und computerprogramm zum betreiben eines tiefen neuronalen netzes
DE202019103046U1 (de) Vorrichtung zur Vorhersage einer Lernkurve
DE102019207911A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Vorhersage einer Lernkurve
DE202019103323U1 (de) Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE202019105256U1 (de) Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102020205964B3 (de) Vorrichtung und Verfahren zum Betreiben eines Prüfstands
DE102018203137A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines zumindest teilautonomen Fahrzeugs
DE202021102084U1 (de) Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
DE202021103700U1 (de) Vorrichtung zum Erzeugen eines künstlichen neuronalen Netzes
DE202021102086U1 (de) Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
DE102021109756A1 (de) Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years