“通过深度强化学习进行人级控制”的深度q学习(dqn)与“神经拟合Q迭代-数据有效的神经强化学习方法的初体验”的神经拟合q迭代之间有什么区别? 链接分别在下面。 https://www.nature.com/articles/nature14236.pdf http://ml.informatik.uni-freiburg.de/former/_media/publications/rieecml05.pdf
根据我的理解,除了dqn每C个步骤更新目标网络外,他们似乎在做同样的事情。
答案 0 :(得分:1)
除DQN中存在目标网络外,神经拟合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迭代使用当前策略。
实际上,神经拟合Q迭代被视为批处理RL算法,它假定没有任何可用的环境。