Die Unity Machine Learning Agents Toolkit (ML-Agents) ist ein Open-Source-Projekt, das von Unity Technologies entwickelt wurde. Es ermöglicht Spielen und Simulationen, als Umgebungen zur Schulung intelligenter Agenten zu dienen.
Entwickler und Forscher können dieses Toolkit nutzen, um Agenten mit Methoden wie bestärkendem Lernen, Nachahmungslernen und Neuroevolution über eine benutzerfreundliche Python-API zu trainieren.
Durch die Verwendung von ML-Agents können Entwickler KI-Agenten erstellen und optimieren, die sich an komplexe Umgebungen anpassen und die Spielinteraktionen verbessern.

Unity Machine Learning Agents Toolkit
Welche Lernmethoden bietet Unity ML-Agents?
Unity ML-Agents bietet verschiedene Lernmethoden, um intelligente Agenten in simulierten Umgebungen zu trainieren:
- Bestärkendes Lernen: Agenten lernen optimale Verhaltensweisen durch Versuch und Irrtum, indem sie Belohnungen oder Strafen für ihre Aktionen erhalten.
- Nachahmungslernen: Agenten lernen durch Beobachtung und Nachahmung von Experten-Demonstrationen, sodass sie gewünschte Verhaltensweisen replizieren können.
- Neuroevolution: Diese Methode beinhaltet die Evolution neuronaler Netzarchitekturen mithilfe evolutionärer Algorithmen zur Entwicklung effektiver Agentenverhalten.
Für eine praktische Demonstration zum Training deines ersten KI-Agenten mit Unity ML-Agents 1.0 kannst du dir das folgende Tutorial ansehen:
Welche Hauptmerkmale bietet Unity ML-Agents?
Das Unity ML-Agents Toolkit bietet eine umfassende Suite an Funktionen, um das Training intelligenter Agenten in Unity-Umgebungen zu erleichtern.
Wichtige Funktionen umfassen:
● Umfangreiche Beispielumgebungen: Bietet über 17 vorgefertigte Unity-Umgebungen, um Nutzern beim Verständnis und der Implementierung von Agenten-Trainingsszenarien zu helfen.
● Flexibles Unity SDK: Ermöglicht eine nahtlose Integration in benutzerdefinierte Unity-Szenen und die Umwandlung jedes Unity-Projekts in eine Lernumgebung.
● Unterstützung für verschiedene Trainingsszenarien: Ermöglicht das Training einzelner Agenten sowie kooperative und kompetitive Multi-Agenten-Szenarien mit tiefenverstärkenden Lernalgorithmen wie Proximal Policy Optimization (PPO), Soft Actor-Critic (SAC), Multi-Agent Proximal Policy Optimization mit zentralisiertem Kritiker (MA-POCA) und Self-Play.
● Nachahmungslernen-Funktionen: Ermöglicht es Agenten, aus Demonstrationen zu lernen, durch Algorithmen wie Behavioral Cloning (BC) und Generative Adversarial Imitation Learning (GAIL).
● Unterstützung für Curriculum Learning: Erlaubt die Definition von Curriculum-Learning-Szenarien, um komplexe Aufgaben durch schrittweise steigende Schwierigkeit zu bewältigen.
● Umwelt-Variationen: Unterstützt das Training robuster Agenten, indem während der Trainingssitzungen Variationen in der Umgebung eingeführt werden.
● Entscheidungsfindung auf Abruf: Bietet flexible Agentensteuerung, indem Entscheidungen nach Bedarf getroffen werden, anstatt in festen Intervallen.
● Paralleles Training: Ermöglicht das Training mithilfe mehrerer gleichzeitig laufender Unity-Umgebungen, um den Lernprozess zu beschleunigen.
● Plattformübergreifende Inferenz: Nutzt Unity Sentis, um native plattformübergreifende Unterstützung bereitzustellen, sodass trainierte Modelle effizient auf verschiedenen Plattformen laufen.
● Python-API-Integration: Bietet eine Python-API zur Steuerung von Unity-Umgebungen, um benutzerdefinierte Trainingsalgorithmen zu verwenden und die Integration mit externen maschinellen Lernframeworks zu ermöglichen.
Unterstützte Algorithmen
Unity ML-Agents bietet eine Reihe von Algorithmen, die verschiedene Lernanforderungen erfüllen:
Kategorie | Algorithmus | Beschreibung |
Tiefenverstärkendes Lernen | PPO (Proximal Policy Optimization) | On-Policy, stabil, universell einsetzbar, geeignet für eine Vielzahl von Aufgaben. |
SAC (Soft Actor-Critic) | Off-Policy, effiziente Stichprobennutzung, ideal für langsame Umgebungen, balanciert Exploration. | |
Intrinsische Belohnungen | Neugier (Curiosity) | Fördert die Erkundung, indem neue Zustände belohnt werden, nützlich für Aufgaben mit spärlichen Belohnungen. |
RND (Random Network Distillation) | Belohnt unvorhersehbares Verhalten und verbessert die Exploration in schwierigen Szenarien. | |
Nachahmungslernen | Behavioral Cloning (BC) | Imitiert Experten-Demonstrationen, effektiv mit umfassenden Trainingsdaten. |
GAIL (Generative Adversarial Imitation Learning) | Verwendet adversariales Training, um Demonstrationen anzupassen, kann mit Belohnungen kombiniert werden. |
Welche Vorteile bietet Unity ML-Agents?
Hier sind die wichtigsten Vorteile der Nutzung des Unity ML-Agents Toolkits:
✔️ Open-Source und Community-getrieben: Unity ML-Agents Toolkit ist Open-Source, sodass Entwickler und Forscher über GitHub beitragen, Feedback geben und das Toolkit verbessern können.
✔️ Integration mit der Unity Engine: ML-Agents integriert sich nahtlos in Unity und ermöglicht die Nutzung von umfangreichen 2D-, 3D- und VR/AR-Umgebungen zur Schulung intelligenter Agenten.
✔️ Unterstützung mehrerer ML-Techniken: Ermöglicht das Training mit Tiefenverstärkendem Lernen, Evolutionären Strategien und anderen Methoden des maschinellen Lernens über eine einfache Python-API.
✔️ Flexible Trainingsszenarien: Bietet verschiedene Trainingskonfigurationen, die auf Agenten, Steuerungssysteme und Belohnungsmechanismen abgestimmt sind, um vielfältige und innovative Umgebungen zu erstellen.
✔️ Einfach zu bedienendes SDK: Das SDK enthält eine Sammlung von Beispielprojekten und Basisalgorithmen, wodurch es sowohl für Anfänger als auch für fortgeschrittene Nutzer zugänglich ist.
✔️ Echtzeit-Entscheidungsfindung: Erleichtert die Echtzeit-Entscheidungsfindung in simulierten Umgebungen und verbessert die Entwicklung intelligenter Agenten für Spiele und Simulationen.
✔️ Multi-Agent-Training: Unterstützt das gleichzeitige Training mehrerer Agenten, wodurch komplexe Interaktionsszenarien in Umgebungen ermöglicht werden.
✔️ Plattformübergreifende Unterstützung: Funktioniert auf verschiedenen von Unity unterstützten Plattformen, darunter PC, Mobilgeräte, AR/VR und mehr.
✔️ Umfangreiche Dokumentation und Ressourcen: Bietet detaillierte Dokumentation, Beispielprojekte und Tutorials, um den Einstieg zu erleichtern.
✔️ Fördert Innovation: Die Flexibilität des Toolkits inspiriert Entwickler, einzigartige und unterhaltsame Umgebungen zu erstellen und die Grenzen von KI im Gaming und in Simulationen zu erweitern.
Welche praktischen Anwendungen hat Unity ML-Agents?
Unity ML-Agents hat ein breites Anwendungsspektrum, das sich über Gaming, Forschung und reale Industrien erstreckt:
- Intelligentere NPCs in Spielen
Unity ML-Agents trainiert Nicht-Spieler-Charaktere (NPCs), damit sie sich realistischer verhalten und ohne feste Skripte lernen, zu jagen oder auszuweichen. Zum Beispiel könnte ein Feind lernen, dich zu umgehen, basierend auf deinem Spielstil.
- Spieltests und Qualitätssicherung
Es ermöglicht Agenten, ein Spiel zu spielen, um Fehler zu finden, z. B. wenn ein Charakter in Wänden stecken bleibt, und spart Testern viel Zeit. Die Agenten können darauf trainiert werden, Levels zu durchlaufen und Probleme zu erkennen, die Menschen übersehen könnten.
- Spiel-Design-Feedback vor der Veröffentlichung
Agenten testen ein Spiel vor der Veröffentlichung, um festzustellen, ob Levels zu schwer oder zu leicht sind. Sie agieren als simulierte Spieler und liefern Feedback dazu, was Spaß macht oder nicht funktioniert.
- KI-Forschung und Benchmarking
Forscher nutzen es, um komplexe Szenarien wie den Obstacle Tower zu erstellen, um zu testen, wie intelligent eine KI werden kann. Es bietet eine Möglichkeit, neue KI-Ansätze in einer realistischen 3D-Umgebung auszuprobieren.
- Robotik und reale Simulationen
Roboter können in Unity trainiert werden, um Aufgaben wie das Aufnehmen von Objekten zu erlernen, bevor sie in der realen Welt eingesetzt werden. Dies spart Kosten und verhindert Schäden während der Lernphase.
- Multi-Agenten-Szenarien (Kooperation oder Wettbewerb)
Man kann mehrere Agenten trainieren, damit sie zusammenarbeiten, z. B. als Team einen Ball hin- und herpassen. Oder sie treten gegeneinander an und verbessern sich durch selbstständiges Training.
- Kreative Experimente und Prototypen
Entwickler nutzen es für innovative Projekte, z. B. ein KI-gesteuertes Vogelmodell, das in einem virtuellen Wald nach Futter sucht. Es eignet sich hervorragend, um kreative Ideen ohne großes Budget oder Team zu testen.
Wie richtet man Unity ML-Agents ein?
Die Einrichtung von Unity ML-Agents erfordert die Installation von Unity, die Konfiguration von Python und die Integration des ML-Agents Toolkits.
Hier ist eine Schritt-für-Schritt-Anleitung:
1. Unity installieren
- Unity Hub herunterladen: Lade den Unity Hub von der Unity-Website. herunter.
- Unity Editor installieren: Installiere über den Unity Hub den Unity Editor in Version 2023.2 oder neuer.
2. Python installieren
- Python 3.10.12 herunterladen: Stelle sicher, dass Python Version 3.10.12 installiert ist, da diese mit ML-Agents kompatibel ist.
3. Eine virtuelle Python-Umgebung einrichten
- Mit Conda: Falls Conda installiert ist, erstelle und aktiviere eine virtuelle Umgebung:
conda create -n mlagents python=3.10.12 conda activate mlagents
- Mit venv: Alternativ kann das integrierte venv-Modul von Python genutzt werden:
python -m venv mlagents source mlagents/bin/activate # Unter Windows: 'mlagents\Scripts\activate'
4. ML-Agents Python-Pakete installieren
- Mit pip installieren: Innerhalb der aktivierten virtuellen Umgebung die ML-Agents-Pakete installieren:
pip install mlagents
5. ML-Agents in Unity integrieren
- Unity-Projekt öffnen: Starte Unity und öffne dein Projekt oder erstelle ein neues.
- Package Manager aufrufen: Navigiere zu Fenster > Package Manager.
- ML-Agents-Paket hinzufügen: Klicke auf das „+“-Symbol, wähle „Paket per Name hinzufügen…“ und gib „com.unity.ml-agents“ ein.
6. Installation überprüfen
- Beispielszenen importieren: Im Package Manager das ML-Agents-Paket suchen und die „3D Balance Ball“-Beispielszenen importieren.
- Szene ausführen: Die importierte Szene öffnen und auf „Play“ klicken, um die vortrainierten Agenten in Aktion zu sehen.
FAQs
Was ist ein Agent im maschinellen Lernen?
Kann Unity ML-Agents für 2D-Spiele verwendet werden?
Ist Erfahrung mit maschinellem Lernen erforderlich, um Unity ML-Agents zu nutzen?
Welche Programmiersprachen sind erforderlich, um mit Unity ML-Agents zu arbeiten?
Gibt es Einschränkungen bei der Nutzung von Unity ML-Agents?
Wie funktionieren ML-Agents?
Welche Algorithmen nutzen ML-Agents?
Fazit
Unity ML-Agents ermöglicht es Entwicklern, Unity-Simulationen in interaktive Umgebungen zur Schulung von KI-Agenten zu verwandeln. Es macht fortgeschrittenes maschinelles Lernen durch praxisnahe Experimente zugänglich.
Von bestärkendem Lernen bis zur Robotik bietet Unity ML-Agents eine Plattform zur Erforschung, Erprobung und Verbesserung von KI-Modellen in einer dynamischen und interaktiven Umgebung. Besuche das KI-Glossar, um weitere Schlüsselbegriffe zu KI und KI-Agenten zu entdecken.