Welche Kenntnisse benötige ich, um ein einfaches KI-Programm zum Spielen eines Spiels zu schreiben?


8

Ich bin ein B.Sc-Absolvent. Einer meiner Kurse war "Einführung in das maschinelle Lernen", und ich wollte immer ein persönliches Projekt in diesem Fach machen.

Ich habe kürzlich von verschiedenen KI-Trainings gehört, um Spiele wie Mario, Go usw. zu spielen.

Welche Kenntnisse muss ich erwerben, um ein einfaches KI-Programm zum Spielen eines Spiels zu trainieren? Und welches Spiel empfehlen Sie für Anfänger?

Das weiß ich bisher im maschinellen Lernen -

  • Einführung in den Kurs und in das maschinelle Lernen. K-Nearest Neighbor-Algorithmus und K-Means-Algorithmus
  • Statistische Inferenz
  • Gaußsches Mischungsmodell (GMM) und Erwartungsmaximierung (EM)
  • Wahrscheinlich ungefähr korrektes (PAC) Modell, einschließlich Generalisierungsgrenzen und Modellauswahl
  • Grundlegende Hyperebenenalgorithmen: Perceptron und Winnow.
  • Support Vector Machines (SVM)
  • Kernel
  • Schwache Lernende zu starken Lernenden fördern: AdaBoost
  • Margin-Perceptron
  • Regression
  • PCA
  • Entscheidungsbäume
  • Entscheidungsbäume beschneiden und zufällige Wälder

Antworten:


8

Es gibt mehrere Möglichkeiten, um Probleme beim Spielen zu lösen. Einige Spiele können beispielsweise durch Suchalgorithmen gelöst werden. Dies funktioniert gut für Karten- und Brettspiele bis zu einem gewissen Grad an Komplexität. Zum Beispiel war IBMs Deep Blue im Wesentlichen eine schnelle heuristische Suche nach optimalen Bewegungen.

Der wahrscheinlich allgemeinste Algorithmus für maschinelles Lernen zum Trainieren eines Agenten zur optimalen Ausführung einer Aufgabe ist jedoch das verstärkte Lernen . Technisch gesehen ist es nicht ein Algorithmus, sondern eine erweiterte Familie verwandter Algorithmen, die alle eine spezifische Formalisierung des Lernproblems lösen.

Informell geht es beim Reinforcement Learning (RL) darum, optimale Lösungen für Probleme zu finden, die in Bezug auf einen Agenten definiert sind, der den Zustand einer Umgebung beobachten , Maßnahmen in dieser Umgebung ergreifen und Belohnungen erfahren kann, die in irgendeiner Weise mit dem Zustand und den Maßnahmen zusammenhängen. RL-Löser müssen so konzipiert sein, dass sie Situationen bewältigen, in denen Belohnungen später eingehen als zu dem Zeitpunkt, als wichtige Maßnahmen ergriffen wurden. Dies wird normalerweise dadurch erreicht, dass der Algorithmus eine interne Erwartung späterer Belohnungen lernt, die mit Zustands- und / oder Zustands-Aktions-Paaren verbunden sind.

Hier sind einige Ressourcen zum Studium des Reinforcement Learning:

Sie werden feststellen, dass das Thema selbst ziemlich groß ist, da immer ausgefeiltere Variationen der Algorithmen erforderlich sind, da das zu lösende Problem schwieriger wird.

Das Starten von Spielen zum Lernen von Verstärkungslernen kann Folgendes umfassen:

  • Tik-Tac-Toe (auch bekannt als Nullen und Kreuze) - dies kann leicht mithilfe der Suche gelöst werden, aber es ist ein einfaches Spielzeugproblem, das mit grundlegenden RL-Techniken gelöst werden kann.

  • Labyrinthe - In der Literatur zum verstärkten Lernen gibt es viele Beispiele für "Grid World" -Spiele, bei denen sich ein Agent in einzelnen N-, E-, S- und W-Schritten auf einem kleinen Brett bewegt, das mit Gefahren und Zielen gefüllt sein kann.

  • Blackjack (auch bekannt als 21)

Wenn Sie mit Agenten zum Spielen von Videospielen zusammenarbeiten möchten, möchten Sie auch etwas über neuronale Netze lernen und wahrscheinlich auch einige Details - Sie benötigen tiefe, faltungsfähige neuronale Netze, um Bildschirmgrafiken zu verarbeiten.

Eine relativ neue Ressource für RL ist OpenAI Universe . Sie haben viel Arbeit geleistet, um Umgebungen zu verpacken, in denen Agenten geschult werden können, sodass Sie sich auf das Studium der Lernalgorithmen konzentrieren können, anstatt sich um die Einrichtung der Umgebung zu bemühen.


In Bezug auf Ihre Liste der aktuellen Fähigkeiten: Keine von ihnen ist direkt relevant für das verstärkte Lernen. Jedoch:

  • Wenn Sie die Mathematik und Theorie aus Ihrem vorherigen Kurs verstehen können, sollten Sie auch in der Lage sein, die Theorie des verstärkenden Lernens zu verstehen.

  • Wenn Sie online oder stapelüberwachte Lerntechniken studiert haben, können diese als Komponenten innerhalb eines RL-Frameworks verwendet werden. In der Regel können sie verwendet werden, um eine Wertefunktion des Spielstatus zu approximieren , basierend auf dem Feedback von bisherigen Erfolgen und Misserfolgen.


7

Dies hängt stark von der Art des Spiels und den Informationen über den Status des Spiels ab, die Ihrer KI zur Verfügung stehen.

Einige der bekanntesten AIs für das Spielen von Spielen der letzten Jahre basieren auf tiefem Verstärkungslernen (z. B. Atari mit tiefem Verstärkungslernen spielen ), bei dem es sich um normales Verstärkungslernen (z. B. Q-Lernen) mit einem tiefen neuronalen Netzwerk als Annäherung an die Belohnungswertfunktion handelt. Diese Ansätze empfangen die Rohpixel des Spiels plus die Punkte des Spielers und geben die Aktionen eines Gamepads aus, ähnlich wie bei einem Menschen. Um so etwas zu tun, müssen Sie das Lernen der Verstärkung (siehe Sutton und Bartos wegweisendes Buch ) und das tiefe Lernen (siehe Buch von Ian Goodfellow et al. ) Beherrschen und dann lernen , wie man sie zu tiefem Lernen der Verstärkung verschmilzt (Suche nach "Verstärkung" Lernen "in einer kuratierten Liste von Deep-Learning-Artikeln wie diesem).

Wenn jedoch die Informationen über das Spiel, die Ihrer KI zur Verfügung stehen, strukturierter sind (z. B. Position des Spielers, Beschreibung der Umgebung), können Sie mit klassischeren Ansätzen gut umgehen, bei denen Sie Ihr Spiel in nachvollziehbare Probleme zerlegen und lösen jeweils algorithmisch zB durch Suche mit A * .


3

fünfzehn3h=45h) nur um die Schüler in dieses Thema einzuführen. Hier sind meine (meist deutschen) Vorlesungsunterlagen zur probabilistischen Planung . Ich würde sagen, dass dies definitiv ein fortgeschrittenes Thema für maschinelles Lernen ist.

Topcis zu lernen

  • Markov-Entscheidungsprozesse (MDPs)
    • Richtlinien- und Wertiteration
    • Projekt: Stein-Papier-Schere / Tic-Tac-Toe
  • Teilweise beobachtbare Markov-Entscheidungsprozesse
    • Projekt: Black Jack
  • Verstärkungslernen
    • Q-Learning
    • SARSA

Andere einfache Spiele

Andere Ressourcen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.