Tiefe neuronale Netze (engl. Deep Neural Networks, DNN) haben phänomenale Leistungen gezeigt und in verschiedenen Bereichen das Niveau menschlicher Expert*innen erreicht oder übertroffen. In der Computer Vision, die für den Erfolg von Technologien wie dem autonomen Fahren oder der automatisierten medizinischen Diagnose von entscheidender Bedeutung ist, wird eine Version von DNNs, die sogenannten Convolutional Neural Networks (CNNs), eingesetzt. CNNs haben klassische Module des maschinellen Lernens für komplexe Aufgaben wie semantische Segmentierung oder Objekterkennung ersetzt. Wie andere DNNs sind auch CNNs Black Boxes, bei denen die zugrundeliegende Funktion zur Annäherung an die reale Verteilung von Daten anhand von Trainingsdaten erlernt wird und der Entscheidungsfindungsprozess des DNNs selbst für den Menschen nicht leicht interpretierbar ist.
Beim Einsatz von CNNs in realen Anwendungen spielt die Verifizierung und Validierung (V&V) eine wichtige Rolle bei der Bereitstellung von Sicherheitsgarantien, um aus Sicht der Nutzer*innen Vertrauen in die Produkte aufzubauen. Im Gegensatz zur V&V im Softwarebereich ist die V&V von DNNs aufgrund ihrer Blackbox-Natur jedoch nicht trivial. Die Software kann auf mehreren Ebenen getestet werden, z. B. mit Unit-Tests, Integrationstests und funktionalen Tests, um sicherzustellen, dass keine Abweichungen vom erwarteten Verhalten auftreten. DNNs können jedoch nicht einfach auf der Ebene der Einheiten oder der Funktionen getestet werden. Im Allgemeinen wird beim überwachten Lernen ein Testdatensatz zusammen mit dem Trainingsdatensatz aus den gesamten verfügbaren markierten Daten erstellt. Die trainierten DNNs werden dann anhand dieser Testdatensätze bewertet und mit anderen klassischen, Deep Learning- oder menschlichen Leistungen verglichen, wobei eine Metrik verwendet wird, die über den gesamten Testdatensatz aggregiert wird. Diese aggregierten metrischen Werte geben jedoch keine Auskunft darüber, wann oder wie ein DNN versagen könnte. Außerdem gibt es keine konventionelle Methode, um sicherzustellen, dass der Datensatz alle Aspekte des realen Problems ausreichend abdeckt. Das ist wichtig, um zu gewährleisten, dass die Ergebnisse die reale Leistung des DNN widerspiegeln.
Probleme mit aggregierten Metriken
Betrachten wir ein DNN, das mit der Erkennung von Fußgänger*innen auf Bildern von Verkehrssituationen beauftragt ist. Wir können die Leistung des Modells auf dem Testdatensatz mit Hilfe von „Intersection over Union“ (IoU), einer häufig verwendeten semantischen Segmentierungsmetrik, ermitteln. Nehmen wir an, dass wir eine Punktzahl von
80 % erreichen, was besser ist als die bestehenden klassischen Methoden. Würde man nur die aggregierte Punktzahl verwenden, könnte man den Einsatz eines solchen Modells in einer realen Anwendung in Betracht ziehen. Es könnte jedoch Unterregionen im Datenraum geben, in denen das Modell schlechter abschneidet als der Durchschnitt. Solche Regionen mit geringer Leistung könnten potenzielle Schwachstellen sein, die aus den Trainingsdaten gelernt wurden. Wir schlagen vor, menschlich verständliche semantische Merkmale, die die Szene beschreiben, als Unterregionen der Daten zu betrachten und die Leistungsmetrik durch Gruppierung über solche semantischen Merkmale zu berechnen.
Abbildung 1 zeigt eine Darstellungsskizze unseres Beispiels, in der wir das IoU entlang der semantischen Dimensionen sehen – die Hautfarbe der Fußgänger*innen, welche auf einen Bias in den Daten hinweist. Die Farbe der Punkte im Bild zeigt die Hautfarbe der Fußgänger*innen an, und wir können recht schnell feststellen, dass das Modell bei dunkelhäutigen Fußgänger*innen durchweg schlecht abschneidet. Dieser Test kann auf alle möglichen semantischen Dimensionen ausgedehnt werden, die nach Ansicht eines/einer menschlichen Expert*in sicherheitskritisch sind. Wir erwarten zwar unabhängige und identisch verteilte Stichproben in den Testdatensätzen, aber die reale Welt hat eine zeitliche und semantische Konsistenz. Angenommen, die Modelle sind systematisch schwach für bestimmte semantische Dimensionen in einer Szene: In diesem Fall werden sie wahrscheinlich auch in zukünftigen Szenen schwach sein. Deshalb ist es wichtig, solche Schwachstellen zu identifizieren und das zugrunde liegende Problem zu beheben. Wir nennen das semantisches Testen.
Semantisches Testen
Wie man sich vorstellen kann, ist die Generierung von gekennzeichneten Daten für überwachtes Lernen selbst eine zeit- und kostenintensive Aufgabe. Die zusätzliche Beschaffung von Szenen- und semantischen Informationen würde den Kennzeichnungsprozess weiter verkomplizieren. Bestimmte semantische Merkmale können mithilfe automatisierter klassischer Bildverarbeitungstechniken aus den Rohbildern und Beschriftungen extrahiert werden, aber es gibt eine Grenze für die Ausführlichkeit dieses Ansatzes. Mithilfe von Computersimulatoren können wir jedoch die Prozesse der Datengenerierung, der Kennzeichnung und der Extraktion von Szenenbeschreibungen automatisieren.
Für unsere Arbeit verwenden wir einen solchen Open-Source-Simulator für autonomes Fahren, den CARLA-Simulator. Während es bereits möglich ist, Rohbilder und Beschriftungen direkt zu extrahieren, mussten wir einige Änderungen am Quellcode vornehmen, um die Metadaten der Szenen zu extrahieren (Code auf GitHub verfügbar). Mit unserem modifizierten CARLA-Simulator erstellen wir einen großen Datensatz von Rohszenen, semantischen Segmentierungslabels und Metadaten der Szenen und verwenden diese, um ein semantisches Segmentierungs-DNN namens DeepLabv3+ zu trainieren. Wir führen verschiedene Auswertungen über semantische Dimensionen hinweg durch, um zu untersuchen, wo Schwachstellen im Modell auftreten könnten. Außerdem können wir das Modell weiter ausbauen, indem wir, wie in Video 1 gezeigt, spezielle Test-sets erstellen, in denen wir eine einzige semantische Dimension in jedem Bild ändern, zum Beispiel die Position der zu Fuß gehenden Person, und die Leistung, wie in Abbildung 2 gezeigt, bewerten. Dabei wird deutlich, dass die Leistung nicht einheitlich ist. Wie erwartet werden Fußgängerinnen, die sich in der Nähe befinden, besser erkannt als Fußgängerinnen, die weiter entfernt sind. Wir können jedoch feststellen, dass es neben der Entfernung noch andere Faktoren gibt, die die Leistung beeinflussen, da diese nicht symmetrisch ist.
Fazit
Semantisches Testen bietet einen detaillierteren und besser interpretierbaren Ansatz für das Testen von DNNs. Mit semantischen Tests kann man Fragen der Art beantworten: Funktioniert das Fußgängererkennungsmodell für (i) alle realen Positionen, an denen sich ein/eine Fußgänger*in aufhalten könnte, oder gibt es bestimmte Orte, an denen eine höhere Fehlerwahrscheinlichkeit besteht? (ii) gibt es Bekleidungsarten, die für ein Modell schwierig sind? Allerdings sind semantische Tests, wenn sie anhand einzelner Dimensionen ausgewertet werden, nach wie vor in ihrem Umfang begrenzt. Eine geringe Leistung bei bestimmten semantischen Merkmalen ist nicht unbedingt auf dieses semantische Merkmal selbst zurückzuführen, sondern auf das Zusammenspiel mehrerer semantischer Merkmale, z. B. Ort + Kontrast + Verdeckung. In solchen Situationen ist es nicht trivial, zu erkennen, welche semantischen Merkmale für die Leistung wichtig sind und welche nicht. Unsere zukünftige Arbeit befasst sich mit der Erstellung einer solchen „Wichtigkeitsmatrix“ der semantischen Dimensionen, die die Leistung beeinflussen.
Weitere Informationen im zugehörigen Paper:
Semantic Concept Testing in Autonomous Driving by Extraction of Object-Level Annotations from CARLA.
Gannamaneni, Sujan, Sebastian Houben, and Maram Akila. Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021. PDF.