强化学习——基本概念

何为强化学习

机器学习的一大分支

  • 强化学习(Reinforcement Learning)是机器学习的一种,它通过与环境不断地交互,借助环境的反馈来调整自己的行为,使得累计回报最大。
  • 强化学习要解决的是决策问题——求取当前状态下最优行为或行为概率。
  • 强化学习包括智能体和环境两大对象,智能体是算法本身,环境是与智能体交互的外部。

智能体(Intelligent Agent),在人工智能领域,智能体指一个可以观察周围环境并作出反应的自主实体。——维基百科

graph TB A(机器学习) --- B(监督学习) A --- C(非监督学习) A --- D(强化学习)

机器学习主要分为三大类:监督学习、非监督学习和强化学习。
与前两者不同,强化学习的训练样本没有任何标记,仅有一个延迟的回报信号。强化学习通过对训练数据进行学习,以获得从状态到行为的映射。这是一大区别。
在监督学习和非监督学习中,数据是静态,不需要与环境进行交互。此外,数据有着前提假设,如服从混合高斯分布、泊松分布等。然而,强化学习需要在与环境不断交互的过程中动态学习,所需的数据也是由与环境不断交互动态产生的,产生数据之间高度相关。强化学习涉及的对象更多、更复杂。此外另一个区别。

六个关键词

学习与规划(Learning & Planning)

学习与规划是两种方法,分别适用于不同的情境。
学习针对未知环境的情况。仅通过与环境进行交互,采用试错法逐渐改善其策略。
当智能体,已经知道或近似知道环境如何工作后,可以选择规划方法。智能体并不直接与环境发生实际交互,而是利用自己拟合的环境模型获得状态转换概率和汇报,在此基础上改善其策略。

探索与利用(Exploration & Exploitation)

探索与规划是两种行为,相互对立。
探索是指智能体在一种状态下,试图尝试一个新的行为,以图挖掘更多关于环境的信息;利用是指智能体根据已知信息,选取当下最优的行为来最大化回报。

预测与控制(Prediction & Control)

预测与控制是解决强化学习问题的两个步骤,也成为评估与改善。
解决一个强化学习问题,首先是解决关于预测问题:评估当前策略的质量。而后在此的基础上,解决控制问题:对当前策略不断优化,直到找到一个足够好的策略能够最大化未来的回报。

何为马尔可夫

强化学习的大部分算法都是以马尔可夫决策过程为基础发展。马尔可夫过程为强化学习问题提供了基本的理论框架,几乎所有强化学习问题都可以用马尔可夫决策过程(MDP)进行建模。以下将做简单介绍。

关于“马尔可夫”的概念

马尔可夫性

马尔可夫性(Markov Property),如果某一状态蕴含了所有相关历史信息。只要当前状态可知,所有的历史信息不再需要,即当前状态可以决定未来,则认为该状态具有马尔可夫性。
可用以下状态转移公式表示马尔可夫性:

\[P(S_{t+1}|S_t)=P(S_{t+1}|S_t,\cdots,S_2,S_1)\]

可见状态\(S_t\)包含的信息等价于所有历史状态\(S_1,S_2\cdots,S_t\)包含的信息,所以该状态具有马尔可夫性。
例如,围棋未来的走向只和当前棋面相关,之前的棋面不再有实际意义,因此棋面具有马尔可夫性,它已经涵盖了导致该种局面的所有重要信息。

马尔可夫过程

具有马尔可夫性的随机过程(又称“随机事件”)即马尔可夫过程(Markov Process),又称为马尔可夫链。它是一个无记忆的随机过程,可用一个元组\(<S,\mathbf{P}>\)表示,其中\(S\)表示有限数量的状态集,\(\mathbf{P}\)表示状态转移概率矩阵。
以一张求职者找工作的例子说明马尔可夫链。

graph LR A([本职工作]) B([机器学习]) C([强化学习]) D([故宫旅游]) E([深度强化]) F[人工智能工作] A -->|0.5| A A -->|0.5| B B -->|1/3| A B -->|1/3| C B -->|1/3| F C -->|1/3| A C -->|1/3| F C -->|1/3| E D -->|0.2| C D -->|0.2| B D -->|0.6| E E -->|0.5| F E -->|0.5| D

