想象你搬到一座陌生的城市,楼下的美食街有十几家店。第一天你随机走进一家牛肉面馆,味道意外地不错,你悄悄给它打了 8 分。第二天傍晚,你站在路口犯了难:是掉头去那家熟悉的牛肉面馆,稳稳地吃一顿好饭?还是鼓起勇气闯进从没去过的新店——既可能挖到 10 分的神仙馆子,也可能踩进 3 分的雷?这个问题看似是吃饭小事,背后却是人类和 AI 都要面对的核心矛盾:该坚守已知的稳妥,还是冒险探索未知的可能? 强化学习把这个问题叫做“探索-利用权衡”(Exploration-Exploitation Tradeoff)。今天的主角 epsilon-贪婪(ε-greedy)策略,就是解决这个矛盾最朴素也最常用的一招。它就像你口袋里的一枚骰子:每天出门前掷一次,90% 的时候直奔已知最好的店,10% 的时候随机挑一家没吃过的店闯一闯。这个骰子该怎么掷、掷多久、掷的概率要不要变,正是本文要讲透的全部内容。
一句话职业价值:epsilon-贪婪是强化学习入门必须吃透的三大经典策略之一,理解它才能看懂 Q-Learning、DQN 等进阶算法,面试手撕代码和工程调参都绕不开这个骰子。
可视化演示
本节配有交互动效(进入视口后自动加载,约 3KB)。
探索vs利用——ε混合 ε概率随机探索 1-ε概率选最优 a=ε→random, 1-ε→argmax Q
探索-利用权衡
新来的第一周,你走了运——随机走进的第三家店就很好吃。于是你开始每天光顾它,一个月下来,这条美食街的其他店铺你一家也没试过。直到某天朋友告诉你,街尾巷子里有一家评分 4.9 的粤菜馆,你才猛然意识到:自己是不是错过了什么?这就是“利用”的代价:你守住了 8 分的确定,却永远与可能存在的 10 分擦肩而过。反过来,如果每天完全随机换店,你又要不断忍受难吃的饭。
强化学习中的智能体(agent)面对的正是这个两难。它每走一步都在做选择,每个选择的收益都是未知的分布。探索(Exploration) 意味着尝试那些没把握的动作,收集新信息;利用(Exploitation) 意味着依据当前信息选择收益期望最高的动作。两者的矛盾在于:探索暂时牺牲收益,利用却可能错过更好。如果智能体只在已知区域打转,就会陷入局部最优——就像你永远只吃那家 8 分面馆,而不知道整条街真正的天花板在哪里。
“利用”的数学表达非常直接:每次选择 Q 值最大的那个动作。
所以,“平衡的艺术”就这么诞生了:既要靠利用保住基本盘,又要靠探索寻找更高的天花板。而 epsilon-贪婪,正是用一枚概率骰子把这两者缝合在一起的方案。
- 状态-动作值 Q(s,a)Q(s,a) 表示在状态 s 下执行动作 a 后,未来能获得的期望回报。放到美食街,就是“此刻站在这个路口、走进这家店,预期能得到的满意分数”。
- argmax 运算argmax 的意思是“让括号里的式子取得最大值的那一项”。argmax_a 即从所有可选动作中,找出 Q 值最大的那个。
- 最优动作 a\a 是当前认知下的最优选择——账本上分数最高的那家店。只选 a* 而不尝试其他,就是“纯贪心”。纯贪心的缺点也很明显:如果账本本身是错的,你会在错误的店里吃到地老天荒。
Q值与贪心基础
你身上一直带着一本“美味账本”。每吃一家店,就记一笔:这家店平均分多少、吃过几次。账本记得越细,你出门做决定就越有底气。但账本有个致命弱点——它只反映你“吃过的东西”。如果一家店你只去过一次,恰好那天厨师超常发挥,你给了 9 分,可它真实水平其实只有 6 分,这本账就会骗你很久。
在强化学习中,这本账就是 Q 值表。Q(s,a) 量化了“在状态 s 下执行动作 a 的长期期望收益”。Q-Learning 等算法用一张表或一个神经网络来维护所有状态-动作对的 Q 值,而贪心策略(greedy policy)就是每次查表选择当前最大 Q 值的动作。贪心本身没有错,错的是把“未充分验证的估计值”当成了“真实值”。
Q 值如何从一次次的体验中更新?最基础的方法是样本均值更新:每获得一个新奖赏 r,就把平均值往新样本的方向挪一点。
账本会随着经验慢慢逼近真实,但前提是——你得真的去吃过。如果只靠贪心,你永远在吃同一家店,账本上其余店铺永远是一片空白。这些空白之处,正是探索要填补的地图。
- 历史均值 Q\_{n-1}第 n 次光顾之前,账本上这家店的平均分,代表你过去的全部经验。
- 本次奖赏 r这次实际吃到的满意度(可能高于或低于历史均值)。
- 残差修正 (r - Q\_{n-1})新体验与旧印象的差距。r 更高则上调账本,r 更低则下调——这是学习的核心推动力。
- 权重 1/n访问次数 n 越大,单次体验能撼动旧印象的权重越小。第一次吃可能大改账本,吃过一百次后,一次偶然的好或坏就掀不起大浪了。
epsilon-贪婪原理
现在,是时候把那枚骰子拿出来了。假设你决定:每天出门前掷一次骰子,掷出的概率以 10% 触发“随便挑一家新店”模式,剩下 90% 直接去账本最高分那家。这个规则简单到可以写进一句话,但它同时解决了两个问题:基本收益有保障(大多数时候在吃好店),新店又有机会被发现(每十次就有一回冒险)。
这个规则就是 epsilon-贪婪策略。参数 ε(epsilon)就是那枚骰子的概率:以 ε 的概率完全随机地选一个动作(探索),以 1-ε 的概率选择当前 Q 值最高的动作(利用)。注意,探索是“完全均匀随机”——所有动作一视同仁,不看账本。这正是它被称为“贪婪”的原因:主体思想仍是贪心,只是偶尔被随机性打断。
用数学语言,给定状态 s 下的动作选择概率 π(a|s) 可以写成分段函数:
ε-贪婪还有个漂亮的理论性质:只要 ε > 0,每个动作被选中的概率都大于 0,理论上所有动作都会被无限次尝试,Q 值估计最终会收敛到真实值。这就是“无限探索保证”——哪怕 ε 小如 0.01,从概率上讲也没有哪家店会被永远遗忘。
- 动作空间大小 |A|总共可执行的动作数量。美食街里有 10 家店,|A| = 10。动作越少,每次探索摸到目标店的概率越高。
- 探索概率 ε/|A|一旦进入探索模式,随机均匀挑中某一家具体店铺的概率是 ε 除以店铺数。店越多,单家店被探索到的概率越低。
- 最优动作概率 1-ε+ε/|A|大部分概率 (1-ε) 直接奖励给当前最优动作;若探索时恰好又随机抽中它,还要再加 ε/|A|——这就是“贪心优先 + 随机兜底”的完整表达。
固定epsilon分析
假设你决定采用最简单的方案:把 ε 固定为 0.1,一辈子不变。这像极了一个性格保守的老食客:每周固定有一天去试新店,其余六天雷打不动吃老三家。这个方案好不好?结论是“不差,但也不聪明”。
ε = 0.1(或 0.05~0.2 区间)是论文和工程中最常见的经验值,原因很朴素:它既能保证大部分时间在利用,又保留了持续探索的通道。但“固定”二字带来了两个方向的麻烦。ε 偏大时,比如 0.9,意味着 90% 的动作在随机乱走,平均收益被严重拖累;ε 偏小时,比如 0.01,探索频率太低,若初期某家店因运气虚高,你可能几百步都发现不了真正的最优店。
为什么大 ε 会拖累收益?可以用期望收益公式直观说明。长期平均奖赏大约是两个部分的加权混合:
固定 ε 的最大问题叫作“死板”。美食街的口味会变、新店会开、老店会退步,一个永不调整的探索率既不能在高不确定性时期加速探索,也不懂得在成熟阶段收敛利用。这正是引入 ε 衰减调度的动机。
- 最优收益 Q\_{\text{best}}账本上最高分店铺的真实期望分数,是你能达到的收益天花板。
- 随机平均收益 Q̄\_{\text{rand}}整条街所有店铺的平均分数。随机探索时,你的期望收益约等于全街平均水平,通常远低于最优店。
- 加权混合 (1-ε) 与 ε长期平均收益 = 按概率加权的两个部分之和。ε = 0.9 时,九成的权重压在平庸的随机平均水平上,整体收益自然上不去。
线性衰减调度
你终于意识到:探索的欲望应该随着熟悉程度自然消退。第一周人生地不熟,你愿意每天尝试新店;三个月后你摸清了全街的底细,每周试一次新店就足够了。这种“热情随经验线性冷却”的过程,就是线性衰减调度(Linear Decay Schedule)。
它的公式非常直白:让 ε 从初始值 ε₀ 出发,每经过一个时间步 t 就减去一个固定的小额度 α,直到降到设定的下限 ε_min 为止。
线性衰减的好处是直观、可控、好解释,特别适合训练轮数有明确预算的短任务——比如你只打算在美食街待 100 天,就可以把 ε 从 0.9 线性降到 0.1,每天降 0.008,大脑不用做任何复杂计算。但它也有短板:匀速下降意味着前期探索消耗不足、后期又浪费过多探索额度,在长任务中并不经济。
- 初始探索率 ε₀训练刚开始时的 ε 值,通常设 0.8~0.9,对应“新人的好奇”。
- 每步衰减量 αtt 是当前步数,α 是每步降低的固定额度。α 越大下降越快,α 可以近似取“初始值减终值后除以总步数”。
- 下限保护 max(ε_min, ·)当线性下降跌破下界时,ε 就钉在 ε_min 不再下降。这个下限为什么重要?因为真实环境可能有波动(店的口味会变),保留一点探索永远在纠偏。
指数衰减对比
老饕的探索预算其实不是匀速花掉的。刚搬来时他好奇心爆棚,第一个月几乎天天试新店;半年后热情骤减,偶尔才尝鲜一次。这种“前期猛降、后期平缓”的节奏就是指数衰减(Exponential Decay)——ε 按照指数函数的曲线滑向下限。
两相对比,线性衰减像匀速爬山的下坡,指数衰减像先陡后缓的滑梯。在长任务中,指数衰减往往更占优——因为它在前期用足探索、后期把随机浪费压到最低。理论层面还有一个漂亮的收敛条件叫 GLIE(Greedy in the Limit with Infinite Exploration):只要 ε 最终趋近 0,且所有 ε 累加之和发散到无穷,策略就既保证无限探索、又保证最终收敛到最优贪心策略。衰减调度正是通往 GLIE 的实用路径。
如何选择?三条经验法则:任务短、预算明确,用线性;任务长、环境相对静态,用指数;环境动态变化(店的口味会变),则无论如何都要保留 ε_min 作为持续探索的底牌。
- 探索区间 (ε₀ - ε_min)ε 从初值到下限之间的“可降空间”,指数衰减缩小的就是这个区间。
- 指数因子 e^{-λt}t 越大,这个因子越趋近于 0。它的衰减速度“前快后慢”:前期每个时间步掉得很多,后期每步只掉一点点。
- 加回下界 ε_min把整体曲线垫高到 ε_min 以上,保证 ε 最终停在预设下限,而不是降到 0。
工程实践应用
聊完了理论,把骰子装进代码。在很多强化学习框架里,ε-贪婪的工程实现就是一两个函数的事。最常用的离散版本是“每个训练轮(episode)更新一次 ε”,而不是每个时间步都更新——因为时间步频率太高,步级衰减会让 ε 在单局内前后不一致,干扰策略的稳定性。
工程落地时还要注意几件事:探索动作要在动作空间上均匀采样,不要与贪心逻辑共用随机源导致偏差;ε 的更新时机要与训练阶段对齐(预热期常关掉探索);在推荐系统和游戏 AI 中 deploy 时,ε 通常要设得更小,或者干脆关闭探索只做推理。回看那条美食街:一个聪明的食客不会永远随机乱吃,但也不会彻底关上新店的大门——ε-贪婪的智慧,正在这枚小小的骰子之间。
- 上轮值 ε\_{t-1}记住上一轮结束时的 ε,作为本轮的基础。它天然携带了全部历史信息。
- 乘以衰减系数 λλ ∈ (0,1),每轮乘一次,ε 按等比数列下降——这就是离散版指数衰减。λ 越接近 1,衰减越慢。
- 与 ε_min 取 max防止长期训练后 ε 趋近于 0,保留环境变化时的探测能力。这个下限在部署阶段尤其重要。
AI 应用场景
推荐系统冷启动
阶段:在线推荐 / 探索模块
解决的问题:新上架的商品没有点击数据,推荐系统只知道推老爆款(利用),新商品永远得不到曝光,成为“没人看过所以不推,不推所以更没人看”的死循环。AI 用 ε-贪婪给新商品一个“被探索的机会”:大部分流量推给已知高点击率的商品,小部分流量随机尝试新品,用探索数据快速校准新品的真实吸引力。
具体案例:短视频平台每天有海量新内容入库。推荐引擎在每 100 次请求中,约 5~10 次触发探索策略,随机插入新视频。当某个新视频在探索中表现出高完播率,它的 Q 值(预估点击率/完播率)快速上升,随后被纳入“利用”通道获得更多流量。这正是美食街上“偶尔尝新店,发现神仙馆子就转为常客”的机制。
游戏AI陪练难度调节
阶段:在线决策 / 策略控制
解决的问题:游戏 AI 如果永远选择最优打法(纯贪心),会让新手玩家被虐到弃游;如果永远随机出招,又毫无挑战性。AI 用 ε-贪婪在“打赢”和“陪练”之间找平衡:根据玩家水平动态调节 ε——对手较弱时调高 ε(多探索、放水),对手很强时调低 ε(全开利用、全力应战)。
具体案例:某格斗游戏的人机对战模块中,AI 以 ε=0.2 开局,20% 概率尝试非最优招式,增加对战的戏剧性;当检测到玩家连续输掉多局,ε 自动上调至 0.4 让 AI 多“失误”;当玩家胜率过高,ε 下调至 0.05 让 AI 火力全开。这种自适应 ε 调度就是“从新人逛吃到老饕定点”的镜像版本——对手越强,越收起随机性。
在线广告投放
阶段:A/B 测试 / 流量分配
解决的问题:广告投放中,平台要在多个候选广告策略间分配流量。纯贪心会快速收敛到当前最优策略,但广告主素材时常更新,旧策略可能随时失效。使用 ε-贪婪:大部分流量投给历史 CTR 最高的策略组合,保留 5%~10% 的流量给新策略组合做实验,既稳住大盘收益,又持续探测新素材的潜力。
具体案例:某电商广告系统每天有数百组新创意的广告素材入库。系统用 ε=0.08 的固定上限做探索,同时将 ε 按素材新鲜度衰减:新素材前 24 小时探索概率高,之后逐步归入利用通道。这套“素材版美食街账本”让平台的新素材冷启动通过率提升了约 35%。
Python 演示
import mathimport random def run_bandit(trials=1000, mode="fixed", eps=0.1, seed=42): random.seed(seed) n_arms = 10 true_rewards = [random.gauss(0, 1) for _ in range(n_arms)] q_est = [0.0] * n_arms counts = [0] * n_arms total_reward = 0.0 history = [] eps_init = 0.9 eps_min = 0.05 for t in range(trials): if mode == "fixed": eps_now = eps elif mode == "linear": eps_now = max(eps_min, eps_init - 0.001 * t) elif mode == "exp": eps_now = eps_min + (eps_init - eps_min) * math.exp(-0.005 * t) if random.random() < eps_now: arm = random.randrange(n_arms) else: arm = max(range(n_arms), key=lambda i: q_est[i]) reward = random.gauss(true_rewards[arm], 1) counts[arm] += 1 q_est[arm] += (reward - q_est[arm]) / counts[arm] total_reward += reward history.append(total_reward / (t + 1)) return history if __name__ == "__main__": import matplotlib.pyplot as plt for mode in ["fixed", "linear", "exp"]: hist = run_bandit(trials=1000, mode=mode) plt.plot(hist, label=mode) plt.legend() plt.xlabel("Steps") plt.ylabel("Average Reward") plt.title("Epsilon-Greedy Schedule Comparison") plt.savefig("bandit_compare.png") print("bandit_compare.png saved.")
true_rewards = [random.gauss(0, 1) for _ in range(n_arms)]为每家“店”生成隐藏的真实美味度,智能体看不到这些真实值,只能靠一次次的尝试去估。if random.random() < eps_now:掷骰子:随机数小于当前 ε 就进入探索模式,随机选一家店;否则走贪心分支。arm = max(range(n_arms), key=lambda i: q_est[i])贪心利用:遍历 10 家店,返回 Q 值估计最高的那个编号。q_est[arm] += (reward - q_est[arm]) / counts[arm]增量平均更新账本,等价于正文中的样本均值公式 Q = Q + (r - Q) / n。eps_now = max(eps_min, eps_init - 0.001 * t)线性衰减:每步固定减去 0.001,并用 max 保护下限 ε_min。eps_now = eps_min + (eps_init - eps_min) * math.exp(-0.005 * t)指数衰减:前期快速下降、后期平缓逼近 ε_min。history.append(total_reward / (t + 1))记录累积平均奖赏,用于绘制三条调度方案的对比曲线。
常见误区
误区我第一次跑小游戏,把 ε 设成 0.9,心想“多尝试新动作总没错,探索越多学得越快”,结果智能体分数一直上不去,我还以为是网络结构的问题。
正解探索和利用是跷跷板的两端。ε=0.9 意味着 90% 的动作都在随机乱走,几乎不利用已经学到的经验,平均奖赏自然被拖低。就像你每天 90% 的时间都在随机进新店,很少回去吃那家最满意的面馆,幸福感当然上不来。探索的价值在于为利用提供更好的信息,而不是取代利用。
为何常见:新手容易把“探索”神圣化为“有耐心”,却忽略了探索的最终目的是服务于更精准的利用。
误区既然探索会踩雷,那把 ε 设成 0,永远只选当前 Q 值最高的动作,这样模型收敛最快、结果也最稳定。
正解ε=0 等于从不尝试新店。如果初始 Q 值全部相同,贪心策略会固定选第一个动作;如果某家店早期靠运气拿了高分,你会一直守着这家“虚高”的店,真实的 10 分神店永远不会被发现。Q 值只有被多次访问才具有参考价值,完全不探索会让估值偏差永远修不回来。
为何常见:人天然讨厌不确定性,容易高估“已知最优”的可靠性,低估未知中潜藏的更好可能性。
误区训练后期模型已经很成熟了,把 ε_min 设成 0,完全停止探索,能让性能最大化。
正解真实环境几乎都是非平稳的——店的口味会变、竞争对手会换菜单、用户的喜好会漂移。如果 ε 衰减到 0 且永不回头,模型会“固守过时的最优”,无法感知环境变化。保留一个小的 ε_min(如 0.01~0.05)能持续探测环境漂移。只有在环境完全静态(比如经典多臂赌博机实验)时,ε_min=0 才是可接受的。
为何常见:把训练和部署割裂看待,忽略了训练环境与部署环境之间存在分布漂移。
误区ε 概率下的探索反正就是均匀随机,跟瞎猜没区别,所以实现得粗糙一点也无所谓,能跑就行。
正解探索的动作虽然是均匀随机,但它的时机和频率由 ε 精确控制,是一个深思熟虑的概率机制。例如探索动作必须和贪心动作在同一动作空间上采样,不能混用随机源;更强的探索方法(如 UCB、熵正则)也只是在“更聪明地选择探索对象”。随机只是探索的手段,不是随意挥霍的借口。
为何常见:混淆了“机制本身的简单性”与“实现上的随意性”。ε-greedy 简单,但它依然是概率论的严谨产物。
误区论文里总说 ε=0.1 效果好,那我所有强化学习任务都用固定 0.1,省心省事还不用调参。
正解固定 0.1 在多臂赌博机等短任务上表现尚可,但长任务下后期持续 10% 的随机浪费会累积成显著损失;动作空间极大时,固定小 ε 的探索覆盖面严重不足;非平稳环境则需要更大或带下限的探索。选择固定还是衰减、选线性还是指数,本质上取决于任务长度、动作空间规模和环境动态性。
为何常见:把论文中的经验值当成了免调参的免死金牌,忽略了不同任务之间的关键差异。
面试题
Q1. epsilon-贪婪策略中,参数 ε 表示什么?
- A.以 ε 概率执行随机探索动作← 正确答案
- B.以 ε 概率执行贪心利用动作
- C.决定 Q 值表的初始值大小
- D.决定智能体的学习速率快慢
答案:A。ε 是探索概率——每次决策时以 ε 概率完全随机地选一个动作(探索),以 1-ε 概率选择当前 Q 值最高的动作(利用)。B 把方向说反了,那是 1-ε 的职责;C 和 D 分别对应 Q 表初始化和学习率,与 ε 无关。
Q2. 若将 ε 设为 0,ε-贪婪策略会退化成什么?
- A.完全随机探索,从不利用
- B.完全利用已知最优,永不探索← 正确答案
- C.探索与利用概率各占一半
- D.策略失效,无法选择动作
答案:B。ε=0 时,随机探索分支永远不会触发,策略每一步都选择当前 Q 值最大的动作,即纯贪心策略。纯贪心的问题在于会陷入局部最优——如果 Q 值初始估计有偏差,这个偏差永远无法通过探索来修正。A 对应 ε=1,C 对应 ε=0.5。
Q3. 固定 ε=0.9 相比 ε=0.1,前者的长期平均收益通常:
- A.更高,因为探索更充分
- B.更低,因为随机浪费过多← 正确答案
- C.完全相同,ε 不影响收益
- D.无法比较,两者没有区别
答案:B。长期平均收益约等于 (1-ε)·Q_best + ε·Q̄_rand。ε=0.9 时九成概率在执行随机动作,而随机动作的期望收益接近全动作平均分,远低于最优动作,所以平均收益被严重拖累。ε=0.1 更多时间在利用已知最优,收益通常更高。
Q4. 关于线性衰减公式 ε_t = max(ε_min, ε_0 - αt),下列说法正确的是:
- A.ε 随时间线性上升至上限
- B.α 越大,ε 下降速度越快← 正确答案
- C.ε_min 是探索概率的上界
- D.该公式保证 ε 每步随机波动
答案:B。α 是每步衰减的固定额度,α 越大 ε 降得越快,B 正确。A 方向反了;ε_min 是下界而非上界,C 错误;公式是确定性递减,不含随机波动,D 错误。该公式用于让智能体从高探索逐步过渡到高利用。
Q5. 关于固定 ε 策略的缺点,以下说法正确的有:
- A.大 ε 会长期拖低平均收益← 正确答案
- B.小 ε 可能导致收敛缓慢且估值偏差难修正← 正确答案
- C.固定策略无法随训练阶段自适应调整← 正确答案
- D.固定策略一定比衰减策略收敛更快
答案:ABC。大 ε 随机动作占比高,平均收益被拖低(A 对);小 ε 探索不足,若初期 Q 值因运气虚高则难以修正(B 对);固定 ε 从始至终一个值,不能根据训练阶段调节探索强度(C 对)。D 过于绝对,衰减策略在长任务中往往收敛更快,固定策略并不保证更快。
Q6. GLIE 条件对 ε 的要求是:
- A.ε 必须始终固定且大于零
- B.ε 趋近 0 且累计和发散到无穷← 正确答案
- C.ε 趋近 1 且保持恒定
- D.ε 线性衰减到负值
答案:B。GLIE 全称“无限探索下最终贪心”,需要两个条件同时成立:ε 最终趋于 0(保证最终贪心),且所有 ε 的累计和发散(保证无限探索)。线性或指数衰减只要满足这两条都算 GLIE。A 没有趋近 0,C 方向反了,D 中 ε 不能为负。
Q7. 若 ε 设置得过小,可能出现的后果有:
- A.智能体长期困在次优的动作上← 正确答案
- B.无法发现潜在更优的动作← 正确答案
- C.Q 值估计容易受初期运气影响← 正确答案
- D.每次决策的计算开销大幅上升
答案:ABC。ε 过小意味着几乎不探索,智能体会一直选择当前 Q 值最高的动作,即使它不是全局最优(A);从未被探索的动作的 Q 值永远无法被验证,潜在更优选择被埋没(B);由于访问次数少,Q 值依赖早期的少量样本,一次偶然的高奖赏就能造成虚高估计(C)。ε 只影响动作选择概率,不涉及计算开销,D 错误。
Q8. 样本均值更新公式 Q = Q + (r - Q) / n 中,n 表示什么?
- A.环境中智能体的总数量
- B.该动作到目前为止被选择的次数← 正确答案
- C.状态空间的维度大小
- D.奖赏折扣因子的数值
答案:B。n 是该动作(这家店)被访问过的次数。访问次数越多,单次新奖赏 r 对均值 Q 的修正权重 1/n 越小,账本越来越稳定。A 和智能体数量无关,C 是状态维度,D 是 γ 折扣因子,都与 n 的含义不符。
Q9. ε 衰减调度相比固定 ε 的最核心优势是:
- A.训练前期探索充分、后期利用专注← 正确答案
- B.完全避免了所有随机性
- C.不需要设置 ε_min 下限
- D.在任何任务上都更快收敛
答案:A。衰减调度的本质是“先广泛探索、后精确利用”:前期 ε 高,快速摸清各动作的真实水平;后期 ε 低,把精力集中在已知最优上。B 错误,衰减依然保留随机探索;C 错误,衰减同样需要 ε_min 下限;D 过于绝对,短任务上固定小 ε 也可能更合适。
Q10. 在口味会缓慢变化的美食街(非平稳环境)中,最优的 ε 设置方式是:
- A.将 ε 衰减到 0 并彻底停止探索
- B.保留 ε_min 下限持续小概率探索← 正确答案
- C.只在第一轮设置高 ε 后立即归零
- D.将 ε_min 设为负值以强制收敛
答案:B。非平稳环境中各店的“真实美味度”会随时间漂移,今天的 10 分店明天可能变成 6 分店。保留一个小而稳定的 ε_min(如 0.01~0.05)能让智能体持续感知环境变化,及时把账本切换到新的最优店。A 和 C 都会让模型固守过时经验,D 中概率不能为负,设置负 ε_min 无意义。