Wie funktioniert eine Hybrid-Gaming-KI und welche Vorteile hat sie?

In Fortsetzung des Themas der künstlichen Intelligenz , das einst in unserem Blog angesprochen wurde, werden wir darüber sprechen, wie und in welcher Form maschinelles Lernen darauf anwendbar ist. Jacob Rasmussen, Experte für KI-Probleme in Apex Game Tools, berichtete über seine Erfahrungen und die auf dieser Grundlage ausgewählten Lösungen.



In den letzten Jahren wurde viel darüber gesprochen, dass maschinelles Lernen die Spielebranche radikal verändern wird, da diese Technologie bereits in vielen anderen digitalen Anwendungen zum Durchbruch geworden ist. Vergessen Sie jedoch nicht, dass die Spiele viel komplizierter sind als ein Autofahrsimulator, ein Drohnensteuerungsprogramm oder Gesichtserkennungsalgorithmen in einem Bild.

In der Spielebranche ist es bislang üblich, traditionelle KI-Methoden wie die Finite-State-Machine-Methode, Verhaltensbäume und - in jüngerer Zeit - Utility-basierte KI (Utility-basierte Systeme) zu verwenden. Solche AIs werden auch als designbasierte (künstliche Designintelligenz) oder Expertensysteme bezeichnet. Es wird jedoch immer offensichtlicher - und in erster Linie für die Spieler -, dass diese Systeme immer weniger geeignet sind, wirklich fortgeschrittene Gegner zu schaffen, die das Verhalten der Spieler imitieren könnten. Dies gilt insbesondere für kreative Lösungen. Dies kann durch die Tatsache erklärt werden, dass die Entwickler künstlicher Intelligenz nicht alle möglichen Taktiken und Verhaltensstrategien berücksichtigen und erfolgreich in traditionelle KI-Systeme implementieren können. Für Spieler erweist es sich oft als langweilig und vorhersehbar, mit einem Gegner zu spielen, dessen Verhalten leicht zu merken ist.

Viele Gründe führen zu diesem Ergebnis, aber einer der Hauptgründe ist die Unfähigkeit der KI zu lernen. Bei der Schaffung der künstlichen Intelligenz des Feindes fällt daher die Entscheidung über den Übergang zum maschinellen Lernen, die sich in vielen anderen Anwendungen bewährt hat, von selbst ein. Es gibt jedoch einige Nuancen, die eine Überlegung wert sind. Eine Spiel-KI muss sich also an jede Situation anpassen und die Vorteile nutzen können, die sie bietet, sowie an die verschiedenen Spielstile der Rivalen - Live-Spieler und andere KI.


Wie geht es jetzt?


Das britische Unternehmen DeepMind, das sich mit der Entwicklung künstlicher Intelligenz befasst, hat kürzlich gezeigt, wie KI unabhängig lernen kann, Spiele zu spielen, ihre Regeln zu lernen und Wege zu finden, um das Spiel zu bestehen oder zu gewinnen - bisher jedoch nur am Beispiel einfacher Spiele wie der frühen Atari- Spiele - Zum Beispiel gehen Schach und das japanische Logikspiel. Die für sie erzielten Ergebnisse zeigen, dass künstliche Intelligenz in der Lage ist, sich eine angemessene Einschätzung dessen zu bilden, was auf dem Feld geschieht. Wenn wir über die Anpassung der KI an verschiedene Spielstile des Gegners sprechen, sind die Ergebnisse nicht so beeindruckend.

Heutzutage haben neuronale Netze bereits gelernt, Bilder zu erkennen und Autos zu fahren. Diese Funktionen können jedoch mit Hilfe relativ einfacher Architekturen realisiert werden, auch wenn sie sich als ziemlich tief und umfangreich herausstellen. Die KI für die Bilderkennung auf Facebook hat also eine Tiefe von etwa 100 Schichten, weshalb sie einem biologischen Gehirn ähnelt - in Bezug auf Anzahl und Komplexität der Beziehung zwischen Neuronen, die ein großes Netzwerk bilden.


Spiel AI


