贝尔曼公式(强化学习)核心知识点总结
一、贝尔曼公式基础认知
- 核心定义:描述不同状态的状态价值(State Value,记为 vπ(s)) 之间的关系,是计算状态价值的核心工具。
- 本质逻辑:将当前状态的价值拆分为“即时奖励”和“未来状态价值的折现”两部分,体现强化学习中“短期收益”与“长期收益”的权衡。
二、推导前置概念与公式
- 关键术语回顾
- 折扣回报(Discounted Return,Gt):从时刻t开始的累计奖励,需考虑折扣因子γ(0≤γ≤1),公式为:Gt=Rt+1+γRt+2+γ2Rt+3+…
- 状态价值(State Value,vπ(s)):在策略π下,从状态s出发的折扣回报的期望,即vπ(s)=Eπ[Gt∣St=s]
- 回报拆分关键步骤:将Gt拆分为即时奖励和未来回报的折现,即Gt=Rt+1+γGt+1,为后续期望拆分奠定基础。
三、贝尔曼公式推导过程
-
第一步:拆分期望(基于回报拆分)
对状态价值公式中的期望进行拆分(期望的线性性质):
vπ(s)=Eπ[Rt+1+γGt+1∣St=s]=Eπ[Rt+1∣St=s]+γEπ[Gt+1∣St=s]
拆分后得到两项:即时奖励的期望和未来回报期望的折现。
-
第二步:计算”即时奖励的期望”
需考虑策略π(状态s下选择动作a的概率π(a∣s))和环境动态(动作a下获得奖励r的概率p(r∣s,a)),公式为:
Eπ[Rt+1∣St=s]=∑aπ(a∣s)E[Rt+1∣St=s,At=a]=∑aπ(a∣s)∑rr⋅p(r∣s,a)
本质是“策略下所有动作的期望奖励加权和”。
-
第三步:计算”未来回报期望的折现”
-
利用马尔可夫性质(无记忆性):未来回报仅依赖于下一个状态s′,与当前状态s无关,即Eπ[Gt+1∣St=s]=Eπ[vπ(St+1)∣St=s]。
-
结合环境动态(动作a下转移到状态St+1s′的概率p(s′∣s,a)),公式为:
\begin{align*}
\mathbb{E}[G_{t+1}|S_t = s] &= \sum_{s'} \mathbb{E}[G_{t+1}|S_t = s, S_{t+1} = s']p(s'|s) \\
&= \sum_{s'} \mathbb{E}[G_{t+1}|S_{t+1} = s']p(s'|s) \\
&= \sum_{s'} v_\pi(s')p(s'|s) \\
&= \sum_{s'} v_\pi(s') \sum_{a} p(s'|s,a)\pi(a|s) \\ &=\sum_a\pi(a|s)\sum_{s'}p(s'|s,a)v_\pi(s')
\end{align*}
-
最终贝尔曼公式
合并上述两项,得到完整公式:
vπ(s)=∑aπ(a∣s)[∑rr⋅p(r∣s,a)+γ∑s′p(s′∣s,a)⋅vπ(s′)]
四、贝尔曼公式的关键特性
- 多方程性:并非单一公式,而是对状态空间中所有状态s 都成立。若有n个状态,会形成n个线性方程,联立可解出所有状态价值。
- 策略依赖性:公式中的π(a∣s)(策略)决定了状态价值的计算结果,不同策略对应不同的状态价值(核心用途:策略评估(Policy Evaluation),即判断策略优劣)。
- 环境动态依赖性:依赖p(r∣s,a)和p(s′∣s,a)(环境模型/动态模型),若已知模型可直接计算;若未知模型,需用无模型强化学习(如蒙特卡洛、时序差分)方法。
- 自举性(Bootstrapping):当前状态价值的计算依赖其他状态价值,需通过联立方程或迭代方法求解(而非直接计算)。
五、实例应用(基于视频案例)
案例1:单动作、确定转移的简单场景
- 设定:状态s1下,策略π(a3∣s1)=1(仅选动作a3);动作a3的奖励r=0(概率1),转移到s3(概率1)。
- 代入公式:
即时奖励期望=0,未来回报期望=vπ(s3),最终贝尔曼公式简化为:vπ(s1)=0+γ⋅vπ(s3)。
- 直观结论:s1的价值仅依赖s3的价值,符合”离目标状态越近,价值越高”的逻辑(如视频中s2/s3/s4价值为10,s1价值为9=γ×10,γ=0.9)。
案例2:多动作、概率转移的场景
- 设定:状态s1下,策略π(右∣s1)=0.5、π(下∣s1)=0.5;向右转移到s2(奖励-1),向下转移到s3(奖励0)。
- 代入公式:
vπ(s1)=0.5×(−1+γvπ(s2))+0.5×(0+γvπ(s3))。
- 策略对比:该策略下s1价值为8.9(γ=0.9),低于案例1中s1=9的价值,说明”含惩罚动作的策略更差”。
六、公式的延伸意义
- 后续应用:通过贝尔曼公式计算出状态价值后,可进一步改进策略(如选择能提升状态价值的动作),最终逼近最优策略。
- 与无模型方法的关联:若未知环境模型(p(r∣s,a)、p(s′∣s,a)),贝尔曼公式的思想仍适用(如时序差分方法用经验估计期望),是强化学习的核心理论基础。
第2课-贝尔曼公式(公式向量形式与求解)知识点整理
一、贝尔曼公式的矩阵向量形式推导
1. 推导前提
- 单条贝尔曼公式无法求解状态价值(State Value),因公式中同时包含当前状态价值与其他状态价值。
- 对所有状态(共n个)而言,针对单个状态的贝尔曼公式(Elementwise Form)均成立,可通过整合n条公式得到矩阵向量形式,便于求解与理解。
2. 核心公式演化
- 原始贝尔曼公式简化:将公式中“即时奖励项”与“状态转移概率项”合并,得到简化式:
vπ(s)=rπ(s)+γ∑s′Pπ(s→s′)vπ(s′)
- rπ(s):从当前状态s出发,即时奖励(Immediate Reward)的平均值。
- Pπ(s→s′):从状态s转移到状态s′的概率(基于策略π)。
- 状态编号与向量定义:对所有状态标记为s1,s2,...,sn,定义以下向量与矩阵:
- 状态价值向量 vπ:vπ=vπ(s1)vπ(s2)...vπ(sn),包含所有状态的价值。
- 即时奖励向量 rπ:rπ=rπ(s1)rπ(s2)...rπ(sn),包含所有状态的即时奖励平均值。
- 状态转移矩阵 Pπ(State Transition Matrix):
矩阵元素[Pπ]ij表示从状态si转移到状态sj的概率,即[Pπ]ij=Pπ(si→sj)。
- 最终矩阵向量形式:vπ=rπ+γPπvπ
3. 实例说明
实例1:确定性策略(4个状态)
- 即时奖励向量rπ:
从s1出发即时奖励为0,从s2,s3,s4出发即时奖励均为1,故rπ=0111。
- 状态转移矩阵Pπ:
第一行对应s1的转移概率:s1→s1(0)、s1→s2(0)、s1→s3(1)、s1→s4(0),即第一行为[0,0,1,0],其余行按策略同理推导。
实例2:概率性策略(4个状态)
- 即时奖励向量rπ(以s1为例):
s1有0.5概率向右转移(奖励-1)、0.5概率向下转移(奖励0),故rπ(s1)=0.5×(−1)+0.5×0=−0.5。
- 状态转移矩阵Pπ(以s1为例):
s1→s2(0.5)、s1→s3(0.5)、s1→s1(0)、s1→s4(0),即第一行为[0,0.5,0.5,0]。
二、状态价值(vπ)的求解方法
1. 求解的核心意义
- 该过程称为策略评估(Policy Evaluation),是强化学习的基础工具:只有通过评估策略的状态价值,才能判断策略优劣,进而改进策略、找到最优策略。
2. 两种求解方法
- 公式推导:基于矩阵向量形式vπ=rπ+γPπvπ,移项整理得:
(I−γPπ)vπ=rπ(I为单位矩阵),两边左乘(I−γPπ)−1,最终解析解为:
vπ=(I−γPπ)−1rπ。
- 局限性:仅理论优美,实际中因状态空间大时矩阵维度高,求逆计算量极大,难以应用。
方法2:迭代法(Iterative Solution)
- 核心思想:通过迭代更新状态价值向量,直至收敛到真实值vπ。
- 迭代公式:vk+1π=rπ+γPπvkπ
- vkπ:第k次迭代的状态价值向量(初始可设为全0等任意值)。
- vk+1π:第k+1次迭代的状态价值向量,由vkπ代入公式计算得到。
- 收敛性:可证明当迭代次数k→∞时,vkπ收敛到真实状态价值vπ(通过定义误差δk=∥vkπ−vπ∥,可证δk→0)。
Proof. Define the error as δk=vk−vπ. We only need to show δk→0.
Substituting vk+1=δk+1+vπ and vk=δk+vπ into vk+1=rπ+γPπvk gives δk+1+vπ=rπ+γPπ(δk+vπ),
which can be rewritten as
δk+1=−vπ+rπ+γPπδk+γPπvπ=γPπδk.
As a result, δk+1=γPπδk=γ2Pπ2δk−1=⋯=γk+1Pπk+1δ0.
Note that 0≤Pπk≤1, which means every entry of Pπk is no greater than 1 for any k=0,1,2,….
That is because Pπk1=1, where 1=[1,…,1]T.
On the other hand, since γ<1, we know γk→0 and hence δk+1=γk+1Pπk+1δ0→0 as k→∞.
- 定义误差项:
首先定义误差 δk=vk−vπ,这里 vk 是第 k 次迭代的状态价值向量,vπ 是策略 π 对应的真实状态价值向量。我们的目标是证明当迭代次数 k 趋于无穷时,δk 趋于 0,即迭代得到的 vk 收敛到真实的 vπ。
- 代入迭代公式:
已知迭代公式为 vk+1=rπ+γPπvk(其中 rπ 是即时奖励向量,Pπ 是状态转移矩阵,γ 是折扣因子)。将 vk+1=δk+1+vπ 和 vk=δk+vπ 代入该迭代公式,得到:
δk+1+vπ=rπ+γPπ(δk+vπ)
- 化简得到误差递推关系:
对上述等式进行整理,将含 vπ 的项移到等式一边:
δk+1=−vπ+rπ+γPπδk+γPπvπ
又因为真实的状态价值向量 vπ 满足贝尔曼方程 vπ=rπ+γPπvπ,即 −vπ+rπ+γPπvπ=0,所以上式可化简为:
δk+1=γPπδk
- 递推展开误差项:
由 δk+1=γPπδk,可以不断递推得到:
δk+1=γPπδk=γ2Pπ2δk−1=⋯=γk+1Pπk+1δ0
这里 δ0=v0−vπ 是初始误差(v0 为初始的状态价值向量)。
- 分析收敛性:
- 对于状态转移矩阵的幂 Pπk,由于状态转移概率都是非负的,且每行的和为 1(因为从一个状态转移到所有可能状态的概率和为 1),所以 Pπk 的每个元素都满足 0≤[Pπk]ij≤1。并且有 Pπk1=1(其中 1 是全 1 向量),这也验证了 Pπk 元素的有界性。
- 已知折扣因子 γ<1,所以当 k→∞ 时,γk+1→0。
- 结合 Pπk+1 元素的有界性(每个元素都不超过 1),以及初始误差 δ0 是有限向量,可得 γk+1Pπk+1δ0→0,即 δk+1→0(当 k→∞ 时)。
因此,迭代得到的状态价值向量 vk 收敛到真实的状态价值向量 vπ,从而证明了用迭代法求解状态价值的收敛性。
三、策略评估的实例与结论
1. 实例背景
- 奖励规则:尝试跳过边界/进入禁止区域(Forbidden Area)得-1,进入目标区域(Target Area)得+1,其他情况按策略定。
- 折扣因子γ=0.9。
2. 不同策略的评估结果
(1)优质策略
- 策略特征:不跳边界、不撞墙、不进禁止区域,能导向目标区域。
- 状态价值特征:所有状态价值均为正数;且离目标区域越近,状态价值越大(符合直觉,近目标区域更易获得高奖励)。
- 特殊结论:不同策略可能得到相同状态价值(如某两个格子分别“向下走”和“向右走”,最终价值一致)。
(2)劣质策略
- 策略1:所有状态均“向右走”(易撞墙/跳边界),状态价值全为负数。
- 策略2:随机策略(多状态会撞墙/进禁止区域),状态价值与直觉一致(整体偏低)。
3. 核心结论
通过计算状态价值vπ,可直观判断策略的优劣:优质策略对应正的、较高的状态价值,劣质策略对应负的、较低的状态价值。
四、关键术语汇总
| 术语 | 英文 | 核心定义 |
|---|
| 状态价值 | State Value(vπ) | 从某状态出发,基于策略π的长期奖励期望 |
| 即时奖励向量 | Immediate Reward Vector(rπ) | 所有状态的即时奖励平均值构成的向量 |
| 状态转移矩阵 | State Transition Matrix(Pπ) | 元素[Pπ]ij表示从si到sj的转移概率 |
| 策略评估 | Policy Evaluation | 基于贝尔曼公式求解vπ,判断策略优劣的过程 |
| 解析解 | Closed-Form Solution | 直接通过矩阵求逆得到的vπ解析表达式,计算成本高 |
| 迭代法 | Iterative Solution | 通过迭代更新vπ直至收敛,实际应用中常用 |
第2课-贝尔曼公式(Action Value的定义)知识点总结
核心概念:Action Value(动作价值)
1. 定义
- 本质:智能体(Agent)从当前状态s出发,选择某个动作a后,后续遵循策略π所能获得的平均回报(Average Return)。
- 符号表示:qπ(s,a),其中:
- π:表示当前遵循的策略,不同策略对应不同的动作价值;
- (s,a):状态-动作对,动作价值依赖于“从哪个状态出发”和“选择哪个动作”,是状态与动作的二元函数。
2. 核心作用
- 动作价值是策略选择的核心依据:在某一状态下,智能体通过比较不同动作的qπ(s,a),优先选择价值更大的动作(该动作能带来更多长期回报);
- 后续强化学习算法(如Sarsa、Q-Learning)均以动作价值为核心展开,是实现策略优化的关键。
Action Value与State Value(状态价值)的关系
1. 两者区别与联系
| 维度 | State Value(状态价值)vπ(s) | Action Value(动作价值)qπ(s,a) |
|---|
| 定义 | 从状态s出发,遵循策略π的平均回报 | 从状态s出发、选择动作a后,遵循策略π的平均回报 |
| 依赖对象 | 仅依赖状态s和策略π | 依赖状态s、动作a和策略π |
| 核心作用 | 评估状态的“好坏” | 评估“状态-动作对”的“好坏”,直接指导动作选择 |
2. 数学关联(核心公式)
(1)由Action Value推导State Value
状态价值是该状态下所有可能动作的动作价值,按策略π的动作选择概率加权平均的结果:
vπ(s)=Σa[π(a∣s)∗qπ(s,a)]
- π(a∣s):策略π下,在状态s选择动作a的概率;
- 含义:状态的价值由“该状态下所有可能动作的价值”及其“被选择的概率”共同决定。
(2)由State Value推导Action Value
结合贝尔曼公式(状态价值的递归表达式),可推导出动作价值的表达式:
qπ(s,a)=E[Rt+1+γ∗vπ(St+1)∣St=s,At=a]=∑rr⋅p(r∣s,a)+γ∑s′p(s′∣s,a)⋅vπ(s′)
- Rt+1:选择动作a后获得的即时奖励;
- γ:折扣因子(衡量未来回报的重要性);
- St+1:执行动作a后转移到的下一状态;
- 含义:动作价值 = 即时奖励 + 折扣后的下一状态价值的期望;
- 两者是“硬币的两面”:已知所有动作价值可求状态价值,反之已知所有状态价值也可求动作价值。
关键易错点与实例解析
1. 易错点:未被策略选择的动作,其Action Value是否为0?
- 结论:否。即使策略π在状态s下仅选择某一动作(如仅选a2),其他动作(如a1、a3)的动作价值仍需计算,而非0;
- 原因:后续策略优化(如策略改进)需比较所有动作的价值,可能发现未被选择的动作实际价值更高,进而更新策略(选择该动作)。
2. 实例计算(确定性策略场景)
假设场景:状态s1有动作a2(策略指定动作)和a3(未被策略选择),转移规则如下:
- 选择a2:即时奖励R=−1,转移到s2,vπ(s2)已知;
- 选择a3:即时奖励R=0,转移到s3,vπ(s3)已知。
则动作价值计算为:
- qπ(s1,a2)=−1+γ∗vπ(s2)(确定性转移,期望即确定值);
- qπ(s1,a3)=0+γ∗vπ(s3)(即使未被策略选择,仍需按公式计算)。
Action Value的计算方法
- 间接法:先通过贝尔曼公式求解所有状态的vπ(s),再代入动作价值公式qπ(s,a)=E[Rt+1+γ∗vπ(St+1)]计算;
- 直接法:不依赖状态价值,直接通过数据(如轨迹采样)估算动作价值(后续蒙特卡洛、时序差分方法会详细讲解);
- 两种方法均支持“基于模型”(已知状态转移概率和奖励函数)和“无模型”(未知环境模型,依赖采样数据)场景。
总结
- State value: vπ(s)=E[Gt∣St=s]
- Action value: qπ(s,a)=E[Gt∣St=s,At=a]
- The Bellman equation (elementwise form):
\begin{align*}
v_{\pi}(s) &= \sum_{a} \pi(a|s) \underbrace{\left[ \sum_{r} p(r|s, a)r + \gamma \sum_{s'} p(s'|s, a)v_{\pi}(s') \right]}_{q_{\pi}(s, a)} \\
&= \sum_{a} \pi(a|s) q_{\pi}(s, a)
\end{align*}
- The Bellman equation (matrix-vector form):
vπ=rπ+γPπvπ