- 目录
- 回顾: ∇ J ( θ ) \nabla \mathcal J(\theta) ∇J(θ)梯度求解结果
- 策略梯度定理的延伸
- 蒙特卡洛策略梯度方法(REINFORCE)简单理解
 
上一节介绍了 ∇ J ( θ ) \nabla \mathcal J(\theta) ∇J(θ)的求解过程的推导,本节将基于上述推导进行补充,构建更加泛化的表达式,从而引出REINFORCE算法的更新方程。
回顾: ∇ J ( θ ) \nabla \mathcal J(\theta) ∇J(θ)梯度求解结果上一节介绍关于 ∇ J ( θ ) \nabla \mathcal J(\theta) ∇J(θ)梯度方向的求解结果如下: ∇ J ( θ ) = ∇ V π ( s 0 ) ∝ ∑ s ∈ S μ ( s ) ∑ a ∈ A ( s ) ∇ π ( a ∣ s ) q π ( s , a ) \begin{aligned} \nabla \mathcal J(\theta) & = \nabla V_\pi(s_0) \\ & \propto \sum_{s \in \mathcal S} \mu(s) \sum_{a \in \mathcal A(s)} \nabla \pi(a \mid s)q_\pi(s,a) \end{aligned} ∇J(θ)=∇Vπ(s0)∝s∈S∑μ(s)a∈A(s)∑∇π(a∣s)qπ(s,a) 其中 s 0 s_0 s0表示情节的初始状态, μ ( s ) \mu(s) μ(s)表示某状态 s s s在情节中出现的概率: μ ( s ) = η ( s ) ∑ s ′ η ( s ′ ) \mu(s) = \frac{\eta(s)}{\sum_{s'}\eta(s')} μ(s)=∑s′η(s′)η(s) η ( s ) \eta(s) η(s)表示某状态 s s s在情节中出现的平均次数。
策略梯度定理的延伸观察 
     
      
       
       
         ∇ 
        
       
         J 
        
       
         ( 
        
       
         θ 
        
       
         ) 
        
       
      
        \nabla \mathcal J(\theta) 
       
      
    ∇J(θ)梯度方向的求解结果:  
      
       
        
        
          ∇ 
         
        
          J 
         
        
          ( 
         
        
          θ 
         
        
          ) 
         
        
          ∝ 
         
         
         
           ∑ 
          
          
          
            s 
           
          
            ∈ 
           
          
            S 
           
          
         
        
          μ 
         
        
          ( 
         
        
          s 
         
        
          ) 
         
         
         
           ∑ 
          
          
          
            a 
           
          
            ∈ 
           
          
            A 
           
          
            ( 
           
          
            s 
           
          
            ) 
           
          
         
        
          ∇ 
         
        
          π 
         
        
          ( 
         
        
          a 
         
        
          ∣ 
         
        
          s 
         
        
          ) 
         
         
         
           q 
          
         
           π 
          
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
        
       
         \nabla \mathcal J(\theta) \propto \sum_{s \in \mathcal S} \mu(s) \sum_{a \in \mathcal A(s)} \nabla \pi(a \mid s)q_\pi(s,a) 
        
       
     ∇J(θ)∝s∈S∑μ(s)a∈A(s)∑∇π(a∣s)qπ(s,a) 发现 
     
      
       
       
         μ 
        
       
         ( 
        
       
         s 
        
       
         ) 
        
       
      
        \mu(s) 
       
      
    μ(s)本身是状态 
     
      
       
       
         s 
        
       
      
        s 
       
      
    s的出现概率  
     
      
       
       
         → 
        
       
      
        \to 
       
      
    → 可以将 
     
      
       
        
        
          ∑ 
         
         
         
           s 
          
         
           ∈ 
          
         
           S 
          
         
        
       
         μ 
        
       
         ( 
        
       
         s 
        
       
         ) 
        
       
      
        \sum_{s \in \mathcal S} \mu(s) 
       
      
    ∑s∈Sμ(s)表示为表示为期望形式:  
      
       
        
         
         
           ∑ 
          
          
          
            s 
           
          
            ∈ 
           
          
            S 
           
          
         
        
          μ 
         
        
          ( 
         
        
          s 
         
        
          ) 
         
         
         
           ∑ 
          
          
          
            a 
           
          
            ∈ 
           
          
            A 
           
          
            ( 
           
          
            s 
           
          
            ) 
           
          
         
        
          ∇ 
         
        
          π 
         
        
          ( 
         
        
          a 
         
        
          ∣ 
         
        
          s 
         
        
          ) 
         
         
         
           q 
          
         
           π 
          
         
        
          ( 
         
        
          s 
         
        
          , 
         
        
          a 
         
        
          ) 
         
        
          = 
         
         
         
           E 
          
         
           ? 
          
         
         
         
           [ 
          
          
          
            ∑ 
           
           
           
             a 
            
           
             ∈ 
            
           
             A 
            
           
             ( 
            
           
             s 
            
           
             ) 
            
           
          
         
           ∇ 
          
         
           π 
          
         
           ( 
          
         
           a 
          
         
           ∣ 
          
         
           s 
          
         
           ) 
          
          
          
            q 
           
          
            π 
           
          
         
           ( 
          
         
           s 
          
         
           , 
          
         
           a 
          
         
           ) 
          
         
           ] 
          
         
        
       
         \sum_{s \in \mathcal S} \mu(s) \sum_{a \in \mathcal A(s)} \nabla \pi(a \mid s)q_\pi(s,a) = \mathbb E_{?}\left[\sum_{a \in \mathcal A(s)} \nabla \pi(a \mid s)q_\pi(s,a)\right] 
        
       
     s∈S∑μ(s)a∈A(s)∑∇π(a∣s)qπ(s,a)=E?⎣ 
               
                
              ⎡a∈A(s)∑∇π(a∣s)qπ(s,a)⎦ 
               
                
              ⎤ 问题:期望符号中的概率分布 是谁(上式中“?”部分); 既然是关于状态的概率分布,我们定义这样一个分布符号: 
     
      
       
        
        
          ρ 
         
         
         
           π 
          
         
           θ 
          
         
        
       
      
        \rho^{\pi_{\theta}} 
       
      
    ρπθ,使得状态 
     
      
       
       
         s 
        
       
      
        s 
       
      
    s的出现概率服从该分布。 需要注意的点:该分布不仅和策略函数 
     
      
       
       
         π 
        
       
         ( 
        
       
         a 
        
       
         ∣ 
        
       
         s 
        
       
         ; 
        
       
         θ 
        
       
         ) 
        
       
      
        \pi(a \mid s;\theta) 
       
      
    π(a∣s;θ)相关,因为‘状态转移过程’是系统内部的变化,因此这个出现概率的分布还与‘环境’相关。  
      
       
        
        
          ∀ 
         
        
          s 
         
        
          ∈ 
         
        
          S 
         
        
          → 
         
        
          s 
         
        
          ∼ 
         
         
         
           ρ 
          
          
          
            π 
           
          
            θ 
           
          
         
        
          ( 
         
        
          s 
         
        
          ) 
         
        
          = 
         
         
          
          
            lim 
           
          
             
           
          
          
          
            t 
           
          
            → 
           
          
            ∞ 
           
          
         
        
          P 
         
        
          ( 
         
         
         
           S 
          
         
           t 
          
         
        
          = 
         
        
          s 
         
        
          ∣ 
         
         
         
           A 
          
          
          
            0 
           
          
            : 
           
          
            t 
           
          
         
        
          ∼ 
         
        
          π 
         
        
          ) 
         
        
       
         \forall s \in \mathcal S \to s \sim \rho^{\pi_{\theta}}(s) = \mathop{\lim}\limits_{t \to \infty}P(S_t = s \mid A_{0:t} \sim \pi) 
        
       
     ∀s∈S→s∼ρπθ(s)=t→∞limP(St=s∣A0:t∼π) 上述式子整理如下:  
      
       
        
         
         
           E 
          
          
          
            s 
           
          
            ∼ 
           
           
           
             ρ 
            
            
            
              π 
             
            
              θ 
             
            
           
          
         
         
         
           [ 
          
          
          
            ∑ 
           
           
           
             a 
            
           
             ∈ 
            
           
             A 
            
           
             ( 
            
           
             s 
            
           
             ) 
            
           
          
         
           ∇ 
          
         
           π 
          
         
           ( 
          
         
           a 
          
         
           ∣ 
          
         
           s 
          
         
           ) 
          
          
          
            q 
           
          
            π 
           
          
         
           ( 
          
         
           s 
          
         
           , 
          
         
           a 
          
         
           ) 
          
         
           ] 
          
         
        
       
         \mathbb E_{s \sim \rho^{\pi_{\theta}}}\left[\sum_{a \in \mathcal A(s)} \nabla \pi(a \mid s)q_\pi(s,a)\right] 
        
       
     Es∼ρπθ⎣ 
               
                
              ⎡a∈A(s)∑∇π(a∣s)qπ(s,a)⎦ 
               
                
              ⎤ 为了使公式规范化:
