文章目录
- 一、前言
- 二、Actor-Critic算法
- [2 马尔可夫决策过程和参数化 RSP 系列](#2 马尔可夫决策过程和参数化 RSP 系列)
-
- 问题1:解释一下
-
- [1. 背景与目标](#1. 背景与目标)
- [2. 核心工具: q q q 函数与策略梯度定理](#2. 核心工具: q q q 函数与策略梯度定理)
- [3. 重新解释:内积与投影](#3. 重新解释:内积与投影)
- [4. 为什么这很重要?](#4. 为什么这很重要?)
- 问题2:通俗解释
- 问题3:逐段对照解释
-
- 第一段:我们面对的问题是什么?
- [假设 (A1):策略的数学性质要好](#假设 (A1):策略的数学性质要好)
- [假设 (A2):链能"忘记过去"并稳定下来](#假设 (A2):链能“忘记过去”并稳定下来)
- [平均代价 λ ( θ ) \lambda(\theta) λ(θ)](#平均代价 λ ( θ ) \lambda(\theta) λ(θ))
- [微分代价函数 V θ V_\theta Vθ 和泊松方程](#微分代价函数 V θ V_\theta Vθ 和泊松方程)
- [q q q-函数](#q q q-函数)
- [定理 1:策略梯度公式](#定理 1:策略梯度公式)
- 用内积重写梯度
- [子空间 Ψ θ \Psi_\theta Ψθ](#子空间 Ψ θ \Psi_\theta Ψθ)
- 核心洞见:只需要投影
- 问题4:只需要投影
-
- 第一步:先记住我们要算什么
- [第二步:把 q q q 想象成一张巨大的表格](#第二步:把 q q q 想象成一张巨大的表格)
- 第三步:用"灯光投影"来理解
- 第四步:回到厨房的比喻
- 为什么这件事那么厉害?
一、前言
仅供参考,未经实验验证。
二、Actor-Critic算法
论文标题: Actor-Critic Algorithms
作者: Vijay R. Konda 和 John N. Tsitsiklis
机构: 麻省理工学院(MIT)信息与决策系统实验室
发表: NeurIPS 1999 (Advances in Neural Information Processing Systems 12)
2 马尔可夫决策过程和参数化 RSP 系列
Consider a Markov decision process with finite state space S S S , and finite action space A A A . Let g : S × A → R g : S \times A \rightarrow \mathbb{R} g:S×A→R be a given cost function. A randomized stationary policy (RSP) is a mapping μ \mu μ that assigns to each state x x x a probability distribution over the action space A A A . We consider a set of randomized stationary policies P = { μ θ ; θ ∈ R n } \mathbb{P} = \{\mu_\theta; \theta \in \mathbb{R}^n\} P={μθ;θ∈Rn} , parameterized in terms of a vector θ \theta θ . For each pair ( x , u ) ∈ S × A (x, u) \in S \times A (x,u)∈S×A , μ θ ( x , u ) \mu_\theta(x, u) μθ(x,u) denotes the probability of taking action u u u when the state x x x is encountered, under the policy corresponding to θ \theta θ . Let p x y ( u ) p_{xy}(u) pxy(u) denote the probability that the next state is y y y , given that the current state is x x x and the current action is u u u . Note that under any RSP, the sequence of states { X n } \{X_n\} {Xn} and of state-action pairs { X n , U n } \{X_n, U_n\} {Xn,Un} of the Markov decision process form Markov chains with state spaces S S S and S × A S \times A S×A , respectively. We make the following assumptions about the family of policies P \mathbb{P} P .
考虑一个具有有限状态空间 S S S 和有限动作空间 A A A 的马尔可夫决策过程。设 g : S × A → R g : S \times A \rightarrow \mathbb{R} g:S×A→R 为给定的代价函数。随机平稳策略 (RSP) 是一个映射 μ \mu μ,它为每个状态 x x x 分配一个动作空间 A A A 上的概率分布。我们考虑一族以向量 θ \theta θ 为参数进行参数化的随机平稳策略 P = { μ θ ; θ ∈ R n } \mathbb{P} = \{\mu_\theta; \theta \in \mathbb{R}^n\} P={μθ;θ∈Rn}。对于每一对 ( x , u ) ∈ S × A (x, u) \in S \times A (x,u)∈S×A, μ θ ( x , u ) \mu_\theta(x, u) μθ(x,u) 表示在对应于 θ \theta θ 的策略下,遇到状态 x x x 时采取动作 u u u 的概率。设 p x y ( u ) p_{xy}(u) pxy(u) 表示在当前状态为 x x x 且当前动作为 u u u 的条件下,下一状态为 y y y 的概率。注意,在任意 RSP 下,马尔可夫决策过程的状态序列 { X n } \{X_n\} {Xn} 和状态-动作对序列 { X n , U n } \{X_n, U_n\} {Xn,Un} 分别构成状态空间为 S S S 和 S × A S \times A S×A 的马尔可夫链。我们对策略族 P \mathbb{P} P 作出如下假设。
-
(A1) For all x ∈ S x \in S x∈S and u ∈ A u \in A u∈A the map θ ↦ μ θ ( x , u ) \theta \mapsto \mu_\theta(x, u) θ↦μθ(x,u) is twice differentiable with bounded first, second derivatives. Furthermore, there exists a R n \mathbb{R}^n Rn -valued function ψ θ ( x , u ) \psi_\theta(x, u) ψθ(x,u) such that ∇ μ θ ( x , u ) = μ θ ( x , u ) ψ θ ( x , u ) \nabla \mu_\theta(x, u) = \mu_\theta(x, u) \psi_\theta(x, u) ∇μθ(x,u)=μθ(x,u)ψθ(x,u) where the mapping θ ↦ ψ θ ( x , u ) \theta \mapsto \psi_\theta(x, u) θ↦ψθ(x,u) is bounded and has first bounded derivatives for any fixed x x x and u u u .
对于所有 x ∈ S x \in S x∈S 和 u ∈ A u \in A u∈A,映射 θ ↦ μ θ ( x , u ) \theta \mapsto \mu_\theta(x, u) θ↦μθ(x,u) 是二次可微的,且其一阶、二阶导数有界。此外,存在一个 R n \mathbb{R}^n Rn-值函数 ψ θ ( x , u ) \psi_\theta(x, u) ψθ(x,u),使得
∇ μ θ ( x , u ) = μ θ ( x , u ) ψ θ ( x , u ) , \nabla \mu_\theta(x, u) = \mu_\theta(x, u) \, \psi_\theta(x, u), ∇μθ(x,u)=μθ(x,u)ψθ(x,u),
其中对于任意固定的 x x x 和 u u u,映射 θ ↦ ψ θ ( x , u ) \theta \mapsto \psi_\theta(x, u) θ↦ψθ(x,u) 有界,且其一阶导数有界。
-
(A2) For each θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn , the Markov chains { X n } \{X_n\} {Xn} and { X n , U n } \{X_n, U_n\} {Xn,Un} are irreducible and aperiodic, with stationary probabilities π θ ( x ) \pi_\theta(x) πθ(x) and η θ ( x , u ) = π θ ( x ) μ θ ( x , u ) \eta_\theta(x, u) = \pi_\theta(x) \mu_\theta(x, u) ηθ(x,u)=πθ(x)μθ(x,u) , respectively, under the RSP μ θ \mu_\theta μθ .
对于每个 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn,在 RSP μ θ \mu_\theta μθ 下,马尔可夫链 { X n } \{X_n\} {Xn} 和 { X n , U n } \{X_n, U_n\} {Xn,Un} 都是不可约且非周期的,其平稳分布分别为 π θ ( x ) \pi_\theta(x) πθ(x) 和 η θ ( x , u ) = π θ ( x ) μ θ ( x , u ) \eta_\theta(x, u) = \pi_\theta(x) \mu_\theta(x, u) ηθ(x,u)=πθ(x)μθ(x,u)。
In reference to Assumption (A1), note that whenever μ θ ( x , u ) \mu_\theta(x, u) μθ(x,u) is nonzero we have
关于假设(A1),请注意,只要 μ θ ( x , u ) \mu_\theta(x, u) μθ(x,u) 非零,我们就有
ψ θ ( x , u ) = ∇ μ θ ( x , u ) μ θ ( x , u ) = ∇ ln μ θ ( x , u ) . \psi_\theta(x, u) = \frac{\nabla \mu_\theta(x, u)}{\mu_\theta(x, u)} = \nabla \ln \mu_\theta(x, u). ψθ(x,u)=μθ(x,u)∇μθ(x,u)=∇lnμθ(x,u).
Consider the average cost function λ : R n ↦ R \lambda : \mathbb{R}^n \mapsto \mathbb{R} λ:Rn↦R , given by
考虑平均成本函数 λ : R n ↦ R \lambda : \mathbb{R}^n \mapsto \mathbb{R} λ:Rn↦R,其定义为
λ ( θ ) = ∑ x ∈ S , u ∈ A g ( x , u ) η θ ( x , u ) . \lambda(\theta) = \sum_{x \in S, u \in A} g(x, u) \eta_\theta(x, u). λ(θ)=x∈S,u∈A∑g(x,u)ηθ(x,u).
We are interested in minimizing λ ( θ ) \lambda(\theta) λ(θ) over all θ \theta θ . For each θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn , let V θ : S ↦ R V_\theta : S \mapsto \mathbb{R} Vθ:S↦R be the "differential" cost function, defined as solution of Poisson equation:
我们有兴趣在整个 θ \theta θ 上最小化 λ ( θ ) \lambda(\theta) λ(θ)。对于每个 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn ,令 V θ : S ↦ R V_\theta : S \mapsto \mathbb{R} Vθ:S↦R 为"微分"成本函数,定义为泊松方程的解:
λ ( θ ) + V θ ( x ) = ∑ u ∈ A μ θ ( x , u ) g ( x , u ) + ∑ y p x y ( u ) V θ ( y ) . \lambda(\theta) + V_\theta(x) = \sum_{u \in A} \mu_\theta(x, u) \left g(x, u) + \\sum_y p_{xy}(u) V_\\theta(y) \\right. λ(θ)+Vθ(x)=u∈A∑μθ(x,u)g(x,u)+y∑pxy(u)Vθ(y).
Intuitively, V θ ( x ) V_\theta(x) Vθ(x) can be viewed as the "disadvantage" of state x x x : it is the expected excess cost -- on top of the average cost -- incurred if we start at state x x x . It plays a role similar to that played by the more familiar value function that arises in total or discounted cost Markov decision problems. Finally, for every θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn , we define the q q q -function q θ : S × A → R q_\theta : S \times A \rightarrow \mathbb{R} qθ:S×A→R , by
直观上, V θ ( x ) V_\theta(x) Vθ(x) 可以看作状态 x x x 的"不利性"(disadvantage):它表示在从状态 x x x 出发时,我们在平均成本之上所期望产生的额外成本。它的作用类似于在总成本或折扣成本马尔可夫决策问题中更为常见的值函数。最后,对于每个 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn,我们定义 q q q-函数 q θ : S × A → R q_\theta : S \times A \rightarrow \mathbb{R} qθ:S×A→R,其定义如下:
q θ ( x , u ) = g ( x , u ) − λ ( θ ) + ∑ y p x y ( u ) V θ ( y ) . q_\theta(x, u) = g(x, u) - \lambda(\theta) + \sum_y p_{xy}(u) V_\theta(y). qθ(x,u)=g(x,u)−λ(θ)+y∑pxy(u)Vθ(y).
We recall the following result, as stated in 8. (Different versions of this result have been established in 3, 4, 5.)
我们回忆起如下结果,如8所述。(该结果的不同版本已在3、\[4和\[5中确立)。
Theorem 1.
定理 1。
∂ ∂ θ i λ ( θ ) = ∑ x , u η θ ( x , u ) q θ ( x , u ) ψ θ i ( x , u ) ( 1 ) \frac{\partial}{\partial \theta_i} \lambda(\theta) = \sum_{x, u} \eta_\theta(x, u) q_\theta(x, u) \psi_\theta^i(x, u) \quad (1) ∂θi∂λ(θ)=x,u∑ηθ(x,u)qθ(x,u)ψθi(x,u)(1)
where ψ θ i ( x , u ) \psi_\theta^i(x, u) ψθi(x,u) stands for the i i i th component of ψ θ \psi_\theta ψθ .
where ψ θ i ( x , u ) \psi_\theta^i(x, u) ψθi(x,u) 表示 θ 的第 i 个分量。
In 8, the quantity q θ ( x , u ) q_\theta(x, u) qθ(x,u) in the above formula is interpreted as the expected excess cost incurred over a certain renewal period of the Markov chain { X n , U n } \{X_n, U_n\} {Xn,Un} , under the RSP μ θ \mu_\theta μθ , and is then estimated by means of simulation, leading to actor-only algorithms. Here, we provide an alternative interpretation of the formula in Theorem 1, as an inner product, and thus derive a different set of algorithms, which readily generalize to the case of an infinite space as well.
在8中,上述公式中的数量 q θ ( x , u ) q_\theta(x, u) qθ(x,u) 被解释为在马尔可夫链 { X n , U n } \{X_n, U_n\} {Xn,Un} 的某个更新周期内,在RSP μ θ \mu_\theta μθ下产生的预期超额成本,并通过模拟进行估计,从而得到actor-only算法。在这里,我们提供了定理1中公式的一种替代解释,即内积,从而推导出一组不同的算法,这些算法可以轻松地推广到无限空间的情况。
For any θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn , we define the inner product ⟨ ⋅ , ⋅ ⟩ θ \langle \cdot, \cdot \rangle_\theta ⟨⋅,⋅⟩θ of two real valued functions q 1 , q 2 q_1, q_2 q1,q2 on S × A S \times A S×A , viewed as vectors in R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ , by
对于任意 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn,我们定义实值函数 q 1 , q 2 q_1, q_2 q1,q2 在 S × A S \times A S×A 上的内积 ⟨ ⋅ , ⋅ ⟩ θ \langle \cdot, \cdot \rangle_\theta ⟨⋅,⋅⟩θ,将其视为 R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ 中的向量,其定义为
⟨ q 1 , q 2 ⟩ θ = ∑ x , u η θ ( x , u ) q 1 ( x , u ) q 2 ( x , u ) . \langle q_1, q_2 \rangle_\theta = \sum_{x, u} \eta_\theta(x, u) q_1(x, u) q_2(x, u). ⟨q1,q2⟩θ=x,u∑ηθ(x,u)q1(x,u)q2(x,u).
With this notation we can rewrite the formula (1) as
使用此记号,我们可以将公式(1)重写为
∂ ∂ θ i λ ( θ ) = ⟨ q θ , ψ θ i ⟩ θ , i = 1 , ... , n . \frac{\partial}{\partial \theta_i} \lambda(\theta) = \langle q_\theta, \psi_\theta^i \rangle_\theta, \quad i = 1, \dots, n. ∂θi∂λ(θ)=⟨qθ,ψθi⟩θ,i=1,...,n.
Let ∥ ⋅ ∥ θ \|\cdot\|\theta ∥⋅∥θ denote the norm induced by this inner product on R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ . For each θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn let Ψ θ \Psi\theta Ψθ denote the span of the vectors { ψ θ i ; 1 ≤ i ≤ n } \{\psi_\theta^i; 1 \leq i \leq n\} {ψθi;1≤i≤n} in R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ . (This is same as the set of all functions f f f on S × A S \times A S×A of the form f ( x , u ) = ∑ i = 1 n α i ψ θ i ( x , u ) f(x, u) = \sum_{i=1}^n \alpha_i \psi_\theta^i(x, u) f(x,u)=∑i=1nαiψθi(x,u) , for some scalars α 1 , ... , α n \alpha_1, \dots, \alpha_n α1,...,αn .)
设 ∥ ⋅ ∥ θ \|\cdot\|\theta ∥⋅∥θ 表示由 R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ 上的这个内积所诱导的范数。对于每个 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn,令 Ψ θ \Psi\theta Ψθ 表示向量集合 { ψ θ i ; 1 ≤ i ≤ n } \{\psi_\theta^i; 1 \leq i \leq n\} {ψθi;1≤i≤n} 在 R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ 中所张成的子空间。(这等价于所有形如
f ( x , u ) = ∑ i = 1 n α i ψ θ i ( x , u ) f(x, u) = \sum_{i=1}^n \alpha_i \psi_\theta^i(x, u) f(x,u)=i=1∑nαiψθi(x,u)
的函数 f : S × A → R f: S \times A \rightarrow \mathbb{R} f:S×A→R 的集合,其中 α 1 , ... , α n \alpha_1, \dots, \alpha_n α1,...,αn 为任意标量。)
Note that although the gradient of λ \lambda λ depends on the q q q -function, which is a vector in a possibly very high dimensional space R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ , the dependence is only through its inner products with vectors in Ψ θ \Psi_\theta Ψθ . Thus, instead of "learning" the function q θ q_\theta qθ , it would suffice to learn the projection of q θ q_\theta qθ on the subspace Ψ θ \Psi_\theta Ψθ .
请注意,虽然 λ \lambda λ 的梯度依赖于 q q q 函数,而 q q q 函数是位于可能非常高维的空间 R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ 中的一个向量,但这种依赖关系仅通过其与 Ψ θ \Psi_\theta Ψθ 中向量的内积来体现。因此,无需去"学习"完整的函数 q θ q_\theta qθ,只需学习 q θ q_\theta qθ 在子空间 Ψ θ \Psi_\theta Ψθ 上的投影即可。
Indeed, let Π θ : R ∣ S ∣ ∣ A ∣ ↦ Ψ θ \Pi_\theta : \mathbb{R}^{|S||A|} \mapsto \Psi_\theta Πθ:R∣S∣∣A∣↦Ψθ be the projection operator defined by
事实上,令 Π θ : R ∣ S ∣ ∣ A ∣ ↦ Ψ θ \Pi_\theta : \mathbb{R}^{|S||A|} \mapsto \Psi_\theta Πθ:R∣S∣∣A∣↦Ψθ 为投影算子,定义为
Π θ q = arg min q ^ ∈ Ψ θ ∥ q − q ^ ∥ θ . \Pi_\theta q = \arg \min_{\hat{q} \in \Psi_\theta} \|q - \hat{q}\|_\theta. Πθq=argq^∈Ψθmin∥q−q^∥θ.
Since
由于
⟨ q θ , ψ θ ⟩ θ = ⟨ Π θ q θ , ψ θ ⟩ θ , ( 2 ) \langle q_\theta, \psi_\theta \rangle_\theta = \langle \Pi_\theta q_\theta, \psi_\theta \rangle_\theta, \quad (2) ⟨qθ,ψθ⟩θ=⟨Πθqθ,ψθ⟩θ,(2)
it is enough to compute the projection of q θ q_\theta qθ onto Ψ θ \Psi_\theta Ψθ .
只需计算 q θ q_\theta qθ 在 Ψ θ \Psi_\theta Ψθ . 上的投影。
问题1:解释一下
这段文字的核心思想是:为了计算平均成本关于策略参数的梯度,我们并不需要学习完整的"状态-动作价值函数" q θ q_\theta qθ,而只需要学习它在某个低维子空间上的投影。 这为设计更高效的强化学习算法(尤其是Actor-Critic类算法)提供了理论基础。
下面我们逐步拆解这个结论的逻辑链。
1. 背景与目标
我们有一个马尔可夫决策过程(MDP),状态 x ∈ S x \in S x∈S,动作 u ∈ A u \in A u∈A,代价为 g ( x , u ) g(x,u) g(x,u)。
- 策略 是一族参数化的随机平稳策略 μ θ ( x , u ) \mu_\theta(x,u) μθ(x,u),表示在状态 x x x 下选择动作 u u u 的概率。参数 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn 是一个向量。
- 目标 是找到使长期平均代价 λ ( θ ) \lambda(\theta) λ(θ) 最小的 θ \theta θ:
λ ( θ ) = ∑ x , u η θ ( x , u ) g ( x , u ) , \lambda(\theta) = \sum_{x,u} \eta_\theta(x,u) g(x,u), λ(θ)=x,u∑ηθ(x,u)g(x,u),
其中 η θ ( x , u ) = π θ ( x ) μ θ ( x , u ) \eta_\theta(x,u) = \pi_\theta(x)\mu_\theta(x,u) ηθ(x,u)=πθ(x)μθ(x,u) 是状态-动作对在平稳分布下的概率。
2. 核心工具: q q q 函数与策略梯度定理
为了优化 λ ( θ ) \lambda(\theta) λ(θ),我们需要它的梯度。文中引入两个辅助函数:
- 微分价值函数 V θ ( x ) V_\theta(x) Vθ(x):满足泊松方程,代表从状态 x x x 出发,相对于平均成本的"额外总代价"(好比相对于平均线的偏差)。
- q q q 函数 q θ ( x , u ) q_\theta(x,u) qθ(x,u):定义为
q θ ( x , u ) = g ( x , u ) − λ ( θ ) + ∑ y p x y ( u ) V θ ( y ) , q_\theta(x,u) = g(x,u) - \lambda(\theta) + \sum_y p_{xy}(u) V_\theta(y), qθ(x,u)=g(x,u)−λ(θ)+y∑pxy(u)Vθ(y),
它衡量在当前状态 x x x 执行动作 u u u 后,再跟随策略时,所带来的"超出平均成本的部分"。
策略梯度定理 (定理1)给出了一个非常简洁的梯度公式:
∂ λ ( θ ) ∂ θ i = ∑ x , u η θ ( x , u ) q θ ( x , u ) ψ θ i ( x , u ) , \frac{\partial \lambda(\theta)}{\partial \theta_i} = \sum_{x,u} \eta_\theta(x,u) q_\theta(x,u) \psi_\theta^i(x,u), ∂θi∂λ(θ)=x,u∑ηθ(x,u)qθ(x,u)ψθi(x,u),
其中 ψ θ ( x , u ) = ∇ θ ln μ θ ( x , u ) \psi_\theta(x,u) = \nabla_\theta \ln \mu_\theta(x,u) ψθ(x,u)=∇θlnμθ(x,u) 是策略对数似然的梯度(所谓"得分函数")。
3. 重新解释:内积与投影
作者引入一个带权重的内积 :对任意两个定义在 S × A S\times A S×A 上的函数 q 1 , q 2 q_1,q_2 q1,q2,
⟨ q 1 , q 2 ⟩ θ = ∑ x , u η θ ( x , u ) q 1 ( x , u ) q 2 ( x , u ) . \langle q_1, q_2 \rangle_\theta = \sum_{x,u} \eta_\theta(x,u) q_1(x,u) q_2(x,u). ⟨q1,q2⟩θ=x,u∑ηθ(x,u)q1(x,u)q2(x,u).
在这个内积下,上面的梯度公式可以更紧凑地写成:
∇ θ λ ( θ ) = ( ⟨ q θ , ψ θ 1 ⟩ θ , ... , ⟨ q θ , ψ θ n ⟩ θ ) ⊤ . \nabla_\theta \lambda(\theta) = \big( \langle q_\theta, \psi_\theta^1 \rangle_\theta, \dots, \langle q_\theta, \psi_\theta^n \rangle_\theta \big)^\top. ∇θλ(θ)=(⟨qθ,ψθ1⟩θ,...,⟨qθ,ψθn⟩θ)⊤.
注意,梯度只依赖于 q θ q_\theta qθ 与各个分量 ψ θ i \psi_\theta^i ψθi 做内积的结果。而 ψ θ 1 , ... , ψ θ n \psi_\theta^1,\dots,\psi_\theta^n ψθ1,...,ψθn 只是 ∣ S ∣ × ∣ A ∣ |S|\times|A| ∣S∣×∣A∣ 维空间中的 n n n 个向量,它们张成一个低维子空间 Ψ θ \Psi_\theta Ψθ(维数至多为 n n n,而 n ≪ ∣ S ∣ × ∣ A ∣ n \ll |S|\times|A| n≪∣S∣×∣A∣)。
关键洞察 :设 Π θ \Pi_\theta Πθ 是在内积 ⟨ ⋅ , ⋅ ⟩ θ \langle\cdot,\cdot\rangle_\theta ⟨⋅,⋅⟩θ 下到子空间 Ψ θ \Psi_\theta Ψθ 的正交投影 。那么对于任何 ψ ∈ Ψ θ \psi \in \Psi_\theta ψ∈Ψθ,都有
⟨ q θ , ψ ⟩ θ = ⟨ Π θ q θ , ψ ⟩ θ . \langle q_\theta, \psi \rangle_\theta = \langle \Pi_\theta q_\theta, \psi \rangle_\theta. ⟨qθ,ψ⟩θ=⟨Πθqθ,ψ⟩θ.
应用到梯度上,就是:
∇ θ λ ( θ ) = ( ⟨ Π θ q θ , ψ θ 1 ⟩ θ , ... ) ⊤ . \nabla_\theta \lambda(\theta) = \big( \langle \Pi_\theta q_\theta, \psi_\theta^1 \rangle_\theta, \dots \big)^\top. ∇θλ(θ)=(⟨Πθqθ,ψθ1⟩θ,...)⊤.
这意味着:我们完全不需要知道 q θ q_\theta qθ 本身的所有 ∣ S ∣ × ∣ A ∣ |S|\times|A| ∣S∣×∣A∣ 个值,只需知道它的投影 Π θ q θ \Pi_\theta q_\theta Πθqθ------一个位于 n n n 维子空间中的向量。 这个投影其实就是 q θ q_\theta qθ 在"由策略参数 θ \theta θ 的变化所张成的方向"上的分量。
4. 为什么这很重要?
在传统方法中,要估计梯度,需要估计 q θ ( x , u ) q_\theta(x,u) qθ(x,u) 的全部值,这对于大规模问题几乎不可能。但这个投影视角告诉我们:
- 我们只需要构造一个参数化的函数 q ^ \hat{q} q^(比如一个线性组合 ∑ i α i ψ θ i \sum_i \alpha_i \psi_\theta^i ∑iαiψθi),让它去逼近 Π θ q θ \Pi_\theta q_\theta Πθqθ。
- 这相当于仅对梯度方向上有影响的信息进行学习,极大地压缩了学习对象的维度。
- 这样的思路直接催生了 Actor-Critic 算法 :Actor 更新参数 θ \theta θ(策略),而 Critic 则利用内积投影去估计 Π θ q θ \Pi_\theta q_\theta Πθqθ,而不必学习完整的 q θ q_\theta qθ 函数。
文中提到的"它提供了一种替代的算法推导,并可推广到无限空间"正是此意:基于投影和内积的观点,可以系统性地用函数逼近和随机梯度方法来设计学习算法,而不再像早期纯 Actor 方法那样需要借助复杂的更新周期估计。
问题2:通俗解释
我们可以把这个复杂的数学概念,用一个人学做菜的故事讲明白。
目标:
你是个厨师,要调出一份"平均成本最低"的菜谱。菜谱就是你的策略参数 (θ)(比如盐的克数、糖的克数、火候大小等)。每做完一道菜,尝一口会有个"代价"(咸了、糊了),你的目标是长期做下来,平均代价最低。
关键一:你尝菜的"评分"和"敏感度"
- 你每做一步(某个状态 (x) 下选择动作 (u),比如"大火爆炒"),都有一个相对平均水平的评分 (q_θ(x,u)):它告诉你这一步是比平时做得更好还是更差。
- 同时,每种调料(参数 (θ_i))对每个动作的影响有个"敏感度" (ψ_θ^i)。比如,盐的克数改变时,影响"放盐"动作的概率变化有多大。
定理1说: 你要想改进菜谱,调整每种调料的用量,应该参考一个公式:
调料 (θ_i) 的调整方向 = 所有步骤的(评分 × 该步骤对该调料的敏感度)的总和。
关键二:不需要记住每道菜的完整味道
这里就是那段文字的精髓:
- 菜的可能性千千万,你要是一口一口记住每道菜的全部细节,脑子会爆炸。
- 但好在,你调整菜谱时,只需要知道评分在调料对应的几个"方向"上 的投影。什么意思?
你其实只在乎:"这道菜偏咸吗?""偏甜吗?""火候过头吗?"......这些方向恰好就是你的调料参数能影响的方向。 - 原来,梯度完全由 (q_θ) 函数和那些敏感度向量 (ψ_θ^i) 的内积决定。而 (ψ_θ^i) 张成的子空间只有 (n) 维(调料种类数),远小于所有可能菜肴的数量。
- 所以你可以只学一个摘要:不必精确知道每个状态动作对的完整 (q) 值,只需知道 (q) 在这些调料方向上的分量,也就是 (q_θ) 在这个低维子空间上的投影 (\Pi_θ q_θ)。
打个比方:
你想改进公司的平均业绩(降低平均成本),每个员工(状态-动作)都有个表现分 (q)。公司的政策参数 (θ) 就是几个核心举措(培训、奖金、流程优化)。你调整举措时,只需要知道表现分在"培训效果维度""奖金激励维度"上的投影,没必要记住每个员工的一言一行。Critic(评论家)的工作就是估算这个投影,然后告诉 Actor(执行者)该往哪个方向调整举措。
总结成一句话:
为了优化策略,我们不需要看清整片森林(完整 (q) 函数),只需要看清脚下的那几条路(梯度投影),而这正是内积和投影视角带给我们的计算捷径。
问题3:逐段对照解释
逐段对照原文解释,解释清楚公式里面的每个字母、每个部分是什么意思,公式是怎么来的,为什么公式是这样?它有什么作用等
我们来像读故事一样,一句一句地把这段文字"翻译"成大白话。你不用怕公式,我会把每个字母都讲清楚。
第一段:我们面对的问题是什么?
原文:
考虑一个具有有限状态空间 S S S 和有限动作空间 A A A 的马尔可夫决策过程。设 g : S × A → R g : S \times A \rightarrow \mathbb{R} g:S×A→R 为给定的代价函数。随机平稳策略 (RSP)是一个映射 μ \mu μ,它为每个状态 x x x 分配一个动作空间 A A A 上的概率分布。我们考虑一族以向量 θ \theta θ 为参数进行参数化的随机平稳策略 P = { μ θ ; θ ∈ R n } \mathbb{P} = \{\mu_\theta; \theta \in \mathbb{R}^n\} P={μθ;θ∈Rn}。对于每一对 ( x , u ) ∈ S × A (x, u) \in S \times A (x,u)∈S×A, μ θ ( x , u ) \mu_\theta(x, u) μθ(x,u) 表示在对应于 θ \theta θ 的策略下,遇到状态 x x x 时采取动作 u u u 的概率。设 p x y ( u ) p_{xy}(u) pxy(u) 表示在当前状态为 x x x 且当前动作为 u u u 的条件下,下一状态为 y y y 的概率。注意,在任意 RSP 下,马尔可夫决策过程的状态序列 { X n } \{X_n\} {Xn} 和状态-动作对序列 { X n , U n } \{X_n, U_n\} {Xn,Un} 分别构成状态空间为 S S S 和 S × A S \times A S×A 的马尔可夫链。
大白话解释:
- 我们有一个"机器"或"环境",它会处于不同的状态 x x x(比如"我在客厅""我在厨房"),状态的总数是有限的,记作集合 S S S。
- 在每个状态,你可以做一些动作 u u u(比如"去卧室""拿饮料"),动作的总数也是有限的,记作集合 A A A。
- 做动作要付出代价 g ( x , u ) g(x,u) g(x,u),代价就是你做这件事花费的"钱"或"精力"。我们的目标就是让长期平均代价越小越好。
- 随机平稳策略(RSP) 就是一个做事的规矩:它不告诉你"一定做某个动作",而是告诉你 "在这个状态下,选各个动作的概率是多少" 。比如在客厅,有 70% 概率去厨房,30% 概率去卧室。这个策略只取决于当前状态,不随时间变化,所以叫"平稳"。
- 现在我们不是要找一个任意策略,而是要在一族参数化 的策略里找最好的。参数 θ \theta θ 是一个向量,比如 θ = ( θ 1 , θ 2 ) \theta=(\theta_1,\theta_2) θ=(θ1,θ2),改变 θ \theta θ 就能改变各个状态下的动作概率。 μ θ ( x , u ) \mu_\theta(x,u) μθ(x,u) 就是在参数 θ \theta θ 下,状态 x x x 时选动作 u u u 的概率。
- p x y ( u ) p_{xy}(u) pxy(u) 是环境本身的规律:在状态 x x x 做了动作 u u u 之后,下一秒会跳到状态 y y y 的概率。比如在客厅选择"去厨房",那么下一秒出现在厨房的概率是多少。
- 最后一句话的意思是:按照这样的概率规则跑起来,状态一个接一个的序列,以及(状态,动作)一对一对的序列,它们自己都形成马尔可夫链------也就是下一时刻只取决于当前,不依赖更早的历史。
假设 (A1):策略的数学性质要好
原文:
对于所有 x ∈ S x \in S x∈S 和 u ∈ A u \in A u∈A,映射 θ ↦ μ θ ( x , u ) \theta \mapsto \mu_\theta(x, u) θ↦μθ(x,u) 是二次可微的,且其一阶、二阶导数有界。此外,存在一个 R n \mathbb{R}^n Rn-值函数 ψ θ ( x , u ) \psi_\theta(x, u) ψθ(x,u),使得
∇ μ θ ( x , u ) = μ θ ( x , u ) ψ θ ( x , u ) , \nabla \mu_\theta(x, u) = \mu_\theta(x, u) \, \psi_\theta(x, u), ∇μθ(x,u)=μθ(x,u)ψθ(x,u),
其中对于任意固定的 x x x 和 u u u,映射 θ ↦ ψ θ ( x , u ) \theta \mapsto \psi_\theta(x, u) θ↦ψθ(x,u) 有界,且其一阶导数有界。
大白话解释:
- 我们想用梯度下降来调参,所以要求概率 μ θ ( x , u ) \mu_\theta(x,u) μθ(x,u) 随 θ \theta θ 的变化是光滑的(二次可微),并且变化率(导数)不能无限大。
- 然后他们定义了一个非常重要的工具: ψ θ ( x , u ) \psi_\theta(x,u) ψθ(x,u)。怎么来的?把概率 μ θ ( x , u ) \mu_\theta(x,u) μθ(x,u) 对参数 θ \theta θ 求梯度,结果可以写成 概率本身乘上一个向量 ψ \psi ψ 。这是故意这么做的,因为只要 μ > 0 \mu>0 μ>0,就能把 ψ \psi ψ 写成:
ψ θ ( x , u ) = ∇ μ θ ( x , u ) μ θ ( x , u ) = ∇ ln μ θ ( x , u ) . \psi_\theta(x,u) = \frac{\nabla \mu_\theta(x,u)}{\mu_\theta(x,u)} = \nabla \ln \mu_\theta(x,u). ψθ(x,u)=μθ(x,u)∇μθ(x,u)=∇lnμθ(x,u).
这个 ψ \psi ψ 叫做"得分函数"(score function),它衡量的是:参数 θ \theta θ 的微小变化,会让选择动作 u u u 的对数概率 朝哪个方向、以多大强度变化。后面梯度公式里的 ψ \psi ψ 就是它。
假设 (A2):链能"忘记过去"并稳定下来
原文:
对于每个 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn,在 RSP μ θ \mu_\theta μθ 下,马尔可夫链 { X n } \{X_n\} {Xn} 和 { X n , U n } \{X_n, U_n\} {Xn,Un} 都是不可约且非周期的,其平稳分布分别为 π θ ( x ) \pi_\theta(x) πθ(x) 和 η θ ( x , u ) = π θ ( x ) μ θ ( x , u ) \eta_\theta(x, u) = \pi_\theta(x) \mu_\theta(x, u) ηθ(x,u)=πθ(x)μθ(x,u)。
大白话解释:
- 不可约:从任意状态出发,你都有可能到达任何其他状态(不会被卡在某个死胡同里出不来)。
- 非周期:你回到某个状态的间隔不会是固定步数(比如不会每两次就回来一次),这样长期运行后状态的比例才会稳定。
- 有了这两个性质,系统跑无限长时间后,访问每个状态(或状态-动作对)的比例 就会趋于一个确定的数,称为平稳分布 。
- π θ ( x ) \pi_\theta(x) πθ(x):长期看,你在状态 x x x 的时间占比。
- η θ ( x , u ) \eta_\theta(x,u) ηθ(x,u):长期看,你处于状态 x x x 并且 执行动作 u u u 的占比。因为你在 x x x 时按 μ θ \mu_\theta μθ 选动作,所以它自然等于 π θ ( x ) \pi_\theta(x) πθ(x) 乘上选 u u u 的概率 μ θ ( x , u ) \mu_\theta(x,u) μθ(x,u)。
平均代价 λ ( θ ) \lambda(\theta) λ(θ)
原文:
考虑平均成本函数 λ : R n ↦ R \lambda : \mathbb{R}^n \mapsto \mathbb{R} λ:Rn↦R,其定义为
λ ( θ ) = ∑ x ∈ S , u ∈ A g ( x , u ) η θ ( x , u ) . \lambda(\theta) = \sum_{x \in S, u \in A} g(x, u) \eta_\theta(x, u). λ(θ)=x∈S,u∈A∑g(x,u)ηθ(x,u).
大白话解释:
- 每步的代价 g g g 不同。长期跑下来,平均每一步花多少钱?就是把每个 ( x , u ) (x,u) (x,u) 下的代价 g ( x , u ) g(x,u) g(x,u),按你碰到这个情况的频率 η θ ( x , u ) \eta_\theta(x,u) ηθ(x,u) 做加权平均。
- λ ( θ ) \lambda(\theta) λ(θ) 就是"这个策略参数 θ \theta θ 对应的平均表现"。我们想找使 λ ( θ ) \lambda(\theta) λ(θ) 最小的 θ \theta θ。
微分代价函数 V θ V_\theta Vθ 和泊松方程
原文:
对于每个 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn,令 V θ : S ↦ R V_\theta : S \mapsto \mathbb{R} Vθ:S↦R 为"微分"成本函数,定义为泊松方程的解:
λ ( θ ) + V θ ( x ) = ∑ u ∈ A μ θ ( x , u ) g ( x , u ) + ∑ y p x y ( u ) V θ ( y ) . \lambda(\theta) + V_\theta(x) = \sum_{u \in A} \mu_\theta(x, u) \left g(x, u) + \\sum_y p_{xy}(u) V_\\theta(y) \\right. λ(θ)+Vθ(x)=u∈A∑μθ(x,u)g(x,u)+y∑pxy(u)Vθ(y).
大白话解释:
- 平均代价 λ \lambda λ 只告诉你"平均花多少",但没法告诉你某个具体状态"是赚是亏"。就像全班平均分,不能告诉你某个学生是高分还是低分。
- V θ ( x ) V_\theta(x) Vθ(x) 就是这个状态 x x x 的"偏差":从 x x x 出发,你预计将来会比平均水平多付出多少代价(如果是负数,就表示比平均好)。它也叫"相对价值函数"或"劣势函数"。
- 这个方程怎么理解?左右两边:
- 左边: λ + V ( x ) \lambda + V(x) λ+V(x),即"长期平均"加上"从 x x x 出发的多出部分"。
- 右边:在状态 x x x,按策略概率选动作 u u u,然后你立刻得到代价 g ( x , u ) g(x,u) g(x,u),并且转移到下一个状态 y y y,从 y y y 开始的相对价值是 V ( y ) V(y) V(y)。将即刻代价加上未来相对价值的期望,应该等于"从 x x x 开始的总相对价值"。
- 这样定义出的 V V V 正好使得平均校正一致。
q q q-函数
原文:
最后,对于每个 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn,我们定义 q q q-函数 q θ : S × A → R q_\theta : S \times A \rightarrow \mathbb{R} qθ:S×A→R,其定义如下:
q θ ( x , u ) = g ( x , u ) − λ ( θ ) + ∑ y p x y ( u ) V θ ( y ) . q_\theta(x, u) = g(x, u) - \lambda(\theta) + \sum_y p_{xy}(u) V_\theta(y). qθ(x,u)=g(x,u)−λ(θ)+y∑pxy(u)Vθ(y).
大白话解释:
- 这个 q q q 就是在状态 x x x 做动作 u u u 时,这一瞬间的"超额代价"。
- 公式拆解:
- g ( x , u ) g(x,u) g(x,u) 是立即代价。
- 减去 λ ( θ ) \lambda(\theta) λ(θ),因为你关心的是比平均多还是少。
- 加上下一状态 y y y 的相对价值 V ( y ) V(y) V(y) 的期望(因为做完这个动作后,你就交给后续状态了)。
- 如果 q q q 是正数,说明这一步比平均差;如果是负数,说明这一步比平均好。
定理 1:策略梯度公式
原文:
∂ ∂ θ i λ ( θ ) = ∑ x , u η θ ( x , u ) q θ ( x , u ) ψ θ i ( x , u ) ( 1 ) \frac{\partial}{\partial \theta_i} \lambda(\theta) = \sum_{x, u} \eta_\theta(x, u) q_\theta(x, u) \psi_\theta^i(x, u) \quad (1) ∂θi∂λ(θ)=x,u∑ηθ(x,u)qθ(x,u)ψθi(x,u)(1)
大白话解释:
- 我们想知道:把参数 θ i \theta_i θi 微微调大一点,平均代价会升高还是降低?梯度就是答案。
- 公式右边就是把这个变化量算出来:
- η θ ( x , u ) \eta_\theta(x,u) ηθ(x,u):在平稳运行中, ( x , u ) (x,u) (x,u) 被访问的频率(权重)。
- q θ ( x , u ) q_\theta(x,u) qθ(x,u):这个 ( x , u ) (x,u) (x,u) 有多"差"(相对于平均)。
- ψ θ i ( x , u ) \psi_\theta^i(x,u) ψθi(x,u):当参数 θ i \theta_i θi 变大时,选择动作 u u u 的概率会朝着什么方向、多大程度改变(是对数概率的偏导)。
- 所以整体的意思是:把出现频率高、表现差、且参数变化能有效影响的那个 (状态,动作) 组合找出来,该组合会告诉我们参数该往哪调。 对所有组合求和,就得到参数调整的总方向。
这个公式是从泊松方程和概率的导数性质推导出来的,就像用链式法则求期望的导数,这里不展开推导,但结果非常直观。
用内积重写梯度
原文:
对于任意 θ ∈ R n \theta \in \mathbb{R}^n θ∈Rn,我们定义实值函数 q 1 , q 2 q_1, q_2 q1,q2 在 S × A S \times A S×A 上的内积 ⟨ ⋅ , ⋅ ⟩ θ \langle \cdot, \cdot \rangle_\theta ⟨⋅,⋅⟩θ,其定义为
⟨ q 1 , q 2 ⟩ θ = ∑ x , u η θ ( x , u ) q 1 ( x , u ) q 2 ( x , u ) . \langle q_1, q_2 \rangle_\theta = \sum_{x, u} \eta_\theta(x, u) q_1(x, u) q_2(x, u). ⟨q1,q2⟩θ=x,u∑ηθ(x,u)q1(x,u)q2(x,u).
使用此记号,我们可以将公式(1)重写为∂ ∂ θ i λ ( θ ) = ⟨ q θ , ψ θ i ⟩ θ . \frac{\partial}{\partial \theta_i} \lambda(\theta) = \langle q_\theta, \psi_\theta^i \rangle_\theta. ∂θi∂λ(θ)=⟨qθ,ψθi⟩θ.
大白话解释:
- 这里的"内积"就是一个加权点乘 。普通的点乘是两个向量的对应元素相乘再求和。现在权重是平稳分布 η θ \eta_\theta ηθ,意思是我们更在意常出现的那些 (状态,动作) 对。
- 这样,梯度就变成了 q q q 函数和 ψ i \psi^i ψi 向量在这个加权内积下的值。这种写法极其简洁,而且把"高维向量"的运算框架建立起来了。
子空间 Ψ θ \Psi_\theta Ψθ
原文:
设 Ψ θ \Psi_\theta Ψθ 表示向量集合 { ψ θ i ; 1 ≤ i ≤ n } \{\psi_\theta^i; 1 \leq i \leq n\} {ψθi;1≤i≤n} 在 R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ 中所张成的子空间。(这等价于所有形如
f ( x , u ) = ∑ i = 1 n α i ψ θ i ( x , u ) f(x, u) = \sum_{i=1}^n \alpha_i \psi_\theta^i(x, u) f(x,u)=i=1∑nαiψθi(x,u)
的函数 f : S × A → R f: S \times A \rightarrow \mathbb{R} f:S×A→R 的集合,其中 α 1 , ... , α n \alpha_1, \dots, \alpha_n α1,...,αn 为任意标量。)
大白话解释:
- 所有函数定义在 S × A S\times A S×A 上,那总共有 ∣ S ∣ × ∣ A ∣ |S|\times|A| ∣S∣×∣A∣ 个可能输入,所以整个函数空间是 ∣ S ∣ × ∣ A ∣ |S|\times|A| ∣S∣×∣A∣ 维的。
- 但是,我们关心的 ψ 1 , ψ 2 , ... , ψ n \psi^1, \psi^2, \dots, \psi^n ψ1,ψ2,...,ψn 只有 n n n 个向量( n n n 就是参数 θ \theta θ 的个数)。它们张成一个很小的子空间 Ψ θ \Psi_\theta Ψθ,里面的任何一个向量,都是这几个 ψ \psi ψ 向量的线性组合。
- 这个子空间代表的是"参数 θ \theta θ 能够直接影响和调整的方向"。
核心洞见:只需要投影
原文:
请注意,虽然 λ \lambda λ 的梯度依赖于 q q q 函数,而 q q q 函数是位于可能非常高维的空间 R ∣ S ∣ ∣ A ∣ \mathbb{R}^{|S||A|} R∣S∣∣A∣ 中的一个向量,但这种依赖关系仅通过其与 Ψ θ \Psi_\theta Ψθ 中向量的内积来体现。因此,无需去"学习"完整的函数 q θ q_\theta qθ,只需学习 q θ q_\theta qθ 在子空间 Ψ θ \Psi_\theta Ψθ 上的投影即可。
大白话解释:
- 梯度公式是 ⟨ q θ , ψ θ i ⟩ \langle q_\theta, \psi_\theta^i \rangle ⟨qθ,ψθi⟩,只需要 q q q 和那 n n n 个 ψ i \psi^i ψi 分别做内积。
- 假设我们有一个算法能直接 在低维子空间 Ψ θ \Psi_\theta Ψθ 里找一个向量 q ^ \hat{q} q^,使得 q ^ \hat{q} q^ 与所有 ψ i \psi^i ψi 的内积,和真实的 q q q 与 ψ i \psi^i ψi 的内积完全一样。那么这个 q ^ \hat{q} q^ 在梯度计算中就可以完全替代 q q q,而且它恰好就是 q q q 到 Ψ θ \Psi_\theta Ψθ 的正交投影 Π θ q \Pi_\theta q Πθq。
- 为什么?因为投影的性质就是:原向量减去投影后的差向量,与子空间内每一个向量都正交(内积为0)。所以 q − Π q q - \Pi q q−Πq 与每个 ψ i \psi^i ψi 的内积为0,即 ⟨ q , ψ i ⟩ = ⟨ Π q , ψ i ⟩ \langle q, \psi^i \rangle = \langle \Pi q, \psi^i \rangle ⟨q,ψi⟩=⟨Πq,ψi⟩。
- 意义 :我们不需要去学习一个巨大的 q q q 表(有 ∣ S ∣ × ∣ A ∣ |S|\times|A| ∣S∣×∣A∣ 个格子),而只需要学习 n n n 个系数 α i \alpha_i αi,组成 q ^ = ∑ i α i ψ θ i \hat{q} = \sum_i \alpha_i \psi_\theta^i q^=∑iαiψθi,就能一样地算出梯度!学习复杂度从"巨大"降到了"参数个数"。
一句话总结:
这段文字把计算平均代价梯度的公式,重新理解成了一个加权内积。由于梯度只用到 q q q 函数在一个由策略参数决定的小子空间上的投影,我们不需要知道完整的 q q q 值,只要学会那个投影就够了。这就是后来许多高效"Actor-Critic"算法的数学根基。
问题4:只需要投影
核心洞见:只需要投影 那一块看起来有点复杂,再解释一下
我们来把"核心洞见:只需要投影"这块单独拧出来,用两个特别好懂的生活例子和图形思维说清楚。
第一步:先记住我们要算什么
我们要调整菜谱(参数 θ \theta θ),让它平均成本最低。
梯度告诉我们往哪个方向调。梯度的公式是:
∂ λ ∂ θ i = ⟨ q θ , ψ θ i ⟩ θ = ∑ x , u η θ ( x , u ) q θ ( x , u ) ψ θ i ( x , u ) \frac{\partial \lambda}{\partial \theta_i} = \langle q_\theta, \psi_\theta^i \rangle_\theta = \sum_{x,u} \eta_\theta(x,u) \; q_\theta(x,u) \; \psi_\theta^i(x,u) ∂θi∂λ=⟨qθ,ψθi⟩θ=x,u∑ηθ(x,u)qθ(x,u)ψθi(x,u)
这里:
- q θ ( x , u ) q_\theta(x,u) qθ(x,u) 是一道菜(状态-动作)的"偏差分":比平均水平好吃还是难吃。
- ψ θ i ( x , u ) \psi_\theta^i(x,u) ψθi(x,u) 是这道菜对第 i i i 种调料的"敏感度"。
- 内积就是按各道菜的出现频率加权,把偏差分和敏感度乘起来再求和。
所以整个梯度只依赖于一个东西: q q q 和那几个 ψ i \psi^i ψi 的"加权点乘"。
第二步:把 q q q 想象成一张巨大的表格
假设状态有 100 个,动作有 10 个,那 q q q 就是一个 1000 行的表格。
如果我们想精确知道梯度,理论上要把这 1000 个数字全部记住,这太难了。
但好消息是:我们根本不需要关心所有的 1000 个方向,只需要关心参数 θ \theta θ 能影响的那几个方向。
这几个方向就是 ψ 1 , ψ 2 , ... , ψ n \psi^1, \psi^2, \dots, \psi^n ψ1,ψ2,...,ψn,每个 ψ i \psi^i ψi 也是一个 1000 行的表格,记录了"参数 θ i \theta_i θi 对每道菜选做概率的影响强度"。
这 n n n 个向量张开成一个很小的"平面"(子空间 Ψ θ \Psi_\theta Ψθ),维度最多是 n n n,可能只是 5 维、10 维,远远小于 1000 维。
第三步:用"灯光投影"来理解
想象你站在一个黑暗的大厅里,手里拿着一根形状复杂的铁棍( q q q 向量,1000 维)。
墙上挂着一块幕布,幕布前有几盏射灯,它们分别从几个特定角度照射。
这些射灯的方向就是 ψ 1 , ψ 2 , ... , ψ n \psi^1, \psi^2, \dots, \psi^n ψ1,ψ2,...,ψn。
我们想知道的梯度,就是"铁棍的影子在这些射灯方向上的长度"(内积)。
现在关键来了:
我们不需要知道铁棍本身的全部三维细节,只需要知道它在那块幕布( Ψ θ \Psi_\theta Ψθ 子空间)上的投影是什么形状 。
因为影子在某个方向上的长度,完全由投影决定,跟铁棍垂直于幕布的那些弯曲变形无关。
数学上就是这个等式:
⟨ q θ , ψ θ i ⟩ θ = ⟨ Π θ q θ , ψ θ i ⟩ θ \langle q_\theta, \psi_\theta^i \rangle_\theta = \langle \Pi_\theta q_\theta, \psi_\theta^i \rangle_\theta ⟨qθ,ψθi⟩θ=⟨Πθqθ,ψθi⟩θ
- Π θ q θ \Pi_\theta q_\theta Πθqθ 就是 q q q 在幕布(子空间)上的投影。
- 它和 q q q 的差别是一个"垂直于幕布"的剩余向量。
垂直意味着这根剩余向量和幕布上的任何一个射灯方向的内积都是 0,所以把它去掉完全不影响影子长度。
第四步:回到厨房的比喻
你是厨师,菜谱参数只有 3 个:盐、糖、火候。
所以 ψ 1 \psi^1 ψ1 是"盐的敏感度", ψ 2 \psi^2 ψ2 是"糖的敏感度", ψ 3 \psi^3 ψ3 是"火候的敏感度"。
它们张成一个 3 维的"调料调整空间"。
现在,每一道菜(每个状态-动作对)的"偏差分" q q q 是一个高维的复杂评价。
但你问自己:我调整盐的用量时,真的需要知道"这道菜和那道菜在八角、桂皮上的细微差别"吗?
不需要。你只需要知道:这道菜的整体偏差分,在"盐味""甜味""火候"这三个维度上分别贡献了多少。
这三个分量,就是 q q q 在调料调整空间上的投影。
于是,你雇一个 Critic(评论家) ,它不用记住所有菜肴的完整 q q q 值,它只需要估计三个系数 w 1 , w 2 , w 3 w_1, w_2, w_3 w1,w2,w3,然后组合成:
q ^ = w 1 ψ 1 + w 2 ψ 2 + w 3 ψ 3 \hat{q} = w_1 \psi^1 + w_2 \psi^2 + w_3 \psi^3 q^=w1ψ1+w2ψ2+w3ψ3
这个 q ^ \hat{q} q^ 恰好就是投影 Π θ q θ \Pi_\theta q_\theta Πθqθ。用它来算梯度,和用真实的 q q q 算出来的完全一样,但学习成本从"记一千道菜"降到了"记三个数"。
为什么这件事那么厉害?
- 降维打击 :Actor 需要更新 n n n 个参数,Critic 就只需要学习 n n n 个系数( n n n 通常很小),而不必去学一个可能上百万维的 q q q 表。
- 推广性:这个内积投影的观点,天然适合用函数逼近(如线性函数、神经网络)来实现,也能直接推广到连续状态和动作空间。
- 算法根基 :后来一大批高效的 Actor-Critic 算法,就是让 Critic 去逼近这个投影,而不是逼近完整的 q q q 值,从而大幅减少方差和计算量。
一句话总结:
梯度只需要 q q q 在由策略参数敏感方向张成的低维平面上的"影子",至于 q q q 在其它所有方向上的细节,全是干扰信息,完全可以扔掉。所以我们的 Critic 只需要学会这个"影子",就能精确地指导 Actor 更新。