第一节 强化学习的基本概念

1. 背景介绍

强化学习(Reinforce Learning)又称增强学习,再励学习。是一个多学科交叉的概念。 它也是机器学习的一个重要分支,主要用来解决连续决策的问题。强化学习可以在复杂的,不确定的环境中学习如何实现我们设定的目标。强化学习的应用场景非常广泛,几乎包括了所有需要做一系列决策的问题,比如控制机器人的电机让它执行特定任务,给商品定价或者库存管理、玩视频游戏或棋牌游戏等。也可以应用到有序列的输出的问题,因为它可以针对一系列变化的环境状态,输出一系列对应得动作。强化学习不像无监督学习那样完全没有学习目标,也不像监督学习那样有非常明确的绝对正确的目标(Label),强化学习的目标一般是变化的,不明确的,甚至可能不存在绝对正确的标签。
强化学习已经有几十年的历史,但是直到最近几年深度学习技术的突破,强化学习才有了比较大的进展。例如,Google DeepMind 将深度学习技术与强化学习结合,提出了DQN(Deep Q-Network, 深度Q网络),该网络可以自动玩Atari 2006系列的游戏,并取得超越人类顶级玩家的水平。最著名的莫过于DeepMind的AlphaGo, 它结合了策略网络(Policy Network)、估值网络(Value Network)与蒙卡洛搜索树(Monte Carlo Tree Search),实现了具有超高水平的围棋对战程序,几乎战胜了所有的人类高手。由此可见深度强化学习的威力。

Figure 1-1 Reinforcement Learning is a Multidisciplinary concept

2.强化学习可以解决哪些问题
强化学习不仅能够应用到非线性控制,如下棋,机器人动作学习等方向,还可以应用到其他领域,如视频游戏,人机对话,无人驾驶,机器翻译,文本序列预测等。用一句话来概括就是:强化学习能解决智能决策问题。更确切的说是序贯决策问题,即需要连续不断地做出决策,才能实现最终目标的问题。如经典的二级摆问题,它需要在每个状态下都有一个只能决策(应该施加给台车什么方向,多大的力),以便使得整个系统逐渐收敛到目标点,即两个竖摆直的状态。AlphaGo则需要根据当前棋局状态做出该下哪个子的决策,以便赢得比赛。因此强化学习是用来解决序贯决策(连续决策问题)。

3.强化学习如何解决问题以及一些相关概念
强化学习不同于有监督学习和无监督学习,它不关心输入长什么样子,只关心当前输入下应该采用什么样的动作才能实现最终目标。当前采用什么动作与最终目标有关。也就是说当前采用什么动作,可以是的整个任务序列达到最优。如何使整个任务序列达到最优呢?这就需要智能体不断地与环境交互,不断尝试,因为智能体刚开始也不知道在当前状态下哪个动作有利于实现目标。智能体通过执行动作与环境进行交互,环境会返回给智能体一个当前回报,智能体则根据当前的回报评估所采取的动作:有利于实现目标的动作被保留,不利于实现目标的动作被摒弃。
具体来说,强化学习是指智能体(Agent)以不断试错的方式进行学习,通过与环境交互获得的奖励来指导行为,最终的目标是使得智能体能够获得最大奖励。简单来说就是智能体在与环境不断交互的过程中,逐渐提高自己的决策能力的过程。
基本概念:强化学习中有5个主要的基本概念,智能体(Agent), 行为(Action),环境状态(State), 回报(Reward), 策略(Policy)。
学习过程:首先(Env)环境会给智能体一个初始状态(State),智能体在接收到此状态后会作出一个动作(Action),该动作将会对环境产生一定的影响(好的影响或者不好的影响),环境会根据该动作的好坏给予一个奖励(Reward),并更新自己的状态。再将状态反馈给智能体,以此类推,直到学习结束。

Figure 1-2 The learning process of reinforcement learning
4.强化学习的目的是什么
获得最大回报(Reward)是强化学习中最重要的目标,它是一个标量反馈信号,或者说是一个实数值, 表示Agent在当前t时刻做的有多好。给一支香蕉和不给香蕉就可以认为是reward,假设定义为{1,0},而强化学习算法的目标或者说优化函数就是最大化累计回报(maximise cumulative reward),对于序列化决策问题,强化学习就是选择一些action使得将来回报最大;对于训练猴子问题,强化学习目的就是通过让猴子知道只有骑车到达目的地才能得到最多香蕉;对于走迷宫问题,就是让机器人学习出一条路径,按照这条路径走才能最快出迷宫。
总之,不管什么强化学习算法,本质目的就是maximisation of expected cumulative reward,好比机器学习或者深度学习算法,本质目的就是优化某个损失函数而已,而最大化累计回报也可以认为是函数,但是不能认为是损失函数(损失函数是要值下降的)。

