什么是强化学习?

  1. 面向智能体的学习–通过与一个环境进行交互来实现目标
  2. 通过试错和优化进行学习–用试错后的奖励(或惩罚)进行学习

强化学习 vs 其他机器学习

  • 机器学习

    • 监督学习:有即时标签的学习(如分类,回归等)

      监督学习要求带标签的数据,这些数据是比较昂贵的
      标注数据也是一门学问

    • 非监督学习:无标签学习(聚类问题等)

      无标签数据的数量非常庞大且容易获得

    • 强化学习:有延迟奖励的学习问题,介于监督与非监督之间

      即时的奖励:如果分错了,只告诉你错了
      延迟的奖励:等全部分类完毕之后,告诉总分数如何

监督学习本质上可以认为是强化学习的一种特殊形式(无延迟场景)
强化学习更贴近人类的学习过程
强化学习可能是通往通用人工智能的道路,目前人工智能都是弱人工智能

强化学习的应用案例


强化学习之概述

强化学习整体结构


强化学习之概述

强化学习整体结构由环境,智能体及之间的交互组成,每个时刻t:

  • 智能体执行动作At,并在环境中得到观测值Ot和奖励值Rt

  • 环境会对智能体的动作At做出反应,然后送出新的观测值Ot+1和奖励值Rt+1

  • 智能体是指强化学习需要优化的部分,是我们能够精确控制的部分
  • 环境是我们不能直接控制的部分
  • 区分智能体和环境是强化学习的第一步,不同的问题,智能体和环境的划分也有所不同

强化学习的组成

强化学习主要包括三个要点:奖励,状态和动作。

奖励

奖励是强化学习的核心,可以没有观测,但是不能没有奖励。奖励是强化学习区别其他机器学习的标志特征。奖励的特点包括:

  • 奖励Rt是一个标量反馈
  • 奖励衡量了智能体在时间t上做得有多好
  • 智能体的目标就是最大化累计奖励
  • 强化学习的目标就是最大化期望累计奖励

举例:

  • 无人机和无人车控制
    +奖励:如果按预定轨迹运行
    -奖励:碰撞或翻车

  • 下围棋
    +奖励:赢了
    -奖励:输了

注:奖励并不要求一定要有正有负,只有正的奖励和负的奖励就可以,因为看的是相对值

长期奖励

每一个动作都有可能是一个长期的结果,奖励可能有延迟,有时我们需要牺牲一些短期奖励来获取更多长期的奖励,比如下围棋,只有在最后才能获得奖励

奖励值与回报值

回报值
当智能体在时间t做出动作At时,会在未来收到奖励序列{Rt,Rt+1,Rt+2,…},我们的目的是使累计奖励最大。一种通用的累计奖励的定义是将这些奖励值进行加权求和:

Gt=wtRt+wt+1Rt+1+wt+2Rt+2+...

我们把Gt称为回报值。回报值衡量了动作At对未来结果的影响,强化学习的目的就转化为在每个时刻,使未来的期望回报值最大

回报值有两种,分为无衰减和有衰减:

wt+n=γn,γ[0,1]

其中γ称为衰减系数

  • 无衰减回报:γ=1时,wt+n=1,n
  • 衰减回报:γ(0,1)时,γ越大,表示越关注长期奖励,γ越小表示越关注短期奖励

状态

历史是一个观测,动作和奖励的序列

Ht=O1,R1,A1,O2,R2,A2,...,At,Ot,At

状态是历史的一种状态,根据状态我们可以判断接下来发生什么,本质上状态是历史的一个函数St=f(Ht)

  • 环境状态Ste是环境的内部表达,所有能够影响环境产生预测/奖励的数据都被认为是环境状态的一部分,环境状态一般是智能体观察不到的。即使可见,一般也包含不相关的信息。
  • 智能体状态Sta是智能体的内部表达,所有能够影响智能体做出下一个动作的数据都被认为是智能体状态的一部分,是强化学习中使用的状态。智能体状态可能是历史的任何函数Sta=f(Ht)
  • 举例说明区别:
    机器人控制:环境状态:所有机械零件的参数,状态等;智能体状态:传感器所获得的数据

注:对于智能体来说,环境状态是未知的,智能体状态是已知的;智能体通过智能体的状态做出相应的动作,没有特殊说明的情况下,我们所说的状态均值智能体状态St=Sta

全观测环境和部分观测环境

  • 全观测
    智能体能够直接观测到环境状态Ot=Sta=Ste,即智能体状态等价于环境状态
  • 部分观测
    智能体不直接观测到环境状态,智能体状态!= 环境状态

动作

动作是智能体主动和环境交互的媒介,必须对环境起到一定的控制作用(尤其是对奖励),动作序列A1,A2,A3,...能够影响智能体的回报值
可解释的强化学习问题必须满足两个条件:

  • 动作要能改变未来所能获得的奖励
  • 奖励的设置要能被动作改变

智能体的组成

强化学习的智能体主要由策略,值函数和模型组成。

策略

策略是智能体的核心,我们最终的目的就是找到一个策略。它是一个从状态到动作的映射,可以描述智能体的行为,直接描述是:当智能体在什么状态时应该做什么事。

策略分两大类:

  • 确定性策略

  • 随机策略

值函数

值函数是对回报值的预测,主要用来评价不同状态的好坏,可以用来指导动作的选择

vπ(s)=Eπ[Gt|St=s]=E[Rt+1+γRt+2+...|St=s]

模型

模型指智能体所拥有的对环境的观测模型,主要包含两部分:

  • P: 预测下一个状态是什么
  • R: 预测下一个奖励是多少

这里我们将环境看成一个黑盒子,只关心其输入输出

强化学习的分类

  • 按环境分类

    • 全观测环境下的强化学习
    • 部分可观测环境下的强化学习
  • 按智能体的成分分类

    • 基于值函数:学习值函数
    • 基于策略: 学习策略
    • Actor Critic:同时学习值函数和策略
  • 按有无模型分类

    • 无模型强化学习
    • 基于模型的强化学习
  • 按使用手段分类

    • 传统强化学习
    • 深度强化学习

强化学习中的关键概念

对于序列决策问题有两个基本问题:

  • 强化学习

    • 环境未知
    • 智能体与环境进行交互
    • 智能体会不断地改善自己的策略
  • 规划

    • 环境已知
    • 智能体可以根据模型直接计算,不用交互
    • 智能体会不断改善自己的策略

既利用模型进行规划,由于环境交互进行强化学习,这就构成了基于模型的强化学习
当有很精确的环境模型时,可以直接用规划的方式解

探索和利用是强化学习的根本问题,强化学习会根据过去的经验得到一个好的策略:
探索是为了能够发现环境的更多信息
利用是为了利用当前已知的信息来最大化回报值

评价和优化是强化学习的基本思路
评价:给出一个策略,评价该策略的好坏,即求对应的值函数
优化:找到最优的策略

相关文章: