跳过正文

2026 RL Summer School Summary: Day 4

·1506 字·4 分钟· loading · loading ·
JulyThirteenth
作者
JulyThirteenth

今天主要围绕 tile coding 的 course project 做了一些整理。相比前两天更偏实现的内容,今天更多是在想一个问题:

固定的稀疏表示会如何影响 online reinforcement learning 中的 value learning、policy learning 和 credit assignment?

Tile coding 是一个很适合观察这个问题的工具。它不像 neural network 那样把 representation 学习过程藏在参数里,而是把 inductive bias 直接暴露出来:tile 的分辨率、tiling 的数量、offset 的设计,都会决定哪些状态共享参数,也会影响 value estimate 和 policy update 如何泛化。

这个方向也和 Alberta Plan 中几个主题有关:

  1. Streaming learning: 所有算法都从一条 interaction stream 中在线更新,不使用 replay buffer。
  2. Agent state and representation: tile coding 显式定义了 value function 和 policy 使用的 feature。
  3. Eligibility traces: trace decay 控制 TD error 在时间上的 credit assignment 范围。

1. Basic Idea
#

Tile coding 将连续状态映射为稀疏二进制特征:

$$ \phi(s) \in \{0,1\}^d . $$

每个时间步只有少量 feature 被激活。在线性函数近似下,state-value 和 action-value 可以写成:

$$ \hat{v}(s; w) = w^\top \phi(s), $$$$ \hat{q}(s,a; w) = w^\top \phi(s,a). $$

这里 $\phi$ 的结构决定了 value generalization 的方式。coarse tiling 会增加参数共享,但可能 alias 掉不同状态;fine tiling 可以减少 aliasing,但更新更局部,也可能更不 sample efficient。

对于 TD learning,基本的 prediction error 是:

$$ \delta_t = R_{t+1} + \gamma \hat{v}(S_{t+1}; w_t) - \hat{v}(S_t; w_t). $$

如果加入 eligibility trace,可以维护一个过去 feature 的衰减记忆:

$$ e_t = \gamma \lambda e_{t-1} + \phi(S_t), $$

并用下面的方式更新参数:

$$ w_{t+1} = w_t + \alpha \delta_t e_t . $$

因此,tile coding 和 trace 可以看成两类 credit assignment:前者控制 value update 在状态空间中传播到哪里,后者控制 TD error 在时间上向过去传播多远。

对于 policy learning,同样的 tile-coded feature 也可以用于参数化随机策略:

$$ \pi_\theta(a|s) = \pi(a \mid \theta^\top \phi(s)). $$

Monte Carlo policy-gradient update 可以写成:

$$ \theta_{t+1} = \theta_t + \alpha G_t \nabla_\theta \log \pi_\theta(A_t|S_t). $$

Actor-Critic 则用 bootstrapped TD error 代替完整 return $G_t$,把 $\delta_t$ 作为低方差的 advantage estimate。这样同一套 representation 可以同时在 value targets、policy-gradient targets 和 value-assisted policy updates 下被比较。

2. Experimental Setting
#

目前实验主要使用两个连续状态控制任务:

  1. Acrobot-v1: 用来测试 tile-coded action-value learning 和 SARSA($\lambda$) 的 temporal credit assignment。
  2. Pendulum-v1: 用来测试 tile-coded policy gradient 和 actor-critic 是否能支持 continuous-action policy learning。

当前主要比较几类方法:

  1. Q-learning for value learning
  2. SARSA($\lambda$) for trace-based credit assignment
  3. REINFORCE for stochastic policy learning
  4. Actor-Critic for value-assisted policy update

3. Preliminary Results
#

当前初步结果如下:

TaskMethodTraining episodesFinal 100-episode average returnBest 100-episode average return5-episode evaluation return
Acrobot-v1Q-learning15,000-137.88-129.53-124.00
Acrobot-v1SARSA($\lambda$)15,000-105.95-92.43-88.60
Pendulum-v1REINFORCE10,000-171.19-135.74-179.02
Pendulum-v1Actor-Critic10,000-181.40-133.41-180.60

初步结果上,Acrobot-v1 中 SARSA($\lambda$) 明显优于 one-step Q-learning。这个现象比较符合直觉:在 sparse tile-coded features 下,eligibility traces 可以把 TD error 更有效地分配给过去访问过的 state-action features。

Acrobot-v1 training curves

Pendulum-v1 的结果则更微妙。REINFORCE 和 Actor-Critic 都能从初始低回报区域中提升出来,但最终 evaluation return 仍然比较接近。这说明 tile coding 可以支持 continuous-action policy learning,不过 policy update 对 variance 和稳定性还是比较敏感。

Pendulum-v1 training curves

4. Trace Sensitivity
#

另外还对 SARSA($\lambda$) 做了一个 trace sensitivity study。比较明显的是,不同 $\lambda$ 对 sample efficiency 的影响比对 wall-clock time 的影响更大。

$\lambda$Final 100-episode average returnBest 100-episode average returnMean time per 100 episodesTotal logged training time
0.9-105.95-92.431.65 s247.62 s
0.7-101.37-97.741.58 s236.59 s
0.3-118.19-111.321.62 s242.97 s
SARSA(lambda) trace sensitivity

较大的 trace value,比如 $\lambda=0.9$,在 early 和 middle training stage 学得更快,并取得了更好的 peak moving-average return。较小的 $\lambda$ 学得更慢,说明它把 credit assignment 限制得更局部。

这也让我感觉,tile coding 的空间泛化和 eligibility traces 的时间泛化其实是在解决类似的问题:如何让一次更新影响到“应该被影响”的状态或时间步。

5. Takeaway
#

目前的 takeaway 是:

  1. Tile coding 的设计并不只是工程细节,它直接决定了 value function 的泛化方式。
  2. 在 Acrobot 这类任务里,eligibility traces 对 sparse representation 很有帮助。
  3. 在 continuous-action policy learning 中,tile coding 可以工作,但 policy gradient 的 variance 和 update stability 仍然是主要问题。
  4. 后续还需要更系统地比较 tiling 数量、tile resolution、step size 和 $\lambda$ 的影响。

整体上,这个项目更像是用一个 classical representation method,去观察 online RL 中 representation、value learning、policy learning 和 credit assignment 之间的关系。