Sutton reinforcement learning _ Chapter 2 Multi-armed Bandits

打算看英文版Sutton的《强化学习》,从第二章开始记录下对每一章的理解,对每一块的内容大致介绍,留个纪念。

这一章围绕着多臂赌博机问题,介绍了基本的强化学习算法(value based),并探讨了利用(exploit)和探索(explore)问题。

2.1 A k-armed Bandit Problem

有k个赌博机,每次的操作就是拉下其中一个控制杆,随后你会得到一个奖励。通过多次的选择,你要使得总收益最大化。其中每个赌博机的收益服从一个分布。k个动作的每一个被选择时都有一个期望奖励,称为这个动作的价值。在t时刻的动作为A_t,对应的奖励为R_t。任一动作a对应的价值,记为q_* (a)\doteq \mathbb{E}[R_t|A_t=a]。如果知道每个动作的价值,那么每次选择价值最高的动作就行。假设不知道动作的价值,我们就要进行估计。我们对动作a在时刻t的价值的估计记为Q_t(a),我们期望它接近q_*(a)

2.2 Action-value Methods

这是一个估计动作价值的方法,用这些动作价值的估计来选择。一种简单的方法就是通过计算实际收益的平均值来作为动作价值的估计。Q_t(a)=\frac{\text{sum of rewards when a taken prior to t}}{\text{number of times a taken prior to t}}=\frac{\sum _{i=1}^{t-1}R_i\cdot \mathbb{I}_{A_i=a}}{\sum_{i=1}^{t-1}\mathbb{I}_{A_i=a}}

其中\mathbb{I}_{predicate},当predicate为真时值为1,反之为0。当分母为0时,我们将Q_t(a)定义为一个默认值,比如0。

最简单的的方案是选择具有最高估计值的动作,及贪心(greedy)。如果有多个贪心动作,则选择任意一个,即A_t\doteq argmax{Q_t(a)},其中,argmax_a是使得Q_t(a)最大的动a。这种方案总是利用当前的知识最大化眼前的收益,只有利用(exploit)没有探索(explore)。一个简单的代替是\epsilon - greedy,以\epsilon的概率从所有动作中随机选一个动作,1-\epsilon的概率用贪心策略,这样每一个动作就有可能被采样到。

2.3 The 10-armed Testbed

 评估greedy算法和\epsilon -greedy的性能,这部分比较好理解。

2.4 Incremental Implementation

我们用观测到的奖励的样本均值来估计action-value,这里介绍了一种高效的方法来计算样本均值。R_i表示某一动作第i次被选中获得的奖励,Q_n表示该动作被选择n-1次后它的估计的action-value。Q_n\doteq \frac{R_1+R_2+...+R_n-1}{n-1}

可以换一种方式来计算这个式子

Q_{n+1}=\frac{1}{n}\sum_{i=1}^{n}R_i=\frac{1}{n}(R_n+\sum_{i=1}^{n-1}R_i)=\frac{1}{n}(R_n+(n-1)\frac{1}{n-1}\sum_{i=1}^{n-1}R_i)=\frac{1}{n}(R_n+(n-1)Q_n)=\frac{1}{n}(R_n+nQ_n-Q_n)=Q_n+\frac{1}{n}[R_n-Q_n]

一个使用以增量式计算的样本均值和\varepsilon -greedy动作选择的多臂赌博机算法如下

2.5 Tracking a Nonstationary Problem

前面讨论的问题前提是每个赌博机的奖励概率分布是固定的(stationary),如果奖励概率是不固定的(随着时间变化,unstationary),那么取平均的方法就不适用。这时比较流行的方法是去固定步长,即Q_{n+1}\doteq Q_n+\alpha [R_n-Q_n],其中\alpha \in (0,1]

2.6 Optimistic Initial Values

目前我们讨论的方法都在一定程度上依赖于初始动作的值Q_1(a),这些方法是有偏的(biased)。但实际中,这通常并不是一个问题。

初始动作的价值同时也提供了一种简单的探索(explore)方式,如果初始值设置的比较大,那么刚开始算法会倾向于探索每一个动作,会进行大量的探索(explore),我们把这种初始值的设定称为乐观初始价值。它适用于固定奖励概率分布问题,而不适用与非固定的情况,因为它探索的动因是暂时的。

2.7 Upper-Confidence-Bound Action Selection

这里提出了一种根据动作的潜力来选择可能事实上是最优的动作,这要考虑它们的估计有多接近最大值,以及这些估计的不确定性。按如下公式选择动作

A_t\doteq argmax[{Q_t(a)+c\sqrt{\frac{lnt}{N_t(a)}}}]

N_t(a)表示在时刻t之前动作a被选中的次数,如果他为0,那么a被认为是最好的动作。这方法叫置信度上限(UCB,Upper-Confidence-Bound)),平方根项是对a动作值估计的不确定性或方差的度量。最大值的大小是动作a的可能真实值的上限,c是置信水平。下图是UCB算法与\epsilon- greedy的比较

2.8 Gradient Bandit Algorithms

本节中,针对每个动作a,考虑一个数值化的偏好函数H_t(a)。偏好函数越大,动作就越频繁地被选择。

Pr\left \{ A_t=a \right \}\doteq \frac{e^{H_t(a)}}{\sum_{b=1}^{k}e^{H_t(b)}}\doteq \pi _t(a)

Pr\left \{ A_t=a \right \}\pi _t(a)表示在t时刻选择动作a的概率。

基于梯度上升,提出一中自然的学习方法。每个步骤中,在选择动作A_t并获得R_t后,偏好函数会更新

H_{t+1}(A_t)\doteq H_t(A_t)+\alpha (R_t-\bar{R_t})(1-\pi_t(A_t)),\text{and}\newline H_{t+1}(a)\doteq H_t(a)-\alpha (R_t-\bar{R_t})\pi_t(a),\text{for all }a\neq A_t,

 其中,\alpha是一个大于0的树,表示步长,\bar{R_t}\in\mathbb{R}是在时刻t内所有收益的平均值。\bar{R_t}作为一个基准,收益高于它,那么未来选择动作A_t的概率会增加,反之减少。基准项的作用可以用下图来表示

实际上梯度赌博机算法可以理解为梯度上升的随机近似,证明过程如下

 

 

 

至此证明了该算法的期望更新与期望奖励的梯度是相等的,因此该算法是随机梯度上升算法的一种。这保证了算法的收敛性。

对于基准项,只要要求它与所选的动作无关即可。可以为一个固定的数0或1000,该算法仍是梯度上升算法的特例。基准项不影响算法的更新,但它会影响更新值的方查,从而影响收敛速度。采用奖励的平均可能不是最好的,但是它简单,在实践中很有效。

2.9 Associative Search (Contextual Bandits)
以上所考虑的问题都是非关联的,没有必要将不同的动作与不同的情境联系起来。在一般的强化学习问题中,往往有不止一种情境,他们的目标是学习一种策略:一个从特定情境到最优动作的映射。

关于这个问题不是本章的重点,就不介绍了。

2.10 Summary

在这一章介绍了几种平衡exploit和explore的方法,比较了几种算法的性能,并在最后提及了更复杂的平衡exploit和explore的方法(贝叶斯方法)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值