强化学习入门之基本介绍(一)

1. 什么是RL

强化学习( RL )是机器学习的一个分支,agent通过与环境(env)交互来进行学习。这是一个以目标为导向的学习过程,agent不被告知要采取什么行为(action);相反,agent从其行为(action)的结果中学习。它正以各种各样的算法(DQN, A3C, DDPG, TRPO等)迅速发展,是目前人工智能( AI )最活跃的研究领域之一。

agent可以探索(exploration)可能提供良好回报(reward)的不同行为(action),或者可以利用(exploitation)导致良好回报(reward)的先前行为(action)。如果agent探索不同的行为(action),则很有可能agent将获得较差的回报,因为所有的行为并不都不是最佳的。如果agent仅利用(exploitation)已知的最佳行为(action),那么错过最佳行为(action)的可能性也很大,这也许会提供更好的回报(reward)。鱼和熊掌不可兼得,探索和利用之间也总是有取舍的。我们不能同时进行探索和利用。我们将在后续部分详细讨探索和利困境(exploration-exploitation dilemma)。

2. RL算法

一个典型RL算法的步骤如下:

  1. 首先,agent通过执行行为(action)与环境(env)进行交互;

  2. agent执行行为(action)并从一种状态(state)移动到另一种状态(state);

  3. 然后agent将根据其执行的行为(action)获得回报(reward);

  4. 根据回报(reward),agent将知道行为(action)是好的还是坏的;

  5. 如果action是好的,也就是说,如果agent得到了积极的reward,那么agent将更喜欢执行该action,否则agent将尝试执行导致积极reward的其他action。所以这基本上是一个反复试验学习过程.

3. RL与ML的区别

曾经有人将人工智能划分为三个阶段,第一个是阶段运算智能,在1997年,就有 AI 战胜了象棋大师,当时 IBM 研发的“深蓝”,击败了俄罗斯国际象棋特级大师 Garry Kasparov。第二阶段是感知智能,顾名思义,也就是处理听、看、说等感知任务,也就是当下比较热的深度学习了,图像分类,目标检测,语音识别和自然语言处理等等,我们只需要给网络模型足够的数据集,让它不断的训练,就可以生成一个很好的模型,就可以解决我们的感知问题,但是它还不能为我们做出决策,换言之,它处理的都是模型已知的数据,给它输入一个未知的数据可能会预测出一个奇怪的答案,它未必满足我们的实际需求,这也是它的局限性所在。于是我们引出了第三个阶段决策智能,我们希望我们训练出来的模型可以像人类一样不断地学习,相比于感知智能,我们需要的是一个动态的过程,例如agent在玩迷宫游戏时,首先通过动作a与周围环境进行交互,在动作a和环境的作用下,agent会产生新的状态,同时环境会给出一个立即回报(有时回报可能需要很长时间)。如此循环下去,agent与环境进行不断地交互从而产生很多数据。强化学习算法利用产生的数据修改自身的行为策略,再与环境交互, 产生新的数据,并利用新的数据进一步改善自身的行为, 经过数次迭代学习后,agent能最终地学到完成相应任务的最优动作(最优策略) 。

4. RL的组成

agent(智能体)

agent是作出智能决策的主体,也是RL的学习者。agent通过与环境交互来采取行为,并接收奖励(或称回报)基于他们的行为,例如,超级马里奥在视频游戏中导航。

Policy function(策略函数)

策略定义智能体在环境中的行为。智能体决定执行哪些操作的方式取决于策略。说你想从家里到办公室,到你的办公室有不同的路,有些路是捷径,有些路很长。这些路线被称为策略,因为它们代表了我们为实现目标而选择的行动方式。策略通常用符号π表示。策略可以是查找表或复杂搜索过程的形式.

Value function(值函数)

值函数表示智能体处于特定状态有多好。它取决于策略,通常用v ( s )表示。它等于智能体从初始状态开始收到的预期奖励总额。可以有几个值函数;最优值函数是与其他值函数相比,在所有状态下具有最高值的函数。同样,最优策略是具有最优价值函数的策略。

Model(模型)

模型是智能体对环境的表示。学习可以分为两种类型——基于模型的学习(model-based)和无模型(model-free)的学习。在基于模型的学习中,智能体(agent)利用以前学习的信息来完成任务,而在无模型的学习中,agent仅仅依靠反复尝试的经验来执行正确的操作。说你想更快地从家里到办公室。在基于模型的学习中,你只需使用以前学到的经验来更快地到达办公室,而在无模型的学习中,你将不会使用以前的经验,而是尝试所有不同的路线并选择更快的路线。

5. Agent environment interface(智能体和环境交互)

智能体是在时间t时执行动作(action)a_t以从一个状态S_t移动到另一个状态S_t + 1。基于行为,智能体从环境中获得数字奖励R_t。归根到底,RL就是要找到能增加数值回报的最优行为(action):

让我们用迷宫游戏来理解RL的概念:

强化学习入门之基本介绍(一)_第1张图片
迷宫的目的是在不被障碍物困住的情况下到达目的地。

工作流程如下:

1.智能体是穿越迷宫的人,这是我们的软件程序RL算法;
2. 环境就是迷宫;
3. 状态是代理当前所在迷宫中的位置;
4. 智能体通过从一种状态移动到另一种状态来执行操作;
5. 当智能体的行为没有被任何障碍物卡住时,智能体会获得正面奖励;当智能体的行为被障碍物卡住而无法到达目的地时,智能体会获得负面奖励;
6. 目的是要通过迷宫到达目的地。

6. RL环境类型

智能体交互的所有内容都称为环境。环境就是外部世界。它包括智能体之外的一切。有不同类型的环境,将在下一节中介绍。
确定性环境(Deterministic environment)

