作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己学习强化学习的学习历程,希望对大家能有所帮助。这个系列后面会不断更新,希望自己在2021年能保证平均每日一更的更新速度,主要是介绍强化学习的基础知识,后面也会更新强化学习的论文阅读专栏。本来是想每一篇多更新一点内容的,后面发现大家上CSDN主要是来提问的,就把很多拆分开来了(而且这样每天任务量也小一点哈哈哈哈偷懒大法)。但是我还是希望知识点能成系统,所以我在目录里面都好按章节系统地写的,而且在github上写成了书籍的形式,如果大家觉得有帮助,希望从头看的话欢迎关注我的github啊,谢谢大家!另外我还会分享深度学习-基础知识专栏以及深度学习-论文阅读专栏,很早以前就和小伙伴们花了很多精力写的,如果有对深度学习感兴趣的小伙伴也欢迎大家关注啊。大家一起互相学习啊!可能会有很多错漏,希望大家批评指正!不要高估一年的努力,也不要低估十年的积累,与君共勉!
Monotonic Improvement with KL Divergence
上面直接关于policy probability做差取绝对值的约束实际上是比较难优化的, 所以我们希望能够找个一个更容易优化的约束函数, 从而降低求解难度。所以在这里我们引入KL散度:
关于两个policy distribution的KL divergence可以由如下式子定义:
D
K
L
(
p
1
(
x
)
∥
p
2
(
x
)
)
=
E
x
∼
p
1
(
x
)
[
log
p
1
(
x
)
p
2
(
x
)
]
D_{\mathrm{KL}}\left(p_{1}(x) \| p_{2}(x)\right)=E_{x \sim p_{1}(x)}\left[\log \frac{p_{1}(x)}{p_{2}(x)}\right]
DKL(p1(x)∥p2(x))=Ex∼p1(x)[logp2(x)p1(x)]
KL散度表征的是策略之间的差异。
从它的性质也可以推出如下的性质:
∣
π
θ
′
(
a
t
∣
s
t
)
−
π
θ
(
a
t
∣
s
t
)
∣
≤
1
2
D
K
L
(
π
θ
′
(
a
t
∣
s
t
)
∥
π
θ
(
a
t
∣
s
t
)
)
\left|\pi_{\theta^{\prime}}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)-\pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right| \leq \sqrt{\frac{1}{2} D_{\mathrm{KL}}\left(\pi_{\theta^{\prime}}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) \| \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)}
∣πθ′(at∣st)−πθ(at∣st)∣≤21DKL(πθ′(at∣st)∥πθ(at∣st))
也就是说如果我们将KL divergence约束住了,那么原始约束函数也就满足了,两者存在转化的等价性。所以优化的目标也就转化为如下的形式, 约束发生了改变, 问题更容易优化了。
在上面将整个问题转化为对KL divergence约束的优化问题,那么在这里就将讨论各种求解这个优化问题的方式。根据不同的近似方法,就可以得到不同的算法。
上一篇:强化学习的学习之路(四十三)2021-02-12 Monotonic Improvement Theory(策略的单调提升)
下一篇:强化学习的学习之路(四十五)2021-02-14共轭梯度法实现策略上的单调提升(Monotonic Improvement with Dual gradient descent)