Warum reicht es aus, neuronale Netze als Black Box zu betrachten?

Bild

Wenn Sie neuronale Netzwerktechnologien schon lange mögen, sind Sie wahrscheinlich auf eine Meinung gestoßen, die in der rhetorischen Frage kurz zusammengefasst wurde: „Wie erklären Sie einer Person, wenn ein neuronales Netz Krebs in Betracht zieht?“ Und wenn solche Gedanken Sie im besten Fall an der Verwendung neuronaler Netze in ausreichend verantwortlichen Bereichen zweifeln lassen, können Sie im schlimmsten Fall Ihr gesamtes Interesse verlieren.

Ich bin auf die beste Option gestoßen - ich habe diese Einschränkung ruhig akzeptiert und ohne viel Nachdenken weiterhin neuronale Netzwerktechnologien im Bereich der Bildverarbeitung eingesetzt.

Herausforderung


Vor kurzem fiel mir die Aufgabe auf, schnell einen funktionsfähigen Detektor für Emotionen zu schaffen. Die Bedingungen waren ganz klar festgelegt - eine frontal gelegene Person mit einer Auflösung von 100x100. Auf der Suche nach einem fertigen Datensatz habe ich ein paar Stunden verbracht und festgestellt, dass mir praktisch nichts passt. Oder selbst für „Forschungszwecke“ war es zu schwierig, auf den Datensatz zuzugreifen. Der Ausweg war schnell gefunden - ein Dutzend Spielfilme aufzunehmen und einfach durch die Haar-Kaskade zu laufen, um alle Gesichter zu entladen. Während der Nacht wurden mehr als (!) 30.000 Bilder empfangen. Ferner wurden die empfangenen Bilder nach 5 Hauptemotionen sortiert (glücklich, traurig, neutral, wütend, überrascht). Natürlich passen bei weitem nicht alle Bilder zusammen, und als Ergebnis fielen 400-500 Gesichtsbilder in jede Kategorie.

Dann begann alles mit dem Thema der Erklärung der Ergebnisse neuronaler Netze. Selbst bei einer ausreichend hochwertigen benutzerdefinierten Datenerweiterung schien ein solcher Datensatz offensichtlich unzureichend zu sein. Beim Training eines auf Resnet-Blöcken basierenden Netzwerks wurden die folgenden Zahlen für die Metriken erhalten:

Bild

Die Umschulung erfolgt vor dem Hintergrund einer unzureichenden Anzahl von Beispielen. Aus Zeitgründen war es jedoch dringend erforderlich, sicherzustellen, dass das Netzwerk zumindest einigermaßen zufriedenstellend funktioniert und sich beispielsweise nicht auf die Bestimmung von Emotionen stützt.

Früher musste ich mit Werkzeugen wie Lime und Keras-Vis arbeiten, aber hier konnten sie zu einem philosophischen Stein werden, der aus einer Black Box etwas Transparenteres macht. Die Essenz beider Tools ist ungefähr gleich - um die Bereiche des Quellbilds zu bestimmen, die den größten Beitrag zur endgültigen Netzwerklösung leisten. Für den Test habe ich ein Video gedreht, das verschiedene Emotionen imitierte. Nachdem ich Gesichtsausdrücke entladen hatte, die verschiedenen Emotionen entsprachen, führte ich die oben genannten Tools aus

Die folgenden Ergebnisse wurden von Kalk erhalten:

Bild

Leider konnte Lime selbst bei Änderung verschiedener Funktionsparameter nicht genügend lesbare Anzeige erhalten. Aus irgendeinem Grund beeinflusst die rechte Gesichtshälfte die Zugehörigkeit zur „wütenden“ Klasse. Das einzige, was für „glücklich“ ist, ist der logische Bereich des Mundes und die für ein Lächeln typischen Grübchen.

Außerdem wurden dieselben Bilder über Keras-Vis und Bingo ausgeführt:

Bild

Happy sucht nach der Position der Augen und der Form des Mundes. Sad konzentriert sich auf herabhängende Augenbrauen und Augenlider. Neutral versucht, das ganze Gesicht als Ganzes und die unschuldigen unteren Ecken des Bildes zu betrachten. "Angry" konzentriert sich logischerweise auf verschobene Augenbrauen, ABER vergisst die Form des Mundes und sucht aus irgendeinem Grund nach Merkmalen in der unteren rechten Ecke. Und "Überrascht" betrachtet die Form des Mundes und des linken (!) Erhöhten Augenlids - es ist Zeit, auch das rechte zu erkennen.

Die Ergebnisse erfreuten und ermöglichten es, die Stärken und Schwächen des resultierenden Netzwerks zu erkennen. Nachdem ich Schwächen bei der Klassifizierung der Klassen Surprised und Angry gespürt hatte, fand ich die Stärke, die Stichprobe leicht zu erhöhen, und fügte einen Tropfen mehr Dropout hinzu. Bei der nächsten Iteration wurden die folgenden Ergebnisse erhalten:

Bild

Es ist ersichtlich, dass die Aktivierungsregionen stärker lokalisiert waren. Die Aufmerksamkeit des Netzwerks auf den Hintergrund bei "Angry" ist verschwunden. Natürlich hat das Netzwerk immer noch seine Nachteile: Vergessen Sie die Augenbrauen auf einer Seite und so weiter. Dieser Ansatz ermöglichte es jedoch, besser zu verstehen, was und warum das resultierende Modell funktioniert. Dieser Ansatz ist ideal in Fällen, in denen wir Zweifel an der korrekten Konvergenz des Netzwerks haben.

Schlussfolgerungen


Neuronale Netze bleiben nur die Lösung für das komplexe Optimierungsproblem. Aber selbst die einfachsten Netzwerk-Aufmerksamkeitskarten bringen Transparenz in diesen Dschungel. Dieser Ansatz kann zusammen mit der üblichen Ausrichtung auf die Verlustfunktion verwendet werden, um noch bewusstere Netzwerke zu erhalten.

Wenn wir uns an die rhetorische Frage vom Anfang des Artikels erinnern, können wir sagen, dass die Verwendung von Aufmerksamkeitskarten zusammen mit der endgültigen Antwort des Netzwerks bereits eine klare Erklärung enthält, die so fehlte.

Visualisieren, visualisieren und erneut visualisieren!

Source: https://habr.com/ru/post/de420381/


All Articles