当我们知道基于当前状态的结果时,环境被称为确定性的。例如,在象棋游戏中,我们知道移动任何玩家的确切结果。

随机环境(Stochastic environment)

当我们无法根据当前状态来确定结果时,环境就被称为是随机的。会有更大程度的不确定性。例如,我们永远不知道掷骰子时会出现什么数字。

完全可观测环境(Fully observable environment)

当智能体可以随时确定系统的状态时,它被称为完全可观察的。例如,在象棋游戏中,系统的状态,也就是所有棋手在棋盘上的位置,始终是可用的,所以棋手可以做出最佳的决定。

部分可观测环境(Partially observable environment)

当代理不能始终确定系统的状态时,它被称为部分可观察的。例如,在扑克游戏中,我们不知道对手有哪些牌。

离散环境(Discrete environment)

当只有有限的动作状态可用于从一种状态移动到另一种状态时,它被称为离散环境。例如,在象棋游戏中,我们只有一组有限的动作。

连续环境(Continuous environment)

当有无限状态的动作可以从一种状态移动到另一种状态时,它被称为连续环境。例如,我们有多条路线可供从源头到目的地旅行。

偶发和非偶发环境(Episodic and non-episodic environment)

偶发环境也称为非顺序环境。在偶发环境中,智能体的当前行为不会影响未来的行为,而在非偶发环境中,智能体的当前行为会影响未来的行为,也称为顺序环境。也就是说,智能体在情景环境中执行独立的任务,而在非偶发环境中,所有代理人的行为都是相互关联的。

单智能体和多智能体环境(Single and multi-agent environment)

顾名思义,单智能体环境只有一个智能体,多智能体环境有多个智能体。在执行复杂任务时广泛使用多智能体环境。将有不同的智能体在完全不同的环境中工作,不同环境中的智能体将彼此通信。多智能体环境将大部分是随机的,因为它具有更大程度的不确定性。

7. RL平台

RL平台用于在环境中模拟、构建、渲染和试验我们的RL算法。有许多不同的RL平台可供使用,如下节所述。
OpenAI Gym and Universe

OpenAI Gym是一个用于构建、评估和比较RL算法的工具包。它与在任何框架中编写的算法兼容,如TensorFlow、Theano、Keras等。它简单易懂。它没有假设我们的智能体(agent)的结构,并提供了所有RL任务的接口。

OpenAI Universe是OpenAI Gym的延伸。它提供了在各种简单到实时的复杂环境中训练和评估智能体的能力。它可以无限制地访问许多游戏环境。使用Universe,任何程序都可以变成Gym环境,而无需访问程序内部、源代码或APIs,因为Universe通过在虚拟网络计算远程桌面后面自动启动程序来工作。

DeepMind Lab

DeepMind Lab是基于AI智能体的研究的另一个令人惊叹的平台。它提供了一个丰富的模拟环境,作为运行几种RL算法的实验室。它是高度可定制和可扩展的。视觉效果非常丰富,科幻风格。

8. RL应用

随着更大的进 步和研究,RL在从玩电脑游戏到汽车自动化等几个领域迅速发展。以下部分列出了一些RL应用程序。

教育

许多在线教育平台正在使用RL为每个学生提供个性化内容。一些学生可以从视频内容中学到更多,也可以从项目中学到更多,还可以从笔记中学到更多。RL用于根据每个学生的学习风格调整个性化的教育内容,并且可以根据用户的行为动态地改变。

医药卫生

RL在医药卫生领域有着无穷的应用;其中包括个性化医疗、基于医学图像的诊断、在临床决策中获得治疗策略、医学图像分割等。

制造业

在制造业中,智能机器人被用来将物体放置在正确的位置。如果它未能成功地将物体放置在正确的位置,它会记住物体,并训练自己以更高的精度完成这项工作。智能代理的使用将降低人工成本并显著提高性能。

存货管理

RL在库存管理中得到了广泛应用重要的商业活动。其中一些活动包括供应链管理、需求预测和处理多个仓库操作(例如将产品放置在仓库中以有效地管理空间)。Google DeepMind的研究人员已经开发了RL算法,用于有效降低他们自己数据中心的能耗。

金融

RL广泛应用于金融投资组合管理,这是一个不断将资金重新分配到不同金融产品的过程,也是商业交易市场的预测和交易。摩根大通已成功利用RL为大宗订单提供更好的交易执行结果。

自然语言处理与计算机视觉

随着深度学习和RL的统一,深度强化学习( DRL )在自然语言处理( NLP )和计算机视觉( CV )领域有了很大发展。DRL已经被用于文本摘要、信息提取、机器翻译和图像识别,提供了比当前系统更高的准确性。

9. 总结

在本文中,我们学习了RL的基础知识和一些关键概念。我们学习了RL的不同组成部分和不同类型的RL环境。我们还介绍了各种可用的RL平台,以及RL在各个领域的应用。

在下文中,我们将从OpenAI和TensorFlow开始,我们将学习OpenAI和TensorFlow的基础知识和安装方法,然后模拟环境并教智能体在环境中学习。

10. Questions

问题如下,你掌握了吗?欢迎留言。

  1. What is reinforcement learning?

  2. How does RL differ from other ML paradigms?

  3. What are agents and how do agents learn?

  4. What is the difference between a policy function and a value function?

  5. What is the difference between model-based and model-free learning?

  6. What are all the different types of environments in RL?

  7. How does OpenAI Universe differ from other RL platforms?

  8. What are some of the applications of RL?

你可能感兴趣的:(Deep,learning,强化学习,Reinforcement,Learning)