返回

深度解析 DynaAct:从软 Bellman 方程推导 Embedding 损失函数

其实我完全不会

在论文 “DynaAct: Large Language Model Reasoning with Dynamic Action Spaces” 中,作者提出了一种基于 Embedding 的动态动作空间选择方法。为了训练这个 Embedding 模型,论文设计了一个特定的损失函数。

乍看之下,这个公式略显复杂。但如果我们从强化学习的基本原理出发,会发现它本质上只是软 Bellman 方程TD 残差

本文将一步步拆解该损失函数的推导逻辑,探究其背后的数学原理。

核心公式

首先,让我们把论文中的损失函数写出来:

$$L(s_t, a, s_{t+1}) = \Bigg( \underbrace{e(s_t)^\top e(a)}{\text{Current Q}} - \Big[ \underbrace{r + \log \sum{a’ \in \mathcal{A}} \exp(e(s_{t+1})^\top e(a’))}_{\text{Soft Target}} \Big] \Bigg)^2$$

其中:

  • $e(s_t)^\top e(a)$:网络预测的 Q 值近似 $Q(s_t, a)$。
  • $r$:执行动作 $a$ 后得到的 即时奖励(通常离线构造,关键动作给 1,其他给 0)。
  • $\log \sum \exp(\cdot)$:下一状态 $s_{t+1}$ 的 软价值

这个公式是如何一步步推导出来的?

推导步骤

第一步:参数化 Q 值

DynaAct 的目标是学习一个能够衡量“动作 $a$ 在状态 $s_t$ 下有多好”的函数,即 Q 值函数。为了适应大模型的文本空间并支持后续的子模函数计算,作者做了一个假设:Q 值可以通过状态与动作的 Embedding 内积来近似。

定义参数化 Q 函数:

$$Q_\theta(s,a) := e_\theta(s)^\top e_\theta(a)$$

为什么要用内积?

  1. 计算高效:内积计算非常快,适合处理大量候选动作。
  2. 表征统一:状态和动作共享同一个 Encoder(LLM),将它们映射到同一个语义+价值空间。
  3. 适配子模函数:论文后续使用的子模函数形式(基于行列式或相似度)天然契合内积形式。

第二步:引入 Soft Bellman 方程

在标准的 Q-Learning 中,目标值通常由“硬”最大化操作计算:

$$y_t = r_t + \gamma \max_{a’} Q(s_{t+1}, a’)$$

但在 DynaAct 中,作者使用了 Soft Q-Learning(最大熵 RL) 的思路,将 $\max$ 替换为 $\text{log-sum-exp}$:

$$V_{\text{soft}}(s_{t+1}) = \log \sum_{a’ \in \mathcal{A}} \exp(Q(s_{t+1}, a’))$$

因此,目标值变为(假设 $\gamma \approx 1$):

$$y_t = r_t + \log \sum_{a’ \in \mathcal{A}} \exp(e(s_{t+1})^\top e(a’))$$

为什么要用 log-sum-exp 替代 max?

  1. 平滑性:$\max$ 操作只对最大值敏感,梯度稀疏;而 $\log\sum\exp$ 是 $\max$ 的光滑近似,所有有潜力的动作都能提供梯度信号,训练更稳定。
  2. 最大熵视角:这隐含了策略 $\pi(a|s) \propto \exp(Q(s,a))$。对于文本生成的动作空间,我们往往不希望模型坍缩到单一动作,而是保留一定的多样性(Entropy),这有利于后续从候选池中选出多样化的动作子集。

第三步:构建 TD 残差

TD 学习 的核心思想是:让当前时刻的预测值 $Q(s_t, a_t)$ 去逼近更准确的未来估计值 $y_t$。

定义 TD 残差 $\delta_t$:

$$\delta_t = \text{Target} - \text{Current Estimate}$$

$$\delta_t = \left( r + \log \sum_{a’} \exp(e(s_{t+1})^\top e(a’)) \right) - e(s_t)^\top e(a)$$

为了最小化这个误差,我们使用均方误差(MSE)作为损失函数:

$$L = \delta_t^2$$

这就得到了论文中最终的损失函数形式。

Soft Bellman Equation

标准的 Bellman 最优方程描述了最优 Q 值之间的递归关系:

$$Q^(s,a) = \mathbb{E}[r + \gamma \max_{a’} Q^(s’, a’)]$$

软 Bellman 方程则是在目标中引入了熵正则化。在最大熵强化学习中,我们不仅希望最大化奖励,还希望最大化策略的熵(即保持策略的随机性)。

在这种框架下,值函数 $V(s)$ 不再是最大 Q 值,而是所有 Q 值的 Log-Sum-Exp:

$$V_{soft}(s) = \log \sum_{a} \exp(Q(s,a))$$

当某个动作 $a^*$ 的优势极显著时,$V_{soft}(s) \approx \max Q(s, a)$;当所有动作差不多时,$V_{soft}(s)$ 会比单纯的平均值更大,包含了“可选路很多”的信息量。

TD Residual

TD 残差是强化学习中驱动网络更新的动力源。

  • 直观理解
    • 我现在的估计:$Q(s_t, a_t)$
    • 我走了一步之后,基于现实反馈 $r_t$ 和对未来的新看法 $V(s_{t+1})$ 形成的新估计:$r_t + V(s_{t+1})$
    • 残差 = 新估计 - 旧估计

在深度学习中,我们通过反向传播最小化这个残差的平方,强迫 $Q_\theta$ 函数满足 Bellman 方程定义的自洽性。

Licensed under CC BY-NC-SA 4.0
长夜如此温柔,我该用什么把你留住


© Licensed Under CC BY-NC-SA 4.0


蜀ICP备2024113293号