Wie Maschinen lernen – künstliche neuronale Netze simulieren das menschliche Gehirn

Siri lernt mit

Netzwerke aus simulierten Neuronen nehmen sich das menschliche Gehirn zum Vorbild. In den vergangenen Jahren haben sie für eine Revolution im Bereich der Künstlichen Intelligenz gesorgt.

Sie gewinnen im Go gegen den Weltmeister und erreichen innerhalb von drei Tagen Internationale Meisterschaft im Schach. Sie analysieren Sprache, verbessern die Bildsuche und machen traditionellen Übersetzungsmethoden Konkurrenz. Außerdem fahren sie Elektroautos. Deep Neural Nets haben in den vergangenen Jahren für eine Revolution in der sogenannten Künstlichen Intelligenz gesorgt.
Künstliche neuronale Netze – das klingt nach Zellen, die auf Platinen leben. Aber sie sind nur Software. Aus einer Eingabe erzeugt sie eine Ausgabe, wie gewöhnliche Software auch. Nur die Art der Programmierung ist eine andere.
Ein Beispiel: eine einzelne handgeschriebene Ziffer auf einem Briefumschlag. Welche Zahl ist gemeint? Die Eingabe: ein kleines Bild. Ausgabe: die richtige Bezeichnung von null bis neun. Wie bringt man einem Computer bei, Post zu sortieren? Traditionelle Programmierung setzt voraus, das Problem schon verstanden zu haben. Nur wenn der Lösungsweg bekannt ist, lässt er sich auch für Computer verständlich formulieren. Aber was unterscheidet eine Neun von einer Acht? Okay, es ist der fehlende Halbkreis links unten. Und eine Sieben von einer Eins, der Querstrich in der Mitte? Eher nicht, denn den lassen viele Menschen einfach weg. Welche Merkmale sind es, die bei handgeschriebenen Ziffern den Unterschied machen? Das ließe sich erforschen und dann entsprechend programmieren. Aber macht das Spaß? Und was ist mit Buchstaben? Davon gibt es nicht nur zehn. Muss man nach der Forschungsgruppe Ziffern auch noch die Forschungsgruppe Buchstaben finanzieren, nur um Post zu sortieren?
Menschen können frühzeitig alle hierzu erforderlichen Fertigkeiten erlernen. Aber im menschlichen Gehirn sammeln ständig viele Milliarden Nervenzellen die Signale anderer Neuronen, verarbeiten sie und senden dann Signale über eine Vielzahl unterschiedlicher Verbindungen. Kein auf heutiger Technologie basierender Computer kann das simulieren, zumal unklar ist, wie das Gehirn lernt. Mit einer stark vereinfachten, verkleinerten und geordneten Netzwerkvariante können Computer aber sehr wohl umgehen. Das sind die künstlichen neuronalen Netze. Es geht auch nicht darum, dass die Simulation wie ein Gehirn funktioniert. Sie soll nur ähnliche Sachen können.
Auch simulierte Neuronen sammeln Signale. Aber das sind nur Zahlen. Die Verbindungen, die die Signale übertragen, sind unterschiedlich stark, und auch das sind nur Zahlen. Was diese Neuronen können müssen, das kann jeder Taschenrechner. Alles, was noch fehlt, ist eine dem Problem angemessene Netzwerkarchitektur. Und für das Beispiel der Ziffernerkennung kann die zwar schlicht sein, aber auch dieses Netz verfügt bereits über viele Verbindungen.
Wie soll so ein Chaos jemals ein gutes Ergebnis hervorbringen? Das Verhalten des Netzes wird von den Verbindungsstärken bestimmt, also von einem Berg anfangs zufälliger Zahlen. Und wenn man die geschickt verändert, dann werden auch die Ergebnisse besser. Üben, üben, üben! Dafür werden vor allem gute Trainingsdaten benötigt, in diesem Fall Bilder handgeschriebener Ziffern mit der jeweils richtigen Bezeichnung. Los geht es mit der ersten Ziffer und heraus kommt Rauschen. Aber nicht nur, denn die richtige Ausgabe ist ja bekannt. Das macht aus dem Rauschen einen Fehler und aus Fehlern lernt das System. Das ist keine Magie, nur Mathematik, und die passt die Zahlen so an, dass es beim nächsten Mal schon ein bisschen besser klappt. Das Ergebnis wird immer noch schlecht sein, aber es ist ein Fortschritt. Mit guten Trainingsdaten und Hunderttausenden Wiederholungen erlernt ein Netz, Ziffern zu über 95 Prozent richtig zu bezeichnen, und zwar auch solche, die es nie zuvor gesehen hat.
Ein Deep Net ist das nicht, sondern ein flaches Produkt des vorigen Jahrtausends. Aber selbst das hat noch einen Clou parat, nämlich das Verhalten der Neuronen zwischen Eingabe und Ausgabe. Wenn man sich anschaut, auf welche Bildelemente sie reagieren, dann findet man verschiedene Ziffernsegmente, und zwar solche, die sich gut als Merkmale zur Unterscheidung von Ziffern eignen.
Die Ziffernerkennung konnte nur trainiert werden, weil ausreichend Bilder samt den richtigen Bezeichnungen vorhanden waren. Das nennt sich überwachtes Lernen, zur Übungsaufgabe wird, wie in der Schule, die Antwort mitgeliefert. Und das muss auch sein, denn irgendwoher müssen die richtigen Bezeichnungen ja kommen. Aber zur Extraktion von Merkmalen ist es nicht erforderlich, Bezeichnungen zu kennen. Das Netz wird so umgebaut, dass sich Ausgabe und Eingabe gleichen, und dann darauf trainiert, die Eingabe möglichst gut zu reproduzieren. Das klingt sinnlos, aber es bringt die Neuronen dazu, Merkmale zu extrahieren, weil die für eine gute Reproduktion erforderlich sind. Dieses unüberwachte Lernen kommt ganz ohne Übungsaufgaben aus, das Netz lernt allein durch Wahrnehmung und die Daten dafür liefert das Internet.
Heutzutage arbeiten Google, Apple, Facebook und andere mit Deep Nets, für deren Training enorme Rechenkapazitäten benötigt werden. Die fertige Sprach­erkennung läuft dann zwar auf fast jedem Telefon, aber man sollte nicht versuchen, das Netz auch dort anzulernen.
In Kombination mit Mathematik, die es ermöglicht, aufeinander aufbauende Schichten einzeln nacheinander anzulernen, lassen sich heute auch Netze mit fünf und teilweise mehr Schichten trainieren. Diese Netze unterscheiden nicht mehr nur Ziffern. Sie analysieren Texte, finden Gesichter in Bildern und beschreiben in einfachen Worten, was sie sehen. Oder sie spielen Go. Deep Nets erzeugen zu jeder Wahrnehmung eine hierarchisch gegliederte semantische Repräsentation auf Basis eines aus Erfahrung gebildeten assoziativen Gedächtnisses. Für dieses Zusammenspiel der Neuronen in all den Schichten gibt es mittlerweile sogar ein Wort. Es lautet Gedanke.