Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Model-Based Reinforcement Learning - Pendulum-v1

Bu proje, Model-Based RL yaklaşımını Pendulum-v1 ortamında uygular ve Model-Free (PPO) baseline ile karşılaştırır.

Proje Amacı

Ortamın dinamiklerini bir sinir ağıyla öğrenmek ve bu modeli planlama için kullanarak:

  • Sample efficiency'yi artırmak
  • Model-based ve model-free yaklaşımları karşılaştırmak
  • Dynamics model tahminlerini görselleştirmek

Metodoloji

Model-Based Approach

  1. Dynamics Model: f_θ(s_t, a_t) → s_{t+1} şeklinde bir MLP ile ortam dinamiklerini öğrenir
  2. CEM Planner: Cross-Entropy Method ile learned model üzerinde planlama yapar
  3. MPC Strategy: Her adımda yeniden planlama yaparak en iyi aksiyonu seçer

Model-Free Baseline

  • PPO (Proximal Policy Optimization): Standard policy gradient yöntemi ile karşılaştırma

Kurulum

# Sanal ortam oluştur
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Bağımlılıkları yükle
pip install -r requirements.txt

Kullanım

1. Dynamics Model Eğitimi

python scripts/train_dynamics.py

Random policy ile veri toplar ve dynamics model'i eğitir.

2. Model-Based Agent Eğitimi

python scripts/train_model_based.py

Learned dynamics + CEM planner ile agent'ı eğitir.

3. PPO Baseline Eğitimi

python scripts/train_ppo.py

PPO algoritmasını eğitir (karşılaştırma için).

4. Değerlendirme ve Karşılaştırma

python scripts/evaluate.py

Her iki yaklaşımı karşılaştırır ve metrikleri gösterir.

5. Model Görselleştirme

python scripts/visualize_model.py

Dynamics model'in tahmin doğruluğunu görselleştirir.

Proje Yapısı

Model-Based-RL/
├── config/              # Hyperparameter konfigürasyonları
├── src/
│   ├── environments/    # Ortam wrapper'ları
│   ├── models/          # Neural network modelleri
│   ├── agents/          # Agent implementasyonları
│   ├── planners/        # CEM planner
│   ├── data/            # Replay buffer ve data collection
│   └── utils/           # Visualization, logging, metrics
├── scripts/             # Eğitim ve değerlendirme scriptleri
├── notebooks/           # Jupyter analiz notebooks
└── results/             # Sonuçlar, loglar, grafikler

Beklenen Sonuçlar

Metrikler

  • Sample Efficiency: Model-based yaklaşım daha az sample ile öğrenebilir
  • Final Performance: Her iki yaklaşım benzer final performance gösterebilir
  • Training Time: Model-based planning daha yavaş olabilir

Görselleştirmeler

  • Learning curves (episode rewards)
  • Dynamics model prediction errors
  • True vs predicted trajectories
  • Action distributions

Konfigürasyon

  • config/pendulum_config.yaml: Model-based agent hyperparameters
  • config/ppo_config.yaml: PPO baseline hyperparameters

Referanslar

Geliştirici Notları

  • Pendulum ortamı continuous action space kullanır
  • State: [cos(θ), sin(θ), θ_dot]
  • Action: torque ∈ [-2, 2]
  • Reward: penalize açı ve açısal hız

Lisans

MIT License

About

Model-Based Reinforcement Learning with Pendulum-v1: Dynamics Model + CEM Planning vs PPO Baseline

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages