这篇文章就是DQN,DRL领域非常重要的一篇文章,也是David Silver大神的工作。文章本身没有什么难度。
文章说了RL和DL 的两个不同之处
- DL 尤其是supervised learning 需要大量的labelled training data, 强化学习只有一个scalar Reward,并且reward很可能 noisy, sparse, delayed
- DL 通常假设数据是独立同分布的,但是强化学习的数据前后有高度的相关性,数据分布也会变化
DQN 其实就是Q-learning 的神经网络版本,基础理论是一致的,就是解决几个迁移到神经网络上遇到的问题
Bellman optimal equation: \(Q_*(s,a) =E_{s'\sim \varepsilon}[r+ \gamma \underset{a'}{max}Q(s',a')|s,a]\)
使用的是value iteration 来进行GPI,要优化的目标函数是:
\[L_i(\theta_i) = E_{s,a\sim\rho(\cdot)}[(y_i-Q(s,a;\theta_{i}))^2]\]
\(\rho(s,a)\)是behaviour distribution,\(y_i = E_{s'\sim \varepsilon }[r+ \gamma \underset{a'}{max}Q(s',a';\theta_{i-1})|s,a]\)
求导之后的公式为:(semi-gradient)
\[\nabla_{\theta_i}L_i(\theta_i) = E_{s,a \sim\rho(\cdot);s'\sim \varepsilon}[r+\gamma \underset{a'}{max} Q(s',a';\theta_{i-1})-Q(s,a;\theta_i))\nabla_{\theta_i} Q(s,a;\theta_i)]\]
为了解决数据分布问题,使用了experience replay
算法为:
算法优势:
1.每一步经验都可以重复使用,提高了data efficiency
2. 从replay buffer中随机sample,一定程度上打破了数据之间的联系,减小了方差
3.off-policy 更加smooth,不容易陷入局部最优