Erstellen Sie KI -Agenten für maschinelles Lernen in Unreal Engine 4 & 5

Einführung in Mindmaker: https://www.youtube.com/watch?vkeerm_pzhapia
Blueprints Übersicht: https://youtu.be/tuo423nujek
Discord Group: https://discord.gg/shxfwtmsha
Das Mindmaker AI Plugin ist ein Open-Source-Plugin, mit dem Spiele und Simulationen innerhalb von UE4 und UE5 als OpenAI-Fitnessumgebungen für die Schulung autonomer Maschinenlernen-Agenten fungieren können. Das Plugin erleichtert eine Netzwerkverbindung zwischen einem unwirklichen Motorprojekt, das die Lernumgebung enthält, und einer Python -ML -Bibliothek, die Daten von Unreal Engine erhält und in eine benutzerdefinierte Openai -Gymnastikumgebung für die Schulung des Agenten analysiert wird. Die eigenständige Bibliothek für maschinelles Lernen kann entweder ein benutzerdefiniertes Python-Skript sein, wenn Sie Ihr eigenes ML-Tool mit dem Remote-ML-Server von Mindmaker erstellen, oder es könnte sich um eine vorkompilierte Lernmaschine wie DRL-Engine von Mindmaker (stabile Baselines3-Algorithmen) handeln. Unabhängig davon, welche Option Sie auswählen, können Sie mit den Mindmaker AI -Plugin -Entwicklern und Forschern leicht maschinelle Lernagenten für 2D-, 3D- und VR -Projekte schulen.
Mögliche Anwendungen erstrecken sich über das Spieldesign über eine Vielzahl von wissenschaftlichen und technischen Bemühungen hinaus. Dazu gehören Robotersimulation, autonomes Fahren, generative Architektur, prozedurale Grafiken und vieles mehr. Diese API bietet eine zentrale Plattform, aus der Fortschritte beim maschinellen Lernen viele dieser Felder erreichen können. Für Spieleentwickler umfassen die Anwendungsfälle für selbstoptimierende Agenten das Kontrolle des NPC-Verhaltens (in einer Vielzahl von Einstellungen wie Multi-Agent und kontrovers), Prototyping-Spieldesignentscheidungen und automatisierte Tests von Spielerstellungen.
Die DRL Learning Engine ist im Link zum Beispielprojekt sowie im Python -Quellcode zum Ändern des Verzeichnisses des Inhalts mindmaker Quell enthalten. Algorithms presently supported by the DRL Learning Engine include : Actor Critic ( A2C ), Sample Efficient Actor-Critic with Experience Replay (ACER), Actor Critic using Kronecker-Factored Trust Region ( ACKTR ), Deep Q Network ( DQN ), Proximal Policy Optimization ( PPO ), Soft Actor Critic ( SAC ), Twin Delayed DDPG ( TD3 ), Trust Region Policy Optimization ( TRPO ), Tief deterministischer politischer Gradient (DDPG). Das Plugin ähnelt funktional den ML -Agenten von Unity mit einigen Vorteilen - anstatt für jede Anwendung eine benutzerdefinierte OpenAI -Gymnastik zu erstellen, und verwendet eine einzelne Umgebung und wählen einfach, welche der Beobachtungen und Aktionen des Agenten dem ML -Algorithmus ausgesetzt werden sollen. Voila, lass das Lernen beginnen!
Es gibt zwei primäre Komponenten, die Sie bei der Arbeit mit dem Mindmaker -Plugin verwenden, ein unwirkliches Enginge -Projekt, das die Lernumgebung enthält, und eine eigenständige maschinelle Lernbibliothek, die vom Agenten verwendet wird, um alles zu optimieren, was er zu lernen versucht. Die eigenständige Bibliothek für maschinelles Lernen kann entweder ein benutzerdefiniertes Python -Skript sein, wenn Sie Ihr eigenes ML -Tool mit dem Remote -ML -Server von Mindmaker erstellen, oder es kann sich um eine vorkompilierte Lernmaschine wie die Denkaker -DRL -Engine (stabile Baselines -Algorithmen) handeln.
Verwenden Sie den Mindmaker Remote ML Server, um mit verschiedenen ML -Bibliotheken in Verbindung mit Mindmaker zu experimentieren. Damit können Sie Ihre eigene Python Learning Engine anpassen, anstatt den vorgefertigten Denkmacher DRL-Motor zu verwenden. Befolgen Sie die folgenden Schritte, um den Remote -ML -Server zu verwenden:
Wenn Sie mehrere ML -Clients verwenden möchten, die mit einer einzigen Lernumgebung verbunden sind, beispielsweise in einem Multi -Agent -Szenario, kann dies mit Mindmaker Server und Plugin erfolgen.
Um mehrere Lernagenten zu erstellen, richten Sie zuerst Ihre Lernagenten wie in einem der Beispielblaupausen ein. Für jeden neuen Lernagenten müssen Sie die Einstellungen für Socketio -Port im neuen AI -Controller bis zum Zeitpunkt der Start des Servers in den neuen AI -Controller inkrementieren. Zum Zeitpunkt des Starts des Servers werden automatisch neue Server -Portnummern für jede neue Instanz von Mindmaker erstellt.
Wenn Sie beispielsweise einen zweiten Lernagenten zu Ihrer Karte hinzufügen, benötigen Sie die gleichen Funktionen, die im ersten Lernagenten, dem Start -Mindmaker Blueprint -Knoten usw. enthalten sind, aber anstatt diesen Port 3000 zuzuweisen, werden Sie es Port 3001 in Blueprints zuweisen. Neben dem Ändern der Socketio -Port -Einstellung in Blaupausen müssen Sie auch die Funktion "Socketio Blueprint" ändern und die in der Adresse und den Port und Port beispielsweise "http: // localhost: 3001" erstellte Nummer ändern.
Sobald dies erledigt ist, müssen Sie nur eine zweite Instanz Ihrer Datei mindmaker_client.py erstellen, die eine Verbindung zu Ihrem zweiten Lernagenten verbindet. Das Training kann gleichzeitig parallel durchgeführt werden. Die einzige Änderung, die Sie an mindmaker_client.py vornehmen müssen, ist die Änderung von sio.connect ('http: // localhost: 3000') am Ende der Datei zu sio.connect ('http: // localhost: 3001') oder was auch immer, mit der du zusammenarbeitest. Wenn Sie fünf Lernagenten haben, haben Sie fünf Instanzen des Kunden und jeder hat eine neue Portnummer bis zu 3005
Nachahmungslernen mit StableBaSelines 3 Die Mindmaker Python Quelle kann geändert werden, um das Lernen nach Imitation mithilfe der unterstützten StableBaselines -Nachbildungsalgorithmen zu unterstützen
Um ein geschultes Modell zu speichern, setzen Sie das Kontrollkästchen „Modell speichern nach dem Training“ in der Funktion "Start Mindmaker" auf true. Sie müssen sicherstellen, dass Ihre Anzahl der Trainingsepisoden eine Nicht -Null -Zahl ist. Das Modell speichert nach Abschluss des Trainings. Um die trainierten Modelle zu laden, deaktivieren Sie das Kontrollkästchen „Modell speichern nach dem Training“ und setzen Sie stattdessen das Kontrollkästchen „Vor trainiertes Modell laden“ in der Funktion "Start Mindmaker" auf true. Sie müssen auch die Anzahl der Trainingsepisoden auf Null setzen, da kein Training stattfinden soll. Stellen Sie sicher, dass die Anzahl der Evaluations-Episoden eine Ganzzahl ungleich Null ist, da das vorgebildete Modell auf diese Weise das Lernen demonstriert. Modelle werden lokal im Ordner „AppData Roaming“ Ihres Computers gespeichert, z. B. C: Benutzer Leon AppData Roaming
Standardmäßig speichert Mindmaker nur im AppData/Roaming -Verzeichnis unter Windows -Maschinen. Befolgen Sie diese Schritte, um die Tensorboard -Protokollierung zu ermöglichen.
Dies ist ein dreistufiger Prozess. Sie müssen entscheiden, welche Aktionen der Agent ergreifen kann, welche Belohnungskriterien aussehen werden und welche Beobachtungen der Agent über seine Umgebung müssten, um erfolgreich zu lernen, eine Belohnung zu erhalten.
Starten Sie Mindmaker ---------> Aktion erhalten --------> MACHEN ------> RECHUNGEN --------> Senden Sie OBS und RWRD an Mindmaker ------ kehren Sie zurück, um Aktionen zu erhalten
Im Lernprozess muss die Mindmaker Learning Engine zunächst mit dem Beobachtungsraum konfiguriert werden, den der Agent verwendet, und die Gesamtzahl der Aktionen, die dem Agenten zur Verfügung stehen. Sie müssen keine Belohnungsinformationen angeben, wenn sie initialisiert werden, dies wird nur während des Trainings auftreten.
Der Gesamtprozess für das Lernen besteht darin, dass die Mindmaker Learning Engine, sobald er mit Unreal Engine verbunden ist und mit der Unreal Engine verbunden ist, zufällige Aktionen für den unrealen Engine -Agenten liefert, und als Antwort sendet der Agent mit UE eine Liste von Beobachtungen zurück, die sie erstellt hatte, sobald die Aktion ergriffen wurde, zusätzlich zu jeder in Bearbeitung erhaltenen Belohnung. Siehe oben Diagramm. In vielen Folgen wird der von Mindmaker verwendete Algorithmus die Aktionen der Agenten als Reaktion auf die von UE erhaltenen Beobachtungen und Belohnungen optimieren. Dieser Prozess ist derselbe, unabhängig davon, welcher Algorithmus für maschinelles Lernen mit Mindmaker eingesetzt wird. Mit diesen Informationen beginnt der Lernalgorithmus, der verwendet wird, die Aktionsentscheidungen der Agenten zu optimieren und die Sequenz zu ermitteln, die erforderlich ist, um konsequent Belohnungen zu erhalten. Der Kompromiss zwischen zufälligen und absichtlichen Aktionen wird in den Explorations-/Ausbeutungsparametern der ML -Bibliothek kontrolliert, die Sie für die Verwendung mit Mindmaker ausgewählt haben, z. B. stabile Baselines. Dieser Vorgang wiederholt sich für jede Trainingsepisode. Nach einer festen Anzahl von Trainingsepisoden können Sie vollständig auf den Algorithmus wechseln, um „beste“ Aktionen vorherzusagen, anstatt zufällige zu ergreifen.
Mindmaker fungiert, indem er eine unwirkliche Umgebung in ein openAI -Fitnessstudio -Format einwickelt, damit jede ML -Bibliothek, die für die Arbeit mit OpenAI -Fitnessstudio entwickelt wurde, in Ihrer Unreal Engine -Umgebung eingesetzt werden kann. Der Zweck der Verwendung von offenem AI -Fitnessstudio besteht darin, die relevanten Faktoren für das Lernen zu standardisieren, nämlich das Format für den Empfang der Beobachtungen, Belohnungen und Handlungen, damit jeder ML -AlgoritätshM Zugang zu den relevanten Variablen für das Lernen haben kann, ohne für jede bestimmte Aufgabe nachgerüstet werden zu müssen. Algorithmen, die mit OpenAI -Fitnessstudio arbeiten, können als mit jeder Umgebung und einem Agenten arbeiten, die das standardisierte OpenAI -Protokoll verwenden.
Konfigurieren von Mindmaker Learning Engine zu Beginn müssen Sie die Funktion "Start Mindmaker" in Unreal Engine für Ihren Lernagenten konfigurieren. Dies erfolgt durch Einstellen der Action_space -Variable in Mindmaker so, dass Sie der Gesamtzahl der Aktionen entsprechen, die Ihrem Agenten zur Verfügung stehen. Sie müssen auch die Variable der Beobachtung_Space so konfigurieren, dass sie mit der Anzahl und der Art der Beobachtungen entspricht, die Ihr Agent in Bezug auf die Belohnung verwendet, die er empfängt. Standardmäßig werden Beobachtungen von Unreal als Array übergeben, siehe Beispielprojekt. Abhängig von der Anzahl der Beobachtungen, die Ihr Agent für die Verwendung feststellt, ändert sich die Größe der Beobachtung_space.
Belohnung - Eine Belohnung ist eine Variable, die nach dem spezifischen Kriterium festgelegt ist, das Sie für den Agenten ausgewählt haben, um zu lernen oder zu optimieren. Im UE4 Blueprint verwenden Sie einen Zweigknoten, um zu bestimmen, welche Umgebungsbedingungen und Agentenaktion für die Aktivierung der Belohnung erfüllt werden müssen. Dies ist als von der Socketio -Verbindung an Mindmaker übergeben. Siehe Projektbeispiel. Aktion - Dies ist eine Variable, die einen Ganzzahlwert enthält, der die Aktion, die der Agent ergriffen hat, darstellt. Sie müssen auch die Gesamtzahl der Aktionen des Agenten entscheiden und die Maxktionen in Mindmaker so festlegen, dass diese Zahl entspricht. Beobachtungen - Perhapse Die schwierigsten Variablen, mit denen Sie sich befassen werden. Der Schlüssel zur korrekten Festlegung ist zu verstehen, dass die Aktionen der Agenten selbst zusätzlich zu anderen in der Belohnungsfunktion verwiesenen Umgebungskriterien in die Beobachtungsvariable einbezogen werden müssen. Der Agent muss wissen, welche Maßnahmen oder Handlungen er ergreifen, die die Belohnung und alle Umgebungsvariablen beeinflussten, die sich ebenfalls geändert haben. Diese werden als Array an die Lernmaschine von Mindmaker gelernt und in der darin enthaltenen Beobachtungsvariablen aktualisiert.
Hier werden wir die einzelnen Parameter des LaunchMindmaker Blueprint -Knotens diskutieren, der die Hauptkomponente der Mindmaker Blueprints -Funktionen ist.
RL -Algorithmus - Hier kann man den Geschmack des RL -Algorithmus auswählen, mit dem man den Agenten trainieren möchte. Das Dropdown -Menü enthält zehn Optionen, wobei jeder Algorithmus seine eigenen Vor- und Nachteile hat. Eine detaillierte Diskussion der verfügbaren der relevanten Algorithmen und ihrer Anwendungsfälle finden Sie hier. https://spinningup.openai.com/en/latest/spinningup/rl_intro2.html
Num Train EP - Dies ist ein ganzzahliger Eingang, der die Anzahl der Trainingsepisoden darstellt, die man sich dem Agenten wünscht. Je größer die Anzahl der Trainingsepisoden ist, desto mehr Erkundung des Agenten macht vor dem Übergang zu dem strategischen Verhalten, das er während des Trainings erwirbt. Die Komplexität der Aktionen, die der Agent versucht, zu lernen, bestimmt in der Regel die Anzahl der erforderlichen Trainingsepisoden - komplexere Strategien und Verhaltensweisen erfordern mehr Trainingsepisoden.
Num Eval EP - Dies ist auch eine Ganzzahleingabe und repräsentiert die Anzahl der Bewertungsepisoden, die der Agent nach dem Training unterzogen wird. Dies sind die Episoden, in denen der Agent sein erlerntes Verhalten demonstriert.
Kontinuierlicher Aktionsraum - Dies ist eine boolesche Eingabe, die feststellt, ob der Agent einen kontinuierlichen Aktionsraum verwendet. Ein kontinuierlicher Aktionsraum ist einer, in dem es eine unendliche Anzahl von Aktionen gibt, die der Agent ergreifen kann, beispielsweise wenn er lernt, ein Auto zu steuern, und eine Winkelreichweite, über die sich die Lenksäule ändern kann, ist ein Dezimalwert zwischen 0 und 180, als es eine unendliche Anzahl von Werten innerhalb dieses Bereichs wie .12 und 145.77454 gibt. Sie möchten zu Beginn der Verwendung identifizieren, wenn Ihr Agent eine unendliche Anzahl von Aktionen oder endliche Nummernaktionen hat, die er ergreifen kann. Der Aktionsraum muss entweder kontinuierlich oder diskret sein, er kann nicht beides sein.
Diskreter Aktionsraum - Dies ist eine boolesche Eingabe, die feststellt, ob der Agent einen diskreten Aktionsraum verwendet. Ein diskreter Aktionsraum ist einer, in dem es eine begrenzte Anzahl von Aktionen gibt, die der Agent ergreifen kann, z. B. wenn die KI nur einen Raum oder einen linken Platz links bewegen kann. In diesem Fall steht ihm nur zwei Aktionen zur Verfügung und der Aktionsraum ist diskret. Der Benutzer ermittelt, welche Art von Aktionsraum der Agent verwendet, bevor er Mindmaker verwendet, und setzen diese Werte entsprechend.
Aktionsraumform - Dies definiert die unteren und oberen Grenzen der Aktionen, die dem Agenten zur Verfügung stehen. Wenn Sie einen diskreten Aktionsraum verwenden, ist dies einfach die Gesamtzahl der Aktionen, die dem Agenten verfügbar sind, zum Beispiel 2 oder 8. Wenn Sie einen kontinuierlichen Aktionsraum verwenden, sind die Dinge komplizierter und Sie müssen die niedrigen und hohen Grenzen des Aktionsraums separat definieren. Das Format dafür lautet wie folgt: niedrig = niedrigstunden, hoch = hohe Stunde, Form = (1,) In diesem Fall ist niedrig ein Wert wie -100,4 und hochgebundene Werte wie 298,46. Alle Dezimalwerte zwischen diesen Grenzen stellen dann Aktionen dar, die dem Agenten zur Verfügung stehen. Wenn Sie eine Reihe solcher Aktionen hätten, könnten Sie den Formanteil ändern, um dies widerzuspiegeln.
Beobachtungsraumform - Richtig gespielt ist dieser Eingang ein Python -Derivat der offenen KI -benutzerdefinierten Umgebungsklasse und definiert die unteren und oberen Grenzen der Beobachtungen, die dem Agenten nach einer Aktion zur Verfügung stehen. Das Format dafür lautet wie folgt: Low = NP.Array ([niedrig (niedrig (niedrig)), High = Np.Array ([hochgebunden]), dType = np.float32. Stellen Sie sich einen Agenten vor, der drei spezifische Maßnahmen hintereinander ausführen musste, um eine Belohnung zu erhalten, und dann müsste sein Beobachtungsraum den Zugriff auf diese drei Aktionen einbeziehen, die jeweils durch eine einzigartige Beobachtung dargestellt werden. Daher müsste die Auswahl an Beobachtungen drei verschiedene Werte mit eigenen einzigartigen Grenzen enthalten. Zum Beispiel könnte ein solcher Aktionsraum als solches definiert werden: LOW = NP.Array ([0,0,0]), High = Np.array ([100,100,100]), DTYPE = np.float32 Wenn jeder der eigenen Handlungen, die zur Beobachtung des Werts von 0 und 100, ein Wert zwischen 0 und 100 ist. Eine Regel. Der Beobachtungsraum muss einen Verweis auf diesen Wert enthalten. Wenn fünf Bedingungen für eine Belohnung erfüllt sein müssen, muss jeder dieser fünf Bedingungen Teil des Beobachtungsraums der Agenten sein.
Vorgebildeter Modell laden - Dies ist ein boolescher Wert, der feststellt, ob Sie dem Agenten ein vorgebildetes Verhalten laden möchten, das zuvor gespeichert wurde. Wenn Sie dies auf TRUE einstellen, möchten Sie den Namen der Datei im Eingabefeld speichern /laden Sie den Namensname. Alle Modelle werden standardmäßig im App -Datenroaming -Verzeichnis des Computers gespeichert.
Modell speichern nach dem Training - Dies ist ein boolescher Wert, der feststellt, ob Sie dem Agenten das Verhalten speichern möchten, das er nach dem Training gelernt hat. Wenn Sie dies auf TRUE einstellen, möchten Sie den Namen der Datei im Eingabefeld speichern/laden Sie den Namensname. Alle Modelle werden standardmäßig im App -Datenroaming -Verzeichnis des Computers gespeichert.
Modellname speichern/laden - Dies ist eine Zeichenfolge, die den Namen des Modells darstellt, das Sie speichern oder laden möchten. Dateien werden im App -Datenroaming -Verzeichnis des Computers gespeichert, z. B. C: Benutzer Benutzername AppData Roaming
Verwenden Sie benutzerdefinierte Params - Dies ist der Boolesche Wert, der feststellt, ob Sie die Aktienversion des von Ihnen ausgewählten Algorithmus verwenden oder deren Parameter ändern möchten. Wenn Sie benutzerdefinierte Parameter verwenden möchten, können diese über die benutzerdefinierten Parameter -Strukturvariablen zugegriffen werden. Wenn Sie auf sie klicken, zum Beispiel A2CPARAMS, sehen Sie alle Werte, die in diesen Strukturen festgelegt werden können. Eine detaillierte Aufschlüsselung der Parameter für jeden Algorithmus finden Sie hier: https://stable-baselines.readthedocs.io/en/master/
Eine Beispielliste von Funktionen aus dem Beispielprojekt wird unten dargestellt, um zu verstehen, wie Informationen zwischen Mindmaker und Unreal Engine übergeben werden. Alle für das Spielzeugproblem relevanten UE -Vermögenswerte sind im Ordner Assets/DeepLearningNPC enthalten. Von besonderer Bedeutung ist der Blueprint, der AI_character_controler_bp im AI_CHARACTER_CONTROLE_BP BLUEPRINT genannt wird. Alle Umgebungsvariablen sind für die Übergabe an die Mindmaker -eigenständige Anwendung konfiguriert. Dazu gehören die folgenden wesentlichen Funktionen
Lasten Sie die sensorische Eingangsfunktion - Importiert die Objekte, auf die die KI für die Erfassung oder Manipulation ihrer Umgebungssteuerungsfunktion zugreifen kann.
Definieren Sie die Aktionsraumfunktion - codieren alle möglichen Agentenaktionen in einen einzelnen numerischen Wert, der an die eigenständige Anwendung zur Bewertung durch den RL -Algorithmus übergeben werden kann
LaunchMindmindmaker -Funktion - Dadurch wird die eigenständige Anwendung zu Beginn des Spiels so aufgerufen, dass die Bewertungsdaten aus der UE -Umgebung beginnen können. Danach beginnt die RL -Anwendung, die Umgebung mit zufälligen Aktionen zu untersuchen, die sie selbst erzeugt, wie eine blinde Person, die im Dunkeln nach einem Licht sucht. Das Licht ist die Belohnung, die in der UE -Funktionsprüfungsfunktion angegeben ist. LaunchLearningEngine übergibt auch einige grundlegende UE -Umgebungsinformationen an die eigenständige Anwendung, z. Es würde viel zu lange dauern, dass alle Agenten zufällige Schulungen angezeigt werden.
Empfänglichkeitsfunktion - Nach Beginn der Lern -Lern -Engine -Funktion ist die nächste Funktion des Feuers eine Erstellung. Dies erhält die von der eigenständige Anwendung ausgewählte Aktion und führt eine Reihe von Follow -up -Verfahren durch, z.
Beobachtungen funktionieren - der Zweck davon ist die Aktualisierung der Beobachtungen der Agenten über ihre Umgebung nach den gerade ergriffenen Maßnahmen. Dazu gehören beispielsweise der Standort der Agenten mit der Umgebung und alle anderen Umgebungsdaten, die sich seit dem letzten Mal geändert haben. Diese werden in einer benutzerdefinierten Strukturvariablen gespeichert.
Checkreward - Dies gibt die Belohnungsbedingung für den Agenten in der Umgebung an. Wenn diese Belohnungsbedingung nach dem Agenten erfüllt ist, die eine Aktion ergriffen haben, werden diese Informationen in der folgenden Send -Beobachtungsfunktion an die eigenständige Anwendung übergeben. Sendungsbeobachtungsfunktion - Nimmt die neuen Beobachtungen des Agenten sowie alle Belohnungsinformationen an und übergeben sie an die eigenständige Anwendung. So kann der RL -Algorithmus bewerten, ob die gerade ergriffene Maßnahmen gut waren, und seine Strategie entsprechend aktualisieren. Nach dieser Funktion ist die einzige Iteration oder Episode des Spiels abgeschlossen, und der Vorgang wiederholt sich ad infinitum.
Bestimmte Aufgaben erfordern möglicherweise längere Schulungsperioden, in denen sich die Visualisierung der Agentenbewegungen unerschwinglich zeitaufwändig erweisen würde. In bestimmten Beispielen wurde die Visualisierung der Bewegungen des Agenten deaktiviert, aber das Training findet im Hintergrund statt, sobald das Beispiel ausgeführt wird. Nach Abschluss wird der Agent die erworbene Strategie demonstrieren.
Zufälliger Fall bedeutet in diesem Fall, dass der Agent einen Zufallszahlengenerator verwendet, um zwischen den ihm während des Trainings verfügbaren Aktionen zu wählen. Der RL -Algorithmus beobachtet dann die Ergebnisse dieser zufälligen Aktionen sowie alle erhaltenen Belohnungen und verwendet diese Informationen, um bessere Aktionen während der Phase „Nutzung“ auszuwählen. So wird eine gelernte Strategie entwickelt.
Die Informationssammlung während des Lernens erfolgt in Form einer Reihe von Beobachtungen, die nach den zufälligen Aktionen des Agenten erzeugt werden. Wenn das Mindmaker -Plugin verwendet wird, wird die genaue Form des Arrays in der Eigenschaft der Beobachtungsgröße der Start -Mindmaker -Blaupausefunktion definiert und hängt davon ab, welche Variablen für den Agenten in dieser bestimmten Spiel- oder Lernaufgabe erforderlich sind. Es wird sich je nach Lernaufgabe oder Spiel ändern.
Der Agent nimmt nur den Teil der Umgebung wahr, der dem Spieldesigner ihnen ausgesetzt ist. Bei der Verwendung des Mindmaker -Plugins werden diese Beobachtungen in der Aufruf von Entbaus für die Entwurfsfunktion in der Unreal Engine ausgelöst. Dies erzeugt eine Reihe von Zahlen in der Form, die durch die Eigenschaft der Beobachtungsgröße der Start -Mindmaker Blueprint -Funktion definiert ist. Beobachtungen sollten so ausgewählt werden, dass sie nur die Daten umfassen, aus denen der Agent gelernt werden muss. Andernfalls könnte das Training unerschwinglich zeitaufwändig werden.
Im Vanille -Q -Lernen - Es ist kein neuronales Netzwerk erforderlich und das Lernen wird in einem tabellarischen Format gespeichert. Bei der Verwendung des Lernens von Mindmaker Deep verstärkt, kann man zwischen einer Vielzahl von neuronalen Netzwerkarchitekturen, einschließlich RNN, CNN usw., wählen. Man kann diese innerhalb der benutzerdefinierten Eigenschaften eines Algorithmus des Starts Mindmaker Blueprint Function -Anruf einstellen.
Erstellen einer benutzerdefinierten Umgebung für die Lernumgebung für die Deep -Verstärkung
Intro. Um das Lernen für Videospiele KI zu verstärken
Verstärkungslernen - es ist Versprechen und Gefahr
Stabile Baselines -Dokumentation