探索与利用
在强化学习问题中,探索与利用是一对矛盾:探索尝试不同的行为继而收集更多的信息,利用则是做出当前信息下的最佳决定。探索可能会牺牲一些短期利益,通过搜集更多信息而获得较为长期准确的利益估计;利用则侧重于对根据已掌握的信息而做到短期利益最大化。探索不能无止境地进行,否则就牺牲了太多地短期利益进而导致整体利益受损;同时也不能太看重短期利益而忽视一些未探索地可能会带来巨大利益地行为。因此如何平衡探索和利用是强化学习领域地一个课题。
根据探索过程中使用的数据结构,可以将探索分为:依据状态行为空间的探索和参数化搜索。前者针对当前的每一个状态,以一定的算法尝试之前该状态下没有尝试过的行为;后者直接针对参数化的策略函数,表现为尝试不同的参数设置,进而得到具体的行为。
下面结合多臂赌博机实例一步步从理论角度推导得到一个有效的探索应该具备什么特征,随后介绍三类常用的探索方法。
多臂赌博机
多臂赌博机(如下图)是一种博弈类游戏工具,有多个拉杆,游戏时每当拉下一个拉杆后赌博机会随机给一定数额的奖励,游戏者一次只能拉下一个拉杆,每个拉杆的奖励分布时相互独立的,且前后两次拉杆之间的奖励也没有关系。
在这个场景中,赌博机相当于环境,个体拉下某一单臂赌博机的拉杆表示执行了一个特定的行为,赌博机会给出一个即时奖励R,随即该状态序结束。因此多臂赌博机中的一个完整状态序列就由一个行为和一个即时奖励构成,与状态无关。
多臂赌博机可看成是由行为空间和奖励组成的元组<A,R>,假如一个多臂赌博机有
m
m
m个拉杆,那么行为空间将由
m
m
m个具体行为组成,每一个行为对应拉下某一个拉杆。个体采取行为
a
a
a得到的即时奖励
r
r
r服从一个个体未知的概率分布:
在
t
t
t时刻,个体从行为空间
A
A
A中选择一个行为
a
t
∈
a_t\in
at∈
A
A
A,随后环境产生一个即时奖励
r
t
∼
r_t\sim
rt∼
R
a
t
R^{a_t}
Rat。
个体可以持续多次的与多臂赌博机进行交互,那么个体每次选择怎样的行为才能最大化来自多臂赌博机的累积奖励(
∑
τ
t
\sum^t_\tau
∑τt
r
τ
r_\tau
rτ)呢?
为了方便描述问题,定义行为价值
Q
(
a
)
Q(a)
Q(a)为采取行为
a
a
a获得的奖励期望:
假设能够事先知道哪一个拉杆能够给出最大即时奖励,那可以每次只选择对应的那个拉杆。如果用
V
∗
V^*
V∗表示这个最优价值,
a
∗
a^*
a∗表示能够带来最优价值的行为,那么:事实上不可能事先知道拉下哪个拉杆能带来最高奖励,因此每一次拉杆获得的即时奖励都与最优价值
V
∗
V^*
V∗存在一定的差距,定义这个差距为后悔值:
没执行一次拉杆行为都会产生一个后悔值
l
t
l_t
lt,随着拉杆行为的持续进行,将所有的后悔值加起来,形成一个总后悔值:这样最大化累积奖励的问题就可以转化为最小化总后悔值了。同时对分析问题较为简单、直观。上式也可用另一种方式重写。令
N
t
(
a
)
N_t(a)
Nt(a)为到
t
t
t时刻时已执行行为
a
a
a的次数,
Δ
a
\Delta_a
Δa为最优价值
V
∗
V^*
V∗与行为
a
a
a对应的价值之间的差,则总后悔值可以表示为:把总后悔值按行为分类统计可以看出,一个好的算法应该尽量减少执行那些价值差距较大的行为的次数。但个体无法知道这个差距具体有多少,可以使用蒙特卡罗评估来得到某行为的近似价值:理论上
V
∗
V^*
V∗和
Q
(
a
)
Q(a)
Q(a)由环境动力学确定,因而都是静态的,随着交互次数
t
t
t的增多,可以认为蒙特卡罗评估得到的行为近似价值(
Q
^
t
(
a
)
\hat{Q}_t(a)
Q^t(a))越来越接近真实的行为价值(
Q
(
a
)
Q(a)
Q(a))。下图为不同探索程度的贪婪策略总后悔值与交互次数的关系:从图中可以看出,对于完全贪婪的探索方法,其总后悔值是线性的,这是因为该探索方法的行为可能会锁死在一个不是最佳的行为上;对于
ϵ
−
\epsilon-
ϵ−贪婪的探索方法,总后悔值也是呈线性增长,这是因为每一个时间步,该探索方法有一定的几率选择最优行为,但同样也有一个固定小的几率采取完全随机的行为,导致总后悔值也呈现与时间之间的线性关系。类似的
s
o
f
t
m
a
x
softmax
softmax探索方法与此类似。总体来说,如果一个算法永远存在探索或者从不探索,其总后悔值与时间的关系都是线性增长的。而对于衰减
ϵ
−
\epsilon-
ϵ−贪婪方法,其总后悔值与时间是次线性增长的,随着时间的推移总后悔值的增加越来越少。下文将介绍常用的探索方法。