This project was developed during my sophomore year at the University of Debrecen using Unity ML-Agents. The objective was to implement a reinforcement learning agent capable of learning how to navigate an environment and interact with target objects through trial-and-error learning.
The agent improves its behavior by receiving rewards for successful actions and penalties for incorrect actions. During training, the learned policy is stored and used to make autonomous decisions.
- Reinforcement Learning using Unity ML-Agents
- C# implementation of the agent
- Physics-based movement using Rigidbody
- Collision detection
- Ray Perception Sensor 3D
- Random environment generation after successful episodes
- Training with configurable YAML hyperparameters
- Training visualization using TensorBoard
- Implemented the agent behavior in C#
- Designed the reward and penalty system
- Configured the environment and object spawning
- Implemented collision handling with target objects
- Configured ML-Agents training using YAML hyperparameters
- Evaluated training performance using TensorBoard
- Unity 2022
- Unity ML-Agents
- C#
- Python
- TensorBoard
batch_size: 32
buffer_size: 500
learning_rate: 5.0e-4These parameters provided the best training performance for this project.
Training was monitored using TensorBoard, including:
- Cumulative Reward
- Policy Loss
- Learning Rate
- Environment Metrics
- Training Performance
This project strengthened my understanding of:
- Reinforcement Learning
- Unity ML-Agents
- Agent decision making
- Reward engineering
- Hyperparameter tuning
- Physics simulation
- AI development in Unity