椭圆表示求职者所处状态,方格“人工智能工作”表示求职者最终找到了满意的工作,即“终止状态”也可以认为它的下一个状态是自身的概率为100%。箭头表示状态间的转移,肩头上的数字表示当前转移的概率。
图中状态转移矩阵为:

\[\mathbf{P}= \begin{bmatrix} 0.5&0.5&0&0&0&0\\ 1/3&0&1/3&0&0&0\\ 1/3&0&0&1/3&0&1/3\\ 0&0&0&0&0.5&0.5\\ 0&0.2&0.2&0.6&0&0\\ 0&0&0&0&0&1\\ \end{bmatrix} \]

矩阵中每个元素\(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_{ss'}^a=P(S_{t+1}=s'|S_t=s,A_t=a) \]

如果\(P\)与动作无关,可写为:

\[P_{ss'}=P(S_{t+1}=s'|S_t=s) \]

给定一个策略\(\pi\)和一个马尔可夫决策过程(MDP):\(M=<S,A,P,R,\gamma>\)。在执行策略\(\pi\)时,状态从\(s\)转移至\(s'\)的概率\(P^{\pi}_{ss'}\)表示这一系列概率之和。这一系列概率指在执行当下策略\(\pi\)时,执行某一个行为\(a\)的概率\(\pi(a|s)\)与该行为能使状态从\(s\)转移至\(s'\)的概率\(P^a_{ss'}\)的乘积。数学表达式如下:

\[P^\pi_{ss'}=\sum_{s\in A}\pi(a|s)P_{ss'}^a \]

策略是决策决定智能体行为的机制,是状态到行为的映射,用\(\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^a_s=E[R_{t+1}|S_t=s,A_t=a] \]

一些情况下,\(R\)仅与状态有关,因此可写为:

\[R^\pi_s=E[R_{t+1}|S_t=s] \]

当前状态下,\(s\)执行指定策略\(\pi\)得到的立即回报\(R_a^\pi\)是该策略下\(\pi\)下所有可能行为得到的回报\(R_s^a\)与该行为发生概率\(\pi(a|s)\)的乘积的和。

\[R^{\pi}_s=\sum_{a\in A}\pi(a|s)R^a_s \]

  • \(\gamma\)是衰减系数(Disocount Factor),也叫折扣因子,\(\gamma\in[0,1]\)。使用折扣因子是为了在计算当前状态的累计回报时,将未来时刻的立即回报也考虑进来。

在上面的马尔可夫过程例子中,状态集合\(S=\{\)本职工作、机器学习、强化学习、深度强化、人工智能工作\(\}\);动作集合\(A=\{\)继续本职工作、学习、放弃、找工作、旅游\(\}\)

把线上的“状态转移概率”换成“动作”和“回报”:

graph LR A([本职工作]) B([机器学习]) C([强化学习]) D([故宫旅游]) E([深度强化]) F[人工智能工作] A -->|继续本职工作\n R=2| A A -->|学习\n R=10| B B -->|放弃\n R=-10| A B -->|学习\n R=-2| C B -->|找工作\n R=4| F C -->|放弃\n R=-10| A C -->|找工作\n R=8| F C -->|学习\n R=-2| E D -->|学习\n R=-2| C D -->|学习\n R=-2| B D -->|学习\n R=-2| E E -->|找工作\n R=10| F E -->|旅游\n R=1| D

当前策略下,根据状态转移矩阵,状态“深度强化”到状态“强化学习”的转移概率为

\[P^\pi_{ss'}=\sum_{s\in A}\pi(a|s)P_{ss'}^a=0.5*0.2+0.5*0=0.1 \]

状态“深度强化”对应的回报为

\[R^{\pi}_s=\sum_{a\in A}\pi(a|s)R^a_s=0.5*1+0.5*10=5.5 \]

贝尔曼方程

贝尔曼方程(Bellman Equation)是强化学习算法的基石,在诸多强化学习方法中,如动态规划、蒙特卡洛、时序差分算法都是基于贝尔曼来求解最优策略。
贝尔曼方程基本思想是将待求解问题分解成若干个子问题,从这些子问题的解得到原问题的解。
贝尔曼方程分为“贝尔曼期望函数”和“贝尔曼最优方程”。

  • 贝尔曼期望函数表达了当前值函数(或行为值函数)和它后继值函数(或行为值函数)的关系,以及值函数与行为值函数之间的关系。
  • 贝尔曼最优方程表达了当前最优值函数(或最优行为值函数)与后继最优质函数(或最优行为值函数)的关系,以及最优值函数和最优行为值函数之间的关系。

