我一直在研究强化学习,并且理解了价值/策略迭代、TD(1)/TD(0)/TD(Lambda)以及Q学习的概念。我不明白的是,为什么Q学习不能用于所有情况。我们为什么需要DeepMind的DQN论文中描述的“深度”强化学习?
回答:
Q学习是一种首次记录于1989年的无模型强化学习方法。它是“无模型”的,意味着智能体不尝试对其环境进行建模。它基于Q表得出策略,Q表存储了在给定状态下采取任何行动的结果。当智能体处于状态s
时,它会参考该状态的Q表,并选择关联奖励最高的行动。为了让智能体达到最优策略,它必须在探索所有状态的所有可用行动与利用Q表指示的给定状态的最优行动之间取得平衡。如果智能体总是选择随机行动,它将永远无法达到最优策略;同样,如果智能体总是选择估计奖励最高的行动,它可能会达到次优策略,因为某些状态-行动对可能尚未被完全探索。
只要有足够的时间,Q学习最终可以找到任何有限马尔可夫决策过程(MDP)的最优策略π。以简单的井字游戏为例,总的不同游戏状态数不到6000。这听起来可能是个大数字,但考虑一下OpenAI的gym环境中的一个简单视频游戏环境“月球着陆器”。
目标是使用着陆器的推进器引导它在黄色旗帜之间着陆,确保着陆器的惯性减慢到不会导致坠毁的程度。可能的行动包括:什么都不做、使用左侧推进器、使用右侧推进器、使用主中心推进器。使用主推进器会产生一个小的负面奖励。没有坠毁地着陆会提供一个大的奖励,而在旗帜之间着陆也会提供一个大的奖励。坠毁会提供一个大的负面奖励。智能体通过以下参数的组合来体验状态:着陆器的x
和y
坐标,以及它的x
和y
速度、旋转、角速度,以及每个腿部触地的简单二进制值。考虑所有这些参数的不同组合,智能体可能遇到的所有不同可能的状态;这个MDP的状态空间与井字游戏相比是巨大的。智能体需要经历大量的回合才能可靠地驾驶着陆器。月球着陆器环境提供的状态空间对于传统的Q学习来说太大,无法在合理的时间内有效解决,但通过一些调整(以“深度”Q学习的形式),智能体确实可以在合理的时间内定期成功导航环境。
正如您链接的DeepMind论文中详细描述的,深度Q学习基于Tesauro的TD-Gammon方法,该方法从智能体与环境互动时接收的信息来近似价值函数。一个主要的区别是,不是不断更新价值函数,而是将一个回合的经验以固定集合或批次的形式处理。完成一个回合后,最旧的回合会被从集合中移除,最新的回合会被推入集合中。这有助于算法更有效地探索环境,因为它试图防止反馈循环。这种批处理的使用被称为“经验回放”。它也更有效,因为从连续状态对中学习可能会由于这两个状态的紧密相关性而导致不准确性。
简而言之:当状态-行动空间如此之大,以至于常规的Q学习需要太长时间才能收敛时,由于使用了函数近似,深度强化学习可能是一个可行的替代方案。