最大化偏差问题与Double Q-Learning(一)——最大化偏差问题介绍

目录

本系列将介绍求解时序差分控制过程中算法出现的最大化偏差问题以及解决方法——Double Q learning算法。

什么是最大化偏差

前面分别介绍了基于同轨策略求解时序差分控制(SARSA)基于离轨策略求解时序差分控制(Q-Learning),我们发现,这两种算法本质上都是采用 最大化目标策略 的思想。

什么是最大化目标策略
经过观察发现,无论是SARSA算法还是Q-Learning算法,它们的策略改进过程均可以表示为:

  • 使用贪心策略,获取当前状态 S t S_t St最大状态-动作价值函数对应的动作:
    A ∗ = arg ⁡ max ⁡ a Q ( S t , a ) A^* = \mathop{\arg\max}\limits_{a} Q(S_t,a) A=aargmaxQ(St,a)
  • A ∗ A^* A的基础上,再使用 ϵ − \epsilon- ϵ贪心策略 A ∗ A^* A转化为 软性策略
    ∀ a ∈ A ( S t ) → π ( a ∣ S t ) = { 1 − ϵ k + ϵ k ∣ A ( S ) ∣ a = A ∗ ϵ k ∣ A ( S ) ∣ a ≠ A ∗ \begin{aligned} \forall a \in \mathcal A(S_t) \to \\ \pi(a \mid S_{t}) &= \left\{ \begin{array}{ll} 1 - \epsilon_k + \frac{\epsilon_k}{\mid\mathcal A(S) \mid} \quad a= A^*\\ \frac{\epsilon_k}{\mid\mathcal A(S) \mid}\quad\quad \quad \quad\quad a \neq A^* \end{array} \right. \end{aligned} aA(St)π(aSt)={ 1ϵk+A(S)ϵka=AA(S)ϵka=A

这种操作的本质是将估计值 Q ( S t , a ) Q(S_t,a) Q(St,a)中的最大值作为 真实值的估计。这种估计结果会造成 Q ( S t , a ) Q(S_t,a) Q(St,a)的估计结果真实值的估计结果之间存在一个 正向偏差,这个偏差被称为 最大化偏差

最大化偏差是如何出现的

再次观察上面描述策略改进过程:无论是选择最优动作 A ∗ A^* A还是 A ∗ A^* A转化为软性策略 —— 根本就 没有偏差的机会

  • 选择最优动作 A ∗ → A^* \to A 选最大值;
  • 软性策略转化 → \to 基于人为设定 ϵ \epsilon ϵ的贪心算法;

因此,真正可能出现偏差的位置在策略评估过程——准确来说,就在状态-动作价值函数 Q ( S , A ) Q(S,A) Q(S,A)迭代过程
因为策略评估中’动作a的选择‘仍然只是一个ε-贪心策略;和策略改进部分没有区别。

回顾SARSA和Q-Learning算法的迭代过程公式如下:

Q ( S t , A t ) ← Q ( S t , A t ) + α [ R t + 1 + γ Q ( S t + 1 , A t + 1 ) − Q ( S t , A t ) ] Q ( S t , A t ) ← Q ( S t , A t ) + α [ R t + 1 + γ max ⁡ a Q ( S t + 1 , a ) − Q ( S t , A t ) ] Q(S_t,A_t) \gets Q(S_t,A_t) + \alpha[R_{t+1} + \gamma Q(S_{t+1},A_{t+1}) - Q(S_t,A_t)] \\ Q(S_t,A_t) \gets Q(S_t,A_t) + \alpha[R_{t+1} + \gamma \mathop{\max}\limits_{a}Q(S_{t+1},a) - Q(S_t,A_t)] Q(St,At)Q(St,At)+α[Rt+1+γQ(St+1,At+1)Q(St,At)]Q(St,At)Q(St,At)+α[Rt+1+γamaxQ(St+1,a)Q(St,At)]

我们发现:每个状态-动作价值函数 Q ( S , A ) Q(S,A) Q(S,A)都会选择选择下一时刻的最优状态-动作价值函数 Q ( S t + 1 , A t + 1 ) Q(S_{t+1},A_{t+1}) Q(St+1,At+1)或者 max ⁡ a Q ( S t + 1 , a ) \mathop{\max}\limits_{a}Q(S_{t+1},a) amaxQ(St+1,a)作为 Q ( S , A ) Q(S,A) Q(S,A)的更新方向
即便SARSA选择的动作存在一定概率不是最优的,但下一时刻的动作也是通过ε-贪心策略选择出来的,因此,选择到最优动作的概率明显高于其他动作。

如果出现类似于 最优状态-动作价值函数是噪声或奖励结果(Reward)是满足某个分布的随机值传送门

分析:如果出现这种情况会产生什么后果:
某一动作执行后,系统自动产生的随机奖励结果(Reward)和该动作本身 不匹配

  • 例如:在某状态 S ′ S' S下,执行某动作 A ′ A' A后的奖励结果不希望它太高;但通过奖励结果分布产生出的随机值导致该奖励结果过高——该结果直接影响 Q ( S ′ , A ′ ) Q(S',A') Q(S,A)的计算和后续迭代过程

下面以Q-Learning为例,具体实现一下 随机奖励结果是如何对策略评估过程产生的影响的

基于Q-Learning最大化偏差示例

示例环境介绍与问题描述

设计一个简易环境(Environment):如下图所示:
请添加图片描述
其中:
A A A表示一个状态(State),该状态共包含两个动作(Action):

A ( A ) = { a l e f t , a

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

静静的喝酒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值