Von neuronalen Netzen und Deep Learning: Wie funktioniert künstliche Intelligenz überhaupt?

Was ist ein neuronales Netz?

Beschäftigt man sich mit den Fortschritten der künstlichen Intelligenz, stößt man immer wieder auf den Begriff des (künstlichen) neuronalen Netzes. Oder auch kurz: KNN. Das künstliche neuronale Netz hat sein Vorbild, wie so häufig, in der Natur.

So besteht z.B. unser Gehirn aus einer Vielzahl an Nervenzellen (den sogenannten Neuronen). Jede Nervenzelle verfügt dabei über einen Eingang (Dendriten), einen Zellkörper und einen Ausgang (Axon). Reize bzw. Signale gelangen über den Eingang der Nervenzelle in den Zellkörper. Übersteigen die in den Zellkörper gelangten Reize eine bestimmte Schwelle, feuert die Nervenzelle. Sie wird aktiviert. Feuern oder aktivieren heißt, dass über den Ausgang der Nervenzelle ein Signal an die umliegenden Nerven weitergeleitet wird.

Die Neuronen sind also miteinander vernetzt. Sie sind im menschlichen Körper für die Reiz- und Informationsverarbeitung zuständig. Ebenso funktioniert das vegetative Nervensystem, also z.B. die Steuerung des Blutkreislaufs und die Verdauung.

 

Wie funktioniert ein künstliches neuronales Netz?

Diese Art der Reizverarbeitung kann in einem Computersystem mit mathematischen Funktionen nachgebildet werden. Eine solche Nachbildung ist ein künstliches neuronales Netz. Dabei übernimmt eine mathematische Formel die Funktion einer einzelnen Nervenzelle. Es gibt jedoch einige Unterschiede zu dem neuronalen Netz im menschlichen Körper, z.B.:

  • Bei natürlichen neuronalen Netzen wird eine Nervenzelle entweder aktiviert (bei Überschreiten der Schwelle) oder eben nicht („alles oder nichts“). Bei künstlichen neuronalen Netzen kann abhängig von der Reizstärke eine unterschiedliche Aktivierung stattfinden. Der Reiz kann also mehr oder weniger durchgelassen werden.
  • Zudem wird bei neuronalen Netzen mit einer Gewichtung des Eingangsreizes gerechnet. Die Stärke des Reizes kann somit mathematisch angepasst werden. Diese Gewichtung spielt eine entscheidende Rolle beim Lernverfahren des neuronalen Netzes (dazu später mehr).

Die digitalen Neuronenverbindungen bilden somit ein künstliches Gehirn nach. In dieses künstliche neuronale Netz wird dann ein Eingangsreiz (Input) gegeben. Dieser Eingangsreiz durchläuft das neuronale Netz und am Ende gibt das neuronale Netz eine Aktion (Entscheidung) aus.

Am Beispiel eines Videospiels heißt das: Es wird z.B. ein Pixel als Input eingegeben. Die auszuführende Aktion kann dann das Drücken eines „Buttons des Joysticks“ sein. Die vom neuronalen Netz ausgegebene Aktion kann damit erfolgreich oder nicht erfolgreich sein.

 

Wie lernt ein neuronales Netz?

Es gibt grundsätzlich vier verschiedene Lernverfahren:

  • Überwachtes Lernen: Dies ist das intuitivste Lernverfahren. Hierbei wird vorab für jeden Eingangsreiz eine richtige Aktion definiert (z.B. Drücken des Joystick-Buttons ). Dann wird überprüft, ob das neuronale Netz auch die richtige Aktion ausgibt. Je nach Ergebnis wird korrigierend eingegriffen.
  • Bestärkendes Lernen: Nicht immer kann definiert werden, welche Einzelaktion die richtige Antwort auf einen einzelnen Reiz ist. Daher durchläuft das neuronale Netz beim bestärkenden Lernen mehrere Schritte (es werden also mehrere Reize eingespeist) und erst das Endergebnis wird bewertet. Bei positivem Ergebnis wird der durchlaufende Prozess bestärkt. Bei einem negativen Ergebnis wird der Prozess negativ bestärkt (vermieden).
  • Unüberwachtes Lernen: Beim unüberwachten Lernen geht es um das Verstehen der vorliegenden Daten. Dabei versucht das neuronale Netz Muster in den eingegebenen Daten zu erkennen. Hierdurch können Daten z.B. geclustert bzw. segmentiert werden. Die Daten werden also nach Gemeinsamkeiten gruppiert (Beispiel: Input von Fotos mit Autos sowie Kühen; die Aufgabe besteht darin, einen Haufen mit Autofotos und einen mit Kuhfotos zu bilden).
  • Stochastisches Lernen: Stochastisches Lernen wird angewendet, wenn die zu lösende Aufgabe so komplex ist, dass nicht alle Lösungsmöglichkeiten ausprobiert werden können. In so einem Fall können mittels einer zufälligen Suche Maßnahmen im neuronalen Netz ergriffen werden, die eine Verbesserung des Ausgabeergebnisses wahrscheinlich werden lassen.

 

Durch welche Maßnahmen lernt das neuronale Netz?

Die ausgegebenen Ergebnisse sind negativ. Wie kann jetzt korrigierend auf das neuronale Netz eingewirkt werden? Die Qualität der Aktion des neuronalen Netzes lässt sich im Wesentlichen durch diese vier Parameter steuern:

  • Hinzufügen oder Löschen von Neuronen
  • Entwicklung neuer Verbindungen zwischen den Neuronen bzw. das Löschen bestehender Verbindungen
  • Ändern der Gewichtung, mit welcher der Eingangsreiz in den Neuronen berechnet wird
  • Anpassen der Schwellenwerte der Neuronen (ab welcher Reizstärke wird die Aktion ausgeführt)

 

Und was ist jetzt Deep Learning?

Deep Learning ist ein neuronales Netz mit mehreren Schichten und einer großen Anzahl an Neuronen. Es ist also ein sehr tiefes und komplexes neuronales Netz.

Damit komplexe neuronale Netze sinnvolle Ergebnisse produzieren können, sind vor allem zwei Dinge wichtig:

  • große Datenmengen (Big Data)
  • schnelle Prozessoren, damit diese Datenmengen und das neuronale Netz überhaupt laufen können

Die Entwicklungen der letzten Jahre in diesen Bereichen haben somit die enormen Fortschritte des Deep Learning erst ermöglicht.

Libratus: Wie künstliche Intelligenz jetzt also auch das Pokern dominiert

Von Deep Blue zu Libratus

Künstliche Intelligenz ist den Menschen inzwischen in vielen Strategiespielen überlegen. Der Schachcomputer Deep Blue schlug bereits 1996 Garri Kasparow. Deep Blue konnte aufgrund der Rechenleistung ganz einfach deutlich mehr Stellungen und Züge durchkalkulieren als Kasparow.

Die Überlegenheit der Computer betrifft ebenso alle anderen Spiele, bei denen gute und schlechte Spielzüge oder Siegchancen insgesamt berechnet und bewertet werden können. Und bei denen natürlich der Faktor Glück nicht entscheidend ist (zumindest nicht bei tausenden von gespielten Partien).

Poker galt bisher nicht als ein solches Spiel. Zwar sind die Regeln des Spiels einfach, doch lassen sich die Gewinnchancen nur berechnen, wenn man alle Hände kennt (also auch die Karten der Gegner). Es handelt sich also um ein Spiel mit unvollständigen Informationen. Bisher keine ideale Voraussetzung für künstliche Intelligenz.

 

Libratus: Wie künstliche Intelligenz das Pokern verändert

