DE102021208197A1 - Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems - Google Patents

Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems Download PDF

Info

Publication number
DE102021208197A1
DE102021208197A1 DE102021208197.5A DE102021208197A DE102021208197A1 DE 102021208197 A1 DE102021208197 A1 DE 102021208197A1 DE 102021208197 A DE102021208197 A DE 102021208197A DE 102021208197 A1 DE102021208197 A1 DE 102021208197A1
Authority
DE
Germany
Prior art keywords
edges
function
drawn
machine learning
path
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.)
Pending
Application number
DE102021208197.5A
Other languages
English (en)
Inventor
Jan Hendrik Metzen
Benedikt Sebastian Staffler
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
Original Assignee
Robert Bosch GmbH
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 filed Critical Robert Bosch GmbH
Priority to DE102021208197.5A priority Critical patent/DE102021208197A1/de
Priority to PCT/EP2022/070591 priority patent/WO2023006597A1/de
Priority to CN202280052618.5A priority patent/CN117836781A/zh
Publication of DE102021208197A1 publication Critical patent/DE102021208197A1/de
Pending legal-status Critical Current

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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

Verfahren zum Erstellen eines maschinellen Lernsystems, umfassend folgende Schritte: Bereitstellen eines gerichteten Graphen mit einem Eingangs- und Ausgangsknoten, wobei jeder Kante jeweils eine Wahrscheinlichkeit zugeordnet ist, welche charakterisiert mit welcher Wahrscheinlichkeit eine Kante gezogen wird. Die Wahrscheinlichkeiten werden abhängig von einer Kodierung der aktuell gezogenen Kanten ermittelt.

