0Pricing
Python Academy · Pelajaran

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.

Pembelajaran-Q Mendalam — ilustrasi 1

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:

  1. Menginisialisasi Jaringan-Q dengan bobot acak.
  2. Berinteraksi dengan lingkungan untuk mengumpulkan tuple pengalaman (state, action, reward, next_state).
  3. 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.

Pembelajaran-Q Mendalam — ilustrasi 10

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

  1. Konsep Dasar Pembelajaran Penguatan
  2. Konsep Tabel-Q
  3. Menerapkan Tabel-Q dalam Python
  4. Pembelajaran-Q Mendalam
  5. Menjelajahi OpenAI Gym
← Kembali ke Python Academy