强化学习DRL--价值学习(DQN、SARSA算法)

先看题目噢---------------------价值学习(还有一种方法是策略学习)

一、DQN与Q学习

1. DQN

  • 我们希望知道 Q ⋆ Q ⋆ Q ,因为它就像是先知一般,可以预见未来,在 t 时刻就预见 t 到 n时刻之间的累计奖励的期望。近似学习“先知”Q ⋆ 最有效的办法是深度 Q网络(deep Q network,缩写 DQN),记作 Q ( s , a ; w ) Q(s,a;\bf{w}) Q(s,a;w)
  • 首先随机初始化参数 w,随后用“经验”去学习 w。学习的目标是:对于所有的 s 和 a,DQN 的预测 Q(s,a;w) 尽量接近 Q ∗ ( s , a ) Q_*(s,a) Q(s,a)

在这里插入图片描述

  • DQN 的输出是离散动作空间 A 上的每个动作的 Q 值,

2.时间差分 (TD) 算法

  • 训练 DQN 最常用的算法是时间差分(temporal difference,缩写 TD)。
  • TD 算法是一大类算法,常见的有 Q 学习和 SARSA。Q 学习的目的是学到最优动作价值函数 Q ⋆ ,而 SARSA 的目的是学习动作价值函数 Q π Q_\pi Qπ
  • TD 算法的目的是通过更新参数 w 使得损失 L ( w ) = 1 2 ∗ ( q ^ − y ^ ) 2 L(w) =\frac{1}{2}*(\hat{q}-\hat{y})^2 L(w)=21(q^y^)2减小。
  • 训练过程:一大堆公式

3.Q learning

  • 表格法,记为 Q ~ \tilde{Q} Q~
    在这里插入图片描述

  • 收集训练数据e–greedy(也称为行为策略
    在这里插入图片描述

  • 经验回放更新表格 Q ~ \tilde{Q} Q~
    在这里插入图片描述
    在这里插入图片描述

4. 同策略 (On-policy) 与异策略 (Off-policy)

首先介绍行为策略和目标策略

  • 行为策略:作用是收集经验(experience),即观测的状态、动作、奖励。最常用的行为策略是 ϵ-greedy
  • 目标策略:强化学习的目的是就是得到一个策略函数,用这个策略函数来控制智能体。这个策略函
    数就叫做目标策略。
  • 本章的 Q 学习算法可以用任意的行为策略收集 ( s t , a t , r t , s t + 1 ) (s t ,a t ,r t ,s_{t+1 }) (st,at,rt,st+1) 这样的四元组,然后拿它们训
    练目标策略,即 DQN。

同策略 与 异策略

  • 同策略是指用相同的行为策略和目标策略。
  • 异策略是指用不同的行为策略和目标策略,本章的 DQN属于异策略。
    在这里插入图片描述
    在这里插入图片描述

二、 SARSA 算法

Q 学习的目的是学习最优动作价值函数 Q ⋆ 。SARSA 的目的是学习动作价值函数 Q π ( s , a ) Q _π (s,a) Qπ(s,a).现在 Q π Q _π Qπ通常被用于评价策略的好坏,而非用于控制智能体.
在这里插入图片描述

1. 表格法的SARSA

SARSA 算法的目标是学到表格 q,作为动作价值函数 Q π 的近似。
在这里插入图片描述

2. 神经网络形式的SARSA

用一个神经网络 q ( s , a ; w ) q(s,a;\bf{w}) q(s,a;w)来近似 Q π ( s , a ) Q_π (s,a) Qπ(s,a),神经网络 q ( s , a ; w ) q(s,a;\bf{w}) q(s,a;w)被称为价值网络(value network)。首先随机初始化 w,然后用 SARSA 算法更新 w。
在这里插入图片描述

三、价值学习高级技巧

1.经验回放

  • 经验回放的一个好处在于打破序列的相关性。
  • 经验回放的另一个好处是重复利用收集到的经验,而不是用一次就丢弃,这样可以用更少的样本数量达到同样的表现。

注意:

  • 经验回放数组里的数据全都是用行为策略(behavior policy)控制智能体收集到的。在收集经验同时,我们也在不断地改进策略。策略的变化导致收集经验时用的行为策略是过时的策略,不同于当前我们想要更新的策略——即目标策略(target policy)。我们真正想要学的目标策略不同于过时的行为策略。
  • 比如 Q 学习、确定策略梯度 (DPG) 都属于异策略。由于它们允许行为策略不同于目标策略,过时的行为策略收集到的经验可以被重复利用。经验回放适用于异策略。
  • 比如 SARSA、REINFORCE、A2C 都属于同策略。它们要求经验必须是当前的目标策略收集到的,而不能使用过时的经验。经验回放不适用于同策略。

优先经验回放:

  • 优先经验回放给每个四元组一个权重,然后根据权重做非均匀随机抽样。如果 DQN 对 ( s j , a j ) (s j ,a j ) (sj,aj)的价值判断不准确,即 Q ( s j , a j ; w ) Q(s j ,a j ;w) Q(sj,aj;w) Q ⋆ ( s j , a j ) Q ⋆ (s j ,a j ) Q(sj,aj) 较远,则四元组 ( s j , a j , r j , s j + 1 ) (s j ,a j ,r j ,s j+1 ) (sj,aj,rj,sj+1) 应当有较高的权重。

2.高估问题及解决方法

用 Q 学习训练出的 DQN 会高估真实的价值,而且高估通常是非均匀的。Q 学习产生高估的原因有两个:

  • 第一,自举导致偏差的传播;
  • 第二,最大化导致 TD 目标高估真实价值。

(1)目标网络

想要切断自举,可以用另一个神经网络计算 TD 目标,而不是用 DQN 自己计算 TD 目标。另一个神经网络被称作目标网络(target network)。把目标网络记作: Q ( s , a ; w − ) Q(s,a;w^-) Q(s,a;w)
它的神经网络结构与 DQN 完全相同,但是参数 w − w^- w不同于 w。
在这里插入图片描述

在这里插入图片描述
改用目标网络计算 y ^ \hat{y} y^,避免了用DQN的估计更新DQN自己,降低自举造成的危害。然而这种方法不能完全避免自举,因为目标网络的参数仍然与DQN相关。

(2)双Q学习算法

在 Q 学习算法中使用目标网络,可以缓解自举造成的偏差,但是无助于缓解最大化造成的高估。DDQN在目标网络的基础上做改进,缓解最大化造成的高估。
注:

  • 双 Q 学习(即所谓的 DDQN)只是一种 TD 算法而已,它可以把 DQN 训练得更好。
  • 双 Q 学习并没有用区别于 DQN 的模型。本节中的模型只有一个,就是 DQN。
  • 我们讨论的只是训练 DQN 的三种 TD 算法:原始的 Q 学习、用目标网络的 Q 学习、双 Q 学习。

介绍DDQN:
在这里插入图片描述
梯度更新:
在这里插入图片描述


注:如果使用 SARSA 算法(比如在 actor-critic 中),自举的问题依然存在,但是不存在最大化造成高估这一问题。对于 SARSA,只需要解决自举问题,所以应当将目标网络应用到 SARSA。

3.对决网络

对决网络与 DQN 一样,都是对最优动作价值函数 Q ⋆ 的近似;两者的唯一区别在于神经网络结构。

4.噪声网络

噪声网络是一种特殊的神经网络结构,神经网络中的参数带有随机噪声。噪声网络可以用于 DQN 等多种深度强化学习模型。噪声网络中的噪声可以鼓励探索,让智能体尝试不同的动作,这有利于学到更好的策略。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值