分享

强化学习简介

 taotao_2016 2020-07-31
强化学习简介

本文中涉及到的所有项目均提供开源代码:https://github.com/simoninithomas/Deep_reinforcement_learning_Course

恭喜! 本文中有很多信息。 在继续之前,请务必真正掌握材料。 在进入有趣的部分之前,掌握这些元素很重要:创建可玩视频游戏的AI、股票预测AI 以及策略预测AI.

在本系列文章中,我们将专注于学习当今用于解决强化学习问题的不同体系结构。 这些将包括Q学习,深度Q学习,策略梯度,Actor-Critic算法和PPO算法。

前言

在第一篇文章中,您将学习:

  • 什么是强化学习,以及奖励是中心思想
  • 强化学习的三种方法
  • 深度强化学习中的“深度”是什么意思

在深入探讨深度强化学习的Agent之前,掌握以上这些要素非常重要。

强化学习蕴含的想法是,Agent将通过与环境互动并从执行行为中获得奖励来从环境中学习。

强化学习简介

图1. Agent 以及奖励

从与环境的互动中学习这一策略源自于我们的自然经验。 假设您是客厅里的孩子。 您看到一个壁炉,然后接近它。

强化学习简介

图2. 强化学习的简单例子

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

强化学习简介

图3. 强化学习的简单例子

但是,当您进一步靠近火焰时。 哎哟! 它会灼伤您的手(负奖励-1)。 您刚刚了解,距离足够远时,火是积极的,因为它会产生温暖。 但是离它太近了,你会被烫伤。

人类就是通过互动来学习的。 强化学习只是从行动中学习的一种计算方法。


强化学习过程

强化学习简介

图4. 强化学习要素

为了让大家更加容易地了解强化学习,现在我们来举一个简单的例子:假设有一个 Agent 正在学习扮演《超级马里奥兄弟》,那么 强化学习(RL)流程可以建模为如下所示的循环:

  1. 我们的 Agent 从环境接收状态S0(在本例中,我们从超级马里奥兄弟(游戏环境)中接收游戏的第一帧画面(我们称之为状态))
  2. Agent 根据状态S0采取操作A0(我们的 Agent 将向右移动)
  3. 环境过渡到新状态S1(新框架)
  4. 环境给 Agent 一些奖励R1(未死亡:+1)

强化学习循环执行以上步骤1.到.4 并输出状态,动作和奖励的序列。

Agent 的目标是取得最大化的累积奖励。

奖励机制

为什么 Agent 的目标是最大化预期的累积奖励?

好吧,强化学习是基于奖励假设的思想。 所有目标都可以通过预期累积奖励的最大化来描述。

这就是为什么在强化学习中,要表现出最好的行为,我们需要最大化预期的累积奖励。

每个时间步t的累积奖励可以写成:

强化学习简介

公式1.

等价于:

强化学习简介

公式2.

实际上,在现实生活中我们不可能获得全程的奖励状况。 而且,距离当前状态较近的奖励还是毕竟好预测的,但是距离目前状态较远的状态则不好预测。

强化学习简介

图5. 强化学习的一个环境

假设您的 Agent 是这只小老鼠,而您的对手是那只猫。 您的目标是在被猫吃掉之前先食用最大量的奶酪。

如图所示,我们附近的奶酪比靠近猫的奶酪更有可能吃(我们离猫越近,危险就越大)。

结果,即使靠近猫(更大的奶酪),其奖励也会被打折。 我们不太确定是否可以食用。

为了对奖励进行打折,我们按以下步骤进行:

  1. 我们定义了称为gamma的折扣率。 它必须在0到1之间。
  2. gamma越大,折扣越小。 这意味着学习 Agent 更在乎长期奖励。

另一方面,gamma值越小,折扣越大。 这意味着我们的 Agent 更关心短期奖励(最近的奶酪)。

我们的折合累积预期奖励为:

强化学习简介

公式3.

为简单起见,每个奖励都将按gamma折扣至时间步长的指数。 随着时间步长的增加,猫离我们越来越近,因此未来的奖励越来越不可能发生。

序列性和连续性任务

在这种情况下,我们有一个起点和一个终点(终端状态)。 这会产生一个学习序列:状态,动作,奖励和新状态的列表。

1.序列性任务

例如,以《超级马里奥兄弟》为例,情节从新马里奥的发布开始到结束:当您被杀或达到关卡的尽头时。

强化学习简介

图6. 超级马里奥

2.连续性任务

连续的任务将会永远执行不会终止(无终端状态)。 在这种情况下, Agent 必须学习如何选择最佳操作并同时与环境交互。

例如,执行自动股票交易的 Agent 。 对于此任务,没有起点和终点状态。 Agent 一直在运行,直到我们决定停止他为止。

强化学习简介

图7. 强化学习用于股票交易

蒙特卡洛vs TD学习方法

我们有两种学习方式:

  • 在序列结束时收集奖励,然后计算最大的预期未来奖励:蒙特卡洛方法
  • 估算每一步的回报:时间差异学习

