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 merupakan bagian dari kursus
Deep Reinforcement Learning dengan Python
Instruksi latihan
- Pilih aksi agen di loop bagian dalam.
- Hitung loss.
- Lakukan satu langkah gradient descent untuk memperbarui bobot jaringan.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)