Apa itu reinforcement learning ?

Pembelajaran dari interaksi dan reward, bukan dari data berlabel.

Daftar isi

Reinforcement learning adalah cabang pembelajaran mesin yang mempelajari bagaimana sebuah agen mengambil keputusan dengan belajar dari interaksi bersama sebuah lingkungan dan sinyal reward yang diterimanya, bukan dari pasangan data berlabel. Topik ini menjelaskan perbedaan paradigma tersebut terhadap pembelajaran terawasi, menyusun siklus agen-lingkungan sebagai inti mekanisme, dan menampilkan agen acak yang berjalan di CartPole-v1 untuk memperlihatkan bentuk reward di lapangan. Istilah dasar seperti reward, return, dan episode turut diperkenalkan di sepanjang pembahasan.

Belajar dari interaksi, bukan dari label#

Pada pembelajaran terawasi (supervised learning), sebuah model dilatih dari himpunan data berlabel, yaitu pasangan input dan output yang sudah disediakan. Sinyal belajar berupa label yang menetapkan jawaban benar untuk setiap input, sehingga kesalahan dapat dihitung langsung sebagai selisih prediksi dan label. Pelabelan dilakukan oleh pihak di luar model, biasanya manusia atau proses otomatis terpisah, dan labelnya tetap selama pelatihan berlangsung.

Reinforcement learning memilih jalur yang berbeda. Agen tidak menerima jawaban benar, melainkan berkali-kali mencoba aksi pada sebuah lingkungan dan mengamati konsekuensinya. Lingkungan membalas setiap aksi dengan sinyal skalar bernama reward, yang mengukur seberapa baik langkah tersebut pada saat itu, dan dengan keadaan baru yang dilihat agen sebagai observasi. Sinyal reward menilai aksi, tetapi tidak menyatakan aksi mana yang seharusnya dipilih, sehingga agen harus menyimpulkan sendiri perilaku yang baik dari urutan reward yang terkumpul.

Perbedaan ini mengubah pertanyaan yang diajarkan kepada model. Pembelajaran terawasi menanyakan label dari sebuah input, sedangkan reinforcement learning menanyakan urutan aksi yang memaksimalkan jumlah reward dalam jangka panjang. Konsekuensinya, agen harus menyeimbangkan aksi yang sudah diketahui baik dengan aksi yang belum dicoba, sebuah ketegangan yang dikenal sebagai eksplorasi versus eksploitasi dan akan dibahas tersendiri pada modul bandit.

Siklus agen-lingkungan#

Inti reinforcement learning adalah siklus tertutup antara agen dan lingkungan. Agen mengamati keadaan lingkungan, memilih aksi, lalu lingkungan berpindah ke keadaan baru dan mengeluarkan reward. Agen memakai reward tersebut untuk memperbarui kebijakannya, yaitu pemetaan dari observasi ke aksi, kemudian mengamati keadaan baru dan mengulang siklus. Putaran ini berlangsung terus hingga kondisi berhenti tercapai, dan kumpulan reward sepanjang satu putaran disebut return.

Diagram berikut memperlihatkan siklus tersebut. Agen mengirim aksi ke lingkungan, dan lingkungan mengembalikan observasi beserta reward. Pemisahan arah ini penting karena aksi mengalir dari agen ke luar, sedangkan umpan balik mengalir dari luar ke agen.

AgenLingkunganaksiobservasi, reward
Siklus agen-lingkungan: aksi mengalir dari agen ke lingkungan, lalu observasi dan reward mengalir kembali ke agen

Istilah kunci yang menyertainya adalah episode, yaitu satu rangkaian interaksi dari keadaan awal hingga berhenti, serta discount yang dipakai untuk menimbang reward masa depan lebih ringan daripada reward segera. Faktor diskon dilambangkan gamma dan akan dibahas formal pada modul proses keputusan Markov. Pada modul ini cukup dikenali bahwa return bukan sekadar jumlah reward mentah, melainkan jumlah yang ditimbang menurut waktu.

Agen acak di CartPole-v1#

Untuk memperlihatkan bentuk interaksi di atas, dipakai lingkungan CartPole-v1 dari Gymnasium. Tongkat berdiri di atas gerobak yang dapat digerakkan ke kiri atau ke kanan, dan setiap langkah tongkat masih berdiri memberi reward 1. Episode berakhir ketika tongkat jatuh, gerobak keluar dari lintasan, atau panjang maksimum 500 langkah tercapai.

Agen acak memilih aksi tanpa memperhatikan observasi, sehingga perilakunya berfungsi sebagai garis dasar. Pada potongan berikut, agen menjalankan tiga langkah pertama dengan seed yang ditetapkan, lalu mencetak aksi dan reward setiap langkahnya beserta return totalnya.

python Agen acak tiga langkah di CartPole-v1
import warnings
warnings.filterwarnings("ignore")
import numpy as np
np.random.seed(0)
import gymnasium as gym
env = gym.make("CartPole-v1")
obs, info = env.reset(seed=0)
env.action_space.seed(0)
total = 0.0
for langkah in range(3):
    action = env.action_space.sample()
    obs, reward, terminated, truncated, info = env.step(action)
    total += reward
    print(f"langkah {langkah + 1}: action={action}, reward={reward:.4f}")
print(f"return total = {total:.4f}")
env.close()
text Keluaran
langkah 1: action=1, reward=1.0000
langkah 2: action=1, reward=1.0000
langkah 3: action=1, reward=1.0000
return total = 3.0000

Keluaran memperlihatkan dua hal. Pertama, setiap langkah memberi reward 1 karena tongkat belum jatuh, sehingga return total tiga langkah adalah 3. Kedua, agen acak kebetulan memilih aksi yang sama tiga kali berturut-turut, yang berarti kebetulan berhasil menjaga keseimbangan sebentar, namun hal ini bukan jaminan bila aksi berbeda terpilih. Inilah inti perbedaan dari pembelajaran terawasi: tidak ada label yang menyatakan aksi tertentu sebagai jawaban benar, hanya reward yang menilai setiap langkah setelahnya.

Kesalahan umum#

Menganggap reward sebagai label aksi yang benar adalah kekeliruan paling sering. Reward hanya menilai aksi yang baru saja dilakukan, bukan menyatakan aksi mana yang seharusnya dipilih. Sebuah aksi dapat memberi reward rendah pada saat ini tetapi membuka jalan menuju reward besar nanti, sehingga membaca reward satu langkah secara harfiah menyesatkan. Agen yang baik menimbang konsekuensi jangka panjang, bukan sekadar reward segera.

Kesalahan kedua adalah melupakan penyetelan seed. Tanpa env.reset(seed=0) dan env.action_space.seed(0), keluaran agen acak berubah setiap kali dijalankan, sehingga sulit diperbandingkan antar catatan dan antar mesin. Pada seluruh topik di jalur ini, seed ditetapkan pada awal setiap blok yang mengandalkan keacakan agar hasilnya dapat direproduksi.

Ringkasan#

  • Reinforcement learning belajar dari interaksi dan reward, bukan dari pasangan data berlabel. Agen harus menyimpulkan sendiri perilaku yang baik dari urutan reward.
  • Siklus agen-lingkungan adalah inti mekanismenya: agen mengamati, bertindak, menerima observasi dan reward, lalu mengulang. Return adalah jumlah reward sepanjang satu episode.
  • Agen acak berperan sebagai garis dasar, dan seed wajib ditetapkan agar keluaran dapat direproduksi di sepanjang jalur.

Referensi#