本文主要介绍强化学习 (RL) 中的一个基础问题——赌博机问题 (Bandit Problems),特别是 K 臂赌博机 (K-Armed Bandit, MAB) 问题。MAB 简化了 RL 问题,去除了“状态”的概念,专注于在单步决策中平衡探索 (Exploration) 与利用 (Exploitation) 的核心挑战。由于其无状态特性,本章状态价值 V 以及动作价值 Q 均不依赖于状态 s。
K 臂赌博机 (K-Armed Bandit, MAB) 问题#
问题定义#
- 场景: 存在 K 个选项(“臂”或动作),选择每个臂 a 会根据未知的概率分布 Pa 产生一个奖励。
- 真实价值: 每个臂 a 的真实期望奖励为 q∗(a)≐E[Rt∣At=a]。
- 过程: 在 T 个时间步内,智能体在每一步 t 选择一个臂 At,获得奖励 Rt+1。
- 目标: 最大化 T 步内的累积总奖励 ∑t=1TRt,等价于尽快找到并持续选择具有最高真实价值 q∗(a) 的最优臂。
- 核心挑战: 智能体不知道 q∗(a),必须通过尝试来估计。
- 特性: 无状态,当前选择不影响未来的奖励分布。
遗憾 (Regret)#
- 定义: 衡量算法性能与理想最优策略差距的指标。
- 最优价值: v∗=maxa∈Aq∗(a)。
- 动作间隙: Δa=v∗−q∗(a)≥0。
- 总遗憾 (Total/Cumulative Regret): T 步内的总期望机会损失。
LT=E[∑t=1T(v∗−q∗(At))]=∑a∈AE[NT(a)]Δa
其中 NT(a) 是动作 a 在 T 步内被选择的总次数。
- 目标: 设计算法使总遗憾 LT 随 T 亚线性增长(如 O(logT)),而非线性增长 O(T)。
动作价值估计方法 (Action-Value Methods)#
估计 q∗(a) 是解决 MAB 的基础。
-
采样平均法 (Sample-Average Method):
- 思想: 使用动作 a 历史上获得的所有奖励的平均值作为其价值估计 Qt(a)。
Qt(a)≐∑i=1t−11(Ai=a)∑i=1t−1Ri⋅1(Ai=a)
- 收敛性: 根据大数定律,若每个动作被无限次选择, Qt(a) 会收敛到 q∗(a)。
-
增量式实现 (Incremental Implementation):
- 目的: 高效计算,无需存储所有历史奖励。
- 更新规则: 对于动作 a 的第 n 次选择获得的奖励 Rn:
Qn+1=Qn+n1[Rn−Qn]
- 通用形式:
NewEstimate <- OldEstimate + StepSize * [Target - OldEstimate]
,其中 StepSize
αn=1/n。
-
处理非平稳问题 (Non-stationary Problems):
- 问题: 当 q∗(a) 随时间变化时,采样平均法(步长 1/n)因给予所有历史奖励同等权重而效果不佳。
- 解决方案: 使用常数步长 (Constant Step-Size) α∈(0,1]:
Qn+1=Qn+α[Rn+1−Qn]
- 效果: 实现指数近因加权平均,更重视近期奖励,能追踪变化的目标,但不会完全收敛。
-
步长参数选择 (Step-Size Parameter):
- 收敛条件 (平稳问题,随机逼近理论):
∑n=1∞αn(a)=∞和∑n=1∞αn2(a)<∞
- αn=1/n 满足条件,常数 α 不满足第二个条件。
探索与利用策略#
平衡尝试未知选项(探索)和选择当前最优选项(利用)是 MAB 的核心。
-
ϵ-贪心策略 (ϵ-Greedy):
- 机制: 以 1−ϵ 概率选择当前估计值 Qt(a) 最高的动作(利用),以 ϵ 概率从所有动作中随机均匀选择一个(探索)。
- 优缺点: 简单,保证持续探索;但探索是随机的,可能导致长期性能损失(线性遗憾)。
-
乐观初始值 (Optimistic Initial Values):
- 机制: 将所有 Q1(a) 初始化为一个很高的值,然后始终采取纯贪心策略(选择 At=argmaxaQt(a)),使用采样平均法(步长 1/n)更新。
- 效果: 高初始值鼓励智能体尝试所有动作至少一次,实现早期系统性探索。
- 优缺点: 实现简单;但对初始值敏感,随机环境下可能过早锁定次优动作。
-
置信度上界 (Upper Confidence Bound, UCB):
- 思想: “在不确定性面前保持乐观”。选择潜力大的动作,潜力=高估计值 + 高不确定性。
- 选择规则:
At≐argmaxa∈A[Qt(a)+cNt(a)lnt]
其中 Qt(a) 是利用项, cNt(a)lnt 是探索项(Nt(a) 为动作 a 被选次数,t 为总步数,c 为控制探索的参数)。若 Nt(a)=0,则该项为无穷大。
- 优缺点: 基于 Hoeffding 不等式,有较好的理论遗憾界 (O(logT)) 和实践性能。
- 算法流程(UCB1)
- 初始化 Q,并且将全部臂都拉取一次,获得更新
- 每步 t,根据当前估计值 Qt(a) 和探索项 cNt(a)lnt 选择动作 At。
- 观察奖励 Rt+1,更新 Qt(a) 和 Nt(a)。
-
汤普森采样 (Thompson Sampling / Posterior Sampling):
-
思想: 贝叶斯方法。维护每个动作价值 q∗(a) 的后验概率分布 P(q∗(a)∣History)。
-
算法流程:
- 每步 t,为每个动作 a 从其后验分布中采样一个价值 q~a。
- 选择采样值最大的动作 At=argmaxaq~a。
- 观察奖励 Rt+1。
- 使用贝叶斯更新规则更新动作 At 的后验分布。
-
探索机制: 后验分布越宽(不确定性高),越有可能采样到高值而被选中。
-
贝叶斯更新与共轭先验: (以伯努利赌博机为例)
- 奖励为 0/1。似然为伯努利分布。
- 使用 Beta 分布 Beta(α,β) 作为共轭先验。
- 更新规则:观察到 1 次成功 (奖励=1) 则 α←α+1,观察到 1 次失败 (奖励=0) 则 β←β+1。后验仍为 Beta 分布。
-
优缺点: 实现简单(尤其使用共轭先验时),经验性能通常非常好。
-
与 Greedy 对比 (伯努利场景):
步骤 | BernGreedy (贪心) | BernThompson (汤普森采样) |
---|
值计算/采样 | 计算期望值 θk=αk/(αk+βk) | 从 Beta(αk,βk) 分布中采样 θk |
动作选择 | 选择使 θk 最大的臂 k | 选择使采样值 θk 最大的臂 k |
参数更新 | 根据奖励 rt 更新 (αxt,βxt) | 根据奖励 rt 更新 (αxt,βxt) |
(循环和应用/观察步骤相同) | | |
梯度赌博机算法 (Gradient Bandit Algorithms)#
这类算法不估计动作价值,而是直接学习动作的偏好 (Preference) Ht(a)。
-
动作选择 (Softmax Policy):
πt(a)=P(At=a)=∑b=1KeHt(b)eHt(a)
-
学习规则 (Stochastic Gradient Ascent):
- 更新选中动作 At 的偏好:
Ht+1(At)=Ht(At)+α(Rt−Rˉt)(1−πt(At))
- 更新未选中动作 a=At 的偏好:
Ht+1(a)=Ht(a)−α(Rt−Rˉt)πt(a)
- α 是学习率,Rˉt 是奖励基线(如历史平均奖励),用于减小方差。 (Rt−Rˉt) 衡量当前奖励的好坏。
- 优缺点: 可处理非平稳环境;对学习率和基线敏感。