强化学习(四)—— Model-Free Control

Reference

[1] David Silver: https://www.davidsilver.uk/wp-content/uploads/2020/03/control.pdf

在强化学习(三)中我们了解了在非MDP环境中如何预测价值函数。
在这里插入图片描述

正如强化学习(二)动态规划一样,在完成价值函数预测后我们需要学习价值函数的优化控制。优化方法分为on-policyoff-policy两种,其中on-policy支持策略 π \pi π在策略自己采样的数据中学习,off-policy支持策略在其他策略采样的数据中学习。
在这里插入图片描述

1. On-Policy Learning

1.1 策略迭代(Generalised Policy Iteration)

与DP策略迭代相同,·Model-Free·下的策略迭代也有策略评估策略改进两部分组成。
在这里插入图片描述
但是普遍的策略迭代方式存在两大问题:

  • 在未知MDP环境下,无法继续使用V函数进行贪心策略改进。
  • 单纯的贪心策略无法探索达到最优策略。

因此,需要通过使用Q函数的策略迭代以及增加探索机制加以改进。

1.1.1 使用Q函数的策略评估(Policy-Evaluation With Action-Value Function)

贪心策略是在状态s下选择最大q值所对应的动作。但如果使用V函数进行策略评估,会因为在非MDP环境下无法得知状态转移概率等而不能正常执行。所以按照相同的原理,我们可以将V函数转化为使用Q函数来进行策略评估。
在这里插入图片描述

1.1.2 ϵ − G r e e d y \epsilon-Greedy ϵGreedy 探索( ϵ − G r e e d y \epsilon-Greedy ϵGreedy Exploration)

贪心策略在每次更新时都会选择Q值最大的动作,很明显这并不能保证能够达到全局最优策略。因此我们需要加入一些简单的探索机制。
在这里插入图片描述

证明:
在这里插入图片描述


综上所述,在Model-Free环境下,策略评估可以采用预测Q函数的MC、TD(0)或TD( λ \lambda λ)方法。策略改进可以采用 ϵ − \epsilon- ϵ greedy policy方法。下面我们将分别介绍MC和TD策略迭代方法。

1.2 蒙特卡洛策略迭代(Policy Iteration With Monte-Carlo Evaluation)

(1)回顾:蒙特卡洛策略评估
通过计算一条完整轨迹的折扣回报与价值函数的差值和学习率的乘积,对价值函数进行修正。
在这里插入图片描述

(2)蒙特卡洛控制
循环迭代基于Q函数的MC策略评估与 ϵ − g r e e d y \epsilon - greedy ϵgreedy的策略改进方法,直到收敛获得最优动作价值函数与最优策略。
在这里插入图片描述

1.2.1 GLIE MC Control

(1)GLIE
若要达到动作函数与策略的收敛,MC策略迭代必须GLIE。

  • 每个状态动作对(s,a)必须经过大量计算。
  • ϵ \epsilon ϵ 探索值会随着策略的改进而逐渐减小为0.(从随机探索性策略变为确定性策略)

在这里插入图片描述

(2)MC Policy Iteration
对于每一段完整轨迹,使用MC策略评估预测动作价值函数,接着采用 ϵ − g r e e d y \epsilon - greedy ϵgreedy 更新策略。随着迭代次数的递增, ϵ \epsilon ϵ 值大小逐渐趋近于0,并最终收敛获得最优动作价值函数和最优策略。

因为每一次更新都需要计算一条完整轨迹的回报,导致MC方法具有较高的方差。同时TD方法的运行效率远高于MC,所以我们通常采用TD方法进行策略评估。

1.3 时序差分策略迭代(Policy Iteration With Temporal-Difference Evaluation)

(1)回顾:时序差分策略评估
时序差分法可以在不完整的序列上进行学习。TD方法通过预测对预测进行更新(updates a guess towards guess)。
在这里插入图片描述

1.3.1 Sarsa

(1)定义
循环迭代基于Q函数的TD(0)策略评估与 ϵ − g r e e d y \epsilon - greedy ϵgreedy的策略改进方法,直到收敛获得最优动作价值函数与最优策略。
在这里插入图片描述
在这里插入图片描述
Sarsa相对于MC策略迭代,在每一个时间步均进行了策略评估与改进。其中奖励R与下一状态S’由环境直接获得,A’采用 ϵ g r e e d y \epsilon greedy ϵgreedy 探索策略获得

(2)算法
在这里插入图片描述

证明:
在这里插入图片描述

1.3.2 Sarsa( λ \lambda λ)

Sarsa算法采用TD(0)进行策略评估,同理我们可以采用TD( λ \lambda λ)进行策略评估。
(1)n-Step Sarsa
在计算TD Target时考虑到向后行动n步并计算获得的Q值。
在这里插入图片描述
(2)Forward View Sarsa( λ \lambda λ)
同时考虑Sarsa(0)至Sarsa( λ \lambda λ),并对各自的q值进行加权获得真正的TD Target值,用于策略改进。
在这里插入图片描述
(2)Backward View Sarsa( λ \lambda λ)
计算TD Target值时我们考虑到n步后的策略。因此在策略更新时我们需要考虑到整个合格“轨迹”上的状态-动作对的Q值。我们根据距离最终获奖的时间步对轨迹上各自的TD Target进行区分。
在这里插入图片描述

  • λ = 0 \lambda=0 λ=0时,仅考虑一步更新,与Sarsa相同。
  • λ = 1 \lambda=1 λ=1时,轨迹上每一步的TD Target相同。
    在这里插入图片描述
    (3)算法
    在这里插入图片描述

2. Off-Policy Learning

背景
之前我们讨论的是在Model Free下On-Policy的学习策略,策略在每个Episode获time step上,根据策略自己的采样数据更新。Sarsa是采用TD(0)进行策略评估的典型On-Policy方法。Off-Policy方法相对于On-Policy方法在数据重用、模仿学习等上有更多优势。
在这里插入图片描述
接下来我们将讨论策略如何从其他策略的采样经验中学习。

2.1 重要性采样(Important Sampling)

因为不同策略采样的经验分布不同,所以如果要重用历史经验我们需要修改采样数据的分布。重要性采样是一种改变数据分布的方法。
在这里插入图片描述
我们可以通过重要性采样将策略 μ \mu μ获取的数据转移给策略 π \pi π使用。
(1)Importance Sampling for Off-Policy MC
在这里插入图片描述

(2)Importance Sampling for Off-Policy TD
在这里插入图片描述

2.2 Q-Learning(SarsaMAX)

回顾:On-Policy Sarsa
在这里插入图片描述
(1)定义
Q-Learning是一种Off-Policy算法。Q-Learning没有采用重要性采样,通过修改 A t + 1 → A ′ A_{t+1} \to A' At+1A,将策略 μ \mu μ获取的下一动作替代为从策略 π \pi π选取的下一动作A’,从而实现数据分布变化。
在这里插入图片描述
理解: Q-Learning是一种Off-Policy策略,根据其他策略采样的经验学习,因此不能直接使用策略 μ \mu μ在下一个时间步的动作 A t + 1 A_{t+1} At+1

(2)A’ 的选择
采用贪心策略选择下一状态最大Q值所对应的动作。
在这里插入图片描述
(3)算法
在这里插入图片描述
在这里插入图片描述

3. Relationship Between DP and TD

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冠long馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值