深入理解强化学习——马尔可夫决策过程:策略迭代-[贝尔曼最优方程]
分类目录:《深入理解强化学习》总目录
当我们一直采取 
     
      
       
       
         arg 
        
       
         ? 
        
       
         max 
        
       
         ? 
        
       
      
        \arg\max 
       
      
    argmax操作的时候,我们会得到一个单调的递增。通过采取这种贪心 
     
      
       
       
         arg 
        
       
         ? 
        
       
         max 
        
       
         ? 
        
       
      
        \arg\max 
       
      
    argmax操作,我们就会得到更好的或者不变的策略,而不会使价值函数变差。所以当改进停止后,我们就会得到一个最佳策略。当改进停止后,我们取让Q函数值最大化的动作,Q函数就会直接变成价值函数,即:
  
      
       
        
         
         
           Q 
          
         
           π 
          
         
        
          ( 
         
        
          s 
         
        
          , 
         
         
         
           π 
          
         
           ′ 
          
         
        
          ( 
         
        
          s 
         
        
          ) 
         
        
          ) 
         
        
          = 
         
         
          
          
            max 
           
          
            ? 
           
          
          
          
            a 
           
          
            ∈ 
           
          
            A 
           
          
         
         
         
           Q 
          
         
           π 
          
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
        
          = 
         
         
         
           Q 
          
         
           π 
          
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          π 
         
        
          ( 
         
        
          s 
         
        
          ) 
         
        
          ) 
         
        
          = 
         
         
         
           V 
          
         
           π 
          
         
        
          ( 
         
        
          s 
         
        
          ) 
         
        
       
         Q_\pi(s, \pi'(s))=\max_{a\in A}Q_\pi(s, a)=Q_\pi(s, \pi(s))=V_\pi(s) 
        
       
     Qπ?(s,π′(s))=a∈Amax?Qπ?(s,a)=Qπ?(s,π(s))=Vπ?(s)
我们也就可以得到贝尔曼最优方程(Bellman Optimality Equation):
  
      
       
        
         
         
           V 
          
         
           π 
          
         
        
          ( 
         
        
          s 
         
        
          ) 
         
        
          = 
         
         
          
          
            max 
           
          
            ? 
           
          
          
          
            a 
           
          
            ∈ 
           
          
            A 
           
          
         
         
         
           Q 
          
         
           π 
          
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
        
       
         V_\pi(s)=\max_{a\in A}Q_\pi(s, a) 
        
       
     Vπ?(s)=a∈Amax?Qπ?(s,a)
贝尔曼最优方程表明:最佳策略下的一个状态的价值必须等于在这个状态下采取最好动作得到的回报的期望。 当马尔可夫决策过程满足贝尔曼最优方程的时候,整个马尔可夫决策过程已经达到最佳的状态。只有当整个状态已经收敛后,我们得到最佳价值函数后,贝尔曼最优方程才会满足。满足贝尔曼最优方程后,我们可以采用最大化操作,即:
  
      
       
        
         
         
           V 
          
         
           π 
          
         
           ? 
          
         
        
          ( 
         
        
          s 
         
        
          ) 
         
        
          = 
         
         
          
          
            max 
           
          
            ? 
           
          
         
           a 
          
         
         
         
           Q 
          
         
           π 
          
         
           ? 
          
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
        
       
         V^*_\pi(s)=\max_{a}Q^*_\pi(s, a) 
        
       
     Vπ??(s)=amax?Qπ??(s,a)
当我们取让Q函数值最大化的动作对应的值就是当前状态的最佳的价值函数的值。另外,我们给出Q函数的贝尔曼方程:
  
      
       
        
         
         
           Q 
          
         
           π 
          
         
           ? 
          
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
        
          = 
         
        
          R 
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
        
          + 
         
        
          γ 
         
         
         
           ∑ 
          
          
           
           
             s 
            
           
             ′ 
            
           
          
            ∈ 
           
          
            S 
           
          
         
        
          p 
         
        
          ( 
         
         
         
           s 
          
         
           ′ 
          
         
        
          ∣ 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
         
         
           V 
          
         
           ? 
          
         
        
          ( 
         
         
         
           s 
          
         
           ′ 
          
         
        
          ) 
         
        
       
         Q^*_\pi(s, a)=R(s, a)+\gamma\sum_{s'\in S}p(s'|s, a)V^*(s') 
        
       
     Qπ??(s,a)=R(s,a)+γs′∈S∑?p(s′∣s,a)V?(s′)
我们上两式合并可得:
  
      
       
        
         
          
           
            
             
             
               Q 
              
             
               π 
              
             
               ? 
              
             
            
              ( 
             
            
              s 
             
            
              , 
             
            
              a 
             
            
              ) 
             
            
           
          
          
           
            
             
            
              = 
             
            
              R 
             
            
              ( 
             
            
              s 
             
            
              , 
             
            
              a 
             
            
              ) 
             
            
              + 
             
            
              γ 
             
             
             
               ∑ 
              
              
               
               
                 s 
                
               
                 ′ 
                
               
              
                ∈ 
               
              
                S 
               
              
             
            
              p 
             
            
              ( 
             
             
             
               s 
              
             
               ′ 
              
             
            
              ∣ 
             
            
              s 
             
            
              , 
             
            
              a 
             
            
              ) 
             
             
             
               V 
              
             
               ? 
              
             
            
              ( 
             
             
             
               s 
              
             
               ′ 
              
             
            
              ) 
             
            
           
          
         
         
          
           
            
           
          
          
           
            
             
            
              = 
             
            
              R 
             
            
              ( 
             
            
              s 
             
            
              , 
             
            
              a 
             
            
              ) 
             
            
              + 
             
            
              γ 
             
             
             
               ∑ 
              
              
               
               
                 s 
                
               
                 ′ 
                
               
              
                ∈ 
               
              
                S 
               
              
             
            
              p 
             
            
              ( 
             
             
             
               s 
              
             
               ′ 
              
             
            
              ∣ 
             
            
              s 
             
            
              , 
             
            
              a 
             
            
              ) 
             
             
              
              
                max 
               
              
                ? 
               
              
             
               a 
              
             
             
             
               Q 
              
             
               ? 
              
             
            
              ( 
             
             
             
               s 
              
             
               ′ 
              
             
            
              , 
             
             
             
               a 
              
             
               ′ 
              
             
            
              ) 
             
            
           
          
         
         
          
           
            
           
          
         
         
          
           
            
             
             
               V 
              
             
               ? 
              
             
            
              ( 
             
            
              s 
             
            
              ) 
             
            
           
          
          
           
            
             
            
              = 
             
             
              
              
                max 
               
              
                ? 
               
              
             
               a 
              
             
             
             
               Q 
              
             
               π 
              
             
               ? 
              
             
            
              ( 
             
            
              s 
             
            
              , 
             
            
              a 
             
            
              ) 
             
            
           
          
         
         
          
           
            
           
          
          
           
            
             
            
              = 
             
             
              
              
                max 
               
              
                ? 
               
              
             
               a 
              
             
            
              ( 
             
            
              R 
             
            
              ( 
             
            
              s 
             
            
              , 
             
            
              a 
             
            
              ) 
             
            
              + 
             
            
              γ 
             
             
             
               ∑ 
              
              
               
               
                 s 
                
               
                 ′ 
                
               
              
                ∈ 
               
              
                S 
               
              
             
            
              p 
             
            
              ( 
             
             
             
               s 
              
             
               ′ 
              
             
            
              ∣ 
             
            
              s 
             
            
              , 
             
            
              a 
             
            
              ) 
             
             
             
               V 
              
             
               ? 
              
             
            
              ( 
             
             
             
               s 
              
             
               ′ 
              
             
            
              ) 
             
            
              ) 
             
            
           
          
         
        
       
         \begin{aligned} Q^*_\pi(s, a)&=R(s, a)+\gamma\sum_{s'\in S}p(s'|s, a)V^*(s')\\ &=R(s, a)+\gamma\sum_{s'\in S}p(s'|s, a)\max_{a}Q^*(s', a')\\ \\ V^*(s)&=\max_{a}Q^*_\pi(s, a)\\ &=\max_a(R(s, a)+\gamma\sum_{s'\in S}p(s'|s, a)V^*(s')) \end{aligned} 
        
       
     Qπ??(s,a)V?(s)?=R(s,a)+γs′∈S∑?p(s′∣s,a)V?(s′)=R(s,a)+γs′∈S∑?p(s′∣s,a)amax?Q?(s′,a′)=amax?Qπ??(s,a)=amax?(R(s,a)+γs′∈S∑?p(s′∣s,a)V?(s′))?
接着我们就可以得到Q函数之间的转移。Q学习是基于贝尔曼最优方程来进行的,当取Q函数值最大的状态 
     
      
       
        
         
         
           max 
          
         
           ? 
          
         
         
         
           a 
          
         
           ′ 
          
         
        
        
        
          Q 
         
        
          ? 
         
        
       
         ( 
        
        
        
          s 
         
        
          ′ 
         
        
       
         , 
        
        
        
          a 
         
        
          ′ 
         
        
       
         ) 
        
       
      
        \max_{a'}Q^*(s', a') 
       
      
    maxa′?Q?(s′,a′)的时候可得:
  
      
       
        
         
         
           Q 
          
         
           ? 
          
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
        
          = 
         
        
          R 
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
        
          + 
         
        
          γ 
         
         
         
           ∑ 
          
          
           
           
             s 
            
           
             ′ 
            
           
          
            ∈ 
           
          
            S 
           
          
         
        
          p 
         
        
          ( 
         
         
         
           s 
          
         
           ′ 
          
         
        
          ∣ 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
         
          
          
            max 
           
          
            ? 
           
          
          
          
            a 
           
          
            ′ 
           
          
         
         
         
           Q 
          
         
           ? 
          
         
        
          ( 
         
         
         
           s 
          
         
           ′ 
          
         
        
          , 
         
         
         
           a 
          
         
           ′ 
          
         
        
          ) 
         
        
       
         Q^*(s, a)=R(s, a)+\gamma\sum_{s'\in S}p(s'|s, a)\max_{a'}Q^*(s', a') 
        
       
     Q?(s,a)=R(s,a)+γs′∈S∑?p(s′∣s,a)a′max?Q?(s′,a′)
参考文献:
 [1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
 [2] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
 [3] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
 [4] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!