深度 Q 学习是否适用于有限视野问题?

数据挖掘 深度学习 强化学习 q学习 dqn
2022-02-22 18:45:15

我想将深度 Q 学习应用于一个具有明确有限范围定义的问题,例如:

V(s)=E[r1+r2]

由于视野是有限的,我不使用奖励折扣。我在第 1 步和第 2 步时的行动空间确实发生了变化,因此政策显然也不是静止的。但是状态和奖励转换是确定性的:ri(si,ai)si+1(si,ai). 状态空间也很大,所以表格方法是没有问题的。所以价值函数可以定义为:

V(s)=a1a2(r1+r2)π1(a1|s1=s)π2(a2|s2(s1=s,a1))

因为唯一的随机性来自策略分布。(为了清楚起见,我放弃了奖励函数对状态和动作的依赖)。我的问题是,深度 Q 学习是否适用于这种有限视野的情况?我计划在时间步长 1 和 2 处为 Q 函数使用两个单独的 MLP。我知道贝尔曼最优性可以同时用于有限和无限情况;在有限的情况下,它甚至不需要分布的平稳性。但是我在研究期间遇到的所有关于 DQN 的示例都解决了无限视界假设的问题。所以我只是想在那里寻求一些见解。

1个回答

DQN 解决了​​最大化平均奖励的最优控制问题。虽然它通常使用折扣奖励,但折扣因子不是设置的一部分 - 相反,它是解决方案超参数的一部分,并且通常设置得相当高,例如 0.99 - 当使用函数逼近器时。

DQN 中使用的 TD 目标对您来说是个问题:

Gt:t+1=Rt+1+γmaxaQ(St+1,a)

因为它依赖于不再适用于给定值函数的贝尔曼方程。在您的情况下,似乎没有任何方法可以表示时间的 TD 目标t通过引用其他 Q 值,因为您需要减去未来的奖励,这是非常笨拙的。相反,您可以使用简单的截断蒙特卡洛返回

Gt:t+3=Rt+1+Rt+2+Rt+3

有几种不同的方法可以做到这一点,但最简单和最接近 DQN 的方法是 IMO:

  • 在体验回放表中按顺序存储轨迹
  • 对于训练小批量中的每个项目:
    • 选择一个开始状态/动作对来评估st,at从重播表中随机
    • 检查at+1at+2正在最大化您当前目标策略中的操作st+1st+2,如果不是则拒绝样品(注意您不需要检查或拒绝at,这就是你的代码学习探索性动作的方式)
    • 计算TD目标,gt=rt+1+rt+2+rt+3
    • 该示例的训练数据是st,at,gt

检查最大化动作部分可能会很慢,所以你可能更喜欢简化方法而不是使用off-policy。或者,如果epsilon足够低,您可以将三步返回直接存储在体验重播表中(等到您获得来自t+3在存储数据之前t) 并忽略一些回报来自探索性行动的事实,因此是嘈杂/有偏见的。. . 这种方法在 DQN“Rainbow”版本的 n 步返回中使用,并且在 Atari 问题的实践中运行良好,尽管理论基础不稳定。


注意我使用的是约定st,at,rt+1,st+1代表轨迹中的一个步骤,而在您似乎正在使用的问题中st,at,rt,st+1具有不同的奖励指数。如果你想坚持你的约定,你将需要转换回来。