- 我们将所有的状态 s s s,动作 a a a替换为 t t t时刻的状态 S t S_t St,状态 S t S_t St条件下的动作 A t A_t At;
- 上述公式中的 π ( a ∣ s ) \pi(a \mid s) π(a∣s)是策略函数,因此替换为 π ( a ∣ s ; θ ) \pi(a \mid s;\theta) π(a∣s;θ);
替换结果如下: E S t ∼ ρ π θ [ ∑ A t ∈ A ( S t ) ∇ π ( A t ∣ S t ; θ ) q π ( S t , A t ) ] \mathbb E_{S_t \sim \rho^{\pi_{\theta}}}\left[\sum_{A_t \in \mathcal A(S_t)} \nabla \pi(A_t \mid S_t;\theta)q_\pi(S_t,A_t)\right] ESt∼ρπθ⎣ ⎡At∈A(St)∑∇π(At∣St;θ)qπ(St,At)⎦ ⎤
继续观察:上式中存在一个 
     
      
       
        
        
          ∑ 
         
         
          
          
            A 
           
          
            t 
           
          
         
           ∈ 
          
         
           A 
          
         
           ( 
          
          
          
            S 
           
          
            t 
           
          
         
           ) 
          
         
        
       
      
        \sum_{A_t \in \mathcal A(S_t)} 
       
      
    ∑At∈A(St),因此存在一个想法是 将该部分也化成期望形式。但 
     
      
       
       
         ∇ 
        
       
         π 
        
       
         ( 
        
        
        
          A 
         
        
          t 
         
        
       
         ∣ 
        
        
        
          S 
         
        
          t 
         
        
       
         ; 
        
       
         θ 
        
       
         ) 
        
       
      
        \nabla \pi(A_t \mid S_t;\theta) 
       
      
    ∇π(At∣St;θ)本身并不是策略函数,因此,我们需要引入一个策略函数 
      
       
        
        
          π 
         
        
          ( 
         
         
         
           A 
          
         
           t 
          
         
        
          ∣ 
         
         
         
           S 
          
         
           t 
          
         
        
          ; 
         
        
          θ 
         
        
          ) 
         
        
       
         \pi(A_t \mid S_t;\theta) 
        
       
     π(At∣St;θ)。具体过程如下:  
      
       
        
         
          
           
            
           
          
          
           
            
             
             
             
               E 
              
              
               
               
                 S 
                
               
                 t 
                
               
              
                ∼ 
               
               
               
                 ρ 
                
                
                
                  π 
                 
                
                  θ 
                 
                
               
              
             
             
             
               [ 
              
              
              
                ∑ 
               
               
                
                
                  A 
                 
                
                  t 
                 
                
               
                 ∈ 
                
               
                 A 
                
               
                 ( 
                
                
                
                  S 
                 
                
                  t 
                 
                
               
                 ) 
                
               
              
             
               ∇ 
              
             
               π 
              
             
               ( 
              
              
              
                A 
               
              
                t 
               
              
             
               ∣ 
              
              
              
                S 
               
              
                t 
               
              
             
               ; 
              
             
               θ 
              
             
               ) 
              
              
              
                q 
               
              
                π 
               
              
             
               ( 
              
              
              
                S 
               
              
                t 
               
              
             
               , 
              
              
              
                A 
               
              
                t 
               
              
             
               ) 
              
             
               ] 
              
             
            
           
          
         
         
          
           
            
           
          
          
           
            
             
            
              = 
             
             
             
               E 
              
              
               
               
                 S 
                
               
                 t 
                
               
              
                ∼ 
               
               
               
                 ρ 
                
                
                
                  π 
                 
                
                  θ 
                 
                
               
              
             
             
             
               [ 
              
              
              
                ∑ 
               
               
                
                
                  A 
                 
                
                  t 
                 
                
               
                 ∈ 
                
               
                 A 
                
               
                 ( 
                
                
                
                  S 
                 
                
                  t 
                 
                
               
                 ) 
                
               
              
             
               π 
              
             
               ( 
              
              
              
                A 
               
              
                t 
               
              
             
               ∣ 
              
              
              
                S 
               
              
                t 
               
              
             
               ; 
              
             
               θ 
              
             
               ) 
              
              
               
               
                 ∇ 
                
               
                 π 
                
               
                 ( 
                
                
                
                  A 
                 
                
                  t 
                 
                
               
                 ∣ 
                
                
                
                  S 
                 
                
                  t 
                 
                
               
                 ; 
                
               
                 θ 
                
               
                 ) 
                
               
               
               
                 π 
                
               
                 ( 
                
                
                
                  A 
                 
                
                  t 
                 
                
               
                 ∣ 
                
                
                
                  S 
                 
                
                  t 
                 
                
               
                 ; 
                
               
                 θ 
                
               
                 ) 
                
               
              
              
              
                q 
               
              
                π 
               
              
             
               ( 
              
              
              
                S 
               
              
                t 
               
              
             
               , 
              
              
              
                A 
               
              
                t 
               
              
             
               ) 
              
             
               ] 
              
             
            
           
          
         
        
       
         \begin{split} & \mathbb E_{S_t \sim \rho^{\pi_{\theta}}} \left[\sum_{A_t \in \mathcal A(S_t)} \nabla \pi(A_t \mid S_t;\theta)q_\pi(S_t,A_t) \right] \\ & = \mathbb E_{S_t \sim \rho^{\pi_{\theta}}}\left[\sum_{A_t \in \mathcal A(S_t)} \pi(A_t \mid S_t;\theta) \frac{\nabla \pi(A_t \mid S_t;\theta)}{\pi(A_t \mid S_t;\theta)}q_\pi(S_t,A_t) \right] \end{split} 
        
       
     ESt∼ρπθ⎣ 
                       
                        
                      ⎡At∈A(St)∑∇π(At∣St;θ)qπ(St,At)⎦ 
                       
                        
                      ⎤=ESt∼ρπθ⎣ 
                       
                        
                      ⎡At∈A(St)∑π(At∣St;θ)π(At∣St;θ)∇π(At∣St;θ)qπ(St,At)⎦ 
                       
                        
                      ⎤ 此时,可以将 
     
      
       
        
        
          ∑ 
         
         
          
          
            A 
           
          
            t 
           
          
         
           ∈ 
          
         
           A 
          
         
           ( 
          
          
          
            S 
           
          
            t 
           
          
         
           ) 
          
         
        
       
         π 
        
       
         ( 
        
        
        
          A 
         
        
          t 
         
        
       
         ∣ 
        
        
        
          S 
         
        
          t 
         
        
       
         ; 
        
       
         θ 
        
       
         ) 
        
       
      
        \sum_{A_t \in \mathcal A(S_t)} \pi(A_t \mid S_t;\theta) 
       
      
    ∑At∈A(St)π(At∣St;θ)写成期望形式,并记策略函数符号为 
     
      
       
        
        
          π 
         
        
          θ 
         
        
       
      
        \pi_{\theta} 
       
      
    πθ: 注意:状态-动作价值函数服从的也是 
     
      
       
        
        
          π 
         
        
          θ 
         
        
       
      
        \pi_{\theta} 
       
      
    πθ,因此同步修改为 
     
      
       
        
        
          q 
         
         
         
           π 
          
         
           θ 
          
         
        
       
         ( 
        
        
        
          S 
         
        
          t 
         
        
       
         , 
        
        
        
          A 
         
        
          t 
         
        
       
         ) 
        
       
      
        q_{\pi_{\theta}}(S_t,A_t) 
       
      
    qπθ(St,At)。  
      
       
        
         
          
           
            
           
          
          
           
            
             
            
              = 
             
             
             
               E 
              
              
               
               
                 S 
                
               
                 t 
                
               
              
                ∼ 
               
               
               
                 ρ 
                
                
                
                  π 
                 
                
                  θ 
                 
                
               
              
             
             
             
               [ 
              
              
              
                E 
               
               
                
                
                  A 
                 
                
                  t 
                 
                
               
                 ∼ 
                
                
                
                  π 
                 
                
                  θ 
                 
                
               
              
              
              
                [ 
               
               
                
                
                  ∇ 
                 
                
                  π 
                 
                
                  ( 
                 
                 
                 
                   A 
                  
                 
                   t 
                  
                 
                
                  ∣ 
                 
                 
                 
                   S 
                  
                 
                   t 
                  
                 
                
                  ; 
                 
                
                  θ 
                 
                
                  ) 
                 
                
                
                
                  π 
                 
                
                  ( 
                 
                 
                 
                   A 
                  
                 
                   t 
                  
                 
                
                  ∣ 
                 
                 
                 
                   S 
                  
                 
                   t 
                  
                 
                
                  ; 
                 
                
                  θ 
                 
                
                  ) 
                 
                
               
               
               
                 q 
                
                
                
                  π 
                 
                
                  θ 
                 
                
               
              
                ( 
               
               
               
                 S 
                
               
                 t 
                
               
              
                , 
               
               
               
                 A 
                
               
                 t 
                
               
              
                ) 
               
              
                ] 
               
              
             
               ] 
              
             
            
           
          
         
         
          
           
            
           
          
          
           
            
             
            
              = 
             
             
             
               E 
              
              
               
               
                 S 
                
               
                 t 
                
               
              
                ∼ 
               
               
               
                 ρ 
                
                
                
                  π 
                 
                
                  θ 
                 
                
               
              
                ; 
               
               
               
                 A 
                
               
                 t 
                
               
              
                ∼ 
               
               
               
                 π 
                
               
                 θ 
                
               
              
             
             
             
               [ 
              
              
               
               
                 ∇ 
                
               
                 π 
                
               
                 ( 
                
                
                
                  A 
                 
                
                  t 
                 
                
               
                 ∣ 
                
                
                
                  S 
                 
                
                  t 
                 
                
               
                 ; 
                
               
                 θ 
                
               
                 ) 
                
               
               
               
                 π 
                
               
                 ( 
                
                
                
                  A 
                 
                
                  t 
                 
                
               
                 ∣ 
                
                
                
                  S 
                 
                
                  t 
                 
                
               
                 ; 
                
               
                 θ 
                
               
                 ) 
                
               
              
              
              
                q 
               
               
               
                 π 
                
               
                 θ 
                
               
              
             
               ( 
              
              
              
                S 
               
              
                t 
               
              
             
               , 
              
              
              
                A 
               
              
                t 
               
              
             
               ) 
              
             
               ] 
              
             
            
           
          
         
        
       
         \begin{split} & = \mathbb E_{S_t \sim \rho^{\pi_{\theta}}}\left[\mathbb E_{A_t\sim\pi_{\theta}}\left[\frac{\nabla \pi(A_t \mid S_t;\theta)}{\pi(A_t \mid S_t;\theta)}q_{\pi_{\theta}}(S_t,A_t)\right] \right] \\ & = \mathbb E_{S_t \sim \rho^{\pi_{\theta}};A_t\sim\pi_{\theta}}\left[\frac{\nabla \pi(A_t \mid S_t;\theta)}{\pi(A_t \mid S_t;\theta)}q_{\pi_{\theta}}(S_t,A_t)\right] \end{split} 
        
       
     =ESt∼ρπθ[EAt∼πθ[π(At∣St;θ)∇π(At∣St;θ)qπθ(St,At)]]=ESt∼ρπθ;At∼πθ[π(At∣St;θ)∇π(At∣St;θ)qπθ(St,At)]
