Este projeto apresenta uma visualização interativa do aprendizado por reforço utilizando o ambiente Taxi-v3 da biblioteca Gymnasium (anteriormente OpenAI Gym). O objetivo é demonstrar de forma didática o processo de aprendizado de um agente, comparando um agente sem treinamento, o progresso das recompensas durante o treinamento e o desempenho do agente treinado. Tudo isso é exibido em uma única interface gráfica utilizando Pygame.
(Gif abaixo do agente sem treinamento, gráfico da curva de aprendizagem do agente e por final o agente treinado)
- Demonstrar o Aprendizado por Reforço: Mostrar o processo de aprendizado de um agente no ambiente Taxi-v3.
- Comparar Desempenhos: Visualizar a diferença entre um agente sem treinamento e um agente treinado.
- Gráfico de Recompensas: Exibir o progresso das recompensas ao longo do treinamento.
- Interface Interativa: Proporcionar uma visualização clara e interativa usando Pygame.
- Visualização do agente sem treinamento.
- Gráfico de recompensas durante o treinamento.
- Visualização do agente treinado.
- Interface responsiva.
- Python 3.x
- Gymnasium
- Matplotlib
- NumPy
- Pygame
-
Clone este repositório:
git clone https://github.com/Matheussbzp/Aprendizado-por-Reforco-no-Ambiente-Taxi-v3.git
-
Navegue até o diretório do projeto:
cd Aprendizado-por-Reforco-no-Ambiente-Taxi-v3
-
Crie um ambiente virtual:
python -m venv venv
-
Ative o ambiente virtual:
.\venv\Scripts\activate
4.1 No macOS e Linux:
source venv/bin/activate
-
Instale as dependências:
pip install -r requirements.txt
-
Treine o agente:
python taxi_q.py --train
-
Visualize o agente sem treinamento:
python taxi_q.py --visualize --no-training
-
Visualize o agente treinado:
python taxi_q.py --visualize --trained
Gostaria de expressar minha imensa gratidão ao Victor Dias, do canal Universo Programado, por indiretamente inspirar este sonho de aprender Machine Learning através dos seus conteúdos. Se não fosse por ele, eu não teria descoberto este universo tão cedo. https://www.universoprogramado.com/
O Matheus do passado se sentiria orgulhoso.