Melatih algoritma A2C
Saatnya melatih Lunar Lander kita menggunakan algoritma A2C! Anda sudah memiliki seluruh komponen, kini saatnya menyusunnya menjadi satu kesatuan.
Jaringan actor dan critic telah diinstansiasi sebagai actor dan critic, begitu pula optimizer-nya actor_optimizer dan critic_optimizer.
Fungsi REINFORCE select_action() dan fungsi calculate_losses() dari latihan sebelumnya juga tersedia untuk Anda gunakan di sini.
Latihan ini adalah bagian dari kursus
Deep Reinforcement Learning dengan Python
Petunjuk latihan
- Biarkan actor memilih aksi berdasarkan state.
- Hitung loss untuk actor dan critic.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
for episode in range(10):
state, info = env.reset()
done = False
episode_reward = 0
step = 0
while not done:
step += 1
if done:
break
# Select the action
____
next_state, reward, terminated, truncated, _ = env.step(action)
done = terminated or truncated
episode_reward += reward
# Calculate the losses
____, ____ = ____(
critic, action_log_prob,
reward, state, next_state, done)
actor_optimizer.zero_grad()
actor_loss.backward()
actor_optimizer.step()
critic_optimizer.zero_grad()
critic_loss.backward()
critic_optimizer.step()
state = next_state
describe_episode(episode, reward, episode_reward, step)