强化学习(Reinforcement Learning)和MDP

【摘要】 1.1        强化学习(Reinforcement Learning)和MDP1.1.1        强化学习的基础概念图 ‑ 强化学习的多面性(David Silver) 简单而言,深度强化学习是深度学习和强化学习的“融合体”。因而在学习DRL之前,我们有必要先了解一下强化学习。强化学习虽然已经有几十年的历史,但它在最近几年突然火起来则要归功于DeepMind。这家建立于英国的小…

1.1 强化学习(Reinforcement Learning)和MDP

1.1.1 强化学习的基础概念

图 ‑ 强化学习的多面性(David Silver)

简单而言,深度强化学习是深度学习和强化学习的“融合体”。因而在学习DRL之前,我们有必要先了解一下强化学习。

强化学习虽然已经有几十年的历史,但它在最近几年突然火起来则要归功于DeepMind。这家建立于英国的小公司在2013年开始就不断地在实现着各种突破——从Atari游戏打败人类,并将成果发表于Nature上;再到开发出AlphaGO系列围棋智能程序,一次次挑战人类智慧巅峰,这些爆炸性的消息一遍遍地刷新着每天的热点榜单,也就直接带火了深度强化学习(以及强化学习)。关于AlphaGO的内部实现原理,本书后续章节有详细解析。

强化学习和有监督学习/无监督学习类似,是Machine Learning的一种类型。与后两者的不同之处在于,它强调的是从环境的交互中来寻求最优解。如下图所示:

图 ‑ 强化学习的基本概念

在强化学习过程中,智能体Agent从环境(Environment)中观察到状态变化,并根据当前情况做出相应的动作(Action);环境则针对Agent的动作所产生的效果来判断是否应该给予Agent一定的奖励(reward)——例如在flappy bird中一旦小鸟成功穿越了一根柱子,则分数值会加1。

强化学习和人类的学习过程也很类似。举个例子来说,我们在刚开始学习骑自行车时,不可避免地会不断地摔倒,或者车身不稳(此时reward为负);过了一段时间,可以向前成功地骑一会儿(相当于reward为正);再到最后技艺越来越纯熟,就基本上不会摔倒了。从强化学习的角度来讲,我们的训练目的就是让长期的reward值最高。换句话说,就是要尽量地控制不摔倒,且能顺利稳定地往前行进。

1.1.2 MDP

Markov decision process,简单来说是针对随机动态系统最优决策过程的一种建模方式。它的起源可以追溯到20世纪50年代R.Bellman在“Journal of Mathematics and Mechanics”上发表的《A Markovian Decision Process》,以及Ronald A.在60年代出版的《Dynamic Programming and Markov Processes》一书。随后MDP逐渐在多个学科方向上获得了长足发展(特别是机器人、自动化控制等需要工业应用和理论知识相结合的研究领域)。

值得一提的是,马尔科夫决策过程(MDP)和马尔科夫性质(Markov property)以及马尔科夫链(Markov chains)是有区别的——这同时也是很多人工智能初学者容易混淆的几个概念。首先,Markov一词来源于一位著名的俄罗斯数学家“Andrey (Andrei) Andreyevich Markov”,以记念他在“随机过程”领域所做出的贡献。另外,他的弟弟Vladimir Andreevich Markov和他的儿子小马尔科夫也是有名的数学家,有兴趣的读者可以自行查阅相关资料。

马尔科夫性质是概率论中的一个概念,指的是如果一个随机过程满足“其未来状态的条件概率分布(conditional probability distribution)只依赖于当前状态”的条件,那么就可以称之为具备了Markov property的Markov Process。

对于Markov chain,我们通常的理解就是状态或者时间空间离散的一种Markov process。因而在面对不同的问题时,我们需要依据它们的具体属性来选择合适的模型加以分析,这样才能保证最终结果的准确性。

Markov decision processes是上述Markov chain的扩展。如果每个状态只有一种可选动作(action),并且所有的“奖赏”(reward)都是一样的,那么MDP就等同于MC了。

接下来我们再从数学表达方式的角度来进一步了解MDP。

MDP通常利用一个五元组来表示,即(S, A, P, R, γ),其中:

l S代表一个有限的状态集合

l A代表一个有限的动作集合

l Pa(s, s`)是指在状态s下采取动作a迁移到状态s`的概率大小

l Ra(s, s`)是指在状态s下采取动作a迁移到状态s`所获得的立即奖励(immediate reward)

l γ[0, 1]是一个折扣因子(discount factor),它的作用是让我们可以综合考虑future reward和present reward的重要性。后续我们还会结合具体例子做详细讲解,现在大家只要记住它的概念就可以了

下图是一个简单的MDP范例,它包含了2个状态(圆形)和2个可选动作(椭圆形):

MDP所要解决的核心问题,就是在状态s时如何作出最佳的决策,表示为п(s)。那么什么样的决策是最佳的呢?如果单纯只是考虑让当前的reward值最大化显然是不够的,这就好比在下棋时,我们更需要的是取得全局性最终的胜利,而不是贪图在中间过程中去计较小得小失。

总的来说,一方面马尔科夫决策过程是强化学习的理论基础;另一方面后者又是MDP的继承和发展,或者说合理应用RL是MDP问题的有效解决方案。因为它们之间的密切联系,所以理解MDP对于我们学习后者是大有裨益的。

1.1.3 强化学习的核心三要素

强化学习中有3个核心要素,即Policy、Value和Model。

(1) RL的核心三要素之一:Policy

大家知道当Agent在面对一个状态state时,它需要给出相应的动作action,对此我们称之为策略。数学公式表达如下:

如果是Stochastic policy:

π(a|s) = P[At = a|St = s]

如果是Deterministic policy:

a = π(s)

其中π代表的是policy,而P代表的是概率分布。换句话说,增强学习中的策略有两种类型。一种是以条件概率的形式给出来的。比如在前面MDP的范例中,S1状态下采取a1的概率是0.6,而采取a2的概率是0.4。之所以这么设计,是因为强化学习需要引入一定的随机性来做探索(exploration),以期可以找到更优的策略(想象一下玩老虎机的场景,我们希望从中找出规律以期获取最大收益。如果每次我们都选已经探索过的当前最佳动作来操作,而不尝试新的动作,那么就有可能错失赢得更多奖赏的可能性——这就是著名的exploitation和exploration问题,建议读者可以自行查阅相关资料了解详情)。

另一类就是Deterministic policy,也就是确定性的策略。这种情况可以看做Stochastic Policy的一个特例,也就是说某个action的概率达到了1。

(2) RL的核心三要素之二:Value

状态-值函数

前面我们提到强化学习希望得到的是全局性的最佳收益,而不是使立即奖赏最大化。事实上符合这个条件的全局收益有很多种方案,而其中应用较为广泛的一种是让奖赏的累加值达到最大,表达式为:

Gt=

也就是计算从s1->s2->s3->…所产生的reward累加值,同时考虑折损因子。

大家可能会有疑问——既然Policy是概率分布的(意味着在状态s时所采取的动作和后续经历的状态都不是固定的),那么前面的Gt不就是一个不确定的值吗?说的没错。所以说我们不能直接用Gt来衡量策略下状态的价值,取而代之的是它的期望值。公式如下:

状态-行为值函数

代表的是某个状态的价值,这在很多情况下是有意义的——比如围棋当前的局面赢率有多大,对于棋手来说至关重要。不过还有另外一个值对我们也同样关键,那就是状态-行为值函数。

从名称上不难理解,它是指某个状态下采取某种行为的价值。我们在状态S时如何选择最佳的动作?理论上来讲就是选择状态-行为值最大的一个动作。它的公式如下:

=

不难看出,状态值函数和状态-行为值函数的关系如下:

也可以用下图来形象地表示:

其中实心圆形表示的是状态-行为值,空心圆形则代表状态值——简单来说它就等于所有状态-行为值和它们对应的动作概率分布的累加和。

(3) RL的核心三要素之三:Model

强化学习中的模型用于预测环境的下一步变化。具体来讲,P用于预测下一个状态;R用于预测下一个立即奖赏。它们对应的数学表达式如下:

= P [St+1 = s` | St = s, At = a]

= E [Rt+1 | St = s, At = a]

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享