加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

发布时间:2019-03-26 07:01:32 所属栏目:教程 来源:36氪
导读:编者按:本文节选自《深度学习理论与实战:提高篇 》一书,原文链接http://fancyerii.github.io/2019/03/14/dl-book/ 。作者李理,环信人工智能研发中心vp,有十多年自然语言处理和人工智能研发经验,主持研发过多款智能硬件的问答和对话系统,负责环信中

这一节我们会介绍 ε-贪婪算法,它在大部分情况下(1-ε的概率)会使用贪婪的策略选择 a 使得 q(s,a) 最大,但是也会有 ε 的概率随机的选择策略。因此对于“最优”行为的概率是 1-ε+ε/|A|(因为随机也可能随机到最优的行为),而其它行为的概率是 ε/|A|。算法的伪代码如下:

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

图:On-Policy蒙特卡洛控制算法

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

假设策略 是一个 ε-soft 的策略,它的行为价值函数是 (,) ,而 ′ 是对 进行 ε- 贪婪之后得到的新策略(当然它也是一个 ε-soft 的策略),那么这个新策略 ′ 相对于 是有提升的(新的策略比老的好)。下面我们来证明一下, s∈S,我们有:

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

这个证明难点是第二行到第三行的不等式,它利用了这样一个结论:n个数的“线性组合”小于等于最大的那个数。所谓的线性组合就是n个数分别乘以n个系数在加起来,这n个系数是大于等于0小于等于1并且和为1的。我们以两个数为例,假设1≤2 :

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

同样三个数的情况可以用类似的方法证明。我们再回过头来看上面的不等式,假设状态s下有n种行为,那么第三行就是n个数((,)aπ(s,a))的线性组合,因为这n个数的系数都是大于0小于1的,而且其和是1:

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

我们在蒙特卡罗方法(包括后面的TD)使用的不是状态价值函数 V(s) 而是行为价值函数 Q(s,a),为什么呢?我们首先回顾一下 GPI,参考下图。假设使用 V(s),我们首先有个初始的策略 ,我们用蒙特卡罗预测来估计 () ,然后我们使用 ε- 贪婪获得一个更好的策略,然后再估计这个新的策略的价值函数,不断的迭代。这里我们需要根据 V(s) 来计算这个 ε-贪婪的策略如下:

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

如下图所示,蒙特卡罗控制是这样优化的,注意和动态规划不同,蒙特卡罗控制一上来 是有 Q,然后做 ε- 贪婪的提升,然后计算新的 Q,不过因为蒙特卡罗是采样的近似,所以图中的蒙特卡罗的预测不是精确的预测 (,) ,而是它的近似,所以图中的线没有接近上端。

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

图:蒙特卡罗控制的 GPI

On-Policy 蒙特卡罗控制代码示例

代码在这里。首先我们定义函数 make_epsilon_greedy_policy,它的输入是一个 Q 函数和epsilon,输出一个实现 ε- 贪婪的策略的函数。

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

然后是实现ε-贪婪策略的蒙特卡罗控制函数mc_control_epsilon_greedy:

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

注意和伪代码比,我们没有“显式”定义新策略′π′,而是把当前策略定义为Q(s,a)的一个函数policy = make_epsilon_greedy_policy(Q, epsilon, env.action_space.n),因此Q(s,a)发生变化时,对于的函数就会发生变化。

运行后我们把V(s)画出来,如下图所示。

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

图:无Ace时最佳值函数

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

图:有Ace时最佳值函数

我们可以看出,如果一上来手上的牌就大于 18,我们最优的胜率是大于 0 的(当然也会可能输,因为庄家大于 17 就停止要牌,仍然有一定概率比我们大)。

Off-Policy蒙特卡罗预测

前面的 ε- 贪婪策略可以解决 Exploring Start的问题,但是带来一个新的问题,它永远只能学到 ε-soft 的策略,用于决策的时候还去“探索”其实是不好的。本节我们介绍 Off-Policy 的蒙特卡罗预测,和前面的 On-Policy 策略相比,Off-Policy 有两个不同策略:目标策略 (target policy)和行为策略 (behavior policy)。目标策略就是我们解决问题需要学习的策略;而行为策略是用来生成 Episode 的策略。如果目标策略和行为策略相同,那就是 On-Policy 策略了。

