David Silver强化学习公开课第九讲 探索与利用

364 阅读5分钟

结论

几个基本的探索方法:

朴素探索(Naive Exploration):

在贪婪搜索的基础上增加一个Ɛ以实现朴素探索;

total regret 是线性函数,不好

乐观初始估计(Optimistic Initialization):

在初始化给所有状态一个较高的value,之后用greedy策略优先选择当前被认为是最高价值的行为,除非新信息的获取推翻了该行为具有最高价值这一认知;

但total regret还是线性函数,不好

衰减Ɛ-greedy(Decaying Ɛ-greedy)

它能够使得总的后悔值呈现出与时间步长的次线性(sublinear)关系:对数关系;但是!该方法需要事先知道每个行为的差距 即需要知道真实值,实际上是不可行的

不确定优先(Optimism in the Face of Uncertainty):

引入了不确定性U(t)这个因子,用UCB公式进行更新;

概率匹配(Probability Matching):

根据当前估计的概率分布采样行为;

信息状态搜索(Information State Search):

将已探索的信息作为状态的一部分联合个体的状态组成新的状态,以新状态为基础进行前向探索。

方法

不确定优先(Optimism in the Face of Uncertainty):

统计各个行为的奖励均值和出现的次数的方法

这并不一定是它们真正服从的奖励分布,而是个体根据历史信息构建的一个经验分布 我们应该选择哪个动作:蓝色的那个!

原因:蓝色的分布虽然其奖励均值比绿色的低(图中相应曲线最大P值对应的Q值),但其实际奖励分布范围较广,由于探索次数的限制,蓝色单臂对应的行为价值有不少的几率要比分布较窄的绿色单臂要高,也就是说蓝色单臂的行为价值具有较高的不确定性。因此我们需要优先尝试更多的蓝色单臂,以更准确地估计其行为价值,即尽可能缩小其奖励分布的方差。

选择各个行为的奖励均值和出现的次数来作为UCB算法中的置信区间上限,即依据下式选择后续行为:

a_{t}=\underset{a \in \mathcal{A}}{\operatorname{argmax}} Q(a)+\sqrt{\frac{2 \log t}{N_{t}(a)}}

事实表明,Ɛ-greedy算法如果参数调整得当,可以表现的很好,反之则可能是灾难。UCB在没有掌握任何信息的前提下也能做得很好。

###统计均值和一定比例的标准差之和的方法 假设各单臂赌.博机服从相互独立的高斯分布,可以用每一个单臂赌.博机的均值和标准差参数化整体奖励分布:

选择均值和一定比例的标准差之和来作为UCB算法中的置信区间上限,即依据下式选择后续行为:

a_{\mathrm{t}}=\operatorname{argmax} \mu_{\mathrm{a}}+c \sigma_{\mathrm{a}} / \sqrt{N(a)}

概率匹配(Probability Matching)

根据每个action是否为最优action的概率来进行exploration:

根据history h_t 得到的一个概率分布 \pi\left(a | h_{\mathrm{t}}\right)=\mathbb{P}\left[Q(a)>Q\left(a^{\prime}\right), \forall a^{\prime} \neq a | h_{t}\right] 该算法背后隐藏的思想是:越不确定价值的行为有着越高的几率被选择,这种被选择的目的是通过采样减少其不确定性,进而调整后续策略。

不断的采样,来更新概率分布

Thompson sampling算法

步骤:

  1. 利用历史信息构建各单臂的奖励分布估计

  2. 依次从每一个分布中采样得到所有行为对应即时奖励的采样值

  3. 选取最大采样值对应的行为。

\begin{aligned} \pi\left(a | h_{t}\right) &=\mathbb{P}\left[Q(a)>Q\left(a^{\prime}\right), \forall a^{\prime} \neq a | h_{t}\right] \\ &=\mathbb{E}_{R | h_{r}}[\mathbf{1}(a=\underset{a \in A}{\operatorname{argmax}} Q(a))] \end{aligned}

信息状态搜索(Information State Search)

探索之所以有价值是因为它会带来更多的信息,那么能否量化被探索信息的价值和探索本身的开销,以此来决定是否有探索该信息的必要呢?这就涉及到信息本身的价值。

根据history获得的信息构建一个新的 MDP<s,a,r,γ>,将信息作为MDP的状态构建对其价值的估计

例子:

2臂赌.博机的例子来解释信息状态的内容。在这个例子中,一个信息状态对应于分别采取了行为a1和a2的次数,例如 S0<5,3>可以表示一个信息状态,它意味着个体在这个状态时已经对行为a1执行了5次,a2执行了3次。随后个体又执行了一个行为a1,那么状态转移至S1<6,3>。事实上这样的信息状态构建得到的MDP是一个规模非常庞大的MDP,解决它需要使用之前的函数近似

如此一来,便将一个bandits问题转换为了MDP问题,可以用以下方法求解:

状态信息空间MDP求解方法:

1) Model-free RL, Q-learing

2) Bayesian Model-based RL, 吉特指数(Gittins, 1979)

3) Bayes-adaptive RL

对于其规模巨大的缺陷,使用如下方法解决:

1) 蒙特卡洛树搜索

2) 函数近似