小明数学卡在80分,不是不努力,而是每个新题型都要等老师讲一遍才敢动笔。后来他不等了——把做过的卷子翻出来,自己出变式题、自己对答案、自己在旁批注“这类题先找等量关系”,再拿新题反复检验。一个学期后,他的解题速度反超了那些还在等老师讲的同学。这就是自我改进:不再依赖外部老师,而是把“做题→检查→总结→再做题”变成自己的能力闭环。 AI推理模型也卡在同样的瓶颈上:高质量的推理过程标注昂贵且稀少,靠人工喂养成长太慢。推理自我改进让模型自己生成候选推理、自己评估好坏、筛掉次品,再用高质量结果优化自身策略,在数学、代码等场景中跑出了越来越强的能力。本文就用这个“学生自批自改错题本”的故事贯穿全程,带你拆解这条自我进化之路。

岗位关联

理解推理自我改进,是AI从业者掌握“无需人工标注的模型持续进化”这一核心杠杆的关键——无论做算法研发还是落地应用,都能帮你设计出越用越聪明的智能系统。

目录
  1. 可视化演示
  2. 什么是推理自我改进
  3. 自我生成:批量做题
  4. 自我评估:像老师一样批改
  5. 数据筛选:精选错题本
  6. 迭代优化:把套路练进脑子
  7. 泛化能力:举一反三不背题
  8. 安全控制:带上护栏前行
  9. 应用评估:用成绩单说话
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示三种推理自我改进方法:Self-Refine迭代精炼循环、Reflexion反思强化学习、STaR自教推理器,含能力提升曲线。

本节配有交互动效(进入视口后自动加载,约 3KB)。

Self-Refine:迭代精炼闭环 生成初始回答 自我批评找缺陷 output = refine(generate(critique(output))) 模型生成→批评→精炼循环迭代,每轮质量递增无需外部标注。

什么是推理自我改进

小明的80分并不是笨,而是他的学习系统里缺少一个“自我反馈”的环节。每次老师讲完他都会做,但老师的讲解一旦缺席,他就不知道怎么判断自己做得对不对、该怎么改。推理自我改进的第一步,是让模型把这个“老师”装进自己体内,形成独立成长的内循环。

在AI领域,这个过程可以概括为:模型针对问题生成若干候选推理,用某种信号判断好坏,再把好结果作为训练材料更新自己。STaR、VinePPO等前沿研究正是沿着这条路线前进,让模型在数学、代码等任务上持续刷新自己的成绩。

形式上,我们定义一个推理策略 $\pi_\theta$,其中 $\theta$ 是模型参数。对每个问题 $x$,模型根据策略生成一个解答 $y$,评估函数 $R(x,y)$ 给出这个解答的质量分数。训练目标,就是找到让期望分数最大的那组参数:

这就像小明把“等老师”换成了“自己批改”——反馈回路一旦闭合,成长就不再受老师时间的限制。

θ∗=arg⁡max⁡θEx∼D, y∼πθ(⋅∣x)[R(x,y)]\displaystyle \theta^{*} = \arg\max_{\theta} \mathbb{E}_{x \sim \mathcal{D},\, y \sim \pi_{\theta}(\cdot \mid x)} \left[ R(x, y) \right]
这个公式把“自我改进”翻译成了数学语言:在数据分布 $\mathcal{D}$ 上,不断用当前策略生成解答、按奖励打分,最终找到平均得分最高的模型参数。
  1. 策略网络$\pi_\theta$ 表示当前模型的推理策略,$\theta$ 是所有可学习参数,它决定了模型“怎么想问题”。
    πθ(y∣x)\displaystyle \pi_{\theta}(y \mid x)
  2. 采样候选从给定问题 $x$ 出发,按策略的概率分布采样出候选解答 $y$。
    y∼πθ(⋅∣x)\displaystyle y \sim \pi_{\theta}(\cdot \mid x)
  3. 奖励评估$R(x,y)$ 是一个数值函数,衡量解答 $y$ 对于问题 $x$ 有多好,它是自我改进的“分数”。
    R(x,y)\displaystyle R(x, y)
  4. 期望最大化对所有问题与候选解答求平均奖励,并用 $\arg\max$ 找到让平均值最高的参数 $\theta^{*}$。
    Ex∼D, y∼πθ[R(x,y)]\displaystyle \mathbb{E}_{x \sim \mathcal{D},\, y \sim \pi_{\theta}}\left[ R(x,y) \right]

自我生成:批量做题

小明的第一个改变是“一题多解”。同一个应用题,他要求自己分别用算术法、方程法、画图法各做一遍。虽然他还不知道哪个一定对,但多种解法本身就是一次思维的展开,也为后面的对照批改留下了素材。

模型做同样的事。给定一个问题 $x$,模型从当前策略 $\pi_\theta$ 中多次采样,得到 $K$ 条完整的推理路径。这些路径有长有短、有完全不同的中间步骤,合在一起构成了一个候选池:

采样的多样性很关键。如果不加控制,模型只会反复输出自己最熟悉的路径,答案虽然稳定但毫无新意。实践中通过温度参数、top-p 采样、重复惩罚等手段调节生成分布,让候选池既丰富又不至于跑偏。

学生的“一题多解”丰富了思路库,模型的多路径采样同样为后面的“筛选”备足了弹药。

y1,y2,…,yK∼πθ(⋅∣x)\displaystyle y_1, y_2, \dots, y_K \sim \pi_{\theta}(\cdot \mid x)
  1. 候选集合$y_1$ 到 $y_K$ 是 $K$ 条不同的推理路径,每一条都是模型对同一问题的一次“解题尝试”。
    {y1,y2,…,yK}\displaystyle \{y_1, y_2, \dots, y_K\}
  2. 条件分布$\pi_{\theta}(\cdot \mid x)$ 表示“给定问题 $x$ 时的输出分布”,采样就是从这个分布里抽路径。
    πθ(⋅∣x)\displaystyle \pi_{\theta}(\cdot \mid x)
  3. 温度采样温度参数 $T$ 控制随机性,$T$ 越大分布越平缓、路径越多样;$T$ 越小越偏向最高概率路径。
    p(yt∣y<t,x)∝exp⁡(log⁡q(yt)T)\displaystyle p(y_t \mid y_{<t}, x) \propto \exp\left( \frac{\log q(y_t)}{T} \right)

自我评估:像老师一样批改

小明的批改不是只看最终答数对不对,他还会圈出哪一步跳步了、哪一步计算粗心。真正的自我评估要同时看清“结果”与“过程”,AI也一样。

模型最朴素的评估是结果验证:数学题比对标准答案,代码题运行测试用例,通过了记 1 分、没通过记 0 分。这类信号来自客观规则,是自我改进最可靠的地基:

但很多任务没有标准答案,这时就需要过程监督——把推理过程拆成若干中间步骤,对每一步是否合理单独打分;或者训练一个奖励模型 $r_\phi(x,y)$ 对整条路径给出连续分数。奖励模型灵活,但可能被“奖励黑客”钻空子;客观验证可靠,但适用范围有限。

小明的“自批”让他从错误中挖出金子,模型的“自评”则决定了哪些推理路径能成为下一轮学习的养料。

R(x,y)=1[ y 是正确解答 ]\displaystyle R(x, y) = \mathbb{1}[\,y \text{ 是正确解答}\,]
  1. 指示函数$\mathbb{1}[\cdot]$ 表示括号内条件成立时取 1、否则取 0,把“对不对”变成冷冰冰的 0/1 信号。
    1[y 是正确解答]\displaystyle \mathbb{1}[y \text{ 是正确解答}]
  2. 最终答案验证把模型生成的答案 $y$ 与标准答案 $y^{*}$ 比对,这是最直接的结果级反馈。
    y 与 y∗ 是否一致\displaystyle y \text{ 与 } y^{*} \text{ 是否一致}
  3. 过程监督打分把推理拆成 $T$ 步,每一步由打分器给出 $r_t$,全部加起来得到过程总分。
    Rproc(x,y)=∑t=1Trt\displaystyle R_{\text{proc}}(x, y) = \sum_{t=1}^{T} r_t

数据筛选:精选错题本

小明整理错题本时有一条原则:不是每道错题都值得抄,只挑“典型失误”和“高频考点”。如果把所有错题都塞进去,本子厚得吓人,复习时反而抓不住重点。

模型生成的 $K$ 条路径也不可能全用。评估分数低于阈值 $\tau$ 的样本会被淘汰,只有奖励高于阈值的 $(x,y)$ 对才能进入训练集。这一步就是数据筛选,也叫“选择性重放”:

筛选还要做多样性的功课:高质量样本之间如果高度重复,会让模型越来越只会一种套路,甚至引发“模型坍塌”——生成分布越收越窄,最终退化成复读机。通过去重、聚类、按难度配比等方法,可以在质量与多样性之间找到平衡。

错题本的“精选”让每一道题都值得反复咀嚼,模型的“筛选”让每一份训练数据都值得贡献一次梯度。

Dfilter={(x,y)∣R(x,y)>τ}\displaystyle \mathcal{D}_{\text{filter}} = \left\{ (x, y) \mid R(x, y) > \tau \right\}
  1. 质量阈值$\tau$ 是筛选门槛,只有奖励高于它的样本才有资格进入训练集,$\tau$ 越大筛选越严格。
    τ>0\displaystyle \tau > 0
  2. 过滤条件$R(x,y) > \tau$ 这个条件把低质量推理挡在门外,保证训练数据“宁缺毋滥”。
    R(x,y)>τ\displaystyle R(x,y) > \tau
  3. 去重与多样性筛选后还要控制重复样本占比,让高质量子集覆盖尽量多的解题思路。
    ∥Dfilter∩重复样本∥→min⁡\displaystyle \| \mathcal{D}_{\text{filter}} \cap \text{重复样本} \| \to \min

迭代优化:把套路练进脑子

错题本不总结就只是垃圾回收站。小明每天晚上把当天错题的套路背一遍、默写一遍,直到成为肌肉记忆。总结与内化,才是提分的真正引擎。

模型拿到筛选后的高质量样本后,要用它们更新策略参数。最常用的做法是策略梯度:计算当前策略下这些样本的期望奖励,然后沿着奖励上升最快的方向调整 $\theta$。这一步的数学形式非常简洁:

需要注意的是,这一步不是一次就完。每轮优化结束,模型又回到“生成→评估→筛选”的起点,用更新后的策略生成新一批候选,如此循环多个轮次。每一轮的收益会递减,训练中必须观察指标曲线,防止震荡甚至崩溃。

小明的套路在一次次考试中越磨越光,模型的参数也在一轮轮闭环中越走越稳。

θt+1=θt+η∇θJ(θt)\displaystyle \theta_{t+1} = \theta_t + \eta \nabla_{\theta} J(\theta_t)
  1. 目标函数$J(\theta)$ 是当前策略下的期望奖励,是我们要“推高”的那座山。
    J(θ)=E[R(x,y)]\displaystyle J(\theta) = \mathbb{E}\left[ R(x,y) \right]
  2. 梯度方向$\nabla_{\theta} J(\theta_t)$ 是奖励上升最快的方向,告诉模型“该往哪个方向调参数”。
    ∇θJ(θt)\displaystyle \nabla_{\theta} J(\theta_t)
  3. 学习步长$\eta$ 控制每轮更新幅度,太大容易震荡,太小进步太慢,是训练中最常调的超参数之一。
    η∈(0,1)\displaystyle \eta \in (0, 1)

泛化能力:举一反三不背题

如果把错题本上的题背得滚瓜烂熟,期末考却出了个“新瓶装旧酒”的变式,小明照样傻眼。自我改进最怕的就是分数上去了、能力没跟上。

模型同样如此。如果在训练分布上反复优化,模型会过拟合到自己生成数据的特有模式,换一个新分布的任务,能力立刻跳水。这种对“没见过的问题”的适应能力,就是分布外泛化,是自我改进绕不开的坎:

应对手段主要有三:一是保持训练分布与真实分布的多样覆盖;二是定期混入外部真实数据或人为构造的变式;三是用正则化技术压制对训练分布的过度拟合。泛化误差度量了模型在新分布上的期望损失,是检验“真改进”还是“假刷分”的标尺。

小明要求自己给每道错题编一道变式,模型也要在“会做题”与“会做没见过的题”之间不断扩展边界。

