David Silver强化学习课程笔记(二)

来源:互联网 发布:淘宝达人 开店 编辑:程序博客网 时间:2024/06/05 16:40

第二课:马尔科夫决策过程

        为什么要讲马尔科夫决策过程?因为几乎所有的强化学习问题都可以表述成马尔科夫决策过程(MDP)的形式,比如说:最优控制主要是处理连续MDP问题、任何部分可观测的问题都可以转化为MDP问题、bandits都是仅有一个状态的MDP问题。这里的bandit是一种最为简单的马尔科夫问题:给你一组actions,然后你选择一个action,从而得到reward,仅此而已。

       1.马尔科夫性

        "The future is independent of the past given the present."

        准确的数学定义如下:

       

        值得注意的是,定义中给出的是某个状态的Markov性,如果某个过程中的状态均满足Markov性,那么我们就说该过程为Markov过程。

        从上面的定义中我们可以看出,某个状态是Markov的也即该状态从history中捕获了所有的信息。因此,一旦我们得知了该状态,我们就可以扔掉history了。换句话说,该状态是future的充分统计量。在强化学习中,状态s是future的充分统计量指的是s包含了足够的信息来描述future所有的rewards。

       2.马尔科夫过程

       

         如上所说,马尔科夫过程也即该过程中所有的状态均满足马尔科夫性,它可以表示为一个二元组,包含了状态集和状态转移矩阵。

       3.马尔科夫奖励过程

       

        与上面的马尔科夫过程对比,马尔科夫奖励过程(MRP)多了一个奖励函数以及一个折扣因子,奖励函数可以通过字面意思理解,而折扣因子则表示未来的奖励对于现在的影响大小的度量。

       4.马尔科夫决策过程

      

        与MRP相比,马尔科夫决策过程(MDP)加入了动作集,该过程中的状态并不是自发地按照某个概率进行转移了,而是通过选择某个动作来进行转移的,并且MDP过程中的奖励不仅仅与所处状态s相关了,而且还与在状态s下选择的动作a有关,该动作是按照某一指定策略来进行选取的。

       5.回报

     

        所谓回报,也就是从时间步t开始,一直到terminal的总的折扣奖励。值得注意的是,奖励是从t+1开始的,具体分析见David Silver强化学习课程笔记(一)。

        从回报的计算公式中可以看出,我们更加看重当前的奖励。如果折扣因子接近0,就说这个回报是鼠目寸光的(myopic),如果折扣因子接近1,则说这个回报计算是有长远打算的(far-sighted)。

       6.MRP与值函数

        我们首先看一下MRP中的值函数定义:

      

        如果我们稍加推导就会导出MRP的贝尔曼方程:


        由于对于MRP过程而言,奖励仅仅与状态相关,因此,贝尔曼方程可以如下进行分解表示:


        在贝尔曼方程中,值函数被分解为两部分,一部分是对于t+1时间步的奖励的期望,另一部分是对于有折扣的下一状态值函数的期望。第一部分中由于t+1时间步的奖励其实就是t时刻的状态所换得的奖励,因此期望可以直接略去;第二部分则是利用状态转移矩阵对状态值函数求的期望。

        当然,为了编程需要,我们也可以导出贝尔曼方程的矩阵形式:

      

        从矩阵形式的贝尔曼方程中我们可以看出,贝尔曼方程是一个线性方程,如果对于一些比较小的MRP,我们可以直接求解:

      

        其中计算时间复杂度最高的操作是求矩阵的逆,其时间复杂度是O(n^3),n表示状态数。可见,这种方法是不适用于求解大型MRP问题的,因此我们可以使用一些迭代方法进行求解:

        1)动态规划(DP);

        2)蒙特卡洛估计(MC evaluation);

        3)时间差分学习(TD learning)。

       7.MDP与值函数

        我们知道与MRP相比,MDP的元组表示中多了动作集这一项,动作的选取是按照某一指定策略进行选取的,因此,我们先对策略进行定义:

      

        从定义上来分析,这里的策略表示在给定的状态下,各个动作选择的概率分布,既可以表示确定性策略,也可以表示随机性策略。所谓确定性策略即给定某个状态,该策略的输出就是某个动作,而不是一个概率分布;随机性策略则输出各个动作选择的概率分布。

        此外,课程还讲到了我们可以从一个MDP模型中恢复MP与MRP:

      

        对于MDP而言,它就不仅仅只有状态值函数V了,而且还有动作值函数Q,两个值函数定义如下:

      

       与MRP的贝尔曼方程一样,我们对上面两个值函数稍加推导就可以得到两个贝尔曼期望方程:

      

        将两个值函数进行一步推演,即有:

              

        如果我们将二者互相代入,或者说,进行二步推演,则得到:

                 

       8.最优值函数与最优策略

        强化学习的主要目的就是使智能体学会在环境中自行决策与动作,且累积奖励要尽可能大。换句话说,我们想要智能体学到一个好的策略,那么如何比较两个策略的好坏呢?首先我们定义最优值函数如下:

      

        即不论是对状态值函数还是对于动作值函数而言,最优也就意味着通过改进策略来最大化值函数。

        下面,我们利用值函数定义偏序关系:

      

        此外,我们有如下定理:

      

        也就是说对于任意的MDP而言,总存在一个最优策略,且最优策略的值函数是最优值函数。由此可见,我们只需要找到使值函数最大化的策略即可:

      

        上面通过greedy得到的策略是一个确定性策略。值得注意的是,对于任意MDP而言,总是存在一个最优的确定性策略的。

       9.贝尔曼最优方程

        与前面关于贝尔曼期望方程的推演类似,我们可以对贝尔曼最优方程进行推演,首先是一步推演:

        

        进行第二步推演:

        

        将贝尔曼期望方程与贝尔曼最优方程进行对比,可以发现,贝尔曼期望方程是对于某一个给定的策略,求其状态值函数和动作值函数,也即对某一策略进行估计;而贝尔曼最优方程则是要去寻找最优策略,也即通过对动作值函数进行greedy得到。

        观察贝尔曼最优方程可以发现,这并不是线性方程,其中引入了max函数,这是一个非线性函数,因此通常来说我们并不能像贝尔曼期望方程一样直接求解得到一个闭式解,只能通过迭代进行求解,求解的方法有:

        1)值迭代;

        2)策略迭代;

        3)Q-learning;

        4)Sarsa。

       10.MDP扩展

        上面的讨论中,我们仅仅讨论了周期性的离散的MDP,下面我们将简要地讨论一些复杂的情形:

        1)无限的连续的MDP;

        2)部分观察的MDP(POMDP);

        3)无折扣因子的平均奖励MDP。

        首先,我们来看看Infinite MDPs:

       

        

        对于无限但可数的状态空间与动作空间而言,按照上面的方法进行求解即可;对于连续状态与动作空间(时间仍然为离散化的)而言,使用LQR的闭式解;对于连续时间情形而言,我们需要引入偏微分方程,使用HJB方程进行求解。

        其次,对于部分可观察的MDP而言,其定义如下:

       

        通俗地来讲,POMDP也就是一个有着隐状态(hidden states)的MDP,或者说,是一个引入了动作的隐马尔科夫过程。从上面的定义中可以看出,状态转移矩阵P定义的状态转移是不可见的,即S'是隐状态,我们所能观测的状态是o。

        那如果我们得到了某个history如下:

       

        此时隐状态的分布是怎么样的呢?我们引入信念状态的概念:

       

        信念状态就是在给定某一个history的情况下,隐状态的概率分布。

        我们可以对POMDP进行简化的表示:

       

        左边是马尔科夫history树,而右边是belief state树,对这两个图的理解是按照某一个分支进行,逐步模拟马尔科夫过程的进行。

        最后是平均奖励MDP(Average Reward MDPs),首先,对各态历经马尔科夫过程进行定义:

       

        紧接着,对各态历经MDP进行定义:

       

        最后引出平均奖励值函数:

       

        

        谢谢阅读,如有不当之处,请指出。大笑



阅读全文
0 0