强化学习基础篇(三十五)探索与利用(Exploration an

2020-11-12  本文已影响0人  Jabes

强化学习基础篇(三十五)探索与利用(Exploration and Exploitation)

1、探索与利用简介

在强化学习中,探索(Exploration )的目的是找到更多有关环境的信息,而利用(Exploitation)的目的是利用已知的环境信息来最大限度地提高奖励。简而言之,探索是尝试还未尝试过的动作行为,而利用则是从已知动作中选择下一步的动作。

探索与利用之间的如何权衡,是强化学习的一个基本的问题。例如在很多情况,为了获得最佳的长期策略,可能需要做一些短期的牺牲。为了能够获得最佳的总体策略,往往需要收集到更多的信息。

有几种方式可以达到探索的目的:

根据搜索过程中使用的数据结构,可以将搜索分为:

为了较简单的描述各类搜索的原理,下一节将使用一种与状态无关的Bandit来进行讲解。

2、与状态无关的k-bandit问题

k-bandit问题考虑的是如下的学习问题:你要重复地在k个选项或者动作中进行选择。每次做出选择后,都会得到一定数值的收益,收益由你选择的动作决定的平稳概率分布产生。目标是在某一段时间内最大化总收益的期望。

image.png

该问题定义是:

3、后悔值(Regret)

为了方便描述问题,我们先给出几个定义:

这样,最大化累计奖励的问题就可以转化为最小化总后悔值了。之所以这样转换,是为了描述问题的方便,在随后的讲解中可以看到,较好的算法可以控制后悔值的增加速度。而用最大化累计奖励描述问题不够方便直观。

4、Regret的推导

从另一个角度重写总后悔值。定义N_t(a)为到t时刻时已执行行为A的次数,定义差距(gap)\Delta a为最优动作a^*与行为a之间的差。那么总后悔值可以这样推导:
\begin{aligned} L_{t} &=\mathbb{E}\left[\sum_{\tau=1}^{t} V^{*}-Q\left(a_{\tau}\right)\right] \\ &=\sum_{a \in \mathcal{A}} \mathbb{E}\left[N_{t}(a)\right]\left(V^{*}-Q(a)\right) \\ &=\sum_{a \in \mathcal{A}} \mathbb{E}\left[N_{t}(a)\right] \Delta_{a} \end{aligned}
这相当于把个行为的差距与该行为发生的次数乘起来,随后把行为空间的所有行为的这个乘积再相加得到,只不过这里是期望。

把总后悔值用计数和差距描述可以使我们理解到一个好的算法应该尽量减少那些差距较大的行为的次数。不过我们并不知道这个差距具体是多少,因为根据定义虽然最优价值V^*和每个行为的差距(gap)\Delta a为静态的,但我们并不清楚这两者的具体数值,我们所能使用的信息就是每次行为带来的即时奖励 r。那么我们如何利用每次行为的即时奖励呢?

我们使用每次的即时奖励来计算得到t时刻止某一行为的平均价值:
\hat{Q}_{t}(a)=\frac{1}{N_{t}(a)} \sum_{t=1}^{T} r_{t} \mathbf{1}\left(a_{t}=a\right)
这个方法也叫蒙特卡罗评估, 以此来近似该行为的实际价值 Q(a): \hat{Q}_{t}(a) \approx Q(a)

5、Total Regret的直观理解

我们先直观了解下不同形式的随机策略其总后悔值随着时间的变化曲线:

image.png

(1)对于\epsilon−greedy探索方法,总后悔值会呈线性增长,这是一个好的算法所不能接受的。这是因为每一个时间步,该探索方法有一定的几率选择最优行为,但同样也有一个固定小的几率采取完全随机的行为,如采取随机行为,那将一直会带来一定后悔值,如果持续以虽小但却固定的几率采取随机行为,那么总的后悔值会一直递增,导致呈现与时间之间的线性关系。类似的softmax探索方法与此类似。

(2)对于greedy探索方法,其总后悔值也是线性的,这是因为该探索方法的行为选择可能会锁死在一个不是最佳的行为上。

(3)目标就是找到一种探索方法,使用该探索方法时随着时间的推移其总后悔值增加得越来越少,后续将依次介绍几种较好的探索方法。

上一篇下一篇

猜你喜欢

热点阅读