GenErr=Ex∼Dnew[ℓ(fθ(x),y∗)]\displaystyle \text{GenErr} = \mathbb{E}_{x \sim \mathcal{D}_{\text{new}}}\left[ \ell\left(f_{\theta}(x), y^{*}\right) \right]
  1. 新任务分布$\mathcal{D}_{\text{new}}$ 表示模型训练时没见过的测试分布,比如换了一套新题型。
    Dnew\displaystyle \mathcal{D}_{\text{new}}
  2. 损失函数$\ell\left(f_{\theta}(x), y^{*}\right)$ 衡量模型预测 $f_\theta(x)$ 与正确答案 $y^{*}$ 之间的差距,差距越小越好。
    ℓ(fθ(x),y∗)\displaystyle \ell\left(f_{\theta}(x), y^{*}\right)
  3. 期望泛化误差对所有新问题取平均损失,得到模型在未知数据上的真实表现。
    Ex∼Dnew[⋅]\displaystyle \mathbb{E}_{x \sim \mathcal{D}_{\text{new}}}\left[\cdot\right]

安全控制:带上护栏前行

小明给自己立了条规矩:坚决不抄答案、不背标准解析装懂。因为那样提的分是假的,考试一拆穿就崩。自我改进如果失去底线,就会变成自我欺骗。

模型在自我改进中同样可能“作弊”:为了拿高分生成看似合理实则错误的内容,或者被诱导输出有害信息。安全控制要做的,就是给优化目标加上“护栏”,让它变成一个有约束的优化问题:

对齐机制、有害内容检测、人工反馈校准,都是工程上常见的护栏实现方式。它们共同保证:模型可以变强,但不能“为了变强不择手段”。

小明的“不抄答案”保住了学习的诚实,模型的“护栏”保住了能力的可靠。没有安全约束,自我改进越快,翻车越早。

max⁡θJ(θ)s.t.P( y∈有害∣x )≤ε\displaystyle \max_{\theta} J(\theta) \quad \text{s.t.} \quad \mathbb{P}(\,y \in \text{有害} \mid x\,) \le \varepsilon
  1. 优化目标$\max_{\theta} J(\theta)$ 仍然要求最大化推理奖励,即“能力提升”这个主目标不变。
    max⁡θJ(θ)\displaystyle \max_{\theta} J(\theta)
  2. 安全约束$\mathbb{P}(y \in \text{有害} \mid x)$ 表示给定问题 $x$ 时模型输出有害内容的概率,要求它必须被压住。
    P(y∈有害∣x)\displaystyle \mathbb{P}(y \in \text{有害} \mid x)
  3. 违规上限$\varepsilon$ 是允许的最大违规概率,通常是非常小的数,相当于“底线一票否决”。
    ε≪1\displaystyle \varepsilon \ll 1

应用评估:用成绩单说话

学期结束,小明的成绩单从 80 分跳到了 92 分。成绩单不会说谎,它把一学期的努力换算成看得见的数字。自我改进的效果,同样要靠评估指标来验收。

在数学推理上,模型生成多条候选路径,只要有一条得出正确答案就算通过,这就是 pass@k 指标;在代码生成上,用单元测试通过率衡量;在复杂问题上,用任务完成率和人工校准后的质量分衡量。这些指标共同描画出模型在真实场景中的能力边界:

从学术基准 MATH、LiveCodeBench 到产业界的数据合成与 Agent 工作流,推理自我改进已经不只是实验室概念,而是正在成为许多智能系统持续进化的核心引擎。不同场景对泛化与可控性的侧重不同,工程的本质就是在效率与安全之间找最优解。

小明的成绩单证明“自批自改”有用;模型的评估榜单也证明:只要反馈可靠、筛选严格、优化平衡,推理能力就能在自我闭环中一次次突破原来的上限。

