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


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

强化学习的特征

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

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

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

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

  • 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


参考资料