KIVA - Der ultimative KI-SEO-Agent von AllAboutAI Heute ausprobieren!

Was ist Unity ML-Agents?

  • Editor
  • März 12, 2025
    Updated
was-ist-unity-ml-agents

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

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:

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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


Ein Agent im maschinellen Lernen ist eine autonome Einheit, die ihre Umgebung durch Sensoren wahrnimmt und mit Aktuatoren darauf reagiert, um bestimmte Ziele zu erreichen.


Ja, Unity ML-Agents kann sowohl für 2D- als auch für 3D-Spiele genutzt werden, sodass Agenten in verschiedenen Umgebungen trainiert werden können.


Obwohl Erfahrung mit maschinellem Lernen vorteilhaft sein kann, bietet Unity ML-Agents umfassende Dokumentationen und Beispiele, um Nutzern auf allen Kenntnisstufen zu helfen.


Nutzer sollten mit C# für die Unity-Entwicklung und mit Python für die Implementierung und das Training von maschinellen Lernmodellen vertraut sein.


Das Training ist auf den Unity Editor und eigenständige Builds auf Windows, macOS und Linux mit dem Mono-Scripting-Backend beschränkt. Derzeit funktioniert das Training nicht mit dem IL2CPP-Scripting-Backend.


ML-Agents in Unity funktionieren, indem sie maschinelle Lernalgorithmen integrieren, die es Agenten ermöglichen, aus Interaktionen in simulierten Umgebungen zu lernen und ihr Verhalten basierend auf Rückmeldungen zu verbessern.


Das ML-Agents Toolkit von Unity verwendet Algorithmen wie tiefenverstärkendes Lernen, Nachahmungslernen und Neuroevolution, um Agenten effektiv zu trainieren.


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.

Was this article helpful?
YesNo
Generic placeholder image
Editor
Articles written1963

Digital marketing enthusiast by day, nature wanderer by dusk. Dave Andre blends two decades of AI and SaaS expertise into impactful strategies for SMEs. His weekends? Lost in books on tech trends and rejuvenating on scenic trails.

Related Articles

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert