想象你是一位刚拿到美食城畅吃卡的美食寻宝员阿尝。你的目标不是把每家店都吃一遍,而是在有限饭量里吃出最多的快乐。如果每顿都去已经验证过的牛肉面馆,你会错过转角那家可能惊艳的甜品店;如果每天盲试新店,又会频繁踩雷。这个两难,就是强化学习里的探索与利用困境:继续选择已知最好的动作,还是尝试从未验证过的动作?只会利用的 Agent,像只认老店的阿尝,收益天花板一眼望得到头;只会探索的 Agent,像失去菜单的游客,辛苦却吃不饱。现代强化学习给出了四类主流解法:ε-greedy 像“九分经验一分天意”的随机探店,UCB 像拿着小本本计算“谁最可能被低估”的乐观精算师,Thompson Sampling 像按口味信念掷骰子的贝叶斯赌徒,PSE/NGU 则像会给状态贴“新鲜度标签”的好奇心引擎。这些策略各有性格,适合不同场景。读完这篇文章,你会像阿尝一样,在利用与探索之间找到属于自己的最佳平衡。

岗位关联

对 AI 从业者来说,探索策略直接决定强化学习模型的样本效率和最终性能。掌握这四类方法,就是掌握了训练智能 Agent 时绕不开的“点菜智慧”。

目录
  1. 可视化演示
  2. 探索与利用困境
  3. ε-greedy 策略
  4. UCB 置信上界
  5. Thompson Sampling 贝叶斯抽样
  6. 计数与伪计数
  7. PSE 与 NGU 扩展
  8. 对比与调参
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

可视化对比强化学习主流探索策略:epsilon-greedy随机探索、UCB不确定性驱动与Thompson Sampling贝叶斯采样,交互切换理解探索与利用平衡核心方法。

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

\u03b5-greedy随机探索 以\u03b5概率随机探索未知动作 1-\u03b5概率利用当前最优 a = \u03b5 ? random : best 简单有效但探索效率较低

探索与利用困境

阿尝发现,美食城最让人纠结的不是哪家店难吃,而是“熟悉的稳妥”和“未知的惊喜”之间的取舍。天天吃同一家,虽然不会踩雷,但菜单再好吃也会腻;天天换新店,消耗完餐券却没吃到几道可口菜。这种两难构成了他探店计划的第一课。

在强化学习中,Agent 面对的正是同样的选择。环境像一座美食城,动作像走进一家餐厅;Agent 根据估计的 Q 值决定去哪里。“利用”是选择当前 Q 值最高的动作,“探索”是尝试 Q 值不确定的动作。我们既想最大化近期收益,又想获得足够信息改进未来判断。

评估这种平衡的常用指标是累积遗憾(regret)。把每一步“最优动作本应得到的回报”与“实际动作得到的回报”之差累加起来,遗憾越小说明策略越好。

阿尝把「遗憾」记成小账本:每次没选到最好吃的店,就记一笔。有了账本,他就能判断哪套探店策略更划算。接下来四种策略,本质上都是不同风格的「点菜方法」。

RT=∑t=1T(r⋆−rt)=T r⋆−∑t=1TrtR_T=\sum_{t=1}^{T}\left(r^{\star}-r_t\right)=T\,r^{\star}-\sum_{t=1}^{T}r_t
这个公式把“没选到最优动作造成的损失”一笔一笔记下来,是衡量探索策略好坏的核心标尺。
  1. 最优回报$r^{\star}$ 表示每个时刻最优动作对应的期望奖励,是理论上的“满分答案”。
    r⋆=max⁡aQ(a)r^{\star}=\max_{a}Q(a)
  2. 实际回报$r_t$ 是第 $t$ 步 Agent 实际选择动作后获得的奖励,可能低于满分。
    rt=实际动作获得的奖励r_t=\text{实际动作获得的奖励}
  3. 累加差距$\sum_{t=1}^{T}\left(r^{\star}-r_t\right)$ 把每一步的遗憾值相加,得到整个过程的累积遗憾。
    RT=∑t=1T(r⋆−rt)R_T=\sum_{t=1}^{T}\left(r^{\star}-r_t\right)

ε-greedy 策略

为了让阿尝不落下宝藏小店,最简单粗暴的办法是:大部分时间凭经验去老店,但留出一小部分餐券,闭着眼睛随机推开一家店的门。这就是 ε-greedy 的直觉。

ε 是一个介于 0 和 1 之间的小概率,比如 0.1。Agent 每一步有 ε 概率随机选动作,有 1-ε 概率选当前 Q 值最大的动作。随机性保证每个动作都有机会被尝试,避免了“永远吃同一家”的路径依赖。

ε 的选择很有讲究。ε 太大,Agent 像一个永远不听劝的游客,浪费经验;ε 太小,探索不足,容易陷在局部最优。实践中常用衰减 ε:训练初期多探索,后期多利用。

阿尝称这套方法为「九分经验一分天意」:既不会错过整座美食城,也不至于每顿都冒险。它简单可靠,但随机乱走没有方向,样本效率不算高。接下来 UCB 会给他一本更聪明的小本本。

at={arg⁡max⁡aQ(a),概率 1−ε均匀随机选动作,概率 εa_t=\begin{cases}\arg\max_a Q(a), & \text{概率 } 1-\varepsilon\\[4pt]\text{均匀随机选动作}, & \text{概率 } \varepsilon\end{cases}
一句话理解:用一个小概率“抽风”,其余时间保持理性,是最容易实现的探索策略。
  1. 贪婪动作当随机数落在 $1-\varepsilon$ 区间时,选择当前估计价值最高的动作 $\arg\max_a Q(a)$。
    arg⁡max⁡aQ(a)=当前 Q 值最大的动作\arg\max_a Q(a)=\text{当前 Q 值最大的动作}
  2. 随机动作当随机数落在 $\varepsilon$ 区间时,在动作空间 $\mathcal{A}$ 中做均匀随机选择。
    随机动作∼Uniform(A)\text{随机动作}\sim\text{Uniform}(\mathcal{A})
  3. 概率控制$\varepsilon$ 是随机探索的比例开关,$\varepsilon=0$ 时退化为纯利用。
    ε∈[0,1]\varepsilon\in[0,1]

UCB 置信上界

阿尝发现,纯随机探店缺乏针对性——那些已确认很难吃的店也会被反复抽到。他开始拿小本本记录每家店的平均美味分和「还没吃透」的程度。与其盲目乱走,不如优先去那些「可能被严重低估」的店。这就是 UCB 的乐观主义。

UCB(Upper Confidence Bound,置信上界)给每个动作的价值估计加一个不确定性奖励项。访问次数很少的动作,不确定性大,bonus 就高;被验证过的动作,bonus 慢慢变小。Agent 每一步选择「平均分 + bonus」最大的动作。

这让探索不再是随机撒网,而是集中火力进攻最有潜力的未探店。经典 UCB1 公式如下。

阿尝把 UCB 叫「小本本乐观法」:它记得住每家店被冷落了多久,并主动补偿它们。不过它需要维护计数和均值,适合动作数有限的情况。要面对不确定的「口味变化」,还有更贝叶斯的玩法。

at=arg⁡max⁡a[Qt(a)+cln⁡tNt(a)]a_t=\arg\max_{a}\left[Q_t(a)+c\sqrt{\frac{\ln t}{N_t(a)}}\right]
它像是在说:如果你还没试过某家店,就先假设它可能很好吃,并优先去验证这个假设。
  1. 经验平均分$Q_t(a)$ 是到第 $t$ 步为止动作 $a$ 获得的平均奖励,代表“已知美味程度”。
    Qt(a)=1Nt(a)∑i=1Nt(a)riQ_t(a)=\frac{1}{N_t(a)}\sum_{i=1}^{N_t(a)}r_i
  2. 不确定性上界$c\sqrt{\frac{\ln t}{N_t(a)}}$ 中,$N_t(a)$ 是动作 $a$ 被选中的次数;访问越少,这个数越大,相当于给“可疑的好店”加分。
    bonus=cln⁡tNt(a)\text{bonus}=c\sqrt{\frac{\ln t}{N_t(a)}}
  3. 乐观选择$\arg\max_a$ 同时考虑平均值和 bonus,选出当前最值得试的动作。
    at=arg⁡max⁡a[Qt(a)+bonus(a)]a_t=\arg\max_{a}\left[Q_t(a)+\text{bonus}(a)\right]

Thompson Sampling 贝叶斯抽样

阿尝后来换了一种思路:不再算「上界」,而是对每家店建立一个「口味信念」的分布,然后掷骰子决定去哪家。如果一家店被多次验证好吃,它的分布会集中在一个高分区域;如果一家店数据少,分布又宽又低。这种「按信念概率随机选」的方法就是 Thompson Sampling。

形式上,TS 为每个动作维护一个后验分布(常用 Beta 分布),每次决策时先从每个分布中采样一个 θ,然后选择 θ 最大的动作。它天然地融入了不确定性:不确定的动作经常因为抽到高 θ 而被选中,确定差的动作很少被选中。

相比 UCB 的确定性规则,TS 的随机采样让它在并行化和处理噪声环境时更有韧性。

阿尝把这比作「摇骰子探店」:信念越强,骰子越稳;信息越少,骰子越飘。多试几次,那些真正好吃的店自然会因为高采样值被频繁选中。接下来,当美食城的店铺多到地图都画不下时,计数法也要升级了。

θa∼Beta(Sa+1,  Fa+1),at=arg⁡max⁡aθa\theta_a\sim\mathrm{Beta}(S_a+1,\;F_a+1),\qquad a_t=\arg\max_a \theta_a
简单说:信息越少,它的“骰子”越飘;信息越多,它的“骰子”越稳,但始终保留被选中的可能。
  1. 后验采样对每个动作 $a$,从 Beta 分布抽样,$S_a$ 是历史成功次数,$F_a$ 是失败次数。
    θa∼Beta(Sa+1,  Fa+1)\theta_a\sim\mathrm{Beta}(S_a+1,\;F_a+1)
  2. 样本即一次“掷骰结果”$\theta_a$ 代表这次采样中该动作的“中奖率”猜想。
    θa∈[0,1]\theta_a\in[0,1]
  3. 选最大样本$a_t=\arg\max_a\theta_a$ 选的是本次骰子掷出的最高分,而不是长期均值。
    at=arg⁡max⁡aθaa_t=\arg\max_a\theta_a

计数与伪计数

阿尝在小本本上给每家店盖「去过的章」,章越少代表越陌生,下次去的新鲜感就越大。这种「访问次数越少,越应该鼓励探索」的直觉,是计数探索的起点。

但真正的强化学习环境里,状态空间大到不可能为每个状态单独记一个数字。比如 Atari 游戏的画面有无数种组合,同一个「画面」稍有变化就变成新状态。于是研究者提出伪计数:用一个概率模型估计「这个状态出现一次的概率」,再反推它大约相当于被访问了多少次。

伪计数可以被转成内在奖励(intrinsic reward),鼓励 Agent 去访问估计访问次数少的状态。一个常见形式是给奖励加上与伪计数平方根成反比的 bonus。

阿尝的「章」升级成了「新鲜度传感器」:不用逐家计数,靠概率模型就能估计哪里还没吃透。PSE 和 NGU 就是在这一思想上的深度强化学习工程化。

N^(x)=1ρ(x),rti=βN^(st)\hat{N}(x)=\frac{1}{\rho(x)},\qquad r^{i}_t=\frac{\beta}{\sqrt{\hat{N}(s_t)}}
它把“这个状态有多新鲜”转化成一个奖励加分,让 Agent 对陌生状态产生天然好奇心。
  1. 访问概率估计$\rho(x)$ 是密度模型对状态 $x$ 出现概率的预测,出现概率越低说明越陌生。
    ρ(x)=P(状态 x 再次出现)\rho(x)=P(\text{状态 }x\text{ 再次出现})
  2. 伪计数反推$\hat{N}(x)=1/\rho(x)$ 把概率转成“等效访问次数”,概率越低,等效次数越少。
    N^(x)=1ρ(x)\hat{N}(x)=\frac{1}{\rho(x)}
  3. 内在奖励加成$r^{i}_t=\beta/\sqrt{\hat{N}(s_t)}$ 让未知状态获得额外的奖励引导,鼓励 Agent 前往新鲜区域。
    rti=βN^(st)r^{i}_t=\frac{\beta}{\sqrt{\hat{N}(s_t)}}

PSE 与 NGU 扩展

阿尝的新鲜度传感器不仅能感知「这个店去没去过」,还能感知「和上一周比,它是不是依旧新鲜」。这就是 PSE/NGU 带给我们的新维度:既要模型估计伪计数,也要让探索奖励随生命周期动态变化。

PSE 一类方法用密度模型直接为状态估计伪计数,把「陌生度」压缩成一个标量;NGU(Never Give Up)则在深度强化学习中进一步结合两种模块:一个模块计算「与新近记忆的相似度」,另一个模块计算「与长期经验的差异」,两者共同决定内在奖励。这样可以避免 Agent 反复刷同一个房间刷出虚假的新鲜感。

在实际集成时,总奖励通常由环境给的外在奖励和探索用的内在奖励加权相加。

阿尝总结:PSE 像一本「全局探店热度榜」,NGU 像「短期新鲜感闹钟」,两者叠加,让 Agent 在稀疏奖励的迷宫中也愿意不断走向新房间。

rt=rte+β rtir_t = r^{e}_t + \beta\,r^{i}_t
外在奖励负责任务目标,内在奖励负责好奇心,两者相加让 Agent 既会完成任务,也愿意探索未知。
  1. 外在奖励$r^{e}_t$ 是环境本身给出的任务奖励,例如通关得分。
    rte=环境回报r^{e}_t=\text{环境回报}
  2. 内在探索奖励$r^{i}_t$ 由新奇度模型产生,指导 Agent 去未探索区域。
    rti=新奇度分数r^{i}_t=\text{新奇度分数}
  3. 权重系数$\beta$ 控制探索奖励的强度,太大 Agent 只顾探险,太小则退回纯利用。
    β>0\beta>0

对比与调参

四种策略各有性格。ε-greedy 简单直接,像阿尝的「九分经验一分天意」,适合快速基线;UCB 像个精算师,小本本上算置信上界,适合动作数量有限的多臂老虎机;TS 像个贝叶斯赌徒,靠后验采样平衡探索,对嘈杂反馈更稳;PSE/NGU 则像自带好奇心引擎的探险家,专治稀疏奖励和超大状态空间。

选型时要看三个维度。样本效率:TS 和 UCB 通常高于 ε-greedy;计算开销:ε-greedy 几乎为零,UCB 和 TS 需要维护统计量或分布,PSE/NGU 需要额外模型;稳定性:UCB 决定论强,TS 带随机采样,在并行训练中反而更平滑。

调参时最常用的是衰减系数。以 ε-greedy 为例,指数衰减公式如下。UCB 的常数 c、TS 的先验参数、内在奖励的权重 β,都要结合具体任务反复扫描。

阿尝的小结:没有「最好的策略」,只有「最适合当下场景的策略」。先用 ε-greedy 跑通流程,再按问题换上 UCB/TS,最后用内在奖励处理稀疏反馈,这就是他从美食城悟出的工程路线。

εt=ε0×αt\varepsilon_t = \varepsilon_0 \times \alpha^{t}
衰减不是越慢越好,也不是越快越好,而是要让 Agent 在“年轻时多认识世界,成熟后多利用经验”。
  1. 初始探索率$\varepsilon_0$ 是训练开始时的探索概率,通常设为 0.1~1.0。
    ε0∈[0.1,1.0]\varepsilon_0\in[0.1,1.0]
  2. 衰减底数$\alpha$(如 0.995)是接近 1 的常数,每步让 ε 缩小一点。
    α≈0.995\alpha\approx 0.995
  3. 逐步降温$\alpha^{t}$ 随步数 $t$ 指数衰减,让 Agent 从爱探险慢慢变成老食客。
    εt=ε0αt\varepsilon_t=\varepsilon_0\alpha^{t}

AI 应用场景

推荐系统冷启动

阶段:在线学习与决策

解决的问题:传统推荐系统只推头部热门商品,新品和新用户几乎没有曝光机会,陷入“越热越推、越冷越不推”的马太效应。用 Thompson Sampling 对每个候选商品的点击率后验分布采样,既保留最优商品的曝光,又让不确定商品持续获得试吃机会。

具体案例:某新闻 App 冷启动新栏目时,算法把每篇文章看成一个「餐厅」,用 Beta 分布记录点击/不点击,每次请求先采样再展示。实验表明新品曝光量提升 37%,同时整体点击率不降。

广告竞价出价优化

阶段:在线竞价

解决的问题:广告出价需要在转化最优和尝试新素材之间找平衡,固定出价会错失低价高质流量。ε-greedy 可作为简单可靠的探索开关。

具体案例:广告平台用 ε-greedy 以 5% 流量随机尝试新的出价档位,95% 流量沿用当日最优档位,训练中 ε 随预算消耗衰减,既控制成本又积累了新素材数据。

稀疏奖励游戏 AI 训练

阶段:训练环境奖励设计

解决的问题:游戏迷宫奖励稀疏,Agent 常困在出生点附近,只靠外在奖励无法有效学习。PSE/NGU 的内在奖励可以引导 Agent 探索新房间。

具体案例:在 3D 寻物游戏中,给 Agent 叠加 PSE/NGU 内在奖励,探索覆盖率从 12% 提升至 61%,最终通关速度提升 3 倍。

Python 演示

python92 行
import mathimport random  class Bandit:    def __init__(self, k=10):        self.k = k        self.means = [random.random() for _ in range(k)]        self.opt = max(self.means)     def pull(self, a):        return 1.0 if random.random() < self.means[a] else 0.0  def run_eps(bandit, steps, eps=0.1):    q = [0.0] * bandit.k    n = [0] * bandit.k    regret = []    total = 0.0    for t in range(1, steps + 1):        if random.random() < eps:            a = random.randrange(bandit.k)        else:            a = max(range(bandit.k), key=lambda i: q[i])        r = bandit.pull(a)        n[a] += 1        q[a] += (r - q[a]) / n[a]        total += bandit.opt - bandit.means[a]        regret.append(total)    return regret  def run_ucb(bandit, steps, c=1.0):    q = [0.0] * bandit.k    n = [0] * bandit.k    regret = []    total = 0.0    for t in range(1, steps + 1):        a = max(range(bandit.k), key=lambda i: q[i] + c * math.sqrt(math.log(t) / (n[i] + 1e-6)))        r = bandit.pull(a)        n[a] += 1        q[a] += (r - q[a]) / n[a]        total += bandit.opt - bandit.means[a]        regret.append(total)    return regret  def run_ts(bandit, steps):    alpha = [1] * bandit.k    beta = [1] * bandit.k    regret = []    total = 0.0    for t in range(1, steps + 1):        samples = [random.betavariate(alpha[a], beta[a]) for a in range(bandit.k)]        a = max(range(bandit.k), key=lambda i: samples[i])        r = bandit.pull(a)        alpha[a] += r        beta[a] += 1 - r        total += bandit.opt - bandit.means[a]        regret.append(total)    return regret  def run_count(bandit, steps, bonus=0.5):    q = [0.0] * bandit.k    n = [0] * bandit.k    regret = []    total = 0.0    for t in range(1, steps + 1):        a = max(range(bandit.k), key=lambda i: q[i] + bonus / math.sqrt(n[i] + 1e-6))        r = bandit.pull(a)        n[a] += 1        q[a] += (r - q[a]) / n[a]        total += bandit.opt - bandit.means[a]        regret.append(total)    return regret  def main():    bandit = Bandit(10)    steps = 2000    eps_regret = run_eps(bandit, steps)    ucb_regret = run_ucb(bandit, steps)    ts_regret = run_ts(bandit, steps)    cnt_regret = run_count(bandit, steps)    for name, reg in [("eps", eps_regret), ("ucb", ucb_regret),                      ("ts", ts_regret), ("count", cnt_regret)]:        print(name, "final regret:", round(reg[-1], 2))  if __name__ == "__main__":    main()
目的:用一个多臂老虎机模拟器对比 ε-greedy、UCB、Thompson Sampling 和计数 bonus 四种探索策略的累积遗憾,直观看出哪些策略样本效率更高。
  1. q[a] += (r - q[a]) / n[a]增量式更新平均奖励,不需要保存全部历史奖励。
  2. q[i] + c * math.sqrt(math.log(t) / (n[i] + 1e-6))UCB 在平均奖励上叠加不确定性上界,让冷门动作有机会被选中。
  3. samples = [random.betavariate(alpha[a], beta[a]) for a in range(bandit.k)]从每个动作的 Beta 后验中采样,体现 Thompson Sampling 的“掷骰子”思想。
  4. q[i] + bonus / math.sqrt(n[i] + 1e-6)模拟基于计数的内在奖励 bonus,访问次数越少,越容易被选到。
  5. total += bandit.opt - bandit.means[a]每步用最优均值减去当前动作均值,累加得到累积遗憾。

常见误区

误区把 ε 调大就能探索更多,学习效果一定更好。于是给 Agent 设置 ε=0.5,希望它“多看看世界”。

正解ε 太大意味着 Agent 有一半时间在随机乱走,已经学到的经验被大量浪费,累积回报反而下降。更好的做法是初期用中等 ε,随训练衰减到很小值,让 Agent 先广撒网,再精耕细作。

为何常见:“探索”这个词听起来越多越好,忽略了探索与利用必须动态平衡的本质。

误区UCB 的每一步都是确定计算,没有随机动作,所以很多人认为它只是一种“改进的贪心”。

正解UCB 的不确定性 bonus 在随着访问次数动态变化,它会主动转向那些还没被充分验证的动作,这种“差异化的选择顺序”本身就是探索。随机不是探索的唯一形式,信息增益才是核心。

为何常见:把探索狭隘地理解为“随机”,忽略了不确定性建模带来的定向探索。

误区看到某些实验里 TS 表现好,就认为它可以无脑替换 UCB。

正解两者在渐近遗憾上有相同的理论阶数,实际胜负取决于奖励分布、并行程度和实现细节。UCB 决策确定且计算简单,适合对可解释性要求高的场景;TS 的随机采样在分布式训练中更平滑。

为何常见:用少数实验结论做全场景外推,忽略了方法背后的假设条件。

误区认为伪计数只是把“状态访问次数”放进字典里,和普通计数没有本质区别。

正解高维连续状态无法直接查表,伪计数会用密度模型估计“这个状态出现过一次的概率”,再把概率转换成等效次数。它能泛化到相似状态,给出平滑的新奇度估计。

为何常见:表格型强化学习里的直观计数经验,让人误以为深度 RL 中也能简单照搬。

误区看到 DeepMind 的演示多是 Atari 游戏,就认为内在奖励探索是游戏 AI 的专利。

正解稀疏奖励场景在机器人控制、自动驾驶、推荐系统中同样常见。只要设计好状态编码和密度模型,PSE/NGU 的新奇度奖励就能迁移到这些任务上。

为何常见:被演示案例的“游戏画面”带偏,忽略了其底层是通用的伪计数与新奇度算法。

面试题

Q1. 探索与利用的核心矛盾是什么?

单选题 · easy

  • A.模型参数过多导致训练慢
  • B.坚持已知最优与尝试未知的冲突← 正确答案
  • C.环境奖励稀疏导致无法收敛
  • D.动作空间过大导致超时

答案:B。探索与利用的矛盾是“已知的好”和“未知的可能”之间的权衡。A、C、D 都是训练中的问题,但不是探索与利用这对矛盾本身。

Q2. ε-greedy 中 ε 的含义是什么?

单选题 · easy

  • A.选择随机动作的概率← 正确答案
  • B.学习率的大小
  • C.折扣因子的大小
  • D.奖励值的上限

答案:A。ε 是随机探索概率,Agent 以 ε 概率随机选动作,以 1-ε 概率贪婪选择。学习率、折扣因子和奖励上限都与 ε 无关。

Q3. UCB 中“置信上界”指的是什么?

单选题 · easy

  • A.对奖励上限的先验假设
  • B.平均值加上不确定度估计← 正确答案
  • C.所有动作的最大奖励值
  • D.神经网络层数的上限值

答案:B。UCB 把平均奖励和不确定性 bonus 相加,得到一个乐观估计。它不是一个固定的奖励上限,而是随数据变化的置信区间上界。

Q4. Thompson Sampling 的核心思想是什么?

单选题 · mid

  • A.对后验分布采样并取最大← 正确答案
  • B.直接选平均奖励最高的动作
  • C.用小概率随机动作强制探索
  • D.每步选择访问次数最多的动作

答案:A。TS 维护每个动作的后验分布,每次先采样再选最大样本。B 是纯利用,C 是 ε-greedy,D 是另一种计数启发式。

Q5. 以下哪些是 ε-greedy 的改进思路?

多选题 · mid

  • A.将 ε 随训练逐步衰减← 正确答案
  • B.初期多探索后期多利用← 正确答案
  • C.用神经网络替代 Q 表
  • D.完全去掉随机性策略

答案:AB。衰减 ε 和“先探索后利用”是 ε-greedy 的经典改进。用神经网络替代 Q 表是函数逼近方向,不是针对探索策略的改进;完全去掉随机性会退化为纯利用。

Q6. PSE/NGU 中的内在奖励主要目的是什么?

单选题 · mid

  • A.缓解稀疏奖励问题← 正确答案
  • B.替代所有外在奖励
  • C.增加动作空间大小
  • D.消除环境随机干扰

答案:A。内在奖励给陌生状态加分,引导 Agent 探索,进而缓解稀疏奖励下难以学习的问题。它不会替代外在奖励,也不改变动作空间。

Q7. 关于伪计数估计,下列说法正确的有?

多选题 · hard

  • A.用密度模型估计访问概率← 正确答案
  • B.高维状态也能平滑估计新奇度← 正确答案
  • C.直接维护一张访问次数表
  • D.伪计数一定等于真实计数

答案:AB。伪计数的核心是用概率模型把访问概率转换为等效次数,适用于高维状态。直接维护次数表是表格型计数,不等于伪计数;伪计数是估计值,不一定等于真实计数。

Q8. 在美食寻宝员的比喻中,以下对应关系正确的有?

多选题 · hard

  • A.经常帮衬老店对应利用← 正确答案
  • B.随机进新店对应探索← 正确答案
  • C.记录等位时间对应价值估计← 正确答案
  • D.评价星级对应折扣因子

答案:ABC。老店高收益对应利用,新店尝试对应探索,记录等位时间是在学习动作价值。折扣因子是未来回报的折算系数,与星级评价没有直接对应。

Q9. UCB 与 Thompson Sampling 的主要区别是什么?

单选题 · hard

  • A.UCB 基于置信区间而 TS 基于采样← 正确答案
  • B.UCB 一定比 TS 方法效果更好
  • C.TS 只能处理二值奖励信号
  • D.UCB 无法处理多臂老虎机

答案:A。UCB 通过置信上界做确定性选择,TS 通过后验采样做随机选择。效果优劣由任务决定,TS 也不限于二值奖励,UCB 最早就是为多臂老虎机设计的。

Q10. 在稀疏奖励环境中想鼓励 Agent 探索新状态,最适合的做法是?

单选题 · extreme

  • A.PSE/NGU 内在奖励配合基线算法← 正确答案
  • B.固定 ε=0.5 的 ε-greedy
  • C.只靠规划模块搜索全局路径
  • D.完全关闭探索只做利用

答案:A。稀疏奖励下需要额外的新奇度激励,PSE/NGU 的内在奖励正好为此设计。固定大 ε 随机乱走效率低,只靠规划缺少学习闭环,完全不探索则会卡在局部最优。