Description

  • Die Erfindung betrifft ein Verfahren zum Erstellen eines maschinellen Lernsystems unter Verwendung eines Graphen, der eine Vielzahl von möglichen Architekturen des maschinellen Lernsystems beschreibt, ein Computerprogramm und ein maschinenlesbares Speichermedium.
  • Stand der Technik
  • Das Ziel einer Architektursuche insbesondere für neuronale Netzwerke ist, eine möglichst gute Netzwerkarchitektur im Sinne einer Leistungskennzahl/Metrik für einen vorgegebenen Datensatz vollautomatisch zu finden.
  • Um die automatische Architektursuche recheneffizient zu gestalten, können sich verschiedene Architekturen in dem Suchraum die Gewichte ihrer Operationen teilen, wie z.B. bei einem One-Shot NAS Modell, gezeigt durch Pham, H., Guan, M. Y., Zoph, B., Le, Q. V., & Dean, J. (2018). Efficient neural architecture search via parameter sharing. arXiv preprint arXiv:1802.03268.
  • Das One-Shot Modell wird dabei typischerweise als gerichteter Graph konstruiert, bei dem die Knoten Daten darstellen und die Kanten Operationen, welche eine Berechnungsvorschrift darstellen, die Daten des Eingangsknoten in Daten des Ausgangsknoten überführen. Der Suchraum besteht dabei aus Subgraphen (z.B. Pfade) in dem One-Shot Modell. Da das One-Shot Modell sehr groß sein kann, können einzelne Architekturen aus dem One-Shot Modell für das Training gezogen werden, wie z. B. gezeigt durch Cai, H., Zhu, L., & Han, S. (2018). ProxylessNAS: Direct neural architecture search on target task and hardware. arXiv preprint arXiv:1812.00332. Dies geschieht typischerweise in dem ein einzelner Pfad von einem festgelegten Eingangsknoten zu einem Ausgangsknoten des Netzwerkes gezogen wird, wie z.B. gezeigt durch Guo, Z., Zhang, X., Mu, H., Heng, W., Liu, Z., Wei, Y., & Sun, J. (2019). Single path one-shot neural architecture search with uniform sampling. arXiv preprint arXiv:1904.00420.
  • Die Autoren Cai et al. offenbaren in ihrer Veröffentlichung ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware, online abrufbar: https://arxiv.org/abs/1812.00332, eine Architektursuche, welche Hardwareeigenschaften berücksichtigt.
  • Vorteile der Erfindung
  • Wie oben beschrieben, werden aus einem One-Shot Modell Pfade zwischen Eingangs- und Ausgangsknoten gezogen. Dazu wird für jeden Knoten eine Wahrscheinlichkeitsverteilung über die ausgehenden Kanten definiert. Die Erfinder schlagen eine neuartige Parametrierung der Wahrscheinlichkeitsverteilung vor, die hinsichtlich Abhängigkeiten zwischen bereits gezogenen Kanten aussagekräftiger ist als die bisherig verwendeten Wahrscheinlichkeitsverteilungen. Der Zweck dieser neuartigen Parametrisierung ist es, Abhängigkeiten zwischen verschiedenen Entscheidungspunkten im Suchraum in die Wahrscheinlichkeitsverteilungen einfließen zu lassen. Eine solche Entscheidung kann beispielsweise die Auswahl eines neuronalen Netzbetriebes sein (wie Entscheidungen zwischen Faltungs- und Pooling-Operationen). Damit können zum Beispiel allgemeine Muster wie „zwei Faltungsschichten sollten von einer Pooling-Operation gefolgt werden“ erlernt werden. Die bisherigen Wahrscheinlichkeitsverteilungen konnten nur einfache Entscheidungsregeln erlernen, wie „eine bestimmte Faltung sollte an einem bestimmten Entscheidungspunkt gewählt werden“, da sie eine voll faktorisierte Parametrisierung der Architekturverteilung verwendeten.
  • Zusammenfassend kann also gesagt werden, dass die Erfindung den Vorteil hat, dass über die vorgeschlagene Parametrisierung der Wahrscheinlichkeitsverteilungen bessere Architekturen für eine gegebene Aufgabe aufgefunden werden können.
  • Offenbarung der Erfindung
  • In einem ersten Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Erstellen eines maschinellen Lernsystems, welches vorzugsweise für eine Bildverarbeitung verwendet wird.
  • Das Verfahren umfasst zumindest folgende Schritte: Bereitstellen eines gerichteten Graphen mit mindestens einem Eingangs- und Ausgangsknoten, die über eine Mehrzahl von Kanten und Knoten verbunden sind. Der Graph, insbesondere das One-Shot Modell, beschreibt ein Supermodel umfassend eine Vielzahl von möglichen Architekturen des maschinellen Lernsystems.
  • Daraufhin folgt ein zufälliges Ziehen einer Mehrzahl von Pfaden durch den gerichteten Graphen, insbesondere von Subgraphen des gerichteten Graphen, wobei den Kanten jeweils eine Wahrscheinlichkeit zugeordnet ist, welche charakterisiert mit welcher Wahrscheinlichkeit die jeweilige Kante gezogen wird. Die Besonderheit hierbei ist, dass die Wahrscheinlichkeiten abhängig von einer Reihenfolge bisherig gezogener Kanten des jeweiligen Pfades ermittelt werden. Die Wahrscheinlichkeiten der möglichen nachfolgenden zu ziehenden Kanten werden also abhängig von einem bis dahin gezogenen Abschnitt des Pfads durch den gerichteten Graphen ermittelt. Der bisher gezogene Abschnitt kann als Teilpfad bezeichnet werden und kann die bisherig gezogenen Kanten aufweisen, wobei iterativ nachfolgend gezogene Kanten hinzugefügt werden können, bis der Eingangsknoten mit dem Ausgangsknoten verbunden ist, also dann der gezogene Pfad vorliegt. Vorzugsweise werden die Wahrscheinlichkeiten auch abhängig von den Operationen, die den jeweiligen Kanten zugeordnet sind, ermittelt.
  • Es sei angemerkt, dass das Ziehen des Pfades iterativ erfolgen kann. Also ein schrittweises Erstellen des Pfades durch ein nacheinander folgendes Ziehen der Kanten erfolgt, wobei an jedem erreichten Knoten des Pfades die nachfolgende Kante zufällig aus den möglichen nachfolgenden Kanten, die mit diesem Knoten verbunden sind, abhängig von deren zugeordneten Wahrscheinlichkeiten ausgewählt werden können.
  • Ferner sei angemerkt, dass ein Pfad als ein Subgraph des gerichteten Graphen verstanden kann werden, welcher eine Untermenge der Kanten und Knoten des gerichteten Graphen aufweist, und wobei dieser Subgraph den Eingangsknoten mit dem Ausgangsknoten des gerichteten Graphen verbindet.
  • Anschließend folg ein Anlernen der den gezogenen Pfaden korrespondierenden maschinellen Lernsysteme, wobei beim Anlernen Parameter des maschinellen Lernsystems und insbesondere die Wahrscheinlichkeiten der Kanten des Pfades angepasst werden, sodass eine Kostenfunktion optimiert wird.
  • Daraufhin folg ein letztes Ziehen eines Pfades abhängig von den angepassten Wahrscheinlichkeiten und Erstellen des diesem Pfad korrespondierenden maschinellen Lernsystems. Das letzte Ziehen des Pfades in dem letzten Schritt kann zufällig erfolgen oder es werden gezielt die Kanten mit den höchsten Wahrscheinlichkeiten gezogen.
  • Es wird vorgeschlagen, dass eine Funktion die Wahrscheinlichkeiten der Kanten abhängig von der Reihenfolge der bisherigen gezogenen Kanten ermittelt, wobei die Funktion parametrisiert ist und die Parametrisierung der Funktion beim Anlernen abhängig von der Kostenfunktion optimiert wird. Vorzugsweise ist einer jeden Kante eine eigene Funktion zugeordnet, welche abhängig von der Reihenfolge der bisherig gezogenen Kanten des Teilpfades eine Wahrscheinlichkeit ermittelt.
  • Ferner wird vorgeschlagen, dass den bisherig gezogenen Kanten und/oder Knoten eine eindeutige Kodierung zugeordnet wird und die Funktion abhängig von dieser Kodierung die Wahrscheinlichkeit ermittelt. Vorzugsweise wird hierfür jeder Kante ein eindeutiger Index zugeordnet.
  • Ferner wird vorgeschlagen, dass die Funktion eine Wahrscheinlichkeitsverteilung über die möglichen Kanten, aus einer Menge von Kanten, die als nächstes gezogen werden können, ermittelt. Besonders bevorzugt ist jedem Knoten eine eigene Funktion zugeordnet, wobei die Funktionen für alle Kanten, die den jeweiligen Knoten mit unmittelbaren nachfolgende Nachbarknoten des Graphen verbinden, die Wahrscheinlichkeitsverteilung über diese Kanten ermittelt.
  • Ferner wird vorgeschlagen, dass die Funktion eine affine Transformation oder ein neuronales Netz (wie z.B. ein Transformer) ist.
  • Ferner wird vorgeschlagen, dass die Parametrisierung der affinen Transformation eine lineare Transformation und eine Verschiebung der eindeutigen Kodierung beschreibt. Um die lineare Transformation parametereffizienter zu gestalten, kann die lineare Transformation eine sog. Low-Rank Approximierung der linearen Transformation sein.
  • Ferner wird vorgeschlagen, dass jedem Knoten ein neuronales Netz zum Ermitteln der Wahrscheinlichkeiten zugeordnet ist und eine Parametrisierung der ersten Schichten der neuronalen Netze zwischen allen neuronalen Netzen geteilt werden kann. Besonders bevorzugt teilen sich die neuronalen Netze alle Parameter bis auf die Parameter der letzten Schicht.
  • Ferner wird vorgeschlagen, dass die Kostenfunktion eine erste Funktion aufweist, die eine Leistungsfähigkeit des maschinellen Lernsystems hinsichtlich dessen Performance bewertet, bspw. eine Genauigkeit einer Segmentierung, Objekterkennung oder ähnliches und optional eine zweite Funktion aufweist, welche abhängig von einer Länge des Pfades und den Operationen der Kanten eine Latenzzeit des maschinellen Lernsystems schätzt. Alternativ oder zusätzlich kann die zweite Funktion auch einen Computerressourcenverbrauch des Pfades schätzen.
  • Vorzugsweise ist das erstellte maschinelle Lernsystem ein künstliches neuronales Netz, welches zur Segmentierung und Objektdetektion in Bildern eingerichtet sein kann.
  • Weiterhin wird vorgeschlagen, dass abhängig von einer Ausgabe des maschinellen Lernsystem ein technisches System angesteuert wird. Beispiele für das technische System sind in der nachfolgenden Figurenbeschreibung aufgezeigt.
  • In weiteren Aspekten betrifft die Erfindung ein Computerprogramm, das eingerichtet ist, die obigen Verfahren auszuführen und ein maschinenlesbares Speichermedium, auf dem dieses Computerprogramm gespeichert ist.
  • Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
    • 1 schematische Darstellung eines Flussdiagramms einer Ausführungsform der Erfindung;
    • 2 schematische Darstellung eines Aktor-Steuerungssystems;
    • 3 ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
    • 4 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
    • 5 schematisch ein Ausführungsbeispiel zur Steuerung eines Zugangssystems;
    • 6 schematisch ein Ausführungsbeispiel zur Steuerung eines Überwachungssystems;
    • 7 schematisch ein Ausführungsbeispiel zur Steuerung eines persönlichen Assistenten;
    • 8 schematisch ein Ausführungsbeispiel zur Steuerung eines medizinisch bildgebenden Systems;
    • 9 einen möglichen Aufbau einer Trainingsvorrichtung;
  • Um gute Architekturen von tiefen neuronalen Netzwerke für einen vorgegebenen Datensatz zu finden, können automatische Methoden zur Architektursuche angewandt werden, sogenannte Neural Architecture Search-Methoden. Dazu wird ein Suchraum von möglichen Architekturen neuronaler Netzwerke explizit oder implizit definiert.
  • Im Folgenden soll zur Beschreibung eines Suchraums ein Berechnungsgraph (das sogenannte One-Shot Modell) definiert werden, welcher eine Vielzahl von möglichen Architekturen in dem Suchraum als Subgraphen enthält. Da das One-Shot Modell sehr groß sein kann, können einzelne Architekturen aus dem One-Shot Modell für das Training gezogen werden. Dies geschieht typischerweise in dem einzelne Pfade von einem festgelegten Eingangsknoten zu einem festgelegten Ausgangsknoten des Netzwerkes gezogen werden.
  • Im einfachsten Fall, wenn der Berechnungsgraph aus einer Kette von Knoten besteht, die jeweils über verschiedene Operationen verbunden sein können, genügt es, für jeweils zwei aufeinander folgende Knoten die Operation zu ziehen welche sie verbindet.
  • Falls das One-Shot Modell allgemeiner ein gerichteter Graph ist, kann ein Pfad iterativ gezogen werden, in dem bei dem Input begonnen wird, dann der nächste Knoten und die verbindende Kante gezogen wird, wobei dieses Vorgehen iterativ bis zum Zielknoten fortgesetzt wird.
  • Das One-Shot Modell mit Ziehen kann dann trainiert werden, indem für jeden Mini-Batch eine Architektur gezogen wird und die Gewichte der Operationen in der gezogenen Architektur mittels eines Standard-Gradientenschrittverfahrens angepasst werden. Das Finden der besten Architektur kann entweder als separater Schritt nach dem Training der Gewichte stattfinden, oder abwechselnd mit dem Training der Gewichte durchgeführt werden.
  • Formalistisch kann das One-Shot Modell als ein sogenannter Supergraph S = (VS,ES) bezeichnet werden. Hierbei kann jeder Kante E dieses Supergraphen S einer Netzwerkoperation, wie einer Faltung, und jedem Knoten V ein Datentensor, der Ein- und Ausgängen von Operationen darstellt, zugewiesen sein. Denkbar ist auch, dass die Knoten des Supergraphen einer bestimmten neuronalen Netzoperation wie einer Faltung und jede Kante einem Datentensor entsprechen. Das Ziel der Architektursuche ist es, einige Pfade G = (VG,EG) ≤ S zu identifizieren, die ein oder mehrere Leistungskriterien wie Genauigkeit auf einem Testset und/oder Latenz auf einem Zielgerät optimieren.
  • Das oben erläuterte Ziehen des Pfades kann formalistisch wie folgt definiert werden. Es werden iterativ Knoten v ∈ Vi ≤ VS und/oder Kanten e ∈ Ej ≤ ES gezogen, die zusammen den Pfad G ergeben.
  • Das Ziehen der Knoten/Kanten kann abhängig von Wahrscheinlichkeitsverteilungen, insbesondere kategorischen Verteilungen, durchgeführt werden. Dabei kann die Wahrscheinlichkeitsverteilung pαi (v ∈ Vi) und/oder pαj (e ∈ Ej) von einem optimierbaren Parameter α abhängen, wobei die Wahrscheinlichkeitsverteilungen die gleiche Kardinalität wie Vi oder Ej aufweisen.
  • Dieses iterative Ziehen der Kanten/Knoten resultiert in einer Sequenz von Teilpfaden G0, G1, ..., Gk ..., GT, wobei GT der ,finale‘ Pfad ist, welcher den Eingang mit dem Ausgang des Graphen verbindet.
  • Eine wesentliche Einschränkung der Definition der Wahrscheinlichkeitsverteilung durch kategorische Verteilungen ist, dass diese Wahrscheinlichkeitsverteilungen pαi (v ∈ Vi) und pαj (e ∈ Ej) unabhängig vom aktuellen gezogenen Pfad Gk sind. Dies ermöglicht es nicht, insbesondere komplexere, Abhängigkeiten zwischen verschiedenen Knoten und Kanten zu erlernen. Es wird daher vorgeschlagen, die Wahrscheinlichkeitsverteilungen abhängig von den bisher gezogenen Pfad Gk zu formulieren: pαi (v ∈ Vi| Gk) und pαj (e ∈ Ej | Gk).
  • Genauer gesagt, wird eine eindeutige Kodierung der bisherig gezogenen Teilpfade Gk vorgeschlagen. Vorzugsweise wird hierfür jedem v ∈ VS und jeder e ∈ ES ein eindeutiger Index zugewiesen, der im Folgenden als n(v) und n(e) bezeichnet wird. Die eindeutige Kodierung von Gk ist dann h = H(Gk) mit hi = ∃ e ∈ EK n(e) = i or ∃ v ∈ VK n(v) = i gegeben.
  • Gegeben dieser eindeutigen Kodierung, pαi (v ∈ Vi|Gk) (und entsprechend pαj (e ∈ Ej | Gk)) können dann durch eine Funktion / die Wahrscheinlichkeiten ermittelt werden: pαj (e ∈ Ej | Gk) = fαj (H(Gk)). Die Ausgänge dieser Funktion werden weiterhin als Wahrscheinlichkeiten für z.B. eine kategorische Verteilung verwendet, aus der der Knoten/Kanten abgetastet wird. Die Wahrscheinlichkeiten hängen jedoch nun von Gk ab.
  • Folgende Ausführungsformen der Funktion fαj sind denkbar:
    • Im einfachsten Fall ist die Funktion fαj eine affine Transformation, z.B. fαj (h) = Wjh + bj. In diesem Fall entspricht αj den Parametern Wj und bj der affinen Transformation. Eine lineare Parametrierung mit weniger Parametern kann durch eine Low-Rank-Approximation W j = W j ' W j ''
      Figure DE102021208197A1_0001
      erreicht werden. Darüber hinaus kann W j '
      Figure DE102021208197A1_0002
      über alle j geteilt werden und somit als niederdimensionale (nicht-eindeutige) Kodierung basierend auf der eindeutigen Kodierung h fungieren.
  • Eine ausdrucksmächtigere Wahl ist eine Implementierung der Funktion fαj durch ein mehrschichtiges Perzeptron (engl. a multi-layer perceptron, MLP), wobei αj Parameter des MLP darstellt. Auch hier können die Parameter des MLP bis auf die letzte Schicht optional über j geteilt werden.
  • Auch eine Transformer-basierte Implementierung der Funktion tαj kann verwendet werden, bestehend aus einer Mehrzahl von Schichten mit ,multi-headed selfattention‘ und einer finalen linearen Schicht. Parameter von allen außer der letzten Schicht können optional über alle j geteilt werden.
  • Die Optimierung der Parameter der Funktion kann über ein Gradientenabstiegsverfahren erfolgen. Alternativ können die Gradienten hierfür über einen Black-Box Optimierer geschätzt werden, z.B. unter Verwendung des REINFORCE-Tricks (siehe hierzu zum Beispiel die oben zitierte Literatur „ProxylessNAS“). D.h. die Optimierung der Architektur kann auf die gleiche Weise durchgeführt werden wie bei der Verwendung bekannter kategorischer Wahrscheinlichkeitsverteilungen.
  • 1 zeigt schematisch zeigt schematisch ein Flussdiagramm (20) des verbesserten Verfahrens zur Architektursuche mit einem One-Shot Modell.
  • Die automatische Architektursuche kann wie folgt durchgeführt werden. Die automatische Architektursuche benötigt zuerst ein Bereitstellen eines Suchraums (S21), welcher hier in der Form eines One-Shot Modells gegeben sein kann.
  • Anschließend kann jede Form der Architektursuche verwendet werden, welche Pfade aus einem One-Shot Modell zieht (S22). Die hierbei gezogenen Pfade werden abhängig von einem Ergebnis der Funktion pαi (v ∈ Vi|Gk) und/oder pαj (e ∈ Ej | Gk) gezogen.
  • Im nachfolgenden Schritt (S23) werden dann die gezogenen maschinellen Lernsysteme, die den Pfaden entsprechen, angelernt und auch die Parameter αj der Funktion werden beim Anlernen angepasst.
  • Es sei angemerkt, dass eine Optimierung der Parameter beim Anlernen nicht nur bezüglich der Genauigkeit, sondern auch für spezielle Hardware (z.B. Hardwarebeschleuniger) geschehen kann. Bspw. indem beim Training die Kostenfunktion einen weiteren Term enthält, der die Kosten zum Ausführen des maschinellen Lernsystems mit seiner Konfiguration auf der Hardware charakterisiert.
  • Die Schritte S22 bis S23 können mehrmals hintereinander wiederholt werden. Anschließend kann basierend auf dem Supergraph ein finaler Pfad gezogen werden (S24) und ein korrespondierendes maschinelles Lernsystem gemäß diesem Pfad initialisiert werden.
  • Vorzugsweise ist das erstelle maschinelle Lernsystem nach Schritt S24 ein künstliches neuronales Netz 60 (abgebildet in 2) und wird verwendet wie im nachfolgenden erläutert.
  • 2 zeigt einen Aktor 10 in seiner Umgebung 20 in Interaktion mit einem Steuerungssystem 40. In vorzugsweise regelmäßigen zeitlichen Abständen wird die Umgebung 20 in einem Sensor 30, insbesondere einem bildgebenden Sensor wie einem Videosensor, erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann, beispielsweise eine Stereokamera. Auch andere bildgebende Sensoren sind denkbar, wie beispielsweise Radar, Ultraschall oder Lidar. Auch eine Wärmebildkamera ist denkbar. Das Sensorsignal S - bzw. im Fall mehrerer Sensoren je ein Sensorsignal S - des Sensors 30 wird an das Steuerungssystem 40 übermittelt. Das Steuerungssystem 40 empfängt somit eine Folge von Sensorsignalen S. Das Steuerungssystem 40 ermittelt hieraus Ansteuersignale A, welche an den Aktor 10 übertragen werden.
  • Das Steuerungssystem 40 empfängt die Folge von Sensorsignalen S des Sensors 30 in einer optionalen Empfangseinheit 50, die die Folge von Sensorsignalen S in eine Folge von Eingangsbildern x umwandelt (alternativ kann auch unmittelbar je das Sensorsignal S als Eingangsbild x übernommen werden). Das Eingangsbild x kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals S sein. Das Eingangsbild x umfasst einzelne Frames einer Videoaufzeichnung. Mit anderen Worten wird Eingangsbild x abhängig von Sensorsignal S ermittelt. Die Folge von Eingangsbildern x wird einem maschinellen Lernsystem, im Ausführungsbeispiel einem künstlichen neuronalen Netz 60, zugeführt.
  • Das künstliche neuronale Netz 60 wird vorzugsweise parametriert durch Parameter ϕ, die in einem Parameterspeicher P hinterlegt sind und von diesem bereitgestellt werden.
  • Das künstliche neuronale Netz 60 ermittelt aus den Eingangsbildern x Ausgangsgrößen y. Diese Ausgangsgrößen y können insbesondere eine Klassifikation und semantische Segmentierung der Eingangsbilder x umfassen. Ausgangsgrößen y werden einer optionalen Umformeinheit 80 zugeführt, die hieraus Ansteuersignale A ermittelt, welche dem Aktor 10 zugeführt werden, um den Aktor 10 entsprechend anzusteuern. Ausgangsgröße y umfasst Informationen über Objekte, die der Sensor 30 erfasst hat.
  • Der Aktor 10 empfängt die Ansteuersignale A, wird entsprechend angesteuert und führt eine entsprechende Aktion aus. Der Aktor 10 kann hierbei eine (nicht notwendigerweise baulich integrierte) Ansteuerlogik umfassen, welches aus dem Ansteuersignal A ein zweites Ansteuersignal ermittelt, mit dem dann der Aktor 10 angesteuert wird.
  • In weiteren Ausführungsformen umfasst das Steuerungssystem 40 den Sensor 30. In noch weiteren Ausführungsformen umfasst das Steuerungssystem 40 alternativ oder zusätzlich auch den Aktor 10.
  • In weiteren bevorzugten Ausführungsformen umfasst das Steuerungssystem 40 eine Ein- oder Mehrzahl von Prozessoren 45 und wenigstens ein maschinenlesbares Speichermedium 46, auf den Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren 45 ausgeführt werden, das Steuerungssystem 40 veranlassen, das erfindungsgemäße Verfahren auszuführen.
  • In alternativen Ausführungsformen ist alternativ oder zusätzlich zum Aktor 10 eine Anzeigeeinheit 10a vorgesehen.
  • 3 zeigt, wie das Steuerungssystem 40 zur Steuerung eines wenigstens teilautonomen Roboters, hier eines wenigstens teilautonomen Kraftfahrzeugs 100, eingesetzt werden kann.
  • Bei dem Sensor 30 kann es sich beispielsweise um einen vorzugsweise im Kraftfahrzeug 100 angeordneten Videosensor handeln.
  • Das künstliche neuronale Netz 60 ist eingerichtet, aus den Eingangsbildern x Objekte sicher zu identifizieren.
  • Bei dem vorzugsweise im Kraftfahrzeug 100 angeordneten Aktor 10 kann es sich beispielsweise um eine Bremse, einen Antrieb oder eine Lenkung des Kraftfahrzeugs 100 handeln. Das Ansteuersignal A kann dann derart ermittelt werden, dass der Aktor oder die Aktoren 10 derart angesteuert wird, dass das Kraftfahrzeug 100 beispielsweise eine Kollision mit den vom künstlichen neuronalen Netz 60 sicher identifizierten Objekte verhindert, insbesondere, wenn es sich um Objekte bestimmter Klassen, z.B. um Fußgänger, handelt.
  • Alternativ kann es sich bei dem wenigstens teilautonomen Roboter auch um einen anderen mobilen Roboter (nicht abgebildet) handeln, beispielsweise um einen solchen, der sich durch Fliegen, Schwimmen, Tauchen oder Schreiten fortbewegt. Bei dem mobilen Roboter kann es sich beispielsweise auch um einen wenigstens teilautonomen Rasenmäher oder einen wenigstens teilautonomen Putzroboter handeln. Auch in diesen Fällen kann das Ansteuersignal A derart ermittelt werden, dass Antrieb und/oder Lenkung des mobilen Roboters derart angesteuert werden, dass der wenigstens teilautonome Roboter beispielsweise eine Kollision mit vom künstlichen neuronalen Netz 60 identifizierten Objekten verhindert.
  • Alternativ oder zusätzlich kann mit dem Ansteuersignal A die Anzeigeeinheit 10a angesteuert werden, und beispielsweise die ermittelten sicheren Bereiche dargestellt werden. Auch ist es beispielsweise beim einem Kraftfahrzeug 100 mit nicht automatisierter Lenkung möglich, dass die Anzeigeeinheit 10a mit dem Ansteuersignal A derart angesteuert wird, dass sie ein optisches oder akustisches Warnsignal ausgibt, wenn ermittelt wird, dass das Kraftfahrzeug 100 droht, mit einem der sicher identifizierten Objekte zu kollidieren.
  • 4 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem 40 zur Ansteuerung einer Fertigungsmaschine 11 eines Fertigungssystems 200 verwendet wird, indem ein diese Fertigungsmaschine 11 steuernder Aktor 10 angesteuert wird. Bei der Fertigungsmaschine 11 kann es sich beispielsweise um eine Maschine zum Stanzen, Sägen, Bohren und/oder Schneiden handeln.
  • Bei dem Sensor 30 kann es sich dann beispielsweise um einen optischen Sensor handeln, der z.B. Eigenschaften von Fertigungserzeugnissen 12a, 12b erfasst. Es ist möglich, dass diese Fertigungserzeugnisse 12a, 12b beweglich sind. Es ist möglich, dass der die Fertigungsmaschine 11 steuernde Aktor 10 abhängig von einer Zuordnung der erfassten Fertigungserzeugnisse 12a, 12b angesteuert wird, damit die Fertigungsmaschine 11 entsprechend einen nachfolgenden Bearbeitungsschritt des richtigen der Fertigungserzeugnisses 12a, 12b ausführt. Es ist auch möglich, dass durch Identifikation der richtigen Eigenschaften desselben der Fertigungserzeugnisse 12a, 12b (d.h. ohne eine Fehlzuordnung) die Fertigungsmaschine 11 entsprechend den gleichen Fertigungsschritt für eine Bearbeitung eines nachfolgenden Fertigungserzeugnisses anpasst.
  • 5 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines Zugangssystems 300 eingesetzt wird. Das Zugangssystem 300 kann eine physische Zugangskontrolle, beispielsweise eine Tür 401 umfassen. Videosensor 30 ist eingerichtet ist, eine Person zu erfassen. Mittels des Objektidentifikationssystem 60 kann dieses erfasste Bild interpretiert werden. Sind mehrere Personen gleichzeitig erfasst, kann durch eine Zuordnung der Personen (also der Objekte) zueinander beispielweise die Identität der Personen besonders zuverlässig ermittelt werden, beispielsweise durch eine Analyse ihrer Bewegungen. Der Aktor 10 kann ein Schloss sein, dass abhängig vom Ansteuersignal A die Zugangskontrolle freigibt, oder nicht, beispielsweise die Tür 401 öffnet, oder nicht. Hierzu kann das Ansteuersignal A abhängig von der der Interpretation des Objektidentifikationssystem 60 gewählt werden, beispielsweise abhängig von der ermittelten Identität der Person. An Stelle der physischen Zugangskontrolle kann auch eine logische Zugangskontrolle vorgesehen sein.
  • 6 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines Überwachungssystems 400 verwendet wird. Von dem in 5 dargestellten Ausführungsbeispiel unterscheidet sich dieses Ausführungsbeispiel dadurch, dass an Stelle des Aktors 10 die Anzeigeeinheit 10a vorgesehen ist, die vom Steuerungssystem 40 angesteuert wird. Beispielsweise kann vom künstlichen neuronalen Netz 60 zuverlässig eine Identität der vom Videosensor 30 aufgenommenen Gegenstände ermittelt werden, um abhängig davon z.B. darauf zu schließen, welche verdächtig werden, und das Ansteuersignal A dann derart gewählt werden, dass dieser Gegenstand von der Anzeigeeinheit 10a farblich hervorgehoben dargestellt wird.
  • 7 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines persönlichen Assistenten 250 eingesetzt wird. Der Sensor 30 ist bevorzugt ein optischer Sensor, der Bilder einer Geste eines Nutzers 249 empfängt.
  • Abhängig von den Signalen des Sensors 30 ermittelt das Steuerungssystem 40 ein Ansteuersignal A des persönlichen Assistenten 250, beispielsweise, indem das neuronale Netz eine Gestenerkennung durchführt. Dem persönlichen Assistenten 250 wird dann dieses ermittelte Ansteuersignal A übermittelt und er somit entsprechend angesteuert. Dieses ermittelte Ansteuersignal A ist kann insbesondere derart gewählt werden, dass es einer vermuteten gewünschten Ansteuerung durch den Nutzer 249 entspricht. Diese vermutete gewünschte Ansteuerung kann abhängig von der vom künstlichen neuronalen Netz 60 erkannten Geste ermittelt werden. Das Steuerungssystem 40 kann dann abhängig von der vermuteten gewünschten Ansteuerung das Ansteuersignal A zur Übermittlung an den persönlichen Assistenten 250 wählen und/oder das Ansteuersignal A zur Übermittlung an den persönlichen Assistenten entsprechend der vermuteten gewünschten Ansteuerung 250 wählen.
  • Diese entsprechende Ansteuerung kann beispielsweise beinhalten, dass der persönliche Assistent 250 Informationen aus einer Datenbank abruft und sie für den Nutzer 249 rezipierbar wiedergibt.
  • Anstelle des persönlichen Assistenten 250 kann auch ein Haushaltsgerät (nicht abgebildet), insbesondere eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder eine Spülmaschine vorgesehen sein, um entsprechend angesteuert zu werden.
  • 8 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines medizinischen bildgebenden System 500, beispielsweise eines MRT-, Röntgen- oder Ultraschallgeräts, verwendet wird. Der Sensor 30 kann beispielsweise durch einen bildgebenden Sensor gegeben sein, durch das Steuerungssystem 40 wird die Anzeigeeinheit 10a angesteuert. Beispielsweise kann vom neuronalen Netz 60 ermittelt werden, ob ein vom bildgebenden Sensor aufgenommener Bereich auffällig ist, und das Ansteuersignal A dann derart gewählt werden, dass dieser Bereich von der Anzeigeeinheit 10a farblich hervorgehoben dargestellt wird.
  • 9 zeigt eine beispielhafte Trainingsvorrichtung 140 zum Trainieren eines der gezogenen maschinellen Lernsystems aus dem Multigraphen, insbesondere des neuronalen Netzes 60. Trainingsvorrichtung 140 umfasst einen Bereitsteller 71, der Eingangsgrößen x, wie z.B. Eingangsbilder, und Soll-Ausgangsgrößen ys, beispielsweise Soll-Klassifikationen, bereitstellt. Die Eingangsgröße x wird dem zu trainierenden künstlichen neuronalen Netz 60 zugeführt, das hieraus Ausgangsgrößen y ermittelt. Ausgangsgrößen y und Soll-Ausgangsgrößen ys werden einem Vergleicher 75 zugeführt, der hieraus abhängig von einer Übereinstimmung den jeweiligen Ausgangsgrößen y und Soll-Ausgangsgrößen ys neue Parameter ϕ' ermittelt, die dem Parameterspeicher P übermittelt werden und dort Parameter ϕ ersetzen.
  • Die vom Trainingssystem 140 ausgeführten Verfahren können als Computerprogramm implementiert auf einem maschinenlesbaren Speichermedium 147 hinterlegt sein und von einem Prozessor 148 ausgeführt werden.
  • Selbstverständlich müssen nicht ganze Bilder klassifiziert werden. Es ist möglich, dass mit einem Detektionsalgorithmus z.B. Bildausschnitte als Objekte klassifiziert werden, dass diese Bildausschnitte dann ausgeschnitten werden, ggf. ein neuer Bildausschnitt erzeugt wird und an Stelle des ausgeschnittenen Bildausschnitts in das zugehörige Bild eingesetzt wird.
  • Der Begriff „Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.

Claims (10)

  1. Computerimplementiertes Verfahren (20) zum Erstellen eines maschinellen Lernsystems, umfassend folgende Schritte: Bereitstellen (S21) eines gerichteten Graphen mit einem Eingangs- und Ausgangsknoten, die über eine Mehrzahl von Kanten und Knoten verbunden sind, Zufälliges Ziehen (S22) einer Mehrzahl von Pfaden durch den gerichteten Graphen, wobei den Kanten jeweils eine Wahrscheinlichkeit zugeordnet ist, welche charakterisiert mit welcher Wahrscheinlichkeit die jeweilige Kante gezogen wird, wobei die Wahrscheinlichkeiten abhängig von einer Reihenfolge bisherig gezogener Kanten des jeweiligen Pfades ermittelt werden; Anlernen der den gezogenen Pfaden korrespondierenden maschinellen Lernsysteme (S23), wobei beim Anlernen Parameter des maschinellen Lernsystems angepasst werden, sodass eine Kostenfunktion optimiert wird; und Ziehen (S24) eines Pfades abhängig von den angepassten Wahrscheinlichkeiten und Erstellen des diesem Pfad korrespondierenden maschinellen Lernsystems.
  2. Verfahren nach Anspruch 1, wobei eine parametrisierte Funktion die Wahrscheinlichkeiten der Kanten abhängig von der Reihenfolge der bisherig gezogener Kanten des Pfades ermittelt, wobei die Parametrisierung (α) der Funktion beim Anlernen hinsichtlich der Kostenfunktion angepasst wird.
  3. Verfahren nach Anspruch 2, wobei den bisherig gezogenen Kanten und/oder Knoten eine eindeutige Kodierung deren Reihenfolge zugeordnet wird und die Funktion abhängig von dieser Kodierung die Wahrscheinlichkeiten ermittelt.
  4. Verfahren nach Anspruch 2, oder 3 wobei die Funktion eine Wahrscheinlichkeitsverteilung über die möglichen Kanten, aus einer Menge von Kanten, die als nächstes gezogen werden können, ermittelt.
  5. Verfahren nach Anspruch 2 bis 4, wobei die Funktion eine affine Transformation oder ein neuronales Netz ist.
  6. Verfahren nach Anspruch 5 und Anspruch 3, wobei die Parametrisierung der affinen Transformation eine lineare Transformation und eine Verschiebung der eindeutigen Kodierung beschreibt, und insbesondere sich die Skalierung aus einer Low-Rank Approximierung und einer Skalierung abhängig von der Anzahl der Kanten zusammensetzt.
  7. Verfahren nach Anspruch 5, wobei eine Mehrzahl von Funktionen verwendet werden und die Funktionen jeweils durch ein neuronales Netz gegeben sind, wobei eine Parametrisierung von einer Mehrzahl von Schichten der neuronalen Netze zwischen allen neuronalen Netzen geteilt werden.
  8. Computerprogramm, welches Befehle umfasst, welche eingerichtet sind, wenn diese auf einem Computer ausgeführt werden, den Computer veranlassen, das Verfahren nach einem der vorhergehenden Ansprüche auszuführen.
  9. Maschinenlesbares Speicherelement auf welchem das Computerprogramm nach Anspruch 8 hinterlegt ist.
  10. Vorrichtung, welche eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
