参数化值函数近似
针对之前的模型
都是基于创建一个查询表,再表中维护状态值函数或状态-动作值函数。
当处理大规模的 MDP 时
维护起来代价太大
处理大规模 MDP 的解决方法
- 对状态/动作进行离散化或粪桶
- 构建参数化的值函数估计
对状态/动作进行离散化
例如:在一个二维平面空间中,使用网格对状态空间进行切分,从而转化成离散值
对于一个大型的 MDP,可以对状态值进一步分桶以进行采样聚合
优点
缺点
- 过于简单表示价值函数 V
- 可能为每个离散区间假设一个常数值
- 维度灾难
参数化价值函数
参数化值函数近似
构建参数化(可学习的)函数来近似值函数
Vθ(s)≃Vπ(s)
Qθ(s,a)≃Qπ(s,a)
- θ 时近似函数的参数,可通过 RL 进行更新
- 参数化的方法将现有可见的状态泛化到没有见过的状态上
值函数近似的主要形式
- 一些函数近似
- 可微函数
- 希望模型适合在非静态的、非独立同分布的数据上训练
基于随机梯度下降 SGD 的值函数近似
目标:找到参数向量 θ 最小化值函数近似值与真实值之间的均方误差
J(θ)=Eπ[21(Vπ(s)−Vθ(s))2]
误差减小的梯度方向
−∂θ∂J(θ)=Eπ[(Vπ(s)−Vθ(s))∂θ∂Vθ(s)]
单次采样随机梯度下降
θ←θ−α∂θ∂J(θ)
=θ+α(Vπ(s)−Vθ(s))∂θ∂Vθ(s)
特征化状态
用一个特征向量表示状态
价值函数近似算法
状态值函数近似
用特征的线性组合表示价值函数 Vθ(s)=θTx(s)
目标函数是参数的 θ 的二次函数 J(θ)=Eπ[21(Vπ(s)−θTx(s))2]
因此随机梯度下降能够收敛到全局最优解上
θ←θ−α∂θ∂J(θ)
=θ+α(Vπ(s)−Vθ(s))x(s)
α 是步长,中间的差值是预测误差,x(s) 是特征值
使用蒙特卡洛状态值函数近似,蒙特卡洛预测至少能收敛到一个局部最优解
使用时序差分值函数近似
状态 - 动作值函数近似
对动作 - 状态值函数进行近似 Qθ(s,a)≃Qπ(s,a)
最小均方误差 J(θ)=Eπ[21(Qπ(s,a)−Qθ(s,a))2]
在单个样本上进行随机梯度下降
θ←θ−α∂θ∂J(θ)
=θ+α(Qπ(s,a)−Qθ(s,a))∂θ∂Qθ(s,a)
线性状态 - 动作值函数近似
使用特征向量表示状态 - 动作对
线性情况下,参数化 Q 函数 Qθ(s,a)=θTx(s,a)
利用随机梯度下降更新
时序差分状态 - 动作值函数近似
对于蒙特卡洛学习,目标是累计奖励
对于时序差分,目标是当前奖励和未来预测奖励之和
策略梯度
参数化策略
πθ(a∣s),策略可以是确定的 a=πθ(s),也可以是随机的 πθ(a∣s)=P(a∣s;θ)。
- θ 是策略的参数
- 将可见的已知状态泛化到位置的状态上
基于策略的强化学习
优点
- 更好的收敛性质
- 高维度或连续动作空间中更有效
- 能学习出随机策略
缺点
- 通常或收敛到局部最优
- 评估一个策略通常不够高效率并且具有较大的方差
策略梯度
对于随机策略 πθ(a∣s)=P(a∣s;θ)
降低低价值/奖励动作出现的概率,提高高价值/奖励动作出现的概率。
单步马尔可夫决策过程的策略梯度
考虑一个但不马尔可夫决策过程
- 起始状态 s∼d(s)
- 决策过程在进一步决策后结束,获得奖励值 rsa
策略的价值期望
J(θ)=Eπθ[r]=∑s∈Sd(s)∑a∈Aπθ(a∣s)rsa
∂θ∂J(θ)=∑s∈Sd(s)∑a∈A∂θ∂πθ(a∣s)rsa
trick: 似然比 Likelihood Ratio
∂θ∂πθ(a∣s)=πθ(a∣s)πθ(a∣s)1∂θ∂πθ(a∣s)
=πθ(a∣s)∂θ∂logπθ(a∣s)
因此,∂θ∂J(θ)=∑s∈Sd(s)∑a∈Aπθ(a∣s)∂θ∂logπθ(a∣s)rsa
=Eπθ[∂θ∂logπθ(a∣s)rsa]
这一结果可以通过 d(s) 中采样状态 s 和从 πθ 中采样动作 a 来近似估计
策略梯度定理
将似然比推导过程泛化到马尔可夫决策过程
长期价值函数 Qπθ(s,a) 替换 rsa
起始状态目标函数 J1,平均奖励目标函数 JavR,平均价值目标函数 JavV
定理:对任意可微的策略 πθ(a∣s),任意策略的目标函数 J=J1,JavR,JavV,其策略梯度为:
∂θ∂J(θ)=Eπθ[∂θ∂logπθ(a∣s)Qπθ(s,a)]
蒙特卡洛策略梯度(REINFORCE)
随机梯度上升
策略梯度定理
利用累计奖励值 Gt 作为 Qπθ(s,a) 的无偏采样。
Δθt=α∂θ∂logπθ(at∣st)Gt
Softmax 随机策略
非常常用的随机策略 πθ(a∣s)=∑a′efθ(s,a′)efθ(s,a)
fθ(s,a) 是 θ 参数化的状态-动作对得分函数,可预定义。
其对数似然梯度为 ∂θ∂logfθ(s,a)−Ea′∼πθ(a′∣s)[∂θ∂fθ(s,a′)]
Actor-Critic
同时基于价值函数和策略梯度的算法
REINFORCE存在的问题
基于片段式数据的任务
通常情况下,任务需要终止状态,REINFORCE才能直接计算累计折扣黄历
低数据利用效率
需要大量训练数据
高训练方差(重要缺陷)
从单个或多个片段中采样得到的值函数具有很高的方差
AC算法的引入
为什么不建立一个可训练的值函数Qϕ完成Q(s,a)的评估过程
演员 πθ(a∣s) 采取动作使评论家满意的策略
- 学会采取是评论家满意的动作
- J(θ)=Es∼p,πθ[πθ(a∣s)QΦ(s,a)]
- ∂θ∂J(θ)=Eπθ[∂θ∂logπθ(a∣s)QΦ(s,a)]
评论家 Qϕ(s,a) 学会准确估计演员策略所采取动作价值的值函数
- 学会估计当前演员策略的动作价值
- Qϕ(s,a)≃r(s,a)+γEs′∼p(s′∣s),a′∼πθ(a′∣s′)[Qϕ(s′,a′)]
A2C, Advantageous Actor-Critic
通过减去一个基线函数来标准化评论家的打分,有点normalize的意思
- 更多信息指导:降低较差动作概率,提高较优动作概率
- 进一步降低方差
优势函数 Advantage Function
Aπ(s,a)=Qπ(s,a)−Vπ(s)
状态-动作值和状态值函数
Qπ(s,a)=r(s,a)+γEs′∼p(s′∣s),a′∼πθ(a′∣s′)[Qϕ(s′,a′)]
=r(s,a)+γEs′∼p(s′∣s)[Vπ(s′)]
因此,
Aπ(s,a)=r(s,a)+γEs′∼p(s′∣s)[Vπ(s′)−Vπ(s)]
≃r(s,a)+γ[Vπ(s′)−Vπ(s)]