<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>RL on LeoDreamer</title>
        <link>https://LeoDreamer2004.github.io/tags/rl/</link>
        <description>Recent content in RL on LeoDreamer</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Wed, 13 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://LeoDreamer2004.github.io/tags/rl/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>论文阅读 - 智能体强化学习</title>
            <link>https://LeoDreamer2004.github.io/p/paper-reading/agentic-rl/</link>
            <pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
            <guid>https://LeoDreamer2004.github.io/p/paper-reading/agentic-rl/</guid>
            <description>&lt;p&gt;综述 &lt;a class=&#34;link cite-Agentic-RL-Survey&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 给出了一个相当全面的视角, 明确地把 &lt;strong&gt;Agentic RL&lt;/strong&gt; 和传统的 &lt;strong&gt;LLM RL&lt;/strong&gt; 区分开来了. 传统 LLM RL 常常只是在固定 prompt 上优化一个回答, 而 Agentic RL 关心的是一个 LLM policy 在开放环境中如何观察/行动/调用工具/维护记忆/规划/修正策略, 并从长程反馈中学习.&lt;/p&gt;&#xA;&lt;p&gt;综述给出的定义如下:&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Agentic RL 指的是把 LLM 视作嵌入序列决策循环中的可学习策略, 并通过 RL 赋予它规划、推理、工具使用、记忆维护、自我反思等自主能力, 使其能在部分可观测、动态、长程环境中形成稳定行为.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;从-llm-rl-到-agentic-rl&#34;&gt;从 LLM RL 到 Agentic RL&#xA;&lt;/h2&gt;&lt;p&gt;传统 RLHF 或 RFT 的基本图景一般是从人类偏好、奖励模型或可验证答案中得到奖励信号, 然后让语言模型更偏向高奖励输出.&lt;/p&gt;&#xA;&lt;p&gt;偏好式 RFT 可以近似写成退化的马尔可夫决策过程 (MDP):&lt;/p&gt;&#xA;$$&#xA;\left\langle S_{\mathrm{trad}}, A_{\mathrm{trad}}, P_{\mathrm{trad}}, R_{\mathrm{trad}}, T=1,\gamma=1 \right\rangle&#xA;$$&lt;p&gt;而 Agentic RL 通常是这样的:&lt;/p&gt;&#xA;$$&#xA;\left\langle S_{\mathrm{agent}}, A_{\mathrm{agent}}, P_{\mathrm{agent}}, R_{\mathrm{agent}}, \gamma, O \right\rangle&#xA;$$&lt;p&gt;这里援引一下综述给出的对比表格:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;概念&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;传统 LLM RL&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;Agentic RL&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$S$ (状态空间)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$\{s_0\}$,  状态基本就是 prompt&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$s_t \in \mathcal{S}_{\text{agent}}$, 拥有观察 $o_t = O(s_t)$, 通常 $T \gt 1$&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$A$ (动作空间)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;完整文本序列&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$A_{\text{agent}} = A_{\text{text}} \cup A_{\text{action}}$ &lt;br /&gt; 包含文本生成和环境交互动作 &lt;br /&gt;(如是否调用搜索引擎, 修改代码并运行测试)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$P$ (转移概率)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;直接转移到终止状态&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;动态转移函数 $P(s_{t+1} \mid s_t,a_t)$&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$R$ (奖励函数)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;往往只对完整回答打分&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;逐 step $R(s_t,a_t)$, 稀疏任务和紧密的子奖励&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$J(\theta)$ (优化目标)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$J(\theta) = \mathbb{E}_{a \sim \pi_0} [r(a)]$&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;$J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} [\sum_{t=0}^T \gamma^t R(s_t,a_t)]$&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;Agentic-RL&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt; 环境集合 $\mathcal{E}$, 初始 LLM policy $\pi_\theta$, 奖励函数或奖励模型 $R$, rollout budget $B$, 更新算法 $\mathcal{A}$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt; 经过交互训练后的 agent policy $\pi_{\theta&#39;}$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;从环境集合中采样任务 $e \sim \mathcal{E}$, 初始化状态 $s_0$ 和观察 $o_0$.&lt;/li&gt;&#xA;&lt;li&gt;构造上下文 $h_0 = \mathrm{Prompt}(o_0, m_0, g)$, 其中 $m_0$ 是记忆, $g$ 是任务目标.&lt;/li&gt;&#xA;&lt;li&gt;对 $t=0,\ldots,T-1$:&#xA;&lt;ol&gt;&#xA;&lt;li&gt;用 $\pi_\theta(a_t|h_t)$ 采样语义动作 $a_t$.&lt;/li&gt;&#xA;&lt;li&gt;如果 $a_t$ 是工具调用, 则执行工具并写入观察; 如果是 GUI 或代码动作, 则更新外部环境.&lt;/li&gt;&#xA;&lt;li&gt;环境返回 $o_{t+1}$, 奖励 $r_t$, 以及终止标记.&lt;/li&gt;&#xA;&lt;li&gt;更新上下文 $h_{t+1}=\mathrm{Update}(h_t,a_t,o_{t+1},m_t)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;收集轨迹 $\tau=(h_t,a_t,r_t)_{t=0}^{T}$.&lt;/li&gt;&#xA;&lt;li&gt;用 $\mathcal{A}$ 更新策略, 例如 PPO、GRPO、DPO 或其他 actor-critic / preference optimization 变体.&lt;/li&gt;&#xA;&lt;li&gt;重复步骤 1-5, 直到策略在验证环境中稳定提升.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;重要文献坐标系&#34;&gt;重要文献坐标系&#xA;&lt;/h2&gt;&lt;p&gt;下面为 AI 辅助找出的重要文献&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;方向&lt;/th&gt;&#xA;          &lt;th&gt;代表文献&lt;/th&gt;&#xA;          &lt;th&gt;解决的问题&lt;/th&gt;&#xA;          &lt;th&gt;对 Agentic RL 的意义&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;RLHF 源头&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-RLHF-Preferences&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-InstructGPT&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;如何用人类偏好训练策略&lt;/td&gt;&#xA;          &lt;td&gt;给 LLM RL 提供 reward model + policy optimization 的起点&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;RL 基础算法&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-PPO&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-DPO&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-DeepSeekMath-GRPO&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;如何稳定优化语言模型 policy&lt;/td&gt;&#xA;          &lt;td&gt;形成 PPO / DPO / GRPO 三条主线&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;交错推理与行动&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-ReAct&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;如何让 LLM 一边思考一边作用于环境&lt;/td&gt;&#xA;          &lt;td&gt;让 &amp;ldquo;reasoning trace&amp;rdquo; 与 &amp;ldquo;environment action&amp;rdquo; 合流&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;搜索式规划&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-ToT&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-RAP&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-LATS&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;如何探索多条思维/行动路径&lt;/td&gt;&#xA;          &lt;td&gt;把 planning、MCTS、value function 引入 agent 推理&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;工具使用&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-Toolformer&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-Search-R1&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;何时调用工具、如何生成工具参数&lt;/td&gt;&#xA;          &lt;td&gt;从 prompt-time tool use 走向 RL-trained tool use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;记忆与反思&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-Reflexion&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-MemGPT&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-Voyager&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;如何跨 episode 积累经验&lt;/td&gt;&#xA;          &lt;td&gt;让 agent 拥有可更新的语言记忆和技能库&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;过程监督&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-Process-Supervision&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;长链推理如何分配信用&lt;/td&gt;&#xA;          &lt;td&gt;为 step-wise reward / PRM / agent critic 提供依据&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Web / GUI 环境&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-WebShop&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-WebArena&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-OSWorld&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;如何构造可交互、可评估的真实环境&lt;/td&gt;&#xA;          &lt;td&gt;让 agent 训练不再停留在静态问答&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;SWE 任务&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-SWE-bench&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;真实代码仓库 issue 修复&lt;/td&gt;&#xA;          &lt;td&gt;把 agentic code RL 推向真实软件工程&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;通用评测与训练框架&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-AgentBench&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-AgentGym&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;多环境评测与训练标准化&lt;/td&gt;&#xA;          &lt;td&gt;提供跨任务 agent 能力比较&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;训练基础设施&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link ref-OpenRLHF&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-TRL&#34;&gt;&lt;/a&gt;, &lt;a class=&#34;link ref-Agent-Lightning&#34;&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;如何把 RL 训练扩展到大模型和复杂 agent&lt;/td&gt;&#xA;          &lt;td&gt;支撑可复现实验与工程化训练&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;算法主线&#34;&gt;算法主线&#xA;&lt;/h2&gt;&lt;p&gt;Agentic RL 不是一个固定算法名, 它更像一个任务范式. 具体到优化层面, 综述把 PPO、DPO、GRPO 及其变体作为主干.&lt;/p&gt;&#xA;&lt;h3 id=&#34;近端策略优化&#34;&gt;近端策略优化&#xA;&lt;/h3&gt;&lt;p&gt;近端策略优化 (Proximal Policy Optimization, PPO) &lt;a class=&#34;link cite-PPO&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 核心是限制新旧策略比率:&lt;/p&gt;&#xA;$$&#xA;\rho_t(\theta)=\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{\mathrm{old}}}(a_t|s_t)}&#xA;$$&lt;p&gt;常用的 clipped objective:&lt;/p&gt;&#xA;$$&#xA;\mathcal{L}^{\mathrm{CLIP}}(\theta) = \mathbb{E}_t&#xA;\left[&#xA;\min\left(&#xA;\rho_t(\theta)\hat{A}_t,&#xA;\mathrm{clip}(\rho_t(\theta),1-\epsilon,1+\epsilon)\hat{A}_t&#xA;\right)&#xA;\right]&#xA;$$&lt;p&gt;对 LLM 来说, PPO 的优点是清晰, 但它通常要 policy 和 value 两个模型, 还要处理长序列训练的显存和吞吐问题. 当 agent 进一步包含工具调用、环境状态和多轮交互时, PPO 的 rollout 与信用分配难度会进一步增加.&lt;/p&gt;&#xA;&lt;h3 id=&#34;直接偏好优化&#34;&gt;直接偏好优化&#xA;&lt;/h3&gt;&lt;p&gt;直接偏好优化 (Direct Preference Optimization, DPO) &lt;a class=&#34;link cite-DPO&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 绕开显式 reward 和在线 RL 循环, 直接从 pairwise preference 中优化 policy. 对于样本 $(x,y_w,y_l)$, DPO 形式上可写成:&lt;/p&gt;&#xA;$$&#xA;\mathcal{L}_{\mathrm{DPO}} = -\log \sigma&#xA;\left(&#xA;\beta&#xA;\left[&#xA;\log\frac{\pi_\theta(y_w|x)}{\pi_{\mathrm{ref}}(y_w|x)} - \log\frac{\pi_\theta(y_l|x)}{\pi_{\mathrm{ref}}(y_l|x)}&#xA;\right]&#xA;\right)&#xA;$$&lt;p&gt;在 Agentic RL 中, DPO 不再比较两个短回答, 而是比较两个 action 片段.&lt;/p&gt;&#xA;&lt;h3 id=&#34;组相对策略优化&#34;&gt;组相对策略优化&#xA;&lt;/h3&gt;&lt;p&gt;DeepSeekMath &lt;a class=&#34;link cite-DeepSeekMath-GRPO&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 提出的组相对策略优化 (Group Relative Policy Optimization, GRPO) 可以看成 &amp;ldquo;去 critic 化&amp;rdquo; 的 PPO 变体. 它在同一 prompt 下采样一 &amp;ldquo;组&amp;rdquo; 输出, 即同一个问题采样多个解答, 可验证任务给每个解答打分, 组内比较就能得到相对优势. DeepSeek-R1 &lt;a class=&#34;link cite-DeepSeek-R1&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 进一步把这种思路推到了推理模型训练上.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;GRPO&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt; 任务 $x$, 当前策略 $\pi_\theta$, 参考策略 $\pi_{\mathrm{ref}}$, 每组采样数 $G$, 奖励函数 $R$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt; 更新后的策略 $\pi_{\theta&#39;}$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;对同一任务 $x$ 采样 $G$ 条 agent 轨迹: $\tau_1,\ldots,\tau_G$.&lt;/li&gt;&#xA;&lt;li&gt;对每条轨迹执行环境评估, 得到 $r_i=R(x,\tau_i)$.&lt;/li&gt;&#xA;&lt;li&gt;计算组内标准化优势:&#xA;&#xA;$$&#xA;    \hat{A}_i=\frac{r_i-\mu_r}{\sigma_r+\epsilon}&#xA;    $$&lt;/li&gt;&#xA;&lt;li&gt;对每条轨迹中的 token / action 计算新旧策略比率.&lt;/li&gt;&#xA;&lt;li&gt;使用 clipped policy objective 计算损失:&#xA;&#xA;$$&#xA;    \mathcal{L}^{\mathrm{GRPO}}(\theta) = \frac{1}{G}\sum_{i=1}^G&#xA;    \min\left(&#xA;    \rho_i(\theta)\hat{A}_i,&#xA;    \mathrm{clip}(\rho_i(\theta),1-\epsilon,1+\epsilon)\hat{A}_i&#xA;    \right)&#xA;    $$&lt;/li&gt;&#xA;&lt;li&gt;加入 KL 散度正则, 避免策略偏离 $\pi_{\mathrm{ref}}$ 过远.&lt;/li&gt;&#xA;&lt;li&gt;重复采样和更新.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;能力视角&#34;&gt;能力视角&#xA;&lt;/h2&gt;&lt;p&gt;综述的第三节按能力拆解 Agentic RL.&lt;/p&gt;&#xA;&lt;h3 id=&#34;计划&#34;&gt;计划&#xA;&lt;/h3&gt;&lt;p&gt;早期 agent planning 常靠提示词工程. ReAct &lt;a class=&#34;link cite-ReAct&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; (ICLR 2023 Notable) 的关键贡献在于把推理轨迹和动作交错在一起. 论文的关键建模方式是把原本的动作空间 $A$ 扩展成 $\hat{A} = A \cup L$, 其中 $L$ 是语言空间.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;ReAct&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt;&#xA;任务输入 $x$, 外部环境/工具 $\mathcal{E}$, LLM policy $\pi_\theta$, 动作空间 $\mathcal{A}$, 语言推理空间 $\mathcal{L}$, 最大交互步数 $T$, few-shot ReAct 示例 $\mathcal{D}_{demo}$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt;&#xA;最终答案/任务结果 $y$, 以及推理-行动轨迹 $\tau$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;初始化上下文&#xA;&lt;/p&gt;&#xA;$$&#xA;   h_0 = [\mathcal{D}_{demo}; x],&#xA;   $$&lt;p&gt;&#xA;初始化轨迹 $\tau=\emptyset$.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;对 $t=0,1,\dots,T-1$, 模型基于当前上下文生成下一步:&#xA;&lt;/p&gt;&#xA;$$&#xA;   z_t \sim \pi_\theta(\cdot \mid h_t)&#xA;   $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果是自然语言推理 $z_t=\texttt{Thought}(r_t)$, 将推理文本加入轨迹, 并更新上下文:&#xA;&lt;/p&gt;&#xA;$$&#xA;     \tau \leftarrow \tau \cup { \texttt{Thought}(r_t) }&#xA;     $$&lt;p&gt;&#xA;&lt;/p&gt;&#xA;$$&#xA;     h_{t+1} = h_t \oplus \texttt{Thought}(r_t)&#xA;     $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果是对环境执行的动作 $z_t=\texttt{Action}(a_t)$, 在环境中执行动作, 并将动作和观察写入轨迹:&#xA;&lt;/p&gt;&#xA;$$&#xA;     o_t = \mathcal{E}(a_t)&#xA;     $$&lt;p&gt;&#xA;&lt;/p&gt;&#xA;$$&#xA;     \tau \leftarrow \tau \cup { \texttt{Action}(a_t), \texttt{Observation}(o_t) }&#xA;     $$&lt;p&gt;&#xA;&lt;/p&gt;&#xA;$$&#xA;     h_{t+1} = h_t \oplus \texttt{Action}(a_t) \oplus \texttt{Observation}(o_t)&#xA;     $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果是最终答案或任务完成信号, $z_t=\texttt{Finish}(y)$, 将最终答案写入轨迹:&#xA;&lt;/p&gt;&#xA;$$&#xA;     \tau \leftarrow \tau \cup { \texttt{Finish}(y) }&#xA;     $$&lt;p&gt;&#xA;随后结束 rollout, 返回 $(y,\tau)$.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Tree of Thoughts &lt;a class=&#34;link cite-ToT&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; (NIPS 2023 Oral) 则把思考链扩展成了思考树, 它把思考当作可扩展节点, 让模型生成、评估和回溯.&lt;/p&gt;&#xA;&lt;p&gt;对于思考生成, 从当前状态 $s=[x,z_{1:i}]$ 生成 $k$ 个候选思考, 论文给了两种方式 (对应算法的 $G$):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;一种是从 CoT prompt 独立采样多个候选, 适合开放空间&lt;/li&gt;&#xA;&lt;li&gt;另一种是一个 prompt 里连续生成 k 个不同的下一步, 适合约束较强的任务.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;对于状态评估, 这个是 ToT 框架最大的创新之一, 就是利用 LLM 自己来充当评估器, 为搜索算法提供启发式信息, 也有两种方式 (对应算法的 $V$):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;价值评估: 让 LLM 直接给当前状态打分, 或者给出一个分类 (比如 sure/likely/impossible)&lt;/li&gt;&#xA;&lt;li&gt;投票表决: 让 LLM 比较几个不同的分支, 然后投票选出最有希望的一个.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Tree of Thoughts&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;487px&#34; data-flex-grow=&#34;203&#34; height=&#34;654&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2305.10601v2/x1.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x1_15358978380457389168_hu_ca77436515141f8a.png 800w, https://arxiv.org/html/2305.10601v2/x1.png 1328w&#34; width=&#34;1328&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;关于模型推理, 论文给出了 BFS 和 DFS 两种流程, 这里以 DFS 为例:&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;Tree of Thought - DFS&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt;&#xA;当前状态 $s$, 当前深度 $t$, LLM policy $p_\theta$, 思考生成器 $G$, 每个状态生成候选数 $k$, state evaluator $V$, 最大深度 $T$, 剪枝阈值 $v_{\mathrm{th}}$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt;&#xA;候选答案集合 $\mathcal{Y}$, 搜索轨迹 $\tau$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果 $t&gt;T$, 基于当前状态生成最终答案并返回.&#xA;&lt;/p&gt;&#xA;$$&#xA;     y = G(p_\theta, s, 1)&#xA;     $$&lt;p&gt;&#xA;&lt;/p&gt;&#xA;$$&#xA;     \mathcal{Y} \leftarrow \mathcal{Y} \cup {y}&#xA;     $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;从当前状态生成 $k$ 个候选下一步 thought:&#xA;&lt;/p&gt;&#xA;$$&#xA;   Z = G(p_\theta, s, k)&#xA;   $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;对每个候选 thought $z \in Z$, 构造新状态:&#xA;&lt;/p&gt;&#xA;$$&#xA;   s&#39;=[s,z]&#xA;   $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;对新状态进行评估:&#xA;&lt;/p&gt;&#xA;$$&#xA;   v = V(p_\theta,{s&#39;})(s&#39;)&#xA;   $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果 $v &gt; v_{\mathrm{th}}$, 递归搜索:&#xA;&lt;/p&gt;&#xA;$$&#xA;     \texttt{DFS}(s&#39;,t+1)&#xA;     $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;返回候选答案集合 $\mathcal{Y}$ 和完整搜索轨迹 $\tau$.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;RAP &lt;a class=&#34;link cite-RAP&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 更进一步, 把 LLM 复用成世界模型和推理 agent, 用 MCTS 探索推理树, 这里不再赘述.&lt;/p&gt;&#xA;&lt;p&gt;这几篇文献的共同点是, &lt;strong&gt;planning 不只是生成计划, 而是搜索计划空间&lt;/strong&gt;. 接入 RL 后, 它可以训练价值函数, 训练计划选择, 甚至直接训练策略产生更好的计划动作.&lt;/p&gt;&#xA;&lt;h3 id=&#34;工具调用&#34;&gt;工具调用&#xA;&lt;/h3&gt;&lt;p&gt;工具调用可以被看成一种离散行动:&lt;/p&gt;&#xA;$$&#xA;a_t=(\mathrm{tool\_name}, \mathrm{arguments})&#xA;$$&lt;p&gt;Toolformer &lt;a class=&#34;link cite-Toolformer&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; (NIPS 2023 Oral) 证明语言模型可以通过自监督方式学会 API 调用: 模型先生成候选 API 调用, 执行工具, 再过滤出能提升语言模型似然的调用样本.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;Toolformer-API-Annotation&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt;&#xA;普通文本语料 $\mathcal{C}={x^{(1)},\dots,x^{(N)}}$, 基础语言模型 $M$, API 集合 $\mathcal{A}$, 每个 API 的少量 demonstration prompt $P_a(\cdot)$, 最大候选位置数 $k$, 每个位置最大候选 API call 数 $m$, 采样阈值 $\tau_s$, 过滤阈值 $\tau_f$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt;&#xA;带 API 调用标注的语料 $\mathcal{C}^{*}$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;初始化 $\mathcal{C}^{*}\leftarrow \emptyset$.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;对每篇文本 $x=(x_1,\dots,x_n)\in \mathcal{C}$ 和每个工具/API $a\in \mathcal{A}$ 构造 few-shot API 标注的 prompt $P_a(x)$, 比如形如 &lt;code&gt;&amp;lt;API&amp;gt;a(i)&amp;lt;/API&amp;gt;&lt;/code&gt;, 展示如何在普通文本中插入该 API 的调用格式.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;对每个 token 位置 $i$, 计算模型在该位置开始 API 调用的概率:&#xA;&lt;/p&gt;&#xA;$$&#xA;   p_i = p_M(\langle API\rangle \mid P_a(x), x_{1:i-1})&#xA;   $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;保留满足阈值的位置:&#xA;&lt;/p&gt;&#xA;$$&#xA;   I=\{i \mid p_i&gt;\tau_s \}&#xA;   $$&lt;p&gt;&#xA;如果 $|I|&gt;k$, 只保留概率最高的 $k$ 个位置.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;对每个候选位置 $i\in I$, 从模型中采样最多 $m$ 个 API 调用并执行:&#xA;&lt;/p&gt;&#xA;$$&#xA;   c_i^1,\dots,c_i^m \sim M(P_a(x),x_{1:i-1},\langle API\rangle)&#xA;   $$&lt;p&gt;&#xA;&lt;/p&gt;&#xA;$$&#xA;   r_i^j = a(c_i^j)&#xA;   $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;对每个候选调用 $(c_i^j,r_i^j)$, 计算不调用工具/只给 API 输入, 不给工具返回/给 API 输入和工具返回三种情况下模型预测未来 token 的 loss:&#xA;&lt;/p&gt;&#xA;$$&#xA;    L_i(\epsilon), ~ L_i(e(c_i^j,\epsilon)), ~ L_i(e(c_i^j,r_i^j))&#xA;    $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;定义:&#xA;&lt;/p&gt;&#xA;$$&#xA;    L_i^+ = L_i(e(c_i^j,r_i^j))&#xA;    $$$$&#xA;    L_i^- = \min \left(L_i(\epsilon), L_i(e(c_i^j,\epsilon))\right)&#xA;    $$&lt;p&gt;&#xA;如果工具返回真的帮助模型预测后续文本, 即:&#xA;&lt;/p&gt;&#xA;$$&#xA;    L_i^- - L_i^+ \geq \tau_f&#xA;    $$&lt;p&gt;&#xA;则保留该 API call.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;将所有保留的 API call 插入原始文本:&#xA;&lt;/p&gt;&#xA;$$&#xA;    x^* = x_{1:i-1}, e(c_i,r_i), x_{i:n}&#xA;    $$&lt;p&gt;&#xA;&lt;/p&gt;&#xA;$$&#xA;    \mathcal{C}^{*}\leftarrow \mathcal{C}^{*}\cup {x^*}&#xA;    $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;返回 $\mathcal{C}^{*}$.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Toolformer API&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;1133px&#34; data-flex-grow=&#34;472&#34; height=&#34;283&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pica.zhimg.com/v2-e8eb3737348202a90187f504b1479852_1440w.jpg&#34; srcset=&#34;https://LeoDreamer2004.github.io/v2-e8eb3737348202a90187f504b1479852_1440w_17630936434994654747_hu_46aecb4fc907f626.png 800w, https://pica.zhimg.com/v2-e8eb3737348202a90187f504b1479852_1440w.jpg 1336w&#34; width=&#34;1336&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Search-R1 &lt;a class=&#34;link cite-Search-R1&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 是一个很典型的 Agentic RL 方向, 让模型在逐步推理中通过 RL 学会多轮搜索查询, 并处理实时检索结果.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;Search-R1&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt; 问题 $q$, 搜索工具 $\mathcal{S}$, LLM policy $\pi_\theta$, 最大搜索次数 $K$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt; 答案 $y$ 和搜索-推理轨迹 $\tau$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;初始化上下文 $h_0=q$, 搜索次数 $k=0$.&lt;/li&gt;&#xA;&lt;li&gt;模型生成下一步: 推理文本、搜索请求或最终答案.&lt;/li&gt;&#xA;&lt;li&gt;如果动作为 &lt;code&gt;Search(query)&lt;/code&gt; 且 $k\lt K$ :&#xA;&lt;ul&gt;&#xA;&lt;li&gt;执行 $\mathcal{S}(\mathrm{query})$.&lt;/li&gt;&#xA;&lt;li&gt;把检索结果作为 observation 写入上下文.&lt;/li&gt;&#xA;&lt;li&gt;$k \leftarrow k+1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;如果动作为 &lt;code&gt;Answer(y)&lt;/code&gt;, 结束 rollout.&lt;/li&gt;&#xA;&lt;li&gt;用最终答案正确性、搜索成本、格式合法性等构造 reward.&lt;/li&gt;&#xA;&lt;li&gt;通过 GRPO / PPO 更新 policy.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Search R1&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;578px&#34; data-flex-grow=&#34;241&#34; height=&#34;273&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2503.09516v5/x1.png&#34; width=&#34;658&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;其奖励设计非常简单——精准匹配0/1奖励. 此外实测发现 GRPO 收敛快, 但训练后期容易奖励崩塌, PPO 虽然收敛慢, 但更稳定, 最终性能更好, 所以默认用 PPO.&lt;/p&gt;&#xA;&lt;h3 id=&#34;记忆&#34;&gt;记忆&#xA;&lt;/h3&gt;&lt;p&gt;MemGPT &lt;a class=&#34;link cite-MemGPT&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 借鉴传统操作系统中虚拟内存管理的核心思想, 提出一种分层记忆系统, 使其能够智能地在快速但有限的&amp;quot;主上下文&amp;quot; (类比 RAM) 和慢速但海量的&amp;quot;外部上下文&amp;quot; (类比磁盘) 之间进行信息的换入换出.&lt;/p&gt;&#xA;&lt;p&gt;运作机制:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;用户输入、系统警告 (如主上下文接近上限, 产生内存压力) 或其他预设会触发 LLM 进行推理.&lt;/li&gt;&#xA;&lt;li&gt;LLM根据系统指令和当前上下文, 决定是否需要以及如何管理其记忆. 例如: 当FIFO队列过长, 触发“内存压力”警告, LLM可以调用函数将队列中的重要信息存入工作上下文或档案存储.&lt;/li&gt;&#xA;&lt;li&gt;当需要回忆过去的对话细节或查询文档时, LLM调用函数从回忆存储或档案存储中检索信息, 并将其加载到主上下文中. 当工作上下文中的信息过时或不再相关, LLM可以更新或移除它们.&lt;/li&gt;&#xA;&lt;li&gt;函数执行的结果 (包括成功信息或错误信息) 会反馈给LLM, 更新其主上下文, 并可能触发后续的函数调用链 (例如分页查询) .&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;MemGPT 示例: 写入/搜索/更新&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;1227px&#34; data-flex-grow=&#34;511&#34; height=&#34;400&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/agentic-rl/memgpt-exp.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/agentic-rl/memgpt-exp_hu_af73aa5783ddc79f.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/agentic-rl/memgpt-exp_hu_4d846365deaa4429.png 1600w, https://LeoDreamer2004.github.io/p/paper-reading/agentic-rl/memgpt-exp.png 2045w&#34; width=&#34;2045&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;这里所有调用函数都是由 LLM 自己决定的, 包括何时调用、调用哪个函数、以及如何处理函数返回的结果. 这种设计使得 LLM 不仅是一个被动的记忆存储器, 而是一个主动的记忆管理者, 能够根据当前任务需求和系统状态动态调整其记忆策略.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;MemGPT&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;633px&#34; data-flex-grow=&#34;264&#34; height=&#34;530&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/agentic-rl/memgpt.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/agentic-rl/memgpt_hu_791fd9d5fea7f6.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/agentic-rl/memgpt.png 1400w&#34; width=&#34;1400&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Reflexion &lt;a class=&#34;link cite-Reflexion&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; (NIPS 2023) 不更新模型权重, 而是让 agent 根据失败反馈写下文字反馈, 存入片段性的记忆, 供下一次尝试使用. 把语言形式的经验当作一种近似的策略提升.&lt;/p&gt;&#xA;&lt;h3 id=&#34;推理&#34;&gt;推理&#xA;&lt;/h3&gt;&lt;p&gt;DeepSeek-R1 &lt;a class=&#34;link cite-DeepSeek-R1&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 指出大规模 RL 可以在没有人工标注推理轨迹的情况下诱导出某些推理行为. 不过, 综述中特别提到过度思考的现象: agentic 推理可能因为过度搜索、过度验证、工具调用循环而变慢甚至变差.&lt;/p&gt;&#xA;&lt;h2 id=&#34;任务视角&#34;&gt;任务视角&#xA;&lt;/h2&gt;&lt;p&gt;综述第四节按任务展开. AI 辅助整理如下:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;任务&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;环境真实性&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;奖励可验证性&lt;/th&gt;&#xA;          &lt;th&gt;难点&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;数学推理&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;低&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;高&lt;/td&gt;&#xA;          &lt;td&gt;reward 容易, 但容易过拟合格式和长度&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;代码生成&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;中&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;高&lt;/td&gt;&#xA;          &lt;td&gt;单函数任务较清晰, 仓库级任务信用分配难&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;搜索研究&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;中&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;中&lt;/td&gt;&#xA;          &lt;td&gt;信息质量、引用可靠性和搜索成本难统一&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Web / GUI&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;高&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;中&lt;/td&gt;&#xA;          &lt;td&gt;观测/动作接地难&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;软件工程&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;高&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;高&lt;/td&gt;&#xA;          &lt;td&gt;测试、构建、依赖和长上下文开销大&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;具身&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;高&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;低&lt;/td&gt;&#xA;          &lt;td&gt;稀疏奖励、长 horizon、环境随机性&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;多智能体&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;高&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;低&lt;/td&gt;&#xA;          &lt;td&gt;非平稳性、协作信用分配、通信协议&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;search-agent&#34;&gt;Search Agent&#xA;&lt;/h3&gt;&lt;p&gt;网页搜索是最自然的 agentic 任务之一. 简单 RAG 通常把检索当成固定预处理, 但 research agent 需要决定搜索计划、重写查询、交叉验证来源、归纳冲突信息、生成报告.&lt;/p&gt;&#xA;&lt;p&gt;Search-R1 &lt;a class=&#34;link cite-Search-R1&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 让模型通过 RL 学会在推理过程中主动搜索. 它比较接近 ReAct, 但重点从 prompt 模式变成了策略训练. 这类任务的 reward 设计通常要考虑多方面因素:&lt;/p&gt;&#xA;$$&#xA;R = R_{\mathrm{answer}} + \lambda_1 R_{\mathrm{citation}} - \lambda_2 C_{\mathrm{search}} - \lambda_3 R_{\mathrm{hallucination}}&#xA;$$&lt;p&gt;其中 $C_{\mathrm{search}}$ 是搜索成本, $R_{\mathrm{citation}}$ 是来源支撑度, $R_{\mathrm{hallucination}}$ 则惩罚无来源断言.&lt;/p&gt;&#xA;&lt;h3 id=&#34;code--swe-agent&#34;&gt;Code / SWE Agent&#xA;&lt;/h3&gt;&lt;p&gt;CodeRL &lt;a class=&#34;link ref-DeepSeekMath-GRPO&#34;&gt;&lt;/a&gt; 一类方法证明了可执行反馈对代码生成有效.&lt;/p&gt;&#xA;&lt;p&gt;SWE-bench &lt;a class=&#34;link cite-SWE-bench&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; (ICLR 2024) 给出了一种仓库级 benchmark. 它从 12 个流行 Python 仓库抓取约 9 万个 PR；再保留 merged、关联 issue、且修改测试文件的 PR；最后用执行过滤验证这些 PR 是否能产生 fail-to-pass 测试. 一个 SWE-bench task instance 可以抽象成:&lt;/p&gt;&#xA;$$&#xA;\mathcal{I} = (P, C, T, \delta)&#xA;$$&lt;p&gt;其中:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$P$: problem statement, 也就是 GitHub issue 文本;&lt;/li&gt;&#xA;&lt;li&gt;$C$: 代码库在 PR base commit 处的快照;&lt;/li&gt;&#xA;&lt;li&gt;$T$: 由 PR 中测试文件变化提取出的测试集合;&lt;/li&gt;&#xA;&lt;li&gt;$\delta$: 真实 PR 的 gold patch, 也是模型要预测的目标.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;需要注意, 模型可以生成和真实 PR 不一样的 patch, 只要能解决 issue 并保持已有测试通过, 就算成功&lt;/p&gt;&#xA;&lt;h3 id=&#34;math-agent&#34;&gt;Math Agent&#xA;&lt;/h3&gt;&lt;p&gt;数学任务是 RLVR 最合适的温床. 主要在于其答案通常可验证, 采样多个解答再组内比较也容易. DeepSeekMath 和 DeepSeek-R1 的路径说明, 在数学和形式化任务上, GRPO / PPO 这类方法能诱导更长、更自检的推理过程.&lt;/p&gt;&#xA;&lt;p&gt;形式数学里的 reward 更可验证, 但动作空间也更困难. 而非形式数学则较难以检查过程正确性.&lt;/p&gt;&#xA;&lt;h3 id=&#34;gui--web-agent&#34;&gt;GUI / Web Agent&#xA;&lt;/h3&gt;&lt;p&gt;综述 &lt;a class=&#34;link cite-Agentic-RL-Survey&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 有关 GUI Agent 只列举了几个 Benchmark: WebShop &lt;a class=&#34;link cite-WebShop&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 是早期网络环境, agent 根据商品需求导航网页、搜索、筛选并购买. WebArena &lt;a class=&#34;link cite-WebArena&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 则把 web agent 推向更真实的自发主持的网站环境, 包括电商、论坛、代码协作和内容管理等网站. OSWorld &lt;a class=&#34;link cite-OSWorld&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 的 benchmark 进一步让 agent 操作真实桌面系统和应用.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;OS World&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;562px&#34; data-flex-grow=&#34;234&#34; height=&#34;753&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://os-world.github.io/static/images/env.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/env_10415051489751196895_hu_b66479cb3261bfe9.png 800w, https://LeoDreamer2004.github.io/env_10415051489751196895_hu_3463ac57e8de5ce8.png 1600w, https://os-world.github.io/static/images/env.png 1765w&#34; width=&#34;1765&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;由于此课题目前我们更关注, 我又检索到有关 GUI Agent 的另一篇综述 &lt;a class=&#34;link cite-GUI-Agentic-RL-Survey&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;小结&#34;&gt;小结&#xA;&lt;/h2&gt;&lt;p&gt;这篇综述 &lt;a class=&#34;link cite-Agentic-RL-Survey&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 相当详细, 分成了如上所说的几个方面. 其中任何一项缺失, 都很难称为真正的 Agentic RL.&lt;/p&gt;&#xA;&lt;p&gt;从我理解来看, 和一般的 RL 相比, agentic RL 具有明显的自发性——它不像传统 RL 那样在一个固定环境里被动学习, 并接受一个人为设计的奖励函数, 而是需要在一个开放动态的环境中, 自主地观察行动和修正策略, 在此期间模型还可以借助各种工具, 来填补记忆存储的空白. &amp;ldquo;Planning&amp;rdquo; 这个概念也相当独特, 这意味着模型需要能够在面对复杂问题时自发拆解, 规划行动路径. 它显然并不是用于完成某一项固定的任务, 而是需要通过广泛的动作空间和环境观察, 提升自身对不同环境的泛化适应能力.&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>论文阅读 - 测试时强化学习</title>
            <link>https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/</link>
            <pubDate>Thu, 29 May 2025 00:00:00 +0000</pubDate>
            <guid>https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/</guid>
            <description>&lt;h2 id=&#34;测试时强化学习&#34;&gt;测试时强化学习&#xA;&lt;/h2&gt;&lt;h3 id=&#34;tta&#34;&gt;TTA&#xA;&lt;/h3&gt;&lt;p&gt;通常情况下, 深度学习模型在训练完成后就固定了参数, 在测试或部署阶段不再更新. 但在实际应用中, 测试数据可能与训练数据的分布存在差异, 导致模型性能下降. 因此后续的微调显得非常重要.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-def&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;定义&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;测试时适应 (Test-time Adaption, TTA)&lt;/strong&gt; 算法指在不使用真实标签的前提下, 利用当前测试样本或其增强版本来在线微调模型, 使其更适应当前的输入分布.&lt;/p&gt;&#xA;&lt;p&gt;常见的测试时适应算法包括:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;自适应批归一化&lt;/strong&gt;: 在测试阶段对批归一化层的均值和方差进行调整, 使其更适应当前输入分布, 同时不修改学习参数 &lt;code&gt;gamma&lt;/code&gt; 和 &lt;code&gt;beta&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;熵最小化&lt;/strong&gt;: 在测试阶段通过最小化模型输出的熵来提高模型的自信度, 最典型的如 TENT &lt;a class=&#34;link ref-TENT&#34;&gt;&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;过往的 TTA 算法一般基于无监督学习, 即便是强化学习算法, 需要辛苦设计奖励函数, RLHF 需要人工标注数据, 成本高昂.&lt;/p&gt;&#xA;&lt;h3 id=&#34;ttrl&#34;&gt;TTRL&#xA;&lt;/h3&gt;&lt;p&gt;论文 &lt;a class=&#34;link cite-TTRL&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 开创性地提出了 &lt;strong&gt;测试时强化学习 (Test-Time Reinforcement Learning, TTRL)&lt;/strong&gt; 算法 (后面几篇论文都是在此基础上进行改进). TTRL 通过强化学习的方式, 在测试时对模型进行微调, 使其更好地适应当前输入分布.&lt;/p&gt;&#xA;&lt;p&gt;在 &lt;strong&gt;无监督&lt;/strong&gt; 的情况下, 怎么设置奖励函数? 论文的策略非常简单: 多数投票.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;TTRL&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt; 一个模型 $f_{\theta}$, 测试样本 $x$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt; 微调后的模型 $f_{\theta&#39;}$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;对输入 $x$ 做多次预测, 得到预测结果 $y_i$.&lt;/li&gt;&#xA;&lt;li&gt;统计每个预测结果的出现次数, 设最常见的预测结果为 $y^*$, 称为一致动作.&lt;/li&gt;&#xA;&lt;li&gt;计算奖励函数 $R(y_i)$:&#xA;&#xA;$$&#xA;    R(y_i) = \mathbb{I}(y_i = y^*)&#xA;    $$&lt;/li&gt;&#xA;&lt;li&gt;通过梯度上升更新模型参数 $\theta$ 为 $\theta&#39;$:&#xA;&#xA;$$&#xA;    \theta&#39; = \theta + \eta \nabla_{\theta} \mathbb{E}_{y_i \sim f_{\theta}(x)}[R(y_i)]&#xA;    $$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;TTRL&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;605px&#34; data-flex-grow=&#34;252&#34; height=&#34;762&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/TTRL.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/TTRL_hu_9366b85f3712ed38.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/TTRL_hu_86a08e7e67fd50cc.png 1600w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/TTRL.png 1923w&#34; width=&#34;1923&#34;&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;效果非常显著, 甚至可以与带有有一定数据泄漏的监督方案相媲美.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;TTRL 结果&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;724px&#34; data-flex-grow=&#34;302&#34; height=&#34;347&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/TTRL-result.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/TTRL-result_hu_d48a6ba85b2740e5.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/TTRL-result.png 1048w&#34; width=&#34;1048&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;为什么能做这么好? 论文 &lt;a class=&#34;link cite-TTRL&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 给出了三个原因:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;标签估计&lt;/strong&gt;: TTRL 引入标签估计, 尽管存在不确定性, RL 仍具有一定鲁棒性, 且通常比 SFT 具有更好的泛化能力.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;奖励函数设计&lt;/strong&gt;: &amp;ldquo;幸运命中&amp;rdquo; (lucky hit) 现象, 即便预测不准确, 只要估计标签与预测答案不同, 验证器就能分配正确的 $0$ 奖励. 实验表明, 尽管多数投票的标签估计可能不准确, 但奖励函数的估计却非常准确. 原因是模型输出概率非常分散, 因此即使标签未被准确估计, 由于 &amp;ldquo;幸运命中&amp;rdquo;, 大多数输出仍然可以收到正确的奖励.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;在线学习&lt;/strong&gt;: TTRL 是在线学习算法, 可以在测试时不断更新模型参数, 使其更好地适应当前输入分布.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;基于熵最小化的强化学习&#34;&gt;基于熵最小化的强化学习&#xA;&lt;/h2&gt;&lt;p&gt;论文 &lt;a class=&#34;link cite-RENT&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 给出基于最小化熵的强化学习算法 (Reinforcement Learning via Entropy Minimization, RENT). 基于 GRPO 框架测试, 把奖励函数设置为负熵, 认为只通过最小化输出的熵, 即可提高模型推理能力.&lt;/p&gt;&#xA;$$&#xA;R(o) = -\mathcal{H}(p_{\pi_{\theta}}(\cdot|o)) = -\sum_{i=1}^{|V|} p_{\pi_{\theta}}(i|o) \log p_{\pi_{\theta}}(i|o)&#xA;$$&lt;p&gt;&lt;img alt=&#34;RENT&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;1024px&#34; data-flex-grow=&#34;427&#34; height=&#34;381&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22660/x1.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x1_762585511239712166_hu_80605be47024ab2.png 800w, https://LeoDreamer2004.github.io/x1_762585511239712166_hu_526a1a97b2b16bc3.png 1600w, https://arxiv.org/html/2505.22660/x1.png 1627w&#34; width=&#34;1627&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;内部反馈的强化学习&#34;&gt;内部反馈的强化学习&#xA;&lt;/h2&gt;&lt;p&gt;除了 KL 正则化等等项之外, 我们关心奖励函数的设计. 这个奖励要与任务无关, 而由模型内部的反馈来决定. 与 &lt;a class=&#34;link cite-RENT&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 提出的负熵奖励不同, 论文 &lt;a class=&#34;link cite-RENT-2&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 给出了另一个置信度函数:&lt;/p&gt;&#xA;$$&#xA;R(o) = \frac{1}{|o|}\sum_{i=1}^{|o|}KL(U \| p_{\pi_{\theta}}(\cdot|o_{\lt i})) = -\frac{1}{|o| \cdot |V|} \sum_{i=1}^{|o|}\sum_{j=1}^{|V|} \log \left( |V| \cdot p_{\pi_{\theta}} (j|o_{\lt i}) \right)&#xA;$$&lt;p&gt;其中 $o$ 是 token 序列, $U$ 表示均匀分布.&lt;/p&gt;&#xA;&lt;h2 id=&#34;带有-clip-反馈的强化学习&#34;&gt;带有 CLIP 反馈的强化学习&#xA;&lt;/h2&gt;&lt;p&gt;对于一般任务, 传统的测试时适应算法要最小化熵, 但很显然这个方式容易陷入错误的模型预测中. 与监督微调模型相比, 带有反馈的学习模型有更好的泛化能力.&lt;/p&gt;&#xA;&lt;h3 id=&#34;clip&#34;&gt;CLIP&#xA;&lt;/h3&gt;&lt;p&gt;文章 &lt;a class=&#34;link cite-CLIP&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 通过引入 CLIP 反馈来解决置信度过高问题, 称为 RLCF(如下图).&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;TPT 与 RLCF 对比&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;759px&#34; data-flex-grow=&#34;316&#34; height=&#34;525&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2305.18010/x1.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x1_9570233704346911246_hu_5cb2e716092754a.png 800w, https://LeoDreamer2004.github.io/x1_9570233704346911246_hu_21f07ece4a863155.png 1600w, https://arxiv.org/html/2305.18010/x1.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;除了分类任务外, 通过特定任务的采样策略和适当的选择奖励基线, RLCF 可以很容易地扩展到不仅仅是检索这样的区分任务, 还可以扩展到图像字幕这样的泛化任务.&lt;/p&gt;&#xA;&lt;p&gt;我们现在关心视觉语言模型 (VLM), 因此要衡量跨模态的相似性. &lt;strong&gt;对比语言-图像预训练 (Contrastive Language-Image Pre-training, CLIP)&lt;/strong&gt; 模型通过对图像和文本进行编码, 使得它们在同一个共享的向量空间中具有相似的表示.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;CLIP&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt; 图像 $v$ 和文本 $t$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt; 图像和文本的相似度分数 $s(v,t)$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;CLIP 训练两个编码器: 图像编码器 $g$ 和文本编码器 $h$.&lt;/li&gt;&#xA;&lt;li&gt;二者的输出分别为 $g(v)$ 和 $h(t)$.&lt;/li&gt;&#xA;&lt;li&gt;计算相似度分数, 常用的是余弦相似度:&#xA;&#xA;$$s(v,t) = \frac{g(v) \cdot h(t)}{\|g(v)\| \|h(t)\|}$$&lt;/li&gt;&#xA;&lt;li&gt;返回相似度分数 $s(v,t)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;h3 id=&#34;rlcf-算法&#34;&gt;RLCF 算法&#xA;&lt;/h3&gt;&lt;p&gt;对于 VLM, 训练集 $\mathcal{D}_\mathrm{train}$ 和测试集 $\mathcal{D}_\mathrm{test}$ 都是图像和文本对 $(v,t)$ 的集合. 需要注意, 算法的微调是在 &lt;strong&gt;单个&lt;/strong&gt; 测试样本上进行的.&lt;/p&gt;&#xA;&lt;p&gt;对于奖励函数 $R$, 我们希望学习到最好的概率分布 $f_{\theta}(v) = [p(t|v,\theta)]_{t \in T}$ 使得其能最大化奖励:&lt;/p&gt;&#xA;$$\max_{\theta} \mathbb{E}_{t \sim f_{\theta}(v)}R(t,v)$$&lt;p&gt;我们正式引入 &lt;strong&gt;带有 CLIP 反馈的强化学习 (Reinforcement Learning with CLIP Feedback, RLCF)&lt;/strong&gt; 算法.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;RLCF (分类任务)&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt; 一个已经训练好的 VLM 模型 $f_{\theta}$, 测试样本 $v$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt; 微调后的模型 $f_{\theta&#39;}$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;对测试样本 $v$ 进行数据增强, 生成多个增强样本 $\tau_i(v)$.&lt;/li&gt;&#xA;&lt;li&gt;按照 CLIP 的编码器编码 $v$ 和 $\tau_i(v)$, 计算当前模型的预测 $P(t|v,\theta)$. 注意此时训练文本应当是类似于 prompt + label 的形式, 如 &amp;ldquo;a photo of a cat&amp;rdquo;.&lt;/li&gt;&#xA;&lt;li&gt;做置信度筛选, 只保留预测熵足够低的样本 $\tau_i(v)$. 在这些样本中, 按照 top-K 策略选择预测结果, 得到 K 对文本和图像 $(\tau_i(v), t_j)_{j=1}^K$. 暂记为 $(v,t)$ 以进行后续计算.&lt;/li&gt;&#xA;&lt;li&gt;按照先前的工作, 根据 CLIP 模型计算 CLIPScore:&#xA;&#xA;$$&#xA;    \mathrm{CLIP-S}(t,v) = w \times \max(\mathrm{CLIP}(t,v), 0)&#xA;    $$&#xA;其中 $w=2.5$ 是一个常数.&lt;/li&gt;&#xA;&lt;li&gt;由于 CLIPScore 永远是非负的, 加入一个奖励基线增加稳定性:&#xA;&#xA;$$&#xA;    R(t,v) = \mathrm{CLIP-S}(t,v) - \mathbb{E}_{t&#39; \sim f_{\theta}(v)}[\mathrm{CLIP-S}(t&#39;,v)]&#xA;    $$&lt;/li&gt;&#xA;&lt;li&gt;通过 REINFORCE 策略梯度更新模型参数 $\theta$ 为 $\theta&#39;$, 使得模型能够最大化奖励, 注意此时 &lt;strong&gt;只&lt;/strong&gt; 更新图像编码器 $g$ 的参数:&#xA;&#xA;$$&#xA;    \nabla_{\theta} \mathbb{E}_{t \sim f_{\theta}(v)}[R(t,v)] = \mathbb{E}_{t \sim f_{\theta}(v)}[R(t,v) \nabla_{\theta} \log f_{\theta}(t|v, \theta)]&#xA;    $$&lt;/li&gt;&#xA;&lt;li&gt;返回微调后的模型 $f_{\theta&#39;}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;RLCF 分类任务&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;659px&#34; data-flex-grow=&#34;274&#34; height=&#34;580&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2305.18010/x3.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x3_17355611599170921509_hu_75b48eb672d2d8d1.png 800w, https://arxiv.org/html/2305.18010/x3.png 1593w&#34; width=&#34;1593&#34;&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;相较于监督学习, 基于反馈的强化学习更加通用, 例如可以进行图像描述的任务.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;RLCF (图文转换)&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;基本可以从上面的 RLCF 算法中直接泛化修改. 只需要注意如果是文本生成图片时, 应该固定图像编码编码器 $g$ 而微调文本编码器 $h$, 且此时不做数据增强.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;RLCF 图文转换&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;686px&#34; data-flex-grow=&#34;286&#34; height=&#34;476&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2305.18010/x4.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x4_11817165036539317370_hu_570f308c3c1da14.png 800w, https://arxiv.org/html/2305.18010/x4.png 1362w&#34; width=&#34;1362&#34;&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;h3 id=&#34;技巧和变体&#34;&gt;技巧和变体&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;使用多个奖励模型及权重&lt;/strong&gt;: 默认情况下, 使用单个 CLIP-ViT-L/14. 可以使用多个 CLIP 模型, 并对它们的输出进行加权平均, 以获得更好的奖励信号.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;片段式测试时适应 (Episodic TTA)&lt;/strong&gt;: 假定模型泛化能力很强, 测试时只在测试集上微调, 随后丢弃重置为原参数 $\theta^*$, 防止污染大模型.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;动量缓冲 (Momentum Buffer)&lt;/strong&gt;: 尽管片段式测试时适应确保可靠性, 但影响了模型增量学习能力. 因此引入一个动量缓冲, 在每次 TTA 中, 按照移动平均的方式更新缓冲 $\xi \leftarrow m\xi + (1-m)\theta$, 每经过若干次样本后, 再将缓冲 $\eta$ 作为新的参数 $\theta$ 进行更新.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;实验&#34;&gt;实验&#xA;&lt;/h3&gt;&lt;p&gt;RLCF 方法可以通用地建立在常用的架构上. 在零样本分类任务, 零样本图文检索和图像描述任务上, RLCF 都能显著提升模型的性能.&lt;/p&gt;&#xA;&lt;h2 id=&#34;引入协方差正则化的强化学习&#34;&gt;引入协方差正则化的强化学习&#xA;&lt;/h2&gt;&lt;p&gt;与论文 &lt;a class=&#34;link cite-CLIP&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 不同, 论文 &lt;a class=&#34;link cite-Entropy&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 通过熵动力学来研究熵崩溃的问题, 最终的目的依然是控制熵.&lt;/p&gt;&#xA;&lt;h3 id=&#34;熵崩溃&#34;&gt;熵崩溃&#xA;&lt;/h3&gt;&lt;p&gt;强化学习过程中对于高置信度的策略会愈发增强其使用概率, 导致熵变得更加降低. 以下图揭示了熵崩溃和性能饱和的关系. 当熵下降到某个阈值时, 性能会达到饱和点.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;熵崩溃和性能饱和&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;687px&#34; data-flex-grow=&#34;286&#34; height=&#34;580&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x1.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x1_580606934846009928_hu_b840d6d821cc8d4.png 800w, https://LeoDreamer2004.github.io/x1_580606934846009928_hu_fd91db71957c1a3e.png 1600w, https://arxiv.org/html/2505.22617/x1.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;论文定量分析认为, 如果没有像熵损失或者 KL 散度这样的正则化, 下游性能完全可以通过策略熵来预测, 精确来说可以拟合成指数函数:&lt;/p&gt;&#xA;$$&#xA;R = -a \exp(\mathcal{H}) + b&#xA;$$&lt;p&gt;$R$ 是验证集的性能, $\mathcal{H}$ 是策略的熵.&lt;/p&gt;&#xA;&lt;h3 id=&#34;熵-性能函数&#34;&gt;熵-性能函数&#xA;&lt;/h3&gt;&lt;p&gt;这个函数可以用来分析模型的性能和熵之间的关系, 有几个特点:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;系数与算法无关&lt;/strong&gt;: 下面这个图几个算法得到的曲线是类似的, 这表明 $a,b$  可能是模型和数据的固有属性.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;熵-性能函数&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;342px&#34; data-flex-grow=&#34;142&#34; height=&#34;443&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x11.png&#34; width=&#34;632&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;预测不同模型的函数系数&lt;/strong&gt;: 显然 $a$ 是模型将熵转化为下游性能的速度. $−a+b$ 是当熵归零时模型可以达到的最大验证性能. 理论上个更大的性能应该对应更大的 $a$ 和 $b$. 此外不同的任务也会有不同的系数&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;系数 $a$&lt;/th&gt;&#xA;          &lt;th&gt;系数 $b$&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;数学任务&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;a-math&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;336px&#34; data-flex-grow=&#34;140&#34; height=&#34;1185&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x12.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x12_7003860267143425204_hu_cfe7c557191e9286.png 800w, https://LeoDreamer2004.github.io/x12_7003860267143425204_hu_43c820a8a2563736.png 1600w, https://arxiv.org/html/2505.22617/x12.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;b-math&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;334px&#34; data-flex-grow=&#34;139&#34; height=&#34;1190&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x13.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x13_8623714035226707447_hu_417c8965cf0cbfbd.png 800w, https://LeoDreamer2004.github.io/x13_8623714035226707447_hu_44e4b2d8c0c4af6b.png 1600w, https://arxiv.org/html/2505.22617/x13.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;代码任务&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;a-code&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;336px&#34; data-flex-grow=&#34;140&#34; height=&#34;1185&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x14.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x14_10929581438055254911_hu_851d0d72e5b93b81.png 800w, https://LeoDreamer2004.github.io/x14_10929581438055254911_hu_ba74de0269733c6a.png 1600w, https://arxiv.org/html/2505.22617/x14.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;b-code&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;334px&#34; data-flex-grow=&#34;139&#34; height=&#34;1190&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x15.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x15_5344486370569409441_hu_31f02b9e24c3a1ab.png 800w, https://LeoDreamer2004.github.io/x15_5344486370569409441_hu_d5f8c01feb0f9e48.png 1600w, https://arxiv.org/html/2505.22617/x15.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;总结, 在策略熵减少过程中, 性能天花板不仅存在, 而且可以被预测.&lt;/p&gt;&#xA;&lt;h3 id=&#34;熵动力学&#34;&gt;熵动力学&#xA;&lt;/h3&gt;&lt;p&gt;我们主要关注相邻两次迭代的熵变化 $\mathcal{H}(\pi_{\theta}^{k+1}) - \mathcal{H}(\pi_{\theta}^{k})$.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-thm&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;定理&lt;span class=&#34;math-subtitle&#34;&gt;策略梯度下的熵变化&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;令行为策略 $\pi_{\theta}$ 为一个 softmax 策略, 并通过标准策略梯度更新, 两个连续步骤中给定状态 $s$ 的策略熵之差满足:&lt;/p&gt;&#xA;$$&#xA;\mathcal{H}(\pi_{\theta}^{k+1}|s) - \mathcal{H}(\pi_{\theta}^{k}|s) \approx -\eta \mathrm{Cov}_{a \sim \pi_{\theta}^{k}(\cdot|s)} \left( \log \pi_{\theta}^{k}(a|s), \pi_{\theta}^k(a|s) \cdot A(s,a) \right)&#xA;$$&lt;/div&gt;&#xA;&lt;div class=&#34;math-block math-thm&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;定理&lt;span class=&#34;math-subtitle&#34;&gt;自然策略梯度下的熵变化&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;令行为策略 $\pi_{\theta}$ 为一个 softmax 策略, 并通过标准策略梯度更新, 两个连续步骤中给定状态 $s$ 的策略熵之差满足:&lt;/p&gt;&#xA;$$&#xA;\mathcal{H}(\pi_{\theta}^{k+1}|s) - \mathcal{H}(\pi_{\theta}^{k}|s) \approx -\eta \mathrm{Cov}_{a \sim \pi_{\theta}^{k}(\cdot|s)} \left( \log \pi_{\theta}^{k}(a|s), A(s,a) \right)&#xA;$$&lt;/div&gt;&#xA;&lt;p&gt;揭示了当前策略下的动作概率 $P(a)$ 与相应的优势函数 $A(a)$ 之间的强正相关性. 作者做了实验验证了这个定理估计的正确性.&lt;/p&gt;&#xA;&lt;h3 id=&#34;协方差正则化&#34;&gt;协方差正则化&#xA;&lt;/h3&gt;&lt;p&gt;论文认为直接采用传统强化学习中的熵正则化技术难以解决 LLMs 的熵瓶颈问题, 过高的熵正则化甚至会导致熵爆炸.&lt;/p&gt;&#xA;&lt;p&gt;实验表明, 小部分 token 的协方差极高, 在触发熵崩溃中占据了主导地位. 受到 PPO 策略的启发, 论文提出两种协方差感知方法: &lt;strong&gt;Clip-Cov&lt;/strong&gt; 和 &lt;strong&gt;KL-Cov&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;对于 token $y_i$ 的协方差, 定义为:&lt;/p&gt;&#xA;$$&#xA;\mathrm{Cov}(y_i) = \left( \log \pi_{\theta}(y_i) - \mathbb{E}_{i \in [N]}\left[ \log \pi_{\theta}(y_i) \right] \right) \left(A(y_i) - \mathbb{E}_{i \in [N]}\left[A(y_i)\right]\right)&#xA;$$&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;Clip-Cov&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt; 策略 $\pi_{\theta}$, 协方差阈值 $\omega_l, \omega_h$ (两个都远超均值), 剔除比例 $r$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt; 更新后的策略 $\pi_{\theta&#39;}$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;计算每个 token 的协方差 $\mathrm{Cov}(y_i)$.&lt;/li&gt;&#xA;&lt;li&gt;从 $y_i$ 中随机选取 $r \cdot N$ 个满足 $\omega_l \le \mathrm{Cov}(y_i) \le \omega_h $ 的 token, 设索引集为 $I_{\mathrm{clip}}$.&lt;/li&gt;&#xA;&lt;li&gt;将选择的这些 token 从策略梯度中移除, 其余仍然正常更新:&#xA;&#xA;$$&#xA;    L_{\mathrm{clip}}(\theta) = \begin{cases}&#xA;    \mathbb{E}\left[ \frac{\pi_{\theta&#39;}(y_i)}{\pi_{\theta}(y_i)} A(y_i) \right] &amp; \text{if } i \notin I_{\mathrm{clip}} \\&#xA;    0 &amp; \text{if } i \in I_{\mathrm{clip}}&#xA;    \end{cases}&#xA;    $$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;KL-Cov&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt; 策略 $\pi_{\theta}$, 剔除比例 $k\ll 1$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt; 更新后的策略 $\pi_{\theta&#39;}$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;计算每个 token 的协方差 $\mathrm{Cov}(y_i)$.&lt;/li&gt;&#xA;&lt;li&gt;从 $y_i$ 选取方差最大的 $k \cdot N$ 个 token, 设索引集为 $I_{\mathrm{KL}}$.&lt;/li&gt;&#xA;&lt;li&gt;将选择的这些 token 在策略梯度中施加 KL 惩罚:&#xA;&#xA;$$&#xA;    L_{\mathrm{KL}}(\theta) = \begin{cases}&#xA;    \mathbb{E}\left[ \frac{\pi_{\theta&#39;}(y_i)}{\pi_{\theta}(y_i)} A(y_i) \right] &amp; \text{if } i \notin I_{\mathrm{KL}} \\&#xA;    \mathbb{E}\left[ \frac{\pi_{\theta&#39;}(y_i)}{\pi_{\theta}(y_i)} A(y_i) \right] - \beta KL(\pi_{\theta}(y_i) || \pi_{\theta&#39;}(y_i)) &amp; \text{if } i \in I_{\mathrm{KL}}&#xA;    \end{cases}&#xA;    $$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;h3 id=&#34;实验-1&#34;&gt;实验&#xA;&lt;/h3&gt;&lt;p&gt;与一般的熵正则化方法相比, 协方差正则化方法在多个任务上都能显著提升模型性能. 且能一定程度上避免瓶颈问题.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;策略熵&lt;/th&gt;&#xA;          &lt;th&gt;LLM 响应长度&lt;/th&gt;&#xA;          &lt;th&gt;准确率&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Qwen-7B&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;7B-entropy&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;355px&#34; data-flex-grow=&#34;148&#34; height=&#34;1121&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x22.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x22_15592516693516238728_hu_cd9281dac85f293d.png 800w, https://LeoDreamer2004.github.io/x22_15592516693516238728_hu_dee3d588e210cdeb.png 1600w, https://arxiv.org/html/2505.22617/x22.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;7B-response&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;355px&#34; data-flex-grow=&#34;148&#34; height=&#34;1121&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x23.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x23_3515795969010692292_hu_af5a86086b8afc72.png 800w, https://LeoDreamer2004.github.io/x23_3515795969010692292_hu_86f66bac4c7d455b.png 1600w, https://arxiv.org/html/2505.22617/x23.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;7B-accuracy&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;355px&#34; data-flex-grow=&#34;148&#34; height=&#34;1121&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x24.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x24_12129542494187032115_hu_e725a0e887bad835.png 800w, https://LeoDreamer2004.github.io/x24_12129542494187032115_hu_4acfcfb51f6d98.png 1600w, https://arxiv.org/html/2505.22617/x24.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Qwen-32B&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;32B-entropy&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;355px&#34; data-flex-grow=&#34;148&#34; height=&#34;1121&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x25.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x25_565707476354138724_hu_b49b1e6dd2454f02.png 800w, https://LeoDreamer2004.github.io/x25_565707476354138724_hu_e3c67bb4e433795.png 1600w, https://arxiv.org/html/2505.22617/x25.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;32B-response&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;355px&#34; data-flex-grow=&#34;148&#34; height=&#34;1121&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x26.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x26_9226126316388455426_hu_b92a0da375d3dcb2.png 800w, https://LeoDreamer2004.github.io/x26_9226126316388455426_hu_c780447ae5278e03.png 1600w, https://arxiv.org/html/2505.22617/x26.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;img alt=&#34;32B-accuracy&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;355px&#34; data-flex-grow=&#34;148&#34; height=&#34;1121&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.22617/x27.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x27_9213611007832738332_hu_7344188dab64c95.png 800w, https://LeoDreamer2004.github.io/x27_9213611007832738332_hu_580a73071fc01170.png 1600w, https://arxiv.org/html/2505.22617/x27.png 1661w&#34; width=&#34;1661&#34;&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;测试时样本特定语言模型优化&#34;&gt;测试时样本特定语言模型优化&#xA;&lt;/h2&gt;&lt;p&gt;论文 &lt;a class=&#34;link cite-SLOT&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 提出了 &lt;strong&gt;测试时样本特定语言模型优化 (Sample-specific Language Model Optimization at Test-time, SLOT)&lt;/strong&gt; 算法.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;SLOT&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-input&#34;&gt;输入 &amp;gt; &lt;/strong&gt; 预训练语言模型 $f_{\theta}$, 输入 token 序列 $x=(x_1, x_2, \ldots, x_n)$, 优化步数 $T$.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;algo-output&#34;&gt;输出 &amp;gt; &lt;/strong&gt; 拓展生成的文本 $x$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;初始化样本特定参数 $\delta=\mathbf{0}\in \mathbb{R}^{1 \times d}$.&lt;/li&gt;&#xA;&lt;li&gt;计算最后一层的隐藏特征 $H = f_{\mathrm{pre}}(x) \in \mathbb{R}^{n \times d}$.&lt;/li&gt;&#xA;&lt;li&gt;修改 $H&#39; = H + \delta$, 这里是广播加法.&lt;/li&gt;&#xA;&lt;li&gt;计算 logits $L = W_{\mathrm{LM}} H&#39; \in \mathbb{R}^{n \times |V|}$ 和其对应的交叉熵损失 $\mathcal{L}$, 并根据损失 $\mathcal{L}$ 优化 $\delta$.&lt;/li&gt;&#xA;&lt;li&gt;重复步骤 2-4, 直到达到优化步数 $T$, 最后得到 $\delta_{\mathrm{opt}}$.&lt;/li&gt;&#xA;&lt;li&gt;计算最后一个 token 的隐藏特征 $H_{\mathrm{last}} = f_{\mathrm{pre}}(x) [-1] \in \mathbb{R}^{1 \times d}$.&lt;/li&gt;&#xA;&lt;li&gt;修改 $H_{\mathrm{last}}&#39; = H_{\mathrm{last}} + \delta_{\mathrm{opt}}$.&lt;/li&gt;&#xA;&lt;li&gt;计算下一个 token 的 logits $L_{\mathrm{next}} = W_{\mathrm{LM}} H_{\mathrm{last}}&#39;$, 随后按 softmax 选择下一个 token $x_{\mathrm{next}}$.&lt;/li&gt;&#xA;&lt;li&gt;把 $x_{\mathrm{next}}$ 添加到输入序列 $x$ 中, 并重复步骤 6-8, 直到生成满足条件的文本.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;SLOT&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;426px&#34; data-flex-grow=&#34;177&#34; height=&#34;935&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.12392/x2.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x2_339404874337583701_hu_3c20329380361ba6.png 800w, https://LeoDreamer2004.github.io/x2_339404874337583701_hu_7af852e215092a56.png 1600w, https://arxiv.org/html/2505.12392/x2.png 1662w&#34; width=&#34;1662&#34;&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;特意把参数 $\delta$ 放在预测头之前, 是为了减小计算量. 称这个增量为 &lt;strong&gt;概率向量调制向量 (Logit Modulation Vector, LMV)&lt;/strong&gt;:&lt;/p&gt;&#xA;$$&#xA;\mathrm{LMV} = W_{\mathrm{LM}}\delta \in \mathbb{R}^{|V|}&#xA;$$&lt;p&gt;测试表明, 与推理过程相关的词如 &amp;ldquo;think&amp;rdquo; 和 &amp;ldquo;reasoning&amp;rdquo; 在 LMV 的作用下得到了显著增强.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;LMV 调节&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;450px&#34; data-flex-grow=&#34;187&#34; height=&#34;797&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://arxiv.org/html/2505.12392/x3.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/x3_18420890752665203648_hu_bd9718367cbbb60.png 800w, https://arxiv.org/html/2505.12392/x3.png 1495w&#34; width=&#34;1495&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;我的理解是和直接插入一层网络的区别是, 这个反向传播只更新 $\delta$ 而不更新模型参数, 且是一次性的, 只在测试时进行微调. 这只是一个测试时微调, 似乎不是强化学习.&lt;/p&gt;&#xA;&lt;h2 id=&#34;虚假奖励也能训练&#34;&gt;虚假奖励也能训练?!&#xA;&lt;/h2&gt;&lt;p&gt;说了这么多, 其实都是在说如何设计奖励函数. 但是, 论文 &lt;a class=&#34;link cite-Spurious&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 提出了一个非常反直觉的问题: 即使在使用与正确答案几乎没有或甚至负相关关系的虚假奖励下训练, RLVR 仍能在某些模型中激发强烈的数学推理能力!&lt;/p&gt;&#xA;&lt;p&gt;论文给出了五种奖励函数:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;真实标签 (Ground Truth) 奖励: 直接用真实标签作为奖励函数, 这标定了 RLVR 的上限.&lt;/li&gt;&#xA;&lt;li&gt;多数投票 (Majority Vote) 奖励: 通过多数投票的方式估计标签 (标签很可能是错误的), 以此作为奖励函数.&lt;/li&gt;&#xA;&lt;li&gt;格式化 (Format) 奖励: 当模型输出最后包含 &lt;code&gt;\box{}&lt;/code&gt; 时, 给予奖励, 否则不奖励. 这个奖励函数与正确答案无关.&lt;/li&gt;&#xA;&lt;li&gt;随机 (Random) 奖励: 随机生成奖励.&lt;/li&gt;&#xA;&lt;li&gt;错误 (Incorrect) 奖励: 只对错误的答案给予奖励, 正确答案不奖励.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;虚假奖励&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;278px&#34; data-flex-grow=&#34;115&#34; height=&#34;1042&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/spurious-reward.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/spurious-reward_hu_610edfc0e9f7bfae.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/spurious-reward.png 1208w&#34; width=&#34;1208&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;论文围绕了一个小问题展开: 问大模型 $(2,-6)$ 和 $(-4,3)$ 的距离是多少?&lt;/p&gt;&#xA;&lt;h3 id=&#34;不同模型在推理策略上存在先存差异&#34;&gt;不同模型在推理策略上存在先存差异&#xA;&lt;/h3&gt;&lt;p&gt;有些强模型会尝试写 Python 代码来计算距离, 尽管实际上它们并没有代码运行环境. 这种行为称为代码推理 (Code Reasoning), 且实验表明代码推理与准确率呈现强正相关性. 有些弱模型不生成代码, 或者对于代码生成性能弱.&lt;/p&gt;&#xA;&lt;h3 id=&#34;rlvr-在引入虚假奖励时可以增强预存的推理策略&#34;&gt;RLVR 在引入虚假奖励时可以增强预存的推理策略&#xA;&lt;/h3&gt;&lt;p&gt;在进行 RLVR 训练后, 代码推理的频率迅速增加, 与准确度提升高度相关; 随机奖励则相对缓慢, 但最终也达到了相似的水平. 此后随着模型自然语言推理准确度的提高, 这一频率逐渐下降, 这表明模型正在从高质量的真实标签奖励中学习真正的知识.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;代码推理&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;527px&#34; data-flex-grow=&#34;219&#34; height=&#34;832&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/code-reasoning.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/code-reasoning_hu_5c89870e18624373.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/code-reasoning_hu_2a11aa3c3c58a864.png 1600w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/code-reasoning.png 1827w&#34; width=&#34;1827&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;推理策略切换对性能的细化影响&#34;&gt;推理策略切换对性能的细化影响&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&#34;推理策略切换&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;1122px&#34; data-flex-grow=&#34;467&#34; height=&#34;480&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/code-policy-switch.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/code-policy-switch_hu_fa5895cfe6242405.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/code-policy-switch_hu_8c7eab35aee3a8b5.png 1600w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/code-policy-switch.png 2244w&#34; width=&#34;2244&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;对于所有较弱和虚假的奖励, 模型在 RLVR 后更倾向于使用代码推理. 虚假奖励上的准确度提升主要是通过激发模型使用正确的推理策略实现的.&lt;/p&gt;&#xA;&lt;h3 id=&#34;随机奖励与策略裁剪&#34;&gt;随机奖励与策略裁剪&#xA;&lt;/h3&gt;&lt;p&gt;关于随机奖励的问题, 论文证明了尽管优势期望值为零, 但由于损失函数中的 clip 机制, GRPO 损失的期望梯度并非为零.&lt;/p&gt;&#xA;&lt;p&gt;为了验证这个想法, 论文进行了一组对比, 同样使用随机奖励, 区别是是否进行 $(1-\epsilon, 1+\epsilon)$ 重要性采样比裁剪. 结果表明, 在没有裁剪的情况下, 随机奖励不能给模型带来任何提升.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;随机奖励与策略裁剪&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;571px&#34; data-flex-grow=&#34;238&#34; height=&#34;764&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/random-reward-clip.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/random-reward-clip_hu_a3c69a0c56bbd2f5.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/random-reward-clip_hu_1db820584d5ebb75.png 1600w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/random-reward-clip.png 1820w&#34; width=&#34;1820&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;因此综合来看, 论文推测, 在随机奖励训练中, 看似 &amp;ldquo;训练信号&amp;rdquo; 实际上是优化算法偏向利用预训练中学习到的先验知识的结果.&lt;/p&gt;&#xA;&lt;h2 id=&#34;sherlock-自我纠正推理&#34;&gt;Sherlock: 自我纠正推理&#xA;&lt;/h2&gt;&lt;p&gt;论文 &lt;a class=&#34;link cite-Sherlock&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 指出, 使用 SFT 或 RL 训练的模型缺乏逐步和响应层面自我纠正的能力. 一旦出现错误, 模型难以修正其推理, 往往无法从错误中恢复.&lt;/p&gt;&#xA;&lt;h3 id=&#34;自我纠正&#34;&gt;自我纠正&#xA;&lt;/h3&gt;&lt;p&gt;对于推理模型, 自我纠正行为可以有两种实现方式:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;逐步骤纠正&lt;/strong&gt;: 模型在其单次思考过程中反思其之前的第 i 步错误, 并对其进行修正:&lt;/p&gt;&#xA;$$&#xA;  (r, y_{i+1}, \cdots, y_n; a) \sim \pi(\cdot| x_{I \&amp; T}; y_1, \cdots, y_i^*)&#xA;  $$&lt;p&gt;其中 $y_i$ 代表第 $i$ 步推理, $a$ 是最终答案, $r$ 是模型的反思提示词 (如 &amp;ldquo;但是&amp;rdquo;, &amp;ldquo;等等&amp;rdquo;), $x_{I \&amp; T}$ 是输入的图像和文本, $y_i^*$ 是错误的推理.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;逐响应纠正&lt;/strong&gt;: 模型尝试纠正其之前的错误响应:&lt;/p&gt;&#xA;$$&#xA;  (y_1^2, \cdots, y_n^2; a) \sim \pi(\cdot| x_{I \&amp; T}; y_1^1, \cdots, y_n^1; t)&#xA;  $$&lt;p&gt;其中 $y^j, a^j$ 是模型的第 $j$ 次尝试响应.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;sherlock&#34;&gt;Sherlock&#xA;&lt;/h3&gt;&lt;p&gt;为解决这一局限, 论文 &lt;a class=&#34;link cite-Sherlock&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &#xA;&lt;/a&gt; 引入所谓 &lt;strong&gt;Sherlock&lt;/strong&gt; 算法来教导模型自我纠正, 从而增强其推理能力.&lt;/p&gt;&#xA;&lt;div class=&#34;math-block math-algo&#34;&gt;&#xA;    &lt;p class=&#34;math-title&#34;&gt;算法&lt;span class=&#34;math-subtitle&#34;&gt;Sherlock&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;I: &lt;strong&gt;SFT 冷启动&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;从已知数据集中随机采样样本, 形成训练集 $\mathcal{D}_A$; 再次采样形成 $\mathcal{D}_B$, 这些样本包含高质量的 COT.&lt;/li&gt;&#xA;&lt;li&gt;在 $\mathcal{D}_A$ 上使用普通监督微调 (SFT) 训练基础 VLM，得到模型 $R0_{\mathrm{VLM}}$。&lt;/li&gt;&#xA;&lt;li&gt;对于每个样本 $(x_{I\&amp;T}, Y^w)$ 在 $\mathcal{D}_B$ 中, 保留原本标签 $Y^w$, 同时用 $R0_{\mathrm{VLM}}$ 生成一个推理轨迹 $Y^l$, 组合成新数据集 $\mathcal{D}_{\mathrm{Sherlock}} = (x_{I\&amp;T}, Y^w, Y^l)$。&lt;/li&gt;&#xA;&lt;li&gt;使用如下公式中的损失函数, 联合 &lt;strong&gt;直接生成 (Direct Generation)&lt;/strong&gt; 和 &lt;strong&gt;自我纠正 (Self-Correction)&lt;/strong&gt; 两个任务.:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;$$&#xA;  \mathcal{L}_{\mathrm{Sherlock-SFT}}(\pi) = -\mathbb{E}_{(x_{I\&amp;T}, Y^w, Y^l) \sim \mathcal{D}_{\mathrm{Sherlock}}} \left[ \log \pi(Y^w | x_{I\&amp;T}) + \log \pi(Y^w | x_{I\&amp;T}, Y^l, t) \right]&#xA;  $$&lt;p&gt;II. &lt;strong&gt;离线偏好训练&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;现在对于初始轨迹 $Y^1 = (y_1^1, \cdots, y_n^1;a^1)$, 我们假定此时已经有一部分推理正确, 需要在生成一个更好的轨迹 $Y^2 = (y_1^2, \cdots, y_n^2;a^2)$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;随机在 $1 \sim n$ 中采样一个整数 $i$, 此时我们假定 $Y^1_{\lt i}$ 是正确的, 希望生成更好的 $Y^2_{\ge i}$.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;按照如下公式:&lt;/p&gt;&#xA;$$&#xA;    \max_{\pi}\mathbb{E}_{Y_{\geq i}^{2}\sim\pi(\cdot|[x_{I\&amp;T},Y^{1},t;Y_{\lt i}^{2}])}\left[p(Y_{\geq i}^{2}\succ Y_{\geq i}^{1}|x_{I\&amp;T};Y_{\lt i}^{2})-\beta D_{\mathrm{KL}}(\pi\|\pi_{\mathrm{ref}}|[x_{I\&amp;T},Y^{1},t;Y_{\lt i}^{2}])\right]\\+\mathbb{E}_{Y_{\geq i}^{2}\sim\pi(\cdot|[x_{I\&amp;T},Y^{1},t;Y_{\lt i}^{1}])}\left[p(Y_{\geq i}^{2}\succ Y_{\geq i}^{1}|x_{I\&amp;T};Y_{\lt i}^{1})-\beta D_{\mathrm{KL}}(\pi\|\pi_{\mathrm{ref}}|[x_{I\&amp;T},Y^{1},t;Y_{\lt i}^{1}])\right]&#xA;    $$&lt;p&gt;$t$ 是一个指令. 即希望 $Y_{\geq i}^{2}$ 在 $Y_{\lt i}^{2}$ 的条件下, 能够比 $Y_{\geq i}^{1}$ 更好, 且与参考模型 $\pi_{\mathrm{ref}}$ 尽量接近. 要最大化此式, 设:&lt;/p&gt;&#xA;$$&#xA;    v(x, Y^1, t; Y_{\lt i}^{1}, Y_{\lt i}^{2}; \pi_{\theta}) = \beta \log \rho(Y_{\geq i}^{2} | [x, Y^1, t; Y_{\lt i}^{2}]) - \beta \log \rho(Y_{\geq i}^{1} | [x, Y^1, t; Y_{\lt i}^{1}]) \\&#xA;    u(x, Y^1, t; Y_{\lt i}^{1}, Y_{\lt i}^{2}; \pi_{\theta}) = \beta \log \rho(Y_{\geq i}^{2} | [x, Y^1, t; Y_{\lt i}^{1}]) - \beta \log \rho(Y_{\geq i}^{1} | [x, Y^1, t; Y_{\lt i}^{2}])&#xA;    $$&lt;p&gt;其中 $\rho$ 表示 $\pi_{\theta}$ 和 $\pi_{\mathrm{ref}}$ 的重要性采样比, 前一项是鼓励生成更好的轨迹, 后一项是惩罚生成更差的轨迹. 论文证明采用 MSE 误差函数:&lt;/p&gt;&#xA;$$&#xA;    \begin{aligned}&#xA;    L_{\mathrm{SC}}(\pi_{\theta}; \pi_{\mathrm{ref}}) &amp;= \mathbb{E}_{(x, Y^w, Y^l) \sim \mathcal{D}} \left[ 1 - v(x_{I\&amp;T}, Y^l, t; Y_{\lt i}^{l}, Y_{\lt i}^{w}; \pi_{\theta}) - u(x_{I\&amp;T}, Y^l, t; Y_{\lt i}^{l}, Y_{\lt i}^{w}; \pi_{\theta}) \right]^2 \\&#xA;    &amp; + \mathbb{E}_{(x, Y^w, Y^l) \sim \mathcal{D}} \left[ 1 + v(x_{I\&amp;T}, Y^w, t; Y_{\lt i}^{w}, Y_{\lt i}^{l}; \pi_{\theta}) + u(x_{I\&amp;T}, Y^w, t; Y_{\lt i}^{w}, Y_{\lt i}^{l}; \pi_{\theta}) \right]^2&#xA;    \end{aligned}&#xA;    $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;随后再加上 DPO 的损失函数 (前面做的工作已经是偏好优化策略, 再加上这个的目的存疑):&lt;/p&gt;&#xA;$$&#xA;    L_{\mathrm{Sherlock}}(\pi_{\theta}; \pi_{\mathrm{ref}})  = L_{\mathrm{SC}}(\pi_{\theta}; \pi_{\mathrm{ref}}) + \alpha L_{\mathrm{DPO}}(\pi_{\theta}; \pi_{\mathrm{ref}})&#xA;    $$&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在此过程中可以根究不同的 $i$ 采用不同的 $\beta$:&lt;/p&gt;&#xA;$$&#xA;    \beta(i, n, \epsilon) = \frac{1}{4\left( 0.5 + \left( \frac{i}{n} \right)^{0.5 + \epsilon / 2} \right)}&#xA;    $$&lt;p&gt;当截断较早, $i$ 较小, $\beta$ 较大, 使得模型更倾向于靠拢 $\pi_{\mathrm{ref}}$, 产生更谨慎的更新, 反之亦然.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;III. &lt;strong&gt;迭代在线偏好训练&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在线迭代训练与离线阶段唯一的区别是没有 ground-truth 的回答 $Y^w$.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;对于每个直接生成的 $Y^1$, 我们进行三轮自我纠正以获得 $Y^2, Y^3, Y^4$.&lt;/li&gt;&#xA;&lt;li&gt;应用自我一致性过滤策略: 如果三个纠正响应的最终答案在语义上相同 ($a^2 = a^3 = a^4$), 则认为 $Y^4$ 是偏好回应, $Y_1$ 是非偏好回应. 否则跳过此次训练.&lt;/li&gt;&#xA;&lt;li&gt;为进一步减小模型偏好优化的噪声, 让初始的 $Y^1$ 变得更差: 维持 $Y^{l}_{\lt i} = Y^{1}_{\lt i}$, 但对于 $Y^{l}_{\ge i}$ 则在 $Y^{1}_{\ge i}$ 的基础上进行扰动.&lt;/li&gt;&#xA;&lt;li&gt;随后按照离线偏好训练的方式继续进行.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Sherlock&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;599px&#34; data-flex-grow=&#34;249&#34; height=&#34;912&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/Sherlock.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/Sherlock_hu_b51b06c8f57ae73e.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/Sherlock_hu_b305bb94e47ce45f.png 1600w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/Sherlock.png 2278w&#34; width=&#34;2278&#34;&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;h3 id=&#34;实验-2&#34;&gt;实验&#xA;&lt;/h3&gt;&lt;p&gt;论文指出现有的模型并不能通过自我纠正提高推理能力, 经过 Sherlock 进行训练后, 再进行自我纠正, 模型的推理能力有了显著提升.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Sherlock 实验结果&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;436px&#34; data-flex-grow=&#34;182&#34; height=&#34;651&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/Sherlock-result.png&#34; srcset=&#34;https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/Sherlock-result_hu_23065512d5b79782.png 800w, https://LeoDreamer2004.github.io/p/paper-reading/test-time-reinforcement-learning/img/Sherlock-result.png 1185w&#34; width=&#34;1185&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;论文进行了消融实验, 验证了 DPO 损失, SC 损失和动态 $\beta$ 的有效性.&lt;/p&gt;&#xA;&lt;h2 id=&#34;objection&#34;&gt;Objection!&#xA;&lt;/h2&gt;&lt;p&gt;刚才提及的多数论文都是错的! 一篇未正式发布的文章 &lt;a class=&#34;link cite-Objection&#34;&gt;[&lt;span class=&#34;material-index&#34;&gt;&lt;/span&gt;]&#xA;    &lt;span class=&#34;material-name&#34;&gt;Unknown-material&lt;/span&gt; &#xA;&lt;/a&gt; 要打假, 尤其是有关随机奖励的内容, 批驳的论文如下图:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Fake news!&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;491px&#34; data-flex-grow=&#34;204&#34; height=&#34;782&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://safe-lip-9a8.notion.site/image/attachment%3Ad9cf43ed-51bc-4e52-977c-84589883eb8b%3Aimage.png?table=block&amp;id=2022f1fb-f0ee-805a-acb7-e3701d4b482b&amp;spaceId=50ca3720-be45-4590-b18e-7dba386545c2&amp;width=1420&amp;userId=&amp;cache=v2&#34; srcset=&#34;https://LeoDreamer2004.github.io/image_7592434195462280713_hu_31ec185234750460.png 800w, https://safe-lip-9a8.notion.site/image/attachment%3Ad9cf43ed-51bc-4e52-977c-84589883eb8b%3Aimage.png?table=block&amp;id=2022f1fb-f0ee-805a-acb7-e3701d4b482b&amp;spaceId=50ca3720-be45-4590-b18e-7dba386545c2&amp;width=1420&amp;userId=&amp;cache=v2 1600w&#34; width=&#34;1600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;文章声称, 这是因为预-RL 模型的 Baseline 相比 Qwen 发布的官方数据或其它标准化评估被严重低估了, 在很多情况下，经过 RL 后的模型性能实际上比它们开始时的 (正确评估的) 预-RL Baseline 还要差!&lt;/p&gt;&#xA;&lt;p&gt;主要问题在于这些论文没有开放数据权重, 导致不能测试, 因而论文的证据不具有说服力. 作者提出了几个可能错误低估的原因:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;格式&lt;/strong&gt;: 数学基准测试使用精确匹配评估, 模型需要以特定格式作答, 例如在 &lt;code&gt;\boxed{}&lt;/code&gt; 内, 有时模型未能遵循格式. 如果模型解决了问题并得到正确答案, 但未能正确格式化, 并不意味着模型的推理能力存在问题. 应该事先通过示例提示或在进行格式演示的少量样本 SFT 来解决 LLMs 的格式问题.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;温度&lt;/strong&gt;: &lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/Qwen/Qwen3-8B&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Qwen3 模型页面&lt;/a&gt; 上关于最佳设置有明确的建议. 有几篇论文把温度设置太低, 导致降低准确率.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;测试规模&lt;/strong&gt;: 有的论文使用的 Benchmark 规模太小, 方差太大.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;token 长度&lt;/strong&gt;: 有些模型需要较长的推理流程, 截断较小时会导致模型无法完成响应, 进而降低准确率.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;</description>
        </item></channel>
</rss>
