-
Technisches Gebiet
-
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Ermitteln, ob in einem Kommunikationsnetzwerk eine Anomalie vorliegt, ein Computerprogramm, und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
In der
DE 10 2009 026 995 A1 ist ein Verfahren zum Betreiben eines Bussystems, insbesondere eines CAN-Busses, beschrieben. An das Bussystem sind mehrere Stationen anschließbar. Eine übertragene Nachricht weist einen Identifier auf, wobei ein bestimmter Identifier (z.B. IDENT2) immer nur von einer einzigen Station verwendet werden darf. Jede der Stationen vergleicht den Identifier einer übertragenen Nachricht mit den von ihr selbst verwendeten Identifiern (z.B. IDENT2). Bei einer Übereinstimmung wird eine Fehlermeldung erzeugt.
-
Vorteil der Erfindung
-
Das Verfahren mit den Merkmalen des unabhängigen Anspruchs 1 hat demgegenüber den Vorteil, dass eine einfache und wirksamere Erkennung von Anomalien in einem Kommunikationsnetzwerk möglich ist. Vorteilhafte Weiterbildungen sind Gegenstand der unabhängigen Ansprüche.
-
Offenbarung der Erfindung
-
Ein wichtiger Aspekt heutiger Maschinen, Geräte und Systeme besteht in ihrem internen sowie externen Datenaustausch. Innerhalb eines Geräts werden Daten beispielsweise zwischen einzelnen Bauteilen ausgetauscht, um deren gewünschtes Zusammenwirken zu ermöglichen (z. B. zwischen Steuergeräten in einem Kraftfahrzeug). Ein externer Datenaustausch kann beispielsweise zwischen unabhängigen Geräten derselben Art erfolgen (z. B. zwischen mehreren Fahrzeugen, die sich gemeinsam im selben Verkehr bewegen, oder zwischen Haushaltsgeräten, die innerhalb eines vernetzten Hauses miteinander kommunizieren).
-
In einem realen Zusammenschluss kommunizierender Systeme und Geräte kann der Datenverkehr dabei grundsätzlich in zwei Gruppen unterteilt werden: Die erste Gruppe, das „Normalverhalten“, beschreibt die Art des Datenverkehrs wie er im normalen Betrieb - d.h. ohne Fehler, Ausfälle, äußere Manipulationen o. ä. - anfällt. In einem korrekt arbeitenden System treten dann nur fehlerfreie Daten auf und die einzelnen Daten hängen im Allgemeinen durch spezifische (sowohl stationäre als auch zeitlich veränderliche) Korrelationen voneinander ab.
-
Die zweite Gruppe, „Anomalien“, beschreibt die Art des Datenverkehrs, der vom „Normalverhalten“ abweicht. Aus verschiedenen Gründen können im realen Betrieb in den Daten Abweichungen vom Normalverhalten auftreten. Ursachen dafür können beispielsweise folgender Natur sein:
- (i) Defekte oder ganz ausgefallene Sensoren liefern falsche oder gar keine Daten,
- (ii) Bauteile sind beschädigt,
- (iii) das System wurde durch eine externe Quelle (z. B. durch einen Hackerangriff) manipuliert.
-
Es ist von hoher Bedeutung, solche Anomalien zu erkennen, da es beispielsweise möglich sein könnte, über solche Angriffe die Kontrolle über ein Kraftfahrzeug zu übernehmen.
-
Es ist möglich, ein Verfahren zur Detektion von Anomalien regelbasiert zu implementieren. Hierbei wird für eine Auswahl an möglichem, nicht-normalem Verhalten eine Liste an Abfragen, Überprüfungen und Folgerungen erstellt, anhand der das System verfährt.
-
Ein anderer möglicher Ansatz verwendet einen Satz an Beispieldaten, die zusätzliche Information enthalten, ob es sich dabei um einen normalen oder anormalen Zustand handelt. Geeignete Systeme wie z. B. neuronale Netze können dann anhand dieser Labels trainiert werden (überwachtes Lernen), um später ähnliche Zustände erkennen zu können.
-
Eine Schwierigkeit regelbasierter oder auf dem Training gelabelter Daten basierenden Verfahren ist hierbei, dass die Art und Weise einer möglichen Anomalie vor deren Eintreten bekannt sein sollte. Alleine der spezielle Fall eines (Hacker-)Angriffs auf ein System, um dessen Verhalten zu manipulieren, macht klar, dass eine solche Annahme mit großem Aufwand verbunden ist.
-
Es kann daher ein datenbasiertes Modell des Normalverhaltens vorgesehen werden, das in der Lage ist, den Raum der möglichen Systemzustände, die während des „Normalverhaltens“ auftreten, in einem reduziert-dimensionalen Raum vollständig abzudecken und aus diesem das Normalverhalten wieder zu reproduzieren, während Anomalien, d. h. Abweichungen vom Normalverhalten, durch das Modell nicht reproduziert werden können. Anhand der Abweichung zwischen dem tatsächlichen Datenpunkt und der Modellvorhersage kann dann ein „Anomaly Score“ berechnet werden, der Auskunft darüber gibt, ob ein Testdatenpunkt als normal oder anormal anzusehen ist.
-
Die grundlegende Idee des Verfahrens ist daher folgende: Die (physikalische oder kausale) Ursache für die anfallenden Daten im Normalverhalten lässt sich in einem relativ niedrig-dimensionalen Raum beschreiben. Beispielsweise ist der Zustand eines Kraftfahrzeugs oder seines Motors durch wenige physikalische Größen wie Geschwindigkeit, Beschleunigung, Temperatur, Luftdruck, usw. festgelegt. Die daraus entstehende Menge an (Mess-)Daten ist wesentlich höher-dimensional und untereinander teils hoch korreliert. (Beispielsweise gibt es in einem Kraftfahrzeug u.U. mehrere Tausend Sensordaten, die durch entsprechende Kennfelder in Zusammenhang stehen.)
-
Es ist folglich möglich, gemäß einem Encoder-Decoder-Schema den hochdimensionalen (Mess-)Datenraum im Wesentlichen ohne Informationsverlust auf einen niedrig-dimensionaleren Raum latenter Variablen zu projizieren und umgekehrt. Daten des Normalverhaltens werden dabei in guter Näherung auf sich selbst abgebildet, während vom Normalverhalten abweichende Daten durch dieses Schema nicht reproduziert werden können. Anhand eines Rekonstruktionsfehlers kann somit beurteilt werden, ob es sich bei einem Datenpunkt um Normalverhalten handelt oder um eine Anomalie.
-
In einem ersten Aspekt wird daher ein Verfahren vorgestellt, das ermittelt, ob in einem Kommunikationsnetzwerk, insbesondere eines Kraftfahrzeugs, eine Anomalie vorliegt, oder nicht. Hierbei wird mindestens eine über das Kommunikationsnetzwerk übermittelte Nachricht analysiert, 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 (also eine latente Variable) reduzierter Dimensionalität (d.h. mit einer Dimension die kleiner ist als die der Eingangsgröße) 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.
-
Es ist ein Vorteil dieses Verfahrens, dass Anomalien im Datenverkehr des Kommunikationsnetzwerks selbstständig erkannt werden können, wobei kein Vorwissen über ihre Art und ihr Zustandekommen notwendig ist. Die Anomalie-Erkennung beruht also ausschließlich auf der Kenntnis des Normalverhaltens des jeweiligen Systems.
-
Darüber hinaus ist dieses Verfahren besonders einfach auf weitere Kommunikationsteilnehmer im Kommunikationsnetzwerk erweiterbar.
-
Auch ist es gegenüber einem Verfahren, das auf einem überwachten Lernansatz aufbaut, besonders einfach anzulernen, da keine gelabelten Daten benötigt werden.
-
Ferner bietet das Verfahren den Vorteil, dass kategorische Daten ebenfalls berücksichtigt werden können, beispielsweise durch „one-hot encoding“. Das Verfahren ist sowohl „online“ als auch „offline“ anwendbar. D.h. das Verfahren kann auf einem Steuergerät, das im Kraftfahrzeug verbaut ist, ablaufen, oder auch auf einem Diagnosesystem außerhalb des Kraftfahrzeugs, beispielsweise auf einem externen Rechner.
-
Darüber hinaus ist es sehr einfach möglich, das Verfahren upzudaten (durch Update der entsprechenden Decoder-/Encoder-Funktionen) und es kann online anhand neu anfallender Daten weiterlernen.
-
In einer besonders einfachen Weiterbildung kann vorgesehen sein, dass abhängig von einer eine Abweichung zwischen Eingangssignal und Ausgangssignal charakterisierenden Größe entschieden wird, ob eine Anomalie vorliegt, oder nicht. Diese Größe kann beispielsweise ein Absolutbetrag einer Differenz zwischen Eingangssignal und Ausgangssignal sein.
-
Weisen Kodierer und Dekodierer anpassbare Parameter auf, so kann in einem weiteren Aspekt vorgesehen sein, dass diese Parameter derart eingerichtet sind, dass die die Abweichung zwischen Eingangssignal und Ausgangssignal charakterisierende Größe kleiner als ein vorgebbarer Schwellwert, insbesondere minimal, ist, wenn die Eingangsgröße regulär (d.h. anomaliefrei) ist.
-
Dies kann beispielsweise dadurch geschehen, dass die Parameter derart angepasst werden, dass über einem Trainingsdatensatz von Nachrichten, die dem „Normalverhalten“ entsprechen, eine sich für den gesamten Trainingsdatensatz ergebende Abweichung (oder eine diese Abweichung charakterisierende Größe) zwischen Eingangssignal und Ausgangssignal minimal wird.
-
In einem weiteren Aspekt kann vorgesehen sein, dass Kodierer und Dekodierer einen Autoencoder umfassen, d.h. Kodierer und Dekodierer umfassen ein neuronales Netzwerk, das als Autencoder aufgebaut ist. Hierdurch können auch komplexe, nicht-lineare Zusammenhänge zwischen Eingangssignal und Zwischensignal modelliert werden. Ferner ist es durch Verwendung rekurrenter neuronaler Netze auf besonders einfache Art und Weise möglich, Zeitabhängigkeiten zu berücksichtigen.
-
Insbesondere können hier Parameter des Autoencoders derart angepasst werden, dass die die Abweichung zwischen Eingangssignal und Ausgangssignal charakterisierende Größe minimal ist, wenn die Eingangsgröße regulär ist.
-
Alternativ oder zusätzlich kann vorgesehen sein, dass die Zwischengröße abhängig von einer Hauptkomponentenanalyse (englisch „principal component analysis“, PCA) ermittelt wird. Da die Hauptkomponentenanalyse eine orthogonale Transformation ist, hat eine Ausgangsgröße der Hauptkomponentenanalyse die gleiche Dimensionalität wie ihre Eingangsgröße. Die dimensionale Reduktion zum Ermitteln der Zwischengröße kann daher durch eine Projektion auf einen vorgebbaren Unterraum ausgeführt werden (dies ist besonders einfach).
-
In einer Weiterbildung der vorherigen Aspekte kann vorgesehen sein, dass die Ermittlung der Ausgangsgröße abhängig von einer Ausgangsgröße des Autoencoders ermittelt wird, wobei eine Eingangsgröße des Autoencoders abhängig von einer Ausgangsgröße der Hauptkomponentenanalyse ermittelt wird.
-
Eine solche Kombination von Hauptkomponentenanalyse und Autoencoder ist besonders vorteilhaft, da die Hauptkomponentenanalyse lineare Abhängigkeiten zwischen den Komponenten der Eingangsgröße optimal transformiert, und Parameter des Autoencoders derart angepasst werden können, dass der Autoencoder die Nichtlineartäten optimal erfasst.
-
Anstelle der Hauptkomponentenanalyse kann auch eine Unabhängigkeitsanalyse (englisch „independent component analysis“, ICA) verwendet werden.
-
In einem noch weiteren Aspekt ist es möglich, dass abhängig von einer eine Abweichung zwischen einer Komponente des Eingangssignal und einer korrespondierenden Komponente des Ausgangssignal charakterisierenden Größe entschieden wird, welcher Art eine vorliegende Anomalie ist, d.h. an Stelle einer Gesamtbetrachtung einer Abweichung zwischen einem vektorwertigen Eingangssignal und einem vektorwertigen Ausgangssignal wird ausgenutzt, dass weitere Information über die Natur der Anomalie darin enthalten ist, welche Komponenten dieser vektorwertigen Signale eine große und welche eine kleine Abweichung aufweisen.
-
In weiteren Aspekten betrifft die Erfindung ein Computerprogramm, welches eingerichtet ist, eines der vorgenannten Verfahren auszuführen, wenn es auf einem Computer ausgeführt wird, ein maschinenlesbares Speichermedium, auf dem dieses Computerprogramm gespeichert ist (wobei dieses Speichermedium selbstverständlich räumlich verteilt ausgebildet sein kann, z.B. bei paralleler Ausführung über mehrere Computer verteilt), und eine Vorrichtung, insbesondere eine Überwachungseinheit, die eingerichtet ist, eines dieser Verfahren auszuführen (beispielsweise durch Abspielen des vorgenannten Computerprogramms).
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
- 1 schematisch ein Kommunikationsnetzwerk in einem Kraftfahrzeug;
- 2 schematisch einen Signalfluss in der Überwachungseinheit;
- 3 einen beispielhaften Aufbau von Kodierer und Dekodierer;
- 4 einen weiteren beispielhaften Aufbau von Kodierer und Dekodierer;
- 5 in einem Flussdiagramm eine Ausführungsform des Verfahrens zum Detektieren von Anomalien;
- 6 zeitliche Verläufe eines Eingangssignals, eines Ausgangssignals und ihres Differenzsignals;
- 7 in einem Flussdiagramm eine Ausführungsform eines Verfahrens zum Trainieren eines Autoencoders.
-
Beschreibung der Ausführungsbeispiele
-
1 zeigt ein beispielhaftes Kommunikationsnetzwerk in einem Kraftfahrzeug 100. Das Kommunikationsnetzwerk ist in diesem Beispiel durch einen CAN-Bus 300 gegeben, über den Kommunikationsteilnehmer 110, 120 und 130 durch Austausch von Nachrichten miteinander kommunizieren können. Die Überwachungseinheit 200 ist ebenfalls an den CAN-Bus 300 angeschlossen und kann Nachrichten, die die Kommunikationsteilnehmer 110, 120, 130 einander zuschicken ebenfalls empfangen und ggf. selbst eine Nachricht auf den CAN-Bus 300 absetzen, um bei erkannter Anomalie Gegenmaßnahmen einzuleiten. Kommunikationsteilnehmer 110, 120, 130 und das sie verbindende Netzwerk, hier der CAN-Bus 300, bilden zusammen das Kommunikationsnetzwerk.
-
Selbstverständlich ist die Erfindung nicht auf einen CAN-Bus beschränkt. Stattdessen kann sie auch in Kraftfahrzeugen angewandt werden, in denen ein anderer Bus oder eine Kombination mehrerer Bus-Systeme vorhanden sind, beispielsweise Ethernet. Das Verfahren kann auch außerhalb eines Kraftfahrzeugs angewendet werden, beispielsweise in einem Smart Home.
-
Die Überwachungseinheit 200 weist einen Computer 210 auf, der ein maschinenlesbares Speichermedium 220 aufweist. Auf diesem maschinenlesbaren Speichermedium 220 kann ein Computerprogramm gespeichert sein, das Anweisungen umfasst, die, wenn sie von dem Computer 210 ausgeführt werden, das erfindungsgemäße Verfahren ausführen, insbesondere das in 6 illustrierte Verfahren. Selbstverständlich ist es auch möglich, dass Teile des Verfahrens oder das gesamte Verfahren in Hardware implementiert sind.
-
2 illustriert den Signalfluss innerhalb der Überwachungseinheit 200. Einem Eingangsblock 1000 wird eine Nachricht N zugeführt, die die Überwachungseinheit 200 über den CAN-Bus 300 empfangen hat. Der Eingangsblock extrahiert aus der Nachricht eine Eingangsgröße x, beispielsweise einen Nutzdateninhalt (englisch „pay load“) und/oder Metadaten der Nachricht N. Diese Eingangsgröße wird dem Kodierer 1100 zugeführt, der hieraus die Zwischengröße h ermittelt. Die Dimension der (vektorwertigen) Zwischengröße h ist hierbei geringer als die Dimension der (vektorwertigen) Eingangsgröße x. Die Zwischengröße h wird dem Dekodierer 1200 zugeführt, der aus der Zwischengröße h die Ausgangsgröße y ermittelt. Die Dimension der (vektorwertigen) Ausgangsgröße y ist gleich der Dimension der Eingangsgröße x.
-
Die Ausgangsgröße y wird ebenso wie die Eingangsgröße x einem Überwachungsblock 1300 zugeführt, der abhängig von diesen beiden Größen ein Fehlersignal F ermittelt. Das Fehlersignal F charakterisiert, ob im Kommunikationsnetzwert, also in der Kommunikation zwischen den Kommunikationsteilnehmern 110, 120, 130 über den CAN-Bus 300 oder in der Überwachungseinheit 200 eine Anomalie vorliegt. Das Fehlersignal F wird optional einer Ansteuerung 1400 zugeführt, die hieraus eine Ansteuergröße A ermittelt, die über den CAN-Bus 300 einem oder mehreren der Kommunikationsteilnehmer 110, 120, 130 des Kommunikationsnetzwerks übermittelt wird.
-
Beispielsweise ist es möglich, dass das Kraftfahrzeug 100 in einen abgesicherten Zustand überführt wird. Handelt es sich bei dem Kraftfahrzeug 100 um ein autonom fahrbares Kraftfahrzeug 100, kann ein Fahrer aufgefordert werden, die Kontrolle des autonom fahrenden Kraftfahrzeugs 100 wieder zu übernehmen. Alternativ oder zusätzlich ist es möglich, dass die Kommunikation über den CAN-Bus 300 auf essentielle Nachrichten eingeschränkt wird.
-
Enthält das Fehlersignal F bereits spezifische Informationen darüber was die Ursache für die Anomalie ist, kann die Ansteuergröße A eine spezifische Gegenmaßnahme einleiten, wie etwa einen der Kommunikationsteilnehmer 110, 120, 130 vom Datenverkehr über den CAN-Bus abzuschneiden.
-
3 zeigt beispielhaft den Aufbau von Kodierer 1100 und Dekodierer 1200 gemäß einem ersten Ausführungsbeispiel. In diesem Beispiel sind Kodierer 1100 und Dekodierer 1200 gemeinsam als Autoencoder 1150 eingerichtet. Die Komponenten der Eingangsgröße x werden hier mit x1, x2, x3 bezeichnet. Diese werden Neuronen a1, a2, a3, a4 einer ersten Zwischenschicht 1110 zugeführt. Aus den Ausgangsgrößen der Neuronen a1, a2, a3, a4 wird die Zwischengröße h mit Komponenten h1, h2 ermittelt. Diese Komponenten werden Neuronen b1, b2, b3, b4 einer zweiten Zwischenschicht 1210 zugeführt, aus der die Ausgangsgröße y mit Komponenten y1, y2, y3 ermittelt werden.
-
Der Autoencoder 1150 kann beispielsweise auch als „stacked Autoencoder“, „denoising Autoencoder“, „variational Autoencoder“, „smooth Autoencoder“, „rekurrenter Autoencoder“ oder „LSTM Autoencoder“ implementiert sein.
-
Selbstverständlich können erste Zwischenschicht 1110 und/oder zweite Zwischenschicht 1210 jeweils wieder aus einer Mehrzahl von Schichten bestehen, beispielsweise, wenn der Autoencoder 1150 als „stacked Autoencoder“ oder als „deep Autoencoder“ implementiert ist.
-
Ganz konkret kann ein solcher Autoencoder 1150 beispielsweise durch drei aufeinander folgende fully-connected Layer implementiert sein, wobei der mittlere der drei fully-connected Layer kleiner dimensioniert ist als die beiden äußeren.
-
4 zeigt beispielhaft den Aufbau von Kodierer 1100 und Dekodierer 1200 gemäß einem zweiten Ausführungsbeispiel. Die Eingangsgröße x mit Komponenten x1, x2, x3 wird hierbei einem Block 1120 zugeführt, der eine Hauptkomponentenanalyse (durch Multiplikation einer geeigneten Matrix M mit der Eingangsgröße x) durchführt. Als Ergebnis dieser Matrixmultiplikation wird eine Kodierer-Zwischengröße k mit Komponenten k1, k2, k3 ermittelt, und einem zweiten Block 1130 zugeführt. Der zweite Block 1130 ermittelt hieraus die Zwischengröße h mit Komponenten h1, h2, beispielsweise, indem nur diejenigen N Komponenten k1, k2, k3 der Kodierer-Zwischengröße k übernommen werden, deren zugehörige Eigenwerte bei der Hauptkomponentenanalyse den größten Wert haben. N ist hierbei eine fest vorgebbare Zahl. D.h. die Kodierer-Zwischengröße k wird also mathematisch auf einen Raum, der der Dimensionalität der Zwischengröße h entspricht, projiziert. Blöcke 1120 und 1130 entsprechen zusammen dem Kodierer 1100.
-
Der Dekodierer 1200 umfasst einen dritten Block 1220 und einen vierten Block 1230. Der dritte Block 1220 ermittelt aus der Zwischengröße h eine Dekodierer-Zwischengröße p mit Komponenten p1, p2, p3, aus denen der vierte Block mittels einer inversen Hauptkomponentenanalyse (also einer Matrixmultiplikation der (links-)Inversen M_inv der Matrix M mit der Dekodierer-Zwischengröße p). Als Ergebnis dieser Matrixmultiplikation wird die Ausgangsgröße y mit Komponenten y1, y2, y3 ermittelt.
-
Ausgangsgröße y und Dekodierer-Zwischengröße p haben die gleiche Dimensionalität. Um die Dekodierer-Zwischengröße p aus der Zwischengröße h zu ermitteln, kann der dritte Block 1220 die vektorwertige Größe h beispielsweise kanonisch einbetten (d.h. die Komponenten der „fehlenden“ Dimensionen auf den Wert „Null“ ergänzen).
-
Anstatt einer Hauptkomponentenanalyse kann in Block 1120 auch eine Unabhängigkeitsanalyse durchgeführt werden. In Block 1230 wird dann statt einer inversen Hauptkomponentenanalyse eine inverse Unabhängigkeitsanalyse durchgeführt.
-
Selbstverständlich ist es auch möglich, Hauptkomponentenanalyse und Unabhängigkeitsanalyse hintereinander auszuführen.
-
Noch ferner ist es möglich, dass anstelle oder zusätzlich zur dimensionalen Reduktion im zweiten Block 1130 und dimensionalen Einbettung im dritten Block 1220 ein Autoencoder, wie er beispielhaft in 3 illustriert ist, eingesetzt wird.
-
5 zeigt in einem Flussdiagramm beispielhaft ein Verfahren, wie es in der Überwachungseinheit 200 durchgeführt werden kann.
-
Zunächst (2000) werden eine oder mehrere CAN-Nachrichten N über den CAN-Bus 300 empfangen. Dann (2100) extrahiert Eingangsblock 1000 den Nutzdateninhalt und erzeugt so die Eingangsgrößex = (x1, x2, x3... xd)T, wobei d der Dimensionalität der Eingangsgröße x entspricht.
-
Anschließend (2200) wird mittels Kodierer 1100 und Dekodierer 1200 die Ausgangsgröße y = (y1,y2,y3...yd)T ermittelt.
-
Nun (2300) ermittelt Überwachungsblock 1300 das Differenzsignal δ = ||(δ1,δ2,δ3 ... δd)T|| mit δi = xi - yi für i=1...d und überprüft, ob das Differenzsignal δ größer ist als ein vorgebbarer Schwellwert S. Ist dies nicht der Fall (Ausgang „n“), wird zu Schritt 2400 verzweigt, in dem das Fehlersignal F einen Wert erhält, der aussagt, dass kein Fehler detektiert wurde, und dieser Durchgang des Verfahrens endet. Andernfalls (Ausgang „j“) wird zu Schritt 2500 verzweigt. Das Fehlersignal F erhält einen Wert, der aussagt, dass ein Fehler detektiert wurde. Dann (2600) wird das Fehlersignal F der Ansteuerung 1400 übermittelt, die optional abhängig vom Wert des Fehlersignals F die Ansteuergröße A ermittelt. Damit endet das Verfahren.
-
Alternativ oder zusätzlich kann in Schritten 2300-2600 auch für jede Komponente δi des Differenzsignals δ separat überprüft werden, ob sie den vorgebbaren Schwellwert S überschreitet und ggf. ein für jede der Komponenten individuell vorgebbares Fehlersignal F definiert werden. Ansonsten kann das Verfahren wie oben beschrieben ablaufen.
-
Alternativ oder zusätzlich kann in den Schritten 2300-2600 auch ein anderes Fehlermaß δ = δ(x,y) abhängig von Eingangsgröße x und Ausgangsgröße y verwendet werden, das mit einem Schwellwert S verglichen wird, um festzustellen, ob eine Anomalie vorliegt.
-
In den obigen Ausführungsbeispielen muss der Schwellwert S nicht zwangsläufig konstant sein. Er kann auch abhängig von der Eingangsgröße x gewählt werden, also S = S(x) oder abhängig von Ausgangsgröße y, also S = S(y), oder abhängig von beiden, also S = S(x,y).
-
6 zeigt beispielhaft zeitliche Verläufe der (zur Vereinfachung eindimensional dargestellten) Eingangsgröße x, der (zur Vereinfachung eindimensional dargestellten) Eingangsgröße y und des Differenzsignals δ. Im konkreten Beispiel tritt vor einem ersten Zeitintervall T1 ein Fehler in einer Einspritzpumpe des Kraftfahrzeugs 100 auf. Dieser Fehler bewirkt, dass im ersten Zeitintervall T1, in einem zweiten Zeitintervall T2 und in einem dritten Zeitintervall T3 das Differenzsignal δ den Schwellwert S überschreitet, sodass hier auf einen Fehler erkannt wird.
-
7 zeigt beispielhaft ein Verfahren zum Trainieren des in
3 beispielhaft dargestellten Autoencoders
1150. Zunächst (
3000) werden Trainingsdaten generiert, beispielsweise indem Eingangssignale x aus einer Datei ausgelesen werden. Dann (
3100) werden mittels des mit aktuellen Parameterwerten P parametrierten Autoencoders
1150 Ausgangssignale y ermittelt und anschließend (
3200) Differenzsignale δ(P) generiert werden. Dann (
3300) werden (z.B. in einem Gradientenabstiegsverfahren und Backpropagation durch wiederholte Anwendung der Schritte
3000,
3100,
3200) optimale Parameterwerte
näherungsweise ermittelt, und der Autoencoder
1150 wird dann vorzugsweise mit diesen optimalen Parameterwerten P* eingesetzt. Mit „näherungsweiser Ermittlung“ ist gemeint, dass selbstverständlich im Allgemeinen die ermittelten optimalen Parameterwerte P* Gleichung (I) nicht exakt erfüllen, sondern einen numerischen Fehler aufweisen. Dieser numerische Fehler kann beispielsweise im Wesentlichen dadurch bestimmt sein, dass ein Konvergenzkriterium vor Erreichen des tatsächlichen Optimalwerts erfüllt ist und das numerische Verfahren beendet wird, und/oder dadurch bestimmt sein, dass das numerische Verfahren statt des globalen Minimums ein lokales Minimum erreicht hat.
-
Im optionalen Schritt
3400 wird mit den optimalen Parameterwerte P* das Differenzsignal δ(P*) ermittelt und der Schwellwert S auf den Wert
mit einem vorgebbaren Sicherheitsfaktor F (z.B. F = 1,2) gesetzt. Damit endet dieses Verfahren.
-
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 102009026995 A1 [0002]