深度学习(dqn)与“人体控制通过深度强化学习”和“神经拟合Q迭代 - 第一次经验与数据有效神经强化学习方法”的神经拟合q迭代有什么区别?链接分别如下。 https://www.nature.com/articles/nature14236.pdf http://ml.informatik.uni-freiburg.de/former/_media/publications/rieecml05.pdf
根据我的理解,他们似乎做了同样的事情,除了dqn每C步更新目标网络。
除了在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算法,假设没有任何可用的环境。