作者|Nathan Lambert
编译|VK
起源|Towards Data Science
钻研价值迭代和策略迭代。
本文着重于对根本的MDP进行了解(在此进行简要回顾),将其利用于根本的强化学习办法。我将重点介绍的办法是"价值迭代"和"策略迭代"。这两种办法是Q值迭代的根底,它间接导致Q-Learning。
你能够浏览我之前的一些文章(无意独立):
- 什么是马尔可夫决策过程?(https://towardsdatascience.co...
- 强化学习的线性代数(https://towardsdatascience.co...
Q-Learning开启了咱们所处的深度强化学习的浪潮,是强化学习学生学习策略的重要一环。
回顾马尔可夫决策过程
马尔可夫决策过程(MDPs)是反对强化学习(RL)的随机模型。如果你相熟,你能够跳过这一部分,不过我减少了一些相干的解释。
定义
- 状态集$s\in S,动作集$ain A$。状态和动作是代理程序所有可能的地位和动作的汇合。在高级强化学习中,状态和动作是间断,所以这须要重新考虑咱们的算法。
- 转换函数T(s,a,s')。给定以后地位和给定动作,T决定下一个状态呈现的频率。在强化学习中,咱们不拜访这个函数,因而这些办法试图对采样数据进行近似或隐式学习。
- 处分函数R(s,a,s')。此函数阐明每个步骤可取得多少处分。在强化学习中,咱们不应用此函数,因而咱们从采样值r中学习,采样值r使算法摸索环境,而后利用最优轨迹。
- 折扣因子(伽马,范畴[0,1])可将下一步的值调整为未来的处分。在强化学习中,咱们不应用此函数,(gamma)管制了大部分学习算法和Bellman系优化的收敛性。
- 初始状态s0,也可能是完结状态。
重要价值
MDP有两个重要的特色,状态值和机会节点(chance node)的q值。任何MDP或RL值中的*示意最佳数量。
- 状态值:状态的值就是从状态开始后处分的最优递归和。
- 状态的Q值,动作对:Q值是与状态-动作对相关联的折扣处分的最优和。
最佳值与最佳动作条件q值相干。而后,值和q值更新规定十分类似(加权转换,处分和折扣因子)。顶部:值与q值的耦合;中部:Q值递归:,底部:值的迭代。参考:https://inst.eecs.berkeley.ed...
引领强化学习
值迭代
学习所有状态的值,而后咱们能够依据梯度来操作。值迭代间接从Bellman更新中学习状态的值。在某些非限制性条件下,Bellman更新被保障收敛到最优值。
学习一项策略可能比学习一种价值观更间接。学习一个值可能须要有限长的工夫来收敛到一个64位浮点数的数值精度(思考在每次迭代中一个常数的挪动均匀,在开始预计为0之后,它将永远增加一个越来越小的非零数)。
策略迭代
学习与值相干的策略。策略学习增量地查看以后值并提取策略。因为动作空间是无限的,咱们心愿它能比值迭代收敛得更快。从概念上讲,对操作的最初一次更改将产生在小的滚动均匀更新完结之前。策略迭代有两个步骤。
第一个称为策略提取,就是如何从一个值转换到一个策略,这策略使期望值最大化。
第二步是策略评估。策略评估采纳策略,并以策略为条件进行值迭代。这些样本永远与策略相干,然而咱们必须运行迭代算法,以缩小提取相干动作信息的步骤。
与值迭代一样,因为底层的Bellman更新,对于大多数正当的MDPs,策略迭代保障收敛。
Q值迭代
学习最优值的问题是很难从中提取出策略。argmax算子显著是非线性的,很难进行优化,因而q值迭代法向间接策略提取迈出了一步。每个状态下的最优策略就是那个状态下的最大q值。
大多数指令以"值迭代"结尾的起因是,它天然地进入了Bellman更新中。Q值迭代须要一起替换两个要害MDP值关系。这样做之后,这是咱们将要理解的Q-Learning的第一步。
大多数指令以值迭代开始的起因是,它能够更天然地插入Bellman更新。Q值迭代须要一起替换两个要害的MDP值关系。这样做之后,它就离咱们将要理解的Q-learning一步之遥了。
这些迭代算法是怎么回事?
让咱们确保你了解了所有的术语。实质上,每个更新由求和后的两个项组成(也可能是由max来进行的抉择动作)。让咱们用括号括起来而后探讨它们与MDP的关系。
第一项是T(s,a,s')R(s,a,s')乘积的总和。这一项示意潜在的值和给定状态和转换的可能性。T,或者说转换,决定了从转换中取得给定回报的可能性(回忆一下,一个元组s,a,s '决定了其中一个动作a将一个代理从一个状态s带到另一个状态s')。这将做一些事件,这会做一些事件,例如衡量具备高处分的低概率状态与权重较低的频繁状态。
下一项决定了这些算法的“bellman个性”。它是迭代算法V的最初一步的数据加权,下面的公式有一项。这从邻近状态获取对于值的信息,这样咱们就能够了解长期的转变。将这一项看作递归更新的次要产生地位,而第一项则是由环境决定的优先权重。
收敛条件
告知所有迭代算法"在某些条件下收敛到最佳值或策略"。这些条件是:
- 状态空间总覆盖率。条件是所有状态、动作、next_state元组都是在条件策略下达到的。如果不这样做,来自MDP的一些信息将会失落,并且值可能会停留在初始值上。
- 折扣因子 < 1。否则造成有限循环,并且最初趋于无穷大。
值得庆幸的是,在实践中,这些条件很容易满足。大多数摸索都具备epsilon贪心性,包含总有随机动作的机会(因而任何动作都是可行的),并且non-one折现因子会导致更佳的性能。最终,这些算法能够在很多设置下工作,因而相对值得一试。
强化学习
咱们如何将咱们所看到的变成强化学习问题?咱们须要应用样本,而不是真正的T(s,a,s')和R(s,a,s')函数。
基于样本的学习-如何解决暗藏的MDP
MDPs中的迭代办法与解决强化学习问题的根本办法之间的惟一区别是,RL样本来自MDP的底层转换和处分函数,而不是将其蕴含在更新规定中。有两件事咱们须要更新,替换T(s,a,s ')和替换R(s,a,s ')
首先,让咱们将转换函数近似为每个察看元组的均匀动作条件转换。咱们没有看到的所有值都是用随机值初始化的。这是基于模型的强化学习最简略的模式(我的钻研畛域)。
当初,剩下的就是记住如何应用处分。然而,咱们实际上每一步都有一个处分,所以咱们能够不受惩办(办法用许多样本均匀出正确的值)。思考用采样处分近似q值迭代方程,如下所示。
下面的等式是Q-Learning。咱们从一些填充有随机值的向量Q(s,a)开始,而后收集与世界的交互并调整alpha。Alpha是一种学习率,因而当咱们认为算法正在收敛时,咱们将升高它。
结果表明,Q-learning与Q-value迭代十分类似,但咱们只是在一个不残缺的世界观下运行这个算法。
机器人和游戏中应用的Q-learning是在更简单的特色空间中,神经网络近似于一个蕴含所有状态-动作对的大表格。
原文链接:https://towardsdatascience.co...
欢送关注磐创AI博客站:
http://panchuang.net/
sklearn机器学习中文官网文档:
http://sklearn123.com/
欢送关注磐创博客资源汇总站:
http://docs.panchuang.net/