5. 值函数近似——Deep Q-learning

Posted yijuncheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5. 值函数近似——Deep Q-learning相关的知识,希望对你有一定的参考价值。

前4篇,我们都是假设动作值函数Q是一张大表,状态-动作对都是一一对应的。这对于现实应用状态动作空间很大的情况来说,计算量就非常的大,甚至根本无法求解这样一张大表。因此,我们引入状态值函数v,由参数$f{w}$描述,我们希望,

[hat v(s,{f{w}}) approx {v_pi }(s)]

不可能对所有状态拟合都拟合准确,而且强化学习的数据是一个个进来的,且关联性很大,这就给值函数近似带来了很大的挑战。

深度学习通过向深层神经网络输入足够的数据,通常可以学习比手工构造的特征更好的表示形式,具有强大的泛化拟合能力,有着很好的应用。为了接近现实世界复杂性,强化学习的未来趋势也必须从高维输入中获得环境的有效表示,并概括得到经验。但是将深度学习引入到强化学习主要有以下挑战,
1. 深度学习依赖于大量的人工标注好的训练数据,而强化学习必须得从稀疏、噪声和延迟的奖励中学习。而且强化学习的动作和导致的奖励之间可能有数千步长,这和传统监督学习输入和输出直接的关联性区别很大。
2. 大部分的深度学习算法假设数据是独立的,而强化学习的状态是高度相关的序列。
3. 强化学习的数据分布随着算法不断学习可能会改变,这与深度学习假设数据是固定分布也是矛盾的。
 
 
为了解决上述问题,Deep Mind提出了DQN,有主要两个创新点

1. 经验回放:为了打破数据相关性,文献[1]提出了Deep Q-leaning,agent将与环境交互得到的经验存储在一个数据集中,在算法更新时,从存储的样本池中随机抽取数据,从而消除了观测序列中的相关性,并平滑了数据分布中的变化。

2. 设置离线和在线两层神经网络:为了加快收敛速度,在文献[1]的基础上,文献[2]提出了Deep Q-network,创建一个双层神经网络,一个当前Q网络用来选择动作,更新模型参数,另一个目标Q‘网络用于计算目标Q值。目标Q网络的网络参数不需要迭代更新,而是每隔一段时间从当前Q网络Q复制过来,即延时更新,这样可以减少目标Q值和当前的Q值相关性。

 

 

 

[1] Mnih V , Kavukcuoglu K , Silver D , et al. Playing Atari with Deep Reinforcement Learning[J]. Computer Science, 2013.

[2] Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529-533.

以上是关于5. 值函数近似——Deep Q-learning的主要内容,如果未能解决你的问题,请参考以下文章

Deep Q-learning的发展及相关论文汇总(DQNDDQN,Priority experience replay 等)

强化学习与Deep Q-Learning进阶之Nature DQN

1. Deep Q-Learning

论文笔记之:Deep Reinforcement Learning with Double Q-learning

Deep Reinforcement Learning with Double Q-learning: DDQN 简约不简单

DQN(Deep Q-learning)入门教程之DQN介绍