【CS285】《Deep Reinforcement Learning》学习笔记

1. 提示词

您好,我是一名高中生,正在YouTube上学习课程“CS 285 at UC Berkeley, Deep Reinforcement Learning”;
此图片是课程视频的截图,请描述其要点
此图片也是课程视频的截图,请描述其要点
讲师在此处表述内容的转写文稿如下:
'''
subtitle
'''
我是来自中国的高中生,请问,这段话是什么意思呀?

询问知识点

您好,我是一名RL专业的研究生,我的理想是成为一名优秀的RL机器人工程师;
请问,“Knowledge”
是专业的RL机器人工程师需要掌握的知识点吗?
您好,我的研究方向是使用LLM自动生成机器人RL算法的奖励函数,请问,
“Knowledge”是我需要掌握的知识点吗?

确认知识点应用

请问,current `sac.py` 中是否显式地使用了如下公式呢
$$\quad \nabla_\theta J(\theta) \approx \frac{1}{N} \sum_{i=1}^N \sum_{t=1}^T \nabla_\theta \log \pi_\theta\left(\mathbf{a}_{i, t} \mid \mathbf{s}_{i, t}\right) \hat{Q}_{i, t}$$
请问,current `ppo.py` 中是否显式地使用了如下公式呢
$$\quad \nabla_\theta J(\theta) \approx \frac{1}{N} \sum_{i=1}^N \sum_{t=1}^T \nabla_\theta \log \pi_\theta\left(\mathbf{a}_{i, t} \mid \mathbf{s}_{i, t}\right) \hat{Q}_{i, t}$$

2. 常见术语

2.1 英文术语

Finite horizon:有限时域

Rollout:轨迹采样

  1. 让智能体(agent)按照当前策略(policy)在环境中完整地执行一个回合(episode)
  2. 记录下整个交互过程中的状态、动作、奖励等信息
  3. 这个过程就像"展开"(roll out)一条完整的轨迹(trajectory)

Transition operator:转移算子

在强化学习中的 马尔可夫决策过程 (MDP)状态转移算子是描述系统从一个状态转移到另一个状态的概率规则。
它的数学表示是:
p ( s t + 1 ∣ s t , a t ) p(s_{t+1} \mid s_t, a_t) p(st+1st,at)

  • 含义:给定当前状态 (s_t) 和当前动作 (a_t),系统转移到下一个状态 (s_{t+1}) 的概率;
  • 它是由环境(Environment)决定的,与智能体的动作选择 (a_t) 有关。

2.2 英文缩写

缩写全称
ISImportanc Sampling

2.2 常见希腊字母

ξ \xi ξ: xi(发音请参照有道词典)

2.3 常见符号

2.2.1 ξ ∼ N ( 0 , I ) \xi \sim \mathcal{N}(0, \mathbf{I}) ξN(0,I):随机变量 ξ \xi ξ 服从均值为0、协方差矩阵为单位矩阵的正态分布

2.2.2 p 0 ( x 0 ) p_0(\mathbf{x}_0) p0(x0):样本 x 0 \mathbf{x}_0 x0的概率分布

2.2.3 δ ( c o n d i t i o n ) \delta(condition) δ(condition):指示函数

2.2.3 θ \theta θ:策略网络 π \pi π的可学习参数

2.2.4 π θ ( a ∣ s ) \pi_\theta(\mathbf{a}|\mathbf{s}) πθ(as):状态 s \mathbf{s} s下动作 a \mathbf{a} a的概率分布

这里 π \pi π对应单词“policy”中的“pi”;

2.2.5 轨迹 τ = s 1 , a 1 , … , s T , a T \tau = \mathbf{s}_1, \mathbf{a}_1, \ldots, \mathbf{s}_T, \mathbf{a}_T τ=s1,a1,,sT,aT

2.2.6 Reward to go Q ^ i , t \hat{Q}_{i,t} Q^i,t

  • i i i表示第 i i i条轨迹(trajectory)

3. 课程知识点目录

Lecture 1, Introduction. Part 2

  • [What is reintorcement learning?]:介绍基本符号

Lecture 5, Part 2

[What did we just do?]:在REINFORCE算法中计算梯度估计

梯度估计的公式如下:
∇ θ J ( θ ) ≈ 1 N ∑ i = 1 N ( ∑ t = 1 T ∇ θ log ⁡ π θ ( a i , t ∣ s i , t ) ) ( ∑ t = 1 T r ( s i , t , a i , t ) ) \nabla_\theta J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \left( \sum_{t=1}^{T} \nabla_\theta \log \pi_\theta(a_{i,t}|s_{i,t}) \right) \left( \sum_{t=1}^{T} r(s_{i,t}, a_{i,t}) \right) θJ(θ)N1i=1N(t=1Tθlogπθ(ai,tsi,t))(t=1Tr(si,t,ai,t))

[Review]

  • Evaluating the RL objective
  • Evaluating the policy gradient
    • Log-gradient trick: to remove the terms that we don’t know namely the initial state probability and the transition probability

Lecture 5, Part 3

  • [Reducing variance]:如何减少策略梯度估计中的方差,具体来说,可以舍弃past过去的奖励
  • [Baselines]:在reward中减去一个常数b
  • 同时证明了为什么减去常数b实际上并不会影响策略梯度的值

Lecture 6, Part 1

  • [What about the baselines]:advantage function (7:35)

Lecture 6, Part 2

[Aside: discount factors]

在这里插入图片描述

Lecture 7, Part 4

Bellman operator

B [ V ] = max ⁡ a ( r a + γ T a V ) \mathcal{B}[V] = \max_{\mathbf{a}} \left( {\bm{r}}_{\mathbf{a}} + \gamma \mathcal{T}_{\mathbf{a}} V \right) B[V]=amax(ra+γTaV)

  • 输入:价值函数 V V V(从状态到数值的映射)。
  • 输出:新的价值函数 B [ V ] \mathcal{B}[V] B[V]

本质 B \mathcal{B} B是对函数 V V V的一种“操作”,将其转换为新的函数。

Contraction of the Bellman operator

∥ B V − B V ˉ ∥ ∞ ≤ γ ∥ V − V ˉ ∥ ∞ \|\mathcal{B}V - \mathcal{B}\bar{V} \|_{\infty} \leq \gamma \| V - \bar{V} \|_{\infty} BVBVˉγVVˉ

γ < 1 \gamma < 1 γ<1 时,每次迭代后值函数的误差会以 γ \gamma γ的速率缩小,最终收敛到唯一的不动点(即真实值函数)。

CS285:
It’s important to note here that the norm under which the operator b is a contraction is the infinity norm, and the infinity norm is basically the largest difference between the corresponding entries of two functions.

Non-tabular value function learning

Π \Pi Π is a projection onto Ω \Omega Ω (in terms of ℓ 2 \ell_2 2 norm)在这里插入图片描述
[12:28]: Π B \Pi\mathcal{B} ΠB is not a contraction of any kind

在这里插入图片描述

“Fitted Q-Iteration does not converge, too”

在这里插入图片描述

公式中 T \mathcal{T} T的含义
I. T \mathcal{T} T的定义与作用

在强化学习中, T \mathcal{T} T通常表示状态转移期望算子,其作用是对下一状态 s ′ s' s的期望值进行建模。具体来说:

  • 数学表达
    T max ⁡ a Q \mathcal{T} \max_{\mathbf{a}} Q TmaxaQ的实际含义是: E s ′ ∼ P ( ⋅ ∣ s , a ) [ max ⁡ a ′ Q ( s ′ , a ′ ) ] \mathbb{E}_{s' \sim P(\cdot | s, a)} \left[ \max_{a'} Q(s', a') \right] EsP(s,a)[maxaQ(s,a)]
    即,在给定当前状态 s s s和动作 a a a的情况下,计算下一状态 s s s的转移概率分布的期望,并对下一状态的最优Q值( max ⁡ a ′ Q ( s ′ , a ′ ) \max_{a'} Q(s', a') maxaQ(s,a))取期望。
  • 简化理解
    T \mathcal{T} T封装了环境动态的随机性(例如状态转移的概率分布),将理论上的最大值( max ⁡ Q \max Q maxQ)与实际环境转移的期望结合起来。
II. 与贝尔曼算子 B \mathcal{B} B的关系

公式 B Q = r + γ T max ⁡ a Q \mathcal{B} Q = r + \gamma \mathcal{T} \max_{\mathbf{a}} Q BQ=r+γTmaxaQ中:

  • B \mathcal{B} B 是贝尔曼算子,负责将当前Q函数映射到下一迭代的Q函数。
  • T \mathcal{T} T 是贝尔曼算子的核心组成部分,用于整合环境动态的影响
  • 整体流程
    贝尔曼更新首先计算即时奖励 r r r,然后加上折扣后的未来期望价值 γ T max ⁡ Q \gamma \mathcal{T}\max Q γTmaxQ,最终得到新的Q值。
III. 为什么需要 T \mathcal{T} T这一算子?
  • 环境动态建模:在真实环境中,状态转移通常具有随机性(例如机器人动作可能受噪声影响)。(\mathcal{T}) 通过期望操作((\mathbb{E}))将这些随机性纳入价值函数的更新中。
  • 数学形式化:使用算子表示可以让算法推导更简洁,同时明确区分不同操作(如奖励、折扣、状态转移)的作用。

4. RL算法的常见假设

在这里插入图片描述

5. 概率论引入知识

5.1 全期望公式

E [ X ] = E [ E [ X ∣ Y ] ] E[X] = E[E[X \mid Y]] E[X]=E[E[XY]]

5.1.1 条件概率的等效形式

E X [ X ] = E Y [ E X ∼ p ( X ∣ Y ) [ X ∣ Y ] ] E_{X}[X] = E_{Y}[E_{X\sim p(X \mid Y)}[X \mid Y]] EX[X]=EY[EXp(XY)[XY]]

可以方便我们对轨迹期望进行迭代分解

5.2 Total Variation Divergence,总变化散度

对于离散分布:
TV ( P , Q ) = 1 2 ∑ ∣ P ( x ) − Q ( x ) ∣ \text{TV}(P,Q) = \frac{1}{2} \sum|P(x) - Q(x)| TV(P,Q)=21P(x)Q(x)
对于连续分布:
TV ( P , Q ) = 1 2 ∫ ∣ p ( x ) − q ( x ) ∣ d x \text{TV}(P,Q) = \frac{1}{2} \int|p(x) - q(x)|dx TV(P,Q)=21p(x)q(x)dx

6. 信息几何引入知识

6.1 Fisher信息矩阵

F = E [ ∇ θ log ⁡ f θ ( X ) ∇ θ log ⁡ f θ ( X ) T ] \mathbf{F} = \mathbb{E}\left[ \nabla_\theta \log f_\theta(X) \nabla_\theta \log f_\theta(X)^T \right] F=E[θlogfθ(X)θlogfθ(X)T]

7. 常用公式

7.1 轨迹概率公式:基于链式法则和马尔可夫性对轨迹概率的分解

p θ ( s 1 , a 1 , … , s T , a T ) = p ( s 1 ) ∏ t = 1 T π θ ( a t ∣ s t ) p ( s t + 1 ∣ s t , a t ) p_\theta\left(\mathbf{s}_1, \mathbf{a}_1, \ldots, \mathbf{s}_T, \mathbf{a}_T\right)=p\left(\mathbf{s}_1\right) \prod_{t=1}^T \pi_\theta\left(\mathbf{a}_t \mid \mathbf{s}_t\right) p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_t, \mathbf{a}_t\right) pθ(s1,a1,,sT,aT)=p(s1)t=1Tπθ(atst)p(st+1st,at)

海螺AI:也可以描述为
P ( τ ) = P ( s 1 ) ⋅ P ( a 1 ∣ s 1 ) ⋅ P ( s 2 ∣ s 1 , a 1 ) ⋅ P ( a 2 ∣ s 2 ) ⋅ ⋯ ⋅ P ( s T ∣ s T − 1 , a T − 1 ) ⋅ P ( a T ∣ s T ) P(\tau) = P(s_1) \cdot P(a_1 | s_1) \cdot P(s_2 | s_1, a_1) \cdot P(a_2 | s_2) \cdot \dots \cdot P(s_T | s_{T-1}, a_{T-1}) \cdot P(a_T | s_T) P(τ)=P(s1)P(a1s1)P(s2s1,a1)P(a2s2)P(sTsT1,aT1)P(aTsT)
南溪:这样看起来会更容易理解一些;

6.2 计算轨迹的期望目标

E τ ∼ p θ ( τ ) [ ∑ t = 1 T r ( s t , a t ) ] = ∑ τ p θ ( τ ) ( ∑ t = 1 T r ( s t , a t ) ) E_{\tau \sim p_\theta(\tau)}\left[\sum_{t=1}^T r\left(\mathbf{s}_t, \mathbf{a}_t\right)\right] = \sum_{\tau} p_\theta(\tau) \left( \sum_{t=1}^T r\left(\mathbf{s}_t, \mathbf{a}_t\right) \right) Eτpθ(τ)[t=1Tr(st,at)]=τpθ(τ)(t=1Tr(st,at))

6.3 边缘化性质(Marginalization Property)

对于两个随机变量 X X X X X X,以及函数 f ( X ) f(X) f(X),如果我们想计算 f ( X ) f(X) f(X)的期望值,那么无论是基于联合分布 ( X , Y ) (X, Y) (X,Y)还是仅基于 X X X的边缘分布,结果都是相同的。也就是说:
E ( X , Y ) [ f ( X ) ] = E X [ f ( X ) ] E_{(X,Y)}[f(X)] = E_X[f(X)] E(X,Y)[f(X)]=EX[f(X)]

Note:在公式证明时用于化简。

6.4 优化目标公式:最大化期望累积奖励

θ ⋆ = arg ⁡ max ⁡ θ E τ ∼ p θ ( τ ) [ ∑ t r ( s t , a t ) ] \theta^{\star}=\arg \max _\theta E_{\tau \sim p_\theta(\tau)}\left[\sum_t r\left(\mathbf{s}_t, \mathbf{a}_t\right)\right] θ=argθmaxEτpθ(τ)[tr(st,at)]

3.2.1 Finite horizon case

θ ⋆ = arg ⁡ max ⁡ θ E τ ∼ p θ ( τ ) [ ∑ t r ( s t , a t ) ] = arg ⁡ max ⁡ θ ∑ t = 1 T E ( s t , a t ) ∼ p θ ( s t , a t ) [ r ( s t , a t ) ] \begin{aligned} \theta^{\star} & =\arg \max _\theta E_{\tau \sim p_\theta(\tau)}\left[\sum_t r\left(\mathbf{s}_t, \mathbf{a}_t\right)\right] \\ & =\arg \max _\theta \sum_{t=1}^T E_{\left(\mathbf{s}_t, \mathbf{a}_t\right) \sim p_\theta\left(\mathbf{s}_t, \mathbf{a}_t\right)}\left[r\left(\mathbf{s}_t, \mathbf{a}_t\right)\right] \end{aligned} θ=argθmaxEτpθ(τ)[tr(st,at)]=argθmaxt=1TE(st,at)pθ(st,at)[r(st,at)]

RAIL:可以直接使用 linearity of expectation 来交换 ∑ \sum E E E符号的位置。
南溪:这里的推导没有用到 Markov property.

Proof

Step 1: Expand the Expected Total Reward
E τ ∼ p θ ( τ ) [ ∑ t = 1 T r ( s t , a t ) ] = ∑ τ p θ ( τ ) ∑ t = 1 T r ( s t , a t ) E_{\tau \sim p_\theta(\tau)}\left[\sum_{t=1}^T r(\mathbf{s}_t, \mathbf{a}_t)\right] = \sum_{\tau} p_\theta(\tau) \sum_{t=1}^T r(\mathbf{s}_t, \mathbf{a}_t) Eτpθ(τ)[t=1Tr(st,at)]=τpθ(τ)t=1Tr(st,at)
Step 2: Swap the Order of Summations
We can interchange the order of summations because summation is a linear operator:
∑ τ p θ ( τ ) ∑ t = 1 T r ( s t , a t ) = ∑ t = 1 T ∑ τ p θ ( τ ) r ( s t , a t ) \sum_{\tau} p_\theta(\tau) \sum_{t=1}^T r(\mathbf{s}_t, \mathbf{a}_t) = \sum_{t=1}^T \sum_{\tau} p_\theta(\tau) r(\mathbf{s}_t, \mathbf{a}_t) τpθ(τ)t=1Tr(st,at)=t=1Tτpθ(τ)r(st,at)
Step 3: Recognize Marginal Distributions
∑ τ p θ ( τ ) r ( s t , a t ) = E τ ∼ p θ ( τ ) [ r ( s t , a t ) ] = E ( s t , a t ) ∼ p θ ( s t , a t ) [ r ( s t , a t ) ] \begin{aligned} \sum_{\tau} p_\theta(\tau) r(\mathbf{s}_t, \mathbf{a}_t) &= E_{\tau \sim p_\theta(\tau)}\left[r(\mathbf{s}_t, \mathbf{a}_t)\right] \\ &= E_{(\mathbf{s}_t, \mathbf{a}_t) \sim p_\theta(\mathbf{s}_t, \mathbf{a}_t)}\left[r(\mathbf{s}_t, \mathbf{a}_t)\right] \end{aligned} τpθ(τ)r(st,at)=Eτpθ(τ)[r(st,at)]=E(st,at)pθ(st,at)[r(st,at)]

这里的推导我们使用了边缘化性质

6.5 A convenient identity

p θ ( τ ) ∇ θ log ⁡ p θ ( τ ) = ∇ θ p θ ( τ ) p_\theta(\tau)\nabla_\theta\log p_\theta(\tau)=\nabla_\theta p_\theta(\tau) pθ(τ)θlogpθ(τ)=θpθ(τ)

6.6 Log Probability of Gaussian Policy(高斯策略的对数概率)

log ⁡ π θ ( a t ∣ s t ) = − 1 2 ∥ f ( s t ) − a t ∥ Σ 2 + const \log \pi_{\theta}(\mathbf{a}_t | \mathbf{s}_t) = -\frac{1}{2} \left\| f(\mathbf{s}_t) - \mathbf{a}_t \right\|_{\Sigma}^2 + \text{const} logπθ(atst)=21f(st)atΣ2+const
相关推导说明请参考博客

6.7 Causal On-Policy Policy Gradient(因果性在线策略梯度)

∇ θ J ( θ ) ≈ 1 N ∑ i = 1 N ∑ t = 1 T ∇ θ log ⁡ π θ ( a i , t ∣ s i , t ) Q ^ i , t \quad \nabla_\theta J(\theta) \approx \frac{1}{N} \sum_{i=1}^N \sum_{t=1}^T \nabla_\theta \log \pi_\theta\left(\mathbf{a}_{i, t} \mid \mathbf{s}_{i, t}\right) \hat{Q}_{i, t} θJ(θ)N1i=1Nt=1Tθlogπθ(ai,tsi,t)Q^i,t

  • Q ^ i , t \hat{Q}_{i,t} Q^i,t:动作价值函数 ( Q(s,a) ) 的估计值。

6.8 Natural Policy Gradient(自然策略梯度)

自然策略梯度的参数更新公式如下:
θ ← θ + α F − 1 ∇ θ J ( θ ) \theta \leftarrow \theta+\alpha \mathbf{F}^{-1} \nabla_\theta J(\theta) θθ+αF1θJ(θ)
其中,

  • α \alpha α表示学习率
  • F = E π θ [ ∇ θ log ⁡ π θ ( a ∣ s ) ∇ θ log ⁡ π θ ( a ∣ s ) T ] \mathbf{F}=E_{\pi_\theta}\left[\nabla_\theta \log \pi_\theta(\mathbf{a} \mid \mathbf{s}) \nabla_\theta \log \pi_\theta(\mathbf{a} \mid \mathbf{s})^T\right] F=Eπθ[θlogπθ(as)θlogπθ(as)T]

6.8.1 为什么“NPG听上去似乎很有道理”,但是在常见的RL算法库中并没有看到有算法实际使用NPG呢?(from Claude-3.7-Sonnet-Reasoning-Poe)

(1)计算成本高昂
  • Fisher信息矩阵计算复杂:对于现代深度神经网络(可能有数百万参数),计算和存储完整的Fisher矩阵几乎不可行;
  • 需要矩阵求逆:自然梯度需要计算Fisher矩阵的逆,这对大型网络来说计算复杂度为O(n³),极其昂贵;

(2)更实用的替代方案已经出现

  • TRPO (Trust Region Policy Optimization):保留了自然梯度的核心思想(约束策略更新),但使用了更有效的计算方法;
  • PPO (Proximal Policy Optimization):进一步简化了TRPO,通过目标函数裁剪实现类似效果,更容易实现;
  • 这些算法在实践中表现良好,同时计算效率更高;

(3)现代优化器的改进

  • Adam等自适应优化器在某种程度上缓解了不同参数敏感度不同的问题;
  • 结合经验性技巧,这些更简单的方法通常已经足够好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值