Skip to content

Topik ketujuh AI & Machine Learning: Reinforcement Learning - #118

Merged
xtheoputra merged 1 commit into
mainfrom
fase-1/isi-reinforcement-learning
Oct 13, 2026
Merged

xtheoputra merged 1 commit into
mainfrom
fase-1/isi-reinforcement-learning

Conversation

@xtheoputra

Copy link
Copy Markdown
Owner

Ringkas

Ini topik ketujuh, sekaligus topik terakhir bidang AI & Machine Learning menurut ADR-010: Reinforcement Learning, ditulis dengan gaya hangat dan bercerita. Tokohnya robot kecil yang mengantar buku dari meja pengembalian ke rak, melewati lorong yang sisi bawahnya berupa tangga terbuka. Robot itu tak diberi peta, hanya hadiah: −1 setiap langkah dan −100 bila bukunya jatuh. Dari cerita itu pembaca:

  • menulis lingkungan sendiri dengan Gymnasium (reset, step, terminated vs truncated, check_env), lalu menjadikan robot acak sebagai patokan;
  • memahami return dan diskon, lalu dilema eksplorasi–eksploitasi lewat bandit sepuluh lengan;
  • menghitung jalan terbaik dengan iterasi nilai, lalu menemukannya lagi tanpa peta dengan Q-learning;
  • melihat sendiri kenapa SARSA menjauhi tangga sementara Q-learning menyusuri tepinya;
  • menyaksikan robot mengakali hadiah: bonus "+3 setiap kali mendekat" membuatnya mondar-mandir satu sel di atas rak selamanya, dan bonus berbentuk selisih potensial (Ng dkk., 1999) memulihkannya;
  • naik ke jaringan saraf: DQN, REINFORCE di CartPole, dan PPO dengan Stable-Baselines3;
  • menutup dengan RL untuk model bahasa: RLHF, Constitutional AI, DPO, dan GRPO dengan hadiah berbasis aturan.

Isinya:

Sumber primer yang dibaca saat menulis

  • Sutton & Barto, Reinforcement Learning: An Introduction (edisi kedua), PDF dibaca langsung: reward hypothesis dan nasihat "apa, bukan bagaimana" (§3.2, contoh catur), return dan diskon (§3.3), iterasi nilai (§4.4), uji sepuluh lengan (§2.3: serakah ± 1 dan sepertiga soal, ε = 0,1 maksimal 91%), Q-learning (§6.5, Watkins 1989), Cliff Walking (Contoh 6.6), REINFORCE (§13.3).
  • Gymnasium 1.4.0 (rilis 2026-10-05), sumber docs/ di tag v1.4.0: Basic Usage, Create a Custom Environment, Train an Agent. Fakta CartPole-v1 (500 langkah, ambang 475) dan MountainCar-v0 (−1 per langkah, bendera di 0,5, 200 langkah, ambang −110) dibaca dari docstring dan registry paket yang terpasang.
  • Stable-Baselines3 2.9.0, sumber docs/ di tag v2.9.0: RL Tips and Tricks (boros sampel, beberapa seed, lingkungan uji terpisah, deterministic=True, timeout = truncated, "increase the training budget"), halaman DQN (replay buffer, jaringan target, pemotongan gradien) dan PPO.
  • Makalah, PDF dibaca:
    • Mnih dkk. 2013 (7 game; unggul di 6; melampaui ahli manusia di 3) dan abstrak Nature 2015 (49 game, algoritme dan setelan sama);
    • Schulman dkk. 2017 (PPO, rasio dipotong di [1 − ε, 1 + ε], ε = 0,2);
    • Ouyang dkk. 2022 (InstructGPT: tiga tahap, 1,3B lebih disukai daripada 175B, denda KL per token);
    • Bai dkk. 2022 (Constitutional AI / RLAIF), Rafailov dkk. 2023 (DPO), Shao dkk. 2024 (GRPO: keunggulan = (r − rata-rata)/simpangan baku kelompok), DeepSeek-R1 v2 (hadiah ketepatan + format; model hadiah saraf sengaja dihindari karena rentan diakali);
    • Ng, Harada, Russell 1999: teks PDF-nya rusak bila diekstrak, jadi halaman 1–4 dirender menjadi gambar dan dibaca. Contoh sepeda yang berputar-putar ada di halaman 2, bonus "+r setiap kali mendekat" di halaman 3, dan Teorema 1 (F = γΦ(s′) − Φ(s)) di halaman 4.
  • Google DeepMind, Specification gaming (2020): definisi dan kalimat "shaping rewards can change the optimal policy if they are not potential-based".
  • Video: David Silver, Kuliah 1 (Google DeepMind, 2015, ditandai lebih tua dari PPO/RLHF), dan ANYmal dari ETH Zürich (dirujuk dokumentasi SB3). Keduanya oEmbed 200 dengan judul yang sama persis dengan alt, dan playableInEmbed: true.

