Neuronale Netze werden unsere Zukunft bestimmen, ob in autonomen Flugzeugen und Autos oder in der Medizintechnik. Doch können sie hinsichtlich Ausdrucksfähigkeit und Ausführung wirklich sicher werden, und welche Rolle spielen dabei KI-Plattformen?
Ist sie einmal geöffnet, lässt sich die Büchse der Pandora nur schwer wieder schließen. Neuronale Netze sind zu einer Art Büchse der Pandora geworden, zumindest ist mit ihnen eine große Hoffnung verbunden. Obwohl es die Konzepte dafür schon seit Jahrzehnten gibt, sind sie erst in jüngster Zeit aus der Computerwissenschaft in die Praxis übergegangen – als universelle Grafikprozessoren den Zugang zu gewaltigen Parallelrechnern ermöglichten. Heute stehen neuronale Netze im Mittelpunkt jeder komplexen Bildverarbeitungsanwendung. Ihr Erfolg lässt sich auf ihre einzigartige Fähigkeit zurückführen, Muster in komplexen Daten zu erkennen und zu lernen. Für die automatische Bilderkennung und Objektverfolgung ist das neuronale Netz der modernste Algorithmus.
Unsere gesamte Zukunft wird früher oder später mit neuronalen Netzen verbunden sein. Ein Flugzeug könnte ohne Cockpit und Pilot um die Welt fliegen, und die Ergebnisse medizinischer Tests könnten sofort überprüft und diagnostiziert werden, ohne auf einen Pathologen warten zu müssen. Einige Automobilunternehmen versprechen, dass in den nächsten drei Jahren vollautonome Autos auf unseren Straßen fahren werden.
Angesichts der zunehmenden Bedeutung neuronaler Netze in solch sicherheitskritischen Umgebungen müssen wir uns die Frage stellen: Sind neuronale Netze sicher?
Dabei soll nicht unerwähnt bleiben, dass diese Frage zuweilen als irrelevant eingestuft wird, weil neuronale Netze zu komplex und überbewertet seien. Und lange bevor man sich mit ihrer Zertifizierung befassen müsste, werde ein neuer Algorithmus auftauchen, der neuronale Netze überflüssig mache. Dieser Gedankengang ist allerdings kurzsichtig und fehlerbehaftet. Zum einen sind neuronale Netze bereits Teil der sicherheitskritischen Welt: unter anderem setzt Tesla sie in großem Umfang in seiner aktuellen Flotte automatisch gesteuerter Autos ein, und Krankenhäuser verlassen sich bei der Diagnose von Patienten immer mehr auf Deep-Learning-Algorithmen. Zum anderen kann das potenzielle Aufkommen eines besseren Algorithmus neuronale Netze nicht überflüssig machen. Sie haben sich als nützliche, fähige Werkzeuge erwiesen und werden bleiben. Deshalb ist es wichtig, zu verstehen, wie sie funktionieren und ob sie sich sicher anwenden lassen.
Können neuronale Netze also sicher werden? Bei der Bewertung eines Systems für ein sicherheitskritisches Umfeld gilt es zwei Aspekte zu berücksichtigen: die Ausdrucksfähigkeit und die Ausführung eines Systems.
Den Output eines neuronalen Netzes bestimmt dessen Ausdrucksfähigkeit. Wenn das Bild einer Katze präsentiert wird, sollte das Netzwerk das Bild auch als Katze klassifizieren. Kein System ist jedoch perfekt, und manchmal weisen neuronale Netze Fehlfunktionen auf. Anstelle einer Katze könnte das Netzwerk das Bild als Wassermelone einstufen. Selbst neuronale Netze, die mit einem hohen Genauigkeitsgrad von über 97 Prozent trainiert wurden, können solche Fehler machen. Im Gegensatz zu diesem eher kleinen Fehler kann die Verwechslung eines Laternenpfahls mit einem Menschen weitaus schlimmere Folgen haben.
Warum neuronalen Netzen Fehler passieren, ist schwierig zu sagen. Bei herkömmlichen regelbasierten Algorithmen lässt sich der Weg vom Input zum Output nachverfolgen. Es ist nachprüfbar, welche Entscheidungen zu einem bestimmten Ergebnis geführt haben. Neuronale Netze sind jedoch anders. Sie lernen die Regeln schrittweise auf der Grundlage Tausender von Trainingsbeispielen, und es ist nicht möglich, von der Antwort Rückschlüsse auf den Input zu ziehen, um herauszufinden, was zu einem Fehler geführt hat. Ein bestimmtes Ergebnis wird nicht durch einen einzigen Input oder eine Regel, sondern durch alle vorherigen Inputs bestimmt. Dieses Problem der Ausdrucksfähigkeit zieht heutzutage alle Aufmerksamkeit auf sich. Es ist wichtig, zu verstehen, wie ein neuronales Netz Fehler macht, um seine Grenzen auszuloten und zu verstehen, unter welchen Bedingungen es versagen könnte. Ohne dieses Verständnis ist es nicht möglich, einzuschätzen, wie sicher ein neuronales Netz ist.
Zahlreiche Forscher versuchen, herauszufinden, wie ein neuronales Netz zu einer bestimmten Vorhersage gelangt. Ein großer Forschungsbereich nutzt heutzutage Simulationen, um zumindest den Bereich des Inputs aufzudecken, der zum Versagen des Systems führen kann. Doch reichen Simulationen aus, um ein System als sicher zu zertifizieren?
Dies führt zum zweiten Aspekt eines neuronalen Netzes, dessen Sicherheit nachgewiesen werden soll: der Ausführung. Allein der Nachweis, dass die Ausdrucksfähigkeit eines neuronalen Netzes zuverlässig ist, sagt noch nichts darüber aus, ob seine Ausführung deterministisch oder sicher ist. Simulationen können das Vertrauen in die Zuverlässigkeit der Ausdrucksfähigkeit eines neuronalen Netzes erhöhen, sagen aber nur sehr wenig darüber aus, wie zuverlässig seine Ausführung unter realen Bedingungen ist.
Sicherheitskritische Richtlinien verlangen meist, dass Software in Raum und Zeit deterministisch ausgeführt wird. Verwaltet werden sicherheitskritische Systeme von Echtzeit-Betriebssystemen, in denen ausführende Prozesse durch Zeitscheiben sorgfältig durchchoreografiert werden. Ein Systemintegrator muss daher in der Lage sein, die Ausführungszeit eines Codestücks im Worst Case zu berechnen, um sicherzustellen, dass es sich in einer bestimmten Zeit ausführen lässt. In ähnlicher Weise werden Systemressourcen wie etwa Speicher sorgfältig unter den verschiedenen laufenden Prozessen aufgeteilt. Sicherheitskritische Software muss also in der Lage sein, Systemressourcen vorhersehbar zuzuweisen, sodass die Zuteilungsgröße im Worst Case bekannt ist und dem System während der Laufzeit nicht plötzlich der Speicher ausgeht.
Das Problem der Ausführung lässt sich nur durch den Aufbau von KI-Systemen auf zertifizierbaren Software-Stacks lösen. Die Ausführung von Simulationen oder jeder andere Versuch, das Vertrauen in die Vorhersage eines Netzes zu erhöhen, hilft beim Lösen eines Teils des Problems: Es zeigt sich, dass der Output des Netzes zuverlässig und vertrauenswürdig ist. Dennoch gibt die Ausführung von Systemsimulationen durch das Generieren verteilter Inputs keine Auskunft darüber, wie mehrere Prozesse mit unterschiedlichen Prioritätsstufen gemeinsame Ressourcen in einer sicherheitskritischen Umgebung nutzen können. Sie gibt keinen Aufschluss darüber, was passiert, wenn die CPU durch die Anfragen eines anderen ausführenden Threads überlastet ist. Man müsste also pausenlos simulieren und diese Szenarien in die Liste der zu simulierenden Anwendungsfälle aufnehmen. Oberflächlich betrachtet, ergibt es Sinn, zu den Simulationen sämtliche Szenarien hinzuzufügen und damit das Vertrauen in die Sicherheit eines Systems zu erhöhen. Das ist jedoch fehlerhaft, weil es suggeriert, dass ausführende Szenarien wirklich simuliert werden können. Doch sicherheitskritische Systeme bestehen aus mehreren Prozessen, die in Echtzeit um gemeinsame Ressourcen konkurrieren. Hier ist es entscheidend, einen detaillierten Überblick über die Nutzung der Ressourcen und die Ausführungsanforderungen jedes einzelnen Prozesses zu haben. Echte Interaktionen lassen sich nur sehr schwer richtig simulieren, was aber auch nicht erforderlich ist. Hinsichtlich der Ausführung ist bekannt, wie man Systeme zertifiziert, und es gibt etablierte Verfahren, die von staatlichen Stellen übernommen wurden.
Zu beachten ist, dass es ein großer Unterschied ist, den Sicherheitsaspekt der Ausdrucksfähigkeit eines neuronalen Netzes oder die Sicherheit seiner Ausführung nachzuweisen. Um zu beweisen, dass ein neuronales Netz deterministisch ausgeführt wird, ist es nicht entscheidend, zu wissen, wie ein neuronales Netz Fehler macht, sondern nur, ob es erfolgreich läuft oder Fehler macht. Es wird immer vorhersehbar ausgeführt, verbraucht die gleiche Menge an Ressourcen, und die Ausführung erfolgt in einer bestimmten Zeitspanne. Das ist entscheidend, um nicht nur die Integrität des ausführenden KI-Prozesses sicherzustellen, sondern auch die Integrität aller anderen Prozesse, die in dem Hardwaresystem ausgeführt werden und es gemeinsam nutzen. Um jedoch die Implementierung eines neuronalen Netzes für sicherheitskritische Systeme zu zertifizieren, müssen sowohl die Ausdrucksfähigkeit als auch die Ausführung des neuronalen Netzes nachweislich sicher sein.
Wenn also beide Probleme gelöst werden müssen, warum kann man sich dann nicht zunächst auf das Problem der Ausdrucksfähigkeit konzentrieren und danach um die Ausführung kümmern? Leider hat es tückische Folgen, sich zu spät über die Ausführung Gedanken zu machen. Denn während man sich darauf konzentriert, die Vorhersagen neuronaler Netze zu verstehen, werden Millionen von Codezeilen geschrieben, die von unsicheren Plattformen und Bibliotheken genutzt werden. Wie lässt sich nach der Klärung der Ausdrucksfähigkeit noch beweisen, dass die Ausführung dieser Bibliotheken und Plattformen sicher ist?
Lässt sich Python wirklich zertifizieren? Wurde irgendwann ausreichend simuliert, sodass sich keiner mehr Sorgen um das wackelige Kartenhaus machen muss, auf dem alles steht? Die Industrie kämpft darum, einen Teil des Problems zu lösen und zu gewährleisten, dass die Ausdrucksfähigkeit neuronaler Netze nachweislich sicher ist. Währenddessen sollten die Bereitstellungssysteme auf einer besseren Grundlage aufgebaut werden, um den anderen Teil des Problems durch eine KI-Plattform zu lösen, die von Grund auf darauf aufgebaut ist, sicherheitskritische Standardprogrammierschnittstellen (APIs) zu nutzen. CoreAVI konzentriert sich auf die Entwicklung dieser sicheren KI-Plattformen, um der neuronalen Netzwerktechnologie in Zukunft den Weg zu ebnen.
Der Autor
Ken Wenger
ist Principal Software Engineer bei CoreAVI. Er hat eine Reihe sicherheitskritischer Produkte entwickelt, darunter Grafiktreiber und Rechenbibliotheken. Sein aktueller Schwerpunkt liegt auf der Forschung für die Anwendung sicherheitskritischer Prinzipien und Richtlinien in autonomen Systemen unter Verwendung neuronaler Netze und anderer fortschrittlicher maschineller Lernalgorithmen. Derzeit leitet er ein Forschungsprojekt zum Einsatz semi-überwachter Lernalgorithmen für die medizinische Bilddiagnostik.