Künstliche Intelligenz: Träumen ist ein Algorithmus

Foto: cacciatore.di.sogni / Photocase

Manches Wissen wächst in verdammt hoch gelegenen Gebieten. Trotzdem sollte man sich hin und wieder dorthin aufmachen – auch wenn es richtig anstrengend wird. Willkommen auf dem Pfad des maschinellen Lernens.

Basislager

Gehen Sie erst los, wenn Sie die folgenden Grundlagen in Ihren Rucksack gepackt haben

Ein Computer, so heißt es oft, kann nicht mehr als der Programmierer, der ihm die Anweisungen gegeben hat. Er tut nur das, was man ihm befohlen hat. Das stimmt zwar, wenn man die unterste Maschinenebene betrachtet: Die Software arbeitet Zeile für Zeile die Befehle ab, die der Programmierer aufgeschrieben hat. Aber heißt das, dass ein Computer nichts lernen kann? Dieser Schluss ist ebenso falsch wie der, dass ein Schüler niemals klüger sein kann als sein Lehrer. So wie ein guter Lehrer seinen Schülern nicht nur Fakten eintrichtert, sondern ihnen zeigt, wie sie sich weiterentwickeln können – so kann auch ein Computer derart programmiert werden, dass er eine Aufgabe immer besser erfüllt, je öfter er sie angeht. Willkommen in der Disziplin des Maschinellen Lernens.

Das erste selbstlernende Programm, das Furore machte, entwickelte der IBM-Forscher Arthur Samuel 1956. Die Software spielte Dame auf achtbarem Amateurniveau. Am Anfang kannte der Computer nur die Regeln des Spiels sowie ein paar Faustregeln, die ihm Samuel mitgegeben hatte. Mit jedem Spiel aber lernte die Maschine dazu. Nach acht bis zehn Stunden Trainingszeit war sie besser als ihr Schöpfer. Im Damespiel haben Menschen heute gegen Computer keine Chance mehr. Im Schach ist uns der Rechner zumindest ebenbürtig, und seit Googles Programm AlphaGo den Europameister im Go schlug, ist der Mensch in keinem Brettspiel mehr unbesiegbar.

Maschinelles Lernen ist ein Teilgebiet der Künstlichen Intelligenz. Heute fällt eine Vielzahl von Softwaretechniken unter diesen Begriff: Computer lernen, Menschen auf Fotos zu identifizieren. Sie steuern fahrerlose Autos durch den Stadtverkehr, nachdem sie einige Tausend Stunden trainiert haben. Sie finden Muster in riesigen Datensätzen (Big Data).

Bei vielen dieser Lerntechniken ist der Mensch noch immer der Lehrer: Er gibt ein Ziel vor und bewertet die Leistungen des Computers, der daraufhin sein Verhalten variiert und anpasst, um immer bessere Noten zu bekommen. Inzwischen gibt es aber auch das sogenannte unbeaufsichtigte Lernen: Der Computer muss sich auf einen Haufen von Daten selbst einen Reim machen. So fütterte Google ein Computernetz mit Millionen von Fotos, und das Programm bildete selbsttätig Kategorien wie „Katze“ oder „Mensch“. Das ähnelt schon sehr dem Lernen eines Kleinkinds, das ebenfalls Kategorien bildet, bevor es sie benennen kann.

Erster Anstieg

Los geht’s! Auf leichten Anhöhen begegnen Sie Erkenntnissen, die Sie ins Schwitzen bringen können.

Als erste Kletterübung wollen wir uns mit einem Spiel beschäftigen, das eigentlich schon für Fünfjährige zu simpel ist: Tic-Tac-Toe. Das Spielfeld bilden dreimal drei Kästchen. Zwei Spieler setzen abwechselnd ihre Spielsteine. Wem es gelingt, drei seiner Steine in eine waagerechte, senkrechte oder diagonale Reihe zu setzen, der hat gewonnen. Es gibt 255.169 verschiedene mögliche Verläufe des Spiels. In 131.185 gewinnt der erste Spieler, in 77.904 der zweite. 46.080 Varianten enden unentschieden. Wichtiger als diese Zahlen ist die Information, dass ein „kluger“ Spieler kein Spiel verlieren wird: Egal ob er als Erster oder Zweiter spielt, er kann seine Steine (oder Kreuze beziehungsweise Kreise, wenn man mit Stift und Papier spielt) so setzen, dass das Spiel zumindest unentschieden ausgeht.

Wie findet man in einer gegebenen Situation den besten Zug? Bei Tic-Tac-Toe lassen sich alle möglichen Züge im Voraus berechnen. Das führt zu einem Entscheidungsbaum: Man betrachtet alle Züge, die man selbst in der momentanen Stellung machen könnte, dann jeweils alle möglichen Antwortzüge des Gegners und so weiter. Bei Schach führt das zu einer Explosion der Zahl möglicher Konfigurationen, bei Tic-Tac-Toe bleibt die Sache übersichtlich – spätestens nach neun Zügen ist das Spielfeld besetzt und weist eine von 138 möglichen Endpositionen auf. Jeder Ast endet mit dem Sieg eines Spielers oder einem Remis.

Um jeder möglichen Spielposition einen Wert zuzuordnen, bewertet man jedes Blatt an diesem Baum: Ein eigener Sieg bekommt den Wert +1, eine Niederlage den Wert –1 und ein Remis den Wert 0. Es folgt ein Schritt zurück im Spiel. Bei jeder Astgabel des Entscheidungsbaums bekommt eine Spielstellung wiederum einen Wert, und zwar den höchsten der nachfolgenden Werte, wenn man selbst am Zug ist, und den niedrigsten der nachfolgenden Werte, wenn der Gegner dran ist. Am Ende haben alle Stellungen die Bewertung 1, 0 oder minus 1. Auf den Ästen mit einer 1 handelt es sich um eine Strategie, mit der man nur gewinnen kann.

Atmen Sie tief durch

Ein Beispiel: Angenommen, unser Gegner beginnt und platziert sein Kreuz in der Mitte des Spielfelds (das ist der beste Anfangszug). Wir setzen nun unseren Kreis entweder in ein Eckfeld oder in ein Feld in der Mitte einer Seite. Welcher dieser Züge ist der bessere? Betrachten wir die Variante, in der wir das mittlere Feld der linken Spalte wählen. Dann gibt es vier grundsätzlich verschiedene Möglichkeiten für den Gegner, darauf zu antworten. Angenommen, er setzt sein Kreuz direkt über unseren Kreis. Dann haben wir im nächsten Zug keine Wahl: Wir müssen mit einem Kreis unten rechts verhindern, dass er die Diagonale besetzt. Anschließend kann der Gegner uns mit einem Kreuz in der Mitte der oberen Zeile vernichtend schlagen.

Schon der erste Zug war verhängnisvoll. Er führt im Entscheidungsbaum zu einer –1, und man sollte ihn vermeiden. Hätten wir im zweiten Zug den Kreis in eine Ecke gesetzt, hätte es auch gegen den schlauesten Gegner immer eine Remis-Möglichkeit gegeben. Diese Stellung hat den Wert 0.

Wie können wir einem Computerprogramm beibringen, mit dieser Strategie zu spielen? Erste Möglichkeit: Man listet alle Werte des Entscheidungsbaums in einer Tabelle auf. Der Computer schaut bei jedem Zug in seiner Tabelle nach und wählt den Zug mit dem höchsten Wert aus. Er spielt vom ersten Spiel an perfekt und muss keinen Augenblick „nachdenken“. Zweite Möglichkeit: Der Computer beginnt völlig „dumm“. In jeder Situation belegt er die möglichen Stellungen zufällig mit den Werten –1, 0 und 1. Sobald ein Spiel beendet ist, ändert er diese Belegungen rückwirkend entsprechend dem Spielausgang. So wird seine Einschätzung der Spielsituation immer besser.

Lassen wir nun diesen Computer gegen sich selbst antreten, passiert etwas Interessantes: Obwohl beide Parteien (die ja eigentlich nur eine sind) keine Ahnung vom Spiel haben, führt ihr gutes Gedächtnis dazu, dass sie die möglichen Spiele ausloten und lernen, welches Verhalten gut für die eigene Stellung ist und welches schlecht. Und aus dem vollkommen unwissenden Programm wird eines, das kein Spiel mehr verliert.

