Chapter 2 Multi-arm Bandits
评价性反馈(evaluative feedback):知道这个action有多好,但不知道是不是最好的。
指导性反馈(instructive feedback):已知正确的action是什么,和现在采取的action无关。
本章主要内容是增强学习简化的evaluate,即只在一个状态下的学习,也就是没有连接性的(nonassociative)。
2.1 A k-Armed Bandit Problem
k-armed bandit problem 是什么?
可以类比成一个自动售货机,这个售货机有k个拉杆,也就是有k种选择,每种选择都有一定的回报,且这些回报都是满足一个稳定的概率分布的。问题的目的就是要尽可能最大化总的回报(比如1000次选择后的回报)
问题表示
q∗(a)
是某个action a被选择时reward的期望,也就是action的value。
如果value是知道的,那么我们只要选择大value的action就可以了。如果我们不知道确切的value,那么就要让 Qt(a)≈q∗(a) ( Qt(a) 是我们预估的action a 的期望。)
这时候就涉及到了exploration和exploitation矛盾的问题,尽管在每次预估的时候都会有一个value最大的action,这个action是greedy action,选择这个action (exploitation)满足了我们最大化回报的目的,但是我们并不知道其他的action会不会有更大的回报,选择其他的action(exploration)可能会造成短期的回报减少,但当找到回报更大的action时,我们的长期回报就会增加。
2.2 Action-Value Methods
sample-average
value
Qt(a)
即为action a 被选中时reward的总和除以action a被选中的次数。
ε -greedy methods
在做选择时最简单的方法就是选value最大的action
但是因为想做一定的exploration,就可以在大部分时间选取greedy-action,但是有很小的几率 ε 在所有action中随机选择。
这种做法的优势在于,随着时间的延长 Qt(a) 会逐渐收敛于 q∗(a) ,最优的action的Q会逐渐收敛至大于1- ε (应该收敛到了1- ε + εn (n是action的总数)),但是效率并不一定高。
Example
该节举了一个10-armed bandit的例子,假设10个action value是从高斯分布(0,1)中选出的,真正的回报又是满足高斯分布( q∗(At) ,1),比较greedy method和两个 ε -greedy method的表现, ε 分别为0.1,0.01。
最后的结果是greedy method虽然在开始增长较快,但最后表现最差; ε 为0.1的算法增长比 ε 为0.01的算法增长快,但是取到最优action的概率不会超过91%,其最后的表现不如 ε 为0.01的算法
ε 的取值与很多因素有关,比如例子中的方差,如果reward的方差较大则偏向取 ε 较大的算法,反之相反,这是因为若reward的变化不大,greedy算法在第一次就能知道哪个action的value较大。
但随着学习时间及策略的变化,k-armed bandit的任务情况也在不断变化,所以哪怕reward的方差很小,也不能保证在变化中其他action的value会不会超过已知的最优action,所以exploration都是需要的。
2.3 Incremental Implementation
如何使得样本平均值可以更有效的计算出来(常数的内存,每步一次计算)
范式:
这里的 StepSize 参数就是 1n ,之后会用 α 或 αt(a) 来表示
2.4 Tracking a Nonstationary Problem
在不稳定的情况下,让近期的reward占更大比重是有道理的。比较好的解决方法是将步长(
α
)设为一个常数。
由于系数和 (1−α)n+∑ni=1α(1−α)n−i=1 所以叫做weighted average。
从式子中我们可以看出由于 1−α≤1 ,说明越早的reward的影响力在不断减小,这种方法也叫exponential,recency-weighted average。
我们还可以在每一步时都改变参数
α
,为了让最后的value收敛,序列
αn(a)
必须要满足以下条件。
这是为了让步长足够大避开一开始的一些波动与干扰,同时还要满足
这是为了让步长足够小以便于收敛。
当 α 是常数的时候不满足后面的条件所以它是不收敛的。这样的步长是不稳定状态下所需要的。
2.5 Optimistic Initial Values
之前讨论的所有方法都是与最开始的action-value有关( Q1(a) )。对于sample-average, Q1(a) 的影响要在所有a都被取到时才被消除,而对于 α 为常数的weighted average,由于 Qn+1=(1−α)nQ1+∑ni=1(1−α)n−iαRi ,所以始终与 Q1 (即所有 Q1(a) 有关)。
初始的action-value值还可以鼓励agent进行exploration。比如将10-armed bandit问题的初始值设为5,则无论选择哪个action,reward都少于初始值,也就是 Qt(a) 在减小,所以所有的action都会被尝试。这种方法被称为optimistic initial values,这个方法在稳定的情况下比较有效。
2.6 Upper-Confidence Bound Action Selection
如果选择的时候更偏向于有潜力成为最优的non-greedy actions会更好,将它们的估值与最大值的差距以及它们估值的不确定性都考虑进来。
其中 logt 为t的自然对数, Nt(a) 是在t前a被选择的次数, c>0 控制着exploration的程度。如果 Nt(a)=0 ,a会被认为是取到最大值的action,称为upper confidence bound(UCB)。
其中平方根项为a value的不确定性或者说是方差。这整个项便是action a可能最大值的上限,c决定了可信度。每次某个action被选择了,那么其不确定性就会降低。相反,当t增加,但是 Nt(a) 不变其不确定性就会增大。对数的应用则是随着时间的增加,其增长会变小,但是无限的。所有actions都会被选择到,但是随着时间的增加value小的action被选择到的频率就会更小。
2.7 Gradient Bandit Algorithms
学会对于每个action a的偏好(preference)。只有相对偏好有用。下述式子中
πt(a)
是采取各个action的概率,
Ht(a)
是各action的preference
在每次选择了action At 之后 Ht(a) 的更新如下
其中 α 是步长, α>0 。
Gradient Bandit Algorithm事实上就是Stochastic Gradient Ascent,证明如下。
Stochastic Gradient Ascent:
根据Stochastic Gradient Ascent的几条性质可以进行推导
接着证明 ∂πt(b)∂Ht(a)=πt(b)(1a=b−πt(a))
正因为如此,我们可以保证这个算法和stochastic gradient ascent一样是收敛的,至于baseline,选择什么数都不影响其收敛,但是会影响其收敛速度,选择 Rt¯¯¯¯ 在大部分情况下都可以表现的比较好
2.8 Associative Search(Contextual Bandits)
本节主要讨论结合不同的action到不同的场景中去的做法。
Example:如果有几个不同的k-armed bandit task,在每一步都是随机的碰到其中的一个。在每次action value变化时你会得到变化的提示,比如在第一个机器上做选择时其显示为红色,第二个显示为绿色。这样你就可以选择在红色出现时选择最优的选择arm 1,而在绿色出现时改变策略。
这个问题介于k-armed bandit tasks和完全增强学习问题之间,如果其选择会影响到下一步那么就变成了一个完全增强学习问题。