Verifikation
Neuronale Netze werden zunehmend in sicherheitskritischen Anwendungen eingesetzt.
Daher muss sichergestellt werden, dass sich diese korrekt verhalten. Dabei ist es
oft schwierig zu spezifizieren, was korrektes Verhalten ist, da neuronale Netze
meist für Probleme eingesetzt werden, welche sich kaum formal spezifizieren lassen.
So verhält sich ein Klassifikator, der Hunde auf Bildern erkennen soll, korrekt,
wenn er genau dan einen Hund erkennt, wenn auf dem Bild ein Hund ist. Die Klasse
aller Bilder, auf denen Hunde zu erkennen sind, ist dabei jedoch nicht formal
beschreibbar. Es können lediglich Beispiele für Bilder innerhalb dieser Menge
angegeben werden.
Die Idee der "adversarial examples" beruht auf der Annahme, dass wenn man ein Bild
nur leicht verändert, immer noch das selbe Ergebnis produzieren sollte. Bei
Änderung weniger Pixel wird aus einem Hund kein Haus. Daher kann die Sicherheit
eines Ergebnisses untersucht werden, indem leicht veränderte Versionen der Eingabe
betrachtet werden. Ein "adversarial example" ist dabei eine Eingabe, die nah an der
originalen Eingabe ist, jedoch unterscheided sich das Ergebnis des neuronalen Netzes
stark. Es gibt verschiedenste Ansätze, um solche "adversarial examples" zu finden.
Im Rahmen unseres Projektes haben wir uns mit einigen dieser beschäftigt und diese
auf unsere Objekterkennung angewandt.