继续观察期望中的第一项式子,可以将其 看成 
       
        
         
         
           log 
          
         
            
          
         
        
          \log 
         
        
      log函数 的梯度结果。即: 这里的log函数如果没有声明,默认的底数均为‘自然对数’e  
      
       
        
         
          
          
            ∇ 
           
          
            π 
           
          
            ( 
           
           
           
             A 
            
           
             t 
            
           
          
            ∣ 
           
           
           
             S 
            
           
             t 
            
           
          
            ; 
           
          
            θ 
           
          
            ) 
           
          
          
          
            π 
           
          
            ( 
           
           
           
             A 
            
           
             t 
            
           
          
            ∣ 
           
           
           
             S 
            
           
             t 
            
           
          
            ; 
           
          
            θ 
           
          
            ) 
           
          
         
        
          = 
         
        
          ∇ 
         
        
          log 
         
        
           
         
        
          π 
         
        
          ( 
         
         
         
           A 
          
         
           t 
          
         
        
          ∣ 
         
         
         
           S 
          
         
           t 
          
         
        
          ; 
         
        
          θ 
         
        
          ) 
         
        
       
         \frac{\nabla \pi(A_t \mid S_t;\theta)}{\pi(A_t \mid S_t;\theta)} = \nabla \log \pi(A_t \mid S_t;\theta) 
        
       
     π(At∣St;θ)∇π(At∣St;θ)=∇logπ(At∣St;θ)
