Reinforcement Learning

Apa itu Reinforcement Learning?

Reinforcement Learning (RL) adalah salah satu pendekatan dalam Machine Learning di mana agen (agent) belajar berinteraksi dengan lingkungan (environment) melalui trial and error. Agen tidak diberi label data seperti supervised learning, melainkan feedback berupa reward (hadiah) atau punishment (hukuman).

Tujuan agen adalah memaksimalkan total reward jangka panjang dengan memilih aksi terbaik di setiap keadaan.

Contoh sederhana:

  • Robot belajar berjalan tanpa jatuh.
  • AI belajar main game catur atau Go.
  • Sistem rekomendasi belajar menampilkan iklan yang paling relevan.

Konsep Dasar dalam Reinforcement Learning

RL dapat dijelaskan dengan 4 komponen utama:

  1. Agent
    Entitas yang membuat keputusan (misalnya robot, AI pemain game).
  2. Environment
    Dunia tempat agent berinteraksi (misalnya papan catur, game, dunia nyata).
  3. State (S)
    Kondisi saat ini dari lingkungan.
    Contoh: posisi pion dalam catur, lokasi robot di ruangan.
  4. Action (A)
    Tindakan yang bisa dilakukan agent.
    Contoh: bergerak ke kiri, melompat, menggeser pion.
  5. Reward (R)
    Feedback dari environment.
    • Reward positif → aksi yang baik
    • Reward negatif → aksi yang buruk

Proses ini biasanya digambarkan dalam loop Markov Decision Process (MDP).

Cara Kerja Reinforcement Learning

  1. Agent mengamati state saat ini.
  2. Agent memilih action berdasarkan policy (strategi).
  3. Environment merespon dengan state baru dan reward.
  4. Agent memperbarui policy berdasarkan reward yang diterima.
  5. Ulangi hingga agent mencapai performa optimal.

Pendekatan dalam Reinforcement Learning

1. Value-Based Methods

Menggunakan fungsi nilai untuk memperkirakan seberapa baik suatu state atau action.

  • Contoh: Q-Learning
  • Rumus update:

2. Policy-Based Methods

Langsung mempelajari policy (strategi memilih aksi) tanpa menghitung fungsi nilai.

  • Contoh: REINFORCE Algorithm

3. Actor-Critic Methods

Gabungan value-based dan policy-based.

  • Actor → memilih aksi
  • Critic → menilai kualitas aksi tersebut

Contoh Implementasi Sederhana (Python)

Menggunakan Gymnasium (OpenAI Gym) untuk lingkungan RL.

import gym
import numpy as np

# Buat environment
env = gym.make("CartPole-v1")

# Q-learning setup
q_table = np.zeros([env.observation_space.shape[0], env.action_space.n])
alpha = 0.1   # learning rate
gamma = 0.9   # discount factor
epsilon = 0.1 # exploration rate

# Episode training
for episode in range(1000):
    state, _ = env.reset()
    done = False
    
    while not done:
        if np.random.rand() < epsilon:
            action = env.action_space.sample()  # explore
        else:
            action = np.argmax(q_table[state])  # exploit
            
        new_state, reward, done, _, _ = env.step(action)
        
        # Update Q-value
        q_table[state, action] = q_table[state, action] + alpha * (
            reward + gamma * np.max(q_table[new_state]) - q_table[state, action]
        )
        
        state = new_state

Dalam contoh ini, agen belajar menjaga tiang (pole) tetap seimbang di atas kereta (cart).

Aplikasi Reinforcement Learning di Dunia Nyata

  • Game AI: AlphaGo (DeepMind) mengalahkan juara dunia Go.
  • Robotika: robot belajar berjalan, menyeimbangkan diri, atau memegang benda.
  • Finansial: algoritma trading belajar strategi investasi.
  • Healthcare: personalisasi pengobatan berdasarkan kondisi pasien.
  • Sistem Rekomendasi: menyesuaikan iklan/rekomendasi berdasarkan interaksi pengguna.

Tantangan dalam Reinforcement Learning

  • Eksplorasi vs Eksploitasi: menyeimbangkan antara mencoba aksi baru atau memakai strategi lama.
  • Sample Efficiency: butuh data banyak untuk belajar.
  • Stabilitas Training: algoritma sering sulit konvergen.
  • Kompleksitas Lingkungan: semakin kompleks environment, semakin sulit dilatih.

Penutup

Reinforcement Learning adalah pendekatan yang sangat kuat dalam Machine Learning karena memungkinkan agen belajar dari pengalaman tanpa label data. Meski lebih sulit daripada supervised atau unsupervised learning, RL sudah terbukti mampu menghasilkan terobosan besar di bidang game, robotika, hingga sistem rekomendasi.

Memahami dasar RL akan membuka jalan ke Deep Reinforcement Learning, di mana neural networks digunakan untuk menangani lingkungan yang kompleks.