DE202019105282U1 - Vorrichtung zum Optimieren eines System für das maschinelle Lernen - Google Patents

Vorrichtung zum Optimieren eines System für das maschinelle Lernen Download PDF

Info

Publication number
DE202019105282U1
DE202019105282U1 DE202019105282.1U DE202019105282U DE202019105282U1 DE 202019105282 U1 DE202019105282 U1 DE 202019105282U1 DE 202019105282 U DE202019105282 U DE 202019105282U DE 202019105282 U1 DE202019105282 U1 DE 202019105282U1
Authority
DE
Germany
Prior art keywords
configurations
machine learning
individual
configuration
computer
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
DE202019105282.1U
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 DE202019105282.1U priority Critical patent/DE202019105282U1/de
Publication of DE202019105282U1 publication Critical patent/DE202019105282U1/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
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Feedback Control In General (AREA)

Abstract

Vorrichtung, die zum Optimieren einer Konfiguration eines Systems für das maschinelle Lernen gemäß einer Kostenfunktion konfiguriert ist, wobei die Konfiguration Parameter, die eine Architektur des Systems für das maschinelle Lernen kennzeichnen, und Hyperparameter, die ein Trainingsverfahren parametrisieren, umfasst, wobei die Kostenfunktion eine Leistung des Systems für das maschinelle Lernen misst, das gemäß den Parametern konfiguriert und durch das Trainingsverfahren trainiert ist, wobei die Vorrichtung ein maschinenlesbares Speichermedium umfasst, auf dem Anweisungen gespeichert sind, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen, ein Verfahren auszuführen, umfassend die Schritte:a) Bereitstellen eines Budgets b;b) Initialisieren einer ersten vorbestimmten Anzahl von Einzelkonfigurationen (pop), wobei jede Einzelkonfiguration (pop) einen möglichen Satz von Werten der Parameter umfasst;c) Bestimmen der Leistung der Systeme für das maschinelle Lernen, die abhängig von den Parametern jeder Einzelkonfiguration (pop) konstruiert und durch das Trainingsverfahren, das durch die Hyperparameter jeder Einzelkonfiguration parametrisiert ist, an den Trainingsdaten gemäß der Kostenfunktion trainiert werden;d) Starten einer evolutionären Suche, bis das Budget b erschöpft ist, umfassend:I. Generieren von Nachkommenskonfigurationen der Einzelkonfigurationen durch eine Mutation der Einzelkonfigurationen;II. Auswählen einer Mehrzahl von den Nachkommenskonfigurationen durch Crossover,III. Bestimmen der Leistung der Systeme für das maschinelle Lernen, die abhängig von den Parametern jeder ausgewählten Nachkommenskonfiguration konstruiert und durch das Trainingsverfahren, das durch die Hyperparameter jeder ausgewählten Nachkommenskonfiguration parametrisiert ist, an den Trainingsdaten gemäß der Kostenfunktion trainiert werden,IV. Auswählen von leistungsstärksten Nachkommenskonfigurationen und Ersetzen einiger der Einzelkonfigurationen (pop) durch die leistungsstärksten Nachkommenskonfigurationen; undV. Verwerfen einer zweiten vorbestimmten Anzahl von leistungsschwachen Einzelkonfigurationen (pop);e) Neukonfigurieren, umfassend das Verringern der Anzahl der Einzelkonfigurationen um eine dritte vorbestimmte Anzahl und das Erhöhen des Budgets b um einen vorbestimmten Betrag;f) Wiederholen einer Sequenz, die jeweils die obigen Schritte von b) „Initialisieren“ und d) „Evolutionäre Suche“ und e) „Neukonfigurieren“ umfasst, bis ein vordefiniertes maximales Budget erreicht ist; undg) Zurückgeben einer der Einzelkonfigurationen (pop) als optimale Konfiguration.

Description

  • Gebiet der Technik
  • Die vorliegende Erfindung betrifft eine Vorrichtung, die zum Optimieren von Parametern eines Systems für das maschinelle Lernen mittels einer Kombination aus evolutionärer Suche und Bandit-basierter Optimierung konfiguriert ist.
  • Stand der Technik
  • Die Autoren Stefan Falkner, Aaron Klein und Frank Hutter offenbaren in ihrer Veröffentlichung „BOHB: Robust and Efficient Hyperparameter Optimization at Scale“, arXiv preprint arXiv:1807.01774 (2018), ein Verfahren zum Optimieren von Hyperparametern für das Training künstlicher neuronaler Netze, bei der Bayessche Optimierung und Hyperbandoptimierung kombiniert werden.
  • Die Autoren Storn, Rainer und Kenneth Price offenbaren in ihrer Veröffentlichung „Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces", Journal of Global Optimization 11.4 (1997): 341-359, einen evolutionären Suchalgorithmus.
  • Vorteile der vorliegenden Erfindung
  • Obgleich tiefes Lernen ermöglicht hat, High-Level-Repräsentationen aus Rohdaten zu lernen, anstatt sie manuell zu konstruieren, verbleibt dennoch eine wesentliche manuelle Komponente in Engineering-Architekturen und Hyperparametern z. B. für tiefes Lernen. Beispielsweise können Hyperparameter durch Faustregeln oder durch Testen von Sätzen von Hyperparametern festgelegt werden. Hyperparametereinstellungen haben jedoch einen starken Einfluss auf die Leistung von Modellen für das tiefe Lernen, z. B. für Computer Vision. Da Hyperparameter die Konvergenz während des Trainings stark beeinflussen, haben sie während des Trainings eine große Auswirkung und können entscheiden, ob das Training erfolgreich sein wird.
  • Das vorgeschlagene Verfahren führt die Auswahl von Hyperparametern vorteilhafterweise automatisiert durch. Eine derartige automatisierte Optimierung hat einen positiven Effekt z. B. auf eine Klassifikationsgenauigkeit, da durch optimierte Hyperparameter während des Trainings bessere Optima gefunden werden können. Mit dem vorgeschlagenen Verfahren ist es daher möglich, einige letzte Prozentpunkte der Leistung eines Systems für das maschinelle Lernen herauszuholen.
  • Weitere Vorteile des vorgeschlagenen Verfahrens ergeben sich aus seiner Fähigkeit, diskrete Hyperparameter zu optimieren. Daher funktioniert das vorgeschlagene Verfahren gut bei allen Arten der Suche der neuronalen Architektur sowie bei diskreten Kosten-/Verlustfunktionen und auch bei diskreten Optimierungsproblemen.
  • Ferner ist es schwierig, Systeme für das maschinelle Lernen auf einem Computer zu implementieren, der über begrenzte Rechenressourcen verfügt. Das Finden einer optimalen Architektur eines Systems für das maschinelle Lernen ist für eine herausragende Leistung des Systems für das maschinelle Lernen bei begrenzten Ressourcen eines Computers wesentlich. Das vorgeschlagene Verfahren hat den Vorteil, dass unter Verwendung der Hyperparameter, die durch das vorgeschlagene Verfahren bestimmt werden, Architekturen eines Systems für das maschinelle Lernen gefunden und trainiert werden können, die bestmöglich an die begrenzten Rechenressourcen angepasst sind.
  • Offenbarung der vorliegenden Erfindung
  • Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zum Optimieren von Werten von Parametern vorgeschlagen, die einer Kostenfunktion unterliegen. Die Kostenfunktion misst eine Leistung eines Systems, das durch die Parameter gekennzeichnet ist. Das System kann alternativ durch die Parameter parametrisiert werden. Vorteilhafterweise umfasst die Kostenfunktion eine Einschränkung, die eine Bedingung definieren kann, die die Lösung erfüllen muss, z. B. physikalische Grenzen oder Grenzen der Parameter. Das System kann ein physikalisches oder technisches System sein. Die Leistung kann daran gemessen werden, dass ein vordefiniertes Ziel erreicht wird. Das Verfahren umfasst die folgenden Schritte:
    • Definieren eines aktuellen Budgets. Das aktuelle Budget kann ein Zeitbudget, optimalerweise oder zusätzlich ein Energiebudget sein. Diesem Schritt folgt die Initialisierung einer vorbestimmten Anzahl von Einzelkonfigurationen, wobei jede Einzelkonfiguration einen Satz möglicher Werte für die Parameter umfasst. Vorteilhafterweise wird eine Stichprobennahme aus einer Gleichverteilung ausgeführt, um den gesamten Suchraum für die Erstinitialisierung abzudecken. Später können andere Verteilungen vorteilhaft sein, d. h. eine Normalverteilung. Die Normalverteilung kann abhängig von zuvor verwendeten Einzelkonfigurationen bestimmt oder durch diese parametrisiert werden.
  • Nach dem Schritt „Initialisieren“ der Einzelkonfigurationen wird die Leistung jeder Einzelkonfiguration gemäß der Kostenfunktion bestimmt. Anschließend wird eine evolutionäre Suche ausgeführt, bis das aktuelle Budget aufgebraucht ist. Die evolutionäre Suche umfasst die folgenden Schritte:
    • Bestimmen von Nachkommenskonfigurationen der Einzelkonfigurationen durch Mutieren der Einzelkonfigurationen. Unter Mutieren versteht man, dass eine Mehrzahl von Einzelkonfigurationen zu einer Nachkommenskonfiguration zusammengefasst werden. Vorzugsweise werden die Mehrzahl von Einzelkonfigurationen nach dem Zufallsprinzip ausgewählt, insbesondere aus einer gleichen Generation. Vorzugsweise werden die Einzelkonfigurationen gewichtet kombiniert. Vorzugsweise wird überprüft, ob alle Werte der Nachkommenskonfigurationen innerhalb eines vorbestimmten Intervalls nach dem Mutieren liegen. Danach wird eine Mehrzahl von Nachkommenskonfigurationen durch Crossover ausgewählt. Unter Crossover ist zu verstehen, dass eine der Nachkommenskonfigurationen eine der Einzelkonfigurationen ersetzt. Der Ersetzungsschritt kann nach dem Zufallsprinzip ausgeführt werden, z. B. nur wenn eine nach dem Zufallsprinzip gezogene Zahl einer Gleichverteilung größer als eine vorbestimmte Crossover-Rate ist, z. B. 0,5, dann wird die Einzelkonfiguration durch die, insbesondere eine entsprechende, Nachkommenskonfiguration ersetzt, ansonsten erfolgt kein Ersetzen. Anschließend wird die Leistung der ausgewählten Nachkommenskonfigurationen gemäß der Kostenfunktion bestimmt.
  • Anschließend werden die leistungsstärksten Nachkommenskonfigurationen ausgewählt und die ausgewählten leistungsstärksten Nachkommenskonfigurationen ersetzen die, insbesondere entsprechenden, Einzelkonfigurationen. Unter dem Begriff „leistungsstärksten“ kann verstanden werden, dass die Leistung in Bezug auf die bestimmte Leistung gemäß der Kostenfunktion für diese Nachkommenskonfiguration bestimmt wird, z. B. durch Vergleichen der zuvor bestimmten Leistung der Einzelkonfigurationen mit der Leistung der ausgewählten Nachkommenskonfigurationen. Anschließend wird eine vorbestimmte Anzahl von leistungsschwachen Einzelkonfigurationen verworfen.
  • Es wird darauf hingewiesen, dass nach der sukzessiven Ausführung aller Schritte der evolutionären Suche Teile des aktuellen Budgets aufgebraucht sind.
  • Falls die evolutionäre Suche beendet wird, werden die Anzahl von Einzelkonfigurationen und das Budget neu konfiguriert. Das Neukonfigurieren kann das Verringern der Anzahl von Sätzen um eine vorbestimmte Anzahl und das Erhöhen des aktuellen Budgets um einen vorbestimmten Betrag umfassen. Nach dem Schritt des Neukonfigurierens werden wenigstens die Schritte „Initialisieren“ und „Evolutionäre Suche“ und „Neukonfigurieren“ nacheinander wiederholt, bis ein vordefiniertes maximales Budget erreicht ist.
  • Falls das maximale Budget erreicht ist, wird eine der Einzelkonfigurationen als eine optimale Konfiguration zurückgegeben. Beispielsweise wird die optimale Konfiguration aus gespeicherten Einzelkonfigurationen zurückgegeben, die nach jeder ausgeführten evolutionären Suche gespeichert werden, oder die optimale Konfiguration wird aus einer der Einzelkonfigurationen der zuletzt ausgeführten evolutionären Suche zurückgegeben. Vorzugsweise wird die optimale Einzelkonfiguration abhängig von der Leistung der (gespeicherten) Einzelkonfigurationen zurückgegeben.
  • Das vorgeschlagene Verfahren hat den Vorteil, dass es aufgrund der Kombination aus Verringerung der Anzahl von Einzelkonfigurationen und Erhöhung des Budgets verbesserte Konvergenzeigenschaften aufweist. Dies ist vorteilhaft, da die Interaktionen mit dem System typischerweise teuer sind.
  • Es wird vorgeschlagen, dass die Initialisierung der Werte der Sätze beim Wiederholen des Schritts „Initialisieren“ abhängig von den Werten der Einzelkonfigurationen nach dem Verwerfen der leistungsschwachen Einzelkonfigurationen ausgeführt wird. Vorzugsweise wird die vorbestimmte Anzahl von Individuen abhängig vom erhöhten Budget exponentiell verringert.
  • Es wird ferner vorgeschlagen, dass die vorbestimmte Anzahl von verworfenen leistungsschwachen Einzelkonfigurationen abhängig vom erhöhten Budget bestimmt wird. Dies hat den Vorteil, dass die Suche nur für relevante Einzelkonfigurationen weitergeführt wird, was die Konvergenz weiter verbessert.
  • Es wird ferner vorgeschlagen, dass das System ein System für das maschinelle Lernen ist, z. B. ein künstliches neuronales Netz.
  • Es wird vorgeschlagen, dass das Verfahren des ersten Aspekts zur Optimierung einer Konfiguration des Systems für das maschinelle Lernen verwendet wird. Die Konfiguration umfasst Parameter, die eine Architektur des Systems für das maschinelle Lernen kennzeichnen, und Hyperparameter, die ein Trainingsverfahren parametrisieren. Die Konfiguration kann Parameter der Architektur des Systems für das maschinelle Lernen und/oder Parameter, z. B. Gewichte, des Systems für das maschinelle Lernen kennzeichnen. Die Architektur kann die Sequenz von Schichten und/oder Aktivierungsfunktionen des Systems für das maschinelle Lernen kennzeichnen. Die Verwendung dieses Verfahrens für Systeme für das maschinelle Lernen hat den Vorteil, dass eine optimale Konfiguration des Systems für das maschinelle Lernen gefunden werden kann.
  • Vorzugsweise umfasst das System für das maschinelle Lernen verborgene Schichten, die miteinander verbunden sind, indem ein Ausgabewert als Eingabewert für wenigstens eine der verborgenen Schichten bereitgestellt wird. Die Eingabeschicht kann mit wenigstens einer der verborgenen Schichten verbunden sein. Die Ausgabeschicht empfängt wenigstens einen Ausgabewert der verborgenen Schichten und/oder die Ausgabe der Eingabeschicht als Eingabe. Das System für das maschinelle Lernen kann computerimplementiert sein, z. B. als (tiefes) neuronales Netz oder als konvolutionelles neuronales Netz oder als rekurrentes neuronales Netz oder als CapsuleNetwork oder Supportvektormaschine oder als Gaußscher Prozess.
  • Jeder Schritt zum Bestimmen der Leistung jeder Einzelkonfiguration wird ausgeführt, indem die Leistung des Systems für das maschinelle Lernen bestimmt wird, das gemäß den Parametern konstruiert ist und durch das Trainingsverfahren an Trainingsdaten trainiert wird. Daher kann gesagt werden, dass das System für das maschinelle Lernen abhängig von den Parametern konstruiert und anschließend durch das Trainingsverfahren trainiert wird, das dazu konfiguriert ist, das System für das maschinelle Lernen abhängig von Trainingsdaten zu trainieren, wobei die Kostenfunktion die Leistung des trainierten Systems zum maschinellen Lernen an den Trainingsdaten misst.
  • Es wird ferner vorgeschlagen, dass wenigstens Maximalwerte oder Intervalle der Parameter abhängig von einer Ressource (z. B. Speicher, Rechenleistung, Energiebudget) eines Computers, auf dem das System für das maschinelle Lernen ausgeführt werden soll, oder von physikalischen Eigenschaften von Systemen für das maschinelle Lernen ausgewählt werden, z. B. Zeitverzögerung von der Eingabe bis zur Ausgabe oder Gesamtenergieverbrauch für eine Eingabe. Diese Maximalwerte oder Intervalle werden beim Initialisieren der Einzelkonfigurationen berücksichtigt. Optional kann die Auswahl abhängig von der Ressource in der Kostenfunktion durch eine Einschränkung berücksichtigt werden. Dies hat den Vorteil, dass für gegebene Ressourcen oder Hardwarebeschränkungen das leistungsfähigste System für das maschinelle Lernen konstruiert wird.
  • Ferner wird vorgeschlagen, dass das System für das maschinelle Lernen abhängig von den Parametern konstruiert und anschließend trainiert wird, wobei die Kostenfunktion die Leistung des, insbesondere trainierten, Systems für das maschinelle Lernen an Trainingsdaten misst. Dann kann die Kostenfunktion eine Verlustfunktion des trainierten Systems für das maschinelle Lernen sein, das an einem Trainingsdatensatz oder einem Validierungsdatensatz trainiert wird, wobei die Verlustfunktion die Leistung des trainierten Systems für das maschinelle Lernen kennzeichnet. Die Leistung kann eine vollständige Klassifikationsgenauigkeit der Trainingsdaten sein.
  • Es wird ferner vorgeschlagen, dass die Kostenfunktion eine Verlustfunktion ist, die einen Verlust des Systems für das maschinelle Lernen an Trainingsdaten misst, wobei wenigstens einer der Parameter einen Parameter der Verlustfunktion kennzeichnet, z. B. eine Gewichtung einer l2-Regularisierung der Verlustfunktion. Dies hat den Vorteil, dass dank des vorgeschlagenen Verfahrens ein optimaler Parameter der Verlustfunktion bestimmt werden kann, selbst wenn der Parameter diskret ist.
  • Es wird ferner vorgeschlagen, dass wenigstens einer der Parameter ein Hyperparameter, z. B. Lernrate und/oder Batchgröße, eines Trainingsverfahrens ist, das für das Training des Systems für das maschinelle Lernen konfiguriert ist. Das Trainingsverfahren kann ein gradientenabstiegsbasiertes Trainingsverfahren sein. Vorzugsweise ist das System für das maschinelle Lernen als Klassifikator, insbesondere als Bildklassifikator, trainiert, wobei die Eingaben Sensorwerte von einer Kamera oder Videokamera sind.
  • Das System für das maschinelle Lernen kann ein Klassifikator sein. Das System für das maschinelle Lernen, insbesondere der Klassifikator, ist konfiguriert, um einen Ausgabewert zu bestimmen, der eine Klassifikation des Eingabewerts in wenigstens eine von mehreren Klassen kennzeichnet. In einer anderen Ausführungsform ist das System für das maschinelle Lernen konfiguriert, um eine Segmentierung oder eine Regression oder Objektdetektion auszuführen.
  • Der Begriff „Klassifikation“ kann allgemein verstanden werden. Eine Klassifikation kann sein, dass das System für das maschinelle Lernen jedem Eingabewert des Systems für das maschinelle Lernen wenigstens eine Klasse zuweist, wobei die Klasse eine Eigenschaft und/oder ein Merkmal und/oder ein Objekt des Eingabewerts kennzeichnet. Als eine besondere Art der Klassifikation kann die Segmentierung betrachtet werden, wobei zur Segmentierung wenigstens einige der Elemente des Eingabewerts wenigstens einer Klasse zugewiesen werden; auch kann eine semantische Region wenigstens einer der mehreren Klassen zugewiesen werden. Bildunterschriften und Objekterkennung/-detektion können auch als eine besondere Art der Klassifikation betrachtet werden. Der Begriff „Regression“ bedeutet, dass der Eingabewert des Systems für das maschinelle Lernen vom System für das maschinelle Lernen in geeigneter Weise fortgeführt werden soll.
  • Es wird ferner vorgeschlagen, dass die Parameter Hyperparameter eines weiteren Optimierers kennzeichnen, wobei der weitere Optimierer konfiguriert ist, um eine Architektur des Systems für das maschinelle Lernen zu optimieren. Der weitere Optimierer kann konfiguriert sein, um eine Architektur des Systems für das maschinelle Lernen abhängig von einem Satz von Trainingsdaten zu optimieren. Der Vorteil ist, dass dank des vorgeschlagenen Verfahrens auch diskrete Hyperparameter optimiert werden können.
  • Es wird ferner vorgeschlagen, dass das Trainingsverfahren ein Verstärkungslernverfahren ist, wobei eine Policy zum Steuern eines Roboters trainiert wird. Es wird vorgeschlagen, dass die Policy abhängig von einem erfassten Eingabesignal einen Steuerwert zum Steuern des Roboters bestimmt. Der Roboter wird abhängig von der Ausgabe der Policy gesteuert.
  • Es wird vorgeschlagen, das System für das maschinelle Lernen für ein System für das maschinelle Lernen zu nutzen. Das System für das maschinelle Lernen kann eine intelligente Maschine wie ein Roboter sein, die lernt, eine vordefinierte Aufgabe zu lösen, indem sie beispielsweise ihre Umgebung untersucht und aus dem Feedback ihrer Umgebung oder aus dem gegebenen Feedback lernt.
  • In einem weiteren Aspekt der Erfindung kann das System für das maschinelle Lernen, das basierend auf dem Verfahren des ersten Aspekts der Erfindung optimiert oder trainiert ist, den bestimmten Ausgabewert des Systems für das maschinelle Lernen zum Bestimmen eines Steuersignals oder Steuerbefehls verwenden. Mit dem Steuersignal oder dem Steuerbefehl kann der physikalische Aktuator gesteuert werden. Der physikalische Aktuator kann entsprechend dem Steuersignal oder dem Steuerbefehl gesteuert werden. In einer anderen Ausführungsform steuert eine Steuereinheit den physikalischen Aktuator. Die Steuereinheit kann konfiguriert sein, um das Steuersignal oder den Steuerbefehl abhängig von der Ausgabe des Systems für das maschinelle Lernen zu bestimmen. Es ist auch möglich, dass die Steuereinheit den physikalischen Aktuator abhängig vom Ausgabewert des Systems für das maschinelle Lernen direkt oder indirekt steuert.
  • Die Eingabewerte des Systems für das maschinelle Lernen können vom Sensor empfangen werden oder können extern über das Internet oder ein anderes Datenübertragungssystem oder Kommunikationssystem empfangen werden.
  • In einem weiteren Aspekt der vorliegenden Erfindung wird ein Computerprogramm vorgeschlagen, das konfiguriert ist, um einen der zuvor erwähnten Aspekte der vorliegenden Erfindung auszuführen. Das Computerprogramm umfasst Befehle, die - wenn sie auf einem Computer ausgeführt werden - den Computer veranlassen, die Verfahren mit all ihren Schritten der verschiedenen Aspekte der vorliegenden Erfindung auszuführen. Ferner wird ein computerlesbarer Speicher vorgeschlagen, auf dem das Computerprogramm gespeichert ist. Ferner wird eine Vorrichtung vorgeschlagen, die konfiguriert ist, um die Verfahren der vorliegenden Erfindung auszuführen.
  • Ausführungsformen der oben erwähnten Aspekte der vorliegenden Erfindung werden in der folgenden Beschreibung unter Bezugnahme auf die folgenden Figuren beschrieben:
  • Figurenliste
    • 1 zeigt eine schematische Darstellung zweier Pseudocodes;
    • 2 zeigt eine schematische Darstellung einer Vorrichtung zum Ausführen dieser Pseudocodes.
  • 1 zeigt schematisch einen ersten Pseudocode (10) zum Optimieren von Werten von Parametern eines Systems, d. h. eines Systems für das maschinelle Lernen, und einen zweiten Pseudocode (11) einer evolutionären Suche.
  • Der zweite Pseudocode (11) ist ein evolutionärer Suchalgorithmus. Vorzugsweise ist der evolutionäre Suchalgorithmus ein Differential-Evolution(DE)-Suchalgorithmus. Dieser evolutionäre Suchalgorithmus basiert hauptsächlich auf vier Schritten (Initialisierung, Mutation, Crossover und Auswahl), die im Folgenden beschrieben werden.
  • Initialisierung. DE ist ein populationsbasierter meta-heuristischer Algorithmus, der aus einer Population von NP-Individuen besteht. Die Individuen der Population werden im Folgenden auch Konfigurationen genannt. Jedes Individuum wird als Lösung betrachtet und als Vektor von D-dimensionalen Entscheidungsvariablen ausgedrückt, die im Suchbereich gleichförmig nach dem Zufallsprinzip initialisiert werden. Die Dimension D entspricht der Anzahl der zu optimierenden Parameter. Dieser Schritt wird in Zeile 2 des zweiten Pseudocodes (11) ausgeführt. In der nachfolgenden Zeile 3 wird die initialisierte Population popg von der Kostenfunktion „evaluate_population ()“ ausgewertet.
  • In Zeile 5 des Pseudocodes (11) wird eine „while“-Schleife ausgeführt, bis ein gegebenes Kriterium FE_max erreicht ist. Eine Iteration i der „while“-Schleife kann als Generation gi bezeichnet werden.
  • Der Schritt „Mutation“ wird in Zeile 6 des zweiten Pseudocodes (11) ausgeführt.
  • Mutation. Ein neuer Nachkomme wird unter Verwendung einer Mutation für jedes Individuum in der Population durch eine sogenannte Mutation oder Mutationsstrategie erzeugt. Für die klassische DE werden drei Zufallsindividuen Xr1 ; Xr2 ; Xr3 ausgewählt, um einen neuen Vektor Vi wie folgt zu erzeugen: V i ; g = X r 1 ; g + F ( X r 2 ; g + X r 3 ; g )
    Figure DE202019105282U1_0001
    wobei Vi; g der Mutantenvektor ist, der für jedes einzelne Xi; g in der Population erzeugt wird. F ist ein Skalierungsfaktor, der normalerweise Werte innerhalb des Bereichs [0,1] annimmt, und r1; r2; r3 sind die Indizes verschiedener nach dem Zufallsprinzip ausgewählter Individuen. Es wird darauf hingewiesen, dass es auch verschiedene Wege gibt, um den Mutantenvektor zu bestimmen, z. B. können mehr als drei Zufallsindividuen verwendet werden und/oder die Zufallsvariablen können durch andere mathematische Operationen kombiniert werden.
  • In einer anderen Ausführungsform können die Zufallsindividuen Xr1 ; Xr2 ; Xr3 abhängig von zuvor bestimmten Leistungen der Individuen ausgewählt werden. Beispielsweise kann eine Mutationsstrategie sein, dass eine Mehrzahl von Individuen nur mit guter Leistung kombiniert werden.
  • Nachdem der Schritt „Mutation“ ausgeführt wurde, wird ein Crossover ausgeführt; siehe Zeile 7 des zweiten Pseudocodes (11).
  • Crossover. Nach der Mutation wird eine Crossover-Operation auf jeden Zielvektor Xi; g und seinen entsprechenden Mutantenvektor Vi; g angewendet, um einen Versuchsvektor Ui; g zu generieren. Vorzugsweise wird ein einfaches binomiales Crossover verwendet, das den Wert für jede Dimension i von Vi; g mit der Wahrscheinlichkeit CR und von Xi; g auswählt. Das Crossover kann wie folgt bestimmt werden: u i , g i = { v i , g i f a l l s   ( C R < r a n d )   o d e r   ( j = j r a n d ) x i , g i                               a n d e r n f a l l s
    Figure DE202019105282U1_0002
  • Die Crossover-Rate CR ist reellwertig und kann im Bereich [0, 1] angegeben werden. Diese Variable steuert den Teil der Parameterwerte, die aus dem Mutantenvektor kopiert werden. jrand ist eine Zufallsganzzahl im Bereich [1, D]. Der j-te Parameterwert kann vom Mutantenvektor v i , g i
    Figure DE202019105282U1_0003
    an die entsprechende Position im Versuchsvektor u i ,g i
    Figure DE202019105282U1_0004
    kopiert werden, falls eine Zufallszahl rand größer als CR ist. Falls die Bedingung nicht erfüllt ist, wird die j-te Position aus dem Zielvektor x i ,g i
    Figure DE202019105282U1_0005
    kopiert.
  • Nach dem Bestimmen des Crossovers in Zeile 7 wird eine Auswertung des Versuchsvektors Ui; g bestimmt. Anschließend wird eine Auswahl ausgeführt; vgl. Zeile 9 des zweiten Pseudocodes (11).
  • Auswahl. Nach dem Generieren des Versuchsvektors Vi; g berechnet DE seinen Funktionswert f(Ui; g), wobei Vi; g beibehalten wird, wenn es wenigstens so gut wie Xi; g arbeitet, und andernfalls zu Xi; g zurückgekehrt wird.
  • Die Schritte in der „while“-Schleife von Zeile 5 bis Zeile 11 werden iteriert, bis das Kriterium FE_max erreicht ist. Der Vorteil dieser Schritte ist, dass diese evolutionäre Suche zu hohen Dimensionen skaliert und für diskrete Dimensionen sehr gut funktioniert.
  • Aus dem Stand der Technik ist Hyperband (HB) bekannt. HB ist eine beliebte Bandit-Strategie, bei der Ressourcen einem Satz von Zufallskonfigurationen, auch bekannt als Individuen der Population, dynamisch zugewiesen werden und die sukzessive Halbierung verwendet wird, um zu entscheiden, welchen Konfigurationen mehr Ressourcen zugewiesen werden sollen. Dieses Verfahren basiert auf Multi-Fidelity, bei der ein kleines Budget b (z. B. Gesamtzahl der Epochen oder Zeit) zunächst einer großen Anzahl von Zufallskonfigurationen N zugewiesen wird. Dann setzt HB die sukzessive Halbierung ein, um die Konfigurationen mit schlechter Leistung zu verwerfen. Bei jeder Iteration der sukzessiven Halbierung wird die Anzahl von fortgesetzten Konfigurationen um einen Faktor η verringert und das zugewiesene Budget für jede Konfiguration darum erhöht.
  • Der erste Pseudocode (10) zeigt schematisch das vorgeschlagene Verfahren, das als „Evolutionary-based Hyperband“ (DEHB) bezeichnet wird. DEHB strebt an, die Eigenschaften von DE und HB zu kombinieren. Auf hoher Ebene wählt es Budgets wie HB aus und verwendet DE, um innerhalb eines Budgets zu optimieren.
  • Zu Beginn jeder HB-Iteration (Zeile 2 des ersten Pseudoalgorithmus (10)) wird eine Anzahl von N Auswertungen basierend auf HB bestimmt und N Konfigurationen werden zufällig generiert. Jede Konfiguration kann als ein Individuum, insbesondere als Satz von Parameterwerten, betrachtet werden und wird in einer Population, die als pop bezeichnet wird, mit der Größe NP = N gespeichert, vgl. Zeile 5 des ersten Pseudoalgorithmus (10).
  • Dann wird die sukzessive Halbierung unter Verwendung von pop ausgeführt, wobei für jede Iteration der sukzessiven Halbierung eine evolutionäre Suche ausgeführt wird. Das Ziel ist es, pop unter Verwendung evolutionärer Suchoperationen zu entwickeln, um unter Verwendung der evolutionären Suche eine Stichprobe einer neuen Population mit verbesserten Konfigurationen zu nehmen. Vorzugsweise ist die evolutionäre Suche DE.
  • In Zeile 8 des ersten Pseudocodes (10) wird die evolutionäre Suche als eine „for“-Schleife ausgeführt. Es kann erwogen werden, dass die Anfangspopulation für die erste Iteration der „for“-Schleife als pop1 bezeichnet wird, die die Population mit der größten Größe NP ist. Der Vorteil einer großen Population zu Beginn der evolutionären Suche ist, so viele Regionen des Suchraums wie möglich zu erkunden. Bei der ersten Iteration wird das kleinste Budget bmin verwendet, um die Anfangspopulation auszuwerten. In Zeile 11 wird der evolutionäre Suchalgorithmus aufgerufen. Hier wird der zweite Pseudoalgorithmus (11) mit wenigstens den grundlegenden Operationen der evolutionären Suche ausgeführt, die sind: Mutation, Crossover und Auswahl, die helfen, um die evolutionäre Suche in die vielversprechende Region zu lenken.
  • In den nachfolgenden Zeilen 12 bis 16 wird die zurückgegebene Population popi neu angeordnet. Hier werden nur die k leistungsstärksten Individuen der Population popi für die nächste Iteration der „for“-Schleife wiederverwendet. Dies bedeutet, dass nach der Durchführung der evolutionären Suche für eine Mehrzahl von Generationen g (vgl. Zeile 11) nur die leistungsstärksten Konfigurationen zur nächsten Iteration des Hyperbands weitergeleitet werden. Daher wird die Populationsgröße reduziert und die leistungsstärksten Individuen werden als die neue Population für eine neue evolutionäre Suche unter Verwendung eines größeren Budgets verwendet (bi = bi ηi). Bei der letzten Iteration von HB weist die Population eine geringe Größe auf, und daher konzentrieren die evolutionären Operationen ihre Suche auf die bestgefundenen Konfigurationen, um eine stärkere Ausbeutung unter Verwendung des vollen großen Budgets bmax durchzuführen.
  • Jede zurückgegebene Population nach der „for“-Schleife in Zeile 8 bis 17 kann gespeichert werden. Nach dem Ausführen aller Iterationen über die „for“-Schleife in Zeile 2 kann die Population mit der höchsten Leistung als eine optimale Konfiguration zurückgegeben werden.
  • In einer weiteren Ausführungsform kann die Stichprobennahme beim Wiederholen der „for“-Schleife in Zeile 2 zur Stichprobennahme einer neuen Population pops+1 abhängig von den zurückgegebenen Populationen pops, pops-1, ..., pops-m, die die k leistungsstärksten Individuen umfassen, ausgeführt werden. In einer weiteren Ausführungsform kann die neue Population abhängig von früheren Populationen durch eine Bayessche Optimierung (BO) bestimmt werden. BO kann in Zeile 5 zur Stichprobennahme bei Konfigurationen mit einer hohen Unsicherheit und/oder einer hohen erwarteten Leistung oder erwarteten Verbesserung verwendet werden. Weitere Details sind in der zitierten Veröffentlichung „BOHB: Robust and Efficient Hyperparameter Optimization at Scale“, Abschnitt 3.1, insbesondere Gleichungen (1) und (2), zu finden.
  • In einer weiteren Ausführungsform umfasst das Individuum wenigstens einen Wert eines Parameters eines technischen Systems. Das System kann ein System für das maschinelle Lernen sein. Die Parameter können eine Architektur des Systems für das maschinelle Lernen und/oder Hyperparameter eines Trainingsverfahrens zum Trainieren des Systems für das maschinelle Lernen kennzeichnen. DEHB kann verwendet werden, um Werte der Parameter während des Trainings des Systems für das maschinelle Lernen zu optimieren.
  • Dieses trainierte System für das maschinelle Lernen kann auf verschiedene Arten genutzt werden, wie im Folgenden offenbart wird.
  • In einer ersten Ausführungsform kann das trainierte System für das maschinelle Lernen für einen Aktuator in seiner Umgebung verwendet werden. Der Aktuator interagiert mit einem Aktuatorsteuersystem. Der Aktuator und seine Umgebung werden gemeinsam als Aktuatorsystem bezeichnet. In vorzugsweise gleichmäßigen Abständen erfasst ein Sensor einen Zustand des Aktuatorsystems. Der Sensor kann mehrere Sensoren umfassen. Ein Ausgangssignal S des Sensors (oder, falls der Sensor eine Mehrzahl von Sensoren umfasst, ein Ausgangssignal S für jeden der Sensoren), das den erfassten Zustand codiert, wird an das Aktuatorsteuersystem gesendet. In einer anderen Ausführungsform kann das Aktuatorsteuersystem fiktive Sensorwerte zum Testen des Aktuatorsteuersystems empfangen.
  • Dadurch empfängt das Aktuatorsteuersystem einen Strom von Sensorsignalen S. Es werden dann eine Reihe von Aktuatorsteuerbefehlen A abhängig vom Strom von Sensorsignalen S berechnet, die dann an den Aktuator gesendet werden.
  • Das Aktuatorsteuersystem empfängt den Strom von Sensorsignalen S des Sensors in einer optionalen Empfangseinheit. Die Empfangseinheit transformiert die Sensorsignale S in Eingangssignale x. Alternativ kann bei fehlendem Empfang jedes Sensorsignal S direkt als Eingangssignal x genommen werden. Das Eingangssignal x kann beispielsweise als Ausschnitt aus dem Sensorsignal S angegeben werden. Alternativ kann das Sensorsignal S verarbeitet werden, um das Eingangssignal x zu ergeben. Das Eingangssignal x kann beispielsweise Bilder oder Frames von Videoaufzeichnungen umfassen. Mit anderen Worten wird das Eingangssignal x gemäß dem Sensorsignal S bereitgestellt.
  • Das Eingangssignal x wird dann an ein trainiertes System für das maschinelle Lernen weitergeleitet, das beispielsweise vom neuronalen Netz vorgegeben werden kann.
  • Das System für das maschinelle Lernen bestimmt die Ausgangssignale y aus den Eingangssignalen x. Die Ausgangssignale y werden an eine Umwandlungseinheit gesendet, die die Ausgangssignale y in Steuersignale oder Steuerbefehle A umwandelt. Die Aktuatorsteuerbefehle A werden dann zum Aktuator gesendet, um den Aktuator entsprechend zu steuern.
  • Der Aktuator empfängt die Aktuatorsteuerbefehle A, wird entsprechend gesteuert und führt eine Aktion aus, die den Aktuatorsteuerbefehlen A entspricht. Der Aktuator kann eine Steuerlogik umfassen, die den Aktuatorsteuerbefehl A in einen weiteren Steuerbefehl transformiert, der dann zur Steuerung des Aktuators verwendet wird.
  • In weiteren Ausführungsformen kann das Aktuatorsteuersystem einen Sensor umfassen. Der Sensor kann ein Kamera-, Radar- oder Lidar-Sensor sein. Die Sensoren sind nicht darauf beschränkt, andere denkbare Sensoren wie Audiosensoren sind ebenfalls anwendbar. In noch weiteren Ausführungsformen kann das Aktuatorsteuersystem alternativ oder zusätzlich einen Aktuator umfassen.
  • Alternativ oder zusätzlich zum Aktuator kann die Ausführungsform eine Anzeigeeinheit umfassen, die auch gemäß den Aktuatorsteuerbefehlen A gesteuert werden kann. Alternativ gehört die Anzeigeeinheit zu einem Messsystem, wobei das System für das maschinelle Lernen verwendet wird, um einen vom Eingabewert abhängigen Messwert zu bestimmen.
  • In allen obigen Ausführungsformen kann das System für das maschinelle Lernen einen Klassifikator umfassen, der konfiguriert ist, um das Eingangssignal x zu klassifizieren, das zu einer von mehreren vordefinierten Klassen gehört. In einer anderen Ausführungsform ist das System für das maschinelle Lernen konfiguriert, um eine Bildregion zu klassifizieren, oder ist konfiguriert, um ein Bild pixelweise zu klassifizieren.
  • Zusätzlich oder alternativ wird das Ausgangssignal y oder das Steuersignal oder der Steuerbefehl A auf einer Anzeigeeinheit angezeigt.
  • In einer weiteren Ausführungsform wird das Aktuatorsteuersystem verwendet, um einen wenigstens teilweise autonomen Roboter, z. B. ein wenigstens teilweise autonomes Fahrzeug, abhängig vom Ausgabewert des Systems für das maschinelle Lernen zu steuern.
  • Der Sensor kann einen oder mehrere Videosensoren und/oder einen oder mehrere Radarsensoren und/oder einen oder mehrere Ultraschallsensoren und/oder einen oder mehrere LiDAR-Sensoren und/oder einen oder mehrere Positionssensoren (wie z. B. GPS) umfassen. Einige oder alle dieser Sensoren sind vorzugsweise, aber nicht notwendigerweise, im Fahrzeug integriert. Alternativ oder zusätzlich kann der Sensor ein Informationssystem zum Bestimmen eines Zustands des Aktuatorsystems umfassen. Ein Beispiel für ein derartiges Informationssystem ist ein Wetterinformationssystem, das einen gegenwärtigen oder zukünftigen Zustand des Wetters in der Umgebung bestimmt. Weitere Informationen können über das Kommunikationssystem oder über das Internet empfangen werden.
  • Beispielsweise kann das System für das maschinelle Lernen unter Verwendung des Eingangssignals x Objekte in der Nähe des wenigstens teilweise autonomen Roboters detektieren. Das Ausgangssignal y kann Informationen umfassen, die Objekte kennzeichnen, die in der Nähe des wenigstens teilweise autonomen Roboters angeordnet sind. Der Steuerbefehl A kann dann gemäß diesen Informationen bestimmt werden, um beispielsweise Kollisionen mit den detektierten Objekten zu vermeiden.
  • Der Aktuator, der vorzugsweise im Fahrzeug integriert ist, kann durch eine Bremse, ein Antriebssystem, einen Motor, einen Antriebsstrang oder eine Lenkung des Fahrzeugs gegeben sein. Die Aktuatorsteuerbefehle A können derart bestimmt werden, dass der Aktuator (oder die Aktuatoren) gesteuert werden, so dass das Fahrzeug Kollisionen mit den detektierten Objekten vermeidet. Detektierte Objekte können auch danach klassifiziert werden, was sie nach Einschätzung des Systems für das maschinelle Lernen am wahrscheinlichsten sind, z. B. Fußgänger oder Bäume, und die Aktuatorsteuerbefehle A können abhängig von der Klassifikation bestimmt werden.
  • In weiteren Ausführungsformen kann der wenigstens teilweise autonome Roboter durch einen anderen mobilen Roboter (nicht gezeigt) gegeben sein, der sich beispielsweise durch Fliegen, Schwimmen, Tauchen oder Treten bewegen kann. Der mobile Roboter kann unter anderem ein wenigstens teilweise autonomer Rasenmäher oder ein wenigstens teilweise autonomer Reinigungsroboter sein. In allen obigen Ausführungsformen kann die Aktuatorbefehlssteuerung A derart bestimmt werden, dass die Antriebseinheit und/oder die Lenkung und/oder die Bremse des mobilen Roboters gesteuert werden, so dass der mobile Roboter Kollisionen mit den identifizierten Objekten vermeiden kann.
  • In einer weiteren Ausführungsform kann der wenigstens teilweise autonome Roboter durch einen Gartenroboter (nicht gezeigt) gegeben sein, der einen Sensor, vorzugsweise einen optischen Sensor, verwendet, um einen Zustand von Pflanzen in der Umgebung zu bestimmen. Der Aktuator kann eine Düse zum Sprühen von Chemikalien sein. Abhängig von einer identifizierten Art und/oder einem identifizierten Zustand der Pflanzen kann ein Aktuatorsteuerbefehl A bestimmt werden, um den Aktuator zu veranlassen, die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien zu besprühen.
  • In noch weiteren Ausführungsformen kann der wenigstens teilweise autonome Roboter durch ein Haushaltsgerät (nicht gezeigt) gegeben sein, wie z. B. eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder einen Geschirrspüler. Ein Sensor, z. B. ein optischer Sensor, kann einen Zustand eines Objekts detektieren, der vom Haushaltsgerät verarbeitet werden soll. Beispielsweise kann der Sensor im Fall, dass das Haushaltsgerät eine Waschmaschine ist, einen Zustand der Wäsche in der Waschmaschine detektieren. Das Aktuatorsteuersignal A kann dann abhängig von einem detektierten Material der Wäsche bestimmt werden.
  • In einer weiteren Ausführungsform wird das Aktuatorsteuersystem verwendet, um eine Fertigungsmaschine, z. B. ein Stanzwerkzeug, eine Schneideeinrichtung oder einen Kanonenbohrer, eines Fertigungssystems zu steuern, z. B. als Teil einer Produktionslinie. Das Aktuatorsteuersystem steuert einen Aktuator, der wiederum die Fertigungsmaschine abhängig vom Ausgabewert des Systems für das maschinelle Lernen des Aktuatorsteuersystems steuert.
  • Der Sensor kann ein optischer Sensor sein, der Eigenschaften von z. B. einem gefertigten Produkt erfasst. Das System für das maschinelle Lernen kann aus diesen erfassten Eigenschaften einen Zustand des gefertigten Produkts oder das gefertigte Produkt selbst bestimmen. Der Aktuator, der die Fertigungsmaschine steuert, kann dann abhängig vom bestimmten Zustand des gefertigten Produkts für einen nachfolgenden Fertigungsschritt des gefertigten Produkts gesteuert werden, der durch das System für das maschinelle Lernen oder durch das Aktuatorsteuersystem bestimmt wird. Alternativ kann vorgesehen sein, dass der Aktuator während der Fertigung eines nachfolgenden gefertigten Produkts abhängig vom bestimmten Zustand des gefertigten Produkts gesteuert wird.
  • In einer weiteren Ausführungsform wird das Aktuatorsteuersystem zur Steuerung eines automatisierten persönlichen Assistenten verwendet. In einer bevorzugten Ausführungsform kann der Sensor ein akustischer Sensor sein, der Sprachbefehle eines menschlichen Benutzers empfängt. Der Sensor kann auch einen optischen Sensor umfassen, z. B. zum Empfangen von Videobildern einer Benutzergeste.
  • Das Aktuatorsteuersystem bestimmt dann Aktuatorsteuerbefehle A zum Steuern des automatisierten persönlichen Assistenten. Die Aktuatorsteuerbefehle A werden gemäß dem Sensorsignal S des Sensors bestimmt. Das Sensorsignal S wird an das Aktuatorsteuersystem gesendet. Beispielsweise kann ein System für das maschinelle Lernen konfiguriert sein, um z. B. einen Gestenerkennungsalgorithmus ausführen, um eine vom Benutzer ausgeführte Geste zu identifizieren, oder es kann konfiguriert sein, um einen Sprachbefehlserkennungsalgorithmus auszuführen, um einen vom Benutzer geäußerten gesprochenen Befehl zu identifizieren. Das Aktuatorsteuersystem kann dann einen Aktuatorsteuerbefehl A zum Senden an den automatisierten persönlichen Assistenten bestimmen. Anschließend sendet es den Aktuatorsteuerbefehl A an den automatisierten persönlichen Assistenten.
  • Beispielsweise kann der Aktuatorsteuerbefehl A gemäß der identifizierten Benutzergeste oder dem identifizierten Benutzersprachbefehl bestimmt werden, die bzw. der vom System für das maschinelle Lernen erkannt wird. Es kann dann Informationen umfassen, die den automatisierten persönlichen Assistenten veranlassen, Informationen aus einer Datenbank abzurufen und diese abgerufenen Informationen in einer Form auszugeben, die für den Empfang durch den Benutzer geeignet ist.
  • In weiteren Ausführungsformen kann vorgesehen sein, dass anstelle des automatisierten persönlichen Assistenten das Aktuatorsteuersystem ein Haushaltsgerät (nicht gezeigt) steuert, das gemäß der identifizierten Benutzergeste oder dem identifizierten Benutzersprachbefehl gesteuert wird. Das Haushaltsgerät kann eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder ein Geschirrspüler sein.
  • In einer weiteren Ausführungsform steuert das Aktuatorsteuersystem ein Zugangskontrollsystem. Das Zugangskontrollsystem kann so ausgelegt sein, dass es den Zugang physikalisch steuert. Es kann beispielsweise eine Tür umfassen. Der Sensor ist so konfiguriert, dass er eine Szene detektiert, die für die Entscheidung, ob der Zugang gewährt werden soll oder nicht, relevant ist. Es kann sich beispielsweise um einen optischen Sensor zur Bereitstellung von Bild- oder Videodaten handeln, um das Gesicht einer Person zu detektieren. Das System für das maschinelle Lernen kann konfiguriert sein, um diese Bild- oder Videodaten zu interpretieren, z. B. durch Abgleichen von Identitäten mit bekannten Personen, die in einer Datenbank gespeichert sind, wodurch eine Identität der Person bestimmt wird. Das Aktuatorsteuersignal A kann dann abhängig von der Interpretation des Systems für das maschinelle Lernen, z. B. gemäß der bestimmten Identität, bestimmt werden. Der Aktuator kann eine Sperre sein, die abhängig vom Aktuatorsteuersignal A Zugang gewährt oder nicht. Eine nicht physikalische, logische Zugangskontrolle ist ebenfalls möglich. In einer weiteren Ausführungsform steuert das Aktuatorsteuersystem ein Heizsystem, wobei das Aktuatorsteuersystem konfiguriert ist, um das gewünschte Klima des Besitzers abhängig von gemessenen Temperatur- und/oder Feuchtewerten und optional abhängig von einer Wettervorhersage oder der Tageszeit zu bestimmen.
  • In einer weiteren Ausführungsform wird das Aktuatorsteuersystem zur Steuerung eines Bildgebungssystems, beispielsweise eines MRI-Geräts, eines Röntgenbildgebungsgeräts oder eines Ultraschallbildgebungsgeräts, verwendet. Der Sensor kann beispielsweise ein Bildgebungssensor sein, dessen erfasstes Bild vom System für das maschinelle Lernen interpretiert wird. Das Aktuatorsteuersignal A kann dann gemäß dieser Interpretation ausgewählt werden, wodurch die Anzeige gesteuert wird. Beispielsweise kann das System für das maschinelle Lernen eine Region des erfassten Bilds als potenziell anomal interpretieren. In diesem Fall kann bestimmt werden, dass das Aktuatorsteuersignal A bewirkt, dass die Anzeige die Abbildung anzeigt und die potenziell anomale Region hervorhebt.
  • 2 zeigt schematisch eine Vorrichtung (20), die konfiguriert ist, um die Pseudocodes aus 1 auszuführen. Ein Speicher (25) umfasst Befehle, die so konfiguriert sind, dass, wenn sie auf einem Computer (24) ausgeführt werden, der Computer (24) das Verfahren zum Optimieren von Werten von Parametern eines Systems (22) gemäß den Pseudocodes aus 1 ausführt. Das Modul (21) schlägt neue Parameter für das System (22) vor. Das System (22) wird mit den neuen Parametern getestet. Parameter des Systems (22) sind in einem Speicher (23) gespeichert.
  • 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
    • Storn, Rainer und Kenneth Price offenbaren in ihrer Veröffentlichung „Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces“, Journal of Global Optimization 11.4 (1997): 341-359 [0003]

Claims (9)

  1. Vorrichtung, die zum Optimieren einer Konfiguration eines Systems für das maschinelle Lernen gemäß einer Kostenfunktion konfiguriert ist, wobei die Konfiguration Parameter, die eine Architektur des Systems für das maschinelle Lernen kennzeichnen, und Hyperparameter, die ein Trainingsverfahren parametrisieren, umfasst, wobei die Kostenfunktion eine Leistung des Systems für das maschinelle Lernen misst, das gemäß den Parametern konfiguriert und durch das Trainingsverfahren trainiert ist, wobei die Vorrichtung ein maschinenlesbares Speichermedium umfasst, auf dem Anweisungen gespeichert sind, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen, ein Verfahren auszuführen, umfassend die Schritte: a) Bereitstellen eines Budgets b; b) Initialisieren einer ersten vorbestimmten Anzahl von Einzelkonfigurationen (pops), wobei jede Einzelkonfiguration (pops) einen möglichen Satz von Werten der Parameter umfasst; c) Bestimmen der Leistung der Systeme für das maschinelle Lernen, die abhängig von den Parametern jeder Einzelkonfiguration (pops) konstruiert und durch das Trainingsverfahren, das durch die Hyperparameter jeder Einzelkonfiguration parametrisiert ist, an den Trainingsdaten gemäß der Kostenfunktion trainiert werden; d) Starten einer evolutionären Suche, bis das Budget b erschöpft ist, umfassend: I. Generieren von Nachkommenskonfigurationen der Einzelkonfigurationen durch eine Mutation der Einzelkonfigurationen; II. Auswählen einer Mehrzahl von den Nachkommenskonfigurationen durch Crossover, III. Bestimmen der Leistung der Systeme für das maschinelle Lernen, die abhängig von den Parametern jeder ausgewählten Nachkommenskonfiguration konstruiert und durch das Trainingsverfahren, das durch die Hyperparameter jeder ausgewählten Nachkommenskonfiguration parametrisiert ist, an den Trainingsdaten gemäß der Kostenfunktion trainiert werden, IV. Auswählen von leistungsstärksten Nachkommenskonfigurationen und Ersetzen einiger der Einzelkonfigurationen (pops) durch die leistungsstärksten Nachkommenskonfigurationen; und V. Verwerfen einer zweiten vorbestimmten Anzahl von leistungsschwachen Einzelkonfigurationen (pops); e) Neukonfigurieren, umfassend das Verringern der Anzahl der Einzelkonfigurationen um eine dritte vorbestimmte Anzahl und das Erhöhen des Budgets b um einen vorbestimmten Betrag; f) Wiederholen einer Sequenz, die jeweils die obigen Schritte von b) „Initialisieren“ und d) „Evolutionäre Suche“ und e) „Neukonfigurieren“ umfasst, bis ein vordefiniertes maximales Budget erreicht ist; und g) Zurückgeben einer der Einzelkonfigurationen (pops) als optimale Konfiguration.
  2. Vorrichtung nach Anspruch 1, wobei die gespeicherten Anweisungen konfiguriert sind, so dass das Verfahren, das der Computer ausführt, wenn diese Anweisungen auf dem Computer ausgeführt werden, so dass während des Wiederholens der Sequenz für jede Wiederholung des Schritts b) „Initialisieren“ die erste vorbestimmte Anzahl von Einzelkonfigurationen abhängig vom erhöhten Budget verringert wird.
  3. Vorrichtung nach Anspruch 1 oder Anspruch 2, wobei die gespeicherten Anweisungen konfiguriert sind, so dass das Verfahren, das der Computer ausführt, wenn diese Anweisungen auf dem Computer ausgeführt werden, so dass die leistungsstärksten Nachkommenskonfigurationen ausgewählt werden, um diejenigen unter den Nachkommenskonfigurationen zu umfassen, die eine bessere Leistung als wenigstens eine ausgewählte Referenzkonfiguration aufweisen.
  4. Vorrichtung nach Anspruch 3, wobei die gespeicherten Anweisungen konfiguriert sind, so dass das Verfahren, das der Computer ausführt, wenn diese Anweisungen auf dem Computer ausgeführt werden, so dass die Referenzkonfiguration die leistungsbeste, insbesondere diejenigen mit der bestbestimmten Leistung, Konfiguration unter allen generierten Einzelkonfigurationen ist, insbesondere einschließlich der initialisierten Einzelkonfigurationen.
  5. Vorrichtung nach einem der obigen Ansprüche, wobei die gespeicherten Anweisungen konfiguriert sind, so dass das Verfahren, das der Computer ausführt, wenn diese Anweisungen auf dem Computer ausgeführt werden, so dass beim Wiederholen des Schritts b) „Initialisieren“ die Einzelkonfigurationen abhängig von den Einzelkonfigurationen nach dem Verwerfen der durch Schritt d) V. „Verwerfen“ bestimmten leistungsschwachen Einzelkonfigurationen initialisiert werden.
  6. Vorrichtung nach einem der obigen Ansprüche, wobei die gespeicherten Anweisungen konfiguriert sind, so dass das Verfahren, das der Computer ausführt, wenn diese Anweisungen auf dem Computer ausgeführt werden, so dass die dritte vorbestimmte Anzahl abhängig vom erhöhten Budget bestimmt wird.
  7. Vorrichtung nach einem der obigen Ansprüche, wobei die gespeicherten Anweisungen konfiguriert sind, so dass das Verfahren, das der Computer ausführt, wenn diese Anweisungen auf dem Computer ausgeführt werden, so dass jeder mögliche Satz von Parameterwerten abhängig von einer vorbestimmten verfügbaren Ressource eines Zielcomputers, für den das System für das maschinelle Lernen optimiert ist, und/oder abhängig von Ressourcen, die vom optimierten System für das maschinelle Lernen benötigt werden, wenn es auf dem Zielcomputer ausgeführt wird, bestimmt wird.
  8. Vorrichtung nach einem der obigen Ansprüche, wobei die gespeicherten Anweisungen konfiguriert sind, so dass das Verfahren, das der Computer ausführt, wenn diese Anweisungen auf dem Computer ausgeführt werden, so dass die Kostenfunktion eine Verlustfunktion ist, die einen Verlust des Systems für das maschinelle Lernen an den Trainingsdaten misst, wobei wenigstens einer der Hyperparameter der Einzelkonfiguration ein Parameter der Verlustfunktion ist.
  9. Vorrichtung nach einem der obigen Ansprüche, wobei die gespeicherten Anweisungen konfiguriert sind, so dass das Verfahren, das der Computer ausführt, wenn diese Anweisungen auf dem Computer ausgeführt werden, so dass das Trainingsverfahren ein Verstärkungslernverfahren ist, das das System für das maschinelle Lernen nutzt, um eine Policy zum Steuern eines Roboters zu trainieren.
DE202019105282.1U 2019-09-24 2019-09-24 Vorrichtung zum Optimieren eines System für das maschinelle Lernen Active DE202019105282U1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE202019105282.1U DE202019105282U1 (de) 2019-09-24 2019-09-24 Vorrichtung zum Optimieren eines System für das maschinelle Lernen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE202019105282.1U DE202019105282U1 (de) 2019-09-24 2019-09-24 Vorrichtung zum Optimieren eines System für das maschinelle Lernen

Publications (1)

Publication Number Publication Date
DE202019105282U1 true DE202019105282U1 (de) 2019-11-15

Family

ID=68806152

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202019105282.1U Active DE202019105282U1 (de) 2019-09-24 2019-09-24 Vorrichtung zum Optimieren eines System für das maschinelle Lernen

Country Status (1)

Country Link
DE (1) DE202019105282U1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178486A (zh) * 2019-11-27 2020-05-19 湖州师范学院 一种基于种群演化的超参数异步并行搜索方法
CN111462915A (zh) * 2020-03-20 2020-07-28 云知声智能科技股份有限公司 一种医疗文本数据自动标注方法
WO2022069275A1 (de) * 2020-09-30 2022-04-07 Robert Bosch Gmbh Vorrichtung und computerimplementiertes verfahren für eine netzwerkarchitektursuche
DE102022201649A1 (de) 2022-02-17 2023-08-17 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Wartezeit-Vorhersage in einer Halbleiterfabrik
US11823076B2 (en) 2020-07-27 2023-11-21 International Business Machines Corporation Tuning classification hyperparameters

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Storn, Rainer und Kenneth Price offenbaren in ihrer Veröffentlichung „Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces", Journal of Global Optimization 11.4 (1997): 341-359

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178486A (zh) * 2019-11-27 2020-05-19 湖州师范学院 一种基于种群演化的超参数异步并行搜索方法
CN111178486B (zh) * 2019-11-27 2024-03-19 湖州师范学院 一种基于种群演化的超参数异步并行搜索方法
CN111462915A (zh) * 2020-03-20 2020-07-28 云知声智能科技股份有限公司 一种医疗文本数据自动标注方法
CN111462915B (zh) * 2020-03-20 2023-08-18 云知声智能科技股份有限公司 一种医疗文本数据自动标注方法
US11823076B2 (en) 2020-07-27 2023-11-21 International Business Machines Corporation Tuning classification hyperparameters
WO2022069275A1 (de) * 2020-09-30 2022-04-07 Robert Bosch Gmbh Vorrichtung und computerimplementiertes verfahren für eine netzwerkarchitektursuche
DE102022201649A1 (de) 2022-02-17 2023-08-17 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Wartezeit-Vorhersage in einer Halbleiterfabrik

