Deep Learning: Was Hänschen nicht lernt …
8. Juni 2022, 14:50 Uhr
Lebenslanges Lernen gilt heutzutage als unabdingbar, aber die neuronalen Netze in unseren Kameras und Bildbearbeitungsprogrammen kommen fertig ausgelernt zum Kunden und lernen im praktischen Einsatz nichts mehr dazu. Warum ist das so?

Künstliche neuronale Netze stecken mittlerweile in vielen Bildbearbeitungsprogrammen und der Firmware neuerer Kameras. Anders als klassische algorithmische Rechenverfahren werden sie nicht von Softwareentwicklern programmiert, sondern entstehen in Verfahren des maschinellen Lernens. Von Deep Learning spricht man, weil die neuronalen Netze ihre Input-Daten typischerweise Schritt für Schritt in mehreren Schichten künstlicher Nervenzellen analysieren, die Netzwerke also eine größere Tiefe haben. Ebenso wie die traditionelle Programmierung findet das Lernen beim Hersteller statt; entgegen einer oft geäußerten Erwartung bedeutet maschinelles Lernen nicht, dass das Produkt beim Kunden weiterlernen würde. Weitere Verbesserungen sind nur in Form von Updates zu erwarten, die der Hersteller bereitstellt.
Das ist nicht nur deshalb bedauerlich, weil die neuronalen Netze nicht noch intelligenter werden, sondern vor allem, weil sie sich dem Anwender nicht anpassen. Jeder Fotograf oder Bildbearbeiter hat bevorzugte Motive und einen bevorzugten Workflow, und ein lernfähiges Netzwerk könnte sich darauf einstellen – so wie ein kluger Assistent schnell begreift, worauf es seinem Chef ankommt, sich darauf einstellt und dann das Gewünschte tut, noch bevor er dazu aufgefordert wird. Dass neuronale Netze dazu nicht fähig sind, dafür gibt es allerdings gute Gründe.

Schon die Ausführung eines neuronalen Netzes erfordert einen hohen Rechenaufwand. Die Berechnungen selbst sind gar nicht besonders komplex, aber ihre große Zahl ist nur durch eine massive Parallelverarbeitung zu bewältigen. Eine ideale Prozessorarchitektur sieht Tausende relativ simpler Recheneinheiten vor, also eine Architektur, wie man sie in Grafikprozessoren findet, die daher auch für diese Aufgabe gut geeignet sind. Moderne Prozessoren in Computern und Kameras verfügen teilweise über Koprozessoren für neuronale Netze.
Verfahren, in denen neuronale Netze ihre Fähigkeiten erlernen, erfordern ebenfalls ihre Anwendung auf Input-Daten, aber mit einer einmaligen Anwendung ist es nicht getan. Die Trainingsdaten enthalten Hunderttausende oder Millionen von Beispielen dafür, welcher Output bei welchem Input produziert werden soll, und ein einziger Lernschritt erfordert die Anwendung des Netzes auf alle diese Inputs. Danach werden die tatsächlichen Outputs mit den gewünschten Ergebnissen verglichen und aus deren Differenz Korrekturwerte für das Netz ermittelt. Das ist um so aufwendiger, je tiefer das Netz ist, denn der zu korrigierende Fehler kann ja in jeder einzelnen Schicht oder auch in mehreren von ihnen stecken. Damit ist aber erst ein einziger Lernschritt vollzogen, und das erfolgreiche Training umfasst unzählige solcher Schritte. Deep Learning erfordert daher eine ungleich höhere Rechenleistung und viel mehr Zeit als die spätere Anwendung des austrainierten neuronalen Netzes – weit mehr, als eine Kamera oder ein handelsüblicher Desktop-Computer leisten könnten.
Die erforderliche Hardwareausstattung ist aber nur der offensichtlichste Grund dafür, dass neuronale Netze nicht beim Kunden nachreifen. Das Lernverfahren basiert auf positiven Beispielen, also Kombinationen von Inputs und erwünschten Outputs. Man wünscht sich aber meist gerade dann, das neuronale Netz würde dazu lernen, wenn es etwas falsch gemacht hat, man also nur ein negatives Beispiel hat. Man müsste selbst das erwünschte Resultat beschreiben, und wenn es beispielsweise um ein neuronales Netz für einen Autofokus mit Motivverfolgung geht, würden hunderte von Live-View-Frames als Input gespeichert werden, in denen der Fotograf dann jeweils markiert, wo sich das zu verfolgende Motiv befindet. Dass sich viele diese Mühe machen würden, erscheint doch eher unwahrscheinlich.