5.强化学习算法分类
1)根据强化学习算法是否依赖模型可以分为基于模型的强化学习算法和无模型的强化学习算法。基于模型的强化学习算法利用与环境交互得到的数据学习系统或者环境模型,再基于模型进行序贯决策。无模型的强化学习算法则是直接利用与环境交互获得的数据改善自身的行为。
2)根据策略的更新和学习方法,强化学习算法可以分为基于值函数的强化学习算法、基于直接策略搜索的强化学习算法以及AC的方法。基于值函数的强化学习方法是指学习值函数,最终的策略根据值函数贪婪得到。基于直接策略搜索的强化学习算法,一般是将策略参数化,学习实现目标的最优参数。基于AC的方法则是联合使用值函数和直接策略搜索。
3)根据环境返回的回报函数是否已知强化学习算法可以分为正向强化学习算法和逆向强化学习算法。回报函数指定的强化学习算法称为正向强化学习。但是很多时候回报无法人为指定,如无人机的特效表演,这时可以通过机器学习的方法由函数自己学习出来回报。

强化学习系列(1) 基本概念相关推荐

  1. 强化学习系列(1):强化学习(Reinforcement Learning)

    强化学习前世今生 也可以直接查看本博主强化学习专栏的简介: https://blog.csdn.net/gsww404/article/details/79763003 [直接点击查看完整版] 如今机 ...

  2. 强化学习系列(五):蒙特卡罗方法(Monte Carlo)

    一.前言 在强化学习系列(四):动态规划中,我们介绍了采用DP (动态规划)方法求解environment model 已知的MDP(马尔科夫决策过程),那么当environment model信息不 ...

  3. 强化学习系列(一):强化学习简介

    一.强化学习是什么? 首先,我们思考一下学习本身,当一个婴儿在玩耍时可能会挥舞双手,左看右看,没有人来指导他的行为,但是他和外界直接通过了感官进行连接.感知给他传递了外界的各种信息,包括知识等.学习的 ...

  4. 强化学习系列之翻译OpenAI用户手册(一)

    强化学习系列文章 第一章 强化学习入门 第二章 翻译OpenAI用户手册(一) 第三章 翻译OpenAI用户手册(二) 第四章 翻译OpenAI用户手册(三) 目录 用户手册 1.简介 1.1 这是什 ...

  5. 强化学习系列(十三):Policy Gradient Methods

    这是PG的基础篇,在深度强化学习系列中,有结合例子和监督学习的深刻理解PG的进阶篇. 一.前言 之前我们讨论的所有问题都是先学习action value,再根据所得的action value 来选择a ...

  6. 强化学习系列文章(二十七):VPG+Beta分布在CartPoleContinuous环境中的应用

    强化学习系列文章(二十七):VPG+Beta分布在CartPoleContinuous环境中的应用 在第七篇笔记(https://blog.csdn.net/hhy_csdn/article/deta ...

  7. 【强化学习】强化学习数学基础:基本概念

    强化学习数学基础:基本概念 初识强化学习 基本概念 `State`(状态)和`State Space`(状态空间) `Action`(动作)与`Action Space`(动作空间) `State t ...

  8. 强化学习系列文章(二十三):AirSim Python API图像与图像处理

    强化学习系列文章(二十三):AirSim Python API图像与图像处理 参考网址:https://microsoft.github.io/AirSim/image_apis/#segmentat ...

  9. 强化学习系列文章(二十八):进化强化学习EvoRL的预实验

    强化学习系列文章(二十八):进化强化学习EvoRL的预实验 最近在研究强化学习解决离散空间的组合优化问题时,接触到了很多进化算法,实际体验也是与RL算法不相上下.进化算法也常用于优化神经网络的参数,C ...

最新文章

  1. 个人管理:发掘自己的性格优势
  2. eppp如何导入php文件_PHP如何处理文件权限?(代码示例)
  3. 程序老鸟:软件测试的工资高还是开发者工资高?
  4. Linux2.6用户空间堆栈区的分配与回收
  5. 经典测试用例--水杯测试
  6. 关于Mac系统中 vs code下使用markdown PDF 安装Chromium失败的解决办法
  7. View 5应用之二:瘦客户机上的虚拟桌面
  8. 为什么没有黑客攻击棋牌游戏
  9. 二进制文件是什么?到底二进制文件和纯文本文件的区别是什么?为什么图像、音频是二进制文件?
  10. 使用Python绘制热图的库 pyHeatMap 使用Python绘制热图的库 pyHeatMap
  11. 收藏behavior designer中文教程
  12. MySQL被黑客攻击勒索5000美元,幸好有备份
  13. 开发一个 app 有多难?需要多少钱?
  14. tomcat配置-超有效-80岁奶奶用了都说好
  15. P014魔改8G显存
  16. 持续登顶全网热搜的运动·棒球
  17. 计算机图形学(三)_图元的属性_4_线的属性_1_线宽
  18. 腾讯AI开放平台的使用
  19. 小程序 params_【微信小程序】知乎视频一键保存
  20. wifi定位技术的优势

热门文章

  1. IOST 项目更新:BB ,展望正面 | TokenInsight
  2. Android facebook VK 登录与分享 开源SDK
  3. 庆科信息阿里IoT“物联网创新应用大赛”正式开战
  4. ionic 打 android 出现 Current working directory is not a Cordova-based project.
  5. 全球及中国阻燃剂市场供需现状与未来投资策略研究报告2022年
  6. 小孔成像总结_每天一个小实验|小孔成像
  7. element cascader组件动态加载数据
  8. 开源视觉SLAM方案
  9. 使用JQuery Ajax发送FormData数据
  10. ieee34节点数据