值函数代表智能体在给定状态下的表现,或是给定状态下采取某个行为的好坏程度(用期望回报衡量)。值函数的估计都是基于给定的策略进行的。
回报\(G_t\)为从t时刻开始往后所有的带衰减回报的总和。也称“收益”或“奖励”。公式如下:

\[G_t=R_{t+1}+\gamma R_{t+2}+\cdots=\sum_{k=0}^\infty\gamma^kR_{t+k+1} \]

\(k+1\)时刻获得的回报\(R\)\(t\)时刻的价值为\(\gamma^kR\)\(\gamma\)趋近于0表示“近视性”评估,趋近于1表示偏重长远利益的考虑。

状态值函数\(V_{\pi}(s)\)表示从状态s开始,遵循当前策略\(\pi\)所获得的期望汇报;或者说在执行当前策略\(\pi\)时,衡量智能体所处状态\(s\)时的价值大小。这个值可以评估一个状态的好坏并指导智能体选择动作。公式描述::

\[\begin{align*} V_\pi(s)&=E_\pi[G_t|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\cdots|S_t=s]\end{align*}\]

值函数的另一类别,状态行为值函数简称行为值函数\(Q_\pi(s,a)\)。该指标表示,执行策略\(\pi\)时,针对当前状态\(s\)执行动作\(a\)时所获得的期望回报;也表示遵循策略\(\pi\)时,对当前状态\(s\)执行行为\(a\)的价值大小。公式描述:

\[\begin{align*} Q_\pi(s,a)&=E_\pi[G_t|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\cdots|S_t=s,A_t=a]\end{align*}\]

贝尔曼期望方程

对状态值函数\(V_\pi(s)\)定义的公式进行推导:

\[\begin{align*} V_\pi(s)&=E_\pi[G_t|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma (R_{t+2}+\gamma R_{t+3}+\cdots)|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma G_{t+1}|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma V(S_{t+1})|S_t=s] \end{align*}\]

在最后一行将\(G_{t+1}\)变为\(V(S_{t+1})\),表示回报的期望等于回报期望的期望。可以发现\(V_\pi(s)\)分解为两部分:第一项为该状态下立即回报的期望,为常数项;第二项为下一时刻转台值函数的折扣期望。
同理,\(Q_\pi(s,a)\)的贝尔曼方程期望方程为:

\[\begin{align*} Q_\pi(s,a)&=E_\pi[G_t|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma Q_\pi(S_{t+1},A_{t+1})|S_t=s,A_t=a]\end{align*}\]

以上为贝尔曼方程的最初形式。贝尔曼方程有四种不同的表达形式,分别给出了状态值函数、行为值函数之间存在的关系。

  1. 基于状态\(s\)采取动作\(a\),求取\(V_\pi(s)\)
    在遵循策略\(\pi\)时,状态\(s\)的值函数体现为在该状态下,采取所有可能行为的价值\(Q_pi(s,a)\)(行为值函数)与行为发生概率\(\pi(a|s)\)的乘积之和。表达式:

