【强化学习】关于强化学习需要了解的5件事

原题:5 Things You Need to Know about Reinforcement Learning
原文:HTML
作者:Shweta Bhatt, Youplus


强化学习是当前最热门的研究主题之一,其普及程度正日益增长。让我们看一下有关RL的5件事。

1. What is reinforcement learning? How does it relate with other ML techniques?

强化学习(Reinforcement Learning,RL)是一种机器学习技术,它使代理(agent)能够在交互环境(environment)中通过反复试验使用来自其自身行为(actions)和经验(experiences)的反馈来学习

虽然监督学习和强化学习都使用输入和输出之间的映射,但与监督学习不同,监督学习向代理提供的反馈是执行任务的正确动作集,强化学习使用奖励(rewards)和惩罚(punishment)作为积极和消极行为的信号

与无监督学习相比,强化学习在目标方面有所不同。无监督学习的目标是发现数据点之间的相似性和差异性,而强化学习的目标是找到一个合适的行为模型,使代理的总累积奖励最大化。下图代表了强化学习模型的基本思想和要素。

在这里插入图片描述

2. How to formulate a basic reinforcement Learning problem?

描述RL问题要素的一些关键术语是:

  • Environment: Physical world in which the agent operates
  • State: Current situation of the agent
  • Reward: Feedback from the environment
  • Policy: Method to map agent’s state to actions
  • Value: Future reward that an agent would receive by taking an action in a particular state

强化学习问题可以通过游戏得到最好的解释。让我们以PacMan游戏为例,代理(PacMan)的目标是在躲避途中鬼魂的同时吃掉网格中的食物。网格世界是代理的交互环境。PacMan吃了食物会得到奖励,如果被鬼魂杀死会受到惩罚(输掉游戏)。这些状态是PacMan在网格世界中的位置,总的累积奖励是PacMan赢得了比赛。

为了建立一个最优策略,代理人面临着在探索新状态的同时最大化其回报的困境。这称为探索与开发的权衡(Exploration vs Exploitation trade-off)

马 尔 可 夫 决 策 过 程 ( M a r k o v D e c i s i o n P r o c e s s e s , M D P s ) 马尔可夫决策过程(Markov Decision Processes,MDPs) MarkovDecisionProcessesMDPs是描述强化学习环境的数学框架,几乎所有的强化学习问题都可以用马尔可夫决策过程来形式化。一个MDP由一组有限的环境状态 S S S、每个状态下的一组可能的行为 A ( s ) A(s) A(s)、一个实值奖励函数 R ( s ) R(s) R(s) 和一个转移模型 P ( s ’ , s ∣ a ) P(s’, s | a) P(s,sa) 组成。然而,现实世界的环境更有可能缺乏任何环境动力学的先验知识。无模型RL方法(Model-free RL)在这种情况下就派上用场了。

Q − l e a r n i n g Q-learning Qlearning 是一种常用的无模型方法,可用于构建一个自玩的PacMan代理。它围绕着更新 Q Q Q 值的概念, Q Q Q 值表示在状态 s s s 中进行动作 a 4 a4 a4 的值。值更新规则是 Q − l e a r n i n g Q-learning Qlearning 算法的核心。

在这里插入图片描述
在这里插入图片描述
Here’s a video of a Deep reinforcement learning PacMan agent

3. What are some most used Reinforcement Learning algorithms?

Q − l e a r n i n g Q-learning Qlearning S A R S A ( S t a t e − A c t i o n − R e w a r d − S t a t e − A c t i o n ) SARSA(State-Action-Reward-State-Action) SARSAStateActionRewardStateAction是两种常用的无模型RL算法。他们的探索策略不同,而他们的开发策略是相似的。Q-learning是一种脱离策略的方法,在这种方法中,代理基于从另一个策略派生的动作a*来学习值,而SARSA是一种基于策略的方法,在这种方法中,它基于从其当前策略派生的当前动作来学习值。这两种方法实现起来很简单,但缺乏通用性,因为它们不能估计未知状态的值

这可以通过更先进的算法来克服,例如使用神经网络来估计Q值的 D e e p   Q − N e t w o r k s , D Q N s Deep\ Q-Networks, DQNs Deep QNetworks,DQNs。但是 DQNs 只能处理离散的、低维的动作空间。 深 度 确 定 性 策 略 梯 度 ( D e e p   D e t e r m i n i s t i c   P o l i c y   G r a d i e n t , D D P G ) 深度确定性策略梯度(Deep\ Deterministic\ Policy\ Gradient,DDPG) Deep Deterministic Policy GradientDDPG是一种无模型、脱离策略、行动者-批评家( actor-critic)算法,它通过在高维连续动作空间中学习策略来解决这个问题
在这里插入图片描述

actor-critic architecture for Reinforcement Learning

4. What are the practical applications of Reinforcement Learning?

由于RL需要大量数据,因此它最适用于容易获得模拟数据的领域,例如游戏玩法,机器人技术。

  • RL在构建用于玩电脑游戏的AI方面应用相当广泛。AlphaGo Zero 是中国古代围棋游戏中第一个击败世界冠军的计算机程序。其他包括雅达利游戏、双陆棋等。
  • 在机器人学和工业自动化中,RL用于使机器人能够为自己创建一个有效的自适应控制系统,该系统从自己的经验和行为中学习。DeepMind在异步策略更新的机器人操作深度强化学习(Deep Reinforcement Learning for Robotic Manipulation with Asynchronous Policy updates)方面的工作就是一个很好的例子。
  • 观看这个有趣的演示视频
  • RL的其他应用包括文本摘要引擎、可以从用户交互中学习并随时间改进的对话代理(文本、语音)、学习医疗保健中的最佳治疗策略以及基于远程学习的在线股票交易代理。

5. How can I get started with Reinforcement Learning?

为了了解RL的基本概念:

  • Reinforcement Learning-An Introduction,一本由强化学习之父 Richard Sutton 和他的博士生导师 Andrew Barto 托所著的书。电子版获取:HTML
  • David Silver 的 教学材料,包括视频讲座,是一门关于远程学习的很好的入门课程。
  • Pieter Abbeel 和 John Schulman(Open AI/ Berkeley AI Research Lab)的另一篇关于RL的技术教程

要开始构建和测试RL代理:

  • Andrej Karpathy 的这篇博客介绍了如何用原始像素的策略梯度来训练神经网络 ATARI Pong 代理,130行Python代码中启动并运行第一个深度强化学习代理。
  • DeepMind Lab是一个类似于3D游戏的开源平台,旨在为基于代理的AI研究提供丰富的模拟环境。
  • Project Malmo 是另一个支持AI基础研究的AI实验平台。
  • OpenAI Gym 是用于构建和比较强化学习算法的工具包。