繁体   English   中英

什么时候需要深层强化学习而不是q学习?

[英]Why and when is deep reinforcement learning needed instead of q-learning?

我一直在研究强化学习,并理解价值/政策迭代的概念,TD(1)/ TD(0)/ TD(Lambda)和Q学习。 我不明白为什么Q学习不能用于一切。 为什么我们需要DeepMind的DQN论文中描述的“深度”强化学习?

Q-learning是一种无模型强化学习方法,最初是在1989年记录的。它是“无模型”的,因为代理不会尝试对其环境进行建模。 它到达基于Q表的策略,该表存储从给定状态采取任何动作的结果。 当代理处于状态s ,它引用状态s Q表并选择具有最高关联奖励的动作。 为了使代理达到最优策略,它必须平衡对所有状态的所有可用操作的探索,并利用Q表所说的对于给定状态的最佳动作。 如果代理总是选择随机动作,它将永远不会达到最优策略; 同样,如果代理总是选择具有最高估计奖励的动作,则它可能达到次优策略,因为某些状态 - 动作对可能尚未被完全探索。

给定足够的时间,Q学习最终可以为任何有限马尔可夫决策过程(MDP)找到最优策略π。 在简单的Tic-Tac-Toe游戏的例子中,完全不同的游戏状态的数量小于6,000。 这可能听起来像一个很高的数字,但考虑一个简单的视频游戏环境在OpenAI的健身房环境被称为“月球着陆器”。

目标是使用着陆器的推进器将其导航到黄色标志之间,确保着陆器的惯性足够慢,以免导致其崩溃。 可能的行动是:什么都不做,使用左推进器,使用右推进器,使用主中心推进器。 使用主推进器会产生一个小的负面奖励。 没有撞击的着陆提供了很大的奖励,并且在旗帜之间着陆也提供了很大的奖励。 崩溃提供了巨大的负面回报。 代理经历状态作为以下参数的组合:着陆器的xy坐标,以及其xy速度,旋转,角速度和每条腿的简单二进制值,以确定它是否接触地面。 考虑代理可能从这些参数的不同组合中遇到的所有不同可能状态; 与tic-tac-toe相比,这个MDP的状态空间是巨大的。 代理人需要花费过多的时间来体验足够的剧集才能可靠地驾驶着陆器。 Lunar Lander环境提供的状态空间太大,传统的Q-learning无法在合理的时间内有效解决,但通过一些调整(以“深度”Q-learning的形式),代理确实可能在合理的时间内定期成功导航环境。

正如您链接到的DeepMind论文中所详述的,深度Q学习基于Tesauro的TD-Gammon方法,该方法近似于代理与环境交互时收到的信息的值函数。 一个主要的区别是,不是不断更新价值函数,而是以固定集或批量处理剧集的经验。 剧集完成后,将从集合中删除最早的剧集,并将最近的剧集推入集合中。 这有助于算法更有效地探索环境,因为它试图阻止反馈循环。 批处理的这种使用被称为“经验重放”。它也更有效,因为从成对的连续状态中学习可能由于这两个状态的密切关系而导致不准确。

TL; DR:当状态 - 动作空间如此之大以至于常规Q学习需要太长时间才能收敛时,深度强化学习可能是一种可行的替代方法,因为它使用函数逼近。

Q-learning使用Q表来存储Q值,并使用它们通过使用相应的Q值来选择当前状态的动作。

但这并不总是可行的。 当我们有大的状态空间时,我们的Q表变得非常大,每个估计的Q值需要很长时间才能更新,并且大多数Q-value可能只会更新几次,因此它们是不准确的。

为了解决这些问题,我们使用函数逼近器来学习一般的Q值。 神经网络擅长函数逼近,因此,提出DQN来获得状态表示并估计Q值。 现在网络学会使用状态的低级特征来预测Q值,因此有助于推广。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM