Metode Actor-Critic (A2C)
Fungsi keunggulan, aktor (kebijakan) + kritikus (nilai), implementasi A2C sinkron.
Metode Actor-Critic (A2C) adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Menggabungkan Kebijakan dan Nilai
Metode aktor-kritik menggabungkan dua gagasan: seorang actor (kebijakan yang memilih tindakan) dan seorang critic (fungsi nilai yang menilainya). Critic memberikan umpan balik dengan varians yang lebih rendah daripada imbalan kumulatif mentah, sehingga pembelajaran menjadi lebih stabil.
Actor
actor adalah jaringan kebijakan. Jaringan ini menghasilkan logit tindakan (atau probabilitas) untuk keadaan saat ini, sama seperti pada REINFORCE, lalu menentukan tindakan yang harus dilakukan.
class ActorCritic(nn.Module):
def __init__(self, obs_dim, n_actions):
super().__init__()
self.shared = nn.Sequential(nn.Linear(obs_dim, 128), nn.ReLU())
self.actor = nn.Linear(128, n_actions)Critic
critic mengestimasi nilai keadaan V(s): imbalan kumulatif yang diharapkan dari keadaan s. Critic memiliki kepala dengan satu keluaran yang memprediksi seberapa baik situasi saat ini.
self.critic = nn.Linear(128, 1)
def forward(self, s):
h = self.shared(s)
return self.actor(h), self.critic(h)Tulang Punggung Shared, Dua Kepala
Actor dan critic biasanya share lapisan awal (tulang punggung), lalu bercabang menjadi dua kepala. Berbagi fitur ini efisien dan memungkinkan kedua tugas saling memperkuat representasi yang berguna.
Fungsi Keunggulan
Besaran utamanya adalah keunggulan A = r + gamma * V(s') - V(s). Besaran ini mengukur seberapa jauh suatu tindakan lebih baik daripada yang diperkirakan critic. Keunggulan positif berarti "lebih baik daripada rata-rata", sedangkan keunggulan negatif berarti lebih buruk.
advantage = reward + gamma * V_next - V_currentMengapa Keunggulan Lebih Baik daripada Imbalan Kumulatif Mentah
Menggunakan keunggulan alih-alih imbalan kumulatif penuh G_t memusatkan sinyal di sekitar estimasi critic, sehingga varians berkurang secara drastis. Inilah alasan utama pembelajaran aktor-kritik lebih stabil daripada REINFORCE.
Fungsi Kerugian Actor
Actor dilatih seperti REINFORCE, tetapi diberi bobot berdasarkan keunggulan, bukan imbalan kumulatif: probabilitas tindakan dengan keunggulan positif ditingkatkan.
actor_loss = -(log_prob * advantage.detach()).mean()Fungsi Kerugian Critic
Critic belajar memprediksi imbalan kumulatif secara akurat. Fungsi kerugiannya adalah galat kuadrat antara prediksinya V(s) dan target yang diamati r + gamma * V(s').
target = reward + gamma * V_next.detach()
critic_loss = (V_current - target).pow(2).mean()Fungsi Kerugian Gabungan
Latih kedua kepala secara bersamaan dengan menjumlahkan fungsi kerugiannya (sering kali dengan bonus entropi kecil untuk mendorong eksplorasi). Satu lintasan backward memperbarui tulang punggung shared dan kedua kepala.
loss = actor_loss + 0.5 * critic_loss - 0.01 * entropy
loss.backward()A2C Sinkron
A2C (Aktor-Kritik Keunggulan) adalah versi sinkron: beberapa pekerja paralel mengumpulkan pengalaman dari salinan lingkungan secara bersamaan, kemudian satu pembaruan tersinkronisasi menggunakan semua data tersebut, sehingga stabilitas dan laju pemrosesan meningkat.
# N parallel envs step together each iteration
# gather all transitions, then one combined updateA2C dibandingkan dengan A3C
Varian asinkron A3C memungkinkan pekerja memperbarui model secara mandiri. A2C menyinkronkan mereka, sehingga lebih sederhana, lebih sesuai untuk GPU, dan biasanya sama efektifnya. Karena itu, A2C populer.
Pemeriksaan Singkat
Uji pemahaman Anda tentang aktor-kritik.
Rangkuman: Aktor-Kritik dan A2C
Anda telah mempelajari bahwa actor menghasilkan logit kebijakan dan critic mengestimasi V(s), sering kali melalui tulang punggung shared dengan dua kepala. Keunggulan r + gamma*V(s') - V(s) mengurangi varians, sedangkan A2C sinkron menggunakan pekerja paralel untuk pelatihan yang stabil dan efisien.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Metode Actor-Critic (A2C)” gratis?
Ya — teks lengkap “Metode Actor-Critic (A2C)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Metode Actor-Critic (A2C)”?
Fungsi keunggulan, aktor (kebijakan) + kritikus (nilai), implementasi A2C sinkron. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Metode Actor-Critic (A2C)” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Metode Gradien Kebijakan: REINFORCE
- Metode Actor-Critic (A2C)
- Optimasi Kebijakan Proksimal (PPO)
- Lingkungan Gymnasium Khusus