马尔科夫决策过程

求解强化学习问题能够理解为如何最大化个体在与环境交互过程当中得到的累积奖励。环境 的动力学特征肯定了个体在交互时的状态序列和即时奖励,环境的状态是构建环境动力学特征 所须要的全部信息。当环境状态是彻底可观测时,个体能够经过构建马尔科夫决策过程来描述整个强化学习问题。有时候环境状态并非彻底可观测的,此时个体能够结合自身对于环境的历史 观测数据来构建一个近似的彻底可观测环境的描述。从这个角度来讲,几乎全部的强化学习问题 均可以被认为或能够被转化为马尔科夫决策过程。正确理解马尔科夫决策过程当中的一些概念和 关系对于正确理解强化学习问题很是重要。函数

马尔科夫过程

在一个时序过程当中,若是 \(t + 1\) 时刻的状态仅取决于 \(t\) 时刻的状态 \(S_{t}\) 而与 \(t\) 时刻以前的任何状态都无关时,则认为 \(t\) 时刻的状态 \(S_t\) 具备马尔科夫性 (Markov property)。若过程当中的每一 个状态都具备马尔科夫性,则这个过程具有马尔科夫性。具有了马尔科夫性的随机过程称为马尔科夫过程 (Markov process),又称马尔科夫链 (Markov chain)。马尔科夫过程当中的每个状态 \(S_t\) 记录了过程历史上全部相关的信息,并且一旦 St 肯定了,那么历史状态信息 S1 ...St−1 对于确 定 St+1 均再也不重要,无关紧要。学习

描述一个马尔科夫过程的核心是状态转移几率矩阵:spa

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

公式 (2.1) 中的状态转移几率矩阵定义了从任意一个状态 \(s\) 到其全部后继状态 \(s’\) 的状态转移几率:翻译

\[P=from\overset{to}{\left| \begin{matrix} P_{11}& .& .& .& P_{1n}\\ .& & & & \\ .& & & & \\ .& & & & \\ P_{n1}& .& .& .& Pnn\\ \end{matrix} \right|}\ \ \ \ \ \ \ \ \ \ \left( 2.2 \right) \]

其中,矩阵 \(P\) 中每一行的数据表示从某一个状态到全部 n 个状态的转移几率值。每一行的 这些值加起来的和应该为 1。例如第一行,\(P_{11}\).....\(P_{1n}\) 即从1号结点到 \(1\).......\(n\) 号结点的状态转移几率。其中,若是\(1\).......\(n\)存在一些结点不为\(1\)号结点的next结点,即对应的转移几率为零设计

一般使用一个元组 \(⟨S,P⟩\) 来描述马尔科夫过程,其中 \(S\) 是有限数量的状态集,\(P\) 是状态转移几率矩阵ci

图 2.1 描述了一个假想的学生学习一门课程的马尔科夫过程。在这个随机过程当中,学生须要 顺利完成三节课而且经过最终的考试来完成这门课程的学习。当学生处在第一节课中时,会有 50% 的概率拿起手机浏览社交软件信息,另有 50% 的概率完成该节课的学习进入第二节课。一 旦学生在第一节课中浏览手机社交软件信息,则有 90% 的可能性继续沉迷于浏览,而仅有 10% 的概率放下手机从新听讲第一节课。学生处在第二节课的时有 80% 的概率听完第二节课顺利进 入到第三节课的学习中,也有 20% 的概率因课程内容枯燥或难度较大而休息或者退出。学生在 学习第三节课内容后,有 60% 的概率经过考试继而 100% 的进入休息状态,也有 40% 的概率因 为过于兴奋而出去娱乐泡吧,随后可能由于忘掉了很多学到的东西而分别以 20%,40% 和 50% 的 几率须要从新返回第1、2、三节课中学习。get

上图中,咱们使用内有文字的空心圆圈来描述学生可能所处的某一个状态。这些状态有:第 一节课(C1)、第二节课(C2)、第三节课(C3)、泡吧中(Pub)、经过考试(Pass)、浏览手机 (FB)、以及休息退出(Sleep)共 7 个状态,其中最后一个状态是终止状态,意味着学生一旦进 入该状态则永久保持在该状态,或者说该状态的下一个状态将 100% 仍是该状态。链接状态的箭头表示状态转移过程,箭头附近的数字代表着发生箭头所示方向状态转移的几率。数学

