作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己学习强化学习的学习历程,希望对大家能有所帮助。这个系列后面会不断更新,希望自己在2021年能保证平均每日一更的更新速度,主要是介绍强化学习的基础知识,后面也会更新强化学习的论文阅读专栏。本来是想每一篇多更新一点内容的,后面发现大家上CSDN主要是来提问的,就把很多拆分开来了(而且这样每天任务量也小一点哈哈哈哈偷懒大法)。但是我还是希望知识点能成系统,所以我在目录里面都好按章节系统地写的,而且在github上写成了书籍的形式,如果大家觉得有帮助,希望从头看的话欢迎关注我的github啊,谢谢大家!另外我还会分享深度学习-基础知识专栏以及深度学习-论文阅读专栏,很早以前就和小伙伴们花了很多精力写的,如果有对深度学习感兴趣的小伙伴也欢迎大家关注啊。大家一起互相学习啊!可能会有很多错漏,希望大家批评指正!不要高估一年的努力,也不要低估十年的积累,与君共勉!
Critics as baselines
前面提到的Actor-Critic方法和Policy Gradient方法各有优劣:Actor-Critic方法方差小但是有偏,Policy-Gradient无偏但是方差大:
那我们就会有有一个想法是说能不能把这两种方法结合起来,形成类似下面的这种形式,在引入value function降低variance的情况下保持unbiased:
传统的Advantage函数如下:
A π ( s t , a t ) = Q π ( s t , a t ) − V π ( s t ) A^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=Q^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-V^{\pi}\left(\mathbf{s}_{t}\right) Aπ(st,at)=Qπ(st,at)−Vπ(st)
如果我们用MC的方法来估计Q函数,这个估计是unbiased的,但是由于是single-sample estimate,故而variance比较高:
A ^ π ( s t , a t ) = ∑ t ′ = t ∞ γ t ′ − t r ( s t ′ , a t ′ ) − V ϕ π ( s t ) \hat{A}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=\sum_{t^{\prime}=t}^{\infty} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)-V_{\phi}^{\pi}\left(\mathbf{s}_{t}\right) A^π(st,at)=t′=t∑∞γt′−tr(st′,at′)−Vϕπ(st)
我们再换成下面这种形式:如果critic是正确的时候, 它的期望应该是零,。
A
^
π
(
s
t
,
a
t
)
=
∑
t
′
=
t
∞
γ
t
′
−
t
r
(
s
t
′
,
a
t
′
)
−
Q
ϕ
π
(
s
t
,
a
t
)
\hat{A}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=\sum_{t^{\prime}=t}^{\infty} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)-Q_{\phi}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)
A^π(st,at)=t′=t∑∞γt′−tr(st′,at′)−Qϕπ(st,at)
留意到上面一个奏出来的式子相对而言是少了一个bias项, 那么我们是否可以将它补充回来呢? 这 个也就是Q-Prop的思路了,他的第二项就是这么一个目的:
∇
θ
J
(
θ
)
≈
1
N
∑
i
=
1
N
∑
t
=
1
T
∇
θ
log
π
θ
(
a
i
,
t
∣
s
i
,
t
)
(
Q
^
i
,
t
−
Q
ϕ
π
(
s
i
,
t
,
a
i
,
t
)
)
+
1
N
∑
i
=
1
N
∑
t
=
1
T
∇
θ
E
a
∼
π
θ
(
a
t
∣
s
i
,
t
)
[
Q
ϕ
π
(
s
i
,
t
,
a
t
)
]
\nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i, t} \mid \mathbf{s}_{i, t}\right)\left(\hat{Q}_{i, t}-Q_{\phi}^{\pi}\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)\right)+\frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} E_{\mathbf{a} \sim \pi_{\theta}\left(\mathbf{a}_{t} \mid s_{i, t}\right)}\left[Q_{\phi}^{\pi}\left(\mathbf{s}_{i, t}, \mathbf{a}_{t}\right)\right]
∇θJ(θ)≈N1i=1∑Nt=1∑T∇θlogπθ(ai,t∣si,t)(Q^i,t−Qϕπ(si,t,ai,t))+N1i=1∑Nt=1∑T∇θEa∼πθ(at∣si,t)[Qϕπ(si,t,at)]
接下来我们再引入n-step的形式:
我们发现上面的两种形式刚好是两个极端,前者使用了整条trajectory,后者仅仅使用了一个step,那么是否可以有个折中,从而达到base/variance的tradeoff?
于是我们就得到了下面这种n-step的形式:
A ^ n π ( s t , a t ) = ∑ t ′ = t t + n γ t ′ − t r ( s t ′ , a t ′ ) − V ^ ϕ π ( s t ) + γ n V ^ ϕ π ( s t + n ) \hat{A}_{n}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=\sum_{t^{\prime}=t}^{t+n} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{t}\right)+\gamma^{n} \hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{t+n}\right) A^nπ(st,at)=t′=t∑t+nγt′−tr(st′,at′)−V^ϕπ(st)+γnV^ϕπ(st+n)
上一篇:强化学习的学习之路(三十九)_2021-02-08: Actor Critic -Design Decisions
下一篇:强化学习的学习之路(四十一)2021-02-10 Problems in Policy Gradient