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

第二章 老虎机问题

多臂老虎机问题

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

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

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

动作价值方法

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

Qt(a)=R1+R2+...+RKaKa Q_t(a) = \frac{R_1 + R_2 + ... + R_{K_a}}{K_a}

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

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

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

在这里插入图片描述

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

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

softmax动作选择

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

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

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

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

增量实现方法

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

Qk+1=1ki=1kRi=Qk+1k[RkQk] Q_{k+1} = \frac{1}{k} \sum_{i=1}^k R_i \\ = Q_k + \frac{1}{k} [R_k - Q_k]

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

NewEstimateOldEstimate+StepSize[TargetOldEstimate] NewEstimate \leftarrow OldEstimate + StepSize [Target - OldEstimate]

非静态问题

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

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

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

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

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

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

k=1αk(a)=k=1αk2(a)< \sum_{k=1}^{\infty} \alpha _k(a) = \infty \wedge \sum_{k=1}^\infty \alpha _k^2(a) < \infty

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

乐观初始价值

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

在这里插入图片描述

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

其他方法

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章