Blog

Deep Learning: Was Hänschen nicht lernt …

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.

Deep Learning: Was Hänschen nicht lernt …
Tiefe neuronale Netzwerke können nach einem aufwendigen Training nicht nur einzelne oder mehrere Motive erkennen, sondern auch deren Lage im Bild. (Quelle: https://niessner.github.io/I2DL/)

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.

Deep Learning: Was Hänschen nicht lernt …
In Kameras wie der Fuji X-H2s hilft ein neuronales Netz dem Autofokus dabei, Motive zu erkennen und ihnen durch das Bildfeld zu folgen. (Quelle: Fujifilm)

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.


Zeig mehr

Michael J. Hußmann

Michael J. Hußmann gilt als führender Experte für die Technik von Kameras und Objektiven im deutschsprachigen Raum. Er hat Informatik und Linguistik studiert und für einige Jahre als Wissenschaftler im Bereich der Künstlichen Intelligenz gearbeitet.

Ähnliche Artikel

4 Kommentare

  1. Wie weit selbst raffinierte, aufwändige Algorithmen von Intelligenz entfernt sind zeigt ja die Feststellung, dass „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.“.
    Selbst dümmste Menschen können einen Menschen von einem Tier unterscheiden, weil sie Lebewesen ERKENNEN können. Das kann keine SW, kein Algorithmus, keine sogenannte KI und kein künstliches neuronales Netz. Bekanntlich sind ja sogar die weltweit eingesetzten Gesichtserkennungsprogramme so dumm, dass sie bei Menschen mit nicht weißer Hautfarbe kläglich versagen.
    Eine Gesichtserkennung einer Kamera muss zwischen Tier und Mensch umgeschaltet werden. Manchmal gibt es sogar Firmware, die man auf verschiedene Tierarten umschalten kann. Sehr intelligent.
    Möglicherweise wird es mit zunehmender Rechenleistung möglich sein, dass zukünftige Kameras dann in ausreichender Geschwindigkeit mir annehmbarer Fehlerrate Tierarten unterscheiden kann. Doch das tut die SW der Kamera nicht, weil sie unterschiedliche Tierarten ERKENNEN kann, sondern weil die programmierten Algorithmen eben ausgeklügelter werden. Und die Rechenleistung zunimmt.
    So ist es auch, dass die Rechner der SW-Firmen eine wesentlich höhere Rechenleistung besitzen als irgendwelche PCs oder gar die einer Kamera oder eines Smartphones.
    Dass jetzt so viel von neuronalen Netzen gesprochen wird liegt ja auch nur daran, dass die Rechenleistung der Consumergeräte aller Art enorm zugelegt hat, so dass man den Konsumenten einen weiteren, alten Begriff als neue Errungenschaft verkauft.
    Künstliche Neuronale Netze sind ja eigentlich ein alter Hut und seit vielen zig Jahren bekannt. Das, was dann in den Consumergeräten landet, sind die Ergebnisse der Nutzung solcher Künstlicher Netze in den Rechnern der SW-Firmen. In einer Kamera wird vermutlich noch sehr lange Zeit keine Auswertung vorgenommen werden können. Immerhin überhitzen die Kameras wenn sie mehr als ein paar Minuten ein Video mit hoher Auflösung aufnehmen sollen.

  2. Das Motiv (Hund, Katze, Maus, Mensch, Vogel, Fahrrad, Auto, …) ergibt sich doch intuitiv beim ersten Blick durch den „Sucher“, also durch das Ausrichten der Kamera auf das, an was sich der AF „festbeissen“ soll. So zumindest postuliere ich den Normalfall. Dass das Motiv von vornherein in einer der Bildecken sitzt und ich dann von der Kamera erwarte, es zu finden und zu fixieren mag zwar möglich sein, halte ich aber für wenig praxisbezogen, wenn es auch den einen oder anderen in Erstaunen versetzen mag.
    Wenn man die Kameras schon „intelligent“ (im Sinne von „intelligence“ als Ausdruck große Datenmengen verarbeiten zu wollen/können) macht, warum bietet eine Kamera (z.B.: die neue X H2s) dann in einem Auswahlmenü Motive an, die sich gar nicht im Bildausschnitt befinden? Da trifft die Auswahl doch wieder nur das Neuronennetz hinter der Kamera.

    1. Du triffst eine Auswahl, was für Motive der Autofokus mit Priorität verfolgen soll. Wenn Du aber ein bestimmtes Motiv auswählst, versucht der AF, diesem zu folgen, was immer es ist. Es ist nur eine Priorisierung der Art, dass Dir beispielsweise Radfahrer im Zweifelsfall wichtiger als Tiere sind, oder Vögel wichtiger als Flugzeuge.

  3. Software, die weiß was der Nutzer will und es ihm stets vorab auf dem goldenen Tablett serviert, das klingt natürlich erst mal wie ein feuchter Traum. Allerdings muss ich dabei auch unwillkürlich an die Empfehlungen denken, die ich früher auf Amazon bekommen habe, als ich da noch Kunde war, oder auf Youtube, bevor ich meinen Browser anwies die Cookies standardmäßig zu löschen. Da musste ich mich ständig fragen wer denn wohl der Nutzer sein mag, auf den diese Empfehlungen zugeschnitten sein sollten. Ich konnte es nicht gewesen sein.

    Nebenbei drängt sich natürlich bei solchen Innovationen immer die Frage auf: wenn die Software immer klüger wird und mir alles abnimmt, werde ich dabei nicht womöglich immer dümmer, weil ich nichts mehr selbst überlegen, strukturieren und ausführen muss?

    Was mich gerade in letzter Zeit aber immer mehr umtreibt touchiert dieses Thema nur leicht: Ich musste in den vergangenen Jahren immer wieder feststellen, dass, obwohl im Rahmen des Fortschritts ja eigentlich alles besser und nutzerfreundlicher werden soll, mir meine gewohnten und lieb gewonnenen Programme im Zuge der allgemeinen Weiterentwicklung sehr oft entglitten. Zur Illustration des Problems: Nachdem ich früher sehr viel analog gemalt und gezeichnet habe, bin ich vor Jahren weitgehend auf digitales Malen umgestiegen, habe mir ein Grafiktablett zugelegt und ArtRage als das Programm meiner Wahl entdeckt, an das ich mich sehr gewöhnt habe. Schon beim Upgrade von Version 5 auf 6 vor ein paar Jahren hatte ich mich gefragt, ob die Investition wirklich lohnend war, weil es nicht sehr viele Innovationen gab. Nun ist kürzlich Version 7, ArtRage Vitae, erschienen, und anstatt irgendwelcher Weiterentwicklungen, die ein noch handlicheres, noch realistätsnäheres Malen ermöglichen, gibt es nun vor allem ein Feature um gemeinsam mit anderen am selben Bild malen zu können. Spielkram in meinen Augen. Social Media Quatsch für die Generation Instagram. Eine für mich Besorgnis erregende Entwicklung. Und für mich definitiv kein geldwerter Fortschritt. Und zur gleichen Zeit wurde der Vertrieb auch in die Microsoft und Apple Stores verlegt, so dass die Konditionen (z.B. Upgrade-Rabatt) für den Kunden schlechter wurden. Nun muss ich das natürlich nicht kaufen, ich kann ja bei ArtRage 6 bleiben, was ich vorerst auch getan habe. Allerdings steht bei mir das Upgrade auf Windows 11 an. Und ich habe in der Vergangenheit die Erfahrung machen müssen, dass ältere Software auf neuen Windows-Versionen oft nicht mehr oder nur sehr schlecht läuft. Sehr vieles was ich unter Windows XP laufen hatte lief z.B. schon unter Windows 7 nicht mehr oder nur stockend – auch im Kompatibilitätsmodus. Unter Windows 10 schon gar nicht. Das betraf vor allem eine Unmenge von Games, aber auch Produktiv-Sofware und etwa meine heiß geliebte alte Brockhaus-Ausgabe mit virtuellem Globus und eine ziemlich coole Software von National Geographic, mit der man u.a. virtuell Pharaonengräber erkunden konnte. Nicht alles davon gibt es überhaupt in aktualisierten Versionen. Und selbst wenn, wer könnte es sich leisten das alles in Abständen von ein paar Jahren immer wieder neu kaufen zu müssen? Und ArtRage ist/war wirklich wichtig für mich. Nicht nur Spielkram. Ob es eine echte Alternative dafür für mich gibt muss ich erst noch in Erfahrung bringen. Ich denke sogar darüber nach zum analogen Malen/Zeichnen zurückzukehren.

Schreiben Sie einen Kommentar

Bitte melden Sie sich an, um einen Kommentar zu schreiben.

Back to top button