Belajar AI #17: Reinforcement Learning — Agent, Environment, Reward, dan Policy

Reinforcement Learning (RL) adalah paradigma machine learning ketiga, dan yang paling mirip cara manusia belajar: coba, kena reward atau hukuman, perbaiki strategi, ulangi. Tidak ada dataset berlabel seperti supervised learning; ada agent yang beraksi di environment dan belajar dari konsekuensi. Episode ini penutup rangkaian konsep dasar, catatan saya memahami empat kata kuncinya: agent, environment, reward, dan policy.

Empat Kata Kunci

  • Agent: si pelaku yang mengambil keputusan. Program kita.
  • Environment: dunia tempat agent berada, yang merespons aksi dan memberi feedback.
  • Reward: sinyal angka setelah tiap aksi — positif atau negatif. Satu-satunya definisi “benar” yang agent punya.
  • Policy: strategi agent, fungsi dari state ke aksi. Tujuan training adalah policy yang memaksimalkan total reward jangka panjang.

Siklusnya berputar terus: agent melihat state, memilih aksi sesuai policy, environment merespons dengan state baru plus reward, ulangi. Analogi programmer: ini loop game. State adalah snapshot dunia, aksi adalah input, reward adalah score. Yang dipelajari RL bukan jawaban benar per kasus, tapi strategi yang menang dalam jangka panjang.

Exploration vs Exploitation

Dilema paling ikonik di RL: haruskah agent terus memakai jalur yang sudah terbukti memberi reward (exploitation), atau mencoba jalur baru yang mungkin lebih baik (exploration)? Restoran favorit versus restoran baru yang belum dicoba. Kalau terlalu rakus, agent terjebak di solusi biasa-biasa saja. Kalau terlalu petualang, dia tak pernah konsisten memanen reward terbaik. Strategi umum bernama epsilon-greedy: sebagian besar waktu pakai aksi terbaik yang diketahui, sisanya (probabilitas ε) coba acak.

Q-Learning: Belajar Nilai Aksi

Cara klasik memahami RL: Q-learning. Ide intinya tabel Q(state, action) yang menyimpan estimasi “seberapa bagus aksi ini dari state ini”. Setelah tiap pengalaman, estimasi diperbarui dengan reward yang diterima plus estimasi terbaik dari state berikutnya — belajar dari masa depan yang diproyeksikan. Rumus update-nya disebut Bellman equation, dan implementasi minimalnya mengejutkan pendek:

import numpy as np

Q = np.zeros((n_states, n_actions))   # tabel Q diinisialisasi nol

for episode in range(5000):
    s = env.reset()
    done = False
    while not done:
        if np.random.rand() < epsilon:
            a = np.random.randint(n_actions)     # explore
        else:
            a = np.argmax(Q[s])                  # exploit
        s2, r, done = env.step(a)
        # update Q: reward + estimasi masa depan
        Q[s, a] += alpha * (r + gamma * np.max(Q[s2]) - Q[s, a])
        s = s2

Hyperparameter singkat: alpha adalah learning rate (seberapa keras update), gamma adalah discount factor (seberapa dihargai reward masa depan vs sekarang), epsilon mengatur exploration. Tabel Q bekerja untuk state diskrit sedikit; begitu state-nya jutaan — misalnya frame piksel game — tabelnya mustahil, dan di situlah neural network menggantikan tabel (DQN, Deep Q-Network).

Perbandingan Tiga Paradigma

ParadigmaDataFeedbackContoh
Supervised(input, label)Benar/salah per contohKlasifikasi gambar
UnsupervisedInput sajaTidak ada labelClustering pelanggan
ReinforcementInteraksi dengan environmentReward tertundaGame AI, robotika

Catatan jujur penutup seri konsep: RL adalah area yang paling sulit saya debug. Reward yang salah desain menghasilkan perilaku absurd yang secara teknis “sukses” — agent menemukan celah yang tidak kita bayangkan, seperti bug yang mengeksploitasi undefined behavior. Merancang reward function ternyata seni semacam merancang metrik KPI: ukur hal yang salah, dapatkan hal yang salah, dengan sangat efisien.

Sumber

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses