二、从多臂老虎机看强化学习
- 2.1 多臂老虎机问题
- 2.1.1 问题定义
- 2.2.2 问题建模
- 2.2.3 累积懊悔
- 2.2.4 估计期望奖励
- 2.2 强化学习中的探索与利用平衡
- 2.3 贪心策略
- 2.4 上置信界算法
- 2.5 汤普森采样算法
2.1 多臂老虎机问题
2.1.1 问题定义
在多臂老虎机(mutil-armed bandit, MAB)问题(如图2-1)中,有一个拥有K根拉杆的老虎机,拉动每一根拉杆都对应一个关于奖励的概率分布
R
R
R 。每次拉动其中一根拉杆,就可以从该拉杆对应的奖励概率分布中获得一个奖励
r
r
r 。我们在各根拉杆的奖励概率分布未知的情况下,从头开始尝试,目标是在操作
T
T
T 次拉杆后获得尽可能高的累积奖励。由于奖励概率分布未知,因此需要在“探索拉杆的获奖概率”和“根据经验选择获奖多的拉杆”中进行权衡。“采用怎样的操作策略才能使获得的累积奖励最高”就是多臂老虎机问题。
2.2.2 问题建模
多臂老虎机问题可建模为一个元组 ( A , R ) (\mathcal A, \mathcal R) (A,R),其中:
- A \mathcal A A:动作集合,其中一个动作表示拉动一根拉杆,若多臂老虎机有 K K K根拉杆,则动作空间为 A = { a 1 , . . . , a i , . . . , a K } \mathcal A=\{a_1, ...,a_i,..., a_K\} A={a1,...,ai,...,aK}。
- R \mathcal R R:奖励概率分布,拉动每一根拉杆的动作 a a a 都对应一个奖励概率分布 R ( r ∣ a ) \mathcal R(r|a) R(r∣a),拉动不同拉杆的奖励分布通常是不同的。
假设每个时间步只能拉动一根拉杆,多臂老虎机的目标为最大化一段时间步 T T T 内累积的奖励: m a x ∑ t = 1 T r t , r t ∼ R ( ⋅ ∣ a t ) max\sum_{t=1}^{T}r_t,r_t \sim \mathcal R(·|a_t) max∑t=1Trt,rt∼R(⋅∣at)。 a t a_t at 表示在第 t t t 时间步拉动某一拉杆的动作, r t r_t rt 表示动作 a t a_t at 获得的奖励。
2.2.3 累积懊悔
对于每个动作
a
a
a,我们定义其期望奖励为
Q
(
a
)
=
E
r
∼
R
(
⋅
∣
a
)
[
r
]
=
E
r
∼
P
(
⋅
∣
a
)
[
r
]
Q(a)=E_{r\sim\mathcal R(·|a)}[r]=E_{r\sim \mathbb P(·|a)}[r]
Q(a)=Er∼R(⋅∣a)[r]=Er∼P(⋅∣a)[r]。于是,至少存在一根拉杆,它的期望奖励不小于拉动其他任意一根拉杆,我们将该最有期望奖励表示为
Q
∗
=
m
a
x
a
∈
A
Q
(
a
)
Q^* = max_{a \in \mathcal A}Q(a)
Q∗=maxa∈AQ(a)。
为了方便观察拉动一根拉杆的期望奖励与最有拉杆期望奖励的差距,我们引入 懊悔(regret) 的概念,即
R
(
a
)
=
Q
∗
−
Q
(
a
)
R(a) = Q^*-Q(a)
R(a)=Q∗−Q(a)。累积懊悔(cumulative regret) 即操作
T
T
T 次拉杆后累积的懊悔总量,对于一次完整的
T
T
T 步决策
{
a
1
,
a
2
,
.
.
.
,
a
T
}
\{a_1,a_2,...,a_T\}
{a1,a2,...,aT},累积懊悔为
σ
R
=
∑
t
=
1
T
R
(
a
t
)
\sigma_R = \sum_{t=1}^{T}R(a_t)
σR=∑t=1TR(at)。MAB问题的目标为最大化累积奖励,也可以等价于最小化累积懊悔。
2.2.4 估计期望奖励
为了知道拉动哪一根拉杆能获得更高的奖励,我们需要估计拉动这跟拉杆的期望奖励。由于之拉动一次拉杆获得的奖励存在随机性,所以需要多次拉动一根拉杆,然后计算得到的多次奖励的期望。算法流程如下:
$1. 对于任意 \forall a \in \mathcal A,初始化计数器 N(a)=0和奖励期望估值
Q
^
(
a
)
=
0
\hat{Q}(a)=0
Q^(a)=0
2.
f
o
r
t
=
1
−
>
T
d
o
2. {for} \ t=1->T\ do
2.for t=1−>T do
选取某根拉杆,该动作记为
a
t
选取某根拉杆,该动作记为\ a_t
选取某根拉杆,该动作记为 at
得到奖励
r
t
得到奖励\ r_t
得到奖励 rt
更新计数器:
N
(
a
t
)
=
N
(
a
t
)
+
1
更新计数器:N(a_t)=N(a_t)+1
更新计数器:N(at)=N(at)+1
更新期望奖励估值:
Q
^
(
a
t
)
=
Q
^
(
a
t
)
+
1
N
(
a
t
)
[
r
t
−
Q
^
(
a
t
)
]
更新期望奖励估值:\hat{Q}(a_t)=\hat{Q}(a_t)+\frac{1}{N(a_t)}[r_t-\hat{Q}(a_t)]
更新期望奖励估值:Q^(at)=Q^(at)+N(at)1[rt−Q^(at)]
e
n
d
f
o
r
end\ for
end for
推导:
Q
(
n
+
1
)
(
a
t
)
=
1
n
∑
t
=
1
n
(
r
n
+
n
−
1
n
−
1
∑
t
=
1
n
−
1
r
t
)
=
1
n
r
n
+
n
−
1
n
Q
n
(
a
t
)
+
1
n
(
r
n
−
Q
n
)
Q_{(n+1)}(a_t)=\frac{1}{n}\sum_{t=1}^{n}(r_n+\frac{n-1}{n-1}\sum_{t=1}^{n-1}r_t)=\frac{1}{n}r_n+\frac{n-1}{n}Q_n(a_t)+\frac{1}{n}(r_n-Q_n)
Q(n+1)(at)=n1∑t=1n(rn+n−1n−1∑t=1n−1rt)=n1rn+nn−1Qn(at)+n1(rn−Qn)
其中, r n − Q n r_n-Q_n rn−Qn表示为误差项 Δ n t \Delta_{n}^{t} Δnt.
2.2 强化学习中的探索与利用平衡
2.3 贪心策略
贪心策略:
Q
(
a
i
)
=
1
N
(
a
i
)
∑
t
=
1
T
r
t
⋅
1
(
a
t
=
a
i
)
Q(a_i)=\frac{1}{N(a_i)}\sum_{t=1}^{T}r_t · 1(a_t=a_i)
Q(ai)=N(ai)1t=1∑Trt⋅1(at=ai)
a ∗ = a r g m a x Q ( a i ) a^*=arg\ max\ Q(a_i) a∗=arg max Q(ai) σ R ∝ T ⋅ [ Q ( a i ) − Q ∗ ] \sigma_R\propto T · [Q(a_i)-Q^*] σR∝T⋅[Q(ai)−Q∗]
累积懊悔线性增长。
ϵ
\epsilon
ϵ-greedy策略:
a
t
=
{
a
r
g
m
a
x
a
Q
^
(
a
)
,采样概率:
1
−
ϵ
U
(
0
,
∣
A
∣
)
,采样概率:
ϵ
a_t= \begin{cases}arg\ \mathop{max}\limits_{a}\ \hat{Q}(a), 采样概率:1- \epsilon\\ U(0,|\mathcal{A}|),采样概率:\epsilon \end{cases}
at={arg amax Q^(a),采样概率:1−ϵU(0,∣A∣),采样概率:ϵ
常量
ϵ
\epsilon
ϵ 保证累积懊悔满足:
σ
R
≥
ϵ
∣
A
∣
∑
a
∈
A
Δ
a
\sigma_R \geq \frac{\epsilon}{\mathcal{|A|}} \sum_{a \in \mathcal{A}}\Delta a
σR≥∣A∣ϵa∈A∑Δa
累积懊悔仍然是线性增长,但是增长率小于贪心策略。
2.4 上置信界算法
设想这样一种情况:对于一台双臂老虎机,其中一根拉杆只被拉动过一次,得到的奖励为0;第二根拉杆被拉动过很多次,我们对他的奖励分布已经有了大致的把握。这时你会怎么做?或许你会进一步尝试拉动地一根拉杆,从而更加确定其奖励分布。这种思路主要是基于不确定性,因为此时第一根拉杆只被拉动过一次,它的不确定性很高。一根拉杆的不确定性越大,它探索的价值就越大,他就越具有探索的价值,因为探索之后我们可能发现它的期望奖励很大。我们在此引入不确定性度量 U ( a ) U(a) U(a),它会随着一个动作尝试次数的增加而减小,我们可以使用一种基于不确定性的策略来综合考虑现有的期望奖励估值和不确定性,其核心问题是如何确立不确定性。
上置信界(upper confidence bound. UCB) 算法是一种经典的基于不确定性的策略算法。他的思想用到了一个著名的数学原理:霍夫丁不等式(Hoeffding’s inequality)。在霍夫丁不等式中,令
X
1
,
.
.
.
,
X
n
X_1,..., X_n
X1,...,Xn为
n
n
n 个独立同分布的随机变量,取值范围为[0, 1],其经验期望为
x
n
−
=
1
n
∑
j
=
1
n
X
j
\mathop{x_n}\limits^{-} = \frac{1}{n}\sum_{j=1}^{n}X_j
xn−=n1∑j=1nXj,则有
P
(
E
[
X
]
≥
x
n
−
+
u
)
≤
e
−
2
n
u
2
\mathbb{P}(E[X]\geq \mathop{x_n}\limits^{-}+u)\leq e^{-2nu^2}
P(E[X]≥xn−+u)≤e−2nu2
假设我们将霍夫丁不等式运用到多臂老虎机问题中。将 Q ˆ ( a t ) \^Q(a_t) Qˆ(at) 代入 x t − \mathop{x_t}\limits^{-} xt−,不等式中的参数 u = U ˆ ( a t ) u=\^U(a_t) u=Uˆ(at) 代表不切定性度量。给定一个概率 e − 2 N ( a t ) U ( a t ) 2 e^{-2N(a_t)U(a_t)^2} e−2N(at)U(at)2 ,根据上述不等式, Q ( a t ) < Q ˆ ( a t ) + U ˆ ( a t ) Q(a_t)<\^Q(a_t)+\^U(a_t) Q(at)<Qˆ(at)+Uˆ(at) 至少以 1 − p 1-p 1−p 成立。当 p p p 很小时, Q ( a t ) < Q ˆ ( a t ) + U ˆ ( a t ) Q(a_t)<\^Q(a_t)+\^U(a_t) Q(at)<Qˆ(at)+Uˆ(at) 就以很大的概率成立。 Q ˆ ( a t ) + U ˆ ( a t ) \^Q(a_t)+\^U(a_t) Qˆ(at)+Uˆ(at) 便是奖励的上界。此时,上置信界算法便选取期望奖励上界最大的动作,即 a t = a r g m a x a ∈ A [ Q ˆ ( a ) + U ˆ ( a ) ] a_t = arg\ max_{a\in A}[\^Q(a)+\^U(a)] at=arg maxa∈A[Qˆ(a)+Uˆ(a)]。根据等式 p = e − 2 N ( a t ) U ( a t ) 2 p=e^{-2N(a_t)U(a_t)^2} p=e−2N(at)U(at)2 可知 U ˆ ( a t ) = − l o g p 2 N ( a t ) \^U(a_t) = \sqrt{\frac{-log\ p}{2N(a_t)}} Uˆ(at)=2N(at)−log p。因此设定概率 p p p 后就可以计算相应的不确定性度量 U ˆ ( a t ) \^U(a_t) Uˆ(at)。
2.5 汤普森采样算法
MAB中还有一种经典算法——汤普森采样(Thompson sampling),先假设拉动每根拉杆的奖励服从一个特定的概率分布,然后根据拉动每根拉杆的期望奖励来进行选择。但是由于计算所有拉杆的期望奖励的代价比较高,汤普森采样算法使用采样的方式,即根据当前每个动作 a a a 的奖励概率分布进行一轮采样,得到一组各根拉杆的奖励样本,再选择样本中奖励最大的动作。可以看出,汤普森采样是一种计算所有拉杆的最高奖励概率的蒙特卡洛采样方法。