Tutorial Reinforcement Learning: Gymnasium dan Stable-Baselines3

# Reinforcement Learning dengan Gymnasium dan Stable-Baselines3 ## Daftar Isi 1. [Pendahuluan](#pendahuluan) 2. [Prasyarat](#prasyarat) 3. [Konsep Inti Reinforcement Learning](#konsep-inti-reinforce...

By Ruby Abdullah · · tutorial
Reinforcement LearningGymnasiumStable-Baselines3DQNPPOPython

Reinforcement Learning dengan Gymnasium dan Stable-Baselines3

Daftar Isi

  • Pendahuluan
  • Prasyarat
  • Konsep Inti Reinforcement Learning
  • Memulai dengan Gymnasium
  • Deep Q-Network (DQN)
  • Proximal Policy Optimization (PPO)
  • Advantage Actor-Critic (A2C)
  • Membuat Environment Kustom
  • Loop Pelatihan dan Pemantauan dengan Callback
  • Evaluasi Model
  • Integrasi TensorBoard
  • Praktik Terbaik
  • Kesimpulan

  • Pendahuluan

    Reinforcement Learning (RL) atau Pembelajaran Penguatan adalah paradigma pembelajaran mesin di mana sebuah agen belajar membuat keputusan dengan berinteraksi langsung dengan lingkungannya. Berbeda dengan supervised learning, RL tidak memerlukan data berlabel. Sebagai gantinya, agen menemukan perilaku optimal melalui proses coba-coba (trial and error) yang dipandu oleh sinyal reward (imbalan).

    Tutorial ini memberikan panduan praktis untuk membangun agen RL menggunakan Gymnasium (fork yang dikelola dari OpenAI Gym) untuk simulasi environment dan Stable-Baselines3 (SB3) untuk implementasi algoritma RL mutakhir. Anda akan belajar melatih agen dengan DQN, PPO, dan A2C, membuat environment kustom, memantau pelatihan, dan mengevaluasi performa model.


    Prasyarat

    • Python 3.9+
    • Pemahaman dasar tentang jaringan saraf tiruan
    • Familiaritas dengan PyTorch (membantu namun tidak wajib)

    Instalasi paket yang diperlukan:

    pip install gymnasium stable-baselines3[extra] tensorboard numpy matplotlib
    

    Flag [extra] menginstal dependensi tambahan termasuk dukungan TensorBoard dan environment Gymnasium ekstra.


    Konsep Inti Reinforcement Learning

    Sebelum menulis kode apa pun, penting untuk memahami komponen fundamental dari sistem RL.

    Kerangka Kerja RL

    Agen <---> Lingkungan (Environment)
    

    | |

    |-- Aksi ----> |

    | |-- State, Reward -->|

    |<------------------------------ ---|

    • Agen (Agent): Entitas yang belajar dan membuat keputusan, yaitu memilih aksi.
    • Lingkungan (Environment): Dunia tempat agen berinteraksi. Lingkungan menerima aksi dan mengembalikan state serta reward.
    • State (Observasi): Representasi situasi terkini dalam lingkungan.
    • Aksi (Action): Keputusan yang dibuat agen yang mempengaruhi lingkungan.
    • Reward (Imbalan): Sinyal umpan balik skalar yang menunjukkan seberapa baik aksi yang diambil.
    • Kebijakan (Policy): Pemetaan dari state ke aksi. Inilah yang dipelajari oleh agen.
    • Episode: Urutan lengkap dari state awal hingga state terminal.
    • Faktor Diskon (Gamma): Nilai antara 0 dan 1 yang menentukan seberapa besar reward masa depan dihargai relatif terhadap reward langsung.

    Fungsi Nilai

    • V(s): Reward kumulatif yang diharapkan dimulai dari state s, mengikuti kebijakan pi.
    • Q(s, a): Reward kumulatif yang diharapkan dimulai dari state s, mengambil aksi a, kemudian mengikuti kebijakan pi.

    Eksplorasi vs Eksploitasi

    Agen harus menyeimbangkan antara mengeksplorasi aksi baru (untuk menemukan strategi yang berpotensi lebih baik) dengan mengeksploitasi aksi yang diketahui baik (untuk memaksimalkan reward). Hal ini dikelola melalui strategi seperti epsilon-greedy atau regularisasi entropi.


    Memulai dengan Gymnasium

    Gymnasium menyediakan antarmuka standar untuk environment RL.

    Menjelajahi Environment

    import gymnasium as gym
    

    import numpy as np

    Membuat environment CartPole

    env = gym.make("CartPole-v1", rendermode="human")

    print(f"Ruang observasi: {env.observationspace}")

    print(f"Ruang aksi: {env.actionspace}")

    print(f"Bentuk observasi: {env.observationspace.shape}")

    print(f"Jumlah aksi: {env.actionspace.n}")

    Artikel Terkait

    Tutorial Reflex: Membangun Web App Full-Stack dengan Python Murni

    Reflex: Membangun Aplikasi Web Full-Stack dengan Python Murni Reflex memungkinkan Anda membangun aplikasi web lengkap — ...

    Tutorial ColBERT & RAGatouille: Late-Interaction Retrieval untuk RAG

    ColBERT & RAGatouille: Retrieval Late-Interaction untuk RAG yang Lebih Baik Sebagian besar sistem RAG mengandalkan dense...

    Tutorial SGLang: Serving LLM Cepat dan Pemrograman Structured Generation

    SGLang: Serving LLM yang Cepat dan Model Pemrograman untuk Generasi Terstruktur SGLang adalah dua hal dalam satu paket: ...

    Tutorial TRL: Post-Training LLM dengan SFT, DPO, dan Reward Modeling

    Post-Training LLM dengan TRL: SFT, Reward Modeling, dan DPO Setelah sebuah base language model selesai dipretraining, mo...