image-20200703093007935
image-20200703093444030

从符合马尔科夫过程给定的状态转移几率矩阵生成一个状态序列的过程称为采样(sample)。 采样将获得一系列的状态转换过程,本书咱们称为状态序列 (episode)当状态序列的最后一个状态是终止状态时,该状态序列称为完整的状态序列 (complete episode)。本文中所指的状态序列大多数指的都是完整的状态序列。sample 对应着从 图2.1 到 4个状态序列 的过程。io

马尔科夫奖励过程

马尔科夫过程只涉及到状态之间的转移几率,并未触及强化学习问题中伴随着状态转换的奖励反馈。若是把奖励考虑进马尔科夫过程,则成为马尔科夫奖励过程(Markov reward process, MRP)。它是由 \(⟨S,P,R,γ⟩\) 构成的一个元组,其中:function

\(S\) 是一个有限状态集

\(P\) 是集合中状态转移几率矩阵:\(P_{ss'=P\left[ S_{t+1}=s'|S_t=s \right]}\)

​ R 是一个奖励函数:$R_s=E\left[ R_{t+1}|S_t=s \right] $

​ γ 是一个衰减因子:$γ ∈ [0,1] $

图 2.2 在图 2.1 的基础上在每个状态旁增长了一个奖励值,代表到达该状态后(或离开该状态时)学生能够得到的奖励,如此构成了一个学生马尔科夫奖励过程。

学生到达每个状态能得到多少奖励不是学生本身能决定的,而是由充当环境的授课老师或教务部门来肯定,从强化学习的角度来讲,奖励值由环境动力学肯定

image-20200703094303324

在该学生马尔科夫奖励 过程当中,授课老师的主要目的是但愿学生可以尽早的经过考试,于是给了“考试经过”这个状态 以正的较高的奖励(+10),而对于过程当中的其它状态多数给的是负奖励。虽然设定状态“泡吧 中”的奖励为 +1,但因为状态“泡吧中”随后的三个可能状态得到的奖励都低于 −1,于是能够认为授课教师并不十分赞在完成“第三节课”后出去泡吧。从学生的角度来讲,学生的目标是在学习一门课程的过程当中得到尽量多的累积奖励,对于这个例子来讲,也就是尽早的到达“考试 经过”这个状态进而进入“睡觉休息”这个终止状态,完成一个完整的状态序列。在强化学习中, 咱们给这个累计奖励一个新的名称“收获”。

收获(return)是一个马尔科夫奖励过程当中从某一个状态\(S_t\) 开始采样直到终止状态时全部奖励的有衰减的之和。数学表达式以下:

\[G_t=R_{t+1}+\gamma R_{t+2}+...=\sum_{k=0}^{\infty}{\gamma ^kR_{t+k+1}}\ \ \ \ \ \ \ \ \left( 2.3 \right) \]

收获有时也被翻译为回报。从式 (2.3) 中能够看出,收获是对应于状态序列中的某一时刻的状态,并计算从该状态开始直至结束还能得到的累积奖励。在一个状态序列中,不一样时刻的状态通常对应着不一样的收获。从该式中咱们还能够看出,收获并非后续状态的奖励的直接相加,而 是引入了一个取值范围在 \([0,1]\) 间的衰减系数 γ引入该系数使得后续某一状态对当前状态收获的贡献要小于其奖励。这样设计从数学上能够避免在计算收获时因陷入循环而没法求解,从现实 考虑也反映了远期奖励对于当前状态具备必定的不肯定性,须要折扣计算。当 γ 取 0 时,代表 某状态下的收获就是当前状态得到的奖励,不考虑后续状态,这属于“短视”行为,当 γ 取 1 时, 代表将考虑全部的后续状态,属于有“长远眼光”的行为。求解实际问题时,模型构建者可根据 实际问题的特色来设定 γ 值。这个式子须要注意的是,它是从\(R_{t+1}\)开始,能够理解为,从状态 \(t\) 出发后,环境会给它完成这个状态相应的奖励即\(R_{t+1}\)

​ 下文给出了学生马尔科夫过程当中四个状态序列的开始状态“第一节课”的收获值的计算,选 取 S1 =“第一节课”,γ = 0.5。