至此,最终将策略梯度定理表示为如下形式: ∇ J ( θ ) = E S t ∼ ρ π θ ; A t ∼ π θ [ ∇ log  π ( A t ∣ S t ; θ ) q π θ ( S t , A t ) ] \nabla \mathcal J(\theta) = \mathbb E_{S_t \sim \rho^{\pi_{\theta}};A_t\sim\pi_{\theta}}\left[\nabla \log \pi(A_t \mid S_t;\theta)q_{\pi_{\theta}}(S_t,A_t)\right] ∇J(θ)=ESt∼ρπθ;At∼πθ[∇logπ(At∣St;θ)qπθ(St,At)]
蒙特卡洛策略梯度方法(REINFORCE)简单理解之所以将 ∇ J ( θ ) \nabla \mathcal J(\theta) ∇J(θ)化简为期望形式,是因为期望形式就可以通过 蒙特卡洛方法 采样的方式来近似求解 ∇ J ( θ ) \nabla \mathcal J(\theta) ∇J(θ)。
观察策略梯度定理:  
      
       
        
        
          ∇ 
         
        
          J 
         
        
          ( 
         
        
          θ 
         
        
          ) 
         
        
          = 
         
         
         
           E 
          
          
           
           
             S 
            
           
             t 
            
           
          
            ∼ 
           
           
           
             ρ 
            
            
            
              π 
             
            
              θ 
             
            
           
          
            ; 
           
           
           
             A 
            
           
             t 
            
           
          
            ∼ 
           
           
           
             π 
            
           
             θ 
            
           
          
         
         
         
           [ 
          
         
           ∇ 
          
         
           log 
          
         
            
          
         
           π 
          
         
           ( 
          
          
          
            A 
           
          
            t 
           
          
         
           ∣ 
          
          
          
            S 
           
          
            t 
           
          
         
           ; 
          
         
           θ 
          
         
           ) 
          
          
          
            q 
           
           
           
             π 
            
           
             θ 
            
           
          
         
           ( 
          
          
          
            S 
           
          
            t 
           
          
         
           , 
          
          
          
            A 
           
          
            t 
           
          
         
           ) 
          
         
           ] 
          
         
        
       
         \nabla \mathcal J(\theta) = \mathbb E_{S_t \sim \rho^{\pi_{\theta}};A_t\sim\pi_{\theta}}\left[\nabla \log \pi(A_t \mid S_t;\theta)q_{\pi_{\theta}}(S_t,A_t)\right] 
        
       
     ∇J(θ)=ESt∼ρπθ;At∼πθ[∇logπ(At∣St;θ)qπθ(St,At)] 本质上, 
     
      
       
        
        
          q 
         
         
         
           π 
          
         
           θ 
          
         
        
       
         ( 
        
        
        
          S 
         
        
          t 
         
        
       
         , 
        
        
        
          A 
         
        
          t 
         
        
       
         ) 
        
       
      
        q_{\pi_{\theta}}(S_t,A_t) 
       
      
    qπθ(St,At)表示 在 
       
        
         
          
          
            π 
           
          
            θ 
           
          
         
        
          \pi_{\theta} 
         
        
      πθ条件下,给定 
       
        
         
          
          
            S 
           
          
            t 
           
          
         
           , 
          
          
          
            A 
           
          
            t 
           
          
         
        
          S_t,A_t 
         
        
      St,At后回报(Return) 
       
        
         
          
          
            G 
           
          
            t 
           
          
         
        
          G_t 
         
        
      Gt的期望。即:  
      
       
        
         
         
           q 
          
          
          
            π 
           
          
            θ 
           
          
         
        
          ( 
         
         
         
           S 
          
         
           t 
          
         
        
          , 
         
         
         
           A 
          
         
           t 
          
         
        
          ) 
         
        
          = 
         
         
         
           E 
          
          
           
           
             A 
            
           
             t 
            
           
          
            ∼ 
           
           
           
             π 
            
           
             θ 
            
           
          
         
        
          [ 
         
         
         
           G 
          
         
           t 
          
         
        
          ∣ 
         
         
         
           S 
          
         
           t 
          
         
        
          , 
         
         
         
           A 
          
         
           t 
          
         
        
          ] 
         
        
       
         q_{\pi_{\theta}}(S_t,A_t) = \mathbb E_{A_t \sim\pi_{\theta}}[G_t \mid S_t,A_t] 
        
       
     qπθ(St,At)=EAt∼πθ[Gt∣St,At] 因此,策略梯度定理表示如下:  
     
      
       
        
        
          E 
         
         
          
          
            A 
           
          
            t 
           
          
         
           ∼ 
          
          
          
            π 
           
          
            θ 
           
          
         
        
       
         [ 
        
        
        
          G 
         
        
          t 
         
        
       
         ∣ 
        
        
        
          S 
         
        
          t 
         
        
       
         , 
        
        
        
          A 
         
        
          t 
         
        
       
         ] 
        
       
      
        \mathbb E_{A_t \sim\pi_{\theta}}[G_t \mid S_t,A_t] 
       
      
    EAt∼πθ[Gt∣St,At]中的分布和前面重复,消掉了,只留一个~  
      
       
        
         
          
           
            
            
              ∇ 
             
            
              J 
             
            
              ( 
             
            
              θ 
             
            
              ) 
             
            
           
          
          
           
            
             
            
              = 
             
             
             
               E 
              
              
               
               
                 S 
                
               
                 t 
                
               
              
                ∼ 
               
               
               
                 ρ 
                
                
                
                  π 
                 
                
                  θ 
                 
                
               
              
                ; 
               
               
               
                 A 
                
               
                 t 
                
               
              
                ∼ 
               
               
               
                 π 
                
               
                 θ 
                
               
              
             
             
             
               [ 
              
             
               ∇ 
              
             
               log 
              
             
                
              
             
               π 
              
             
               ( 
              
              
              
                A 
               
              
                t 
               
              
             
               ∣ 
              
              
              
                S 
               
              
                t 
               
              
             
               ; 
              
             
               θ 
              
             
               ) 
              
              
              
                E 
               
               
                
                
                  A 
                 
                
                  t 
                 
                
               
                 ∼ 
                
                
                
                  π 
                 
                
                  θ 
                 
                
               
              
             
               [ 
              
              
              
                G 
               
              
                t 
               
              
             
               ∣ 
              
              
              
                S 
               
              
                t 
               
              
             
               , 
              
              
              
                A 
               
              
                t 
               
              
             
               ] 
              
             
               ] 
              
             
            
           
          
         
         
          
           
            
           
          
          
           
            
             
            
              = 
             
             
             
               E 
              
              
               
               
                 S 
                
               
                 t 
                
               
              
                ∼ 
               
               
               
                 ρ 
                
                
                
                  π 
                 
                
                  θ 
                 
                
               
              
                ; 
               
               
               
                 A 
                
               
                 t 
                
               
              
                ∼ 
               
               
               
                 π 
                
               
                 θ 
                
               
              
             
             
             
               [ 
              
             
               ∇ 
              
             
               log 
              
             
                
              
             
               π 
              
             
               ( 
              
              
              
                A 
               
              
                t 
               
              
             
               ∣ 
              
              
              
                S 
               
              
                t 
               
              
             
               ; 
              
             
               θ 
              
             
               ) 
              
              
              
                G 
               
              
                t 
               
              
             
               ] 
              
             
            
           
          
         
        
       
         \begin{aligned} \nabla \mathcal J(\theta) & = \mathbb E_{S_t \sim \rho^{\pi_{\theta}};A_t\sim\pi_{\theta}}\left[\nabla \log \pi(A_t \mid S_t;\theta)\mathbb E_{A_t \sim\pi_{\theta}}[G_t \mid S_t,A_t]\right] \\ & = \mathbb E_{S_t \sim \rho^{\pi_{\theta}};A_t\sim\pi_{\theta}}\left[\nabla \log \pi(A_t \mid S_t;\theta)G_t\right] \end{aligned} 
        
       
     ∇J(θ)=ESt∼ρπθ;At∼πθ[∇logπ(At∣St;θ)EAt∼πθ[Gt∣St,At]]=ESt∼ρπθ;At∼πθ[∇logπ(At∣St;θ)Gt]
