Beschreibung
Titel
Verfahren und Vorrichtung zum Ermiteln eines Ansteuersignals
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Klassifizieren eines Eingangssignals und Ermitteln eines Ansteuersignals insbesondere zum
Ansteuern eines Aktors, ein Verfahren zum Trainieren des maschinellen
Lernsystems, ein Trainingssystem, ein Computerprogramm und ein
maschinenlesbares Speichermedium.
Stand der Technik
Aus der nicht vorveröffentlichten DE 10 201 721 0787.1 ist ein Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk eine Anomalie vorliegt, bekannt, wobei mindestens eine über das Kommunikationsnetzwerk übermittelte Nachricht analysiert wird, indem abhängig von der, d.h. insbesondere aus der,
übermittelten Nachricht eine Eingangsgröße eines Kodierers ermittelt wird, wobei mittels des Kodierers eine Zwischengröße reduzierter Dimensionalität ermittelt wird, und wobei abhängig von der Zwischengröße mittels eines
Dekodierers eine Ausgangsgröße mit der Dimensionalität der Eingangsgröße ermittelt wird, wobei abhängig von Eingangsgröße und Ausgangsgröße entschieden wird, ob die Anomalie vorliegt, oder nicht. Eine solche Kombination aus Kodierer und Dekodierer derart, dass die Eingangsgröße über eine oder mehrere Zwischengrößen reduzierter Dimensionalität, d.h. mit einem
Informationsverlust verbunden, in die Ausgangsgröße überführt wird, kann auch mit dem Wort„Autoencoder“ bezeichnet werden.
Aus„Auto- Encoding Variational Bayes“, arXiv preprint arXiv:1312.6114vlO, Diederik P Kingma, Max Welling, 2014 ist ein Variational Autoencoder bekannt.
Aus„Learning in an Uncertain World: Representing Ambiguity Through Multiple Hypotheses”, arXiv preprint arXiv:1612.00197v3, Christian Rupprecht et al., International Conference on Computer Vision (2017) und“Uncertainty Estimates and Multi- Hypotheses Networks for Optical Flow”, arXiv preprint
arXiv:1802.07095v3, Eddy Ilg et al. (2018) sind Convolutional Neural Networks (CNN) bekannt, die eine Mehrzahl Hypothesen Vorhersagen.
Aus“Autoencoding beyond pixels using a learned similarity metric”, arXiv preprint arXiv:1512.09300v2, Anders Boesen Lindbo Larsen, Soren Kaae Sonderby,
Hugo Larochelle, Oie Winther, 2016 und“Generating Images with Perceptual Similarity Metrics based on Deep Networks”, arXiv preprint arXiv:1602.02644v2, Alexey Dosovitskiy, Thomas Brox, 2016 sind Verfahren zum Trainieren von Variational Autoencodern mit einem 2-Spieler-Spiel bekannt.
Vorteile der Erfindung
Der Gegenstand der Erfindung hat gegenüber dem aus dem Stand der Technik Bekannten den Vorteil, dass die Anomalieerkennung eine verbesserte
Extrapolationsfähigkeit besitzt, sodass das resultierende Ansteuerverfahren für robuster ist, oder alternativ mit weniger Trainingsdaten eine vergleichbare Robustheit erreicht.
Offenbarung der Erfindung
In einem ersten Aspekt betrifft die Erfindung daher das Verfahren mit den Merkmalen des Anspruch 1. Weitere Aspekte sind Gegenstand der
nebengeordneten Ansprüche. Vorteilhafte Weiterbildungen sind Gegenstand der abhängigen Ansprüche.
Im ersten Aspekt betrifft die Erfindung daher ein Verfahren zum Klassifizieren eines Eingangssignals, welches insbesondere abhängig von einem Sensorsignal, also einem Ausgangssignal eines Sensors, ermittelt wird. Hierbei wird abhängig von einem Ausgangssignal eines Autoencoders, dem das Eingangssignal zugeführt wird darauf entschieden, ob das Eingangssignal eine Anomalie aufweist oder nicht, wobei der Autoencoder mindestens einen Encoder und
mindestens einen Decoder aufweist, wobei abhängig von dem Eingangssignal mittels des Encoders eine Zwischengröße ermittelt wird, und abhängig von dieser mittels des Decoders das Ausgangssignal ermittelt wird, wobei der Autoencoder zu dem ihm zugeführten Eingangssignal eine Mehrzahl unterschiedlicher Hypothesen zur Rekonstruktion des Eingangssignals bereitstellt und abhängig von dieser Mehrzahl unterschiedlicher Hypothesen das Ausgangssignal ermittelt.
Dass die Hypothesen sind hierbei vorzugsweise paarweise unterschiedlich, d.h. keine zwei der Hypothesen sind gleich. Dies kann vorzugsweise dadurch sichergestellt werden, dass in einer Trainingsphase des Autoencoders, in der Parameter des Autoencoders zur Minimierung einer vorgebbaren Kostenfunktion variiert werden, die Kostenfunktion derart gewählt ist, dass sie es bestraft, wenn zwei Hypothesen einander zu ähnlich, insbesondere gleich, sind.
In einer Weiterbildung kann vorgesehen sein, dass der Autoencoder eine
Mehrzahl Decoder umfasst, wobei jeder der Decoder Ausgangsgrößen bereitstellt, wobei je eine der Mehrzahl unterschiedlicher Hypothesen abhängig von den Ausgangsgrößen jeweils eines der Decoder bereitgestellt wird.
Hiermit lässt sich auf besonders einfache Weise mit z.B. dem oben vorgestellten Ansatz verhindern, dass zwei Hypothese gleich sind, beispielsweise, indem die Decoder strukturell unterschiedlich gewählt und/oder ihre Parameter
unterschiedlich initialisiert werden. Selbstverständlich ist es möglich, dass die Decoder teilweise identisch sind. Sind die Decoder beispielsweise durch künstliche neuronale Netze implementiert, kann vorgesehen sein, dass die ersten Schichten von allen Decodern geteilt werden, und sich die Decoder erst in der letzten Schicht oder den letzten Schichten differenzieren.
Vorzugsweise kann vorgesehen sein, dass das Ausgangssignal abhängig von, insbesondere gleich, derjenigen der Hypothesen gewählt wird, die dem
Eingangssignal am nächsten ist.
In einer Weiterbildung kann vorgesehen werden, ein Ansteuersignal
bereitzustellen, welches abhängig davon ist, ob auf Anomalie erkannt wurde, oder nicht. Dieses Ansteuersignal kann insbesondere zum Ansteuern eines
Aktors, vorzugsweise zur Steuerung eines wenigstens teilweise automatisierten Fahrzeugs, vorgesehen sein.
In einem weiteren Aspekt ist ein System vorgesehen, das eingerichtet ist, eines der vorgenannten Verfahren durchzuführen. Dieses System umfasst damit auch den vorgenannten Autoencoder.
In einem noch weiteren Aspekt ist daher ein Verfahren zum Trainieren dieses Autoencoders vorgesehen. Dies erfolgt mittels eines Diskriminators. Dem
Diskriminator wird entweder ein insbesondere aus Sensorsignalen ermitteltes Eingangssignal oder ein vom Autoencoder generiertes Ausgangssignal zugeführt werden, wobei der Diskriminator trainiert wird, zu unterscheiden, ob das ihm zugeführte Signal das Eingangssignal oder das vom Autoencoder genierte Ausgangssignal ist, und wobei der Autoencoder trainiert wird, das
Ausgangssignal so zu generieren, dass der Diskriminator das Eingangssignal und das generierte Ausgangssignal nicht derart unterscheiden kann. D.h.
Diskriminator und Autoencoder spielen ein zwei-Spieler-Spiel ähnlich des Spiels, das bei sogenannten Generative Adversarial Networks (kurz: GAN) eingesetzt wird.
Um dieses an sich bekannte zwei-Spieler-Spiel für den vorliegenden
Autoencoder anwendbar zu machen, wird daher vorgeschlagen, dass die Zwischengröße zufällig generiert wird und mittels des Decoders das
Ausgangssignal ermittelt wird, das dem Diskriminator dann zur Unterscheidung zugeführt wird.
Insbesondere kann die Zwischengröße aus einer fest vorgebbaren
Wahrscheinlichkeitsverteilung gezogen wird, wobei abhängig von dem abhängig hiervon ermittelten Ausgangssignal nur der Diskriminator trainiert wird.
D.h. dieses Ausgangssignal geht derart in einen Term der Kostenfunktion ein, sodass abhängig von Gradienten dieser Kostenfunktion unmittelbar nur
Parameter, die den Diskriminator charakterisieren, variiert werden. In die
Variation weiterer Parameter geht diese Kostenfunktion nur insofern ein, als der mit variierten Parametern parametrierte Diskriminator ein geändertes Verhalten
aufweist, das in einer späteren Iteration des Trainingsverfahrens dazu führen kann, dass Parameter des Autoencoders geändert variiert werden.
Es ist auch möglich, dass der Encoder abhängig von dem Eingangssignal Parameter ermittelt, die die eine statistische Verteilung, insbesondere eine Normalverteilung, der Zwischengröße bei gegebenem Eingangssignal charakterisieren und wobei die Zwischengröße aus dieser statistischen
Verteilung gezogen wird.
Um sicherzustellen, dass die Anomalieerkennung möglichst wenige
Eingangssignale irrtümlich als Anomalie kennzeichnet, kann vorgesehen sein, dass aus der Mehrzahl der vom Autoencoder generierten Hypothesen diejenige ausgewählt wird, die dem Eingangssignal am ähnlichsten ist, wobei der
Diskriminator nur zu der abhängig von dieser ausgewählten ähnlichsten
Hypothese versucht, zu entscheiden, ob sie vom Autoencoder generiert wurde, oder nicht, und wobei eine Anpassung von Parametern, die den Diskriminators und/oder den Autoencoders charakterisieren abhängig von dem Ergebnis dieser versuchten Entscheidung ist.
Allerdings kann dies dazu führen, dass die mit den übrigen generierten
Hypothesen assoziierten Gradienten verschwinden, sodass die übrigen
Hypothesen nicht im gewünschten Maße zur Verbesserung der
Extrapolationsfähigkeit des vorgeschlagenen Autoencoders beitragen. Um diesem Effekt entgegenzuwirken, kann vorgesehen sein, dass der Diskriminator zu jeder abhängig von dieser Zwischengröße vom Autoencoder generierten Hypothese versucht, zu entscheiden, ob sie vom Autoencoder generiert wurde, oder nicht, und wobei eine Variation von Parametern, die den Diskriminators und/oder den Autoencoders charakterisieren abhängig von den Ergebnissen all dieser versuchten Entscheidungen ist.
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
Figur 1 schematisch einen erfindungsgemäßen Autoencoder;
Figur 2 schematisch einen Aufbau einer Ausführungsform der Erfindung;
Figur 3 schematisch ein Ausführungsbeispiel zur Steuerung eines
wenigstens teilautonomen Roboters;
Figur 4 schematisch ein Ausführungsbeispiel zur Steuerung eines
Fertigungssystems;
Figur 5 schematisch ein Ausführungsbeispiel zur Steuerung eines
persönlichen Assistenten;
Figur 6 schematisch ein Ausführungsbeispiel zur Steuerung eines
Zugangssystems;
Figur 7 schematisch ein Ausführungsbeispiel zur Steuerung eines
Überwachungssystems;
Figur 8 schematisch ein Ausführungsbeispiel zur Steuerung eines
medizinisch bildgebenden Systems;
Figur 9 schematisch ein Trainingssystem zum Trainieren des Autoencoders;
Figur 10 schematisch einen Autoencoder zum Einsatz im Trainingssystem;
Figur 11 schematisch einen Aufbau einer Ausführungsform einer
Bewertungseinheit des Trainingssystems;
Figur 12 in einem Flussdiagramm eine Ausführungsform eines Verfahrens zum Trainieren des Autoencoders;
Figur 13 in einem Flussdiagramm eine Ausführungsform eines Teils des
Verfahrens zum Trainieren des Autoencoders;
Figur 14 in einem Flussdiagramm eine zweite Ausführungsform eines Teils des Verfahrens zum Trainieren des Autoencoders;
Figur 15 in einem Flussdiagramm eine dritte Ausführungsform eines Teils des
Verfahrens zum Trainieren des Autoencoders;
Figur 16 in einem Flussdiagramm eine vierte Ausführungsform eines Teils des
Verfahrens zum Trainieren des Autoencoders;
Figur 17 in einem Flussdiagramm eine Ausführung eines Verfahrens zum
Betreiben des Steuerungssystems.
Beschreibung der Ausführungsbeispiele
Figur 1 zeigt einen Aktor 10 in seiner Umgebung 20 in Interaktion mit einem Steuerungssystem 40. Aktor 10 und Umgebung 20 werden gemeinschaftlich auch als Aktorsystem bezeichnet. In vorzugsweise regelmäßigen zeitlichen Abständen wird ein Zustand des Aktorsystems mit einem Sensor 30 erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann. 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 Eingangssignalen x umwandelt (alternativ kann auch unmittelbar je das Sensorsignal S als Eingangssignal x übernommen werden). Das Eingangssignal x kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals S sein. Das Eingangssignal x kann beispielsweise Bilddaten oder Bilder umfassen, oder einzelne Frames einer Videoaufzeichnung. Mit anderen Worten wird Eingangssignal x abhängig von Sensorsignal S ermittelt. Das Eingangssignal x wird einem Autoencoder 60, wie
er beispielhaft in Figur 2 illustriert ist, zugeführt. Ebenso wird das Eingangssignal x einem Anomaliedetektor 80 zugeführt.
Der Autoencoder 60 wird vorzugsweise parametriert durch Parameter f, Q, die in einem Parameterspeicher P hinterlegt sind und von diesem bereitgestellt werden.
Der Autoencoder 60 ermittelt aus den Eingangssignalen x Ausgangssignale y.
Die Ausgangssignale y werden dem Anomaliedetektor 80 zugeführt.
Ausgangssignal y ist eine Rekonstruktion des Eingangssignals x durch den Autoencoder 60. Anomaliedetektor 80 ermittelt aus Eingangssignal x und
Ausgangssignal y ein Ähnlichkeitsmaß zwischen Eingangssignal x und
Ausgangssignal y. Abhängig von diesem ermittelten Ähnlichkeitsmaß kann der Anomaliedetektor Ansteuersignale A ermitteln, welche dem Aktor 10 zugeführt werden, um den Aktor 10 entsprechend anzusteuern. Beispielsweise kann entschieden werden, ob der Aktor 10 in einem Normalmodus oder in einem Sicherheitsmodus angesteuert wird. Eine Ausführungsform dieses Verfahrens ist in Figur 17 illustriert.
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 die
Umsetzung des Ansteuersignals A bewirkt 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 dem 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.
Figur 2 zeigt einen beispielhaften Aufbau des Autoencoders 60. Der Autoencoder 60 umfasst einen Kodierer (Englisch:„Encoder“) 61, mit dessen Hilfe aus dem Eingangssignal x eine Zwischengröße z ermittelt wird. Eine Dimensionalität der Zwischengröße z ist gegenüber dem Eingangssignal x reduziert. Der
Autoencoder 60 umfasst ferner Dekodierer (Englisch:„Decoder“) 63!, 632, ..., mit deren Hilfe aus der Zwischengröße z rekonstruierte Eingangssignale x1, x2, ... ermittelt werden. Diese rekonstruierten Eingangssignale x1, x2, ... werden auch „Hypothesen“ genannt und haben vorzugsweise die gleiche Dimensionalität hat wie das Eingangssignal x. Ein Bewerter 65 ermittelt aus den Hypothesen x1, x2,
... das Ausgangssignal y. Beispielsweise kann vorgesehen sein, dass der Bewerter 65 aus den Hypothesen x1, x2, ... als Ausgangssignal y diejenige auswählt, die dem Eingangssignal am ähnlichsten ist.
Im dargestellten Ausführungsbeispiel ist der Autoencoder 60 als ein sogenannter „Variational Autoencoder“, (kurz: VAE), ausgeführt. Der VAE zeichnet sich dadurch aus, dass der Encoder 61 abhängig vom Eingangssignal x Parameter mZ|C, SZ|C ermittelt, die eine statistische Verteilung q(z |x) der zum Eingangssignal x zugehörigen Zwischengröße z bei gegebenem Eingangssignal x
charakterisieren. Beispielsweise kann die statistische Verteilung q z |x) durch eine Normalverteilung gegeben sein, und die Parameter mz\c, Sz\c sind (u.U. vektor- bzw. matrixwertige, sofern das Eingangssignal x mehrdimensional ist) Mittelwerte mZ|C und Kovarianzmatrix SZ|C .
Aus der durch diese Parameter mZ|C, SZ|C charakterisierten statistischen Verteilung q z |x) zieht ein Sampler 62 dann als statistische Samples eine oder mehrere Zwischengrößen z.
Diese werden den Decodern 631, 632, ... zugeführt, die hieraus jeweils
Parameter mc\z,·i, Sc\z;1 , mc\z·2, Sc\ z,·2 . ··· ermittelt, die jeweils statistische
Verteilungen p1(x|z), p2(x|z), ... der Hypothesen x1 x2, ... charakterisieren. Bei diesen statistischen Verteilungen p1(x|z), p2(x|z), ), ... handelt es sich
beispielsweise um jeweils die gleiche Funktion, die durch unterschiedliche
Parameter mc\Z)1, ^c\Z)1 , mc\z,·2> ^c\z,·2 . ··· charakterisiert sein kann. Beispielsweise können die statistischen Verteilungen p1(x|z), p2(x|z), ... jeweils durch
Normalverteilungen gegeben sein, und die Parameter mc\z;1, Sc\z;1 , mc\z;2, Sc\ z;2 .··· sind (u.U. vektor- bzw. matrixwertige, sofern die Zwischengröße z
mehrdimensional ist) Mittelwerte mc\Z]1, pX|Z.2,...und Kovarianzmatrizen , SC\Z;1 , Sc,z.2 ,... . Sampler ermitteln
Aus den durch diese Parameter mc\z;1, Sc\z;1 , mc\z;2, Sc\z,·2 . ··· charakterisierten statistischen Verteilungen p1(x|z), p2(x|z), ... ziehen Sampler 64-L, 642 J ... dann als statistische Samples jeweils ein oder mehrere Hypothesen x1 x2, ....
Encoder 61 und/oder Decoder 631, 632, ... sind vorzugsweise durch Parameter f, Q parametrierte neuronale Netze.
Figur 3 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem 40 zur Steuerung eines wenigstens teilautonomen Roboters, hier eines wenigstens teilautonomen Kraftfahrzeugs 100, eingesetzt wird.
Bei dem Sensor 30 kann es sich beispielsweise um einen oder mehrere vorzugsweise im Kraftfahrzeug 100 angeordnete Videosensoren und/oder einen oder mehrere Radarsensoren und/oder einen oder mehrere Ultraschallsensoren und/oder einen oder mehrere LiDAR-Sensoren und/oder einen oder mehrere Positionssensoren (beispielsweise GPS) handeln. Alternativ oder zusätzlich kann der Sensor 30 auch ein Informationssystem umfassen, das eine Information über einen Zustand des Aktorsystems ermittelt, wie beispielsweise ein
Wetterinformationssystem, das einen aktuellen oder zukünftigen Zustand des Wetters in der Umgebung 20 ermittelt.
Das Eingangssignal x kann beispielsweise Informationen über detektierte Gegenstände in der Umgebung des wenigstens teilautonomen Roboters enthalten.
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 im Normalmodus derart angesteuert werden, dass das Kraftfahrzeug 100 beispielsweise eine Kollision mit identifizierten Gegenständen verhindert, insbesondere, wenn es sich um
Gegenstände bestimmter Klassen, z.B. um Fußgänger, handelt. Im
Sicherheitsmodus kann der Aktor bzw. die Aktoren 10 derart angesteuert werden, dass z.B. eine Geschwindigkeit des Kraftfahrzeugs 100 auf einen vorgebbaren Geschwindigkeitsbereich limitiert wird.
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 im Normalmodus derart ermittelt werden, dass Antrieb und/oder Lenkung des mobilen Roboters derart angesteuert werden, dass der wenigstens teilautonome Roboter beispielsweise eine Kollision mit den identifizierten Gegenständen verhindert,
In einer weiteren Alternative kann es sich bei dem wenigstens teilautonomen Roboter auch um einen Gartenroboter (nicht abgebildet) handeln, der mit einem bildgebenden Sensor 30 eine Art oder einen Zustand von Pflanzen in der Umgebung 20 ermittelt. Bei dem Aktor 10 kann es sich dann beispielsweise um einen Applikator von Chemikalien handeln. Das Ansteuersignal A kann im Normalmodus abhängig von der ermittelten Art oder vom ermittelten Zustand der Pflanzen derart ermittelt werden, dass eine der ermittelten Art oder dem ermittelten Zustand entsprechende Menge der Chemikalien aufgebracht wird. Im Sicherheitsmodus kann das Ansteuersignal A derart gewählt werden, dass die aufgebrachte Menge der Chemikalien auf einen vorgebbaren Chemikalienbereich limitiert wird.
In noch weiteren Alternativen kann es sich bei dem wenigstens teilautonomen Roboter auch um ein Haushaltsgerät (nicht abgebildet), insbesondere eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder eine Spülmaschine handeln. Mit dem Sensor 30, beispielsweise einem optischen
Sensor, kann ein Zustand eines mit dem Haushaltsgerät behandelten Objekts erfasst werden, beispielsweise im Falle der Waschmaschine ein Zustand von Wäsche, die in der Waschmaschine befindlich ist. Aus diesem kann dann eine Art oder ein Zustand dieses Objekts ermittelt werden. Das Ansteuersignal A kann dann im Normalmodus derart ermittelt werden, dass das Haushaltsgerät abhängig von der ermittelten Art oder dem ermittelten Zustand des Objekts angesteuert wird. Beispielsweise kann im Falle der Waschmaschine diese abhängig davon angesteuert werden, aus welchem Material die darin befindliche Wäsche ist. Ansteuersignal A kann dann abhängig davon gewählt werden, welches Material der Wäsche ermittelt wurde. Ansteuersignal A kann im
Sicherheitsmodus derart gewählt werden, dass das Haushaltsgerät,
beispielsweise die Waschmaschine, abgeschaltet wird.
Figur 4 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem 40 zur Ansteuerung einer Fertigungsmaschine 11 eines Fertigungssystems 200 verwendet wird, indem ein diese Fertigungsmaschine 11 steuernder Aktor 10 angesteuert wird. Bei der Fertigungsmaschine 11 kann es sich beispielsweise um eine Maschine zum Stanzen, Sägen, Bohren und/oder Schneiden handeln.
Bei dem Sensor 30 dann beispielsweise um einen optischen Sensor handeln, der z.B. Eigenschaften von Fertigungserzeugnissen 12 erfasst. Es ist möglich, dass der die Fertigungsmaschine 11 steuernde Aktor 10 im Normalmodus abhängig von den ermittelten Eigenschaften des Fertigungserzeugnisses 12 angesteuert wird, damit die Fertigungsmaschine 11 entsprechend einen nachfolgenden Bearbeitungsschritt dieses Fertigungserzeugnisses 12 ausführt. Es ist auch möglich, dass der Sensor 30 die Eigenschaften des von der Fertigungsmaschine 11 bearbeiteten Fertigungserzeugnisses 12 ermittelt, und abhängig davon eine Ansteuerung der Fertigungsmaschine 11 für ein nachfolgendes
Fertigungserzeugnis anpasst. Im Sicherheitsmodus kann vorgesehen sein, dass der Aktor 10 derart angesteuert wird, dass die Fertigungsmaschine abgeschaltet wird.
Figur 5 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines persönlichen Assistenten 250 eingesetzt wird. Der Sensor 30 ist beispielsweise ein akustischer Sensor, der Sprachsignale eines Nutzers 249
empfängt. Alternativ oder zusätzlich kann der Sensor 30 auch eingerichtet sein, optische Signale zu empfangen, beispielsweise Videobilder einer Geste des Nutzers 249.
Abhängig von den Signalen des Sensors 30 ermittelt das Steuerungssystem 40 im Normalmodus ein Ansteuersignal A des persönlichen Assistenten 250, beispielsweise, indem das maschinelle Lernsystem 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 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.
Im Sicherheitsmodus kann vorgesehen sein, dass der persönliche Assistent 250 abgeschaltet wird oder eine Fehlermeldung ausgibt.
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.
Figur 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. Bei dem Sensor 30 kann es sich beispielsweise um einen optischen Sensor (beispielsweise zur Erfassung von Bild- oder Videodaten) handeln, der
eingerichtet ist, ein Gesicht zu erfassen. Steuerungssystem 40 kann dieses erfasste Bild interpretiert werden. Beispielsweise kann die Identität einer Person ermittelt werden. Der Aktor 10 kann ein Schloss sein, das im Normalmodus 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 Interpretation gewählt werden, beispielsweise abhängig von der ermittelten Identität der Person. Im Sicherheitsmodus kann vorgesehen sein, dass der Aktor 10 beispielsweise dauerhaft so angesteuert wird, dass die Tür dauerhaft geöffnet (oder alternativ auch dauerhaft geschlossen) ist. An Stelle der physischen Zugangskontrolle kann auch eine logische Zugangskontrolle vorgesehen sein.
Figur 7 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines Überwachungssystems 400 verwendet wird. Von dem in Figur 6 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
Anomaliedetektor 80 ermittelt werden, ob ein vom optischen Sensor
aufgenommener Gegenstand verdächtig ist. Ist dies der Fall, kann der
Sicherheitsmodus aktiviert werden. Im Normalmodus kann dann der Gegenstand von der Anzeigeeinheit 10a normal wiedergegeben werden, wohingegen im Sicherheitsmodus und das Ansteuersignal A dann derart gewählt werden kann, dass dieser Gegenstand von der Anzeigeeinheit 10a farblich hervorgehoben dargestellt wird.
Figur 8 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines medizinischen bildgebenden System 500, beispielsweise eines MRT-, Röntgen- oder Ultraschallgeräts, verwendet wird. Der Sensor 30 kann beispielsweise durch einen bildgebenden Sensor gegeben sein, durch das Steuerungssystem 40 wird die Anzeigeeinheit 10a angesteuert. Beispielsweise kann vom Anomaliedetektor 80 ermittelt werden, ob ein vom bildgebenden Sensor aufgenommener Bereich auffällig ist. Ist dies der Fall, kann der
Sicherheitsmodus aktiviert werden. Im Normalmodus kann dieser Bereich dann normal wiedergegeben werde, im Sicherheitsmodus kann das Ansteuersignal A
derart gewählt werden, dass dieser Bereich von der Anzeigeeinheit 10a farblich hervorgehoben dargestellt wird.
Figur 9 zeigt schematisch ein Ausführungsbeispiel eines Trainingssystems 140 zum Trainieren des Autoencoders 60. Eine Trainingsdateneinheit 150 ermittelt geeignete Eingangssignale x, die einer modifizierten Form des Autoencoders 60, bezeichnet mit dem Bezugszeichen 60‘, zugeführt werden. Beispielsweise greift die Trainingsdateneinheit 150 auf eine computerimplementierte Datenbank zu, in dem ein Satz von Trainingsdaten gespeichert ist, und wählt z.B. zufällig aus dem Satz von Trainingsdaten Eingangssignale x aus. Dieser werden einer
Bewertungseinheit 180 zugeführt, deren Aufbau in Figur 11 beispielhaft illustriert ist.
Der modifizierte Autoencoder 60‘ ist eingerichtet, abhängig von einem ihm zugeführten aus den ihm zugeführten Eingangssignalen x zugehörige Trainings-- Ausgangssignale gt, welche je die Ausgangssignale y umfassen, zu ermitteln. Dem modifizierten Autoencoder 60‘ wird ein Modussignal m zugeführt, abhängig von denen der modifizierte Autoencoder 60‘ die Trainings- Ausgangssignale yi ermittelt. Diese Trainings- Ausgangssignale yi werden der Bewertungseinheit 180 zugeführt.
Die Bewertungseinheit 180 kann beispielsweise mittels einer von den
Eingangssignalen x und den Trainings- Ausgangssignalen yi abhängigen Kostenfunktion (Englisch: loss function ) die Kenngröße £ ermitteln, die eine Leistungsfähigkeit des Autoencoders 60 charakterisiert. Die Parameter f, Q können abhängig von der Kenngröße £ optimiert werden. Ein beispielhaftes Verfahren hierzu ist in Figuren 12 bis 16 illustriert.
Figur 10 illustriert eine Ausführungsform modifizierten Autoencoders 60‘, der in weiten Teilen mit dem in Figur 2 gezeigten Autoencoders 60 identisch ist.
Insbesondere ist die Parametrierung mit Parameter f, Q identisch. Im Folgenden sollen nur die Unterschiede dargestellt werden. Der modifizierte Autoencoder 60‘ hat an Stelle des Bewerters 65 einen modifizierten Bewerter 65‘, der genau wie Bewerter 65 das Ausgangssignal y ermittelt. Abhängig vom Modussignal m wird dann entschieden, welche der verfügbaren Größen als Ausgangssignal yi
ausgegeben werden, d.h. der Unterschied zum Autoencoder 60 besteht darin, welche Größen ausgegeben werden.
Figur 11 zeigt eine beispielhafte Ausführungsform der Bewertungseinheit 180. Bewertungseinheit 180 umfasst einen Diskriminator 181, dem (beispielsweise über einen Schalter 183 ausgewählt) entweder das Eingangssignal x oder das aus dem Trainings- Ausgangssignal gt extrahierte Ausgangssignal y zugeführt werden. Der Diskriminator umfasst eine mathematische Funktion, beispielsweise implementiert durch ein neuronales Netz, mit deren Hilfe eine
Wahrscheinlichkeitsgröße p ermittelt wird, die eine Wahrscheinlichkeit charakterisiert, dass das dem Diskriminator 181 zugeführte Signal ein vom modifizierten Autoencoder 60‘ generiertes Ausgangssignal y ist, und kein
Eingangssignal x. Diese Wahrscheinlichkeitsgröße p wird zusammen mit dem Modussignal m einem Kostenrechner 182 zugeführt, der hieraus die Kenngröße L ermittelt, beispielsweise mit den in Figuren 13-16 illustrierten Verfahren.
Figur 12 zeigt ein Verfahren zum Trainieren des Autoencoders 60 (bzw.
modifizierten Autoencoders 60). Das Verfahren startet (1000) mit einer vom Modussignal m abhängigen Auswahl, welches der folgenden Teilverfahren (1001)-(1004) ausgeführt wird. In Schritten werden dem Diskriminator 181 jeweils Signale x, y zugeführt, und der Diskriminator 181 ermittelt abhängig von diesen Signalen x, y die Kenngrößen LVAE, LG, LD. Ausführungsformen der Teilverfahren (1001)-(1004) sind in Figur 13-16 illustriert.
Dann (1200) werden z.B. mit einem Gradientenabstiegsverfahren Parameter f, Q, die den Autoencoder 60 parametrieren, bzw. Parameter, die den Diskriminator 181 parametrieren, angepasst. Herbei werden die Parameter f, Q des
Autoencoders 60 hierbei so angepasst, dass die Kenngröße Ltot = LVAE + LG minimiert wird, während die Parameter des Diskriminators 181 so angepasst werden, dass die Kenngröße LD =—LG minimiert wird. Die Konvergenz wird hierbei in Schritt (1300) überprüft, bei nicht ausreichender Konvergenz wird zurückverzweigt zum Start (1000).
Diese Anpassung kann in der für GAN üblichen Weise kaskadiert erfolgen, d.h. es kann vorgesehen sein, dass in einer inneren Schleife (iS) zunächst der
Autoencoder 60 trainiert wird, und bei hinreichender Konvergenz der
Diskriminator 181 in einer äußeren Schleife (aS). Die Schrite des Trainings des Autoencoders 60 können hierbei übersprungen werden.
Ist sowohl das Training des Autoencoders 60 als auch des Diskriminators 181 abgeschlossen, endet das Verfahren (1400).
Figur 13 illustriert eine Ausführungsform des ersten Teilverfahrens (1001).
Hierbei werden dem Diskriminator 181 Eingangssignale x zugeführt, also beispielsweise reale Bilder.
Diskriminator 181 ermitelt nun (1002) zu jedem dieser Eingangssignale die zugehörige Wahrscheinlichkeitsgröße p, woraus die zugehörige Kenngröße als
log(l— Pi) (1) ermitelt wird. Die Summe erfolgt hierbei über alle Eingangssignale x, die jeweils zugehörige Wahrscheinlichkeitsgröße p ist durch ein Subskript bezeichnet. Damit endet dieses Teilverfahren. Das Training des Autoencoders 60 entfällt im anschließenden Durchlauf von Schrit (1200), d.h. nur der Diskriminator 181 wird trainiert.
Figur 14 illustriert eine Ausführungsform des zweiten Teilverfahrens (1002). Hierbei wird der modifizierte Autoencoder 60‘ derart angesteuert, dass der Sampler 62 eine Zwischengröße z aus einer Normalverteil J\T(0,1) mit Mitelwert 0 und Varianz 1 zieht (1012). Dann (1022) werden hieraus die Hypothesen x1, x2, ... ermitelt. Diese werden allesamt mit dem Trainings-Ausgangssignal gt übermitelt. Dann (1032) werden diese dem Diskriminator 181 zugeführt, der die zugehörigen Wahrscheinlichkeitsgrößen p ermitelt. Hieraus wird die Kenngröße
log( Pi) (2)
ermitelt. Die Summe erfolgt hierbei über alle der erzeugten Hypothesen die jeweils zugehörige Wahrscheinlichkeitsgröße p ist durch ein Subskript
bezeichnet. Damit endet dieses Teilverfahren. Das Training des Autoencoders 60 entfällt im anschließenden Durchlauf von Schritt (1200), d.h. nur der
Diskriminator 181 wird trainiert.
Figur 15 illustriert eine Ausführungsform des dritten Teilverfahrens (1003).
Hierbei werden dem modifizierten Autoencoder 60‘ Eingangssignale x zugeführt (1013), und jeweils eine Zwischengröße z aus der entsprechenden
Wahrscheinlichkeitsverteilung gezogen (1023). Dann (1033) werden von jedem der Sampler 641 642, ... jeweils eine vorgebbare Anzahl an Hypothesen x1, x2, ... gezogen (ist der Autoencoder 60 ein VAE, ist die vorgebbare Anzahl
vorzugsweise eine Mehrzahl, ist er ein deterministischer Autoencoder, wird nur eine Hypothese generiert). Anschließend (1043) wird für jedes der
Eingangssignale jeweils aus der Gesamtheit der generierten Hypothesen diejenige Hypothese xk ausgewählt, die den geringsten Abstand zum
Eingangssignal x hat. Diese ausgewählte Hypothese xk und der zugehörige Index k werden mit dem Trainings-Ausgangssignal yi übermittelt. Hieraus wird dann (1053) die zugehörige Wahrscheinlichkeitsgröße p ermittelt. Hieraus werden die Kenngrößen
ermittelt. Die Summe erfolgt hierbei über alle der Eingangssignale x, die jeweils zugehörige Wahrscheinlichkeitsgröße p ist durch ein Subskript bezeichnet. Damit endet dieses Teilverfahren.
Figur 16 illustriert eine Ausführungsform des vierten Teilverfahrens (1004). Es beginnt mit den Schritten (1014) und (1024), die identisch sind mit den Schritten (1013) und (1023) des dritten Teilverfahrens (1003). Dann (1034) wird von jedem der Sampler 641 642, ... jeweils eine Hypothese x1, x2, ... gezogen. Aus den generierten Hypothesen wird diejenige Hypothese xk ausgewählt, die den geringsten Abstand zum Eingangssignal x hat. Diese ausgewählte Hypothese xk und der zugehörige Index k sowie alle weiteren Hypothesen x1, x2, ... werden mit dem Trainings- Ausgangssignal yi und dem Index k allesamt übermittelt. Dann
(1044) werden die zugehörigen Wahrscheinlichkeitswerte p ermittelt. Für jede der in Schritt (1014) zugeführten Eingangssignale x wird ein Mittelwert
ermittelt, wobei n die Anzahl der zu Eingangssignal x generierten Hypothesen bezeichnet und j die Hypothesen indiziert. Hieraus werden die Kenngrößen ermittelt
Ermittelt. Die Summe erfolgt hierbei über alle Eingangssignale x, der jeweils zugehörige Mittelwert p ist durch ein Subskript bezeichnet. Damit endet dieses Teilverfahren.
Figur 17 illustriert eine Ausführungsform des Betriebs des Steuerungssystems 40. Zunächst (2000) wird dem Autoencoder 60 das Eingangssignal x zugeführt. Hieraus ermittelt Autoencoder 60 dann (2100) Hypothesen x1, x2, ... . Hieraus wird nun (2200) diejenige Hypothese xk ausgewählt, deren Abstand zum
Eingangssignal x am geringsten ist. Diese ausgewählte Hypothese xk wird als Ausgangssignal y dem Anomaliedetektor 80 übertragen. Anomaliedetektor 80 stellt nun (2300) den Abstand a = \x— y\ zwischen Ausgangssignal y und Eingangssignal x zur Verfügung. Dieser Abstand a wird nun (2300) mit einem vorgebbaren Schwellwert a verglichen. Ist der Abstand a kleiner als der vorgebbare Schwellwert a, dann (2400) wird darauf entschieden, Aktor 10 im Normalmodus betrieben wird und das Ansteuersignal A entsprechend
ausgewählt der Aktor 10 entsprechend angesteuert. Ist der Abstand a nicht kleiner als der vorgebbare Schwellwert a, dann (2500) wird darauf entschieden, Aktor 10 im Sicherheitsmodus betrieben wird und das Ansteuersignal A entsprechend ausgewählt der Aktor 10 entsprechend angesteuert.
Damit endet das Verfahren.
In weiteren bevorzugten Ausführungsformen umfasst das Trainingssystem 140 eine Ein- oder Mehrzahl von Prozessoren 145 und wenigstens ein
maschinenlesbares Speichermedium 146, auf dem Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren 145 ausgeführt werden, das
Steuerungssystem 140 veranlassen, das erfindungsgemäße Verfahren auszuführen.
Es versteht sich, dass die Verfahren nicht nur wie beschrieben vollständig in
Software implementiert sein können. Sie können auch in Hardware implementiert sein, oder in einer Mischform aus Software und Hardware.