Das Unbekannte ist der Kerncharakter des Pokerns, dieses archaische. Das Lesen der Gegner, das Bluffen, die Sonnenbrillen.

Profispieler im Pokern pflegen alle ihre eigenen Marotten. Sie sollen helfen, den Bluff der Gegner zu erkennen und den eigenen unkenntlich zu machen. Sie analysieren das Setz- und Spielverhalten der Gegner, ziehen hieraus ihre Schlüsse und versuchen ihre eigene Außenwahrnehmung immer wieder zu ändern (mal spielen sie aggressiv, dann wieder defensiv), um nicht selbst durchschaubar zu werden.

Und genau aufgrund dieses Bluffens galt Poker lange Zeit als eine der letzten Bastionen der Menschen. Keine Chance für Computer. Künstliche Intelligenz mag zwar Schach spielen können, aber bestimmt kein Poker.

Doch auch damit ist es jetzt vorbei. Ein Computerprogramm mit dem Namen Libratus, entwickelt an der Carnegie Mellon University (unter Leitung von Tuomas Sandholm), hat in einem Pokerturnier mit 120.000 gespielten Händen gleich mehrere Profispieler haushoch geschlagen. Die große Anzahl an Händen wurde gespielt, um den Faktor Glück ausschließen zu können.

Ein angenehmer Nebeneffekt: Libratus benötigt im Gegensatz zu vielen Pokerspielern keine Sonnenbrille. Wer weder Emotionen noch Augen hat, braucht für den perfekten Bluff auch keine Brille. Und so sprechen die geschlagenen Pokerspieler tatsächlich davon, dass der Computer auf hervorragende Art und Weise bluffe.

 

Libratus: Wie funktioniert es?

Libratus basiert auf dem Prinzip des bestärkenden Lernens (auch verstärkendes Lernen oder englisch: Reinforcement Learning).

Dabei wird dem Computer nicht erklärt, wann welcher Zug der beste ist. Statt dessen probiert die Maschine selbst aus und erhält bei guten Zügen eine externe „Belohnung“ und bei schlechten Zügen eine „negative Belohnung“ (es handelt sich also um eine „trial and error“ Methode).  So werden gute Züge bestärkt und schlechte Züge vermieden.

Die nächsten Züge erfolgen dabei immer auf Basis der gemachten Erfahrungen. Mit zunehmender Dauer wird Libratus also immer besser. Zudem ist die verfolgte „Spielstrategie“ selbst erlernt und kann sich erheblich von den üblichen Strategien der Profispieler abheben. Insgesamt hat Libratus vor dem Turnier 15 Millionen Stunden gespielt und gelernt.

Das besondere an Libratus sind allerdings zwei andere Merkmale. Erstens das sogenannte „nested endgame solving“:  Nach jeder Aktion im Spiel kalkuliert der Computer die Situation vollständig neu. Eine neue Aktion kann z.B. das Aufdecken einer weiteren Karte oder der Zug eines Gegenspielers sein. Zudem bezieht Libratus dabei auch die bisherigen Fehler des jeweiligen Gegenspielers in die Entscheidung mit ein.

Zweitens das Lernen aus den bisherigen Partien: Jede Nacht während des Turniers spielte Libratus alleine weiter. Der Fokus lag dabei besonders auf den Situationen, in denen die Gegenspieler seine Schwächen ausgenutzt haben. So konnte Libratus jeden Abend seine bisherigen Schwächen abstellen. Die Profispieler bemerkten schnell, dass die am Vortag bei Libratus gefunden Schwächen am nächsten Morgen einfach verschwunden waren. Es muss für die Gegenspieler von Libratus extrem frustrierend gewesen sein.

 

„How much do I have to pay you to play the last 50 hands? Uhhhh, this is so brutal.“

Daniel McAulay, einer der Gegner von Libratus, am letzten Tag zu einem Zuschauer.

 

 

Links:

Profil Tuomas Sandholm

Interview Tuomas Sandholm