MulaiMulai sekarang secara gratis

Melatih Barebone DQN

Saatnya melatih algoritma Barebone DQN di lingkungan Lunar Lander. Ingat bahwa ini masih algoritma dasar, jadi kinerjanya belum optimal, tetapi Anda akan meningkatkannya nanti.

Anggap ini sebagai langkah pertama untuk membuat Lunar Lander Anda mendarat di Bulan!

Instance q_network yang Anda definisikan sebelumnya tersedia untuk digunakan.

Sepanjang latihan dalam kursus ini, lingkungan Python Anda juga dilengkapi dengan fungsi describe_episode() untuk mencetak beberapa informasi di akhir setiap episode tentang bagaimana kinerja agen.

Latihan ini adalah bagian dari kursus

Deep Reinforcement Learning dengan Python

Lihat Kursus

Petunjuk latihan

  • Pilih aksi agen di loop bagian dalam.
  • Hitung loss.
  • Lakukan satu langkah gradient descent untuk memperbarui bobot jaringan.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

for episode in range(10):
    state, info = env.reset()
    done = False
    step = 0
    episode_reward = 0
    while not done:
        step += 1     
        # Select the action
        action = ____(____, ____)
        next_state, reward, terminated, truncated, _ = (env.step(action))
        done = terminated or truncated
        # Calculate the loss
        loss = ____(q_network, state, action, next_state, reward, done)
        optimizer.zero_grad()
        # Perform a gradient descent step
        loss.____
        optimizer.____
        state = next_state
        episode_reward += reward
    describe_episode(episode, reward, episode_reward, step)
Edit dan Jalankan Kode