Semua URL (sumber, homepage alat, sumber video) menjawab 200.

Koreksi sebelum commit

  • Klaim PPO 10.000 langkah. Draf saya menulis "belum mencapai 475 di ketiganya". Ukuran pertama membantahnya (480,6 / 472,9 / 274,6), dan ukuran kedua memberi angka lain (423,3 / 397,6 / 330,2), karena lingkungan ujinya belum diberi seed. Sesudah env_uji.reset(seed=1000 + seed) ditambahkan, hasilnya bisa diulang persis dua kali: 438,4 / 451,3 / 321,4, dan itulah yang ditulis.
  • Jalur SARSA. Saya mengira semua seed berakhir di jalur aman 17 langkah. Yang terukur: 37 dari 50 (17 langkah), 3 (19 langkah), dan 10 seed yang jalan serakahnya mondar-mandir, karena α = 0,5 tetap. Halaman kini menyebut ketiganya, dan menambah ukuran yang lebih kokoh, yaitu jatuh per episode (0,32 vs 0,04).
  • Hitungan bonus naif. Draf menulis "maju lagi untung 3". Langkahnya tetap −1, jadi untung bersihnya 2, dan setiap bolak-balik menambah 1.
  • Pemindai ADR-024 menangkap kata "menyusulnya" di langkah REINFORCE. Diganti "datang sesudahnya".
  • Bonus naif +2 ternyata tidak memicu putaran (bolak-balik bernilai 0). Demo memakai +3, dan angka itu yang ditulis.

Temuan dari percobaan sendiri

Yang diukur Hasil
lorong vs CliffWalking-v1 aturannya sama persis (38 keadaan × 4 aksi)
robot acak, 1000 episode 16 sampai; hadiah −2115,2; jatuh 19,4 kali
bandit, 2000 soal × 1000 tarikan serakah 1,04 / 36%; ε 0,01 → 1,32 / 61%; ε 0,1 → 1,37 / 80%; terbaik 1,53; pada 10.000 tarikan ε 0,01 menyalip (1,50 vs 1,38)
iterasi nilai 15 putaran, nilai meja −13, jalur tepi
Q-learning vs SARSA (50 seed, 500 episode) −48,6 vs −25,4 per episode; jatuh 0,32 vs 0,04; Q-learning 50/50 jalur 13 langkah
bonus tanpa: 13 langkah; naif: 200 langkah, tak sampai, mondar-mandir (1,11)↔(2,11); potensial: 13
REINFORCE, 5 seed 192, 910, 180, tidak dalam 1000, 259 episode
PPO 50.000 langkah, 3 seed 500,0 ± 0,0, masing-masing 54–55 detik
GRPO hadiah [2, 1, 0, 2] → keunggulan [+0,90, −0,30, −1,51, +0,90]

Verifikasi

Venv uji di luar repo (%TEMP%\tv-rl): gymnasium 1.4.0, stable-baselines3 2.9.0, torch 2.14.1+cpu, numpy 2.5.4.

