DRL Lecture 4:Q-learning (Advanced Tips)

介绍一些进阶的Q-learning tips,能够帮助Q-learning提升表现。

Double DQN

发现Q-value总是容易被高估,原因是算法中有$Q\left(s_{t}, a_{t}\right)=r_{t}+\max _{a} Q\left(s_{t+1}, a\right)$。该公式的max使得$Q$总是选择最大的action,使得$Q$的拟合总是偏大。

那么在这里多加一个$Q^{\prime}$以规避上述情况,也即:

若$Q$高估了a,$Q^{\prime}$不高估那么$Q^{\prime}$的值也不会那么大则左式的值就不会被高估;若$Q^{\prime}$对某个action高估了,只要$Q$不高估该action,那么也不会选择该action。

Dueling DQN

将模型结构做了改变:

也即将$Q$分离开来。一种解释是这样的分离可以使得数据的使用更有效率,使得模型更为灵活。课件上还举了一个例子。 同时还可以对$A$加一些限制,比如向量和为0。

Prioritized Reply

对replay buffer进行改进。对TD error较大的优先sample,也即对那些学得不好的example优先学习。

Multi-step

将MC和TD综合起来。给定$\left(s_{t}, a_{t}, r_{t}, \cdots, s_{t+N}, a_{t+N}, r_{t+N}, s_{t+N+1}\right)$,有:

也即介于MC的整个episode完成后再计算和TD的每个step都计算一次。

Noisy Net

epsilon greedy也可以看做是加噪声,但是是加在action上:

这样使得模型的行为不一致,可能不大好。

而Noisy Net是在parameter上加噪声。也即在episode开始之前对$Q$加噪声,变成$\tilde{Q}$:

而在episode期间不会改变noise。这样更有系统性的探索可能会更好,因为模型行为一致。

Distributional Q-function

基本思想是令$Q$预测每个行为的reward的分布而不仅仅是一个期望值。因为期望值损失了太多信息了,不同的distribution可能有同样大小的期望。

实际上操作也即:

Distributional Q-function往往不会高估expectation而是低估。因为在预测distribution时已经限定了最高和最低的范围了,对于那些大于或小于的值都忽略掉。