经典的Q-learning算法因为目标策略的取max步骤使得Q估计值存在过估计
现象。Q(s,a)估计的不准确会导致Agent表现力很差,比如原本2个真值
Q
(
s
,
a
0
)
>
Q
(
s
,
a
1
)
Q(s,a_0)>Q(s,a_1)
Q(s,a0)>Q(s,a1),但过估计可能会使得收敛时他们的估计值
Q
(
s
,
a
0
)
<
Q
(
s
,
a
1
)
Q(s,a_0)<Q(s,a_1)
Q(s,a0)<Q(s,a1)。那么根据贪心策略,会出现次优策略。
为了解决过估计这个糟糕的问题,2010年Hasselt在NIPS上发表了Double Q-learning这篇论文。旨在通过引入Double Q-learning算法,以欠估计(underestimation)来替代Q-learning的过估计(overestimation)问题。或者说用低于真值的负估计来解决Q-learning高于真值的正估计问题。
这篇文章让我明白了之前犯得一个错误
:误认为DQN中的过估计是因为NN本身的误差引起的(当然也有这个因素),但其实过估计问题主要是因为Q-learning算法本身就存在的,DQN由于基于Q-learning,所以会出现过估计。
Double Q-learning的价值:
- 作为后续
DDQN
的基础,来解决连续状态,离散动作的RL问题过估计问题。 - 作为Double Q-learning的基础,来解决离散状态,离散动作RL问题过估计问题。
- 作为
TD3
算法的基础,用以解决DDPG
算法中DQN部分过估计问题,来解连续动作下的RL问题。
Double Q-learning论文主要内容:
- 分析了Q-learning算法的
overestimation
。 - 引出了Double Q-learning去解决过估计问题,但是这个算法并不是准确估计的,而是本身会造成
underestimation
。
Double Q-learning
Abstract
作者Hasselt指出:
- Q-learning因为存在最大化动作值函数而产生过估计问题。
- 提出了Double Q-learning来解决Q-learning这个缺陷。
- Double Q-learning本地也有缺陷:会产生欠估计(underestimation)问题。
- 作者通过2个实验来凸显出新Q算法和旧Q算法在估计上的表现:即一个欠估计,一个过估计。
1 Introduction
Q-learning是TD算法,是一种结合了DP和MC各自特点的算法。其动作值函数更新公式为:
Q
t
+
1
(
s
t
,
a
t
)
=
Q
t
(
s
t
,
a
t
)
+
α
t
(
s
t
,
a
t
)
(
r
t
+
γ
max
a
Q
(
s
t
+
1
,
a
)
−
Q
t
(
s
t
,
a
t
)
)
(1)
Q_{t+1}(s_t,a_t) = Q_t(s_t,a_t) +\alpha_t(s_t,a_t)(r_t+ \\\gamma \mathop{\max_a}Q_(s_{t+1},a)-Q_t(s_t,a_t)) \tag{1}
Qt+1(st,at)=Qt(st,at)+αt(st,at)(rt+γamaxQ(st+1,a)−Qt(st,at))(1)
式子中,
α
∈
[
0
,
1
]
\alpha\in[0,1]
α∈[0,1]是一个根据状态数而衰减的学习率,类似于
ϵ
\epsilon
ϵ,我们一般都设为固定值。由于TD目标值也是个估计值,所以
α
\alpha
α的值不应太大。
最优值函数
Q
∗
(
s
,
a
)
Q^*(s,a)
Q∗(s,a)根据贝尔曼公式可得:
∀
s
,
a
:
Q
∗
(
s
,
a
)
=
∑
s
′
P
s
a
s
′
(
R
s
a
s
′
+
γ
max
a
Q
∗
(
s
′
,
a
)
)
=
r
t
+
γ
∑
s
′
P
s
a
s
′
max
a
Q
∗
(
s
′
,
a
)
=
E
s
′
∼
ρ
(
R
s
a
s
′
+
γ
max
a
Q
∗
(
s
′
,
a
)
)
(2)
\forall s,a:Q^*(s,a) =\mathop{\sum_{s'}}P_{sa}^{s'}(R_{sa}^{s'}+\gamma \mathop{\max_a}Q^*(s',a)) \\=r_t+\gamma \mathop{\sum_{s'}P_{sa}^{s'}}\mathop{\max_a}Q^*(s',a) \\= \mathbb{E}_{s' \sim\rho}(R_{sa}^{s'}+\gamma \mathop{\max_a}Q^*(s',a)) \tag{2}
∀s,a:Q∗(s,a)=s′∑Psas′(Rsas′+γamaxQ∗(s′,a))=rt+γs′∑Psas′amaxQ∗(s′,a)=Es′∼ρ(Rsas′+γamaxQ∗(s′,a))(2)
- 从期望中看出,Q-learning由于没有状态转移概率,所以只能通过采样的方式去逼近 E \mathbb{E} E,根据大数定律,无限次采样会达到均值。这里也看出model-free不同于model-based,其实通过n次的采样去做RL任务的。TD算法收敛的过程其实就是在构建一个MDP,通过采样不断去近似状态转移概率。
- γ \gamma γ两个作用:①相对未来,更看重眼前的利益,符合人脑的思维方式。②防止RL中出现的周期往复行为导致G太大,比如MC中,如果某次出现G太大,那么会使得算法的方差进一步拉大,增加了收敛的难度。
- 作者还提出了一些可以增加Q-learning收敛速度的论文,比如
Delayed Q-learning,Phased Q-learning,Fitted Q-learning
等
Contributions:
作者提出一种双估计器
,相比于基于单估计器
的Q-learning而言,他不会产生过估计,但是会有欠估计。基于双估计思想与Q-learning,作者提出了Double Q-learning这种新算法。
接下去论文的组织顺序:
- 第2节:使用单、双估计器来近似一系列R.V.的期望的最大值。
- 第3节:提出Double Q-learning算法,并证明其收敛性。
- 第4节:根据实验来得出Double Q-learning的特性以及和Q-learning的比对。
- 第5、6节:总结与展望。
2 Estimating the Maximum Expected Value
全文的研究以用2种估计器(单、双估计)来近似估计一系列R.V.的最大期望值:
M个随机变量
X
=
X
1
,
X
2
.
.
.
,
X
M
X={X_1,X_2...,X_M}
X=X1,X2...,XM。
研究对象为:
max
i
E
(
X
i
)
(3)
\mathop{\max_i}\mathbb{E}(X_i) \tag{3}
imaxE(Xi)(3)
单估计器
的做法是通过最大化一系列R.V.估计值的期望值来估计这个研究对象,即
max
i
E
{
X
i
}
=
max
i
E
{
μ
i
}
≈
max
i
μ
i
(
S
)
\mathop{\max_i}\mathbb{E}\{X_i\}=\mathop{\max_i}\mathbb{E}\{\mu_i\}\approx \mathop{\max_i}\mu_i(S)
imaxE{Xi}=imaxE{μi}≈imaxμi(S)这种做法使得其实不是无偏的
,会产生正偏差的。这点会在2.1节
得到证明。
双估计器
的做法是通过解耦R.V.估计值和R.V.估计器。这种做法也不是对目标的无偏估计,会产生负偏差,但是其避免了过估计,即正偏差。
Note:
- 随机变量 X i X_i Xi的估计器用 μ i \mu_i μi表示。
- μ i \mu_i μi是 X i X_i Xi的无偏估计,i.g. E { X i } = E { μ i } \mathbb{E}\{X_i\}=\mathbb{E}\{\mu_i\} E{Xi}=E{μi}
- 为了更好地理解这一节内容,你可以把 X i X_i Xi当做Q-learning中的 Q ( S , a i ) Q(S,a_i) Q(S,ai)真值,把 μ i \mu_i μi当做 Q ( S , a i ) Q(S,a_i) Q(S,ai)的估计值。
为了下面的分析,需要提前定义一些符号:
设
S
=
⋃
i
=
1
M
S
i
S=\bigcup_{i=1}^MS_i
S=⋃i=1MSi,其中子集
S
i
S_i
Si是对于
X
i
X_i
Xi采集的样本集合。根据概率论的基础知识,
S
i
S_i
Si中的样本之间服从iid条件(独立同分布)。故:
E
{
X
i
}
=
E
{
μ
i
}
≈
μ
i
(
S
)
=
d
e
f
1
∣
S
i
∣
∑
s
∈
S
i
s
\mathbb{E}\{X_i\}=\mathbb{E}\{\mu_i\}\approx\mu_i(S) \overset{def}{=}\frac{1}{|S_i|}\sum_{s\in S_i}s
E{Xi}=E{μi}≈μi(S)=def∣Si∣1s∈Si∑s
u
i
(
S
)
u_i(S)
ui(S)是
E
{
X
i
}
\mathbb{E}\{X_i\}
E{Xi}的无偏估计
,我们都知道误差取决预bias和var,因此在这种情况下想要降低error,就得通过继续采集样本来降低var。
这一节的末尾作者提了下概率论中的基础概念:概率密度PDF以及累积分布函数CDF,两者是求导积分的关系。
定义:
F
i
(
x
)
=
∫
−
∞
x
f
i
(
x
)
d
x
m
a
x
i
E
{
X
i
}
=
m
a
x
i
∫
−
∞
∞
x
f
i
(
x
)
d
x
F_i(x)=\int_{- \infty}^x f_i(x)\mathrm{d}x \\max_iE\{X_i\} = max_i\int_{-\infty}^{\infty}xf_i(x) \mathrm{d}x
Fi(x)=∫−∞xfi(x)dxmaxiE{Xi}=maxi∫−∞∞xfi(x)dx
2.1 The single Estimator
Q-learning就是使用单估计器来估计Q真值的。
接下来作者就开始分析单估计器是如何估计式(3)的。
其实正如上面分析那样,单估计的原理就是借鉴矩估计法
:
max
i
E
{
X
i
}
=
max
i
E
{
μ
i
}
≈
max
i
μ
i
(
S
)
(4)
\mathop{\max_i}\mathbb{E}\{X_i\}=\mathop{\max_i}\mathbb{E}\{\mu_i\}\approx \mathop{\max_i}\mu_i(S) \tag{4}
imaxE{Xi}=imaxE{μi}≈imaxμi(S)(4)
但是呢,虽然矩估计
E
{
X
i
}
=
E
{
μ
i
}
≈
μ
i
(
S
)
\mathbb{E}\{X_i\}=\mathbb{E}\{\mu_i\}\approx\mu_i(S)
E{Xi}=E{μi}≈μi(S)是无偏估计等式,但是式(4)对目标的估计却不是无偏的,乍一看无非从矩估计法外面加个
m
a
x
max
max而已,很合理的逻辑,但已不是无偏估计了,而是有偏估计,这也就是单估计器因
m
a
x
max
max产生过估计的原因。下面会证明估计会产生正向偏差
。
证明过程:
设
μ
i
\mu_i
μi的PDF为
f
i
μ
f_i^\mu
fiμ。则
max
i
u
i
\mathop{\max_i}u_i
maxiui的PDF为
f
m
a
x
μ
f^\mu_{max}
fmaxμ,CDF为
F
m
a
x
μ
F^\mu_{max}
Fmaxμ
故
F
m
a
x
μ
(
x
)
=
P
(
m
a
x
i
μ
i
≤
x
)
=
∏
i
=
1
M
P
(
μ
i
≤
x
)
=
d
e
f
∏
i
=
1
M
F
i
μ
(
x
)
F^\mu_{max}(x)=\mathbf{P}(max_i\mu_i\leq x)=\prod^M_{i=1}\mathbf{P}(\mu_i\leq x) \overset{def}{=}\prod^M_{i=1}F^\mu_i(x)
Fmaxμ(x)=P(maxiμi≤x)=∏i=1MP(μi≤x)=def∏i=1MFiμ(x)。
继续,
m
a
x
i
μ
i
(
S
)
max_i\mu_i(S)
maxiμi(S)是
E
{
m
a
x
i
μ
i
}
=
∫
−
∞
∞
x
f
m
a
x
μ
(
x
)
d
x
\mathbb{E}\{max_i\mu_i\}=\int^\infty_{-\infty}xf^\mu_{max}(x)\mathrm{d}x
E{maxiμi}=∫−∞∞xfmaxμ(x)dx的无偏估计
(这个地方作者直接给的结论,至于为啥这是无偏估计,我不知道咋证明,有知道的麻烦告知,这里就当个结论来记吧) 。
单估计器过估计的关键:
E
{
max
i
μ
j
}
=
∫
−
∞
∞
x
d
d
x
∏
i
=
1
M
F
i
μ
(
x
)
d
x
=
∑
j
M
∫
−
∞
∞
x
f
j
μ
(
s
)
∏
i
≠
j
M
F
i
μ
(
x
)
d
x
(5)
\mathbb{E}\{\mathop{\max_i}\mu_j\}=\int^\infty_{-\infty}x\frac{d}{\mathrm{d}x}\prod^M_{i=1}F_i^\mu(x)\mathrm{d}x \\=\sum^M_j\int^\infty_{-\infty}xf^\mu_j(s)\prod^M_{i\neq j}F^\mu_i(x)\mathrm{d}x \tag{5}
E{imaxμj}=∫−∞∞xdxdi=1∏MFiμ(x)dx=j∑M∫−∞∞xfjμ(s)i=j∏MFiμ(x)dx(5)
Note:
从这个式(5)可以看出,
∑
i
≠
j
M
F
i
μ
\sum^M_{i\neq j}F_i^\mu
∑i=jMFiμ是单调递增的,且
x
x
x在积分内,因此这个整体的值有可能会很大,也暗示了过估计的可能。
根据这篇论文的补充材料(NIPS官网可寻)中的Lemma1所示:
i.g.
E
{
max
i
μ
i
}
≥
max
i
E
{
μ
i
}
\mathbb{E}\{\max_i\mu_i\}\ge \max_i\mathbb{E}\{\mu_i\}
E{imaxμi}≥imaxE{μi}
单估计器通过采样,即
1
∣
S
i
∣
∑
s
∈
S
i
s
\frac{1}{|S_i|}\sum_{s\in S_i}s
∣Si∣1∑s∈Sis来估计我们的目标
max
i
E
{
X
i
}
\max_i\mathbb{E}\{X_i\}
maxiE{Xi}。但是根据上述结论,这种采样方式是
E
{
max
i
μ
i
}
\mathbb{E}\{\max_i\mu_i\}
E{maxiμi}的无偏估计,而根据Lemma1可知,单估计器对
max
i
E
{
X
i
}
\max_i\mathbb{E}\{X_i\}
maxiE{Xi}的估计是有偏差的,且是正偏差,即过估计。因此,我们可以得出结论:单估计器对max的估计是有偏差的,且是正偏差,根本原因在于
:
E
{
max
i
μ
i
}
≥
max
i
E
{
μ
i
}
\mathbb{E}\{\max_i\mu_i\}\ge \max_i\mathbb{E}\{\mu_i\}
E{imaxμi}≥imaxE{μi}
2.2 The Double Estimator
接下来作者会用一种新的估计器去估计
m
a
x
i
E
{
X
i
}
max_i\mathbb{E}\{X_i\}
maxiE{Xi}。这个新的估计器叫Double estimator
。他需要用到2个估计器
μ
A
=
{
μ
1
A
,
.
.
.
,
μ
M
A
}
\mu^A=\{\mu_1^A,...,\mu_M^A\}
μA={μ1A,...,μMA}以及
μ
B
=
{
μ
1
B
,
.
.
.
,
μ
M
B
}
\mu^B=\{\mu_1^B,...,\mu_M^B\}
μB={μ1B,...,μMB}。另外,类似于单估计器,定义:
- S = S A ∪ S B S=S^A\cup S^B S=SA∪SB,且 S A ∩ S B = ∅ S^A\cap S^B=\varnothing SA∩SB=∅。
- μ i A ( S ) = 1 ∣ S i A ∣ ∑ s ∈ S i A s , μ i B ( S ) = 1 ∣ S i B ∣ ∑ s ∈ S i B s \mu^A_i(S)=\frac{1}{|S_i^A|}\sum_{s\in S_i^A}s,\mu^B_i(S)=\frac{1}{|S_i^B|}\sum_{s\in S_i^B}s μiA(S)=∣SiA∣1∑s∈SiAs,μiB(S)=∣SiB∣1∑s∈SiBs,各自样本都要服从iid条件。
-
μ
i
A
,
μ
i
B
\mu^A_i,\mu^B_i
μiA,μiB仍是
X
i
X_i
Xi的无偏估计,且两者相互
独立
,这个独立体现在各自采样时自己采自己的。双方估计器互相独立的好处在于有利于解耦,当在第j号估计器通过采样出现过估计时,只要在B中对应的第j号估计器通过采样得到的没有出现过估计,那么最后估计就不会出现正偏差;当B中第j号估计器会出现过估计时,只要A不要选出第j号,那么最后估计就不会出现正偏差。从此可见双估计器利用的就是双方采样的差异性大,随机性强,各自单估计的话出现结果的差异大,这就是上面第1条的原因。我们不妨从极端考虑,如果双方采样样本一模一样,那么解耦就没有意义了! - M a x A ( S ) = d e f { j ∣ μ j A ( S ) = m a x i μ i A ( S ) } Max^A(S)\overset{def}{=}\{j|\mu^A_j(S)=max_i\mu_i^A(S)\} MaxA(S)=def{j∣μjA(S)=maxiμiA(S)}是一个保存最大 μ A ( S ) \mu^A(S) μA(S)对应估计器的序号。
显然对于 E { μ j B } = E { X j } \mathbb{E}\{\mu_j^B\}=\mathbb{E}\{X_j\} E{μjB}=E{Xj}的 j ∈ [ 1 , M ] j\in[1,M] j∈[1,M],意味着包括 j ∈ M a x A ( S ) j\in Max^A(S) j∈MaxA(S)。
定义
a
∗
a^*
a∗为最大化
μ
A
(
S
)
\mu^A(S)
μA(S)的那个估计器
μ
a
∗
A
\mu^A_{a^*}
μa∗A,
i.g.
μ
a
∗
A
(
S
)
=
d
e
f
m
a
x
i
μ
i
A
(
S
)
\mu^A_{a^*}(S)\overset{def}{=}max_i\mu^A_i(S)
μa∗A(S)=defmaxiμiA(S),显然
a
∗
∈
M
a
x
A
(
S
)
a^*\in Max^A(S)
a∗∈MaxA(S)。如果这个集合例有多个估计器,那就随机抽选一个估计器出来。
接下来就可以引入Double估计器的核心思想
:
用
μ
a
∗
B
(
S
)
\mu^B_{a^*}(S)
μa∗B(S)这个采样值来作为
m
a
x
i
E
{
μ
i
B
}
max_i\mathbb{E}\{\mu_i^B\}
maxiE{μiB}的估计值。通俗一点来讲就是,用A中的最大估计器对应的序号去寻找B中该序号对应的估计器,这个估计器就是我们需要的那个。
数学表达式:
max
i
E
{
X
i
}
=
max
i
E
{
μ
i
B
}
≈
μ
a
∗
B
(
S
)
(6)
\max_i\mathbb{E}\{X_i\} = \max_i\mathbb{E}\{\mu_i^B\}\approx\mu^B_{a^*}(S) \tag{6}
imaxE{Xi}=imaxE{μiB}≈μa∗B(S)(6)
Note:
- 虽然采用解耦2个估计器来估计目标,但其实本质还是利用了矩估计法。因此随着采样增多,估计的方差会不断减小,当采样无限次时, μ i A ( S ) = μ i B ( S ) = E { X i } \mu_i^A(S)=\mu_i^B(S)=\mathbb{E}\{X_i\} μiA(S)=μiB(S)=E{Xi},且式(6)最终将会收敛到一个正确的值,关于收敛性的证明后面将会以证明Double Q-learning收敛性来展现。
分析:
如果PDF是连续的话(离散同理):
定义
P
(
j
=
a
∗
)
=
∫
−
∞
∞
P
(
μ
j
A
=
x
)
∏
i
≠
j
M
P
(
μ
i
A
<
x
)
d
x
=
d
e
f
∫
−
∞
∞
f
j
A
(
x
)
∏
i
≠
j
M
F
i
A
(
x
)
d
x
\mathbf{P}(j=a^*)=\int_{-\infty}^\infty\mathbf{P}(\mu_j^A=x)\prod^M_{i\neq j}\mathbf{P}(\mu_i^A<x)\mathrm{d}x \\\overset{def}{=}\int_{-\infty}^\infty f_j^A(x)\prod^M_{i\neq j}F_i^A(x)\mathrm{d}x
P(j=a∗)=∫−∞∞P(μjA=x)i=j∏MP(μiA<x)dx=def∫−∞∞fjA(x)i=j∏MFiA(x)dx其中,
f
i
A
,
F
i
A
f_i^A,F_i^A
fiA,FiA是
μ
i
A
\mu_i^A
μiA的PDF和CDF。这里
P
(
μ
j
A
=
x
)
\mathbf{P}(\mu_j^A=x)
P(μjA=x)本来应该是为0的,这里参考了最大似然估计里面的处理方式,将其定义为概率密度
f
A
(
x
)
f^A(x)
fA(x)。
又因为
μ
a
∗
B
(
S
)
\mu^B_{a^*}(S)
μa∗B(S)是
E
{
μ
a
∗
B
}
\mathbb{E}\{\mu^B_{a^*}\}
E{μa∗B}的无偏估计,故:
E
{
μ
a
∗
B
}
=
∑
j
M
P
(
j
=
a
∗
)
E
{
μ
j
B
}
=
∑
j
M
E
{
μ
j
B
}
∫
−
∞
∞
f
j
A
(
x
)
∏
i
≠
j
M
F
i
A
(
x
)
d
x
(7)
\mathbb{E}\{\mu^B_{a^*}\} = \sum^M_j\mathbf{P}(j=a^*)\mathbb{E}\{\mu_j^B\} \\=\sum^M_j\mathbb{E}\{\mu_j^B\} \int_{-\infty}^\infty f_j^A(x)\prod^M_{i\neq j}F_i^A(x)\mathrm{d}x \tag{7}
E{μa∗B}=j∑MP(j=a∗)E{μjB}=j∑ME{μjB}∫−∞∞fjA(x)i=j∏MFiA(x)dx(7)
Note:
- M a x A ( S ) Max^A(S) MaxA(S)中可能存在多个 a ∗ a^* a∗。
- P 之 和 为 1 \mathbf{P}之和为1 P之和为1,因此 ∑ j M P ( j = a ∗ ) E { μ j B } \sum^M_j\mathbf{P}(j=a^*)\mathbb{E}\{\mu_j^B\} ∑jMP(j=a∗)E{μjB}可以看成一个期望 E \mathbb{E} E。而期望是均值,一定小于其R.V.的最大值,即: E { μ a ∗ B } ≤ max i E { μ i B } = max i E { X i } \mathbb{E}\{\mu_{a^*}^B\}\leq \max_i\mathbb{E}\{\mu_i^B\}=\max_i \mathbb{E}\{X_i\} E{μa∗B}≤imaxE{μiB}=imaxE{Xi}这个式子告诉我们:你通过采用获得的 E { μ a ∗ B } \mathbb{E}\{\mu_{a^*}^B\} E{μa∗B}去估计目标的话,会低于目标值,即欠估计,或者说产生负偏差。
上述的2不能算证明,接下来作者给出了类似于单估计器
中的证明方式,正文的引理1以及其证明如下:
证明中需要用到条件期望与全期望公式,过程与单估计器那个Lemma几乎一样,只不过多一个估计器
μ
B
\mu^B
μB。
3 Double Q-learning
这一节是将第2节的单双估计器用于实战—Q-learning算法中,用单估计器来解释Q-learning算法过估计的问题。然后引出基于双估计器的Double Q-learning算法。
在Q-learning算法中,对
∀
(
s
,
a
)
,
Q
(
s
,
a
)
\forall(s,a),Q(s,a)
∀(s,a),Q(s,a)都有其真值,基于单估计器思想,我们通过不断采样trans
,用
Q
(
s
,
a
)
Q(s,a)
Q(s,a)估计器(用Q表存储或者神将网络)使用TD算法来近似这个真值。其通过软更新的方式其实就是单估计器中借鉴矩估计法的思想,会对
m
a
x
max
max估计产生正偏差。具体的,Q-learning的更新公式如式(1)所示,TD算法是MC和DP的结合,TD算法的更新本质就是通过矩估计法得出Q值来近似Q真值
。将
m
a
x
a
Q
t
(
s
t
+
1
,
a
)
max_aQ_t(s_{t+1},a)
maxaQt(st+1,a)看成是
Q
(
s
,
a
)
Q(s,a)
Q(s,a)的样本值,即:
Q
真
值
(
s
,
a
)
⇐
E
{
m
a
x
a
Q
t
(
s
t
+
1
,
a
)
}
Q_{真值}(s,a)\Leftarrow \mathbb{E}\{max_aQ_t(s_{t+1},a)\}
Q真值(s,a)⇐E{maxaQt(st+1,a)}
但其实Q-learning算法更新的思想是用最大化下个状态的Q值来作为当前状态的Q值,即:
Q
真
值
(
s
,
a
)
≤
max
a
E
{
Q
t
(
s
t
+
1
,
a
)
}
Q_{真值}(s,a)\leq \max_a \mathbb{E}\{Q_t(s_{t+1},a)\}
Q真值(s,a)≤amaxE{Qt(st+1,a)}
Note:
这里原文并没有详细说明Q真值是这样的形式,我个人理解是这样的:Q-learning使用TD方法去更新
Q
Q
Q值,是一种基于贝尔曼等式
的更新方法(严格来说,时序差分是结合了MC和DP的一种综合性方法:):
Q
π
(
s
,
a
)
=
r
+
γ
E
s
′
,
a
′
[
Q
π
(
s
′
,
a
′
)
]
a
′
∼
π
(
s
′
)
,
s
′
∼
ρ
π
(
s
′
)
Q^\pi(s,a)=r+\gamma\mathbb{E}_{s',a'}[Q^\pi(s',a')]\\ a'\sim\pi(s'),s'\sim\rho^\pi(s')
Qπ(s,a)=r+γEs′,a′[Qπ(s′,a′)]a′∼π(s′),s′∼ρπ(s′)Note:
这种双采样的期望写法是因为采样对象都是基于全局空间,根据贝尔曼等式,索性直接写成采样对
<
s
′
,
a
′
>
<s',a'>
<s′,a′>的形式。这种形式简洁易懂,更利于代码开发,TD3论文中就引用这种写法。当然也可以像DDPG论文写的那样:两种写法都是可以的。
理想情况下,TD算法就这样的,但是由于必须通过采用来实现,因此只能说近似于上式,这里需要注意的是,Q-learning只是TD算法中的一种,也就是上式中的
π
(
s
′
)
\pi(s')
π(s′)为贪婪策略。因为要说明Q-learning的缺陷,因此必须拿出标准的式子来做比较,简化上式:
Q
真
值
(
s
,
a
)
⇐
E
a
∼
π
{
Q
t
(
s
t
+
1
,
a
)
}
Q_{真值}(s,a)\Leftarrow \mathbb{E}_{a\sim\pi}\{Q_t(s_{t+1},a)\}
Q真值(s,a)⇐Ea∼π{Qt(st+1,a)}
为了便于
m
a
x
max
max之间的比较,进一步给出如下关系:
E
a
∼
π
,
s
′
∼
ρ
π
(
s
′
)
{
Q
t
(
s
t
+
1
,
a
)
}
≤
max
a
E
s
′
∼
ρ
π
(
s
′
)
{
Q
t
(
s
t
+
1
,
a
)
}
\mathbb{E}_{a\sim\pi,s'\sim\rho^\pi(s')}\{Q_t(s_{t+1},a)\}\leq\max_a \mathbb{E}_{s'\sim\rho^\pi(s')}\{Q_t(s_{t+1},a)\}
Ea∼π,s′∼ρπ(s′){Qt(st+1,a)}≤amaxEs′∼ρπ(s′){Qt(st+1,a)}
(为了简化,接下来
E
\mathbb{E}
E的下标
s
′
∼
ρ
π
(
s
′
)
s'\sim\rho^\pi(s')
s′∼ρπ(s′)将省略)
根据2.1节,将
μ
i
\mu_i
μi看作
Q
(
s
t
+
1
,
a
i
)
Q(s_{t+1},a_i)
Q(st+1,ai),则易知:
E
{
m
a
x
a
Q
t
(
s
t
+
1
,
a
)
}
≥
max
a
E
{
Q
t
(
s
t
+
1
,
a
)
}
\mathbb{E}\{max_aQ_t(s_{t+1},a)\}\ge \max_a \mathbb{E}\{Q_t(s_{t+1},a)\}
E{maxaQt(st+1,a)}≥amaxE{Qt(st+1,a)}也就是说,我们辛苦采样而来的trans,然后去估计的
Q
(
s
,
a
)
Q(s,a)
Q(s,a)会有正偏差,即过估计。
我们从2.2节知道Double估计器
可以解决过估计问题,因此将双估计器用在Q-learning上就得到了负偏差的Double Q-learning。
Double Q-learning
:
基于双估计器,要设置
Q
A
Q^A
QA和
Q
B
Q^B
QB两个Q函数。令
a
∗
=
arg max
a
Q
(
s
′
,
a
)
a^*=\argmax_aQ(s',a)
a∗=aargmaxQ(s′,a)。这里我们不用
Q
A
(
s
′
,
a
∗
)
=
m
a
x
a
Q
A
(
s
′
,
a
)
Q^A(s',a^*)=max_aQ^A(s',a)
QA(s′,a∗)=maxaQA(s′,a)去更新
Q
A
(
s
,
a
)
Q^A(s,a)
QA(s,a),而是用
Q
B
(
s
′
,
a
∗
)
Q^B(s',a^*)
QB(s′,a∗)去更新
Q
A
(
s
,
a
)
Q^A(s,a)
QA(s,a)。
Note:
- 同理我们用 Q A ( s ′ , b ∗ ) Q^A(s',b^*) QA(s′,b∗)去更 Q B ( s , a ) Q^B(s,a) QB(s,a)。
- 另外,两个估计器是互相独立的,也就是采样都是各自采各自的。
Double Q-learning的缺陷
:欠估计
i
.
g
.
E
{
Q
B
(
s
′
,
a
∗
)
}
≤
max
a
E
{
Q
A
(
s
′
,
a
∗
)
}
i.g. \mathbb{E}\{Q^B(s',a^*)\}\leq\max_a\mathbb{E}\{Q^A(s',a^*)\}
i.g.E{QB(s′,a∗)}≤amaxE{QA(s′,a∗)}
3.1 Convergence in the Limit
Note:
- 文章正文有Lemma1,Lemma2,Theorem1;补充材料有Lemma1;参考论文中有Theorem2,Theorem3。
- 整个证明过程会出现 F t ( s t , a t ) , F t Q ( s t , a t ) , F t A ( s t , a t ) , F t B ( s t , a t ) , F t B A ( s t , a t ) F_t(s_t,a_t),F_t^Q(s_t,a_t),F_t^A(s_t,a_t),F^B_t(s_t,a_t),F_t^{BA}(s_t,a_t) Ft(st,at),FtQ(st,at),FtA(st,at),FtB(st,at),FtBA(st,at)这几个 F \mathbf{F} F。
Double Q-learning算法
:
本节是作者利用Lemma2对Theorem1证明,从而证明Double Q-learning算法的收敛性
。
引理2如下:
需要注意的是本论文中
∥
⋅
∥
\lVert \cdot\rVert
∥⋅∥代表最大范数(无穷范数)
定理如下:
证明过程图如下:
需要使用到Q-learning收敛性证明以及1个定理,参考文献
如下:
Note:
- 引用Q-learning这篇文章主要需要注意以下的写法,这里
V
≠
V
π
V\ne V^\pi
V=Vπ:
- 为了便于证明Double Q-learning,我把Convergence这篇文章里的Theorem1、Theorem2添加进来,重命名为Theorem2、Theorem3。
- Theorem3中的 c c c表示实时奖励 r r r。
Double Q-learning证明如下:
。。。。。。
- 第①步:Q-learning收敛性证明
我们要用Theorem2来证明Theorem3,即Q-learning的 Q ( s t , a t ) Q(s_t,a_t) Q(st,at)能收敛至 Q ∗ ( s t , a t ) Q^*(s_t,a_t) Q∗(st,at)。
显然Theorem3可以轻松满足Theorem2,对于Theorem2(4),只需要在Theorem3(4)的基础上满足F可以是Q的线性函数即可推出(比较松的条件)。因此关键在于如何证明Theorem2的条件(3):
首先定义: Δ t ( s , a ) = Q t ( s , a ) − Q ∗ ( s , a ) F t ( s , a ) = r + γ max a Q t ( s ′ , a ) − Q ∗ ( s , a ) β t ( s , a ) = α t ( s , a ) \Delta_t(s,a)=Q_t(s,a)-Q^*(s,a) \\F_t(s,a)=r+\gamma\max_aQ_t(s',a)-Q^*(s,a) \\\beta_t(s,a)=\alpha_t(s,a) Δt(s,a)=Qt(s,a)−Q∗(s,a)Ft(s,a)=r+γamaxQt(s′,a)−Q∗(s,a)βt(s,a)=αt(s,a)
Theorem3中的 V V V函数根据Q-learning这篇论文中的Q-learning更新公式变体
,可知其实就是 m a x Q maxQ maxQ函数,因此:
Q t + 1 ( s t , a t ) = ( 1 − α t ( s t , a t ) ) Q t ( s t , a t ) + α t ( s t , a t ) [ r + γ V t ( s t + 1 ) ] Q t + 1 ∗ ( s t , a t ) = Q t ∗ ( s t , a t ) = Q t ∗ ( s t , a t ) + α t ( s t , a t ) [ Q ∗ ( s t , a t ) − Q ∗ ( s t , a t ) ] 第 二 个 其 实 就 是 不 更 新 了 , 毕 竟 达 到 了 最 优 两 者 相 减 : Δ t + 1 = Q t + 1 ( s t , a t ) − Q t + 1 ∗ ( s t , a t ) = ( 1 − α t ( s t , a t ) ) Δ t + α t ( s t , a t ) [ r + γ V ( s t + 1 − Q ∗ ( s t , a t ) ) ] = ( 1 − α t ( s t , a t ) ) Δ t + α t ( s t , a t ) F t ( s , a ) Q_{t+1}(s_t,a_t)=(1-\alpha_t(s_t,a_t))Q_t(s_t,a_t)+\alpha_t(s_t,a_t)[r+\gamma V_t(s_{t+1})] \\Q^*_{t+1}(s_t,a_t)=Q^*_t(s_t,a_t)=Q^*_t(s_t,a_t)+\alpha_t(s_t,a_t)[Q^*(s_t,a_t)-Q^*(s_t,a_t)] \\第二个其实就是不更新了,毕竟达到了最优 \\两者相减: \\\Delta_{t+1}=Q_{t+1}(s_t,a_t)-Q^*_{t+1}(s_t,a_t) \\=(1-\alpha_t(s_t,a_t))\Delta_t+\alpha_t(s_t,a_t)[r+\gamma V(s_{t+1}-Q^*(s_t,a_t))] \\=(1-\alpha_t(s_t,a_t))\Delta_t+\alpha_t(s_t,a_t)F_t(s,a) Qt+1(st,at)=(1−αt(st,at))Qt(st,at)+αt(st,at)[r+γVt(st+1)]Qt+1∗(st,at)=Qt∗(st,at)=Qt∗(st,at)+αt(st,at)[Q∗(st,at)−Q∗(st,at)]第二个其实就是不更新了,毕竟达到了最优两者相减:Δt+1=Qt+1(st,at)−Qt+1∗(st,at)=(1−αt(st,at))Δt+αt(st,at)[r+γV(st+1−Q∗(st,at))]=(1−αt(st,at))Δt+αt(st,at)Ft(s,a)
关键在于Theorem2的条件(3)证明:
因此,在 P n P_n Pn环境下(MDP),Theorem3符合Theorem2的4个条件,故 Δ t + 1 = Q t + 1 ( s t , a t ) − Q t + 1 ∗ ( s t , a t ) → 0 \Delta_{t+1}=Q_{t+1}(s_t,a_t)-Q^*_{t+1}(s_t,a_t)\to0 Δt+1=Qt+1(st,at)−Qt+1∗(st,at)→0,i.g.Q-learning算法可以收敛。
接下来②-⑥步就是用Lemma2来证明Theorem1:
通过
ϵ
−
g
r
e
e
d
y
\epsilon-greedy
ϵ−greedy这样的探索策略去遍历各个状态动作对,理想状态是无限次,但是MDP必须是有限的,即有限的状态、动作空间。
在满足Theorem1的6个条件
下定义:
P
t
=
{
Q
0
A
,
A
0
B
,
s
0
,
a
0
,
α
0
,
r
1
,
s
1
,
.
.
.
,
s
t
,
a
t
}
X
=
S
×
A
Δ
t
=
Q
t
A
−
Q
∗
ζ
=
α
F
t
(
s
t
,
a
t
)
=
r
t
+
γ
Q
t
B
(
s
t
+
1
,
a
∗
)
−
Q
t
∗
(
s
t
,
a
t
)
,
a
∗
=
arg max
a
Q
A
(
s
t
+
1
,
a
)
\mathbf{P}_t=\{Q_0^A,A^B_0,s_0,a_0,\alpha_0,r_1,s_1,...,s_t,a_t\} \\X=S\times A \\\Delta_t=Q_t^A-Q^* \\\zeta=\alpha \\F_t(s_t,a_t)=r_t+\gamma Q_t^B(s_{t+1},a^*)-Q_t^*(s_t,a_t),a^*=\argmax_aQ^A(s_{t+1},a)
Pt={Q0A,A0B,s0,a0,α0,r1,s1,...,st,at}X=S×AΔt=QtA−Q∗ζ=αFt(st,at)=rt+γQtB(st+1,a∗)−Qt∗(st,at),a∗=aargmaxQA(st+1,a)
和第①步中证明一样,Lemma2的条件(1)(2)(4)很容易满足,条件(4)只需要Theorem1的(6)即可推出。关键在于条件(3)的推导,在接下来的证明过程中国,这个条件(3)需要被证明2次
。
- 第②步:证明
Δ
t
B
A
→
0
\Delta_t^{BA}\to 0
ΔtBA→0
重新定义 F t ( s t , a t ) = F t Q ( s t , a t ) + γ ( Q t B ( s t + 1 , a ∗ ) − Q t A ( s t + 1 , a ∗ ) ) F t Q = r t + γ Q t A ( s t + 1 , a ∗ ) − Q t ∗ ( s t , a t ) 其 中 c t = γ ( Q t B ( s t + 1 , a ∗ ) − Q t A ( s t + 1 , a ∗ ) ) Δ t B A = Q t B − Q t A F_t(s_t,a_t)=F_t^Q(s_t,a_t)+\gamma(Q_t^B(s_{t+1},a^*)-Q_t^A(s_{t+1},a^*)) \\F_t^Q=r_t+\gamma Q_t^A(s_{t+1},a^*)-Q_t^*(s_t,a_t) \\其中c_t=\gamma (Q^B_t(s_{t+1},a^*)-Q^A_t(s_{t+1},a^*)) \\\Delta_t^{BA}=Q_t^B-Q_t^A Ft(st,at)=FtQ(st,at)+γ(QtB(st+1,a∗)−QtA(st+1,a∗))FtQ=rt+γQtA(st+1,a∗)−Qt∗(st,at)其中ct=γ(QtB(st+1,a∗)−QtA(st+1,a∗))ΔtBA=QtB−QtA
Δ t B A \Delta_t^{BA} ΔtBA的更新取决于更新 Q A Q^A QA还是 Q B Q^B QB:
当更新 Q A Q^A QA时: Q t + 1 B ( s t , a t ) = Q t B ( s t , a t ) Q t + 1 A ( s t , a t ) = Q t A ( s t , a t ) + α t ( s t , a t ) ( r + γ Q B ( s t + 1 , a ∗ ) − Q t A ( s t , a t ) ) 两 式 相 减 : Δ t + 1 B A ( s t , a t ) = Δ t B A ( s t , a t ) − α t ( s t , a t ) F t A ( s t , a t ) 其 中 F t A ( s t , a t ) = r + γ Q B ( s t + 1 , a ∗ ) − Q t A ( s t , a t ) Q_{t+1}^B(s_t,a_t)=Q^B_t(s_t,a_t)\\ Q^A_{t+1}(s_t,a_t)=Q^A_t(s_t,a_t)+\alpha_t(s_t,a_t)(r+\gamma Q^B(s_{t+1},a^*)-Q^A_t(s_t,a_t)) \\两式相减:\Delta_{t+1}^{BA}(s_t,a_t)=\Delta_t^{BA}(s_t,a_t)-\alpha_t(s_t,a_t)F_t^A(s_t,a_t) \\其中F_t^A(s_t,a_t)=r+\gamma Q^B(s_{t+1},a^*)-Q^A_t(s_t,a_t) Qt+1B(st,at)=QtB(st,at)Qt+1A(st,at)=QtA(st,at)+αt(st,at)(r+γQB(st+1,a∗)−QtA(st,at))两式相减:Δt+1BA(st,at)=ΔtBA(st,at)−αt(st,at)FtA(st,at)其中FtA(st,at)=r+γQB(st+1,a∗)−QtA(st,at)
同理,当更新 Q B Q^B QB时:
Δ t + 1 B A ( s t , a t ) = Δ t B A ( s t , a t ) + α t ( s t , a t ) F t B ( s t , a t ) 其 中 F t B ( s t . a t ) = r + γ Q A ( s t + 1 , a ∗ ) − Q t B ( s t , a t ) \Delta_{t+1}^{BA}(s_t,a_t)=\Delta_t^{BA}(s_t,a_t)+\alpha_t(s_t,a_t)F_t^B(s_t,a_t) \\其中F_t^B(s_t.a_t)=r+\gamma Q^A(s_{t+1},a^*)-Q^B_t(s_t,a_t) Δt+1BA(st,at)=ΔtBA(st,at)+αt(st,at)FtB(st,at)其中FtB(st.at)=r+γQA(st+1,a∗)−QtB(st,at)
两个 Δ 相 加 除 以 2 \Delta相加除以2 Δ相加除以2,并定义 ζ t B A = 1 2 α t \zeta_t^{BA}=\frac{1}{2}\alpha_t ζtBA=21αt
则 Δ t + 1 B A ( s t , a t ) = ( 1 − ζ t ) Δ t B A ( s t , a t ) + ζ t F t B A ( s t , a t ) 其 中 F t B A ( s t , a t ) = γ ( Q t A ( s t + 1 , b ∗ ) − Q t B ( s t + 1 , a ∗ ) ) 则\Delta_{t+1}^{BA}(s_t,a_t)=(1-\zeta_t)\Delta_t^{BA}(s_t,a_t)+\zeta_tF_t^{BA}(s_t,a_t) \\其中F_t^{BA}(s_t,a_t)=\gamma(Q^A_t(s_{t+1},b^*)-Q^B_t(s_{t+1},a^*)) 则Δt+1BA(st,at)=(1−ζt)ΔtBA(st,at)+ζtFtBA(st,at)其中FtBA(st,at)=γ(QtA(st+1,b∗)−QtB(st+1,a∗)) 这个式子正好满足Lemma2,因此我们的目标就是让 Δ t B A → 0 \Delta_t^{BA}\to0 ΔtBA→0。
定义: E { F t B A ( s t , a t ) ∣ P t } = γ E { Q t A ( s t + 1 , a ∗ ) − Q t B ( s t + 1 , a ∗ ) ∣ P t } \mathbb{E}\{F_t^{BA}(s_t,a_t)|\mathbf{P}_t\}=\gamma E\{Q^A_t(s_{t+1},a^*)-Q^B_t(s_{t+1},a^*)|\mathbf{P}_t\} E{FtBA(st,at)∣Pt}=γE{QtA(st+1,a∗)−QtB(st+1,a∗)∣Pt}
因此: ∥ E { F t B A ∣ P t } ∥ ≤ γ ∥ Δ t B A ∥ \lVert\mathbb{E}\{F_t^{BA}|\mathbf{P}_t\}\rVert \leq \gamma\lVert\Delta_t^{BA}\rVert ∥E{FtBA∣Pt}∥≤γ∥ΔtBA∥也必定成立。根据Lemma2的条件(1)(2)(3)(4)可以证得: Δ t B A → 0 \Delta_t^{BA}\to0 ΔtBA→0(这里可将 c t c_t ct看作0) - 第③步:证明
c
t
→
0
c_t\to 0
ct→0
由第②步的 Δ t B A → 0 \Delta_t^{BA}\to0 ΔtBA→0,可以得出 c t c_t ct最终会收敛至0 - 第④步:结合第①步,证明Lemma2的条件(3)成立
第①步的证明可以推出 E { F t Q ∣ P t } ≤ γ ∥ Δ t ∥ \mathbb{E}\{F_t^Q|\mathbf{P_t}\}\leq\gamma \lVert\Delta_t\rVert E{FtQ∣Pt}≤γ∥Δt∥成立,因为此时的 F t Q F_t^Q FtQ的设置正是Q-learning单估计的设置。
接下来做个简单的处理: E { F t Q ∣ P t } + E { c t ∣ P t } ≤ γ ∥ Δ t ∥ + E { c t ∣ P t } ⇒ E { F t Q + c t ∣ P t } ≤ γ ∥ Δ t ∥ + E { c t ∣ P t } ⟹ 令 E { c t ∣ P t } = c t ∥ E { F t ( s t , a t ) ∣ P t } ∥ ≤ γ ∥ Δ t ∥ + c t \mathbb{E}\{F_t^Q|\mathbf{P}_t\}+\mathbb{E}\{c_t|\mathbf{P}_t\}\leq\gamma\lVert\Delta_t\rVert+\mathbb{E}\{c_t|\mathbf{P}_t\} \\ \Rightarrow \mathbb{E}\{F_t^Q+c_t|\mathbf{P}_t\}\leq\gamma\lVert\Delta_t\rVert+\mathbb{E}\{c_t|\mathbf{P}_t\} \\\overset{令\mathbb{E}\{c_t|\mathbf{P}_t\}=c_t}{\Longrightarrow}\lVert\mathbb{E}\{F_t(s_t,a_t)|\mathbf{P}_t\}\rVert\leq\gamma\lVert\Delta_t\rVert+c_t E{FtQ∣Pt}+E{ct∣Pt}≤γ∥Δt∥+E{ct∣Pt}⇒E{FtQ+ct∣Pt}≤γ∥Δt∥+E{ct∣Pt}⟹令E{ct∣Pt}=ct∥E{Ft(st,at)∣Pt}∥≤γ∥Δt∥+ct即最难的Lemma2的条件(3)得证明。 - 第⑤步:证明
Δ
t
→
0
\Delta_t\to 0
Δt→0
首先要给出Lemma2的关于 Δ \Delta Δ的式子:
( F t ( s t , a t ) F_t(s_t,a_t) Ft(st,at)上面第①步已经给出。)
显然现在Lemma2的条件(1)(2)(3)(4)均符合,故可以推出:
Δ t → 0 i . g . Q t A → Q ∗ \Delta_t\to 0 \\i.g.Q_t^A\to Q^* Δt→0i.g.QtA→Q∗ - 第⑥步:证明
Q
A
,
Q
B
→
Q
∗
Q^A,Q^B\to Q^*
QA,QB→Q∗
在第②步中 Δ t B A → 0 \Delta_t^{BA}\to0 ΔtBA→0,因此 Q t A , Q t B → Q ∗ Q_t^A,Q^B_t\to Q^* QtA,QtB→Q∗即Double Q-earning能收敛至最优值函数 Q ∗ Q^* Q∗(不写具体的状态动作对就默认是对所有的 S × A S\times A S×A)。
4 Experiments
作者通过2个实验来说明2个事情:
- Q-learning存在过估计现象。
- Q-learning和Double Q-learning的比较。
γ
\gamma
γ=0.95,
α
t
(
s
,
a
)
=
1
/
n
t
(
s
,
a
)
\alpha_t(s,a)=1/n_t(s,a)
αt(s,a)=1/nt(s,a)以及
α
t
=
1
/
n
t
(
s
,
a
)
0.8
\alpha_t=1/n_t(s,a)^{0.8}
αt=1/nt(s,a)0.8(后者这种polynomial
学习率设置在Lr for Q-learning中表现的更好。
n
t
(
s
,
a
)
n_t(s,a)
nt(s,a)是值函数更新的次数)
对于Double Q-learning,
n
t
(
s
,
a
)
n_t(s,a)
nt(s,a)是分
n
t
A
(
s
,
a
)
n^A_t(s,a)
ntA(s,a)和
n
t
B
(
s
,
a
)
n_t^B(s,a)
ntB(s,a)的。
4.1 Roulette
这游戏涉及到轮盘赌桌游戏背景,就不介绍这个实验了。
略
4.2 Grid World
格子世界应该是离散状态、离散动作最常见的Env了。实验的设置是这样的:
模样如下图右下角所示,4个动作,9个状态,实时奖励r是+10或-12各自50%概率(故每步平均奖励-1),终点目标为+5。最优策略是4步,平均奖励为0.5。
ϵ
=
1
/
n
(
s
)
\epsilon=1/\sqrt{n(s)}
ϵ=1/n(s),其中
n
(
s
)
n(s)
n(s)为探索过的状态数。
行为策略采用
ϵ
−
g
r
e
e
d
y
\epsilon-greedy
ϵ−greedy策略的好处:
- 一来是Q-learning和Double Q-learning在收敛上的需要。
- 二来这种策略有利于Q-learning减少他的过估计问题。比如我们有四个Q值: Q ( s 1 , a 1 ) , Q ( s 1 , a 2 ) , Q ( s 1 , a 3 ) , Q ( s 1 , a 4 ) Q(s_1,a_1),Q(s_1,a_2),Q(s_1,a_3),Q(s_1,a_4) Q(s1,a1),Q(s1,a2),Q(s1,a3),Q(s1,a4)我们都知道Q-learning算法是基于单估计器的,因此更新会使得Q值逐步走向过估计。而根据式(5),过估计的正向bias可能会很大,因此比如说 Q ( s 1 , a 1 ) Q(s_1,a_1) Q(s1,a1)过估计了,那么 ϵ − g r e e d y \epsilon-greedy ϵ−greedy中的贪心策略会使得这个动作 a 1 a_1 a1经常被选中,然后进行更新。这样做的好处就是其余的 a 2 , a 3 , a 4 a_2,a_3,a_4 a2,a3,a4被选中进行更新次数就少了,可以说走向过估计的程度变轻了,一定程度上减小了过估计。
实验结果如上图左边的四张图所示,横坐标是epsiode的个数,纵坐标分别是每个epsiode的平均步长奖励以及初始状态
S
\mathbf{S}
S对应的最大动作值函数
Q
(
S
,
a
)
Q(\mathbf{S},a)
Q(S,a)。实验总体被分成2个学习率设置下的训练过程,分别是衰减式和polynomial式。
分析:
- 从第二行的2张图来看,Q-learning存在过估计现象,Double Q-learning存在欠估计现象。其中横着的虚线是最优策略下的行径路线,也就是这个状态下的Q真值,为 5 γ 4 − ∑ k = 0 2 γ k ≈ 0.9 5\gamma^4-\sum_{k=0}^2 \gamma^k\approx0.9 5γ4−∑k=02γk≈0.9。
- 随着episode增大,即训练加深,2种算法都逐渐开始收敛,总体而言,2种算法相差不大。但是基于第一行的2张图,显然Double Q-learning的平均步长奖励更接近最优平均奖励0.5,表现比Q-learning好很多,也可以理解为Double Q-learning可以获得更多的奖励,打游戏能力更强。
- 对比两列,可以看出polynomial式的学习率设置可以在2种算法上都有促进作用。
5 Discussion
略
6 Conclusion
总结:
- 分析了Q-learning算法的overestimation。
- 引出了Double Q-learning去解决过估计问题,但是这个算法本身会造成underestimation。
展望:
Q-learning展现了过估计,Double Q-learning展现了欠估计。那么就有可能引出一种无偏差的off-policy算法,或者一种低方差的无偏蒙特卡洛on-policy算法。