Neuromatch强化学习教程:多臂选择机问题解析
摘要
本文将深入解析Neuromatch Academy课程中关于强化学习基础的多臂选择机问题。我们将从基本概念出发,逐步探讨如何构建一个能够有效平衡探索与利用的智能体,并通过代码实现展示不同策略在实际应用中的表现。
1. 多臂选择机问题简介
多臂选择机问题是强化学习中最基础也是最经典的场景之一。想象你面前有多个选择机(即"臂"),每个选择机的奖励分布不同但未知。你的目标是通过多次尝试,找出哪个选择机能够提供最高的长期回报。
问题形式化
- 动作空间(A): 可选择的选择机集合,大小为k
- 奖励(r): 每次选择臂后获得的数值奖励
- 目标: 在有限步数内最大化累计奖励
每个臂的奖励服从不同的高斯分布N(μᵢ, σ²),其中均值μᵢ未知,方差σ²=1已知。智能体需要通过尝试来估计每个臂的价值。
2. 动作选择策略
2.1 价值函数
我们使用动作价值函数q(a)来表示对每个臂价值的估计:
q(a) = E[rₜ|aₜ=a]
这个函数表示在时间t选择动作a时,预期获得的奖励值。
2.2 贪婪策略
最简单的策略是每次都选择当前估计价值最高的臂:
aₜ = argmaxₐ qₜ(a)
但这种策略存在明显缺陷:容易陷入局部最优,缺乏探索新可能性的机会。
2.3 探索与利用的平衡
这是强化学习中的核心问题:
- 利用(Exploitation): 基于当前知识选择最佳动作
- 探索(Exploration): 尝试可能有潜力的新动作
两者需要适当平衡才能获得最优长期回报。
2.4 ε-贪婪策略
一种简单有效的平衡方法是ε-贪婪策略:
P(aₜ=a) = { 1-ε + ε/N 如果a是最佳动作 ε/N 其他情况 }
其中ε∈[0,1]控制探索概率。有(1-ε)概率选择当前最佳动作,ε概率随机选择(包括最佳动作)。
3. ε-贪婪策略实现
以下是ε-贪婪策略的Python实现:
def epsilon_greedy(q, epsilon):
"""Epsilon-greedy策略
参数:
q (ndarray): 动作价值数组
epsilon (float): 随机探索概率
返回:
int: 选择的动作索引
"""
if np.random.random() > epsilon:
# 利用:选择当前最佳动作
action = np.argmax(q)
else:
# 探索:随机选择动作
action = np.random.choice(len(q))
return action
可视化示例
我们可以可视化不同动作被选择的频率:
# 参数设置
q = [-2, 5, 0, 1] # 各动作的估计价值
epsilon = 0.1 # 探索概率
# 可视化选择分布
plot_choices(q, epsilon, epsilon_greedy)
图中显示,虽然最优动作(索引1)被选择最频繁,但其他动作也有被探索的机会。
4. 性能评估指标
评估策略性能时,我们关注两个主要指标:
- 累计奖励: 随时间获得的奖励总和
- 最优动作选择率: 选择真正最优动作的比例
def plot_parameter_performance(labels, fixed, trial_rewards, trial_optimal):
"""绘制不同参数下的性能比较"""
fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(16, 6))
# 平均奖励曲线
ax1.plot(np.mean(trial_rewards, axis=1).T)
ax1.set(title=f'平均奖励 ({fixed})', xlabel='步数', ylabel='奖励')
ax1.legend(labels)
# 最优动作选择率
ax2.plot(np.mean(trial_optimal, axis=1).T)
ax2.set(title=f'性能 ({fixed})', xlabel='步数', ylabel='最优动作百分比')
ax2.legend(labels)
plt.show()
5. 学习率的影响
在实际应用中,我们还需要考虑如何更新价值估计。常用方法是使用学习率α的增量更新:
qₜ₊₁(a) = qₜ(a) + α[rₜ - qₜ(a)]
学习率α控制着新观测值对现有估计的影响程度:
- α较大: 快速适应新信息,但容易受噪声影响
- α较小: 稳定但学习速度慢
6. 总结
多臂选择机问题虽然简单,但包含了强化学习的核心概念:
- 通过价值函数表示对环境的认知
- 策略(如ε-贪婪)平衡探索与利用
- 增量更新结合新经验
- 性能评估指导策略优化
理解这些基础概念是掌握更复杂强化学习算法的关键。在实际应用中,还需要考虑非平稳环境、上下文信息等扩展场景,但基本原理仍然适用。