强化学习方法汇总

强化学习方法汇总

​ 是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。

Reference:

强化学习- 维基百科

不同的划分方式

一、不理解环境(Model-Free RL) 和理解环境(Model-Based RL)

不理解环境(Model-Free RL) :

​ 直接对环境作出动作,而后接收来自于环境的反馈,对于周围的环境是不理解的,没有概念的,作出动作后只能等待现实的反馈,是否这个动作的反馈会造成好的还是坏的结果,它也是没有概念的、不知道的。

例如:我们在现实世界投放一颗氢弹,然后我们成功把自己玩死了,这是一个很坏的结果,但我们事先对此没有概念,不知道做出这个“投放氢弹”会发生什么,我们只能去尝试一下,然后Die。

方法:

  • Q learning

  • Sarsa

  • Policy Gradients learning

理解环境(Model-Based RL):

​ 1、机器人会通过过往的经验,先理解真实世界是怎样的

​ 2、建立一个模型来模拟现实世界的反馈(建立一个模拟现实)

​ 3、既可以在现实世界中作出动作,也可以在模拟世界中作出动作

这样就没必要去炸真实世界,连自己也炸死了,他可以像玩游戏一样炸炸游戏里的世界,也保住了自己的小命

进一步说明:

​ 基于Model-Based RL的机器人能通过想象预判断接下来将要发生的所有情况。然后选择这些想象情况中最好的那种。并依据这种情况来采取下一步的策略

方法:

​ 1、先在Model-Free RL的基础上添加了一层对于现实世界的建模(一个虚拟的世界)

​ 2、然后在这个模拟世界里进行Model-Free RL ( Q learning、Sarsa、Policy Gradients)

二、基于概率(Policy-Based RL) 和基于价值(Value-Based RL)

基于概率(Policy-Based RL) :

​ 机器人能通过感官分析所处的环境,直接输出下一步要采取的各种动作的概率,然后根据概率采取行动,所以每种动作都有可能被选中, 只是可能性不同,即使是大概率的动作也不一定会选到。

方法:

  • Policy Gradients learning
  • ….

基于价值(Value-Based RL):

​ 在当前这一步,输出所有可能采取的动作(不连续的动作)的价值,我们会根据最高价值来选着动作,这种决策十分确定,只选取价值最高的

方法:

  • Q learning

  • Sarsa

  • ….

基于概率与价值的结合创造了一种更好的方法:

  • Actor-Critic

    ( 1、Actor :基于概率做出一个动作

    2、Critic 会对做出的动作给出动作的价值,这样就在原有的 policy gradients 上加速了学习过程)

对于连续动作

Value-Based是无能为力的 ( 为什么会说无能为力???)

Policy-Based能用一个概率分布在连续动作中选取特定动作,是Policy-Based的优点之一

三、回合更新(Monte-Carlo update RL) 和单步更新(Temporal-Difference update)

想象强化学习就是在玩游戏, 游戏回合有开始和结束

回合更新(Monte-Carlo update RL) :

​ 指的是游戏开始后, 我们要等待游戏结束, 然后再总结这一回合中的所有转折点, 再更新我们的行为准则

方法:

  • Monte-carlo learning
  • 基础版的Policy learning
  • ….

单步更新(Temporal-Difference update):

​ 在游戏进行中每一步都在更新, 不用等待游戏的结束, 这样我们就能边玩边学习了

方法:

  • Q learning
  • Sarsa
  • 升级版Policy Gradients learning

现在大多数学习都是Temporal-Difference update (因为有的强化学习问题并不属于回合问题,且单步更新训练速度快)

四、在线学习(On-Policy) 和离线学习(Off-Policy)

在线学习(On-Policy) :

​ 指必须本人在场, 并且一定是本人边玩边学习

方法:

  • Sarsa
  • Sarsa lambda ( 优化Sarsa算法)

离线学习(Off-Policy):

特点:

  • 可以选择自己玩
  • 也可以选择看着别人玩,通过看别人玩,来学习别人的行为准则
  • 同样是从过往的经验中学习, 但是这些过往的经历没必要是自己的经历, 任何人的经历都能被学习
  • 或者我也不必要边玩边学习, 我可以白天先存储下来玩耍时的记忆, 然后晚上通过离线学习来学习白天的记忆

方法:

  • Q learning
  • Deep-Q-Network (更加强大的算法,可以让计算机学会玩电动)

Reference:

强化学习方法汇总 (Reinforcement Learning)