大家好!
我们为
机器学习课程开辟了新的
渠道 ,因此请在不久的将来等待与此相关的文章,可以说是纪律。 好吧,当然要开研讨会。 现在让我们看看什么是强化学习。
强化学习是机器学习的一种重要形式,代理可以通过执行动作和查看结果来学习在环境中的行为。
近年来,我们在这一引人入胜的研究领域中取得了许多成功。 例如,2014年的
DeepMind和Deep Q Learning Architecture ,2016年的
AlphaGo击败围棋冠军, 2017年的
OpenAI和PPO等等。
DeepMind DQN在本系列文章中,我们将重点研究当今用于解决强化学习问题的不同体系结构。 这些包括Q学习,深度Q学习,策略梯度,Actor评论家和PPO。
在本文中,您将学习:
- 什么是强化学习以及为什么奖励是中心思想
- 三种强化学习方法
- “深度”在深度强化学习中意味着什么
在投入使用强化学习代理之前,掌握这些方面非常重要。
强化训练的思想是,代理人将通过与环境互动并从执行动作中获得奖励而从环境中学习。

通过与环境互动来学习是我们自然的经验。 假设您是客厅里的孩子。 您会看到壁炉并转到壁炉。

附近温暖,你感觉很好(积极奖励+1)。 您了解火灾是一件积极的事情。

但是,然后您尝试着火。 ! 他烧了手(负奖励-1)。 您刚刚意识到,距离足够远时,火是积极的,因为它会产生热量。 但是,如果您接近他,您会被烫伤。
这就是人们通过互动学习的方式。 强化学习只是通过行动学习的一种计算方法。
强化学习过程

举例来说,假设有一位经纪人正在学习玩《超级马里奥兄弟》。 强化学习(RL)过程可以建模为一个循环,其工作方式如下:
- 代理从环境接收状态S0(在我们的示例中,我们从超级马里奥兄弟(环境)获得游戏的第一帧(状态))
- 基于此状态S0,座席执行操作A0(座席将向右移动)
- 环境移至新状态S1(新框架)
- 环境给R1代理人一些奖励(未死:+1)
此RL周期产生一系列
状态,动作和奖励。代理商的目标是最大化预期的累积奖励。
中心思想奖励假设为什么代理商的目标是最大化预期的累积奖励? 好吧,强化学习是基于奖励假设的思想。 可以通过最大化预期的累积奖励来描述所有目标。
因此,在强化训练中,为了实现最佳行为,我们需要最大化预期的累积奖励。每个时间步t的累积奖励可以写成:

这等效于:

但是,实际上,我们不能简单地增加这种奖励。 较早到达(在游戏开始时)的奖励,因为它们比将来的奖励更可预测。

假设您的代理人是一只小老鼠,而您的对手是一只猫。 您的目标是在猫吃掉您之前最多吃奶酪。 正如我们在图中所看到的,鼠标比猫附近的奶酪更有可能在自己旁边吃奶酪(距离我们越近,它就越危险)。
结果,即使更大(更多奶酪),猫的奖励也会减少。 我们不确定是否可以吃它。 为了减少报酬,我们执行以下操作:
- 我们确定称为伽玛的折现率。 它应该在0到1之间。
- 伽玛值越大,折扣越低。 这意味着学习代理人更关心长期奖励。
- 另一方面,伽玛值越小,折扣越大。 这意味着优先考虑短期奖励(最近的奶酪)。
考虑到折现,累计预期对价如下:

粗略地说,将使用时间指示器的伽马来减少每种奖励。 随着时间步长的增加,猫离我们越来越近,因此未来获得奖励的可能性越来越小。
偶尔或连续的任务任务是强化学习问题的一个实例。 我们可以有两种任务:情景任务和连续任务。
情景任务在这种情况下,我们有一个起点和一个终点
(终端状态)。 这会创建一个情节 :状态,动作,奖励和新状态的列表。
以《超级马里奥兄弟》为例:该情节从新马里奥的发布开始,到您被杀死或达到关卡结束时结束。
新剧集的开始连续任务这些是永远进行的任务(没有终端状态) 。 在这种情况下,代理必须学会选择最佳操作,并同时与环境互动。
例如,执行自动股票交易的代理。 此任务没有起点和终点状态。
代理将继续工作,直到我们决定停止他为止。
蒙特卡洛与时差法有两种学习方法:
- 在剧集结束时收集奖励,然后计算最大预期未来奖励-蒙特卡洛方法
- 评估奖励的每一步-暂时的差异
蒙特卡洛当情节结束时(特工达到“终极状态”),特工查看累积的总奖励以查看他的表现如何。 在蒙特卡洛方法中,仅在游戏结束时才收到奖励。
然后,我们用增强的知识开始新的游戏。
代理在每次迭代时都会做出最佳决策。
这是一个例子:

如果我们以迷宫为环境:
- 我们总是从相同的起点开始。
- 如果猫吃了我们,或者我们移动了20步,我们将停止该情节。
- 在剧集的结尾,我们有状态,动作,奖励和新状态的列表。
- 代理人汇总了Gt的总奖励(以查看他的表现如何)。
- 然后根据上述公式更新V(st)。
- 然后,新游戏将以新知识开始。
通过运行越来越多的剧集,
特工将学会玩得越来越
好。时差:每步学习时间差异学习(TD)方法不会等待情节结束来更新可能的最高奖励。 他将根据获得的经验更新V。
此方法称为TD(0)或
逐步TD(在任何单个步骤后更新实用程序功能)。
TD方法仅期望下一个
步骤更新值。 在时间t +1处
,使用奖励Rt +1和当前额定值V(St +1)形成TD目标。TD目标是对期望值的估计:实际上,您可以在一步之内将先前的V(St)额定值更新为目标。
损害探索/运营在考虑解决强化训练问题的各种策略之前,我们必须考虑另一个非常重要的主题:勘探与开发之间的权衡。
- 情报可以找到有关环境的更多信息。
- 剥削利用已知信息来最大化回报。
请记住,我们的RL代理商的目标是最大化预期的累积奖励。 但是,我们可能会陷入一个普遍的陷阱。

在这个游戏中,我们的鼠标可以装无限数量的小块奶酪(每个+1)。 但是在迷宫的顶部有一块巨大的奶酪(+1000)。 但是,如果我们只专注于奖励,那么我们的代理商将永远无法达成巨大的任务。 相反,他将仅使用最接近的奖励来源,即使该来源很小(开发)。 但是,如果我们的经纪人稍加调情,他将能够找到丰厚的回报。
这就是我们所谓的勘探与开发之间的折衷。 我们必须定义一条规则,以帮助应对这种妥协。 在以后的文章中,您将学习执行此操作的不同方法。
三种强化学习方法现在,我们已经确定了强化学习的主要元素,让我们继续三种解决强化学习的方法:基于成本,基于策略和基于模型。
根据费用在基于成本的RL中,目标是优化效用函数V(s)。
效用函数是一种功能,它可以告知我们代理在每种状态下将获得的最大预期奖励。
每个状态的值是代理从该状态开始可以预期在将来累积的奖励总额。

代理将使用此实用程序功能来决定在每个步骤中选择哪个状态。 代理选择具有最高值的状态。

在迷宫式示例中,在每个步骤中,我们将采用最高值:-7,然后是-6,然后是-5(以此类推)以实现目标。
基于政策在基于策略的RL中,我们希望不使用效用函数直接优化π(s)策略函数。 策略是确定代理在给定时间点的行为的因素。
行动=政策(状态)我们研究政治的功能。 这使我们能够将每个状态与最适当的操作相关联。
有两种类型的策略:
- 确定性的:给定状态下的政治总是会返回相同的动作。
- 随机:显示按动作分布的概率。


如您所见,该策略直接指示每个步骤的最佳操作。
基于模型在基于模型的RL中,我们对环境进行建模。 这意味着我们正在创建一个环境行为模型。 问题在于每种环境都需要模型的不同视图。 这就是为什么我们在以下文章中不会过多地关注此类培训。
引入深度强化学习深度强化学习引入了深度神经网络来解决强化学习的问题,因此被称为“深度”。
例如,在下一篇文章中,我们将研究Q学习(经典强化学习)和深度Q学习。
您将看到以下事实的差异,在第一种方法中,我们使用传统算法创建Q表,这有助于我们找到针对每种状态采取的操作。
在第二种方法中,我们将使用神经网络(以近似基于状态的奖励:q值)。
Udacity启发的Q设计图
仅此而已。 与往常一样,我们在这里等待您的评论或问题,或者您可以在
开放式网络课程中向课程老师
Arthur Kadurin提问 。