Für die Anwendung des maschinellen Lernens in der Spielebranche gibt es eine Reihe von Einschränkungen, aufgrund derer es nicht immer möglich ist, diese Art von Architektur zu verwenden. Dazu gehören Systemanforderungen, insbesondere in Bezug auf die CPU, die die Fähigkeit eines Computers zur Verarbeitung komplexer Spielstrukturen und seine Eignung für das Storytelling und das Gameplay von Spielen bestimmen.

So stellt sich heraus, dass es in vielen Spielen zur Implementierung eines komplexen künstlichen Intelligenzsystems nicht möglich ist, die notwendige Hardware und darüber hinaus den Servercluster zu organisieren, der beispielsweise für Bilderkennungsnetzwerke auf Facebook existiert. Manchmal müssen mehrere AIs gleichzeitig funktionieren - nicht nur auf Computern, sondern auch auf Mobilgeräten und auf anderen weniger produktiven Plattformen. All dies führt zu Einschränkungen hinsichtlich der Größe und Komplexität der Architektur des maschinellen Lernens, da alle Berechnungen auch mit einer Rahmendauer in der Größenordnung von 1 oder 2 Millisekunden durchgeführt werden müssen. Natürlich können Sie verschiedene Optimierungstechnologien und den Lastausgleich zwischen Frames verwenden, aber Sie können diese Einschränkungen überhaupt nicht beseitigen.

Schwerwiegende Probleme für die KI können die Komplexität des Spiels verursachen. In Spielen wie StarCraft II ist die Spielmechanik um ein Vielfaches komplizierter als in Atari-Spielen. Daher sollten Sie nicht erwarten, dass maschinelles Lernen für eine bestimmte Frame-Frequenz und bei bekannten Systemanforderungen mit Sicherheit das Studium des gesamten Status des Spiels bewältigen und in der Lage sein wird, mit ihm zu interagieren. Da sich ein Spieler in den frühen Phasen des Spiels häufig von der Intuition leiten lässt, muss die KI lernen, den Status des Spiels zu verarbeiten, um seinen weiteren Durchgang zu vereinfachen. In einer der neuesten APIs für Starcraft II auf Karten wurden beispielsweise nur die Informationen angezeigt, die die Entwickler als wichtig erachteten: In einem Fall verwendete die KI eine reduzierte Ansicht des gesamten Gebiets der Karte, in der zweiten - wie ein Spieler - konnte er die Kamera bewegen, und dann war seine Wahrnehmung auf Informationen beschränkt auf dem Bildschirm.

Bild
Visualisierung des AlphaStar AI-Spiels gegen einen Spieler in StarSraft II: Der Screenshot zeigt die rohen Eingangsbeobachtungen, die Aktivität des neuronalen Netzwerks, einige seiner möglichen Aktionen und Koordinaten sowie das erwartete Ergebnis des Spiels

Dies ist ein besonders relevanter Aspekt bei Spielen. Allgemein anerkannte Methoden zur Lösung von Problemen des maschinellen Lernens sind häufig nicht auf künstliche Intelligenz anwendbar. Zum Beispiel ist er normalerweise nicht verpflichtet, zu gewinnen oder alles in seiner Macht Stehende zu tun, um zu gewinnen, wie dies bei Atari-Spielen der Fall war. Häufig besteht die Rolle der KI darin, das Passspiel spannender zu gestalten. Es kann notwendig sein, dass er eine Rolle spielt und sich so verhält, wie es der Charakter des Charakters vorschlägt, für den er verantwortlich ist. Daher sind Gaming-AIs stärker an Spieldesign und Storytelling gebunden und müssen über die erforderlichen Tools verfügen, um ihr Verhalten zu steuern und ihre Ziele zu erreichen. Reines maschinelles Lernen ist dafür nicht immer geeignet - das heißt, Sie müssen nach etwas anderem suchen.


Praktische Probleme beim maschinellen Lernen


Diese Probleme tauchten bei der Entwicklung von künstlicher Intelligenz auf der Basis von maschinellem Lernen für Unleash auf , bei der sich AIs wie normale Spieler verhalten sollten - das heißt, sie sollten ebenso flexibel und einfallsreich sein.

Wie Starcraft II ist Unleashed viel komplexer als Schach und Atari. Das Gameplay ist intuitiv und leicht zu erlernen, aber um wirklich erfolgreich zu sein, benötigen Sie bestimmte Meta-Management-Fähigkeiten. Der Spieler muss Labyrinthe bauen, Monster auf Feinde setzen und seine Strategie in Bezug auf Wirtschaftlichkeit, Angriff und Verteidigung von Strukturen während des Spiels durchdenken. Um dies zu tun, muss er bluffen und die Bewegungen anderer Leute berechnen sowie ein psychologisches Meta verwalten - sie macht Poker zu etwas mehr als nur einem statistischen Spiel.

Bild
Screenshot von Unleashed

Auf der Suche nach der für diese Zwecke am besten geeigneten Architektur wurden Technologien wie Neuroevolution und Deep Learning zunächst in nahezu unveränderter Form in das Spiel eingeführt, und wir überprüften, wie sie sich als feindliche KI roh zeigen würden.

Es war schrecklich.

Es wurde schnell klar, dass Unleashed viele globale Probleme lösen musste, die sich nur schwer an maschinelles Lernen anpassen ließen.

Eines davon ist der Bau eines effektiven Labyrinths. Wie in vielen Spielen, deren Ziel es ist, den Turm zu schützen, müssen die Spieler hier ein Labyrinth um ihn herum bauen, durch das Monster durchbrechen. Sie müssen wiederum mit Hilfe von Waffen, die in einem Labyrinth platziert sind, beseitigt werden. Idealerweise sollte das Labyrinth so lang wie möglich sein, um den Monstern genügend Schaden zuzufügen und sie daran zu hindern, den Turm zu erreichen. Bei einigen Waffentypen sind Monster anfälliger als bei anderen. Um eine größere Effektivität zu erzielen, sollten sie früher als alle anderen im Labyrinth platziert werden. Die Besonderheit von Unleash ist, dass es kein perfektes Labyrinth gibt: Es gibt so viele Arten von Monstern im Spiel, dass die eine oder andere Art von Monstern frei durch irgendeinen Teil des Labyrinths geht. Jedes Labyrinth muss für neue Monster angepasst werden, die von anderen Spielern gestartet wurden. Daher war es nicht nur notwendig, künstliche Intelligenz zu lehren, um Labyrinthe zu bauen - es war auch notwendig, ihm beizubringen, wie man effektive Labyrinthe für verschiedene Szenarien erstellt, die sowohl in der frühen als auch in der späten Version des Spiels anzutreffen sind.

Außerdem musste die KI lernen, herauszufinden, welche Monster im Labyrinth erscheinen würden. Dies ist eine Art umgekehrtes Problem in Bezug auf den Aufbau des Labyrinths. Wie in vielen anderen Spielen reicht es bei Unleash nicht aus, nur eine Armee aufzubauen und in das feindliche Lager zu schicken. Sie müssen auch die feindliche Verteidigung ausspionieren und Ihre Armee so strukturieren, dass die Schmerzpunkte des Feindes so effizient wie möglich getroffen werden. Die Armee der Monster sollte so miteinander interagieren, dass das Labyrinth am erfolgreichsten durchbrochen wird. Manchmal ist es auch notwendig, Monster in einer bestimmten Reihenfolge freizugeben, abhängig von ihren Funktionen und ihrer Rolle. Dies erhöht auch die Anzahl der verschiedenen Kombinationen.