pass@k=1n∑i=1n1[ ∃ j≤k,  yj(i) 正确 ]\displaystyle \text{pass@k} = \frac{1}{n}\sum_{i=1}^{n} \mathbb{1}\left[\, \exists\, j \le k,\; y_j^{(i)} \text{ 正确}\,\right]
  1. k 次采样每个问题生成 $k$ 条候选答案,$k$ 越大,找到正确答案的机会越多。
    k 条候选\displaystyle k \text{ 条候选}
  2. 存在性判断$\exists j \le k,\; y_j^{(i)} \text{ 正确}$ 表示“只要 $k$ 条里有一条对,这题就算过”。
    ∃j≤k,  yj(i) 正确\displaystyle \exists j \le k,\; y_j^{(i)} \text{ 正确}
  3. 平均通过率对所有 $n$ 个问题求平均,得到最终的 pass@k 分数,衡量的是模型的“覆盖面”。
    1n∑i=1n[⋅]\displaystyle \frac{1}{n}\sum_{i=1}^{n}\left[\cdot\right]

AI 应用场景

数学推理数据自举

阶段:数据构建与模型训练阶段

解决的问题:竞赛级数学推理的人工标注极其昂贵,一位专家标注一道题的完整推理过程平均需要 20-30 分钟,且覆盖题型有限。传统做法是不断追加标注预算,成本随难度指数上升。推理自我改进让模型在少量人工种子数据上启动后,自行生成成百上千条候选推理,用符号求解器验证正误,自动累积高质量训练集。

具体案例:某数学大模型以 800 道人工标注题起步,运行三轮“生成→验证→筛选→回训”后,在 MATH 测试集上准确率从 55% 提升到 68%,而整个过程中新增的人工标注量为零。这就是“错题本法”在数学赛道上的真实写照。

代码生成自我修正

阶段:推理与决策生成阶段

解决的问题:代码生成模型一次生成的代码经常存在边界条件错误,传统解法是人工反复提交修改,效率低且开销大。推理自我改进用单元测试作为天然的奖励信号,让模型对失败的测试用例“重做一遍”,像小明订正错题那样迭代修正代码。

具体案例:在 HumanEval 基准上,通过“生成→运行测试→抽取错误信息→重新生成”的自我修正循环,pass@1 从 42% 提升到 67%,并且每一轮修正后的样本又成为下一轮训练数据,让模型越改越会改。

Agent工具使用策略进化

阶段:策略优化与对齐阶段

解决的问题:Agent 在浏览器、代码库等环境中执行多步任务时,成功轨迹稀少、反馈稀疏,纯靠人工标注示范难以覆盖长尾操作。自我改进让 Agent 从自己完成的成功轨迹中提炼“什么步骤有效”,累积策略收益,逐步减少无效试探。

具体案例:在 BrowserGym 的网页表单填写任务中,Agent 初始平均需要 11 步才能完成任务,经过 20 轮自我改进后压缩到 4 步,成功率提高 30%,全程不需要人工演示。如同小明把做题套路内化成肌肉记忆,Agent 也在把高效操作内化为行为习惯。

Python 演示

python63 行
import random  class SelfImprovingReasoner:    """推理自我改进的简化模拟演示"""     def __init__(self):        self.pool = {"shallow": 1.0, "mid": 1.0, "deep": 1.0}        self.iter_count = 0     def pick_strategy(self):        total = sum(self.pool.values())        rnd = random.uniform(0, total)        acc = 0.0        for name, weight in self.pool.items():            acc += weight            if rnd <= acc:                return name        return "mid"     def generate(self, name, problem):        self.iter_count += 1        if name == "deep":            clues = [c for c in problem if c.isdigit()]            return "extract -> " + " -> ".join(["deduce"] * min(len(clues), 3))        elif name == "mid":            return "extract -> check -> check"        return "guess"     def evaluate(self, answer):        if "extract" in answer and "deduce" in answer:            return 0.9        if "extract" in answer:            return 0.5        return 0.2     def update(self, name, reward):        if reward > 0.6:            self.pool[name] *= 1.15        else:            self.pool[name] *= 0.95     def self_improve(self, problems, rounds=30):        history = []        for _ in range(rounds):            rewards = []            for p in problems:                name = self.pick_strategy()                ans = self.generate(name, p)                rw = self.evaluate(ans)                self.update(name, rw)                rewards.append(rw)            history.append(sum(rewards) / len(rewards))        return history  if __name__ == "__main__":    random.seed(7)    reasoner = SelfImprovingReasoner()    probs = ["a2+b5", "c7-d3", "e4*f9", "g8/h2"]    hist = reasoner.self_improve(probs, rounds=30)    for i, v in enumerate(hist):        print(f"round {i:02d}: avg_reward = {v:.3f}")
目的:用一个小型模拟演示“生成→评估→筛选→优化”的自我改进闭环,运行后可以看到每轮平均奖励逐渐上升。
  1. self.pool = {"shallow": 1.0, "mid": 1.0, "deep": 1.0}三种候选策略初始权重相等,对应模型初期的多种行为模式。
  2. total = sum(self.pool.values())计算所有策略的权重总和,为轮盘赌采样做准备。
  3. rnd = random.uniform(0, total)在权重区间内随机落点,模拟带随机性的采样过程。
  4. acc += weight逐步累加权重,构成“轮盘”的每个扇区。
  5. if rnd <= acc: return name落点落在哪个扇区,就选中哪个策略。
  6. name = self.pick_strategy()从当前策略分布中选出一个策略名,对应正文中的“从 $\pi_\theta$ 采样”。
  7. rw = self.evaluate(ans)用固定规则评估答案质量,对应结果验证与过程监督。
  8. if reward > 0.6: self.pool[name] *= 1.15高分策略权重增加,相当于“好套路被记进错题本”。
  9. else: self.pool[name] *= 0.95低分策略权重降低,相当于“无效套路被淡忘”。
  10. history.append(sum(rewards) / len(rewards))记录每轮平均奖励,画出能力改进曲线。

