浅谈强化学习中的函数估计问题 - Function Approximation in RL

本文探讨强化学习中的函数估计问题,包括价值函数估计、梯度下降方法、深度强化学习(DQN)及其变种,如Double DQN、优先回放和Dueling DQN。此外,还涉及非参数化估计方法和直接策略搜索策略,如随机策略搜索(REINFORCE)、TRPO和Actor-Critic算法。
摘要由CSDN通过智能技术生成

下面我们简单讨论下强化学习中的函数估计问题,这里对于强化学习的基本原理、常见算法以及凸优化的数学基础不作讨论。假设你对强化学习(Reinforcement Learning)有最基本的了解。

概述

对于状态空间为连续空间的强化学习问题,我们需要利用函数估计的方法表示各种映射关系。函数估计方法可分为参数估计和非参数估计,其中参数化估计又分为线性参数化估计和非线性参数化估计。本文中我们主要讨论参数化估计。对于基础较薄弱读者,可以参考这篇更基础的文章

价值函数估计

价值函数估计的过程可以看作是一个监督学习的过程,其中数据和标签对为 (St,Ut) ( S t , U t ) 。训练的目标函数为:

argminθ(q(s,a)q^(s,a,θ))orargminθ(v(s)v^(s,θ)) arg ⁡ min θ ( q ( s , a ) − q ^ ( s , a , θ ) ) or arg ⁡ min θ ( v ( s ) − v ^ ( s , θ ) )

增量式/梯度下降方法

梯度下降的基本原理可以参考凸优化问题中的无约束规划方法。这里我们要求估计偏差最小,因此采用梯度下降方法:

θt+1=θt+αdt θ t + 1 = θ t + α d t
这里 dt d t 是偏差下降的方向,此处应为 θ(Utv^(St,θt)) − ∇ θ ( U t − v ^ ( S t , θ t ) ) 即负梯度方向。代入上式可得:
θt+1=θt+α[Utv^(St,θt)]θv^(St,θ) θ t + 1 = θ t + α [ U t − v ^ ( S t , θ t ) ] ∇ θ v ^ ( S t , θ )
注意此处 Ut U t θ θ 无关,但情况并非总是这样。如果采用蒙特卡罗方法对实验进行采样,即 Ut=Gt U t = G t 时,上述公式直接成立;但如果采样 TD(0) T D ( 0 ) 方法采样,由于用到了 bootstrapping,即 Ut=Rt+1+γv^(St+1,θ) U t = R t + 1 + γ v ^ ( S t + 1 , θ ) Ut U t 中也包含 θ θ 。 使用上式忽略了这个影响,因此被称为 部分梯度(semi-gradient)法。

下面讨论线性估计问题,即 v^(s,θ)=θTϕ(s) v ^ ( s , θ ) = θ T ϕ ( s ) 。常用的线性基函数类型如下:

  1. 多项式基函数: (1,s1,s2,s1s2,s21,s22,) ( 1 , s 1 , s 2 , s 1 s 2 , s 1 2 , s 2 2 , … )
  2. 傅里叶基函数: ϕi(s)=cos(iπs),s[0,1] ϕ i ( s ) = cos ⁡ ( i π s ) , s ∈ [ 0 , 1 ]
  3. 径向基函数: ϕi(s)=exp(sci22σ2i) ϕ i ( s ) = exp ⁡ ( − ‖ s − c i ‖ 2 2 σ i 2 )

不同的更新公式如下:

  1. 蒙特卡罗方法: Δθ=α[GtθTϕ(s)]ϕ(s) Δ θ = α [ G t − θ T ϕ ( s ) ] ϕ ( s )
  2. TD(0) T D ( 0 ) 方法: Δθ=α[R+γθTϕ(s)θTϕ(s)]ϕ(s) Δ θ = α [ R + γ θ T ϕ ( s ′ ) − θ T ϕ ( s ) ] ϕ ( s )
  3. 正向视角的 TD(λ) T D ( λ ) 方法: Δθ=α[GλtθTϕ(s)]ϕ(s) Δ θ = α [ G t λ − θ T ϕ ( s ) ] ϕ ( s )
  4. 反向视角的 TD(λ) T D ( λ ) 方法:
    δtEtΔθ=Rt+1+γθTϕ(s)θTϕ(s)=γλEt1+ϕ(s)=αδtEt δ t = R t + 1 + γ θ T ϕ ( s ′ ) − θ T ϕ ( s ) E t = γ λ E t − 1 + ϕ ( s ) Δ θ = α δ t E t

关于这些更新方法的具体含义可以参考这篇文章

批处理方法

批处理方法的计算比较复杂,但是计算效率高。批处理方法是指给定经验数据集 D={ (s1,vπ1),(s2,vπ2),,(sT,vπT)} D = { ( s 1 , v 1 π ) , ( s 2 , v 2 π ) , … , ( s T , v T π ) } ,找到最好的拟合函数 v^(s,θ) v ^ ( s , θ ) 使得

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值