1stMARIO KART KI
RUNDE 4/4
×12
0:00.035
BAUTAGEBUCH

Wie geht es weiter?

Was nach der ersten KI-Runde ansteht, was Emulator-Projekte gelehrt haben und ein Glossar für alle, die mit Mikrocontrollern und neuronalen Netzen bisher wenig zu tun hatten.

NÄCHSTE RUNDEN

Wie geht es weiter?

Welt 1 bis 4 sind geschafft: Die KI fährt im Zeitfahren drei Runden Mario-Kart-Stadion ohne Eingriff. Aber nicht jeder Lauf ist sauber, und sie kennt weder Items noch Gegner noch andere Strecken. Die nächsten Schritte, in dieser Reihenfolge:

  1. Zuverlässig werden: Weitere Shadow-Runden, bis zehn Läufe hintereinander ohne Eingriff gelingen. Jede Korrektur wird dreifach gewichtet nachtrainiert. Dazu Rundenzeiten mitschreiben, damit sich Fortschritt messen lässt.
  2. Festfahr-Erkennung testen: Eingebaut, aber noch nicht im Spiel erlebt. Bewegt sich das Bild zwei Sekunden kaum, lässt die KI Gas los und setzt kurz zurück. Das Schrammen an der Bande erkennt sie nicht; dafür soll später der Spieler-Marker auf der Minimap als Fortschrittssignal dienen.
  3. Latenz im Training: Die Ziel-Aktion wird heute 130 ms nach dem Bild genommen (die Reaktionszeit des Fahrers). Gemessen sind 144 ms Ende-zu-Ende; eine zufällige Verzögerung von 100 bis 150 ms im Training soll das Modell unempfindlicher machen. Das hat keines der Emulator-Projekte gebraucht.
  4. Items als Regelwerk: Kein Training, sondern ein kleiner Automat, der das Item-Symbol oben links erkennt und feste Regeln anwendet: Banane mit L halten als Schild, Pilz für Abkürzungen, Hupe gegen den blauen Panzer. Dann die ersten Rennen gegen die CPU.
  5. Weitere Strecken: Ein Modell pro Strecke, so wie NeuralKart. Erst wenn das sitzt, wird geprüft, ob ein Netz mehrere Strecken kann.
  6. Der Roboter: Das Fernziel aus „Warum Bluetooth?“: ein kleiner Roboter, der einen echten Controller bedient. Dafür ist die ganze Kette schon heute drahtlos und ohne Eingriff in die Konsole gebaut.
VORBILDER

Was Emulator-Projekte gelehrt haben

Niemand hat bisher Mario Kart 8 Deluxe oder eine echte Konsole mit einem neuronalen Netz gefahren. Aber ältere Projekte in Emulatoren haben die Grundfragen beantwortet. Sieben Lektionen, die in den Plan für Welt 3 und 4 eingeflossen sind:

1. Reines Nachahmen reicht nicht

Die wichtigste Erkenntnis, und sie kommt aus drei Richtungen. MariFlow (SethBling, Super Mario Kart) brauchte rund 15 Stunden Spielaufnahmen und wurde erst gut, als das Netz selbst fahren durfte und der Mensch nur dort eingriff, wo es hängen blieb, meist an Wänden. NeuralKart (Stanford, Mario Kart 64) löste dasselbe Problem mit einem Such-Algorithmus im Emulator, der für genau die Situationen, in die das Netz gerät, die richtige Lenkung berechnet. Der Fachbegriff dafür ist DAgger: Fehler, die sich sonst aufschaukeln, werden an Ort und Stelle korrigiert.

Für dieses Projekt: Nach dem ersten Training fährt die KI, und ich übernehme per Gamepad, sobald sie Mist baut. Nur diese Korrekturen werden aufgezeichnet und nachtrainiert. Das wird ein „Shadow-Modus“ in der GUI.

2. Wenig Daten können reichen, wenn sie gut sind

TensorKart kam mit acht Rennen auf drei Strecken aus und fuhr sogar ein Stück einer unbekannten Strecke. 20 bis 30 Minuten pro Strecke sind also ein realistischer Start.

3. Eine Strecke pro Modell

NeuralKart speichert Gewichte je Strecke und fährt nur dort gut. Erst eine Strecke meistern, dann erweitern.

4. 15 Entscheidungen pro Sekunde genügen

MariFlow entschied 15-mal pro Sekunde. Die Capture-Karte liefert 30 oder 60 Bilder, das Modell braucht nur jedes zweite bis vierte. Das entlastet auch den Mac.

5. Gedächtnis hilft

MariFlow war ein rekurrentes Netz und nutzte vorherige Bilder. Aus einem Standbild sieht man weder Geschwindigkeit noch Drift-Zustand. Deshalb werden mehrere Frames gestapelt oder ein kleines rekurrentes Netz verwendet.

