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

Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems Download PDF

Info

Publication number
DE102020208828A1
DE102020208828A1 DE102020208828.4A DE102020208828A DE102020208828A1 DE 102020208828 A1 DE102020208828 A1 DE 102020208828A1 DE 102020208828 A DE102020208828 A DE 102020208828A DE 102020208828 A1 DE102020208828 A1 DE 102020208828A1
Authority
DE
Germany
Prior art keywords
node
paths
edges
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
DE102020208828.4A
Other languages
English (en)
Inventor
Benedikt Sebastian Staffler
David Stoeckel
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 DE102020208828.4A priority Critical patent/DE102020208828A1/de
Priority to US17/372,142 priority patent/US20220019890A1/en
Priority to CN202110794759.1A priority patent/CN113947208A/zh
Publication of DE102020208828A1 publication Critical patent/DE102020208828A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/2163Partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (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 initial auf einen Wert gesetzt, dass Pfade ausgehend von der jeweiligen Kante bis zum Ausgangsknoten mit gleicher Wahrscheinlichkeit gezogen werden.

Description

  • Die Erfindung betrifft ein Verfahren zum Erstellen eines maschinellen Lernsystems unter Verwendung eines Architekturmodells, insbesondere eines „One-shot Modells“, mit inital gleich wahrscheinlichen Pfaden, ein Computerprogramm und ein maschinenlesbares Speichermedium.
  • Stand der Technik
  • Das Ziel von Architektursuche für neuronale Netzwerke ist es für einen vorgegebenen Datensatz vollautomatisch eine gute Netzwerkarchitektur im Sinne einer Leistungskennzahl/Metrik 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 den Eingangsknoten der Kante in den 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.
  • Dabei wird typischerweise eine Wahrscheinlichkeitsverteilung über die ausgehenden Kanten eines Knotens definiert und mit gleichen Wahrscheinlichkeiten für alle Kanten initialisiert, wie z.B. gezeigt durch Guo et al. (2019)
  • 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 vor, Wahrscheinlichkeiten der ausgehenden Kanten nicht für jede Kante gleich zu wählen, sondern so, dass jeder mögliche Pfad durch das One-Shot Modell die gleiche Wahrscheinlichkeit aufweist. Es kann also gesagt werden, dass die Wahrscheinlichkeitsverteilungen der Kanten derart initialisiert werden, dass alle Pfade von Eingangsknoten zum Ausgangsknoten die gleiche Wahrscheinlichkeit aufweisen, gezogen zu werden.
  • Die Erfindung erlaubt es Pfade aus einem One-Shot Modell zu ziehen ohne implizite Bevorzugung einzelner Pfade. Dadurch werden alle Architekturen des Suchraums initial gleich oft gezogen und der Suchraum unvoreingenommen exploriert. Dies hat den Vorteil, dass schlussendlich überlegenere Architekturen gefunden werden können, die bei gewöhnlicher Initialisierung der Kanten nicht aufgefunden werden würden.
  • Offenbarung der Erfindung
  • In einem ersten Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Erstellen eines maschinellen Lernsystems, welche vorzugsweise für Bildverarbeitung verwendet werden können.
  • Das Verfahren umfasst zumindest folgende Schritte:
    • Bereitstellen eines gerichteten Graphen mit einem Eingangs- und Ausgangsknoten, welche über eine Mehrzahl von Kanten und Knoten verbunden sind. Jeder Kante ist jeweils eine Wahrscheinlichkeit zugeordnet, welche charakterisiert mit welcher Wahrscheinlichkeit die Kante aus allen ausgehenden Kanten von einem Knoten gezogen wird. Die Wahrscheinlichkeiten werden initial auf einen Wert gesetzt, sodass jeder Pfad ausgehend vom Eingangsknoten bis zum Ausgangsknoten mit gleicher Wahrscheinlichkeit gezogen wird. Daraufhin folgt ein zufälliges Ziehen einer Mehrzahl von Pfaden durch den Graphen und Anlernen der den Pfaden korrespondierenden maschinellen Lernsysteme. Beim Anlernen werden Parameter des maschinellen Lernsystems und die Wahrscheinlichkeiten der Kanten des Pfades angepasst, sodass eine Kostenfunktion optimiert wird.
  • Daraufhin folgt ein Ziehen eines Pfades abhängig von den angepassten Wahrscheinlichkeiten. Vorzugsweise wird hier der Pfad mit der höchsten Wahrscheinlichkeit ausgewählt. Die Wahrscheinlichkeit eines Pfades ist gegeben durch das Produkt der Wahrscheinlichkeit all seiner Kanten. Danach folgt ein Erstellen des diesem Pfad korrespondierende zugehörige maschinelle Lernsystem.
  • Alternativ kann das Ziehen des Pfades im letzten Schritt, insbesondere nachdem das Optimieren der Kostenfunktion abgeschlossen wurde, zufällig erfolgen oder es können gezielt den Kanten mit den höchsten Wahrscheinlichkeiten bis zum Ausgangsknoten gefolgt werden, um den Pfad zu erhalten.
  • Weiterhin wird vorgeschlagen, dass beim Ziehen des Pfades der Pfad iterativ erstellt wird, wobei an jedem Knoten die nachfolgende Kante zufällig aus der möglichen nachfolgenden Kanten, die mit diesem Knoten verbunden sind, abhängig von deren zugeordneten Wahrscheinlichkeit ausgewählt werden.
  • Vorzugsweise ist das maschinelle Lernsystem ein künstliches neuronales Netz, welches zur Segmentierung und Objektdetektion in Bildern eingerichtet sein kann.
  • In einem weiteren Aspekt der Erfindung wird vorgeschlagen, dass das maschinelle Lernsystem angelernt wird, um abhängig von einer erfassten Sensorgröße eines Sensors eine Ausgangsgröße ermittelt, die daraufhin zum Ermitteln einer Steuergröße mittels einer Steuereinheit verwendet werden kann. Dabei kann das maschinelle Lernsystem für eine Objektdetektion angelernt worden sein und abhängig von einem detektierten Objekt mittels des maschinellen Lernsystem kann dann die Steuergröße ermittelt werden.
  • Die Steuergröße kann zum Steuern eines Aktors eines technischen Systems verwendet werden. Das technische System kann zum Beispiel eine zumindest teilautonome Maschine, ein zumindest teilautonomes Fahrzeug, ein Roboter, ein Werkzeug, eine Werkmaschine oder ein Flugobjekt wie eine Drohne sein. Die Eingangsgröße kann bspw. abhängig von erfassten Sensordaten ermittelt und dem maschinellen Lernsystem bereitgestellt werden. Die Sensordaten können von einem Sensor, wie z.B. einer Kamera, des technischen Systems erfasst oder alternativ von extern empfangen werden.
  • In weiteren Aspekten betrifft die Erfindung ein Computerprogramm, das eingerichtet, 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 schematisch einen gerichteten azyklischeren Multigraphen mit Standardinitialisierung;
    • 2 schematische Darstellung eines Flussdiagramms zur Initialisierung von Kanten;
    • 3 schematische Darstellung eines Aktor-Steuerungssystems;
    • 4 ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
    • 5 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
    • 6 schematisch ein Ausführungsbeispiel zur Steuerung eines Zugangssystems;
    • 7 schematisch ein Ausführungsbeispiel zur Steuerung eines Überwachungssystems;
    • 8 schematisch ein Ausführungsbeispiel zur Steuerung eines persönlichen Assistenten;
    • 9 schematisch ein Ausführungsbeispiel zur Steuerung eines medizinisch bildgebenden Systems;
    • 10 einen möglichen Aufbau einer Trainingsvorrichtung;
  • Um gute Architekturen von tiefen neuronale 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 den Begriff Operation, was eine Berechnungsvorschrift beschreibt, die ein oder mehrere n-dimensionale Inputdatentensoren in ein oder mehrere Outputdatentensoren überführt, und dabei adaptierbare Parameter haben kann. Als Operationen werden in der Bildverarbeiten z.B. häufig Faltungen mit verschiedenen Kernel-Größen und unterschiedliche Arten von Faltungen (reguläre Faltung, depthwise-separabel Faltung) und Pooling-Operationen verwendet.
  • Ferner soll im Folgenden ein Berechnungsgraph (das sogenannte One-Shot Modell) definiert wird, welcher alle 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 den einzelnen Pfaden 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 Operation gezogen wird, und dieses Vorgehen dann iterative 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 abwechseln mit dem Training der Gewichte durchgeführt werden.
  • Für die automatische Architektursuche soll nun ein gerichteter azyklischer Multigraphen mit Knoten ni und Kanten n i , j k
    Figure DE102020208828A1_0001
    von ni zu nj, wobei k die Multiplizität der Kanten beschreibt, betrachtet werden. Zusätzlich hat der Graph einen Eingangsknoten n0 und einem Ausgangsknoten nL und eine Topologie, so dass alle Pfade, die am Eingangsknoten starten zum Ausgangsknoten führen. Ausgehend vom Ausgangsknoten nL kann nun iterativ für jeden Knoten die Anzahl der Pfade N zum Ausgangsknoten bestimmt werden: N ( n L ) = 0 N ( n i ) = j , k N ( n j ) # { n ( i , j ) k }
    Figure DE102020208828A1_0002
    wobei # { n ( i , j ) k }
    Figure DE102020208828A1_0003
    die Anzahl der Kanten zwischen den Knoten ni und nj ist. Insbesondere ist N(n0) die Gesamtzahl der Pfade im dem Graph.
  • Wird nun für jede Kante die Wahrscheinlichkeit festgelegt: p ( n i , j k ) = N ( n j ) / N ( n i ) ,
    Figure DE102020208828A1_0004
    so gilt für alle ausgehenden Pfade von einem Knoten ni: j , k p ( n i , j k ) = 1 N ( n i ) j , k N ( n j ) = 1 N ( n i ) j N ( n j ) # { n i , j k } = 1
    Figure DE102020208828A1_0005
    d.h. p ( n i , j k )
    Figure DE102020208828A1_0006
    definierteine Wahrscheinlichkeitsverteilung über die ausgehenden Kanten von ni. Außerdem gilt für die Wahrscheinlichkeit eines Pfades g welcher aus den Kanten n i , j k
    Figure DE102020208828A1_0007
    besteht berechnet sich aus dem Produkt der Wahrscheinlichkeiten aller Kanten in dem Pfad zu: P ( g ) = n i , j k g p ( n i , j k ) = N ( n L ) N ( n 0 ) = 1 N ( n 0 )
    Figure DE102020208828A1_0008
    d.h. alle Pfade besitzen dieselbe Wahrscheinlichkeit.
  • Dies ist in 1 schematisch veranschaulicht. 1 zeigt einen ersten gerichteten azyklischen Multigraphen (10) mit einer minimalen Anzahl von Knoten (100) mit der Standardinitialisierung. D.h. alle ausgehenden Kanten von einem Knoten weißen die gleiche Wahrscheinlichkeit von 0.5 oder 1 auf. In diesem Fall hat der Pfad vom Eingang nach unten führt eine höhere Wahrscheinlichkeit von 0.5 als die beiden Pfade die vom Eingang zum oberen Knoten führen, die jeweils eine Wahrscheinlichkeit von 0.25 aufweisen. Der zweit gerichtete azyklische Multigraph (11) mit einer minimalen Anzahl von Knoten (100) hat die oben vorgeschlagene Initialisierung, welche dafür sorgt, dass alle Pfade die gleiche Wahrscheinlichkeit haben.
  • 2 zeigt schematisch ein Flussdiagramm (20) des Verfahrens zur Initialisierung der Kanten eines gerichteten azyklischen Multigraphen und zur Architektursuche mit diesem Multigraphen.
  • Die automatische Architektursuche kann dann wie folgt durchgeführt werden. Die automatische Architektursuche benötigt zuerst die Erstellung eines Suchraums (S21), welcher hier in der Form eines One-Shot Modells gegeben sein kann. Das One-Shot Modell ist dabei ein Multigraph wie oben beschrieben. Vor dem Training werden die Wahrscheinlichkeiten wie in (Gl. 3). beschrieben initialisiert (S22). Dadurch haben alle Pfade in dem One-Shot Modell die gleiche Wahrscheinlichkeit gezogen zu werden.
  • Anschließend kann jede Form der Architektursuche verwendet werden, welche Pfade aus einem One-Shot Modell zieht (S23).
  • Im nachfolgenden Schritt (S24) werden dann die gezogenen maschinellen Lernsysteme, die den Pfaden entsprechen, trainiert und auch die Wahrscheinlichkeiten abhängig von dem Training angepasst.
  • Es sei angemerkt, dass Optimierung 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 S23 und S24 können mehrmals hintereinander wiederholt werden. Anschließend kann basierend auf dem Multigraphen ein finaler Pfad gezogen werden und ein korrespondierendes maschinelles Lernsystem gemäß diesem Pfad initialisiert werden.
  • Vorzugsweise ist das maschinelle Lernsystem ein künstliches neuronales Netz 60 (abgebildet in 3) und wird im nachfolgenden erläutert verwendet.
  • 3 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.
  • Das Überwachungssignal d charakterisiert, ob das neuronale Netz 60 die Ausgangsgrößen y zuverlässig ermittelt, oder nicht. Wenn das Überwachungssignal d eine Unzuverlässigkeit charakterisiert, kann beispielsweise vorgesehen sein, dass das Ansteuersignal A entsprechend eines abgesicherten Betriebsmodus ermittelt wird (während es andernfalls in einem normalen Betriebsmodus ermittelt wird). Der abgesicherte Betriebsmodus kann beispielsweise beinhalten, dass eine Dynamik des Aktors 10 reduziert wird, oder dass Funktionalitäten zur Ansteuerung des Aktors 10 ausgeschaltet.
  • 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.
  • 4 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.
  • 5 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.
  • 6 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.
  • 7 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.
  • 8 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.
  • 9 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.
  • 10 zeigt eine beispielhafte zweite Trainingsvorrichtung 140 zum eines gezogenen maschinellen Lernsystems aus dem Multigraphen Trainieren des neuronalen Netzes 60. Trainingsvorrichtung 140 umfasst einen Bereitsteller 71, der Eingangsbilder x und Soll-Ausgangsgrößen ys, beispielsweise Soll-Klassifikationen, bereitstellt. Eingangsbild 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 (7)

  1. Computerimplementiertes Verfahren zum Erstellen eines maschinellen Lernsystem, umfassend folgende Schritte: Bereitstellen eines gerichteten Graphen (11) mit einem Eingangs- und Ausgangsknoten, welche über eine Mehrzahl von Kanten (100) und Knoten verbunden sind, wobei jeder Kante jeweils eine Wahrscheinlichkeit zugeordnet ist, welche charakterisiert mit welcher Wahrscheinlichkeit die jeweilige Kante gezogen wird, wobei die Wahrscheinlichkeiten initial auf einen Wert gesetzt werden, dass Pfade ausgehend von der jeweiligen Kante bis zum Ausgangsknoten mit gleicher Wahrscheinlichkeit gezogen werden; Zufälliges ziehen einer Mehrzahl von Pfade durch den Graphen und Anlernen der den Pfaden korrespondierenden maschinellen Lernsysteme, und wobei beim Anlernen Parameter des maschinellen Lernsystems und die Wahrscheinlichkeiten der Kanten des Pfades angepasst werden, sodass eine Kostenfunktion optimiert wird; und Ziehen eines Pfades abhängig von den angepassten Wahrscheinlichkeiten und Erstellen des diesem Pfad korrespondierende maschinelle Lernsystem.
  2. Verfahren nach Anspruch 1, wobei ausgehend von einem ausgewählten Knoten alle möglichen Pfade bis zum Ausgangsknoten gezählt werden, wobei der Wert der Wahrscheinlichkeiten derjenigen Kanten, die ausgehend von dem ausgewählten Knoten verbunden sind, jeweils initial auf eine Anzahl der möglichen Pfade, die über diejenige Kante verlaufen, dividiert durch die Anzahl der gezählten, möglichen Pfade gesetzt wird.
  3. Verfahren nach Anspruch 1 oder 2, wobei für jeden Knoten des gerichteten Graphen (11) alle möglichen Pfade bis zum Ausgangsknoten gezählt werden, wobei der Wert der Wahrscheinlichkeiten der Kanten initial auf die Anzahl der möglichen Pfade vom Ausgangsknoten der jeweiligen Kante dividiert durch die Anzahl der möglichen Pfade des Eingangsknoten der Kante gesetzt wird
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei beim Ziehen des Pfades der Pfad iterativ erstellt wird, wobei an jedem Knoten die nachfolgende Kante zufällig aus der möglichen nachfolgenden Kanten, die mit diesem Knoten verbunden sind, abhängig von deren zugeordneten Wahrscheinlichkeit ausgewählt werden.
  5. 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.
  6. Maschinenlesbares Speicherelement auf welchem das Computerprogramm nach Anspruch 5 hinterlegt ist.
  7. Vorrichtung, welche eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 4 auszuführen.
DE102020208828.4A 2020-07-15 2020-07-15 Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems Pending DE102020208828A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020208828.4A DE102020208828A1 (de) 2020-07-15 2020-07-15 Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
US17/372,142 US20220019890A1 (en) 2020-07-15 2021-07-09 Method and device for creating a machine learning system
CN202110794759.1A CN113947208A (zh) 2020-07-15 2021-07-14 用于创建机器学习系统的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020208828.4A DE102020208828A1 (de) 2020-07-15 2020-07-15 Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems

Publications (1)

Publication Number Publication Date
DE102020208828A1 true DE102020208828A1 (de) 2022-01-20

Family

ID=79020774

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020208828.4A Pending DE102020208828A1 (de) 2020-07-15 2020-07-15 Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems

Country Status (3)

Country Link
US (1) US20220019890A1 (de)
CN (1) CN113947208A (de)
DE (1) DE102020208828A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230297580A1 (en) * 2022-03-17 2023-09-21 Google Llc Hybrid and Hierarchical Multi-Trial and OneShot Neural Architecture Search on Datacenter Machine Learning Accelerators

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110199278A (zh) * 2016-11-25 2019-09-03 西门子股份公司 计算机网络中的高效数据传播

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GUO, Zichao [u.a.]: Single path one-shot neural architecture Search with Uniform Sampling. Version 3, 06-04-2019. S. 1-14. URL: https://arxiv.org/pdf/1904.00420v3.pdf [abgerufen am 2020-08-14].

Also Published As

Publication number Publication date
CN113947208A (zh) 2022-01-18
US20220019890A1 (en) 2022-01-20

Similar Documents

Publication Publication Date Title
DE102019209565A1 (de) Verfahren und Vorrichtung zum Überprüfen der Robustheit eines künstlichen neuronalen Netzes
DE102020210352A1 (de) Verfahren und Vorrichtung zum Transferlernen zwischen modifizierten Aufgaben
DE102020212515A1 (de) Verfahren und Vorrichtung zum Trainieren eines maschinellen Lernsystems
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
DE202020101012U1 (de) Vorrichtung zum Vorhersagen einer geeigneten Konfiguration eines maschinellen Lernsystems für einen Trainingsdatensatz
DE102020208828A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102020211262A1 (de) Verfahren und Vorrichtung zum Komprimieren eines neuronalen Netzes
WO2020173700A1 (de) Verfahren und vorrichtung zum betreiben eines steuerungssystems
WO2020260016A1 (de) Verfahren und vorrichtung zum trainieren eines maschinellen lernsystems
EP3857822A1 (de) Verfahren und vorrichtung zum ermitteln eines ansteuersignals
DE102020208309A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE202020104005U1 (de) Vorrichtung zum Erstellen eines Systems zum automatisierten Erstellen von maschinellen Lernsystemen
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
DE102020212514A1 (de) Verfahren zur Ermittlung eines Ausgabesignals mittels eines maschinellen Lernsystems
DE102022201679A1 (de) Verfahren und Vorrichtung zum Trainieren eines neuronalen Netzes
DE102020211714A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
WO2023006597A1 (de) Verfahren und vorrichtung zum erstellen eines maschinellen lernsystems
WO2020126379A1 (de) Verfahren und vorrichtung zum klassifizieren von sensordaten und zum ermitteln eines ansteuersignals zum ansteuern eines aktors
DE102021208453A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE202019103046U1 (de) Vorrichtung zur Vorhersage einer Lernkurve
DE102018216078A1 (de) Verfahren und Vorrichtung zum Betreiben eines Steuerungssystems
DE102021207937A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems mit einer Mehrzahl von Ausgängen
DE102021208724A1 (de) Verfahren und Vorrichtung zum automatisierten Erstellen eines maschinellen Lernsystems zur Multi-Sensor-Datenfusion

Legal Events

Date Code Title Description
R163 Identified publications notified