Da der Spieler sowohl Labyrinthe erschaffen als auch eine Armee von Monstern zusammenstellen muss, muss die KI auch lernen, wie man in Angriff und Verteidigung ein Gleichgewicht findet. Es ist auch zu bedenken, dass je mehr der Spieler die Armee der Monster aufbaut und je mehr er das Labyrinth aufbaut, desto mehr Ressourcen benötigt er dafür. Daher ist die richtige Angriffsstrategie sowohl für die Wirtschaft während des Spiels als auch für den Sieg darin äußerst wichtig. Und um die Wettbewerbsfähigkeit sicherzustellen, muss die KI in der Lage sein, Ressourcen so zu entsorgen, dass eine mächtige Armee von Monstern entsteht, ohne die Stärke des Labyrinths zu gefährden. Maximale Investitionen in Monster können kostengünstig sein, dies erhöht jedoch das Risiko, dass feindliche Monster das Labyrinth erobern. Wenn Sie darauf setzen, den Schutz des Labyrinths zu stärken, kann dies Ihre Wirtschaft untergraben. Keines dieser Szenarien wird zum Sieg führen. Daher ist das Optimierungsproblem in Unleashed größer als im Fall von Schach oder Starcraft und beinhaltet die Notwendigkeit, etwas zu opfern und Ihren Gewinn mehrere Schritte voraus zu berechnen.

Während die künstliche Intelligenz trainiert wird, tauchen viele bisher nicht erkannte Probleme auf. So erreichte die KI zunächst oft einen bestimmten Entwicklungsstand, bei dem er begann, einige Aspekte des Spiels zu verstehen - zum Beispiel, welche Waffen im Labyrinth gegen bestimmte Monstertypen wirksam sind oder welche Monster bestimmte Abschnitte des Labyrinths am besten passieren. Das Lernen war jedoch langsam und führte zur Entwicklung einheitlicher Strategien.


Die Notwendigkeit paralleler Ansätze


Während sich das auf maschinellem Lernen basierende KI-Lernen langsam und nicht besonders erfolgreich entwickelte, erforderten andere Test- und Entwicklungsstufen eine bessere KI und robustere konkurrierende KI. Um sie zu implementieren, wurde die Utility-Architektur verwendet, mit der Sie spezielle AIs erstellen können, um die Qualität des Spiels zu testen und zu überprüfen, Tests im Spiel durchzuführen und Waffen und Monster auszugleichen sowie bestimmte Labyrinthe und Monster zu erstellen. Während der Entwicklung von Unleash haben die Entwickler selbst ihre Fähigkeiten im Bestehen verbessert und dann beschlossen, das erworbene Wissen zu nutzen, um ein komplexeres KI-Dienstprogramm zu erstellen. So wurde klar, dass viele Probleme, die in auf maschinellem Lernen basierenden künstlichen Lernsystemen auftreten, mit Hilfe von Versorgungssystemen, die ihr Wissen nutzen, leicht gelöst werden können und umgekehrt.

Zum Beispiel ist es besser, mit Utility AI effektivere Labyrinthe zu erstellen, die auf Wissensdatenbanken basieren, die aus internen Tests zusammengestellt wurden. Sie können den Algorithmus zum Aufbau des Labyrinths und die Position der Waffen darin so beschreiben und programmieren, dass es einfacher ist, den Turm vor bestimmten Monstern für einen lebenden Spieler zu verteidigen. Die Schaffung einer Monsterarmee auf der Grundlage der Kenntnis der feindlichen Basis war für solche KIs eine schwierige Aufgabe, da die Anzahl der verschiedenen Bedingungen und Kombinationen, die berücksichtigt werden müssen, erstaunlich war. Mit dieser Art von KI-Architektur würde es unendlich lange dauern, geeignete Monstersätze zu finden. Angesichts der gegebenen Einschränkungen wäre Deep Learning eine ideale Lösung für diese Aufgabe.


Hybride KI-Erstellung