本节我们解决预测问题,假设目标策略和行为策略都已知的情况下计算其价值函数。假设目标策略是 ,而行为策略是 b,我们的目的是根据 b 生成的 Episode 采样来计算 () 或(,) 。为了通过 b 生成的 Episode 能够用来估计 ,我们要求如果 (|)>0 则 (|)>0 ,这叫做 b 是 的 coverage。为什么要有 coverage 的要求?因为如果我们要估计的策略 (|)>0 ,而(|)=0 ,那么就不可能有 Episode 会在状态 s 是采取行为 a,那么就无法估计 (|) 了。

coverage 的另外一种说法就是:如果 (|)=0 那么一定有 (|)=0 。因此策略 b 一定是随机的策略,为什么?因为 b 如果是确定的策略,对于任何状态 ,只有一个 使得(|)=1 ,其余的都是 0。因为 b 是 的 coverage,所以除了 j,其余所有的 (|)=0 ,因此只有 (|)>0 ,因此它必须是 (|)=1 ,这样 和 b 就是相同的策略,这显然不是 Off-Policy 策略。

因此在 Off-Policy 控制里,行为策略通常是随机的,它会“探索”,而目标策略通常是固定的贪心的策略,它更多的是“利用”。几乎所有的 Off-Policy 策略都使用重要性采样 (Importance Sampling) 方法,这是根据一个概率分布来估计另外一个不同的概率分布的常见方法。我们希望估计的是策略 ,而实际采样用的是 b 生成的 Episode。因此我们在计算平均的回报时需要对它乘以一个采样重要性比例 (importance-sampling ratio) 来加权。通俗的解释就是:(|) 的概率是0.2,而(|)=0.4 ,那么我们需要乘以 2。给定初始状态 和策略 ,再给定任意状态-行为轨迹 (trajectory),我们可以就是其条件概率——在给定策略下出现这个轨迹的概率。

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

虽然轨迹的概率是和 MDP 的转移概率 (′|,) 有关,但是两个策略的重要性比例是和它无关的,它只跟两个策略相关。

为了介绍后面的算法,我们先介绍一个数学记号,请读者在继续阅读之前熟悉这些记号。首先我们把很多的 Episode 使用统一的时刻来标志,也就是把所有的 Episode 顺序的串起来。比如有两个Episode,1 是 105 个时间单位,2 是 50 个。那么我们用 1 到 155 来标识这过两个Episode。2 的第一个时刻是 106,2 的最后一个时刻是 155。我们介绍一个记号 τ(s),如果是 every-visit 的方法,它代表状态 s 在同样时间里的下标集合;如果是 first-visit 的方法,那么每个 Episode 只算第一次的出现。举例来说:比如两个 Episode 是 {1,1,2,3} 和{2,3,2,1} 。如果是 every-visit 的方法,则 (1)={1,2,8} ;如果是 first-visit 方法,则(1)={1,8} 。然后是记号T(t),它表示 t 时刻之后的第一个结束时刻。对于上面的例子 T(2)=4, T(5)=8,表示第 2 个时刻之后的第一个结束时刻是 4,第 5 个时刻之后的第一个结束时刻是 8。其实就是这个时刻所在 Episode 的结束时刻。再就是记号 G(t),它表示从 t 时刻到 T(t) 时刻的回报 (Return),也就是 t 时刻的回报。因此记号 {()}∈() 表示所有这些 Episode 里状态 s 的回报的集合。{:()1}∈() 表示与之对应的采样重要性比例。

为了估计 () ,我们可以简单的用重要性比例加权平均回报:

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

这种平均方法加普通重要性采样 (ordinary importance sampling),另外一种叫加权重要性采样 (weighted importance sampling):

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

普通重要性采样是无偏的估计,而加权重要性采样是有偏的估计;前者的方差很大,而后者较小。Off-Policy预测的伪代码如下:

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

图:Off-Policy蒙特卡罗预测

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

Off-Policy 蒙特卡罗控制

有了 Off-Policy 预测之后,我们很容易得到 Off-Policy 蒙特卡罗控制。伪代码如下:

潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)

图:Off-Policy 蒙特卡罗控制

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读