Skynet kommt: Intelligente Computer meistern Videospiele
Google forscht seit Langem daran, Computer noch intelligenter zu machen. Auf der GPU Technology Conference präsentierte Senior Fellow Jeff Dean den Stand der Dinge vor - und zeigte, welche erstaunlichen Taten die Rechner heute schon beherrschen.
Die Frage ist eigentlich ganz harmlos: "Wie können wir intelligentere Computersysteme bauen?" Denn klar ist, dass ein Programmierer nicht für jede mögliche Aufgabe einen Algorithmus formulieren und schreiben kann. "Wir brauchen Algorithmen, die aus der Beobachtung heraus lernen", sagt Jeff Dean, Senior Fellow in Googles Knowledge Group. Mit solchen Algorithmen sind Computer in der Lage, zu verstehen, was sie sehen und hören, vorherzusagen, was ein Benutzer machen wird und können selbst mit der Umgebung interagieren. Andererseits müssen Computer einiges auf dem Kasten haben. Billionen von Wörtern in Englisch und anderen Sprachen, Milliarden von Bildern und Videos und tausende von Stunden Sprache pro Tag muss ein solches System bei Google verstehen. Und natürlich die Mausklicks und Anfragen der Benutzer.
Bilderkennung? Kein Problem.
Dass die Erkennung und Klassifizierung von Bildern keine große Schwierigkeit mehr ist, zeigen die bereits auf der letzten GTC sowie in der Dienstags-Keynote von Jen-Hsun Huang vorgestellten Ergebnisse. In der Praxis versucht Google, Hausnummern und Texte auf Häusern zu erkennen, um diese dann beispielsweise in Google Maps leichter auffindbar zu machen. Doch auch handgeschriebene Briefe oder Schriftstücke in für uns nicht auf den ersten Blick dechiffrierbaren Sprachen sollen mit neuronalen Netzen eingelesen werden. Und das auch inhaltlich: Die Sätze "Ich habe von ihr im Garten eine Karte bekommen" und "Ich habe ihr im Garten eine Karte gegeben" enthalten fast die gleichen Wörter, bedeuten aber etwas Grundverschiedenes.
Der Computer schläft nie
Menschen benötigen nur eine Zehntelsekunde, um etwas wahrzunehmen. Durch Parallelisierung und ausgiebiges Training kann ein neuronales Netzwerk es mit dieser Fähigkeit aufnehmen. Und wo Menschen ermüden, etwas vergessen oder zu spät reagieren, ist ein Computer immer hellwach, merkt sich alles und ist stets im richtigen Moment zur Stelle. Sei es, um ein Tier in einem Bild zu erkennen, eine Szene zu beschreiben und gesprochene Worte zu dekodieren oder gar zu übersetzen. Mit dem Trainieren ist es jedoch so eine Sache: Dauert es Minuten oder Stunden, können Wissenschaftler nahezu interaktiv forschen. Bei ein bis vier Tagen Trainingsdauer laufen immerhin noch mehrere Experimente gleichzeitig ab. Doch bei einer bis vier Wochen Dauer lohnen sich nur noch wirklich wichtige Experimente - der Fortschritt kommt beinahe zum Erliegen. Trainingssitzungen, die länger als einen Monat dauern, lassen Wissenschaftler komplett links liegen.
"Ein Mann fliegt durch die Luft."
Daher verfolgt Google zwei Ansätze, um die Trainingszeit der neuronalen Netze zu verringern. Mit mehreren Rechnern, dem sogenannten "Model Parallelism", gehen beim Google Brain beispielsweise gleich 16.000 CPUs gleichzeitig ans Werk. Eine andere Methode zur Steigerung der Erkennungsgeschwindigkeit und Reduzierung der Fehlerquote ist "Data Parallelism", bei der ein Datensatz auf mehrere Systeme aufgeteilt wird. Die praktischen Anwendungsbeispiele, die Jeff Dean abschließend präsentiert, sind beeindruckend. Die neue Fotosuche von Google+ zaubert nach Eingabe von Worten wie "Statue" oder "Meer" entsprechende Bilder und Videos auf den Monitor. Außerdem schaffen es die neuronalen Netze, erstaunlich präzise Bildunterschriften für beliebige Bilder zu generieren - auch, wenn es dabei zu herrlichen Fehldeutungen kommen kann. Ein Drache mit einem Gesicht, der im Wind flattert, wird vom Computer als "ein Mann fliegt durch die Luft, während er auf einem Snowboard fährt" beschrieben.
Wann kommt Skynet?
Wer sich vor Jahren noch über Aimbots aufregte ...
Fast etwas unheimlich ist das letzte Beispiel. Ein Google-Forscherteam in London ließ ein neuronales Netz auf alte 8-Bit-Spiele für das Atari VCS 2600 los. Bewegte der Computer zu Beginn des Trainings die Kanone von "Space Invaders" zielsicher in einen gegnerischen Schuss, nahm er nach etlichen Trainingsrunden die angreifenden Außerirdischen zielsicher aufs Korn, räumt das Spielfeld leer und schoss sogar das vorbeifliegende UFO gekonnt ab. "All das, ohne dass wir ihm irgendeinen Hinweis darauf gegeben hätten, wie das Spiel funktioniert", sagt Jeff Dean. Ähnlich sieht es auch bei "River Raid", "Battlezone", "Seaquest", "Boxing" oder auch "Breakout" aus. Beim letztgenannten Spiel trifft der Computer nach 300 Spielen mit seinem Schläger immer den Ball, nach 500 Spielen hat er den Trick raus, links oder rechts eine Öffnung freizuschießen und dann mit dem Ball oberhalb der abzuräumenden Reihen jede Menge Blöcke automatisch zu zerstören. Wer sich vor Jahren noch über Aimbots aufregte, könnte es in der Zukunft in einem Online-Strategiespiel, -MOBA oder auch -Shooter mit einem Computergegner zu tun bekommen, der nicht mehr zu schlagen ist. Mit einem Mal erscheint das alles kontrollierende Skynet aus den "Terminator"-Filmen gar keine so große Science-Fiction mehr zu sein.
Die Programme sind darauf zurechtgebastelt genaue EINE sache zu tun. Sie lernen nicht, sie "spielen" das Spiel nicht.
Sie reagieren nur auf ein paar gewisse Sachen so wie fest einprogrammiert.
Die Algorithmen im Artikel funktionieren "für jedes Spiel".
Man lässt den Computer auf das Spiel los und nach ein "paar" Runden beherrscht er es.
Mein Punkt war der, dass es solche wenig schlauen Bots schon seit ein paar Tagen gibt. Und die waren noch nicht so clever wie das System, das auf der GTC gezeigt wurde.
Ein etwas Komplexeres Beispiel.
Du und ein Gegner seht euch gegenseitig einen kurzen Augeblick. Dann verschwindet er hinter einem Pfeiler. Wie reagiert ihr am besten? Links oder rechts um den Pfeiler gehen, oder einfach Warten bis der Gegner sich wieder zeigt.
Das ist eine wirkliche herausforderung, der Computer weiß vielleicht aus erfahrung, das er lieber warten sollte, allerdings würde das dem Gegner Zeit verschaffen sich auf dich vorzubereiten und vielleicht eine Nade oder dergleichen zu werfen.
Wir nehmen an das wir den Gegner auf der Linken Seite gesehen haben, als er hinter dem Pfeiler verschwunden ist. Die Chance das er rechts vom Pfeiler wieder auftaucht ist daher um einiges höher und ich als trainierte Spieler würde vielleicht die direkte Konfrontation suchen und mich langsam mit dem Blick auf die Rechte Seite mich von Links um den Pfeiler nähern.
Wenn du gesehen hast, das der Gegner gerade nachläd wäre es am besten sofort zum Pfeiler zu stürmen um den Gegner während dem Nachladen zu erwischen.
Das ist eine Situation die häufig vorkommt aber wo wirklich nach gefühl entschieden werden muss wie man reagiert. Ein Program das nur indirekte Kontrolle über das Spiel hat muss so etwas sehen können und lernen können wie es sich in verschiedenen Situationen verhält. Das Programm muss z.B durch beobachten lernen was Nachladen bedeutet und wie es sich diese Situation zu nutze machen kann. Es würde vielleicht eher das Fahrzeug nehmen, obwohl es vorher schon verschiedenen Gegnern mit Anti Fahrzeug waffen aus weiter Entfernung gesehen hat.
Ein solches Program wäre aber sicher in der Lage "relativ" schnell eine Art perfektes Zielen zu erreichen, da wenn er einmal herausgefunden hat, wie man zielen muss es immer wieder machen kann und so gut wie keine Reaktionszeiten hat.