引言:本文首先通过引出Q-learning的最大化偏差问题,然后从solve最大化偏差的角度出发分别阐述Expected Sarsa和Double Q-learning,并从实验中Q表的更新过程来深入剖析Double Learning思想的本质。最后实验对比了Double Learning、Q Learning、Expected Sarsa以及Action Distribution在案例中的表现.
一、Q-learning中的最大化偏差(Maximization Bias)
在深挖Double Learning之前,我们先来回顾下Q-learning更新Q表的公式:
即,每个状态动作价值
,选择用下一步最大的状态动作价值
来更新。这点显示出
Q-learning会倾向于将当前局面下一时刻的最优动作价值作为当前局面评估值的更新方向。这会带来一个问题,当这个最优状态动作价值是noise或
reward是满足某个分布的随机值时,会产生
最大化偏差(Maximization Bias)。
什么是最大化偏差呢?我们来通过Sutton的RL intro书中的案例来说明这个问题:
【问题描述】:以上MDP有两个非终止状态A和B,其中灰色矩形表示终止态T,起始状态是A,选择向右的action会转移到终止态T并获得0奖赏值;选择向左的action会转移到状态B并获得0奖赏值,对于状态B可以有1个或多个动作,所有动作都会以概率为1转移到终止态,每个动作的奖赏值均服从的高斯分布.
【Q-learning求解】:假设状态B下有10个动作,则当Q-learning从状态A开始采样,并更新
时,会先分别计算状态B下的所有action对应的Q值,然后选取最大的Q值和奖赏作为A-left的更新
由于B的所有动作奖赏是一个服从
的高斯分布,所以本MDP问题中Q(A,left)的真实值应该是
而由于噪声的存在,使得少量
,从而有
因此,从而使得状态A在初期时计算出大部分最优动作为
,直到状态B下的大部分
时,
才逐渐降低到0以下,实验结果如图所示
α | ε | γ |
---|---|---|
0.1 | 0.1 | 0.9 |
从图中我们不难发现在初期采样时(前20轮),状态A选择动作left的次数先是越来越多,随后才逐步降低。为了更好的说明问题,我在此处把对应Q(A,left)和max Q(B,a)同时绘图如下
以上两幅图中,状态A选择left动作的频率和Q(A,left)同分布。我们可以直观看到,
和
近似同分布,它可以直接影响到Q(A,left),而
由于到噪声的存在实际上并不能真实表示
- 特点:有偏估计,而且是最大化偏差的估计。
二、如何消除Maximization Bias?
在这里,我们先不追寻算法是怎么解决问题的,而是先问问自己,如果是我,我会怎么solve这个problem?这远比答案要重要的多
思考
Q-learning更新公式中的max操作导致了最大化bias,因此想要消除Bias,最原始的想法是让更新与max操作解耦合,并且要让最接