Cartpole 可以很好地使用单步 TD 方法(例如 Q 学习)和简单的神经网络。配置好,一个简单的 DQN 模型应该会在几分钟内解决。您还可以放弃神经网络并使用离散状态或平铺编码等。
你不能做的是将神经网络估计器插入基本的 Q 学习而不做其他调整。这是因为 TD 学习中的引导过程将创建一个失控的反馈,该反馈由初始化的 NN 中的随机和不正确的回报估计驱动。你必须使用像 DQN 这样的东西才能让它工作。这与蒙特卡洛方法不同,在蒙特卡洛方法中,您通常只需插入 NN 代替 Q 表。
DQN的基础是:
使用经验回放。店铺(S,A,R,S′)每个步骤的值,并且在训练 NN 时,从该表中抽取一个小的随机批次(例如,可能 16 个样本),重新估计它们的 Q 值以计算 TD 目标,例如 R+γmaxa′Q(S′,a′)并使用它来创建一个小批量来训练 NN
使用“延迟”目标网络来估计 TD 目标。这可以只是你的学习网络的快照,每 N 步拍摄一次,其中 N 通常是 100 到 100000 之间的任何值。
配置良好意味着什么的进一步细节因问题而异。使用 DQN,您将需要使用经验历史大小的超参数、保持网络冻结副本的时间(用于引导估计)、经验表样本的批量大小、探索量。
但在 CartPole 中,将有广泛的可接受的超参数值。所以我怀疑你刚刚插入了一个 NN 来代替 Q 表,并且想知道为什么它不起作用。
我认为是这样的,因为在 Cartpole 中,对于每个时间戳,我们都会得到 1 的奖励,它几乎没有关于天气的即时信息,或者动作好坏。
是的,这是使某些学习目标在顺序决策控制系统中变得更加困难的部分原因。但是,您的蒙特卡洛方法也是如此,通常这与RL中的信用分配问题有关。