Similar Documents

Publication Publication Date Title
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
DE102018218586A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erzeugen robuster automatisch lernender Systeme und Testen trainierter automatisch lernender Systeme
DE102020210352A1 (de) Verfahren und Vorrichtung zum Transferlernen zwischen modifizierten Aufgaben
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE202020101012U1 (de) Vorrichtung zum Vorhersagen einer geeigneten Konfiguration eines maschinellen Lernsystems für einen Trainingsdatensatz
DE102021205722A1 (de) System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
DE102018218834A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Ansteuersignals
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
DE102019202523A1 (de) Verfahren und Vorrichtung zum Betreiben eines Steuerungssystems
DE202022101997U1 (de) Vorrichtung zum gemeinsamen Ermitteln einer optimalen Architektur eines neuronalen Netzes und optimalen Hyperparametern zum Anlernen des neuronalen Netzes
DE102020216188A1 (de) Vorrichtung und Verfahren zum Trainieren eines Klassifizierers
DE102020208309A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE202021105192U1 (de) Vorrichtung zum maschinellen Lernen aus einer geringen Anzahl von Trainingsdatenbeispielen
DE102021210721A1 (de) Verfahren und system zum adversarischen training unter verwendung metagelernter initialisierung
DE102020208828A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102020213527A1 (de) Verfahren zum Optimieren einer Strategie für einen Roboter
DE202020104005U1 (de) Vorrichtung zum Erstellen eines Systems zum automatisierten Erstellen von maschinellen Lernsystemen
DE102018216078A1 (de) Verfahren und Vorrichtung zum Betreiben eines Steuerungssystems
DE102020211714A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102021200111A1 (de) Vorrichtung und Verfahren, um bestärkendes Lernen mit synthetischer Umgebung zu verbessern
DE102022207266A1 (de) Vorrichtung und Verfahren zum Augmentieren eines Bildes für selbstüberwachtes Lernen
DE202022106154U1 (de) Vorrichtung zur Optimierung eines Hyperparameters für Meta-Lernen
WO2023006597A1 (de) Verfahren und vorrichtung zum erstellen eines maschinellen lernsystems
DE102022206063A1 (de) System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe

Legal Events

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