Exploration 与 Exploitation
探索获取未知动作信息,利用选择当前估计最优动作。
学习目标
- 区分当前收益与信息价值,避免只因早期偶然好结果就停止探索。
- 独立复核“两动作 ε-greedy 的实际行动概率”的输入、计算和解释。
- 贪心动作概率不等于 1−ε。
为什么重要
区分当前收益与信息价值,避免只因早期偶然好结果就停止探索。
学习前需要掌握
背景与问题
两个广告中,一个已展示很多次,平均回报 0.5;另一个只试过一次,回报 0。立即永久放弃后者可能错失更优方案,但盲目平均探索又会浪费机会。需要根据不确定性与试验预算分配行动。
概念定义
利用选择当前估计最好的动作;探索选择可能改善知识的动作。ε-greedy 以一定概率随机选动作,UCB 利用不确定性奖励,后验采样则按对价值的不确定判断决策。它们解决的信息分配问题不同于单纯加入动作噪声。
直观理解
餐厅选择中,常去的店比较可靠,新店可能更好也可能更差。临近旅行最后一餐,探索回报的未来价值通常小于旅行刚开始时;规划期限影响合理的探索强度。
核心原理
ε-greedy 的随机分支通常从所有动作均匀采样,包含当前贪心动作。因此两动作、唯一贪心动作、ε=0.2 时,贪心动作概率是 0.9,另一动作是 0.1,不能写成 0.8 与 0.2。
多步任务中,逐步独立噪声可能很难形成通向新区域的连贯行为。稀疏奖励需要更有结构的探索或先验;同时任何探索方法都必须满足动作权限与安全边界。
训练期探索回报与评测回报应分开。关闭随机噪声后收益提高不等于学得更多;比较样本效率时要固定环境交互预算,并说明评测是否使用确定性策略。
数学表达
ε-greedy 的动作概率
假设只有一个贪心动作;多个并列最优动作需要说明分配方式。
变量含义
ε随机探索概率m合法动作数量a*唯一贪心动作
计算步骤
- 1贪心分支以 0.8 选择动作 0。
- 2随机分支各贡献 0.1,得到概率 0.9 与 0.1。
- 3按当前估计计算的期望单步价值是 0.9×3+0.1×1=2.8。
代码对应位置
示例 1两动作 ε-greedy 的实际行动概率:动作概率为 0.90 和 0.10;估计下的期望价值为 2.80。
变量解释
| 变量 | 含义 |
|---|---|
ε | 随机探索概率 |
m | 合法动作数量 |
a* | 唯一贪心动作 |
完整数值示例
两动作 ε-greedy 的实际行动概率
已知条件
- 动作价值估计为 3 与 1,ε=0.2。
- 随机分支均匀抽取两个动作,包括最优动作。
计算步骤
- 贪心分支以 0.8 选择动作 0。
- 随机分支各贡献 0.1,得到概率 0.9 与 0.1。
- 按当前估计计算的期望单步价值是 0.9×3+0.1×1=2.8。
计算结果
动作概率为 0.90 和 0.10;估计下的期望价值为 2.80。
处理前后对比
- 贪心动作概率不等于 1−ε。
- 这里是按现有 Q 估计求期望,未计未来信息价值。
计算与实现步骤
- 定义行为策略
- 设置 epsilon 或 entropy
- 衰减探索
- 单独评测
代码实现
示例 1
两动作 ε-greedy 的实际行动概率
example_01.py用途:动作概率为 0.90 和 0.10;估计下的期望价值为 2.80。
q = [3.0, 1.0]
epsilon = 0.2
probabilities = [1 - epsilon + epsilon / 2, epsilon / 2]
expected = sum(p * value for p, value in zip(probabilities, q))
print("probabilities=" + ",".join(f"{p:.2f}" for p in probabilities))
print(f"estimated_value={expected:.2f}")代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
动作概率为 0.90 和 0.10;估计下的期望价值为 2.80。
Step 1 · 1–6 行
输出中间参数、形状或最终指标,用于核对代码是否符合预期。
q = [3.0, 1.0]
epsilon = 0.2
probabilities = [1 - epsilon + epsilon / 2, epsilon / 2]
expected = sum(p * value for p, value in zip(probabilities, q))
print("probabilities=" + ",".join(f"{p:.2f}" for p in probabilities))
print(f"estimated_value={expected:.2f}")预期输出或运行结果
probabilities=0.90,0.10 estimated_value=2.80
常见错误 · 3 条
- 漏算随机分支再次抽到贪心动作的概率。
- 测试时仍混入训练探索却与确定性策略直接比较。
- 把随机探索当作能可靠发现任意稀疏奖励路径的保证。
实际应用
- 序贯决策
- 控制与资源分配
常见错误
- 漏算随机分支再次抽到贪心动作的概率。
- 测试时仍混入训练探索却与确定性策略直接比较。
- 把随机探索当作能可靠发现任意稀疏奖励路径的保证。
扩展内容说明
本页数值均为解释机制的构造案例,不能解读为真实训练或基准性能。定义和适用条件参见 Sutton 与 Barto《Reinforcement Learning: An Introduction》(第 2 章)。
算法属性与数据边界
失败模式、风险与性能
失败模式
- 漏算随机分支再次抽到贪心动作的概率。
- 测试时仍混入训练探索却与确定性策略直接比较。
- 把随机探索当作能可靠发现任意稀疏奖励路径的保证。
风险
- 奖励函数与真实目标不一致会诱发奖励黑客。
- 部署策略的行动权限必须由环境和应用层约束。
性能考虑
- 样本效率、墙钟时间和显存占用需要分别报告。
- 应使用多个随机种子、置信区间和固定评测策略。
常见问题
探索率越高越好吗?
更高探索带来更多信息,也牺牲当前收益;合理水平依赖不确定性、时间范围、奖励稀疏性和风险约束。
网页是否会训练模型?
不会。所有图表使用固定种子或解析公式在浏览器本地计算,不执行页面中的示例代码。
推荐学习资料
参考库不会生成虚假资源或无效外部链接。