强化学习导论笔记——第二章 多臂老虎机问题

第二章 老虎机问题

多臂老虎机问题

单臂老虎机在拉下游戏臂后,有一定的概率获得奖励。而多臂老虎机需要选择到底拉哪个游戏臂,每个臂的中奖概率是不一样的。

多臂老虎机正好适合用来讨论探索与利用的平衡问题。如果每次都采取贪婪算法,选择奖励概率的游戏臂,则完全是在利用行为的价值;如果选择的是非已知最佳的游戏臂,那就是在探索。一般来讲,利用可以使得单次回报最大,而探索则从长期来看可能产生更好的长期回报。

本章会介绍一些平衡利用与探索的简单方法

动作价值方法

在这里,将采取动作 a a a的真实价值定义为 q ∗ ( a ) q_*(a) q(a),时刻 t t t 的价值估计定义为 Q t ( a ) Q_t(a) Qt(a) ,而某动作的价值,是由采取该动作的回报平均值来计算的。比如在时刻 t t t ,动作 a a a 已经执行了 K a K_a Ka 次,产生的回报序列为 R 1 , R 2 , . . . , R K a R_1, R_2, ..., R_{K_a} R1,R2,...,RKa,则价值的估计值为

Q t ( a ) = R 1 + R 2 + . . . + R K a K a Q_t(a) = \frac{R_1 + R_2 + ... + R_{K_a}}{K_a} Qt(a)=KaR1+R2+...+RKa

如果该动作尚未产生,可以用某个默认值来取代,比如 0 0 0。 当 K a K_a Ka 趋于无穷时, Q t ( a ) Q_t(a) Qt(a) 收敛至真实值 q ∗ ( a ) q_*(a) q(a)

最简单的动作准则就是选择价值最大的动作 A t ∗ A_t^* At,即 Q t ( A t ∗ ) = m a x a Q t ( a ) Q_t(A_t^*) = max_a Q_t(a) Qt(At)=maxaQt(a)。在此基础上做一个微小的改进,以一个极小的概率 ε \varepsilon ε 来执行探索动作,这种方法称为 ε \varepsilon ε-贪婪 方法。这样,当 K a K_a Ka 趋于无穷时, Q t ( a ) Q_t(a) Qt(a) 将收敛于 q ∗ ( a ) q_*(a) q(a)

下图是10臂老虎机在不同的 ε \varepsilon ε 下的价值估计值迭代曲线,其回报概率为正态分布。

在这里插入图片描述

可以看到,适当地采取探索策略,长远来看有更好的回报,尽管在开始,纯贪婪策略的值略高。

在这种静态环境当中,纯贪婪策略也许能取得不错的回报,但如果环境是动态的,价值随时间变化,那效果就大打折扣了,而环境通常并非静态。

softmax动作选择

ε \varepsilon ε-贪婪 方法尽管有效也应用广泛,但过于单一,加报更高的动作应当给予更高的概率加以选择,softmax方法正是基于这种思想,动作 a a a选中的概率与其估计价值成正相关关系:

e Q t ( a ) / τ ∑ i = 1 n e Q t ( i ) / τ \frac{e^{Q_t(a)/\tau}}{\sum_{i=1}^{n}e^{Q_t(i)/\tau}} i=1neQt(i)/τeQt(a)/τ

这里的 τ \tau τ 是一个正数,代表 热力值,这个值越大,产生的概率越趋于平均化,如果该值趋近于零,则策略退化为贪婪策略。

softmax方法尽管更为精确,但 τ \tau τ 的值难于确定,需要一定睥领域知识和经验,所以实践中也经常采用 ε \varepsilon ε-贪婪 方法。

增量实现方法

实际计算中,不可能把每一步的回报都存储下来,而增量计算只需要保留上一次的价值估计,步骤数 k k k ,再将当次的回报 R R R 加入其中即可。

Q k + 1 = 1 k ∑ i = 1 k R i = Q k + 1 k [ R k − Q k ] Q_{k+1} = \frac{1}{k} \sum_{i=1}^k R_i \\ = Q_k + \frac{1}{k} [R_k - Q_k] Qk+1=k1i=1kRi=Qk+k1[RkQk]

该公式,与后续的回报折扣可以联系起来。增量更新实现的计算过程可以抽象如下:

N e w E s t i m a t e ← O l d E s t i m a t e + S t e p S i z e [ T a r g e t − O l d E s t i m a t e ] NewEstimate \leftarrow OldEstimate + StepSize [Target - OldEstimate] NewEstimateOldEstimate+StepSize[TargetOldEstimate]

非静态问题

α \alpha α 来代替 1 k k \frac{1}{k}k k1k,则有

Q k + 1 = Q k + α [ R k − Q k ] Q_{k+1} = Q_k + \alpha [R_k - Q_k] Qk+1=Qk+α[RkQk]

对于动态问题,太久远的回报显得不是那么重要,因此 α \alpha α 的取值显得更为灵活, Q Q Q 值的计算可以重写为:

Q k + 1 = ( 1 − α ) k Q 1 + ∑ i = 1 k α ( 1 − α ) k − i R i Q_{k+1} = (1-\alpha)^k Q_1 + \sum_{i=1}^k \alpha(1-\alpha)^{k-i}R_i Qk+1=(1α)kQ1+i=1kα(1α)kiRi

左侧是初始值及其衰减,右侧是各次回报随时间的递减值,两个权重的加和为1。

α k ( a ) \alpha_k(a) αk(a)来表示在第 k k k步,采取动作 a a a的回报系数,当 α k ( a ) \alpha_k(a) αk(a) 1 k \frac{1}{k} k1时,上式等价于平均回报。事实上, α k ( a ) \alpha_k(a) αk(a)只要满足下列条件,就可以保证 Q Q Q值的收敛性:

∑ k = 1 ∞ α k ( a ) = ∞ ∧ ∑ k = 1 ∞ α k 2 ( a ) &lt; ∞ \sum_{k=1}^{\infty} \alpha _k(a) = \infty \wedge \sum_{k=1}^\infty \alpha _k^2(a) &lt; \infty k=1αk(a)=k=1αk2(a)<

很显然 α k ( a ) = 1 k \alpha_k(a)=\frac{1}{k} αk(a)=k1满足条件,但常数不行。

乐观初始价值

之前的方法一般都假设初始价值为0,事实上,价值的初始值,事实上,利用初始值带来的偏差,可以较好的融入先验知识,起到鼓励探索的作用。比如,在10臂老虎机问题当中,将初始价值设定为5,基于贪婪的策略会倾向于把未探索过的状态都走一遍。如下图所示:

在这里插入图片描述

由于在一开始就进行了积极的探索,效果比 ε \varepsilon ε-贪婪 方法可能更好,只是该方法只对静态问题有效。

其他方法

一种有前景的思想,是引入评估的不确定度来进行探索-利用平衡,比如选择老虎机的某个游戏臂的价值,以95%置信度位于[9, 11]区间内。该思想指导下,诞生了一系列的算法,称为*Upper Confidence Bound (UCB)*方法。还有通过概率图模型进行探索-利用平衡的策略,但可能因为搜索空间过大而难以实现。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值