2.2.3 强化学习
强化学习(reinforcement learning,RL)的目标是在不确定的复杂交互环境下训练智能体使之学会从环境中最大化累积奖励。与有监督和无监督学习不同,强化学习通过奖励信号来获取环境对智能体动作的反馈,得到的结果可能具有一定的延时性,即奖励信号的反馈可能会滞后于做决策。除此之外,在强化学习的决策过程中,每个样本并非一定是独立同分布的,而是具有时序性的序列。在强化学习中,通常会有两个对象进行交互:智能体和环境。强化学习中的一些基本概念如下。
● 智能体(agent)可以感知外界环境的状态,得到环境反馈的奖励,并在此过程中进行决策和学习。具体来说,智能体根据外界环境的状态产生不同的决策,做出相应的动作,并根据外界环境反馈的奖励来学习、调整策略。
● 环境(environment)是指智能体周围的所有外部事物,其状态受智能体动作的影响而改变,并能根据智能体的动作反馈相应的奖励。
● 状态(state)是对当前环境信息的总结描述,智能体可感知它并产生相应动作。状态可以是离散的或连续的,所有状态s的集合称为状态空间S。在强化学习过程中,智能体往往无法直接获得环境的全部信息,只能通过感知环境的部分状态来进行决策和学习。
● 动作(action)是对智能体行为的描述,智能体的动作可以影响下一时刻环境的状态。动作可以是离散的或连续的,所有动作a的集合称为动作空间A。
● 策略(policy)是一个行为函数,表示在当前环境状态s下,智能体如何决定下一步的动作a。策略可以分为确定性策略和随机性策略两种。其中确定性策略表示为状态空间到动作空间的映射函数π:S →A;随机性策略表示在某一状态s下,智能体以一定概率π(a|s)选择动作a,参数化后的策略表示为πθ。
● 状态转移概率(state transition probability)是指在状态s下,智能体做出动作a之后,在下一时刻环境状态转变为状态s′的概率p(s′|s,a)。
● 奖励(reward)是指智能体在某个状态s下执行某个动作a之后从环境中获取的即时奖励。这个奖励也通常与环境下一时刻的状态有关,即R(s,a,s′)。
● 马尔可夫决策过程(Markov decision process,MDP)可以用来表示智能体与环境交互的过程,在过程的每一步中,智能体基于环境当前状态s采取动作a与环境发生交互,使环境状态转移至下一时刻的状态s′,再从环境中获取即时奖励R(s,a,s′)。在马尔可夫过程中,下一个时刻的状态st+1只取决于当前状态st,即
马尔可夫决策过程在此基础上又引入了动作这一变量,使得下一时刻的状态st+1和当前状态st以及动作at相关,即
● 回报(return)和值函数(value function)对于强化学习任务有一个统一的作用:最大化从某一时刻t到未来的回报Gt,又称累积折扣奖励(cumulative discounted reward):
其中,γt ∈ [0,1)是一个折扣率(discount rate),可以逐渐降低未来事件的权重。因为策略和状态转移往往具有一定的随机性,每次试验得到的轨迹是一个随机序列,其收获的总回报也并非确定值。因此,强化学习的目标是学到一个策略πθ,根据当前的状态s,最大化期望累积奖励(expected cumulative reward),即下面的值函数:
这种状态对应的值函数也称为状态值函数(state-value function)。另一种常用的值函数为状态—动作值函数Q(s,a),即状态—动作对(s,a)对应的值函数,其定义为。
● 根据是否依赖环境模型,强化学习方法可以分为有模型(model-based)和无模型(model-free)两类。二者最大的区别是智能体是否可以直接获得环境的状态转移概率。有模型强化学习具有对环境的直接建模(如状态转移概率和值函数),智能体在做出一个动作后可以使用环境模型预测下一个状态st+1(及其对应的奖励)。智能体通过与环境交互来感知环境模型(或学习对环境建模)并探索最优策略。但是现实世界的问题往往存在很多未知和潜在的影响因子,无法对环境进行精确建模。无模型强化学习没有依赖于环境模型,主要是基于大量的试错进行学习,所以相比有模型强化学习来说,往往需要与环境进行更多的交互。
● 强化学习算法还可以根据采集样本的策略分为同策(on-policy)算法和异策(off-policy)算法两类。一般来说,强化学习算法利用目标策略(target policy)和行为策略(behavior policy)来分别完成利用(exploitation)和探索(exploration)两个核心目标。行为策略用来与环境交互产生数据(样本),而目标策略在行为策略产生的数据中不断学习最优的决策策略(即最大化值函数)。在同策算法中,行为策略与目标策略相同,即算法只能使用当前正在优化的策略生成的数据来进行训练。而在异策算法中,用于生成样本的行为策略与目标策略是分开的,即二者可以是两个不同的策略,这样可以重复利用样本,减少智能体与环境的交互次数。异策算法的这种重复利用样本的机制也被称为经验回放(experience replay)。相较而言,异策算法的样本利用率更高,更加通用,能够用在一些样本采集非常昂贵的任务中。