购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

对于一个强化学习智能体,它可能有一个或多个如下的组成部分。

下面我们深入了解这3个组成部分的细节。

策略是智能体的动作模型,它决定了智能体的动作。它其实是一个函数,用于把输入的状态变成动作。策略可分为两种:随机性策略和确定性策略。

随机性策略(stochastic policy) 就是 函数,即 。输入一个状态 ,输出一个概率。这个概率是智能体所有动作的概率,然后对这个概率分布进行采样,可得到智能体将采取的动作。比如可能是有 0.7 的概率往左,0.3 的概率往右,那么通过采样就可以得到智能体将采取的动作。

确定性策略(deterministic policy) 就是智能体直接采取最有可能的动作,即

如图1.13所示,从雅达利游戏来看,策略函数的输入就是游戏的一帧,它的输出决定智能体向左移动或者向右移动。

图1.13 策略函数

通常情况下,强化学习一般使用随机性策略,随机性策略有很多优点。比如,在学习时可以通过引入一定的随机性来更好地探索环境;随机性策略的动作具有多样性,这一点在多个智能体博弈时非常重要。采用确定性策略的智能体总是对同样的状态采取相同的动作,这会导致它的策略很容易被对手预测。

价值函数的值是对未来奖励的预测,我们用它来评估状态的好坏。价值函数中有一个 折扣因子(discount factor) ,我们希望在尽可能短的时间内得到尽可能多的奖励。比如现在给我们两个选择:10天后给我们100元或者现在给我们100元。我们肯定更希望现在就给我们 100 元,因为可以把这 100 元存在银行中,这样就会有一些利息。因此,我们可以把折扣因子放到价值函数的定义中,价值函数的定义为

,对于所有的 (1.4)

期望 的下标是 函数, 函数的值可反映在我们使用策略 的时候,到底可以得到多少奖励。

我们还有一种价值函数:Q 函数。Q 函数中包含两个变量:状态和动作。其定义为

(1.5)

所以我们未来可以获得奖励的期望取决于当前的状态和当前的动作。Q 函数是强化学习算法中要学习的一个函数。因为当我们得到 Q 函数后,进入某个状态要采取的最优动作可以通过 Q 函数得到。

第3个组成部分是模型,模型决定了下一步的状态。下一步的状态取决于当前的状态以及当前采取的动作。它由状态转移概率和奖励函数两个部分组成。状态转移概率即

(1.6)

奖励函数是指我们在当前状态采取了某个动作,可以得到多大的奖励,即

(1.7)

当我们有了策略、价值函数和模型3个组成部分后,就形成了一个 马尔可夫决策过程 。如图1.14所示,这个决策过程可视化了状态之间的转移以及采取的动作。

图1.14 马尔可夫决策过程 [2]

我们来看一个走迷宫的例子。如图1.15所示,要求智能体从起点(start)开始,最后到达终点(goal)的位置。每走一步,就会得到-1 的奖励。我们可以采取的动作是往上、下、左、右走。我们用现在智能体所在的位置来描述当前状态。

图1.15 走迷宫的例子 [3]

我们可以用不同的强化学习方法来“解”这个环境。如果采取基于策略的强化学习(policy-based RL)方法,当学习好了这个环境后,在每一个状态,我们都会得到一个最佳的动作。如图1.16所示,比如现在在起点位置,我们知道最佳动作是往右走;在第二格的时候,得到的最佳动作是往上走;第三格是往右走 通过最佳的策略,我们可以最快地到达终点。

图1.16 使用基于策略的强化学习方法得到的结果 [3]

如果换成基于价值的强化学习(value-based RL)方法,利用价值函数作为导向,我们就会得到另外一种表征,每一个状态会返回一个价值。如图1.17所示,比如我们在起点位置的时候,价值是 ,因为最快可以 16 步到达终点。因为每走一步会减1,所以这里的价值是 。当我们快接近终点的时候,这个数字变得越来越大。在拐角的时候,比如现在在第二格,价值是 ,智能体会看上、下两格,它看到上面格子的价值变大了,变成 了,下面格子的价值是 ,那么智能体就会采取一个往上走的动作。所以通过学习的价值的不同,我们可以抽取出现在最佳的策略。

图1.17 使用基于价值的强化学习方法得到的结果 [3]

1. 基于价值的智能体与基于策略的智能体

根据智能体学习的事物不同,我们可以把智能体进行归类。 基于价值的智能体(value-based agent) 显式地学习价值函数,隐式地学习其策略。策略是其从学到的价值函数中推算出来的。 基于策略的智能体(policy-based agent) 直接学习策略,给它一个状态,它就会输出对应动作的概率。基于策略的智能体并没有学习价值函数。把基于价值的智能体和基于策略的智能体结合起来就有了 演员-评论员智能体(actor-critic agent) 。这一类智能体通过学习策略函数和价值函数以及两者的交互得到最佳的动作。

Q:基于策略和基于价值的强化学习方法有什么区别?