Am Steilhang

Atmen Sie tief durch! Es ist alles ganz anders, als Sie dachten – aber Sie schaffen das.

Brettspiele sind übersichtliche Welten mit klaren Regeln und eindeutigen Situationen. Menschen mögen vor ihrer Komplexität schnell kapitulieren, für Computer sind sie wie geschaffen. Dagegen sind Denkleistungen in der schmutzigen Wirklichkeit, die uns Menschen leichtfallen, für Computer äußerst schwer. Zum Beispiel eine Übung, die die meisten nicht einmal als Denken bezeichnen würden: das Klassifizieren. Ist auf dem Foto ein Hund oder eine Katze zu sehen? Ist das die Stimme der Mutter oder einer Unbekannten? Ist das Ding auf der Straße eine Plastiktüte oder ein Felsbrocken? Wir finden die richtigen Antworten meist ohne großes Nachdenken und mit einer erstaunlichen Trefferquote. Aber wie wir das machen, wissen wir selber nicht.

In den siebziger und achtziger Jahren hat man versucht, Computern das Klassifizieren beizubringen, indem Experten Regeln aufstellten: Eine Katze ist ein Tier mit spitzen Ohren und Schnurrhaaren, eine Maus ist grau und hat einen langen Schwanz. Die Methode funktionierte äußerst schlecht. In den vergangenen Jahren hat man dagegen große Erfolge mit sogenannten neuronalen Netzen erzielt, die in ihrer Struktur das menschliche Gehirn nachahmen. In Verbindung mit riesigen Datenmengen leisten sie Erstaunliches.

Eigentlich wurden neuronale Netze schon in den fünfziger Jahren erfunden, aber erst mit der Rechenleistung moderner Computer laufen sie – unter dem Etikett „Deep Learning“ – zu großer Form auf. Ein sehr einfaches Beispiel haben William Jones und Josiah Hoskins 1987 im Magazin Byte beschrieben. Das neuronale Netz soll Rotkäppchen dabei helfen, im dunklen Wald zu überleben. Insbesondere soll es verhindern, dass das Kind dem Wolf zum Opfer fällt. In der Geschichte kommen auch noch die Großmutter und ein guter Holzfäller vor, der Rotkäppchen rettet.

Große Ohren, große Augen und große Zähne

Das Programm kennt keine Personen. Es sieht nur gewisse körperliche Eigenschaften und soll aus denen ein bestimmtes Verhalten ableiten: Der Wolf hat große Ohren, große Augen und große Zähne. Wenn Rotkäppchen auf ihn trifft, soll sie weglaufen, schreien und nach dem Holzfäller suchen. Die Großmutter hat große Augen, Falten und ist freundlich. Erspäht Rotkäppchen sie, dann soll sie sich ihr nähern, sie auf die Wange küssen und ihr das mitgebrachte Essen anbieten. Der Holzfäller hat große Ohren, ist freundlich und attraktiv. Das erwünschte Verhalten: Rotkäppchen soll sich ihm nähern, ihm Essen anbieten und flirten (der Artikel ist, wie gesagt, fast 30 Jahre alt).

Man sieht sofort, dass der Zusammenhang zwischen Sinneseindruck und gewünschtem Verhalten gar nicht so einfach ist: Ein Wesen mit großen Ohren könnte der Wolf sein, aber auch der Holzfäller, erfordert also sehr unterschiedliche Reaktionen, je nachdem.

Das neuronale Netz besteht aus zwei „Schichten“ von Zellen: Es hat sechs Eingabezellen, die den möglichen Merkmalen der handelnden Personen entsprechen (große Ohren, große Augen …), und sieben Ausgabezellen, die Rotkäppchens Verhaltensrepertoire entsprechen (weglaufen, schreien, Holzfäller suchen …).

