强化学习(一):强化学习简介

文章目录
  1. 1. 强化学习的特征
  2. 2. 强化学习的概念
    1. 2.1. 奖励
    2. 2.2. 序贯决策
    3. 2.3. 智能体和环境
    4. 2.4. 历史与状态
      1. 2.4.1. 环境状态
      2. 2.4.2. 智能体状态
      3. 2.4.3. 信息状态
      4. 2.4.4. Rat Example
      5. 2.4.5. 完全可观测环境
      6. 2.4.6. 部分可观测环境
  3. 3. 智能体的构成
    1. 3.1. 策略
    2. 3.2. 值函数
    3. 3.3. 模型
    4. 3.4. Maze Example
    5. 3.5. 智能体的分类
  4. 4. 强化学习的问题
    1. 4.1. 学习与规划
    2. 4.2. 探索和利用
    3. 4.3. 预测和控制
  5. 5. 参考资料

本文主要介绍强化学习中的一些基本概念.

强化学习的特征

作为机器学习的一个分支,强化学习主要的特征为:

  • 无监督,仅有奖励信号;

  • 反馈有延迟,不是瞬时的;

  • 时间是重要的(由于是时序数据,不是独立同分布的);

  • Agent的动作会影响后续得到的数据;


强化学习的概念

奖励

奖励(Rewards) $R_t$ 是一个标量的反馈信号,表示Agent在 $t$ 时刻的表现如何.

Agent的目标: 最大化累积奖励(maximise cumulative reward).

强化学习基于奖励假设(reward hypothesis).

奖励假设(Reward Hypothesis):
所有强化学习任务的目标都可以被描述为最大化期望累积奖励.


序贯决策

序贯决策(Sequential Decision Making)的目标: 选择合适的动作最大化将来的累积奖励.

  • 动作可能会产生长期后果;
  • 奖励会有延迟性;
  • 牺牲立即回报可能会获得更多的长期回报.

智能体和环境

Agent和环境

智能体(Agent)在每个时刻$t$会:

  • 执行动作(Action)$A_t$;
  • 接收观测(Observation)$O_t$;
  • 接收标量奖励(Reward)$R_t$.

而环境(Environment)则会:

  • 接收动作(Action)$A_t$;
  • 产生观测(Observation)$O_{t+1}$;
  • 产生标量奖励(Reward)$R_{t+1}$.

历史与状态

历史(History):由一系列观测,动作和奖励构成.

下一步将发生什么取决于历史:

  • 智能体选择的action;
  • 环境选择的observations/rewards.

状态(State):用来决定接下来会发生什么的信息.

状态是历史的函数:


环境状态

环境状态

环境状态 $S_{t}^{e}$ 是环境的私有表示,通常对于智能体来说该状态不可见.

即使$S_{t}^{e}$可见,也可能包含不相关信息.


智能体状态

智能体状态

智能体状态 $S_{t}^{a}$ 是智能体的内部表示,包含其用来决定下一步动作的信息,也是强化学习算法使用的信息.

可以写成历史的函数: $S_{t}^{a} = f(H_t)$


信息状态

信息状态(也称为马尔科夫状态): 包含历史中所有有用的信息.

马尔科夫状态定义

马尔科夫状态表明: 未来只与现在有关,而与过去无关.

其中,环境状态$S_t^e$历史$H_t$具有马尔科夫性质.


Rat Example

Rat Example

  • 假如个体状态=序列中的后三个事件(不包括电击、获得奶酪,下同),事件序列3的结果会是什么? (答案是:电击)

  • 假如个体状态=亮灯、响铃和拉电闸各自事件发生的次数,那么事件序列3的结果又是什么? (答案是:奶酪)

  • 假如个体状态=完整的事件序列,那结果又是什么? (答案是:未知)


完全可观测环境

完全可观测性(Full observability): 智能体可以直接观测到环境状态,即

  • 智能体状态 = 环境状态 = 信息状态
  • 实际上是马尔科夫决策过程(Markov Decision Process, MDP)

部分可观测环境

部分可观测性(Partial observability): 智能体不能够直接观测到环境.

如,机器人不能通过摄像头得知自身的绝对位置.

  • 智能体状态 $\neq$ 环境状态
  • 部分可观测马尔科夫决策过程(POMDP)

此时,智能体必须构建其自身的状态表示 $S_t^a$,比如:

  • 完全的历史: $S_t^a = H_t$;
  • 环境状态的置信度: $S _ { t } ^ { a } = \left( \mathbb { P } \left[ S _ { t } ^ { e } = s ^ { 1 } \right] , \ldots , \mathbb { P } \left[ S _ { t } ^ { e } = s ^ { n } \right] \right)$;
  • 循环神经网络: $S_t^a = \sigma \left(S_{t-1}^{a}W_{s} + O_{t}W_{o}\right)$

智能体的构成

智能体主要包含以下几种成分:

  • 策略(Policy): 智能体的行为函数;
  • 值函数(Value Function): 每个state或action的好坏;
  • 模型(Model): 智能体对环境的表示.

策略

  • 策略(Policy)是智能体的行为;
  • 状态动作的映射;
  • 确定性策略: $a = \pi(s)$;
  • 随机性策略: $\pi(a|s) = \mathbb{P} \left[ A_{t} = a | S_{t} = s\right]$

值函数

值函数(Value Function)是对于未来奖励的预测.

  • 用于评价状态的好坏;
  • 因此可以用来选择动作.

模型

模型(Model)用来预测环境接下来会做什么.

  • $\mathcal{P}$: 预测下一个状态.
  • $\mathcal{R}$: 预测下一个(立即)奖励.

Maze Example

Maze Example


策略表示:

箭头表示每个状态的策略 $\pi(s)$.

Maze Example: Policy


值函数表示:

数值表示每个状态的值 $v_{\pi}(s)$.

Maze Example: Value Function


模型表示:

智能体可能对环境建立内部模型

  • 网格布局表示转移模型 $\mathcal{P}_{ss’}^{a}$;
  • 数值表示每个状态的立即奖励 $\mathcal{R}_{s}^{a}$.

Maze Example: Value Function


智能体的分类

按智能体的成分分类:

  • 基于值函数(Value Based)
  • 基于策略(Policy Based)
  • 演员-评论家(Actor Critic)

或者按有无模型分类:

  • 无模型(Model Free)
  • 基于模型(Model Based)

智能体分类


强化学习的问题

学习与规划

强化学习

  • 环境的初始状态未知;
  • 智能体与环境进行交互;
  • 智能体提升其策略.

学习

规划

  • 环境的模型已知;
  • 智能体通过模型进行计算,无须与外部进行交互;
  • 智能体提升其策略

规划


探索和利用

强化学习是一种试错(trial-and-error)学习.

智能体需要从与环境的交互中找到一种好的策略,同时不损失过多的奖励.

  • 探索(Exploration): 从环境中寻找更多信息;
  • 利用(Exploitation): 利用已知信息使奖励最大化.

探索和利用同等重要,即使根据已有信息选择出的最优动作可以得到不错的奖励,不妨尝试全新的动作对环境进行探索,也许可以得到更好的结果.


预测和控制

  • 预测(Prediction): 对未来进行评估.

Gridworld Example: Prediction


  • 控制(Control): 最优化未来的结果.

Gridworld Example: Control


参考资料

分享到 评论