zoukankan      html  css  js  c++  java
  • 强化学习入门笔记

                          强化学习  

    一、强化学习定义

      1.强化学习就是程序或智能体(agent)通过与环境不断地进行交互学习一个从环境到动作的映射,学习的目标就是使累计回报最大化。

      2.强化学习是一种试错学习,因其在各种状态(环境)下需要尽量尝试所有可以选择的动作,通过环境给出的反馈(即奖励)来判断动作的优劣,最终获得环境和最优动作的映射关系(即策略)。

     二、基本组件(以吃豆子游戏为例)

          

    1.agent:大嘴小怪物

    2.环境:整个迷宫中的所有信息

    3.奖励:agent每走一步,需要扣除1分,吃掉小球得10分,吃掉敌人得200 分,被吃掉游戏结束动作:在每种状态下,agent能够采用的动作,比如上下左右移动 

    三、目标

    策略:在每种状态下,采取最优的动作
    学习目标:获得最优的策略,以使累计奖励最大(即Score) 

    四、马尔可夫决策过程(MDP)

    马尔可夫决策过程(Markov Decision Process)通常用来描述一个强化学习问题                                              

     

    智能体agent根据当前对环境的观察采取动作获得环境的反馈,并使环境发生改变的循环过程。

    MDP 基本元素:

    s∈S:有限状态state集合,s表示某个特定状态; a∈A:有限动作action集合,a表示某个特定动作;

    T(S, a, S’)~Pr(s’|s,a): 状态转移模型, 根据当前状态s和动作a预测下一个状态s,这里的Pr表示从s采取行动a转移到s’的概率;

    R(s,a):表示agent采取某个动作后的即时奖励,它还有 R(s,a,s’), R(s) 等表现形式;

    Policy π(s)→a: 根据当前state来产生action,可表现为a=π(s)或 π(a|s) = P(a|s),后者表示某种状态下执行某个动作的概率。

    值函数:

    状态值函数V表示执行策略π能得到的累计折扣奖励:                                                                                                                                     

    整理之后可得

        

    状态动作值函数Q(s,a)表示在状态s下执行动作a能得到的累计折扣奖励

          

    整理之后可得:

         

     最优值函数: 

         

    最优控制 :

    在得到最优值函数之后,可以通过值函数的值得到状态s时应该采取的动作a:
        

          

           

     

     五、Q-learning

    蒙特卡洛强化学习

           在现实的强化学习任务中,环境的转移概率、奖励函数往往很难得知,甚至很难得知环境中有多少状态。若学习算法不再依赖于环境建模,则称为免模型学习,蒙特卡洛强化学习就是其中的一种。       

          蒙特卡洛强化学习使用多次采样,然后求取平均累计奖赏作为期望累计奖赏的近似。<s0,a0,r1,s1,a1,r2,…,sT-1,aT-1,rT,sT>

    蒙特卡洛强化学习:直接对状态动作值函数Q(s,a)进行估计,每采样一条轨迹,就根据轨迹中的所有“状态-动作”利用下面的公式对来对值函数进行更新。

                   

     

    每次采样更新完所有的“状态-动作”对所对应的Q(s,a),就需要更新采样策略π。但由于策略可能是确定性的,即一个状态对应一个动作,多次采样可能获得相同的采样轨迹,因此需要借助ε贪心策略: 

                 

    蒙特卡洛强化学习算法需要采样一个完整的轨迹来更新值函数,效率较低,此外该算法没有充分利用强化学习任务的序贯决策结构。 

    Q-learning算法结合了动态规划与蒙特卡洛方法的思想,使得学习更加高效。 

    假设对于状态动作对(s,a)基于t次采样估算出其值函数为: 

                   

    在进行t+1次采样后,依据增量更新得到:

                

    然后,将 1/t+1 替换成系数α(步长),得到:

                

    以γ折扣累计奖赏为例:

                    

    则值函数的更新方式如下:

               


    Q-learning算法流程

                              

     

     

     

     

     

     

     

     




  • 相关阅读:
    你好,明天
    一句话实现星级评价
    react路由
    react插件包
    react 组件列表
    css小demo
    react的项目坑
    配置react-sass
    node-sass下载失败 关于webpack
    react render
  • 原文地址:https://www.cnblogs.com/tianqianlan/p/12267521.html
Copyright © 2011-2022 走看看