Jede Eingangszelle ist mit jeder Ausgabezelle verbunden, und zu Beginn bekommt jede dieser Verbindungen ein gewisses „Gewicht“ – eine Zahl, die ihre Stärke beschreibt. Man beginnt mit relativ kleinen, zufällig ausgewählten Gewichten. Dann beginnt das Training des Netzes. Dafür wird es nacheinander mit den Eingangswerten für Wolf, Großmutter und Holzfäller gespeist (die erste Ziffer steht für „große Ohren“, die letzte für „attraktiv“):

Wolf: (1, 1, 1, 0, 0, 0)
Großmutter: (0, 1, 0, 1, 1, 0)
Holzfäller: (1, 0, 0, 1, 0, 1)

Der jeweilige Eingangswert wird von den Eingangszellen an alle Ausgangszellen (von „weglaufen“ bis „flirten“) weitergegeben und dabei mit dem Gewicht der jeweiligen Verbindung multipliziert. Bei jedem der sieben Ausgabeneuronen (von „weglaufen“ bis „flirten“) kommen sechs Zahlenwerte an, die aufsummiert werden. Wenn die Summe eine Schwelle überschreitet (zum Beispiel 2,5), dann „feuert“ das Neuron – und die Ausgangszelle nimmt den Wert 1 an.

Zu Beginn verhält sich das Netz zufällig, weil die Gewichte der Verbindungen zufällig gewählt sind. Damit es etwas lernt, müssen wir das Ergebnis mit dem gewünschten Verhalten Rotkäppchens vergleichen:

Reaktion auf den Wolf: (1, 1, 1, 0, 0, 0, 0)
Reaktion auf die Großmutter: (0, 0, 0, 1, 1, 1, 0)
Reaktion auf den Holzfäller: (0, 0, 0, 0, 1, 1, 1)

und daraufhin die Stärke der Verbindungen verändern. Nach etwa 15 Durchläufen wird das Netz weitgehend stabil. Es bilden sich die unten links gezeigten Verbindungen heraus.

Warum veranstalten wir dieses komplizierte Trainingsprogramm überhaupt, wenn wir doch alle Regeln schon kennen? In der Praxis wendet man die Netze in Situationen an, in denen man nur für ein begrenztes Repertoire an Trainingsbeispielen den gewünschten Output kennt. Wenn das Netz etwa Fotos von Tieren (als digitale Menge von Pixeln) analysieren und dabei lernen soll, das jeweilige Tier zu benennen. Wir sagen ihm also nicht, dass eine Katze spitze Ohren hat. Das Netz kann auch nachher, wenn es die Tiere korrekt identifiziert, nicht formulieren, warum es bei einem bestimmten Bild „Katze“ gerufen hat. Aber es kann das Gelernte auf neue Bilder anwenden und auch dort Katzen erkennen.

Ein starker Drang zum Flirten

Wir haben das Rotkäppchen-Netz nur an drei Beispielen trainiert. Es gibt aber insgesamt 64 mögliche Inputs für das Netz, von (0, 0, 0, 0, 0, 0) bis (1, 1, 1, 1, 1, 1). Und für jeden dieser Inputs wird das Netz einen Output produzieren. Ist dieser plausibel?

Zum Beispiel könnten wir überlegen, was passiert, wenn der Wolf sich eine Sonnenbrille aufsetzt und sich sehr freundlich verhält. Das entspricht den Eingangswerten (1, 0, 1, 1, 0, 0). Der Output des hier trainierten Netzes: eine gewisse Tendenz zur richtigen Reaktion auf den Wolf (also weglaufen, schreien, Holzfäller suchen), aber auch ein starker Drang zum Flirten. Offenbar verwirrt der sich verstellende Wolf das Mädchen, was aber auch verständlich ist. Ambivalenter Input führt zu ambivalentem Verhalten.

Dieses Beispiel zeigt, wie ein neuronales Netz lernt. Die obere Grafik zeigt das Netz nach 15 Trainingsschritten. Die Verbindungen zwischen IN und OUT haben positives oder negatives Gewicht angenommen, so dass Rotkäppchen korrekt auf die Merkmale des Gegenübers reagiert. In der unten gezeigten Simulation wurden drei zusätzliche Neuronen eingefügt. Sie spezialisieren sich auf die Erkennung von Wolf (W), Großmutter (G) und Holzfäller (H).
Grafik: DIE ZEIT

