【问题标题】:Difference between deep q learning (dqn) and neural fitted q-iteration深度 q 学习 (dqn) 和神经拟合 q 迭代之间的区别
【发布时间】:2019-04-25 12:28:50
【问题描述】:

“通过深度强化学习进行人类水平控制”的深度 q 学习 (dqn) 与“神经拟合 Q 迭代 - 数据高效神经强化学习方法的首次体验”中的神经拟合 q 迭代有什么区别? 链接分别如下。 https://www.nature.com/articles/nature14236.pdf http://ml.informatik.uni-freiburg.de/former/_media/publications/rieecml05.pdf

据我了解,他们似乎在做同样的事情,除了 dqn 每 C 步更新目标网络。

【问题讨论】:

    标签: reinforcement-learning


    【解决方案1】:

    除了 DQN 中存在目标网络之外,Neural Fitted Q Iteration 仅使用可用的历史观察,不进行任何探索。换句话说,不需要有一个环境,只需要循环训练步骤:

    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 算法,它假设没有任何可用的环境。

    【讨论】:

    • 感谢您的回答。除了进行探索之外,拥有一个环境有什么不同?
    • 一旦你有了一个环境,你就可以easily测试训练好的模型的性能。如果您不访问 env,则需要遵循 off-policy 策略评估,例如重要性抽样,在长视域问题中难以衡量。
    • 例如看这篇论文:papers.nips.cc/paper/…
    • 我正在尝试为经典控制任务(如保持室温、电池充电等)实现深度强化学习算法。您会建议哪种算法,DQN、NFQ、PPO、DDPG 等?经典控制问题本身是有还是没有环境?
    • 这是一个非常广泛的问题,我将为每个问题创建另一个问题。您提到的每种算法都有一些优点和一些缺点,尽管如果您有一个受约束的问题,它们都不起作用。您可能需要考虑 jmlr.org/papers/volume3/perkins02a/perkins02a.pdfarxiv.org/abs/1705.10528 将约束合并到您的 RL 模型中。
    猜你喜欢
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 2021-08-18
    • 1970-01-01
    • 2017-12-22
    • 2013-08-15
    相关资源
    最近更新 更多