6. Reinforcement Learning ist auf echter Hardware kaum machbar

Die RL-Projekte (gym-mupen64plus, Wii-RL mit Dolphin, die University of Maryland) brauchen Millionen Runden, Savestates zum Zurückspulen und lesen Position und Fortschritt direkt aus dem Emulator-Speicher. Der Autor von gym-mupen64plus nennt „Fortschrittserkennung“ selbst als ungelöst; seine Belohnung ist schlicht „minus eins pro Zeitschritt“. Auf der echten Switch gibt es weder Speicherzugriff noch Zurückspulen. Darum bleibt es bei Imitation plus Korrekturfahrten; RL höchstens später mit einer Belohnung aus dem Bild (Rundenzähler, Minimap-Position).

7. Emulatoren haben null Latenz, wir nicht

Kein Vorbild musste mit Verzögerung umgehen. Das Training mit zufällig eingebauter Verzögerung ist deshalb der eine Punkt, an dem dieses Projekt Neuland betritt.

Die Vorbilder in Kürze

TensorKart (Mario Kart 64, 2016, Nachahmung mit Joystick-Aufnahmen) · NeuralKart (Mario Kart 64, 2017, Such-KI als Lehrer) · MariFlow (Super Mario Kart, 2017, rekurrentes Netz, interaktive Übernahme) · NeuroMario (Super Mario Kart, Netz nach NVIDIAs End-to-End-Fahrmodell) · Wii-RL und University of Maryland (Mario Kart Wii bzw. Original, Reinforcement Learning im Emulator).

GLOSSAR

Begriffe für Einsteiger

BegriffBedeutung
FirmwareDas Programm, das fest auf dem Mikrocontroller läuft. „Flashen“ heißt, es in den Speicher des Chips zu schreiben.
ESP-IDFEspressifs offizielles Entwicklungs-Framework für ESP32-Chips. Mächtiger, aber sperriger als Arduino.
Bluetooth-StackDie Softwareschicht, die aus Funkwellen eine Verbindung macht. Hier: Bluedroid (von Espressif mitgeliefert) gegen BTstack (von BlueKitchen).
HIDHuman Interface Device. Die Bluetooth- oder USB-Rolle für Tastaturen, Mäuse und Gamepads.
Inquiry / PagingInquiry ist das „Wer ist da?“ der Konsole, Paging das gezielte „Du da, verbinde dich“. Die Switch 2 fand den ESP32 vermutlich, pagte ihn mit Bluedroid aber nie.
SubcommandsDie Fragen, die die Switch einem Controller nach dem Verbinden stellt (Geräteinfo, Kalibrierung, Berichtsmodus). Falsche Antwort, kein Controller.
UART / BaudDie serielle Verbindung zwischen Mac und ESP32 über USB. Baud ist die Geschwindigkeit; 115 200 Baud sind etwa 11 500 Zeichen pro Sekunde.
LatenzDie Zeit zwischen Ursache und Wirkung, hier vom Tastendruck bis zur Reaktion im Spiel. Für eine KI entscheidend, weil sie auf veralteten Bildern reagiert.
WatchdogEine Sicherheitsfunktion: Bleiben die Befehle aus, lässt die Firmware alle Tasten los, statt endlos Gas zu geben.
UVC / MJPEGUVC ist der USB-Standard für Webcams, den auch Capture-Karten nutzen. MJPEG heißt: jedes Bild kommt als einzelnes JPEG. Nur so passen 60 Bilder pro Sekunde durch USB 2.0.
Imitation LearningNachahmungslernen: Das Netz sieht Bilder und die Aktionen eines Menschen dazu und lernt, dieselbe Aktion zu wählen. Kein Belohnungssystem, kein Ausprobieren.
Frame-StapelMehrere aufeinanderfolgende Bilder, die dem Netz gleichzeitig gezeigt werden. Aus einem Einzelbild sieht man keine Geschwindigkeit, aus vier Bildern schon.
EpocheEin kompletter Durchlauf durch alle Trainingsbeispiele. Hier dauert eine Epoche etwa acht Sekunden, 25 davon ergeben ein Modell.
Regression zur MitteWenn ein Netz unsicher ist, tippt es auf den Durchschnitt. Bei Lenkdaten, die zu 69 % „geradeaus“ sind, heißt das: zu zaghaft lenken. Deshalb Klassen statt eines Zahlenwerts.
Shadow-Modus (DAgger)Die KI fährt, der Mensch schaut zu und greift nur bei Fehlern ein. Nur diese Eingriffe werden nachtrainiert. In der Forschung heißt das Prinzip DAgger („Dataset Aggregation“).
AufschaukelnEin kleiner Fehler bringt die KI in eine Lage, die sie nie im Training gesehen hat; dort rät sie, der Fehler wird größer. Der Hauptgrund, warum reines Nachahmen allein nicht reicht.