强化学习——基本概念
何为强化学习
机器学习的一大分支
- 强化学习(Reinforcement Learning)是机器学习的一种,它通过与环境不断地交互,借助环境的反馈来调整自己的行为,使得累计回报最大。
- 强化学习要解决的是决策问题——求取当前状态下最优行为或行为概率。
- 强化学习包括智能体和环境两大对象,智能体是算法本身,环境是与智能体交互的外部。
智能体(Intelligent Agent),在人工智能领域,智能体指一个可以观察周围环境并作出反应的自主实体。——维基百科
机器学习主要分为三大类:监督学习、非监督学习和强化学习。
与前两者不同,强化学习的训练样本没有任何标记,仅有一个延迟的回报信号。强化学习通过对训练数据进行学习,以获得从状态到行为的映射。这是一大区别。
在监督学习和非监督学习中,数据是静态,不需要与环境进行交互。此外,数据有着前提假设,如服从混合高斯分布、泊松分布等。然而,强化学习需要在与环境不断交互的过程中动态学习,所需的数据也是由与环境不断交互动态产生的,产生数据之间高度相关。强化学习涉及的对象更多、更复杂。此外另一个区别。
六个关键词
学习与规划(Learning & Planning)
学习与规划是两种方法,分别适用于不同的情境。
学习针对未知环境的情况。仅通过与环境进行交互,采用试错法逐渐改善其策略。
当智能体,已经知道或近似知道环境如何工作后,可以选择规划方法。智能体并不直接与环境发生实际交互,而是利用自己拟合的环境模型获得状态转换概率和汇报,在此基础上改善其策略。
探索与利用(Exploration & Exploitation)
探索与规划是两种行为,相互对立。
探索是指智能体在一种状态下,试图尝试一个新的行为,以图挖掘更多关于环境的信息;利用是指智能体根据已知信息,选取当下最优的行为来最大化回报。
预测与控制(Prediction & Control)
预测与控制是解决强化学习问题的两个步骤,也成为评估与改善。
解决一个强化学习问题,首先是解决关于预测问题:评估当前策略的质量。而后在此的基础上,解决控制问题:对当前策略不断优化,直到找到一个足够好的策略能够最大化未来的回报。
何为马尔可夫
强化学习的大部分算法都是以马尔可夫决策过程为基础发展。马尔可夫过程为强化学习问题提供了基本的理论框架,几乎所有强化学习问题都可以用马尔可夫决策过程(MDP)进行建模。以下将做简单介绍。
关于“马尔可夫”的概念
马尔可夫性
马尔可夫性(Markov Property),如果某一状态蕴含了所有相关历史信息。只要当前状态可知,所有的历史信息不再需要,即当前状态可以决定未来,则认为该状态具有马尔可夫性。
可用以下状态转移公式表示马尔可夫性:
可见状态\(S_t\)包含的信息等价于所有历史状态\(S_1,S_2\cdots,S_t\)包含的信息,所以该状态具有马尔可夫性。
例如,围棋未来的走向只和当前棋面相关,之前的棋面不再有实际意义,因此棋面具有马尔可夫性,它已经涵盖了导致该种局面的所有重要信息。
马尔可夫过程
具有马尔可夫性的随机过程(又称“随机事件”)即马尔可夫过程(Markov Process),又称为马尔可夫链。它是一个无记忆的随机过程,可用一个元组\(<S,\mathbf{P}>\)表示,其中\(S\)表示有限数量的状态集,\(\mathbf{P}\)表示状态转移概率矩阵。
以一张求职者找工作的例子说明马尔可夫链。
椭圆表示求职者所处状态,方格“人工智能工作”表示求职者最终找到了满意的工作,即“终止状态”也可以认为它的下一个状态是自身的概率为100%。箭头表示状态间的转移,肩头上的数字表示当前转移的概率。
图中状态转移矩阵为:
矩阵中每个元素\(P_{ss'}\)表示从状态\(s\)转移至状态\(s'\)的概率,从上到下的行(以及从左到右的列)分别表示本职工作、机器学习、强化学习、深度强化、故宫旅游、人工智能工作。
马尔可夫决策过程
马尔可夫决策过程(Markov Decision Process, MDP)是针对具有马尔可夫性的随机过程做出决策。即根据每部每个时间步观察到的状态\(s\),从可用的行动集合中选用一个行动\(a\),环境在\(a\)的作用下,转换至新状态\(s'\)。决策者根据新观察到的状态\(s'\)再做出新的决策,采取行动\(a'\),依次反复进行。
一个马尔可夫决策过程由一个五元组构成:\(M=<S,A,P,R,\gamma>\)
- \(S\)代表环境的状态集合。状态指的是智能体所能获得的对决策的有用信息。
- \(A\)代表智能体的动作集合。它是智能体在当前学习任务中可以选择的动作集。
- \(P\)表示状态转移概率。\(P^a_{ss'}\)表示当前状态\(s\)下(\(s\in S\)),经过动作\(a\)作用后(\(a\in A\))转移至其他状态\(s'\)的概率。数学表达式如下:
如果\(P\)与动作无关,可写为:
给定一个策略\(\pi\)和一个马尔可夫决策过程(MDP):\(M=<S,A,P,R,\gamma>\)。在执行策略\(\pi\)时,状态从\(s\)转移至\(s'\)的概率\(P^{\pi}_{ss'}\)表示这一系列概率之和。这一系列概率指在执行当下策略\(\pi\)时,执行某一个行为\(a\)的概率\(\pi(a|s)\)与该行为能使状态从\(s\)转移至\(s'\)的概率\(P^a_{ss'}\)的乘积。数学表达式如下:
策略是决策决定智能体行为的机制,是状态到行为的映射,用\(\pi(a|s)\)表示:$$\pi(a|s)=P(A_t=a|S_t=s)$$
策略分为确定性策略与随即策略。确定策略会根据具体状态输出一个动作:\(\mu(a)=s\)。随即策略根据状态输出每个动作的概率(概率值区间\([0,1]\))
- \(R\)表示回报函数。\(R^a_s\)表示在当前状态\(s(s\in S)\),采取动作\(a(a\in A)\)后,获得的回报。数学表达式如下:
一些情况下,\(R\)仅与状态有关,因此可写为:
当前状态下,\(s\)执行指定策略\(\pi\)得到的立即回报\(R_a^\pi\)是该策略下\(\pi\)下所有可能行为得到的回报\(R_s^a\)与该行为发生概率\(\pi(a|s)\)的乘积的和。
- \(\gamma\)是衰减系数(Disocount Factor),也叫折扣因子,\(\gamma\in[0,1]\)。使用折扣因子是为了在计算当前状态的累计回报时,将未来时刻的立即回报也考虑进来。
在上面的马尔可夫过程例子中,状态集合\(S=\{\)本职工作、机器学习、强化学习、深度强化、人工智能工作\(\}\);动作集合\(A=\{\)继续本职工作、学习、放弃、找工作、旅游\(\}\)。
把线上的“状态转移概率”换成“动作”和“回报”:
当前策略下,根据状态转移矩阵,状态“深度强化”到状态“强化学习”的转移概率为
状态“深度强化”对应的回报为
贝尔曼方程
贝尔曼方程(Bellman Equation)是强化学习算法的基石,在诸多强化学习方法中,如动态规划、蒙特卡洛、时序差分算法都是基于贝尔曼来求解最优策略。
贝尔曼方程基本思想是将待求解问题分解成若干个子问题,从这些子问题的解得到原问题的解。
贝尔曼方程分为“贝尔曼期望函数”和“贝尔曼最优方程”。
- 贝尔曼期望函数表达了当前值函数(或行为值函数)和它后继值函数(或行为值函数)的关系,以及值函数与行为值函数之间的关系。
- 贝尔曼最优方程表达了当前最优值函数(或最优行为值函数)与后继最优质函数(或最优行为值函数)的关系,以及最优值函数和最优行为值函数之间的关系。
值函数代表智能体在给定状态下的表现,或是给定状态下采取某个行为的好坏程度(用期望回报衡量)。值函数的估计都是基于给定的策略进行的。
回报\(G_t\)为从t时刻开始往后所有的带衰减回报的总和。也称“收益”或“奖励”。公式如下:
在\(k+1\)时刻获得的回报\(R\)在\(t\)时刻的价值为\(\gamma^kR\),\(\gamma\)趋近于0表示“近视性”评估,趋近于1表示偏重长远利益的考虑。
状态值函数\(V_{\pi}(s)\)表示从状态s开始,遵循当前策略\(\pi\)所获得的期望汇报;或者说在执行当前策略\(\pi\)时,衡量智能体所处状态\(s\)时的价值大小。这个值可以评估一个状态的好坏并指导智能体选择动作。公式描述::
值函数的另一类别,状态行为值函数简称行为值函数\(Q_\pi(s,a)\)。该指标表示,执行策略\(\pi\)时,针对当前状态\(s\)执行动作\(a\)时所获得的期望回报;也表示遵循策略\(\pi\)时,对当前状态\(s\)执行行为\(a\)的价值大小。公式描述:
贝尔曼期望方程
对状态值函数\(V_\pi(s)\)定义的公式进行推导:
在最后一行将\(G_{t+1}\)变为\(V(S_{t+1})\),表示回报的期望等于回报期望的期望。可以发现\(V_\pi(s)\)分解为两部分:第一项为该状态下立即回报的期望,为常数项;第二项为下一时刻转台值函数的折扣期望。
同理,\(Q_\pi(s,a)\)的贝尔曼方程期望方程为:
以上为贝尔曼方程的最初形式。贝尔曼方程有四种不同的表达形式,分别给出了状态值函数、行为值函数之间存在的关系。
- 基于状态\(s\)采取动作\(a\),求取\(V_\pi(s)\)。
在遵循策略\(\pi\)时,状态\(s\)的值函数体现为在该状态下,采取所有可能行为的价值\(Q_pi(s,a)\)(行为值函数)与行为发生概率\(\pi(a|s)\)的乘积之和。表达式:
- 采取行动\(a\),状态转变为\(s'\),求取\(Q_\pi(s,a)\)。
类似的,在遵循策略\(\pi\)时,行为状态价值\(Q_\pi(s,a)\)体现为两项之和。第一项为采取行为\(a\)后立即获得的回报\(R^a_s\),第二项是所有可能的状态值\(V_\pi(s')\)乘以状态转移概率\(P^a_{ss'}\)带衰减求和。表达式:
- 基于状态\(s\)采取动作\(a\),状态转变为\(s'\),求取\(V_\pi(s)\)。
结合1与2,可得到\(V_\pi(s)\)第二种表达式:
- 采取行动\(a\),状态转变为\(s'\),采取行动\(a'\),求取\(Q_\pi(s,a)\)。
结合1与2,可得到\(Q_\pi(s,a)\)第二种表达式:
贝尔曼最优方程
最优值函数\(V^*(s)\)是指在所有策略中最大的值函数,即:
相应的,最优行为值函数\(Q^*(s,a)\)是指所有策略中最大的行为值函数,即:
贝尔曼最优方程也有四种表达式,体现了最优状态值函数、行为值函数之间的关系。
- 基于状态\(s\)采取动作\(a\),求取\(V^*(s)\)。
当前状态的最优质函数\(V^*(s)\)等于从该状态\(s\)出发,采取的所有行为中对应的那个最大的行为值函数。
- 采取行动\(a\),状态转变为\(s'\),求取\(Q^*(s,a)\)。
在状态\(s\)下,采取某个行为的最优价值\(Q^*(s,a)\)。由两部分组成,第一部分是离开状态\(s\)的立即回报\(R_s^a\),另一部分是所有能到达状态\(s'\)的最优状态价值\(V^*(s')\)按出现概率求和:
- 基于状态\(s\)采取动作\(a\),状态转变为\(s'\),求取\(V^*(s)\)。
结合1与2,可得到\(V^*(s)\)第二种表达式:
- 采取行动\(a\),状态转变为\(s'\),采取行动\(a'\),求取\(Q^*(s,a)\)。
结合1与2,可得到\(Q^*(s,a)\)第二种表达式:
最优策略
强化学习的目标是找到最优策略\(\pi\),使得该策略下的累积回报期望最大。
对于任何状态\(s\),当且仅当遵循策略\(\pi\)的价值不小于遵循策略\(\pi'\)的价值时,则称策略\(\pi\)由于\(\pi'\),即
对于任意MDP,存在一个最优策略满足:
每个策略对应着一个状态值函数,最优策略自然对应着最优值函数。因此,一旦有了\(V^*\),基于每一个状态\(s\),做一步搜索,一部搜索之后,出现的最优行为将是最优的,对应的最优行为集合就是最优策略:
如果有了最优行为值函数\(Q^*(s,a)\),则求解最优策略将变得更为方便。对于任意状态\(s\),直接找到最大化\(Q^*(s,a)\)对应的行为,最优策略求取公式:
对于任何MDP问题,总存在一个确定性的最优策略,找到最优行为价值函数相当于找到最优策略。
在同一个状态\(s\)下,会存在多个行为\(a\),每一个行为分别对应一个行为值函数\(Q(s,a)\)。若在当前状态\(s\)下,有\(m\)个行为值函数相等且取值最大,则其对应的行为概率均为\(\frac{1}{m}\)。
参考文献
[1] 邹伟.强化学习[M].北京: 清华大学出版社, 2020.