image-20200703104053339

能够认为,收获间接给状态序列中的每个状态设定了一个数据标签,反映了某状态的重要 程度。因为收获的计算是基于一个状态序列的,从某状态开始,根据状态转移几率矩阵的定义, 可能会采样生成多个不一样的状态序列,而依据不一样的状态序列获得的同一个状态的收获值通常不会相同。如何评价从不一样状态序列计算获得的某个状态的收获呢?此外,一个状态还可能存在 于一个状态序列的多个位置,能够参考学生马尔科夫过程的第四个状态序列中的状态“第一节 课”,此时在一个状态序列下同一个状态可能会有不一样的收获,如何理解这些不一样收获的意义呢? 不难看出收获对于描述一个状态的重要性还存在许多不方便的地方,为了准确描述一个状态的 重要性,咱们引入状态的“价值”这个概念。

价值(value) 是马尔科夫奖励过程当中状态收获的指望。ta 数学表达式为:

\[v\left( s \right) =E\left[ G_t|S_t=s \right] \ \ \ \ \ \ \ \left( 2.4 \right) \]

​ 从式 (2.4) 能够看出,一个状态的价值是该状态的收获的指望,也就是说从该状态开始依据 状态转移几率矩阵采样生成一系列的状态序列,对每个状态序列计算该状态的收获,而后对该 状态的全部收获计算平均值获得一个平均收获。当采样生成的状态序列越多,计算获得的平均收获就越接近该状态的价值,于是价值能够准确地反映某一状态的重要程度。

若是存在一个函数,给定一个状态能获得该状态对应的价值,那么该函数就被称为价值函数 (value function)。价值函数创建了从状态到价值的映射。

从状态的价值的定义能够看出,获得每个状态的价值,进而获得状态的价值函数对于求解强化学习问题是很是重要的。但经过计算收获的平均值来求解状态的价值不是一个可取的办法, 由于一个马尔科夫过程针对一个状态可能能够产生无穷多个不一样的状态序列。

​ 咱们对价值函数中的收获按照其定义进行展开:

\[v\left( s \right) =E\left[ G_t|S_t=s \right] \]

\[\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =E\left[ R_{t+1}+\gamma R_{t+2}+\gamma ^2R_{t+3}+...|S_t=s \right] \]

\[\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =E\left[ R_{t+1}+\gamma \left( R_{t+2}+\gamma R_{t+3}+... \right) |S_t=s \right] \]

\[\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =E\left[ R_{t+1}+\gamma G_{t+1}|S_t=s \right] \]

\[\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =R_{t+1}+E\left[ \gamma G_{t+1}|S_t=s \right] \]

\[\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =R_{t+1}+E\left[ \gamma E\left[ G_{t+1} \right] |S_t=s \right] \ \ \ \ \ \text{指望的性质:}E\left[ E\left[ x \right] \right] =E\left[ x \right] \]

\[\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =R_{t+1}+E\left[ \gamma v\left( S_{t+1} \right) |S_t=s \right] \ \ \ \ \text{根据}\left( 2.4 \right) \text{式} \]

\[\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =E\left[ R_{t+1}+\gamma v\left( S_{t+1} \right) |S_t=s \right] \]

最终获得:

\[v\left( s \right) =E\left[ R_{t+1}+\gamma v\left( S_{t+1} \right) |S_t=s \right]\ \ \ \ \ \ \ \ \ \ \ \ \ (2.5) \]

上式中,根据马尔科夫奖励过程的定义,\(S_{t+1}\)的指望就是其自身,由于每次离开同一个状态获得的奖励都是一个固定的值。而下一时刻状态价值的指望,能够根据下一时刻状态的几率分布获得。若是用 \(s′\) 表示 \(s\) 状态下一时刻任一可能的状态:

image-20200703112634075

那么上述方程能够写成:

\[v\left( s \right) =R_s+\gamma \sum_{s’\epsilon S}^{}{P_{ss’}v\left( s’ \right)}\ \ \ \ \ \left( 2.6 \right) \]

上式称为马尔科夫奖励过程当中的贝尔曼方程(Bellman equation),它提示一个状态的价值 由该状态的奖励以及后续状态价值按几率分布求和按必定的衰减比例联合组成。 其中,\(R_{s}\)与(2.5)式中 \(R_{t+1}\)一致,而 \(\sum_{s’\epsilon S}^{}{P_{ss’}v\left( s’ \right)}\)\(E\left[ v\left( S_{t+1} \right) \right]\) 一致,便是对指望公式的展开。

图 2.3 根据奖励值和衰减系数的设定给出了学生马尔科夫奖励过程当中各状态的价值,并对状 态“第三节课”的价值进行了验证演算。读者能够根据上述方程对其它状态的价值进行验证。

image-20200703114324457

上述 Bellman 方程能够写成以下矩阵的形式:

\[v=R+\gamma Pv\ \ \ \ \ \ \left( 2.7 \right) \]

它表示:

\[\left[ \begin{array}{c} v\left( 1 \right)\\ .\\ .\\ v\left( n \right)\\ \end{array} \right] =\left[ \begin{array}{c} R_1\\ .\\ .\\ R_n\\ \end{array} \right] +\gamma \left[ \begin{matrix} P_{11}& .& .& P_{1n}\\ .& & & .\\ .& & & .\\ P_{n1}& .& .& P_{nn}\\ \end{matrix} \right] \left[ \begin{array}{c} v\left( 1 \right)\\ .\\ .\\ v\left( n \right)\\ \end{array} \right] \ \ \ \ \ \ \ \ \ \left( 2.8 \right) \]

理论上,该方程能够直接求解:

\[v=R+\gamma Pv \]

\[\left( 1-\gamma P \right) v=R \]

\[v=\left( 1-\gamma P \right) ^{-1}R \]

计算这类问题的时间复杂度是 O(n3),其中 n 是状态的数量。这意味着,对于学生马尔科夫 奖励过程这类状态数比较少的小规模问题,直接求解是可行的,但若是问题涉及到的状态数量增 多,这种解法就不现实了。本书的后续章节会陆续介绍其它行之有效的求解方法。

在强化学习问题中,若是个体知道了每个状态的价值,就能够经过比较后续状态价值的大 小而获得自身努力的方向是那些拥有较高价值的状态,这样一步步朝着拥有最高价值的状态进 行转换。可是从第一章的内容咱们知道,个体须要采起必定的行为才能实现状态的转换,而状态 转换又与环境动力学有关。不少时候个体指望本身的行为可以到达下一个价值较高的状态,可是 它并不必定能顺利实现。这个时候个体更须要考虑在某一个状态下采起从全部可能的行为方案 中选择哪一个行为更有价值。要解释这个问题,须要引入马尔科夫决策过程、行为、策略等概念。

马尔科夫决策过程

马尔科夫奖励过程并不能直接用来指导解决强化学习问题,由于它不涉及到个体行为的选 择,所以有必要引入马尔科夫决策过程。马尔科夫决策过程(Markov decision process, MDP)是 由 \(⟨S,A,P,R,γ⟩\) 构成的一个元组,其中:

\(S\) 是一个有限状态集

\(A\) 是一个有限行为集

\(P\) 是集合中基于行为的状态转移几率矩阵:$P_{ss’}^{a}=P\left[ S_{t+1}=s’|S_t=s,A_t=a \right] $

R 是基于状态和行为的奖励函数:$R_{s}^{a}=E\left[ R_{t+1}|S_t=s,A_t=a \right] $

\(γ\) 是一个衰减因子:$γ ∈ [0,1] $

图 2.4 给出了学生马尔科夫决策过程的状态转化图。图中依然用空心圆圈表示状态,增长一 类黑色实心圆圈表示个体的行为。根据马尔科夫决策过程的定义,奖励和状态转移几率均与行为 直接相关,同一个状态下采起不一样的行为获得的奖励是不同的。此图还把 Pass 和 Sleep 状态 合并成一个终止状态;另外当个体在状态“第三节课”后选择”泡吧”这个动做时,将被环境按照动力学特征分配到另外三个状态。请注意,学生马尔科夫决策过程示例虽然与以前的学生马尔 科夫奖励过程示例有许多相同的状态,但二者仍是有很大的差异,建议读者将这两个示例彻底区 分开来理解。