1.蒙特卡洛

当序列结束时( Agent 达到“终极状态”), Agent 查看总累积奖励以查看其表现如何。 在蒙特卡洛方法中,奖励仅在游戏结束时获得。

然后,我们以增加的知识开始新游戏。 Agent 在每次迭代时都会做出更好的决策。

强化学习简介

公式4. 蒙特卡洛公式

举个例子:

强化学习简介

图8. 老鼠吃奶酪案例

如果采用迷宫环境:

我们总是从同一起点开始。

  1. 如果猫吃了我们或者我们移动了20步以上,我们将终止该情节。
  2. 在剧集的结尾,我们列出了状态,动作,奖励和新状态。
  3. Agent 将对总奖励Gt求和(以查看其效果如何)。
  4. 然后,它将根据以上公式更新V(st)。
  5. 然后以这种新知识开始新游戏。

通过运行越来越多的强化学习序列, Agent 将学会表现的越来越好。

时间差异学习(TD):随时随地都进行学习

另一方面,时间差异学习算法不会等到情节结束才更新最大预期未来奖励估算:它将针对该体验中发生的非终端状态 S t更新其值估算 V。

此方法称为TD(0)或一个步骤TD(在任何单个步骤之后更新值函数)。

强化学习简介

公式5. TD

TD方法仅等到下一个步骤更新值估计值。 在时间t + 1,他们立即使用观察到的奖励Rt + 1和当前估计值V(St + 1)形成TD目标。

TD目标是一个估计值:实际上,您通过朝一个一步的目标进行更新来更新先前的估计值V(St)。

探索/开发的权衡

在研究解决强化学习问题的不同策略之前,我们必须涵盖另一个非常重要的主题:探索/开发的权衡。

  • 探索正在寻找有关环境的更多信息。
  • 开放是利用已知信息来最大化回报。

请记住,我们的强化学习 Agent 的目标是最大化预期的累积奖励。 但是,我们可能会陷入一个普遍的陷阱。

强化学习简介

图9. 小老鼠吃奶酪

在这个游戏中,我们的老鼠可以吃无限量的小奶酪(每个+1)。 但是在迷宫的顶部,有一大片奶酪(+1000)。

但是,如果我们仅专注于奖励,我们的 Agent 将永远无法拿到巨大的奶酪。 取而代之的是,它将仅利用最近的奖励来源,即使该来源很小(利用)。

但是,如果我们的 Agent 做一点探索,就能找到丰厚的回报。

这就是我们所谓的探索/开发的权衡。 我们必须定义一个规则来帮助处理这种折衷。 我们将在以后的文章中看到处理它的不同方法。

强化学习的三种方法

既然我们已经定义了强化学习的主要元素,那么让我们继续介绍解决强化学习问题的三种方法。 这些是基于价值,基于策略和基于模型的。

1.基于价值

在基于价值的RL中,目标是优化价值函数V(s)。

价值函数是一个告诉我们 Agent 在每种状态下可获得的最大预期未来回报的函数

每个状态的价值是 Agent 从该状态开始可以期望在将来累积的总奖励金额。

强化学习简介

公式6. 价值函数

Agent 将使用此价值函数来选择每个步骤要选择的状态。 Agent 采取具有最大价值的状态。

强化学习简介

图10. 基于价值的强化学习

在迷宫示例中,在每一步中,我们将采用最大值:-7,然后-6,然后-5(依此类推)以达到目标。

2.基于策略

在基于策略的强化学习中,我们希望不使用价值函数直接优化策略函数π(s)。

该策略定义了给定时间的 Agent 行为。

强化学习简介

公式7. 基于策略的动作选择公式

通过学习策略函数,我们可以将每个状态映射到最佳的对应动作。

我们有两种类型的策略:

  • 确定性的:处于给定状态的策略将始终返回相同的操作。
  • 随机:输出动作的分布概率。
强化学习简介

公式8. 随机策略函数

强化学习简介

图11. 随机策略示意图

正如我们在此处看到的,该策略直接指示针对每个步骤采取的最佳措施。

3.基于模型

在基于模型的强化学习中,我们对环境进行建模。 这意味着我们将创建一个环境行为模型。

问题在于每个环境将需要不同的模型表示。 这就是为什么我们在接下来的文章中不会谈论这种强化学习。

深度强化学习引言

深度强化学习引入了深度神经网络来解决强化学习问题,因此被称为“深度”。

例如,在下一篇文章中,我们将研究Q-Learning(经典强化学习)和Deep Q-Learning。

您会看到不同之处在于,在第一种方法中,我们使用传统算法来创建Q表,该表可帮助我们找到针对每种状态采取的操作。

在第二种方法中,我们将使用神经网络(根据状态q值来估算奖励)。

强化学习简介

图12. 深度强化学习

英文原文网址申明:https:///free-code-camp/an-introduction-to-reinforcement-learning-4339519de419

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多