\[V_\pi(s)=\sum_{a\in A}\pi(a|s)Q_\pi(s,a) \]

  1. 采取行动\(a\),状态转变为\(s'\),求取\(Q_\pi(s,a)\)
    类似的,在遵循策略\(\pi\)时,行为状态价值\(Q_\pi(s,a)\)体现为两项之和。第一项为采取行为\(a\)后立即获得的回报\(R^a_s\),第二项是所有可能的状态值\(V_\pi(s')\)乘以状态转移概率\(P^a_{ss'}\)带衰减求和。表达式:

\[Q_\pi(s,a)=R^a_s+\gamma\sum_{s'\in S}P^a_{ss'}V_\pi(s') \]

  1. 基于状态\(s\)采取动作\(a\),状态转变为\(s'\),求取\(V_\pi(s)\)
    结合12,可得到\(V_\pi(s)\)第二种表达式:

\[V_\pi(s)=\sum_{a\in A}\pi(a|s)\left(R^a_s+\gamma\sum_{s'\in S}P^a_{ss'}V_\pi(s')\right) \]

  1. 采取行动\(a\),状态转变为\(s'\),采取行动\(a'\),求取\(Q_\pi(s,a)\)
    结合12,可得到\(Q_\pi(s,a)\)第二种表达式:

\[Q_\pi(s,a)=R^a_s+\gamma\sum_{s'\in S}P^a_{ss'}\sum_{a'\in A}\pi(a'|s')Q_\pi(s',a') \]

贝尔曼最优方程

最优值函数\(V^*(s)\)是指在所有策略中最大的值函数,即:

\[V^*(s)=\underset{\pi}{\max}V_\pi(s),\ \ s\in S \]

相应的,最优行为值函数\(Q^*(s,a)\)是指所有策略中最大的行为值函数,即:

\[Q^*(s,a)=\underset{\pi}{\max}Q_\pi(s,a),\ \ s\in S \]

贝尔曼最优方程也有四种表达式,体现了最优状态值函数、行为值函数之间的关系。

  1. 基于状态\(s\)采取动作\(a\),求取\(V^*(s)\)
    当前状态的最优质函数\(V^*(s)\)等于从该状态\(s\)出发,采取的所有行为中对应的那个最大的行为值函数。

\[V^*(s)=\underset{a}{\max}Q^*(s,a) \]

  1. 采取行动\(a\),状态转变为\(s'\),求取\(Q^*(s,a)\)
    在状态\(s\)下,采取某个行为的最优价值\(Q^*(s,a)\)。由两部分组成,第一部分是离开状态\(s\)的立即回报\(R_s^a\),另一部分是所有能到达状态\(s'\)的最优状态价值\(V^*(s')\)按出现概率求和:

\[Q^*(s,a)=R_s^a+\gamma\sum_{s'\in S}P^a_{ss'}V^*(s') \]

  1. 基于状态\(s\)采取动作\(a\),状态转变为\(s'\),求取\(V^*(s)\)
    结合12,可得到\(V^*(s)\)第二种表达式:

\[V^*(s)=\underset{a}{\max}R^a_s+\gamma\sum_{s'\in S}P^a_{ss'}V^*(s) \]

  1. 采取行动\(a\),状态转变为\(s'\),采取行动\(a'\),求取\(Q^*(s,a)\)
    结合12,可得到\(Q^*(s,a)\)第二种表达式:

\[Q^*(s,a)=R^a_s+\gamma\sum_{s'\in S}P^a_{ss'}Q^*(s',a') \]

最优策略

强化学习的目标是找到最优策略\(\pi\),使得该策略下的累积回报期望最大。
对于任何状态\(s\),当且仅当遵循策略\(\pi\)的价值不小于遵循策略\(\pi'\)的价值时,则称策略\(\pi\)由于\(\pi'\),即

\[\pi\geqslant\pi',\ \ V_\pi(s)\geqslant V_{\pi'}(s), \ \ \forall s \]

对于任意MDP,存在一个最优策略满足:

\[\pi^*\geqslant\pi,\ \ \forall\pi \]

每个策略对应着一个状态值函数,最优策略自然对应着最优值函数。因此,一旦有了\(V^*\),基于每一个状态\(s\),做一步搜索,一部搜索之后,出现的最优行为将是最优的,对应的最优行为集合就是最优策略:

\[\pi^*=(a|s)=\underset{a\in A}{argmax}R^a_s+\gamma\sum_{s'\in S}P^a_{ss'}V^*(s') \]

如果有了最优行为值函数\(Q^*(s,a)\),则求解最优策略将变得更为方便。对于任意状态\(s\)直接找到最大化\(Q^*(s,a)\)对应的行为,最优策略求取公式:

\[\pi^*=(a|s)=\begin{cases} 1 \ \ a=\underset{a\in A}{argmax}Q^*(s,a) \\ 0\ \ other \end{cases}\]

对于任何MDP问题,总存在一个确定性的最优策略,找到最优行为价值函数相当于找到最优策略。
在同一个状态\(s\)下,会存在多个行为\(a\),每一个行为分别对应一个行为值函数\(Q(s,a)\)。若在当前状态\(s\)下,有\(m\)个行为值函数相等且取值最大,则其对应的行为概率均为\(\frac{1}{m}\)

参考文献

[1] 邹伟.强化学习[M].北京: 清华大学出版社, 2020.

posted @ 2023-07-13 10:55  zh-jp  阅读(154)  评论(0编辑  收藏  举报