DE102017210787A1 - Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk - Google Patents

Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk Download PDF

Info

Publication number
DE102017210787A1
DE102017210787A1 DE102017210787.1A DE102017210787A DE102017210787A1 DE 102017210787 A1 DE102017210787 A1 DE 102017210787A1 DE 102017210787 A DE102017210787 A DE 102017210787A DE 102017210787 A1 DE102017210787 A1 DE 102017210787A1
Authority
DE
Germany
Prior art keywords
encoder
variable
input
determined
anomaly
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017210787.1A
Other languages
English (en)
Inventor
Andrej Junginger
Markus Hanselmann
Thilo Strauss
Holger Ulmer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102017210787.1A priority Critical patent/DE102017210787A1/de
Publication of DE102017210787A1 publication Critical patent/DE102017210787A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/208Arrangements for detecting or preventing errors in the information received using signal quality detector involving signal re-encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Abstract

Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk (110, 120, 130, 300), insbesondere eines Kraftfahrzeugs (100), eine Anomalie vorliegt, wobei mindestens eine über das Kommunikationsnetzwerk (110, 120, 130, 300) übermittelte Nachricht analysiert wird, indem abhängig von der, d.h. insbesondere aus der, übermittelten Nachricht eine Eingangsgröße (x) eines Kodierers (1100) ermittelt wird, wobei mittels des Kodierers (1100) eine Zwischengröße (h) reduzierter Dimensionalität ermittelt wird, und wobei abhängig von der Zwischengröße (h) mittels eines Dekodierers (1200) eine Ausgangsgröße (y) mit der Dimensionalität der Eingangsgröße (x) ermittelt wird, wobei abhängig von Eingangsgröße (x) und Ausgangsgröße (y) entschieden wird, ob die Anomalie vorliegt, oder nicht.

Description

  • 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:
    1. (i) Defekte oder ganz ausgefallene Sensoren liefern falsche oder gar keine Daten,
    2. (ii) Bauteile sind beschädigt,
    3. (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 P * = argmin δ ( P )
    Figure DE102017210787A1_0001
    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 S = F * δ ( P* )
    Figure DE102017210787A1_0002
    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]

Claims (10)

  1. Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk (110, 120, 130, 300), insbesondere eines Kraftfahrzeugs (100), eine Anomalie vorliegt, wobei mindestens eine über das Kommunikationsnetzwerk (110, 120, 130, 300) übermittelte Nachricht analysiert wird, indem abhängig von der, d.h. insbesondere aus der, übermittelten Nachricht eine Eingangsgröße (x) eines Kodierers (1100) ermittelt wird, wobei mittels des Kodierers (1100) eine Zwischengröße (h) reduzierter Dimensionalität ermittelt wird, und wobei abhängig von der Zwischengröße (h) mittels eines Dekodierers (1200) eine Ausgangsgröße (y) mit der Dimensionalität der Eingangsgröße (x) ermittelt wird, wobei abhängig von Eingangsgröße (x) und Ausgangsgröße (y) entschieden wird, ob die Anomalie vorliegt, oder nicht.
  2. Verfahren nach Anspruch 1, wobei abhängig von einer eine Abweichung zwischen Eingangssignal (x) und Ausgangssignal (y) charakterisierenden Größe (δ) entschieden wird, ob eine Anomalie vorliegt, oder nicht.
  3. Verfahren nach Anspruch 2, wobei Kodierer (1100) und Dekodierer (1200) derart eingerichtet sind, dass die die Abweichung zwischen Eingangssignal (x) und Ausgangssignal (y) charakterisierende Größe (δ) kleiner als ein vorgebbarer Schwellwert (S) ist, wenn die Eingangsgröße (x) regulär ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei Kodierer (1100) und Dekodierer (1200) einen Autoencoder (1150) umfassen.
  5. Verfahren nach einem der vorherigen Ansprüche, wobei die Zwischengröße (h) abhängig von einer Hauptkomponentenanalyse oder einer Unabhängigkeitsanalyse (englisch „independent component analysis“, ICA) ermittelt wird.
  6. Verfahren nach Anspruch 4 und 5, wobei die Ermittlung der Ausgangsgröße (y) abhängig von einer Ausgangsgröße (p) des Autoencoders (1150) ermittelt wird, wobei eine Eingangsgröße (k) des Autoencoders (1150) abhängig von einer Ausgangsgröße (k) der Hauptkomponentenanalyse bzw. der Unabhängigkeitsanalyse (1120) ermittelt wird.
  7. Verfahren nach einem der vorherigen Ansprüche, wobei die abhängig von einer eine Abweichung zwischen einer Komponente des Eingangssignal (xi) und einer korrespondierenden Komponente des Ausgangssignal (yi) charakterisierenden Größe (δi) entschieden wird, welcher Art eine vorliegende Anomalie ist.
  8. Computerprogramm, welches eingerichtet ist, das Verfahren nach einem der vorhergehenden Schritte auszuführen.
  9. Maschinenlesbares Speichermedium (220), auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.
  10. Überwachungseinheit (200), die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen.
DE102017210787.1A 2017-06-27 2017-06-27 Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk Pending DE102017210787A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017210787.1A DE102017210787A1 (de) 2017-06-27 2017-06-27 Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017210787.1A DE102017210787A1 (de) 2017-06-27 2017-06-27 Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk

Publications (1)

Publication Number Publication Date
DE102017210787A1 true DE102017210787A1 (de) 2018-12-27

Family

ID=64567623

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017210787.1A Pending DE102017210787A1 (de) 2017-06-27 2017-06-27 Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk

Country Status (1)

Country Link
DE (1) DE102017210787A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017213771A1 (de) 2017-08-08 2019-02-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102018209407A1 (de) 2018-06-13 2019-12-19 Robert Bosch Gmbh Verfahren und Vorrichtung zur Behandlung einer Anomalie in einem Kommunikationsnetzwerk
CN112394706A (zh) * 2019-08-14 2021-02-23 潘塔安全系统公司 在基于控制器域网的通信网络中检测信号的方法及其装置
DE102020116054A1 (de) 2020-06-18 2021-12-23 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, Computerprogramm und computerlesbares Speichermedium zum Ermitteln eines neuronalen Netzes und zum Betreiben eines Fahrzeuges
US11277299B2 (en) 2018-09-19 2022-03-15 Robert Bosch Gmbh Method and device for anomaly detection in a vehicle

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009026995A1 (de) 2009-06-17 2011-03-31 Robert Bosch Gmbh Verfahren zum Betreiben eines Bussystems, insbesondere eines CAN-Busses
US20110158542A1 (en) * 2009-12-28 2011-06-30 Canon Kabushiki Kaisha Data correction apparatus and method
US20160127405A1 (en) * 2014-10-29 2016-05-05 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009026995A1 (de) 2009-06-17 2011-03-31 Robert Bosch Gmbh Verfahren zum Betreiben eines Bussystems, insbesondere eines CAN-Busses
US20110158542A1 (en) * 2009-12-28 2011-06-30 Canon Kabushiki Kaisha Data correction apparatus and method
US20160127405A1 (en) * 2014-10-29 2016-05-05 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017213771A1 (de) 2017-08-08 2019-02-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102018209407A1 (de) 2018-06-13 2019-12-19 Robert Bosch Gmbh Verfahren und Vorrichtung zur Behandlung einer Anomalie in einem Kommunikationsnetzwerk
US11228605B2 (en) 2018-06-13 2022-01-18 Robert Bosch Gmbh Method and device for handling an anomaly in a communication network
US11277299B2 (en) 2018-09-19 2022-03-15 Robert Bosch Gmbh Method and device for anomaly detection in a vehicle
CN112394706A (zh) * 2019-08-14 2021-02-23 潘塔安全系统公司 在基于控制器域网的通信网络中检测信号的方法及其装置
DE102020116054A1 (de) 2020-06-18 2021-12-23 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, Computerprogramm und computerlesbares Speichermedium zum Ermitteln eines neuronalen Netzes und zum Betreiben eines Fahrzeuges

Similar Documents

Publication Publication Date Title
DE102017210787A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102017223751A1 (de) Verfahren und Vorrichtung zur Erkennung von Anomalien in einem Datenstrom eines Kommunikationsnetzwerks
DE102017213119A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE202017102238U1 (de) Aktorsteuerungssystem
DE102018200724A1 (de) Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"
DE202017102235U1 (de) Trainingssystem
DE102017222616A1 (de) Verfahren zum automatisierten Erstellen von Regeln für eine regelbasierte Anomalieerkennung in einem Datenstrom
WO2021121695A1 (de) Verfahren, vorrichtung und system zur detektion von anomalen betriebszuständen eines geräts
EP3671632A1 (de) Bildbasierte wartungsvorhersage und detektion von fehlbedienungen
EP3282399B1 (de) Verfahren zur verbesserten erkennung von prozessanomalien einer technischen anlage sowie entsprechendes diagnosesystem
DE102019217613A1 (de) Verfahren zur diagnose eines motorzustands und diagnostisches modellierungsverfahren dafür
DE102015216265A1 (de) Verfahren und Teilsystem zum Installieren eines Softwareupdates in einem Fahrzeug
DE102017006599A1 (de) Verfahren zum Betrieb eines Fahrzeugs
EP3684015A1 (de) Vorrichtung und verfahren zur klassifizierung von daten insbesondere für ein controller area netzwerk oder ein automotive ethernet netzwerk
DE112020006810T5 (de) Betriebszustands-klassifikationssystem und betriebszustands-klassifikationsverfahren
DE102017116016A1 (de) Kraftfahrzeug-Sensorvorrichtung mit mehreren Sensoreinheiten und einem neuronalen Netz zum Erzeugen einer integrierten Repräsentation einer Umgebung
DE102017213771A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
EP3825796A1 (de) Verfahren und vorrichtung zum ki-basierten betreiben eines automatisierungssystems
EP3857455A1 (de) Maschinelles lernsystem, sowie ein verfahren, ein computerprogramm und eine vorrichtung zum erstellen des maschinellen lernsystems
DE102018221684A1 (de) Vorrichtung und Verfahren zur Anomalieerkennung und zum Trainieren eines Modells für eine Anomalieerkennung
DE102021200789A1 (de) Computer-implementiertes Verfahren und Vorrichtung zur Manipulationserkennung für Abgasnachbehandlungssysteme mithilfe Verfahren künstlicher Intelligenz
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
DE102020209228A1 (de) Verfahren zum Überwachen wenigstens einer Recheneinheit
WO2008064616A1 (de) Verfahren und diagnosesystem zur diagnose eines technischen systems
DE102019217300A1 (de) Verfahren zum Trainieren eines künstlichen neuronalen Netzes, Computerprogramm, Speichermedium, Vorrichtung, künstliches neuronales Netz und Anwendung des künstlichen neuronalen Netzes

Legal Events

Date Code Title Description
R163 Identified publications notified
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000

R012 Request for examination validly filed