微软研究院AI头条 2018-10-16
点击上方关注,All in AI中国
作者:Artem Oppermann
这是关于自学习人工智能代理的多部分系列的第一篇文章,或者更准确地称之为深度强化学习。本系列的目的不仅仅是让你对这些主题有所了解。相反,我想让你更深入地理解深度强化学习的最流行和最有效的方法背后的理论、数学和实施。
自学习人工智能代理系列 - 目录
图1 人工智能学会如何运行和克服障碍马尔可夫决策过程
目录
0.简介
深度强化学习正在兴起。近年来,世界各地的研究人员和行业媒体都没有更多关注深度学习的其他子领域。在深度学习方面取得的最大成就是由于深度的强化学习。来自谷歌公司的Alpha Go在围棋游戏中击败了世界围棋冠军(这是几年前不可能实现的成就),还有DeepMind的人工智能代理,他们自学走路、跑步和克服障碍(图1-3) 。
图2. 人工智能代理学会如何运行和克服障碍
图3. 人工智能代理学会如何运行和克服障碍
其他人工智能代理自从2014年以来在玩雅达利游戏(Atari游戏)中的表现超过了人类水平(图4)。在我看来,关于所有这一切的最令人惊奇的事实是,这些人工智能代理中没有一个是由人类明确编程或教导如何解决这些任务。他们通过深度学习和强化学习的力量自学。多部分系列的第一篇文章的目标是提供必要的数学基础,以便在即将发表的文章中解决人工智能这个子领域中最有希望的领域。
图4 人工智能代理学习如何玩Atari游戏
1. 深度强化学习
深度强化学习可以概括为构建一个直接从与环境的交互中学习的算法(或人工智能代理)(图5)。其环境可能是现实世界、计算机游戏、模拟甚至是棋盘游戏,如围棋或国际象棋。与人类一样,人工智能代理从其行为的后果中学习,而不是从明确的教导中学习。
图5深度强化学习的示意图
在深度强化学习中,代理由神经网络表示。神经网络直接与环境相互作用。它观察当前的环境状况,并根据当前状态和过去的经验决定采取什么行动(例如向左、向右等)。基于所采取的行动,人工智能代理收到奖励。奖励金额决定了解决给定问题所采取行动的质量(例如学习如何行走)。代理的目标是学习在任何特定情况下采取行动,以最大化累积的奖励。
2.马尔可夫决策过程
马尔可夫决策过程(MDP)是离散时间随机控制过程。马尔可夫决策过程(MDP)是我们迄今为止为人工智能代理的复杂环境建模的最佳方法。代理旨在解决的每个问题可以被认为是状态序列S1,S2,S3,... Sn(状态可以是例如围棋/象棋板配置)。代理执行操作并从一个状态移动到另一个状态。在下文中,将学习确定代理在任何给定情况下必须采取的行动的数学。
式1 马可夫性质(Markov property)
2.1马尔可夫过程
马尔可夫过程是描述一系列可能状态的随机模型,其中当前状态仅依赖于先前状态。这也称为马可夫性质(Markov property)(式1)。对于强化学习,这意味着人工智能代理的下一个状态仅取决于最后一个状态,而不是之前的所有先前状态。
马尔可夫过程是一个随机过程。这意味着从当前状态s到下一个状态s'的转换只能以某个概率Pss'(式2)发生。在马尔可夫过程中,被告知要离开的代理只会以一定的概率离开(例如0.998)。由可能性很小的环境来决定代理的最终结果。
式2从状态s到状态s'的转换概率
Pss'可以被认为是状态转移矩阵P中的条目,其定义从所有状态s到所有后继状态s'(等式3)的转移概率。
式3转移概率矩阵
记住:马尔可夫过程(或马尔可夫链)是一个元组<S,P>。S是一组(有限的)状态。 P是状态转移概率矩阵。
2.2马尔可夫奖励程序
马尔可夫奖励过程是元组<S,P,R>。这里R是代理希望在状态s(式4)中获得的奖励。该过程的动机是,对于旨在实现某个目标的人工智能代理,例如赢得国际象棋比赛,某些状态(比赛配置)在战略和赢得比赛的潜力方面比其他状态更有希望。
式4 状态的预期奖励
感兴趣的主要话题是总奖励Gt(式5),它是代理将在所有状态的序列中获得的预期累积奖励。每个奖励都由所谓的折扣因子γ∈[0,1]加权。折扣奖励在数学上是方便的,因为它避免了循环马尔可夫过程中的无限回报。除了折扣因素,意味着我们未来越多,奖励变得越不重要,因为未来往往是不确定的。如果奖励是金融奖励,立即奖励可能比延迟奖励获得更多利益。除了动物/人类行为表明喜欢立即奖励。
式5所有状态的总奖励
2.3价值函数
另一个重要的概念是价值函数v(s)之一。值函数将值映射到每个状态s。状态s的值被定义为人工智能代理在状态s中开始其进展时将获得的预期总奖励(式6)。
式6价值函数从状态s开始的预期收益
价值函数可以分解为两部分:
式7分解价值函数
3.贝尔曼方程
3.1马尔可夫奖励过程的贝尔曼方程
分解的值函数(式8)也称为马尔可夫奖励过程的贝尔曼方程。该功能可以在节点图中显示(图6)。从状态s开始导致值v(s)。在状态s中我们有一定的概率Pss'最终在下一个状态s'中结束。在这种特殊情况下,我们有两个可能的下一个状态为了获得值v(s),我们必须总结由概率Pss'加权的可能的下一个状态的值v(s'),并从状态s中添加即时奖励。这产生了式9,如果我们在式中执行期望算子E,那么这只不是式8。
式8分解价值函数
图6从s到s'的随机过渡
式9执行期望算子E后的贝尔曼方程
3.2马尔可夫决策过程 - 定义
马尔可夫决策过程是马尔可夫奖励过程的决策。马尔可夫决策过程由一组元组<S,A,P,R>描述,A是代理可以在状态s中采取的一组有限的可能动作。因此,现在处于状态s中的直接奖励也取决于代理在这种状态下所采取的行动(等式10)。
式10 预期奖励取决于状态的行动
3.3政策
在这一点上,我们将讨论代理如何决定在特定状态下必须采取哪些行动。这由所谓的政策π(式11)决定。从数学角度讲,政策是对给定状态的所有行动的分配。策略确定从状态s到代理必须采取的操作a的映射。
式11作为从s到a的映射的策略
在此记住,直观地说,策略π可以被描述为代理根据当前状态选择某些动作的策略。
该策略导致状态值函数v(s)的新定义(式12),我们现在将其定义为从状态s开始的预期返回,然后遵循策略π。
式12状态价值函数
3.4动作价值函数
除状态值函数之外的另一个重要功能是所谓的动作价值函数q(s,a)(式13)。动作价值函数是我们通过从状态s开始,采取动作a然后遵循策略π获得的预期回报。请注意,对于状态s,q(s,a)可以采用多个值,因为代理可以在状态s中执行多个操作。Q(s,a)的计算是通过神经网络实现的。给定状态作为输入,网络计算该状态下每个可能动作的质量作为标量(图7)。更高的质量意味着在给定目标方面采取更好的行动。
图7动作价值函数的图示
记住:动作价值函数告诉我们在特定状态下采取特定行动有多好。
式13 动作价值函数
以前,状态值函数v(s)可以分解为以下形式:
式14分解的状态价值函数
相同的分解可以应用于动作价值函数:
式15分解的状态价值函数
在这一点上,我们讨论v(s)和q(s,a)如何相互关联。这些函数之间的关系可以在图中再次可视化:
图8 v(s)和q(s,a)之间关系的可视化
在这个例子中处于状态s允许我们采取两种可能的动作a。根据定义,在特定状态下采取特定动作会给我们动作价值q(s,a)。动作价值函数v(s)是在状态s(式16)中采取动作a的概率加权的可能q(s,a)的总和(其不是策略π除外)。
式16状态价值函数作为动作价值的加权和
现在让我们考虑图9中的相反情况。二叉树的根现在是一个我们选择采取特定动作的状态。请记住,马尔可夫过程是随机的。采取行动并不意味着你将以100%的确定性结束你想要的目标。严格地说,你必须考虑在采取行动后最终进入其他状态的概率。在采取行动后的这种特殊情况下,你可以最终处于两个不同的下一个状态s':
图9 v(s)和q(s,a)之间关系的可视化
要获得动作价值,你必须采用由概率Pss'加权的折扣状态值,以最终处于所有可能的状态(在这种情况下仅为2)并添加即时奖励:
式17 q(s,a)和v(s)之间的关系
现在我们知道了这些函数之间的关系,我们可以从Eq中插入v(s)。从式16插入到式17的q(s,a),我们获得了式18中,可以注意到,当前q(s,a)和下一个动作价值q(s',a')之间存在递归关系。
式18 动作价值函数的递归性质
这种递归关系可以再次在二叉树中可视化(图10)。我们从q(s,a)开始,以一定概率Pss'结束在下一个状态s',我们可以用概率π采取动作a',我们以动作价值q结束(s',一个')。为了获得q(s,a),我们必须在二叉树中上升并整合所有概率,如式18所示。
图10 q(s,a)的递归行为的可视化
3.5最优政策
深度强化学习中最重要的主题是找到最优的动作价值函数q *。查找q *表示代理确切地知道任何给定状态下的动作的质量。此外,代理商可以决定必须采取哪种行动的质量。让我们定义q *的意思。最佳的动作价值函数是遵循最大化动作价值的策略的函数:
式19最佳行动价值函数的定义
为了找到最好的策略,我们必须在q(s,a)上最大化。最大化意味着我们只选择q(s,a)具有最高价值的所有可能动作中的动作a。这为最优策略π产生以下定义:
式19最佳行动价值函数的定义
3.6 贝尔曼最优性方程
可以将最优策略的条件插入到式中。式18因此为我们提供了贝尔曼最优性方程:
式21 贝尔曼最优性方程
如果人工智能代理可以解决这个等式,那么它基本上意味着解决了给定环境中的问题。代理在任何给定的状态或情况下都知道关于目标的任何可能行动的质量并且可以相应地表现。
解决贝尔曼最优性方程将成为即将发表的文章的主题。在下面的文章中,我将向你介绍第一种解决深度Q-Learning方程的技术。