漫谈深度强化学习之基础概念

漫谈深度强化学习之基础概念

  张泽旺  深度学习每日摘要  2017-02-23

当下,深度强化学习(Deep Reinforcement Learning)的应用已经铺天盖地般出现了。为什么说深度学习(Deep Learning)和强化学习(Reinforcement Learning)可以进行结合呢?我们知道深度学习其实就是认知学习,而且深度学习相比于传统的机器学习算法一个明显的优点就是它不需要知道太多特定领域的知识,即可自我学习。当然,要进行自我学习必须得有一个目标函数,而强化学习恰好可以充当提供目标函数的角色。因此,要想实现人类水平的人工智能,深度学习和强化学习必须要完美结合:

AI = RL + DL


由于笔者之前已经写了很多篇深度学习方面的知识,笔者今天不打算讲解深度学习的基础知识,有需要的朋友可以点击公众号首页菜单“干货收藏”对深度学习基础知识进行学习,笔者今天重点谈谈强化学习的基础知识。


强化学习的关键主体是agent与environment,agent通过与environment进行不断交互,最终使得agent能够迎刃有余地适应environment的变化。在交互过程中,有几个变量起着至关重要的作用。强化学习的核心变量有四个,它们分别是:

  • agent

  • action

  • state

  • reward

它们的关系是:agent具有作出action的能力,每个由agent作出的action都会影响下一时刻agent所处的state,这里的state泛指一切agent观察到的环境,agent每作出一个action会得到一个reward,强化学习的目标就是要让agent作出最优的action并使得未来的reward达到最大。

如上图所示,强化学习中核心的两个主体是agent和environment,如果强化学习看成以时刻为单位的话,那么在每一时刻:

  • agent会作出决策a_t

  • 会对环境进行观察并得到状态s_t

  • 会收到一个回报值r_t


同时,environment也会有相应的变化:

  • 接收到agent作出的决策a_t

  • 更新到新的状态s_t+1

  • 发出下一个回报值r_t+1


因此,我们可以将强化学习写成一个由state、reward、action形成的时序序列:


虽然上面这个序列看起来很长,但是其实很多时候,每一时刻的价值回报只与前一时刻的状态、回报、决策有关,例如在下象棋的时候,我们下一步该下什么只用看当前棋盘的棋子分布即可,而根本不用在乎之前一步步是怎么走棋的。因此,如果对于一个强化学习的环境而言,仅仅根据当下状态和策略就可以推算出下一时刻的状态和回报值的话,这种环境我们称为其具有马尔科夫特性。用数学公式表示如下:


即使环境不满足马尔科夫特性,我们仍然可以使用马尔科夫特性对其进行近似,这一点以后会介绍。如果一个强化学习任务满足马尔科夫特性,我们又称这个过程为马尔科夫决策过程。同时,如果该任务具有有限个状态和有限个决策,那么就叫做有限的马尔科夫决策过程。绝大多数我们要面临的问题都属于有限的马尔科夫决策过程。


强化学习的agent的组成主要包含策略函数、价值函数和对环境的认知。策略函数是建立了从状态到行动的映射,即由某一状态推出某一行动的可能,策略函数可以指导着agent作出决策。策略函数分为两种:

  • 确定性策略:a=π(s)

  • 随机性策略:π(a|s)=p(a|s)


而价值函数是对未来回报值的预测期望,换句话说价值函数就是告诉你当下如果你作出了决策a,那么你可以获得多少价值回报。


价值函数一般分为两种,第一种是策略π下的状态-价值函数,由于满足马尔科夫特性,我们可以将此状态函数写成以下形式:

其中E代表期望值,而γ为未来回报的折扣因子,R代表回报值,S代表状态。终止状态的回报值一般我们认为是0。


由于策略函数和价值函数是相互依赖的,策略函数是基于我们对环境的看重的地方,而我们看重的地方也会决定着价值函数。因此,我们可以把策略函数和价值函数结合起来,于是就有了第二种价值函数,叫做策略π下的行动-价值函数,又称为Q-函数,Q-函数其实就是在状态s,行动a的基础上,基于某一个策略π以及折扣因子γ,给出了带有折扣的总体回报期望值:


以上两个价值函数都可以使用经验估计的方法来得到,具体来说,就是我们可以通过对多次随机模拟的逼近来获得其真实的价值函数,这种方法就是蒙特卡洛方法


建立好了价值函数之后,我们就要寻找最优价值函数了。所谓最优价值函数,其实就是要找到让价值函数达到最大的策略,这个策略就是最优策略。对于状态-价值函数而言,最优状态-价值函数可以定义如下:

同样,最优决策-价值函数也可以类似定义:

这个式子是意义是对于每一个状态-决策对,都可以给出在最优策略下的期望回报值。


我们可以根据最优价值函数来推导出其递归关系,例如对于状态-价值函数而言,我们可以找到其在满足最优价值函数下的最优决策:

同理,对于决策-价值函数而言,由于其当前时刻的决策已经固定,因此我们可以找到其满足最优价值函数下的下一步的最优决策:

以上两个方程又称为贝尔曼优化方程


需要知道的是,对于一个强化学习的任务而言,每一个状态都会有一个贝尔曼优化方程。如果知道了状态之间的转移概率以及每个状态-决策的回报值,那么就可以求解最优价值函数了。


一旦有了最优价值函数,我们可以很容易地找到最优策略,对于每一个状态,一定有一个或多个决策是符合贝尔曼优化方程的,那么任何可以产生这些决策的策略都是最优策略。这实际上是一种贪婪的逐步搜索过程。

如果有了最优价值函数,那么逐步搜索得到的最优决策虽然表面上看起来是一种局部的最优(或者说该搜索是贪婪的),但是由于我们的最优价值函数中已经考虑到了未来的所有回报值,因此,实际上这种逐步搜索是可以找到长期的最优决策的。


上面说了这种只是理想的情况,因为实际中的强化学习任务不一定满足理想的条件,如:

  • 对环境认知非常准确

  • 是一个马尔科夫决策过程

  • 具有足够强大的计算资源

例如对于围棋而言,虽然前两个理想条件都满足,但是围棋的状态可能有3^361种,如果直接求解贝尔曼优化方程的话,显然当下的计算机水平是远远不够的,因此,这就说明很多时候我们不是直接求解贝尔曼优化方程的准确解,而是求贝尔曼优化方程的近似解。


解决强化学习的方法一般分为以下三种:

  • 基于价值的强化学习

    • 估计最优Q函数

    • 任意策略下都可以得到最大的Q值

  • 基于策略的强化学习

    • 直接搜索最优策略π

    • 按此策略可以得到最大的未来价值回报

  • 基于模型的强化学习

    • 对环境进行建模

    • 根据模型来计划


而深度强化学习就是运用神经网络来构建这三种方法,并且借助随机梯度下降的优化方法来优化损失函数。关于这三种方法的更多细节以及如何与神经网络结合

猜你喜欢

转载自blog.csdn.net/hellocsz/article/details/80845368
今日推荐