马尔科夫决策过程因为引入了行为,使得状态转移矩阵和奖励函数与以前的马尔科夫奖励 过程有明显的差异。在马尔科夫决策过程当中,个体有根据自身对当前状态的认识从行为集中选择 一个行为的权利,而个体在选择某一个行为后其后续状态则由环境的动力学决定。

image-20200703173236426

个体在给定状态下从行为集中选择一个行为的依据则称为策略 (policy),用字母 \(π\) 表示。策略 \(π\) 是某一状态下基于行为集合的一个几率分布:

\[\pi \left( a|s \right) =P\left[ A_t=a|S_t=s \right] \ \ \ \ \ \left( 2.9 \right) \]

在马尔科夫决策过程当中,策略仅经过依靠当前状态就能够产生一个个体的行为,能够说策略仅与当前状态相关,而与历史状态无关。对于不一样的状态,个体依据同一个策略也可能产生不一样 的行为;对于同一个状态,个体依据相同的策略也可能产生不一样的行为。策略描述的是个体的行为产生的机制,是不随状态变化而变化的,被认为是静态的。

随机策略是一个很经常使用的策略,当个体使用随机策略时,个体在某一状态下选择的行为并不 肯定。借助随机策略,个体能够在同一状态下尝试不一样的行为。

当给定一个马尔科夫决策过程:\(M = ⟨S,A,P,R,γ⟩\) 和一个策略 \(π\),那么状态序列 \(S_1,S_2,...\) 是一个符合马尔科夫过程 \(⟨S,P_π⟩\) 的采样。相似的,联合状态和奖励的序列 $S_1,R_2,S_2,R_3,... $是一个符合马尔科夫奖励过程 \(⟨S,P_π,R_π,γ⟩\) 的采样,而且在这个奖励过程当中知足下面两个方程:

\[P_{s,s'}^{\pi}=\sum_{a\in A}^{}{\pi \left( a|s \right) P_{ss'}^{a}}\ \ \ \ \ \ \ \ \ \ \]

\[R_{s}^{\pi}=\sum_{a\in A}^{}{\pi \left( a|s \right) R_{s}^{a}}\ \ \ \ \ \left( 2.10 \right) \]

上述公式体现了马尔科夫决策过程当中一个策略对应了一个马尔科夫过程和一个马尔科夫奖 励过程。不难理解,同一个马尔科夫决策过程,不一样的策略会产生不一样的马尔科夫(奖励)过程, 进而会有不一样的状态价值函数。所以在马尔科夫决策过程当中,有必要扩展先前定义的价值函数。 [ 首先对于马尔科夫决策过程,从一个状态出发,而后选定某个行为,然后采起该行为后,环境会给你相应的奖励,最后会到达某一状态(状态 —> 行为 —> 状态 是能够多对多对多的)。譬如图2.4中,我能够选择泡吧或学习行为,当我选择泡吧这个行为后,有相应的奖励,同时也会进入不一样的状态。对于第一个式子,便是对采起不一样行为并进入不一样状态的几率总和,所以等同于在计算马尔科夫过程或奖励的状态转移函数,这是由于在马尔科夫过程或奖励中,它们没有行动的概念。对于第二个式子,便是采起不一样行为可得到不一样奖励的总和(指望)]

定义:价值函数 \(v_π(s)\) 是在马尔科夫决策过程下基于策略 π 的状态价值函数,表示从状态 \(s\) 开始,遵循当前策略 \(π\) 时所得到的收获的指望:

\[v_{\pi}\left( s \right) =E\left[ G_t|S_t=s \right] \ \ \ \ \ \ \left( 2.11 \right) \]

一样,因为引入了行为,为了描述同一状态下采起不一样行为的价值,咱们定义一个基于策略 \(π\)行为价值函数 \(q_π(s,a)\),表示在遵循策略 \(π\) 时,对当前状态 \(s\) 执行某一具体行为 \(a\) 所能的到 的收获的指望:

\[q_{\pi}\left( s,a \right) =E\left[ G_t|S_t=s,A_t=a \right] \ \ \ \ \ \ \left( 2.12 \right) \]

行为价值(函数)绝大多数都是与某一状态相关的,因此准确的说应该是状态行为对价值 (函数)。为了简洁,统一使用行为价值(函数)来表示状态行为对价值(函数),而状态价值 (函数)或价值(函数)多用于表示单纯基于状态的价值(函数)。

