Pembelajaran-Q Mendalam
Menggunakan jaringan saraf untuk pembelajaran penguatan
Pembelajaran-Q Mendalam adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 5. 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 Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 5 pelajaran total.
Apa Itu Pembelajaran-Q Mendalam
Pembelajaran-Q Mendalam
Pembelajaran-Q Mendalam adalah pengembangan dari Pembelajaran-Q yang menggunakan jaringan saraf untuk memperkirakan Tabel-Q. Hal ini memungkinkan pembelajaran penguatan diskalakan ke lingkungan dengan ruang keadaan-aksi yang besar atau kontinu.

Mengapa Pembelajaran-Q Mendalam?
Mengapa Pembelajaran-Q Mendalam?
Pembelajaran-Q Mendalam mengatasi keterbatasan Pembelajaran-Q tradisional:
- Menangani ruang keadaan berdimensi tinggi, misalnya gambar.
- Menghindari kebutuhan untuk menyimpan Tabel-Q berukuran besar di memori.
- Melakukan generalisasi di antara keadaan menggunakan jaringan saraf.
Algoritme DQN
Algoritme DQN
Pembelajaran-Q Mendalam menggunakan jaringan saraf yang disebut Jaringan-Q untuk memperkirakan nilai-Q. Langkah-langkah utamanya adalah:
- Menginisialisasi Jaringan-Q dengan bobot acak.
- Berinteraksi dengan lingkungan untuk mengumpulkan tuple pengalaman
(state, action, reward, next_state). - Memperbarui Jaringan-Q menggunakan persamaan Bellman:
Q(s, a) ≈ r + γ max(Q(s', a'))
Membangun Jaringan-Q
Membangun Jaringan-Q
Jaringan-Q adalah jaringan saraf maju sederhana yang menerima keadaan saat ini sebagai input dan menghasilkan nilai-Q untuk semua aksi yang mungkin:
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# Define the Q-Network
q_network = Sequential([
Dense(24, activation='relu', input_shape=(state_space_size,)),
Dense(24, activation='relu'),
Dense(action_space_size, activation='linear')
])
q_network.compile(optimizer='adam', loss='mse')Pengulangan Pengalaman
Pengulangan Pengalaman
Pembelajaran-Q Mendalam menggunakan teknik yang disebut pengulangan pengalaman untuk meningkatkan pembelajaran:
- Menyimpan pengalaman
(state, action, reward, next_state)dalam penyangga memori. - Mengambil kelompok pengalaman secara acak untuk melatih Jaringan-Q.
from collections import deque
# Initialize replay memory
memory = deque(maxlen=2000)
# Add experience to memory
memory.append((state, action, reward, next_state, done))Melatih Jaringan-Q
Melatih Jaringan-Q
Kita melatih Jaringan-Q menggunakan pengalaman dari penyangga memori:
import numpy as np
# Sample a batch of experiences
batch_size = 32
batch = random.sample(memory, batch_size)
# Train the Q-Network
for state, action, reward, next_state, done in batch:
target = reward
if not done:
target += gamma * np.max(q_network.predict(next_state[np.newaxis, ...]))
q_values = q_network.predict(state[np.newaxis, ...])
q_values[0][action] = target
q_network.fit(state[np.newaxis, ...], q_values, epochs=1, verbose=0)Jaringan Target
Jaringan Target
Untuk menstabilkan pelatihan, DQN menggunakan jaringan target:
- Mempertahankan jaringan terpisah untuk menghitung nilai-Q target.
- Menyalin bobot dari Jaringan-Q ke jaringan target secara berkala.
Kelebihan Pembelajaran-Q Mendalam
Kelebihan Pembelajaran-Q Mendalam
Pembelajaran-Q Mendalam menawarkan beberapa manfaat:
- Menangani ruang keadaan berdimensi tinggi, seperti gambar.
- Melakukan generalisasi di antara keadaan menggunakan jaringan saraf.
- Dapat menyelesaikan tugas kompleks seperti permainan Atari dan pengendalian robot.
Ringkasan dan Langkah Berikutnya
Ringkasan dan Langkah Berikutnya
Dalam pelajaran ini, kita:
- Menjelajahi dasar-dasar Pembelajaran-Q Mendalam.
- Membangun Jaringan-Q untuk memperkirakan nilai-Q.
- Membahas pengulangan pengalaman dan jaringan target untuk pelatihan yang stabil.
Selanjutnya, kita akan menjelajahi OpenAI Gym dan menerapkan pembelajaran penguatan dalam lingkungan simulasi.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pembelajaran-Q Mendalam” gratis?
Ya — teks lengkap “Pembelajaran-Q Mendalam” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 5 pelajaran total.
Apa yang akan aku pelajari di “Pembelajaran-Q Mendalam”?
Menggunakan jaringan saraf untuk pembelajaran penguatan Kamu berlatih Python Academy 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 Python Academy?
Tidak diperlukan pengalaman sebelumnya. Python Academy 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 4 dari 5.
Berapa lama pelajaran “Pembelajaran-Q Mendalam” 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 Python Academy ini?
Ya. Setiap pelajaran Python Academy 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
- Konsep Dasar Pembelajaran Penguatan
- Konsep Tabel-Q
- Menerapkan Tabel-Q dalam Python
- Pembelajaran-Q Mendalam
- Menjelajahi OpenAI Gym