Uji ok
uji_rl.py: semua contoh dijalankan dan setiap angka di halaman diperiksa (497 detik) 35
cek_isi.py: 13 blok Python = potongan harfiah berkas uji; 2 blok keluaran = keluaran program; setiap angka ↔ keluaran uji; alat bersama sama persis; semua URL 200; oEmbed judul = alt 84
mypy --strict pada 9 berkas kode halaman lolos, dengan disallow_untyped_calls dimatikan hanya untuk reinforce.py (torch.distributions dan Tensor.backward belum bertipe)

Gerbang lokal:

  • .\run.ps1 isi: sah (13 berkas; RL 3.985 kata).
  • .\run.ps1 gerbang-isi: HIJAU (13 topik, pemasangan kedua nol tulisan; uji-ganti 36 ok; uji-media 36 ok).
  • Halaman lokal (API Release :5096 + next start :3401 di atas basis data sekali pakai techversex_rl): 200, dengan 16 blok kode, 8 tabel, 5 gambar (semuanya 200), dan 2 bingkai video. API: status Draft, 14 langkah (prasyarat + 13), 7 media, sisi reinforcement-learning butuh deep-learning.
  • Pemindai ADR-024: 0 kena di 32 halaman, setiap halaman 200, 43 ringkasan alat di 13 halaman topik.
  • Kelima SVG dirender lewat sharp pada 760 dan 340 px, lalu saya lihat sendiri. Tiga label yang bertabrakan sudah dirapikan.
  • .\run.ps1 verify: semua hijau (82 detik).
  • Blob ter-commit 0 CR.

Belum diverifikasi (tanpa Chrome): bingkai video di origin https, dan luberan 390 px.

Sesudah merge

Pasang isi reinforcement-learning tanpa ganti, sha=e262bb1 (citra API yang tayang, selama belum ada merge yang membangun API baru). Lalu ukur API, halaman, dan kelima gambar di produksi. Bila #116 juga di-merge, beri jeda sampai build web yang pertama selesai, supaya build lama tak menang dan gambar baru tidak 404 (SESSION-LOG Sesi 26 Lanjutan).

🤖 Generated with Claude Code

Robot pengantar buku di lorong perpustakaan bertangga terbuka (aturannya
sama persis dengan CliffWalking-v1): robot acak sebagai patokan, return
dan diskon, bandit sepuluh lengan, iterasi nilai, Q-learning vs SARSA,
hadiah yang diakali beserta obat selisih potensial (Ng dkk. 1999), DQN,
REINFORCE, PPO dengan Stable-Baselines3, dan RL untuk model bahasa
(RLHF, Constitutional AI, DPO, GRPO).

13 langkah, 3.985 kata, 5 diagram SVG (3 dari keluaran kode), 2 video,
20 sumber, 2 proyek mini. requires: deep-learning.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@xtheoputra xtheoputra added the konten Isi kurikulum dan penulisan label Oct 13, 2026
@vercel

vercel Bot commented Oct 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
techverse-x-web Ready Ready Preview Oct 13, 2026 4:38am UTC
1 Skipped Deployment
Project Deployment Actions Updated
techverse-x-api Ignored Ignored Oct 13, 2026 4:38am UTC

xtheoputra added a commit that referenced this pull request Oct 13, 2026
…116 → #118 → #117

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@xtheoputra
xtheoputra merged commit 402ff80 into main Oct 13, 2026
7 checks passed
xtheoputra added a commit that referenced this pull request Oct 14, 2026
…tnya Cloud & Infrastructure

#116 dan #118 di-merge pemilik 2026-10-13; build API dilewati (citra
e262bb1), kesepuluh SVG baru 200. Pasang isi atas izin pemilik:
38540673381 (machine-learning-klasik) dan 38540814722
(reinforcement-learning), keduanya selesai = berkas. Produksi diukur:
API dan halaman 200, angka halaman sama dengan ukuran lokal, relasi
deep-learning -> RL tampil dua arah, pemindai ADR-024 33 halaman 0 kena.

Pemilik memilih Cloud & Infrastructure, disusun per konsep (7 topik).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
Preview – techverse-x-web — 6882a708 Deployed Oct 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

konten Isi kurikulum dan penulisan

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant