Помимо существования целевой сети в DQN, Neural Fitted Q Итерация использует только доступные исторические наблюдения и не проводит никаких исследований.Другими словами, нет необходимости иметь окружение, и существует просто цикл по шагам поезда:
D = historical data
for e in range(epochs):
b = get_batch from D
train_step(b)
, тогда как в DQN есть два цикла:
D = []
for e in range(max_episode):
done = False
s = env.reset()
while (!done)
a = policy.get_action(s)
s',r, done = env.step(a)
D.append(s,a,r,s')
if D.size > min_replay_mem:
b = get_batch
train_step(b)
В train_step
оба получают значение target
, а затем используют евклидову функцию потерь.Чтобы получить значение target
, DQN использует целевую сеть, хотя установленная итерация Q использует текущую политику.
На самом деле, итерация Neural Fitted Q рассматривается как алгоритм пакетного RL, который предполагает отсутствие доступной среды.