DE102021208197.5A 2021-07-29 2021-07-29 Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems Pending DE102021208197A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021208197.5A DE102021208197A1 (de) 2021-07-29 2021-07-29 Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
PCT/EP2022/070591 WO2023006597A1 (de) 2021-07-29 2022-07-22 Verfahren und vorrichtung zum erstellen eines maschinellen lernsystems
CN202280052618.5A CN117836781A (zh) 2021-07-29 2022-07-22 用于创建机器学习系统的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021208197.5A DE102021208197A1 (de) 2021-07-29 2021-07-29 Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems

Publications (1)

Publication Number Publication Date
DE102021208197A1 true DE102021208197A1 (de) 2023-02-02

Family

ID=83115399

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021208197.5A Pending DE102021208197A1 (de) 2021-07-29 2021-07-29 Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems

Country Status (3)

Country Link
CN (1) CN117836781A (de)
DE (1) DE102021208197A1 (de)
WO (1) WO2023006597A1 (de)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CAI, Han ; ZHU, Ligeng ; HAN, Song: ProxylessNAS: Direct neural architecture search on target task and hardware. Version 1, 02-12-2018. S. 1-13. URL: https://arxiv.org/pdf/1812.00332v1 [abgerufen am 2021-09-09].
ELSKEN, Thomas, et al. Meta-learning of neural architectures for few-shot learning. In: Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020. S. 12365-12375.
GUO, Zichao [u.a.]: Single path one-shot neural architecture search with uniform sampling. Version 3, 06-04-2019. S. 1-14.
PHAM, Hieu [u.a.]: Efficient neural architecture search via parameter sharing. Version 2, 12-02-2018. S. 1-11. URL: https://arxiv.org/pdf/1802.03268 [abgerufen am 2020-08-14].