定义了基于策略 \(π\) 的状态价值函数和行为价值函数后,依据贝尔曼方程,咱们能够获得如 下两个贝尔曼指望方程:

\[v_{\pi}\left( s \right) =E\left[ R_{t+1}+\gamma v_{\pi}\left( S_{t+1} \right) |S_t=s \right] \ \ \ \ \ \ \ \left( 2.13 \right) \]

\[q_{\pi}\left( s,a \right) =E\left[ R_{t+1}+\gamma q_{\pi}\left( S_{t+1},A_{t+1} \right) |S_t=s,A_t=a \right] \ \ \ \ \ \ \ \ \left( 2.14 \right) \]

因为行为是链接马尔科夫决策过程当中状态转换的桥梁,一个行为的价值与状态的价值关系 紧密。具体表现为一个状态的价值能够用该状态下全部行为价值来表达:

\[v_{\pi}\left( s \right) =\sum_{a\in A}^{}{\pi \left( a|s \right) q_{\pi}\left( s,a \right)}\ \ \ \ \ \left( 2.15 \right) \]

image-20200703205815808

相似的,一个行为的价值能够用该行为所能到达的后续状态的价值来表达:

\[q_{\pi}\left( s,a \right) =R_{s}^{a}+\gamma \sum_{s'\in S}^{}{P_{ss'}^{a}v_{\pi}\left( s' \right)}\ \ \ \ \ \ \ \left( 2.16 \right) \]

image-20200703210231399

若是把上二式组合起来,能够获得下面的结果:

\[v_{\pi}\left( s \right) =\sum_{a\in A}^{}{\pi \left( a|s \right) \left( R_{s}^{a}+\gamma \sum_{s'\in S}^{}{P_{ss'}^{a}v_{\pi}\left( s' \right)} \right)}\,\,\,\,\,\,\,\,\,\,\left( 2.17 \right) \]

image-20200703210532393

或:

\[q_{\pi}\left( s,a \right) =R_{s}^{a}+\gamma \sum_{s'\in S}^{}{P_{ss'}^{a}}\sum_{a\in A}^{}{\pi \left( a'|s' \right) q_{\pi}\left( s',a' \right)}\ \ \ \ \ \ \ \ \left( 2.18 \right) \]

image-20200703211131318

图 2.5 给出了一个给定策略下学生马尔科夫决策过程的价值函数。每个状态下都有且仅有2 个实质可发生的行为,咱们的策略是两种行为以均等 (各 0.5) 的几率被选择执行,同时衰减因 子 \(γ = 1\)。图中状态“第三节课”在该策略下的价值为 7.4,能够由公式 (2.17) 计算得出。

image-20200703211352717

给定策略 \(π\) 下的 MDP 问题能够经过其衍生的 MRP 和 P 来求解。不一样的策略能够获得不 同的价值函数,这些价值函数之间的差异有什么意义?是否存在一个基于某一策略的价值函数, 在该策略下每个状态的价值都比其它策略下该状态的价值高?若是存在如何找到这样的价值 函数?这样的价值函数对应的策略又是什么策略?为了回答这些问题,咱们须要引入最优策略、 最优价值函数等概念。

解决强化学习问题意味着要寻找一个最优的策略让个体在与环境交互过程当中得到始终比其 它策略都要多的收获,这个最优策略用 \(\pi ^*\) 表示。一旦找到这个最优策略 \(\pi ^*\),那么就意味着该强 化学习问题获得了解决。寻找最优策略是一件比较困难的事情,可是能够经过比较两个不一样策略 的优劣来肯定一个较好的策略。

定义:最优状态价值函数(optimal value function)是全部策略下产生的众多状态价值函数 中的最大者

\[v_*=\underset{\pi}{\max}v_{\pi}\left( s \right) \ \ \ \ \ \ \ \ \left( 2.19 \right) \]

定义:最优行为价值函数(optimal action-value function)是全部策略下产生的众多行为价值函数中的最大者:

\[q_*\left( s,a \right) =\underset{\pi}{\max}q_{\pi}\left( s,a \right) \ \ \ \ \ \ \left( 2.20 \right) \]

定义:策略 \(π\) 优于 \(π′(π ⩾ π′)\),若是对于有限状态集里的任意一个状态 \(s\),不等式:\(v_π(s) ⩾ v_{π′}(s)\) 成立。

存在以下的结论:对于任何马尔科夫决策过程,存在一个最优策略 \(π_∗\) 优于或至少不差于全部其它策略。一个马尔科夫决策过程可能存在不止一个最优策略,但最优策略下的状态价值函数均等同于最优状态价值函数:\(v_{π_∗}(s) = v_∗(s)\);最优策略下的行为价值函数均等同于最优行为价值 函数:\(q_{π_∗}(s,a) = q_∗(s,a)\)

最优策略能够经过最大化最优行为价值函数 \(q_∗(s,a)\) 来得到:

image-20200703213113071

该式表示,在最优行为价值函数已知时,在某一状态 \(s\) 下,对于行为集里的每个行为 \(a\) 将 对应一个最优行为价值 \(q_∗(s,a)\),最优策略 \(π_∗(a|s)\) 将给予全部最优行为价值中的最大值对应的行为以 100% 的几率,而其它行为被选择的几率则为 0,也就是说最优策略在面对每个状态时将 老是选择可以带来最大最优行为价值的行为。这同时意味着,一旦获得 \(q_∗(s,a)\),最优策略也就找到了。所以求解强化学习问题就转变为了求解最优行为价值函数问题。

拿学生马尔科夫决策过程来讲,图 2.6 用粗虚箭头指出了最优策略,同时也对应了某个状态 下的最优行为价值。

在学生马尔科夫决策过程例子中,各状态以及相应行为对应的最优价值能够经过回溯法递推计算获得。其中,状态 \(s\) 的最优价值能够由下面的贝尔曼最优方程获得:

\[v_*\left( s \right) =\underset{a}{\max}q_*\left( s,a \right) \ \ \ \left( 2.22 \right) \]

image-20200703213652194
image-20200703214321189

公式 (2.22) 表示:一个状态的最优价值是该状态下全部行为对应的最优行为价值的最大值。 这不难理解,对于图 2.6 学生示例中的状态“第三节课”,能够选择的行为有“学习”和“泡吧” 两个,其对应的最优行为价值分别为 10 和 9.4,所以状态“第三节课”的最优价值就是二者中最 大的 10。

因为一个行为的奖励和后续状态并不禁个体决定,而是由环境决定,所以在状态 \(s\) 时选择行为 \(a\) 的最优行为价值将不能使用最大化某一可能的后续状态的价值来计算。它由下面的贝尔曼最优方程获得:

image-20200703214827700

公式 (2.23) 表示:一个行为的最优价值由两部分组成,一部分是执行该行为后环境给予的肯定的即时奖励,另外一部分则由全部后续可能状态的最优状态价值按发生几率求和乘以衰减系 数获得(环境决定的)。

一样在学生示例中,考虑学生在“第三节课”时选择行为“泡吧”的最优行为价值时,先计入 学生采起该行为后获得的即时奖励 +1,学生选择了该行为后,并不肯定下一个状态是什么,环 境根据必定的几率肯定学生的后续状态是“第一节课”、“第二节课”仍是“第三节课”。此时要 计算“泡吧”的行为价值势必不能取这三个状态的最大值,而只能取指望值了,也就是按照进入 各类可能状态的几率来估计总的最优价值,具体表现为 6∗0.2 + 8∗0.4 + 10∗0.4 = 8.4,考虑到 衰减系数 \(γ = 1\) 以及即时奖励为 +1,所以在第三节课后采起泡吧行为的最优行为价值 9.4。

能够看出,某状态的最优价值等同于该状态下全部的行为价值中最大者,某一行为的最优行 为价值能够由该行为可能进入的全部后续状态的最优状态价值来计算获得。若是把两者联系起 来,那么一个状态的最优价值就能够经过其后续可能状态的最优价值计算获得:

image-20200703215158801

相似的,最优行为价值函数也能够由后续的最优行为价值函数来计算获得:

image-20200703215346877

贝尔曼最优方程不是线性方程,没法直接求解,一般采用迭代法来求解,具体有价值迭代、 策略迭代、Q 学习、Sarsa 学习等多种迭代方法,后续几章将陆续介绍。

巨人的肩膀

https://zhuanlan.zhihu.com/reinforce

相关文章
相关标签/搜索