Menavigasi kerangka RL

Reinforcement Learning dengan Gymnasium di Python

Fouad Trad

Machine Learning Engineer

Kerangka RL

Gambar yang menunjukkan komponen agen.

Reinforcement Learning dengan Gymnasium di Python

Kerangka RL

Gambar yang menunjukkan komponen agen dan lingkungan.

Reinforcement Learning dengan Gymnasium di Python

Kerangka RL

  • Agen: pembelajar, pengambil keputusan
  • Lingkungan: tantangan yang harus diselesaikan

Gambar yang menunjukkan semua komponen RL: agen, lingkungan, state, aksi, dan reward.

Reinforcement Learning dengan Gymnasium di Python

Kerangka RL

  • Agen: pembelajar, pengambil keputusan
  • Lingkungan: tantangan yang harus diselesaikan
  • State: cuplikan lingkungan pada waktu tertentu

Gambar yang menunjukkan lingkungan memberikan state untuk agen.

Reinforcement Learning dengan Gymnasium di Python

Kerangka RL

  • Agen: pembelajar, pengambil keputusan
  • Lingkungan: tantangan yang harus diselesaikan
  • State: cuplikan lingkungan pada waktu tertentu
  • Action: pilihan agen sebagai respons terhadap state

Gambar yang menunjukkan agen merespons state lingkungan dengan mengeksekusi sebuah aksi.

Reinforcement Learning dengan Gymnasium di Python

Kerangka RL

  • Agen: pembelajar, pengambil keputusan
  • Lingkungan: tantangan yang harus diselesaikan
  • State: cuplikan lingkungan pada waktu tertentu
  • Action: pilihan agen sebagai respons terhadap state
  • Reward: umpan balik atas aksi agen

Gambar yang menunjukkan agen merespons state lingkungan dengan mengeksekusi aksi, dan menerima reward dari lingkungan berdasarkan aksi tersebut.

Reinforcement Learning dengan Gymnasium di Python

Loop interaksi RL

env = create_environment()
state = env.get_initial_state()

for i in range(n_iterations): action = choose_action(state)
state, reward = env.execute(action)
update_knowledge(state, action, reward)

Gambar yang menunjukkan agen merespons state lingkungan dengan mengeksekusi aksi, dan menerima reward dari lingkungan berdasarkan aksi tersebut.

Reinforcement Learning dengan Gymnasium di Python

Tugas episodik vs. kontinu

Tugas episodik
  • Tugas dibagi menjadi episode
  • Episode punya awal dan akhir
  • Contoh: agen bermain catur

Gambar kucing bermain catur.

Tugas kontinu
  • Interaksi berkelanjutan
  • Tidak ada episode terpisah
  • Contoh: Mengatur lampu lalu lintas

Gambar katak mengendarai sepeda dan menunggu lampu lalu lintas menyala hijau.

Reinforcement Learning dengan Gymnasium di Python

Return

  • Aksi berdampak jangka panjang
  • Agen bertujuan memaksimalkan total reward dari waktu ke waktu
  • Return: jumlah semua reward yang diharapkan

Gambar yang menunjukkan return adalah penjumlahan reward individu r_1 hingga r_n.

Reinforcement Learning dengan Gymnasium di Python

Discounted return

  • Reward segera lebih berharga daripada yang di masa depan
  • Discounted return: memberi bobot lebih pada reward yang dekat
  • Faktor diskonto ($\gamma$): mendiskonto reward masa depan

Gambar yang menunjukkan rumus discounted return sebagai jumlah reward, masing-masing dikalikan faktor diskonto berpangkat langkah waktunya.

Reinforcement Learning dengan Gymnasium di Python

Faktor diskonto

  • Antara nol dan satu
  • Menyeimbangkan reward cepat vs. jangka panjang
    • Nilai lebih rendah → keuntungan segera
    • Nilai lebih tinggi → manfaat jangka panjang

Gambar yang menunjukkan pengaruh nilai ekstrem faktor diskonto: nilai nol hanya mengutamakan keuntungan segera, nilai satu mengutamakan masa depan tanpa diskonto.

Reinforcement Learning dengan Gymnasium di Python

Contoh numerik

import numpy as np
expected_rewards = np.array([1, 6, 3])

discount_factor = 0.9
discounts = np.array([discount_factor ** i for i in range(len(expected_rewards))])
print(f"Discounts: {discounts}")
Discounts: [1.   0.9  0.81]
discounted_return = np.sum(expected_rewards * discounts)
print(f"The discounted return is {discounted_return}")
The discounted return is 8.83
Reinforcement Learning dengan Gymnasium di Python

Ayo berlatih!

Reinforcement Learning dengan Gymnasium di Python

Preparing Video For Download...