欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > [强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程-下

[强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程-下

2025/5/19 14:41:56 来源:https://blog.csdn.net/Sugerdadada/article/details/148050740  浏览:    关键词:[强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程-下

[强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程-下

    • 2.6 矩阵-向量形式
    • 2.7 求解状态值
      • 2.7.1 方法1:解析解
      • 2.7.2 方法2:数值解
      • 2.7.3 示例
    • 2.8 动作值
      • 2.8.1 示例
      • 2.8.2 基于动作值的贝尔曼方程

本人为强化学习小白,为了在后续科研的过程中能够较好的结合强化学习来做相关研究,特意买了西湖大学赵世钰老师撰写的《强化学习数学原理》中文版这本书,并结合赵老师的讲解视频来学习和更深刻的理解强化学习相关概念,知识和算法技术等。学习笔记是记录自己在看书和视频过程当中的一些自己的想法,通过基于书籍、视频和自己的话讲清楚相关理论知识和算法技术。希望能帮助到同样在学习强化学习的同学和同行等。
  • 由于笔记内容较多,因此分为上下两部分来记录。
  • 上半部分的笔记请点击这里: [强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程-上。
  • 本文章为西湖大学赵世钰老师《强化学习数学原理》中文版第2章 贝尔曼方程的下半部分学习笔记,在书中内容的基础上增加了自己的一些理解内容和相关补充内容。

2.6 矩阵-向量形式

联立每个状态的贝尔曼方程即可得到简洁的矩阵-向量(matrix-vector form),基于这种形式,可以更好的理解和分析贝尔曼方程。

矩阵-向量形式的推导过程如下:

  • 改写贝尔曼方程(12)为以下形式
    v π ( s ) = r π ( s ) + γ ∑ s ′ ∈ S p π ( s ′ ∣ s ) v π ( s ′ ) (13) v_{\pi}(s)=r_{\pi}(s)+\gamma\sum_{s'\in\mathcal{S}}p_{\pi}(s'|s)v_{\pi}(s')\tag{13} vπ(s)=rπ(s)+γsSpπ(ss)vπ(s)(13) 这里
    r π ( s ) ≐ ∑ a ∈ A π ( a ∣ s ) ∑ r ∈ R p ( r ∣ s , a ) r → 即时奖励的期望值 p π ( s ′ ∣ s ) ≐ ∑ a ∈ A π ( a ∣ s ) p ( s ′ ∣ s , a ) → 在策略 π 下从状态 s 一步转移到状态 s ′ 的概率 \begin{align*}r_{\pi}(s)&\doteq\sum_{a\in\mathcal{A}}\pi(a|s)\sum_{r\in\mathcal{R}}p(r|s,a)r\;\rightarrow 即时奖励的期望值\\p_{\pi}(s'|s)&\doteq\sum_{a\in\mathcal{A}}\pi(a|s)p(s'|s,a)\;\rightarrow 在策略\pi下从状态s一步转移到状态s'的概率\end{align*} rπ(s)pπ(ss)aAπ(as)rRp(rs,a)r即时奖励的期望值aAπ(as)p(ss,a)在策略π下从状态s一步转移到状态s的概率

  • 定义状态编号并给出对应编号下的改写结果
    假设存在 n = ∣ S ∣ n=|\mathcal{S}| n=S个状态,并对这 n n n个状态编号为 n = { s 1 , s 2 , … , s n } n=\{s_1,s_2,\dots,s_n\} n={s1,s2,,sn},则状态 s i s_{i} si对应的式(13)的形式为
    v π ( s i ) = r π ( s i ) + γ ∑ s j ∈ S p π ( s j ∣ s i ) v π ( s j ) (14) v_{\pi}(s_{i})=r_{\pi}(s_{i})+\gamma\sum_{s_{j}\in\mathcal{S}}p_{\pi}(s_{j}|s_{i})v_{\pi}(s_{j})\tag{14} vπ(si)=rπ(si)+γsjSpπ(sjsi)vπ(sj)(14)

  • 定义相关向量并给出最终的矩阵-向量形式结果
    定义 v π = [ v π ( s 1 ) , … , v π ( s n ) ] T ∈ R n v_{\pi}=\begin{bmatrix}v_{\pi}(s_1),\dots,v_{\pi}(s_n)\end{bmatrix}^{T}\in\mathbb{R}^{n} vπ=[vπ(s1),,vπ(sn)]TRn r π = [ r π ( s 1 ) , … , r π ( s n ) ] T ∈ R n r_{\pi}=\begin{bmatrix}r_{\pi}(s_1),\dots,r_{\pi}(s_n)\end{bmatrix}^{T}\in\mathbb{R}^{n} rπ=[rπ(s1),,rπ(sn)]TRn P π ∈ R n × n P_{\pi}\in\mathbb{R}^{n\times n} PπRn×n P π P_{\pi} Pπ满足 [ P π ] i j = p π ( s j ∣ s i ) [P_{\pi}]_{ij}=p_{\pi}(s_{j}|s_{i}) [Pπ]ij=pπ(sjsi),则式(14)的矩阵-向量形式如下
    v π = r π + γ P π v π (15) v_{\pi}=r_{\pi}+\gamma P_{\pi}v_{\pi}\tag{15} vπ=rπ+γPπvπ(15)这里, v π v_{\pi} vπ为待求解的未知量, γ \gamma γ r π r_{\pi} rπ P π P_{\pi} Pπ是已知量。

矩阵 P π P_{\pi} Pπ的两个性质。
P π P_{\pi} Pπ是一个非负矩阵(no-negative matrix),矩阵 P π P_{\pi} Pπ的所有元素都大于或等于0,即 P π ≥ 0 P_{\pi}\geq 0 Pπ0
P π P_{\pi} Pπ是一个随机矩阵(stochastic matrix),即矩阵 P π P_{\pi} Pπ的每一行所有元素的和等于1。其数学描述为 P π 1 = 1 P_{\pi}\mathbf{1}=\mathbf{1} Pπ1=1,其中 1 = [ 1 , … , 1 ] T \mathbf{1}=\begin{bmatrix}1,\dots,1\end{bmatrix}^{T} 1=[1,,1]T是一个具有适宜维度的所有元素都为1的向量。

基于图2.5,给出其贝尔曼方程的矩阵向量形式如下
[ v π ( s 1 ) v π ( s 2 ) v π ( s 3 ) v π ( s 4 ) ] ⏟ v π = [ r π ( s 1 ) r π ( s 2 ) r π ( s 3 ) r π ( s 4 ) ] ⏟ r π + γ [ p π ( s 1 ∣ s 1 ) p π ( s 2 ∣ s 1 ) p π ( s 3 ∣ s 1 ) p π ( s 4 ∣ s 1 ) p π ( s 1 ∣ s 2 ) p π ( s 2 ∣ s 2 ) p π ( s 3 ∣ s 2 ) p π ( s 4 ∣ s 2 ) p π ( s 1 ∣ s 3 ) p π ( s 2 ∣ s 3 ) p π ( s 3 ∣ s 3 ) p π ( s 4 ∣ s 3 ) p π ( s 1 ∣ s 4 ) p π ( s 2 ∣ s 4 ) p π ( s 3 ∣ s 4 ) p π ( s 4 ∣ s 4 ) ] ⏟ P π [ v π ( s 1 ) v π ( s 2 ) v π ( s 3 ) v π ( s 4 ) ] ⏟ v π \begin{align*}\underbrace{\begin{bmatrix}v_{\pi}(s_1)\\v_{\pi}(s_2)\\v_{\pi}(s_3)\\v_{\pi}(s_4)\end{bmatrix}}_{v_{\pi}}=\underbrace{\begin{bmatrix}r_{\pi}(s_1)\\r_{\pi}(s_2)\\r_{\pi}(s_3)\\r_{\pi}(s_4)\end{bmatrix}}_{r_{\pi}}+\gamma\underbrace{\begin{bmatrix}p_{\pi}(s_1|s_1) & p_{\pi}(s_2|s_1) & p_{\pi}(s_3|s_1) & p_{\pi}(s_4|s_1) \\p_{\pi}(s_1|s_2) & p_{\pi}(s_2|s_2) & p_{\pi}(s_3|s_2) & p_{\pi}(s_4|s_2) \\p_{\pi}(s_1|s_3) & p_{\pi}(s_2|s_3) & p_{\pi}(s_3|s_3) & p_{\pi}(s_4|s_3) \\p_{\pi}(s_1|s_4) & p_{\pi}(s_2|s_4) & p_{\pi}(s_3|s_4) & p_{\pi}(s_4|s_4) \end{bmatrix}}_{P_{\pi}}\underbrace{\begin{bmatrix}v_{\pi}(s_1)\\v_{\pi}(s_2)\\v_{\pi}(s_3)\\v_{\pi}(s_4)\end{bmatrix}}_{v_{\pi}}\end{align*} vπ vπ(s1)vπ(s2)vπ(s3)vπ(s4) =rπ rπ(s1)rπ(s2)rπ(s3)rπ(s4) +γPπ pπ(s1s1)pπ(s1s2)pπ(s1s3)pπ(s1s4)pπ(s2s1)pπ(s2s2)pπ(s2s3)pπ(s2s4)pπ(s3s1)pπ(s3s2)pπ(s3s3)pπ(s3s4)pπ(s4s1)pπ(s4s2)pπ(s4s3)pπ(s4s4) vπ vπ(s1)vπ(s2)vπ(s3)vπ(s4) 带入数值后的结果已经在第2.6节的例子2中给出,可以看到 P π P_{\pi} Pπ满足 P π 1 = 1 P_{\pi}\mathbf{1}=\mathbf{1} Pπ1=1

2.7 求解状态值

首先给出一个基本问题的定义
策略评价: 强化学习中求解一个策略对应的状态值的基本问题
下面将给出求解贝尔曼方程的两种基本解法,解析解数值解

2.7.1 方法1:解析解

v π = r π + γ P π v_{\pi}=r_{\pi}+\gamma P_{\pi} vπ=rπ+γPπ是一个简单的线性方程,可以很容易得到其解析解形式如下
v π = ( I − P π ) − 1 r π v_{\pi}=(I-P_{\pi})^{-1}r_{\pi} vπ=(IPπ)1rπ

矩阵 ( I − P π ) − 1 (I-P_{\pi})^{-1} (IPπ)1的一些性质

  • 矩阵 ( I − P π ) (I-P_{\pi}) (IPπ)是可逆的
  • 矩阵 ( I − P π ) − 1 ≥ I (I-P_{\pi})^{-1}\geq I (IPπ)1I,即矩阵 ( I − P π ) − 1 (I-P_{\pi})^{-1} (IPπ)1中的每一个元素都大于或等于0,且大于或等于单位矩阵 I I I中对应的元素。
  • 对任何向量 r π ≥ 0 r_{\pi}\geq 0 rπ0,存在 ( I − P π ) − 1 r π ≥ r π ≥ 0 (I-P_{\pi})^{-1}r_{\pi}\geq r_{\pi}\geq 0 (IPπ)1rπrπ0

解析解对于理论分析有重要作用,但是涉及到矩阵逆的运算,需要复杂的数值算法来计算。

2.7.2 方法2:数值解

为了解决解析解方法存在的局限性,可以直接使用如下形式的数值迭代算法来求解贝尔曼方程的状态值
v k + 1 = r π + γ P π v k , k = 0 , 1 , 2 , … (16) v_{k+1}=r_{\pi}+\gamma P_{\pi}v_{k},\;k=0,1,2,\dots\tag{16} vk+1=rπ+γPπvk,k=0,1,2,(16)
如果从一个初始猜测 v 0 v_{0} v0开始,上述算法会给一个序列 { v 0 , v 1 , v 2 , … } \{v_{0},v_{1},v_{2},\dots\} {v0,v1,v2,},同时该序列最终会收敛到一个真实的状态值,即
v k → v π = ( I − γ P π ) − 1 r π , 随着 k → ∞ (17) v_{k}\rightarrow v_{\pi}=(I-\gamma P_{\pi})^{-1}r_{\pi},\;随着k \rightarrow\infty\tag{17} vkvπ=(IγPπ)1rπ,随着k(17)
式(17)的证明如下

目标: v k → v π , 随着 k → ∞ v_{k}\rightarrow v_{\pi},\;随着k\rightarrow\infty vkvπ,随着k,即定义误差 δ k = v k − v π \delta_{k}=v_{k}-v_{\pi} δk=vkvπ,证明 δ k → 0 \delta_{k}\rightarrow 0 δk0
基于误差的定义,将 v k + 1 = δ k + 1 + v π v_{k+1}=\delta_{k+1}+v_{\pi} vk+1=δk+1+vπ v k = δ k + v π v_{k}=\delta_{k}+v_{\pi} vk=δk+vπ带入式(16)可得 δ k + v π = r π + γ P π ( δ k + v π ) \delta_{k}+v_{\pi}=r_{\pi}+\gamma P_{\pi}(\delta_{k}+v_{\pi}) δk+vπ=rπ+γPπ(δk+vπ)对上式进行变换可得
δ k = − v π + r π + γ P π ( δ k + v π ) = γ P π δ k − v π + ( r π + γ P π v k ) = γ P π δ k \begin{align*}\delta_{k}&=-v_{\pi}+r_{\pi}+\gamma P_{\pi}(\delta_{k}+v_{\pi})\\&=\gamma P_{\pi}\delta_{k}-v_{\pi}+(r_{\pi}+\gamma P_{\pi}v_{k})\\&=\gamma P_{\pi}\delta_{k}\end{align*} δk=vπ+rπ+γPπ(δk+vπ)=γPπδkvπ+(rπ+γPπvk)=γPπδk对上式进行关系迭代可得 δ k = γ P π δ k = γ 2 P π 2 δ k − 1 = ⋯ = γ k + 1 P π k + 1 δ 0 \delta_{k}=\gamma P_{\pi}\delta_{k}=\gamma^2P^2_{\pi}\delta_{k-1}=\cdots=\gamma^{k+1}P^{k+1}_{\pi}\delta_{0} δk=γPπδk=γ2Pπ2δk1==γk+1Pπk+1δ0 由矩阵 P π P_{\pi} Pπ的性质可知, 0 ≤ P π k ≤ 1 0\leq P^{k}_{\pi}\leq 1 0Pπk1对任意的 k k k都成立。此外, γ < 1 \gamma<1 γ<1,当 k → ∞ k\rightarrow\infty k时, γ k → 0 \gamma^{k}\rightarrow 0 γk0,所以,当 k → ∞ k\rightarrow\infty k时,有 δ k = γ k + 1 P π k + 1 δ 0 → 0 \delta_{k}=\gamma^{k+1}P^{k+1}_{\pi}\delta_{0}\rightarrow 0 δk=γk+1Pπk+1δ00

2.7.3 示例

2.8 动作值

本节将在状态值的基础上,引入动作值或动作价值(action value)的概念。

动作值依赖于状态值的概念,理解好状态值才能更好的理解动作值。

动作值的定义:
针对一个状态-动作配对(state-action pair) ( s , a ) (s,a) (s,a),其动作值定义为
q π ( s , a ) ≐ E [ G t ∣ S t = s , A t = a ] q_{\pi}(s,a)\doteq\mathbb{E}[G_{t}|S_{t}=s,A_{t}=a] qπ(s,a)E[GtSt=s,At=a]

由上述等式可知动作值被定义为在一个状态采取一个动作之后获得的回报的期望值。 q π ( s , a ) q_{\pi}(s,a) qπ(s,a)依赖于一个状态-动作配对 ( s , a ) (s,a) (s,a),而不仅仅是一个动作,严谨来说称为状态-动作值更合适,简称为动作值。

动作值与状态值的关系:

  • 由条件期望的性质 E [ X ∣ A = a ] = ∑ b E [ X ∣ A = a , B = b ] p ( b ∣ a ) \mathbb{E}[X|A=a]=\sum_{b}\mathbb{E}[{X|A=a,B=b}]p(b|a) E[XA=a]=bE[XA=a,B=b]p(ba)可知
    E [ G t ∣ S t = s ] ⏟ v π ( s ) = ∑ a ∈ A E [ G t ∣ S t = s , A t = a ] ⏟ q π ( s ) π ( a ∣ s ) \underbrace{\mathbb{E}[G_{t}|S_{t}=s]}_{v_{\pi}(s)}=\sum_{a\in\mathcal{A}}\underbrace{\mathbb{E}[G_{t}|S_{t}=s,A_{t}=a]}_{q_{\pi}(s)}\pi(a|s) vπ(s) E[GtSt=s]=aAqπ(s) E[GtSt=s,At=a]π(as)
    上式的简化形式为 v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s ) = E A t ∼ π ( s ) [ q π ( s , A t ) ] (18) \begin{align}v_{\pi}(s)&=\sum_{a\in\mathcal{A}}\pi(a|s)q_{\pi}(s)\\&=\mathbb{E}_{A_{t}\sim\pi(s)}[q_{\pi}(s,A_{t})]\end{align}\tag{18} vπ(s)=aAπ(as)qπ(s)=EAtπ(s)[qπ(s,At)](18)

由式(18)可知,状态值是该状态对应的动作值的期望值。

  • 根据第2.6节可知,状态值可以写成
    v π ( s ) = ∑ a ∈ A π ( a ∣ s ) [ ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v π ( s ′ ) ] v_{\pi}(s)=\sum_{a\in\mathcal{A}}\pi(a|s)\bigg[\sum_{r\in\mathcal{R}}p(r|s,a)r+\gamma\sum_{s'\in\mathcal{S}}p(s'|s,a)v_{\pi}(s')\bigg] vπ(s)=aAπ(as)[rRp(rs,a)r+γsSp(ss,a)vπ(s)]基于式(18),可以得到以下等式
    q π ( s ) = ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v π ( s ′ ) = E [ R t + 1 ∣ S t = s , A t = a ] + E [ γ v π ( S t + 1 ) ∣ S t = s , A t = a ] = E [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s , A t = a ] (19) \begin{align}q_{\pi}(s)&=\sum_{r\in\mathcal{R}}p(r|s,a)r+\gamma\sum_{s'\in\mathcal{S}}p(s'|s,a)v_{\pi}(s')\\&=\mathbb{E}[R_{t+1}|S_{t}=s,A_{t}=a]+\mathbb{E}[\gamma v_{\pi}(S_{t+1})|S_{t}=s,A_{t}=a]\\&=\mathbb{E}[R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_{t}=s,A_{t}=a]\end{align}\tag{19} qπ(s)=rRp(rs,a)r+γsSp(ss,a)vπ(s)=E[Rt+1St=s,At=a]+E[γvπ(St+1)St=s,At=a]=E[Rt+1+γvπ(St+1)St=s,At=a](19)

由式(19)可知,动作值是一个包含动作值 v π ( S t + 1 ) v_{\pi}(S_{t+1}) vπ(St+1)的变量的期望值。
式(18)描述了如何从动作值得到状态值。
式(19)描述了如何从状态值得到动作值。

2.8.1 示例

在这里插入图片描述

图2.6 展示计算动作值的随机性策略例子

考虑状态 s 1 s_1 s1的动作值,策略在 s 1 s_1 s1存在两个可能的动作 a 2 a_2 a2 a 3 a_3 a3,其对应的动作值分别为
q π ( s 1 , a 2 ) = − 1 + γ v π ( s 2 ) q π ( s 1 , a 3 ) = 0 + γ v π ( s 3 ) \begin{align*}q_{\pi}(s_1,a_2)&=-1+\gamma v_{\pi}(s_2)\\q_{\pi}(s_1,a_3)&=0+\gamma v_{\pi}(s_3)\end{align*} qπ(s1,a2)qπ(s1,a3)=1+γvπ(s2)=0+γvπ(s3)

需要注意的是,在图2.6中,如果认为策略在 s 1 s_1 s1只会执行动作 a 2 a_2 a2或者 a 3 a_3 a3,不会去执行动作 a 1 a_1 a1 a 4 a_4 a4 a 5 a_5 a5,所以就可以忽略 a 1 a_1 a1 a 4 a_4 a4 a 5 a_5 a5的动作值(为0),或者不去计算其动作值,这是非常错误的想法!!!

因此,以下两个观点非常需要注意

  • 一个动作即使不会被策略选择,但其仍然具有动作值。我们可以假设当策略“采取”这个动作( a 1 a_{1} a1 a 4 a_{4} a4 a 5 a_{5} a5)后获得的回报。例如:
    • 当状态 s 1 s_1 s1选择动作 a 1 a_1 a1后,智能体被弹回,奖励 r = − 1 r=-1 r=1,然后继续从状态 s 1 s_1 s1按照策略 π \pi π移动,则未来奖励是 γ v π ( s 1 ) \gamma v_{\pi}(s_{1}) γvπ(s1) ( s 1 , a 1 ) (s_1,a_1) (s1,a1)的动作值为 q π ( s 1 , a 1 ) = − 1 + γ v π ( s 1 ) q_{\pi}(s_1,a_1)=-1+\gamma v_{\pi}(s_1) qπ(s1,a1)=1+γvπ(s1)
    • 当状态 s 1 s_1 s1选择动作 a 4 a_4 a4后,智能体被弹回,奖励 r = − 1 r=-1 r=1,然后继续从状态 s 1 s_1 s1按照策略 π \pi π移动,则未来奖励是 γ v π ( s 1 ) \gamma v_{\pi}(s_{1}) γvπ(s1) ( s 1 , a 4 ) (s_1,a_4) (s1,a4)的动作值为 q π ( s 1 , a 4 ) = − 1 + γ v π ( s 1 ) q_{\pi}(s_1,a_4)=-1+\gamma v_{\pi}(s_1) qπ(s1,a4)=1+γvπ(s1)
    • 当状态 s 1 s_1 s1选择动作 a 5 a_5 a5后,智能体原地不动,奖励 r = 0 r=0 r=0,然后继续从状态 s 1 s_1 s1按照策略 π \pi π移动,则未来奖励是 γ v π ( s 1 ) \gamma v_{\pi}(s_{1}) γvπ(s1) ( s 1 , a 5 ) (s_1,a_5) (s1,a5)的动作值为 q π ( s 1 , a 5 ) = 0 + γ v π ( s 1 ) q_{\pi}(s_1,a_5)=0+\gamma v_{\pi}(s_1) qπ(s1,a5)=0+γvπ(s1)
  • 策略不会选择的动作也是需要关注的。虽然一些动作暂时未被策略所选择,但这并不意味着这些动作是不好的。反之,这些动作可能是最好的,只是当前的 策略不够好导致没有选择到最优的动作。

强化学习的目的是寻找最优的策略,因此必须探索所有动作,任何一个动作都不能忽视,只有这样才能找到每个状态下的最优动作。

2.8.2 基于动作值的贝尔曼方程


个人的一些学习笔记,希望大家多多批评指正,多多支持、点赞收藏!!!!非常感谢!!!!

参考文献:
[1] 赵世钰.强化学习的数学原理[M].清华大学出版社:202504.271.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词