Also Published As

Publication number Publication date
CN117836781A (zh) 2024-04-05
WO2023006597A1 (de) 2023-02-02

Similar Documents

Publication Publication Date Title
DE102020210352A1 (de) Verfahren und Vorrichtung zum Transferlernen zwischen modifizierten Aufgaben
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
DE102020212515A1 (de) Verfahren und Vorrichtung zum Trainieren eines maschinellen Lernsystems
DE202020101012U1 (de) Vorrichtung zum Vorhersagen einer geeigneten Konfiguration eines maschinellen Lernsystems für einen Trainingsdatensatz
EP3857822A1 (de) Verfahren und vorrichtung zum ermitteln eines ansteuersignals
DE102020208828A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102019209566A1 (de) Verfahren und Vorrichtung zum Trainieren eines maschinellen Lernsystems
DE102021208197A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
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
DE102020208309A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE202021105192U1 (de) Vorrichtung zum maschinellen Lernen aus einer geringen Anzahl von Trainingsdatenbeispielen
DE102022201679A1 (de) Verfahren und Vorrichtung zum Trainieren eines neuronalen Netzes
DE202020104005U1 (de) Vorrichtung zum Erstellen eines Systems zum automatisierten Erstellen von maschinellen Lernsystemen
DE102021202813A1 (de) Verfahren, Vorrichtung und Computerprogramm für eine Unsicherheitsbewertung einer Bildklassifikation
DE102020212514A1 (de) Verfahren zur Ermittlung eines Ausgabesignals mittels eines maschinellen Lernsystems
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
DE102020211714A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102018216078A1 (de) Verfahren und Vorrichtung zum Betreiben eines Steuerungssystems
DE202019103046U1 (de) Vorrichtung zur Vorhersage einer Lernkurve
DE102019217300A1 (de) Verfahren zum Trainieren eines künstlichen neuronalen Netzes, Computerprogramm, Speichermedium, Vorrichtung, künstliches neuronales Netz und Anwendung des künstlichen neuronalen Netzes
DE102021208453A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102019209228A1 (de) Verfahren und Vorrichtung zum Überprüfen der Robustheit eines künstlichen neuronalen Netzes
DE102021208724A1 (de) Verfahren und Vorrichtung zum automatisierten Erstellen eines maschinellen Lernsystems zur Multi-Sensor-Datenfusion
DE102020202392A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Vorhersagen einer geeigneten Konfiguration eines maschinellen Lernsystems für einen Trainingsdatensatz

Legal Events

Date Code Title Description
R163 Identified publications notified