至此,我们可以通过采样 ∇ log  π ( A t ∣ S t ; θ ) G t \nabla \log \pi(A_t \mid S_t;\theta)G_t ∇logπ(At∣St;θ)Gt对策略函数的参数 θ \theta θ进行 增量更新: θ t + 1 = θ t + α ∇ log  π ( A t ∣ S t ; θ ) G t \theta_{t+1} = \theta_{t} + \alpha \nabla \log \pi(A_t \mid S_t;\theta)G_t θt+1=θt+α∇logπ(At∣St;θ)Gt
用于估计最优策略的REINFORCE算法表示如下:
REINFORCE算法(用于估计最优策略)输入(Input)可微策略函数 π ( a ∣ s ; θ ) \pi(a \mid s;\theta) π(a∣s;θ),衰减因子 γ \gamma γ,学习率 α \alpha α初始化操作(Initialization operation)初始化策略函数的参数 θ \theta θ;算法过程(Algorithmic Process)1. repeat 对每一个情节: k = 0 , 1 , 2 , . . . k=0,1,2,... k=0,1,2,...2. 根据策略函数 π ( a ∣ s ; θ ) \pi(a \mid s;\theta) π(a∣s;θ),生成一组情节: S 0 , A 0 , R 1 , S 1 , A 1 , ⋯ , S T − 1 , A T − 1 , S T , R T S_0,A_0,R_1,S_1,A_1,\cdots,S_{T-1},A_{T-1},S_T,R_T S0,A0,R1,S1,A1,⋯,ST−1,AT−1,ST,RT 3. G ← \gets ← 0(后向前遍历) 4.   repeat   
        
         
          
          
            t 
           
          
            = 
           
          
            T 
           
          
            − 
           
          
            1 
           
          
            , 
           
          
            T 
           
          
            − 
           
          
            2 
           
          
            , 
           
          
            ⋯ 
           
          
            0 
           
          
         
           t =T-1,T-2,\cdots0 
          
         
       t=T−1,T−2,⋯0  5.        
        
         
          
          
            G 
           
          
            ← 
           
          
            γ 
           
          
            G 
           
          
            + 
           
           
           
             R 
            
            
            
              t 
             
            
              + 
             
            
              1 
             
            
           
          
         
           G \gets \gamma G + R_{t+1} 
          
         
       G←γG+Rt+16.        
        
         
          
          
            θ 
           
          
            ← 
           
          
            θ 
           
          
            + 
           
          
            α 
           
           
           
             γ 
            
           
             t 
            
           
          
            ∇ 
           
          
            ln 
           
          
             
           
          
            π 
           
          
            ( 
           
           
           
             A 
            
           
             t 
            
           
          
            ∣ 
           
           
           
             S 
            
           
             t 
            
           
          
            ; 
           
          
            θ 
           
          
            ) 
           
          
            G 
           
          
         
           \theta \gets \theta + \alpha \gamma^t \nabla \ln \pi(A_t \mid S_t;\theta)G 
          
         
       θ←θ+αγt∇lnπ(At∣St;θ)G 
θ \theta θ在迭代过程中,通过学习率 α \alpha α配合衰减因子 γ \gamma γ,随着迭代次数的增加,逐渐减小参数更新幅度(即步长(step))。从而找到最优参数。
下一节将介绍蒙特卡洛梯度方法(REINFORCE)的其他变形方式。
相关参考: 【强化学习】策略梯度方法-REINFORCE 深度强化学习原理、算法pytorch实战 —— 刘全,黄志刚编著

 
                 
    