Mit der Sammlung positiver Beispiele ist es auch noch nicht getan, denn aus diesen müsste nun generalisiert werden. Es genügt ja nicht, wenn das Netz künftig die exakt selbe Situation erkennt, um dann das Richtige zu tun, denn genau so wird sie wahrscheinlich selten bis niemals wiederkehren. Eine simple Verallgemeinerung würde allerdings ziemlich sicher in die Irre gehen – mit dem Ergebnis, dass das neuronale Netz zwar wenige zusätzliche Fälle bewältigt, in denen es vorher Fehler gemacht hatte, dafür aber in anderen Fällen das Falsche tut, wo es bisher richtig gelegen hatte. Um das neue Beispiel in das bereits Gelernte zu integrieren, wären weitere Lernschritte mit dem gesamten Trainingsmaterial nötig, erweitert um die neuen Beispiele. Der Hersteller müsste alle Trainingsdaten mitliefern, was oft an fehlendem Speicherplatz scheitern dürfte, selbst wenn die nötige Rechenleistung verfügbar wäre.
Die optimale Auswahl des Lehrmaterials ist ein wesentlicher Faktor für das erfolgreiche Training eines neuronalen Netzes. Sie erfordert viel Erfahrung, weshalb ja auch nicht jeder so etwas schafft, obwohl es kostenlose Open-Source-Lösungen für solche Aufgaben gibt. Dass das Training mit wenigen, eher zufällig ausgewählten zusätzlichen Beispielen wirklich eine Verbesserung bringt, kann man bezweifeln, und daher ist nicht damit zu rechnen, dass neuronale Netze in Zukunft auch im praktischen Einsatz dazu lernen werden.
Hier zeigt sich auch ein weiterer Unterschied zwischen künstlichen neuronalen Netzen und der menschlichen Intelligenz. Wir benötigen viel weniger Trainingsdaten, um allgemeine Zusammenhänge zu erkennen; selbst ein einziges Beispiel kann schon ausreichen. Das funktioniert aber nur deshalb, weil wir über ein umfangreiches Wissen verfügen, das wir hier zur Geltung bringen können. Wenn etwas passiert, das ich so nicht erwartet hatte, überlege ich mir, weshalb dieses überraschende Ereignis eingetreten sein könnte. Ich entwickle eine Theorie, die es erklärt, und kann damit voraussagen, in welchen ähnlich gelagerten Fällen dasselbe geschehen wird, kann also aus einem einzigen Fall generalisieren. Eine solche Theorie wird manchmal in die Irre gehen und muss dann korrigiert werden, aber oft ist sie richtig, macht also zutreffende Voraussagen. Künstliche neuronale Netze können so etwas nicht; sie sind Fachidioten, die für eine eng umschriebene Anwendung trainiert sind, und können nicht über unerwartete Ereignisse reflektieren.
Wohlgemerkt: Der Traum von Produkten, die sich geschmeidig ihrem Nutzer anpassen, ist deshalb nicht ausgeträumt. Neuronale Netze und Deep Learning mögen keine geeigneten Werkzeuge dafür sein, aber sie sind auch gar nicht nötig. Ein einfaches Beispiel für nützliche Lernfunktionen wäre die Gestaltung von Kameramenüs, bei der die Hersteller nicht immer das glücklichste Händchen beweisen. Mittlerweile bieten sie oft die Option, sich ein eigenes Menü mit den am häufigsten benutzten Einstellungen einzurichten, aber warum muss man sich selbst darum kümmern? Die Kamera könnte sich die jeweils letzten, sagen wir, 1000 Menüauswahlen merken, und die Menüstruktur vielleicht einmal im Monat behutsam so umgestalten, dass die meistgenutzten Menübefehle schneller erreichbar sind. Dieses Prinzip könnte man auf die Werteauswahlen erweitern: Zahlenwerte wie die ISO-Empfindlichkeit wird man nicht umsortieren wollen, aber die Varianten des Weißabgleichs, Farbstile oder Filter beispielsweise haben keine naturgegebene Reihenfolge, und es läge nahe, sie der Häufigkeit ihrer Auswahl nach anzuordnen. Schon auf der Basis von relativ simplen statistischen Auswertungen könnte eine Kamera oder eine Software dem Anwender aktiv zuarbeiten. Man müsste nur darauf achten, Aufdringlichkeiten zu vermeiden; dass niemand (außer Melinda Gates) Microsofts Karl Klammer mochte, sollte als Warnung dienen.