文章目录
前言
之前章节的理论知识可以说是本章内容的铺垫,本章首先介绍了探索和利用这两个重要概念,然后结合多臂赌博机这一重要实例,讲解了怎样才算是一个有效的探索,随后介绍了三类常用的探索方法。
1. 探索与利用 (Exploration and Exploitation)
探索和利用是强化学习问题中两个非常核心的问题:
探索 (exploration):尝试不同的行为从而收集到更多的信息 (Gather more information)。
利用 (exploitation):做出当前信息下的最佳决定 (Make the best decision given current information)。
探索可能会牺牲一些短期利益,通过搜集更多信息而获得较为长期准确的利益估计;利用侧重于根据已知信息来做到短期利益最大化。我们既不能无休止地进行探索,不然就会放弃很多短期利益而使整体利益受损;也不能过于重视短期利益而忽略一些可能会带来巨大利益的行为。
可以看到,探索和利用其实是一对矛盾,探索-利用窘境 (Exploration-Exploitation dilemma) 是 RL 面临的核心难题之一,而如何平衡探索和利用 (Exploration-Exploitation balance) 是该领域的一个重要课题。
2. 多臂赌博机 (Multi-armed bandit)
多臂赌博机 (Multi-armed bandit),或 K-臂赌博机 (K-armed bandit),是一种理论模型。
规则:K-臂赌博机有 K 个摇臂,agent 每次拉下其中一个摇臂就表示执行了一个特定的行为 a,相当于环境的赌博机就会给出一个即时奖励 r,然后该状态序列结束。
所以在多臂赌博机中,一个完整的状态序列仅由一个行为 a 和一个即时奖励 r 构成,与状态无关。而且 agent 采取行为 a 得到的即时奖励 r 服从一个未知的概率分布。
行为价值 Q(a):采取行为 a 后获得的奖励期望。
后悔值 (regret):奖励 Q(at) 与最优价值 V∗ 之间的差距。每执行一次拉杆行为都会产生一个后悔值,随着拉杆行为的持续进行,将所有的后悔值加起来就形成了一个总后悔值。引入了后悔值,就可以将最大化累积奖励这个目标转化成最小化总后悔值了,这样就可以较为简单直观地分析问题。
对于完全贪婪的探索方法,其总后悔值是线性的,这是因为该探索方法的行为选择可能会锁死在一个不是最佳的行为上;
对于 ϵ− 贪婪的探索方法,总后悔值也是呈线性增长,这是因为每一个时间步,该探索方法有一定的几率选择最优行为,但同样也有一个固定小的几率采取完全随机的行为,导致总后悔值也呈现与时间之间的线性关系。
总体来说,如果一个算法永远存在探索或者从不探索,那么其总后悔值与时间的关系都是线性增长的。因此下面要介绍别的改进算法。
3. 常用的探索方法
3.1 衰减的 ϵ-贪婪探索
基本思想:随着时间的推移,agent 采用随机行为的概率 ϵ 越来越小。
该探索方法是 ϵ-贪婪探索的优化,能够使得总的后悔值与时间步长呈现出对数关系。
3.2 不确定行为优先探索
基本思想:当 agent 不清楚一个行为的价值时,agent 有较高的几率选择该行为。
具体实现形式有以下三种:
3.2.1 乐观初始估计 (Optimistic Initialization)
基本思想:初始时给行为空间中的每一个行为赋予一个足够高的价值,使用完全贪婪的探索方法选择行为,并使用递增式的蒙特卡罗评估来更新这个价值。
由于给每一个行为都被赋予了一个足够高的价值,因此在实际交互过程中根据奖励计算得到的价值多数低于初始估计。那么一旦某行为由于尝试次数较多其价值降低时,贪婪的探索方法将选择其他那些行为价值较高的行为。
这种方法使得每一个可能的行为都有机会被尝试,不过其本质仍是完全贪婪的探索方法。
3.2.2 置信区间上限 (Upper Confidence Bound)
基本思想:通过比较两个摇臂价值的差距 (∆) 以及描述其奖励分布相似程度的 KL 散度 (KL(Ra||Ra∗ )) 来判断总后悔值的下限。一般来说,差距越大后悔值越大;奖励分布的相似程度越高,后悔值越低。
使用置信区间上限 (Upper Confidence Bound, UCB) 作为行为价值的估计指导行为的选择。
(这个知识点我现在还是不太理解)
3.2.3 概率匹配 (Probability Matching)
基本思想:通过 agent 与环境的实际交互的历史信息 ht 来估计行为空间中的每一个行为是最优行为的概率,然后根据这个概率来采样后续行为。
3.3 基于信息价值的探索
基本思想:将已探索的信息作为状态的一部分联合个体的状态组成新的状态,以新状态为基础进行前向探索。
探索的价值在于能够带来更多的信息,而信息本身的价值又是未知的,因此需要利用某些方法来量化探索得到的信息的价值以及探索本身的代价,以此来决定是否有探索该信息的必要。
而为了能够确定信息本身的价值,我们可以设计一个 MDP,将信息作为 MDP 的状态,构建对其价值的估计。由于基于信息状态空间的 MDP 其状态规模随着交互的增加而逐渐增加,因此通常使用近似价值函数,构建一个基于信息状态的模型并通过采样来近似求解。
虽然前面都是基于与状态无关的多臂赌博机的探索方法,但是它们都能适用于存在不同状态转换条件下的 MDP 问题,只需要将状态 s 代入相应的公式即可。