强化学习简介

大家好!

我们为机器学习课程开辟了新的渠道 ,因此请在不久的将来等待与此相关的文章,可以说是纪律。 好吧,当然要开研讨会。 现在让我们看看什么是强化学习。

强化学习是机器学习的一种重要形式,代理可以通过执行动作和查看结果来学习在环境中的行为。

近年来,我们在这一引人入胜的研究领域中取得了许多成功。 例如,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提问

Source: https://habr.com/ru/post/zh-CN429090/


All Articles