In zunehmend selbstfahrenden Autos sind zuverlässige Convolutional Neuronal Networks (CNN) essenziell, denn mit ihrer Hilfe soll die künstliche Intelligenz (KI) automatisch andere Verkehrsteilnehmer erkennen. Je selbstständiger ein Auto aber fährt, desto grösser werden die Anforderungen an die Sicherheit der Algorithmen. Um Menschenleben zu schützen, ist daher ein tiefes Verständnis der Klassifizierung von neuronalen Netzwerken notwendig. Eine interaktive Visualisierung weist in Richtung eines Lösungsweges. Dieser mündet in einem verbesserten Verständnis von Entscheidungsprozessen in autonomen Fahrzeugen.
Ein CNN arbeitet zunächst per se als Blackbox, die komplexen Entscheidungswege sind folglich schwer nachzuvollziehen, wodurch eine Bewertung der Sicherheitsrisiken schwierig ist. Die aktuellen Methoden zur Analyse und Validierung neuronaler Netzwerke entstammen vor allem der wissenschaftlichen Forschung. Allerdings berücksichtigen diese Methoden selten branchenübliche Anforderungen an die funktionale Sicherheit. So fordern etwa die ISO 26262 und ISO/PAS 21448 von den Automobilherstellern ein deutlich umfassenderes Wissen über die konkrete Funktionsweise und die Entscheidungspfade neuronaler Netzwerke, als dies im wissenschaftlichen Diskurs bisher besprochen wurde. Um Präzisionsprobleme bei der Objekterkennung durch CNNs besser zu verstehen, haben wir von der ARRK Engineering GmbH eine Software entwickelt, mit der eine standardisierte Validierung möglich ist. Bei der Entwicklung dieses Visualisierungstools legten wir die Grundlage für eine neue Bewertungsmethode: die sogenannte Neurons’ Criticality Analysis (NCA). Aufgrund dieses Prinzips lässt sich eine zuverlässige Aussage darüber abgeben, wie wichtig oder schädlich einzelne Neuronen für eine korrekte Objekterkennung sind.
Visualisierung der Entscheidungsprozesse
Das Zusammenspiel der einzelnen Neuronen in den zahlreichen Schichten eines CNN ist überaus komplex. Jede Schicht und jedes Neuron übernimmt darin besondere Aufgaben bei der Erkennung eines Objekts – beispielsweise ein grobes Aussortieren nach Formen oder das Filtern bestimmter Farben. Jeder Arbeitsschritt trägt aber in unterschiedlichem Ausmass zum Erfolg einer korrekten Objekterkennung bei und kann im schlimmsten Fall das Ergebnis sogar verschlechtern. Diese Komplexität führt dazu, dass die Wichtigkeit einzelner Neuronen für die Entscheidung bisher undurchschaubar war. Daher hat ARRK Engineering als Herzstück seines neuen Tools eine interaktive und benutzerfreundliche Grafik-Oberfläche zur Visualisierung dieser Pfade entwickelt. Auf diese Weise lässt sich die Entscheidungsfindung eines CNN optisch darstellen. Zudem kann die Relevanz bestimmter Schritte für die finale Entscheidung erhöht, verringert oder sogar komplett ausgeschaltet werden. In Echtzeit ermittelt das Tool nach jeder erfolgten Anpassung unmittelbar die Auswirkung dieser geänderten Parameter. Somit können die Wichtigkeit bestimmter Neuronen und deren Aufgaben leichter erkannt und nachvollzogen werden. Das Streaming der Daten lässt sich jederzeit pausieren, um eine stressfreie und bequeme Analyse vorzunehmen. Während dieses Stopps können dann die einzelnen Elemente über eine intuitive Bedienung genauer untersucht werden.
Für diese visuelle Darstellung wählten die Experten von ARRK Engineering die plattformübergreifende Programmierschnittstelle OpenGL, um eine grösstmögliche Flexibilität zu gewährleisten. Dadurch ist die Software auf jedem Gerät universell einsetzbar – sei dies PC, Handy oder Tablet. Besonderen Wert haben wir ausserdem auf die Optimierung der Berechnung und der folgenden grafischen Darstellung gelegt. Daher wurden in unseren abschliessenden Benchmark-Tests besonders die Framedrops überprüft. In diesem Rahmen konnten wir feststellen, dass selbst bei der Verarbeitung eines Videos und unter Verwendung einer Webcam die Framerate stabil bei circa fünf FPS lag – sogar bei der Visualisierung von 90 Prozent aller möglichen Feature-Maps. Trotz der Vielzahl an grafischen Informationen und Daten sind somit keinerlei FPS-Einbrüche zu erwarten.
Analyse der kritischen und antikritischen Neuronen
Beim Anlernen des CNN innerhalb des Visualisierungstools von ARRK Engineering werden die Deep-Learning-APIs TensorFlow und Keras als Grundlage verwendet, wodurch allgemeine Standards wie eine flexible Implementierung sämtlicher Klassen und Funktionen in Python bedient werden. Auch weitere externe Bibliotheken lassen sich einfach anbinden. Sobald das neuronale Netzwerk ausreichend trainiert wurde, kann die Analyse der kritischen und antikritischen Neuronen beginnen – die Neurons’ Criticality Analysis. Dafür bieten wir als modifizierbare Parameter zusätzliches Bildrauschen (Noise), das Hinzufügen oder Entfernen von Farbfiltern sowie die Maskierung bestimmter benutzerdefinierter Bereiche an. Eine Veränderung dieser Werte zeigt direkt, wie stark einzelne Neuronen die Entscheidung am Ende beeinflussen. Auch wird so deutlich, welche Stellen des neuronalen Netzwerkes möglicherweise den gesamten Erkennungsprozess stören.
Mithilfe eines durchdachten Algorithmus wird basierend auf dieser Analyse automatisch die Kritikalität jedes einzelnen Neurons berechnet. Liegt der Wert eines Neurons darüber, stört dies die korrekte Bilderkennung. Der kritische Schwellenwert kann beliebig angepasst werden. Dessen finale Definition hängt von zahlreichen Faktoren ab – beispielsweise von der erwünschten funktionalen Sicherheit –, aber auch ethische Aspekte spielen hierbei eine nicht zu unterschätzende Rolle. Je nach Wunsch kann dieser Wert selbst darüber hinaus noch angepasst werden, wodurch die grösstmögliche Flexibilität des Tools gewährleistet ist. Auf diese Weise ist das Tool nicht auf die derzeitigen Ansprüche und Normen fixiert, sondern kann bei Änderungen der Sicherheitsvorschriften jederzeit an die neuen Anforderungen angepasst werden.
Höhere Sicherheit
Mit diesem Visualisierungstool ermöglicht ARRK Engineering eine grafische Validierung neuronaler Netzwerke. Dank der Software in Verbindung mit der NCA können nun weitere Schritte folgen, um die Sicherheitsrisiken beim autonomen Fahren durch zusätzliche Mechanismen zur Plausibilisierung weiter zu reduzieren. Unser Ziel ist es, die Anzahl der kritischen Neuronen zu minimieren oder besser aufzuteilen, sodass wir auf eine robuste Bilderkennung der KI vertrauen können. Wir freuen uns daher bereits auf das Feedback aus der Praxis, denn so werden wir das Tool weiter optimieren können.
Aktuell arbeitet ARRK Engineering beispielsweise bereits an einer Ergänzung der Klassifizierung durch die Lokalisation von Objekten. Hier besteht allerdings noch die Herausforderung, dass neben der Klassifizierung auch die Koordinaten der Objekte auf übersichtliche Weise visualisiert werden müssen.