Temel DQN'i eğitme
Lunar Lander ortamında Temel bir DQN algoritmasını eğitme zamanı. Unutma, bu hâlâ yalın bir algoritma, performans harika olmayacak; ama bunu daha sonra geliştireceksin.
Bunu, Lunar Lander'ını Ay'a indirmeye giden yoldaki ilk adım olarak düşün!
Daha önce tanımladığın q_network örneği kullanımına hazır.
Bu kurstaki egzersizler boyunca, her bölümün sonunda ajanın nasıl performans gösterdiğine dair bazı bilgileri yazdırmak için Python ortamında bir de describe_episode() fonksiyonu bulunur.
Bu egzersiz
Python ile Deep Reinforcement Learning
kursunun bir parçasıdırEgzersiz talimatları
- İç döngüde ajanın eylemini seç.
- Kaybı hesapla.
- Ağ ağırlıklarını güncellemek için bir gradyan inişi adımı uygula.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)