-
Die Erfindung betrifft ein Verfahren zum Erstellen eines maschinellen Lernsystems unter Verwendung eines Architekturmodells, insbesondere eines „One-Shot Modells“, mit einer Normalisierung der Knoten, 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).
-
Die Erfinder betrachten Architekturen, deren Knoten mehrere eingehenden Kanten haben können, insbesondere Architekturen die aus mehreren Pfaden bestehen die sich an beliebigen Stellen wieder zusammenlaufen können wie sie häufig für Objekterkennung genutzt werden, oder Architekturen bei denen mehr als eine Operation zwischen zwei Knoten gezogen wird. Dabei geben Knoten mit mehreren eingehen Kanten typischerweise eine Überlagerung der Ausgangsgrößen ihrer eingehenden Kanten aus.
-
Vorteile der Erfindung
-
Die Erfinder schlagen vor, die Ausgangsgröße der Knoten, insbesondere die Summe aus den Ausgangsgrößen der Kanten, auf Basis der Anzahl der eingehenden Kanten zu normieren. Dies hat den Vorteil, eine konsistente Repräsentierung in einem Knoten bereitzustellen.
-
Die Verwendung der vorgeschlagenen Normalisierung stabilisiert das One-Shot Training für gezogene Architekturen, da die Repräsentierung die Anzahl der eingehenden Kanten für jeden Knoten berücksichtigt. Dies erlaubt ein gleichzeitiges Anlernen der Kanten, die in den gleichen Knoten eingehen.
-
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 kann.
-
Das Verfahren umfasst folgende Schritte:
- Bereitstellen eines gerichteten Graphen mit einem Eingangs- und Ausgangsknoten, welche über eine Mehrzahl von Kanten und Knoten verbunden sind, wobei jeder Kante jeweils eine Wahrscheinlichkeit zugeordnet ist, welche charakterisiert mit welcher Wahrscheinlichkeit die jeweilige Kante gezogen wird. Die Kanten charakterisieren Operationen des maschinellen Lernsystems. Daraufhin folgt ein zufälliges Ziehen eines Subgraphen (Architektur) aus dem gerichteten Graphen abhängig von den Wahrscheinlichkeiten der Kanten, Einrichten der Konten des gezogenen Subgraphen derart, dass diese eine Summe über eingehende Eingangsgrößen der in diesen Knoten eingehenden Kanten abhängig von einer Anzahl der eingehenden Kanten in diesen Knoten normalisiert als Eingangsgröße deren nachfolgenden verbunden Kanten ausgeben. Denkbar ist, dass statt der Summe der Mittelwert über die eingehenden Kanten genommen wird als einfachste und parameterfreie Normalisierung. Daraufhin folgt ein Anlernen eines dem Subgraphen korrespondierenden maschinellen Lernsystem, wobei beim Anlernen Parameter des maschinellen Lernsystems und die Wahrscheinlichkeiten der Kanten des Subgraphen angepasst werden, sodass eine Kostenfunktion optimiert wird. Daraufhin folgt ein Ziehen eines weiteren Subgraphen durch den gerichteten Graphen abhängig von den Wahrscheinlichkeiten der Kanten und Erstellen des diesem Subgraphen korrespondierende maschinelle Lernsystem.
-
Es wird vorgeschlagen, dass zumindest zwei eingehenden Kanten einer der Knoten mit unterschiedlichen Sensoren oder unterschiedlichen neuronalen Netzen verbunden sind. Dies erlaubt eine Sensorfusion.
-
Verfahren nach einem der vorhergehenden Ansprüche, wobei zusätzlich zu der Kostenfunktion, welche eine Bestrafung für ermittelte Ausgangsgrößen des maschinellen Lernsystems zu Trainingsausgangsgrößen charakterisiert, eine weitere Kostenfunktion vorhanden ist, die die verfügbaren Ressourcen einer Recheneinheit charakterisiert, auf welcher das erstellte maschinelle Lernsystem ausgeführt werden soll.
-
Vorzugsweise ist das maschinelle Lernsystem ein künstliches neuronales Netz, welches zur Klassifikation, insbesondere zur Segmentierung und/oder 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 Ausschnitte aus gerichteten azyklischeren Multigraphen;
- 2 schematische Darstellung eines Flussdiagramms;
- 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.
-
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 Operationen 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 iterativ bis zum Zielknoten fortgesetzt wird. Eine Architektur mit verzweigten Pfaden kann beispielsweise erzeugt werden, indem mehrere Pfade durch das One-Shot Modell gezogen werden. In diesem Fall haben Knoten bei denen mehrere Pfade zusammenführen somit mehrere eingehende Kanten.
-
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 n
i und Kanten
von n
i zu n
j, wobei k die Multiplizität (also zum Beispiel unterschiedliche Operationen zwischen denselben Knoten) der Kanten beschreibt, betrachtet werden. Zusätzlich hat der Graph einen Eingangsknoten n
0 und einem Ausgangsknoten n
L und eine Topologie, so dass alle Pfade, die am Eingangsknoten starten zum Ausgangsknoten führen.
-
Zudem wird eine Möglichkeit vorausgesetzt, Architekturen aus dem One-Shot Modell zu ziehen, wobei Architekturen beliebige Subgraphen des One-Shot Modells sein können. Der Datentensor x
k eines Knotens n
k im One-Shot Modell mit eingehenden Kanten e
i,i = 1, ..., N und zugehörigen Operation f
ei und Eingangsdaten x
i berechnet sich bei Standard-Verfahren zu Architektursuche wie folgt:
-
Es wird vorgeschlagen, die Gleichung (Gl. 1) durch eine Normalisierung anzupassen:
wobei N die Anzahl der eingehenden Kanten charakterisiert.
-
Es sei angemerkt, dass die eingehenden Kanten, über welche hier summiert wird, unterschiedliche Eingangsknoten haben können.
-
Dies ist in 1 schematisch veranschaulicht. 1 zeigt einen beispielhaft einen Ausschnitt (10) eines ersten gerichteten azyklischen Multigraphen, insbesondere One-Shot Modells, zwischen einem Knoten mit Eingangsgröße x, welcher über drei Operationen mit einem Knoten mit Eingangsgröße y verbunden ist. In vorhandenen Modell berechnet sich der Knoten (101) hier als Summe der Outputs über die Operationen gemäß (Gl. 1).
-
1 zeigt ferner beispielhaft einen weiteren Ausschnitt (11) eines zweiten gerichteten azyklischen Multigraphen. Hierbei wird die vorgeschlagene Normalisierung gemäß (Gl. 2) für den Knoten (101) angewendet. In 1 ist diese Normalisierung durch das µ in dem Kreis (102) dargestellt. Da hier 3 aktive Kanten in den Knoten eingehen, wird N = 3 gewählt.
-
Wird nun aus dem zweiten gerichteten azyklischen Multigraphen (11) eine Architektur gezogen, wobei Operation 2 und Operation 3 ausgewählt wurden, ist die Kante, die die Operation 1 darstellt und in Knoten (101) endet, inaktiv. Mit der hier vorgeschlagenen Methode ergibt sich für N dann der Wert 2, da zwei eingehende Kanten aktiv sind. Es sei angemerkt, dass sich für diesen Fall für den ersten gerichteten azyklischen Multigraphen (10) gemäß (Gl. 1) die Summe der Ausgangsgrößen von Operation 2 und Operation 3 ergibt.
-
2 zeigt schematisch ein Flussdiagramm (20) eines Verfahrens zur Architektursuche unter Verwendung der vorgeschlagenen Gleichung (Gl. 2).
-
Die Architektursuche kann dann wie folgt durchgeführt werden. Die 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.
-
Im darauffolgenden Schritt S22 wird aus dem One-Shot Modell ein Subgraph, insbesondere eine Architektur eines maschinellen Lernsystems gezogen.
-
Nach Schritt S22 folgt Schritt S23 hierin werden die Knoten der gezogenen Architektur derart eingerichtet, dass diese ihre Ausgangsgröße gemäß Gleichung (Gl. 2) ermitteln.
-
Im nachfolgenden Schritt (S24) werden dann die gezogenen maschinellen Lernsysteme, die den Subgraphen entsprechen, trainiert.
-
Es sei angemerkt, dass das 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 S23 und S24 können mehrmals hintereinander wiederholt werden. Anschließend kann basierend auf dem Multigraphen ein finaler Subgraph gezogen werden und ein korrespondierendes maschinelles Lernsystem gemäß diesem Subgraphen 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.