Auf zum Gipfel

Jetzt wird es zugig: Diese Theorie müssen Sie meistern, um auf der Höhe der Zeit anzukommen.

Um neuronale Netze noch leistungsfähiger zu machen, haben sich die Entwickler einen Trick ausgedacht: Sie fügen zwischen Eingabe- und Ausgabezellen mindestens eine „verborgene“ Schicht von Neuronen ein. Wenn das Netz richtig trainiert wird, dann entwickeln diese Neuronen gewisse Spezialfähigkeiten. In unserem Beispiel können wir zum Beispiel drei Zellen einfügen in der Hoffnung, dass diese sich auf das Erkennen der Großmutter, des Wolfs und des Holzfällers spezialisieren (W, G und H in der rechten Grafik). Im Experiment tun sie das ganz ohne unser Zutun. Die Zelle W zum Beispiel reagiert vor allem auf Inputs, die den Eigenschaften des Wolfs entsprechen, und löst dann die angemessene Reaktion aus. Die Erfindung dieser verborgenen Schichten und ihres Berechnungsverfahrens im Jahr 1986 (der sogenannten Backpropagation) waren der Durchbruch.

Man kann sich diese Schichten als immer höhere Abstraktionen des Sinnes-Inputs vorstellen: Ein Netz, das Bilder erkennen soll, sieht auf der Eingangsebene nur zusammenhanglose Bildpunkte. Die erste verborgene Ebene von Neuronen erkennt vielleicht Kanten mit starkem Kontrast. Das ist die Grundlage, um auf der nächsten Ebene zum Beispiel Kreise oder Quadrate zu identifizieren. Schließlich bilden sich tief im Netz Neuronen heraus, die beispielsweise Augen erkennen oder sogar den Kopf einer Katze.

Manchmal liefern die Netze auch Ergebnisse, die ihren Schöpfern zu Recht sehr peinlich sind. Etwa eine automatische Bilderkennung, die der Fotodienst Flickr einsetzte – sie kategorisierte Männer mit schwarzer Hautfarbe als „Affen“. Das Tor des Konzentrationslagers Dachau bekam das Label „Klettergerüst“. Die neuronalen Netze haben kein Vorwissen und nicht das geringste Taktgefühl. Die Software-Ingenieure mussten ihren Algorithmen mehr Feingefühl antrainieren.

Deep Learning bringt jetzt die Erfolge, die uns jahrzehntelang von der Künstlichen Intelligenz versprochen wurden: Die Netze erkennen menschliche Gesichter mit großer Sicherheit auf Fotos. Sie können gesprochene Sprache sehr gut verstehen. Skype kann Videotelefonate zwischen unterschiedlichen Muttersprachlern in Echtzeit dolmetschen.

Bei den bisher erwähnten lernenden Programmen war immer noch der Mensch der Lehrer der Maschine, er gab ihr im Training die korrekten Antworten vor. Aber zunehmend lernen die Netze selbstständig. Man speist eine große Menge Daten ein, und sie machen sich ihren eigenen Reim darauf. Google-Ingenieure erregten im vergangenen Jahr Aufmerksamkeit, als sie neuronale Netze gleichsam unter Drogen setzten: Wenn man das Netz zwingt, auch in unscheinbaren Mustern, etwa einem Wolkenhimmel, Objekte zu erkennen, dann halluziniert es drauflos und sieht zum Beispiel fantastische Fische am Himmel, wo eigentlich keine sind. Die Maschinen haben das Träumen gelernt.

Artikel erschienen in ZEIT Wissen Nr. 5/2016, 16. August 2016. Abdruck mit freundlicher Genehmigung des Zeit Verlages.

Christoph Drösser

Christoph Drösser

Christoph Drösser hat diesen Artikel sowie sein neues Buch „Total berechenbar. Wie Algorithmen für uns entscheiden“ mithilfe eines Computers geschrieben. Trotz aller Fortschritte im Deep Learning ist er skeptisch, dass ein Computer solche Texte jemals ganz allein schreiben kann.

Foto: Liesa Johannssen
Christoph Drösser

Letzte Artikel von Christoph Drösser (Alle anzeigen)