本次要总结分享的是DeepMind出品的强化学习经典DQN原始论文,论文链接DQN Paper,DeepMind使用该DQN方法,在某些电玩游戏上,机器表现超越人类。
动机和创新点
- 本篇论文所提方法是第一个将深度网络和强化学习结合起来进行训练的方法,具体而言,将深度网络(卷积网络)提取高维特征,使用Q-learning的学习方式来训练整个网络。
- 对于一些高维复杂场景,状态特征很难通过人工特征工程的方式提取,这对传统的一些强化学习算法带来挑战,而近些年流行的深度学习,能很好的从高维特征提取到高级特征,并且在自然语言处理、图像、语音等领域得到广泛的应用。
- 但是对于深度学习与强化学习的结合会面临以下几个挑战
- 大部分深度学习的应用,都需要大量标注好的训练样本,而对于强化学习算法,必须能从稀疏、充满噪声、延迟的奖励信息中去学习,与监督学习中直接学习input和target关联相比,强化学习并没有那么有效率,对样本的利用率较低。
- 大多数深度学习算法都是假设样本间是独立的,而在强化学习中,样本间通常是高度相关的,例如一个episode的样本是
马尔科夫序列。 - 大多数深度学习算法都是假设样本是符合固定的分布,而在强化学习中,随着算法学习新的行为和奖励,数据分布通常会发生变化。
背景
符号定义
- ε \varepsilon ε:游戏环境
- a t a_t at: t t t 时刻采取的动作,其中 a t ∈ A ; A = { 1 , . . . , K } a_t \in A; \ A=\{1,...,K\} at∈A; A={ 1,...,K}
- x t x_t xt: t t t 时刻的游戏环境表征, x t ∈ R d x_t \in R^d xt∈Rd,可能是游戏原始图像,或是人工提取的特征向量。
- r t r_t rt: t t t 时刻根据游戏状态得到的奖励,在游戏里就是得分,这个奖励得分可能是有延迟性的(例如某些游戏到最后一步或者特定步后才能获得得分),因此可能依赖于之前一系列动作和游戏状态。
- s t s_t st: t t t 时刻游戏状态, s t = x 1 , a 1 , x 2 , . . . , a t − 1 , x t s_t = x_1, a_1, x_2,...,a_{t-1},x_t st=x1,a1,x2,...,at−1,xt,因为如果仅仅根据 x t x_t xt 很难理解当前游戏状态。假设每个序列都是有限长度的,这就会产生大量但是长度有限的MDP(马尔科夫决策过程),对于每个序列都是一个状态。
数学推导
我们之前总结过The Bellman Equation,从这里我们知道,强化学习的目标是最大化未来奖励:
R t = ∑ t ′ = t T γ t ′ − t r t ′ R_t=\sum_{t'=t}^{T}\gamma^{t'-t}r_{t'} Rt=t′=t∑Tγt′−trt′
上式中 T T T 为MDP序列长度。
根据The Bellman Equation得到optimal action-value function,也就是:
Q ∗ ( s , a ) = m a x π E [ R t ∣ s t = s , a t = a , π ] Q^{*}(s,a)=\underset{\pi}{max}E[R_t|s_t=s, a_t=a, \pi] Q∗(s,a)=πmaxE[R

本文深入解析了DeepMind的DQN算法,它是首次将深度学习与强化学习结合,解决了高维复杂场景的特征提取问题。DQN通过Q-learning与深度网络结合,克服了强化学习在样本利用率和样本相关性上的挑战。文章介绍了DQN的背景、数学原理、算法流程、关键点以及Double DQN和Priority Experience Replay等改进方法,强调了DQN在离散动作空间中的应用。

7624

被折叠的 条评论
为什么被折叠?



