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
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)