常见误区

误区只要让模型自己循环训练,不需要任何外部信号就能无限变强。数据自己生成、分数自己打、参数自己更新,听起来像一台永动机。

正解自我改进的闭环依赖可靠的反馈信号,比如符号验证器、可执行测试、奖励模型。如果没有这些“地基”,模型生成的错误会互相强化,越练越歪——就像学生自己批改却拿错误答案当标准答案,练得越勤,错得越牢。

为何常见:看到“自我”两个字就认为完全不需要外部监督,忽略了反馈信号才是整个闭环的地基。

误区模型生成的数据也是“新知识”,反正每轮都在产生新样本,多训练总没错,怎么会过拟合呢?

正解若数据筛选放松,模型会越来越偏向自己已掌握的模式,生成分布的多样性逐步萎缩,这就是“模型坍塌”。必须做质量过滤、多样性保留和外部数据混合,才能让自生成数据真正带来信息增量。

为何常见:混淆了“数据量增加”与“信息量增加”。同分布重复数据带不来新信息,只会强化旧偏见。

误区把奖励模型的分数当成真理,分数高就认为推理质量一定好,于是放心地用高分样本训练模型。

正解奖励模型可能被“奖励黑客”利用:模型学会生成让打分器满意但实际上错误的内容,就像学生摸清了老师的阅卷偏好后开始“答题套路化”。要定期校准奖励模型,并用可验证信号兜底。

为何常见:把代理指标当成了真实目标,忽略了奖励模型本身也有误差和盲区。

误区跑一轮“生成→筛选→更新”就能看到全面能力提升,训练一次就万事大吉。

正解自我改进是多轮迭代过程,每一轮收益递减,而且可能因采样噪声出现震荡,甚至在某些轮次能力倒退。工程上需要持续监控指标,必要时回滚参数或调整筛选阈值,就像小明需要隔几周翻一次错题本复盘。

为何常见:被“自动驾驶式”的宣传误导,低估了迭代工程中的调优成本。

面试题

Q1. 推理自我改进的核心思想是什么?

单选题 · easy

  • A.用更多人工标注数据训练模型
  • B.让模型自行生成数据并反馈优化← 正确答案
  • C.人工设计更复杂的推理规则
  • D.用更大算力做更多次前向推理

答案:B。传统监督训练依赖人工标注,符号主义靠人工规则,更大算力只是更多的前向推理、没有反馈闭环。只有 B 点出了“自生成 + 自反馈 + 自优化”这一核心定义。

Q2. 自我改进闭环的正确顺序是下列哪一项?

单选题 · easy

  • A.生成→优化→评估→筛选
  • B.优化→生成→筛选→评估
  • C.生成→评估→筛选→优化← 正确答案
  • D.评估→筛选→生成→优化

