David Silver强化学习Lecture2:马尔可夫决策过程



课件Lecture 2: Markov Decision Processes

视频David Silver深度强化学习第2课 - 简介 (中文字幕)


马尔可夫过程

马尔可夫决策过程简介

马尔可夫决策过程(Markov Decision Processes, MDPs)形式上用来描述强化学习中的环境.

其中,环境是完全可观测的(fully observable),即当前状态可以完全表征过程.

几乎所有的强化学习问题都能用MDPs来描述:

  • 最优控制问题可以描述成连续MDPs;
  • 部分观测环境可以转化成MDPs;
  • 赌博机问题是只有一个状态的MDPs.

马尔可夫性质

马尔科夫性质(Markov Property)表明: 未来只与现在有关,而与过去无关.


状态转移矩阵

对于一个马尔可夫状态\(S\)及其后继状态\(S'\),其状态转移概率由下式定义:
\[
\mathcal { P } _ { s s ^ { \prime } } = \mathbb { P } \left[ S _ { t + 1 } = s ^ { \prime } | S _ { t } = s \right]
\]

状态转移矩阵(State Transition Matrix)\(\mathcal{P}\)定义了从所有状态\(S\)转移到所有后继状态\(S'\)的概率.

\[
\mathcal { P } = \left[ \begin{array} { c c c } { \mathcal { P } _ { 11 } } & { \dots } & { \mathcal { P } _ { 1 n } } \\ { \vdots } & { } & { } \\ { \mathcal { P } _ { n 1 } } & { \cdots } & { \mathcal { P } _ { n n } } \end{array} \right]
\]

其中,\(n\)为状态个数,且矩阵的每行和为1.


马尔可夫过程

马尔可夫过程(Markov Process)是一个无记忆的随机过程(memoryless random process).

即,随机状态\(S_1, S_2, \dots\)序列具有马尔可夫性质.

马尔可夫过程(或马尔可夫链)是一个二元组\(<\mathcal{S}, \mathcal{P}>\)

  • \(\mathcal{S}\): (有限)状态集
  • \(\mathcal{P}\): 状态转移概率矩阵, \(\mathcal { P } _ { s s ^ { \prime } } = \mathbb { P } \left[ S _ { t + 1 } = s ^ { \prime } | S _ { t } = s \right]\)

圆圈代表状态, 箭头代表状态之间的转移, 数值代表转移概率.

状态转移矩阵\(\mathcal{P}\)如下:
\[
{\mathcal P} =\begin{bmatrix} & C1 & C2 & C3 & Pass & Pub & FB & Sleep\\ C1 & &0.5 & & & & 0.5 & \\ C2 & & & 0.8 & & & &0.2\\ C3 & & & & 0.6& 0.4& &\\ Pass & & & & & & &1.0\\ Pub &0.2 & 0.4& 0.4 & & & &\\ FB &0.1 & & & & & 0.9 &\\ Sleep & & & & & & &1.0 \end{bmatrix}
\]


马尔可夫奖励过程

马尔可夫奖励过程(Markov Reward Process, MRP)带有奖励的马尔可夫链.

马尔可夫奖励过程是一个四元组<\(\mathcal{S}\), \(\mathcal{P}\), \(\mathcal{R}\), \(\mathcal{\gamma}\)>

  • \(\mathcal{S}\): (有限)状态集
  • \(\mathcal{P}\): 状态转移概率矩阵, \(\mathcal { P } _ { s s ^ { \prime } } = \mathbb { P } \left[ S _ { t + 1 } = s ^ { \prime } | S _ { t } = s \right]\)
  • \(\mathcal{R}\): 奖励函数, \(\mathcal { R } _ { s } = \mathbb { E } \left[ R _ { t + 1 } | S _ { t } = s \right]\)
  • \(\gamma\): 折扣因子, \(\gamma \in [ 0,1 ]\)

回报

回报(Return) \(G_t\) 是从时间 \(t\) 开始的总折扣奖励.
\[ G _ { t } = R _ { t + 1 } + \gamma R _ { t + 2 } + \ldots = \sum _ { k = 0 } ^ { \infty } \gamma ^ { k } R _ { t + k + 1 } \]

  • 折扣因子 \(\gamma \in [ 0,1 ]\) 表示未来的奖励在当前的价值. 由于未来的奖励充满不确定性, 因此需要乘上折扣因子;
  • \(\gamma\) 接近 \(0\) 表明更注重当前的奖励(myopic);
  • \(\gamma\) 接近 \(1\) 表明更具有远见(far-sighted).

值函数

值函数(Value Function) \(v(s)\) 表示一个状态 \(s\) 的长期价值(long-term value).

一个马尔可夫奖励过程(MRP)的状态值函数 \(v(s)\)是从状态 \(s\) 开始的期望回报.
\[v ( s ) = \mathbb { E } \left[ G _ { t } | S _ { t } = s \right]\]


MRPs的贝尔曼方程

值函数可以被分解为两部分:

  • 立即奖励 \(R_{t+1}\)
  • 后继状态的折扣价值 \(\gamma v(S_{t+1})\)

\[
\begin{aligned}
v ( s ) & = \mathbb { E } \left[ G _ { t } | S _ { t } = s \right] \\
& = \mathbb { E } \left[ R _ { t + 1 } + \gamma R _ { t + 2 } + \gamma ^ { 2 } R _ { t + 3 } + \ldots | S _ { t } = s \right] \\
& = \mathbb { E } \left[ R _ { t + 1 } + \gamma \left( R _ { t + 2 } + \gamma R _ { t + 3 } + \ldots \right) | S _ { t } = s \right] \\
& = \mathbb { E } \left[ R _ { t + 1 } + \gamma G _ { t + 1 } | S _ { t } = s \right] \\
& = \mathbb { E } \left[ R _ { t + 1 } | S _ { t } = s \right] + \mathbb { E } \left[ \gamma G _ { t + 1 } | S _ { t } = s \right]\\
& = \mathbb { E } \left[ R _ { t + 1 } | S _ { t } = s \right] + \gamma v \left( S _ { t + 1 } \right)\\
& = \mathbb { E } \left[ R _ { t + 1 } + \gamma v \left( S _ { t + 1 } \right) | S _ { t } = s \right]
\end{aligned}
\tag{1}
\label{eq:mrp-bellman-equation}
\]

上式表明, \(t\) 时刻的状态 \(S_t\) 和 \(t+1\) 时刻的状态 \(S_{t+1}\) 的值函数之间满足递推关系.

该递推式也称为贝尔曼方程(Bellman Equation).

如果已知概率转移矩阵 \(\mathcal{P}\), 则可将公式\eqref{eq:mrp-bellman-equation}变形为:

\[
v ( s ) = \mathcal { R } _ { s } + \gamma \sum _ { s ^ { \prime } \in \mathcal { S } } \mathcal { P } _ { s s ^ { \prime } } v \left( s ^ { \prime } \right)
\tag{2}
\label{eq:mrp-bellman-equation-2}
\]

例子:

贝尔曼方程的矩阵形式:

可将公式\eqref{eq:mrp-bellman-equation-2}改写为矩阵形式:

\[
v = \mathcal { R } + \gamma \mathcal { P } v
\]

其中, \(v\) 为一个列向量, 向量的元素为每个状态的值函数.

\[
\left[ \begin{array} { c } { v ( 1 ) } \\ { \vdots } \\ { v ( n ) } \end{array} \right] = \left[ \begin{array} { c } { \mathcal { R } _ { 1 } } \\ { \vdots } \\ { \mathcal { R } _ { n } } \end{array} \right] + \gamma \left[ \begin{array} { c c c } { \mathcal { P } _ { 11 } } & { \ldots } & { \mathcal { P } _ { 1 n } } \\ { \vdots } & { } & { } \\ { \mathcal { P } _ { n1 } } & { \ldots } & { \mathcal { P } _ { n n } } \end{array} \right] \left[ \begin{array} { c } { v ( 1 ) } \\ { \vdots } \\ { v ( n ) } \end{array} \right]
\]

观测贝尔曼方程的矩阵形式, 可知其为线性方程, 可直接求解如下.

\[
\begin{aligned}
v & = \mathcal { R } + \gamma \mathcal { P } v \( I - \gamma \mathcal { P } ) v & = \mathcal { R } \v & = ( I - \gamma \mathcal { P } ) ^ { - 1 } \mathcal { R }
\end{aligned}
\]

计算复杂度为: \(\mathcal{O}(n^3)\). 因此, 只适合直接求解小规模的MRP问题.

对于大规模的MRP问题, 通常采取以下的迭代方法:

  • 动态规划(Dynamic programming)
  • 蒙特卡洛评估(Monte-Carlo evaluation)
  • 时序差分学习(Temporal-Difference learning)

马尔可夫决策过程

马尔可夫决策过程(Markov Decision Process, MDP)带有决策的马尔可夫奖励过程.

马尔可夫决策过程是一个五元组<\(\mathcal{S}\), \(\mathcal{A}\), \(\mathcal{P}\), \(\mathcal{R}\), \(\mathcal{\gamma}\)>

  • \(\mathcal{S}\): 有限的状态集
  • \(\mathcal{A}\): 有限的动作集
  • \(\mathcal{P}\): 状态转移概率矩阵, \(\mathcal { P } _ { s s ^ { \prime } } ^ {a}= \mathbb { P } \left[ S _ { t + 1 } = s ^ { \prime } | S _ { t } = s, A _ { t } = a \right]\)
  • \(\mathcal{R}\): 奖励函数, \(\mathcal { R } _ { s } ^ {a} = \mathbb { E } \left[ R _ { t + 1 } | S _ { t } = s, A _ { t } = a \right]\)
  • \(\gamma\): 折扣因子, \(\gamma \in [ 0,1 ]\)

例子:


策略

策略(Policy) \(\pi\) 是给定状态的动作分布.
\[ \pi ( a | s ) = \mathbb { P } \left[ A _ { t } = a | S _ { t } = s \right] \]

  • 策略完全决定智能体的行为;
  • MDP策略值依赖于当前状态(无关历史);
  • 策略是固定的(与时间无关). \(A _ { t } \sim \pi ( \cdot | S _ { t } ) , \forall t > 0\)

给定一个马尔可夫决策过程 \(M = <\mathcal{S},\mathcal{A}, \mathcal{P}, \mathcal{R}, \mathcal{\gamma}>\) 和 一个策略 \(\pi\), 其可以转化为马尔可夫过程马尔可夫奖励过程.

  • 状态序列 \(S_1, S_2, \dots\) 是马尔科夫决策过程 \(<\mathcal{S}, \mathcal{P}^{\pi}>\).
  • 状态和奖励序列 \(S_1, R_2, S_2, \dots\) 是马尔科夫奖励过程 \(<\mathcal{S}, \mathcal{P}^{\pi}, \mathcal{R}^{\pi}, \gamma>\).

其中,

\[
\mathcal{P}_{s,s'}^{\pi} = \sum \limits_{a \in \mathcal{A}} \pi (a | s) \mathcal{P}_{ss'}^{a}
\]

\[
\mathcal{R}_{s}^{\pi} = \sum \limits_{a \in \mathcal{A}} \pi (a | s) \mathcal{R}_{s}^{a}
\]


值函数

值函数(Value Function)可分为状态值函数(state-value function)动作值函数(action-value function).

MDP的状态值函数 \(v_{\pi}(s)\) 是从状态 \(s\) 开始, 然后按照策略 \(\pi\) 决策所获得的期望回报.
\[v_{\pi}(s) = \mathbb{E}_{\pi} \left[ G_t | S_t = s \right]\]

MDP的动作值函数 \(q_{\pi}(s, a)\) 是从状态 \(s\) 开始, 采取动作 \(a\), 然后按照策略 \(\pi\) 决策所获得的期望回报.
\[q_{\pi}(s, a) = \mathbb{E}_{\pi} \left[ G_t | S_t = s, A_t = a \right]\]


贝尔曼期望方程

状态值函数可以被分解为两部分, 立即奖励 + 后继状态的折扣价值.

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

动作值函数也可以类似地分解.

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



上图中, 空心圆圈代表状态, 实心圆圈代表动作.

在已知策略 \(\pi\) 的情况下, 状态值函数 \(v_{\pi}(s)\) 可以用动作值函数 \(q_{\pi}(s, a)\) 进行表示:

\[
v_{\pi}(s) = \sum \limits_{a \in \mathcal{A}} \pi(a | s) q_{\pi}(s, a)
\tag{3}
\label{eq:mdp-state-value-function}
\]



同理, 动作值函数 \(q_{\pi}(s, a)\) 也可以用状态值函数 \(v_{\pi}(s)\) 进行表示:

\[
q_{\pi}(s, a) = \mathcal{R}_{s}^{a} + \gamma \sum \limits_{s' \in \mathcal{S}} \mathcal{P}_{ss'}^{a}v_{\pi}(s')
\tag{4}
\label{eq:mdp-action-value-function}
\]



状态值函数的贝尔曼期望方程:

将公式\eqref{eq:mdp-action-value-function}代入公式\eqref{eq:mdp-state-value-function}中, 可得状态值函数的贝尔曼期望方程:

\[
v_{\pi}(s) = \sum \limits_{a \in \mathcal{A}} \pi (a | s) \left( \mathcal{R}_{s}^{a} + \gamma \sum \limits_{s' \in \mathcal{S}} \mathcal{P}_{ss'}^{a} v_{\pi}(s') \right)
\]



动作值函数的贝尔曼期望方程:

将公式\eqref{eq:mdp-state-value-function}代入公式\eqref{eq:mdp-action-value-function}中, 可得动作值函数的贝尔曼期望方程:

\[
q_{\pi}(s, a) = \mathcal{R}_{s}^{a} + \gamma \sum \limits_{s' \in \mathcal{S}} \mathcal{P}_{ss'}^{a} \sum \limits_{a' \in \mathcal{A}} \pi (a' | s') q_{\pi}(s', a')
\]



例子:



贝尔曼期望方程的矩阵形式:

\[
v_{\pi} = \mathcal{R}^{\pi} + \gamma \mathcal{P}^{\pi} v_{\pi}
\]

可直接求解:

\[
v_{\pi} = (I - \gamma \mathcal{P}^{\pi})^{-1} \mathcal{R}^{\pi}
\]


最优值函数

最优状态值函数(optimal state-value function) \(v_{*}(s)\) 是所有策略中最大的值函数.
\[ v_{*}(s) = \max \limits_{\pi}v_{\pi}(s) \]

最优动作值函数(optimal action-value function) \(v_{*}(s)\) 是所有策略中最大的动作值函数.
\[ q_{*}(s, a) = \max \limits_{\pi}q_{\pi}(s, a) \]

  • 最优值函数代表了MDP的最好性能.
  • 当得知最优值函数时, MDP可被认为"已解决".


例子:



例子:

注: 根据公式\eqref{eq:mdp-state-value-function}, Pub动作的最优值应为 \(q_{*} = +1 + (0.2 \times 6 + 0.4 \times 8 + 0.4 \times 10) = 9.4\).


最优策略

首先定义策略之间的偏序关系, 使得策略之间可以进行比较:

\[
\pi \geq \pi ' \quad \text{if} \quad v_{\pi}(s) \geq v_{\pi '}(s) , \forall s
\]

对于任意的MDP来说:

  • 存在一个最优策略 \(\pi_{\*}\), 使得 \(\pi_{\*} \geq \pi, \forall \pi\)
  • 所有的最优策略都能取得最优值函数 \(v_{\pi_{\*}}(s) = v_{\*}(s)\)
  • 所有的最优策略都能取得最优动作值函数 \(q_{\pi_{\*}}(s, a) = v_{\*}(s, a)\)


寻找最优策略

一个最优策略可以通过最大化所有的 \(q_{\*}(s, a)\) 得到:

\[
\pi_{*} \left( a | s \right) = \left \{
\begin{array}{ll}
1 \ if \ a = \operatorname*{argmax} \limits_{a \in \mathcal{A}} \ q_{*} \left( s,a \right) \\
0 \ otherwise
\end{array} \right.
\]

  • 对于任意的MDP, 总存在确定的最优策略
  • 如果我们知道 \(q_{\*}(s, a)\), 则可以立即得到最优策略


例子:

图中红色弧线表示每个状态的最优决策.


贝尔曼最优方程

\(v_{\*}\)可以通过贝尔曼最优方程递归得到:

\[
v_{*}(s) = \max \limits_{a} q_{*}(s, a)
\tag{5}
\label{eq:state-bellman-optimal-equation}
\]

与公式\eqref{eq:mdp-state-value-function}的贝尔曼期望方程进行比较, 此时不再取均值, 而是取最大值.



\(q_{\*}\)与公式\eqref{eq:mdp-action-value-function}类似:

\[
q _ { * } ( s , a ) = \mathcal { R } _ { s } ^ { a } + \gamma \sum _ { s ^ { \prime } \in \mathcal { S } } \mathcal { P } _ { s s ^ { \prime } } ^ { a } v _ { * } \left( s ^ { \prime } \right)
\tag{6}
\label{eq:action-bellman-optimal-equation}
\]



状态值函数的贝尔曼最优方程

将公式\eqref{eq:action-bellman-optimal-equation}代入公式\eqref{eq:state-bellman-optimal-equation}可得 \(v_{*}\) 的贝尔曼最优方程:

\[
v _ { * } ( s ) = \max _ { a } \mathcal { R } _ { s } ^ { a } + \gamma \sum _ { s ^ { \prime } \in \mathcal { S } } \mathcal { P } _ { s s ^ { \prime } } ^ { a } v _ { * } \left( s ^ { \prime } \right)
\]



动作值函数的贝尔曼最优方程

将公式\eqref{eq:state-bellman-optimal-equation}代入公式\eqref{eq:action-bellman-optimal-equation}可得 \(q_{*}\) 的贝尔曼最优方程:

\[
q _ { * } ( s , a ) = \mathcal { R } _ { s } ^ { a } + \gamma \sum _ { s ^ { \prime } \in \mathcal { S } } \mathcal { P } _ { s s ^ { \prime } } ^ { a } \max _ { a ^ { \prime } } q _ { * } \left( s ^ { \prime } , a ^ { \prime } \right)
\]



例子:


贝尔曼最优方程的求解

贝尔曼最优方程不是线性的(因为有取\(max\)操作), 因此没有封闭解(Closed-form solution).

通常采用迭代求解方法:

  • 值迭代(Value Iteration)
  • 策略迭代(Policy Iteration)
  • Q-Learning
  • Sarsa

MDP的扩展

  • 无穷和连续的MDPs
  • 部分可观测的MDPs
  • 不折扣, 平均奖励MDPs

原文地址:https://www.cnblogs.com/orzyt/p/10449750.html

时间: 2024-08-12 06:19:09

David Silver强化学习Lecture2:马尔可夫决策过程的相关文章

【强化学习】马尔可夫决策过程(MDP)基本原理

\1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是马尔可夫性(无后效性),也就是指系统的下个状态只与当前状态信息有关,而与更早之前的状态无关. 马尔可夫决策过程(Markov Decision Process, MDP)也具有马尔可夫性,与上面不同的是MDP考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关.还是举下棋的例子,

David Silver强化学习Lecture1:强化学习简介

课件:Lecture 1: Introduction to Reinforcement Learning 视频:David Silver深度强化学习第1课 - 简介 (中文字幕) 强化学习的特征 作为机器学习的一个分支,强化学习主要的特征为: 无监督,仅有奖励信号: 反馈有延迟,不是瞬时的; 时间是重要的(由于是时序数据,不是独立同分布的); Agent的动作会影响后续得到的数据; 强化学习问题 奖励(Rewards) 奖励 \(R_t\) 是一个标量的反馈信号,表示Agent在 \(t\) 时

强化学习(二):马尔可夫决策过程

Finite Markov Decision Process 马尔可夫决策过程(MDP)是对连续决策进行建模,当前的动作不仅对当前产生影响,而且还会对将来的的情况产生影响,如果从奖励的角度,即MDP不仅影响即时的奖励,而且还会影响将来的长期奖励,因此,MDP需要对即时奖励与长期奖励的获得进行权衡. The Agent-Environment Interface MDP定义了从交互中学习的框架,决策者(或称为学习者)称为Agent,那与agent交互的所有统称为environment. 二者是连续

【cs229-Lecture16】马尔可夫决策过程

之前讲了监督学习和无监督学习,今天主要讲"强化学习". 马尔科夫决策过程:Markov Decision Process(MDP) 价值函数:value function 值迭代:value iteration(算法,解决MDP) 政策迭代:policy iteration(算法,解决MDP) 什么是强化学习? 强化学习(reinforcement learning,又称再励学习,评价学习)是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用.但在传统的机器学习分类中没

【RL系列】马尔可夫决策过程——状态价值评价与动作价值评价的统一

请先阅读上两篇文章: [RL系列]马尔可夫决策过程中状态价值函数的一般形式 [RL系列]马尔可夫决策过程与动态编程 状态价值函数,顾名思义,就是用于状态价值评价(SVE)的.典型的问题有"格子世界(GridWorld)"游戏(什么是格子世界?可以参考:Dynamic programming in Python),高尔夫游戏,这类问题的本质还是求解最优路径,共性是在学习过程中每一步都会由一个动作产生一个特定的状态,而到达该状态所获得的奖励是固定的,与如何到达,也就是之前的动作是无关的,并

马尔可夫决策过程

概述 现在我们开始讨论增强学习(RL,reinforcement learning)和自适应控制( adaptive control).在监督式学习中,我们的算法总是尝试着在训练集合中使预测输出尽可能的模仿(mimic)实际标签y(或者潜在标签).在这样的设置下,标签明确的给出了每个输入x的正确答案.然而,对于许多序列决策和控制问题(sequential decision making and control problems),很难提供这样的明确的监督式学习.比如我们现在正在做一个四条腿的机器

马尔可夫决策过程MDP

1. 马尔可夫模型的几类子模型 马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是马尔可夫性(无后效性),也就是指系统的下个状态只与当前状态信息有关,而与更早之前的状态无关. 马尔可夫决策过程(Markov Decision Process, MDP)也具有马尔可夫性,与上面不同的是MDP考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关.还是举下棋的例子,当我们在某个局面

&lt;强化学习&gt;马尔可夫决策过程MDP

1.MDP  / NFA    :马尔可夫模型和不确定型有限状态机的不同 状态自动机:https://www.cnblogs.com/AndyEvans/p/10240790.html MDP和NFA唯一相似的地方就是它们都有状态转移,抛掉这一点两者就八竿子打不着了. 2.MP  -> MRP -> MDP 3.计算给定策略下的价值函数 / 贝尔曼期望方程 我们用贝尔曼期望方程求解在某个给定策略π和环境ENV下的价值函数: 具体解法是:(下面是对于V(s)的解法) 从而对于每一个特定的π,都能

论文:利用深度强化学习模型定位新物体(VISUAL SEMANTIC NAVIGATION USING SCENE PRIORS)

这是一篇被ICLR 2019 接收的论文.论文讨论了如何利用场景先验知识 (scene priors)来定位一个新场景(novel scene)中未曾见过的物体(unseen objects).举例来说,在「厨房」这一场景中,有一张图片显示「苹果」在冰箱的储物架上,同为水果的物体,如「橙子」,会出现在场景的哪个位置呢?论文提出了用基于强化学习的方法来定位「橙子」. 论文:VISUAL SEMANTIC NAVIGATION USING SCENE PRIORS 论文作者:Wei Yang , X