-
Die Erfindung betrifft ein Verfahren zum Erstellen eines maschinellen Lernsystems bspw. zur Segmentierung und/oder Objektdetektion, wobei das maschinelle Lernsystem Multi-Sensor-Datenfusion zum Ermitteln seiner Ausgangsgrößen betreibt, ein entsprechendes Computerprogramm und ein maschinenlesbares Speichermedium mit dem Computerprogramm.
-
Stand der Technik
-
Das Ziel einer Architektursuche 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 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, insbesondere zufällig, 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 Inputknoten 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.
-
Für bestimmte Aufgaben wie Objektdetektion oder bei multi-Task Netzwerken ist es notwendig, dass das Netzwerk mehrere Ausgänge aufweist. Gradientenbasiertes Training des vollständigen One-Shot Modells kann dabei für diesen Fall modifiziert werden, wie z.B. gezeigt durch Chen, W., Gong, X., Liu, X., Zhang, Q., Li, Y., & Wang, Z. (2019). FasterSeg: Searching for Faster Real-time Semantic Segmentation. arXiv preprint arXiv:1912.10917. Dies ist aber wiederum nicht speichereffizient und zeigt nicht das Ziehen von Architekturen mit Verzweigungen und mit unterschiedlichen Outputs während des Trainings im Rahmen der Architektursuche.
-
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.
-
Jedoch haben die bekannten Architektursuchen mit One-Shot Modellen die Einschränkung, dass diese nicht über eine Mehrzahl von möglichen Eingangsknoten optimieren können. Interessant sind jedoch mehrere Eingänge, z. B. im Zusammenhang mit mehreren, unterschiedlichen Sensoren, die komplementäre Informationen liefern können.
-
Vorteile der Erfindung
-
Die gegenwärtige Erfindung verbessert die Architektursuche in zweifacher Weise. Denn zum einen ermöglicht die Erfindung einen optimalen Eingang oder eine Mehrzahl von optimalen Eingängen aufzufinden. Dies erlaubt es, z.B. die Daten mehrerer Sensoren zu fusionieren und automatisch zu lernen, in welcher Tiefe der Architektur die Informationen verschiedener Sensoren kombiniert werden sollten (frühe, mittlere oder späte Fusion).
-
Des Weiteren ermöglicht die Erfindung, dass Strukturen von Detektionsköpfen (engl. detection heads), die an sog. Nodes of Interest (NOIs) Knoten angebracht werden können, zu optimieren. Es ist damit auch möglich, die Architektur über die Ausgänge zu optimieren.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Erstellen eines maschinellen Lernsystems zur Sensordatenfusion. Das maschinelle Lernsystem umfasst hierfür eine Mehrzahl von Eingänge für die Sensordaten auf. Die Sensordaten, insbesondere die an die Eingänge bereitgestellten Sensordaten, stammen von einer Mehrzahl von gleichen Sensortypen, die z.B. Sensordaten aus unterschiedlichen Perspektiven erfassen, und/oder von unterschiedlichen Sensortypen und stellen damit dem maschinellen Lernsystem unterschiedliche Informationen bereit.
-
Das Verfahren umfasst die folgenden Schritte: Bereitstellen eines gerichteten Graphen, wobei der gerichtete Graph eine Mehrzahl von Eingangsknoten und zumindest einen Ausgangsknoten und eine Mehrzahl von weiteren Knoten aufweist. Der Ausgangsknoten kann ein fester Knoten des Graphen sein, welcher mit keinen weiteren nachfolgenden Knoten verbunden ist. Alternativ kann der Ausgangsknoten auch ein beliebiger Knoten aus einer vorgegebenen Untermenge der Knoten des Graphen sein, welche als Ausgangsknoten z.B. aufgrund deren Datenauflösung, geeignet sind. Die Eingangs-und Ausgangsknoten sind über die weiteren Knoten mittels gerichteten Kanten verbunden. Die Knoten können Daten und die Kanten Operationen darstellen, die einen ersten Knoten der Kanten in einen weiteren mit der jeweiligen Kante verbundenen Knoten überführen. Es sei angemerkt, dass diese Zuordnung der Daten und Berechnungsvorschriften auch andersherum erfolgen kann. Den Kanten ist jeweils eine Wahrscheinlichkeit zugeordnet, welche charakterisiert mit welcher Wahrscheinlichkeit die jeweilige Kante gezogen wird. Es sei angemerkt, dass alternativ ein Zuordnen der Wahrscheinlichkeiten der Knoten denkbar ist.
-
Eine Normierung der Wahrscheinlichkeiten der Kanten sollte derart erfolgen, dass alle Wahrscheinlichkeiten der Kanten, die aus einem gemeinsamen Knoten entspringen, aufaddiert den Wert Eins ergeben.
-
Den Eingangsknoten ist auch jeweils eine Wahrscheinlichkeit zugeordnet. Diese Wahrscheinlichkeiten charakterisieren mit welcher Wahrscheinlichkeit die Eingangsknoten gezogen werden. Vorzugsweise ist diese Wahrscheinlichkeit normiert, sodass die einzelnen Wahrscheinlichkeiten der Eingangsknoten aufsummiert den Wert Eins ergeben. Es ist möglich, dass der gerichtete Graph eine Mehrzahl von Ausgangsknoten aufweist. In diesem Fall können die Wahrscheinlichkeiten abhängig vom jeweiligen Knoten definiert werden und z.B. auch aufsummiert über eine Untermenge der Eingangsknoten bereits den Wert Eins ergeben. In anderen Worten, die Wahrscheinlichkeiten der Eingangsknoten können als bedingte Wahrscheinlichkeiten für einen gegebenen Ausgangsknoten definiert sein. Dies führt dazu, dass abhängig von den Ausgangsknoten nicht jeder Eingangsknoten verwendet wird. Dies impliziert, dass jedem Eingangsknoten abhängig vom ausgewählten Ausgangsknoten unterschiedliche Wahrscheinlichkeiten zugeordnet sein können. Darüber hinaus ist denkbar, dass für einen gegebenen Ausgangsknoten auch mehrere Eingangsknoten gezogen werden können, wobei hierfür die Wahrscheinlichkeiten über Paare/Triplets etc. von Eingangsknoten definiert sein können.
-
Daraufhin folgt ein Auswählen eines oder mehrerer Pfade durch den Graphen. Hierfür wird aus der Mehrzahl der Eingangsknoten ein oder zumindest zwei Eingangsknoten abhängig von den der Eingangsknoten zugeordneten Wahrscheinlichkeiten, insbesondere zufällig, gezogen. Denkbar ist, dass das Ziehen abhängig von einem Ausgangsknoten erfolgen kann. Die Pfade werden jeweils dem gezogenen Eingangsknoten entlang der Kanten bis zum Ausgangsknoten abhängig von den der Kanten zugeordneten Wahrscheinlichkeit gewählt. Es ist auch denkbar, dass nur ein Eingangsknoten und damit auch nur ein Pfad gezogen wird. Damit kann aus der Mehrzahl der Eingangsknoten der optimale Eingangsknoten ausgewählt werden.
-
Das Auswählen des Pfades kann iterativ erfolgen, wobei an jedem Knoten 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. Dieses Vorgehen wird im Folgenden auch als Ziehen des Pfades bezeichnet. Der Pfad stellt also eine direkte Verbindung des Eingangsknoten mit dem Ausgangsknoten dar. Das Ziehen des Pfades kann durch ein vorwärtsgerichtetes Ziehen beginnend beim gezogen Eingangsknoten mittels eines schrittweisen Ziehens der Kanten oder kann durch ein rückwärtsgerichtetes Ziehen beginnend bei dem Ausgangsknoten mittels eines schrittweisen Ziehens rückwärts entlang der Kanten erfolgen.
-
Unter dem Pfad kann hier eine Folge von ausgewählten Knoten des gerichteten Graphen verstanden werden, in welcher jeweils zwei aufeinanderfolgende Knoten durch eine Kante verbunden sind. Der Pfad kann dabei die Architektur vollständig charakterisieren, wenn die Architektur nur einen Pfad durch den gerichteten Graphen aufweist. Denkbar ist auch, dass der Pfad nur einen Teil der Architektur beschreibt, nämlich dann, wenn die Architektur mehrere Pfade durch den Graphen aufweist. Die mehreren Pfade bilden dann zusammen einen Subgraph, der effektiv zumindest zwei sich kreuzende Pfade oder einen sich in zwei Pfade aufspaltenden Pfad durch den Graph beschreibt. Der Subgraph kann aber auch nur einen Pfad aufweisen, wobei dann dieser Pfad den Subgraphen vollständig beschreibt.
-
Daraufhin folgt ein Erstellen eines maschinellen Lernsystems abhängig von den gewählten Pfaden und Anlernen des erstellten maschinellen Lernsystems, wobei angepasste Parameter des angelernten maschinellen Lernsystems in den korrespondierenden Kanten des gerichteten Graphen hinterlegt werden und die Wahrscheinlichkeiten der Kanten und des gezogenen Eingangsknoten des Pfades angepasst werden. Die Anpassung der Wahrscheinlichkeiten kann hierbei über einen sog. Black-Box Optimierer erfolgen, welcher bspw. den REINFORCE-Algorithmus anwendet (siehe hierzu zum Beispiel die oben zitierte Literatur „ProxylessNAS“), um Gradienten zum Anpassen der Wahrscheinlichkeiten zu schätzen.
-
Daraufhin folgt ein mehrmaliges Wiederhohlen der vorhergehenden Schritte „Auswählen der Pfade“ und „Erstellen und Anlernen eines maschinellen Lernsystems“. Daraufhin folgt ein letztes Erstellen des maschinelles Lernsystems abhängig von dem gerichteten Graphen. Das Ziehen des Pfades in dem letzten Schritt kann zufällig erfolgen oder es werden die Kanten mit den höchsten Wahrscheinlichkeiten gezielt ausgewählt.
-
Es wird vorgeschlagen, dass aus der Mehrzahl der weiteren Knoten eine Untermenge bestimmt wird, die alle eine vorgegebene Eigenschaft hinsichtlich einer Datenauflösung erfüllen, wobei aus dieser Untermenge zumindest ein zusätzlicher Knoten (engl. Node of Interest, NOI) gewählt wird, der als weiterer Ausgangsknoten des maschinellen Lernsystems dienen kann. Für einen Eingangs- und einen Ausgangsknoten des Pfades wird ein erster Teilpfad durch den Graphen vom Eingangsknoten entlang der Kanten zu dem zusätzlichen Knoten (NOI) und ein zweiter Teilpfad durch den Graphen vom Eingangsknoten entlang der Kanten zu dem Ausgangsknoten oder der Pfad wird durch den Graphen vom Eingangsknoten entlang der Kanten über den zusätzlichen Knoten (NOI) zu dem Ausgangsknoten gezogen. Die Bestimmung der Teilpfade wird für jeden weiteren Eingangs- und Ausgangsknoten wiederholt.
-
Weiterhin wird vorgeschlagen, dass dann, wenn der zweite Pfad auf den bereits gezogenen, ersten Pfad trifft, der restliche Abschnitt des ersten Pfades für den zweiten Pfades verwendet wird.
-
Es wird ferner vorgeschlagen, dass die Untermenge der Knoten in Sets von zusätzlichen Knoten (NOI) eingeteilt wird. Es wird jedem zusätzlichen Knoten (NOI) eine Wahrscheinlichkeit zugeordnet, welche charakterisiert, mit welcher Wahrscheinlichkeit der Knoten aus dem Set, in welchem dieser eingeteilt wurde, gezogen wird. Beim Auswählen des Pfades aus jedem der Sets wird jeweils ein zusätzlicher Knoten (NOI) zufällig gezogen und wobei beim Anlernen auch diese Wahrscheinlichkeit angepasst wird.
-
Es wird ferner vorgeschlagen, dass zu jedem zusätzlichen Knoten (NOI) oder Set von zusätzlichen Knoten (NOI) eine Mehrzahl von aufgabenspezifischen Köpfen (engl. heads) zugeordnet ist. Jedem aufgabenspezifischen Kopf wird eine Wahrscheinlichkeit zugeordnet ist, welche charakterisiert, mit welcher Wahrscheinlichkeit die aufgabenspezifischen Köpfe gezogen werden, wobei beim Auswählen des Pfades für die aufgabenspezifischen Köpfe abhängig von den der aufgabenspezifischen Köpfen zugeordneten Wahrscheinlichkeiten aus einer Mehrzahl von aufgabenspezifischen Köpfen einer der aufgabenspezifischen Köpfen gezogen wird.
-
Unter aufgabenspezifischen Köpfen kann verstanden werden, dass diese Köpfe abhängig von dem Ausgang des zusätzlichen Knotens eine Objektklassifikation insbesondere Objektbeschreibung ermitteln. In anderen Worten umfassen die Köpfe zumindest einen Knoten, welcher eine Ausgabe des zusätzlichen Knoten (NOI) in eine Größe transformiert, die eine Eingangsgröße des maschinellen Lernsystems, insbesondere hinsichtlich einer vorbestimmten Aufgabe oder Verwendung des maschinellen Lernsystems, charakterisiert. Vorzugsweise beschreiben die aufgabenspezifischen Köpfe ein kleines neuronales Netz, z.B. mit 2, 3 oder 5 Schichten.
-
Es wird ferner vorgeschlagen, dass der gerichtete Graph einen ersten Suchraum aufweist, wobei hier eine Auflösung der Daten, welche jeweils den Knoten zugeordnet ist, stetig mit der Anzahl der verbundenen Knoten bis zu einem der Eingangsknoten reduziert wird. Ferner hat der Graph einen zweiten Suchraum, welcher die zusätzlichen Knoten (NOI) aufweist, wobei Sets von zusätzlichen Knoten (NOI) jeweils einem Knoten des ersten Suchraums angehängt werden.
-
Der Vorteil ist hierbei, dass hiermit sog. FPN Architekturen optimiert werden können. Der erste und zweite Suchraum sind direkte miteinander verbunden. Unter einem Suchraum kann eine Menge von Knoten verstanden werden, die gemeinsam eine Vielzahl von möglichen Architekturen beschreiben.
-
Es wird ferner vorgeschlagen, dass die Ausgänge des maschinellen Lernsystems eine Segmentierung, Objektdetektion, Tiefenabschätzung, Gesten-/Verhaltenserkennung ausgeben und die Eingangsknoten folgende Daten bereitstellen können: Kamerabilder, Lidar-, Radar-, Ultraschall-, Wärmebild-, Mikroskopie-daten, insbesondere diese Daten aus unterschiedlichen Perspektiven.
-
Bevorzugt wird auf die Wahrscheinlichkeiten eine Softmax-Funktion und die Kanten bzw. entsprechenden Konten werden dann abhängig von den Ausgaben der Softmax-Funktion zufällig gezogen. Dies hat den Vorteil, dass die Softmax-Funktion garantiert, dass eine Akkumulierung der Wahrscheinlichkeiten der immer den Wert Eins ergibt. Dieser Vorteil erzeugt die vorteilhafte Wirkung, dass der probabilistische Charakter des Ziehens der Pfade erhalten bleibt und damit zuverlässiger eine optimale Architektur aufgefunden wird.
-
Es wird ferner vorgeschlagen, dass beim Anlernen der maschinellen Lernsysteme eine Kostenfunktion optimiert wird, wobei die Kostenfunktion eine erste Funktion aufweist, die eine Leistungsfähigkeit des maschinellen Lernsystems hinsichtlich dessen Segmentierung und Objekterkennung/Objektbeschreibung bewertet und eine zweite Funktion aufweist, welcher abhängig von einer Länge des Pfades und den Operationen der Kanten eine Latenzzeit o.ä. des maschinellen Lernsystems schätzt.
-
Besonders bevorzugt hat das zu erstellende maschinelle Lernsystem zumindest zwei Ausgänge, welche zur Segmentierung und Objektdetektion von Bildern eingerichtet ist, wobei das maschinelle Lernsystem einen Eingang zum Aufnehmen des Bildes und zwei Ausgänge aufweist, wobei ein erster Ausgang die Segmentierung des Bildes und ein zweiter Ausgang die Objektdetektion ausgibt. Der zweite Ausgang kann alternativ eine andere Objektbeschreibung der Objekte auf dem Bild ausgeben, wie eine Objektklassifikation.
-
Zusätzlich oder alternativ können die Aufgaben des maschinellen Lernsystems wie folgt sein: natürliche Sprachverarbeitung (engl. natural language processing, Autoencoder, Generative Modelle (engl. generative models) etc., wobei die unterschiedlichen Ausgänge jeweils unterschiedliche Eigenschaften des Eingangssignals hinsichtlich der Aufgabe charakterisieren.
-
Vorzugsweise sind die maschinellen Lernsysteme neuronale Netze.
-
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 schematisch eines One-Shot Modell mit mehreren Eingangs- und einem Ausgangs-Knoten sowie drei Sets von ‚Nodes of Interest‘ (NOI);
- 2 schematisch ein rückwärtsgerichtetes und vorwärtsgerichtetes Ziehen eines Pfades durch das One-Shot Modell;
- 3 schematisch ein One-Shot Modell für FPT Netzwerke;
- 4 schematisch ein One-Shot Modell mit mehreren Eingangs- und Ausgangs- Knoten;
- 5 schematische Darstellung eines Flussdiagramms einer Ausführungsform der Erfindung;
- 6 schematische Darstellung eines Aktor-Steuerungssystems;
- 7 ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
- 8 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
- 9 schematisch ein Ausführungsbeispiel zur Steuerung eines Zugangssystems;
- 10 schematisch ein Ausführungsbeispiel zur Steuerung eines Überwachungssystems;
- 11 schematisch ein Ausführungsbeispiel zur Steuerung eines persönlichen Assistenten;
- 12 schematisch ein Ausführungsbeispiel zur Steuerung eines medizinisch bildgebenden Systems;
- 13 einen möglichen Aufbau einer Trainingsvorrichtung;
-
Um gute Architekturen von tiefen neuronalen Netzwerke für einen vorgegebenen Datensatz zu finden, können automatisierte 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 Graph (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 dem einzelne Pfade von einem festgelegten Eingangsknoten zu einem festgelegten Ausgangsknoten des Netzwerkes gezogen werden.
-
Um Architekturen aus einem One-Shot Modell zu ziehen, welche Verzweigungen und mehrere Outputs haben, kann ein Samplingmodell für die Pfade verwendet werden, bei welchem die Pfade rückwärts durch den Graphen gezogen werden. Hierfür kann der Graph transponiert werden, bzw. die Richtung der Kanten wird umgedreht. Ein derartiges Sampling ist bspw. aus der
DE102020208309 bekannt.
-
Zusätzlich kann der Fall auftreten, dass die gezogenen Architekturen einen oder mehrere Knoten des One-Shot Modells enthalten sollen, die nicht in voller Tiefe des Netzwerkes liegen und im Folgenden NOI (,Nodes of Interest‘) genannt werden, sowie einen optionalen Output in voller Tiefe des One-Shot Modells. In diesem Fall kann das Erstellen des Pfades auch durch ein rückwärts gerichtetes Ziehen für die NOls, um diese mit dem Input zu verbinden, erfolgen. Zusätzlich wird noch ein vorwärtsgerichtetes Ziehen startend von dem jeweiligen NOI durchgeführt, um den Abschnitt des Pfades zu dem Output des One-Shot Modells aufzufinden. Wie beim rückwärtsgerichteten Ziehen kann beim vorwärtsgerichteten Ziehen das Ziehen abgebrochen werden, sobald ein Pfad erreicht wird der bereits zum Input/Output, der aber über einen anderen NOI führt.
-
Als Alternative zu dem rückwärtsgerichteten Ziehen beginnend bei dem NOI kann ein rein vorwärtsgerichtetes Ziehen erfolgen, indem für jeden NOI ein Pfad vom Input zu dem entsprechenden NOI gezogen wird. Dies wird dadurch erreicht, dass das Ziehen nur auf dem entsprechenden Subgraphen durchgeführt wird, welcher aus allen Knoten besteht die auf einem Pfad von dem Input des Netzwerkes zu dem aktuellen NOI liegen sowie allen Kanten des One-Shot Modells zwischen diesen Knoten.
-
Um Architekturen aus einem One-Shot Modell zu ziehen, welche mehrere Eingangsknoten aufweisen sollen oder bei welchem der optimale Eingangsknoten aufgefunden werden soll, wird ein Samplingmodell wie folgt vorgeschlagen. Dieses Samplingmodell kann dann auf Graphen angewendet werden, welche eine Mehrzahl von Eingangs- und/oder Ausgangs-knoten aufweisen, insbesondere aus einer vorgegebenen Menge von Knoten des Graphen einen oder eine Mehrzahl von Knoten als Eingangs- und/oder Ausgangs-knoten aufzufinden.
-
In einer ersten Ausführungsform des Samplingmodells zum Auswählen von Pfaden durch den Graphen mit mehreren Eingangs-/Ausgangsknoten wird ein One-Shot-Modell betrachtet, welches mehrere feste Eingangsknoten aufweist, wobei beim Aufsuchen der optimalen Architektur der optimale Eingangsknoten oder eine optimale Kombination von Eingangsknoten aufgefunden werden sollte(n). Unter festen Eingangsknoten kann verstanden werden, dass diese Knoten im Graphen immer als Eingang dienen und nicht anderweitig umfunktioniert werden können. Ferner kann die erste Ausführungsform erweitert werden, in dem eine vorgegebene Anzahl von festen Ausgangsknoten definiert wird. Unter festen Ausgangsknoten kann verstanden werden, dass die Pfade durch den Graphen an einem dieser Ausgangsknoten enden oder die Pfade bei all den Ausgangsknoten enden, wobei diese Ausgangsknoten im Graphen immer als Ausgang dienen und nicht anderweitig umfunktioniert werden können.
-
Es gibt also
Eingangsknoten in dem Graphen des One-Shot-Modelles, wobei K die Gesamtanzahl der Eingangsknoten angibt. Eingangsknoten sind dadurch gekennzeichnet, dass diese nur mit nachfolgenden Knoten verbunden sind und keine vorhergehende Knoten aufweisen.
-
Ferner wird eine Menge von Nodes of Interest (NOI) definiert: NOI
i =
Hier gibt N die Anzahl der Sets von NOIs an und N
i ist die Anzahl der Knoten der NOls in dem Set NOI
i und
bezeichnet einen einzelnen Knoten des Graphen, welcher ein NOI ist. Die Sets können eine vorgegebene Eigenschaft erfüllen z.B. hinsichtlich einer Datenauflösung oder eine Tiefe der Knoten relativ zum Eingangsknoten, um ein vorgegebenes rezeptives Feld sicherzustellen.
-
Des Weiteren wird jedem Set NOI
i eine Wahrscheinlichkeitsverteilung
über alle Knoten aus diesem Set
definiert. Zusätzlich wird auch eine weitere Wahrscheinlichkeitsverteilung p
inputs|i,i = 1, ...,M über die Eingangsknoten definiert. Vorzugsweise wird diese weitere Wahrscheinlichkeitsverteilung p
inputs jeweils einem Ausgangsknoten i zugeordnet. Denkbar ist auch, dass abhängig vom Ausgangsknoten die möglichen zu erreichenden Eingangsknoten auf eine Untermenge der Eingangsknoten beschränkt ist. D.h. es kann Ausgangsknoten geben, von welchen nicht jeder Eingangsknoten erreicht werden kann/soll, die dann entsprechend nicht in der Wahrscheinlichkeitsverteilung p
inputs enthalten sind.
-
Mit der Notation
wird ein beschränktes One-shot Model beschrieben, welches alle Subgraphen enthält, die einen Eingangsknoten
mit einem jeden NOI aus dem Set NOI
i verbindet. Für jeden Subgraphen
werden Wahrscheinlichkeitsverteilungen definiert, welche eine Wahrscheinlichkeit beschreiben, mit welcher die Kanten und/oder Knoten aus dem Subgraphen gezogen werden. Vorzugsweise erfolgt das Ziehen eines Pfades aus dem Subgraphen gemäß dem Samplemodel durch eine rückwärtsgerichtetes Ziehen von den NOls zu den Inputs durch
-
Die Wahrscheinlichkeitsverteilungen p
inputs|i und
können beliebig initialisiert werden. Bevorzugt werden diese Wahrscheinlichkeiten derart initialisiert, dass die Eingangsknoten durch p
inputs|i alle mit gleicher Wahrscheinlichkeit gezogen werden, sowie dass die NOI innerhalb eines Sets durch
mit gleicher Wahrscheinlichkeit gezogen werden. Diese Initialisierung hat den Vorteil, dass die Architekturen zu Beginn der Architektursuche unvoreingenommen gezogen werden, wodurch Architekturen aufgefunden werden, die andernfalls nicht aufgefunden worden wären. Besonders bevorzugt werden die Wahrscheinlichkeitsverteilungen derart initialisiert, sodass initial alle Pfade
beginnend bei dem Ziehen der NOls und zugehörigen Eingangsknoten mit gleicher Wahrscheinlichkeit gezogen werden.
-
Dies kann derart erfolgen, dass die Wahrscheinlichkeitsverteilungen abhängig von einer Anzahl der Pfade entlang der einzelnen Knoten/Kanten dividiert durch eine Gesamtzahl der Pfade durch den Subgraphen oder Graphen zur Initialisierung verwendet wird.
-
Das Erzeugen der Architekturen erfolgt dann in einem iterativen Prozess durch ein Iterieren über die Sets der NOIs. Hierfür wird abhängig von der Wahrscheinlichkeitsverteilung
aus dem i-ten Set ein einzelner NOI gezogen. Daraufhin wird abhängig von der Wahrscheinlichkeitsverteilung p
inputs |i ein oder eine Mehrzahl von Eingangsknoten gezogen. Anschließend wird für jeden gezogenen Eingangsknoten n
input ein Pfad rückwärts beginnend bei dem gezogenen einzelnen NOI aus dem jeweiligen Set der NOls zu dem entsprechenden Eingangsknoten, insbesondere aus dem Subgraphen g(n
input, NOI
i), gezogen. Dieses Vorgehen wird dann für jedes Set der NOls wiederholt.
-
Die resultierende, gezogene Architektur besteht aus einzelnen Knoten, die jeweils aus einem der Sets der NOI gezogen wurden, die über einen Pfad mit mindestens einem Eingangsknoten verbunden sind.
-
Das Samplingmodell der ersten Ausführungsform hat den Vorteil, dass es durch das Ziehen des Pfades im rückwärtsgerichteten Graphen deutlich Computerressourcen sparsamer ist, da für das rückwärts gerichtete Ziehen die Subgraphen wiederverwendet (bspw. für einen Input und ein Set von NOIs) werden können.
-
1 zeigt schematisch eine Anwendung des Samplingmodells auf einen Graphen G mit mehreren Eingangsknoten (1) und mehreren Sets von NOls (101,102,103). Hierbei soll aus den Sets von NOls jeweils ein Ausgangsknoten gelernt werden sowie den hierzu benötigten Eingangsknoten (Input1, Input2, Input3).
-
Der Graph G ist eine Darstellung eines One-Shot-Modells, wobei die Punkte entsprechen Daten und die Kanten entsprechen Transformationen der Daten). Eine Besonderheit in dieser Darstellung des Graphen G ist, dass mehrere Eingangsknoten (1) gegeben sind und drei Sets möglicher Auswahlmöglichkeiten für Ausgänge (NOI
1,NOI
2,NOI
3). Um einen Pfad zu ziehen, werden die Ausgangsknoten aus dem jeweiligen Satz von NOls (101,102,103) zufällig, insbesondere abhängig von der Wahrscheinlichkeitsverteilung
die Ausgangsknoten (NOI
1,NOI
2,NOI
3) gezogen. Dann werden die Eingänge für jeden Ausgang gezogen (ein Beispiel für die abgetasteten Eingänge wird in
1 neben jedem NOI angezeigt). Anschließend werden Pfade nacheinander für alle Ausgabeknoten zu jedem seiner Eingabeknoten im umgekehrten Graphen gezogen.
-
Vorzugsweise werden beim Ziehen der Pfade, wenn zuvor gezogene Pfad erreicht werden, dem zuvor gezogenen Pfad bis zum Eingang gefolgt. Beispielsweise trifft der Pfad beginnend bei NOI2, kurz vor dem Eingangsknoten Input2 auf den Pfad des NOI3 und verläuft dann entlang des Pfades des NOI3 weiter bis zum Eingangsknoten Input2.
-
Wie in 1 abgebildet, können für die Ausgangsknoten (NOI1,NOI2,NOI3) ein oder mehrere oder gar alle Eingangsknoten gezogen werden.
-
Die Eingangsknoten (Input1,Input2,Input3) können folgende Eingangsdaten bereitstellen bzw. aufnehmen: Kamerabilder, Lidar-, Radar-, Ultraschall-, Wärmebild-, Mikroskopie-daten, insbesondere diese Daten aus unterschiedlichen Perspektiven.
-
In einer bevorzugten Weiterbildung der ersten Ausführungsform kann folgende Modifikation vorgenommen werden. Falls ein weiterer, gezogener Pfad einen Knoten erreicht, welcher in einem der bereits vorhergehenden gezogenen Pfaden, für ein anderes Set der NOls; enthalten ist, dann kann der weitere gezogene Pfad entlang dem bereits gezogenen Pfad weiter verlaufen. Vorzugsweise ist die Entscheidung, ob der bereits vorhandene Pfad verwendet werden soll, abhängig davon, ob dieser Pfad auch zu dem Eingangsknoten führt, welcher für den NOI des weiteren Pfades ausgesucht wurde.
-
In einer zweiten Ausführungsform des Samplingmodells wird ein One-Shot-Modell mit einer Mehrzahl von festen Ausgangsknoten und Eingangsknoten betrachtet.
-
Die zweite Ausführungsform ist analog zu ersten Ausführungsform, aber mit dem Unterschieden, dass die Subgraphen zwischen einem einzelnen Ausgabeknoten und allen möglichen Auswahlmöglichkeiten für einen Input definiert sind. Es werden also die Pfade in dem Graphen anstelle des umgekehrten Subgraphen gezogen. Genauer gesagt wird zunächst ein Eingangsknoten aus der entsprechenden Menge möglicher Eingangsknoten gezogen, dann werden ein oder mehrere Ausgangsknoten abgetastet und der Eingangsknoten mit jedem dieser Ausgangsknoten verbunden, indem ein Pfad im Untergraphen für die aktuellen Eingangsknoten abgetastet wird.
-
In einer dritten Ausführungsform des Samplingmodells wird ein One-Shot-Modell betrachtet, bei welchem sowohl der Eingangsknoten als auch der Ausgangsknoten gezogen werden kann.
-
Das Ziehen der Pfade kann entweder von den Input- oder Output-Knoten ausgehen und wird dann entsprechend vorwärts oder rückwärts durch den Graphen der Pfad gezogen.
-
Die Samplingmodelle der eben erläuterten Ausführungsformen können miteinander Kombiniert werden, um komplexe Architekturen mit mehreren Ein- und/oder Aus-gängen aufzufinden.
-
Eine mögliche Erweiterung des Samplingmodells kann darin liegen, dass das Samplingmodell zusätzlich für eine Suche nach einer Struktur von aufgabenspezifischen Köpfen (engl. heads) verwendet wird, siehe auch 2. Diese aufgabenspezifischen Köpfe können an die NOls aufgesetzt werden. Hierfür kann das betrachtete One-Shot-Modell um zusätzliche Knoten/Kanten erweitert werden, die an jedem NOI angebracht werden können und den aufgabenspezifischen Köpfen entsprechen. Das Ziehen des Pfades erfolgt durch ein erstes Rückwärtsgerichtetes Ziehen beginnend bei den jeweiligen NOls zu den Inputs. Insbesondere ergibt sich daraus eine feste Anzahl von abgetasteten NOI-Knoten. Daraufhin wird das Ziehen in Bezug auf alle aufgabenspezifischen Köpfe ausgeführt sowie das Ziehen der Pfade zu dem Output des Graphen.
-
2 zeigt beispielhaft ein Ziehen von aufgabenspezifischen Köpfen für die NOls mit einem Graphen G, welcher einen Eingangs- und Ausgangsknoten aufweist.
-
Pfade durch den Graph G der
2 können wie in der
DE102020208309 beschrieben gezogen werden, insbesondere indem zuerst rückwärts von den jeweiligen NOls die Pfade zum Input und dann zum Output gezogen werden. Zusätzlich gibt es nun einen weiteren Schritt des Ziehens, wobei hierfür von jedem NOI zum Ziel der aufgabenspezifischen Köpfe, die an jedem NOI angebracht werden können, gezogen wird.
-
In einer weiteren Ausführungsform der 2 kann der Graph G eine Mehrzahl von Eingangs- und Ausgangsknoten aufweisen. Für das Ziehen der Eingangsknoten sei hier auf 1 und insbesondere auf 4 verwiesen.
-
3 zeigt exemplarisch einen Graphen G für eine Architektursuche für ein maschinelles Lernsystem mit einer Mehrzahl von Sets der NOI (101,102,103) sowie mit einer Mehrzahl von aufgabenspezifischen Köpfen (201,202,203). In 3 sind die aufgabenspezifischen Köpfen (201,202,203) beispielhaft dem ersten Set der NOI (101) zugeordnet. Der Graph G aus 3 kann mit dem Samplingmodell dazu verwendet werden, um sog. FPN-Netzwerke mit einem Backbone Netzwerk (12) für z.B. eine Objektdetektion zu erstellen. FPN-Netzwerke sind bspw. aus der Veröffentlichung der Autoren Lin, T. Y., Dollár, P., Girshick, R., He, K., Hariharan, B., & Belongie, S. „Feature pyramid networks for object detection“ In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 2117-2125) bekannt.
-
Vorzugweise beschreibt der Graph G der 3 mehrere unterschiedliche Suchräume. Einer der Suchräume ist für ein Backbone-Netzwerk (12) mit einer Reihe von festen oder durchsuchbaren Ausgabeknoten in verschiedenen Auflösungen. Einer der Suchräume ist der FPN-Suchraum (101-103), welcher an das Backbone-Netzwerk (12) angehängt wird und welcher einen Satz von Output-NOls definiert. Zusätzlich können an den FPN NOls aufgabenspezifischen Köpfen (201,202,203) angebracht werden. Das Ziehen der Pfade im Backbone kann durch rückwärtsgerichtetes Ziehen erfolgen, und wenn das Backbone ein Single-Path-Netzwerk ist, reicht es, nur ein einziges NOI bei der niedrigsten Auflösung (maximale Tiefe im Backbone (12)) zu haben. Das Ziehen aus den Sets der NOls (101,102,103) kann durch rückwärtsgerichtetes Ziehen unter Berücksichtigung des Backbone-Netzwerks (12) erfolgen. Für die aufgabenspezifischen Köpfe kann ein vorwärtsgerichtetes Ziehen ausgehend von dem jeweiligen NOI ausgeführt werden.
-
Es kann gesagt werden, dass für dieses Beispiel ein 3-stufiges Ziehen angewendet wird.
-
4 zeigt exemplarisch eine Architektursuche für insbesondere Sensorfusion Architekturen.
-
Die Sensorfusion wird dadurch ermöglicht, dass mehrere Eingangsknoten betrachtet werden, die die verschiedenen Sensordaten entsprechen. Im einfachsten Fall kann ein Netzwerk mit einem einzigen Ausgang und mehreren Eingängen mit dem oben beschriebenen vorwärtsgerichteten Ziehen verwendet werden. Dadurch kann gelernt werden, in welcher Tiefe des Graphen die verschiedenen Sensordaten kombiniert werden, d.h. ob eine frühe, mittlere oder späte Sensorfusion durchgeführt werden soll.
-
Der Graph G mit einer Mehrzahl von Ausgängen kann Multi-Task Netzwerke für Objektdetektion und semantische Segmentierung beschreiben. Die NOls sind dabei Knoten an denen z.B. die Objektdetektion/Klassifikation stattfindet. Zusätzlich wird am Output in der vollen Tiefe des Netzwerkes noch ein Output für die semantische Segmentierung verwendet. Zusätzlich könnten an die NOI's aufgabenspezifischen Köpfen angehängt werden.
-
5 zeigt schematisch ein Flussdiagramm eines Verfahrens zum Erstellen eines maschinellen Lernsystems mit obig erläuterten Vorgehen zum Auffinden der optimalen Architektur mit einer Mehrzahl von Eingängen.
-
Das Verfahren kann mit Schritt S21 beginnen, in welchem der Graph G bereitgestellt wird. Denn die automatische Architektursuche benötigt den Suchraum, welcher hier in der Form eines One-Shot Modells G aufgebaut ist.
-
Daraufhin folgt Schritt S22. In diesem Schritt werden Architekturen aus dem Graphen abhängig von den Wahrscheinlichkeiten wie zu 1 erläutert gezogen. Daraufhin folgen die bekannten Schritte des Anlernens (S23) der gezogenen Architektur sowie dem Übertragen die optimierten Parameter und Wahrscheinlichkeiten durch das Anlernen in den Graphen.
-
Aus dem Graphen G kann dann ein künstliches neuronales Netz 60 (abgebildet in 6) erstellt werden und verwendet werden wie im nachfolgenden erläutert.
-
6 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, welche z.B. gemäß dem Verfahren nach 7 erstellt wurde.
-
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.
-
7 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.
-
8 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.
-
9 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.
-
10 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.
-
11 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.
-
12 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.
-
13 zeigt eine beispielhafte Trainingsvorrichtung 140 zum Trainieren eines gezogenen maschinellen Lernsystems aus dem Graphen G, insbesondere des korrespondieren des neuronalen Netzes 60. Trainingsvorrichtung 140 umfasst einen Bereitsteller 71, der z.B. 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.
-
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 Patentliteratur
-
- DE 102020208309 [0036, 0063]