A:对于一个状态转移概率已知的马尔可夫决策过程,我们可以使用动态规划算法来求解。从决策方式来看,强化学习又可以划分为基于策略的方法和基于价值的方法。决策方式是智能体在给定状态下从动作集合中选择一个动作的依据,它是静态的,不随状态变化而变化。在基于策略的强化学习方法中,智能体会制定一套动作策略,即确定在给定状态下需要采取何种动作,并根据这个策略进行操作。强化学习算法直接对策略进行优化,使制定的策略能够获得最大的奖励。而在基于价值的强化学习方法中,智能体不需要制定显式的策略,它维护一个价值表格或价值函数,并通过这个价值表格或价值函数来选取价值最大的动作。基于价值的方法只能应用在离散的环境下(如围棋或某些游戏领域),对于动作集合规模庞大、动作连续的场景(如机器人控制领域),其很难学习到较好的结果(此时基于策略的方法能够根据设定的策略来选择连续的动作)。基于价值的强化学习算法有Q学习(Q-learning)、 Sarsa 等,而基于策略的强化学习算法有策略梯度算法等。此外,演员-评论员算法同时使用策略和价值评估来做出决策。其中,智能体会根据策略做出动作,而价值函数会对做出的动作给出价值,这样可以在原有的策略梯度算法的基础上加速学习过程,取得更好的效果。

2. 有模型强化学习智能体与免模型强化学习智能体

另外,我们可以通过智能体到底有没有学习环境模型来对智能体进行分类。 有模型(model-based) 强化学习智能体,它通过学习状态的转移来采取动作。 免模型(model-free) 强化学习智能体,它没有直接估计状态的转移,也没有得到环境的具体转移变量,它通过学习价值函数和策略函数进行决策。免模型强化学习智能体的模型中没有环境转移的模型。

我们可以用马尔可夫决策过程来定义强化学习任务,并将其表示为四元组 ,即状态集合、动作集合、状态转移函数和奖励函数。如果这个四元组中所有元素均已知,且状态集合和动作集合在有限步数内是有限集,则智能体可以对真实环境进行建模,构建一个虚拟世界来模拟真实环境中的状态和交互反应。具体来说,当智能体知道状态转移函数 和奖励函数 后,它就能知道在某一状态下执行某一动作后能带来的奖励和环境的下一状态,这样智能体就不需要在真实环境中采取动作,直接在虚拟世界中学习和规划策略即可。这种学习方法称为 有模型强化学习 。有模型强化学习的流程如图1.18所示。

然而在实际应用中,智能体并不是那么容易就能知晓马尔可夫决策过程中的所有元素的。通常情况下,状态转移函数和奖励函数很难估计,甚至连环境中的状态都可能是未知的,这时就需要采用免模型强化学习。免模型强化学习没有对真实环境进行建模,智能体只能在真实环境中通过一定的策略来执行动作,等待奖励和状态迁移,然后根据这些反馈信息来更新动作策略,这样反复迭代直到学习到最优策略。

图1.18 有模型强化学习流程 [4]

Q:有模型强化学习和免模型强化学习有什么区别?

A:针对是否需要对真实环境建模,强化学习可以分为有模型强化学习和免模型强化学习。有模型强化学习是指根据环境中的经验,构建一个虚拟世界,同时在真实环境和虚拟世界中学习;免模型强化学习是指不对环境进行建模,直接与真实环境进行交互来学习到最优策略。

总之,有模型强化学习相比免模型强化学习仅仅多出一个步骤,即对真实环境进行建模。因此,一些有模型强化学习方法,也可以在免模型强化学习方法中使用。在实际应用中,如果不清楚该用有模型强化学习还是免模型强化学习,可以先思考在智能体执行动作前,是否能对下一步的状态和奖励进行预测,如果能,就能够对环境进行建模,从而采用有模型强化学习。

免模型强化学习通常属于数据驱动型方法,需要大量的采样来估计状态、动作及奖励函数,从而优化动作策略。例如,在雅达利平台上的《太空侵略者》游戏中,免模型的深度强化学习需要大约两亿帧游戏画面才能学到比较理想的效果。相比之下,有模型的深度强化学习可以在一定程度上缓解训练数据匮乏的问题,因为智能体可以在虚拟世界中进行训练。免模型强化学习的泛化性要优于有模型强化学习,原因是有模型强化学习需要对真实环境进行建模,并且虚拟世界与真实环境之间可能还有差异,这限制了有模型强化学习算法的泛化性。有模型强化学习可以对环境建模,使得该类方法具有独特魅力,即“想象能力”。在免模型强化学习中,智能体只能一步一步地采取策略,等待真实环境的反馈;有模型强化学习可以在虚拟世界中预测出将要发生的事,并采取对自己最有利的策略。

目前,大部分深度强化学习方法都采用了免模型强化学习,这是因为:免模型强化学习更为简单、直观且有丰富的开源资料,如 AlphaGo 系列都采用免模型强化学习;在目前的强化学习研究中,大部分情况下环境都是静态的、可描述的,智能体的状态是离散的、可观察的(如雅达利游戏平台),这种相对简单、确定的问题并不需要评估状态转移函数和奖励函数,可直接采用免模型强化学习,使用大量的样本进行训练就能获得较好的效果 [4]

如图1.19所示,我们可以把几类模型放到一个维恩图中。图1.19有3个组成部分:价值函数、策略和模型。按一个智能体具有三者中的三者、两者或一者的情况可以把它分成很多类。

图1.19 强化学习智能体的类型 [3] tuY3g/InzwkJBcGjZXcl2jkkDJ2qpbEfj53SBVoyBGPCY2k3J0+Wl8qK1oete6na

点击中间区域
呼出菜单
上一章
目录
下一章
×