Pembelajaran Q Mendalam
Menggunakan rangkaian neural untuk pembelajaran pengukuhan.
Pembelajaran Q Mendalam ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 5. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 5 pelajaran.
Apakah Pembelajaran-Q Mendalam
Pembelajaran-Q Mendalam
Pembelajaran-Q Mendalam ialah pengembangan Pembelajaran-Q yang menggunakan rangkaian neural untuk menghampiri Jadual-Q. Hal ini membolehkan pembelajaran pengukuhan diskalakan kepada persekitaran dengan ruang keadaan-tindakan yang besar atau berterusan.

Mengapa Pembelajaran-Q Mendalam
Pembelajaran-Q Mendalam menangani batasan Pembelajaran-Q tradisional:
- Mengendalikan ruang keadaan berdimensi tinggi, seperti imej.
- Mengelakkan keperluan untuk menyimpan Jadual-Q yang besar dalam memori.
- Membuat generalisasi merentas keadaan menggunakan rangkaian neural.
Algoritma DQN
Pembelajaran-Q Mendalam menggunakan rangkaian neural yang dipanggil Rangkaian-Q untuk menghampiri nilai-Q. Langkah utamanya ialah:
- Mulakan Rangkaian-Q dengan pemberat rawak.
- Berinteraksi dengan persekitaran untuk mengumpulkan tupel pengalaman
(state, action, reward, next_state). - Kemas kini Rangkaian-Q menggunakan persamaan Bellman:
Q(s, a) ≈ r + γ max(Q(s', a'))
Membina Rangkaian-Q
Rangkaian-Q ialah rangkaian neural suapan hadapan yang ringkas. Rangkaian ini menerima keadaan semasa sebagai masukan dan menghasilkan nilai-Q untuk semua tindakan 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')Ulangan Pengalaman
Pembelajaran-Q Mendalam menggunakan teknik yang dipanggil ulangan pengalaman untuk meningkatkan pembelajaran:
- Simpan pengalaman
(state, action, reward, next_state)dalam penimbal memori. - Ambil sample kelompok pengalaman secara rawak untuk melatih Rangkaian-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 Rangkaian-Q
Kita melatih Rangkaian-Q menggunakan pengalaman daripada penimbal 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)Rangkaian Sasaran
Untuk menstabilkan latihan, DQN menggunakan rangkaian sasaran:
- Mengekalkan rangkaian berasingan untuk mengira nilai-Q sasaran.
- Menyalin pemberat daripada Rangkaian-Q ke rangkaian sasaran secara berkala.
Kelebihan Pembelajaran-Q Mendalam
Pembelajaran-Q Mendalam menawarkan beberapa manfaat:
- Mengendalikan ruang keadaan berdimensi tinggi, seperti imej.
- Membuat generalisasi merentas keadaan menggunakan rangkaian neural.
- Boleh menyelesaikan tugas kompleks seperti permainan Atari dan kawalan robotik.
Ringkasan dan Langkah Seterusnya
Dalam pelajaran ini, kita telah:
- Meneroka asas Pembelajaran-Q Mendalam.
- Membina Rangkaian-Q untuk menghampiri nilai-Q.
- Membincangkan ulangan pengalaman dan rangkaian sasaran untuk latihan yang stabil.
Seterusnya, kita akan meneroka OpenAI Gym dan menggunakan pembelajaran pengukuhan dalam persekitaran simulasi.

Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 76
- Pelajaran
- 320
Soalan Lazim
Adakah pelajaran “Pembelajaran Q Mendalam” percuma?
Ya — teks penuh “Pembelajaran Q Mendalam” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 5 pelajaran.
Apakah yang akan saya pelajari dalam “Pembelajaran Q Mendalam”?
Menggunakan rangkaian neural untuk pembelajaran pengukuhan. Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Python Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 5.
Berapa lamakah pelajaran “Pembelajaran Q Mendalam” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Konsep Asas Pembelajaran Pengukuhan
- Konsep Jadual Q
- Melaksanakan Jadual Q dalam Python
- Pembelajaran Q Mendalam
- Meneroka OpenAI Gym