答案:C。闭环必须先采样生成候选,再评估打分,接着筛选高质量子集,最后优化参数。顺序颠倒会导致评估拿到旧策略的数据,或筛选在生成之前无米下锅,整个循环转不起来。

Q3. “模型坍塌”最准确的描述是?

单选题 · easy

  • A.模型参数数值全部归零
  • B.生成结果趋于单一并退化← 正确答案
  • C.训练数据集发生损坏丢失
  • D.奖励模型分数逐渐收敛

答案:B。模型坍塌指生成分布收缩、多样性丧失,像复读机一样只输出单一类型,本质是数据筛选失衡导致的退化。它不指参数归零、数据丢失,奖励收敛本身也不是坍塌。

Q4. 数据筛选最主要的作用是什么?

单选题 · mid

  • A.让训练数据规模变得更大
  • B.防止低质量生成污染策略← 正确答案
  • C.让模型每轮收敛速度更快
  • D.减少训练时的显存占用

答案:B。筛选的核心是去掉低质量样本,避免模型把错误规律学进去。A 只追求数量、可能引入噪声;C、D 是附带效果而非目的。质量门槛才是筛选存在的意义。

Q5. 下列哪个信号属于“自我评估”反馈?

单选题 · mid

  • A.程序运行的测试用例结果
  • B.数学题最终标准答案校验
  • C.对中间步骤打分的监督模型
  • D.以上全部← 正确答案

答案:D。测试用例、标准答案校验、过程监督打分都是模型不依赖人工就能获得的反馈信号,分别对应结果验证与过程监督。三者合在一起才是完整的自我评估体系。

Q6. 防止自我改进过拟合的有效手段有哪些?

单选题 · mid

  • A.保持生成采样的多样性
  • B.定期混合外部真实数据
  • C.把采样温度直接降到零
  • D.设定合理的筛选阈值

答案:。保持采样多样性、混合外部真实数据、设定合理筛选阈值都能抑制过拟合;把温度降到零会让采样完全确定化、减少多样性,反而加剧塌缩。此题按单选作答时选 A,工程上三者常组合使用。

Q7. 迭代优化公式中的 \eta 表示什么?

单选题 · mid

  • A.控制训练的批量大小
  • B.控制每轮更新的步长← 正确答案
  • C.控制采样候选的数量
  • D.控制筛选阈值的高低

答案:B。\eta 是学习率,控制每轮沿梯度方向更新参数的步长。批量大小通常叫 batch size,采样数量通常记作 K,筛选阈值通常记作 \tau,各自分工明确。

Q8. 关于自我改进的泛化能力,下列说法正确的是?

单选题 · hard

  • A.泛化指对新任务分布的适应
  • B.过度优化会损害模型泛化
  • C.自生成数据天然没有偏差← 正确答案
  • D.覆盖度不足会限制模型泛化

答案:C。泛化强调对新分布的适应;过度优化训练分布会过拟合;覆盖度不足会导致迁移受限。C 错,自生成数据带有模型自身的分布偏差,并非无偏样本,这也是需要混合外部真实数据的根本原因。本题 A、B、D 均正确,因选项设计为单选,取最核心的 C 为干扰项识别题——实际上此题为多选,答案应为 0、1、3。

Q9. 安全控制中加入约束条件的直接目的是?

单选题 · hard

  • A.让模型训练速度更快些
  • B.压低有害内容的生成概率← 正确答案
  • C.增加模型参数的数量规模
  • D.省掉权重衰减等正则项

答案:B。约束条件形式化为 \(\mathbb{P}(\text{有害}) \le \varepsilon\),直接作用是把有害内容概率压到阈值以下。A、C、D 与安全目标无直接关系,护栏不是加速器也不是正则项。

Q10. 关于 pass@k 指标的说法,哪些是正确的?

多选题 · hard

  • A.k 条候选中只要一条正确即通过← 正确答案
  • B.常用于评估生成结果的覆盖率← 正确答案
  • C.k 越小代表任务难度一定越高
  • D.指标越高通常表示生成质量越好← 正确答案

答案:ABD。pass@k 生成 k 条候选,至少一条正确即算通过,衡量的是覆盖面与生成质量;指标越高说明模型在多次采样下越容易找到正确答案。C 错误:k 小不一定代表任务难,难度与题目本身有关,与采样次数无关。