Daher wurde beschlossen, die beiden Ansätze zu kombinieren und so ein hybrides System künstlicher Intelligenz zu schaffen, das auf maschinellem Lernen und Nutzen basiert. Die Idee war, dass dort, wo es notwendig war, eine große Anzahl von Kombinationen und Zuständen des Spiels zu verarbeiten, oder wo es erforderlich war, es mit etwas zu trainieren, maschinelles Lernen eingesetzt wurde. Bei anderen Aufgaben, bei denen es besser ist, sich auf die persönlichen Erfahrungen der Entwickler zu verlassen, wurden Utility-Systeme einbezogen. Der Vorteil dieses Ansatzes liegt auch in der Tatsache, dass es bei Bedarf möglich ist, das Verhalten der KI besser zu kontrollieren, um sicherzustellen, dass sie einem bestimmten Ziel genauer entspricht. Sie können beispielsweise die Utility-KI verwenden, um ein Gleichgewicht zwischen Angriff und Verteidigung zu gewährleisten und so unterschiedliche Aggressionsebenen zu erstellen, oder Sie können unterschiedliche Labyrinthkonfigurationen für verschiedene AIs erstellen, um individuelle Spielstile für sie zu erstellen. Sie können auch bestimmte Wertesysteme für neuronale Netze festlegen, um bei der Rekrutierung von Luft- oder Bodenmonstern verschiedene Präferenzen zu bilden und so einzelnen AIs Persönlichkeit zu verleihen. Es gibt viele andere Optionen für die Implementierung von Entwurfsentscheidungen, und alle betonen die Stärken eines bestimmten Typs von KI-Architektur.

Der hybride Ansatz beantwortete auch eine andere Frage, mit der das Entwicklungsteam bei der Entwicklung künstlicher Intelligenz für Unleash konfrontiert war: Lohnt es sich, ein einziges globales tiefes neuronales Netzwerk basierend auf maschinellem Lernen anzuwenden, um alle Eingabe- und Ausgabedaten zu berücksichtigen, oder ist es besser, eine KI mit einer hierarchischen Struktur zu entwerfen?

Bild
Zwei in Unleash verwendete Architekturen: Links befindet sich ein großes tiefes neuronales Netzwerk mit einer eigenen einheitlichen Architektur, rechts ein hierarchisches System, in dem jedes Netzwerk seine eigene Aufgabe hat

Trotzdem möchte ich einen gemeinsamen Ansatz für das System der künstlichen Intelligenz entwickeln, in dessen Architektur die Entwickler keine eigenen Erfahrungen machen würden. Je mehr Zugänge zum Spiel gemacht wurden, desto mehr wuchs das neuronale Netzwerk. Gleichzeitig war es unmöglich, das Training der KI zu trennen und ihnen nur eines beizubringen: entweder Verteidigung oder Angriff. Und es gab Befürchtungen, dass ein allgemeinerer Ansatz zu einer signifikanten Erhöhung der Anzahl der Berechnungen führen würde.

Daraus entstand die Idee, eine hierarchische Architektur zu schaffen, in der jede spezifische Aufgabe von einem spezialisierten neuronalen Netzwerk ausgeführt wird. Nach dieser Idee muss die erste künstliche Intelligenz eine Entscheidung über die Verteilung der Ressourcen für Angriff (Erhöhung der Monsterarmee) und Verteidigung (Bau des Labyrinths) treffen. Sobald er dies tut, wechselt er gemäß seiner Wahl zur nächsten Ebene und erhält Zugriff auf den erforderlichen Teil des Spielzustands. Anschließend trifft er detaillierte Entscheidungen darüber, welche Monster er auswählen und welche Waffen er im Labyrinth installieren soll.


Fazit und nächste Schritte


Beim hybriden Utility-Ansatz ähnelt die KI mit maschinell lernfähigen Netzwerken einer hierarchischen Architektur. Und es ähnelt wiederum einem biologischen Gehirn, in dem jeweils verschiedene Nervenzentren für ihre Aufgabe verantwortlich sind.

Jetzt ist die feindliche KI in Unleash sehr schwer zu besiegen: Sie kann sich an jede Situation im Spiel anpassen - gleichzeitig können Entwickler ihre Einstellungen nach eigenem Ermessen ändern. Laut dem Autor des Artikels sollte der hybride Ansatz im Laufe der Zeit weiter verbreitet werden und in vielen anderen Spielen vorkommen. Vielleicht wird es eines Tages möglich sein, künstliche Intelligenz basierend auf maschinellem Lernen in ihrer reinsten Form in das Gameplay einzuführen. Aber das wird natürlich noch einige Zeit dauern. In der Zwischenzeit ist es das Ziel, eine solche Architektur zu finden, die sich selbst an die Herausforderungen anpasst und optimale Lösungswege findet.

Source: https://habr.com/ru/post/de473932/


All Articles