Beschreibung
Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes
Die Erfindung betrifft ein Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes. Ferner betrifft die Erfindung eine Vorrichtung zur Datenverarbeitung, ein Computerprogrammprodukt und ein computerlesbares Speichermedium.
Maschinelles Lernen, beispielsweise auf Grundlage von Neuronalen Netzen, hat großes Potenzial für eine Anwendung in modernen Fahrerassistenzsystemen und automatisiert fahrenden Kraftfahrzeugen. Auf tiefen Neuronalen Netzen basierende Funktionen verarbeiten hierbei Sensorrohdaten (zum Beispiel von Kameras, Radar- oder Lidarsensoren), um hieraus relevante Informationen abzuleiten. Diese Informationen umfassen zum Beispiel eine Art und eine Position von Objekten in einem Umfeld des Kraftfahrzeugs, ein Verhalten der Objekte oder eine Fahrbahngeometrie oder -topologie. Unter den Neuronalen Netzen haben sich
insbesondere Faltungsnetze (engl convolutional neural networks) als besonders geeignet für Anwendungen in der Bildverarbeitung erwiesen. Während diese Neuronalen Netze klassische Ansätze an funktionaler Genauigkeit übertreffen, besitzen diese jedoch auch Nachteile. So können beispielsweise Störeinflüsse in erfassten Sensordaten oder auf adversarialen
Störeinflüssen basierende Angriffe dazu führen, dass trotz eines semantisch nicht veränderten Inhalts in den erfassten Sensordaten eine Fehlklassifizierung bzw. falsche semantische
Segmentierung erfolgt. Eine Kenntnis einer funktionsspezifischen Robustheit eines Neuronalen Netzes gegenüber solchen Störeinflüssen ist daher gewünscht.
Aus der DE 10 2018 200 724 A1 ist ein Verfahren zum Erzeugen einer universellen
Datensignalstörung zum Generieren eines manipulierten Datensignals zum Täuschen eines ersten maschinellen Lernsystems bekannt, welches eingerichtet ist, eine semantische
Segmentierung eines empfangenen ein- oder mehrdimensionalen Datensignals zu ermitteln, mit den Schritten: Ermitteln eines Trainingsdatensatzes umfassend Paare von Datensignalen und zugehörigen gewünschten semantischen Segmentierungen, Generieren der
Datensignalstörung, abhängig von den Datensignalen des Trainingsdatensatzes, der zugehörigen gewünschten semantischen Segmentierung sowie geschätzten semantischen Segmentierungen der mit der Datensignalstörung beaufschlagten Datensignale. Ferner wird ein Verfahren zur Beurteilung einer Robustheit eines Aktorensteuerungssystems mit einem
maschinellen Lernsystem beschrieben, bei dem in Abhängigkeit von einem ungestörten Ansteuersignal und einem gestörten Ansteuersignal entschieden wird, ob das
Aktorsteuerungsystem robust ist oder nicht.
Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren und eine Vorrichtung zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes zu verbessern.
Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des
Patentanspruchs 1 und eine Vorrichtung mit den Merkmalen des Patentanspruchs 10 gelöst. Ferner wird die Aufgabe erfindungsgemäß durch ein Computerprogrammprodukt mit den Merkmalen des Patentanspruchs 11 und ein computerlesbares Speichermedium mit den Merkmalen des Patentanspruchs 12 gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Insbesondere wird ein Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes zur Verfügung gestellt, umfassend die Schritte:
- Bereitstellen des Neuronalen Netzes, wobei das Neuronale Netz auf Grundlage eines Trainingsdaten umfassenden Trainingsdatensatzes trainiert wird oder trainiert wurde,
- Erzeugen mindestens eines veränderten Trainingsdatensatzes durch Manipulieren des Trainingsdatensatzes, wobei die Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts verändert werden,
- Bestimmen mindestens einer Aktivierungsdifferenz zwischen einer Aktivierung des
Neuronalen Netzes durch die Trainingsdaten des ursprünglichen Trainingsdatensatzes und einer Aktivierung durch die jeweils korrespondierenden Trainingsdaten des mindestens einen veränderten Trainingsdatensatzes,
- Bereitstellen der bestimmten mindestens einen Aktivierungsdifferenz.
In einem weiteren Aspekt der Erfindung wird eine Vorrichtung zur Datenverarbeitung geschaffen, umfassend Mittel zur Ausführung der Verfahrensschritte des Verfahrens nach einer beliebigen der beschriebenen Ausführungsformen.
Weiter wird ein Computerprogramm geschaffen, umfassend Befehle, die bei der Ausführung des Computerprogramms durch einen Computer diesen veranlassen, die Verfahrensschritte des Verfahrens nach einer beliebigen der beschriebenen Ausführungsformen auszuführen.
Ferner wird ein computerlesbares Speichermedium geschaffen, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, die Verfahrensschritte des Verfahrens nach einer beliebigen der beschriebenen Ausführungsformen auszuführen.
Das Verfahren und die Vorrichtung ermöglichen es, eine Robustheit eines Neuronales Netzes, insbesondere eines Faltungsnetzes, gegenüber Störeinflüssen zu beurteilen. Hierzu wird ein Trainingsdatensatz, mit dem das Neuronale Netz trainiert wurde oder trainiert wird, verändert. Die an dem Trainingsdatensatz durchgeführten Veränderungen verändern hierbei nicht einen semantisch bedeutungsvollen Inhalt, sondern lediglich semantisch nicht bedeutungsvolle Inhalte. Ein semantisch bedeutungsvoller Inhalt bezeichnet hierbei insbesondere einen semantischen Kontext, der für eine Funktion des trainierten Neuronalen Netzes von Bedeutung ist. Der semantisch bedeutungsvolle Inhalt ist insbesondere der Inhalt, den die Funktion des trainierten Neuronalen Netzes im Rahmen einer semantischen Segmentierung bzw.
Klassifizierung erkennen soll. Im Gegensatz hierzu ist der semantisch nicht bedeutungsvolle Inhalt insbesondere ein Inhalt, der idealerweise beliebig ausgestaltet sein darf, ohne dass eine Funktion des trainierten Neuronalen Netzes hierdurch beeinträchtigt wird. Der derart veränderte Trainingsdatensatz und der ursprüngliche Trainingsdatensatz werden anschließend auf das trainierte Neuronale Netz angewendet, das heißt die Trainingsdaten und die veränderten Trainingsdaten werden dem trainierten Neuronalen Netz jeweils als Eingangsdaten zugeführt. Anschließend wird mindestens eine Aktivierungsdifferenz zwischen einer durch die
Trainingsdaten hervorgerufenen Aktivierung und einer durch die hiermit korrespondierenden veränderten Trainingsdaten hervorgerufenen Aktivierung des Neuronalen Netzes bestimmt. Die ursprünglichen (d.h. ungestörten) und die veränderten (d.h. gestörten) Trainingsdaten werden hierbei immer paarweise betrachtet. Die bestimmte mindestens einen Aktivierungsdifferenz wird anschließend bereitgestellt und stellt ein Maß für eine Sensitivität bzw. eine Robustheit des Neuronalen Netzes gegenüber einer jeweils beim Verändern des Trainingsdatensatzes mittels eines Manipulationsverfahrens durchgeführten Veränderung dar. Hierbei kann das Neuronale Netz insbesondere als umso robuster beurteilt werden, je geringer die mindestens eine
Aktivierungsdifferenz ist.
Der Vorteil des Verfahrens ist, dass eine Robustheit eines Neuronalen Netzwerks gegenüber gestörten Eingangsdaten verbessert beurteilt werden kann, da eine Aktivierung bzw. eine Aktivierungsdifferenz, insbesondere innerhalb, des Neuronalen Netzes betrachtet wird.
Ein Neuronales Netz ist insbesondere ein Künstliches Neuronales Netz, insbesondere ein Faltungsnetz (engl convolutional neural network). Das Neuronales Netz ist insbesondere auf
eine bestimmte Funktion trainiert, beispielsweise eine Wahrnehmung von Fußgängern in erfassten Kamerabildern.
Die Trainingsdaten des Trainingsdatensatzes können eindimensional oder mehrdimensional ausgebildet sein, wobei die Trainingsdaten hinsichtlich eines semantisch bedeutungsvollen Inhalts markiert („gelabelt“) sind. Beispielsweise kann es sich bei den Trainingsdaten um erfasste und hinsichtlich eines semantischen Inhalts markierte Kamerabilder handeln.
Zum Verändern der Trainingsdaten des Trainingsdatensatzes können verschiedene
Manipulationsverfahren eingesetzt werden. Hierbei ist insbesondere vorgesehen, dass ein semantisch bedeutungsvoller Inhalt der Trainingsdaten nicht verändert wird. Dies bedeutet insbesondere, dass nur nicht-relevante Kontextdimensionen verändert werden. Ist das
Neuronale Netz beispielsweise darauf trainiert, Fußgänger in erfassten Kamerabildern zu erkennen, so werden als Trainingsdaten verwendete Kamerabilder beim Verändern derart verändert, dass ein oder mehrere in einem erfassten Kamerabild vorhandene Fußgänger nicht oder nur in nicht relevanter Weise verändert werden. Im Beispiel der Kamerabilder können beispielsweise die folgenden Manipulationsverfahren verwendet werden: photometrische Manipulationsverfahren (z.B. eine Veränderung einer Helligkeit, eines Kontrastes, einer Sättigung), Rauschen und Unschärfe (z.B. Gaußsche Unschärfe, Gaußsches Rauschen, Salt & Pepper Rauschen) oder adversariale Manipulationsverfahren (z.B.„Fast Gradient Sign
Method“). Ferner können als Manipulationsverfahren auch komplexere Verfahren angewendet werden, beispielsweise kann vorgesehen sein, eine Sommerszene in eine Winterszene abzuändern, ohne dass ein semantisch bedeutungsvoller Inhalt (z.B. ein abgebildeter
Fußgänger) selbst entfernt wird. Weiter können beispielsweise Farben, Texturen oder sonstige Eigenschaften von Objekten und/oder Oberflächen der Objekte verändert werden,
beispielsweise kann eine Farbe eines Kraftfahrzeugs verändert werden oder ein
Reflexionsverhalten einer Oberfläche des Kraftfahrzeugs. Es können insbesondere die folgenden Manipulationen einzeln oder in Kombination miteinander vorgenommen werden: ein hinzugefügtes Sensorrauschen in den Trainingsdaten, Kontrast-, Helligkeits- und/oder
Bildschärfeverschiebungen, Farbtonverschiebungen, Farbintensitätsverschiebungen,
Farbtiefeverschiebungen, Farbveränderungen einzelner (semantischer) Objekte, kleine Veränderungen an Objekten (z.B. Schmutz, eine Verbiegung, eine Spiegelung auf dem Objekt, Wettereinflüsse, Aufkleber oder Graffiti auf dem Objekt), eine Rotation und/oder eine
Verschiebung und/oder Verzerrungen in den Trainingsdaten, eine Veränderung der
physikalischen Eigenschaften von Objekten (z.B. der Reflexionseigenschaften oder der Lackeigenschaften eines Kraftfahrzeugs etc.).
Eine Aktivierung wird insbesondere auf Grundlage von (inferierten) Werten an Ausgängen von Neuronen des Neuronalen Netzes bestimmt. Zum Bestimmen der Aktivierungsdifferenz werden insbesondere die (inferierten) Werte an den Ausgängen der Neuronen im Neuronalen Netz jeweils paarweise für die ursprünglichen und die veränderten Trainingsdaten miteinander verglichen.
Das Verfahren wird insbesondere als computerimplementierte Erfindung ausgeführt.
Insbesondere wird das Verfahren mittels einer Recheneinrichtung, die auf einen Speicher zugreifen kann, ausgeführt. Die Recheneinrichtung kann als eine Kombination von Hardware und Software ausgebildet sein, beispielsweise als Programmcode, der auf einem
Mikrocontroller oder Mikroprozessor ausgeführt wird.
In einer Ausführungsform ist vorgesehen, dass auf Grundlage der bereitgestellten mindestens einen Aktivierungsdifferenz ein Robustheitsmaß abgeleitet und bereitgestellt wird. Dies kann beispielsweise eine reelle Zahl sein, welche eine Beurteilung der Robustheit und einen
Vergleich einer Robustheit unterschiedlicher Neuronaler Netze miteinander ermöglicht.
In einer Ausführungsform ist vorgesehen, dass Aktivierungsdifferenzen neuronenweise und/oder bereichsweise bestimmt und bereitgestellt werden. Dies ermöglicht es, von einer Manipulation der Trainingsdaten besonders betroffene bzw. sensitive Neuronen und/oder Bereiche des Neuronalen Netzes zu identifizieren. Dies ermöglicht eine detaillierte Analyse von sensitiven Neuronen und/oder Bereichen des Neuronalen Netzes, welche beispielsweise bei einer nachfolgenden Anpassung von Parametern oder eines Aufbaus bzw. einer Architektur des Neuronalen Netzes berücksichtigt werden können. Hierzu werden beispielsweise jeweils Aktivierungsdifferenzen zwischen den Ausgängen der Neuronen des Neuronalen Netzes einzeln und/oder bereichsweise gebildet und bereitgestellt. Es kann beispielsweise vorgesehen sein, dass eine L2-Distanz (L2-Norm) zwischen Aktivierungsvektoren gebildet wird, die eine Aktivierung der Neuronen oder Bereiche beschreiben.
Ist das Neuronale Netz als Faltungsnetz ausgebildet, so kann beispielsweise vorgesehen sein, dass eine Aktivierungsdifferenz für jeden Filter im Faltungsnetz bestimmt und bereitgestellt wird.
In einer weiterbildenden Ausführungsform ist vorgesehen, dass bestimmte
Aktivierungsdifferenzen jeweils über mehrere Neuronen und/oder über einen Bereich gemittelt
werden, wobei jeweils die gemittelten Aktivierungsdifferenzen bereitgestellt werden. Dies ermöglicht es, eine Analyse der Aktivierungsdifferenzen bzw. einer Sensitivität des Neuronalen Netzes effizienter zu analysieren und auszuwerten. Beispielsweise kann eine mittlere
Aktivierungsdifferenz für mehrere Neuronen und/oder Bereiche berechnet werden. Das Mitteln kann insbesondere mit Hilfe statistischer Verfahren erfolgen, beispielsweise kann zum Mitteln ein Erwartungswert bestimmt werden.
In einer Ausführungsform ist vorgesehen, dass bestimmte Aktivierungsdifferenzen in
Abhängigkeit einer Position einer zugehörigen Neuronenschicht innerhalb des Neuronalen Netzes gewichtet bereitgestellt werden. Dies ermöglicht es, einen zu erwartenden Einfluss auf die Ausgänge des Neuronalen Netzes zu berücksichtigen, denn in der Regel hat eine erhöhte Sensitivität einer Neuronenschicht in Eingangsnähe einen geringeren Einfluss auf ein von dem Neuronalen Netz geliefertes Endergebnis als eine erhöhte Sensitivität einer Neuronenschicht in Ausgangsnähe. Werden Aktivierungsdifferenzen von Neuronen und/oder von Bereichen des Neuronalen Netzes gemittelt, so kann die Gewichtung beim Mitteln entsprechend einer Position der Neuronenschicht im Neuronalen Netz berücksichtigt werden. Das Mitteln kann
insbesondere mit Hilfe statistischer Verfahren erfolgen, beispielsweise kann zum Mitteln ein Erwartungswert bestimmt werden.
In einer weiteren Ausführungsform ist vorgesehen, dass Aktivierungsdifferenzen jeweils über mehrere Inferenzdurchläufe gemittelt werden, wobei jeweils die gemittelten
Aktivierungsdifferenzen bereitgestellt werden. Hierbei kann insbesondere vorgesehen sein, dass die mehreren Inferenzdurchläufe jeweils für mit unterschiedlichen Manipulationsverfahren veränderte Trainingsdaten durchgeführt werden. Hierdurch können Aktivierungsdifferenzen einzelner Neuronen und/oder über mehrere Neuronen und/oder über Bereiche gemittelte Aktivierungsdifferenzen auch über mehrere Störeinflüsse gemittelt und berücksichtigt werden. Das Mitteln kann insbesondere mit Hilfe statistischer Verfahren erfolgen, beispielsweise kann zum Mitteln ein Erwartungswert bestimmt werden.
In einer Ausführungsform ist vorgesehen, dass bestimmte Aktivierungsdifferenzen jeweils in Abhängigkeit eines zugehörigen Manipulationsverfahrens bereitgestellt werden. Beispielsweise können für mehrere Manipulationsverfahren jeweils für alle Neuronen im Neuronalen Netz die jeweiligen Aktivierungsdifferenzen bestimmt und jeweils in Abhängigkeit des zugehörigen Manipulationsverfahrens bereitgestellt werden. Hierdurch können Neuronen und/oder Bereiche des Neuronalen Netzes hinsichtlich einer Sensitivität auf von bestimmten
Manipulationsverfahren hervorgerufene Störeinflüsse analysiert werden.
In einer Weiterbildung ist vorgesehen, dass die bestimmten Aktivierungsdifferenzen in
Abhängigkeit eines jeweils zugehörigen Manipulationsverfahrens gewichtet bereitgestellt werden. Beispielsweise kann ein Mittelwert oder Erwartungswert der Aktivierungsdifferenz für die Neuronen und/oder Bereiche des Neuronalen Netzes bestimmt werden, wobei die jeweiligen Aktivierungsdifferenzen für die jeweils zugehörigen Manipulationsverfahren gewichtet berücksichtigt werden. Man erhält hierdurch nach dem jeweils verwendeten
Manipulationsverfahren gewichtete Aktivierungsdifferenzen oder Mittelwerte oder
Erwartungswerte der Aktivierungsdifferenzen für einzelne Neuronen und/oder über mehrere Neuronen und/oder Bereiche gemittelte Aktivierungsdifferenzen. Dies ermöglicht eine zusammenfassende Beurteilung der Robustheit des Neuronalen Netzes gegenüber mehreren Störungen bzw. Manipulationsverfahren.
In einer Ausführungsform ist vorgesehen, dass Neuronen und/oder Bereiche des Neuronalen Netzes in Abhängigkeit der jeweils für diese bestimmten Aktivierungsdifferenzen sortiert werden und eine zugehörige Rangfolge bereitgestellt wird. Es kann beispielsweise vorgesehen sein, alle (einzelnen oder gemittelten) Aktivierungsdifferenzen ihrem Betrag nach zu sortieren und entsprechend einer durch die Sortierung entstehenden Rangfolge bereitzustellen. Dies ermöglicht es, die am sensitivsten reagierenden Bereiche entweder über alle
Manipulationsverfahren gemittelt oder für einzelne Manipulationsverfahren zu identifizieren. In einem gegebenenfalls nachfolgenden Schritt zum Anpassen einer Struktur des Neuronalen Netzes kann dann beispielsweise vorgesehen sein, lediglich die oberen 5 % oder 10 % der sensitivsten Neuronen oder Bereiche zu verändern, das restliche Neuronale Netz jedoch unverändert zu lassen.
Nachfolgend wird die Erfindung anhand bevorzugter Ausführungsbeispiele unter Bezugnahme auf die Figuren näher erläutert. Hierbei zeigen:
Fig. 1 eine schematische Darstellung einer Vorrichtung zum Ausführen des Verfahrens;
Fig. 2 ein schematisches Flussdiagramm einer Ausführungsform des Verfahrens zum
Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes;
Fig. 3 ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum
Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes;
Fig. 4 eine schematische Darstellung von jeweils für einzelne Filter eines Faltungsnetzes bestimmten Aktivierungsdifferenzen;
Fig. 5 eine schematische Darstellung von jeweils für einzelne Filter eines Faltungsnetzes bestimmten Aktivierungsdifferenzen in Abhängigkeit von unterschiedlichen Manipulationsverfahren.
In Fig. 1 ist eine schematische Darstellung einer Vorrichtung 30 zum Ausführen des Verfahrens gezeigt. Die Vorrichtung 30 umfasst Mittel 31 zum Ausführen des Verfahrens. Die Mittel 31 umfassen eine Recheneinrichtung 32 und einen Speicher 33. Zum Durchführen der
Verfahrensschritte kann die Recheneinrichtung 32 auf den Speicher 33 zugreifen und in diesem Rechenoperationen durchführen. In dem Speicher 33 sind ein Neuronales Netz 1 und ein Trainingsdatensatz 2 hinterlegt. Nach Durchführen des Verfahrens sind ferner auch mindestens ein veränderter Trainingsdatensatz 4 sowie Aktivierungen 5, bestimmte
Aktivierungsdifferenzen 7 und gegebenenfalls gemittelte Aktivierungsdifferenzen 10 und ein Robustheitsmaß 9 in dem Speicher 33 hinterlegt.
Nach Durchführen der einzelnen Verfahrensschritte werden die bestimmten
Aktivierungsdifferenzen 7 und gegebenenfalls die gemittelten Aktivierungsdifferenzen 10 und das Robustheitsmaß 9 von der Recheneinrichtung 32 ausgegeben, beispielsweise über eine geeignete Schnittstelle (nicht gezeigt).
In Fig. 2 ist ein schematisches Flussdiagramm zum Verdeutlichen einer Ausführungsform des Verfahrens zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes 1 gezeigt. Das Neuronale Netz 1 ist bereits auf Grundlage eines Trainingsdatensatzes 2 trainiert worden.
Es wird mindestens ein veränderter Trainingsdatensatz 4 durch Manipulieren des
Trainingsdatensatzes 2 mittels eines Manipulationsverfahrens 3 erzeugt, wobei die im
Trainingsdatensatz 2 enthaltenen Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts verändert werden.
Der Trainingsdatensatz 2 und der veränderte Trainingsdatensatz 4 werden jeweils auf das Neuronale Netz 1 angewendet, das heißt diese werden dem Neuronalen Netz 1 jeweils als Eingangsdaten zugeführt, wobei die Eingangsdaten durch das Neuronale Netz 1 im Rahmen
einer Feed-Forward-Folge hindurch propagiert werden, sodass an einem Ausgang des
Neuronalen Netzes 1 inferierte Ergebnisse bereitgestellt werden können.
Handelt es sich bei den Trainingsdaten beispielsweise um erfasste Kamerabilder, so wird dem Neuronalen Netz 1 jeweils ein ungestörtes Kamerabild des ursprünglichen
Trainingsdatensatzes 2 zugeführt. Ferner wird dem Neuronalen Netz 1 (anschließend) ein manipuliertes bzw. gestörtes Kamerabild aus dem veränderten Trainingsdatensatz 4 zugeführt. Hierbei werden für einzelne Neuronen und/oder Bereiche des Neuronalen Netzes jeweils Aktivierungen 5 bestimmt und jeweils paarweise (ungestörtes Kamerabild / gestörtes
Kamerabild) miteinander verglichen, beispielsweise in einem Differenzbildungsschritt 6. Dieser Differenzbildungsschritt 6 liefert für die betrachteten Neuronen und/oder Bereiche jeweils Aktivierungsdifferenzen 7. Die bestimmten Aktivierungsdifferenzen 7 werden anschließend bereitgestellt.
Es kann vorgesehen sein, das auf Grundlage der bestimmten Aktivierungsdifferenzen 7 in einem Robustheitsmaßbestimmungsschritt 8 ein Robustheitsmaß 9 bestimmt und bereitgestellt wird. Beispielsweise kann den bestimmten Aktivierungsdifferenzen 7 eine reelle Zahl zwischen 0 und 1 zugeordnet werden. Ein solches Robustheitsmaß 9 ermöglicht einen Vergleich einer Robustheit zwischen verschiedenen Neuronalen Netzen.
Es kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 über mehrere Neuronen und/oder über einen Bereich gemittelt werden, wobei jeweils die gemittelten
Aktivierungsdifferenzen 10 bereitgestellt werden.
Ferner kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 in Abhängigkeit einer Position einer zugehörigen Neuronenschicht innerhalb des Neuronalen Netzes 1 gewichtet bereitgestellt werden.
Weiter kann vorgesehen sein, dass Aktivierungsdifferenzen 7 jeweils über mehrere
Inferenzdurchläufe gemittelt werden, wobei jeweils die gemittelten Aktivierungsdifferenzen 10 bereitgestellt werden. Insbesondere kann hierbei über Inferenzdurchläufe gemittelt werden, die zu veränderten Trainingsdaten 4 gehören, die jeweils mittels unterschiedlicher
Manipulationsverfahren verändert wurden.
Es kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 jeweils in Abhängigkeit eines zugehörigen Manipulationsverfahrens 3 bereitgestellt werden.
Es kann weiterbildend vorgesehen sein, dass die bestimmten Aktivierungsdifferenzen in Abhängigkeit eines jeweils zugehörigen Manipulationsverfahrens gewichtet bereitgestellt werden.
Es kann vorgesehen sein, dass Neuronen und/oder Bereiche des Neuronalen Netzes 1 in Abhängigkeit der jeweils für diese bestimmten Aktivierungsdifferenzen 7 sortiert werden und eine zugehörige Rangfolge bereitgestellt wird.
In Fig. 3 ist ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes gezeigt.
In einem Verfahrensschritt 100 wird ein Neuronalen Netz bereitgestellt. Eine Struktur und Gewichtungen des Neuronalen Netzes sind beispielsweise in einem Speicher eines Computers hinterlegt. Das Neuronale Netz ist entweder bereits auf Grundlage eines Trainingsdaten umfassenden Trainingsdatensatzes trainiert oder wird im Rahmen des Verfahrensschritts 100 auf Grundlage des Trainingsdatensatzes trainiert. Das Neuronale Netz ist beispielsweise darauf trainiert, erfasste Kamerabilder auszuwerten und festzustellen, ob ein Fußgänger in den Kamerabildern abgebildet ist. Die Eingangsdaten des Neuronalen Netzes sind daher zweidimensionale Kamerabilder. Entsprechend sind die Trainingsdaten des
Trainingsdatensatzes markierte („gelabelte“) Kamerabilder.
In einem Verfahrensschritt 101 werden mehrere veränderte Trainingsdatensätze durch
Manipulieren des Trainingsdatensatzes erzeugt, wobei die Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts (z.B. Fußgänger in den
Kamerabildern) verändert werden. Die Kamerabilder, welche die Trainingsdaten des
Trainingsdatensatzes bilden, werden hierzu mit Hilfe von Manipulationsverfahren verändert.
Zum Verändern der Kamerabilder können beispielsweise die folgenden Manipulationen einzeln oder in Kombination durchgeführt werden:
- Hinzufügen eines Rauschens in den Kamerabildern (z.B. Gaußsches Rauschen, Salt & Pepper-Rauschen),
- Kontrast- und/oder Bildschärfeverschiebungen,
- Farbtonverschiebungen,
- Farbintensitätsverschiebungen, Farbtiefeverschiebungen,
- Farbveränderungen an einzelnen semantischen Objekten (z.B. abgebildete Kraftfahrzeuge, Gebäude etc. in den Kamerabildern),
- Hinzufügen von Verschmutzungen auf abgebildeten Objekten (z.B. Schmutz,
Wettereinflüsse [Regen, Schnee], Aufkleber, Graffiti,...),
- Rotationen, Verschiebungen und/oder Verzerrungen von Teilen der Kamerabilder,
- Veränderung von physikalischen Eigenschaften von abgebildeten Objekten in den Kamerabildern (Lackeigenschaften, Reflexionseigenschaften,...).
In einem Verfahrensschritt 102 werden die Trainingsdaten des Trainingsdatensatzes und jeweils zugehörige veränderte Trainingsdaten des veränderten Trainingsdatensatzes dem Neuronalen Netz als Eingangsdaten zugeführt, das heißt es werden auf Grundlage dieser Eingangsdaten Ausgangsdaten mittels des trainierten Neuronalen Netzes inferiert. Hierbei wird mindestens eine Aktivierungsdifferenz zwischen einer Aktivierung des Neuronalen Netzes durch die Trainingsdaten des ursprünglichen Trainingsdatensatzes und einer Aktivierung durch die jeweils korrespondierenden veränderten Trainingsdaten der veränderten Trainingsdatensätze bestimmt.
Dies kann sowohl neuronenweise als auch über Bereiche des Neuronalen Netzes gemittelt erfolgen.
Bei einem als Faltungsnetz ausgebildeten Neuronalen Netz kann beispielsweise vorgesehen sein, Aktivierungsdifferenzen für die einzelnen Filter des Faltungsnetzes zu bestimmen. Eine Metrik zum Bestimmen der Aktivierungsdifferenzen der einzelnen Filter ist beispielsweise die folgende:
Hierbei ist , die Aktivierungsdifferenz des Filters mit dem Index i, Al(.,.) eine
Aktivierungsdifferenzfunktion, f(x) eine Ausgangsfunktion des Filters mit dem Index i, Wi x Hi eine Größe der Ausgangs-Feature Map des Filters mit dem Index i, N eine Anzahl von Bildern, xn das ursprüngliche Kamerabild (d.h. das ursprüngliche Trainingsdatum), Ax„ das veränderter Kamerabild (d.h. das veränderte Trainingsdatum) und f(x) eine Ausgangsfunktion des Filters mit dem Index i. Es kann prinzipiell jedoch auch eine andere Metrik verwendet werden.
Ein beispielhaftes Ergebnis von Aktivierungsdifferenzen für jeden der Filter in einem Faltungsnetz ist schematisch in der Fig. 4 gezeigt, wobei die x-Achse 20 den Index i der Filter im Faltungsnetz und die y-Achse 21 eine normierte Aktivierungsdifferenz zeigt. Die
Aktivierungsdifferenzen sind hierbei auf die maximale Aktivierungsdifferenz normiert. Zum Manipulieren wurde beispielhaft eine Helligkeit in Kamerabildern des Trainingsdatensatzes verändert. Es ist in diesem Beispiel zu erkennen, dass das Faltungsnetz insbesondere bei den Filtern um den Filterindex von 1000 herum besonders sensitiv bzw. wenig robust ausgebildet ist.
In einem Verfahrensschritt 103 werden die bestimmten Aktivierungsdifferenzen bereitgestellt. Die Aktivierungsdifferenzen können beispielsweise in Form eines digitalen Datenpakets ausgegeben werden. Im einfachsten Fall werden lediglich die Aktivierungsdifferenzen ausgegeben, beispielsweise als Maßzahlen in einem Bereich von 0 (keine
Aktivierungsdifferenz) und 1 (maximale Aktivierungsdifferenz).
Es kann in einem Verfahrensschritt 104 vorgesehen sein, dass auf Grundlage der
bereitgestellten Aktivierungsdifferenzen ein Robustheitsmaß abgeleitet und bereitgestellt wird. Dies kann beispielsweise durch Ableiten einer Kennzahl für alle Neuronen und/oder alle Bereiche des Neuronalen Netzes erfolgen. Im einfachsten Fall können beispielsweise sämtliche (normierten) Aktivierungsdifferenzen aufsummiert und bereitgestellt werden. Es kann jedoch auch vorgesehen sein, zum Ableiten des Robustheitsmaßes eine Funktion vorzusehen, die die Aktivierungsdifferenzen auf einen Bereich der reellen Zahlen zwischen 0 (Neuronales Netz ist nicht robust gegenüber den Störungen in den Eingangsdaten) und 1 (Neuronales Netz ist vollständig robust gegenüber den Störungen in den Eingangsdaten) abbildet.
Es kann im Verfahrensschritt 102 vorgesehen sein, dass bestimmte Aktivierungsdifferenzen jeweils über mehrere Neuronen und/oder über einen Bereich gemittelt werden, wobei jeweils die gemittelten Aktivierungsdifferenzen bereitgestellt werden.
Es kann in Verfahrensschritt 103 ferner vorgesehen sein, dass bestimmte
Aktivierungsdifferenzen in Abhängigkeit einer Position einer zugehörigen Neuronenschicht innerhalb des Neuronalen Netzes gewichtet bereitgestellt werden. Insbesondere werden Aktivierungsdifferenzen von Neuronen oder Bereichen in Neuronenschichten, die näher am Eingang des Neuronalen Netzes liegen, weniger stark gewichtet als Aktivierungsdifferenzen von Neuronen oder Bereichen in Neuronenschichten, die näher am Ausgang des Neuronalen Netzes liegen. Einer Sensitivität von Neuronenschichten, die näher am Ausgang des
Neuronalen Netzes liegen, kann hierdurch ein größerer Einfluss bei der Beurteilung der Robustheit gegeben werden.
Es kann im Verfahrensschritt 102 weiter vorgesehen sein, dass Aktivierungsdifferenzen jeweils über mehrere Inferenzdurchläufe gemittelt werden, wobei jeweils die gemittelten
Aktivierungsdifferenzen bereitgestellt werden. Insbesondere kann über die Inferenzdurchläufe von veränderten Trainingsdaten, welche mit unterschiedlichen Manipulationsverfahren verändert wurden, gemittelt werden. Hierdurch kann die Robustheit gemittelt über die einzelnen Manipulationsverfahren beurteilt werden. Beispielsweise wird hierzu ein Erwartungswert für die auf Grundlage der veränderten Trainingsdaten jeweils bestimmten Aktivierungsdifferenzen (d.h. für ein einzelnes Neuron oder für gemittelte Bereiche) bestimmt.
Es kann in Verfahrensschritt 102 weiter vorgesehen sein, dass bestimmte
Aktivierungsdifferenzen jeweils in Abhängigkeit eines zugehörigen Manipulationsverfahrens bereitgestellt werden. Dies ist beispielhaft in der Fig. 5 dargestellt, in der für verschiedene Manipulationsverfahren nach der oben angegebenen Metrik bestimmte Aktivierungsdifferenzen für einzelne Filter eines Faltungsnetzes gezeigt sind, wobei die x-Achse 20 den Index i der Filter im Faltungsnetz und die y-Achse 21 eine auf die maximale Aktivierungsdifferenz normierte Aktivierungsdifferenz zeigt. Es ist deutlich zu erkennen, dass die Aktivierungsdifferenzen für verschiedene Manipulationsverfahren unterschiedliche Bereiche des als Faltungsnetzes ausgebildeten Neuronalen Netzes betreffen. So betrifft beispielsweise ein Hinzufügen von Rauschen (Fig. 5:„Gaußsches Rauschen“ und„Salt & Pepper“) fast alle Filter mehr oder weniger gleich stark. Hingegen reagieren auf eine Erhöhung der Farbsättigung („Sättigung+“) besonders die Filter mit kleinem Index (i < 1000) sensitiv. Umgekehrt reagieren auf eine adversariale Attacke mittels der„Fast Gradient Sign Method“ („FGSM“) besonders die Filter mit großem Index (i > 3000) sensitiv.
Es kann weiterbildend vorgesehen sein, dass die bestimmten Aktivierungsdifferenzen in Abhängigkeit eines jeweils zugehörigen Manipulationsverfahrens gewichtet bereitgestellt werden. In dem in Fig. 5 gezeigten Beispiel würden die einzelnen Aktivierungsdifferenzen in Abhängigkeit des jeweils zugehörigen Manipulationsverfahrens mit einem
Gewichtungskoeffizienten multipliziert und die Produkte anschließend für die einzelnen Filter aufsummiert werden. Das Ergebnis ließe sich in gleicher weise grafisch darstellen und zeigt eine über die verwendeten Manipulationsverfahren gemittelte Sensitivität des Neuronalen Netzes.
Es kann ferner vorgesehen sein, dass Neuronen und/oder Bereiche des Neuronalen Netzes in Abhängigkeit der jeweils für diese bestimmten Aktivierungsdifferenzen sortiert werden und eine zugehörige Rangfolge bereitgestellt wird. Beispielweise können die in den Figuren 4 und 5 gezeigten und mit einem Index i der Filter versehenen Aktivierungsdifferenzen nach ihrer jeweiligen Höhe sortiert und eine der Sortierung entsprechende Rangfolge gebildet werden. Anschließend kann eine Anzahl der Filter mit den größten Aktivierungsdifferenzen identifiziert und bereitgestellt werden, beispielsweise um das Neuronale Netz auf Grundlage dieser Information zu verändern.
Bezugszeichenliste
Neuronales Netz
Trainingsdatensatz
Manipulationsverfahren
veränderter Trainingsdatensatz
Aktivierung
Differenzbildungsschritt
Aktivierungsdifferenz
Robustheitsmaßbestimmungsschritt
Robustheitsmaß
gemittelte Aktivierungsdifferenz
x-Achse (Filterindex i)
y-Achse (normierte Aktivierungsdifferenz)
Vorrichtung
Mittel
Recheneinrichtung
Speicher
-103 Verfahrensschritte