[Reinforcement Learning] 强化学习介绍

随着AlphaGo和AlphaZero的出现,强化学习相关算法在这几年引起了学术界和工业界的重视。最近也翻了很多强化学习的资料,有时间了还是得自己动脑筋整理一下。

强化学习定义

先借用维基百科上对强化学习的标准定义:

强化学习(Reinforcement Learning,简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。

从本质上看,强化学习是一个通用的问题解决框架,其核心思想是 Trial & Error

强化学习可以用一个闭环示意图来表示:

强化学习四元素

  • 策略(Policy):环境的感知状态到行动的映射方式。
  • 反馈(Reward):环境对智能体行动的反馈。
  • 价值函数(Value Function):评估状态的价值函数,状态的价值即从当前状态开始,期望在未来获得的奖赏。
  • 环境模型(Model):模拟环境的行为。

强化学习的特点

  • 起源于动物学习心理学的试错法(trial-and-error),因此符合行为心理学。
  • 寻求探索(exploration)和采用(exploitation)之间的权衡:强化学习一面要采用(exploitation)已经发现的有效行动,另一方面也要探索(exploration)那些没有被认可的行动,已找到更好的解决方案。
  • 考虑整个问题而不是子问题。
  • 通用AI解决方案。

强化学习 vs. 机器学习

机器学习是人工智能的一个分支,在近30多年已发展为一门多领域交叉学科,而强化学习是机器学习的一个子领域。强化学习与机器学习之间的关系可以通过下图来形式化的描述:

注:上图中Machine Learning分支应该包含进化算法(Evolutionary Algorithms)。

强化学习与其他机器学习的不同:

  • 强化学习更加专注于在线规划,需要在探索(explore 未知领域)和采用(exploit 现有知识)之间找到平衡。
  • 强化学习不需要监督者,只需要获取环境的反馈。
  • 反馈是延迟的,不是立即生成的。
  • 时间在强化学习中很重要,其数据为序列数据,并不满足独立同分布假设(i.i.d)。

强化学习 vs. 监督学习

强化学习与监督学习可以参考下图:

两者的目标都是学习一个model,而区别在于:

监督学习:

  • Open loop
  • Learning from labeled data
  • Passive data

强化学习:

  • Closed loop
  • Learning from decayed reward
  • Explore environment

强化学习 vs. 进化算法

进化算法(Evolutionary Algorithms,简称EA)是通过生物进化优胜略汰,适者生存的启发而发展的一类算法,通过种群不断地迭代达到优化的目标。进化算法属于仿生类算法的一种,仿生类算法还包括粒子群算法(PSO)、人工免疫算法以及如日中天的神经网络算法等。

进化算法最大的优点在于整个优化过程是gradients-free的,其思想可以通过下图表示:

RL和EA虽然都属于优化问题的求解框架,而且两者都需要大量的算力,但是两者有着本质上的区别。

Sutton在其强化学习介绍一书中也重点谈到了RL与EA的区别,这里简单谈几点:

  • RL通过与环境交互来进行学习,而EA通过种群迭代来进行学习;
  • RL通过最大化累计回报来解决序列问题,而EAs通过最大化适应函数(Fitness Function)来寻求单步最优;
  • RL对于state过于依赖,而EA在agent不能准确感知环境的状态类问题上也能适用。

近期随着RL的研究热潮不断推进,很多研究也尝试通过将EA和RL结合解决优化问题,比如OpenAI通过使用进化策略来优化RL,获得了突破性的进展[3]。

强化学习分类

强化学习分类比较多样:

  • 按照环境是否已知可以分为Model-based & Model-free;
  • 按照学习方式可以分为On-Policy & Off-Policy;
  • 按照学习目标可以分为Value-based & Policy-based。

下图为根据环境是否已知进行细分的示意图:

强化学习相关推荐资料

  • Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto:介绍强化学习很全面的一本书籍,相关的电子书及源码见这里
  • David Silver在UCL的强化学习视频教程:介绍强化学习的视频教程,基本与Sutton的书籍可以配套学习,Silver来自于Google Deepmind,视频和课件可以从Silver的主页获取,中文字幕版视频YouTube链接点这里
  • 强化学习在阿里的技术演进与业务创新:介绍强化学习在阿里巴巴的落地,可以拓展强化学习应用的业务思路,电子版见这里,密码:yh48。
  • Tutorial: Deep Reinforcement Learning:同样来自于Sliver的一个课件,主要针对RL与DL的结合进行介绍,电子版见这里,密码:9mrp。
  • 莫烦PYTHON强化学习视频教程:可以通过简短的视频概括地了解强化学习相关内容,适合于入门的同学,视频见这里
  • OpenAI Gym:Gym is a toolkit for developing and comparing reinforcement learning algorithms,Gym包含了很多的控制游戏(比如过山车、二级立杆、Atari游戏等),并提供了非常好的接口可以学习,链接见这里
  • Lil‘Log:介绍DL和RL的一个优质博客,RL相关包括RL介绍、Policy Gradients算法介绍及Deep RL结合Tensorflow和Gym的源码实现,主页链接见这里

Reference

[1] 维基百科-强化学习
[2] Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto, 2018
[3] Evolution Strategies as a Scalable Alternative to Reinforcement Learning

原文地址:https://www.cnblogs.com/maybe2030/p/9862353.html

时间: 2024-08-28 19:31:27

[Reinforcement Learning] 强化学习介绍的相关文章

【强化学习】1-1-0 强化学习介绍 【强化学习】1-1-0 强化学习介绍

title: [强化学习]1-1-0 强化学习介绍 categories: - Reinforcement Learning - RL-An Introduction keywords: - Reinforcement Learning - Situation - Action - Enviroment - Closed-loop - Optimal Control - Markov Decision Processes - MDPs toc: true date: 2018-08-25 22:

【推荐算法工程师技术栈系列】机器学习深度学习--强化学习

目录 强化学习基本要素 马尔科夫决策过程 策略学习(Policy Learning) 时序差分方法(TD method) Q-Learning算法 Actor-Critic方法 DQN DDPG 推荐系统强化学习建模 附录 强化学习基本要素 智能体(agent):与环境交互,负责执行动作的主体: 环境(Environment):可以分为完全可观测环境(Fully Observable Environment)和部分可观测环境(Partially Observable Environment).

复现深度强化学习论文经验之谈

近期深度强化学习领域日新月异,其中最酷的一件事情莫过于 OpenAI 和 DeepMind 训练智能体接收人类的反馈而不是传统的奖励信号.本文作者认为复现论文是提升机器学习技能的最好方式之一,所以选择了 OpenAI 论文<Deep Reinforcement Learning from Human Preferences>作为 target,虽获得最后成功,却未实现初衷.如果你也打算复现强化学习论文,那么本文经验也许是你想要的.此外,本文虽对强化学习模型的训练提供了宝贵经验,同时也映射出另外

Deep Reinforcement Learning 基础知识(DQN方面)

Introduction 深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算法.简单的说,就是和人类一样,输入感知信息比如视觉,然后通过深度神经网络,直接输出动作,中间没有hand-crafted工作.深度增强学习具备使机器人实现完全自主的学习一种甚至多种技能的潜力. 虽然将深度学习和增强学习结合的想法在几年前就有人尝试,但真正成功的开端是DeepMind在NIPS 201

深度强化学习(Deep Reinforcement Learning)入门:RL base &amp; DQN-DDPG-A3C introduction

转自https://zhuanlan.zhihu.com/p/25239682 过去的一段时间在深度强化学习领域投入了不少精力,工作中也在应用DRL解决业务问题.子曰:温故而知新,在进一步深入研究和应用DRL前,阶段性的整理下相关知识点.本文集中在DRL的model-free方法的Value-based和Policy-base方法,详细介绍下RL的基本概念和Value-based DQN,Policy-based DDPG两个主要算法,对目前state-of-art的算法(A3C)详细介绍,其他

【干货总结】| Deep Reinforcement Learning 深度强化学习

在机器学习中,我们经常会分类为有监督学习和无监督学习,但是尝尝会忽略一个重要的分支,强化学习.有监督学习和无监督学习非常好去区分,学习的目标,有无标签等都是区分标准.如果说监督学习的目标是预测,那么强化学习就是决策,它通过对周围的环境不断的更新状态,给出奖励或者惩罚的措施,来不断调整并给出新的策略.简单来说,就像小时候你在不该吃零食的时间偷吃了零食,你妈妈知道了会对你做出惩罚,那么下一次就不会犯同样的错误,如果遵守规则,那你妈妈兴许会给你一些奖励,最终的目标都是希望你在该吃饭的时候吃饭,该吃零食

深度强化学习(Deep Reinforcement Learning)的资源

来源:http://wanghaitao8118.blog.163.com/blog/static/13986977220153811210319/ Google的Deep Mind团队2013年在NIPS上发表了一篇牛x闪闪的文章,亮瞎了好多人眼睛,不幸的是我也在其中.前一段时间收集了好多关于这方面的资料,一直躺在收藏夹中,目前正在做一些相关的工作(希望有小伙伴一起交流). 一.相关文章 关于DRL,这方面的工作基本应该是随着深度学习的爆红最近才兴起的,做这方面的研究的一般都是人工智能领域的大

深度强化学习Deep Reinforcement Learning 学习过程流水账

2016/10/23 这篇文章和那篇三维重建的流水账一样,用来记录一些关键资料来源和发牢骚. Python怎么学上手快,够用? 神经网络怎么上手? 强化学习怎么上手? 目标驱动,先去看用Python写的强化学习的代码,再去看一些实现各种神经网络的Python代码.再看两种融合的代码. 熟悉工作环境和工作所用工具,比如Tensorflow之类的.

深度强化学习之:模仿学习(imitation learning)

深度强化学习之:模仿学习(imitation learning) 2017.12.10 本文所涉及到的 模仿学习,则是从给定的展示中进行学习.机器在这个过程中,也和环境进行交互,但是,并没有显示的得到 reward.在某些任务上,也很难定义 reward.如:自动驾驶,撞死一人,reward为多少,撞到一辆车,reward 为多少,撞到小动物,reward 为多少,撞到 X,reward 又是多少,诸如此类...而某些人类所定义的 reward,可能会造成不可控制的行为,如:我们想让 agent